diff --git a/frontend/src/views/MainPage/SignUp/index.jsx b/frontend/src/views/MainPage/SignUp/index.jsx index 6f9bd87..6bd785a 100644 --- a/frontend/src/views/MainPage/SignUp/index.jsx +++ b/frontend/src/views/MainPage/SignUp/index.jsx @@ -1,102 +1,128 @@ import React, { useState } from 'react'; import { Link } from 'react-router-dom'; -import Styles from './../Form.module.css'; import { useDispatch } from 'react-redux'; -//icons import { AiOutlineEyeInvisible, AiOutlineEye } from 'react-icons/ai'; import { BiError } from 'react-icons/bi'; -//actions import { signUpAsync } from './../../../redux/actions/auth'; const SignUp = () => { const dispatch = useDispatch(); const [hidden, setHidden] = useState(false); - const [data, setData] = useState({ - email: '', - password: '' - }); + const [data, setData] = useState({ email: '', password: '' }); const [error, setError] = useState(''); + const handleSubmit = async (e) => { e.preventDefault(); setError(''); dispatch(signUpAsync({ data, setError })); }; + const handleChange = (e) => { setData({ ...data, [e.target.name]: e.target.value }); setError(''); }; + const handleHidden = () => { setHidden(!hidden); }; + const validateEmail = (string) => { const regex = /^[-\w.%+]{1,64}@(?:[A-Z0-9-]{1,63}\.){1,125}[A-Z]{2,63}$/i; return regex.test(string); }; + + const emailInvalid = !validateEmail(data.email) && data.email !== ''; + return ( -