import React, { useCallback, useEffect, useState } from "react"; import { Link, useNavigate } from "react-router-dom"; import facebookLogo from "../../../assets/images/facebook-4.svg"; import WrenchBoard from "../../../assets/images/wrenchboard.png"; import usersService from "../../../services/UsersService"; import InputCom from "../../Helpers/Inputs/InputCom"; export default function SignUp() { const [signUpLoading, setSignUpLoading] = useState(false); const [checked, setValue] = useState(false); // for the catch error const [msgError, setMsgError] = useState(""); const [showPassword, setShowPassword] = useState(false); const [countries, setCountries] = useState([]); const [formData, setFormData] = useState({ country: "", first_name: "", last_name: "", email: "", password: "", }); const handleInputChange = (event) => { const { name, value } = event?.target; setFormData({ ...formData, [name]: value }); }; // To Show and Hide Password const togglePasswordVisibility = () => { setShowPassword(!showPassword); }; const rememberMe = () => { setValue(!checked); }; const navigate = useNavigate(); const userApi = new usersService(); // Get Country Api const getCountryList = useCallback(async () => { const res = await userApi.getSignupCountryData(); try { if (res.status === 200) { const { signup_country } = await res.data; setCountries(signup_country); } else if (res.data.result !== 100) { setCountries("Nothing see here!"); } } catch (error) { throw new Error(error); } }, []); const handleSignUp = async () => { let { country, first_name, last_name, email, password } = formData; try { if ( email !== "" && password !== "" && first_name !== "" && last_name !== "" && country !== "" ) { setSignUpLoading(true); const reqData = { country: country, firstname: first_name, lastname: last_name, email: email, username: email, password: password, terms: 1, news: 1, }; const res = await userApi.CreateUser(reqData); if (res.status === 200) { const { data } = res; if (data.status === -1 && data.acc === "DULPICATE") { setMsgError("This account has been already created"); setSignUpLoading(false); } if (data && data.status === "1") { setTimeout(() => { navigate("/outmessage", { replace: true }); setSignUpLoading(false); }, 2000); } } else { setSignUpLoading(false); setMsgError("An error occurred"); } } else { setMsgError("Please fill in fields"); } } catch (error) { throw new Error(error); } finally { setTimeout(() => { setMsgError(null); }, process.env.REACT_APP_SIGNUP_ERROR_TIMEOUT); } }; useEffect(() => { getCountryList(); }); return ( <>
wrenchboard

Create Account

Already have an account?{" "} Sign in here
OR
{msgError && (
{msgError}
)}
I agree with all terms and condition
About Services Contact Us

© 2023 -{" "} WrenchBoard {" "}

); } const SelectOption = ({ label, name, inputHandler, value, data, // passing the data from parent }) => { return (
); };