feat(frontend): shell web responsive pour viewport téléphone (#69)
Lots 1 et 2 du ticket #69 : rendre le client web (#13) utilisable sur un téléphone. Le client web n'a jamais eu de docks ni de fenêtres flottantes — il est déjà une colonne verticale unique — donc le lot 2 se réduit aux rangées qui débordaient réellement à 360px. - `100dvh` sur html/body/#root : `height: 100%` se résout sur le *large* viewport, donc la barre d'URL rétractable d'un navigateur mobile masquait le bas de l'app. Desktop inchangé (dynamic == large viewport). - `viewport-fit=cover` + padding `env(safe-area-inset-*)` sur le header et le workspace : l'app peut peindre sous une encoche sans perdre ses contrôles. Le zoom reste libre (accessibilité). - Padding responsive (`p-4 sm:p-6`) : 48px de gouttière sur 360px, c'était 13% de la largeur. - `AgentLiveRow` et la rangée de tâche de fond empilent leurs contrôles sur téléphone (nom / badges / actions) et retrouvent leur ligne unique dès `sm` — à 360px les boutons Cancel+Retry ne tenaient pas. - Code d'appairage : `inputMode="numeric"`, pas d'autocapitalisation. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@ -60,12 +60,28 @@
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
/* #69 — phone viewports. `height: 100%` resolves against the *large* viewport,
|
||||
so a mobile browser's collapsing URL bar leaves the last ~60px of the app
|
||||
under the toolbar and makes xterm's fit() overshoot. `100dvh` tracks the
|
||||
*dynamic* viewport instead. Desktop is unaffected: there the dynamic and
|
||||
large viewports are identical, so this resolves to the same height. */
|
||||
@supports (height: 100dvh) {
|
||||
html,
|
||||
body,
|
||||
#root {
|
||||
height: 100dvh;
|
||||
}
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
background-color: var(--color-canvas);
|
||||
color: var(--color-content);
|
||||
font-family: var(--font-sans);
|
||||
-webkit-font-smoothing: antialiased;
|
||||
/* Phones: never rubber-band the whole document — the app owns its own
|
||||
scroll containers, and an overscrolling body detaches the fixed shell. */
|
||||
overscroll-behavior-y: none;
|
||||
}
|
||||
|
||||
/* A consistent focus ring across the kit (keyboard accessibility). */
|
||||
|
||||
Reference in New Issue
Block a user