From e44e960b709c5e8289c7e5f785d941d0754de81c Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Sat, 28 Jan 2023 01:05:54 -0800 Subject: rm logs --- src/routes/(app)/ln/[lnurl]/+page.server.js | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'src') diff --git a/src/routes/(app)/ln/[lnurl]/+page.server.js b/src/routes/(app)/ln/[lnurl]/+page.server.js index b91e5725..1b63e975 100644 --- a/src/routes/(app)/ln/[lnurl]/+page.server.js +++ b/src/routes/(app)/ln/[lnurl]/+page.server.js @@ -59,10 +59,7 @@ export const actions = { let { text: pr } = await post('/invoice', { invoice, user }, auth(cookies)); let c = callback.includes('?') ? '&' : '?'; - - console.log("sending", `${callback}${c}k1=${k1}&pr=${pr}`) - let r = await fetch(`${callback}${c}k1=${k1}&pr=${pr}`).then((r) => r.json()); - console.log("result", r);) + await fetch(`${callback}${c}k1=${k1}&pr=${pr}`).then((r) => r.json()); throw redirect(307, `/ln/withdrawal/sent`); } -- cgit v1.2.3 From eff1fd2b4747d07a6b342d2561785c18ea500bcb Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Tue, 31 Jan 2023 19:56:11 -0800 Subject: payments csv --- .../[username]/payments/[...page]/+page.server.js | 2 +- .../[username]/payments/[...page]/+page.svelte | 51 ++++++++++++++++++---- .../(app)/[username]/payments/[...page]/+server.js | 18 ++++++++ src/routes/(app)/payment/[id]/+page.svelte | 2 +- 4 files changed, 63 insertions(+), 10 deletions(-) create mode 100644 src/routes/(app)/[username]/payments/[...page]/+server.js (limited to 'src') diff --git a/src/routes/(app)/[username]/payments/[...page]/+page.server.js b/src/routes/(app)/[username]/payments/[...page]/+page.server.js index 6ced265d..adc6dac8 100644 --- a/src/routes/(app)/[username]/payments/[...page]/+page.server.js +++ b/src/routes/(app)/[username]/payments/[...page]/+page.server.js @@ -14,7 +14,7 @@ export async function load({ cookies, params, request }) { 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}`; + let url = `/payments?start=${start * 1000}&limit=${limit}&offset=${offset}`; if (end) url += `&end=${end * 1000}`; let { total, payments } = await get(url, auth(cookies)); diff --git a/src/routes/(app)/[username]/payments/[...page]/+page.svelte b/src/routes/(app)/[username]/payments/[...page]/+page.svelte index 551238cb..4a3f58f5 100644 --- a/src/routes/(app)/[username]/payments/[...page]/+page.svelte +++ b/src/routes/(app)/[username]/payments/[...page]/+page.svelte @@ -4,7 +4,7 @@ import { format, parseISO } from 'date-fns'; import { newPayment, payments } from '$lib/store'; import { t } from '$lib/translations'; - import { f, s, sat, sats } from '$lib/utils'; + import { get, f, s, sat, sats } from '$lib/utils'; import { page } from '$app/stores'; import { differenceInDays, getUnixTime, sub } from 'date-fns'; import { goto, invalidate } from '$app/navigation'; @@ -49,14 +49,41 @@ ? $page.url.pathname.substring(0, $page.url.pathname.lastIndexOf('/')) : $page.url.pathname; - let csv = () => { - const keys = ['hash', 'updatedAt', 'rate', 'currency', 'amount', 'fee', 'tip']; - const csv = + let csv = async () => { + let url = `/${user.username}/payments`; + if (start) url += `/${start}`; + if (end) url += `/${end}`; + + let { payments } = await get(url); + + payments = payments.map((p) => ({ + ...p, + created: new Date(p.created), + fiat: f((p.amount || 0) * p.rate / sats, p.currency), + fiatfee: f((p.fee || 0) * p.rate / sats, p.currency), + fiattip: f((p.tip || 0) * p.rate / sats, p.currency) + })); + + let keys = [ + 'type', + 'id', + 'created', + 'rate', + 'currency', + 'amount', + 'fee', + 'tip', + 'fiat', + 'fiatfee', + 'fiattip' + ]; + + let csv = keys.map((k) => `"${k}"`).join(',') + '\n' + - $payments.map((r) => keys.map((k) => `"${r[k]}"`).join(',')).join('\n'); + payments.map((r) => keys.map((k) => `"${r[k] || ''}"`).join(',')).join('\n'); - const filename = 'payments.csv'; + let filename = 'payments.csv'; let blob = new Blob([csv], { type: 'text/csv;charset=utf-8;' }); if (navigator.msSaveBlob) { navigator.msSaveBlob(blob, filename); @@ -141,7 +168,11 @@
- Pot + Pot
Pot
@@ -162,7 +193,11 @@
⚡️
{:else}
- Bitcoin + Bitcoin
{/if} diff --git a/src/routes/(app)/[username]/payments/[...page]/+server.js b/src/routes/(app)/[username]/payments/[...page]/+server.js new file mode 100644 index 00000000..c33bd864 --- /dev/null +++ b/src/routes/(app)/[username]/payments/[...page]/+server.js @@ -0,0 +1,18 @@ +import { get, auth } from '$lib/utils'; +import { json } from '@sveltejs/kit'; + +export async function GET({ cookies, params }) { + let parts = params.page.split('/'); + + let start, end; + if (parts.length === 1) [start] = parts; + if (parts.length === 2) [start, end] = parts; + + if (!start) start = Date.now() / 1000 - 24 * 60 * 60; + + let url = `/payments?start=${start * 1000}`; + if (end) url += `&end=${end * 1000}`; + + let { payments } = await get(url, auth(cookies)); + return json({ payments }); +} diff --git a/src/routes/(app)/payment/[id]/+page.svelte b/src/routes/(app)/payment/[id]/+page.svelte index 9eefda2b..bcad7205 100644 --- a/src/routes/(app)/payment/[id]/+page.svelte +++ b/src/routes/(app)/payment/[id]/+page.svelte @@ -8,7 +8,7 @@ export let data; let { user, tx } = data; let { username } = user; - let { id, amount, hash, created, rate, type, ref, fee, currency } = tx; + let { id, amount, created, rate, type, ref, fee, currency } = tx; fee = fee || 0; let fiat = (Math.abs(amount) * rate) / sats; -- cgit v1.2.3 From cf29dcc02e2c9ac593d6e8f0aff2589b80ffa994 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Tue, 31 Jan 2023 19:56:31 -0800 Subject: prettier --- src/components/Numpad.svelte | 3 ++- src/components/Password.svelte | 4 ++-- src/components/Pin.svelte | 2 +- src/components/Qr.svelte | 2 +- src/lib/upload.js | 2 +- src/lib/utils.js | 2 +- src/routes/(app)/+layout.server.js | 6 +++--- src/routes/(app)/[username]/+layout.server.js | 4 ++-- src/routes/(app)/[username]/payments/[...page]/+page.svelte | 6 +++--- src/routes/(app)/[username]/payments/[...page]/+server.js | 2 +- src/routes/(app)/[username]/receive/[...param]/+page.svelte | 6 +++--- src/routes/(app)/[username]/settings/[...tab]/+page.svelte | 4 ++-- src/routes/(app)/[username]/settings/[...tab]/_account.svelte | 2 +- src/routes/(app)/invoice/[hash]/tip/+page.svelte | 2 +- src/routes/(app)/invoice/sent/+page.svelte | 2 +- src/routes/(app)/ln/[lnurl]/+page.server.js | 5 ++--- src/routes/(app)/ln/[lnurl]/+page.svelte | 4 ++-- src/routes/(app)/payment/[id]/+page.svelte | 4 +++- src/routes/(app)/pot/[name]/+page.svelte | 2 +- src/routes/(app)/send/bitcoin/[address]/[...amount]/+page.svelte | 2 +- 20 files changed, 34 insertions(+), 32 deletions(-) (limited to 'src') diff --git a/src/components/Numpad.svelte b/src/components/Numpad.svelte index d74255e0..4d869fa3 100644 --- a/src/components/Numpad.svelte +++ b/src/components/Numpad.svelte @@ -102,7 +102,8 @@ let sel = getSelection(); let i = sel.focusOffset; - let clean = html.substr(0,15) + let clean = html + .substr(0, 15) .replace(/[^0-9.,]+/g, '') .replace('.', 'F') .replace(/\./g, '') diff --git a/src/components/Password.svelte b/src/components/Password.svelte index 95a52cac..fd39441c 100644 --- a/src/components/Password.svelte +++ b/src/components/Password.svelte @@ -35,7 +35,7 @@ class="bg-primary" bind:value={password} autocapitalize="none" - use:focus + use:focus /> {:else} {/if}
diff --git a/src/lib/upload.js b/src/lib/upload.js index 899dbb0c..d8b27061 100644 --- a/src/lib/upload.js +++ b/src/lib/upload.js @@ -1,5 +1,5 @@ export const upload = async (file, type, progress, token) => { - console.log("TYPE", type) + console.log('TYPE', type); let url = `/api/upload/${type}`; let formData = new FormData(); formData.append('file', file); diff --git a/src/lib/utils.js b/src/lib/utils.js index e4b1194f..2b5dda90 100644 --- a/src/lib/utils.js +++ b/src/lib/utils.js @@ -137,7 +137,7 @@ export const login = async (user, cookies) => { let expires = new Date(); expires.setSeconds(expires.getSeconds() + maxAge); - let opts = { path: '/', expires } + let opts = { path: '/', expires }; cookies.set('username', user.username, opts); cookies.set('token', token, opts); }; diff --git a/src/routes/(app)/+layout.server.js b/src/routes/(app)/+layout.server.js index 4c09937c..11337c2a 100644 --- a/src/routes/(app)/+layout.server.js +++ b/src/routes/(app)/+layout.server.js @@ -15,9 +15,9 @@ export async function load({ cookies, request, url, params }) { } catch (e) {} } - if (user?.needsMigration) { - throw redirect(307, `/migrate`); - } + if (user?.needsMigration) { + throw redirect(307, `/migrate`); + } if (user && ['/', '/login', '/register'].includes(pathname) && request.method === 'GET') { throw redirect(307, `/${user.username}/dashboard`); diff --git a/src/routes/(app)/[username]/+layout.server.js b/src/routes/(app)/[username]/+layout.server.js index 8279698a..27502386 100644 --- a/src/routes/(app)/[username]/+layout.server.js +++ b/src/routes/(app)/[username]/+layout.server.js @@ -5,8 +5,8 @@ export let load = async ({ depends, params: { username } }) => { depends('app:user'); try { - let subject = await get(`/users/${username}`) - return { subject }; + let subject = await get(`/users/${username}`); + return { subject }; } catch (e) { console.log(e); throw error(500, 'Unable to retrieve user account data'); diff --git a/src/routes/(app)/[username]/payments/[...page]/+page.svelte b/src/routes/(app)/[username]/payments/[...page]/+page.svelte index 4a3f58f5..b46e31d6 100644 --- a/src/routes/(app)/[username]/payments/[...page]/+page.svelte +++ b/src/routes/(app)/[username]/payments/[...page]/+page.svelte @@ -59,9 +59,9 @@ payments = payments.map((p) => ({ ...p, created: new Date(p.created), - fiat: f((p.amount || 0) * p.rate / sats, p.currency), - fiatfee: f((p.fee || 0) * p.rate / sats, p.currency), - fiattip: f((p.tip || 0) * p.rate / sats, p.currency) + fiat: f(((p.amount || 0) * p.rate) / sats, p.currency), + fiatfee: f(((p.fee || 0) * p.rate) / sats, p.currency), + fiattip: f(((p.tip || 0) * p.rate) / sats, p.currency) })); let keys = [ diff --git a/src/routes/(app)/[username]/payments/[...page]/+server.js b/src/routes/(app)/[username]/payments/[...page]/+server.js index c33bd864..c7c5222d 100644 --- a/src/routes/(app)/[username]/payments/[...page]/+server.js +++ b/src/routes/(app)/[username]/payments/[...page]/+server.js @@ -12,7 +12,7 @@ export async function GET({ cookies, params }) { let url = `/payments?start=${start * 1000}`; if (end) url += `&end=${end * 1000}`; - + let { payments } = await get(url, auth(cookies)); return json({ payments }); } diff --git a/src/routes/(app)/[username]/receive/[...param]/+page.svelte b/src/routes/(app)/[username]/receive/[...param]/+page.svelte index 1fbd0584..7ca2770e 100644 --- a/src/routes/(app)/[username]/receive/[...param]/+page.svelte +++ b/src/routes/(app)/[username]/receive/[...param]/+page.svelte @@ -18,7 +18,7 @@ let { currency, username } = data.subject; let { user } = data; - let submit; + let submit;
@@ -34,9 +34,9 @@
- +

Anyone who knows the URL to this pot can add or take out funds

- {name} + {name}

diff --git a/src/routes/(app)/send/bitcoin/[address]/[...amount]/+page.svelte b/src/routes/(app)/send/bitcoin/[address]/[...amount]/+page.svelte index 0da8ea10..6b216cb3 100644 --- a/src/routes/(app)/send/bitcoin/[address]/[...amount]/+page.svelte +++ b/src/routes/(app)/send/bitcoin/[address]/[...amount]/+page.svelte @@ -40,7 +40,7 @@ - + -- cgit v1.2.3 From 7611315ae6de9bf9592bfd65d841aa2b33d06e57 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Tue, 31 Jan 2023 23:11:49 -0800 Subject: classic payments --- .../(app)/[username]/payments/[...page]/+page.svelte | 14 +++++++------- src/routes/(app)/invoice/[hash]/+layout.server.js | 2 +- src/routes/(app)/send/[...text]/+page.server.js | 5 +++++ src/routes/(app)/send/[uuid=uuid]/+page.server.js | 2 +- 4 files changed, 14 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/routes/(app)/[username]/payments/[...page]/+page.svelte b/src/routes/(app)/[username]/payments/[...page]/+page.svelte index b46e31d6..c9731299 100644 --- a/src/routes/(app)/[username]/payments/[...page]/+page.svelte +++ b/src/routes/(app)/[username]/payments/[...page]/+page.svelte @@ -59,9 +59,9 @@ payments = payments.map((p) => ({ ...p, created: new Date(p.created), - fiat: f(((p.amount || 0) * p.rate) / sats, p.currency), - fiatfee: f(((p.fee || 0) * p.rate) / sats, p.currency), - fiattip: f(((p.tip || 0) * p.rate) / sats, p.currency) + amount_fiat: f((p.amount * p.rate) / sats, p.currency), + fee_fiat: p.fee ? f((p.fee * p.rate) / sats, p.currency) : null, + tip_fiat: p.tip ? f((p.tip * p.rate) / sats, p.currency) : null })); let keys = [ @@ -73,9 +73,9 @@ 'amount', 'fee', 'tip', - 'fiat', - 'fiatfee', - 'fiattip' + 'amount_fiat', + 'fee_fiat', + 'tip_fiat' ]; let csv = @@ -191,7 +191,7 @@
{#if p.type === types.lightning}
⚡️
- {:else} + {:else if p.type === types.bitcoin}
{ } catch (e) {} } + if (t.endsWith('@classic')) { + ({ uuid: id } = await get(`/invoice/classic/${t.replace('@classic', '')}`)); + if (id) throw redirect(307, `/send/${id}`); + } + if (t.includes('/pot')) throw redirect(307, t.substring(t.indexOf('/pot'))); if (t.toLowerCase().startsWith('lnurl')) throw redirect(307, `/ln/${t}`); diff --git a/src/routes/(app)/send/[uuid=uuid]/+page.server.js b/src/routes/(app)/send/[uuid=uuid]/+page.server.js index 7fa613bf..a59853d3 100644 --- a/src/routes/(app)/send/[uuid=uuid]/+page.server.js +++ b/src/routes/(app)/send/[uuid=uuid]/+page.server.js @@ -4,7 +4,7 @@ import { btc as asset, auth, get, post } from '$lib/utils'; export async function load({ params, parent }) { let { user } = await parent(); - let { amount, address, tip, text, user: recipient } = await get(`/invoice/${params.id}`); + let { amount, address, tip, text, user: recipient } = await get(`/invoice/${params.uuid}`); if (recipient.username === user.username) throw error(500, { message: 'Cannot send to self' }); if (tip) amount += tip; return { amount, address, payreq: text, recipient }; -- cgit v1.2.3 From 5085ef51412bc4d1e18bdabf29cd9fe3f7183e1c Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Wed, 1 Feb 2023 10:00:33 -0800 Subject: numpad decimal fix --- src/components/Numpad.svelte | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src') diff --git a/src/components/Numpad.svelte b/src/components/Numpad.svelte index 4d869fa3..5ffaa2ea 100644 --- a/src/components/Numpad.svelte +++ b/src/components/Numpad.svelte @@ -94,7 +94,7 @@ let prev = ''; let input = (e) => { - if (prev === '0') { + if (prev === '0' && html !== '0.') { prev = ''; html = html.replace('0', ''); } @@ -139,7 +139,6 @@ let node = e.target.childNodes[0]; let range = document.createRange(); - console.log('NODE', node, i); if (node) { range.setStart(node, i); range.setEnd(node, i); -- cgit v1.2.3