diff options
Diffstat (limited to 'src/routes/(static)')
| -rw-r--r-- | src/routes/(static)/login/+page.svelte | 4 | ||||
| -rw-r--r-- | src/routes/(static)/register/+page.server.ts | 12 | ||||
| -rw-r--r-- | src/routes/(static)/register/+page.svelte | 5 |
3 files changed, 16 insertions, 5 deletions
diff --git a/src/routes/(static)/login/+page.svelte b/src/routes/(static)/login/+page.svelte index e4dcbf15..e9c238c4 100644 --- a/src/routes/(static)/login/+page.svelte +++ b/src/routes/(static)/login/+page.svelte @@ -17,7 +17,7 @@ let { data, form } = $props(); - page.subscribe(async () => { + onMount(() => { if (browser) { setTimeout(() => { password.set(undefined); @@ -25,7 +25,7 @@ signer.set(undefined); localStorage.clear(); sessionStorage.clear(); - }, 500); + }, 50); } }); diff --git a/src/routes/(static)/register/+page.server.ts b/src/routes/(static)/register/+page.server.ts index 2e5c5f19..2c2807bd 100644 --- a/src/routes/(static)/register/+page.server.ts +++ b/src/routes/(static)/register/+page.server.ts @@ -22,8 +22,9 @@ export const actions = { if (loginRedirect === "undefined") loginRedirect = undefined; + let sk; try { - await post("/register", { user }, { "cf-connecting-ip": ip }); + ({ sk } = await post("/register", { user }, { "cf-connecting-ip": ip })); } catch (e) { ({ message: error } = e as Error); } @@ -36,6 +37,15 @@ export const actions = { error ||= message; } + const expires = new Date(); + expires.setSeconds(expires.getSeconds() + 21000000); + cookies.set("sk", sk, { + path: "/", + expires, + httpOnly: false, + sameSite: "lax", + }); + if (error) return fail(400, { error }); redirect(303, loginRedirect || `/${user.username}`); }, diff --git a/src/routes/(static)/register/+page.svelte b/src/routes/(static)/register/+page.svelte index 468b322a..45c7c06f 100644 --- a/src/routes/(static)/register/+page.svelte +++ b/src/routes/(static)/register/+page.svelte @@ -1,4 +1,5 @@ <script> + import { onMount } from "svelte"; import { browser } from "$app/environment"; import punks from "$lib/punks"; import { upload } from "$lib/upload"; @@ -28,7 +29,7 @@ let { form, data } = $props(); let { challenge } = $derived(data); - page.subscribe(async () => { + onMount(() => { if (browser) { setTimeout(() => { password.set(undefined); @@ -36,7 +37,7 @@ signer.set(undefined); localStorage.clear(); sessionStorage.clear(); - }, 500); + }, 50); } }); |
