diff --git a/src/components/Login.svelte b/src/components/Login.svelte index 3a86569..70c72e3 100644 --- a/src/components/Login.svelte +++ b/src/components/Login.svelte @@ -31,8 +31,7 @@ let error: string = $state(""); async function login() { - let {tokenStore} = await import("./repo/repo.ts"); - let {authRepo} = await import("./repo/auth.ts"); + let {authV2Repo} = await import("./repo/authv2.ts"); if (username === "" || pw === "") { pw = ""; error = t("login.error"); @@ -40,15 +39,14 @@ } try { - let auth = await get(authRepo).login(username, pw); - if (auth == undefined) { + let auth = await get(authV2Repo).login(username, pw); + if (!auth) { pw = ""; error = t("login.error"); return; } - tokenStore.set(auth); - navigate(l("/dashboard")); + await navigate(l("/dashboard")); } catch (e: any) { pw = ""; error = t("login.error"); diff --git a/src/components/Navbar.svelte b/src/components/Navbar.svelte index 3e0194c..6cc047a 100644 --- a/src/components/Navbar.svelte +++ b/src/components/Navbar.svelte @@ -23,24 +23,35 @@ import {t} from "astro-i18n"; import {l} from "../util/util"; import {onMount} from "svelte"; + import {loggedIn} from "@repo/authv2.ts"; interface Props { logo?: import('svelte').Snippet; } let { logo }: Props = $props(); - let navbar: HTMLDivElement = $state(); + let navbar = $state(); let searchOpen = $state(false); + let accountBtn = $state(); + + $effect(() => { + if ($loggedIn) { + accountBtn!.href = l("/dashboard"); + } else { + accountBtn!.href = l("/login"); + } + }) + onMount(() => { handleScroll(); }) function handleScroll() { if (window.scrollY > 0) { - navbar.classList.add("before:scale-y-100"); + navbar!.classList.add("before:scale-y-100"); } else { - navbar.classList.remove("before:scale-y-100"); + navbar!.classList.remove("before:scale-y-100"); } } @@ -106,7 +117,7 @@ --> - + {t("navbar.links.account")}