From 99a27fc079560e7f13e6fac3f51d81a4708a0434 Mon Sep 17 00:00:00 2001 From: mina Date: Thu, 22 May 2025 17:25:33 +0200 Subject: [PATCH 1/4] update frontend --- src/lib/helper/caseNumberOccupied.js | 2 +- .../(angemeldet)/list/[vorgang]/+page.svelte | 269 ++++++++++-------- .../view/[vorgang]/[tatort]/+page.svelte | 14 + 3 files changed, 163 insertions(+), 122 deletions(-) diff --git a/src/lib/helper/caseNumberOccupied.js b/src/lib/helper/caseNumberOccupied.js index 50062e8..a5f3934 100644 --- a/src/lib/helper/caseNumberOccupied.js +++ b/src/lib/helper/caseNumberOccupied.js @@ -3,7 +3,7 @@ import { client } from '$lib/minio'; /** * Check if caseNumber is used * @param {string} caseNumber - * @returns {Promise} */ export default async function caseNumberOccupied(caseNumber) { const prefix = `${caseNumber}/config.json`; diff --git a/src/routes/(angemeldet)/list/[vorgang]/+page.svelte b/src/routes/(angemeldet)/list/[vorgang]/+page.svelte index 20008e9..51df692 100644 --- a/src/routes/(angemeldet)/list/[vorgang]/+page.svelte +++ b/src/routes/(angemeldet)/list/[vorgang]/+page.svelte @@ -1,9 +1,3 @@ - -
@@ -191,94 +187,120 @@ />
- { - defocus_element(i); - }} - on:keydown|stopPropagation={ - // event needed to identify ID - // TO-DO: check if event is needed or if index is sufficient - async (ev) => {handle_input(ev, i)} - } - - >{item.name} - + {#if data.user.admin} + - {#if item.show_button} - + { + handle_input(ev, i); + }} + disabled={item.show_button} + bind:value={item.name} + id="label__{item.name}" + /> + + + {#if item.show_button} + + {/if} + + {:else} + {item.name} {/if} -

{shortenFileSize(item.size)}

@@ -298,7 +320,7 @@
-Umbenennen {#if inProgress}

Vorgang läuft...

@@ -309,5 +331,10 @@
-
+ + diff --git a/src/routes/(angemeldet)/view/[vorgang]/[tatort]/+page.svelte b/src/routes/(angemeldet)/view/[vorgang]/[tatort]/+page.svelte index 64f4459..3ccbbd1 100644 --- a/src/routes/(angemeldet)/view/[vorgang]/[tatort]/+page.svelte +++ b/src/routes/(angemeldet)/view/[vorgang]/[tatort]/+page.svelte @@ -89,7 +89,10 @@
+ + + +
AR-Prompt
+ +
+ +
diff --git a/src/routes/(angemeldet)/+page.svelte b/src/routes/(angemeldet)/+page.svelte index 7693617..b9a4519 100644 --- a/src/routes/(angemeldet)/+page.svelte +++ b/src/routes/(angemeldet)/+page.svelte @@ -1,10 +1,11 @@ - -
- - - +
Liste @@ -72,20 +60,7 @@
- +
Hinzufügen @@ -98,20 +73,7 @@
- - - +
Ansicht @@ -121,3 +83,6 @@
+ + diff --git a/src/routes/(angemeldet)/list/+page.svelte b/src/routes/(angemeldet)/list/+page.svelte index 3f56b0b..a6dec78 100644 --- a/src/routes/(angemeldet)/list/+page.svelte +++ b/src/routes/(angemeldet)/list/+page.svelte @@ -1,12 +1,8 @@ - - @@ -80,32 +74,19 @@
  • - - - + +
    {item.name} + style="padding: 2px" + id="del__{item.name}" + on:click|preventDefault={delete_item} + aria-label="Vorgang {item.name} löschen" + > + +
    + + diff --git a/src/routes/(angemeldet)/list/[vorgang]/+page.svelte b/src/routes/(angemeldet)/list/[vorgang]/+page.svelte index 51df692..0d3ef3a 100644 --- a/src/routes/(angemeldet)/list/[vorgang]/+page.svelte +++ b/src/routes/(angemeldet)/list/[vorgang]/+page.svelte @@ -11,6 +11,9 @@ import ModalTitle from '$lib/components/ui/Modal/ModalTitle.svelte'; import ModalContent from '$lib/components/ui/Modal/ModalContent.svelte'; import ModalFooter from '$lib/components/ui/Modal/ModalFooter.svelte'; + import Cube from '$lib/icons/Cube.svelte'; + import Edit from '$lib/icons/Edit.svelte'; + import Trash from '$lib/icons/Trash.svelte'; /** @type {import('./$types').PageData} */ export let data; @@ -167,154 +170,129 @@
    diff --git a/src/routes/(angemeldet)/upload/+page.svelte b/src/routes/(angemeldet)/upload/+page.svelte index 2ffab96..e0d05e3 100644 --- a/src/routes/(angemeldet)/upload/+page.svelte +++ b/src/routes/(angemeldet)/upload/+page.svelte @@ -8,6 +8,7 @@ import ModalFooter from '$lib/components/ui/Modal/ModalFooter.svelte'; import shortenFileSize from '$lib/helper/shortenFileSize.js'; import Exclamation from '$lib/icons/Exclamation.svelte'; + import FileRect from '$lib/icons/File-rect.svelte'; export let form; @@ -15,7 +16,9 @@ let inProgress = false; let vorgang = ''; const code_len = 8; - let zugangscode = Math.random().toString(36).slice(2, 2+code_len); + let zugangscode = Math.random() + .toString(36) + .slice(2, 2 + code_len); let case_existing = undefined; let name = ''; /** @type {?string}*/ @@ -32,7 +35,7 @@ let data = new FormData(); data.append('vorgang', vorgang); data.append('name', name); - data.append('zugangscode', zugangscode) + data.append('zugangscode', zugangscode); const response = await fetch('?/validate', { method: 'POST', body: data }); /** @type {import('@sveltejs/kit').ActionResult} */ const result = deserialize(await response.text()); @@ -111,54 +114,51 @@ function swap_endian(val) { // from https://www.geeksforgeeks.org/bit-manipulation-swap-endianness-of-a-number/ - let leftmost_byte = (val & eval(0x000000FF)) >> 0; - let left_middle_byte = (val & eval(0x0000FF00)) >> 8; - let right_middle_byte = (val & eval(0x00FF0000)) >> 16; - let rightmost_byte = (val & eval(0xFF000000)) >> 24; + let leftmost_byte = (val & eval(0x000000ff)) >> 0; + let left_middle_byte = (val & eval(0x0000ff00)) >> 8; + let right_middle_byte = (val & eval(0x00ff0000)) >> 16; + let rightmost_byte = (val & eval(0xff000000)) >> 24; leftmost_byte <<= 24; left_middle_byte <<= 16; right_middle_byte <<= 8; rightmost_byte <<= 0; - let res = (leftmost_byte | left_middle_byte | right_middle_byte | rightmost_byte) + let res = leftmost_byte | left_middle_byte | right_middle_byte | rightmost_byte; - return res + return res; } - async function check_valid_glb_file() { // GLD Header, magic value 0x46546C67, identifies data as binary glTF, 4 bytes // little endian! - const GLD_MAGIC = 0x46546C67; + const GLD_MAGIC = 0x46546c67; // big endian! let file = files[0]; - let file_header = file.slice(0, 4) - let header_bytes = await file_header.bytes() + let file_header = file.slice(0, 4); + let header_bytes = await file_header.bytes(); let file_header_hex = '0x' + header_bytes.toHex().toString(); - if (GLD_MAGIC == swap_endian(file_header_hex)) { return true; } else { return false; } - } // return true or false async function case_exists(case_no) { - console.log('--- fired') + console.log('--- fired'); // ping `/(angemeldet)/view` with caseNumber in POST body - let url = '/view' + let url = '/view'; let data = new FormData(); data.append('caseNumber', case_no); - const response = await fetch(url, { method: 'POST', body: data }) + const response = await fetch(url, { method: 'POST', body: data }); const code = response.status; - console.log(`+++ ${response.redirected}`) + console.log(`+++ ${response.redirected}`); if (code == 303) { return true; @@ -166,7 +166,6 @@ return false; } -
    @@ -275,18 +274,7 @@ class="mt-2 flex justify-center rounded-lg border border-dashed border-gray-900/25 px-6 py-10" >
    - +