Thème
Superviseur — Frontend / composables/useAutoZoom / useAutoZoom
Fonction: useAutoZoom()
ts
function useAutoZoom(): object;Défini dans: composables/useAutoZoom.ts:72
Adapte dynamiquement l'échelle globale de l'application à la taille de la fenêtre, comme un zoom navigateur (Ctrl+molette). Sur le palier bureau, l'échelle suit la fenêtre : elle est calibrée pour un écran de référence 24" et diminue proportionnellement en deçà. Sur les paliers tactiles, où l'interface se recompose plutôt qu'elle ne se réduit, l'échelle est un retrait fixe qui compense des tailles dessinées pour le bureau.
Détail technique : la mise à l'échelle utilise la propriété CSS zoom, appliquée sur <body> — PAS sur la racine <html>. Un zoom posé sur l'élément racine désaligne le hit-test du caret des <textarea> sous Chromium/WebView2 (peinture mise à l'échelle, mais caret calculé dans le référentiel non zoomé de la racine) ; sur un conteneur non-racine il est correctement pris en compte. zoom recalcule la mise en page (contrairement à transform: scale(), qui laisse un débordement de layout défilable et décale le document au premier focus) mais pas les unités vh/vw : on dimensionne donc <body> à 100/zoom vh/vw pour qu'il remplisse exactement la fenêtre une fois zoomé. La chaîne #app → racines des vues remplit en 100 % (voir main.css).
La mesure réinitialise le zoom avant de lire la taille du viewport, ce qui rend le calcul idempotent et évite toute boucle de rétroaction.
Retourne
object
| Nom | Type | Défini dans |
|---|---|---|
apply() | (pathname) => void | composables/useAutoZoom.ts:142 |