Skip to content

feat(studio): polish command palette interactions and layout - #284

Merged
thsnkhn merged 1 commit into
hapyco:mainfrom
SaadNiaziDev:feat/195-command-palette-polish
Oct 1, 2026
Merged

thsnkhn merged 1 commit into
hapyco:mainfrom
SaadNiaziDev:feat/195-command-palette-polish

Conversation

@SaadNiaziDev

Copy link
Copy Markdown
Collaborator

Summary

Closes #195.

Polishes Studio command palette keyboard behavior, focus handling, and visual details so search, navigation, and Record lookup feel consistent with the rest of Studio.

Interactions

  • Arrow ↑/↓ skips unavailable (disabled) commands and wraps among available ones
  • Initial active selection prefers the first available command
  • Hover no longer activates disabled rows
  • Selecting a command no longer restores focus onto the top-bar Search trigger, which previously left a stuck focus ring
  • Esc / dismiss still restores prior page focus as before

Record search chrome

  • Clearer Back control with icon and accessible label
  • Dedicated entity select styling (separate from the search input)
  • Combobox accessibility attributes on the search field (aria-label, aria-autocomplete, autocomplete, spellcheck)

Visual / layout polish

  • Denser command rows with stacked label + detail, shortcut badges, and an active accent rail
  • Footer hints simplified to ↑ ↓ / Enter / Esc
  • Palette dialog width and scroll behavior tightened for desktop and small screens
  • Palette-only grid templates (--palette, --records) so Keyboard Shortcuts can keep sharing the dialog panel class without inheriting palette row layout

Tests

  • Added nextAvailableCommandId coverage for skip-unavailable + wrap behavior

Test plan

  • Open palette with ⌘K and with the Search trigger; both paths work
  • With a disabled command present (e.g. Toggle sidebar when collapsed is unavailable), ↑/↓ skips it
  • Select a page/Entity command; destination opens and Search trigger does not keep a focus ring
  • Esc closes palette and returns focus sensibly
  • Run Search Records from the palette; Back + entity select + ID search still work
  • Open Keyboard shortcuts; layout still looks correct (shared dialog class unchanged)
  • npm test --prefix apps/studio/ui passes

Made with Cursor

Skip unavailable commands during arrow navigation, tighten record-search chrome, fix stuck Search trigger focus after selection, and keep palette grid templates off the shared shortcuts dialog panel class.

Co-authored-by: Cursor <cursoragent@cursor.com>
@thsnkhn
thsnkhn merged commit 61f455f into hapyco:main Oct 1, 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.

Polish Studio command palette interactions and visual details

2 participants