From 2391169f461115682cea4af575d99559528d2e89 Mon Sep 17 00:00:00 2001 From: E44 <129310925+programmer-44@users.noreply.github.com> Date: Fri, 2 Jan 2026 16:34:42 +0100 Subject: [PATCH] fix(control): fix reactive db problem in current_folder_elements --- control/frontend/src/routes/FileView.svelte | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/control/frontend/src/routes/FileView.svelte b/control/frontend/src/routes/FileView.svelte index 3c71255..76cc7c4 100755 --- a/control/frontend/src/routes/FileView.svelte +++ b/control/frontend/src/routes/FileView.svelte @@ -32,16 +32,22 @@ import { is_valid_name } from '$lib/ts/utils'; import { delete_files, rename_file } from '$lib/ts/api_handler'; import HighlightedText from '$lib/components/HighlightedText.svelte'; - import { liveQuery } from 'dexie'; + import { liveQuery, type Observable } from 'dexie'; let current_name: string = $state(''); let current_valid: boolean = $state(false); let display_names_where_path_does_not_exist: string[] = $state([]); let selected_files = liveQuery(() => get_selected_files($selected_display_ids)); - let current_folder_elements = liveQuery(() => - get_current_folder_elements($current_file_path, $selected_display_ids) - ); + + let current_folder_elements: Observable | undefined = $state(); + + $effect(() => { + const path = $current_file_path, display_ids = $selected_display_ids; + current_folder_elements = liveQuery(() => get_current_folder_elements(path, display_ids)); + }) + + let popup_content: PopupContent = $state({ open: false, @@ -337,12 +343,12 @@ Es sind keine Bildschirme ausgewählt. {:else} - {#each $current_folder_elements || [] as folder_element (get_file_primary_key(folder_element))} + {#each $current_folder_elements ?? [] as folder_element (get_file_primary_key(folder_element))}
{/each} - {#if ($current_folder_elements || []).length === 0} + {#if ($current_folder_elements ?? []).length === 0} Es existieren keine Dateien auf {$selected_display_ids.length === 1 ? 'dem ausgewähltem Bildchirm'