import { useState } from 'react' import { useFormik, Form, FormikProvider } from 'formik'; import { useNavigate } from 'react-router-dom'; import { Stack, TextField,Box, Button, Backdrop, CircularProgress, } from '@mui/material'; import toast, { Toaster } from 'react-hot-toast'; import * as Yup from 'yup'; import { Service } from '../../Utils/HTTP'; // import useAuth from '../../Auth/useAuth';; export function PersonalInfo(props) { let { handleBack, setClient, client } = props let navigate = useNavigate() const RegisterSchema = Yup.object().shape({ nit: Yup.string().min(2, 'Demasiado corto!').max(50, 'Demasiado largo!').required('El nit es requerido'), cui: Yup.string().min(2, 'Demasiado corto!').max(50, 'Demasiado Largo!').required('Tu CUI/DPI es requerido'), direccion: Yup.string().min(2, 'Demasiado corto!').max(50, 'Demasiado Largo!').required('La direccion es requerida'), nacimiento: Yup.date().required('Tu fecha nacimiento es requerida'), telefono: Yup.number('Ingresa únicamente números').required('Tu numero de telefono es requerido') }); let [open, setOpen] = useState(false); const formik = useFormik({ initialValues: { nit: client.nit, cui: client.cui, direccion: client.direccion, nacimiento: client.nacimiento, telefono: client.telefono }, validationSchema: RegisterSchema, onSubmit: (values) => { setOpen(true); let new_client = { ...client, ...values } setClient(new_client) let body = { "nombre" : new_client.firstName, "apelidos" : new_client.lastName, "telefono" : new_client.telefono, "direccio": new_client.direccion, "fechacumple": new_client.nacimiento, "nit": new_client.nit, "cui": new_client.cui, "email": new_client.email, "username": new_client.email, "pwd": new_client.password } let req = new Service('/registro'); req.post(body) .then( data => { setTimeout(() => { setOpen(false); return navigate('/') }, 2000) console.log("DATA ::", data) let nombre = client.firstName + " " + client.lastName toast.success(`Bienvenido ${nombre} !!`) }) .catch(error => { console.log("ERROR ::", error) toast.error(`Ups ocurrió un error puede que tu usuario yo exista o sea un error interno, intenta nuevamente más tarde o ponte en contacto con nosotros`) return setOpen(false); }) } }); const { errors, touched, handleSubmit, getFieldProps } = formik; return(
theme.zIndex.drawer + 1 }} open={open} onClick={() => false} >
) }