fix: WORKSPSACES section + remaining emoji icons replaced
- base.html: séparateur entre version et Log out, _local_workspaces_for_user - board.py: _local_workspaces_for_user helper, app_version, fix emoji icons - dashboard.py: _local_workspaces_for_user helper - library.html: 📚📁📄🕒⭐👥🌐🔒📦 → SVG + icon map - workspaces.html: 📁🔍🗑📝 → SVG - local_workspace.html: page_icon, empty states, icon functions → SVG - settings.html: 👤🔔 → SVG nav icons - _icons.html: +'bell' icon - CSS: .nav-icon-inline, .empty-state-icon - 143 tests passent
This commit is contained in:
+21
-3
@@ -216,6 +216,22 @@ def _load_children(parent_id: int) -> list:
|
||||
return children
|
||||
|
||||
|
||||
def _local_workspaces_for_user(user: dict | None, workspace_id: int = 0) -> list[dict]:
|
||||
"""Return list of local workspaces for a user."""
|
||||
if not user:
|
||||
return []
|
||||
try:
|
||||
from app.db import get_conn
|
||||
with get_conn() as conn:
|
||||
rows = conn.execute(
|
||||
"SELECT id, name FROM workspaces WHERE owner_id = ? ORDER BY name",
|
||||
(user["id"],)
|
||||
).fetchall()
|
||||
return [{"id": r["id"], "name": r["name"]} for r in rows]
|
||||
except Exception:
|
||||
return []
|
||||
|
||||
|
||||
def _sidebar_data(request: Request, owner: str = "", repo: str = "") -> dict:
|
||||
user = SessionManager.decode_session(request.cookies.get("flowdeck_session", ""))
|
||||
ws_name = user.get("login", "Bruno") if user else "Bruno"
|
||||
@@ -280,7 +296,7 @@ def _sidebar_data(request: Request, owner: str = "", repo: str = "") -> dict:
|
||||
active = first
|
||||
recent.append({
|
||||
"id": f"{owner}/{repo}/{view}",
|
||||
"name": label, "icon": "📁" if first else "·",
|
||||
"name": label, "icon": "folder" if first else "",
|
||||
"url": f"/board/{owner}/{repo}?view={view}",
|
||||
"active": active, "indent": indent,
|
||||
"depth": indent, "has_children": False, "children": [],
|
||||
@@ -380,7 +396,9 @@ def _sidebar_data(request: Request, owner: str = "", repo: str = "") -> dict:
|
||||
"auth_method": auth_method,
|
||||
"gitea_linked": gitea_linked,
|
||||
"github_linked": github_linked,
|
||||
"has_active_workspace": has_active_workspace}
|
||||
"has_active_workspace": has_active_workspace,
|
||||
"app_version": "4.0.3",
|
||||
"local_workspaces": _local_workspaces_for_user(user)}
|
||||
|
||||
|
||||
def _extract_ai_keywords(owner: str, repo: str, labels: list[dict], body: str = ""):
|
||||
@@ -510,7 +528,7 @@ async def library_page(request: Request, owner: str = Query(default=""), repo: s
|
||||
"icon": "📄",
|
||||
"url": f"/pages/{page['id']}",
|
||||
"created_by": "You",
|
||||
"source": page.get("workspace") or "🔒 Private",
|
||||
"source": page.get("workspace") or "Private",
|
||||
"last_edited": page.get("updated_at", "now"),
|
||||
"last_visited": page.get("updated_at", "now"),
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user