aboutsummaryrefslogtreecommitdiffstats
path: root/src/features/zaps.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-09-05 00:17:57 -0700
committerAdam Soltys <[email protected]>2026-09-05 00:17:57 -0700
commitaa67ba1c15ce761666342e16a3194d3b5b0a4167 (patch)
tree32325bc7cb66de75e2933c13b8061a9f7932a0cd /src/features/zaps.js
parent6d0baaebb09602305bf1cad3110d59323cce3c1a (diff)
downloadcoinosv3-aa67ba1c15ce761666342e16a3194d3b5b0a4167.tar.gz
coinosv3-aa67ba1c15ce761666342e16a3194d3b5b0a4167.zip
Chat goes full-bleed on phones like the notes feed — the home list, community rooms and DM threads (now sharing a chat-page class) drop their card walls and run edge to edge under 520px — and the type steps up a notch: bubbles 14→15px, names 13→14px, timestamps 11→12px. Plus: a fixed-price LNURL (minSendable == maxSendable — bolt-card top-ups, paywalls, static charges) no longer prompts for an amount — resolve() fills it and locks the field via the same fixedSat machinery fixed-amount BOLT 12 offers already use (disabled input, adjusted hints, confirm bypass)
Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01MGzU12QrAA4G6BYGzGVdXz
Diffstat (limited to 'src/features/zaps.js')
-rw-r--r--src/features/zaps.js7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/features/zaps.js b/src/features/zaps.js
index 03b80e1..7148df1 100644
--- a/src/features/zaps.js
+++ b/src/features/zaps.js
@@ -121,6 +121,13 @@ export function zapsFeature(ctx) {
}
const params = await fetchPayParams(target.url);
if (ui.zap !== z) return; // user navigated away
+ // A fixed-price LNURL (min == max — a bolt-card top-up, a paywall, a
+ // static charge) has no amount to ask for: fill it and lock the field,
+ // exactly like a fixed-amount BOLT 12 offer.
+ if (params.minSendable === params.maxSendable && params.minSendable >= 1000) {
+ params.fixedSat = Math.ceil(params.minSendable / 1000);
+ z.amount = getUnit() === 'sats' ? String(params.fixedSat) : (params.fixedSat / 1e8).toFixed(8);
+ }
z.params = params;
z.status = 'ready';
render();