fix: sidebar Favorites + Shared, Library page with tabs, CSRF fix
- Section Favorites ajoutée dans le sidebar (⭐) - Section Shared ajoutée (👥) - Section Library remplacée par bouton 📚 qui ouvre /library - Page /library avec onglets: Recents | Favorites | Shared | Private - CSRF token injecté dans les appels fetch (newPage, newSubPage) - Bouton + sur éléments sidebar corrigé (POST /board/api/pages avec X-CSRF-Token) - Bouton 📚 sur sections ouvre /library - sidebar_data inclut favorite_pages=[]
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user