diff --git a/app/routers/dashboard.py b/app/routers/dashboard.py index 57a4588..6361eca 100644 --- a/app/routers/dashboard.py +++ b/app/routers/dashboard.py @@ -380,16 +380,25 @@ async def gitea_workspace_page(request: Request): return RedirectResponse("/auth/login?provider=local", status_code=302) owner = request.query_params.get("owner", "") repo = request.query_params.get("repo", "") + ws_key = f"{owner}/{repo}" if owner and repo else "" + ws_name = ws_key or "Gitea Workspace" ctx = { **sidebar, "user": user, - "workspace_name": f"{owner}/{repo}" if owner and repo else "Gitea Workspace", + "active_ws_name": ws_name, + "workspace_key": ws_key, + "workspace_name": ws_name, "workspace_initial": repo[0].upper() if repo else "G", "owner": owner, "repo": repo, } template = env.get_template("gitea_workspace.html") - return template.render(**ctx) + response = template.render(**ctx) + # Set workspace cookie so subsequent navigations remember the active Gitea project + resp = HTMLResponse(content=response) + if ws_key: + resp.set_cookie("flowdeck_workspace", f"gitea:{owner}:{repo}", path="/", samesite="lax") + return resp @router.get("/api/workspace/projects") diff --git a/app/templates/base.html b/app/templates/base.html index 4a615cd..5dcc1f9 100644 --- a/app/templates/base.html +++ b/app/templates/base.html @@ -121,7 +121,7 @@