Skip to content

fix: stabilize responsive navigation and database toolbar - #134

Merged
jhd3197 merged 6 commits into
jhd3197:devfrom
JRebertt:fix/responsive-overflow-layouts
Sep 5, 2026
Merged

fix: stabilize responsive navigation and database toolbar#134
jhd3197 merged 6 commits into
jhd3197:devfrom
JRebertt:fix/responsive-overflow-layouts

Conversation

@JRebertt

@JRebertt JRebertt commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Summary

  • measure CSS-hidden overflow tabs at their natural width to prevent the More menu from oscillating
  • keep mobile topbar actions accessible through horizontal scrolling
  • reset the More trigger appearance so it follows light and dark themes
  • keep the Database Explorer title and actions aligned in one scrollable toolbar on small screens

Root cause

The overflow hook only detected items hidden with an inline display: none. PageTopbar hides overflowed tabs through a CSS class, so their measured width became zero and repeated resize observations alternated between expanded and collapsed states. Mobile toolbars also allowed fixed-width action groups to compress or extend beyond the viewport without a scroll container.

Validation

  • npm test (158 passing)
  • overflow regression test repeated 5 times
  • npm run build
  • npm run lint (0 errors)
  • browser checks at 320, 375, 390, 430, 640, 768, 900, 1000, 1100, 1200, 1300, and 1400 px
  • light and dark theme checks for the More trigger and mobile scrollbars
  • verified the first and last mobile toolbar controls remain reachable without overlap

@jhd3197
jhd3197 changed the base branch from main to dev September 5, 2026 02:19
@jhd3197
jhd3197 merged commit f2f7a92 into jhd3197:dev Sep 5, 2026
jhd3197 added a commit that referenced this pull request Sep 5, 2026
- The scroll-fade masks added in #134 used `#000`, which the hex-literal
  ratchet in check-frontend-boundaries.mjs counts (design-system 2→6,
  databases 5→9). Masks only need an opaque colour, so use the keyword.
- intl.test.mjs compared "60 days ago" in en-US vs es; on any date whose
  month equals its day-of-month (7 July) the two short dates coincide and the
  test fails. Pin the date instead.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LVRnRXqNMZagqQ3RTqG5pz
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.

2 participants