Update web/templates/base.html

This commit is contained in:
Joshua Laymon 2025-08-20 01:56:17 +00:00
parent 26fd78ed81
commit 9f5b53be73

View File

@ -89,6 +89,9 @@
border-radius:12px; box-shadow:0 8px 30px rgba(0,0,0,.08);
min-width: 160px; padding:6px; display:grid; gap:4px; z-index:60;
}
/* KEY FIX: ensure [hidden] actually hides despite display:grid above */
.user-menu[hidden]{ display:none !important; }
.user-menu .menu-item{
display:block; width:100%; text-align:left;
padding:10px 12px; border-radius:10px;
@ -204,12 +207,22 @@
if (userBtn && userMenu) {
const open = () => { userMenu.hidden = false; userBtn.setAttribute('aria-expanded','true'); };
const close = () => { userMenu.hidden = true; userBtn.setAttribute('aria-expanded','false'); };
userBtn.addEventListener('click', (e) => { e.stopPropagation(); userMenu.hidden ? open() : close(); });
// Close on outside click / Escape / tab away
document.addEventListener('click', (e) => {
if (userMenu.hidden) return;
if (!userMenu.contains(e.target) && !userBtn.contains(e.target)) close();
});
document.addEventListener('keydown', (e) => { if (e.key === 'Escape') close(); });
// NEW: close when clicking any item inside the menu
userMenu.addEventListener('click', (e) => {
const el = e.target;
if (el.closest('a') || el.closest('button')) close();
});
window.addEventListener('blur', close);
}
})();