/* ===================================================================== MENÚ — plegar la barra lateral para ganar pantalla Al plegarse queda como una tira de íconos en vez de desaparecer: se gana ancho igual y el menú sigue siendo navegable de un clic. La elección se guarda, así que si trabajas con el menú plegado sigue plegado al cambiar de vista o al volver mañana. ===================================================================== */ (function () { 'use strict'; var CLAVE = 'menu-compacto'; function guardado() { try { return localStorage.getItem(CLAVE) === '1'; } catch (e) { return false; } } function aplicar(compacto) { var marco = document.querySelector('.app-marco'); if (marco) marco.classList.toggle('menu-compacto', compacto); try { localStorage.setItem(CLAVE, compacto ? '1' : '0'); } catch (e) { /* modo privado */ } var b = document.getElementById('btnMenu'); if (b) { b.title = compacto ? 'Mostrar el menú' : 'Ocultar el menú para agrandar la pantalla'; b.setAttribute('aria-expanded', compacto ? 'false' : 'true'); } } function enganchar() { // Con el menú plegado solo quedan los íconos: el nombre pasa a ser el // globo de ayuda para que se siga sabiendo a dónde lleva cada uno. document.querySelectorAll('.nav-item').forEach(function (el) { var txt = el.querySelector('span'); if (txt && !el.title) el.title = txt.textContent.trim(); }); var b = document.getElementById('btnMenu'); if (b) b.onclick = function () { var marco = document.querySelector('.app-marco'); aplicar(!(marco && marco.classList.contains('menu-compacto'))); }; aplicar(guardado()); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', enganchar); } else { enganchar(); } })();