From 796ac728334789434ed0875757ece36b7771638b Mon Sep 17 00:00:00 2001 From: Kenneth Jannette Date: Sat, 3 Feb 2024 00:35:29 -0600 Subject: [PATCH 1/3] more --- src/Components/SignupPage/SignupPage.js | 25 ++++++++----- src/pageElements/LoadingSpinner.js | 47 +++++++++++++++++-------- src/styles/spinner.scss | 3 ++ 3 files changed, 52 insertions(+), 23 deletions(-) diff --git a/src/Components/SignupPage/SignupPage.js b/src/Components/SignupPage/SignupPage.js index 4228c5f..f50ab6c 100644 --- a/src/Components/SignupPage/SignupPage.js +++ b/src/Components/SignupPage/SignupPage.js @@ -11,6 +11,7 @@ import Toggle from "../../pageElements/Toggle"; import TextInput from "../../pageElements/TextInput"; import { v4 as uuidv4 } from "uuid"; import { collection, setDoc, doc } from "firebase/firestore"; +import LoadingSpinner from "../../pageElements/LoadingSpinner"; import { splitEvery } from "../../Utils/Array"; import { getFormDataDefaults, @@ -36,7 +37,7 @@ const SignupPage = () => { const navigate = useNavigate(); const [notice, setNotice] = useState(""); const fieldsChunkSize = 2; - const [isBusy, setIsBusy] = useState(false); + const [isBusy, setIsBusy] = useState(true); const [data, setData] = useState(getFormDataDefaults(signupFields)); const [paymentData, setPaymentData] = useState( getFormDataDefaults(paymentfields) @@ -214,7 +215,8 @@ const SignupPage = () => { try { const usersRef = collection(db, "users"); - await setDoc(doc(usersRef, fbAuthUid), userData); + const res = await setDoc(doc(usersRef, fbAuthUid), userData); + return res; } catch (error) { console.log(`Error saving new user to db: ${error}`); } @@ -337,8 +339,9 @@ const SignupPage = () => { } //const planType = determinePlan(isAnnual, activeRadioOption); - setIsBusy(true); + if (paymentDataValues && dataValues) { + setIsBusy(true); try { const data = await handleStripeAuthorization( paymentDataValues, @@ -364,7 +367,7 @@ const SignupPage = () => { const user = userCredential.user; dataValues = { ...dataValues, ...data }; - await saveUserData( + const res = await saveUserData( user.uid, dataValues, customerId, @@ -373,7 +376,10 @@ const SignupPage = () => { subscriptionPeriodEnd, subscriptionId ); - navigate("/dashboard"); + if (res) { + setIsBusy(false); + navigate("/dashboard"); + } } } catch (error) { setIsBusy(false); @@ -498,8 +504,9 @@ const SignupPage = () => { return (
- {!isUpgrade ? signupForm : <>} - {showSelectPlan ? ( + {isBusy ? : null} + {!isUpgrade && !isBusy ? signupForm : <>} + {showSelectPlan && !isBusy ? (
@@ -535,7 +542,7 @@ const SignupPage = () => {
))}
- {showAddAccount ? ( + {showAddAccount && !isBusy ? (
@@ -594,7 +601,7 @@ const SignupPage = () => { <> )}
- {!showAddAccount ? ( + {!showAddAccount && !isBusy ? ( <> {showAddAccountBtn ? (