diff options
Diffstat (limited to 'src/lib/Media/Anime/airing.ts')
| -rw-r--r-- | src/lib/Media/Anime/airing.ts | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/src/lib/Media/Anime/airing.ts b/src/lib/Media/Anime/airing.ts index 3493355c..6d29d122 100644 --- a/src/lib/Media/Anime/airing.ts +++ b/src/lib/Media/Anime/airing.ts @@ -13,11 +13,11 @@ interface Time { } export const airedButNotSubtitled = (anime: Media) => - anime.nextAiringEpisode && - anime.nextAiringEpisode.nativeAiringAt && - anime.nextAiringEpisode.nativeAiringAt * 1000 < Date.now() && - anime.nextAiringEpisode.airingAt && - anime.nextAiringEpisode.airingAt * 1000 > Date.now(); + anime.nextAiringEpisode?.airingAt && + anime.nextAiringEpisode?.nativeAiringAt && + new Date(anime.nextAiringEpisode.airingAt * 1000).getTime() > Date.now() && + new Date(anime.nextAiringEpisode.nativeAiringAt * 1000).getTime() - Date.now() > + 4 * 24 * 60 * 60 * 1000; const secondsUntil = (targetTime: string, targetDay: string) => { const now = new Date(); @@ -74,6 +74,7 @@ export const injectAiringTime = (anime: Media, subsPlease: SubsPlease | null) => const nativeTime = new Date(airingAt ? airingAt * 1000 : 0); let untilAiring; let time = new Date(airingAt ? airingAt * 1000 : 0); + let nextEpisode = anime.nextAiringEpisode?.episode || 0; if ( !( @@ -105,20 +106,24 @@ export const injectAiringTime = (anime: Media, subsPlease: SubsPlease | null) => untilAiring = secondsUntil((foundTime as Time).time, (foundTime as Time).day); time = new Date(Date.now() + untilAiring * 1000); } - - // if (anime.title.english?.toLowerCase().includes('really')) { - // untilAiring = 2 * 60; - // time = new Date(Date.now() + untilAiring * 1000); - // nativeTime = new Date(Date.now() - untilAiring * 1000); - // } } - if (airedButNotSubtitled(anime) && anime.nextAiringEpisode) anime.nextAiringEpisode.episode -= 1; + if ( + // This was an insane debugging session .... What, like eight hours? ... + airedButNotSubtitled({ + nextAiringEpisode: { + ...anime.nextAiringEpisode, + airingAt: time.getTime() / 1000, + nativeAiringAt: nativeTime.getTime() / 1000 + } + } as Media) + ) + nextEpisode -= 1; return { ...anime, nextAiringEpisode: { - ...anime.nextAiringEpisode, + episode: nextEpisode, airingAt: time.getTime() / 1000, nativeAiringAt: nativeTime.getTime() / 1000 } |