diff --git a/control/frontend/src/lib/components/FileDropZone.svelte b/control/frontend/src/lib/components/FileDropZone.svelte new file mode 100644 index 0000000..4ec1d31 --- /dev/null +++ b/control/frontend/src/lib/components/FileDropZone.svelte @@ -0,0 +1,176 @@ + + + + +
+ {$selected_online_display_ids.length === 0 + ? 'Für das Hochladen von Dateien müssen erreichbare Displays ausgewählt werden!' + : ''} +
+ + diff --git a/control/frontend/src/routes/FileView.svelte b/control/frontend/src/routes/FileView.svelte index b292f12..6665f48 100755 --- a/control/frontend/src/routes/FileView.svelte +++ b/control/frontend/src/routes/FileView.svelte @@ -39,6 +39,7 @@ import { liveQuery, type Observable } from 'dexie'; import { download_file, add_upload, add_sync_recursively } from '$lib/ts/file_transfer_handler'; import { selected_online_display_ids } from '$lib/ts/stores/displays'; + import FileDropZone from '$lib/components/FileDropZone.svelte'; let current_name: string = $state(''); let current_valid: boolean = $state(false); @@ -59,7 +60,7 @@ $effect(() => { const s = $selected_file_ids; one_file_selected = liveQuery(async () => { - if (s.length !== 1) return false + if (s.length !== 1) return false; const inode = await get_file_by_id(s[0]); if (!inode) return false; return !is_folder(inode); @@ -285,7 +286,7 @@ }} /> -
+
Dateien Anzeigen und Verwalten @@ -388,32 +389,34 @@
-
-
- {#if $selected_online_display_ids.length === 0} - - Es sind keine Bildschirme ausgewählt. - - {:else} - {#each $current_folder_elements ?? [] as folder_element (get_file_primary_key(folder_element))} -
- -
- {/each} - {#if ($current_folder_elements ?? []).length === 0} - - Es existieren keine Dateien auf {$selected_display_ids.length === 1 - ? 'dem ausgewähltem Bildchirm' - : 'den ausgewählten Bildschirmen'} im aktuellen Ordner. Klicke auf um Datei(en) hochzuladen. + +
+ +
+ {#if $selected_online_display_ids.length === 0} + + Es sind keine Bildschirme ausgewählt. + {:else} + {#each $current_folder_elements ?? [] as folder_element (get_file_primary_key(folder_element))} +
+ +
+ {/each} + {#if ($current_folder_elements ?? []).length === 0} + + Es existieren keine Dateien auf {$selected_display_ids.length === 1 + ? 'dem ausgewähltem Bildchirm' + : 'den ausgewählten Bildschirmen'} im aktuellen Ordner. Klicke auf um Datei(en) hochzuladen. + + {/if} {/if} - {/if} +
-