aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFuwn <[email protected]>2024-04-11 02:22:41 -0700
committerFuwn <[email protected]>2024-04-11 02:22:41 -0700
commit1f9f8a5218410a919ccce54510d07022c618645b (patch)
treef82c1b36a62bb5e7aba948f521f40c7deef587d2
parentfix(due): remove anime ahead of aired (diff)
downloaddue.moe-1f9f8a5218410a919ccce54510d07022c618645b.tar.xz
due.moe-1f9f8a5218410a919ccce54510d07022c618645b.zip
fix(anime): no match out-of-season anime
-rw-r--r--src/lib/Data/AniList/media.ts3
-rw-r--r--src/lib/Media/Anime/Airing/Subtitled/match.ts3
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