diff --git a/audit/internal/webui/layout.go b/audit/internal/webui/layout.go index 31e09f7..246ef12 100644 --- a/audit/internal/webui/layout.go +++ b/audit/internal/webui/layout.go @@ -68,10 +68,9 @@ tbody tr:hover td{background:rgba(0,0,0,.03)} .chip-warn{background:var(--warn-bg);color:var(--warn-fg);border:1px solid #c9ba9b} .chip-fail{background:var(--crit-bg);color:var(--crit-fg);border:1px solid var(--crit-border)} .chip-unknown{background:var(--surface-2);color:var(--muted);border:1px solid var(--border)} -/* Tasks nav badge */ -.tasks-nav-btn{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;color:rgba(255,255,255,.55);font-size:12px;text-decoration:none;border-top:1px solid rgba(255,255,255,.12);margin-top:auto;transition:color .15s} -.tasks-nav-btn:hover{color:#fff} -.tasks-nav-count{background:var(--accent);color:#fff;border-radius:10px;padding:1px 7px;font-size:11px;font-weight:700;display:none} +/* Nav separator and tasks count badge */ +.nav-sep{height:1px;background:rgba(255,255,255,.12);margin:6px 0} +.tasks-nav-count{background:var(--accent);color:#fff;border-radius:10px;padding:1px 7px;font-size:11px;font-weight:700;display:none;margin-left:auto} .tasks-nav-count.active{display:inline} /* Output terminal */ .terminal{background:#1b1c1d;border:1px solid rgba(0,0,0,.2);border-radius:4px;padding:14px;font-family:monospace;font-size:12px;color:#b5cea8;max-height:400px;overflow-y:auto;white-space:pre-wrap;word-break:break-all;user-select:text;-webkit-user-select:text} @@ -98,15 +97,21 @@ tbody tr:hover td{background:rgba(0,0,0,.03)} } func layoutNav(active string, buildLabel string) string { - items := []struct{ id, label, href string }{ - {"dashboard", "Dashboard", "/"}, - {"audit", "1. Audit", "/audit"}, - {"check", "2. Check", "/check"}, - {"load", "3. Load", "/load"}, - {"speed", "4. Speed", "/speed"}, - {"endurance", "5. Endurance", "/endurance"}, - {"tools", "6. Tools", "/tools"}, - {"settings", "7. Settings", "/settings"}, + type navItem struct { + id, label, href string + sep bool + } + items := []navItem{ + {id: "dashboard", label: "Dashboard", href: "/"}, + {id: "audit", label: "1. Audit", href: "/audit"}, + {id: "check", label: "2. Check", href: "/check"}, + {id: "load", label: "3. Load", href: "/load"}, + {id: "speed", label: "4. Speed", href: "/speed"}, + {id: "endurance", label: "5. Endurance", href: "/endurance"}, + {sep: true}, + {id: "tasks", label: "Tasks", href: "/tasks"}, + {id: "tools", label: "Tools", href: "/tools"}, + {id: "settings", label: "Settings", href: "/settings"}, } var b strings.Builder b.WriteString(``) return b.String() diff --git a/audit/internal/webui/pages.go b/audit/internal/webui/pages.go index d5a0c49..a3f2b80 100644 --- a/audit/internal/webui/pages.go +++ b/audit/internal/webui/pages.go @@ -44,11 +44,11 @@ func renderPage(page string, opts HandlerOptions) string { body = renderEndurance(opts) case "tools": pageID = "tools" - title = "6. Tools" + title = "Tools" body = renderTools() case "settings": pageID = "settings" - title = "7. Settings" + title = "Settings" body = renderSettings(opts) // Legacy routes (redirected at HTTP level in handlePage; these are fallbacks) case "validate", "tests":