wallet view: addresses wrap and break the layout when a wallet has multiple addresses #380
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
sneak, 2026-08-30: the wallet view has weird address wrapping when a wallet has multiple addresses. "addresses should never wrap in the common views. this doesn't mean to just change the css, but update the layout itself so the untruncated addresses are shown in full and don't mess up the layout."
Requirements:
Done: a wallet with multiple addresses renders every address in full on one line each, layout intact at the extension's normal viewport sizes; covers every common view that shows an address.
Plan:
renderAddressHtml()insrc/popup/views/helpers.jsis the single renderer behind every common view that shows an address. Restructure what it emits: an identity strip (colour dot, wallet title, ENS name, explorer link) on its own line, then the address alone on a full-width row that cannot wrap and shares the row with nothing.home.js):[info]/[x]move up beside the "Address N" label, which is currently an empty row, so the address gets the whole row width instead of competing with the buttons.home.js,addressDetail.js,addressToken.js): the counterparty istruncateMiddle()d today only to fit beside the amount. Same treatment - own row, shown in full.truncateMiddle()itself stays in place with its 10-character cap, per RULES.md..address-linerule inmain.css:white-space: nowrapplusoverflow-x: auto, so if font metrics ever change the address degrades to a scrollable row rather than a clipped one.Built: #381.
Every address in the popup now sits alone on a full-width row that cannot wrap, with the colour dot, wallet title, ENS name and explorer link moved onto a strip above it. The wallet list's
[info]/[x]controls moved up to the "Address N" line, which was empty to their left, and the transaction rows carry the counterparty's whole address instead of atruncateMiddle()d one.truncateMiddle()and its 10-character cap stay, per RULES.md; its 32-character caller floor moved intorenderAddressHtml()now that no caller passesmaxLen.Disclosure:
.am-addressis a custom CSS class, which README's Tailwind bullet says the repo avoids; I judged the never-wrap rule an invariant rather than styling and amended that bullet to say so, next to the existing.copy-flash-*classes. Disclosure: I did not advanceTODO.md's Next Step, because the item there is the pre-1.0 security review, not this issue.