From 3b7e5e3492684b3d08f37cb078d6eec3fa4da0b2 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Wed, 8 Feb 2023 10:13:03 -0800 Subject: rm uuid route --- src/routes/(app)/send/invoice/[id]/+page.server.js | 30 +++++++ src/routes/(app)/send/invoice/[id]/+page.svelte | 98 ++++++++++++++++++++++ 2 files changed, 128 insertions(+) create mode 100644 src/routes/(app)/send/invoice/[id]/+page.server.js create mode 100644 src/routes/(app)/send/invoice/[id]/+page.svelte (limited to 'src/routes/(app)/send/invoice') diff --git a/src/routes/(app)/send/invoice/[id]/+page.server.js b/src/routes/(app)/send/invoice/[id]/+page.server.js new file mode 100644 index 00000000..6b7823ce --- /dev/null +++ b/src/routes/(app)/send/invoice/[id]/+page.server.js @@ -0,0 +1,30 @@ +import { error, fail, redirect } from '@sveltejs/kit'; +import { btc as asset, auth, get, post } from '$lib/utils'; + +export async function load({ params: { id }, parent }) { + let { user } = await parent(); + + let { amount, address, tip, text, user: recipient } = await get(`/invoice/${id}`); + if (recipient.username === user.username) throw error(500, { message: 'Cannot send to self' }); + if (tip) amount += tip; + return { amount, address, payreq: text, recipient }; +} + +export const actions = { + default: async ({ cookies, request }) => { + try { + let body = Object.fromEntries(await request.formData()); + let { confirmed } = body; + + if (!confirmed) { + return fail(400, { amount, confirm: true }); + } + + await post('/payments', body, auth(cookies)); + } catch (e) { + return fail(400, { message: e.message }); + } + + throw redirect(307, '/sent'); + } +}; diff --git a/src/routes/(app)/send/invoice/[id]/+page.svelte b/src/routes/(app)/send/invoice/[id]/+page.svelte new file mode 100644 index 00000000..27837bca --- /dev/null +++ b/src/routes/(app)/send/invoice/[id]/+page.svelte @@ -0,0 +1,98 @@ + + + + +{#if form?.message} +
+ {form.message} +
+{/if} + +
+ {#if amount} +
+

+ {$t('payments.send')} +

+

+ {fiat ? f(amountFiat, currency) : '⚡️' + s(amount)} +

+ +

{$t('payments.to')}

+ +
+ +

{recipient.username}

+
+
+ {:else} + + {/if} + +
+ + + + + + + +
+ {#if amount} + + {:else} + + {/if} +
+
+
-- cgit v1.2.3