Three things: sign in without leaving the DEX, put the Connect chip in the
header so it stops overlapping the cross-nav, blow out the mobile-first
width cap so the layout uses the full viewport on wide screens.
Sign-in modal (AnthemusSignInModal):
- Three tabs — New wallet / Import wallet / WizardConnect. New + Import
reuse the wallet's own Onboarding component (added `initialView`
+ `initialPath` props so we can jump straight into the concept and
import views without seeing its welcome screen).
- If the browser already has a locked keystore, the modal collapses
to <Unlock/> instead of showing tabs — one PIN, done.
- WizardConnect tab is a placeholder card. The remote-signer flow needs
a CoreSession shape that doesn't assume a local privkey; that lands
in a follow-up slice. Not pretending it works.
- Onboarding/Unlock's mobile-phone-framed `.screen-scroll` gets its
max-width neutralised inside the modal body so the fields breathe.
Header hygiene (ExchangePanel):
- New `headerRight?: ReactNode` slot after the topnav. Kiosk fills it
with the Connect button (or the connected-address chip); wallet
usage leaves it empty. Killed the absolute-positioned corner button
that was overlapping "Deposit" and "Swap".
- `.anx-v4-topright` styling: sits after the nav on wide screens,
wraps below on narrow screens without hiding.
Full-screen adaptive:
- Kiosk-mode override for the shell's flex-centered .app-root: forces
block layout + flex-start + width:100% so the DEX uses the full
viewport. Before this the DEX sized to its intrinsic content (~1330px)
and sat centered on a 1600px viewport with wide blank margins.
- Verified: viewport 1280 → grid columns 280/632/320, Connect chip
top-right on one row, no overlap. viewport 1600 → 300/892/360.
Deployed to bns/deviant.x/wallet/ and bns/deviant.x/anthemus/; visual
check on navigate.st/bns/anthemus.dex/ confirmed layout + modal + all
three tabs render.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>