diff options
Diffstat (limited to 'weed/admin/view/layout/layout.templ')
| -rw-r--r-- | weed/admin/view/layout/layout.templ | 75 |
1 files changed, 69 insertions, 6 deletions
diff --git a/weed/admin/view/layout/layout.templ b/weed/admin/view/layout/layout.templ index 5c010a9ff..cfb1a96bb 100644 --- a/weed/admin/view/layout/layout.templ +++ b/weed/admin/view/layout/layout.templ @@ -14,6 +14,10 @@ templ Layout(c *gin.Context, content templ.Component) { if username == "" { username = "admin" } + + // Detect if we're on a configuration page to keep submenu expanded + currentPath := c.Request.URL.Path + isConfigPage := strings.HasPrefix(currentPath, "/maintenance/config") || currentPath == "/config" }} <!DOCTYPE html> <html lang="en"> @@ -160,14 +164,73 @@ templ Layout(c *gin.Context, content templ.Component) { </h6> <ul class="nav flex-column"> <li class="nav-item"> - <a class="nav-link" href="/config"> - <i class="fas fa-cog me-2"></i>Configuration - </a> + if isConfigPage { + <a class="nav-link" href="#" data-bs-toggle="collapse" data-bs-target="#configurationSubmenu" aria-expanded="true" aria-controls="configurationSubmenu"> + <i class="fas fa-cogs me-2"></i>Configuration + <i class="fas fa-chevron-down ms-auto"></i> + </a> + } else { + <a class="nav-link collapsed" href="#" data-bs-toggle="collapse" data-bs-target="#configurationSubmenu" aria-expanded="false" aria-controls="configurationSubmenu"> + <i class="fas fa-cogs me-2"></i>Configuration + <i class="fas fa-chevron-right ms-auto"></i> + </a> + } + if isConfigPage { + <div class="collapse show" id="configurationSubmenu"> + <ul class="nav flex-column ms-3"> + for _, menuItem := range GetConfigurationMenuItems() { + {{ + isActiveItem := currentPath == menuItem.URL + }} + <li class="nav-item"> + if isActiveItem { + <a class="nav-link py-2 active" href={templ.SafeURL(menuItem.URL)}> + <i class={menuItem.Icon + " me-2"}></i>{menuItem.Name} + </a> + } else { + <a class="nav-link py-2" href={templ.SafeURL(menuItem.URL)}> + <i class={menuItem.Icon + " me-2"}></i>{menuItem.Name} + </a> + } + </li> + } + </ul> + </div> + } else { + <div class="collapse" id="configurationSubmenu"> + <ul class="nav flex-column ms-3"> + for _, menuItem := range GetConfigurationMenuItems() { + <li class="nav-item"> + <a class="nav-link py-2" href={templ.SafeURL(menuItem.URL)}> + <i class={menuItem.Icon + " me-2"}></i>{menuItem.Name} + </a> + </li> + } + </ul> + </div> + } </li> <li class="nav-item"> - <a class="nav-link" href="/maintenance"> - <i class="fas fa-tools me-2"></i>Maintenance - </a> + if currentPath == "/maintenance" { + <a class="nav-link active" href="/maintenance"> + <i class="fas fa-list me-2"></i>Maintenance Queue + </a> + } else { + <a class="nav-link" href="/maintenance"> + <i class="fas fa-list me-2"></i>Maintenance Queue + </a> + } + </li> + <li class="nav-item"> + if currentPath == "/maintenance/workers" { + <a class="nav-link active" href="/maintenance/workers"> + <i class="fas fa-user-cog me-2"></i>Maintenance Workers + </a> + } else { + <a class="nav-link" href="/maintenance/workers"> + <i class="fas fa-user-cog me-2"></i>Maintenance Workers + </a> + } </li> </ul> </div> |
