diff --git a/app/routers/board.py b/app/routers/board.py index 5b6d66b..a18708c 100644 --- a/app/routers/board.py +++ b/app/routers/board.py @@ -141,8 +141,8 @@ def _sidebar_data(request: Request, owner: str = "", repo: str = "") -> dict: }) return {"workspace_name": ws, "workspace_initial": ws[0].upper() if ws else "B", "current_page": repo or "Dashboard", "last_edited": "now", - "recent_pages": recent, "private_pages": [r for r in recent if r.get("active")], - "user": user} + "recent_pages": recent, "private_pages": [r for r in recent if r.get("active") or r["id"].startswith("page/")], + "favorite_pages": [], "user": user} def _extract_ai_keywords(owner: str, repo: str, labels: list[dict], body: str = ""): @@ -241,6 +241,23 @@ def _apply_sorts(cards: list[dict], sorts: str) -> list[dict]: return cards +# ═══════════ Library page ═══════════ + +@router.get("/library", response_class=HTMLResponse) +async def library_page(request: Request): + """Library page avec onglets Recents, Favorites, Shared, Private.""" + from jinja2 import Environment, FileSystemLoader + env = Environment(loader=FileSystemLoader("app/templates")) + sidebar = _sidebar_data(request) + # Enrich with timestamps + for p in sidebar["recent_pages"]: + p["last_edited"] = "now" + for p in sidebar["private_pages"]: + p["last_edited"] = "now" + template = env.get_template("library.html") + return template.render(**sidebar) + + # ═══════════ Board page ═══════════ @router.get("/{owner}/{repo}", response_class=HTMLResponse) diff --git a/app/routers/dashboard.py b/app/routers/dashboard.py index 9077419..3924aa5 100644 --- a/app/routers/dashboard.py +++ b/app/routers/dashboard.py @@ -48,10 +48,25 @@ def _sidebar_data(request: Request, repos: list[dict]) -> dict: "current_page": "Dashboard", "last_edited": "now", "recent_pages": recent_pages, "private_pages": [p for p in recent_pages if p["id"].startswith("page/")], + "favorite_pages": [], "user": user, } +@router.get("/library", response_class=HTMLResponse) +async def library_page(request: Request): + """Library page avec onglets Recents, Favorites, Shared, Private.""" + from jinja2 import Environment, FileSystemLoader + env = Environment(loader=FileSystemLoader("app/templates")) + sidebar = _sidebar_data(request, []) + for p in sidebar["recent_pages"]: + p["last_edited"] = "now" + for p in sidebar["private_pages"]: + p["last_edited"] = "now" + template = env.get_template("library.html") + return template.render(**sidebar) + + @router.get("/", response_class=HTMLResponse) async def dashboard( request: Request, diff --git a/app/templates/base.html b/app/templates/base.html index 1250801..882f67e 100644 --- a/app/templates/base.html +++ b/app/templates/base.html @@ -120,21 +120,59 @@ - + + + + + + +