From 9c95c7889ff6901bee13e77860172e03500cd9cd Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Wed, 26 Oct 2022 00:54:55 -0700 Subject: transaction filters --- .../transactions/[...page]/+page.server.js | 18 +++++- .../[username]/transactions/[...page]/+page.svelte | 71 +++++++++++++++++++--- src/routes/send/[...text]/+page.svelte | 25 ++++---- .../send/user/[username]/[...amount]/+page.svelte | 11 ++-- 4 files changed, 96 insertions(+), 29 deletions(-) (limited to 'src/routes') diff --git a/src/routes/[username]/transactions/[...page]/+page.server.js b/src/routes/[username]/transactions/[...page]/+page.server.js index faa8a1ab..caa2e155 100644 --- a/src/routes/[username]/transactions/[...page]/+page.server.js +++ b/src/routes/[username]/transactions/[...page]/+page.server.js @@ -3,12 +3,24 @@ import { get, auth } from '$lib/utils'; let offset = 25; export async function load({ cookies, params, request }) { - let page = parseInt(params.page || 1); - let transactions = await get('/payments', auth(cookies)); + 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 url = '/payments'; + if (start && end) url += `?start=${start}&end=${end}`; + else if (start) url += `?start=${start}`; + else if (end) url += `?end=${end}`; + + let transactions = await get(url, auth(cookies)); let total = transactions.length; let pages = new Array(Math.ceil(total / offset)); let i = (page - 1) * offset; transactions = transactions.slice(i, i + offset); - return { total, transactions, page, pages }; + return { total, transactions, page, pages, start, end }; } diff --git a/src/routes/[username]/transactions/[...page]/+page.svelte b/src/routes/[username]/transactions/[...page]/+page.svelte index b957caf8..cf809445 100644 --- a/src/routes/[username]/transactions/[...page]/+page.svelte +++ b/src/routes/[username]/transactions/[...page]/+page.svelte @@ -1,23 +1,61 @@
@@ -26,13 +64,32 @@
-
+
+
+ {#each presets as { start, end, title }, i} + + + + {/each} +
+ +
+ +
{#if pages.length > 1} {#each pages as _, i}
{i + 1} @@ -44,7 +101,7 @@

{$t('user.transactions.AMOUNT')}

-

{$t('user.transactions.TYPE')}

+

{$t('user.transactions.TIME')}

@@ -85,7 +142,7 @@
diff --git a/src/routes/send/[...text]/+page.svelte b/src/routes/send/[...text]/+page.svelte index fe949617..1311422e 100644 --- a/src/routes/send/[...text]/+page.svelte +++ b/src/routes/send/[...text]/+page.svelte @@ -10,8 +10,8 @@ export let form; let el; - let placeholder = 'Address, Invoice or Username'; - let text = placeholder; + let placeholder = 'Paste a bitcoin address, lightning invoice or coinos username'; + let text; let focus = () => text === placeholder && (text = ''); let keypress = (e) => e.key === 'Enter' && (e.preventDefault() || el.click()); @@ -25,7 +25,11 @@ -
+

+ Send bitcoin or lightning +

+ + {#if form?.error}
{form.error} @@ -35,17 +39,12 @@ -
- {text} -
+ class="w-full p-4 border rounded-xl h-48" + bind:value={text} + />
diff --git a/src/routes/send/user/[username]/[...amount]/+page.svelte b/src/routes/send/user/[username]/[...amount]/+page.svelte index 6f4cb313..89cec12f 100644 --- a/src/routes/send/user/[username]/[...amount]/+page.svelte +++ b/src/routes/send/user/[username]/[...amount]/+page.svelte @@ -50,11 +50,10 @@
{/if} -
+
{#if amount} -
-

Send

-

+

+

{fiat ? f(amountFiat, currency) : s(amount)} {#if !fiat} sats @@ -64,8 +63,8 @@

to

- -

{recipient.username}

+ +

{recipient.username}

{:else} -- cgit v1.2.3