From 7fcf5b3f75ec098b10fd01db3251fbc67fedb5d1 Mon Sep 17 00:00:00 2001 From: Ian Roddis <31021769+iroddis@users.noreply.github.com> Date: Thu, 2 Jul 2026 13:38:43 -0300 Subject: [PATCH] Relayout of nav --- app/static/css/style.css | 71 ++++++++++++++++++++++++++ app/templates/_nav.html | 105 +++++++++++++++++++++++---------------- 2 files changed, 133 insertions(+), 43 deletions(-) diff --git a/app/static/css/style.css b/app/static/css/style.css index ef4996f..94e51d1 100644 --- a/app/static/css/style.css +++ b/app/static/css/style.css @@ -57,6 +57,7 @@ a:hover { .topbar nav { display: flex; + align-items: center; gap: 1rem; } @@ -67,6 +68,76 @@ a:hover { gap: 0.75rem; } +/* Nav dropdowns */ +.nav-group { + position: relative; + line-height: 1; +} + +.nav-label { + cursor: default; + color: #a5b4fc; + white-space: nowrap; + user-select: none; +} + +.nav-label:hover { + text-decoration: underline; +} + +.nav-dropdown { + display: none; + position: absolute; + top: calc(100% + 6px); + left: 0; + background: var(--surface); + border: 1px solid var(--border); + border-radius: 8px; + padding: 0.3rem 0; + min-width: 180px; + z-index: 200; + box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5); +} + +.nav-group:hover > .nav-dropdown { + display: block; +} + +.nav-dropdown a { + display: block; + padding: 0.38rem 0.9rem; + white-space: nowrap; + color: #a5b4fc; +} + +.nav-dropdown a:hover { + background: var(--surface-2); + text-decoration: none; +} + +.nav-dropdown hr { + border: none; + border-top: 1px solid var(--border); + margin: 0.3rem 0; +} + +/* Second-level group inside a dropdown */ +.nav-dropdown .nav-group > .nav-label { + display: block; + padding: 0.38rem 0.9rem; +} + +.nav-dropdown .nav-group:hover > .nav-label { + background: var(--surface-2); + text-decoration: none; +} + +.nav-dropdown .nav-group > .nav-dropdown { + top: -0.3rem; + left: 100%; + margin-left: 2px; +} + /* Cards */ .card { background: var(--surface); diff --git a/app/templates/_nav.html b/app/templates/_nav.html index 53624a6..a468746 100644 --- a/app/templates/_nav.html +++ b/app/templates/_nav.html @@ -1,52 +1,71 @@ +{% set su = user.is_superuser %} +{% set p = user.permissions %} +{% set can_admin = su or "users:read" in p or "roles:read" in p or "audit_log:read" in p %} +{% set can_connections = su or "clamp_connections:read" in p or "iso_threads:read" in p or "static_connections:read" in p or "unc_threads:read" in p %} +{% set can_labels = su or "manufacturers:read" in p or "part_colours:read" in p or "part_types:read" in p or "scope_models:read" in p or "sub_part_types:read" in p %} +{% set can_database = su or "imported_parts:read" in p or "augmented_parts:read" in p %} +{% set can_parts = can_connections or can_labels or can_database %}
{{ app_name }}