File manager - Edit - /var/www/html/portalHomolog/public/pmar/js/sidebar.js
Back
/** * Sidebar Admin - Sempre inicia fechada * Lembra o último estado do usuário (aberto/fechado) usando localStorage */ $(function() { const sidebar = $(".sidebar"); const toggleBtn = $("#btn"); const mobileMenuBtn = $("#mobile-menu-btn"); const STORAGE_KEY = "admin_sidebar_state"; // Função para salvar o estado no localStorage function saveState(isOpen) { try { localStorage.setItem(STORAGE_KEY, isOpen ? "open" : "closed"); } catch (e) { // Ignora erros de localStorage (modo privado, etc) } } // Função para obter o estado salvo function getSavedState() { try { return localStorage.getItem(STORAGE_KEY); } catch (e) { return null; } } // Verifica se há um estado salvo const savedState = getSavedState(); // Se não houver estado salvo, sempre inicia fechada // Se houver estado salvo, restaura o estado do usuário if (savedState === "open") { sidebar.removeClass("closed").addClass("open"); toggleBtn.addClass("open"); } else { // Primeira visita ou estado salvo como "closed" sidebar.removeClass("open").addClass("closed"); toggleBtn.removeClass("open"); } // Atualiza o ícone com base na classe atual function updateIcon() { if (sidebar.hasClass("closed")) { toggleBtn.html("<i class='fa-solid fa-bars'></i>"); } else { toggleBtn.html("<i class='fa-solid fa-xmark'></i>"); } } // Função para alternar o estado e salvar function toggleSidebar() { sidebar.toggleClass("open closed"); toggleBtn.toggleClass("open"); updateIcon(); // Salva o estado atual const isOpen = sidebar.hasClass("open"); saveState(isOpen); } // Executa inicialmente updateIcon(); // Evento de clique no toggle toggleBtn.on("click", function() { toggleSidebar(); }); // Evento de clique no botão mobile mobileMenuBtn.on("click", function() { toggleSidebar(); }); // Fecha sidebar ao clicar fora (desktop) // Nota: Não salva o estado ao clicar fora, pois é um comportamento automático $(document).on("click", function(e) { if ($(window).width() > 768) { if (!$(e.target).closest(".sidebar, #btn").length) { if (sidebar.hasClass("open")) { sidebar.removeClass("open").addClass("closed"); toggleBtn.removeClass("open"); updateIcon(); // Não salva o estado ao clicar fora (comportamento automático) } } } }); // Fecha sidebar ao clicar em um link (mobile) // Nota: Não salva o estado ao clicar em link, pois é um comportamento automático do mobile sidebar.find(".nav-list a").on("click", function() { if ($(window).width() <= 768) { sidebar.removeClass("open").addClass("closed"); toggleBtn.removeClass("open"); updateIcon(); // Não salva o estado ao clicar em link (comportamento automático do mobile) } }); // Exibe o body após aplicar tudo $("body").attr("style", function(i, s) { return (s || "") + " visibility: visible !important;"; }); });
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings