From 710eadf5c07cc5221fad5befb65407867a2e807e Mon Sep 17 00:00:00 2001 From: Benjamin Palko Date: Fri, 13 Dec 2024 10:16:28 -0500 Subject: [PATCH] base layout and redirect on root when not logged in --- src/lib/components/Navbar.svelte | 2 +- src/routes/+layout.svelte | 10 +++++++++- src/routes/+page.server.ts | 18 ++++++++++++++++++ src/routes/+page.svelte | 11 ++++------- 4 files changed, 32 insertions(+), 9 deletions(-) create mode 100644 src/routes/+page.server.ts diff --git a/src/lib/components/Navbar.svelte b/src/lib/components/Navbar.svelte index 757b744..bb75025 100644 --- a/src/lib/components/Navbar.svelte +++ b/src/lib/components/Navbar.svelte @@ -18,7 +18,7 @@ \ No newline at end of file diff --git a/src/routes/+page.server.ts b/src/routes/+page.server.ts new file mode 100644 index 0000000..614de2d --- /dev/null +++ b/src/routes/+page.server.ts @@ -0,0 +1,18 @@ +import { prisma } from '$lib/server/prisma'; + +export async function load(event) { + const userId = event.cookies.get('user'); + if (!userId && isNaN(Number(userId))) { + return { + authenticated: false + }; + } + const user = await prisma.user.findUnique({ + where: { + id: Number(userId) + } + }); + return { + authenticated: !!user + }; +} \ No newline at end of file diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index fa25cf6..2a4c1a0 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -2,10 +2,10 @@ import { goto } from '$app/navigation'; import Loader from '$lib/components/Loader.svelte'; + let { data } = $props(); + $effect(() => { - const id = setTimeout(() => { - goto('/app'); - }, 1500); + const id = setTimeout(() => (data.authenticated ? goto('/app') : goto('/login')), 1500); return () => { clearTimeout(id); }; @@ -19,9 +19,6 @@ \ No newline at end of file