From 90fd57b064d3ef0176d5747b79863d6e60a22fc1 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Wed, 5 Oct 2022 12:07:46 -0700 Subject: detect internal sends --- src/routes/send/user/[username]/+page.server.js | 23 ++++++++ src/routes/send/user/[username]/+page.svelte | 71 +++++++++++++++++++++++++ 2 files changed, 94 insertions(+) create mode 100644 src/routes/send/user/[username]/+page.server.js create mode 100644 src/routes/send/user/[username]/+page.svelte (limited to 'src/routes/send/user') diff --git a/src/routes/send/user/[username]/+page.server.js b/src/routes/send/user/[username]/+page.server.js new file mode 100644 index 00000000..37a8d594 --- /dev/null +++ b/src/routes/send/user/[username]/+page.server.js @@ -0,0 +1,23 @@ +import { error, invalid, redirect } from '@sveltejs/kit'; +import { btc as asset, auth, get, post } from '$lib/utils'; + +export async function load({ params, parent }) { + let { user } = await parent(); + let recipient = await get(`/users/${params.username}`); + if (recipient.username === user.username) throw error(500, { message: 'Cannot send to self' }); + return { recipient }; +} + +export const actions = { + default: async ({ cookies, request }) => { + let body = Object.fromEntries(await request.formData()); + let { amount, confirmed } = body; + + if (!confirmed) { + return invalid(403, { amount, confirm: true }); + } + + await post('/send', body, auth(cookies)); + throw redirect(307, '/sent'); + } +}; diff --git a/src/routes/send/user/[username]/+page.svelte b/src/routes/send/user/[username]/+page.svelte new file mode 100644 index 00000000..fa159538 --- /dev/null +++ b/src/routes/send/user/[username]/+page.svelte @@ -0,0 +1,71 @@ + + + + +
+ {#if amount} +
+

Sending

+

{fiat ? f(amountFiat, currency) : `${s(a)} sats`}

+ +

To

+

{recipient.username}

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