From 58117f932fd10704f94ce1868d8aae62963ce240 Mon Sep 17 00:00:00 2001
From: Jeremy
Date: Fri, 8 Nov 2024 17:59:06 +0300
Subject: [PATCH] Persist auth spinner (#503)
---
app/(auth)/login/page.tsx | 4 +++-
app/(auth)/register/page.tsx | 5 ++++-
components/custom/submit-button.tsx | 18 +++++++++++++-----
3 files changed, 20 insertions(+), 7 deletions(-)
diff --git a/app/(auth)/login/page.tsx b/app/(auth)/login/page.tsx
index 97f9cdc..19a39b3 100644
--- a/app/(auth)/login/page.tsx
+++ b/app/(auth)/login/page.tsx
@@ -14,6 +14,7 @@ export default function Page() {
const router = useRouter();
const [email, setEmail] = useState('');
+ const [isSuccessful, setIsSuccessful] = useState(false);
const [state, formAction] = useActionState(
login,
@@ -28,6 +29,7 @@ export default function Page() {
} else if (state.status === 'invalid_data') {
toast.error('Failed validating your submission!');
} else if (state.status === 'success') {
+ setIsSuccessful(true);
router.refresh();
}
}, [state.status, router]);
@@ -47,7 +49,7 @@ export default function Page() {
- Sign in
+ Sign in
{"Don't have an account? "}
(
register,
{
@@ -30,6 +32,7 @@ export default function Page() {
toast.error('Failed validating your submission!');
} else if (state.status === 'success') {
toast.success('Account created successfully');
+ setIsSuccessful(true);
router.refresh();
}
}, [state, router]);
@@ -49,7 +52,7 @@ export default function Page() {
- Sign Up
+ Sign Up
{'Already have an account? '}
{children}
- {pending && (
+
+ {(pending || isSuccessful) && (
)}
+
- {pending ? 'Loading' : 'Submit form'}
+ {pending || isSuccessful ? 'Loading' : 'Submit form'}
);