feat(frontend): unify responsive dialog and sheet presentation - #2479
Merged
Merged
Conversation
hmans
commented
Sep 20, 2026
Contributor
- What changed: Standard task dialogs automatically use bottom sheets below 768 px and centred dialogs on desktop. Dialog and BottomSheet share native modal lifecycle, focus restoration, viewport handling, animations and handle gestures. One sheet-frame utility owns their border, depth and spacing.
- Why: Mobile task actions previously competed for one horizontal row and truncated labels. Semantic action snippets let feature code declare each action once. Mobile actions stack at full width; desktop actions stay end-aligned. Forms, confirmations, the thread-destination prompt and sign-out use this contract. Media viewers retain full-screen mobile presentation and context menus retain input-capability selection.
- Review fixes: Prevent clicks after short drags from dismissing sheets, consolidate available-height calculations, reject mixed custom-footer and semantic-action props in TypeScript, and update the design-system guide and component stories.
- Verification: 280 affected Chromium component/composer/modal tests pass. Svelte analysis reports zero errors and warnings; frontend lint, design-system guardrails, production build, bundle/CSP checks and REUSE license checks pass. Chrome DevTools verification covers mobile and desktop layouts, with automated coverage for 320/390 px actions, breakpoint state/focus preservation, short RTL layouts, enlarged text, simulated keyboard viewport changes and dismissal behavior.
- Limitations: Real-device virtual-keyboard behavior still needs manual verification. No backend APIs, persisted data, dependencies or external connections change. Human-owned frontend instructions still specify horizontal modal footers and need correction to match the responsive contract.
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.