From 35f15ebc061076709293bbe4e3e2ace78ac79445 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Tue, 3 Mar 2026 13:37:47 -0800 Subject: static landing page with single Start Now button Prerender the landing page, replace conditional auth header buttons with a single "Start Now" that checks the username cookie client-side. Set username cookie httpOnly: false in all login/register flows. Co-Authored-By: Claude Opus 4.6 --- src/routes/(app)/admin/+layout.svelte | 3 +-- src/routes/(static)/+layout.svelte | 3 +-- src/routes/(static)/login/+page.server.ts | 6 +++--- src/routes/(static)/register/auth/+page.server.ts | 2 +- src/routes/+page.svelte | 4 ++-- src/routes/+page.ts | 1 + 6 files changed, 9 insertions(+), 10 deletions(-) create mode 100644 src/routes/+page.ts (limited to 'src/routes') diff --git a/src/routes/(app)/admin/+layout.svelte b/src/routes/(app)/admin/+layout.svelte index 28e8b7d0..3e1f6585 100644 --- a/src/routes/(app)/admin/+layout.svelte +++ b/src/routes/(app)/admin/+layout.svelte @@ -1,10 +1,9 @@ - +
{@render children?.()}
diff --git a/src/routes/(static)/+layout.svelte b/src/routes/(static)/+layout.svelte index b204cd0e..f44bfcda 100644 --- a/src/routes/(static)/+layout.svelte +++ b/src/routes/(static)/+layout.svelte @@ -7,7 +7,6 @@ import { page } from "$app/stores"; let { data, children } = $props(); - let user = $derived(data.user); let theme = $state(); $effect(() => { theme = $themeStore; @@ -17,7 +16,7 @@ - +
{@render children?.()} diff --git a/src/routes/(static)/login/+page.server.ts b/src/routes/(static)/login/+page.server.ts index 0c493422..480116b5 100644 --- a/src/routes/(static)/login/+page.server.ts +++ b/src/routes/(static)/login/+page.server.ts @@ -88,7 +88,7 @@ export const actions = { const opts = { path: "/", expires }; if (language) cookies.set("lang", language, opts); - cookies.set("username", uname, opts); + cookies.set("username", uname, { ...opts, httpOnly: false }); cookies.set("token", token, opts); return { @@ -137,7 +137,7 @@ export const actions = { const opts = { path: "/", expires }; if (language) cookies.set("lang", language, opts); - cookies.set("username", username, opts); + cookies.set("username", username, { ...opts, httpOnly: false }); cookies.set("token", token, opts); return { @@ -181,7 +181,7 @@ export const actions = { const opts = { path: "/", expires }; if (language) cookies.set("lang", language, opts); - cookies.set("username", username, opts); + cookies.set("username", username, { ...opts, httpOnly: false }); cookies.set("token", token, opts); return { diff --git a/src/routes/(static)/register/auth/+page.server.ts b/src/routes/(static)/register/auth/+page.server.ts index 06735396..29e9a3f8 100644 --- a/src/routes/(static)/register/auth/+page.server.ts +++ b/src/routes/(static)/register/auth/+page.server.ts @@ -88,7 +88,7 @@ export const actions = { expires.setSeconds(expires.getSeconds() + maxAge); const opts = { path: "/", expires }; - cookies.set("username", username, opts); + cookies.set("username", username, { ...opts, httpOnly: false }); cookies.set("token", token, opts); if (sk) { diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 5fa7da3b..13cbd011 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -11,7 +11,7 @@ import { t } from "$lib/translations"; let { data } = $props(); - let { faqs, locations, user } = $derived(data as any); + let { faqs, locations } = $derived(data as any); let howItWorks = $state(); let faq = $state(); @@ -28,7 +28,7 @@ - +
diff --git a/src/routes/+page.ts b/src/routes/+page.ts new file mode 100644 index 00000000..189f71e2 --- /dev/null +++ b/src/routes/+page.ts @@ -0,0 +1 @@ +export const prerender = true; -- cgit v1.2.3