web/DownloadButton: extract api interaction logic into a lib

download button state is now stored, well, in a state
This commit is contained in:
wukko
2025-01-29 16:35:43 +06:00
parent 1c34d2daff
commit 91f5d63b93
5 changed files with 138 additions and 114 deletions

View File

@@ -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) {