From 54f6d24f819816d6d687dab7291e9db334286e52 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Wed, 6 Dec 2023 09:11:26 -0800 Subject: verify email --- .../[username]/settings/[...tab]/+page.svelte | 14 ++++++--- .../(app)/[username]/settings/[...tab]/_pos.svelte | 12 ++++++-- .../(app)/[username]/verify/[code]/+page.server.js | 13 +++++++++ .../(app)/[username]/verify/[code]/+page.svelte | 34 ++++++++++++++++++++++ 4 files changed, 67 insertions(+), 6 deletions(-) create mode 100644 src/routes/(app)/[username]/verify/[code]/+page.server.js create mode 100644 src/routes/(app)/[username]/verify/[code]/+page.svelte (limited to 'src') diff --git a/src/routes/(app)/[username]/settings/[...tab]/+page.svelte b/src/routes/(app)/[username]/settings/[...tab]/+page.svelte index b7a9ccfb..d0ee7eba 100644 --- a/src/routes/(app)/[username]/settings/[...tab]/+page.svelte +++ b/src/routes/(app)/[username]/settings/[...tab]/+page.svelte @@ -8,7 +8,7 @@ import Spinner from "$comp/Spinner.svelte"; import Pin from "$comp/Pin.svelte"; import { t } from "$lib/translations"; - import { fail, post, warning, success } from "$lib/utils"; + import { fail, post, sleep, warning, success } from "$lib/utils"; import { avatar, banner, password, pin } from "$lib/store"; import { upload } from "$lib/upload"; import { page } from "$app/stores"; @@ -128,13 +128,19 @@ await sign({ event, user }); await send(event); } catch (e) { - warning("nostr profile could not be updated"); + warning("Nostr profile could not be updated"); } } if (user.email !== prev.email) { - await post("/api/verify", { test: true }); - } + try { + await post("/api/request", user); + warning("Verification email sent"); + await sleep(4000); + } catch(e) { + console.log(e); + } + } const response = await fetch(formElement.action, { method: "POST", diff --git a/src/routes/(app)/[username]/settings/[...tab]/_pos.svelte b/src/routes/(app)/[username]/settings/[...tab]/_pos.svelte index cbf31a68..ed9f1ac4 100644 --- a/src/routes/(app)/[username]/settings/[...tab]/_pos.svelte +++ b/src/routes/(app)/[username]/settings/[...tab]/_pos.svelte @@ -33,12 +33,20 @@ -
+

{$t("user.settings.emailDescription")}

- + +
+ + {#if user.verified} + + {:else} + + {/if} +
diff --git a/src/routes/(app)/[username]/verify/[code]/+page.server.js b/src/routes/(app)/[username]/verify/[code]/+page.server.js new file mode 100644 index 00000000..b777b2b8 --- /dev/null +++ b/src/routes/(app)/[username]/verify/[code]/+page.server.js @@ -0,0 +1,13 @@ +import { get } from "$lib/utils"; +import { error } from "@sveltejs/kit"; + +export let load = async ({ params: { code } }) => { + try { + console.log("CODE", code); + let user = await get(`/verify/${code}`); + return { user }; + } catch (e) { + console.log(e); + return { error: "Verification failed" }; + } +}; diff --git a/src/routes/(app)/[username]/verify/[code]/+page.svelte b/src/routes/(app)/[username]/verify/[code]/+page.svelte new file mode 100644 index 00000000..e9baec8a --- /dev/null +++ b/src/routes/(app)/[username]/verify/[code]/+page.svelte @@ -0,0 +1,34 @@ + + +
+ {#if error} +

+ Email verification failed +

+ {:else if user.verified} +
+ +
+ +

+ Email verified successfully! +

+ {/if} +
+ + +
+ + +
+ {$t("payments.tapAnywhere")} +
-- cgit v1.2.3