Update web/templates/base.html

This commit is contained in:
Joshua Laymon 2025-08-20 01:59:48 +00:00
parent 9f5b53be73
commit f355b40e30

View File

@ -89,7 +89,6 @@
border-radius:12px; box-shadow:0 8px 30px rgba(0,0,0,.08); 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; 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[hidden]{ display:none !important; }
.user-menu .menu-item{ .user-menu .menu-item{
@ -97,6 +96,8 @@
padding:10px 12px; border-radius:10px; padding:10px 12px; border-radius:10px;
text-decoration:none; color:var(--nav-ink); text-decoration:none; color:var(--nav-ink);
background:transparent; border:none; cursor:pointer; background:transparent; border:none; cursor:pointer;
font-size:16px; /* ensure uniform size */
font-family:inherit;
} }
.user-menu .menu-item:hover{ background:var(--btn-hover); } .user-menu .menu-item:hover{ background:var(--btn-hover); }
.user-menu .danger-btn{ color:#b91c1c; } .user-menu .danger-btn{ color:#b91c1c; }
@ -116,10 +117,6 @@
<a class="btn btn-success" href="{% url 'entry_add' %}">+ New Entry</a> <a class="btn btn-success" href="{% url 'entry_add' %}">+ New Entry</a>
<a class="nav-btn" href="{% url 'stats' %}">Statistics</a> <a class="nav-btn" href="{% url 'stats' %}">Statistics</a>
{% if user.is_authenticated and user.is_staff %}
<a class="nav-btn" href="{% url 'export_csv' %}">Backup</a>
{% endif %}
{% if user.is_authenticated %} {% if user.is_authenticated %}
<!-- USER MENU --> <!-- USER MENU -->
<div class="user-dropdown"> <div class="user-dropdown">
@ -127,6 +124,9 @@
{{ user.username }} {{ user.username }}
</button> </button>
<div id="userMenu" class="user-menu" hidden> <div id="userMenu" class="user-menu" hidden>
{% if user.is_staff %}
<a class="menu-item" href="{% url 'export_csv' %}">Backup</a>
{% endif %}
<a class="menu-item" href="{% url 'settings_home' %}">Settings</a> <a class="menu-item" href="{% url 'settings_home' %}">Settings</a>
<form method="post" action="{% url 'logout' %}"> <form method="post" action="{% url 'logout' %}">
{% csrf_token %} {% csrf_token %}
@ -210,17 +210,14 @@
userBtn.addEventListener('click', (e) => { e.stopPropagation(); userMenu.hidden ? open() : close(); }); userBtn.addEventListener('click', (e) => { e.stopPropagation(); userMenu.hidden ? open() : close(); });
// Close on outside click / Escape / tab away
document.addEventListener('click', (e) => { document.addEventListener('click', (e) => {
if (userMenu.hidden) return; if (userMenu.hidden) return;
if (!userMenu.contains(e.target) && !userBtn.contains(e.target)) close(); if (!userMenu.contains(e.target) && !userBtn.contains(e.target)) close();
}); });
document.addEventListener('keydown', (e) => { if (e.key === 'Escape') close(); }); document.addEventListener('keydown', (e) => { if (e.key === 'Escape') close(); });
// NEW: close when clicking any item inside the menu
userMenu.addEventListener('click', (e) => { userMenu.addEventListener('click', (e) => {
const el = e.target; if (e.target.closest('a') || e.target.closest('button')) close();
if (el.closest('a') || el.closest('button')) close();
}); });
window.addEventListener('blur', close); window.addEventListener('blur', close);