From 29ed3a4366eb9719d32dac390764bf119c40afff Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Sun, 22 Jan 2023 21:03:57 -0800 Subject: rename txns --- src/lib/socket.js | 6 +-- src/lib/store.js | 28 +++++----- .../[username]/payments/[...page]/+page.svelte | 51 +++++++++--------- src/routes/(app)/payment/[id]/+page.server.js | 6 +++ src/routes/(app)/payment/[id]/+page.svelte | 62 ++++++++++++++++++++++ .../bitcoin/[address]/[...amount]/+page.server.js | 5 +- .../(app)/send/lightning/[payreq]/+page.server.js | 3 ++ .../(app)/send/lightning/[payreq]/+page.svelte | 14 ++++- src/routes/(app)/tx/[id]/+page.server.js | 6 --- src/routes/(app)/tx/[id]/+page.svelte | 62 ---------------------- 10 files changed, 129 insertions(+), 114 deletions(-) create mode 100644 src/routes/(app)/payment/[id]/+page.server.js create mode 100644 src/routes/(app)/payment/[id]/+page.svelte delete mode 100644 src/routes/(app)/tx/[id]/+page.server.js delete mode 100644 src/routes/(app)/tx/[id]/+page.svelte (limited to 'src') diff --git a/src/lib/socket.js b/src/lib/socket.js index 86083974..4044d2a2 100644 --- a/src/lib/socket.js +++ b/src/lib/socket.js @@ -6,7 +6,7 @@ import { newPayment, last, rate, - txns, + payments, user } from '$lib/store'; import { success, sat } from '$lib/utils'; @@ -60,9 +60,9 @@ export const messages = (data) => ({ let { amount, invoice } = data; invalidate('app:invoice'); - let payments = get(txns); + let payments = get(payments); let i = payments.findIndex((p) => p.id === data.id); - if (~i) (payments[i] = data), txns.set(payments); + if (~i) (payments[i] = data), payments.set(payments); else newPayment.set(true); invalidate((url) => url.pathname === '/payments'); diff --git a/src/lib/store.js b/src/lib/store.js index e4d017b8..5d83a74c 100644 --- a/src/lib/store.js +++ b/src/lib/store.js @@ -32,22 +32,22 @@ const persistLocal = (key, defaultValue) => { return s; }; -export const requestRedirect = writable(); -export const loginRedirect = writable(); -export const rate = writable(); -export const user = writable(); -export const selectedRate = writable(); -export const token = persistSession('token'); -export const newPayment = persistLocal('newPayment'); -export const colorTheme = writable('from-primary to-gradient'); export const avatarUpload = writable(); export const bannerUpload = writable(); -export const pin = persistSession('pin', undefined); -export const last = writable(); -export const request = writable(); -export const invoice = writable(); -export const txns = persistLocal('transactions', []); +export const colorTheme = writable('from-primary to-gradient'); export const events = writable({}); +export const invoice = writable(); +export const last = writable(); +export const loginRedirect = writable(); +export const messages = persistLocal('messages', {}); +export const newPayment = persistLocal('newPayment'); export const password = persistLocal('password'); export const passwordPrompt = writable(); -export const messages = persistLocal('messages', {}); +export const payments = persistLocal('transactions', []); +export const pin = persistSession('pin', undefined); +export const rate = writable(); +export const request = writable(); +export const requestRedirect = writable(); +export const selectedRate = writable(); +export const token = persistSession('token'); +export const user = writable(); diff --git a/src/routes/(app)/[username]/payments/[...page]/+page.svelte b/src/routes/(app)/[username]/payments/[...page]/+page.svelte index 24f7cf6e..e28ade67 100644 --- a/src/routes/(app)/[username]/payments/[...page]/+page.svelte +++ b/src/routes/(app)/[username]/payments/[...page]/+page.svelte @@ -2,7 +2,7 @@ import { Avatar, Icon } from '$comp'; import { onMount } from 'svelte'; import { format, parseISO } from 'date-fns'; - import { newPayment, txns } from '$lib/store'; + import { newPayment, payments } from '$lib/store'; import { t } from '$lib/translations'; import { f, s, sat, sats } from '$lib/utils'; import { page } from '$app/stores'; @@ -20,10 +20,10 @@ let { start, end, user } = data; let change = ({ target: { value } }) => goto(value); - let link = (tx) => { - if (tx.redeemcode) return `/voucher/${tx.redeemcode}`; - if (tx.with) return '/' + tx.with.username; - return `/tx/${tx.hash}`; + let link = (p) => { + if (p.pot) return `/pot/${p.pot}`; + if (p.with) return '/' + p.with.username; + return `/p/${p.id}`; }; let presets = [ @@ -39,9 +39,8 @@ let p, total, - payments = [], pages = []; - $: data && ({ page: p, pages, start, end, total, payments: $txns } = data); + $: data && ({ page: p, pages, start, end, total, payments: $payments } = data); $: $page && ($newPayment = false); $: $newPayment && invalidate(`/users/${user.username}`); @@ -55,7 +54,7 @@ const csv = keys.map((k) => `"${k}"`).join(',') + '\n' + - $txns.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 blob = new Blob([csv], { type: 'text/csv;charset=utf-8;' }); @@ -112,34 +111,34 @@
- {#each $txns as tx} - + {#each $payments as p} +
- {f(tx.amount * (tx.rate / sats), tx.currency)} + {f(p.amount * (p.rate / sats), p.currency)} - {#if tx.tip} + {#if p.tip} - +{f(tx.tip * (tx.rate / sats), tx.currency)} + +{f(p.tip * (p.rate / sats), p.currency)} {/if}
- {sat(tx.amount)} + {sat(p.amount)} - {#if tx.tip} + {#if p.tip} - +{sat(tx.tip)} + +{sat(p.tip)} {/if}
- {#if tx.type === types.pot} - + {#if p.type === types.pot} +
@@ -148,18 +147,18 @@
Pot
- {:else if tx.type === types.internal} - + {:else if p.type === types.internal} +
- +
-
{tx.with.username}
+
{p.with.username}
{:else}
- {#if tx.type === 'lightning'} + {#if p.type === types.lightning}
⚡️
{:else}
@@ -168,7 +167,7 @@ {/if}
- {tx.amount > 0 ? (tx.confirmed ? 'Received' : 'Pending') : 'Sent'} + {p.amount > 0 ? (p.confirmed ? 'Received' : 'Pending') : 'Sent'}
{/if} @@ -176,10 +175,10 @@
- {format(new Date(tx.created), 'h:mm aaa')} + {format(new Date(p.created), 'h:mm aaa')}
- {format(new Date(tx.created), 'MMM d')} + {format(new Date(p.created), 'MMM d')}
diff --git a/src/routes/(app)/payment/[id]/+page.server.js b/src/routes/(app)/payment/[id]/+page.server.js new file mode 100644 index 00000000..cbd7355e --- /dev/null +++ b/src/routes/(app)/payment/[id]/+page.server.js @@ -0,0 +1,6 @@ +import { auth, get } from '$lib/utils'; + +export async function load({ cookies, params }) { + let tx = await get(`/payments/${params.id}`, auth(cookies)); + return { tx }; +} diff --git a/src/routes/(app)/payment/[id]/+page.svelte b/src/routes/(app)/payment/[id]/+page.svelte new file mode 100644 index 00000000..9c0afaac --- /dev/null +++ b/src/routes/(app)/payment/[id]/+page.svelte @@ -0,0 +1,62 @@ + + + + +
+

+ {$t(amount < 0 ? 'payments.sent' : 'payments.received')} +

+ +
+
{$t('payments.amount')}
+
+ {f(fiat, currency)} + ⚡️{`${s(Math.abs(amount) + fee)}`} +
+
+ +
+
{$t('payments.date')}
+
+ {format(new Date(created), 'MMMM d')}, + {format(new Date(created), 'h:mm aaa')} +
+
+ + {#if type === 'lightning'} +
+
{$t('payments.preimage')}
+
+ {preimage} +
+
+ {:else} +
+
{$t('payments.id')}
+
+
+ {id} +
+ +
+
+ {/if} +
diff --git a/src/routes/(app)/send/bitcoin/[address]/[...amount]/+page.server.js b/src/routes/(app)/send/bitcoin/[address]/[...amount]/+page.server.js index 642593ab..066043e7 100644 --- a/src/routes/(app)/send/bitcoin/[address]/[...amount]/+page.server.js +++ b/src/routes/(app)/send/bitcoin/[address]/[...amount]/+page.server.js @@ -4,9 +4,10 @@ import { auth, post } from '$lib/utils'; export const actions = { default: async ({ cookies, request }) => { try { + let feeRate, subtract; let { address, amount, pin } = Object.fromEntries(await request.formData()); - let { tx } = await post('/bitcoin/fee', { address, amount }, auth(cookies)); - await post('/bitcoin/send', { address, pin, tx }, auth(cookies)); + let { tx } = await post('/bitcoin/fee', { address, amount, feeRate, subtract }, auth(cookies)); + await post('/bitcoin/send', { pin, tx }, auth(cookies)); } catch (e) { return invalid(400, { message: e.message }); } diff --git a/src/routes/(app)/send/lightning/[payreq]/+page.server.js b/src/routes/(app)/send/lightning/[payreq]/+page.server.js index 2ae693aa..a72e1c07 100644 --- a/src/routes/(app)/send/lightning/[payreq]/+page.server.js +++ b/src/routes/(app)/send/lightning/[payreq]/+page.server.js @@ -9,11 +9,14 @@ export const actions = { setAmount: async ({ cookies, request }) => { return Object.fromEntries(await request.formData()); }, + send: async ({ cookies, request }) => { try { let body = Object.fromEntries(await request.formData()); let { amount, confirmed } = body; + console.log("AMOUNT", amount); + if (!confirmed) { return invalid(403, { amount, confirm: true }); } diff --git a/src/routes/(app)/send/lightning/[payreq]/+page.svelte b/src/routes/(app)/send/lightning/[payreq]/+page.svelte index 6fff5665..76ab432f 100644 --- a/src/routes/(app)/send/lightning/[payreq]/+page.svelte +++ b/src/routes/(app)/send/lightning/[payreq]/+page.svelte @@ -15,6 +15,7 @@ let { currency } = data.user; let amount = form?.amount || data.amount; let a; + let maxfee = 100; let loading; let submit = () => (loading = true); @@ -46,12 +47,23 @@

{alias}

-
+ +
+ + + +
+ sats +
+
+
- -
-

- {$t(amount < 0 ? 'payments.sent' : 'payments.received')} -

- -
-
{$t('payments.amount')}
-
- {f(fiat, currency)} - ⚡️{`${s(Math.abs(amount) + fee)}`} -
-
- -
-
{$t('payments.date')}
-
- {format(new Date(created), 'MMMM d')}, - {format(new Date(created), 'h:mm aaa')} -
-
- - {#if type === 'lightning'} -
-
{$t('payments.preimage')}
-
- {preimage} -
-
- {:else} -
-
{$t('payments.id')}
-
-
- {hash} -
- -
-
- {/if} -
-- cgit v1.2.3