From 8b10678dee4bd4444c54b457415f75f6916a1fde Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Sun, 29 Mar 2026 05:08:53 +0200 Subject: [PATCH] webui: reorganise sidebar and rename Dashboard to Overview MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Group nav items by purpose: - Security: Firewall, WireGuard, NACM - Services: Services, DHCP, NTP, LLDP, mDNS (moved from Network) - Network trimmed to: Interfaces, Routing, WiFi Rename Dashboard → Overview for clearer Status > System > Overview navigation hierarchy. Signed-off-by: Joachim Wiberg --- src/webui/static/css/style.css | 44 ++++++----- src/webui/static/img/icons/advanced.svg | 11 +++ src/webui/static/img/icons/dhcp.svg | 11 ++- src/webui/static/img/icons/iface-bridge.svg | 6 -- .../static/img/icons/iface-container.svg | 5 -- src/webui/static/img/icons/iface-ethernet.svg | 3 - src/webui/static/img/icons/iface-gre.svg | 5 -- src/webui/static/img/icons/iface-lag.svg | 5 -- src/webui/static/img/icons/iface-veth.svg | 5 -- src/webui/static/img/icons/iface-vlan.svg | 5 -- src/webui/static/img/icons/iface-vxlan.svg | 3 - src/webui/static/img/icons/iface-wifi.svg | 6 -- .../static/img/icons/iface-wireguard.svg | 5 -- src/webui/static/img/icons/interfaces.svg | 9 ++- src/webui/static/img/icons/keystore.svg | 6 +- src/webui/static/img/icons/routing.svg | 12 +-- src/webui/static/img/icons/status-down.svg | 5 -- src/webui/static/img/icons/status-up.svg | 4 - src/webui/static/img/icons/status-warning.svg | 5 -- src/webui/static/img/logo.png | Bin 28727 -> 11150 bytes src/webui/templates/layouts/sidebar.html | 69 ++++++++++-------- src/webui/templates/pages/dashboard.html | 4 +- 22 files changed, 102 insertions(+), 126 deletions(-) create mode 100644 src/webui/static/img/icons/advanced.svg delete mode 100644 src/webui/static/img/icons/iface-bridge.svg delete mode 100644 src/webui/static/img/icons/iface-container.svg delete mode 100644 src/webui/static/img/icons/iface-ethernet.svg delete mode 100644 src/webui/static/img/icons/iface-gre.svg delete mode 100644 src/webui/static/img/icons/iface-lag.svg delete mode 100644 src/webui/static/img/icons/iface-veth.svg delete mode 100644 src/webui/static/img/icons/iface-vlan.svg delete mode 100644 src/webui/static/img/icons/iface-vxlan.svg delete mode 100644 src/webui/static/img/icons/iface-wifi.svg delete mode 100644 src/webui/static/img/icons/iface-wireguard.svg delete mode 100644 src/webui/static/img/icons/status-down.svg delete mode 100644 src/webui/static/img/icons/status-up.svg delete mode 100644 src/webui/static/img/icons/status-warning.svg diff --git a/src/webui/static/css/style.css b/src/webui/static/css/style.css index ffb756c3..6099fc12 100644 --- a/src/webui/static/css/style.css +++ b/src/webui/static/css/style.css @@ -54,6 +54,7 @@ --dot-color: rgba(0, 0, 0, 0.055); /* Layout */ + --topbar-height: 48px; --radius: 8px; --radius-sm: 4px; --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05); @@ -174,7 +175,8 @@ a:hover { .layout { display: flex; - height: 100vh; + height: calc(100vh - var(--topbar-height)); + margin-top: var(--topbar-height); overflow: hidden; } @@ -210,13 +212,9 @@ a:hover { Sidebar Components ========================================================================== */ -.sidebar-header { - padding: 1.5rem 1.25rem; -} - -.sidebar-logo { - max-width: 100%; - height: auto; +.topbar-logo { + height: calc(var(--topbar-height) - 14px); + width: auto; display: block; } @@ -246,8 +244,8 @@ details.nav-group-top > summary.nav-group-summary-top { opacity: 0.7; padding: 0.75rem 1rem 0.375rem; display: flex; - justify-content: space-between; align-items: center; + gap: 0.35rem; user-select: none; transition: opacity 0.15s; } @@ -255,11 +253,11 @@ details.nav-group-top > summary.nav-group-summary-top:hover { opacity: 1; } details.nav-group-top > summary.nav-group-summary-top::-webkit-details-marker { display: none; } details.nav-group-top > summary.nav-group-summary-top::marker { display: none; } -details.nav-group-top > summary.nav-group-summary-top::after { +details.nav-group-top > summary.nav-group-summary-top::before { content: '▸'; font-size: 0.7rem; } -details[open].nav-group-top > summary.nav-group-summary-top::after { +details[open].nav-group-top > summary.nav-group-summary-top::before { content: '▾'; } @@ -1646,15 +1644,18 @@ details.fw-hint[open] summary::before { transform: rotate(90deg); } ========================================================================== */ .topbar { + position: fixed; + top: 0; + left: 0; + right: 0; display: flex; align-items: center; - justify-content: flex-end; + gap: 0.75rem; padding: 0 1rem; - height: 48px; + height: var(--topbar-height); background: var(--sidebar-bg); border-bottom: 1px solid var(--sidebar-border); - flex-shrink: 0; - z-index: 100; + z-index: 200; } .topbar-right { @@ -1826,10 +1827,10 @@ details.fw-hint[open] summary::before { transform: rotate(90deg); } @media (max-width: 1024px) { #sidebar { position: fixed; - top: 0; + top: var(--topbar-height); left: 0; - height: 100%; - z-index: 300; + height: calc(100vh - var(--topbar-height)); + z-index: 150; transform: translateX(-100%); transition: transform 0.25s ease; width: var(--sidebar-width); @@ -1842,9 +1843,12 @@ details.fw-hint[open] summary::before { transform: rotate(90deg); } body.sidebar-open::after { content: ''; position: fixed; - inset: 0; + top: var(--topbar-height); + left: 0; + right: 0; + bottom: 0; background: rgba(0,0,0,0.4); - z-index: 200; + z-index: 140; } #content { diff --git a/src/webui/static/img/icons/advanced.svg b/src/webui/static/img/icons/advanced.svg new file mode 100644 index 00000000..8fcfe9a5 --- /dev/null +++ b/src/webui/static/img/icons/advanced.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/webui/static/img/icons/dhcp.svg b/src/webui/static/img/icons/dhcp.svg index 30823ecf..67fc54cb 100644 --- a/src/webui/static/img/icons/dhcp.svg +++ b/src/webui/static/img/icons/dhcp.svg @@ -1,4 +1,9 @@ - - - \ No newline at end of file + + + + + + + + diff --git a/src/webui/static/img/icons/iface-bridge.svg b/src/webui/static/img/icons/iface-bridge.svg deleted file mode 100644 index 4dde450f..00000000 --- a/src/webui/static/img/icons/iface-bridge.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/src/webui/static/img/icons/iface-container.svg b/src/webui/static/img/icons/iface-container.svg deleted file mode 100644 index a6389999..00000000 --- a/src/webui/static/img/icons/iface-container.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/webui/static/img/icons/iface-ethernet.svg b/src/webui/static/img/icons/iface-ethernet.svg deleted file mode 100644 index 6c0ee150..00000000 --- a/src/webui/static/img/icons/iface-ethernet.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/webui/static/img/icons/iface-gre.svg b/src/webui/static/img/icons/iface-gre.svg deleted file mode 100644 index 0c966494..00000000 --- a/src/webui/static/img/icons/iface-gre.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/webui/static/img/icons/iface-lag.svg b/src/webui/static/img/icons/iface-lag.svg deleted file mode 100644 index 64d060d9..00000000 --- a/src/webui/static/img/icons/iface-lag.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/webui/static/img/icons/iface-veth.svg b/src/webui/static/img/icons/iface-veth.svg deleted file mode 100644 index 62c3728f..00000000 --- a/src/webui/static/img/icons/iface-veth.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/webui/static/img/icons/iface-vlan.svg b/src/webui/static/img/icons/iface-vlan.svg deleted file mode 100644 index 379524d9..00000000 --- a/src/webui/static/img/icons/iface-vlan.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/webui/static/img/icons/iface-vxlan.svg b/src/webui/static/img/icons/iface-vxlan.svg deleted file mode 100644 index 2ce493b9..00000000 --- a/src/webui/static/img/icons/iface-vxlan.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/webui/static/img/icons/iface-wifi.svg b/src/webui/static/img/icons/iface-wifi.svg deleted file mode 100644 index a344e5a3..00000000 --- a/src/webui/static/img/icons/iface-wifi.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/src/webui/static/img/icons/iface-wireguard.svg b/src/webui/static/img/icons/iface-wireguard.svg deleted file mode 100644 index b321cd2d..00000000 --- a/src/webui/static/img/icons/iface-wireguard.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/webui/static/img/icons/interfaces.svg b/src/webui/static/img/icons/interfaces.svg index 6c0ee150..9d82f461 100644 --- a/src/webui/static/img/icons/interfaces.svg +++ b/src/webui/static/img/icons/interfaces.svg @@ -1,3 +1,8 @@ - - \ No newline at end of file + + + + + + + diff --git a/src/webui/static/img/icons/keystore.svg b/src/webui/static/img/icons/keystore.svg index 1a8c6f99..cb9a9e93 100644 --- a/src/webui/static/img/icons/keystore.svg +++ b/src/webui/static/img/icons/keystore.svg @@ -1,4 +1,4 @@ - - - \ No newline at end of file + + + diff --git a/src/webui/static/img/icons/routing.svg b/src/webui/static/img/icons/routing.svg index f0ae57aa..19ae58e7 100644 --- a/src/webui/static/img/icons/routing.svg +++ b/src/webui/static/img/icons/routing.svg @@ -1,6 +1,8 @@ - - - - - \ No newline at end of file + + + + + + + diff --git a/src/webui/static/img/icons/status-down.svg b/src/webui/static/img/icons/status-down.svg deleted file mode 100644 index aeb3a283..00000000 --- a/src/webui/static/img/icons/status-down.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/webui/static/img/icons/status-up.svg b/src/webui/static/img/icons/status-up.svg deleted file mode 100644 index 6a6a46af..00000000 --- a/src/webui/static/img/icons/status-up.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/webui/static/img/icons/status-warning.svg b/src/webui/static/img/icons/status-warning.svg deleted file mode 100644 index 421cf3db..00000000 --- a/src/webui/static/img/icons/status-warning.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/webui/static/img/logo.png b/src/webui/static/img/logo.png index 169dfacce77524f9052a11bbddd5a2dd8fb17144..cfd199b97c78b02970d84b1852b69cbd7f8ae187 100644 GIT binary patch literal 11150 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%0ADGjn4Co@A{GK#mAWXGq8=+PI;`^T#}H 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 diff --git a/src/webui/templates/layouts/sidebar.html b/src/webui/templates/layouts/sidebar.html index 534b61b5..38046346 100644 --- a/src/webui/templates/layouts/sidebar.html +++ b/src/webui/templates/layouts/sidebar.html @@ -1,8 +1,5 @@ {{define "sidebar"}}