From eaa75833df75a7cb3ada8a1a7bf5ed62647af7e4 Mon Sep 17 00:00:00 2001 From: Chi Cong Tran Date: Mon, 15 Dec 2025 12:18:00 +0100 Subject: [PATCH 1/4] fix file upload for Chrome --- src/routes/(token-based)/list/[vorgang]/+page.svelte | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/routes/(token-based)/list/[vorgang]/+page.svelte b/src/routes/(token-based)/list/[vorgang]/+page.svelte index 1829752..b57188c 100644 --- a/src/routes/(token-based)/list/[vorgang]/+page.svelte +++ b/src/routes/(token-based)/list/[vorgang]/+page.svelte @@ -132,17 +132,17 @@ // big endian! let file = files[0]; - let file_header = file.slice(0, 4); - console.log(file_header); - let header_bytes = await file_header.bytes(); - let file_header_hex = '0x' + header_bytes.toHex().toString(); + const fileHeader = file.slice(0, 4); + const buffer = await fileHeader.arrayBuffer(); + console.log(fileHeader); + let headerBytes = new Uint8Array(buffer); + let fileHeaderHex = '0x' + headerBytes.toHex().toString(); - if (GLD_MAGIC == swap_endian(file_header_hex)) { + if (GLD_MAGIC == swap_endian(fileHeaderHex)) { return true; } else { return false; } - return true; } async function getUrl() { -- 2.43.0 From b4d9824942f008c14d8cf733154f92f25091a239 Mon Sep 17 00:00:00 2001 From: Chi Cong Tran Date: Tue, 16 Dec 2025 09:23:22 +0100 Subject: [PATCH 2/4] implement drag and drop feature --- .../(token-based)/list/[vorgang]/+page.svelte | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/src/routes/(token-based)/list/[vorgang]/+page.svelte b/src/routes/(token-based)/list/[vorgang]/+page.svelte index b57188c..181b2a0 100644 --- a/src/routes/(token-based)/list/[vorgang]/+page.svelte +++ b/src/routes/(token-based)/list/[vorgang]/+page.svelte @@ -287,8 +287,26 @@ Mit freundlichen Grüßen, open = false; isError = false; } + + // drag and drop functionality + let isDragging = $state(false); + + function handleDrop(event) { + event.preventDefault(); + isDragging = false; + + if (event.dataTransfer?.files?.length) { + files = event.dataTransfer.files; + } + } + + + {#if data.vorgang && crimesList}
@@ -415,7 +433,13 @@ Mit freundlichen Grüßen,
(isDragging = true)} + on:dragleave={() => (isDragging = false)} + on:drop={handleDrop} >
-- 2.43.0 From 2a7783004a9ba161f1ca2b99fb8dd669e0ce0172 Mon Sep 17 00:00:00 2001 From: Chi Cong Tran Date: Tue, 16 Dec 2025 12:54:28 +0100 Subject: [PATCH 3/4] fix chrome issue: selecting the same file does not work properly --- src/routes/(token-based)/list/[vorgang]/+page.svelte | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/routes/(token-based)/list/[vorgang]/+page.svelte b/src/routes/(token-based)/list/[vorgang]/+page.svelte index 181b2a0..baf9703 100644 --- a/src/routes/(token-based)/list/[vorgang]/+page.svelte +++ b/src/routes/(token-based)/list/[vorgang]/+page.svelte @@ -42,6 +42,7 @@ let formErrors: Record | null = $state(null); let etag: string | null = $state(null); let files: FileList | null = $state(null); + let fileInput = $state(null); // Model Variablen für Upload let openUL = $state(false); @@ -102,6 +103,7 @@ openUL = false; name = ''; files = null; + fileInput.value = ""; await invalidateAll(); crimesList = data.crimesList; } @@ -449,7 +451,7 @@ Mit freundlichen Grüßen, class="relative cursor-pointer rounded-md bg-white font-semibold text-indigo-600 focus-within:outline-none focus-within:ring-2 focus-within:ring-indigo-600 focus-within:ring-offset-2 hover:text-indigo-500" > Wähle eine Datei aus - +

oder ziehe sie ins Feld

-- 2.43.0 From 5be89f83fd1bc45bb05983fdf137bd47b43fa9e7 Mon Sep 17 00:00:00 2001 From: Chi Cong Tran Date: Tue, 16 Dec 2025 13:20:18 +0100 Subject: [PATCH 4/4] add .GLD file verification for drag and drop --- src/routes/(token-based)/list/[vorgang]/+page.svelte | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/routes/(token-based)/list/[vorgang]/+page.svelte b/src/routes/(token-based)/list/[vorgang]/+page.svelte index baf9703..15d68b9 100644 --- a/src/routes/(token-based)/list/[vorgang]/+page.svelte +++ b/src/routes/(token-based)/list/[vorgang]/+page.svelte @@ -293,13 +293,21 @@ Mit freundlichen Grüßen, // drag and drop functionality let isDragging = $state(false); - function handleDrop(event) { + async function handleDrop(event) { event.preventDefault(); isDragging = false; if (event.dataTransfer?.files?.length) { files = event.dataTransfer.files; } + if (!(await check_valid_glb_file())) { + formErrors = { file: 'Keine gültige .GLD-Datei' } + // reset form fields etc. + files = null; + fileInput.value = ''; + } else { + formErrors = { ...formErrors, file: ''} + }; } -- 2.43.0