From e637b4770729a203c82d6c54f4e9ced43b0e21c6 Mon Sep 17 00:00:00 2001 From: Eray Date: Wed, 11 Jun 2025 00:20:04 +0400 Subject: [PATCH] web: an active saving dialog highlights the selected item from the picker dialog --- .../components/dialog/DialogContainer.svelte | 3 ++- web/src/components/dialog/PickerItem.svelte | 5 +++++ web/src/components/dialog/SavingDialog.svelte | 4 +++- web/src/lib/download.ts | 18 +++++++++++------- 4 files changed, 21 insertions(+), 9 deletions(-) diff --git a/web/src/components/dialog/DialogContainer.svelte b/web/src/components/dialog/DialogContainer.svelte index dc1bfb76..6d123e9a 100644 --- a/web/src/components/dialog/DialogContainer.svelte +++ b/web/src/components/dialog/DialogContainer.svelte @@ -6,6 +6,7 @@ export let id: string; export let dismissable = true; + export let onclose: (e: Event) => void = () => {} let dialogParent: HTMLDialogElement; @@ -36,7 +37,7 @@ } - + {}} /> diff --git a/web/src/components/dialog/PickerItem.svelte b/web/src/components/dialog/PickerItem.svelte index d0fe542f..e925c127 100644 --- a/web/src/components/dialog/PickerItem.svelte +++ b/web/src/components/dialog/PickerItem.svelte @@ -47,6 +47,7 @@ downloadFile({ url: item.url, urlType: isTunnel ? "tunnel" : "redirect", + id: number }); } }} @@ -91,6 +92,10 @@ border-radius: inherit; } + :global(.picker-item-active) { + opacity: 0.5; + } + :global(.picker-image) { width: 100%; height: 100%; diff --git a/web/src/components/dialog/SavingDialog.svelte b/web/src/components/dialog/SavingDialog.svelte index 8a391c8c..0bff238a 100644 --- a/web/src/components/dialog/SavingDialog.svelte +++ b/web/src/components/dialog/SavingDialog.svelte @@ -43,9 +43,11 @@ copied = false; }, 1500); } + + if (!id.endsWith('0')) document.querySelector(`.picker-item:has(img[alt$="${id.slice(7)}"])`)?.classList.add('picker-item-active') - + { if (!id.endsWith('0')) document.querySelector(`.picker-item:has(img[alt$="${id.slice(7)}"])`)?.classList.remove('picker-item-active') }}>