diff --git a/config.json b/config.json index 970af4c..8490de6 100644 --- a/config.json +++ b/config.json @@ -8,7 +8,7 @@ }, "jwt": { "secret": "@S2!q@@wXz$dCQ8JoVsHLpzaJ6JCfB", - "expiresIn": 3600 + "expiresIn": 36000 }, "auth": { "admin": { "password": "A-InnoHUB_2025!", "admin": true }, diff --git a/src/error.html b/src/error.html new file mode 100644 index 0000000..73d0c64 --- /dev/null +++ b/src/error.html @@ -0,0 +1,4 @@ +

Du wurdest automatisch ausgeloggt

+

Lösche deine Cookies aus dem Browser und logge dich neu ein

+

Code %sveltekit.status%

+

%sveltekit.error.message%

diff --git a/src/hooks.server.js b/src/hooks.server.js index 19b1bcc..5ef1fb4 100644 --- a/src/hooks.server.js +++ b/src/hooks.server.js @@ -12,5 +12,5 @@ export async function handle({ event, resolve }) { await event.cookies.delete('session'); event.locals.user = null; } - return resolve(event); + return await resolve(event); } diff --git a/src/lib/icons/Add-Process.svelte b/src/lib/icons/Add-Process.svelte new file mode 100644 index 0000000..4a5cebc --- /dev/null +++ b/src/lib/icons/Add-Process.svelte @@ -0,0 +1,19 @@ + + + diff --git a/src/lib/icons/Cube.svelte b/src/lib/icons/Cube.svelte new file mode 100644 index 0000000..4992960 --- /dev/null +++ b/src/lib/icons/Cube.svelte @@ -0,0 +1,14 @@ + + + diff --git a/src/lib/icons/Edit.svelte b/src/lib/icons/Edit.svelte new file mode 100644 index 0000000..10f6ddc --- /dev/null +++ b/src/lib/icons/Edit.svelte @@ -0,0 +1,7 @@ + diff --git a/src/lib/icons/File-rect.svelte b/src/lib/icons/File-rect.svelte new file mode 100644 index 0000000..f31a268 --- /dev/null +++ b/src/lib/icons/File-rect.svelte @@ -0,0 +1,35 @@ + + +{#if outline} + + + +{:else} + +{/if} diff --git a/src/lib/icons/Folder.svelte b/src/lib/icons/Folder.svelte new file mode 100644 index 0000000..6d20ec4 --- /dev/null +++ b/src/lib/icons/Folder.svelte @@ -0,0 +1,14 @@ + + + diff --git a/src/lib/icons/List-icon.svelte b/src/lib/icons/List-icon.svelte new file mode 100644 index 0000000..c851e89 --- /dev/null +++ b/src/lib/icons/List-icon.svelte @@ -0,0 +1,19 @@ + + + + + diff --git a/src/lib/icons/Profile.svelte b/src/lib/icons/Profile.svelte new file mode 100644 index 0000000..b3b6762 --- /dev/null +++ b/src/lib/icons/Profile.svelte @@ -0,0 +1,14 @@ + + + diff --git a/src/routes/(angemeldet)/+layout.svelte b/src/routes/(angemeldet)/+layout.svelte index a2c875c..c42aa61 100644 --- a/src/routes/(angemeldet)/+layout.svelte +++ b/src/routes/(angemeldet)/+layout.svelte @@ -1,6 +1,7 @@ @@ -59,20 +60,9 @@ href="/" class="px-4 py-1 -mr-4 flex items-center justify-center gap-x-2.5 text-sm font-semibold leading-6 text-gray-500 hover:bg-gray-200 hover:text-gray-700" > - - - + + + {data.user.id} 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" >
    - +