diff --git a/src/Routers.jsx b/src/Routers.jsx index a19959c..14bcbd8 100644 --- a/src/Routers.jsx +++ b/src/Routers.jsx @@ -22,7 +22,7 @@ import UpdatePasswordPages from "./views/UpdatePasswordPages"; import UploadProductPage from "./views/UploadProductPage"; import UserProfilePage from "./views/UserProfilePage"; import VerifyYouPages from "./views/VerifyYouPages"; - +import VerifyLinkPages from "./views/VerifyLinkPages"; import RemindersPage from './views/RemindersPage'; import TrackingPage from "./views/TrackingPage"; import CalendarPage from "./views/CalendarPage"; @@ -49,6 +49,8 @@ export default function Routers() { element={} /> } /> + } /> + } /> {/* private route */} }> diff --git a/src/components/AuthPages/Login/index.jsx b/src/components/AuthPages/Login/index.jsx index 71f8c34..98d90f7 100644 --- a/src/components/AuthPages/Login/index.jsx +++ b/src/components/AuthPages/Login/index.jsx @@ -97,7 +97,7 @@ export default function Login() { wrenchboard -
+

{ const res = await userApi.getSignupCountryData() @@ -63,6 +63,7 @@ export default function SignUp() { try { if (email !== '' && password !== '' && first_name !== '' && last_name !== '') { + setSignUpLoading(true) const reqData = { country: country, firstname: first_name, @@ -75,7 +76,6 @@ export default function SignUp() { } const res = await userApi.CreateUser(reqData) - setSignUpLoading(true) if (res.status === 200) { const { data } = res @@ -83,24 +83,19 @@ export default function SignUp() { setMsgError('This account has been already created') setSignUpLoading(false) } - if (data.status > 0 && data.internal_return == 100 && data.session != '') { - localStorage.setItem("email", `${data.email}`); - localStorage.setItem("country", `${data.country}`); - localStorage.setItem("firstname", `${data.firstname}`); - localStorage.setItem("lastname", `${data.lastname}`); - + if (data && data.status == 1) { setTimeout(() => { - navigate("/", { replace: true }); + navigate("/verify-you", { replace: true }); setSignUpLoading(false) }, 2000) } else { - setMsgError(data.status) setSignUpLoading(false) + } + } else { + setMsgError('This account does not exist') + setSignUpLoading(false) } - } else { - setMsgError('This account does not exist') - setSignUpLoading(false) } } catch (error) { throw new Error(error) @@ -244,8 +239,7 @@ export default function SignUp() { +

+
+) + +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. +

+
+ +
+ +
+
+) \ No newline at end of file diff --git a/src/components/AuthPages/VerifyYou/index.jsx b/src/components/AuthPages/VerifyYou/index.jsx index 66607f0..1edb40e 100644 --- a/src/components/AuthPages/VerifyYou/index.jsx +++ b/src/components/AuthPages/VerifyYou/index.jsx @@ -1,7 +1,5 @@ -import React from "react"; -import titleShape from "../../../assets/images/shape/text-shape-three.svg"; import AuthLayout from "../AuthLayout"; -import Otp from "./Otp"; +import InputCom from "../../Helpers/Inputs/InputCom"; export default function VerifyYou() { return ( @@ -9,32 +7,24 @@ export default function VerifyYou() { -
-
-
-

- Verification Code +
+
+
+

+ Verification Sent

-
- shape -
- -
- - Continue - +
+

+ To complete the verification process, you should check your email inbox and look for the verification email. It may take a few minutes for the email to arrive, so be patient. Once you receive the email, open it and click on the verification link provided. +

-
-

- Dont’t have an aceount ? - - Please resend - +

+

+ If you haven't received the verification email after a reasonable amount of time, make sure to check your spam or junk mail folder. It's also possible that the email was sent to the wrong email address, so double-check that you entered your email address correctly.

diff --git a/src/components/Helpers/Inputs/InputCom/index.jsx b/src/components/Helpers/Inputs/InputCom/index.jsx index 9dd8efc..4f22844 100644 --- a/src/components/Helpers/Inputs/InputCom/index.jsx +++ b/src/components/Helpers/Inputs/InputCom/index.jsx @@ -1,4 +1,4 @@ -import React from "react"; +import React, { useRef } from "react"; import Icons from "../../Icons"; import { Link } from "react-router-dom"; @@ -16,18 +16,67 @@ export default function InputCom({ disable, blurHandler, }) { + const inputRef = useRef(null) + // Entry Validation + // for Min Length: + const minLengthValidation = () => { + if (inputRef && inputRef?.current && inputRef?.current?.name == 'email') { + return 7 + } else if (inputRef && inputRef?.current && inputRef?.current?.name == 'first_name') { + return 3 + } else if (inputRef && inputRef?.current && inputRef?.current?.name == 'last_name') { + return 3 + } else if (inputRef && inputRef?.current && inputRef?.current?.name == 'address') { + return 5 + } else if (inputRef && inputRef?.current && inputRef?.current?.name == 'password') { + return 8 + } else if (inputRef && inputRef?.current && inputRef?.current?.name == 'state') { + return 3 + } else if (inputRef && inputRef?.current && inputRef?.current?.name == 'province') { + return 3 + } else if (inputRef && inputRef?.current && inputRef?.current?.name == 'city') { + return 3 + } else if (inputRef && inputRef?.current && inputRef?.current?.name == 'amount') { + return 1 + } + } + + // for MaxLength + const maxLengthValidation = () => { + if (inputRef && inputRef?.current && inputRef?.current?.name == 'email') { + return 35 + } else if (inputRef && inputRef?.current && inputRef?.current?.name == 'first_name') { + return 25 + } else if (inputRef && inputRef?.current && inputRef?.current?.name == 'last_name') { + return 25 + } else if (inputRef && inputRef?.current && inputRef?.current?.name == 'address') { + return 49 + } else if (inputRef && inputRef?.current && inputRef?.current?.name == 'password') { + return 15 + } else if (inputRef && inputRef?.current && inputRef?.current?.name == 'state') { + return 25 + } else if (inputRef && inputRef?.current && inputRef?.current?.name == 'province') { + return 25 + } else if (inputRef && inputRef?.current && inputRef?.current?.name == 'city') { + return 25 + } else if (inputRef && inputRef?.current && inputRef?.current?.name == 'amount') { + return 9 + } + } + + console.log(inputRef.current?.name, inputRef.current?.minLength) return (
- {label && ( - - )} - {forgotPassword && Forgot Password?} + {label && ( + + )} + {forgotPassword && Forgot Password?}
{iconName && ( diff --git a/src/services/UsersService.js b/src/services/UsersService.js index a1fb93f..28d64c6 100644 --- a/src/services/UsersService.js +++ b/src/services/UsersService.js @@ -6,12 +6,12 @@ class usersService { console.log("WRB Service Entry"); } - CreateUser(reqData){ + CreateUser(reqData) { localStorage.setItem("session_token", ``); return this.postAuxEnd("/createuser", reqData); } - getHomeDate(){ + getHomeDate() { var postData = { uuid: localStorage.getItem("uuid"), member_id: localStorage.getItem("member_id"), @@ -31,8 +31,8 @@ class usersService { }; return this.postAuxEnd("/getjobsdata", postData); } -// - getUserBankList(reqData){ + // + getUserBankList(reqData) { var postData = { uuid: localStorage.getItem("uuid"), member_id: localStorage.getItem("member_id"), @@ -40,7 +40,7 @@ class usersService { }; return this.postAuxEnd("/mybanklist", postData); } - getUserWallets(reqData){ + getUserWallets(reqData) { var postData = { uuid: localStorage.getItem("uuid"), member_id: localStorage.getItem("member_id"), @@ -48,50 +48,51 @@ class usersService { }; return this.postAuxEnd("/getwallets", postData); } - getApiGate(){ + getApiGate() { // localStorage.setItem("session_token", ``); return this.postAuxEnd("/apigate", null); } - getLoadProfile(){ + getLoadProfile() { var postData = { uuid: localStorage.getItem("uid"), member_id: localStorage.getItem("member_id"), sessionid: localStorage.getItem("session_token"), - page:0, - limit :100 + page: 0, + limit: 100 }; return this.postAuxEnd("/loadprofile", null); } - getOffersList(){ + getOffersList() { var postData = { uuid: localStorage.getItem("uid"), member_id: localStorage.getItem("member_id"), sessionid: localStorage.getItem("session_token"), - page:0, - limit :100 + page: 0, + limit: 100 }; return this.postAuxEnd("/offerslist", null); } - getPendingJob(){ - var postData = { - uuid: localStorage.getItem("uid"), - member_id: localStorage.getItem("member_id"), - sessionid: localStorage.getItem("session_token"), - page:0, - limit :100}; - return this.postAuxEnd("/pendingjob", postData); - } - - getActiveJobList(){ + getPendingJob() { var postData = { uuid: localStorage.getItem("uid"), member_id: localStorage.getItem("member_id"), sessionid: localStorage.getItem("session_token"), - page:0, - limit :100 + page: 0, + limit: 100 + }; + return this.postAuxEnd("/pendingjob", postData); + } + + getActiveJobList() { + var postData = { + uuid: localStorage.getItem("uid"), + member_id: localStorage.getItem("member_id"), + sessionid: localStorage.getItem("session_token"), + page: 0, + limit: 100 }; return this.postAuxEnd("/getjobsdata", postData); } @@ -112,60 +113,60 @@ class usersService { uuid: localStorage.getItem("uid"), member_id: localStorage.getItem("member_id"), sessionid: localStorage.getItem("session_token"), - page:0, - limit :100 + page: 0, + limit: 100 }; return this.postAuxEnd("/myjobs", postData); } - getGetPendingJobs(){ + getGetPendingJobs() { var postData = { uuid: localStorage.getItem("uid"), member_id: localStorage.getItem("member_id"), sessionid: localStorage.getItem("session_token"), - page:0, - limit :100 + page: 0, + limit: 100 }; return this.postAuxEnd("/getpendingjobs", postData); } - getUsersCards(){ - var postData = { - uuid: localStorage.getItem("uid"), + getUsersCards() { + var postData = { + uuid: localStorage.getItem("uid"), member_id: localStorage.getItem("member_id"), sessionid: localStorage.getItem("session_token"), - page:0, - limit :100 - }; + page: 0, + limit: 100 + }; return this.postAuxEnd("/userscards", postData); } - getCouponPending(){ - var postData = { - uuid: localStorage.getItem("uid"), - member_id: localStorage.getItem("member_id"), - sessionid: localStorage.getItem("session_token"), - page:0, - limit :100 - }; + getCouponPending() { + var postData = { + uuid: localStorage.getItem("uid"), + member_id: localStorage.getItem("member_id"), + sessionid: localStorage.getItem("session_token"), + page: 0, + limit: 100 + }; return this.postAuxEnd("/couponpending", postData); } // API FUNCTION TO GET COUPON HISTORY - getRecipient(){ + getRecipient() { var postData = { uid: localStorage.getItem("uid"), member_id: localStorage.getItem("member_id"), sessionid: localStorage.getItem("session_token"), - page:1, - limit :20, + page: 1, + limit: 20, action: 11175 }; return this.postAuxEnd("/recipients", postData); } // API FUNCTION TO GET SEND MONEY FEE - getSendMoneyFee(amount){ + getSendMoneyFee(amount) { var postData = { uid: localStorage.getItem("uid"), member_id: localStorage.getItem("member_id"), @@ -177,95 +178,95 @@ class usersService { } // API FUNCTION TO GET COUPON HISTORY - getCouponHx(){ + getCouponHx() { var postData = { uid: localStorage.getItem("uid"), member_id: localStorage.getItem("member_id"), sessionid: localStorage.getItem("session_token"), - page:1, - limit :20, + page: 1, + limit: 20, action: 85025 }; return this.postAuxEnd("/couponhx", postData); } - getPurchaseHx(){ + getPurchaseHx() { var postData = { uid: localStorage.getItem("uid"), member_id: localStorage.getItem("member_id"), sessionid: localStorage.getItem("session_token"), - page:1, - limit :20, + page: 1, + limit: 20, action: 15049 }; return this.postAuxEnd("/purchasehx", postData); } // API FUNCTION TO GET PAYMENT HISTORY - getPaymentHx(){ + getPaymentHx() { var postData = { uid: localStorage.getItem("uid"), member_id: localStorage.getItem("member_id"), sessionid: localStorage.getItem("session_token"), - page:1, - limit :20, + page: 1, + limit: 20, action: 15046 }; return this.postAuxEnd("/paymenthx", postData); } - + //END POINT CALL FOR REFERRAL HISTORY - getReferralHx(){ + getReferralHx() { var postData = { - uid: localStorage.getItem("uid"), - member_id: localStorage.getItem("member_id"), - sessionid: localStorage.getItem("session_token"), - offset: 1, - limit :100, - action: 11064 + uid: localStorage.getItem("uid"), + member_id: localStorage.getItem("member_id"), + sessionid: localStorage.getItem("session_token"), + offset: 1, + limit: 100, + action: 11064 }; return this.postAuxEnd("/refferhx", postData); } //END POINT CALL FOR UPDATE PROFILE - updateProfile(post){ + updateProfile(post) { var postData = { - uid: localStorage.getItem("uid"), - member_id: localStorage.getItem("member_id"), - sessionid: localStorage.getItem("session_token"), - action: 5031, - ...post + uid: localStorage.getItem("uid"), + member_id: localStorage.getItem("member_id"), + sessionid: localStorage.getItem("session_token"), + action: 5031, + ...post }; return this.postAuxEnd("/updateprofile", postData); } //END POINT CALL FOR GETTING USER PROFILE - loadProfile(post){ + loadProfile(post) { var postData = { - uid: localStorage.getItem("uid"), - member_id: localStorage.getItem("member_id"), - sessionid: localStorage.getItem("session_token"), + uid: localStorage.getItem("uid"), + member_id: localStorage.getItem("member_id"), + sessionid: localStorage.getItem("session_token"), }; return this.postAuxEnd("/loadprofile", postData); } //END POINT CALL FOR SENDING REFERRAL MESSAGE - sendReferralMsg(postData){ + sendReferralMsg(postData) { return this.postAuxEnd("/sendreferral", postData); } - StartResetPassword(reqData){ + StartResetPassword(reqData) { return this.postAuxEnd("/startresetpasword", reqData) } - getCouponRedeem(){ - var postData = { - uuid: localStorage.getItem("uid"), - member_id: localStorage.getItem("member_id"), - sessionid: localStorage.getItem("session_token"), - page:0, - limit :100 - }; + getCouponRedeem() { + var postData = { + uuid: localStorage.getItem("uid"), + member_id: localStorage.getItem("member_id"), + sessionid: localStorage.getItem("session_token"), + page: 0, + limit: 100 + }; return this.postAuxEnd("/couponredeem", postData); } @@ -344,9 +345,17 @@ class usersService { */ - getUserReminders(){ + getUserReminders() { return this.getAuxEnd("/reminders", null); } + + verifyEmail(code) { + const reqData = { + verify_link: code, + action: 11015 + } + return this.postAuxEnd("/verifysignuplink", reqData); + } //---------------------------------------- ----- //---------------------------------------- ----- // Unified call below @@ -362,10 +371,11 @@ class usersService { } }; const endPoint = process.env.REACT_APP_USERS_ENDPOINT + uri; - return Axios.get(endPoint,{ + return Axios.get(endPoint, { params: { reqData - }}) + } + }) .then((response) => { console.log("~~~~~~~ Toks2 GET ~~~~~~~~"); return response; @@ -388,22 +398,22 @@ class usersService { postAuxEnd(uri, reqData) { const endPoint = process.env.REACT_APP_USERS_ENDPOINT + uri; const session_token = localStorage.getItem("session_token"); - // session_token = session_token !=null ?session_token : ''; + // session_token = session_token !=null ?session_token : ''; // 'Authorization': `Basic ${(session_token !=null) ?session_token : ''}`, let axiosConfig = { headers: { 'Accept': 'application/json', 'Access-Control-Allow-Origin': '*', 'Access-Control-Expose-Headers': 'Access-Control-Allow-Origin', - 'Access-Control-Allow-Headers':'Origin, X-API-KEY, X-Requested-With, Content-Type, Accept, Access-Control-Request-Method, Access-Control-Allow-Headers, Authorization, observe, enctype, Content-Length, X-Csrf-Token', + 'Access-Control-Allow-Headers': 'Origin, X-API-KEY, X-Requested-With, Content-Type, Accept, Access-Control-Request-Method, Access-Control-Allow-Headers, Authorization, observe, enctype, Content-Length, X-Csrf-Token', 'Content-Type': 'application/json;charset=UTF-8', } }; // Axios.defaults.headers.post['Content-Type'] ='application/json;charset=utf-8'; - // Axios.defaults.headers.post['Access-Control-Allow-Origin'] = '*'; //,axiosConfig - // Axios.defaults.withCredentials = true; -//debugger; + // Axios.defaults.headers.post['Access-Control-Allow-Origin'] = '*'; //,axiosConfig + // Axios.defaults.withCredentials = true; + //debugger; return Axios.post(endPoint, reqData) .then((response) => { console.log(response); diff --git a/src/views/SignupPage.jsx b/src/views/SignupPage.jsx index a58fbdd..102f0fa 100644 --- a/src/views/SignupPage.jsx +++ b/src/views/SignupPage.jsx @@ -2,6 +2,7 @@ import React from "react"; import SignUp from "../components/AuthPages/SignUp"; function SignupPage() { + return ( <> diff --git a/src/views/VerifyLinkPages.jsx b/src/views/VerifyLinkPages.jsx new file mode 100644 index 0000000..14b1a6e --- /dev/null +++ b/src/views/VerifyLinkPages.jsx @@ -0,0 +1,7 @@ +import React from "react"; +import VerifyLink from "../components/AuthPages/VerifyLink"; + +export default function VerifyYouPages() { + + return ; +}