Skip to content

refactor(ui): menus on QueryaMenuButton, Execute as a QueryaSplitButton - #1425

Merged
ZhuchkaTriplesix merged 2 commits into
devfrom
issue/1335-action-menu-to-menu-button
Oct 11, 2026
Merged

ZhuchkaTriplesix merged 2 commits into
devfrom
issue/1335-action-menu-to-menu-button

Conversation

@ZhuchkaTriplesix

Copy link
Copy Markdown
Member

Part of #1335 / #1337 (closes neither). Uses the compositions from #1417.

What

QueryaActionMenu (a shadcn OutlineButton trigger around an arbitrary child) is gone; its six call sites use the kit components:

Where Now
SQL toolbar: Execute (F5) + its run menu one QueryaSplitButton<bool> (main half key run_script, chevron key run_menu)
SQL toolbar: Session menu QueryaMenuButton (enabled: !session.running, icon only when compact)
ERD Export and Views menus QueryaMenuButton (keys erd_export, erd_views kept)
Chart Export QueryaMenuButton (ghost, sm, key chart_export)
ExportMenuButton (results, extension toolbar) QueryaMenuButton (sm)
  • QueryaActionMenuItem stays (same file, no shadcn import) and is exported from widgets.dart.
  • QueryaSplitButton gets compact and per-half keys (mainKey, menuKey) so tests and shortcuts can target a half.
  • querya_action_menu.dart and export_menu_button.dart leave the shadcn allow-list.

Visible differences (intended)

  • Execute and its menu are one control with a divider (no gap) and a Run options tooltip on the chevron.
  • Menu triggers are real buttons of the toolbar's size, with a chevron, active while open; the Session icon is no longer accent-tinted and its disabled state is the button's.

Tests

Existing tests tap these controls by key (run_script, session_menu, erd_export, erd_views, chart_export) and by menu item text; the keys are on the same tappable targets, so no test change was needed. No test used QueryaActionMenu directly.

Not run locally; CI is the check.

Replace QueryaActionMenu and its shadcn OutlineButton trigger: the ERD export
and views menus, the chart export, the SQL session menu and ExportMenuButton
become QueryaMenuButton, and Execute + its run menu become one
QueryaSplitButton (keys run_script / run_menu kept on the halves). The widget
goes; QueryaActionMenuItem stays. QueryaSplitButton gains compact and per-half
keys. Both files leave the shadcn allow-list. Part of #1335 and #1337.
@github-actions github-actions Bot added enhancement New feature or request frontend Theme parser epic label: frontend ui User interface components and widgets ux User experience, keyboard shortcuts and interactions P2 Medium priority / Parity & Refactoring labels Oct 11, 2026
@ZhuchkaTriplesix
ZhuchkaTriplesix merged commit df05034 into dev Oct 11, 2026
15 checks passed
@ZhuchkaTriplesix
ZhuchkaTriplesix deleted the issue/1335-action-menu-to-menu-button branch October 11, 2026 15:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request frontend Theme parser epic label: frontend P2 Medium priority / Parity & Refactoring ui User interface components and widgets ux User experience, keyboard shortcuts and interactions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant