Skip to content

fix(layout): keep header controls inside narrow viewports - #44

Open
n30nex wants to merge 1 commit into
MeshCore-Beacon:devfrom
n30nex:codex/beacon-header-overflow
Open

n30nex wants to merge 1 commit into
MeshCore-Beacon:devfrom
n30nex:codex/beacon-header-overflow

Conversation

@n30nex

@n30nex n30nex commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

What this PR does

Closes #30. The fixed-height single-row header overflows at phone widths: in the reproduced 320px viewport, the LIVE badge is clipped and the GitHub link ends about 47px beyond the usable page width.

Use two header rows below the existing md breakpoint, with the region/theme pickers on the second row. Keep the desktop single row and its 42px minimum height. The wordmark can truncate when status messages need room, and the region panel anchors from the left so it stays on screen. No controls are removed, no dependency is added, and the region input's focus behavior is unchanged (#29 remains separate).

Type of change

  • Bug fix
  • Tests

Checklist

  • npm run build passes
  • npm run lint passes
  • npm test passes (725 tests)
  • I have read CONTRIBUTING.md

Testing notes

Added a real-browser geometry regression in tests/browser/header-layout.js. It fails on the old layout for LIVE/GitHub overflow and passes on the candidate. It is a browser-console check because jsdom does not perform layout; the regular Vitest suite is separate.

Checked 320, 360, 390, 767, 768 and 1280px viewports in Chromium, both pickers open at 320px, a longer IATA selection, Escape focus restoration, and the rate-limit badge using temporary local API responses. The mock was removed afterward. This is not a physical Safari/iOS validation claim.

AI tools assisted implementation and validation under the contributor's standing approval for this effort.

The native Pi build/lint and all 725 tests also pass, along with GitHub Actions CI. The preview serves 5c5c75a with the existing server candidate. The published HTML/source hashes match, both open pickers fit at phone width, the desktop header stays on one row, and normal browsing remains LIVE. No service restart was needed.

@n30nex

n30nex commented Sep 13, 2026

Copy link
Copy Markdown
Contributor Author

@MrAlders0n please review this change with your Claude agent as part of the September 13 Beacon review batch. The current candidate is 5c5c75a89efa; validation and Pi evidence are in the PR description.

Please check the header and open controls at narrow widths, keyboard focus, longer region labels and the desktop layout. Issue #30 is linked for closure on merge.

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.

Header controls overflow and clip the LIVE badge and GitHub icon on narrow screens

1 participant