Repository navigation
refactor(ui): QueryaModalDialog and QueryaConfirmDialog on QueryaButton, off shadcn - #1418
Merged
Merged
Conversation
…on, off shadcn The confirm dialog footer is a ghost Cancel and a primary / destructive main action at lg, the close icon is a QueryaButton.icon, gaps are SizedBoxes and the colour scheme comes from context.colors. The module leaves the shadcn allow-list; the two tests that looked for DestructiveButton look for a destructive QueryaButton. Part of #1338 and #1365.
…no scope QueryaButton asserted on a missing QueryaThemeScope, which dialogs built under a bare app (and their tests) do not have. workbenchOrDefault falls back to the defaults for the ambient brightness; the scheme comes from context.colors.
This was referenced Oct 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of #1338 and #1365 (closes neither)
First dialog migration of epic #1331, using
QueryaButton(#1408, indev). The shared dialog shell is the one place that puts a footer in front of many dialogs, so it goes first.Change (
lib/shared/widgets/querya_modal_dialog.dart)QueryaConfirmDialog: Cancel is nowQueryaButton.ghost, the main actionQueryaButton.primaryor.destructive, alllg, per the standard indocs/ui-kit.md(wasOutlineButton+PrimaryButton/DestructiveButton).QueryaModalDialog: the close icon is aQueryaButton.icon(sm, tooltip Close) instead of a raw MaterialIconButton; theactionsrow sits in aQueryaControlScope(lg), soQueryaButtons passed by callers without a size arelgtoo.shadcn_flutterimport:Gap->SizedBox,Text->material.Text, the scheme fromcontext.colors. The file leaves the shadcn allow-list of test(guards): lib/shared must not import shadcn_flutter (ratchet allow-list) #1409.Visible difference (intended)
Cancel in confirm dialogs loses its outline and is a ghost button, as the standard says; the close icon has a tooltip.
Tests
Two assertions looked for shadcn's
DestructiveButton(querya_modal_dialog_test.dart,querya_ui_kit_behavior_test.dart); they now look for aQueryaButtonwith the destructive variant. The rest (texts, taps, results) are unchanged.Not in this PR
Callers that pass shadcn buttons in
actionskeep working (they are plain widgets); migrating each dialog toQueryaDialogActions(#1417) is the rest of #1338.Not run locally; CI is the check.