diff --git a/src/lib/components/NavBar.svelte b/src/lib/components/NavBar.svelte index be618a4..98f8c70 100644 --- a/src/lib/components/NavBar.svelte +++ b/src/lib/components/NavBar.svelte @@ -2,6 +2,7 @@ import { enhance } from "$app/forms" import type { Theme, User } from "$lib" import ThemePicker from "./ThemePicker.svelte" + import { page } from '$app/stores'; let { theme, user } = $props<{ theme: Theme; user: User }>() @@ -35,7 +36,11 @@ {/each} {#if !user} - Login + {#if $page.url.pathname !== "/login" && $page.url.pathname !== "/register" && $page.url.pathname !== "/"} + Login + {:else} + Login + {/if} Register {/if} diff --git a/src/routes/(auth)/login/+page.server.ts b/src/routes/(auth)/login/+page.server.ts index 20648ce..92a55a4 100644 --- a/src/routes/(auth)/login/+page.server.ts +++ b/src/routes/(auth)/login/+page.server.ts @@ -3,10 +3,14 @@ import bcrypt from "bcrypt" import { db } from "$lib/server/database" -export const load = async ({ locals }) => { +export const load = async ({ locals, url }) => { if (locals.user) { throw redirect(302, "/") } + + let from = url.searchParams.get('from') + + return { from } } export const actions = { @@ -14,6 +18,7 @@ export const actions = { const data = await request.formData() const username = data.get("username") const password = data.get("password") + let from = data.get("from") if ( typeof username !== "string" || @@ -49,6 +54,6 @@ export const actions = { maxAge: 60 * 60 * 24 * 30, }) - throw redirect(302, "/") + throw redirect(302, from) }, } diff --git a/src/routes/(auth)/login/+page.svelte b/src/routes/(auth)/login/+page.svelte index bf32663..ec5e34b 100644 --- a/src/routes/(auth)/login/+page.svelte +++ b/src/routes/(auth)/login/+page.svelte @@ -1,7 +1,9 @@