diff --git a/src/hooks.server.ts b/src/hooks.server.ts index c97f325..9797728 100644 --- a/src/hooks.server.ts +++ b/src/hooks.server.ts @@ -6,13 +6,15 @@ export const handle: Handle = async ({ event, resolve }) => { const pathname = event.url.pathname + const allowedPath = ['/login', '/signup', '/api/login', '/api/signup'] + if (pathname === '/login' || pathname === 'signup') { if (event.locals.user) { throw redirect(303, '/') } } - if (pathname !== '/login' && pathname !== '/signup') { + if (!allowedPath.includes(pathname)) { if (!event.locals.user) { throw redirect(303, '/login') } diff --git a/src/routes/(auth)/login/+page.svelte b/src/routes/(auth)/login/+page.svelte index 4d2ca85..30c26c7 100644 --- a/src/routes/(auth)/login/+page.svelte +++ b/src/routes/(auth)/login/+page.svelte @@ -2,8 +2,19 @@ import type { PageData } from './$types' import ThemeToggle from '$lib/components/theme-toggle.svelte' import UserAuthForm from './(components)/user-auth-form.svelte' + import { Button } from '$lib/components/ui/button' + import { goto } from '$app/navigation' export let data: PageData + + const guestLogin = async () => { + const response = await fetch('/api/login', { method: 'post' }) + + const data = await response.json() + if (data.success) { + goto('/') + } + }