From 91327220a0a5cc9c483dbf2e9138fc736b26b319 Mon Sep 17 00:00:00 2001 From: wukko Date: Mon, 16 Dec 2024 17:23:43 +0600 Subject: [PATCH 01/33] web/PopoverContainer: create a reusable popover component --- .../components/misc/PopoverContainer.svelte | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 web/src/components/misc/PopoverContainer.svelte diff --git a/web/src/components/misc/PopoverContainer.svelte b/web/src/components/misc/PopoverContainer.svelte new file mode 100644 index 00000000..d43e8426 --- /dev/null +++ b/web/src/components/misc/PopoverContainer.svelte @@ -0,0 +1,70 @@ + + +
+ {#if renderPopover} + + {/if} +
+ + From 5d75ee493de6d68aedc1f09001863047d3230c29 Mon Sep 17 00:00:00 2001 From: wukko Date: Mon, 16 Dec 2024 17:24:05 +0600 Subject: [PATCH 02/33] web/SupportedServices: use the general popover component --- .../components/save/SupportedServices.svelte | 110 ++++++------------ 1 file changed, 38 insertions(+), 72 deletions(-) diff --git a/web/src/components/save/SupportedServices.svelte b/web/src/components/save/SupportedServices.svelte index 6dcb9244..adf63ef5 100644 --- a/web/src/components/save/SupportedServices.svelte +++ b/web/src/components/save/SupportedServices.svelte @@ -1,18 +1,21 @@ @@ -49,7 +40,7 @@
- {#if renderPopover} -
-
- {#if loaded} - {#each services as service} -
{service}
- {/each} - {:else} - {#each { length: 17 } as _} - - {/each} - {/if} -
-
- {$t("save.services.disclaimer")} -
+ +
+ {#if loaded} + {#each services as service} +
{service}
+ {/each} + {:else} + {#each { length: 17 } as _} + + {/each} + {/if}
- {/if} +
+ {$t("save.services.disclaimer")} +
+
diff --git a/web/src/components/downloads/DownloadStatus.svelte b/web/src/components/downloads/DownloadStatus.svelte new file mode 100644 index 00000000..743805c7 --- /dev/null +++ b/web/src/components/downloads/DownloadStatus.svelte @@ -0,0 +1,132 @@ + + + + + diff --git a/web/src/components/misc/Meowbalt.svelte b/web/src/components/misc/Meowbalt.svelte index 26ad14b3..929c63aa 100644 --- a/web/src/components/misc/Meowbalt.svelte +++ b/web/src/components/misc/Meowbalt.svelte @@ -1,6 +1,5 @@ + +
+
+
+
+ +
+ + {filename} + +
+
+
+
+
{status}
+
+
+ + +
+
+ + diff --git a/web/src/components/downloads/DownloadManager.svelte b/web/src/components/downloads/DownloadManager.svelte index 6008adb5..abf28e03 100644 --- a/web/src/components/downloads/DownloadManager.svelte +++ b/web/src/components/downloads/DownloadManager.svelte @@ -1,17 +1,73 @@ -
- + -
-
downloads
- {#if downloadQueue.length > 0} - {/if}
-
- {#each downloadQueue as item} - + {#each processingQueue as item} + {/each} - {#if downloadQueue.length === 0} + {#if processingQueue.length === 0}
- your downloads will appear here! + downloads will appear here!
{/if}
@@ -123,7 +124,7 @@
diff --git a/web/src/components/queue/ProcessingQueueStub.svelte b/web/src/components/queue/ProcessingQueueStub.svelte new file mode 100644 index 00000000..5a4afef7 --- /dev/null +++ b/web/src/components/queue/ProcessingQueueStub.svelte @@ -0,0 +1,44 @@ + + +
+ + + {$t("queue.stub", { + value: $t(`queue.stub.${randomAction()}`), + })} + +
+ + From 3f46395bd20b0c5da54440aeb1192c117e63192e Mon Sep 17 00:00:00 2001 From: wukko Date: Wed, 18 Dec 2024 17:10:08 +0600 Subject: [PATCH 10/33] web/state/queue: add `nukeEntireQueue()` --- web/src/lib/state/queue.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/web/src/lib/state/queue.ts b/web/src/lib/state/queue.ts index c586623d..ee431743 100644 --- a/web/src/lib/state/queue.ts +++ b/web/src/lib/state/queue.ts @@ -58,4 +58,13 @@ export function removeFromOngoingQueue(id: string) { }); } +export function nukeEntireQueue() { + update(() => { + return {}; + }); + updateOngoing(() => { + return {}; + }); +} + export { queue, ongoingQueue }; From eba8dc3767d277b77f6b5bb9d2eee9bfc77ce466 Mon Sep 17 00:00:00 2001 From: wukko Date: Wed, 18 Dec 2024 17:10:30 +0600 Subject: [PATCH 11/33] web/ProcessingQueue: make the clear button actually clear the queue --- web/src/components/queue/ProcessingQueue.svelte | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/web/src/components/queue/ProcessingQueue.svelte b/web/src/components/queue/ProcessingQueue.svelte index 9609ad5f..f7967942 100644 --- a/web/src/components/queue/ProcessingQueue.svelte +++ b/web/src/components/queue/ProcessingQueue.svelte @@ -18,7 +18,7 @@ import IconVolume3 from "@tabler/icons-svelte/IconVolume3.svelte"; import settings from "$lib/state/settings"; - import { addToQueue, queue } from "$lib/state/queue"; + import { addToQueue, nukeEntireQueue, queue } from "$lib/state/queue"; import type { QueueItem } from "$lib/types/queue"; let popover: SvelteComponent; @@ -77,7 +77,7 @@
{$t("queue.title")}
{#if queueLength > 0} - From f3ff3656ef412125fa28a92218d0dbccc6a5b307 Mon Sep 17 00:00:00 2001 From: wukko Date: Wed, 18 Dec 2024 17:47:48 +0600 Subject: [PATCH 12/33] web/ProcessingQueue: fix ui on narrow screens --- .../components/queue/ProcessingQueue.svelte | 22 ++++++++++++------- .../queue/ProcessingQueueItem.svelte | 2 +- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/web/src/components/queue/ProcessingQueue.svelte b/web/src/components/queue/ProcessingQueue.svelte index f7967942..5eae4b24 100644 --- a/web/src/components/queue/ProcessingQueue.svelte +++ b/web/src/components/queue/ProcessingQueue.svelte @@ -63,7 +63,7 @@ }); -
+
diff --git a/web/src/components/queue/ProcessingQueueItem.svelte b/web/src/components/queue/ProcessingQueueItem.svelte index a9114f7f..6c43a6cf 100644 --- a/web/src/components/queue/ProcessingQueueItem.svelte +++ b/web/src/components/queue/ProcessingQueueItem.svelte @@ -52,7 +52,7 @@ } .processing-item { - width: 425px; + width: 100%; padding: 8px 0; gap: 8px; border-bottom: 1.5px var(--button-elevated) solid; From 5860efa6207116cbabca5cb83bcc7f4c195b5236 Mon Sep 17 00:00:00 2001 From: wukko Date: Wed, 18 Dec 2024 17:48:40 +0600 Subject: [PATCH 13/33] web/PopoverContainer: hide for screen readers when not expanded --- web/src/components/misc/PopoverContainer.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/src/components/misc/PopoverContainer.svelte b/web/src/components/misc/PopoverContainer.svelte index d43e8426..832f5749 100644 --- a/web/src/components/misc/PopoverContainer.svelte +++ b/web/src/components/misc/PopoverContainer.svelte @@ -19,7 +19,7 @@ }; -
+
{#if renderPopover} {/if} From 73d0b24aafc5572b8347697b58a725f2ad3f757a Mon Sep 17 00:00:00 2001 From: wukko Date: Wed, 18 Dec 2024 17:57:07 +0600 Subject: [PATCH 14/33] web/layout: move processing queue into content for better a11y --- web/src/routes/+layout.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/src/routes/+layout.svelte b/web/src/routes/+layout.svelte index f942606f..b7e7aade 100644 --- a/web/src/routes/+layout.svelte +++ b/web/src/routes/+layout.svelte @@ -85,13 +85,13 @@ {#if device.is.iPhone && app.is.installed} {/if} - {#if $updated} {/if}
+ {#if ($turnstileEnabled && $page.url.pathname === "/") || $turnstileCreated} {/if} From 8c9f7ff36d99b774c32d3d3592911f698af4a5de Mon Sep 17 00:00:00 2001 From: wukko Date: Wed, 18 Dec 2024 18:42:34 +0600 Subject: [PATCH 15/33] web/ProcessingQueue: align buttons to center vertically --- web/src/components/queue/ProcessingQueue.svelte | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/web/src/components/queue/ProcessingQueue.svelte b/web/src/components/queue/ProcessingQueue.svelte index 5eae4b24..728d31af 100644 --- a/web/src/components/queue/ProcessingQueue.svelte +++ b/web/src/components/queue/ProcessingQueue.svelte @@ -126,7 +126,6 @@ gap: 12px; padding: 16px; padding-bottom: 0; - width: calc(100% - 16px * 2); max-width: 425px; } @@ -135,6 +134,7 @@ display: flex; flex-direction: row; justify-content: space-between; + align-items: center; } .header-title { @@ -155,6 +155,7 @@ background: none; box-shadow: none; text-align: left; + border-radius: 3px; } .header-buttons button :global(svg) { From 06000cbc776c7e3055d7abde56674a7850d0380a Mon Sep 17 00:00:00 2001 From: wukko Date: Thu, 19 Dec 2024 21:09:51 +0600 Subject: [PATCH 16/33] web/SectionHeading: added a new prop to disable the link --- web/src/components/misc/SectionHeading.svelte | 27 ++++++++++--------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/web/src/components/misc/SectionHeading.svelte b/web/src/components/misc/SectionHeading.svelte index e3b1e635..8741030f 100644 --- a/web/src/components/misc/SectionHeading.svelte +++ b/web/src/components/misc/SectionHeading.svelte @@ -8,6 +8,7 @@ export let title: string; export let sectionId: string; export let beta = false; + export let nolink = false; export let copyData = ""; const sectionURL = `${$page.url.origin}${$page.url.pathname}#${sectionId}`; @@ -32,18 +33,20 @@
{/if} - + {#if !nolink} + + {/if}