From b1f81daaab3b04e8ae0b3e4edd4984aeade8098e Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Tue, 25 Oct 2022 00:11:35 -0700 Subject: send pin --- src/routes/send/lightning/[payreq]/+page.server.js | 16 +++++++++++----- src/routes/send/lightning/[payreq]/+page.svelte | 14 ++++++++++++++ 2 files changed, 25 insertions(+), 5 deletions(-) (limited to 'src/routes/send/lightning') 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; + }; +{#if form?.message} +
+ {form.message} +
+{/if} +
{#if amount}
@@ -38,6 +51,7 @@ +