"use client"; import Button from "@components/Button/Button"; import Textbox from "@components/Textbox/Textbox"; import TextPhone from "@components/TextPhone/TextPhone"; import { SignUpParams } from "@core/Models/User.model"; import { useState } from "react"; import Checkbox from "@mui/material/Checkbox"; import Link from "next/link"; import AnimatedContainer from "@components/AnimatedConainer/AnimatedContainer"; import { signUp } from "./Signup.Service"; import { useAlert } from "@core/Store/Alert.Store"; import { EVENT_TYPES, useEventHandlerStore, } from "@core/Store/EventHandler.Store"; import { useNavigation } from "@hooks/goto"; import { useConfirmStore } from "@core/Store/Confirm.Store"; import { validatePhone } from "@core/helpers/validatePhone"; export default function RegisterPage() { const alert = useAlert(); const confirm = useConfirmStore(); const eventHandler = useEventHandlerStore(); const { goTo } = useNavigation(); const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); const [firstName, setFirstName] = useState(""); const [lastName, setLastName] = useState(""); const [areaCode, setAreaCode] = useState(""); const [phone, setPhone] = useState(""); const [checkReadTerms, setCheckReadTerms] = useState(false); const registerUser = () => { const validationPhoneResult = validatePhone(areaCode, phone); if (!validationPhoneResult.isValid) { confirm.show( validationPhoneResult.message, () => {}, () => {} ); return; } const data: SignUpParams = { email: email, password: password, firstName: firstName, lastName: lastName, phoneAreaCode: areaCode, phoneNumber: phone, }; if (!checkReadTerms) { confirm.show( "Para registrarte debes aceptar los términos y condiciones y las politicas de privacidad", () => {}, () => {} ); return; } eventHandler.setEventType(EVENT_TYPES.LOADING); signUp(data) .then(() => { alert.showSuccess( "Registro exitoso. Hemos enviado un correo electronico para activar tu cuenta." ); setTimeout(() => { goTo("/landing/login/verification"); }, 2000); }) .catch((error) => { alert.showError(error.format()); eventHandler.setEventType(EVENT_TYPES.SLEEP); }); }; return ( <>

Registrate Gratis

{ setEmail(e.target.value); }} /> { setPassword(e.target.value); }} /> { setFirstName(e.target.value); }} /> { setLastName(e.target.value); }} /> ) => { setAreaCode(e.target.value); }} onChangePhone={( e: React.ChangeEvent ) => { setPhone(e.target.value); }} />
setCheckReadTerms(!checkReadTerms) } />
Declaro que acepto los siguientes  Términos y condiciones {" "} y{" "} Políticas de privacidad
); }