diff options
| author | Fuwn <[email protected]> | 2024-04-11 02:22:41 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2024-04-11 02:22:41 -0700 |
| commit | 1f9f8a5218410a919ccce54510d07022c618645b (patch) | |
| tree | f82c1b36a62bb5e7aba948f521f40c7deef587d2 | |
| parent | fix(due): remove anime ahead of aired (diff) | |
| download | due.moe-1f9f8a5218410a919ccce54510d07022c618645b.tar.xz due.moe-1f9f8a5218410a919ccce54510d07022c618645b.zip | |
fix(anime): no match out-of-season anime
| -rw-r--r-- | src/lib/Data/AniList/media.ts | 3 | ||||
| -rw-r--r-- | src/lib/Media/Anime/Airing/Subtitled/match.ts | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/lib/Data/AniList/media.ts b/src/lib/Data/AniList/media.ts index ea6d79d3..aea72f8e 100644 --- a/src/lib/Data/AniList/media.ts +++ b/src/lib/Data/AniList/media.ts @@ -73,6 +73,7 @@ export interface Media { rank: number; }[]; genres: string[]; + season: 'WINTER' | 'SPRING' | 'SUMMER' | 'FALL'; } export const flattenLists = ( @@ -125,7 +126,7 @@ const collectionQueryTemplate = (type: Type, userId: number, includeCompleted: b lists { name entries { media { - id idMal status type episodes chapters format duration synonyms genres + id idMal status type episodes chapters format duration synonyms genres season tags { name rank } title { romaji english native } nextAiringEpisode { episode airingAt } diff --git a/src/lib/Media/Anime/Airing/Subtitled/match.ts b/src/lib/Media/Anime/Airing/Subtitled/match.ts index ad26131c..56df053f 100644 --- a/src/lib/Media/Anime/Airing/Subtitled/match.ts +++ b/src/lib/Media/Anime/Airing/Subtitled/match.ts @@ -4,6 +4,7 @@ import settings from '$stores/settings'; import type { SubsPlease } from '$lib/Media/Anime/Airing/Subtitled/subsPlease'; import stringSimilarity from 'string-similarity'; import excludeMatch from '$lib/Data/Static/matchExclude.json'; +import { season } from '../../season'; export interface Time { title: string; @@ -130,6 +131,8 @@ export const findClosestMedia = (media: Media[], matchFor: string) => { }; export const injectAiringTime = (anime: Media, subsPlease: SubsPlease | null) => { + if (season() !== anime.season) return anime; + const airingAt = anime.nextAiringEpisode?.airingAt; // const nativeUntilAiring = airingAt // ? Math.round((airingAt - Date.now() / 1000) * 100) / 100 |