Merge pull request 'development' (#43) from development into main

Reviewed-on: #43
This commit was merged in pull request #43.
This commit is contained in:
2025-12-10 10:28:32 +01:00
4 changed files with 72 additions and 45 deletions

View File

@@ -1,17 +1,22 @@
{ {
"minio": { "minio": {
"endPoint": "sws3.innovation-hub-niedersachsen.de", "endPoint": "api-s3.innovation-hub-niedersachsen.de",
"port": 443, "port": 443,
"useSSL": true, "accessKey": "AbCdEfGhIjKlMnOpQrSt",
"accessKey": "wjpKrmaqXra99rX3D61H", "secretKey": "UvWxYz1234567890AbCdEfGhIjKlMnOpQrStUvWx"
"secretKey": "fTPi0u0FR6Lv9Y9IKydWv6WM0EA5XrsK008HCt9u" },
}, "jwt": {
"jwt": { "secret": "@S2!q@@wXz$dCQ8JoVsHLpzaJ6JCfB",
"secret": "@S2!q@@wXz$dCQ8JoVsHLpzaJ6JCfB", "expiresIn": 3600
"expiresIn": 3600 },
}, "auth": {
"auth": { "admin": {
"admin": { "password": "A-InnoHUB_2025!", "admin": true }, "password": "A-InnoHUB_2025!",
"user": { "password": "U-InnoHUB_2025!", "admin": false } "admin": true
} },
"user": {
"password": "U-InnoHUB_2025!",
"admin": false
}
}
} }

View File

@@ -1,17 +1,22 @@
{ {
"minio": { "minio": {
"endPoint": "sws3.innovation-hub-niedersachsen.de", "endPoint": "api-s3.innovation-hub-niedersachsen.de",
"port": 443, "port": 443,
"useSSL": true, "accessKey": "AbCdEfGhIjKlMnOpQrSt",
"accessKey": "wjpKrmaqXra99rX3D61H", "secretKey": "UvWxYz1234567890AbCdEfGhIjKlMnOpQrStUvWx"
"secretKey": "fTPi0u0FR6Lv9Y9IKydWv6WM0EA5XrsK008HCt9u" },
}, "jwt": {
"jwt": { "secret": "@S2!q@@wXz$dCQ8JoVsHLpzaJ6JCfB",
"secret": "@S2!q@@wXz$dCQ8JoVsHLpzaJ6JCfB", "expiresIn": 3600
"expiresIn": 3600 },
}, "auth": {
"auth": { "admin": {
"admin": { "password": "A-InnoHUB_2025!", "admin": true }, "password": "A-InnoHUB_2025!",
"user": { "password": "U-InnoHUB_2025!", "admin": false } "admin": true
} },
"user": {
"password": "U-InnoHUB_2025!",
"admin": false
}
}
} }

14
package-lock.json generated
View File

@@ -1461,9 +1461,9 @@
} }
}, },
"node_modules/@sveltejs/kit": { "node_modules/@sveltejs/kit": {
"version": "2.49.0", "version": "2.49.2",
"resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.49.0.tgz", "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.49.2.tgz",
"integrity": "sha512-oH8tXw7EZnie8FdOWYrF7Yn4IKrqTFHhXvl8YxXxbKwTMcD/5NNCryUSEXRk2ZR4ojnub0P8rNrsVGHXWqIDtA==", "integrity": "sha512-Vp3zX/qlwerQmHMP6x0Ry1oY7eKKRcOWGc2P59srOp4zcqyn+etJyQpELgOi4+ZSUgteX8Y387NuwruLgGXLUQ==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@standard-schema/spec": "^1.0.0", "@standard-schema/spec": "^1.0.0",
@@ -4534,12 +4534,12 @@
} }
}, },
"node_modules/jws": { "node_modules/jws": {
"version": "3.2.2", "version": "3.2.3",
"resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.3.tgz",
"integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", "integrity": "sha512-byiJ0FLRdLdSVSReO/U4E7RoEyOCKnEnEPMjq3HxWtvzLsV08/i5RQKsFVNkCldrCaPr2vDNAOMsfs8T/Hze7g==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"jwa": "^1.4.1", "jwa": "^1.4.2",
"safe-buffer": "^5.0.1" "safe-buffer": "^5.0.1"
} }
}, },

View File

@@ -1,4 +1,5 @@
<script lang="ts"> <script lang="ts">
import { fade } from 'svelte/transition';
import shortenFileSize from '$lib/helper/shortenFileSize'; import shortenFileSize from '$lib/helper/shortenFileSize';
import timeElapsed from '$lib/helper/timeElapsed'; import timeElapsed from '$lib/helper/timeElapsed';
import { deserialize } from '$app/forms'; import { deserialize } from '$app/forms';
@@ -45,6 +46,9 @@
// Model Variablen für Upload // Model Variablen für Upload
let openUL = $state(false); let openUL = $state(false);
let inProgressUL = $state(form === null); let inProgressUL = $state(form === null);
// Variablen für Copy-Funktion
let copied = $state(false);
async function buttonClick(event: MouseEvent) { async function buttonClick(event: MouseEvent) {
if (!(await validateForm())) { if (!(await validateForm())) {
@@ -248,9 +252,8 @@
} }
} }
function constructMailToLink() { async function copyAndOpenMail() {
const subject = 'Link zum Tatvorgang'; const subject = 'Link zum Tatvorgang';
const link = data.url.origin + data.url.pathname; const link = data.url.origin + data.url.pathname;
const body = `Hallo, const body = `Hallo,
@@ -262,10 +265,23 @@ Der Zugangs-PIN wird zur Sicherheit über einen zweiten Kommunikationskanal übe
Mit freundlichen Grüßen, Mit freundlichen Grüßen,
`; `;
const mailtoLink = `mailto:?subject=${encodeURIComponent(subject)}&body=${encodeURIComponent(body)}`; try {
await navigator.clipboard.writeText(body);
copied = true;
return mailtoLink; // Kurz warten, dann Mail öffnen
} setTimeout(() => {
const mailtoLink = `mailto:?subject=${encodeURIComponent(subject)}`;
window.location.href = mailtoLink;
}, 1000);
setTimeout(() => copied = false, 2000);
} catch (err) {
console.error('Clipboard-Fehler:', err);
error = 'Konnte Text nicht kopieren. Bitte manuell markieren und kopieren.';
}
}
function closeModal() { function closeModal() {
open = false; open = false;
@@ -288,9 +304,10 @@ Mit freundlichen Grüßen,
onDelete={null} onDelete={null}
/> />
</div> </div>
<a class="pt-2 pb-6" href={constructMailToLink()} <Button variant="secondary" on:click={copyAndOpenMail} disabled={isEmptyList}>Link kopieren und Mail verfassen</Button>
><Button disabled={isEmptyList}>Share Link</Button></a {#if copied}
> <p transition:fade>✔ Kopiert! Per Ctrl+V einfügen.</p>
{/if}
{/if} {/if}
</div> </div>
<div class="mx-auto flex justify-center max-w-7xl h-full"> <div class="mx-auto flex justify-center max-w-7xl h-full">