From b1ad12734eeafc36a07bd76f649a98ae9ade5723 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Fri, 13 Jan 2023 23:49:59 -0800 Subject: payments migration --- .../(app)/[username]/(profile)/+layout.svelte | 2 +- .../[username]/(profile)/messages/+page.svelte | 4 +- src/routes/(app)/[username]/dashboard/+page.svelte | 4 +- .../[username]/payments/[...page]/+page.server.js | 24 +++ .../[username]/payments/[...page]/+page.svelte | 198 ++++++++++++++++++++ .../[username]/receive/[...param]/+page.svelte | 7 +- src/routes/(app)/[username]/request/+page.svelte | 6 +- .../(app)/[username]/request/[id]/+page.svelte | 6 +- .../transactions/[...page]/+page.server.js | 24 --- .../[username]/transactions/[...page]/+page.svelte | 204 --------------------- src/routes/(app)/invoice/[id]/+layout.server.js | 5 +- src/routes/(app)/invoice/[id]/+page.svelte | 3 +- src/routes/(app)/invoice/[id]/paid/+page.svelte | 3 +- src/routes/(app)/invoice/[id]/tip/+page.svelte | 10 +- src/routes/(app)/ln/[lnurl]/+page.svelte | 2 +- .../(app)/redeem/[redeemcode]/+page.server.js | 2 +- src/routes/(app)/send/[...text]/+page.svelte | 2 +- src/routes/(app)/send/[uuid=uuid]/+page.svelte | 8 +- .../bitcoin/[address]/[...amount]/+page.svelte | 4 +- .../(app)/send/lightning/[payreq]/+page.svelte | 6 +- .../send/user/[username]/[...amount]/+page.svelte | 2 +- src/routes/(app)/send/voucher/+page.svelte | 2 +- src/routes/(app)/sent/+page.server.js | 6 + src/routes/(app)/sent/+page.svelte | 8 +- src/routes/(app)/tx/[id]/+page.svelte | 10 +- .../(app)/voucher/[redeemcode]/+page.server.js | 2 +- 26 files changed, 270 insertions(+), 284 deletions(-) create mode 100644 src/routes/(app)/[username]/payments/[...page]/+page.server.js create mode 100644 src/routes/(app)/[username]/payments/[...page]/+page.svelte delete mode 100644 src/routes/(app)/[username]/transactions/[...page]/+page.server.js delete mode 100644 src/routes/(app)/[username]/transactions/[...page]/+page.svelte create mode 100644 src/routes/(app)/sent/+page.server.js (limited to 'src/routes/(app)') diff --git a/src/routes/(app)/[username]/(profile)/+layout.svelte b/src/routes/(app)/[username]/(profile)/+layout.svelte index d76ff065..6528d688 100644 --- a/src/routes/(app)/[username]/(profile)/+layout.svelte +++ b/src/routes/(app)/[username]/(profile)/+layout.svelte @@ -118,7 +118,7 @@ - + diff --git a/src/routes/(app)/[username]/(profile)/messages/+page.svelte b/src/routes/(app)/[username]/(profile)/messages/+page.svelte index fd12c6bf..47228015 100644 --- a/src/routes/(app)/[username]/(profile)/messages/+page.svelte +++ b/src/routes/(app)/[username]/(profile)/messages/+page.svelte @@ -77,7 +77,7 @@

- {$t('transactions.sendMessage')} + {$t('payments.sendMessage')}

