aboutsummaryrefslogtreecommitdiffstats
path: root/src/features
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-07-06 07:45:47 -0700
committerAdam Soltys <[email protected]>2026-07-06 07:45:47 -0700
commit63a203b861f1c2e4cd6fe0cd9e77448bf4ac1ee2 (patch)
treea8dce7d1346ffa7838188d8c92a7bfd93e6e44b0 /src/features
parentd6da40c92ee8e76708b9230c404688c431f879a0 (diff)
downloadcoinosv3-63a203b861f1c2e4cd6fe0cd9e77448bf4ac1ee2.tar.gz
coinosv3-63a203b861f1c2e4cd6fe0cd9e77448bf4ac1ee2.zip
Ark icon: Second's logo instead of the crossed-swords placeholder
The ⚔ was a U+2694 emoji stand-in. Swap in Second's actual mark (second.tech logo: a triangle with an evenodd inner cutout) as two format.js helpers — ARK_ICON (dark rounded-square app badge + white mark, for card/section headers) and ARK_MARK (bare currentColor glyph, for the history-row circle). Wired into the Ark settings card, the boarding/withdrawal/exit history rows + detail section, and the How-it-works Ark section; the gift source toggle drops the emoji for plain 'Ark'. Verified the badge renders (18px, #00090C square, white evenodd mark). Co-Authored-By: Claude Fable 5 <[email protected]>
Diffstat (limited to 'src/features')
-rw-r--r--src/features/ark.js12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/features/ark.js b/src/features/ark.js
index 961b1a0..db7debb 100644
--- a/src/features/ark.js
+++ b/src/features/ark.js
@@ -14,7 +14,7 @@ import { utxoId } from '../wallet.js';
import { getNetwork, setNetwork, arkPresets, getArkProviderId, setArkProviderId, getArkCustom, setArkCustom, getArkConfig } from '../api.js';
import { t } from '../i18n.js';
import { qrSvg } from '../qr.js';
-import { shortAddr, shortTxid, timeAgo } from '../format.js';
+import { shortAddr, shortTxid, timeAgo, ARK_ICON, ARK_MARK } from '../format.js';
// t?ark1… bech32m — an Ark address for this or another ASP.
export function isArkAddress(a) { return /^t?ark1[a-z0-9]{20,}$/i.test((a || '').trim()); }
@@ -326,7 +326,7 @@ export function arkFeature(ctx) {
render();
};
const head = [
- h('h3', {}, '⚔ Ark'),
+ h('h3', { class: 'row gap6', style: 'align-items:center' }, h('span', { html: ARK_ICON(18) }), 'Ark'),
h('p', { class: 'small muted', style: 'margin:0' }, t('arkDesc')),
h('select', { onChange: (e) => applyProvider(e.target.value) },
presets.map((p) => h('option', { value: p.id, selected: p.id === id }, p.label))),
@@ -1051,12 +1051,12 @@ export function arkFeature(ctx) {
if (!ark || !ark.state) return null;
if (tx.net < 0) {
const a = ark.state.actions.find((x) => x.type === 'board' && x.fundingTxid === tx.txid);
- return a ? { icon: '⚔', label: h('span', {}, t('arkBoardHistory')) } : null;
+ return a ? { icon: h('span', { html: ARK_MARK(16) }), label: h('span', {}, t('arkBoardHistory')) } : null;
}
const o = ark.state.actions.find((x) => x.type === 'offboard' && x.txid === tx.txid);
- if (o) return { icon: '⚔', label: h('span', {}, t('arkOffboardHistory')) };
+ if (o) return { icon: h('span', { html: ARK_MARK(16) }), label: h('span', {}, t('arkOffboardHistory')) };
const e = ark.state.actions.find((x) => x.type === 'exit' && x.claimTxid === tx.txid);
- return e ? { icon: '⚔', label: h('span', {}, t('arkExitHistory')) } : null;
+ return e ? { icon: h('span', { html: ARK_MARK(16) }), label: h('span', {}, t('arkExitHistory')) } : null;
},
txDetailSection(tx) {
if (!ark || !ark.state) return null;
@@ -1064,7 +1064,7 @@ export function arkFeature(ctx) {
if (!a) return null;
const done = a.step === 'done';
return h('div', { class: 'summary col', style: 'gap:0' },
- h('div', { style: 'font-weight:600;margin:12px 0 2px' }, '⚔ ' + t('arkBoardHistory')),
+ h('div', { class: 'row gap6', style: 'font-weight:600;margin:12px 0 2px;align-items:center' }, h('span', { html: ARK_ICON(16) }), t('arkBoardHistory')),
h('div', { class: 'line' },
h('span', { class: 'k' }, t('arkBalance')),
h('span', { class: 'v' }, '+' + fmtAmount(a.amountSat - a.feeSat) + ' ' + unitLabel())),