diff options
| author | Fuwn <[email protected]> | 2026-03-01 14:39:20 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2026-03-01 15:24:05 -0800 |
| commit | 60110fe8f23c53c837aff82d77a21ad8af4b5bb2 (patch) | |
| tree | 4fa6f42cc1f352c3a55165cc2a7735d0b897c841 /src/lib/List | |
| parent | perf: optimise list hot paths and shared timers (diff) | |
| download | due.moe-60110fe8f23c53c837aff82d77a21ad8af4b5bb2.tar.xz due.moe-60110fe8f23c53c837aff82d77a21ad8af4b5bb2.zip | |
fix(anime): unify due classification and harden subtitle matching
Diffstat (limited to 'src/lib/List')
| -rw-r--r-- | src/lib/List/Anime/DueAnimeList.svelte | 12 | ||||
| -rw-r--r-- | src/lib/List/Anime/UpcomingAnimeList.svelte | 6 |
2 files changed, 8 insertions, 10 deletions
diff --git a/src/lib/List/Anime/DueAnimeList.svelte b/src/lib/List/Anime/DueAnimeList.svelte index 0c1e128a..da1f6c48 100644 --- a/src/lib/List/Anime/DueAnimeList.svelte +++ b/src/lib/List/Anime/DueAnimeList.svelte @@ -8,6 +8,7 @@ import AnimeList from './AnimeListTemplate.svelte'; import type { SubsPlease } from '$lib/Media/Anime/Airing/Subtitled/subsPlease'; import { injectAiringTime } from '$lib/Media/Anime/Airing/Subtitled/match'; + import { hasDueEpisodes, hasNoAiredEpisodes } from '$lib/Media/Anime/Airing/classify'; import { addNotification } from '$lib/Notification/store'; import locale from '$stores/locale'; import identity from '$stores/identity'; @@ -78,15 +79,12 @@ ($settings.displayNotStarted === true ? 0 : 1) && (media.mediaListEntry || { status: 'DROPPED' }).status !== 'DROPPED' ) - .filter( - (media: Media) => - // Outdated media - (media.nextAiringEpisode || { episode: 0 }).episode - 1 > - (media.mediaListEntry || { progress: 0 }).progress + .filter((media: Media) => + // Outdated media + hasDueEpisodes(media) ) .map((media: Media) => { - if ((media.nextAiringEpisode || { episode: 0 }).episode - 1 <= 0) - media.nextAiringEpisode = { episode: -1 }; + if (hasNoAiredEpisodes(media)) media.nextAiringEpisode = { episode: -1 }; return media; }); diff --git a/src/lib/List/Anime/UpcomingAnimeList.svelte b/src/lib/List/Anime/UpcomingAnimeList.svelte index 4f285b47..a2cc963d 100644 --- a/src/lib/List/Anime/UpcomingAnimeList.svelte +++ b/src/lib/List/Anime/UpcomingAnimeList.svelte @@ -12,6 +12,7 @@ import locale from '$stores/locale'; import identity from '$stores/identity'; import { injectAiringTime } from '$lib/Media/Anime/Airing/Subtitled/match'; + import { hasDueEpisodes, hasNoAiredEpisodes } from '$lib/Media/Anime/Airing/classify'; import revalidateAnime from '$stores/revalidateAnime'; export let user: AniListAuthorisation; @@ -43,14 +44,13 @@ (media: Media) => // Outdated media ($settings.displayPlannedAnime ? media.mediaListEntry?.status === 'PLANNING' : false) || - (media.nextAiringEpisode || { episode: 0 }).episode - 1 <= - (media.mediaListEntry || { progress: 0 }).progress + !hasDueEpisodes(media) ) .map((media: Media) => { // Adjust for planned anime if ( ($settings.displayPlannedAnime ? media.episodes !== 1 : true) && - (media.nextAiringEpisode || { episode: 0 }).episode - 1 <= 0 + hasNoAiredEpisodes(media) ) media.nextAiringEpisode = { episode: -1 }; |