diff options
| author | Adam Soltys <[email protected]> | 2022-10-25 00:11:35 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2022-10-25 00:11:35 -0700 |
| commit | b1f81daaab3b04e8ae0b3e4edd4984aeade8098e (patch) | |
| tree | 97369f2a128b778a0344b7a6e7458de47eab9769 /src/routes/send/user | |
| parent | 0e17224e71296cf6a0336c5a2e7340a3b63cd2dc (diff) | |
| download | coinos-ui-b1f81daaab3b04e8ae0b3e4edd4984aeade8098e.tar.gz coinos-ui-b1f81daaab3b04e8ae0b3e4edd4984aeade8098e.zip | |
send pin
Diffstat (limited to 'src/routes/send/user')
| -rw-r--r-- | src/routes/send/user/[username]/[...amount]/+page.server.js | 15 | ||||
| -rw-r--r-- | src/routes/send/user/[username]/[...amount]/+page.svelte | 16 |
2 files changed, 25 insertions, 6 deletions
diff --git a/src/routes/send/user/[username]/[...amount]/+page.server.js b/src/routes/send/user/[username]/[...amount]/+page.server.js index 12bae186..a659eef3 100644 --- a/src/routes/send/user/[username]/[...amount]/+page.server.js +++ b/src/routes/send/user/[username]/[...amount]/+page.server.js @@ -11,14 +11,19 @@ export async function load({ params, parent }) { export const actions = { default: async ({ cookies, request }) => { - let body = Object.fromEntries(await request.formData()); - let { amount, confirmed } = body; + try { + let body = Object.fromEntries(await request.formData()); + let { amount, confirmed } = body; - if (!confirmed) { - return invalid(403, { amount, confirm: true }); + if (!confirmed) { + return invalid(403, { amount, confirm: true }); + } + + await post('/send', body, auth(cookies)); + } catch (e) { + return invalid(400, { message: e.message }); } - await post('/send', body, auth(cookies)); throw redirect(307, '/sent'); } }; diff --git a/src/routes/send/user/[username]/[...amount]/+page.svelte b/src/routes/send/user/[username]/[...amount]/+page.svelte index e50acd5b..6f4cb313 100644 --- a/src/routes/send/user/[username]/[...amount]/+page.svelte +++ b/src/routes/send/user/[username]/[...amount]/+page.svelte @@ -1,10 +1,11 @@ <script> import { goto } from '$app/navigation'; - import { selectedRate } from '$lib/store'; + import { pin, selectedRate } from '$lib/store'; import { enhance } from '$app/forms'; import { Avatar, Icon, Numpad, Spinner } from '$comp'; import { page } from '$app/stores'; import { back, f, s, sats } from '$lib/utils'; + export let data; export let form; @@ -31,12 +32,24 @@ let loading; let submit = () => (loading = true); + + $: update(form); + let update = () => { + if (form?.message.includes('pin')) $pin = undefined; + loading = false; + }; </script> <button class="ml-5 md:ml-20 mt-5 md:mt-10 hover:opacity-80" on:click={handleBack}> <Icon icon="arrow-left" style="w-10" /> </button> +{#if form?.message} + <div class="text-red-600 text-center"> + {form.message} + </div> +{/if} + <div class="container px-4 mt-20 max-w-xl mx-auto"> {#if amount} <div class="text-center mb-8"> @@ -63,6 +76,7 @@ <input name="amount" value={amount} type="hidden" /> <input name="username" value={recipient.username} type="hidden" /> <input name="confirmed" value={form?.confirm} type="hidden" /> + <input name="pin" value={$pin} type="hidden" /> <div class="flex w-full"> {#if amount} |
