aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2023-12-07 23:36:01 -0800
committerAdam Soltys <[email protected]>2023-12-07 23:36:01 -0800
commitfdef64da149ed0ceae3778238b9882a576e562ef (patch)
tree6e09aed6a1f282ce730f804241d0bc263af2981e /src
parentd88d4a9b1d8f229904f4a052e03b860a82811a71 (diff)
downloadcoinos-ui-fdef64da149ed0ceae3778238b9882a576e562ef.tar.gz
coinos-ui-fdef64da149ed0ceae3778238b9882a576e562ef.zip
verified flow
Diffstat (limited to 'src')
-rw-r--r--src/components/AppHeader.svelte5
-rw-r--r--src/lib/utils.js12
-rw-r--r--src/locales/en.json5
-rw-r--r--src/routes/(app)/[username]/settings/[...tab]/+page.svelte10
-rw-r--r--src/routes/(app)/[username]/settings/[...tab]/_account.svelte2
-rw-r--r--src/routes/(app)/[username]/verify/[code]/+page.server.js8
6 files changed, 24 insertions, 18 deletions
diff --git a/src/components/AppHeader.svelte b/src/components/AppHeader.svelte
index 352dcfa7..57892b18 100644
--- a/src/components/AppHeader.svelte
+++ b/src/components/AppHeader.svelte
@@ -150,11 +150,8 @@
{/if}
<style>
- .z {
- z-index: 100;
- }
-
header {
+ z-index: 50;
view-transition-name: header;
}
</style>
diff --git a/src/lib/utils.js b/src/lib/utils.js
index adbe8356..f55b47b6 100644
--- a/src/lib/utils.js
+++ b/src/lib/utils.js
@@ -101,8 +101,8 @@ export function reverseFormat(val, locale) {
export let protectedRoutes = [/customers/, /settings/, /payments/];
-export let success = (m) => {
- toast.pop();
+export let success = (m, clear = true) => {
+ if (clear) toast.pop();
toast.push(m, {
theme: {
"--toastBarBackground": "#F5F7FA",
@@ -110,16 +110,16 @@ export let success = (m) => {
});
};
-export let warning = (m) => {
- toast.pop();
+export let warning = (m, clear = true) => {
+ if (clear) toast.pop();
toast.push(m, {
theme: {
"--toastBarBackground": "#FFCE22",
},
});
};
-export let fail = (m) => {
- toast.pop();
+export let fail = (m, clear = true) => {
+ if (clear) toast.pop();
toast.push(m, {
theme: {
"--toastBarBackground": "#E93535",
diff --git a/src/locales/en.json b/src/locales/en.json
index cefabaa3..ac8b0075 100644
--- a/src/locales/en.json
+++ b/src/locales/en.json
@@ -207,8 +207,11 @@
"nostrKeys": "Nostr key",
"nostrDescription": "Your nostr key is used to sign and decrypt messages, keep it safe or someone may be able to impersonate you.",
"seedDescription": "This 12 word seed phrase is used to derive your nostr private key and your self-custodial wallet keys which determine your auto-withdrawal addresses. Back it up and don't let anyone see it.",
- "emailDescription": "For password resets and notifications",
+ "emailDescription": "For password resets and payment notifications only",
"hideNsec": "Hide nostr secret key",
+ "saved": "Settings saved!",
+ "verifying": "Verification email sent",
+ "verified": "Email verified!",
"revealNsec": "Reveal nostr secret key",
"hideSeed": "Hide seed phrase",
"revealSeed": "Reveal seed phrase",
diff --git a/src/routes/(app)/[username]/settings/[...tab]/+page.svelte b/src/routes/(app)/[username]/settings/[...tab]/+page.svelte
index b300b75d..03b68973 100644
--- a/src/routes/(app)/[username]/settings/[...tab]/+page.svelte
+++ b/src/routes/(app)/[username]/settings/[...tab]/+page.svelte
@@ -39,7 +39,7 @@
$: form?.user && ({ user } = form);
- $: form?.success && success("Settings saved!");
+ $: form?.success && success($t("user.settings.saved"), false);
$: form?.message && fail(form.message);
@@ -60,6 +60,11 @@
let { address, id, username } = user;
let loading;
+ onMount(() => {
+ if ($page.url.searchParams.get("verified"))
+ success($t("user.settings.verified"));
+ });
+
async function handleSubmit() {
try {
loading = true;
@@ -146,8 +151,7 @@
auth(cookies)
);
- warning("Verification email sent");
- await sleep(4000);
+ warning($t("user.settings.verifying"), false);
} catch (e) {
console.log(e);
}
diff --git a/src/routes/(app)/[username]/settings/[...tab]/_account.svelte b/src/routes/(app)/[username]/settings/[...tab]/_account.svelte
index e96341b4..773485f0 100644
--- a/src/routes/(app)/[username]/settings/[...tab]/_account.svelte
+++ b/src/routes/(app)/[username]/settings/[...tab]/_account.svelte
@@ -103,7 +103,7 @@
<input type="text" name="email" bind:value={user.email} />
{#if user.verified}
<Icon icon="check" style="absolute right-5 top-3 w-8" />
- {:else}
+ {:else if user.email}
<Icon icon="orangeclock" style="absolute right-5 top-3 w-8" />
{/if}
</div>
diff --git a/src/routes/(app)/[username]/verify/[code]/+page.server.js b/src/routes/(app)/[username]/verify/[code]/+page.server.js
index fda11c9e..3ddcd412 100644
--- a/src/routes/(app)/[username]/verify/[code]/+page.server.js
+++ b/src/routes/(app)/[username]/verify/[code]/+page.server.js
@@ -1,12 +1,14 @@
import { get } from "$lib/utils";
-import { error } from "@sveltejs/kit";
+import { error, redirect } from "@sveltejs/kit";
export let load = async ({ params: { code } }) => {
+ let user;
try {
- let user = await get(`/verify/${code}`);
- return { user };
+ user = await get(`/verify/${code}`);
} catch (e) {
console.log(e);
return { error: "Verification failed" };
}
+
+ throw redirect(307, `/${user.username}/settings/account?verified=true`);
};