/** * Affiche le loader lors des navigations entre pages (localhost) * Comme on est en localhost, on peut se permettre d'afficher le loader * au clic sur un lien, il disparaîtra automatiquement au chargement de la nouvelle page */ document.addEventListener("DOMContentLoaded", () => { // Intercepter les clics sur les liens internes pour afficher le loader document.body.addEventListener("click", (e) => { const link = e.target.closest("a"); // Si c'est un lien interne (commence par /) et pas un lien spécial if (link && link.getAttribute("href") && link.getAttribute("href").startsWith("/") && !link.classList.contains("modal-close") && !link.getAttribute("href").startsWith("/#")) { // Afficher le loader avant la navigation if (typeof showLoader === 'function') { showLoader(); } } }); // Afficher le loader lors du rechargement (F5, Cmd+R) window.addEventListener("beforeunload", () => { if (typeof showLoader === 'function') { showLoader(); } }); // Cacher le loader quand la page est complètement chargée window.addEventListener("load", () => { if (typeof hideLoader === 'function') { // Petit délai pour éviter le flash setTimeout(hideLoader, 100); } }); });