Skip to content

fix(composer): keep the bottom bar on one line and collapse extras behind a container-query overflow menu - #127

Open
sergiomaldo wants to merge 1 commit into
LegalQuants:mainfrom
sergiomaldo:fix/composer-responsive
Open

fix(composer): keep the bottom bar on one line and collapse extras behind a container-query overflow menu#127
sergiomaldo wants to merge 1 commit into
LegalQuants:mainfrom
sergiomaldo:fix/composer-responsive

Conversation

@sergiomaldo

Copy link
Copy Markdown

Problem

The composer footer stacks eight controls in one row: model picker, hosting/locality pill, + Skill, keep-skills toggle (with its counter), attach clip, Prompts, Enhance, and Send. At real-world desktop widths the row compresses and wraps badly — observed at ~1400px effective viewport (browsers that reserve horizontal space, e.g. sidebar browsers, make it worse): "Keep skills on / Keeping 1 on" wrapped to three lines and the model alias wrapped inside its own button.

Fix

  • Every bottom-bar control is whitespace-nowrap; the model picker shows alias + short model name on one line and truncates with an ellipsis (max-w-56 + min-w-0) instead of wrapping.
  • The composer becomes a CSS container (@container/composer). Below the @3xl container width, the trust pill + Prompts + Enhance collapse behind a "⋯" More-options popover (single DOM instance, CSS-switched via display: contents vs popover panel) — container queries mean browser sidebars are handled, not just narrow screens. Skill, keep-skills, matter picker, and the clip stay visible.
  • Keep-skills becomes a compact toggle: single-line "Skills stay on" label with a "· N" count; the about-page copy follows the rename.
  • All functionality stays reachable; aria labels and testids intact; the "⋯" button exposes aria-expanded and closes on Escape/outside click.

Tests

Component tests cover the single-line toggle label + compact count, the overflow group containing Prompts/Enhance, and the More-options toggle behavior.

Provenance

Found operating a production self-hosted legal deployment (a law firm running Donna v0.6.2 fully local) on ordinary laptop viewports.

CI note: prettier --check currently fails on main itself (docs/superpowers/HANDOFF-v0.6.2-release.md); #122 fixes it, so this branch's lint job goes green once that lands. svelte-check, eslint, and vitest all pass on this branch.

🤖 Generated with Claude Code

…hind a container-query overflow menu

Real-user feedback (finding LegalQuants#9): at ~1400px viewports (and narrower Arc-style
windows) the composer's 8 bottom-row controls wrapped badly — 'Keep skills on'
broke into 3 lines and the model alias wrapped inside its own button.

- Every bottom-bar control is whitespace-nowrap; the model picker shows
  alias + short model name on one line and truncates with an ellipsis
  (max-w-56 + min-w-0) instead of wrapping.
- The composer is now a CSS container (@container/composer). Below the @3xl
  container width the trust pill + Prompts + Enhance collapse behind a '⋯'
  More-options popover (single DOM instance, CSS-switched via display:
  contents vs popover panel), so browser sidebars are handled too. Skill,
  Keep-skills, matter picker and the clip stay visible.
- Keep-skills is a compact toggle: single-line 'Skills stay on' label and a
  '· N' count; the about page copy follows the rename.
- All functionality stays reachable; aria labels and testids intact; the
  '⋯' button exposes aria-expanded and closes on Escape/outside click.

Component tests: single-line toggle label + compact count, the overflow
group containing Prompts/Enhance, and the More-options toggle behavior.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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