Compare commits

...
Author SHA1 Message Date
clawbot b9c3d99fed fix: align receive view address display with addressDetail pattern
check / check (push) Successful in 22s
The receive view was using formatAddressHtml() which rendered addresses
with a different structure (bold title label above address) compared to
addressDetail's pattern (separate dot + full address + etherscan link
inline elements). This violated the display consistency policy.

Now uses the same element structure as addressDetail: separate
receive-address-dot, receive-address-full, and receive-etherscan-link
spans, with ENS name shown in a separate element matching addressDetail.

Closes #58
2026-02-28 11:59:42 -08:00
sneak e8ede7010a Merge pull request 'fix: use formatAddressHtml in receive view for display consistency' (#69) from fix/issue-58-receive-address-consistency into main
check / check (push) Successful in 9s
Reviewed-on: #69
2026-02-28 20:57:08 +01:00
clawbot a2fbb0e30d fix: use formatAddressHtml in receive view for display consistency
check / check (push) Successful in 22s
The receive view was using raw textContent and a manually constructed
color dot instead of the shared formatAddressHtml helper used by other
views. This violated the display consistency policy ('Same data
formatted identically across all screens').

Changes:
- Use formatAddressHtml() to render address with color dot, title
  (e.g. 'Wallet 1 — Address 1'), and ENS name — matching addressDetail
- Make the address block itself click-to-copy (matching policy:
  'Clicking any address copies the full untruncated value')
- Replace separate receive-dot/receive-address spans with a single
  receive-address-block element
- Address is still shown in full (no truncation) as appropriate for
  the receive view

Closes #58
2026-02-28 11:47:45 -08:00
sneak 24464ffe33 Merge pull request 'fix: resolve token symbols from multiple sources (closes #51)' (#52) from fix/usdc-symbol-display into main
check / check (push) Successful in 9s
Reviewed-on: #52
2026-02-28 20:40:43 +01:00
sneak 34c66d19c4 Merge branch 'main' into fix/usdc-symbol-display
check / check (push) Successful in 22s
2026-02-28 20:40:10 +01:00
sneak e09904147b Merge pull request 'fix: consistent transaction view title (closes #65)' (#66) from fix/65-transaction-view-title into main
check / check (push) Successful in 9s
Reviewed-on: #66
2026-02-28 20:39:47 +01:00
user b02a1d3a55 fix: always use 'Transaction' as detail view heading
check / check (push) Successful in 22s
The transaction detail view was dynamically changing its title to match
the transaction type (e.g. 'Swap' for contract interactions), causing
inconsistency with the Screen Map specification. The heading is now
always 'Transaction' regardless of type. The action type is still
shown in the 'Action' detail section below.

Closes #65
2026-02-28 11:38:49 -08:00
3 changed files with 38 additions and 9 deletions
+10 -3
View File
@@ -637,9 +637,16 @@
<div class="flex justify-center mb-3">
<canvas id="receive-qr"></canvas>
</div>
<div class="border border-border p-2 break-all mb-3 text-xs">
<span id="receive-dot"></span>
<span id="receive-address" class="select-all"></span>
<div
id="receive-ens"
class="font-bold mb-1 hidden flex items-center"
></div>
<div
class="border border-border p-2 break-all mb-3 text-xs cursor-pointer"
title="Click to copy"
>
<span id="receive-address-dot"></span>
<span id="receive-address-full"></span>
<span id="receive-etherscan-link"></span>
</div>
<button
+27 -4
View File
@@ -1,4 +1,10 @@
const { $, showView, showFlash, addressDotHtml } = require("./helpers");
const {
$,
showView,
showFlash,
addressDotHtml,
escapeHtml,
} = require("./helpers");
const { state, currentAddress } = require("../../shared/state");
const QRCode = require("qrcode");
@@ -12,8 +18,17 @@ const EXT_ICON =
function show() {
const addr = currentAddress();
const address = addr ? addr.address : "";
$("receive-dot").innerHTML = address ? addressDotHtml(address) : "";
$("receive-address").textContent = address;
$("receive-address-dot").innerHTML = address ? addressDotHtml(address) : "";
$("receive-address-full").textContent = address;
$("receive-address-full").dataset.full = address;
const ensName = addr ? addr.ensName || null : null;
const ensEl = $("receive-ens");
if (ensName) {
ensEl.innerHTML = addressDotHtml(address) + escapeHtml(ensName);
ensEl.classList.remove("hidden");
} else {
ensEl.classList.add("hidden");
}
const link = address ? `https://etherscan.io/address/${address}` : "";
$("receive-etherscan-link").innerHTML = link
? `<a href="${link}" target="_blank" rel="noopener" class="inline-flex items-center">${EXT_ICON}</a>`
@@ -50,8 +65,16 @@ function show() {
}
function init(ctx) {
$("receive-address-full").addEventListener("click", () => {
const addr = $("receive-address-full").dataset.full;
if (addr) {
navigator.clipboard.writeText(addr);
showFlash("Copied!");
}
});
$("btn-receive-copy").addEventListener("click", () => {
const addr = $("receive-address").textContent;
const addr = $("receive-address-full").dataset.full;
if (addr) {
navigator.clipboard.writeText(addr);
showFlash("Copied!");
+1 -2
View File
@@ -143,11 +143,10 @@ function render() {
typeEl.textContent = tx.directionLabel;
typeSection.classList.remove("hidden");
}
if (headingEl) headingEl.textContent = tx.directionLabel;
} else {
if (typeSection) typeSection.classList.add("hidden");
if (headingEl) headingEl.textContent = "Transaction";
}
if (headingEl) headingEl.textContent = "Transaction";
// Hide calldata and raw data sections; re-fetch if this is a contract call
const calldataSection = $("tx-detail-calldata-section");