import { FC, Fragment } from 'react' import { useFormik } from 'formik' import { RegisterType } from '../types/AuthTypes' import * as Yup from 'yup' import { useAuthStore } from '../store/AuthStore' import { useTranslation } from 'react-i18next' import Input from '../../../components/Input' import DatePickerComponent from '../../../components/DatePicker' import Button from '../../../components/Button' import { useRegister } from '../hooks/useAuthData' import { ErrorType } from '../../../helpers/types' import { toast } from 'react-toastify' import { Pages } from '../../../config/Pages' const RegisterStep2: FC = () => { const { t } = useTranslation('global') const { phone } = useAuthStore() const register = useRegister() const formik = useFormik({ initialValues: { firstName: '', lastName: '', birthDate: '', code: 0, nationalCode: '', password: '', phone: phone, }, validationSchema: Yup.object({ firstName: Yup.string() .required(t('errors.required')), lastName: Yup.string() .required(t('errors.required')), birthDate: Yup.string() .required(t('errors.required')), code: Yup.number() .required(t('errors.required')), nationalCode: Yup.string() .required(t('errors.required')), password: Yup.string() .required(t('errors.required')), phone: Yup.string() .required(t('errors.required')), }), onSubmit(values) { register.mutate(values, { onSuccess(data) { localStorage.setItem(import.meta.env.VITE_TOKEN_NAME, data?.data?.accessToken?.token) localStorage.setItem(import.meta.env.VITE_REFRESH_TOKEN_NAME, data?.data?.refreshToken?.token) window.location.href = Pages.dashboard }, onError(error: ErrorType) { toast.error(error?.response?.data?.error?.message[0]) }, }) }, }) return (
formik.setFieldValue('birthDate', date)} placeholder={t('auth.select_date')} error_text={formik.touched.birthDate && formik.errors.birthDate ? formik.errors.birthDate : ''} />