From a0db1de3fe75a3b044519c9de5494c8cf2842417 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Wed, 26 Oct 2022 15:32:32 -0700 Subject: pagination fixes --- src/routes/[username]/+page.svelte | 40 +++++++++++----------- .../transactions/[...page]/+page.server.js | 20 +++++------ .../[username]/transactions/[...page]/+page.svelte | 36 ++++++++++++++----- 3 files changed, 58 insertions(+), 38 deletions(-) (limited to 'src') diff --git a/src/routes/[username]/+page.svelte b/src/routes/[username]/+page.svelte index e7321b95..3fbd0d9a 100644 --- a/src/routes/[username]/+page.svelte +++ b/src/routes/[username]/+page.svelte @@ -37,10 +37,10 @@
-
+

{subject.username}

-

+

{subject.address && subject.address !== 'null' ? subject.address : ''}

@@ -55,35 +55,35 @@ -->
-
- +
+ + + + + + + + + + + + +
copy(lightningAddress)} id="qr" - class="cursor-pointer w-[292px] md:w-[342px] h-[342px] border border-lightgrey rounded-3xl flex p-5 justify-center items-center relative" + class="cursor-pointer w-[292px] md:w-[342px] h-[342px] border border-lightgrey rounded-3xl flex p-5 justify-center items-center relative mx-auto" /> -

{$t('user.scanToPayBTC')}

- {lightningAddress} + {lightningAddress}
+

This is a re-usable lightning address that you can share or print

diff --git a/src/routes/[username]/transactions/[...page]/+page.server.js b/src/routes/[username]/transactions/[...page]/+page.server.js index caa2e155..95fb8094 100644 --- a/src/routes/[username]/transactions/[...page]/+page.server.js +++ b/src/routes/[username]/transactions/[...page]/+page.server.js @@ -1,6 +1,6 @@ import { get, auth } from '$lib/utils'; -let offset = 25; +let limit = 25; export async function load({ cookies, params, request }) { let parts = params.page.split('/'); @@ -11,16 +11,16 @@ export async function load({ cookies, params, request }) { 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 offset = (page-1) * limit; + + let url = `/payments?v2=true&limit=${limit}&offset=${offset}`; + if (start) url += `&start=${start}`; + if (end) url += `&end=${end}`; + + let { total, transactions } = await get(url, auth(cookies)); + console.log("TOT", total, transactions.length); + let pages = new Array(Math.ceil(total / limit)); - 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, start, end }; } diff --git a/src/routes/[username]/transactions/[...page]/+page.svelte b/src/routes/[username]/transactions/[...page]/+page.svelte index cf809445..71314e88 100644 --- a/src/routes/[username]/transactions/[...page]/+page.svelte +++ b/src/routes/[username]/transactions/[...page]/+page.svelte @@ -7,21 +7,23 @@ import { f, s, sats } from '$lib/utils'; import { page } from '$app/stores'; import { differenceInDays, getUnixTime, sub } from 'date-fns'; + import { goto } from '$app/navigation'; export let data; let { start, end, user } = data; + let change = ({ target: { value } }) => goto(value); let presets = [ - { title: 'Today', start: sub(new Date(), { days: 1 }), end: null }, - { title: '7 days', start: sub(new Date(), { days: 7 }), end: null }, - { title: 'Last month', start: sub(new Date(), { months: 1 }), end: null }, - { title: 'All', start: null, end: null } + { title: 'Today', start: null, end: null }, + { title: 'Week', start: sub(new Date(), { days: 7 }), end: null }, + { title: 'Month', start: sub(new Date(), { months: 1 }), end: null }, + { title: 'All', start: sub(new Date(), { years: 5 }), end: null } ]; $: selection = start ? presets.findIndex((p) => Math.abs(differenceInDays(new Date(start * 1000), p.start)) < 1) - : presets.length - 1; + : 0; let p, total, @@ -32,6 +34,9 @@ $: $page && ($newPayment = false); $: $newPayment && invalidate(`/users/${user.username}`); + $: path = $page.url.pathname.substring(0, $page.url.pathname.lastIndexOf('/')); + $: console.log(path) + let csv = () => { const keys = ['hash', 'updatedAt', 'rate', 'currency', 'amount', 'fee', 'tip']; const csv = @@ -63,9 +68,18 @@ {$t('user.transactions.header')} -