import './stimulus_bootstrap.js'; /* * Welcome to your app's main JavaScript file! * * We recommend including the built version of this JavaScript file * (and its CSS file) in your base layout (base.html.twig). */ // any CSS you import will output into a single css file (app.css in this case) import './styles/app.css'; // --- Gestion du responsive de la barre de navigation (menu hamburger) --- // document.addEventListener('DOMContentLoaded', () => { // --- Gestion de l'affichage du menu hamburger --- // const btn = document.getElementById('mobile-menu-button'); const menu = document.getElementById('main-menu'); const iconClosed = document.getElementById('icon-menu-closed'); const iconOpen = document.getElementById('icon-menu-open'); if (hamburger && menu) { // Fonction pour gérer l'ouverture/fermeture du menu const toggleMenu = () => { menu.classList.toggle('hidden'); // Gestion alternance bouton hamburger ou croix iconClosed.classList.toggle('hidden'); iconOpen.classList.toggle('hidden'); // Mise ne place de l'accessibilité const isHidden = menu.classList.contains('hidden'); btn.setAttribute('aria-expanded', !isHidden); }; // Action au clic sur le bouton hamburger btn.addEventListener('click', toggleMenu); // Action au clic sur un des liens du menu const menuLinks = menu.querySelectorAll('a'); menuLinks.forEach(link => { link.addEventListener('click', () => { // On force la fermeture au clic uniquement si le menu est ouvert sur mobile if (!menu.classList.contains('hidden')) { toggleMenu(); } }); }); } });