From 14dd3c73887ae5e7c0e8c207eb8b7b2a3f5f6303 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Sat, 6 Jan 2024 17:19:15 -0800 Subject: fix(schedule): account for delays --- src/lib/Tools/Schedule/Tool.svelte | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'src/lib/Tools') diff --git a/src/lib/Tools/Schedule/Tool.svelte b/src/lib/Tools/Schedule/Tool.svelte index ba24ca68..4944ad2c 100644 --- a/src/lib/Tools/Schedule/Tool.svelte +++ b/src/lib/Tools/Schedule/Tool.svelte @@ -76,6 +76,19 @@ const titleSelect = (media: Media | null) => media ? media.title.english || media.title.romaji || media.title.native : null; + + const episode = (media: Media, weekday: string) => { + if (media.nextAiringEpisode?.episode === 1) return 1; + + if ( + new Date((media.nextAiringEpisode?.airingAt || 0) * 1000) > new Date() && + weekday === new Date().toLocaleString('en-us', { weekday: 'long' }) + ) { + return (media.nextAiringEpisode?.episode || 1) - 1; + } else { + return media.nextAiringEpisode?.episode || 0; + } + }; @@ -161,12 +174,7 @@ {#if media && media.nextAiringEpisode} - {new Date((media.nextAiringEpisode?.airingAt || 0) * 1000) > new Date() && - day === new Date().toLocaleString('en-us', { weekday: 'long' }) - ? media.nextAiringEpisode?.episode - 1 - : media.nextAiringEpisode?.episode}{media.episodes - ? `/${media.episodes}` - : ''} at + {episode(media, day)}{media.episodes ? `/${media.episodes}` : ''} at {/if} {entry.time} -- cgit v1.2.3