From 91f5d63b933f44f8eddea0fe02c769c64047963c Mon Sep 17 00:00:00 2001 From: wukko Date: Wed, 29 Jan 2025 16:35:43 +0600 Subject: [PATCH] web/DownloadButton: extract api interaction logic into a lib download button state is now stored, well, in a state --- web/src/components/save/Omnibox.svelte | 5 +- .../save/buttons/DownloadButton.svelte | 121 ++--------------- web/src/lib/api/saving-handler.ts | 123 ++++++++++++++++++ web/src/lib/state/omnibox.ts | 2 + web/src/lib/types/omnibox.ts | 1 + 5 files changed, 138 insertions(+), 114 deletions(-) create mode 100644 web/src/lib/api/saving-handler.ts create mode 100644 web/src/lib/types/omnibox.ts diff --git a/web/src/components/save/Omnibox.svelte b/web/src/components/save/Omnibox.svelte index 13797298..0623b1e8 100644 --- a/web/src/components/save/Omnibox.svelte +++ b/web/src/components/save/Omnibox.svelte @@ -11,6 +11,7 @@ import dialogs from "$lib/state/dialogs"; import { link } from "$lib/state/omnibox"; import { updateSetting } from "$lib/state/settings"; + import { savingHandler } from "$lib/api/saving-handler"; import { pasteLinkFromClipboard } from "$lib/clipboard"; import { turnstileEnabled, turnstileSolved } from "$lib/state/turnstile"; @@ -75,7 +76,7 @@ if (!isBotCheckOngoing) { await tick(); // wait for button to render - downloadButton.download($link); + savingHandler($link); } } }; @@ -94,7 +95,7 @@ } if (e.key === "Enter" && validLink($link) && isFocused) { - downloadButton.download($link); + savingHandler($link); } if (["Escape", "Clear"].includes(e.key) && isFocused) { diff --git a/web/src/components/save/buttons/DownloadButton.svelte b/web/src/components/save/buttons/DownloadButton.svelte index 981bb0ad..6f3a7224 100644 --- a/web/src/components/save/buttons/DownloadButton.svelte +++ b/web/src/components/save/buttons/DownloadButton.svelte @@ -1,12 +1,12 @@