Skip to content

feat(frontend): unify responsive dialog and sheet presentation - #2479

Merged
hmans merged 1 commit into
mainfrom
hmans/mobile-modal-design
Sep 20, 2026
Merged

hmans merged 1 commit into
mainfrom
hmans/mobile-modal-design

Conversation

@hmans

@hmans hmans commented Sep 20, 2026

Copy link
Copy Markdown
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.

@hmans
hmans merged commit 8f2a043 into main Sep 20, 2026
21 checks passed
@hmans
hmans deleted the hmans/mobile-modal-design branch September 20, 2026 10:33
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