When using bolt11 show how much the user is paying

This commit is contained in:
Danny Morabito 2025-08-05 18:59:22 +02:00
parent 566e0f5a3d
commit be7a1f919f
Signed by: dannym
GPG key ID: 7CC8056A5A04557E

View file

@ -10,11 +10,13 @@
let amountSat = $state<number | "">("");
let status = $state("");
let isBolt11 = $state(false);
let requireAmount = $state(false);
$effect(() => {
(async () => {
isBolt11 = false;
if (!destination.trim()) {
requireAmount = false;
return;
@ -29,7 +31,8 @@
parsed.invoice.amountMsat > 0
) {
requireAmount = false;
amountSat = "";
amountSat = Math.floor(parsed.invoice.amountMsat / 1000);
isBolt11 = true;
} else {
requireAmount = true;
}
@ -45,7 +48,7 @@
if (!$walletState.open) throw new Error("Wallet not open");
const sendGenerator = $walletState.wallet.pay(
destination,
Number(amountSat) || 0
Number(amountSat) || 0,
);
for await (const {
status: sendStatus,
@ -130,6 +133,8 @@
placeholder="amount in sats"
/>
</label>
{:else if isBolt11}
<p>Paying {amountSat} sats</p>
{/if}
{#if status}