new file: .env.example

new file:   .gitignore
	new file:   Dockerfile
	new file:   README.md
	new file:   app.py
	new file:   auth.py
	new file:   config.py
	new file:   db.py
	new file:   db_helpers.py
	new file:   docker-compose.yml
	new file:   requirements.txt
	new file:   routes/__init__.py
	new file:   routes/admin_routes.py
	new file:   routes/auth_routes.py
	new file:   routes/journal_routes.py
	new file:   static/css/style.css
	new file:   static/js/main.js
	new file:   templates/admin/dashboard.html
	new file:   templates/admin/users.html
	new file:   templates/base.html
	new file:   templates/day.html
	new file:   templates/future.html
	new file:   templates/index.html
	new file:   templates/login.html
	new file:   templates/week.html
This commit is contained in:
SimolZimol
2026-08-02 20:41:24 +02:00
commit 0e7efe4b74
25 changed files with 1590 additions and 0 deletions

View File

@@ -0,0 +1,49 @@
{% extends "base.html" %}
{% block title %}Admin Bullet Journal{% endblock %}
{% block content %}
<div class="page-head">
<div>
<h1>Admin-Panel</h1>
<p class="muted">Zentrales Dashboard</p>
</div>
<a href="{{ url_for('admin.users') }}" class="btn">Benutzer verwalten</a>
</div>
<section class="stat-grid">
<div class="stat-card">
<span class="stat-number">{{ total_users }}</span>
<span class="stat-label">Benutzer</span>
</div>
<div class="stat-card">
<span class="stat-number">{{ total_admins }}</span>
<span class="stat-label">Admins</span>
</div>
<div class="stat-card">
<span class="stat-number">{{ total_notes }}</span>
<span class="stat-label">Notizen</span>
</div>
</section>
<section class="card">
<h2>Kürzlich angelegte Benutzer</h2>
{% if recent %}
<table class="table">
<thead>
<tr><th>Benutzername</th><th>E-Mail</th><th>Rolle</th><th>Erstellt</th></tr>
</thead>
<tbody>
{% for u in recent %}
<tr>
<td>{{ u.username }}</td>
<td>{{ u.email or '' }}</td>
<td>{{ 'Admin' if u.is_admin else 'Benutzer' }}</td>
<td>{{ u.created_at.strftime('%d.%m.%Y %H:%M') if u.created_at else '' }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<p class="muted">Noch keine Benutzer.</p>
{% endif %}
</section>
{% endblock %}