diff --git a/src/lib/server/authService.ts b/src/lib/server/authService.ts index c4e2e4e..124fcad 100644 --- a/src/lib/server/authService.ts +++ b/src/lib/server/authService.ts @@ -26,5 +26,5 @@ export const loginUser = async ({ request, cookies }: { request: Request; cookie export const logoutUser = async (event: RequestEvent) => { event.cookies.delete(COOKIE_NAME, { path: ROUTE_NAMES.ROOT }); event.locals.user = null; - return { success: true }; + return redirect(303, ROUTE_NAMES.ROOT); }; diff --git a/src/routes/(angemeldet)/+layout.server.ts b/src/routes/(angemeldet)/+layout.server.ts index cdde090..2976237 100644 --- a/src/routes/(angemeldet)/+layout.server.ts +++ b/src/routes/(angemeldet)/+layout.server.ts @@ -4,9 +4,9 @@ import type { PageServerLoad } from '../anmeldung/$types'; import { ROUTE_NAMES } from '..'; export const load: PageServerLoad = (event: ServerLoadEvent) => { - if (!event.locals.user && event.url.pathname !== ROUTE_NAMES.ANMELDUNG) - throw redirect(303, ROUTE_NAMES.ANMELDUNG); - return { - user: event.locals.user - }; + if (event.locals.user) { + return { + user: event.locals.user + }; + } }; diff --git a/src/routes/(angemeldet)/+layout.svelte b/src/routes/(angemeldet)/+layout.svelte index a3a4cd5..13b94eb 100644 --- a/src/routes/(angemeldet)/+layout.svelte +++ b/src/routes/(angemeldet)/+layout.svelte @@ -5,6 +5,8 @@ export let data; +{#if data.user?.admin} +
@@ -16,3 +18,10 @@
+ +{:else} + +
+ + +{/if} \ No newline at end of file diff --git a/src/routes/(angemeldet)/+page.server.ts b/src/routes/(angemeldet)/+page.server.ts new file mode 100644 index 0000000..bcbb46d --- /dev/null +++ b/src/routes/(angemeldet)/+page.server.ts @@ -0,0 +1,5 @@ +import { loginUser } from '$lib/server/authService'; + +export const actions = { + default: ({ request, cookies }) => loginUser({ request, cookies }), +} as const; diff --git a/src/routes/(angemeldet)/+page.svelte b/src/routes/(angemeldet)/+page.svelte index 12431c8..34a1d67 100644 --- a/src/routes/(angemeldet)/+page.svelte +++ b/src/routes/(angemeldet)/+page.svelte @@ -2,18 +2,21 @@ import AddProcess from '$lib/icons/Add-Process.svelte'; import FileRect from '$lib/icons/File-rect.svelte'; import ListIcon from '$lib/icons/List-icon.svelte'; + import Button from '$lib/components/Button.svelte'; + import ArrowRight from '$lib/icons/Arrow-right.svelte'; import { ROUTE_NAMES } from '../index.js'; export let data; + export let form; export let outline = true; +{#if data.user?.admin}
- {#if data.user.admin}
- {/if} - {#if data.user.admin}

Fügen Sie einem Tatort Bilder hinzu.

- {/if}
+{:else} + +
+
+ Landeswappen Niedersachsen + +

+ Willkommen beim 3D Tatort +

+
+
+
+
+ +
+
+ +
+ +
+
+ +
+ +
+ +
+
+ {#if form?.incorrect} + Wrong credentials + {/if} +
+ +
+
+
+
+
+
+ +{/if} + + diff --git a/tests/views/Layout.test.ts b/tests/views/Layout.test.ts index 0f329ef..2dbc1f6 100644 --- a/tests/views/Layout.test.ts +++ b/tests/views/Layout.test.ts @@ -11,13 +11,8 @@ describe('+layout.server load(): Teste korrekte URL', () => { }, url: new URL(`https://example.com/not-anmeldung`) }; - try { - load(mockEvent); - throw new Error('Expected load() to throw'); - } catch (err) { - expect(err.status).toBe(303); - expect(err.location).toBe(ROUTE_NAMES.ANMELDUNG); - } + const res = load(mockEvent); + expect(res).toBe(undefined); }); });