From 236e282777e38013b254002a30a0bce8372a5c77 Mon Sep 17 00:00:00 2001 From: Fornax Date: Tue, 21 Mar 2023 23:37:46 +0100 Subject: [PATCH] Allow drag-and-drop uploading in album viewer --- svelte/src/file_viewer/FileViewer.svelte | 29 +++- svelte/src/file_viewer/GalleryView.svelte | 141 +++++++++--------- svelte/src/file_viewer/ListUpdater.svelte | 82 ++++++++++ .../src/user_file_manager/FileManager.svelte | 4 +- .../src/util/upload_widget/DropUpload.svelte | 6 +- .../util/upload_widget/UploadProgress.svelte | 3 +- .../util/upload_widget/UploadWidget.svelte | 26 ++-- 7 files changed, 195 insertions(+), 96 deletions(-) create mode 100644 svelte/src/file_viewer/ListUpdater.svelte diff --git a/svelte/src/file_viewer/FileViewer.svelte b/svelte/src/file_viewer/FileViewer.svelte index 2295681..e22dfec 100644 --- a/svelte/src/file_viewer/FileViewer.svelte +++ b/svelte/src/file_viewer/FileViewer.svelte @@ -21,6 +21,7 @@ import CustomBanner from "./CustomBanner.svelte"; import LoadingIndicator from "../util/LoadingIndicator.svelte"; import TransferLimit from "./TransferLimit.svelte"; import ListStats from "./ListStats.svelte"; +import ListUpdater from "./ListUpdater.svelte"; let loading = true let embedded = false @@ -73,6 +74,7 @@ let toolbar_toggle = () => { } let downloader +let list_updater let details_window let details_visible = false let qr_window @@ -354,6 +356,10 @@ const keyboard_event = evt => { case "q": // Q to close the window window.close() break + case "u": // U to upload new files + if (list_updater) { + list_updater.pick_files() + } } } @@ -561,22 +567,20 @@ const keyboard_event = evt => { on:prev={() => { if (list_navigator) { list_navigator.prev() }}} on:next={() => { if (list_navigator) { list_navigator.next() }}} on:loading={e => {loading = e.detail}} - on:reload={reload}> - + on:reload={reload} + /> {:else if view === "gallery"} {loading = e.detail}}> - + on:update_list={e => list_updater.update(e.detail)} + on:pick_files={() => list_updater.pick_files()} + on:upload_files={e => list_updater.upload_files(e.detail)} + /> {/if} - - {#if ads_enabled} @@ -611,6 +615,15 @@ const keyboard_event = evt => { {/if} + + {#if is_list && list.can_edit} + {loading = e.detail}} + /> + {/if} diff --git a/svelte/src/file_viewer/ListUpdater.svelte b/svelte/src/file_viewer/ListUpdater.svelte new file mode 100644 index 0000000..5af9446 --- /dev/null +++ b/svelte/src/file_viewer/ListUpdater.svelte @@ -0,0 +1,82 @@ + + + + + uploads_finished(e.detail)}/> diff --git a/svelte/src/user_file_manager/FileManager.svelte b/svelte/src/user_file_manager/FileManager.svelte index 034a811..d7833da 100644 --- a/svelte/src/user_file_manager/FileManager.svelte +++ b/svelte/src/user_file_manager/FileManager.svelte @@ -257,8 +257,6 @@ onMount(() => { - -
+ +