diff --git a/resources/js/components/two-factor-setup-modal.tsx b/resources/js/components/two-factor-setup-modal.tsx
index 317149ea1..3481f2d85 100644
--- a/resources/js/components/two-factor-setup-modal.tsx
+++ b/resources/js/components/two-factor-setup-modal.tsx
@@ -17,9 +17,10 @@ import { OTP_MAX_LENGTH } from '@/hooks/use-two-factor-auth';
import { confirm } from '@/routes/two-factor';
import { Form } from '@inertiajs/react';
import { REGEXP_ONLY_DIGITS } from 'input-otp';
-import { Check, Copy, Loader2, ScanLine } from 'lucide-react';
+import { Check, Copy, ScanLine } from 'lucide-react';
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
import AlertError from './alert-error';
+import { Spinner } from './ui/spinner';
function GridScanIcon() {
return (
@@ -79,7 +80,7 @@ function TwoFactorSetupStep({
}}
/>
) : (
-
+
)}
@@ -102,7 +103,7 @@ function TwoFactorSetupStep({
{!manualSetupKey ? (
-
+
) : (
<>
diff --git a/resources/js/components/ui/spinner.tsx b/resources/js/components/ui/spinner.tsx
new file mode 100644
index 000000000..a70e713c5
--- /dev/null
+++ b/resources/js/components/ui/spinner.tsx
@@ -0,0 +1,16 @@
+import { Loader2Icon } from "lucide-react"
+
+import { cn } from "@/lib/utils"
+
+function Spinner({ className, ...props }: React.ComponentProps<"svg">) {
+ return (
+
+ )
+}
+
+export { Spinner }
diff --git a/resources/js/pages/auth/confirm-password.tsx b/resources/js/pages/auth/confirm-password.tsx
index fe0ebc5aa..b9ae2690d 100644
--- a/resources/js/pages/auth/confirm-password.tsx
+++ b/resources/js/pages/auth/confirm-password.tsx
@@ -2,10 +2,10 @@ import InputError from '@/components/input-error';
import { Button } from '@/components/ui/button';
import { Input } from '@/components/ui/input';
import { Label } from '@/components/ui/label';
+import { Spinner } from '@/components/ui/spinner';
import AuthLayout from '@/layouts/auth-layout';
import { store } from '@/routes/password/confirm';
import { Form, Head } from '@inertiajs/react';
-import { LoaderCircle } from 'lucide-react';
export default function ConfirmPassword() {
return (
@@ -38,9 +38,7 @@ export default function ConfirmPassword() {
disabled={processing}
data-test="confirm-password-button"
>
- {processing && (
-
- )}
+ {processing &&
}
Confirm password
diff --git a/resources/js/pages/auth/login.tsx b/resources/js/pages/auth/login.tsx
index d52765bd4..44084d1a5 100644
--- a/resources/js/pages/auth/login.tsx
+++ b/resources/js/pages/auth/login.tsx
@@ -5,11 +5,11 @@ import { Button } from '@/components/ui/button';
import { Checkbox } from '@/components/ui/checkbox';
import { Input } from '@/components/ui/input';
import { Label } from '@/components/ui/label';
+import { Spinner } from '@/components/ui/spinner';
import AuthLayout from '@/layouts/auth-layout';
import { register } from '@/routes';
import { request } from '@/routes/password';
import { Form, Head } from '@inertiajs/react';
-import { LoaderCircle } from 'lucide-react';
interface LoginProps {
status?: string;
@@ -88,9 +88,7 @@ export default function Login({ status, canResetPassword }: LoginProps) {
disabled={processing}
data-test="login-button"
>
- {processing && (
-
- )}
+ {processing && }
Log in
diff --git a/resources/js/pages/auth/register.tsx b/resources/js/pages/auth/register.tsx
index 4015acae3..77746f2c3 100644
--- a/resources/js/pages/auth/register.tsx
+++ b/resources/js/pages/auth/register.tsx
@@ -1,13 +1,13 @@
import RegisteredUserController from '@/actions/App/Http/Controllers/Auth/RegisteredUserController';
import { login } from '@/routes';
import { Form, Head } from '@inertiajs/react';
-import { LoaderCircle } from 'lucide-react';
import InputError from '@/components/input-error';
import TextLink from '@/components/text-link';
import { Button } from '@/components/ui/button';
import { Input } from '@/components/ui/input';
import { Label } from '@/components/ui/label';
+import { Spinner } from '@/components/ui/spinner';
import AuthLayout from '@/layouts/auth-layout';
export default function Register() {
@@ -96,9 +96,7 @@ export default function Register() {
tabIndex={5}
data-test="register-user-button"
>
- {processing && (
-
- )}
+ {processing && }
Create account
diff --git a/resources/js/pages/auth/reset-password.tsx b/resources/js/pages/auth/reset-password.tsx
index c779977c4..d8a60d11a 100644
--- a/resources/js/pages/auth/reset-password.tsx
+++ b/resources/js/pages/auth/reset-password.tsx
@@ -1,11 +1,11 @@
import NewPasswordController from '@/actions/App/Http/Controllers/Auth/NewPasswordController';
import { Form, Head } from '@inertiajs/react';
-import { LoaderCircle } from 'lucide-react';
import InputError from '@/components/input-error';
import { Button } from '@/components/ui/button';
import { Input } from '@/components/ui/input';
import { Label } from '@/components/ui/label';
+import { Spinner } from '@/components/ui/spinner';
import AuthLayout from '@/layouts/auth-layout';
interface ResetPasswordProps {
@@ -83,9 +83,7 @@ export default function ResetPassword({ token, email }: ResetPasswordProps) {
disabled={processing}
data-test="reset-password-button"
>
- {processing && (
-
- )}
+ {processing && }
Reset password
diff --git a/resources/js/pages/auth/verify-email.tsx b/resources/js/pages/auth/verify-email.tsx
index 050c05563..0dbc2af3c 100644
--- a/resources/js/pages/auth/verify-email.tsx
+++ b/resources/js/pages/auth/verify-email.tsx
@@ -2,10 +2,10 @@
import EmailVerificationNotificationController from '@/actions/App/Http/Controllers/Auth/EmailVerificationNotificationController';
import { logout } from '@/routes';
import { Form, Head } from '@inertiajs/react';
-import { LoaderCircle } from 'lucide-react';
import TextLink from '@/components/text-link';
import { Button } from '@/components/ui/button';
+import { Spinner } from '@/components/ui/spinner';
import AuthLayout from '@/layouts/auth-layout';
export default function VerifyEmail({ status }: { status?: string }) {
@@ -30,9 +30,7 @@ export default function VerifyEmail({ status }: { status?: string }) {
{({ processing }) => (
<>