aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorFuwn <[email protected]>2024-02-02 08:44:11 -0800
committerFuwn <[email protected]>2024-02-02 08:44:11 -0800
commit847f7e31af94764bae36b4e4807de6256adee1ea (patch)
tree58c516e8a158daa86f6c6613e12586c7200f6428 /src/lib
parentfix(badges): await badges (diff)
downloaddue.moe-847f7e31af94764bae36b4e4807de6256adee1ea.tar.xz
due.moe-847f7e31af94764bae36b4e4807de6256adee1ea.zip
fix(anime): filter for live countdown
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/List/Anime/CleanAnimeList.svelte31
1 files changed, 18 insertions, 13 deletions
diff --git a/src/lib/List/Anime/CleanAnimeList.svelte b/src/lib/List/Anime/CleanAnimeList.svelte
index f2f2804e..f73c7b23 100644
--- a/src/lib/List/Anime/CleanAnimeList.svelte
+++ b/src/lib/List/Anime/CleanAnimeList.svelte
@@ -39,22 +39,27 @@
let hoverCoverState: HoverCoverResponse = {};
- 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;
+ let keyCacher: NodeJS.Timeout;
- if (untilAiring && untilAiring < 3600) return 10000;
+ onMount(() => {
+ keyCacher = setInterval(
+ () => (media = media),
+ (() => {
+ const airingAt = media
+ .filter(
+ (m) =>
+ (m.status === 'RELEASING' || m.status === 'NOT_YET_RELEASED') &&
+ m.nextAiringEpisode?.airingAt
+ )
+ .find((m) => m.nextAiringEpisode?.airingAt)?.nextAiringEpisode?.airingAt;
+ const untilAiring = airingAt
+ ? Math.round((airingAt - Date.now() / 1000) * 100) / 100
+ : undefined;
- return 300000;
- })()
- );
+ return untilAiring ? (untilAiring < 0 ? 1000 : untilAiring) : 1000;
+ })()
+ );
- onMount(() => {
if (browser)
localStorage.setItem(
`last${