diff options
| author | Fuwn <[email protected]> | 2023-12-17 08:46:43 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2023-12-17 08:46:43 -0800 |
| commit | a899f9fa0394e2d10aff5accee18755436a5204d (patch) | |
| tree | ca6536296dc7b810b87fd4a6f21743fe4189c41d /src/lib | |
| parent | refactor(airing): move set to inject + debug (diff) | |
| download | due.moe-a899f9fa0394e2d10aff5accee18755436a5204d.tar.xz due.moe-a899f9fa0394e2d10aff5accee18755436a5204d.zip | |
fix(airing): both current and new sub episode
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/List/Anime/UpcomingAnimeList.svelte | 6 | ||||
| -rw-r--r-- | src/lib/Media/Anime/airing.ts | 31 |
2 files changed, 23 insertions, 14 deletions
diff --git a/src/lib/List/Anime/UpcomingAnimeList.svelte b/src/lib/List/Anime/UpcomingAnimeList.svelte index 3f4bfd06..c8195ecc 100644 --- a/src/lib/List/Anime/UpcomingAnimeList.svelte +++ b/src/lib/List/Anime/UpcomingAnimeList.svelte @@ -30,7 +30,11 @@ const filterAnime = (status: 'RELEASING' | 'NOT_YET_RELEASED') => anime - .filter((media: Media) => media.status === status && media.nextAiringEpisode !== null) + .filter( + (media: Media) => + // airedButNotSubtitled(injectAiringTime(media, subsPlease)) || + media.status === status && media.nextAiringEpisode !== null + ) .filter( (media: Media) => // Outdated media 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 } |