*/ public function codes(): array { return Auth::user()->recoveryCodes(); } /** Regenerate the current user's backup codes (invalidates the old set). */ public function regenerate(): void { Auth::user()->replaceRecoveryCodes(); AuditEvent::create([ 'user_id' => Auth::id(), 'actor' => Auth::user()->name ?? 'system', 'action' => 'two_factor.recovery_regenerate', 'target' => Auth::user()->email, 'ip' => request()->ip(), ]); $this->dispatch('notify', message: __('auth.recovery_regenerated')); } public function render() { return view('livewire.modals.recovery-codes', ['codes' => $this->codes()]); } }