import { useState, type FormEvent } from 'react'; import { Link, useNavigate, useSearchParams } from 'react-router-dom'; import { useSession } from '@/entities/session'; export function RegisterPage() { const navigate = useNavigate(); const [searchParams] = useSearchParams(); const { register } = useSession(); const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const [confirmPassword, setConfirmPassword] = useState(''); const [name, setName] = useState(''); const [error, setError] = useState(''); const [loading, setLoading] = useState(false); const redirect = searchParams.get('redirect') || '/'; async function handleSubmit(e: FormEvent) { e.preventDefault(); setError(''); if (password !== confirmPassword) { setError('Пароли не совпадают'); return; } setLoading(true); try { await register(email, password, name || undefined); navigate(redirect); } catch (err) { setError(err instanceof Error ? err.message : 'Ошибка регистрации'); } finally { setLoading(false); } } return (