diff options
Diffstat (limited to 'src/lib/List/Anime')
| -rw-r--r-- | src/lib/List/Anime/AnimeListTemplate.svelte | 28 | ||||
| -rw-r--r-- | src/lib/List/Anime/DueAnimeList.svelte | 11 | ||||
| -rw-r--r-- | src/lib/List/Anime/UpcomingAnimeList.svelte | 8 |
3 files changed, 32 insertions, 15 deletions
diff --git a/src/lib/List/Anime/AnimeListTemplate.svelte b/src/lib/List/Anime/AnimeListTemplate.svelte index d325895a..554897ba 100644 --- a/src/lib/List/Anime/AnimeListTemplate.svelte +++ b/src/lib/List/Anime/AnimeListTemplate.svelte @@ -7,11 +7,13 @@ import settings from '../../../stores/settings'; import CleanAnimeList from './CleanAnimeList.svelte'; import ListTitle from '../ListTitle.svelte'; + import type { SubsPlease } from '$lib/subsPlease'; export let endTime: number; export let cleanMedia: ( media: Media[], displayUnresolved: boolean, + subsPlease: SubsPlease | null, plannedOnly?: boolean ) => Media[]; export let animeLists: Promise<Media[]>; @@ -46,18 +48,20 @@ <ul><li>Loading ...</li></ul> {/if} {:then media} - <CleanAnimeList - media={cleanMedia(media, $settings.displayUnresolved, plannedOnly)} - {title} - bind:animeLists - {user} - {identity} - {endTime} - bind:lastUpdatedMedia - {completed} - bind:previousAnimeList - bind:pendingUpdate - /> + {#await fetch(`/api/subsplease?tz=${Intl.DateTimeFormat().resolvedOptions().timeZone}`).then( (r) => r.json() ) then subsPlease} + <CleanAnimeList + media={cleanMedia(media, $settings.displayUnresolved, subsPlease, plannedOnly)} + {title} + bind:animeLists + {user} + {identity} + {endTime} + bind:lastUpdatedMedia + {completed} + bind:previousAnimeList + bind:pendingUpdate + /> + {/await} {:catch} <ListTitle time={0} count={-1337} custom={title} /> diff --git a/src/lib/List/Anime/DueAnimeList.svelte b/src/lib/List/Anime/DueAnimeList.svelte index 270fc4ae..6bb3ea4f 100644 --- a/src/lib/List/Anime/DueAnimeList.svelte +++ b/src/lib/List/Anime/DueAnimeList.svelte @@ -6,6 +6,8 @@ import settings from '../../../stores/settings'; import lastPruneTimes from '../../../stores/lastPruneTimes'; import AnimeList from './AnimeListTemplate.svelte'; + import type { SubsPlease } from '$lib/subsPlease'; + import { injectAiringTime } from '$lib/Media/Anime/airing'; export let user: AniListAuthorisation; export let identity: UserIdentity; @@ -34,7 +36,11 @@ onDestroy(() => clearInterval(keyCacher)); - const cleanMedia = (anime: Media[], displayUnresolved: boolean) => { + const cleanMedia = ( + anime: Media[], + displayUnresolved: boolean, + subsPlease: SubsPlease | null + ) => { if (anime === undefined) return []; let dueAnime = anime @@ -58,7 +64,8 @@ media.nextAiringEpisode = { episode: -1 }; return media; - }); + }) + .map((media) => injectAiringTime(media, subsPlease)); if (!displayUnresolved) dueAnime = dueAnime.filter((media: Media) => media.nextAiringEpisode?.episode !== -1); diff --git a/src/lib/List/Anime/UpcomingAnimeList.svelte b/src/lib/List/Anime/UpcomingAnimeList.svelte index 3c180fd5..3f4bfd06 100644 --- a/src/lib/List/Anime/UpcomingAnimeList.svelte +++ b/src/lib/List/Anime/UpcomingAnimeList.svelte @@ -6,6 +6,7 @@ import lastPruneTimes from '../../../stores/lastPruneTimes'; import AnimeList from './AnimeListTemplate.svelte'; import settings from '../../../stores/settings'; + import type { SubsPlease } from '$lib/subsPlease'; export let user: AniListAuthorisation; export let identity: UserIdentity; @@ -19,7 +20,12 @@ animeLists = mediaListCollection(user, identity, Type.Anime, $anime, $lastPruneTimes.anime); }); - const cleanMedia = (anime: Media[], displayUnresolved: boolean, plannedOnly = true) => { + const cleanMedia = ( + anime: Media[], + displayUnresolved: boolean, + _subsPlease: SubsPlease | null, + plannedOnly = true + ) => { if (anime === undefined) return []; const filterAnime = (status: 'RELEASING' | 'NOT_YET_RELEASED') => |