From 6fb699510388f286a0e661d4ecb15be09d20506a Mon Sep 17 00:00:00 2001 From: Jon Staab Date: Wed, 25 Feb 2026 14:25:59 -0800 Subject: [PATCH] Add manual invoice payment --- .fdignore | 1 + src/app/components/ZapButton.svelte | 4 +- src/app/components/ZapInvoice.svelte | 224 +++++++++++++++++++++++++++ 3 files changed, 227 insertions(+), 2 deletions(-) create mode 100644 src/app/components/ZapInvoice.svelte diff --git a/.fdignore b/.fdignore index 2af7ced2..8d2a3cfa 100644 --- a/.fdignore +++ b/.fdignore @@ -1,4 +1,5 @@ src/assets +target build .idea .gradle diff --git a/src/app/components/ZapButton.svelte b/src/app/components/ZapButton.svelte index 64ac9e21..d4b1aa9c 100644 --- a/src/app/components/ZapButton.svelte +++ b/src/app/components/ZapButton.svelte @@ -4,8 +4,8 @@ import {session, loadZapperForPubkey} from "@welshman/app" import Button from "@lib/components/Button.svelte" import Zap from "@app/components/Zap.svelte" + import ZapInvoice from "@app/components/ZapInvoice.svelte" import InfoZapperError from "@app/components/InfoZapperError.svelte" - import WalletConnect from "@app/components/WalletConnect.svelte" import {pushModal} from "@app/util/modal" type Props = { @@ -31,7 +31,7 @@ } else if ($session?.wallet) { pushModal(Zap, {url, pubkey: event.pubkey, eventId: event.id}, {replaceState}) } else { - pushModal(WalletConnect, {}, {replaceState}) + pushModal(ZapInvoice, {url, pubkey: event.pubkey, eventId: event.id}, {replaceState}) } } finally { loading = false diff --git a/src/app/components/ZapInvoice.svelte b/src/app/components/ZapInvoice.svelte new file mode 100644 index 00000000..4ed10534 --- /dev/null +++ b/src/app/components/ZapInvoice.svelte @@ -0,0 +1,224 @@ + + + + + + Send a Zap + To + + + {#if invoice} +
+ +

+ Scan with your wallet, or copy the invoice manually. +

+
+ + {:else} + + {#snippet label()} + Emoji Reaction + {/snippet} + {#snippet input()} +
+ + {content} + +
+ {/snippet} +
+ + {#snippet label()} + Amount + {/snippet} + {#snippet input()} +
+ +
+ {/snippet} +
+ +

+ Want to zap directly? + +

+ {/if} +
+ + + {#if !invoice} + + {/if} + +