diff options
| author | Fuwn <[email protected]> | 2024-01-06 17:19:15 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2024-01-06 17:19:15 -0800 |
| commit | 14dd3c73887ae5e7c0e8c207eb8b7b2a3f5f6303 (patch) | |
| tree | e76da79cac247c997ac06062f0c039665a337973 /src/lib/Tools | |
| parent | fix(badges): no empty card if not owner (diff) | |
| download | due.moe-14dd3c73887ae5e7c0e8c207eb8b7b2a3f5f6303.tar.xz due.moe-14dd3c73887ae5e7c0e8c207eb8b7b2a3f5f6303.zip | |
fix(schedule): account for delays
Diffstat (limited to 'src/lib/Tools')
| -rw-r--r-- | src/lib/Tools/Schedule/Tool.svelte | 20 |
1 files changed, 14 insertions, 6 deletions
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; + } + }; </script> <HeadTitle route="Schedule" path="/schedule" /> @@ -161,12 +174,7 @@ <span class:countdown={$settings.displayCountdownRightAligned}> {#if media && media.nextAiringEpisode} <span style="opacity: 50%;"> - {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 </span> {/if} {entry.time} |