modified: web/app.py
modified: web/blueprints/auth.py modified: web/blueprints/group_admin.py modified: web/blueprints/panel.py modified: web/blueprints/site_admin.py modified: web/config.py new file: web/templates/404.html modified: web/templates/admin/base.html modified: web/templates/admin/group_edit.html modified: web/templates/admin/group_members.html modified: web/templates/admin/groups.html modified: web/templates/admin/user_edit.html modified: web/templates/admin/users.html modified: web/templates/auth/admin_login.html modified: web/templates/auth/login.html modified: web/templates/base.html modified: web/templates/group_admin/base.html modified: web/templates/group_admin/database.html modified: web/templates/group_admin/member_edit.html modified: web/templates/group_admin/members.html modified: web/templates/login.html modified: web/templates/panel/dashboard.html
This commit is contained in:
76
web/templates/404.html
Normal file
76
web/templates/404.html
Normal file
@@ -0,0 +1,76 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" data-bs-theme="dark">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>404 - Not Found</title>
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
|
||||
<style>
|
||||
body {
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background: radial-gradient(circle at top right, #1b2235 0%, #0d1117 55%, #090c12 100%);
|
||||
color: #e5e7eb;
|
||||
}
|
||||
.error-shell {
|
||||
width: min(760px, 92vw);
|
||||
}
|
||||
.error-card {
|
||||
background: rgba(23, 27, 40, 0.9);
|
||||
border: 1px solid #2a3249;
|
||||
border-radius: 16px;
|
||||
box-shadow: 0 20px 48px rgba(0, 0, 0, 0.35);
|
||||
}
|
||||
.path-chip {
|
||||
background: rgba(148, 163, 184, 0.14);
|
||||
border: 1px solid rgba(148, 163, 184, 0.35);
|
||||
border-radius: 10px;
|
||||
color: #cbd5e1;
|
||||
font-family: Consolas, 'Cascadia Code', monospace;
|
||||
font-size: 0.85rem;
|
||||
padding: 0.45rem 0.65rem;
|
||||
word-break: break-all;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="error-shell">
|
||||
<div class="error-card p-4 p-md-5">
|
||||
<div class="d-flex align-items-center gap-3 mb-3">
|
||||
<i class="bi bi-signpost-split-fill text-warning" style="font-size: 2.2rem;"></i>
|
||||
<div>
|
||||
<h1 class="h3 mb-1">404 - Seite nicht gefunden</h1>
|
||||
<p class="text-secondary mb-0">Die angeforderte Route existiert nicht oder wurde verschoben.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<div class="small text-secondary mb-1">Anfrage</div>
|
||||
<div class="path-chip">{{ request_method }} {{ requested_path }}</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-4">
|
||||
{% if not is_logged_in %}
|
||||
<p class="mb-0 text-secondary">Du bist aktuell nicht eingeloggt. Starte am besten ueber die Login-Seite.</p>
|
||||
{% elif is_site_admin and not session.get('group_id') %}
|
||||
<p class="mb-0 text-secondary">Du bist als Site Admin eingeloggt. Von dort kannst du Gruppen und Benutzer verwalten.</p>
|
||||
{% elif role == 'admin' %}
|
||||
<p class="mb-0 text-secondary">Du bist Gruppen-Admin. Nutze Panel oder Group-Admin, um wieder in gueltige Bereiche zu kommen.</p>
|
||||
{% else %}
|
||||
<p class="mb-0 text-secondary">Nutze das Dashboard, um wieder in bekannte Bereiche zu navigieren.</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<div class="d-flex flex-wrap gap-2">
|
||||
{% for link in links %}
|
||||
<a href="{{ link.href }}" class="btn {{ link.btn }}">{{ link.label }}</a>
|
||||
{% endfor %}
|
||||
<a href="javascript:history.back()" class="btn btn-outline-secondary">Zurueck</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user