aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-08-28 12:44:24 -0700
committerAdam Soltys <[email protected]>2026-08-28 12:44:24 -0700
commitfe48e973786dabff477c59d55a8dd4b291a1b555 (patch)
treeac206f920c13813bcfeee97e7b315d05d902752f /src
parent04343d96e06d11d40fa79bad576951e4951367da (diff)
downloadcoinosv3-fe48e973786dabff477c59d55a8dd4b291a1b555.tar.gz
coinosv3-fe48e973786dabff477c59d55a8dd4b291a1b555.zip
The details page honors the rail you rode: a Lightning payment keeps its bolt on the detail view instead of confessing the ark underneath, and the preimage — the receipt merchants actually ask for — is shown and copyable
Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_019eA8JRq9Wr7z2fRQk99HLi
Diffstat (limited to 'src')
-rw-r--r--src/features/ark.js7
-rw-r--r--src/i18n.js2
2 files changed, 8 insertions, 1 deletions
diff --git a/src/features/ark.js b/src/features/ark.js
index 2a92e8c..2695183 100644
--- a/src/features/ark.js
+++ b/src/features/ark.js
@@ -880,7 +880,9 @@ export function arkFeature(ctx) {
'div',
{ class: 'card col', style: 'gap:10px' },
h('div', { class: 'row gap6', style: 'align-items:center' },
- h('span', { html: ARK_ICON(18) }),
+ // the rail the user chose is the one to show: a payment SENT over
+ // Lightning stays Lightning here, however it settled underneath
+ m.type.startsWith('ln-') ? h('span', { style: 'font-size:18px' }, '⚡') : h('span', { html: ARK_ICON(18) }),
h('h3', { style: 'margin:0' }, label),
m.status !== 'complete' ? h('span', { class: 'tag pending' }, m.status) : null),
h('div', { class: incoming ? 'amount-pos' : 'amount-neg', style: 'font-size:20px' },
@@ -898,6 +900,9 @@ export function arkFeature(ctx) {
m.to ? row(t('arkPayTo'), shortAddr(m.to, 16, 12)) : null,
m.vtxoId ? row(t('arkVtxoId'), shortTxid(m.vtxoId)) : null,
m.detail ? row(t('detailsLabel'), m.detail) : null,
+ // proof of payment: the preimage is what a merchant asks for
+ m.preimage ? row(t('preimageLabel'), shortTxid(m.preimage)) : null,
+ m.preimage ? copyBtn(m.preimage, t('copyPreimage')) : null,
// A send that funded a bearer gift: show its fate, and while unclaimed
// offer the link again plus the sweep-back — same powers the gift card
// has, where the sender will actually go looking for them: history.
diff --git a/src/i18n.js b/src/i18n.js
index 0081da8..a7b09ae 100644
--- a/src/i18n.js
+++ b/src/i18n.js
@@ -525,6 +525,8 @@ const STR = {
arkExitBtn: 'Move to Savings without the server',
arkExitStarted: 'Unilateral exit started for {n} coin(s) — broadcasting the exit chain.',
arkExitNoFeeCoin: 'This needs a little in Savings to pay the mining fees.',
+ preimageLabel: 'Preimage',
+ copyPreimage: 'Copy preimage',
arkExitSummary: 'Moving {n} sats to Savings on-chain — about {eta} until it lands.',
arkExitViewTx: 'View on block explorer',
arkExitSoon: 'soon',