import { Box, Button, Container, Grid, IconButton, InputAdornment, TextField, Typography, } from '@mui/material'; import { useFormik } from 'formik'; import Link from 'next/link'; import { useState } from 'react'; import { FORGOT_PASSWORD_PAGE, LOGIN_PAGE } from '../../../constants/pages'; import { createUser } from '../../../requests/accountRequests'; import { registerSchema } from '../../../schemas/registerSchema'; import ErrorMessageComponent from '../../mui/ErrorMessageComponent'; const RegisterForm = () => { const [showPassword, setShowPassword] = useState(false); const handleClickShowPassword = () => setShowPassword(!showPassword); const handleMouseDownPassword = () => setShowPassword(!showPassword); const [showConfirmPassword, setShowConfirmPassword] = useState(false); const handleClickShowConfirmPassword = () => setShowConfirmPassword(!showConfirmPassword); const handleMouseDownConfirmPassword = () => setShowConfirmPassword(!showConfirmPassword); const [error, setError] = useState({ hasError: false, errorMessage: '' }); const submitHandler = async (values) => { try { const result = await createUser( values.fullName, values.username, values.email, values.password ); console.log(result); } catch (error) { setError({ hasError: true, errorMessage: error.message }); } }; const formik = useFormik({ initialValues: { fullName: '', username: '', email: '', password: '', confirmPassword: '', }, validationSchema: registerSchema, onSubmit: submitHandler, validateOnBlur: true, enableReinitialize: true, }); return ( Register {error.hasError && } ), }} /> ), }} /> Forgot your password? Already have an account? ); }; export default RegisterForm;