feat: outline SVG icons + version + workspaces in user menu
- _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:
@@ -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="")):
|
||||
|
||||
Reference in New Issue
Block a user