diff options
| author | Fuwn <[email protected]> | 2023-10-04 18:06:49 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2023-10-04 18:06:49 -0700 |
| commit | 5891b793790af0a6b9de0515c81b43590cbb0674 (patch) | |
| tree | ca713a3c02099e0e69cce2ec2e175fb8fb6948cb | |
| parent | feat(manga): instantly reactive increment (diff) | |
| download | due.moe-5891b793790af0a6b9de0515c81b43590cbb0674.tar.xz due.moe-5891b793790af0a6b9de0515c81b43590cbb0674.zip | |
fix(manga): increment reset reactive
| -rw-r--r-- | src/lib/List/CleanMangaList.svelte | 4 | ||||
| -rw-r--r-- | src/lib/List/Template/MangaListTemplate.svelte | 7 |
2 files changed, 6 insertions, 5 deletions
diff --git a/src/lib/List/CleanMangaList.svelte b/src/lib/List/CleanMangaList.svelte index 903fed5d..e2f4be9e 100644 --- a/src/lib/List/CleanMangaList.svelte +++ b/src/lib/List/CleanMangaList.svelte @@ -12,7 +12,7 @@ media: Media[] ) => Promise<void>; export let disableIncrement = false; - export let pendingUpdate: boolean; + export let pendingUpdate: number | null; </script> <ListTitle count={media.length} time={endTime / 1000}> @@ -40,7 +40,7 @@ {/if} </a> <span style="opacity: 50%;">|</span> - {pendingUpdate ? progress + 1 : progress} + {pendingUpdate === manga.id ? progress + 1 : progress} <a href={'#'} style={disableIncrement ? 'pointer-events: none; opacity: 50%;' : ''} diff --git a/src/lib/List/Template/MangaListTemplate.svelte b/src/lib/List/Template/MangaListTemplate.svelte index 57f3998d..fdfb4134 100644 --- a/src/lib/List/Template/MangaListTemplate.svelte +++ b/src/lib/List/Template/MangaListTemplate.svelte @@ -21,7 +21,7 @@ let endTime: number; let lastUpdatedMedia = -1; let previousMangaList: Media[]; - let pendingUpdate = false; + let pendingUpdate: number | null = null; const keyCacher = setInterval(() => { startTime = performance.now(); @@ -106,11 +106,12 @@ }; const updateMedia = async (id: number, progress: number | undefined, media: Media[]) => { - pendingUpdate = true; + pendingUpdate = id; await chapterDatabase.chapters.delete(id); await fetch(`/api/anilist-increment?id=${id}&progress=${(progress || 0) + 1}`).then(() => { previousMangaList = media; + media.find((m) => m.id === id)!.mediaListEntry!.progress = (progress || 0) + 1; mangaLists = mediaListCollection( user, identity, @@ -120,7 +121,7 @@ true ); lastUpdatedMedia = id; - pendingUpdate = false; + pendingUpdate = null; }); }; |