From 1f9f8a5218410a919ccce54510d07022c618645b Mon Sep 17 00:00:00 2001 From: Fuwn Date: Thu, 11 Apr 2024 02:22:41 -0700 Subject: fix(anime): no match out-of-season anime --- src/lib/Data/AniList/media.ts | 3 ++- src/lib/Media/Anime/Airing/Subtitled/match.ts | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'src/lib') 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 -- cgit v1.2.3