From efc288bc73f5a966467a6cf08a10966caff04f57 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Fri, 13 Dec 2024 11:48:24 -0800 Subject: fix email verification --- src/components/AppHeader.svelte | 4 +-- src/routes/(app)/email/+server.ts | 7 +++++ src/routes/(app)/settings/+layout.svelte | 9 ++---- src/routes/(app)/settings/account/+page.svelte | 40 +++++++++++++++----------- 4 files changed, 35 insertions(+), 25 deletions(-) create mode 100644 src/routes/(app)/email/+server.ts (limited to 'src') diff --git a/src/components/AppHeader.svelte b/src/components/AppHeader.svelte index 39f97d4e..9868cd9b 100644 --- a/src/components/AppHeader.svelte +++ b/src/components/AppHeader.svelte @@ -23,7 +23,7 @@ : undefined, ); - const links = [ + const links = $derived([ { href: `/${user?.username}`, icon: "ph:house-bold", @@ -45,7 +45,7 @@ icon: "ph:paper-plane-right-bold", label: "Send", }, - ]; + ]); let opacity = $derived((href) => $page.url.pathname === href diff --git a/src/routes/(app)/email/+server.ts b/src/routes/(app)/email/+server.ts new file mode 100644 index 00000000..eb98a401 --- /dev/null +++ b/src/routes/(app)/email/+server.ts @@ -0,0 +1,7 @@ +import { auth, post } from "$lib/utils"; +import { json } from "@sveltejs/kit"; + +export async function POST({ cookies, request }) { + const result = await post("/request", await request.json(), auth(cookies)); + return json(result); +} diff --git a/src/routes/(app)/settings/+layout.svelte b/src/routes/(app)/settings/+layout.svelte index e366c05a..119a5163 100644 --- a/src/routes/(app)/settings/+layout.svelte +++ b/src/routes/(app)/settings/+layout.svelte @@ -124,7 +124,8 @@ } } - if (user.email !== prev.email) { + let email = data.get("email"); + if (email !== prev.email) { try { cookies.get = function (n) { return this.find((c) => c.name === n).value; @@ -132,11 +133,7 @@ user.verified = false; - await post( - "/api/request", - { id: user.id, email: user.email }, - auth(cookies), - ); + await post("/email", { id: user.id, email }); warning($t("user.settings.verifying"), false); } catch (e) { diff --git a/src/routes/(app)/settings/account/+page.svelte b/src/routes/(app)/settings/account/+page.svelte index dc54c52e..de88b5c6 100644 --- a/src/routes/(app)/settings/account/+page.svelte +++ b/src/routes/(app)/settings/account/+page.svelte @@ -1,12 +1,14 @@
@@ -58,7 +64,7 @@ >{$t("user.settings.username")}
- +
@@ -66,7 +72,7 @@ - +
@@ -78,11 +84,11 @@
-- cgit v1.2.3