feat: outline SVG icons + version + workspaces in user menu
FlowDeck CI / test (push) Failing after 12s
FlowDeck CI / docker (push) Has been skipped

- _icons.html: 25 outline SVG icons (Feather/Lucide style, stroke=currentColor)
- base.html: toutes les icônes emoji remplacées par {{ fd_icon() }}
  - Sidebar sections, empty states, user menu, footer links, context menu
  - JS getSvgIcon() helper pour rendu dynamique
- User menu: ajout version (FlowDeck v4.0.3) + liste workspaces locaux
  - Entre Switch workspace et Log out, avec ✓ sur le workspace actif
- dashboard.py: _sidebar_data enrichi (app_version, local_workspaces)
- CSS: .page-icon-svg, .um-version, .um-section-label, .um-item svg
- Dark + light theme compatible (stroke:currentColor)
- 143 tests passent
This commit is contained in:
2026-07-20 20:18:50 -04:00
parent 39b485622d
commit 5372f4f22f
4 changed files with 158 additions and 32 deletions
+17
View File
@@ -173,8 +173,25 @@ def _sidebar_data(request: Request, repos: list[dict], include_workspace: bool =
"gitea_linked": gitea_linked,
"github_linked": github_linked,
"has_active_workspace": has_active_workspace,
"app_version": "4.0.3",
}
# List local workspaces for user menu
local_workspaces = []
if user:
try:
with get_conn() as conn:
ws_rows = conn.execute(
"SELECT id, name FROM workspaces WHERE owner_id = ? ORDER BY name",
(user["id"],)
).fetchall()
local_workspaces = [{"id": r["id"], "name": r["name"]} for r in ws_rows]
except Exception:
pass
sidebar["local_workspaces"] = local_workspaces
return sidebar
@router.get("/trash", response_class=HTMLResponse)
async def trash_page(request: Request, owner: str = Query(default=""), repo: str = Query(default="")):