aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes/(app)/send
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2023-01-24 09:53:40 -0800
committerAdam Soltys <[email protected]>2023-01-24 09:53:40 -0800
commitc8b250bc216b190e913fab27d599b40518d7e748 (patch)
tree191e56d4d6671c9e24f7db9a7c268461a76bb11d /src/routes/(app)/send
parent29ed3a4366eb9719d32dac390764bf119c40afff (diff)
downloadcoinos-ui-c8b250bc216b190e913fab27d599b40518d7e748.tar.gz
coinos-ui-c8b250bc216b190e913fab27d599b40518d7e748.zip
lnurl pay
Diffstat (limited to 'src/routes/(app)/send')
-rw-r--r--src/routes/(app)/send/[...text]/+page.server.js15
-rw-r--r--src/routes/(app)/send/bitcoin/[address]/[...amount]/+page.server.js8
-rw-r--r--src/routes/(app)/send/lightning/[payreq]/+page.server.js2
-rw-r--r--src/routes/(app)/send/lightning/[payreq]/+page.svelte36
4 files changed, 36 insertions, 25 deletions
diff --git a/src/routes/(app)/send/[...text]/+page.server.js b/src/routes/(app)/send/[...text]/+page.server.js
index f0c8b892..3cc9f73d 100644
--- a/src/routes/(app)/send/[...text]/+page.server.js
+++ b/src/routes/(app)/send/[...text]/+page.server.js
@@ -15,20 +15,17 @@ let parse = async (t, host) => {
options: { amount }
} = bip21.decode(t));
- // ln address
if (t.includes('@') && t.includes('.')) {
- let [name, domain] = t.split('@');
- if (domain === host) t = name;
- else {
- try {
- t = await get(`/encode?domain=${domain}&name=${name}`);
- } catch (e) {}
- }
+ try {
+ t = await get(`/encode?address=${t}`);
+ } catch (e) {}
}
- if (t.includes('/voucher')) throw redirect(307, t.substring(t.indexOf('/voucher')));
+ if (t.includes('/pot')) throw redirect(307, t.substring(t.indexOf('/pot')));
+ console.log('LNURL?');
if (t.toLowerCase().startsWith('lnurl')) throw redirect(307, `/ln/${t}`);
+ console.log('NOPE');
if (t.includes(':')) t = t.split(':')[1];
// lightning
diff --git a/src/routes/(app)/send/bitcoin/[address]/[...amount]/+page.server.js b/src/routes/(app)/send/bitcoin/[address]/[...amount]/+page.server.js
index 066043e7..901d90a8 100644
--- a/src/routes/(app)/send/bitcoin/[address]/[...amount]/+page.server.js
+++ b/src/routes/(app)/send/bitcoin/[address]/[...amount]/+page.server.js
@@ -4,9 +4,13 @@ import { auth, post } from '$lib/utils';
export const actions = {
default: async ({ cookies, request }) => {
try {
- let feeRate, subtract;
+ let feeRate, subtract;
let { address, amount, pin } = Object.fromEntries(await request.formData());
- let { tx } = await post('/bitcoin/fee', { address, amount, feeRate, subtract }, auth(cookies));
+ let { tx } = await post(
+ '/bitcoin/fee',
+ { address, amount, feeRate, subtract },
+ auth(cookies)
+ );
await post('/bitcoin/send', { pin, tx }, auth(cookies));
} catch (e) {
return invalid(400, { message: e.message });
diff --git a/src/routes/(app)/send/lightning/[payreq]/+page.server.js b/src/routes/(app)/send/lightning/[payreq]/+page.server.js
index a72e1c07..def7651c 100644
--- a/src/routes/(app)/send/lightning/[payreq]/+page.server.js
+++ b/src/routes/(app)/send/lightning/[payreq]/+page.server.js
@@ -15,7 +15,7 @@ export const actions = {
let body = Object.fromEntries(await request.formData());
let { amount, confirmed } = body;
- console.log("AMOUNT", amount);
+ console.log('AMOUNT', amount);
if (!confirmed) {
return invalid(403, { amount, confirm: true });
diff --git a/src/routes/(app)/send/lightning/[payreq]/+page.svelte b/src/routes/(app)/send/lightning/[payreq]/+page.svelte
index 76ab432f..a88a0aec 100644
--- a/src/routes/(app)/send/lightning/[payreq]/+page.svelte
+++ b/src/routes/(app)/send/lightning/[payreq]/+page.svelte
@@ -24,6 +24,9 @@
if (form?.message?.includes('pin')) $pin = undefined;
loading = false;
};
+
+ let show;
+ let toggle = () => (show = !show);
</script>
<button class="ml-5 md:ml-20 mt-5 md:mt-10 hover:opacity-80" on:click={back}>
@@ -41,10 +44,10 @@
<div class="text-center mb-8">
<h1 class="text-xl md:text-2xl text-secondary mb-2">{$t('payments.send')}</h1>
<p class="text-6xl break-words mb-4">
- {s(amount)} <span class="text-xl md:text-2xl text-secondary">sats</span>
+ ⚡️{s(amount)}
</p>
<h1 class="text-xl md:text-2xl text-secondary mb-2">{$t('payments.to')}</h1>
- <p class="text-6xl break-words">{alias}</p>
+ <p class="text-4xl break-words">{alias}</p>
</div>
<form method="POST" use:enhance on:submit={submit} action="?/send" class="space-y-5">
@@ -52,17 +55,7 @@
<input name="amount" value={amount} type="hidden" />
<input name="confirmed" value={form?.confirm} type="hidden" />
<input name="pin" value={$pin} type="hidden" />
-
- <div class="relative w-96 mx-auto">
- <label>Max fee</label>
- <input name="maxfee" value={maxfee} />
-
- <div
- class="absolute right-[2px] top-[25px] text-gray-600 rounded-r-2xl p-4 h-[54px] my-auto border-l "
- >
- sats
- </div>
- </div>
+ <input name="maxfee" value={maxfee} type="hidden" />
<div class="flex w-full">
<button
@@ -78,6 +71,23 @@
</button>
</div>
</form>
+
+ {#if show}
+ <div class="relative w-96 mx-auto">
+ <label>Max fee</label>
+ <input name="maxfee" value={maxfee} />
+
+ <div
+ class="absolute right-[2px] top-[25px] text-gray-600 rounded-r-2xl p-4 h-[54px] my-auto border-l "
+ >
+ ⚡️
+ </div>
+ </div>
+ {:else}
+ <div class="flex w-full mt-5">
+ <button class="mx-auto" on:click={toggle}>Settings</button>
+ </div>
+ {/if}
{:else}
<form method="POST" action="?/setAmount" class="w-[300px] mx-auto">
<input type="hidden" value={a} name="amount" />