From b772eda4d13e01dc8ee37317f0561a473c40cbd2 Mon Sep 17 00:00:00 2001 From: lhk1337 <25325997+lhk1337@users.noreply.github.com> Date: Sun, 23 Jan 2022 17:24:55 +0100 Subject: [PATCH 1/3] fix select all --- .gitignore | 4 ++-- src/pages/[manga]/index.svelte | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 56ac342..b717609 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,6 @@ /public/build/ .DS_Store -/.routify package-lock.json -pnpm-lock.yaml \ No newline at end of file +pnpm-lock.yaml +/.routify/ diff --git a/src/pages/[manga]/index.svelte b/src/pages/[manga]/index.svelte index 0355a5a..56f532b 100644 --- a/src/pages/[manga]/index.svelte +++ b/src/pages/[manga]/index.svelte @@ -169,7 +169,7 @@ function selectAll() { chapters.then(res => { - var chapters = res.results; + var chapters = res.data; if(arraysEqual(selected, chapters)) { selected = []; } else { From 7c46ff0f137797d88cbfa50cd2150d4b5fb358d2 Mon Sep 17 00:00:00 2001 From: lhk1337 <25325997+lhk1337@users.noreply.github.com> Date: Sun, 23 Jan 2022 17:54:52 +0100 Subject: [PATCH 2/3] allow downloading selected chapters in separate files --- src/pages/[manga]/index.svelte | 44 +++++++++++++++++++++++++++------- 1 file changed, 36 insertions(+), 8 deletions(-) diff --git a/src/pages/[manga]/index.svelte b/src/pages/[manga]/index.svelte index 56f532b..00db6ec 100644 --- a/src/pages/[manga]/index.svelte +++ b/src/pages/[manga]/index.svelte @@ -83,15 +83,10 @@ cbz: CBZGenerator } - async function downloadSingle(chapter) { - const file = streamSaver.createWriteStream(`${manga.title.en} ${chapter.attributes.chapter}.${format}`, { - writableStrategy: undefined, // (optional) - readableStrategy: undefined, // (optional) - }); - - const generator = new generators[format]({ + function createGenerator(chapter, file) { + return new generators[format]({ file, - id: chapter.id, + id: window.location.toString() + "-" + chapter.id, language: chapter.attributes.translatedLanguage, updatedAt: chapter.attributes.updatedAt, title: manga.title.en, @@ -102,6 +97,14 @@ volume: chapter.attributes.volume }] }); + } + async function downloadSingle(chapter) { + const file = streamSaver.createWriteStream(`${manga.title.en} ${chapter.attributes.chapter}.${format}`, { + writableStrategy: undefined, // (optional) + readableStrategy: undefined, // (optional) + }); + + const generator = createGenerator(chapter, file) console.log(generator); queue.push(generator); @@ -154,6 +157,30 @@ selected = []; processQueue(); } + function downloadSeparate() { + selected.sort((a, b) => a.attributes.chapter - b.attributes.chapter); + if(!selected.length) return; + if(selected.length === 1) { + downloadSingle(selected.shift()); + selected = []; + return; + } + + for (const chapter of selected) { + const file = streamSaver.createWriteStream(`${manga.title.en} ${chapter.attributes.chapter}.${format}`, { + writableStrategy: undefined, // (optional) + readableStrategy: undefined, // (optional) + }); + + const generator = createGenerator(chapter, file) + + console.log(generator); + queue.push(generator); + } + + selected = []; + processQueue(); + } /** * @param {BeforeUnloadEvent} e @@ -230,6 +257,7 @@ +