Skip to content

Amélioration de la gestion des boutons de pages statiques #647

@bruhnild

Description

@bruhnild

Objectif

Améliorer l’interface utilisateur en ajoutant une mise en surbrillance automatique de l’onglet actif dans la barre latérale gauche, en fonction de la page en cours.

Évolution apportée (dans footer.html)

Ajout du script suivant pour activer dynamiquement la classe CSS active sur l’élément .sidebar-brand correspondant à la page affichée :

<script>
$(document).ready(function() {
  let allMenuElements = document.querySelectorAll(".sidebar-brand");
  let page = window.location.pathname.split("/").pop().split("#")[0].split("?")[0];
  let idx = -1;

  if (!page) {
    idx = 0; // page d'accueil
  } else if (configuration.STATIC_PAGES.hasOwnProperty(page)) {
    idx = configuration.STATIC_PAGES[page].order; // Ordre défini dans config.atlas.py
  } else if (page == "photos") {
    idx = allMenuElements.length - 1; // Cas spécifique pour la page "photos"
  }

  if (idx >= 0) {
    allMenuElements[idx].classList.add('active');
  }
});
</script>

Rendu visuel

Image

Pour tester : https://observatoire-biodiversite.nantesmetropole.fr/

Points d'attention

  • Cette logique suppose que la propriété order est renseignée correctement et systématiquement dans STATIC_PAGES du fichier config.atlas.py.
  • À défaut, le mauvais onglet pourrait être mis en surbrillance ou aucun ne le serait.

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions