Skip to content

Fix layout width and clipped controls; polish buttons - #5

Merged
nhyiramante1 merged 2 commits into
mainfrom
fix/layout-polish
Oct 4, 2026
Merged

nhyiramante1 merged 2 commits into
mainfrom
fix/layout-polish

Conversation

@nhyiramante1

Copy link
Copy Markdown
Contributor

Summary

Layout fixes plus a light visual polish. No component or behavior changes; everything is CSS except one default position.

Fixes

  • App didn't fill the window. .platform-workspace (the sign-in wrapper) is a flex item of #root but had no flex rule, so it shrank to its content: about 1,600px on a 2,000px screen, with dead space on the right, and a layout jump when the Control Room opened. It now fills the row (src/platform/platform.css).
  • "Copy map" was unstyled. It had no CSS and rendered as a default browser button; it now matches the other toolbar buttons.
  • Clipped "Non-directive" picker. At the default chat width the chat header was about 44px too wide for its panel. The Think/Map slider now gives up width first; if the panel is dragged narrower, the picker wraps below.
  • Squashed toolbar labels. Buttons keep their size instead of wrapping "Copy map", "Clear draft" etc. onto two lines. The map header wraps its right-hand group to a second row only when the row is too narrow; that group is right-aligned with an auto margin, so when it overflows (small window with the Control Room open) it scrolls from its start. Before, the start was hidden off-screen where it couldn't be reached.
  • Draft window over the toolbar. The floating Draft window now starts below the toolbar even when it wraps. This affects new sessions only; saved positions are kept.

Polish (one labelled block at the end of the stylesheet in src/ui/App.tsx)

  • Consistent 8px corners on toolbar and panel controls.
  • An inset top sheen that keeps each control's own colours, and a soft shadow.
  • A small lift on hover, a press on click, and a visible keyboard focus ring.
  • Softer card shadows, with a halo on the selected card.
  • Framed zoom controls and minimap.
  • No movement under prefers-reduced-motion.

Testing

  • npm test: 37 files and 394 tests. npx tsc --noEmit, npm run build:pages and npm run verify:pages pass.
  • Playwright smoke (npx playwright test): 4/4.
  • Width sweep at 1024, 1280, 1440, 1600, 1700 and 2000px, with the Control Room open and closed:
    • the workspace fills the window and doesn't jump
    • no toolbar control is cut off with the Control Room closed at 1280px and wider
    • with the Control Room open below about 1,700px, the right-hand group scrolls from its start
  • Chat header checked at 520, 420, 380 and 340px panel widths: the picker is fully visible at every width (it wraps below 380px).

After merging, run the "Deploy Mindmap to GitHub Pages" workflow; the live site has the width bug.

🤖 Generated with Claude Code

nhyiramante1 and others added 2 commits October 4, 2026 10:42
- The sign-in wrapper (.platform-workspace) is a flex item of #root but had
  no flex rule, so it shrank to its content: dead space on wide screens and a
  layout jump when the Control Room opened. It now fills the row.
- "Copy map" had no CSS and rendered as a default browser button.
- Toolbar buttons keep their size instead of squashing labels onto two
  lines; the header wraps its right-hand group to a second row only when the
  row is too narrow, and that group scrolls from its start when it overflows
  (right-aligned overflow previously hid its start where it couldn't be
  reached).
- One polish layer at the end of the stylesheet: consistent 8px corners, an
  inset top sheen that keeps each control's own colours, a soft shadow, a
  small lift on hover, a press on click, a visible keyboard focus ring,
  softer card shadows, and framed zoom controls and minimap. Reduced-motion
  users get no movement.
- The floating Draft window starts below the toolbar even when it wraps.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
At the default chat width the header's contents were about 44px wider than
the panel, so the Non-directive picker was clipped. The Think/Map slider now
gives up width first, and if the panel is dragged narrower the picker wraps
below instead of being cut off.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@nhyiramante1
nhyiramante1 merged commit 00ffab6 into main Oct 4, 2026
2 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