aboutsummaryrefslogtreecommitdiff
path: root/src/lib/List/Anime/CleanAnimeList.svelte
diff options
context:
space:
mode:
authorFuwn <[email protected]>2026-05-21 13:44:46 +0000
committerFuwn <[email protected]>2026-05-21 13:44:46 +0000
commit08641a3f6f1d95cc8d8dbfeebdecf6c0d2a2b0a6 (patch)
treefc75c02f41c3e44c373f53679d561334037cdaec /src/lib/List/Anime/CleanAnimeList.svelte
parentfix(lists): optimistic increment and snapshot to remove refresh flash (diff)
downloaddue.moe-08641a3f6f1d95cc8d8dbfeebdecf6c0d2a2b0a6.tar.xz
due.moe-08641a3f6f1d95cc8d8dbfeebdecf6c0d2a2b0a6.zip
feat(debug): add dry-run mutations mode
New 'Dry-run mutations' toggle in the Debug settings panel blocks outgoing list updates (the + button) and skips the post-mutation refresh so optimistic UI changes persist locally for testing. The mutation gate sits in incrementMediaProgress; CleanAnimeList only revalidates when the request actually went out.
Diffstat (limited to 'src/lib/List/Anime/CleanAnimeList.svelte')
-rw-r--r--src/lib/List/Anime/CleanAnimeList.svelte14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/lib/List/Anime/CleanAnimeList.svelte b/src/lib/List/Anime/CleanAnimeList.svelte
index 3f397c25..42f4d933 100644
--- a/src/lib/List/Anime/CleanAnimeList.svelte
+++ b/src/lib/List/Anime/CleanAnimeList.svelte
@@ -224,10 +224,16 @@ const increment = (anime: Media, progress: number) => {
? media.filter((m) => m.id !== anime.id)
: media;
- incrementMediaProgress(anime.id, anime.mediaListEntry?.progress, user, () => {
- pendingUpdate = null;
- $revalidateAnime = $revalidateAnime + 1;
- });
+ incrementMediaProgress(
+ anime.id,
+ anime.mediaListEntry?.progress,
+ user,
+ (skipped) => {
+ pendingUpdate = null;
+
+ if (!skipped) $revalidateAnime = $revalidateAnime + 1;
+ },
+ );
};
</script>