gsxdsm
47087342fc
FN-8605: harden tablet touch window controls
Make shared floating dashboard windows reliably movable and resizable on tablet touch viewports.
- Apply a tablet-aware 44px drag and resize hit-target contract to FloatingWindow.
- Preserve phone full-screen sheets below 768px while retaining desktop-hybrid geometry.
- Add geometry, browser touch, and viewport boundary coverage with captured visual evidence.
- Document the shared modal touch contract and release the dashboard fix.
Files changed:
.changeset/fn-8605-floating-window-touch.md | 7 ++
docs/dashboard-guide.md | 5 +
docs/testing.md | 2 +-
.../dashboard/app/components/FloatingWindow.css | 116 ++++++++++++++----
.../dashboard/app/components/FloatingWindow.tsx | 56 ++++++++-
.../components/__tests__/FloatingWindow.test.tsx | 80 +++---------
.../FloatingWindow.touch-geometry.test.tsx | 136 +++++++++++++++++++++
.../FloatingWindowStack.cross-type.test.tsx | 2 +-
.../app/hooks/__tests__/useViewportMode.test.ts | 18 ++-
packages/dashboard/app/hooks/useViewportMode.ts | 7 +-
.../app/task-modal-touch-resize-e2e-fixture.tsx | 39 +++++-
.../__screenshots__/fn-8605/phone-fullscreen.png | Bin 0 -> 11393 bytes
.../e2e/__screenshots__/fn-8605/tablet-after.png | Bin 0 -> 14275 bytes
.../e2e/__screenshots__/fn-8605/tablet-before.png | Bin 0 -> 14308 bytes
.../task-modal-touch-resize-browser.test.ts | 83 +++++++++++++
15 files changed, 453 insertions(+), 98 deletions(-)
Fusion-Task-Id: FN-8605
Fusion-Task-Lineage: 993c7ed8-c3e9-4673-b0b7-5c50746991a7
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-07-26 12:51:39 -07:00
..
2026-07-25 23:44:56 -07:00
2026-07-25 21:06:33 -07:00
2026-07-26 12:45:58 -07:00
2026-07-26 12:51:39 -07:00
2026-07-25 21:06:33 -07:00
2026-07-25 21:06:33 -07:00
2026-07-26 12:29:54 -07:00
2026-07-25 22:52:53 -07:00
2026-07-25 21:06:33 -07:00
2026-07-25 21:06:33 -07:00
2026-07-25 21:06:33 -07:00