Update web/templates/base.html
This commit is contained in:
parent
9f5b53be73
commit
f355b40e30
@ -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);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user