aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2023-01-06 10:13:27 -0800
committerAdam Soltys <[email protected]>2023-01-06 10:13:27 -0800
commite398ccf8b21e38c5fd0bc445acce4d6542551713 (patch)
treef7ab5a283b4c91a978d52ac611d92d49f99fcc57 /src
parentafba8e9f74efc33d27b4c4ea751f1c35afb52ada (diff)
downloadcoinos-ui-e398ccf8b21e38c5fd0bc445acce4d6542551713.tar.gz
coinos-ui-e398ccf8b21e38c5fd0bc445acce4d6542551713.zip
handle pin for generate
Diffstat (limited to 'src')
-rw-r--r--src/lib/utils.js5
-rw-r--r--src/routes/(app)/[username]/generate/+page.svelte23
-rw-r--r--src/routes/(app)/[username]/generate/+server.js1
3 files changed, 14 insertions, 15 deletions
diff --git a/src/lib/utils.js b/src/lib/utils.js
index 25b331ed..d7fba2fc 100644
--- a/src/lib/utils.js
+++ b/src/lib/utils.js
@@ -46,11 +46,12 @@ export const post = (url, body, headers) => {
if (r.ok) return r.text();
let text = await r.text();
+ let message;
try {
- let { message } = JSON.parse(text);
- if (message) throw new Error(message);
+ ({ message } = JSON.parse(text));
} catch (e) {}
+ if (message) throw new Error(message);
throw new Error(text);
})
.then((body) => {
diff --git a/src/routes/(app)/[username]/generate/+page.svelte b/src/routes/(app)/[username]/generate/+page.svelte
index 91c3d189..6336062a 100644
--- a/src/routes/(app)/[username]/generate/+page.svelte
+++ b/src/routes/(app)/[username]/generate/+page.svelte
@@ -14,8 +14,7 @@
let { user } = data;
let loaded;
-
- onMount(async () => {
+ let gen = async () => {
if (!browser) return;
setTimeout(() => (loaded = true), 50);
@@ -37,24 +36,24 @@
try {
user.pin = $pin;
+ await post(`/${user.username}/generate`, user);
+ goto($loginRedirect || `/${user.username}/dashboard`, { invalidateAll: true });
} catch (e) {
+ $pin = '';
if (e.message?.startsWith('Pin')) {
- $pin = '';
failure('Wrong pin, try again');
+ } else {
+ failure('Failed to generate keys');
+ goto('/');
}
}
+ };
- try {
- await post(`/${user.username}/generate`, user);
- goto($loginRedirect || `/${user.username}/dashboard`, { invalidateAll: true });
- } catch (e) {
- console.log(e);
- failure('Failed to generate keys');
- goto('/');
- }
+ onMount(async () => {
+ await gen();
});
- $: $pin?.length === 6 && generate(user);
+ $: $pin?.length === 6 && gen(user);
</script>
{#if loaded && user?.haspin && $pin?.length !== 6}
diff --git a/src/routes/(app)/[username]/generate/+server.js b/src/routes/(app)/[username]/generate/+server.js
index 4cc248bd..1335c3e2 100644
--- a/src/routes/(app)/[username]/generate/+server.js
+++ b/src/routes/(app)/[username]/generate/+server.js
@@ -5,7 +5,6 @@ export async function POST({ cookies, request }) {
try {
return json(await post(`/user`, await request.json(), auth(cookies)));
} catch (e) {
- console.log(e);
throw error(500, e.message);
}
}