aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorFuwn <[email protected]>2024-01-17 05:03:19 -0800
committerFuwn <[email protected]>2024-01-17 05:03:19 -0800
commitc9054f2cba7e01850abe0f19f439b8d8eb102c29 (patch)
treedb11290ee546f24a406f2e42d526d8fbdf3646fc /src/lib
parentfix(badges): clear category on submit (diff)
downloaddue.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.svelte12
-rw-r--r--src/lib/Media/Anime/Airing/Subtitled/match.ts6
-rw-r--r--src/lib/Media/Anime/Airing/time.ts10
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>`;
}