From 13241a830868963e819db50e72cec3d56efc80dd Mon Sep 17 00:00:00 2001 From: Viktor Fomin Date: Tue, 24 Jan 2023 13:58:17 +0300 Subject: [PATCH] Client: Wizard: fix validate, add hasErrorAgree --- .../client/src/pages/Wizard/StyledWizard.js | 2 +- packages/client/src/pages/Wizard/index.js | 77 ++++++++++++------- 2 files changed, 52 insertions(+), 27 deletions(-) diff --git a/packages/client/src/pages/Wizard/StyledWizard.js b/packages/client/src/pages/Wizard/StyledWizard.js index 446b5ad3eb..05644c8d5b 100644 --- a/packages/client/src/pages/Wizard/StyledWizard.js +++ b/packages/client/src/pages/Wizard/StyledWizard.js @@ -108,7 +108,7 @@ export const StyledAcceptTerms = styled.div` align-items: center; gap: 0.3em; padding-top: 12px; - padding-bottom: 24px; + padding-bottom: 8px; .wizard-checkbox svg { margin-right: 8px; diff --git a/packages/client/src/pages/Wizard/index.js b/packages/client/src/pages/Wizard/index.js index 33f62b396a..b0e826b18a 100644 --- a/packages/client/src/pages/Wizard/index.js +++ b/packages/client/src/pages/Wizard/index.js @@ -68,6 +68,7 @@ const Wizard = (props) => { const [password, setPassword] = useState(""); const [hasErrorPass, setHasErrorPass] = useState(false); const [agreeTerms, setAgreeTerms] = useState(false); + const [hasErrorAgree, setHasErrorAgree] = useState(false); const [selectedLanguage, setSelectedLanguage] = useState(null); const [timezones, setTimezones] = useState(null); const [selectedTimezone, setSelectedTimezone] = useState(null); @@ -163,6 +164,11 @@ const Wizard = (props) => { setSelectedTimezone(timezone); }; + const onAgreeTermsChange = () => { + if (hasErrorAgree && !agreeTerms) setHasErrorAgree(false); + setAgreeTerms(!agreeTerms); + }; + const validateFields = () => { const emptyEmail = email.trim() === ""; const emptyPassword = password.trim() === ""; @@ -170,10 +176,20 @@ const Wizard = (props) => { if (emptyEmail || emptyPassword) { emptyEmail && setHasErrorEmail(true); emptyPassword && setHasErrorPass(true); - return false; } - if (hasErrorEmail || hasErrorPass || !agreeTerms) return false; + if (!agreeTerms) { + setHasErrorAgree(true); + } + + if ( + emptyEmail || + emptyPassword || + hasErrorEmail || + hasErrorPass || + !agreeTerms + ) + return false; return true; }; @@ -343,30 +359,39 @@ const Wizard = (props) => { /> - - setAgreeTerms(!agreeTerms)} - isDisabled={isCreated} - /> - - {t("LicenseLink")} - - + + + + + {t("LicenseLink")} + + + +