import { z } from 'zod'; import { zodResolver } from '@hookform/resolvers/zod'; import { FormProvider, useForm } from 'react-hook-form'; import { HInput } from '@/shared/ui/FormComponents'; import { classNames } from '@/shared/lib/classNames/classNames'; import { Button, ButtonSize, ButtonTheme } from '@/shared/ui/Button'; import { useSignInByEmail } from '../../lib/query/useSignInByEmail'; import cls from './AuthByEmail.module.scss'; const AuthByEmailSchema = z.object({ email: z.string().email('email написан некоректно'), password: z.string().min(5, { message: 'Введите не менее 5 символов' }), }); export type AuthByEmailType = z.infer; interface AuthByEmailProps { className?: string; } const defaultValues = { email: '', password: '', }; export const AuthByEmail = (props: AuthByEmailProps) => { const { className } = props; const { mutate: onAuth, isPending } = useSignInByEmail(); const methods = useForm({ defaultValues, resolver: zodResolver(AuthByEmailSchema), }); const { handleSubmit } = methods; const submitHandler = async (loginData: AuthByEmailType) => { onAuth(loginData); }; return (
); };