diff --git a/client/src/components/User/Register.tsx b/client/src/components/User/Register.tsx index 93a89c4..f479b5a 100644 --- a/client/src/components/User/Register.tsx +++ b/client/src/components/User/Register.tsx @@ -10,9 +10,7 @@ function Register() { const [verify, setVerify] = useState(''); const [warningText, setWarningText] = useState('initial'); - const [userData, setUserData] = useState({email: '', name: '', password: ''}); - - const conditions = [name, email, password, verify]; + const [userData, setUserData] = useState(); // checks password complexity useEffect(() => { @@ -37,29 +35,52 @@ function Register() { }, [password, verify]); // checks that all conditions for registration have been met - useEffect(() => { - let evaluating = true; + // useEffect(() => { + // let evaluating = true; - if (!(conditions.includes('')) && warningText === '') { - evaluating = false; + // if (!(conditions.includes('')) && warningText === '') { + // evaluating = false; + // } + + // if (!evaluating) { + // const userEntry: userInfo = { + // name: name, + // email: email, + // password: password + // } + + // console.log(userEntry); + // setUserData(userEntry); + + // setWarningText('Conditions met!'); + // } + // }, [conditions, warningText, userData, name, email]); + + // updates user info object on each render + useEffect(() => { + let newInfo: userInfo = { + name: name, + email: email, + password: password } - if (!evaluating) { - const userEntry: userInfo = { - name: name, - email: email, - password: password - } - - console.log(userEntry); - setUserData(userEntry); + setUserData(newInfo); + }, [name, email, password]); + + // interrupts rendering loop by setting warning text on password data + useEffect(() => { + if (warningText === '') { + console.group('valid data'); + console.log(userData); + console.groupEnd(); setWarningText('Conditions met!'); } - }, [conditions, warningText, userData, name, email]); + }, [userData, warningText]); + // allows registration submission if warning text has correct value and userData is defined with all required values const handleRegistration = async () => { - userData && await registerNewUser(userData); + warningText === "Conditions met!" && userData && await registerNewUser(userData); setName(''); setEmail('');