import React, {useState, useEffect} from 'react' import { Link, useParams, useNavigate } from "react-router-dom"; import { useDispatch } from "react-redux"; import { updateUserDetails } from "../../../store/UserDetails"; import usersService from "../../../services/UsersService"; import PromoPageLayout from '../PromoPageLayout' import InputCom from "../../Helpers/Inputs/InputCom"; import WrenchBoard from "../../../assets/images/wrenchboard-logo-text.png"; import LoadingSpinner from '../../../components/Spinners/LoadingSpinner' import GoogleDownload from '../../../assets/images/download/andriod.jpg' import IOSDownload from '../../../assets/images/download/apple.jpg' export default function Promo() { const api = new usersService() const {name, id} = useParams() // PARAMETERS COMING FROM THE LINK // console.log(name, id) const navigate = useNavigate() const dispatch = useDispatch(); const [requestStatus, setRequestStatus] = useState({loading:true, data:{}}) const [completeSignUp, setCompleteSignUp] = useState({loading:false, status:false, message: ''}); const [showPassword, setShowPassword] = useState(false); const [password, setPassword] = useState(""); const handlePassword = (e) => { setPassword(e.target.value); }; // To Show and Hide Password const togglePasswordVisibility = () => { setShowPassword(!showPassword); }; const handleContinue = () => { let reqData = { // API REQUEST DATA/PAYLOAD username: requestStatus?.data?.email, promo: name, promo_owner: id, password: password, sessionid: '24271A99426' } setCompleteSignUp({loading:true, status:false, message: ''}) if(!password){ // CHECKS FOR EMPTY PASSWORD setCompleteSignUp({loading:false, status:false, message: 'Please Enter Password'}) return setTimeout(()=>{ setCompleteSignUp({loading:false, status:false, message: ''}) },2000) } api.loginPromo(reqData).then(res => { //loginPromo console.log('RES', res) if(res.data?.internal_return < 0 || !res?.data?.member_id || !res?.data?.uid || !res?.data?.session || res?.data?.status_message == 'VALID_LINK_NOT_FOUND'){ setCompleteSignUp({loading:false, status:false, message: 'Unable to login'}) return setTimeout(()=>{ setCompleteSignUp({loading:false, status:false, message: ''}) },4000) } // Do LOGIN HERE localStorage.setItem("member_id", `${res.data.member_id}`); localStorage.setItem("uid", `${res.data.uid}`); localStorage.setItem("session_token", `${res.data.session}`); localStorage.setItem("wallet_available_status", `${res.data.wallet_available_status}`); if (res.data?.account_type == "FAMILY") { sessionStorage.setItem("family_uid", res.data?.family_uid); sessionStorage.setItem("parent_uid", res.data?.parent_uid); } dispatch(updateUserDetails({ ...res.data })); setTimeout(() => { navigate("/", { replace: true }); setCompleteSignUp({loading:false, status:true, message: ''}) }, 2000); }).catch(err => { setCompleteSignUp({loading:false, status:false, message: 'Opps! try again'}) setTimeout(()=>{ setCompleteSignUp({loading:false, status:false, message: ''}) },4000) }) } useEffect(()=>{ let reqData = { // API REQUEST DATA/PAYLOAD promo: name, promo_owner: id, sessionid: '79970A12501' } api.verifyPromo(reqData).then(res => { if(res?.data?.internal_return < 0 || !res?.data?.email || res?.data?.status_message != 'VALID_LINK_FOUND'){ return setRequestStatus({loading:false, data:{}}) } setRequestStatus({loading:false, data:res?.data}) }).catch(err => { setRequestStatus({loading:false, data:{}}) }) },[]) return (
wrenchboard
{requestStatus.loading ?

Loading...

please do not refresh

: Object.keys(requestStatus.data).length > 0 ?
{completeSignUp.message && (
{completeSignUp.message}
)}
{/* APP DOWNLOAD STORE */}
: navigate("/login")} /> }
) } const ErrorComponent = ({ onClick }) => (

This error occurs because you have already verified this link or the link has expired. Try login or reset password. If none worked, try to create the account from the start.

);