From c9d14e1aae28447f1813196ce6bc85ea6281ccbb Mon Sep 17 00:00:00 2001 From: Kenneth Jannette Date: Thu, 15 Feb 2024 19:47:08 -0600 Subject: [PATCH 01/16] more --- src/Components/SignupPage/SignupPage.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/Components/SignupPage/SignupPage.js b/src/Components/SignupPage/SignupPage.js index e656b2d..4b58b0e 100644 --- a/src/Components/SignupPage/SignupPage.js +++ b/src/Components/SignupPage/SignupPage.js @@ -30,7 +30,7 @@ import PaymentModal from "../Modals/PaymentModal"; import Radio from "../../pageElements/Radio"; import "../../styles/signup.scss"; import Stripe from "stripe"; -import { stripeApiKey } from "../../secrets"; +import { stripeApiKey, marchEmailPrm } from "../../secrets"; const SignupPage = () => { const { isUpgrade, currentPlan } = useParams(); @@ -43,12 +43,12 @@ const SignupPage = () => { getFormDataDefaults(paymentfields) ); const [showPaymentModal, setShowPaymentModal] = useState(false); - /* + const [showSelectPlan, setShowSelectPlan] = useState( isUpgrade ? true : false ); -*/ - const [showSelectPlan, setShowSelectPlan] = useState(true); + + //const [showSelectPlan, setShowSelectPlan] = useState(true); const [activeRadioOption, setActiveRadioOption] = useState("partner"); const [selectedPlan, setSelectedPlan] = useState([signupRadioFields[1]]); const [isAnnual, setIsAnnual] = useState(1); @@ -347,6 +347,7 @@ const SignupPage = () => { setShowPaymentModal(false); window.scrollTo({ top: 0, behavior: "smooth" }); setIsBusy(true); + try { const data = await handleStripeAuthorization( paymentDataValues, From 57d3de5073225f4a2acfd4e56a9cf810cfcdcef2 Mon Sep 17 00:00:00 2001 From: Kenneth Jannette Date: Thu, 15 Feb 2024 19:58:26 -0600 Subject: [PATCH 02/16] more --- src/Components/SignupPage/SignupPage.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Components/SignupPage/SignupPage.js b/src/Components/SignupPage/SignupPage.js index 4b58b0e..be0c674 100644 --- a/src/Components/SignupPage/SignupPage.js +++ b/src/Components/SignupPage/SignupPage.js @@ -59,7 +59,7 @@ const SignupPage = () => { : process.env.REACT_APP_API_PROD; const [showAddAccount, setShowAddAccount] = useState(false); const [numberOfAccountsToAdd, setNumberOfAccountsToAdd] = useState(); - + const [showPromoModal, setShowPromoModal] = useState(""); const handleChangeInput = (e, name) => { const newData = handleFormDataChange(e, name, data, signupFields); if (newData !== null) { From a742bc7ae5767e13269a43403184f7f5b76318bd Mon Sep 17 00:00:00 2001 From: Kenneth Jannette Date: Thu, 15 Feb 2024 20:14:37 -0600 Subject: [PATCH 03/16] more --- src/Components/Modals/ConfirmModal.js | 1 + src/Components/SignupPage/SignupPage.js | 23 +++++++++++++++++++---- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/Components/Modals/ConfirmModal.js b/src/Components/Modals/ConfirmModal.js index 2a232dd..d620afc 100644 --- a/src/Components/Modals/ConfirmModal.js +++ b/src/Components/Modals/ConfirmModal.js @@ -21,6 +21,7 @@ const ConfirmModal = ({ titleText, }) => { const title = titleText ? titleText : "Confirmation"; + return ( diff --git a/src/Components/SignupPage/SignupPage.js b/src/Components/SignupPage/SignupPage.js index be0c674..4149874 100644 --- a/src/Components/SignupPage/SignupPage.js +++ b/src/Components/SignupPage/SignupPage.js @@ -31,6 +31,7 @@ import Radio from "../../pageElements/Radio"; import "../../styles/signup.scss"; import Stripe from "stripe"; import { stripeApiKey, marchEmailPrm } from "../../secrets"; +import ConfirmModal from "../Modals/ConfirmModal"; const SignupPage = () => { const { isUpgrade, currentPlan } = useParams(); @@ -59,7 +60,8 @@ const SignupPage = () => { : process.env.REACT_APP_API_PROD; const [showAddAccount, setShowAddAccount] = useState(false); const [numberOfAccountsToAdd, setNumberOfAccountsToAdd] = useState(); - const [showPromoModal, setShowPromoModal] = useState(""); + const [showPromoModal, setShowPromoModal] = useState(false); + const handleChangeInput = (e, name) => { const newData = handleFormDataChange(e, name, data, signupFields); if (newData !== null) { @@ -236,6 +238,12 @@ const SignupPage = () => { setShowPaymentModal(true); }; + const handleCancelModal = () => { + console.log("handleCancelModal"); + setShowPromoModal(!showPromoModal); + setShowSelectPlan(!showSelectPlan); + }; + const handleOpenSelectPlan = (e) => { e.preventDefault(); if (isBusy) { @@ -246,10 +254,8 @@ const SignupPage = () => { if (dataValues === null) { return; } - saveLeadData(dataValues); - - setShowSelectPlan(!showSelectPlan); + setShowPromoModal(!showPromoModal); }; const handleToggle = (e) => { @@ -660,6 +666,15 @@ const SignupPage = () => { ) : ( <> )} + {showPromoModal ? ( + + ) : ( + <> + )} ); }; From 030c6d3f51f60899b6b9ac206fa83f3e8ca92c93 Mon Sep 17 00:00:00 2001 From: Kenneth Jannette Date: Thu, 15 Feb 2024 21:08:19 -0600 Subject: [PATCH 04/16] more --- src/Components/Modals/ConfirmModal.js | 13 ++++++++++--- src/Components/SignupPage/SignupPage.js | 4 +++- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/Components/Modals/ConfirmModal.js b/src/Components/Modals/ConfirmModal.js index d620afc..6fd0031 100644 --- a/src/Components/Modals/ConfirmModal.js +++ b/src/Components/Modals/ConfirmModal.js @@ -19,6 +19,7 @@ const ConfirmModal = ({ setIssueText, reportDoc, titleText, + isPromoModal, }) => { const title = titleText ? titleText : "Confirmation"; @@ -29,7 +30,7 @@ const ConfirmModal = ({ Report an issue ) : ( - {titleText ? ( + {titleText && !isPromoModal ? ( {modalText} - {isReport ? ( + {isReport || isPromoModal ? (
setIssueText(e.target.value)} - label={issueText ? "" : "Description of issue"} + label={ + issueText + ? "" + : isPromoModal + ? "Enter your promotional code" + : "Description of issue" + } />
) : ( diff --git a/src/Components/SignupPage/SignupPage.js b/src/Components/SignupPage/SignupPage.js index 4149874..cf1b9d8 100644 --- a/src/Components/SignupPage/SignupPage.js +++ b/src/Components/SignupPage/SignupPage.js @@ -61,6 +61,7 @@ const SignupPage = () => { const [showAddAccount, setShowAddAccount] = useState(false); const [numberOfAccountsToAdd, setNumberOfAccountsToAdd] = useState(); const [showPromoModal, setShowPromoModal] = useState(false); + const [isPromoMembership, setIsPromoMembership] = useState(); const handleChangeInput = (e, name) => { const newData = handleFormDataChange(e, name, data, signupFields); @@ -668,9 +669,10 @@ const SignupPage = () => { )} {showPromoModal ? ( ) : ( <> From 0437f0572cd9ecc643ab4ac511538b2f45d0df71 Mon Sep 17 00:00:00 2001 From: Kenneth Jannette Date: Thu, 15 Feb 2024 21:10:05 -0600 Subject: [PATCH 05/16] more --- src/Components/SignupPage/SignupPage.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Components/SignupPage/SignupPage.js b/src/Components/SignupPage/SignupPage.js index cf1b9d8..8f56708 100644 --- a/src/Components/SignupPage/SignupPage.js +++ b/src/Components/SignupPage/SignupPage.js @@ -62,6 +62,7 @@ const SignupPage = () => { const [numberOfAccountsToAdd, setNumberOfAccountsToAdd] = useState(); const [showPromoModal, setShowPromoModal] = useState(false); const [isPromoMembership, setIsPromoMembership] = useState(); + const [issueText, setIssueText] = useState(""); const handleChangeInput = (e, name) => { const newData = handleFormDataChange(e, name, data, signupFields); @@ -673,6 +674,8 @@ const SignupPage = () => { onCancel={handleCancelModal} buttonLabelText="Enter Code" isPromoModal={true} + issueText={issueText} + setIssueText={setIssueText} /> ) : ( <> From 4a23953d7b6a2b8d97a7675f2663ed5cba743be6 Mon Sep 17 00:00:00 2001 From: Kenneth Jannette Date: Thu, 15 Feb 2024 21:12:02 -0600 Subject: [PATCH 06/16] more --- src/Components/SignupPage/SignupPage.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Components/SignupPage/SignupPage.js b/src/Components/SignupPage/SignupPage.js index 8f56708..22647aa 100644 --- a/src/Components/SignupPage/SignupPage.js +++ b/src/Components/SignupPage/SignupPage.js @@ -71,6 +71,12 @@ const SignupPage = () => { } }; + const handleConfirmPromoCode = () => { + if (issueText === marchEmailPrm) { + console.log("we got a winner"); + } + }; + const handleChangeAccountSelect = (e, name) => { const num = e.target.value; const temp = Number(num); @@ -676,6 +682,7 @@ const SignupPage = () => { isPromoModal={true} issueText={issueText} setIssueText={setIssueText} + onConfirm={handleConfirmPromoCode} /> ) : ( <> From d955128bbf3f49f0f4a42bc91fe6d00529c06bf0 Mon Sep 17 00:00:00 2001 From: Kenneth Jannette Date: Thu, 15 Feb 2024 21:21:16 -0600 Subject: [PATCH 07/16] more --- src/Components/SignupPage/SignupPage.js | 53 ++++++++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) diff --git a/src/Components/SignupPage/SignupPage.js b/src/Components/SignupPage/SignupPage.js index 22647aa..1671f0e 100644 --- a/src/Components/SignupPage/SignupPage.js +++ b/src/Components/SignupPage/SignupPage.js @@ -73,7 +73,7 @@ const SignupPage = () => { const handleConfirmPromoCode = () => { if (issueText === marchEmailPrm) { - console.log("we got a winner"); + handlePromoSignup(); } }; @@ -409,6 +409,57 @@ const SignupPage = () => { } }; + const handlePromoSignup = async (e) => { + e.preventDefault(); + + let dataValues = validateUserData(); + if (dataValues === null) { + return; + } + + //const planType = determinePlan(isAnnual, activeRadioOption); + + if (dataValues) { + window.scrollTo({ top: 0, behavior: "smooth" }); + setIsBusy(true); + + try { + //const customerId = data.data.customerId; + + const subscriptionCreated = new Date(); + const subscriptionPeriodStart = subscriptionCreated; + //const subscriptionPeriodEnd = 30 days from date created + const subscriptionId = uuidv4(); + const isPromotionalMebership = true; + + const userCredential = await createUserWithEmailAndPassword( + auth, + dataValues.email, + dataValues.password + ); + + const user = userCredential.user; + dataValues = { ...dataValues, ...data }; + const res = await saveUserData( + user.uid, + dataValues, + + subscriptionCreated, + subscriptionPeriodStart, + subscriptionPeriodEnd, + subscriptionId + ); + console.log("res", res); + setIsBusy(false); + navigate("/dashboard"); + } catch (error) { + console.log("Error handling request", error, error.message); + setIsBusy(false); + setNotice("Sorry, something went wrong. Please try again."); + } + } + }; + const showNoticeOnPage = "" !== notice && !showPaymentModal; const addAccountCopy = selectedPlan[0]?.value === "seniorPartner" From 193d642f299b6ff0076c9e499b51a260b47c8ab0 Mon Sep 17 00:00:00 2001 From: Kenneth Jannette Date: Thu, 15 Feb 2024 21:35:56 -0600 Subject: [PATCH 08/16] more --- src/Components/SignupPage/SignupPage.js | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/Components/SignupPage/SignupPage.js b/src/Components/SignupPage/SignupPage.js index 1671f0e..90e5969 100644 --- a/src/Components/SignupPage/SignupPage.js +++ b/src/Components/SignupPage/SignupPage.js @@ -73,6 +73,7 @@ const SignupPage = () => { const handleConfirmPromoCode = () => { if (issueText === marchEmailPrm) { + setIsPromoMembership(true); handlePromoSignup(); } }; @@ -179,7 +180,13 @@ const SignupPage = () => { const firmId = uuidv4(); const fbAuthUid = authId; const plan = selectedPlan; - const docsAllowedPerMonth = selectedPlan[0].docsAllowedPerMonth; + let docsAllowedPerMonth; + + if (isPromoMembership) { + docsAllowedPerMonth = 1; + } else { + docsAllowedPerMonth = selectedPlan[0].docsAllowedPerMonth; + } const docsGenerated = 0; @@ -417,19 +424,17 @@ const SignupPage = () => { return; } - //const planType = determinePlan(isAnnual, activeRadioOption); - if (dataValues) { window.scrollTo({ top: 0, behavior: "smooth" }); setIsBusy(true); try { //const customerId = data.data.customerId; - - const subscriptionCreated = new Date(); - const subscriptionPeriodStart = subscriptionCreated; - //const subscriptionPeriodEnd = 30 days from date created - const subscriptionId = uuidv4(); + const today = new Date(); + const subscriptionCreated = today; + const subscriptionPeriodStart = today; + const subscriptionPeriodEnd = today.setDate(today.getDate() + 30); + const subscriptionId = `promo-${uuidv4()}`; const isPromotionalMebership = true; const userCredential = await createUserWithEmailAndPassword( @@ -443,7 +448,6 @@ const SignupPage = () => { const res = await saveUserData( user.uid, dataValues, - subscriptionCreated, subscriptionPeriodStart, subscriptionPeriodEnd, From a925f74940804d64e95f09a46bb4462eb4a8df4d Mon Sep 17 00:00:00 2001 From: Kenneth Jannette Date: Thu, 15 Feb 2024 21:49:00 -0600 Subject: [PATCH 09/16] more --- src/Components/Modals/ConfirmModal.js | 3 ++- src/Components/SignupPage/SignupPage.js | 9 ++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Components/Modals/ConfirmModal.js b/src/Components/Modals/ConfirmModal.js index 6fd0031..83be986 100644 --- a/src/Components/Modals/ConfirmModal.js +++ b/src/Components/Modals/ConfirmModal.js @@ -20,6 +20,7 @@ const ConfirmModal = ({ reportDoc, titleText, isPromoModal, + cancelButtonText, }) => { const title = titleText ? titleText : "Confirmation"; @@ -73,7 +74,7 @@ const ConfirmModal = ({ disabled={isBusy} className="secondary-button" onClick={onCancel} - labelText="Cancel" + labelText={cancelButtonText ? cancelButtonText : "Cancel"} />