diff --git a/package-lock.json b/package-lock.json index c3e8588..ce0e8d6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,6 +13,7 @@ "@tailwindcss/forms": "^0.5.10", "autoprefixer": "^10.4.21", "better-sqlite3": "^12.2.0", + "fix": "^0.0.6", "jsonwebtoken": "^9.0.2", "jssha": "^3.3.1", "minio": "^8.0.5", @@ -1479,6 +1480,12 @@ "win32" ] }, + "node_modules/@standard-schema/spec": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.0.0.tgz", + "integrity": "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==", + "license": "MIT" + }, "node_modules/@sveltejs/acorn-typescript": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@sveltejs/acorn-typescript/-/acorn-typescript-1.0.5.tgz", @@ -1502,9 +1509,9 @@ } }, "node_modules/@sveltejs/adapter-node": { - "version": "5.2.13", - "resolved": "https://registry.npmjs.org/@sveltejs/adapter-node/-/adapter-node-5.2.13.tgz", - "integrity": "sha512-yS2TVFmIrxjGhYaV5/iIUrJ3mJl6zjaYn0lBD70vTLnYvJeqf3cjvLXeXCUCuYinhSBoyF4DpfGla49BnIy7sQ==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-node/-/adapter-node-5.3.1.tgz", + "integrity": "sha512-PSoGfa9atkmuixe7jvuS2tsUohVZF20So87ASzfMRGTTNqEd8s48KAodlv3CzHwq9XO/BM8KsQLpqqsr/6dmuA==", "license": "MIT", "dependencies": { "@rollup/plugin-commonjs": "^28.0.1", @@ -1517,16 +1524,17 @@ } }, "node_modules/@sveltejs/kit": { - "version": "2.26.0", - "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.26.0.tgz", - "integrity": "sha512-TUxMYoK6Yim4uRIW0L7TXtlEtyLchy90PmInI7d1lPAPMchkBEvN3nVMkn5iTMUobxdLE5nR/YEU/4aYqezMuQ==", + "version": "2.37.0", + "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.37.0.tgz", + "integrity": "sha512-xgKtpjQ6Ry4mdShd01ht5AODUsW7+K1iValPDq7QX8zI1hWOKREH9GjG8SRCN5tC4K7UXmMhuQam7gbLByVcnw==", "license": "MIT", "dependencies": { + "@standard-schema/spec": "^1.0.0", "@sveltejs/acorn-typescript": "^1.0.5", "@types/cookie": "^0.6.0", "acorn": "^8.14.1", "cookie": "^0.6.0", - "devalue": "^5.1.0", + "devalue": "^5.3.2", "esm-env": "^1.2.2", "kleur": "^4.1.5", "magic-string": "^0.30.5", @@ -1542,9 +1550,15 @@ "node": ">=18.13" }, "peerDependencies": { + "@opentelemetry/api": "^1.0.0", "@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1 || ^5.0.0 || ^6.0.0-next.0", "svelte": "^4.0.0 || ^5.0.0-next.0", "vite": "^5.0.3 || ^6.0.0 || ^7.0.0-beta.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + } } }, "node_modules/@sveltejs/vite-plugin-svelte": { @@ -3116,9 +3130,9 @@ } }, "node_modules/devalue": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.1.1.tgz", - "integrity": "sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.3.2.tgz", + "integrity": "sha512-UDsjUbpQn9kvm68slnrs+mfxwFkIflOhkanmyabZ8zOYk8SMEIbJ3TK+88g70hSIeytu4y18f0z/hYHMTrXIWw==", "license": "MIT" }, "node_modules/didyoumean": { @@ -3745,6 +3759,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/fix": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/fix/-/fix-0.0.6.tgz", + "integrity": "sha512-UQ+8m0GnIakgpY+92a9y+pYoX3Y6eaW7WNTkPolQ7r58Fjzq7NhyRLMrZ6J6U1u4y7H7APugjRmZ+i6CAn4+Dg==", + "dependencies": { + "pipe": "0.0.2", + "underscore": "1.1.6", + "underscore.string": "1.1.4" + }, + "engines": { + "node": ">=0.4.8" + } + }, "node_modules/flat-cache": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", @@ -5602,6 +5629,14 @@ "node": ">=0.10.0" } }, + "node_modules/pipe": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/pipe/-/pipe-0.0.2.tgz", + "integrity": "sha512-67s0/X7rv2PX1sl64FQqC0qQuSpd1tv8Wh6c+U1lprj6Q7NxDYulCxZTbVbDvc/HSpZLYh7Oo821xReXSCZikQ==", + "engines": { + "node": ">=0.4.8" + } + }, "node_modules/pirates": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", @@ -7407,6 +7442,25 @@ "typescript": ">=4.8.4 <5.9.0" } }, + "node_modules/underscore": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.1.6.tgz", + "integrity": "sha512-aqSzrO92Cjmeo8G7F49+ZHWBo3IJpjpsUZZaqfOHJGN61flbpLxQw/sP91p4kf/2+nkFrG6AG2WHlJh6RCf+/g==", + "engines": { + "node": "*" + } + }, + "node_modules/underscore.string": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-1.1.4.tgz", + "integrity": "sha512-WsF8NWzIbTvxUaSOpSLq+AiO0tzweXdWQZ4w9Op8S/1BT9Fh7hCS7bfrF17vZu9kJg3pcqO+8WXfQSr1ah0f2g==", + "dependencies": { + "underscore": "1.1.6" + }, + "engines": { + "node": "*" + } + }, "node_modules/undici-types": { "version": "7.8.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz", diff --git a/package.json b/package.json index 9d7f33c..da4fa52 100644 --- a/package.json +++ b/package.json @@ -48,6 +48,7 @@ "@tailwindcss/forms": "^0.5.10", "autoprefixer": "^10.4.21", "better-sqlite3": "^12.2.0", + "fix": "^0.0.6", "jsonwebtoken": "^9.0.2", "jssha": "^3.3.1", "minio": "^8.0.5", diff --git a/src/lib/data/tatort.db b/src/lib/data/tatort.db index 645ecce..12a244d 100644 Binary files a/src/lib/data/tatort.db and b/src/lib/data/tatort.db differ diff --git a/src/routes/(angemeldet)/+page.svelte b/src/routes/(angemeldet)/+page.svelte index 6287a40..b4dd716 100644 --- a/src/routes/(angemeldet)/+page.svelte +++ b/src/routes/(angemeldet)/+page.svelte @@ -1,11 +1,8 @@
- Liste + Vorgänge@@ -46,4 +43,4 @@ \ No newline at end of file + diff --git a/src/routes/(token-based)/list/[vorgang]/+page.svelte b/src/routes/(token-based)/list/[vorgang]/+page.svelte index 7929370..d81565f 100644 --- a/src/routes/(token-based)/list/[vorgang]/+page.svelte +++ b/src/routes/(token-based)/list/[vorgang]/+page.svelte @@ -9,7 +9,7 @@ import ModalContent from '$lib/components/Modal/ModalContent.svelte'; import ModalFooter from '$lib/components/Modal/ModalFooter.svelte'; import Cube from '$lib/icons/Cube.svelte'; - import { invalidate, invalidateAll } from '$app/navigation'; + import { invalidateAll } from '$app/navigation'; import NameItemEditor from '$lib/components/NameItemEditor.svelte'; //Seite für die Tatort-Liste @@ -35,9 +35,9 @@ let open = $state(false); let inProgress = $state(false); let isError = $state(false); - //Variable um nur admin UI anzuzeigen let admin = data?.user?.admin; + let emptyList = $derived(!data.crimesList || data.crimesList.length === 0); async function handleSave(newName: string, oldName: string) { open = true; @@ -60,6 +60,7 @@ }); if (!res.ok) { + //?? welches Ergebnis bekomme ich bei res, wie ändern, damit es wieder passt. const msg = await res.text(); console.error('❌ Fehler beim Umbenennen:', msg); isError = true; @@ -147,56 +148,62 @@ {#if admin} Zugangs-PIN: {vorgangPIN} - + {/if}
- {shortenFileSize(item.size)} + {#if emptyList} +
Keine Einträge vorhanden.
+ {:else} ++ {shortenFileSize(item.size)} +
+ {/if} +3D Tatort
+ {#if item.lastModified} ++ Zuletzt geändert
{/if}3D Tatort
- {#if item.lastModified} -- Zuletzt geändert -
- {/if} -