From 63e3eaaa7bf3ba43b95927c1421b0b13cb5816b3 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Fri, 30 Sep 2022 15:52:10 -0700 Subject: sent payment confirmation --- src/routes/+layout.server.js | 3 +- .../[username]/transactions/[...page]/+page.svelte | 6 ++-- src/routes/invoice/+server.js | 6 ---- src/routes/invoice/[id]/+page.svelte | 2 +- src/routes/logout/+page.server.js | 1 - src/routes/send/bitcoin/[address]/+page.server.js | 9 +++-- src/routes/sent/+page.svelte | 38 ++++++++++++++++++++++ 7 files changed, 50 insertions(+), 15 deletions(-) create mode 100644 src/routes/sent/+page.svelte (limited to 'src/routes') diff --git a/src/routes/+layout.server.js b/src/routes/+layout.server.js index 3ebf8be2..ea3ccfdb 100644 --- a/src/routes/+layout.server.js +++ b/src/routes/+layout.server.js @@ -2,8 +2,9 @@ import { error, redirect } from '@sveltejs/kit'; import cookie from 'cookie'; import { protectedRoutes } from '$lib/utils'; import { get, post, auth } from '$lib/utils'; +import { env } from '$env/dynamic/public'; -const btc = import.meta.env.VITE_BTC; +export const { PUBLIC_BTC: btc } = env; export async function load({ request, setHeaders, url, params }) { let { token } = cookie.parse(request.headers.get('cookie') || ''); diff --git a/src/routes/[username]/transactions/[...page]/+page.svelte b/src/routes/[username]/transactions/[...page]/+page.svelte index 3042e574..a3e6850a 100644 --- a/src/routes/[username]/transactions/[...page]/+page.svelte +++ b/src/routes/[username]/transactions/[...page]/+page.svelte @@ -27,7 +27,7 @@ {#if pages.length > 1} {#each pages as _, i} -
+
{i + 1}
@@ -75,7 +75,7 @@
diff --git a/src/routes/invoice/+server.js b/src/routes/invoice/+server.js index 759c9315..9b96b114 100644 --- a/src/routes/invoice/+server.js +++ b/src/routes/invoice/+server.js @@ -4,12 +4,6 @@ export async function POST({ request, parent }) { let { amount, currency, network = 'lightning', prompt, rate, tip, user } = await request.json(); let invoice = { amount, currency, network, prompt, rate, tip }; - if (network === 'lightning') { - invoice.text = (await post('/lightning/invoice', { amount }, auth(request))).text; - } else { - invoice.address = (await get('/address?network=bitcoin&type=bech32')).address; - } - return new Response(JSON.stringify(await post('/invoice', { invoice, user }, auth(request))), { headers: { 'content-type': 'application/json' } }); diff --git a/src/routes/invoice/[id]/+page.svelte b/src/routes/invoice/[id]/+page.svelte index 094f698e..7ff63862 100644 --- a/src/routes/invoice/[id]/+page.svelte +++ b/src/routes/invoice/[id]/+page.svelte @@ -45,7 +45,7 @@ $: tip = Math.round((amount / 100) * tipPercent); $invoices[id] = { amount, id, rate, received, text, tip, username }; - $: $invoices[id]?.received && goto(`/invoice/${id}/paid`); + $: $invoices[id]?.received >= $invoices[id]?.amount && goto(`/invoice/${id}/paid`); $: amountFiat = parseFloat(((amount * rate) / sats).toFixed(2)); diff --git a/src/routes/logout/+page.server.js b/src/routes/logout/+page.server.js index 726094fd..01ddc1aa 100644 --- a/src/routes/logout/+page.server.js +++ b/src/routes/logout/+page.server.js @@ -8,7 +8,6 @@ const opts = { }; export async function load({ cookies }) { - console.log('COOKIES', cookies); cookies.set('set-cookie', [ cookies.serialize('token', '', { ...opts, diff --git a/src/routes/send/bitcoin/[address]/+page.server.js b/src/routes/send/bitcoin/[address]/+page.server.js index fa440394..4cc3736d 100644 --- a/src/routes/send/bitcoin/[address]/+page.server.js +++ b/src/routes/send/bitcoin/[address]/+page.server.js @@ -1,8 +1,11 @@ import { redirect } from '@sveltejs/kit'; +import { btc as asset, auth, post } from '$lib/utils'; + export const actions = { default: async ({ request }) => { - let form = Object.fromEntries(await request.formData()); - console.log('send bitcoin', form); - throw redirect(307, '/'); + let { address, amount } = Object.fromEntries(await request.formData()); + let { tx } = await post('/bitcoin/fee', { address, amount, asset }, auth(request)); + await post('/bitcoin/send', { address, tx }, auth(request)); + throw redirect(307, '/sent'); } }; diff --git a/src/routes/sent/+page.svelte b/src/routes/sent/+page.svelte new file mode 100644 index 00000000..6e4cb539 --- /dev/null +++ b/src/routes/sent/+page.svelte @@ -0,0 +1,38 @@ + + +
+ {#if browser} +
+ +
+ {/if} +

{$t('invoice.paymentSuccessful')}

+ +
-- cgit v1.2.3