Refactor: Tab-Switching von JavaScript auf HTMX + Jinja2 umgestellt

Shares- und Identities-Seite nutzen jetzt ?tab= Query-Parameter statt
clientseitigem JS. Der Server steuert aktiven Tab via Jinja2, kein
<script>-Block mehr nötig.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-05 19:18:47 +02:00
parent 909c32f087
commit 56b1ab9970
3 changed files with 24 additions and 32 deletions
+8 -4
View File
@@ -106,10 +106,12 @@ async def snapshots_page(request: Request, token: str | None = Cookie(default=No
@router.get("/shares", response_class=HTMLResponse)
async def shares_page(request: Request, token: str | None = Cookie(default=None)):
async def shares_page(request: Request, token: str | None = Cookie(default=None), tab: str = "samba"):
if not _require_user(token):
return _redirect_login()
return templates.TemplateResponse(request, "shares.html", {"active": "shares"})
if tab not in ("samba", "nfs", "config"):
tab = "samba"
return templates.TemplateResponse(request, "shares.html", {"active": "shares", "tab": tab})
@router.get("/navigator", response_class=HTMLResponse)
@@ -120,10 +122,12 @@ async def navigator_page(request: Request, token: str | None = Cookie(default=No
@router.get("/identities", response_class=HTMLResponse)
async def identities_page(request: Request, token: str | None = Cookie(default=None)):
async def identities_page(request: Request, token: str | None = Cookie(default=None), tab: str = "users"):
if not _require_user(token):
return _redirect_login()
return templates.TemplateResponse(request, "identities.html", {"active": "identities"})
if tab not in ("users", "groups"):
tab = "users"
return templates.TemplateResponse(request, "identities.html", {"active": "identities", "tab": tab})
@router.get("/logs", response_class=HTMLResponse)