diff options
| author | Fuwn <[email protected]> | 2023-12-13 04:26:46 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2023-12-13 04:26:46 -0800 |
| commit | 0aee4b6514162aa34d0f8b4982273fb4adf2b349 (patch) | |
| tree | fa407f04d31ddb9e2c80279b05483226d348d615 /src | |
| parent | fix(manga): no timeout if cached (diff) | |
| download | due.moe-0aee4b6514162aa34d0f8b4982273fb4adf2b349.tar.xz due.moe-0aee4b6514162aa34d0f8b4982273fb4adf2b349.zip | |
feat(anime): update airing time
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/List/Anime/CleanAnimeList.svelte | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/lib/List/Anime/CleanAnimeList.svelte b/src/lib/List/Anime/CleanAnimeList.svelte index e082f00a..0a49b7c0 100644 --- a/src/lib/List/Anime/CleanAnimeList.svelte +++ b/src/lib/List/Anime/CleanAnimeList.svelte @@ -8,6 +8,7 @@ import ListTitle from '../ListTitle.svelte'; import MediaTitle from '../MediaTitleDisplay.svelte'; import { outboundLink } from '$lib/Media/media'; + import { onDestroy } from 'svelte'; export let media: Media[]; export let title: string; @@ -19,6 +20,23 @@ export let completed = false; export let previousAnimeList: Media[]; export let pendingUpdate: number | null; + + const keyCacher = setInterval( + () => (media = media), + (() => { + const airingAt = media.find((m) => m.nextAiringEpisode?.airingAt)?.nextAiringEpisode + ?.airingAt; + const untilAiring = airingAt + ? Math.round((airingAt - Date.now() / 1000) * 100) / 100 + : undefined; + + if (untilAiring && untilAiring < 3600) return 10000; + + return 300000; + })() + ); + + onDestroy(() => clearInterval(keyCacher)); </script> <ListTitle time={endTime / 1000} count={media.length} custom={title} /> |