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