From 9360ca6806332a9c7e3a2e11f0b973511493c192 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Wed, 16 Sep 2026 21:27:00 -0700 Subject: Pay from a profile opens the Send form, not a lingering payment detail. A tapped history row claims the whole tab area whichever tab is picked, so jumping to ui.tab = 'send' from a profile's Pay button (or a zap's form fallback) with a renewal's detail still open showed that detail instead of the form. showSend() closes any open detail first; the three feature paths that jump to Send use it. Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01JuwQqNWtDJcxPWtEm9134z --- src/app.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/app.js') diff --git a/src/app.js b/src/app.js index 9f17878..0e5ed9c 100644 --- a/src/app.js +++ b/src/app.js @@ -112,6 +112,17 @@ const ui = { busy: false, }; +// Take the wallet to the Send pane: any payment detail left open (a tapped +// history row — which claims the whole tab area, whichever tab is picked) +// closes first. A feature that jumped straight to ui.tab = 'send' used to +// land on a renewal's detail card instead of the form. +function showSend() { + ui.txDetail = null; ui.arkMoveDetail = null; ui.arkReconDetail = null; ui.arkExitDetail = null; ui.giftDetail = null; + ui.bump = null; + ui.sendError = ''; + ui.tab = 'send'; +} + function blankSend() { return { recipients: [{ address: '', amount: '' }], @@ -5315,7 +5326,7 @@ async function importSnapshotFile(e) { // sits just before boot so every helper it captures is defined; the hooks are // only invoked at runtime (first render happens after loadLocale below). const ctx = { - h, ui, render, wallet, toast, copy, copyBtn, pasteBtn, blankSend, goBack, goHome, openExternal, + h, ui, render, wallet, toast, copy, copyBtn, pasteBtn, blankSend, goBack, goHome, openExternal, showSend, fmtAmount, unitLabel, unitTag, getUnit: () => unit, toggleUnit, download, // in fiat the typed figure is money, so it needs today's price to become sats parseAmount: (v, u) => parseAmount(v, u, rateNow()), -- cgit v1.2.3