{
const el = document.activeElement;
if (!el) return;
const rect = el.getBoundingClientRect();
const distanceFromBottom = window.innerHeight - rect.bottom;
const minVisibleSpace = 230;
const oldSpacer = document.getElementById('focus-spacer');
if (oldSpacer) oldSpacer.remove();
if (distanceFromBottom < minVisibleSpace) {
const extraSpace = minVisibleSpace - distanceFromBottom + 20;
const spacer = document.createElement('div');
spacer.id = 'focus-spacer';
spacer.style.height = `${extraSpace}px`;
spacer.style.pointerEvents = 'none';
document.body.appendChild(spacer);
el.scrollIntoView({ top: 100, behavior: 'smooth'});
}
});" @focusout.window="const spacer = document.getElementById('focus-spacer');
if (spacer) spacer.remove();
" @mousedown="tabbing = false; const spacer = document.getElementById('focus-spacer');
if (spacer) spacer.remove();" :class="tabbing ? 'user-is-tabbing': ''"
>
-
La Métropole
-
Vie démocratique
-
Projet & territoire
-
Administration
-
Compétences & budget
-
Nos missions
-
Eau, assainissement, énergie
-
Déchets, propreté, voirie
-
Transports, mobilité
-
Logement, habitat, urbanisme
-
Culture, patrimoine
-
Cadre de vie, environnement
-
Solidarité, insertion
-
Jeunesse, enseignement
et recherche
-
Économie, tourisme, sport
-
Les ports
-
Les grands projets