Skip to content

fix(website): hamburger leaking onto desktop nav#560

Merged
blove merged 2 commits into
mainfrom
claude/fix-navbar-hamburger-desktop
May 29, 2026
Merged

fix(website): hamburger leaking onto desktop nav#560
blove merged 2 commits into
mainfrom
claude/fix-navbar-hamburger-desktop

Conversation

@blove
Copy link
Copy Markdown
Contributor

@blove blove commented May 29, 2026

Summary

Fixes a navbar regression where the mobile hamburger showed at desktop width and pushed the nav links to the center.

Root cause: the hamburger button had className="lg:hidden" (should be display:none at ≥1024px) but also an inline style={{ display: 'inline-flex' }} — added alongside the 44×44 hit-area expansion in the recent mobile-hygiene work. Inline styles beat class utilities, so lg:hidden was powerless and the hamburger rendered at every width. The top bar is flex justify-between; with three children (logo | links | hamburger) the links got parked center instead of hard-right.

Fix: move display + centering into the class list (inline-flex items-center justify-center) so lg:hidden wins at ≥lg. The hit-area padding/margin stays inline (no conflict).

Verification (Chrome MCP)

  • Desktop (≥lg): hamburger computed display: none, desktop links visible and right-aligned. Confirmed via screenshot.
  • Inline display removed (btn.style.display is unset); display now governed by the lg:hidden / inline-flex utilities.
  • Below lg: base inline-flex keeps the hamburger visible + centered (unchanged behavior).

Test plan

  • Desktop: links right-aligned, no hamburger
  • CI green

…nter

The mobile hamburger had `className="lg:hidden"` but also an inline
`style={{ display: 'inline-flex' }}` (added with the 44x44 hit-area
expansion). Inline styles beat class utilities, so `lg:hidden` could
never set display:none — the hamburger rendered at every width. With
three children in the `justify-between` top bar (logo | links |
hamburger), the links got parked in the center instead of hard-right.

Move display + centering into the class list (`inline-flex items-center
justify-center`) so `lg:hidden` wins at >=lg. Hit area (padding/margin)
stays inline. Verified: hamburger is display:none at desktop, visible
below lg.
@blove blove enabled auto-merge (squash) May 29, 2026 02:38
@vercel
Copy link
Copy Markdown

vercel Bot commented May 29, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
threadplane Ready Ready Preview, Comment May 29, 2026 4:46pm

Request Review

@blove blove merged commit e134833 into main May 29, 2026
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant