feat: workspace contextuel — pages liées au projet, sidebar vues cliquables
- pages.workspace = owner/repo (ex: bruno/flowdeck) au lieu du nom user
- Sidebar: Kanban board + 4 sous-vues avec URLs distinctes (?view=kanban|table|...)
- Cliquer sur 'Table view' dans sidebar → change la vue à droite
- Dashboard (/): sidebar montre uniquement les projets Gitea
- Board (/board/{o}/{r}): sidebar montre les pages de ce projet
- Changement de projet = changement de contexte (pages isolées)
- newPage/newSubPage passent workspace_key à l'API
- Auto-switch view depuis paramètre URL dans board.html
This commit is contained in:
@@ -31,25 +31,14 @@ def _sidebar_data(request: Request, repos: list[dict]) -> dict:
|
||||
"indent": 0,
|
||||
})
|
||||
|
||||
# Load user-created pages
|
||||
with get_conn() as conn:
|
||||
pages = conn.execute(
|
||||
"SELECT id, title FROM pages WHERE workspace=? ORDER BY updated_at DESC LIMIT 10",
|
||||
(ws,),
|
||||
).fetchall()
|
||||
for p in pages:
|
||||
recent_pages.append({
|
||||
"id": f"page/{p['id']}", "name": p["title"], "icon": "📄",
|
||||
"url": f"/pages/{p['id']}", "active": False, "indent": 0,
|
||||
})
|
||||
|
||||
return {
|
||||
"workspace_name": ws, "workspace_initial": initial,
|
||||
"current_page": "Dashboard", "last_edited": "now",
|
||||
"recent_pages": recent_pages,
|
||||
"private_pages": [p for p in recent_pages if p["id"].startswith("page/")],
|
||||
"private_pages": [],
|
||||
"favorite_pages": [],
|
||||
"user": user,
|
||||
"workspace_key": "",
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user