From e5f5656f9d82219d5b27bf29140bfd196904ceb7 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Thu, 16 May 2024 03:50:32 -0700 Subject: feat(anime): refresh upcoming after due increment --- src/lib/List/Anime/CleanAnimeList.svelte | 2 ++ src/lib/List/Anime/UpcomingAnimeList.svelte | 12 ++++++++++++ src/stores/revalidateAnime.ts | 5 +++++ 3 files changed, 19 insertions(+) create mode 100644 src/stores/revalidateAnime.ts (limited to 'src') diff --git a/src/lib/List/Anime/CleanAnimeList.svelte b/src/lib/List/Anime/CleanAnimeList.svelte index f36bb8d0..9cc417fe 100644 --- a/src/lib/List/Anime/CleanAnimeList.svelte +++ b/src/lib/List/Anime/CleanAnimeList.svelte @@ -18,6 +18,7 @@ import Tooltip from '../../Tooltip/LinkedTooltip.svelte'; import '../covers.css'; import ParallaxImage from '$lib/Image/ParallaxImage.svelte'; + import revalidateAnime from '$stores/revalidateAnime'; export let media: Media[]; export let title: any; @@ -137,6 +138,7 @@ style={pendingUpdate === anime.id ? 'pointer-events: none;' : ''} on:click={() => { if (!dummy && pendingUpdate !== anime.id) { + $revalidateAnime = true; lastUpdatedMedia = anime.id; pendingUpdate = anime.id; diff --git a/src/lib/List/Anime/UpcomingAnimeList.svelte b/src/lib/List/Anime/UpcomingAnimeList.svelte index c58e7ad0..7e1e2462 100644 --- a/src/lib/List/Anime/UpcomingAnimeList.svelte +++ b/src/lib/List/Anime/UpcomingAnimeList.svelte @@ -11,6 +11,7 @@ import locale from '$stores/locale'; import identity from '$stores/identity'; import { injectAiringTime } from '$lib/Media/Anime/Airing/Subtitled/match'; + import revalidateAnime from '$stores/revalidateAnime'; export let user: AniListAuthorisation; @@ -72,6 +73,17 @@ return upcomingAnime; }; + + $: { + if ($revalidateAnime) { + $revalidateAnime = false; + $lastPruneTimes.anime = -1; + animeLists = mediaListCollection(user, $identity, Type.Anime, $anime, $lastPruneTimes.anime, { + addNotification, + notificationType: 'Upcoming Episodes' + }); + } + } (false); + +export default revalidateAnime; -- cgit v1.2.3