From 4734fdea85e6c7a594d897e2c8d329bbc045dd10 Mon Sep 17 00:00:00 2001 From: root Date: Sat, 25 Jul 2026 10:00:07 +0000 Subject: [PATCH] feat: add Admin and Settings menu with collapsible submenus and placeholder pages --- static/app.js | 6 +++++ static/index.html | 63 ++++++++++++++++++++++++++++++++++++++++++++++- static/style.css | 14 +++++++++++ 3 files changed, 82 insertions(+), 1 deletion(-) diff --git a/static/app.js b/static/app.js index 85f7e28..71880da 100644 --- a/static/app.js +++ b/static/app.js @@ -2,6 +2,12 @@ const API = ''; let currentChatId = null; +// Toggle collapsible nav sections (Admin, Settings) +function toggleNavSection(id) { + const el = document.getElementById(id); + if (el) el.style.display = el.style.display === 'none' ? 'block' : 'none'; +} + // ============================================================ // NAVIGATION // ============================================================ diff --git a/static/index.html b/static/index.html index 0e707d5..837654d 100644 --- a/static/index.html +++ b/static/index.html @@ -22,6 +22,25 @@
  • Batches
  • Generated CVs
  • + @@ -121,6 +140,48 @@

    Generated CVs

    + + +
    +

    Users

    +

    User management with role-based access control — coming soon.

    +
    + + +
    +

    System Health

    +

    Service status dashboard — coming soon.

    +
    + + +
    +

    AI Provider

    +

    Configure AI provider, model, and API key — coming soon.

    +
    + + +
    +

    Appearance

    +

    Theme and display settings — coming soon.

    +
    + + +
    +

    Branding

    +

    Company name, logo, and header text — coming soon.

    +
    + + +
    +

    ONLYOFFICE

    +

    ONLYOFFICE connection URL and JWT secret — coming soon.

    +
    + + +
    +

    Notifications

    +

    Email notification settings — coming soon.

    +
    @@ -140,7 +201,7 @@ - + diff --git a/static/style.css b/static/style.css index 0266696..899bcc5 100644 --- a/static/style.css +++ b/static/style.css @@ -74,6 +74,20 @@ a:hover { text-decoration: underline; } color: var(--accent); border-left-color: var(--accent); } +.nav-section-title { + display: block; + padding: 10px 20px; + color: var(--text-muted); + font-size: 12px; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.5px; + cursor: pointer; + border-left: 3px solid transparent; +} +.nav-section-title:hover { color: var(--text); text-decoration: none; } +.nav-sub { list-style: none; padding: 0; margin: 0; } +.nav-sub li a { font-size: 13px; padding: 7px 20px 7px 32px; } .main { flex: 1; padding: 24px 32px;