diff options
| author | Adam Soltys <[email protected]> | 2026-08-18 00:04:55 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-08-18 00:04:55 -0700 |
| commit | 017fa4ea4484f9eee988f1f73ed982ec34519748 (patch) | |
| tree | 437af1c37afa3ce6088a709eac0945378ff62cdb /src/features | |
| parent | 3a0e45efce65c368dcb38e8f92a250379fc0e39a (diff) | |
| download | coinosv3-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.js | 14 |
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) { |