@@ -105,7 +105,7 @@ --> - + @@ -111,7 +111,7 @@ - + diff --git a/src/routes/(app)/[username]/payments/[...page]/+page.server.js b/src/routes/(app)/[username]/payments/[...page]/+page.server.js new file mode 100644 index 00000000..6ced265d --- /dev/null +++ b/src/routes/(app)/[username]/payments/[...page]/+page.server.js @@ -0,0 +1,24 @@ +import { get, auth } from '$lib/utils'; + +let limit = 25; + +export async function load({ cookies, params, request }) { + let parts = params.page.split('/'); + + let start, end, page; + if (parts.length === 1) [page] = parts; + if (parts.length === 2) [start, page] = parts; + if (parts.length === 3) [start, end, page] = parts; + if (!parseInt(page)) page = 1; + + let offset = (page - 1) * limit; + if (!start) start = Date.now() / 1000 - 24 * 60 * 60; + + let url = `/payments?v2=true&start=${start * 1000}&limit=${limit}&offset=${offset}`; + if (end) url += `&end=${end * 1000}`; + + let { total, payments } = await get(url, auth(cookies)); + let pages = new Array(Math.ceil(total / limit)); + + return { total, payments, page, pages, start, end }; +} diff --git a/src/routes/(app)/[username]/payments/[...page]/+page.svelte b/src/routes/(app)/[username]/payments/[...page]/+page.svelte new file mode 100644 index 00000000..4348eb72 --- /dev/null +++ b/src/routes/(app)/[username]/payments/[...page]/+page.svelte @@ -0,0 +1,198 @@ + + +
+

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

+ +
+
+
+ {#each presets as { start, end, title }, i} + + + + {/each} +
+
+ +
+ {#if pages.length > 1} + {#each pages as _, i} + +
+ {i + 1} +
+
+ {/each} + {/if} +
+ +
+ {#each $txns as tx} + +
+
+
+ {f(tx.amount * (tx.rate / sats), tx.currency)} + + {#if tx.tip} + + +{f(tx.tip * (tx.rate / sats), tx.currency)} + + {/if} +
+ +
+ {sat(tx.amount)} + + {#if tx.tip} + + +{sat(tx.tip)} + + {/if} +
+
+ +
+ {#if tx.redeemcode} + +
+
+ +
+ +
Voucher
+
+
+ {:else if tx.with} + +
+
+ +
+
{tx.with.username}
+
+
+ {:else} +
+
⚡️
+ +
+ {tx.amount > 0 ? 'Received' : 'Sent'} +
+
+ {/if} +
+ +
+
+ {format(new Date(tx.created_at), 'h:mm aaa')} +
+
+ {format(new Date(tx.created_at), 'MMM d')} +
+
+
+ + {:else} +

{$t('payments.empty')}

+ {/each} +
+ +
+
+ + diff --git a/src/routes/(app)/[username]/receive/[...param]/+page.svelte b/src/routes/(app)/[username]/receive/[...param]/+page.svelte index 4559f00c..18d6b21e 100644 --- a/src/routes/(app)/[username]/receive/[...param]/+page.svelte +++ b/src/routes/(app)/[username]/receive/[...param]/+page.svelte @@ -3,7 +3,7 @@ import { t } from '$lib/translations'; import { enhance } from '$app/forms'; import { page } from '$app/stores'; - import { invoices, requestRedirect } from '$lib/store'; + import { requestRedirect } from '$lib/store'; import { browser } from '$app/environment'; import { goto } from '$app/navigation'; @@ -19,9 +19,6 @@ let { currency, username } = data.subject; let { user } = data; - - $: paid = browser && form && Object.values($invoices).find((inv) => inv.amount === form.amount); - $: paid && goto(`/invoice/${paid.id}/paid`);
@@ -43,7 +40,7 @@ class="bg-black text-white rounded-xl w-full h-[48px] flex justify-center items-center font-semibold opacity-100 hover:opacity-80" > - {amount ? $t('transactions.next') : $t('transactions.sendersChoice')} + {amount ? $t('payments.next') : $t('payments.sendersChoice')}
diff --git a/src/routes/(app)/[username]/request/+page.svelte b/src/routes/(app)/[username]/request/+page.svelte index fb3d0599..305cc8fb 100644 --- a/src/routes/(app)/[username]/request/+page.svelte +++ b/src/routes/(app)/[username]/request/+page.svelte @@ -16,7 +16,7 @@

- {$t('transactions.requestAnInvoice')} + {$t('payments.requestAnInvoice')}

@@ -25,7 +25,7 @@