import React from 'react' import Link from 'next/link' import { useForm } from '@/app/hooks/useForm' import Button from '@/components/ui/Button' // import LoginButton from '@/app/components/ui/LoginButton' import showToast from '@/components/ui/Toast' import { useRouter } from 'next/navigation' import { signIn } from 'next-auth/react' import TextInput from '@/components/ui/TextInput' import PhoneInput from '@/components/ui/PhoneInput' const validationRules = { name: { required: true }, surname: { required: true }, phone_number: { required: true, minLength: 11, }, password: { required: true, minLength: 8 }, privacy_accepted: { required: true }, } export default function ClientRegistrationForm() { const router = useRouter() const { values, isVisible, handleChange, handleSubmit, togglePasswordVisibility, } = useForm( { name: '', surname: '', email: '', phone_number: '', password: '', privacy_accepted: false, }, validationRules, async (values) => { try { const result = await signIn('register-credentials', { email: values.email, password: values.password, username: values.name, phone_number: values.phone_number, privacy_accepted: values.privacy_accepted.toString(), redirect: false, }) if (result?.error) { showToast({ type: 'error', message: result.error }) return } showToast({ type: 'success', message: 'Регистрация успешна!' }) router.push('/account') } catch { showToast({ type: 'error', message: 'Ошибка при регистрации' }) } } ) return ( <>