Fix tx amount display to 4 decimal places, add relative time to tx detail
Some checks failed
check / check (push) Has been cancelled

- Transaction values now use exactly 4 decimal places (was 6),
  matching balance display everywhere else
- Transaction detail view shows "2026-02-25 15:04:23 (23 days ago)"
  instead of just the ISO date
- Added Display Consistency policy to README
This commit is contained in:
2026-02-26 03:19:42 +07:00
parent a1ddbd035b
commit fbff44ade6
3 changed files with 14 additions and 3 deletions

View File

@@ -115,6 +115,16 @@ invisible hit targets, no bare text that happens to have a click handler. If it
does something when you click it, it must look like it does something when you
click it.
#### Display Consistency
The same data must be formatted identically everywhere it appears. Token and ETH
amounts are always displayed with exactly 4 decimal places (e.g. "1.0500 ETH",
"17.1900 USDT") — in balance lists, transaction lists, transaction details, send
confirmations, and any other context. Timestamps include both an ISO datetime
and a humanized relative age wherever shown. If a formatting rule applies in one
place, it applies in every place. Users should never see the same value rendered
differently on two screens.
#### Language & Labeling
All user-facing text avoids crypto jargon wherever possible:

View File

@@ -131,7 +131,8 @@ function showTxDetail(tx) {
$("tx-detail-from").textContent = tx.from;
$("tx-detail-to").textContent = tx.to;
$("tx-detail-value").textContent = tx.value + " " + tx.symbol;
$("tx-detail-time").textContent = isoDate(tx.timestamp);
$("tx-detail-time").textContent =
isoDate(tx.timestamp) + " (" + timeAgo(tx.timestamp) + ")";
$("tx-detail-status").textContent = tx.isError ? "Failed" : "Success";
showView("transaction");
}

View File

@@ -7,8 +7,8 @@ const { log } = require("./log");
function formatTxValue(val) {
const parts = val.split(".");
if (parts.length === 1) return val;
const dec = parts[1].slice(0, 6).replace(/0+$/, "") || "0";
if (parts.length === 1) return val + ".0000";
const dec = (parts[1] + "0000").slice(0, 4);
return parts[0] + "." + dec;
}