fix(frontend): Desktop header density — theme control crowds More at full-nav widths #483
Labels
No labels
agent:fix_bugfix
agent:fix_conflicts
agent:fix_security
agent:gap_analysis
agent:implement
agent:implement
agent:implement
agent:open_issues
agent:ready
agent:research
agent:security_audit
agent:verify
architecture
backend
blocker:hybrid
blocker:launch
blocker:limit-orders
blocker:v2
block:log_only
block:security
bug
ci
contracts
correctness
deploy
dev
devops
docs
documentation
duplicate
e2e
enhancement
epic
feature
frontend
functional-completion
gas
good first issue
governance
help wanted
high-risk
hooks
hybrid
indexer
infra
infrastructure
integrators
invalid
launch-blocker
limit-orders
localnet
localterra
low priority
missing-implementation
needs-design
ops
performance
priority
high
priority
medium
product
qa
QA
question
ready
ready
research
scripts
security
security-hardening
smartcontracts
tech-debt
testing
ux
UX
v2
verification
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
code/cl8y-dex-terraclassic#483
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
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?
Summary
MacBook Chrome report (same session as sticky ribbon overlap): at full desktop header density, the Dark/Light theme control crowds the “More” nav control (near-zero gap / apparent overlap). Brand active chrome around “CL8Y DEXSwap” can also look squashed when the center nav column is under horizontal pressure.
Bundled with related header-density follow-ups so #136-family layout does not regress again at the nav → controls boundary (existing E2E only checks overlap inside
nav).Current codebase
frontend-dapp/src/components/common/Layout.tsx—.app-headergrid: brand |nav.app-desktop-nav|.app-header-controls(theme +NetworkBadge+WalletButton).frontend-dapp/src/components/common/navItems.ts—HEADER_FULL_NAV_MIN_WIDTH_PX = 1120(full inline nav vs compact “Swap + More”).frontend-dapp/src/index.css:.app-header—grid-template-columns: auto 1fr auto; gap: 20pxflex-shrink: 0(cannot compress).app-header-controls—gap: 10px.app-header-theme-group—flex-shrink: 0; gap: 8pxThemeSegmentedControl.tsx,NetworkBadge.tsx,WalletButton.tsx/WalletChipNetworkIndicator.tsx— right-side density (duplicate network affordances with the environment ribbon).frontend-dapp/e2e/navigation.spec.ts— asserts nav items do not overlap each other and checks wallet vs More in some cases; does not assert last nav control vs first theme button gap at 1120 / 1280 / 1440 with wallet connected on mainnet-width chrome.Closed predecessors: #136 (tablet cram → fold), #170 (theme moved into header), #52 (hide brand copy below 1024px), #186 (wallet chip network label vs width).
Why a new implementation is needed
Raising the full-nav breakpoint and moving theme into the header fixed mid-tablet cram, but at the lower bound of full desktop nav (~1120–1280) the non-shrinkable nav + theme + network badge + wallet still compete for width. Reporter’s MacBook Chrome shows More and Dark nearly fused. That is a real usability/hit-target bug and a gap in current overlap tests. Fixing only the vertical ribbon issue will not restore horizontal spacing.
Constraints / guardrails
HEADER_FULL_NAV_MIN_WIDTH_PX(#136).NetworkBadgemay be simplified whenEnvironmentRibbonis visible, but do not remove the ribbon (#138).Relevant files
frontend-dapp/src/components/common/Layout.tsxfrontend-dapp/src/components/common/navItems.tsfrontend-dapp/src/components/common/ThemeSegmentedControl.tsxfrontend-dapp/src/components/common/AppShellNavLink.tsxfrontend-dapp/src/components/wallet/NetworkBadge.tsxfrontend-dapp/src/components/wallet/WalletButton.tsxfrontend-dapp/src/index.css.app-header*,.app-header-controls,.app-header-theme-group,.app-brand*frontend-dapp/e2e/navigation.spec.tsskills/AGENTS_FRONTEND_RESPONSIVE_HEADER.mdskills/AGENTS_FRONTEND_THEME_TOGGLE.mdRecommended direction
nav.app-desktop-navvs.app-header-theme-group(and wallet) at 1120, 1280, 1440 with wallet connected.HEADER_FULL_NAV_MIN_WIDTH_PX, tighten nav padding slightly, addmin-gap/margin-inline-starton controls, and/or hide headerNetworkBadgewhen ribbon is present (ribbon already satisfies #138)..app-brand/ brand copy do not compress into the active nav pill at full-nav widths.AGENTS_FRONTEND_RESPONSIVE_HEADER.mdso future nav items do not reintroduce cram.Acceptance criteria
Test plan (all paths)
Test plan (attack / hack / abuse)
Verification criteria
marked as related to #136
marked as related to #170
marked as related to #482
mentioned in commit
b598fb59a8mentioned in merge request !1019
mentioned in commit
d62f7c78e9mentioned in issue #486
marked as related to #486
mentioned in merge request !1022
mentioned in issue #619
mentioned in issue #663