diff options
| author | Fuwn <[email protected]> | 2024-01-17 05:03:19 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2024-01-17 05:03:19 -0800 |
| commit | c9054f2cba7e01850abe0f19f439b8d8eb102c29 (patch) | |
| tree | db11290ee546f24a406f2e42d526d8fbdf3646fc /src/lib | |
| parent | fix(badges): clear category on submit (diff) | |
| download | due.moe-c9054f2cba7e01850abe0f19f439b8d8eb102c29.tar.xz due.moe-c9054f2cba7e01850abe0f19f439b8d8eb102c29.zip | |
fix(airing): adjust date for sutitles
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/List/Anime/CleanAnimeList.svelte | 12 | ||||
| -rw-r--r-- | src/lib/Media/Anime/Airing/Subtitled/match.ts | 6 | ||||
| -rw-r--r-- | src/lib/Media/Anime/Airing/time.ts | 10 |
3 files changed, 19 insertions, 9 deletions
diff --git a/src/lib/List/Anime/CleanAnimeList.svelte b/src/lib/List/Anime/CleanAnimeList.svelte index 7886f44f..a8804a72 100644 --- a/src/lib/List/Anime/CleanAnimeList.svelte +++ b/src/lib/List/Anime/CleanAnimeList.svelte @@ -111,7 +111,11 @@ {#if !completed} [{anime.nextAiringEpisode?.episode === -1 ? '?' - : (anime.nextAiringEpisode?.episode || 1) - 1}] + : (anime.nextAiringEpisode?.episode || 1) - + ((anime.nextAiringEpisode?.airingAt || 999) < + (anime.nextAiringEpisode?.nativeAiringAt || 0) + ? 2 + : 1)}] <br /> {@html airingTime(anime, subsPlease)} {/if} @@ -194,7 +198,11 @@ {#if !completed} [{anime.nextAiringEpisode?.episode === -1 ? '?' - : (anime.nextAiringEpisode?.episode || 1) - 1}] + : (anime.nextAiringEpisode?.episode || 1) - + ((anime.nextAiringEpisode?.airingAt || 999) < + (anime.nextAiringEpisode?.nativeAiringAt || 0) + ? 2 + : 1)}] <span class:countdown={$settings.displayCountdownRightAligned}> {@html airingTime(anime, subsPlease)} </span> diff --git a/src/lib/Media/Anime/Airing/Subtitled/match.ts b/src/lib/Media/Anime/Airing/Subtitled/match.ts index 74302353..33271dd6 100644 --- a/src/lib/Media/Anime/Airing/Subtitled/match.ts +++ b/src/lib/Media/Anime/Airing/Subtitled/match.ts @@ -99,7 +99,7 @@ export const injectAiringTime = (anime: Media, subsPlease: SubsPlease | null) => // const nativeUntilAiring = airingAt // ? Math.round((airingAt - Date.now() / 1000) * 100) / 100 // : undefined; - let nativeTime = new Date(airingAt ? airingAt * 1000 : 0); + const nativeTime = new Date(airingAt ? airingAt * 1000 : 0); let untilAiring; let time = new Date(airingAt ? airingAt * 1000 : 0); const nextEpisode = anime.nextAiringEpisode?.episode || 0; @@ -136,10 +136,6 @@ export const injectAiringTime = (anime: Media, subsPlease: SubsPlease | null) => } } - if (airingAt && nativeTime > time) { - [nativeTime, time] = [time, nativeTime]; - } - return { ...anime, nextAiringEpisode: { diff --git a/src/lib/Media/Anime/Airing/time.ts b/src/lib/Media/Anime/Airing/time.ts index f18e7fe0..4e65843d 100644 --- a/src/lib/Media/Anime/Airing/time.ts +++ b/src/lib/Media/Anime/Airing/time.ts @@ -65,11 +65,17 @@ export const airingTime = ( } const opacity = Math.max(50, 100 - (untilAiring / 60 / 60 / 24 / 7) * 50); + const nextEpisode = + anime.nextAiringEpisode?.nativeAiringAt && + !upcoming && + anime.nextAiringEpisode.nativeAiringAt < Date.now() / 1000 + 1 * 24 * 60 * 60 + ? anime.nextAiringEpisode.episode - 1 + : anime.nextAiringEpisode?.episode || 0; if (upcoming) return `<span title="${ hours ? `${hours.toFixed(3)} hours` : '' - }" style="opacity: ${opacity}%;">${anime.nextAiringEpisode?.episode}${totalEpisodes( + }" style="opacity: ${opacity}%;">${nextEpisode}${totalEpisodes( anime )} in ${timeFrame} <span style="opacity: 50%">${ few && get(settings).displayCoverMode ? '<br>' : '' @@ -77,7 +83,7 @@ export const airingTime = ( else return `<span title="${ hours ? `${hours.toFixed(3)} hours` : '' - }" style="opacity: ${opacity}%;">${anime.nextAiringEpisode?.episode} in ${ + }" style="opacity: ${opacity}%;">${nextEpisode} in ${ few && get(settings).displayCoverMode ? '<br>' : '' }${few ? '<b>' : ''}${timeFrame}${few ? '</b>' : ''} ${few ? `(${time})` : ''}</span>`; } |