import './bootstrap.js';

// Import Bootstrap JavaScript
import 'bootstrap';

/*
 * 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';
import './styles/dashBoard.css';
import './styles/menuDash.css';

console.log('App loaded successfully!');

// Fonction pour initialiser les dropdowns
function initializeDropdowns() {
    const dropdownElementList = [].slice.call(document.querySelectorAll('.dropdown-toggle'));
    dropdownElementList.forEach(function (dropdownToggleEl) {
        if (!dropdownToggleEl._bootstrap) {
            new bootstrap.Dropdown(dropdownToggleEl);
        }
    });
}

// Attendre que le DOM soit chargé
document.addEventListener('DOMContentLoaded', function() {
    // Initialiser les dropdowns au chargement initial
    initializeDropdowns();
    
    // Gestion du clic sur le menu mobile
    const mobileMenu = document.getElementById('mobileMenu');
    const navLinks = document.getElementById('navLinks');
    
    if (mobileMenu && navLinks) {
        mobileMenu.addEventListener('click', function () {
            navLinks.classList.toggle('active');
        });
    }

    // Sélectionne tous les liens à l'intérieur de #navLinks
    const allLinks = document.querySelectorAll("#navLinks a");

    // Gestion de l'activation des liens
    if (allLinks.length > 0) {
        allLinks.forEach(link => {
            link.addEventListener("click", function () {
                // Retirer "active" de tous les liens
                allLinks.forEach(l => l.classList.remove("active"));

                // Ajouter "active" seulement au lien cliqué
                this.classList.add("active");
                
                // Réinitialiser les dropdowns après navigation
                setTimeout(initializeDropdowns, 100);
            });
        });
    }
});

// Si vous utilisez Turbo, ajoutez aussi ceci :
document.addEventListener('turbo:load', function() {
    initializeDropdowns();
});