From bee96ca44e871b0482012be50e8e7686f534c5a3 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Tue, 12 Nov 2024 23:36:15 -0800 Subject: lightning bolt --- src/components/Balance.svelte | 2 +- src/components/InvoiceData.svelte | 34 +++++++----- src/components/InvoiceTypes.svelte | 16 +++--- src/lib/utils.ts | 9 ++-- src/routes/(app)/[username]/receive/+page.svelte | 3 +- src/routes/(app)/invoice/[id]/+layout.server.ts | 2 +- src/routes/(app)/invoice/[id]/+page.svelte | 2 +- src/routes/(app)/payment/[id]/+page.svelte | 67 +++++++++--------------- src/routes/(app)/payments/[...page]/+page.svelte | 4 +- 9 files changed, 63 insertions(+), 76 deletions(-) (limited to 'src') diff --git a/src/components/Balance.svelte b/src/components/Balance.svelte index 0129d1ab..ebd46f44 100644 --- a/src/components/Balance.svelte +++ b/src/components/Balance.svelte @@ -34,7 +34,7 @@ {#if isNaN(rate)}
—
{:else} - {f(fiat(balance, rate))} {user.currency} + {f(fiat(balance, rate), user.currency)} {/if} {/if} diff --git a/src/components/InvoiceData.svelte b/src/components/InvoiceData.svelte index 2298d150..c6721829 100644 --- a/src/components/InvoiceData.svelte +++ b/src/components/InvoiceData.svelte @@ -10,7 +10,7 @@ amountFiat, currency, tip, - rate + rate, } = $props(); @@ -49,23 +49,31 @@ {#if amount > 0}
-
- {f(amountFiat, currency)} +
+
{f(amountFiat, currency)}
{#if tip} - - +{f(tip * (rate / sats), currency)} - +
+
+
+
{f(tip * (rate / sats), currency)}
+
{/if}
-
- ⚡️{`${s(amount)}`} - +
+
+ +
+ {`${s(amount)}`} +
+
{#if tip} - - +⚡️{s(tip)} - +
+
+
+ +
{s(tip)}
+
{/if}
diff --git a/src/components/InvoiceTypes.svelte b/src/components/InvoiceTypes.svelte index cdd01aac..4dae235a 100644 --- a/src/components/InvoiceTypes.svelte +++ b/src/components/InvoiceTypes.svelte @@ -1,15 +1,8 @@ -{#if aid === user?.id} +{#if invoice.uid === aid}
diff --git a/src/lib/utils.ts b/src/lib/utils.ts index 9830844a..f6b11df0 100644 --- a/src/lib/utils.ts +++ b/src/lib/utils.ts @@ -200,12 +200,15 @@ export const fd = async (req: Request): Promise => { return obj; }; -export const f = (s: number): string => +export const f = (s: number, currency: string): string => new Intl.NumberFormat("en-US", { - style: "decimal", + style: "currency", + currency, minimumFractionDigits: 2, maximumFractionDigits: 2, - }).format(s); + }) + .format(s) + .replace("CA", ""); export const s = (s: number): string => new Intl.NumberFormat("en-US", { maximumFractionDigits: 0 }).format(s); diff --git a/src/routes/(app)/[username]/receive/+page.svelte b/src/routes/(app)/[username]/receive/+page.svelte index 56bb1f92..17cb4f09 100644 --- a/src/routes/(app)/[username]/receive/+page.svelte +++ b/src/routes/(app)/[username]/receive/+page.svelte @@ -34,6 +34,7 @@ aid, type: types.lightning, items: [], + uid: subject.id, user: subject, }); let amount = $state(), @@ -115,7 +116,7 @@ t={$t} /> - +
- +
- import { run } from 'svelte/legacy'; + import { run } from "svelte/legacy"; import { browser } from "$app/environment"; import { onMount, tick } from "svelte"; @@ -87,7 +87,8 @@ } }; - let txid = $state(), vout = $state(); + let txid = $state(), + vout = $state(); if (amount > 0) [txid, vout] = ref.split(":"); else txid = hash; @@ -104,6 +105,21 @@ }); +{#snippet field(title, amount)} +
+ {$t(title)} +
+
+ {amount} +
+ + {f(fiat(amount, rate), currency)} + +
+
+{/snippet} +

{$t(amount < 0 ? "payments.sent" : "payments.received")} @@ -135,53 +151,18 @@

{/if} -
- {$t("payments.amount")} -
- {f(fiat(a, rate), currency)} - - ⚡️{s(a)} - -
-
- {#if tip} -
- {$t("invoice.tip")} -
- {f(fiat(tip, rate), currency)} - ({Math.round((tip * 100) / Math.abs(a))}%) - - ⚡️{s(tip)} - -
-
+ {@render field("payments.amount", a)} -
- {$t("payments.total")} -
- {f(fiat(a + (tip || 0), rate), currency)} - ⚡️{`${s(a + (tip || 0))}`} -
-
+ {#if tip} + {@render field("invoice.tip", tip)} + {@render field("payments.total", a + (tip || 0))} {/if} -
- {$t("payments.networkFee")} -
- {f(fiat(fee, rate), currency)} - ⚡️{`${s(fee)}`} -
-
+ {@render field("payments.networkFee", fee)} {#if ourfee > 0} -
- {$t("payments.platformFee")} -
- {f(fiat(ourfee, rate), currency)} - ⚡️{`${s(ourfee)}`} -
-
+ {@render field("payments.platformFee", ourfee)} {/if}
diff --git a/src/routes/(app)/payments/[...page]/+page.svelte b/src/routes/(app)/payments/[...page]/+page.svelte index 41433757..e967022f 100644 --- a/src/routes/(app)/payments/[...page]/+page.svelte +++ b/src/routes/(app)/payments/[...page]/+page.svelte @@ -1,6 +1,5 @@