diff options
| author | Adam Soltys <[email protected]> | 2023-01-06 10:13:27 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2023-01-06 10:13:27 -0800 |
| commit | e398ccf8b21e38c5fd0bc445acce4d6542551713 (patch) | |
| tree | f7ab5a283b4c91a978d52ac611d92d49f99fcc57 /src | |
| parent | afba8e9f74efc33d27b4c4ea751f1c35afb52ada (diff) | |
| download | coinos-ui-e398ccf8b21e38c5fd0bc445acce4d6542551713.tar.gz coinos-ui-e398ccf8b21e38c5fd0bc445acce4d6542551713.zip | |
handle pin for generate
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/utils.js | 5 | ||||
| -rw-r--r-- | src/routes/(app)/[username]/generate/+page.svelte | 23 | ||||
| -rw-r--r-- | src/routes/(app)/[username]/generate/+server.js | 1 |
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); } } |
