feat: compact dashboard + login system for admin pages

Dashboard:
- Much smaller cards (col-xl-2), compact badges
- Short labels (Buero, HO, DND, OoO, etc.)
- Optimized for small screens

Login:
- Password-protected admin pages (all except dashboard)
- Dashboard remains public (read-only status view)
- Login page with redirect back to requested page
- Session cookie (24h, regenerated on restart)
- Password set via Settings page (SHA256 hashed)
- Sidebar shows only Dashboard when not logged in
- Login/Logout link in sidebar footer

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-24 13:48:58 +02:00
co-authored by Claude Opus 4.6
parent 5294e8ef50
commit 8a578fbe8d
6 changed files with 229 additions and 58 deletions
+9
View File
@@ -22,6 +22,7 @@
<i class="bi bi-speedometer2"></i> Dashboard
</a>
</li>
{% if logged_in %}
<li class="nav-item">
<a class="nav-link text-white {% if page == 'users' %}active{% endif %}" href="/users">
<i class="bi bi-people"></i> Benutzer
@@ -57,6 +58,7 @@
<i class="bi bi-journal-text"></i> Protokoll
</a>
</li>
{% endif %}
</ul>
<div class="p-3 border-top border-secondary">
{% if authenticated %}
@@ -64,6 +66,13 @@
{% else %}
<small class="text-danger"><i class="bi bi-x-circle"></i> Azure getrennt</small>
{% endif %}
<div class="mt-2">
{% if logged_in %}
<a href="/logout" class="text-light small"><i class="bi bi-box-arrow-left"></i> Abmelden</a>
{% else %}
<a href="/login" class="text-light small"><i class="bi bi-box-arrow-in-right"></i> Anmelden</a>
{% endif %}
</div>
</div>
</nav>