diff options
| author | Fuwn <[email protected]> | 2024-05-16 03:50:32 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2024-05-16 03:50:32 -0700 |
| commit | e5f5656f9d82219d5b27bf29140bfd196904ceb7 (patch) | |
| tree | 910114748135d4176f093032db508c1087dabc5f | |
| parent | feat(badges): move admin panel into owner panel (diff) | |
| download | due.moe-e5f5656f9d82219d5b27bf29140bfd196904ceb7.tar.xz due.moe-e5f5656f9d82219d5b27bf29140bfd196904ceb7.zip | |
feat(anime): refresh upcoming after due increment
| -rw-r--r-- | src/lib/List/Anime/CleanAnimeList.svelte | 2 | ||||
| -rw-r--r-- | src/lib/List/Anime/UpcomingAnimeList.svelte | 12 | ||||
| -rw-r--r-- | src/stores/revalidateAnime.ts | 5 |
3 files changed, 19 insertions, 0 deletions
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' + }); + } + } </script> <AnimeList diff --git a/src/stores/revalidateAnime.ts b/src/stores/revalidateAnime.ts new file mode 100644 index 00000000..b20a5374 --- /dev/null +++ b/src/stores/revalidateAnime.ts @@ -0,0 +1,5 @@ +import { writable } from 'svelte/store'; + +const revalidateAnime = writable<boolean>(false); + +export default revalidateAnime; |