Sidebar: group nav into priority-ordered functional sections
Nightly Build / build (push) Successful in 6m27s

Turn the flat sidebar into a data-driven nav: each entry declares a
group (workspace/extensions/config/dev) and a numeric priority, and each
section renders by sorting on that key. Split axis is function, not
permission — adminOnly/debugOnly gate individual entries and an empty
section is hidden, so Configuration vanishes for non-admins without a
section-level role check.

- Shared folders moves into 'Your space' (still admin-gated per-entry).
- Plugin pages merge into the workspace group on the same priority line
  (>=100 by default); rebase the two in-repo plugins accordingly.
- Configuration and Development are collapsible, closed by default,
  state persisted in localStorage. Simple mode unchanged.
- Rename nav.catalog to 'Connectors Catalog' to disambiguate from the
  Plugin Catalog; add nav.section.* header keys (en/it/fr).
- Replace dead .sidebar-section-toggle CSS with real section classes.
This commit is contained in:
2026-07-20 16:31:17 +01:00
parent beeff61701
commit 6b25e7a2bf
7 changed files with 240 additions and 159 deletions
+32 -14
View File
@@ -41,35 +41,53 @@ app-sidebar {
opacity: 1;
}
.sidebar-section-toggle {
/* ── Grouped nav sections ── */
.sidebar-section {
display: flex;
flex-direction: column;
gap: 0.1rem;
}
.sidebar-section-label {
display: flex;
align-items: center;
gap: 0.4rem;
width: 100%;
background: none;
border: none;
padding: 0.2rem 1rem 0.2rem 0.85rem;
font-size: 0.7rem;
text-align: left;
padding: 0.2rem 0.55rem;
margin-top: 0.7rem;
font-size: 0.68rem;
font-weight: 600;
letter-spacing: 0.06em;
text-transform: uppercase;
color: var(--sidebar-label-color);
}
.sidebar-section:first-child .sidebar-section-label {
margin-top: 0;
}
.sidebar-section-label span {
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.sidebar-section-label.is-collapsible {
cursor: pointer;
margin-top: 0.5rem;
}
.sidebar-section-toggle:hover {
color: var(--bs-body-color);
.sidebar-section-label.is-collapsible:hover {
color: var(--sidebar-text-active);
}
.sidebar-section-toggle i {
font-size: 0.65rem;
}
.sidebar-section-count {
margin-left: auto;
font-size: 0.65rem;
opacity: 0.6;
.sidebar-section-label i {
font-size: 0.6rem;
opacity: 0.7;
}
.sidebar-nav {