808ddd889d
- 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 <noreply@anthropic.com>
32 lines
982 B
HTML
32 lines
982 B
HTML
<!DOCTYPE html>
|
|
<html lang="es">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>{% block title %}Spotify Cantina{% endblock %}</title>
|
|
<link rel="stylesheet" href="/static/style.css">
|
|
</head>
|
|
<body>
|
|
<nav class="navbar">
|
|
<div class="brand">🎵 Cantina</div>
|
|
<div class="nav-links">
|
|
<a href="/">Reproductor</a>
|
|
<a href="/stats/">Estadísticas</a>
|
|
<a id="admin-nav-btn" href="/admin/login" class="btn-sm">Admin</a>
|
|
</div>
|
|
</nav>
|
|
<script>
|
|
fetch('/admin/status').then(r => r.json()).then(data => {
|
|
const btn = document.getElementById('admin-nav-btn');
|
|
if (data.logged_in) {
|
|
btn.textContent = '⚙ Admin';
|
|
btn.href = '/admin/playlists';
|
|
}
|
|
}).catch(() => {});
|
|
</script>
|
|
<main>
|
|
{% block content %}{% endblock %}
|
|
</main>
|
|
</body>
|
|
</html>
|