aboutsummaryrefslogtreecommitdiffstats
path: root/src/features
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-08-18 00:04:55 -0700
committerAdam Soltys <[email protected]>2026-08-18 00:04:55 -0700
commit017fa4ea4484f9eee988f1f73ed982ec34519748 (patch)
tree437af1c37afa3ce6088a709eac0945378ff62cdb /src/features
parent3a0e45efce65c368dcb38e8f92a250379fc0e39a (diff)
downloadcoinosv3-017fa4ea4484f9eee988f1f73ed982ec34519748.tar.gz
coinosv3-017fa4ea4484f9eee988f1f73ed982ec34519748.zip
The on-chain send from Spending shows both doors: the cooperative exit it always was, with the unilateral hatch one quiet link away — promoted to a button the moment the server stops cooperating
Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01JtaatFfAbx91Nh3xqKVqKz
Diffstat (limited to 'src/features')
-rw-r--r--src/features/ark.js14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/features/ark.js b/src/features/ark.js
index cdac6c4..11ebc5c 100644
--- a/src/features/ark.js
+++ b/src/features/ark.js
@@ -1747,7 +1747,19 @@ export function arkFeature(ctx) {
const sats = parseInt(o.amount, 10) || spendable;
if (!sats || sats <= 0 || sats > spendable) { ui.arkError = t('enterValidAmtForN', { n: 1 }); render(); return; }
doArkOffboard(sats >= spendable ? 0 : sats, o.address);
- } }, t('send'))));
+ } }, t('send'))),
+ // This send IS the cooperative exit. The trustless door stays visible —
+ // quiet while things work, promoted to a button the moment the server
+ // fails to cooperate (that being the whole point of a unilateral exit).
+ ui.arkError && ui.arkBusy !== 'offboard'
+ ? h('button', {
+ class: 'btn-block',
+ onClick: () => { ui.arkOffboardSend = null; ui.arkError = ''; ui.arkExitPage = true; render(); },
+ }, t('arkUniOffer'))
+ : h('button', {
+ class: 'linklike small', style: 'align-self:center',
+ onClick: () => { ui.arkOffboardSend = null; ui.arkError = ''; ui.arkExitPage = true; render(); },
+ }, t('arkUniOfferQuiet')));
}
async function doArkOffboard(amountSat, destAddress = null) {