rateLimit(2); } catch (TooManyRequestsException $exception) { Notification::make() ->title(__('filament-panels::pages/auth/password-reset/request-password-reset.notifications.throttled.title', [ 'seconds' => $exception->secondsUntilAvailable, 'minutes' => ceil($exception->secondsUntilAvailable / 60), ])) ->body(array_key_exists('body', __('filament-panels::pages/auth/password-reset/request-password-reset.notifications.throttled') ?: []) ? __('filament-panels::pages/auth/password-reset/request-password-reset.notifications.throttled.body', [ 'seconds' => $exception->secondsUntilAvailable, 'minutes' => ceil($exception->secondsUntilAvailable / 60), ]) : null) ->danger() ->send(); return; } $data = $this->form->getState(); $status = Password::broker(Filament::getAuthPasswordBroker())->sendResetLink( $data, function (CanResetPassword $user, string $token): void { if (! method_exists($user, 'notify')) { $userClass = $user::class; throw new Exception("Model [{$userClass}] does not have a [notify()] method."); } $notification = new ResetPasswordNotification($token); $user->notify($notification); }, ); if ($status !== Password::RESET_LINK_SENT) { Notification::make() ->title(__($status)) ->danger() ->send(); return; } Notification::make() ->title(__($status)) ->success() ->send(); $this->form->fill(); } }