Stand: SMTP-Test, Admin-Mail-Tab, Notifiable-Fix, Lazy-Quill

- Fix: Notifiable-Trait zum User-Model hinzugefuegt (behebt notify()-500er)
- Installer: SMTP-Verbindungstest mit EsmtpTransport + Ueberspringen-Link
- Admin: Neuer E-Mail-Tab mit SMTP-Konfiguration + Verbindungstest
- Admin: Lazy Quill-Initialisierung (nur sichtbare Locale wird geladen)
- Uebersetzungen: 17 neue Mail-Keys in allen 6 Sprachen

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Rhino
2026-03-02 07:30:37 +01:00
commit 2e24a40d68
9633 changed files with 1300799 additions and 0 deletions

View File

@@ -0,0 +1,52 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Offline SG Wölfe Handball</title>
<link rel="manifest" href="/manifest.json">
<meta name="theme-color" content="#1f2937">
<link rel="icon" href="/images/icon-192x192.png">
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
background: #f3f4f6;
color: #374151;
padding: 2rem;
text-align: center;
}
.container { max-width: 400px; }
.logo { width: 80px; height: 80px; margin: 0 auto 1.5rem; }
h1 { font-size: 1.5rem; margin-bottom: 0.75rem; color: #1f2937; }
p { color: #6b7280; line-height: 1.6; margin-bottom: 1.5rem; }
button {
background: #1f2937;
color: white;
border: none;
padding: 0.75rem 2rem;
border-radius: 0.5rem;
font-size: 1rem;
cursor: pointer;
transition: background 0.15s;
}
button:hover { background: #374151; }
button:active { background: #111827; }
</style>
</head>
<body>
<div class="container">
<img src="/images/icon-192x192.png" alt="SG Wölfe" class="logo">
<h1>Keine Internetverbindung</h1>
<p>
Die Seite kann gerade nicht geladen werden.
Bitte pr&uuml;fe deine Verbindung und versuche es erneut.
</p>
<button onclick="window.location.reload()">Erneut versuchen</button>
</div>
</body>
</html>