diff options
| author | Fuwn <[email protected]> | 2026-06-05 11:10:22 +0000 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2026-06-05 11:10:22 +0000 |
| commit | 4b56194ee6807acb56abf0949394efadabf830d4 (patch) | |
| tree | 5cb2074a8d012bf9b7c900e7e44cbdfd0e15123f /src/lib/List/Anime/UpcomingAnimeList.svelte | |
| parent | fix(lists): tick count down when media leaves a list (diff) | |
| download | due.moe-4b56194ee6807acb56abf0949394efadabf830d4.tar.xz due.moe-4b56194ee6807acb56abf0949394efadabf830d4.zip | |
feat(airing): replace SubsPlease with AnimeSchedule (sub+dub)
Source both subbed and dubbed episode schedules from AnimeSchedule.net v3 (absolute timestamps, episode numbers, delay windows, streams), keyed to AniList shows by title. Removes SubsPlease and its ~650-line fuzzy matcher. Countdown source is now a setting (native|sub|dub) with a dub->sub->native fallback.
Requires ANIMESCHEDULE_CLIENT_TOKEN.
Diffstat (limited to 'src/lib/List/Anime/UpcomingAnimeList.svelte')
| -rw-r--r-- | src/lib/List/Anime/UpcomingAnimeList.svelte | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/lib/List/Anime/UpcomingAnimeList.svelte b/src/lib/List/Anime/UpcomingAnimeList.svelte index b88937e9..2e128d8f 100644 --- a/src/lib/List/Anime/UpcomingAnimeList.svelte +++ b/src/lib/List/Anime/UpcomingAnimeList.svelte @@ -4,12 +4,12 @@ import { hydrateMediaListCache } from "$lib/Data/AniList/cacheHydration"; import type { AniListAuthorisation } from "$lib/Data/AniList/identity"; import { type Media, mediaListCollection, Type } from "$lib/Data/AniList/media"; import Spacer from "$lib/Layout/Spacer.svelte"; +import type { AiringSchedule } from "$lib/Media/Anime/Airing/animeSchedule"; import { hasDueEpisodes, hasNoAiredEpisodes, } from "$lib/Media/Anime/Airing/classify"; -import { injectAiringTime } from "$lib/Media/Anime/Airing/Subtitled/match"; -import type { SubsPlease } from "$lib/Media/Anime/Airing/Subtitled/subsPlease"; +import { injectAiringTime } from "$lib/Media/Anime/Airing/match"; import { addNotification } from "$lib/Notification/store"; import anime from "$stores/anime"; import identity from "$stores/identity"; @@ -44,7 +44,7 @@ onMount(async () => { const cleanMedia = ( anime: Media[], displayUnresolved: boolean, - subsPlease: SubsPlease | null, + schedule: AiringSchedule | null, plannedOnly = true, ) => { if (anime === undefined) return []; @@ -55,7 +55,7 @@ const cleanMedia = ( (media: Media) => media.status === status && media.nextAiringEpisode !== null, ) - .map((media) => injectAiringTime(media, subsPlease)) + .map((media) => injectAiringTime(media, schedule)) .filter( (media: Media) => // Outdated media |