- 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>
87 lines
5.5 KiB
PHP
87 lines
5.5 KiB
PHP
<x-layouts.installer :currentStep="3">
|
|
<h2 class="text-lg font-semibold text-gray-900 mb-4">App-Einstellungen</h2>
|
|
<p class="text-sm text-gray-600 mb-4">Gib den Namen deines Vereins und die Administrator-Zugangsdaten ein.</p>
|
|
|
|
<form method="POST" action="{{ route('install.app.store') }}">
|
|
@csrf
|
|
|
|
{{-- App settings --}}
|
|
<div class="space-y-4 mb-6">
|
|
<h3 class="text-sm font-semibold text-gray-700 uppercase tracking-wider">Verein</h3>
|
|
|
|
<div>
|
|
<label for="app_name" class="block text-sm font-medium text-gray-700 mb-1">Vereinsname / App-Name *</label>
|
|
<input type="text" name="app_name" id="app_name" value="{{ old('app_name', session('installer.app_name', '')) }}"
|
|
required maxlength="100" placeholder="z.B. SG Musterstadt Handball"
|
|
class="w-full px-3 py-2 border border-gray-300 rounded-md text-sm focus:ring-2 focus:ring-blue-500 focus:border-blue-500">
|
|
@error('app_name') <p class="mt-1 text-xs text-red-600">{{ $message }}</p> @enderror
|
|
</div>
|
|
|
|
<div>
|
|
<label for="app_slogan" class="block text-sm font-medium text-gray-700 mb-1">Slogan</label>
|
|
<input type="text" name="app_slogan" id="app_slogan" value="{{ old('app_slogan', session('installer.app_slogan', '')) }}"
|
|
maxlength="255" placeholder="z.B. Gemeinsam stark — auf und neben dem Spielfeld"
|
|
class="w-full px-3 py-2 border border-gray-300 rounded-md text-sm focus:ring-2 focus:ring-blue-500 focus:border-blue-500">
|
|
<p class="mt-1 text-xs text-gray-400">Optional. Wird auf der Login-Seite und im Footer angezeigt.</p>
|
|
@error('app_slogan') <p class="mt-1 text-xs text-red-600">{{ $message }}</p> @enderror
|
|
</div>
|
|
|
|
<div>
|
|
<label for="app_url" class="block text-sm font-medium text-gray-700 mb-1">App-URL *</label>
|
|
<input type="url" name="app_url" id="app_url" value="{{ old('app_url', session('installer.app_url', request()->getSchemeAndHttpHost())) }}"
|
|
required placeholder="https://handball.example.com"
|
|
class="w-full px-3 py-2 border border-gray-300 rounded-md text-sm focus:ring-2 focus:ring-blue-500 focus:border-blue-500">
|
|
<p class="mt-1 text-xs text-gray-400">Die URL, unter der die App erreichbar ist.</p>
|
|
@error('app_url') <p class="mt-1 text-xs text-red-600">{{ $message }}</p> @enderror
|
|
</div>
|
|
</div>
|
|
|
|
{{-- Admin credentials --}}
|
|
<div class="space-y-4 border-t border-gray-200 pt-5">
|
|
<h3 class="text-sm font-semibold text-gray-700 uppercase tracking-wider">Administrator-Konto</h3>
|
|
|
|
<div>
|
|
<label for="admin_name" class="block text-sm font-medium text-gray-700 mb-1">Name *</label>
|
|
<input type="text" name="admin_name" id="admin_name" value="{{ old('admin_name', session('installer.admin_name', '')) }}"
|
|
required maxlength="255" placeholder="Vor- und Nachname"
|
|
class="w-full px-3 py-2 border border-gray-300 rounded-md text-sm focus:ring-2 focus:ring-blue-500 focus:border-blue-500">
|
|
@error('admin_name') <p class="mt-1 text-xs text-red-600">{{ $message }}</p> @enderror
|
|
</div>
|
|
|
|
<div>
|
|
<label for="admin_email" class="block text-sm font-medium text-gray-700 mb-1">E-Mail *</label>
|
|
<input type="email" name="admin_email" id="admin_email" value="{{ old('admin_email', session('installer.admin_email', '')) }}"
|
|
required maxlength="255" placeholder="admin@example.com"
|
|
class="w-full px-3 py-2 border border-gray-300 rounded-md text-sm focus:ring-2 focus:ring-blue-500 focus:border-blue-500">
|
|
@error('admin_email') <p class="mt-1 text-xs text-red-600">{{ $message }}</p> @enderror
|
|
</div>
|
|
|
|
<div>
|
|
<label for="admin_password" class="block text-sm font-medium text-gray-700 mb-1">Passwort *</label>
|
|
<input type="password" name="admin_password" id="admin_password"
|
|
required minlength="8" placeholder="Mindestens 8 Zeichen"
|
|
class="w-full px-3 py-2 border border-gray-300 rounded-md text-sm focus:ring-2 focus:ring-blue-500 focus:border-blue-500">
|
|
@error('admin_password') <p class="mt-1 text-xs text-red-600">{{ $message }}</p> @enderror
|
|
</div>
|
|
|
|
<div>
|
|
<label for="admin_password_confirmation" class="block text-sm font-medium text-gray-700 mb-1">Passwort bestätigen *</label>
|
|
<input type="password" name="admin_password_confirmation" id="admin_password_confirmation"
|
|
required minlength="8" placeholder="Passwort wiederholen"
|
|
class="w-full px-3 py-2 border border-gray-300 rounded-md text-sm focus:ring-2 focus:ring-blue-500 focus:border-blue-500">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="mt-6 flex justify-between items-center">
|
|
<a href="{{ route('install.database') }}"
|
|
class="px-4 py-2 text-sm text-gray-600 bg-gray-100 rounded-md hover:bg-gray-200 transition">
|
|
Zurück
|
|
</a>
|
|
<button type="submit"
|
|
class="px-5 py-2 text-sm font-medium text-white bg-blue-600 rounded-md hover:bg-blue-700 transition">
|
|
Weiter
|
|
</button>
|
|
</div>
|
|
</form>
|
|
</x-layouts.installer>
|