feat(FN-1025): harden mobile keyboard-open layout for terminal modal

- Add CSS rules to properly handle viewport height when mobile virtual keyboard is open
- Add regression tests for keyboard-open overlap detection
- Add TerminalModal test coverage for keyboard-related height contract
- Document mobile keyboard layout behavior in dashboard README
This commit is contained in:
gsxdsm
2026-04-05 23:26:59 -07:00
parent b89825054d
commit ad56abc7ee
4 changed files with 230 additions and 0 deletions

View File

@@ -7881,6 +7881,16 @@ body {
works uniformly across Chrome Android and iOS Safari.
Falls back to 100dvh - overlap when --vv-height is not available. */
.terminal-modal[style*="--keyboard-overlap"] {
/* Neutralize inherited desktop min-height (90vh) so the modal can
shrink below the full-viewport mobile default when the keyboard
is open. Without this, min-height keeps the modal taller than
the available space and the bottom overlaps the keyboard. */
min-height: auto;
/* Apply both height and max-height so the modal is *exactly* the
visual viewport height — not just capped at it. Using height
ensures the element cannot be taller than max-height due to
inherited min-height or flex layout. */
height: var(--vv-height, calc(100dvh - var(--keyboard-overlap, 0px)));
max-height: var(--vv-height, calc(100dvh - var(--keyboard-overlap, 0px)));
}
}