package templates import ( "fmt" "mal/internal/database" "mal/internal/shared/ui" ) templ ContinueWatching(entries []database.GetContinueWatchingEntriesRow) { @Layout("mal - continue watching", true) {

Continue watching

Pick up where you left off.

if len(entries) == 0 { @ui.EmptyState("Nothing to continue yet") { Start watching any anime and your progress will show up here. } } else {
for _, entry := range entries {
@ui.AnimeCard(ui.AnimeCardProps{ ID: int(entry.AnimeID), Title: displayContinueWatchingTitle(entry), ImageURL: entry.ImageUrl, Href: continueWatchingURL(entry), Class: "notification-card min-w-0 flex flex-col bg-transparent text-inherit no-underline", HideTitle: true, }) {
{ displayContinueWatchingTitle(entry) }
if entry.CurrentEpisode.Valid && entry.CurrentEpisode.Int64 > 0 { Continue ep { fmt.Sprintf("%d", entry.CurrentEpisode.Int64) } } if entry.CurrentTimeSeconds > 0 { { formatProgressTime(entry.CurrentTimeSeconds) } }
}
}
}
} } func continueWatchingURL(entry database.GetContinueWatchingEntriesRow) string { episode := 1 if entry.CurrentEpisode.Valid && entry.CurrentEpisode.Int64 > 0 { episode = int(entry.CurrentEpisode.Int64) } return fmt.Sprintf("/watch/%d/%d", entry.AnimeID, episode) } func displayContinueWatchingTitle(entry database.GetContinueWatchingEntriesRow) string { return database.DisplayTitle(entry.TitleEnglish, entry.TitleJapanese, entry.TitleOriginal) }