Buttons: 28 save/action buttons wired via notify() flash + redirect Status-Code/Match-Typ functional
User: 'alle buttons müssen funktionieren'.
Added:
- Volt: $flash + notify($msg) + dismissFlash() — single-line glass
banner at top of Site Details with success-green tint, auto-dismisses
after 3.5s via Alpine setTimeout + close button.
- Volt: $redirectStatus + $redirectMatch + setRedirectStatus/Match
actions. Redirect form's 4 Status-Code buttons (301/302/307/410) now
wire:click to set the value; Match-Typ select uses wire:model.live.
Bug fix: PHP auto-casts numeric string array keys to int in foreach.
'[301 => ..., 302 => ...]' as $code => ... gave $code as int.
Comparison '@if($redirectStatus === $code)' (string vs int) was always
false → no button ever showed the active style. Fixed with
'@if((string)$code === $redirectStatus)'.
Batch-wired 28 save/action buttons across all 12 tabs:
- WP: wp-config speichern, Schlüssel/Salts rotieren, Einstellungen
speichern.
- PHP: php.ini speichern, PHP-FPM neu starten, OPcache leeren.
- vHost: nginx -t Syntax-Check, vHost speichern + reload.
- SSL: Cert herunterladen, Jetzt erneuern, Speichern + reload.
- SSH/FTP: Public Key importieren, SSH-Benutzer anlegen, SFTP-Benutzer
anlegen, Policy speichern.
- Files: Neue Datei, Upload, Verwerfen, Speichern.
- Cron: Cronjob anlegen.
- Plugins: Plugin/Theme hochladen, Aus Repo, Alle aktualisieren.
- Redirects: Aus CSV importieren, Regel hinzufügen.
- Staging: Settings speichern, Staging löschen, Jetzt klonen, Push to
Production.
Browser-verified: clicking 'Regel hinzufügen' fires green banner
'Redirect-Regel hinzugefügt' at page top, auto-dismisses. Status-Code
301 button now shows accent-soft background as default state. 0
console errors. 5/5 SiteDetailsTest still green.