aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFuwn <[email protected]>2023-10-04 18:06:49 -0700
committerFuwn <[email protected]>2023-10-04 18:06:49 -0700
commit5891b793790af0a6b9de0515c81b43590cbb0674 (patch)
treeca713a3c02099e0e69cce2ec2e175fb8fb6948cb
parentfeat(manga): instantly reactive increment (diff)
downloaddue.moe-5891b793790af0a6b9de0515c81b43590cbb0674.tar.xz
due.moe-5891b793790af0a6b9de0515c81b43590cbb0674.zip
fix(manga): increment reset reactive
-rw-r--r--src/lib/List/CleanMangaList.svelte4
-rw-r--r--src/lib/List/Template/MangaListTemplate.svelte7
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;
});
};