Flux durch TallStackUI 4 ersetzt

- TallStackUI 4 (MIT) statt Flux; Komponenten mit Präfix ts- (<x-ts-…>)
- Layouts, Login-, Passwort-, 2FA- und Einstellungsseiten neu aufgebaut
- Livewire-Skripte explizit in beiden Layouts, damit Alpine auch auf den
  Fortify-Seiten ohne Livewire-Komponente läuft
- Dark Mode über tallstackui_darkTheme(), ohne Aufblitzen beim Laden
- Registrierungs-View und ungenutzte Layout-Varianten entfernt
- Test: Seiten laden keine Ressourcen von fremden Hosts (Vorgabe "alles lokal")

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Christoph
2026-10-01 09:33:26 +02:00
co-authored by Claude Opus 5.5
parent dedce594a0
commit b297518810
47 changed files with 644 additions and 1362 deletions
+21 -29
View File
@@ -11,50 +11,42 @@
@csrf
<!-- Email Address -->
<flux:input
name="email"
:label="__('Email address')"
:value="old('email')"
type="email"
required
autofocus
autocomplete="email"
placeholder="email@example.com"
/>
<x-ts-input name="email"
:label="__('Email address')"
:value="old('email')"
type="email"
required
autofocus
autocomplete="email"
placeholder="email@example.com" />
<!-- Password -->
<div class="relative">
<flux:input
name="password"
:label="__('Password')"
type="password"
required
autocomplete="current-password"
:placeholder="__('Password')"
viewable
/>
<x-ts-password name="password"
:label="__('Password')"
required
autocomplete="current-password"
:placeholder="__('Password')" />
@if (Route::has('password.request'))
<flux:link class="absolute top-0 text-sm end-0" :href="route('password.request')" wire:navigate>
<x-ts-link :href="route('password.request')" class="absolute end-0 top-0 text-sm" navigate>
{{ __('Forgot your password?') }}
</flux:link>
</x-ts-link>
@endif
</div>
<!-- Remember Me -->
<flux:checkbox name="remember" :label="__('Remember me')" :checked="old('remember')" />
<x-ts-checkbox name="remember" :label="__('Remember me')" :checked="(bool) old('remember')" />
<div class="flex items-center justify-end">
<flux:button variant="primary" type="submit" class="w-full" data-test="login-button">
{{ __('Log in') }}
</flux:button>
</div>
<x-ts-button submit class="w-full" data-test="login-button">
{{ __('Log in') }}
</x-ts-button>
</form>
@if (Route::has('register'))
<div class="space-x-1 text-sm text-center rtl:space-x-reverse text-zinc-600 dark:text-zinc-400">
<div class="space-x-1 text-center text-sm text-gray-600 rtl:space-x-reverse dark:text-dark-300">
<span>{{ __('Don\'t have an account?') }}</span>
<flux:link :href="route('register')" wire:navigate>{{ __('Sign up') }}</flux:link>
<x-ts-link :href="route('register')" navigate>{{ __('Sign up') }}</x-ts-link>
</div>
@endif
</div>