From 808ddd889ddecfa711415ddb2f6af53033d7259b Mon Sep 17 00:00:00 2001 From: David Inostroza Date: Thu, 23 Apr 2026 13:59:16 -0400 Subject: [PATCH] =?UTF-8?q?agrega=20bot=C3=B3n=20Admin=20en=20navbar=20con?= =?UTF-8?q?=20detecci=C3=B3n=20de=20sesi=C3=B3n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Nuevo endpoint GET /admin/status devuelve si el usuario está logueado como admin - Navbar muestra botón "Admin" que lleva a /admin/login si no hay sesión, o "⚙ Admin" → /admin/playlists si ya está autenticado Co-Authored-By: Claude Sonnet 4.6 --- app/routers/admin.py | 5 +++++ app/templates/base.html | 12 ++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/app/routers/admin.py b/app/routers/admin.py index bd189b7..1dcd157 100644 --- a/app/routers/admin.py +++ b/app/routers/admin.py @@ -84,6 +84,11 @@ def _require_admin(request: Request): # ── Login ────────────────────────────────────────────────────────────────────── +@router.get("/status") +def admin_status(request: Request): + return {"logged_in": bool(request.session.get("admin_logged_in"))} + + @router.get("/login", response_class=HTMLResponse) def login_page(request: Request): return templates.TemplateResponse("admin/login.html", {"request": request, "error": None}) diff --git a/app/templates/base.html b/app/templates/base.html index f3c5775..c7e5e69 100644 --- a/app/templates/base.html +++ b/app/templates/base.html @@ -11,11 +11,19 @@
🎵 Cantina
+
{% block content %}{% endblock %}