diff --git a/package.json b/package.json index ed76c37..ad31d4f 100644 --- a/package.json +++ b/package.json @@ -57,6 +57,7 @@ "stylis": "4.3.1", "stylis-plugin-rtl": "2.1.1", "type-fest": "4.9.0", + "uuid": "^9.0.1", "web-vitals": "3.5.1", "yup": "^1.3.3", "zod": "3.22.4" diff --git a/public/assets/images/avatars/user.jpg b/public/assets/images/avatars/user.jpg new file mode 100644 index 0000000..8cecc30 Binary files /dev/null and b/public/assets/images/avatars/user.jpg differ diff --git a/src/@fuse/core/FuseLoading/FuseLoading.tsx b/src/@fuse/core/FuseLoading/FuseLoading.tsx index ebd0769..1f248d1 100644 --- a/src/@fuse/core/FuseLoading/FuseLoading.tsx +++ b/src/@fuse/core/FuseLoading/FuseLoading.tsx @@ -32,7 +32,7 @@ function FuseLoading(props: FuseLoadingProps) { className="-mb-16 text-13 font-medium sm:text-20" color="text.secondary" > - Loading + Cargando = { setIsLoading: (isLoading: boolean) => void; }; +type UserLogin = { + user: string; + password: string; +}; /** * useJwtAuth hook * Description: This hook handles the authentication flow using JWT @@ -94,8 +100,8 @@ const useJwtAuth = ( /** * Handle sign-in success */ - const handleSignInSuccess = useCallback((userData: User, accessToken: string) => { - setSession(accessToken); + const handleSignInSuccess = useCallback((userData: User) => { + // setSession(accessToken); setIsAuthenticated(true); @@ -182,7 +188,7 @@ const useJwtAuth = ( const userData = response?.data; - handleSignInSuccess(userData, accessToken); + handleSignInSuccess(userData); return true; } catch (error) { @@ -215,10 +221,19 @@ const useJwtAuth = ( /** * Sign in */ - const signIn = async (credentials: SignInPayload) => { - const response = axios.post(authConfig.signInUrl, credentials); + const signIn = async (credentials: UserLogin) => { + // const response = axios.post(authConfig.signInUrl, credentials); + const {error, bodyOut} = await loginIn(credentials.email, credentials.password); - response.then( + if(error.codigo === '0'){ + const userData = bodyOut.data[0]; + + handleSignInSuccess(userData); + + } + + return bodyOut.data[0]; + /* response.then( (res: AxiosResponse<{ user: User; access_token: string }>) => { const userData = res?.data?.user; const accessToken = res?.data?.access_token; @@ -234,9 +249,9 @@ const useJwtAuth = ( return axiosError; } - ); + ); */ - return response; + // return response; }; /** diff --git a/src/app/configs/enviroment.ts b/src/app/configs/enviroment.ts new file mode 100644 index 0000000..56a2528 --- /dev/null +++ b/src/app/configs/enviroment.ts @@ -0,0 +1,49 @@ +/* eslint-disable @typescript-eslint/no-unsafe-assignment */ +/* eslint-disable @typescript-eslint/no-unsafe-call */ +import { v4 as uuidV4 } from 'uuid'; + +interface Header { + dispositivo: string; + canal: string | null; + medio: string | null; + aplicacion: string; + tipoTransaccion: string | null; + usuario: string | number; + uuid: string; + fechaHora: string | null; + idioma: string | null; + empresa: string | null; + geolocalizacion: string | null; +} + +interface User { + usercode: string | number; +} + +const user: User = JSON.parse(localStorage.getItem('user')); + +const headerIn: Header = { + dispositivo: 'WeLaptop', + canal: null, + medio: null, + aplicacion: 'SINCOARV2', + tipoTransaccion: null, + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment + usuario: user ? user.usercode : 'user', + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment + uuid: uuidV4(), + fechaHora: null, + idioma: null, + empresa: null, + geolocalizacion: null +}; + +const url = 'http://services.qsoftec.com:18080/inventario-rs-services-1.0-SNAPSHOT/servicios'; // test +// let url = 'https://tramitesarmas.ccffaa.mil.ec/sincoar/servicios' //produccion + +const config = { + api: url, + headerIn +}; + +export default config; \ No newline at end of file diff --git a/src/app/main/invoice/generateInvoice/components/dataClient/components/addClient/AddClient.tsx b/src/app/main/invoice/generateInvoice/components/dataClient/components/addClient/AddClient.tsx index baf6430..e32d2f0 100644 --- a/src/app/main/invoice/generateInvoice/components/dataClient/components/addClient/AddClient.tsx +++ b/src/app/main/invoice/generateInvoice/components/dataClient/components/addClient/AddClient.tsx @@ -1,58 +1,57 @@ -import { useFormik } from "formik"; -import { Client } from "../../DataClientInterfaz"; -import AddClientRender from "./AddClientRender"; -import * as Yup from "yup"; +import { useFormik } from 'formik'; +import * as Yup from 'yup'; +import { Client } from '../../DataClientInterfaz'; +import AddClientRender from './AddClientRender'; interface Props { - open: boolean; - setOpen: (open: boolean) => void; - handleSelectClient: (value: Client) => void; + open: boolean; + setOpen: (open: boolean) => void; + handleSelectClient: (value: Client) => void; } function AddClient({ open, setOpen, handleSelectClient }: Props) { - const formik = useFormik({ - initialValues: { - id: Math.floor(Math.random() * 100), - nombreComercial: "", - razonSocial: "", - identificacion: "", - direccion: "", - telefono: "", - correo: "", - }, - validationSchema: Yup.object({ - nombreComercial: Yup.string().required("El campo es Obligatorio"), - razonSocial: Yup.string().required("El campo es Obligatorio"), - identificacion: Yup.string().required("El campo es Obligatorio"), - direccion: Yup.string().required("El campo es Obligatorio"), - telefono: Yup.string().required("El campo es Obligatorio"), - correo: Yup.string().required("El campo es Obligatorio") - .email("Correo no valido"), - }), - onSubmit: (value) => { - handleSaveClient(value) - }, - }); + const formik = useFormik({ + initialValues: { + id: Math.floor(Math.random() * 100), + nombreComercial: '', + razonSocial: '', + identificacion: '', + direccion: '', + telefono: '', + correo: '' + }, + validationSchema: Yup.object({ + nombreComercial: Yup.string().required('El campo es Obligatorio'), + razonSocial: Yup.string().required('El campo es Obligatorio'), + identificacion: Yup.string().required('El campo es Obligatorio'), + direccion: Yup.string().required('El campo es Obligatorio'), + telefono: Yup.string().required('El campo es Obligatorio'), + correo: Yup.string().required('El campo es Obligatorio').email('Correo no valido') + }), + onSubmit: (value) => { + handleSaveClient(value); + } + }); - const handleOnChange = ({ target }) => { - const { name, value } = target; - formik.setFieldValue(name, value); - }; + const handleOnChange = (event: { target: HTMLInputElement }) => { + const { name, value } = event.target; + formik.setFieldValue(name, value); + }; - //TODO: Guardar cliente en la base de datos y seleccionar - const handleSaveClient = (value) => { - handleSelectClient(value) - formik.resetForm(); - setOpen(false); - } + // TODO: Guardar cliente en la base de datos y seleccionar + const handleSaveClient = (value: Client) => { + handleSelectClient(value); + formik.resetForm(); + setOpen(false); + }; - return ( - - ); + return ( + + ); } export default AddClient; diff --git a/src/app/main/invoice/generateInvoice/components/dataClient/components/addClient/AddClientRender.tsx b/src/app/main/invoice/generateInvoice/components/dataClient/components/addClient/AddClientRender.tsx index f695874..6373c26 100644 --- a/src/app/main/invoice/generateInvoice/components/dataClient/components/addClient/AddClientRender.tsx +++ b/src/app/main/invoice/generateInvoice/components/dataClient/components/addClient/AddClientRender.tsx @@ -1,181 +1,177 @@ -import { - DialogActions, - DialogContent, - DialogTitle, - Button, - Grid, - TextField, - Dialog, -} from "@mui/material"; -import { FormikProps } from "formik"; -import { Client } from "../../DataClientInterfaz"; +import { DialogActions, DialogContent, DialogTitle, Button, Grid, TextField, Dialog } from '@mui/material'; +import { FormikProps } from 'formik'; +import { Client } from '../../DataClientInterfaz'; interface Props { - open: boolean; - setOpen: (open: boolean) => void; - formik: FormikProps; - handleOnChange: (event) => void; + open: boolean; + setOpen: (open: boolean) => void; + formik: FormikProps; + handleOnChange: (event) => void; } function AddClientRender({ open, setOpen, formik, handleOnChange }: Props) { - return ( - - Agregar Cliente - - - - - - - - - - - - - - - - - - - - - - - - - - - - ); + return ( + + Agregar Cliente + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); } export default AddClientRender; diff --git a/src/app/main/invoice/generateInvoice/components/dataInvoice/DataInvoiceRender.tsx b/src/app/main/invoice/generateInvoice/components/dataInvoice/DataInvoiceRender.tsx index d90212a..1f2f440 100644 --- a/src/app/main/invoice/generateInvoice/components/dataInvoice/DataInvoiceRender.tsx +++ b/src/app/main/invoice/generateInvoice/components/dataInvoice/DataInvoiceRender.tsx @@ -63,13 +63,13 @@ function DataInvoiceRender({ handleAddItem, items }: Props) { md={2} > diff --git a/src/app/main/invoice/generateInvoice/components/dataInvoice/components/tableInvoice/TableInvoice.tsx b/src/app/main/invoice/generateInvoice/components/dataInvoice/components/tableInvoice/TableInvoice.tsx index f7e0390..c880aed 100644 --- a/src/app/main/invoice/generateInvoice/components/dataInvoice/components/tableInvoice/TableInvoice.tsx +++ b/src/app/main/invoice/generateInvoice/components/dataInvoice/components/tableInvoice/TableInvoice.tsx @@ -1,4 +1,3 @@ -import { Button } from '@mui/material'; import { Headers } from '../../DataInvoiceInterface'; import TableInvoiceRender from './TableInvoiceRender'; @@ -10,7 +9,7 @@ function TableInvoice() { { id: 4, name: 'Valor unitario', style: 130 }, { id: 5, name: 'Iva', style: 10 }, { id: 6, name: 'Total', style: 130 }, - { id: 7, name: 'Acción', style: 10 }, + { id: 7, name: 'Acción', style: 10 } ]; return ; } diff --git a/src/app/main/invoice/generateInvoice/components/dataInvoice/components/tableInvoice/TableInvoiceRender.tsx b/src/app/main/invoice/generateInvoice/components/dataInvoice/components/tableInvoice/TableInvoiceRender.tsx index 68fd7f6..b73fc08 100644 --- a/src/app/main/invoice/generateInvoice/components/dataInvoice/components/tableInvoice/TableInvoiceRender.tsx +++ b/src/app/main/invoice/generateInvoice/components/dataInvoice/components/tableInvoice/TableInvoiceRender.tsx @@ -38,6 +38,11 @@ function TableInvoiceRender({ headers }: Props) { ))} + {/* + + heroicons-outline:plus + + */} diff --git a/src/app/main/sign-in/SignInPage.tsx b/src/app/main/sign-in/SignInPage.tsx index fe96f03..7cc44d5 100644 --- a/src/app/main/sign-in/SignInPage.tsx +++ b/src/app/main/sign-in/SignInPage.tsx @@ -1,24 +1,9 @@ -import { Controller, useForm } from 'react-hook-form'; -import Button from '@mui/material/Button'; -import Checkbox from '@mui/material/Checkbox'; -import FormControl from '@mui/material/FormControl'; -import FormControlLabel from '@mui/material/FormControlLabel'; -import TextField from '@mui/material/TextField'; import Typography from '@mui/material/Typography'; import { Link } from 'react-router-dom'; -import _ from '@lodash'; import Paper from '@mui/material/Paper'; -import FuseSvgIcon from '@fuse/core/FuseSvgIcon'; -import AvatarGroup from '@mui/material/AvatarGroup'; -import Avatar from '@mui/material/Avatar'; import Box from '@mui/material/Box'; -import { z } from 'zod'; -import { zodResolver } from '@hookform/resolvers/zod'; -import Tabs from '@mui/material/Tabs'; -import Tab from '@mui/material/Tab'; import { useState } from 'react'; import JwtLoginTab from './tabs/JwtSignInTab'; -import FirebaseSignInTab from './tabs/FirebaseSignInTab'; /** * Form Validation Schema @@ -39,14 +24,9 @@ const tabs = [ } ]; - function SignInPage() { const [selectedTabId, setSelectedTabId] = useState(tabs[0].id); - function handleSelectTab(id: string) { - setSelectedTabId("jwt"); - } - return (
@@ -93,16 +73,17 @@ function SignInPage() { /> ))} */} - {selectedTabId === 'jwt' && } + {/* {selectedTabId === 'jwt' && } */} + {/* {selectedTabId === 'firebase' && } */} -
+ sx={{ backgroundColor: 'primary.main' }} + >
Soporte técnico: 0967722226
- - Chat WhatsApp + + Chat WhatsApp
Correo eletrónico: info@qsoftec.com
-
@@ -189,4 +176,4 @@ function SignInPage() { ); } -export default SignInPage; \ No newline at end of file +export default SignInPage; diff --git a/src/app/main/sign-in/tabs/JwtSignInTab.tsx b/src/app/main/sign-in/tabs/JwtSignInTab.tsx index bb83553..92ea2e4 100644 --- a/src/app/main/sign-in/tabs/JwtSignInTab.tsx +++ b/src/app/main/sign-in/tabs/JwtSignInTab.tsx @@ -3,7 +3,7 @@ import Button from '@mui/material/Button'; import { useEffect } from 'react'; import { Controller, useForm } from 'react-hook-form'; import _ from '@lodash'; -import { AxiosError } from 'axios'; +import axios, { AxiosError } from 'axios'; import FormControl from '@mui/material/FormControl'; import FormControlLabel from '@mui/material/FormControlLabel'; import Checkbox from '@mui/material/Checkbox'; @@ -16,7 +16,7 @@ import { zodResolver } from '@hookform/resolvers/zod'; * Form Validation Schema */ const schema = z.object({ - email: z.string().email('Debe ingresar un correo válido').nonempty('Debe ingresar un correo'), + email: z.string().nonempty('Debe ingresar un correo'), password: z .string() .min(4, 'La contraseña es muy corta, debe ingresar almenos 4 caracteres.') @@ -47,13 +47,57 @@ function jwtSignInTab() { const { isValid, dirtyFields, errors } = formState; useEffect(() => { - setValue('email', 'admin@qsoftec.com', { shouldDirty: true, shouldValidate: true }); - setValue('password', 'admin', { shouldDirty: true, shouldValidate: true }); + setValue('email', 'andres', { shouldDirty: true, shouldValidate: true }); + setValue('password', '1234567Aa', { shouldDirty: true, shouldValidate: true }); }, [setValue]); function onSubmit(formData: FormType) { const { email, password } = formData; + /* const data = JSON.stringify({ + headerIn: { + dispositivo: 'WeLaptop', + canal: null, + medio: null, + aplicacion: 'CardControlWeb', + tipoTransaccion: '0101001', + usuario: 'ADMIN', + uuid: '355b8668e50a06cf894e015c850d5bb9dc58a', + fechaHora: null, + idioma: null, + empresa: null, + geolocalizacion: '37.4215452, -122.0837541' + }, + bodyIn: { + entidad: 'Usuario', + tipoConsulta: 1, + parametros: { + user: 'Nick', + password: '21365' + } + } + }); + + const config = { + method: 'post', + maxBodyLength: Infinity, + url: 'http://services.qsoftec.com:18080/inventario-rs-services-1.0-SNAPSHOT/servicios/autenticacion', + headers: { + 'Content-Type': 'application/json' + }, + data + }; + + axios + .request(config) + .then((response) => { + console.log(response.headers) + //console.log(JSON.stringify(response.data)); + }) + .catch((error) => { + console.log(error); + }); + */ jwtService .signIn({ email, @@ -97,7 +141,7 @@ function jwtSignInTab() { className="mb-24" label="Correo electrónico" autoFocus - type="email" + // type="email" error={!!errors.email} helperText={errors?.email?.message} variant="outlined" diff --git a/src/app/main/sign-up/SignUpPage.tsx b/src/app/main/sign-up/SignUpPage.tsx index 0662fa6..0ab9d10 100644 --- a/src/app/main/sign-up/SignUpPage.tsx +++ b/src/app/main/sign-up/SignUpPage.tsx @@ -1,148 +1,134 @@ -import Typography from "@mui/material/Typography"; -import { Link } from "react-router-dom"; -import AvatarGroup from "@mui/material/AvatarGroup"; -import Avatar from "@mui/material/Avatar"; -import Box from "@mui/material/Box"; -import Paper from "@mui/material/Paper"; -import Tabs from "@mui/material/Tabs"; -import Tab from "@mui/material/Tab"; -import { useState } from "react"; -import _ from "../../../@lodash/@lodash"; -import JwtSignUpTab from "./tabs/JwSignUpTab"; -import FirebaseSignUpTab from "./tabs/FirebaseSignUpTab"; - -const tabs = [ - { - id: "jwt", - title: "JWT", - logo: "assets/images/logo/jwt.svg", - logoClass: "h-40 p-4 bg-black rounded-12", - }, - { - id: "firebase", - title: "Firebase", - logo: "assets/images/logo/firebase.svg", - logoClass: "h-40", - }, -]; +import Typography from '@mui/material/Typography'; +import { Link } from 'react-router-dom'; +import Box from '@mui/material/Box'; +import Paper from '@mui/material/Paper'; +import JwtSignUpTab from './tabs/JwSignUpTab'; +import FormRegister from './formRegister/FormRegister'; /** * The sign up page. */ function SignUpPage() { - const [selectedTabId, setSelectedTabId] = useState(tabs[0].id); + return ( +
+ +
+ logo - function handleSelectTab(id: string) { - setSelectedTabId(id); - } + + Registrarse + +
+ Ya tienes cuenta? + + Inicia sesión + +
+ + {/* */} +
+
- return ( -
- -
- logo + + + + + + + + + + + + + + - - Registrarse - -
- Ya tienes cuenta? - - Inicia sesión - -
- - -
- -
- - - - - - - - - - - - - - - - -
- logo -
-
- Bienvenido al sistema que se encarga de tu facturación - electrónica. -
-
-
-
¿Necesitas ayuda? Comunícate con nosotros.
-
-
-
Soporte técnico: 0967722226
- - Chat WhatsApp - -
-
-
Correo eletrónico: info@qsoftec.com
-
-
-
-
- ); +
+ logo +
+
Bienvenido al sistema que se encarga de tu facturación electrónica.
+
+
+
¿Necesitas ayuda? Comunícate con nosotros.
+
+
+
Soporte técnico: 0967722226
+ + Chat WhatsApp + +
+
+
Correo eletrónico: info@qsoftec.com
+
+
+ +
+ ); } export default SignUpPage; diff --git a/src/app/main/sign-up/formRegister/FormRegister.tsx b/src/app/main/sign-up/formRegister/FormRegister.tsx new file mode 100644 index 0000000..f133768 --- /dev/null +++ b/src/app/main/sign-up/formRegister/FormRegister.tsx @@ -0,0 +1,58 @@ +import { useFormik } from 'formik'; +import * as Yup from 'yup'; +import { registerUser } from 'src/app/services/user.service'; +import { SignUpPayload } from './interface'; +import FormRegisterRender from './FormRegisterRender'; + +function FormRegister() { + const formik = useFormik({ + initialValues: { + detCodigo: 0, + empCodContribuyente: '', + empContacto: '', + empDescripcion: '', + empDireccion: '', + empIdentificacion: '', + empLlevaContabilidad: '', + empMail: '', + empNombreComercial: '', + empRazonSocial: '', + password: '', + passwordConfirm: '', + usuNombre: '', + usuUsuario: '', + rolCodigo: 2 + }, + validationSchema: Yup.object({ + usuUsuario: Yup.string().required('Debe ingresar el usuario'), + usuNombre: Yup.string().required('Debe ingresar el nombre de usuario'), + detCodigo: Yup.number().test('len', 'Debe Seleccionar una opción', (val: number) => val !== 0), + empIdentificacion: Yup.string().required('Debe ingresar el número de identificación'), + empRazonSocial: Yup.string().required('Debe ingresar la razón social'), + empNombreComercial: Yup.string().required('Debe ingresar el nombre comercial'), + empContacto: Yup.string().required('Debe ingresar un contacto'), + empDireccion: Yup.string().required('Debe ingresar la dirección'), + empMail: Yup.string().email('Debe ingresar un correo válido').required('Debe ingresar un correo'), + empCodContribuyente: Yup.string().required('Debe ingresar el codigo'), + empDescripcion: Yup.string().required('Debe ingresar una descripción'), + empLlevaContabilidad: Yup.string().required('Debe seleccionar una opción'), + password: Yup.string() + .required('Por favor ingrese su contraseña.') + .min(4, 'La contraseña es muy corta, debe ingresar almenos 4 caracteres'), + passwordConfirm: Yup.string() + .oneOf([Yup.ref('password'), null], 'Las contraseñas no coinciden') + .required('Campo Obligatorio') + }), + onSubmit: (value) => { + console.log('first'); + console.log(value); + registerUser(value).then((response) => { + console.log(response); + }); + } + }); + + return ; +} + +export default FormRegister; diff --git a/src/app/main/sign-up/formRegister/FormRegisterRender.tsx b/src/app/main/sign-up/formRegister/FormRegisterRender.tsx new file mode 100644 index 0000000..76dbe24 --- /dev/null +++ b/src/app/main/sign-up/formRegister/FormRegisterRender.tsx @@ -0,0 +1,298 @@ +import { FormikProps } from 'formik'; +import { Button, MenuItem, TextField } from '@mui/material'; +import { SignUpPayload } from './interface'; + +interface Props { + formik: FormikProps; +} + +const tipoEmpresa = [ + { detCodigo: 1, detNombre: 'Publica' }, + { detCodigo: 3, detNombre: 'Privada' } +]; +function FormRegisterRender({ formik }: Props) { + return ( +
+ + + + + + + + + + + Seleccione.. + {tipoEmpresa.map((option) => ( + + {option.detNombre} + + ))} + + + + + + + + + + + + + + NO + SI + + + + + + + + + ); +} + +export default FormRegisterRender; diff --git a/src/app/main/sign-up/formRegister/interface.ts b/src/app/main/sign-up/formRegister/interface.ts new file mode 100644 index 0000000..f2d09a4 --- /dev/null +++ b/src/app/main/sign-up/formRegister/interface.ts @@ -0,0 +1,17 @@ +export interface SignUpPayload { + usuUsuario: string; + usuNombre: string; + detCodigo: number; + empIdentificacion: string; + empRazonSocial: string; + empNombreComercial: string; + empContacto: string; + empDireccion: string; + empMail: string; + empCodContribuyente: string | number; + empDescripcion: string; + empLlevaContabilidad: string | number; + password: string; + passwordConfirm: string; + rolCodigo: number; +} diff --git a/src/app/main/sign-up/tabs/JwSignUpTab.tsx b/src/app/main/sign-up/tabs/JwSignUpTab.tsx index 3c6f940..3078b11 100644 --- a/src/app/main/sign-up/tabs/JwSignUpTab.tsx +++ b/src/app/main/sign-up/tabs/JwSignUpTab.tsx @@ -1,28 +1,40 @@ import { Controller, useForm } from 'react-hook-form'; import TextField from '@mui/material/TextField'; -import FormControl from '@mui/material/FormControl'; -import FormControlLabel from '@mui/material/FormControlLabel'; -import Checkbox from '@mui/material/Checkbox'; -import FormHelperText from '@mui/material/FormHelperText'; import Button from '@mui/material/Button'; import _ from '@lodash'; import { zodResolver } from '@hookform/resolvers/zod'; import { z } from 'zod'; -import { SignUpPayload, useAuth } from '../../../auth/AuthRouteProvider'; +import { MenuItem } from '@mui/material'; +import { SignUpPayload } from '../../../auth/AuthRouteProvider'; /** * Form Validation Schema */ +const tipoEmpresa = [ + { detCodigo: 1, detNombre: 'Publica' }, + { detCodigo: 2, detNombre: 'Privada' } +]; + const schema = z .object({ - displayName: z.string().nonempty('Debe ingresar un nombre de usuario'), - email: z.string().email('Debe ingresar un correo válido').nonempty('Debe ingresar un correo'), + usuUsuario: z.string().nonempty('Debe ingresar el usuario'), + usuNombre: z.string().nonempty('Debe ingresar el nombre de usuario'), + detCodigo: z.number().refine((val) => val !== 0, 'Debe Seleccionar una opción'), + empIdentificacion: z.string().nonempty('Debe ingresar el número de identificación'), + empRazonSocial: z.string().nonempty('Debe ingresar la razón social'), + empNombreComercial: z.string().nonempty('Debe ingresar el nombre comercial'), + empContacto: z.string().nonempty('Debe ingresar un contacto'), + empDireccion: z.string().nonempty('Debe ingresar la dirección'), + empMail: z.string().email('Debe ingresar un correo válido').nonempty('Debe ingresar un correo'), + empCodContribuyente: z.string().nonempty('Debe ingresar el codigo'), + empDescripcion: z.string().nonempty('Debe ingresar una descripción'), + empLlevaContabilidad: z.string().nonempty('Debe seleccionar una opción'), password: z .string() .nonempty('Por favor ingrese su contraseña.') .min(4, 'La contraseña es muy corta, debe ingresar almenos 4 caracteres'), - passwordConfirm: z.string().nonempty('Debe ingresar su contraseña'), - acceptTermsConditions: z.boolean().refine((val) => val === true, 'Debe aceptar los términos y condiciones') + passwordConfirm: z.string().nonempty('Debe ingresar su contraseña') + // acceptTermsConditions: z.boolean().refine((val) => val === true, 'Debe aceptar los términos y condiciones') }) .refine((data) => data.password === data.passwordConfirm, { message: 'Contraseñas no coinciden', @@ -30,16 +42,24 @@ const schema = z }); const defaultValues = { - displayName: '', - email: '', + usuUsuario: '', + usuNombre: '', + detCodigo: 0, + empIdentificacion: '', + empRazonSocial: '', + empNombreComercial: '', + empContacto: '', + empDireccion: '', + empMail: '', + empCodContribuyente: '', + empDescripcion: '', + empLlevaContabilidad: '', password: '', - passwordConfirm: '', - acceptTermsConditions: false + passwordConfirm: '' + // acceptTermsConditions: false }; function JwtSignUpTab() { - const { jwtService } = useAuth(); - const { control, formState, handleSubmit, setError } = useForm({ mode: 'onChange', defaultValues, @@ -49,7 +69,8 @@ function JwtSignUpTab() { const { isValid, dirtyFields, errors } = formState; function onSubmit(formData: SignUpPayload) { - const { displayName, email, password } = formData; + console.log(formData); + /* const { displayName, email, password } = formData; jwtService .signUp({ displayName, @@ -63,28 +84,28 @@ function JwtSignUpTab() { _errors.forEach(({ message, type }) => { setError(type, { type: 'manual', message }); }); - }); + }); */ } return (
( ( + )} + /> + + ( + + )} + /> + + ( + + )} + /> + + ( + + Seleccione.. + {tipoEmpresa.map((option) => ( + + {option.detNombre} + + ))} + + )} + /> + + ( + + )} + /> + + ( + + )} + /> + + ( + + ( + + )} + /> + + ( + + )} + /> + + ( + + NO + SI + + )} + /> + ( - )} - /> - - ( - - )} - /> - - ( - ( - ( {errors?.acceptTermsConditions?.message} )} - /> + /> */}