/* eslint-disable camelcase */ import PropTypes from 'prop-types' import Link from 'next/link' import {useState} from 'react' import Button from '@mui/material/Button' import Container from '@mui/material/Container' import Box from '@mui/material/Box' import Typography from '@mui/material/Typography' import InputAdornment from '@mui/material/InputAdornment' import IconButton from '@mui/material/IconButton' import FormControl from '@mui/material/FormControl' import FormHelperText from '@mui/material/FormHelperText' import OutlinedInput from '@mui/material/OutlinedInput' import InputLabel from '@mui/material/InputLabel' import Visibility from '@mui/icons-material/Visibility' import VisibilityOff from '@mui/icons-material/VisibilityOff' export default function AuthForm({ title, buttonText, onSubmit, linkText, linkHref, linkDescription, isRegister }) { const [formData, setFormData] = useState({ first_name: '', email: '', password: '', password_verification: '' }) const [showPassword, setShowPassword] = useState(false) const [showPasswordVerification, setShowPasswordVerification] = useState(false) const handleFormSubmit = async e => { e.preventDefault() onSubmit(formData) setFormData({ first_name: '', email: '', password: '', password_verification: '' }) } const handleInputChange = e => { setFormData({ ...formData, [e.target.name]: e.target.value, }) } const handleClickShowPassword = () => { setShowPassword(!showPassword) } const handleMouseDownPassword = event => { event.preventDefault() } const handleClickShowPasswordVerifiation = () => { setShowPasswordVerification(!showPasswordVerification) } const handleMouseDownPasswordVerification = event => { event.preventDefault() } return ( {title} {isRegister && ( Pseudo )} E-mail Mot de passe {showPassword ? : } } value={formData.password} onChange={handleInputChange} /> {isRegister && ( Vérification du mot de passe {showPasswordVerification ? : } } onChange={handleInputChange} /> {formData.password !== formData.password_verification && ( Les mots de passe ne correspondent pas ! )} )} {linkDescription}{' '} {!isRegister && ( Mot de passe oublié )} Retourner à l’accueil ) } AuthForm.propTypes = { title: PropTypes.string.isRequired, buttonText: PropTypes.string.isRequired, onSubmit: PropTypes.func.isRequired, linkText: PropTypes.string.isRequired, linkHref: PropTypes.string.isRequired, linkDescription: PropTypes.string.isRequired, isRegister: PropTypes.bool.isRequired }