diff --git a/web/src/beanflows/admin/templates/admin/base_admin.html b/web/src/beanflows/admin/templates/admin/base_admin.html index 8fc9798..def9d38 100644 --- a/web/src/beanflows/admin/templates/admin/base_admin.html +++ b/web/src/beanflows/admin/templates/admin/base_admin.html @@ -88,17 +88,6 @@ flex: 1; padding: 12px 10px; } - .admin-nav-section { - margin-bottom: 6px; - } - .admin-nav-label { - font-size: 9px; - font-weight: 700; - letter-spacing: 0.08em; - text-transform: uppercase; - color: rgba(255,255,255,0.3); - padding: 10px 10px 4px; - } .admin-nav-item { display: flex; @@ -112,6 +101,7 @@ text-decoration: none; transition: background 0.12s, color 0.12s; position: relative; + margin-bottom: 1px; } .admin-nav-item:hover { background: rgba(255,255,255,0.07); @@ -155,6 +145,12 @@ } .admin-nav-badge.unread { background: #D97706; } + .admin-nav-divider { + height: 1px; + background: rgba(255,255,255,0.07); + margin: 6px 10px; + } + .admin-sidebar-footer { padding: 12px 10px; border-top: 1px solid rgba(255,255,255,0.08); @@ -194,6 +190,28 @@ color: #78716C; } + /* ── Horizontal subnav ── */ + .admin-subnav { + display: flex; align-items: stretch; padding: 0 28px; + background: #fff; border-bottom: 1px solid #E8DFD5; + flex-shrink: 0; overflow-x: auto; gap: 0; + } + .admin-subnav a { + display: flex; align-items: center; gap: 5px; + padding: 0 1px; margin: 0 14px 0 0; height: 40px; + font-size: 13px; font-weight: 500; color: #78716C; + text-decoration: none; white-space: nowrap; + border-bottom: 2px solid transparent; margin-bottom: -1px; + transition: color 0.12s, border-color 0.12s; + } + .admin-subnav a:hover { color: #B45309; text-decoration: none; } + .admin-subnav a.active { color: #B45309; border-bottom-color: #B45309; font-weight: 600; } + .admin-subnav__badge { + font-size: 9px; padding: 1px 5px; border-radius: 9999px; font-weight: 700; + } + .admin-subnav__badge.error { background: #EF4444; color: white; } + .admin-subnav__badge.unread { background: #D97706; color: white; } + .admin-content { flex: 1; padding: 28px; @@ -219,6 +237,7 @@ .admin-main { margin-left: 0; } .admin-mobile-toggle { display: flex; } .admin-content { padding: 16px; } + .admin-subnav { padding: 0 16px; } } /* ── Overlay ── */ @@ -247,6 +266,14 @@ {% block admin_head %}{% endblock %}
+{%- set _section_map = { + 'dashboard': 'overview', + 'users': 'manage', 'tasks': 'manage', + 'cms': 'content', 'cms_templates': 'content', + 'feedback': 'engagement', 'waitlist': 'engagement', + 'flags': 'system', 'emails': 'system', +} -%} +{%- set active_section = _section_map.get(admin_page|default(''), 'overview') -%}