'use client'; import { useEffect, useState } from 'react'; import { BiInfoCircle } from 'react-icons/bi'; import { toast } from 'react-toastify'; import Button from '@/components/Common/Button'; import Checkbox from '@/components/Common/Checkbox'; import ConceptTooltip from '@/components/Common/ConceptTooltip'; import Overlay from '@/components/Common/Overlay'; import SubmitButton from '@/components/Common/SubmitButton'; import TextInput from '@/components/Common/TextInput'; import TextURL from '@/components/Common/TextURL'; import ExpectedAnonymous from '@/components/ExpectedAnonymous'; import InfoError from '@/components/InfoError'; import { useAuth } from '@/context/AuthContext'; import { useConceptNavigation } from '@/context/NagivationContext'; import { type IUserSignupData } from '@/models/library'; import { globalIDs, patterns } from '@/utils/constants'; function RegisterPage() { const router = useConceptNavigation(); const { user, signup, loading, error, setError } = useAuth(); 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 [acceptPrivacy, setAcceptPrivacy] = useState(false); useEffect(() => { setError(undefined); }, [username, email, password, password2, setError]); function handleCancel() { if (router.canBack()) { router.back(); } else { router.push('/library'); } } function handleSubmit(event: React.FormEvent) { event.preventDefault(); if (!loading) { const data: IUserSignupData = { username, email, password, password2, first_name: firstName, last_name: lastName }; signup(data, createdUser => { router.push(`/login?username=${createdUser.username}`); toast.success(`Пользователь успешно создан: ${createdUser.username}`); }); } } if (user) { return (); } return (

Новый пользователь

- используйте уникальный пароль

- портал функционирует в тестовом режиме

setUsername(event.target.value)} /> setPassword(event.target.value)} /> setPassword2(event.target.value)} />
setEmail(event.target.value)} /> setFirstName(event.target.value)} /> setLastName(event.target.value)} />
{error ? : null} ); } export default RegisterPage;