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/lightning | |
| parent | 0e17224e71296cf6a0336c5a2e7340a3b63cd2dc (diff) | |
| download | coinos-ui-b1f81daaab3b04e8ae0b3e4edd4984aeade8098e.tar.gz coinos-ui-b1f81daaab3b04e8ae0b3e4edd4984aeade8098e.zip | |
send pin
Diffstat (limited to 'src/routes/send/lightning')
| -rw-r--r-- | src/routes/send/lightning/[payreq]/+page.server.js | 16 | ||||
| -rw-r--r-- | src/routes/send/lightning/[payreq]/+page.svelte | 14 |
2 files changed, 25 insertions, 5 deletions
diff --git a/src/routes/send/lightning/[payreq]/+page.server.js b/src/routes/send/lightning/[payreq]/+page.server.js index f17d6a60..49ebac1c 100644 --- a/src/routes/send/lightning/[payreq]/+page.server.js +++ b/src/routes/send/lightning/[payreq]/+page.server.js @@ -7,14 +7,20 @@ export async function load({ params }) { 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('/lightning/send', body, auth(cookies)); + } catch (e) { + if (e.message.includes("unusable")) e.message = "Failed to route payment, try sending a lower amount" + return invalid(400, { message: e.message }); } - await post('/lightning/send', body, auth(cookies)); throw redirect(307, '/sent'); } }; diff --git a/src/routes/send/lightning/[payreq]/+page.svelte b/src/routes/send/lightning/[payreq]/+page.svelte index 973550f6..bda10038 100644 --- a/src/routes/send/lightning/[payreq]/+page.svelte +++ b/src/routes/send/lightning/[payreq]/+page.svelte @@ -3,6 +3,8 @@ import { Icon, Numpad, Spinner } from '$comp'; import { page } from '$app/stores'; import { back, s } from '$lib/utils'; + import { pin } from '$lib/store'; + export let data; export let form; @@ -14,12 +16,23 @@ 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={back}> <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"> @@ -38,6 +51,7 @@ <input name="payreq" value={payreq} type="hidden" /> <input name="amount" value={amount} type="hidden" /> <input name="confirmed" value={form?.confirm} type="hidden" /> + <input name="pin" value={$pin} type="hidden" /> <div class="flex w-full"> <button |
