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/+page.server.js | 17 +++++- src/routes/send/+page.svelte | 17 +++--- src/routes/send/user/[username]/+page.server.js | 23 ++++++++ src/routes/send/user/[username]/+page.svelte | 71 +++++++++++++++++++++++++ 4 files changed, 120 insertions(+), 8 deletions(-) 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') diff --git a/src/routes/send/+page.server.js b/src/routes/send/+page.server.js index 4108bcb5..c8edb1cc 100644 --- a/src/routes/send/+page.server.js +++ b/src/routes/send/+page.server.js @@ -16,7 +16,14 @@ export const actions = { // bitcoin if (validate(t)) { - throw redirect(303, `/send/bitcoin/${t}`); + let user; + try { + ({ user } = await get(`/invoice/${t}`)); + } catch (e) { + throw redirect(303, `/send/bitcoin/${t}`); + } + + if (user) throw redirect(303, `/send/user/${user.username}`); } // ln address @@ -28,7 +35,13 @@ export const actions = { } // user + let user; + try { + user = await get(`/users/${t}`); + } catch (e) {} + + if (user) throw redirect(303, `/send/user/${t}`); - return invalid(403, { error: 'Failed to parse destination' }); + return invalid(403, { error: 'Failed to recognize input' }); } }; diff --git a/src/routes/send/+page.svelte b/src/routes/send/+page.svelte index 8a695ac6..87d06e35 100644 --- a/src/routes/send/+page.svelte +++ b/src/routes/send/+page.svelte @@ -1,4 +1,5 @@ -
+ + {#if form?.error} +
+ {form.error} +
+ {/if}
- +
+ +
+ {#if amount} +
+

Sending

+

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

+ +

To

+

{recipient.username}

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