From 07a4f5ece615e4a037505498e8e16d528a6560c4 Mon Sep 17 00:00:00 2001 From: bruno Date: Thu, 16 Jul 2026 08:29:52 -0400 Subject: [PATCH] =?UTF-8?q?fix:=20sidebar=20vide=20sur=20/workspaces=20?= =?UTF-8?q?=E2=80=94=20pas=20de=20contexte=20workspace=20actif?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit _sidebar_data() prend un nouveau parametre include_workspace (default True). La page /workspaces passe include_workspace=False pour que la sidebar n'affiche ni le nom du workspace actif, ni ses pages/folders. --- app/routers/dashboard.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/app/routers/dashboard.py b/app/routers/dashboard.py index ea0d942..b0d73f7 100644 --- a/app/routers/dashboard.py +++ b/app/routers/dashboard.py @@ -31,7 +31,7 @@ def _get_user_or_redirect(request: Request): return user -def _sidebar_data(request: Request, repos: list[dict]) -> dict: +def _sidebar_data(request: Request, repos: list[dict], include_workspace: bool = True) -> dict: user = SessionManager.decode_session(request.cookies.get("flowdeck_session", "")) ws = user.get("login", "Bruno") if user else "Bruno" initial = ws[0].upper() if ws else "B" @@ -64,7 +64,8 @@ def _sidebar_data(request: Request, repos: list[dict]) -> dict: "children": [], }) - # Active workspace from cookie + # Active workspace from cookie (skip on pages like /workspaces where no + # workspace context should be shown) from app.routers.board import _load_workspace_pages ws_cookie = request.cookies.get("flowdeck_workspace", "") active_ws_name = "Workspace" @@ -73,7 +74,7 @@ def _sidebar_data(request: Request, repos: list[dict]) -> dict: gitea_owner = "" gitea_repo = "" - if ws_cookie and ws_cookie.startswith("gitea:"): + if include_workspace and ws_cookie and ws_cookie.startswith("gitea:"): # Gitea workspace: set owner/repo for client-side tree loading parts = ws_cookie.split(":", 2) if len(parts) >= 3: @@ -82,7 +83,7 @@ def _sidebar_data(request: Request, repos: list[dict]) -> dict: active_ws_name = f"{gitea_owner}/{gitea_repo}" gitea_workspace = True workspace_pages = [] # loaded client-side - elif ws_cookie and user: + elif include_workspace and ws_cookie and user: try: wsi = int(ws_cookie) with get_conn() as conn: @@ -1105,7 +1106,7 @@ async def workspaces_page(request: Request): """Workspaces list page.""" from jinja2 import Environment, FileSystemLoader env = Environment(loader=FileSystemLoader("app/templates")) - sidebar = _sidebar_data(request, []) + sidebar = _sidebar_data(request, [], include_workspace=False) user = SessionManager.decode_session(request.cookies.get("flowdeck_session", "")) if not user: return RedirectResponse("/auth/login?provider=local", status_code=302)