From dc00cc50befdc2603a15c2de624607010e5e7248 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Fri, 9 Oct 2026 14:51:06 -0700 Subject: Amounts: no plus sign on money coming in either — the word (Received) and the green say it. History rows, transaction details, the "payment received" screens (wallet, Spending, gifts, boards/onboards) and the till's paid bills. The till's tip choices keep theirs: "+$2" there is what a tip adds to the bill. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Vps2H27rhbG9ZqseGfMrc3 --- src/app.js | 6 +++--- src/features/ark.js | 12 ++++++------ src/features/gifts.js | 2 +- src/features/pos.js | 2 +- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/app.js b/src/app.js index dbda72c..e8ce701 100644 --- a/src/app.js +++ b/src/app.js @@ -4965,7 +4965,7 @@ function receiveTab() { }, h('div', { class: 'check-badge' }, '✓'), h('h2', { style: 'margin:0' }, t('paymentReceived')), - amt ? h('div', { class: 'amount-pos', style: 'font-size:18px' }, '+' + fmtAmount(amt) + ' ' + unitLabel()) : null, + amt ? h('div', { class: 'amount-pos', style: 'font-size:18px' }, fmtAmount(amt) + ' ' + unitLabel()) : null, h('div', { class: 'small muted' }, t('tapToProceed')) ); } @@ -5886,7 +5886,7 @@ function txHistoryItem(tx) { ), h('div', { style: 'text-align:right' }, // priced at the moment it happened, not at today's number - h('div', { class: incoming ? 'amount-pos' : 'amount-neg' }, (incoming ? '+' : '') + fmtAmount(Math.abs(tx.net), tx.blockTime)), + h('div', { class: incoming ? 'amount-pos' : 'amount-neg' }, fmtAmount(Math.abs(tx.net), tx.blockTime)), !incoming && tx.fee ? h('div', { class: 'small faint' }, t('feeShort', { x: fmtAmount(tx.fee, tx.blockTime) })) : null ) ); @@ -6008,7 +6008,7 @@ function txDetailView(tx) { h('span', { class: `tag ${tx.confirmed ? 'conf' : 'pending'}` }, tx.confirmed ? t('confirmedTag') : t('pendingTag')) ), h('div', { class: 'amt', style: 'font-size:30px' }, - h('span', { class: incoming ? 'amount-pos' : 'amount-neg' }, (incoming ? '+' : '') + fmtAmount(Math.abs(tx.net), tx.blockTime)), + h('span', { class: incoming ? 'amount-pos' : 'amount-neg' }, fmtAmount(Math.abs(tx.net), tx.blockTime)), ' ', unitTag('unit') ), h('div', { class: 'summary col', style: 'gap:0' }, diff --git a/src/features/ark.js b/src/features/ark.js index a9f4487..2aef8c5 100644 --- a/src/features/ark.js +++ b/src/features/ark.js @@ -1422,7 +1422,7 @@ export function arkFeature(ctx) { h('div', { class: 'small faint' }, timeAgo(m.ts / 1000))), h('div', { style: 'text-align:right' }, // in fiat this is what the payment was worth when it was made - h('div', { class: failed ? 'muted' : incoming ? 'amount-pos' : 'amount-neg' }, (failed ? '' : incoming ? '+' : '') + fmtAmount(m.amountSat, m.ts / 1000))) + h('div', { class: failed ? 'muted' : incoming ? 'amount-pos' : 'amount-neg' }, fmtAmount(m.amountSat, m.ts / 1000))) ); } @@ -1553,7 +1553,7 @@ export function arkFeature(ctx) { ? h('div', { class: m.feeSat > 0 ? 'amount-neg' : 'small faint', style: 'font-size:20px' }, m.feeSat > 0 ? fmtAmount(m.feeSat) + ' ' + unitLabel() : t('arkDepthFree')) : h('div', { class: failed ? 'muted' : incoming ? 'amount-pos' : 'amount-neg', style: 'font-size:20px;display:flex;align-items:baseline;gap:6px' }, - (failed ? '' : incoming ? '+' : '') + fmtAmount(m.amountSat, m.ts / 1000), unitTag()), // the unit toggles, as on the balance + fmtAmount(m.amountSat, m.ts / 1000), unitTag()), // the unit toggles, as on the balance row(t('dateLabel'), new Date(m.ts).toLocaleString()), ctx.worthLine ? ctx.worthLine(m.amountSat, m.ts / 1000, row) : null, // a feature that knows more about this movement (the till: bill and tip) @@ -3459,7 +3459,7 @@ export function arkFeature(ctx) { }, h('div', { class: 'check-badge' }, '✓'), h('h2', { style: 'margin:0' }, t('paymentReceived')), - amt ? h('div', { class: 'amount-pos', style: 'font-size:18px' }, '+' + fmtAmount(amt) + ' ' + unitLabel()) : null, + amt ? h('div', { class: 'amount-pos', style: 'font-size:18px' }, fmtAmount(amt) + ' ' + unitLabel()) : null, h('div', { class: 'small muted' }, t('tapToProceed')) ); } @@ -3476,7 +3476,7 @@ export function arkFeature(ctx) { { class: 'card col', style: 'align-items:center;text-align:center;gap:14px;padding:40px 20px' }, h('div', { class: 'check-badge' }, '✓'), h('h2', { style: 'margin:0' }, t('arkOffboardedTitle')), - h('div', { class: 'amount-pos', style: 'font-size:18px' }, '+' + fmtAmount(o.netSat) + ' ' + unitLabel()), + h('div', { class: 'amount-pos', style: 'font-size:18px' }, fmtAmount(o.netSat) + ' ' + unitLabel()), h('p', { class: 'small muted', style: 'margin:0' }, t('arkOffboardedNote')), o.feeSat ? h('div', { class: 'small faint' }, t('feeShort', { x: fmtAmount(o.feeSat) })) : null, h('div', { class: 'addr-box', style: 'width:100%' }, o.txid), @@ -3498,7 +3498,7 @@ export function arkFeature(ctx) { { class: 'card col', style: 'align-items:center;text-align:center;gap:14px;padding:40px 20px' }, h('div', { class: 'check-badge' }, '✓'), h('h2', { style: 'margin:0' }, t('arkBoardedTitle')), - h('div', { class: 'amount-pos', style: 'font-size:18px' }, '+' + fmtAmount(b.netSat) + ' ' + unitLabel()), + h('div', { class: 'amount-pos', style: 'font-size:18px' }, fmtAmount(b.netSat) + ' ' + unitLabel()), h('p', { class: 'small muted', style: 'margin:0' }, boardedNote()), h('div', { class: 'addr-box', style: 'width:100%' }, b.txid), h('div', { class: 'row gap6' }, @@ -4140,7 +4140,7 @@ export function arkFeature(ctx) { 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())), + h('span', { class: 'v' }, fmtAmount(a.amountSat - a.feeSat) + ' ' + unitLabel())), a.feeSat > 0 ? h('div', { class: 'line' }, h('span', { class: 'k' }, t('arkBoardFeeLabel')), diff --git a/src/features/gifts.js b/src/features/gifts.js index 4d68a50..56fd99e 100644 --- a/src/features/gifts.js +++ b/src/features/gifts.js @@ -936,7 +936,7 @@ export function giftsFeature(ctx) { }, h('div', { class: 'check-badge' }, '✓'), h('h2', { style: 'margin:0' }, t('paymentReceived')), - amt ? h('div', { class: 'amount-pos', style: 'font-size:18px' }, '+' + fmtAmount(amt) + ' ' + unitLabel()) : null, + amt ? h('div', { class: 'amount-pos', style: 'font-size:18px' }, fmtAmount(amt) + ' ' + unitLabel()) : null, h('div', { class: 'small muted' }, t('tapToProceed')) ); } diff --git a/src/features/pos.js b/src/features/pos.js index dafd388..3727862 100644 --- a/src/features/pos.js +++ b/src/features/pos.js @@ -246,7 +246,7 @@ export function posFeature(ctx) { h('span', { class: 'small muted', style: 'overflow:hidden;text-overflow:ellipsis;white-space:nowrap' }, new Date(x.paidAt || x.at).toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' }) + (x.note ? ' · ' + x.note : '') + (x.status === 'open' ? ' · ' + t('posAwaiting') : x.status === 'void' ? ' · ' + t('posVoid') : ''))), - h('span', { class: 'amount-pos', style: 'white-space:nowrap' }, (x.status === 'paid' ? '+' : '') + fmtAmount(x.billSat + x.tipSat))); + h('span', { class: 'amount-pos', style: 'white-space:nowrap' }, fmtAmount(x.billSat + x.tipSat))); return h('div', { class: 'card col', style: 'gap:8px' }, h('h3', { style: 'margin:0' }, t('posSalesToday')), h('div', { class: 'row between' }, h('span', { class: 'muted' }, t('posBills')), h('span', {}, fmtAmount(sum('billSat')) + ' ' + unitLabel())), -- cgit v1.2.3