The standard dapp header unit: one pill that is the whole wallet story.
Renders per Wallet.State:
Disconnected / Error -- a connect buttonConnecting -- the connect button, busyReadOnly -- a "read-only" chip (no wallet, reads work)Connected -- identicon + truncated address + chain chip + optional
balance + disconnectWrongChain -- the same pill flagged, chain chip shows the mismatchAccountPill.view
{ onConnect = ConnectClicked
, onDisconnect = DisconnectClicked
, chainLabel = Chain.nameOf -- T.ChainId -> String
, balance = model.plsBalance -- Maybe String, pre-formatted
}
model.walletCSS classes: web3-pill, web3-pill--connect, --connecting,
--readonly, --connected, --wrong-chain; web3-pill__identicon,
web3-pill__address, web3-pill__chain, web3-pill__balance,
web3-pill__disconnect.
Handlers plus how to name a chain and what balance to show (already
formatted -- pair with Web3.Ui.Amount).
Render the pill for any wallet state.