const FA_ICON = document.querySelector('.fa-moon');
const LINK_FA = document.querySelector('.navend > a');

// Fonction pour définir un cookie
function setCookie(name, value, days) {
    const expires = new Date();
    expires.setTime(expires.getTime() + days * 24 * 60 * 60 * 1000);
    document.cookie = `${name}=${value};expires=${expires.toUTCString()};path=/`;
}

// Fonction pour récupérer la valeur d'un cookie
function getCookie(name) {
    const cookieName = `${name}=`;
    const cookies = document.cookie.split(';');
    for (let i = 0; i < cookies.length; i++) {
        let cookie = cookies[i].trim();
        if (cookie.indexOf(cookieName) === 0) {
            return cookie.substring(cookieName.length, cookie.length);
        }
    }
    return null;
}

// Charger le thème en fonction du cookie au chargement initial de la page
document.addEventListener('DOMContentLoaded', () => {
    const currentTheme = getCookie('theme');
    if (currentTheme === 'light') {
        // Charger le thème sombre
        FA_ICON.classList.add('fa-moon'); 
        FA_ICON.classList.remove('fa-sun'); 
        loadDarkTheme();
    } else {
        // Par défaut, charger le thème clair
        FA_ICON.classList.add('fa-sun'); 
        FA_ICON.classList.remove('fa-moon'); 
        loadLightTheme();
    }
});

// Écouter l'événement clic sur l'icône
FA_ICON.addEventListener('click', () => {
    FA_ICON.classList.toggle('fa-moon');
    FA_ICON.classList.toggle('fa-sun');

    if (FA_ICON.classList.contains('fa-moon')) {
        // Charger le thème clair
        loadLightTheme();
        // Enregistrer le choix du thème dans le cookie
        setCookie('theme', 'light', 30); // Le cookie expire après 30 jours
    } else {
        // Charger le thème sombre
        loadDarkTheme();
        // Enregistrer le choix du thème dans le cookie
        setCookie('theme', 'dark', 30); // Le cookie expire après 30 jours
    }
});

// Fonction pour charger le thème clair
function loadLightTheme() {
    const existingLink = document.querySelector('link[href*="colors_dark.css"]');
    if (existingLink) {
        const newLink = document.createElement('link');
        newLink.rel = 'stylesheet';
        newLink.href = '/static/css/colors_light.css';
        existingLink.parentNode.replaceChild(newLink, existingLink);
    } else {
        console.error("Feuille de style 'colors_dark.css' non trouvée ou inaccessible.");
    }
}

// Fonction pour charger le thème sombre
function loadDarkTheme() {
    const existingLink = document.querySelector('link[href*="colors_light.css"]');
    if (existingLink) {
        const newLink = document.createElement('link');
        newLink.rel = 'stylesheet';
        newLink.href = '/static/css/colors_dark.css';
        existingLink.parentNode.replaceChild(newLink, existingLink);
    } else {
        console.error("Feuille de style 'colors_light.css' non trouvée ou inaccessible.");
    }
}
