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,69 @@
<!DOCTYPE html>
<html lang="de" dir="ltr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Installation Handball WebApp</title>
<script src="https://cdn.tailwindcss.com"></script>
<script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3.14.9/dist/cdn.min.js" integrity="sha384-9Ax3MmS9AClxJyd5/zafcXXjxmwFhZCdsT6HJoJjarvCaAkJlk5QDzjLJm+Wdx5F" crossorigin="anonymous"></script>
<link rel="icon" href="{{ asset('favicon.ico') }}">
</head>
<body class="min-h-screen bg-gray-100 flex flex-col">
<main class="flex-1 flex items-center justify-center px-4 py-12">
<div class="w-full max-w-2xl">
{{-- Logo --}}
<div class="text-center mb-6">
<img src="/images/logo_sg_woelfe.png" alt="Logo" class="mx-auto h-20 mb-3">
<h1 class="text-xl font-bold text-gray-900">Installation</h1>
</div>
{{-- Progress indicator --}}
<div class="flex justify-center items-center mb-8">
@php
$stepLabels = ['Systemcheck', 'Datenbank', 'Einstellungen', 'E-Mail', 'Abschluss'];
@endphp
@for ($i = 1; $i <= 5; $i++)
<div class="flex items-center">
<div class="flex flex-col items-center">
<div class="w-9 h-9 rounded-full flex items-center justify-center text-sm font-semibold
{{ $i < $currentStep ? 'bg-green-500 text-white' : '' }}
{{ $i === $currentStep ? 'bg-blue-600 text-white ring-2 ring-blue-300' : '' }}
{{ $i > $currentStep ? 'bg-gray-200 text-gray-400' : '' }}">
@if ($i < $currentStep)
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/></svg>
@else
{{ $i }}
@endif
</div>
<span class="text-xs mt-1 {{ $i === $currentStep ? 'text-blue-600 font-medium' : 'text-gray-400' }}">{{ $stepLabels[$i - 1] }}</span>
</div>
@if ($i < 5)
<div class="w-12 sm:w-20 h-0.5 mx-1 mb-5 {{ $i < $currentStep ? 'bg-green-500' : 'bg-gray-200' }}"></div>
@endif
</div>
@endfor
</div>
{{-- Flash messages --}}
@if (session('error'))
<div class="mb-4 p-3 bg-red-50 border border-red-200 rounded-md text-sm text-red-700">
{{ session('error') }}
</div>
@endif
@if (session('success'))
<div class="mb-4 p-3 bg-green-50 border border-green-200 rounded-md text-sm text-green-700">
{{ session('success') }}
</div>
@endif
{{-- Step content --}}
<div class="bg-white rounded-lg shadow-md p-6">
{{ $slot }}
</div>
</div>
</main>
<footer class="text-center py-3 text-xs text-gray-400">
Handball WebApp &mdash; Installation
</footer>
</body>
</html>