gsxdsm
129e17d16c
FN-5702: keep mobile footer and nav pinned when keyboard opens
Add viewport-offset handling so mobile bottom bars stay anchored while virtual keyboards resize the visual viewport.
- add a shared viewportOffset utility to compute keyboard-related visual viewport compensation
- update dashboard app bootstrap/index logic to apply compensation variables for pinned footer/nav layout
- extend mobile keyboard layout coverage with dedicated viewport compensation and bottom-bar tests
- document the keyboard/pinned-bar behavior update in dashboard guide
Files changed:
docs/dashboard-guide.md | 2 +-
.../mobile-bottom-bars-keyboard-layout.test.ts | 12 ++-
.../viewport-compensation-keyboard.test.ts | 24 ++++++
packages/dashboard/app/index.html | 39 +++++++++-
.../app/utils/__tests__/viewportOffset.test.ts | 86 ++++++++++++++++++++++
packages/dashboard/app/utils/viewportOffset.ts | 64 ++++++++++++++++
6 files changed, 223 insertions(+), 4 deletions(-)
Fusion-Task-Id: FN-5702
Fusion-Task-Lineage: be47ad0c-82df-4c38-9577-94c2eee49a0e
2026-05-29 20:05:14 -07:00
..
2026-04-24 19:39:20 -07:00
2026-05-22 20:20:42 -07:00
2026-05-19 20:29:59 -07:00
2026-05-09 17:05:43 -07:00
2026-05-08 17:17:59 -07:00
2026-05-25 16:32:57 -07:00
2026-05-15 16:19:42 -07:00
2026-05-12 07:47:10 -07:00
2026-05-07 18:47:08 -07:00
2026-05-09 10:31:04 -07:00
2026-04-24 19:39:20 -07:00
2026-05-29 10:55:25 -07:00
2026-05-16 12:49:57 -07:00
2026-05-07 18:35:45 -07:00
2026-05-07 23:21:05 -07:00
2026-05-22 20:20:42 -07:00
2026-05-23 20:24:18 -07:00
2026-05-18 05:35:14 -07:00
2026-04-23 13:29:23 -07:00
2026-05-17 10:37:54 -07:00
2026-05-22 20:20:42 -07:00
2026-05-23 20:24:18 -07:00
2026-05-20 14:28:45 -07:00
2026-05-11 10:54:26 -07:00
2026-05-22 20:20:42 -07:00
2026-05-22 20:20:42 -07:00
2026-04-24 19:39:20 -07:00
2026-05-22 20:20:42 -07:00
2026-05-22 20:20:42 -07:00
2026-04-24 19:39:20 -07:00
2026-05-22 10:37:21 -07:00
2026-05-07 14:09:39 -07:00
2026-05-19 01:59:22 -07:00
2026-05-10 23:36:10 -07:00
2026-05-29 20:05:14 -07:00
2026-05-22 20:20:42 -07:00
2026-05-22 20:20:42 -07:00
2026-05-23 20:24:18 -07:00
2026-05-22 20:20:42 -07:00
2026-05-23 20:24:18 -07:00
2026-04-07 23:25:34 -07:00
2026-05-23 20:24:18 -07:00
2026-03-28 16:30:23 -04:00
2026-04-24 22:25:57 -07:00
2026-05-22 10:37:21 -07:00
2026-05-22 20:20:42 -07:00
2026-05-15 10:05:46 -07:00
2026-05-22 20:20:42 -07:00
2026-05-02 02:54:26 -07:00
2026-05-29 08:20:28 -07:00
2026-04-24 19:39:20 -07:00
2026-05-07 23:21:05 -07:00
2026-05-08 01:57:55 -07:00
2026-05-06 05:29:56 -07:00
2026-05-17 19:11:59 -07:00
2026-05-17 03:28:21 -07:00
2026-05-08 07:38:50 -07:00
2026-05-17 15:11:48 -07:00
2026-05-28 19:45:27 -07:00
2026-04-24 19:39:20 -07:00
2026-04-30 21:26:54 -07:00
2026-05-23 20:24:18 -07:00
2026-05-13 10:00:00 -07:00
2026-05-17 19:11:59 -07:00
2026-05-29 20:05:14 -07:00