import { useEffect, useState } from 'react'; import TextInput from '../components/Common/TextInput'; import Form from '../components/Common/Form'; import { useAuth } from '../context/AuthContext'; import SubmitButton from '../components/Common/SubmitButton'; import BackendError from '../components/BackendError'; import { IUserSignupData } from '../utils/models'; import InfoMessage from '../components/InfoMessage'; import TextURL from '../components/Common/TextURL'; function RegisterPage() { const [username, setUsername] = useState(''); const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const [password2, setPassword2] = useState(''); const [firstName, setFirstName] = useState(''); const [lastName, setLastName] = useState(''); const [success, setSuccess] = useState(false); const { user, signup, loading, error, setError } = useAuth() useEffect(() => { setError(undefined); }, [username, email, password, password2, setError]); const handleSubmit = (event: React.FormEvent) => { event.preventDefault(); if (!loading) { const data: IUserSignupData = { 'username': username, 'email': email, 'password': password, 'password2': password2, 'first_name': firstName, 'last_name': lastName, }; signup(data, () => setSuccess(true)); } }; return (
{ success &&
} { !success && user && } { !success && !user &&
setUsername(event.target.value)} /> setPassword(event.target.value)} /> setPassword2(event.target.value)} />

- минимум 8 символов

- большие, маленькие буквы, цифры

- минимум 1 спец. символ

setEmail(event.target.value)} /> setFirstName(event.target.value)} /> setLastName(event.target.value)} />
{ error && } }
); } export default RegisterPage;