EVOLUTION-MANAGER
Edit File: navbar-administrador.js
// Mostrar/Ocultar Submenús let arrow = document.querySelectorAll(".arrow"); for (var i = 0; i < arrow.length; i++) { arrow[i].addEventListener("click", (e) => { let arrowParent = e.target.parentElement.parentElement; // Seleccionamos el padre del elemento arrowParent.classList.toggle("showMenu"); // Alternamos la clase para mostrar/ocultar submenú }); } // Manejo del sidebar (abrir/cerrar) con el botón de menú let sidebar = document.querySelector(".sidebar"); let sidebarBtn = document.querySelector(".icon-menu"); sidebarBtn.addEventListener("click", () => { if (window.matchMedia("(min-width: 749px)").matches) { sidebar.classList.toggle("close"); localStorage.setItem("sidebarState", sidebar.classList.contains("close") ? "close" : "open"); } }); // Guardar el estado del sidebar en localStorage para persistencia window.addEventListener('load', function() { let initialWidth = window.innerWidth; if (initialWidth <= 749 || localStorage.getItem("sidebarState") === "close") { sidebar.classList.add("close"); } if (localStorage.getItem("sidebarState") === "open") { sidebar.classList.remove("close"); } }); // Crear un objeto MediaQueryList var navadmin = window.matchMedia("(max-width: 750px)"); // Función que se ejecuta en el cambio de tamaño function myFunction(navadmin) { var minisidebar = document.getElementById("sidebar-administrador"); sidebar.classList.toggle("close"); if (!minisidebar.classList.contains("close")) sidebar.classList.toggle("close"); } // Evento para cambio en el tamaño de pantalla navadmin.addEventListener("change", function() { myFunction(navadmin); }); // // Soporte de gestos táctiles para abrir/cerrar el sidebar // let touchStartX = 0; // let touchEndX = 0; // document.addEventListener('touchstart', (e) => { // touchStartX = e.changedTouches[0].screenX; // }, false); // document.addEventListener('touchmove', (e) => { // touchEndX = e.changedTouches[0].screenX; // }, false); // document.addEventListener('touchend', () => { // handleGesture(); // }, false); // function handleGesture() { // if (touchEndX < touchStartX && window.matchMedia("(max-width: 749px)").matches) { // // Deslizar hacia la izquierda (cerrar sidebar) // if (!sidebar.classList.contains("close")) { // sidebar.classList.add("close"); // localStorage.setItem("sidebarState", "close"); // } // } // if (touchEndX > touchStartX && window.matchMedia("(max-width: 749px)").matches) { // // Deslizar hacia la derecha (abrir sidebar) // if (sidebar.classList.contains("close")) { // sidebar.classList.remove("close"); // localStorage.setItem("sidebarState", "open"); // } // } // }