import React from "react"; import * as Yup from "yup"; import { Formik, Form } from "formik"; import FormField from "../../globals/FormField"; import useFetch from "../../../hooks/useFetch"; import { useDispatch } from "react-redux"; import { authActions } from "../../../store/authSlice"; import Spinner from "../../globals/Spinner"; import useChatBot from "../../../hooks/useChatBot"; const schema = Yup.object().shape({ name: Yup.string() .min(1, "Too short") .max(50, "Too long") .required("Field is required"), username: Yup.string() .min(1, "Too short") .max(50, "Too long") .required("Field is required"), password: Yup.string().required("Field is required"), confirmPassword: Yup.string() .required("Field is required") .oneOf([Yup.ref("password"), null], "Passwords must match"), }); function Register({ setUserWantsToLogin }) { const dispatch = useDispatch(); // Add bot as contact const { reqFn: addBotAsContact, reqState: addBotState } = useFetch( { url: "/contacts", method: "POST" }, (data) => { dispatch( authActions.setUserIsNew({ isNew: true, payload: { chatRoomId: data.data.contact.chatRoomId }, }) ); dispatch(authActions.login()); } ); // Register user const { reqFn, reqState } = useFetch( { url: "/user/register", method: "POST" }, () => { addBotAsContact({ name: process.env.REACT_APP_BOT_NAME, username: process.env.REACT_APP_BOT_USERNAME, }); } ); return (

Join Telegram

{({ errors, values }) => (
)}
setUserWantsToLogin(true)} className="mt-[2rem] text-right text-secondary-text underline cursor-pointer hover:text-cta-icon" > Already on Telegram
); } export default Register;