From c5ddc20ce2a3da50dbc5ac883e0c3dc465f8c544 Mon Sep 17 00:00:00 2001 From: Wim Brand Date: Tue, 10 Sep 2024 18:51:13 +0200 Subject: [PATCH] Centralize drag-and-drop upload code --- svelte/src/filesystem/Filesystem.svelte | 12 +- svelte/src/filesystem/edit_window/Branding.js | 6 +- .../filesystem/filemanager/FileManager.svelte | 15 ++- .../upload_widget/DropUpload.svelte | 105 ----------------- ...oadWidget.svelte => FSUploadWidget.svelte} | 6 - .../upload_widget/UploadProgress.svelte | 6 +- .../src/filesystem/viewers/FilePreview.svelte | 3 +- svelte/src/home_page/UploadLoginWall.svelte | 15 ++- svelte/src/home_page/UploadWidget.svelte | 25 +--- .../src/user_home/dashboard/CardFSHome.svelte | 110 +++++++++--------- .../src/user_home/dashboard/CardUpload.svelte | 30 +++-- .../src/user_home/dashboard/UploadLib.svelte | 26 +---- svelte/src/util/DropTarget.ts | 95 +++++++++++++++ 13 files changed, 219 insertions(+), 235 deletions(-) delete mode 100644 svelte/src/filesystem/upload_widget/DropUpload.svelte rename svelte/src/filesystem/upload_widget/{UploadWidget.svelte => FSUploadWidget.svelte} (95%) create mode 100644 svelte/src/util/DropTarget.ts diff --git a/svelte/src/filesystem/Filesystem.svelte b/svelte/src/filesystem/Filesystem.svelte index 47eb45c..a03cb39 100644 --- a/svelte/src/filesystem/Filesystem.svelte +++ b/svelte/src/filesystem/Filesystem.svelte @@ -7,14 +7,14 @@ import Breadcrumbs from './Breadcrumbs.svelte'; import DetailsWindow from './DetailsWindow.svelte'; import FilePreview from './viewers/FilePreview.svelte'; import SearchView from './SearchView.svelte'; -import UploadWidget from './upload_widget/UploadWidget.svelte'; +import FSUploadWidget from './upload_widget/FSUploadWidget.svelte'; import { fs_path_url } from './FilesystemAPI'; -import { branding_from_path } from './edit_window/Branding.js' import Menu from './Menu.svelte'; import { FSNavigator } from "./FSNavigator" import { writable } from 'svelte/store'; import TransferLimit from '../file_viewer/TransferLimit.svelte'; import { stats } from "src/util/StatsSocket.js" +import { css_from_path } from './edit_window/Branding'; let file_viewer let file_preview @@ -41,7 +41,7 @@ onMount(() => { } // Custom CSS rules for the whole viewer - document.documentElement.style = branding_from_path(nav.path) + document.documentElement.style = css_from_path(nav.path) loading.set(false) }) @@ -169,10 +169,10 @@ const search = async () => { nav.open_sibling(e.detail)} on:download={download} - on:upload_picker={() => upload_widget.pick_files()} /> {:else if view === "search"} {view = "file"}} /> @@ -206,7 +206,9 @@ const search = async () => { - + + diff --git a/svelte/src/filesystem/edit_window/Branding.js b/svelte/src/filesystem/edit_window/Branding.js index e27a290..5f9a037 100644 --- a/svelte/src/filesystem/edit_window/Branding.js +++ b/svelte/src/filesystem/edit_window/Branding.js @@ -10,7 +10,7 @@ export const branding_from_path = path => { add_styles(style, node.properties) } last_generated_style = style - return gen_css(style) + return style } // The last style which was generated is cached, when we don't have a complete @@ -21,6 +21,10 @@ export const branding_from_node = node => { return gen_css(last_generated_style) } +export const css_from_path = path => { + return gen_css(branding_from_path(path)) +} + const gen_css = style => { return Object.entries(style).map(([key, value]) => `--${key}:${value}`).join(';'); } diff --git a/svelte/src/filesystem/filemanager/FileManager.svelte b/svelte/src/filesystem/filemanager/FileManager.svelte index cedff02..238880f 100644 --- a/svelte/src/filesystem/filemanager/FileManager.svelte +++ b/svelte/src/filesystem/filemanager/FileManager.svelte @@ -1,15 +1,16 @@ - - - -{#if dragging} -
- Drop files here to upload them -
-{/if} - - diff --git a/svelte/src/filesystem/upload_widget/UploadWidget.svelte b/svelte/src/filesystem/upload_widget/FSUploadWidget.svelte similarity index 95% rename from svelte/src/filesystem/upload_widget/UploadWidget.svelte rename to svelte/src/filesystem/upload_widget/FSUploadWidget.svelte index ad039c3..33cb742 100644 --- a/svelte/src/filesystem/upload_widget/UploadWidget.svelte +++ b/svelte/src/filesystem/upload_widget/FSUploadWidget.svelte @@ -1,7 +1,6 @@ {#if window.user && window.user.username && window.user.username !== ""} - +
upload_widget.upload_files(files), + shadow: "var(--highlight_color) 0 0 10px 2px inset", + }} + > + +
{:else}

@@ -51,6 +61,9 @@ let page = "login" {/if}