This commit is contained in:
2023-06-26 17:48:00 +01:00
parent 1a15410e4c
commit 16fd35df83
3 changed files with 128 additions and 112 deletions
+54 -49
View File
@@ -14,8 +14,14 @@ const validationSchema = Yup.object().shape({
.max(25, "Maximum 25 characters") .max(25, "Maximum 25 characters")
.required("Country is required"), .required("Country is required"),
price: Yup.number() price: Yup.number()
.typeError("you must specify a number") .typeError("Invalid number")
.min(1, "Price must be greater than 0") .min(1, "Price must be greater than 0")
.test("no-e", "Invalid number", (value) => {
if (value && /\d+e/.test(value)) {
return false;
}
return true;
})
.required("Price is required"), .required("Price is required"),
title: Yup.string() title: Yup.string()
.min(3, "Minimum 3 characters") .min(3, "Minimum 3 characters")
@@ -42,15 +48,16 @@ function AddJob({ popUpHandler, categories }) {
let { userDetails } = useSelector((state) => state.userDetails); let { userDetails } = useSelector((state) => state.userDetails);
let [country, setCountry] = useState({ const [numberValue, setNumberValue] = useState("");
let [currency, setCurrency] = useState({
loading: true, loading: true,
status: false, status: false,
data: [], data: null,
}); // To Hold the array of country getUserCountry returns }); // To Hold the array of currency getUserCurrency returns
let initialValues = { let initialValues = {
// initial values for formik // initial values for formik
country: userDetails.country, currency: "",
price: "", price: "",
title: "", title: "",
description: "", description: "",
@@ -65,25 +72,7 @@ function AddJob({ popUpHandler, categories }) {
message: "", message: "",
}); // Holds state when submit button is pressed }); // Holds state when submit button is pressed
// FUNCTION TO GET COUNTRY // FUNCTION TO GET Currency
const getUserCountry = () => {
setCountry((prev) => ({ ...prev, loading: true }));
ApiCall.getSignupCountryData()
.then((res) => {
if (res.data.internal_return < 1) {
setCountry({ loading: false, status: true, data: [] });
return;
}
setCountry({
loading: false,
status: true,
data: res.data.signup_country,
});
})
.catch((err) => {
setCountry({ loading: false, status: false, data: [] });
});
};
// FUNCTION TO HANDLE ADD JOB FORM // FUNCTION TO HANDLE ADD JOB FORM
const handleAddJob = (values, helpers) => { const handleAddJob = (values, helpers) => {
@@ -113,7 +102,7 @@ function AddJob({ popUpHandler, categories }) {
setRequestStatus({ setRequestStatus({
loading: false, loading: false,
status: false, status: false,
message: "Opps! soemthing went wrong. Try Again", message: "Opps! something went wrong. Try Again",
}); });
}) })
.finally(() => { .finally(() => {
@@ -124,9 +113,31 @@ function AddJob({ popUpHandler, categories }) {
}; };
useEffect(() => { useEffect(() => {
getUserCountry(); const getUserCurrency = () => {
setCurrency((prev) => ({ ...prev, loading: true }));
ApiCall.getUserWallets()
.then((res) => {
if (res.data.internal_return < 0) {
setCurrency({ loading: false, status: true, data: [] });
return;
}
console.log("Res for currency >> ", res);
setCurrency({
loading: false,
status: true,
data: res.data.result_list,
});
})
.catch((err) => {
setCurrency({ loading: false, status: false, data: [] });
});
};
getUserCurrency();
}, []); }, []);
console.log("Currency >> ", currency.data);
return ( return (
<div className="add-job p-5 w-full bg-white rounded-md flex flex-col justify-between"> <div className="add-job p-5 w-full bg-white rounded-md flex flex-col justify-between">
<Formik <Formik
@@ -140,46 +151,40 @@ function AddJob({ popUpHandler, categories }) {
<div className="flex flex-col-reverse sm:flex-row"> <div className="flex flex-col-reverse sm:flex-row">
<div className="fields w-full"> <div className="fields w-full">
{/* inputs starts here */} {/* inputs starts here */}
{/* country */}
<div className="xl:flex xl:space-x-7 mb-[5px]"> <div className="xl:flex xl:space-x-7 mb-[5px]">
<div className="field w-full mb-6 xl:mb-0"> <div className="field w-full mb-6 xl:mb-0">
<label <label
htmlFor="country" htmlFor="currency"
className="input-label text-[#181c32] dark:text-white text-[13.975px] leading-[20.9625px] font-semibold block" className="input-label text-[#181c32] dark:text-white text-[13.975px] leading-[20.9625px] font-semibold block"
> >
Country Currency
</label> </label>
<select <select
id="country" id="currency"
name="country" name="currency"
disabled value={props.values.currency}
value={props.values.country}
className={`input-field p-2 mt-3 rounded-md placeholder:text-base text-dark-gray dark:text-white w-full h-10 bg-slate-100 dark:bg-[#11131F] focus:ring-0 focus:outline-none`} className={`input-field p-2 mt-3 rounded-md placeholder:text-base text-dark-gray dark:text-white w-full h-10 bg-slate-100 dark:bg-[#11131F] focus:ring-0 focus:outline-none`}
onChange={props.handleChange} onChange={props.handleChange}
onBlur={props.handleBlur} onBlur={props.handleBlur}
> >
{country.loading ? ( {currency.loading ? (
<option className="text-slate-500 text-lg" value=""> <option className="text-slate-500 text-lg" value="">
Loading... Loading...
</option> </option>
) : country.data.length ? ( ) : currency.data.length ? (
<> <>
<option className="text-slate-500 text-lg" value=""> <option className="text-slate-500 text-lg" value="">
Select... Select a currency
</option> </option>
{country.data.map((item, index) => { {currency.data?.map((item, index) => (
if (item[0] == userDetails.country) { <option
return ( key={index}
<option className="text-slate-500 text-lg"
key={index} value={item?.country}
className="text-slate-500 text-lg" >
value={item[0]} {item?.description}
> </option>
{item[1]} ))}
</option>
);
}
})}
</> </>
) : ( ) : (
<option className="text-slate-500 text-lg" value=""> <option className="text-slate-500 text-lg" value="">
+1 -2
View File
@@ -1,7 +1,6 @@
import React, {useEffect, useState} from "react"; import React, { useState} from "react";
import { useDispatch, useSelector } from "react-redux"; import { useDispatch, useSelector } from "react-redux";
import { useNavigate } from "react-router-dom"; import { useNavigate } from "react-router-dom";
import { toast } from "react-toastify";
import useToggle from "../../hooks/useToggle"; import useToggle from "../../hooks/useToggle";
import { drawerToggle } from "../../store/drawer"; import { drawerToggle } from "../../store/drawer";
import ModalCom from "../Helpers/ModalCom"; import ModalCom from "../Helpers/ModalCom";
+73 -61
View File
@@ -47,9 +47,9 @@ class usersService {
}; };
return this.postAuxEnd("/mybanklist", postData); return this.postAuxEnd("/mybanklist", postData);
} }
getUserWallets(reqData) { getUserWallets() {
var postData = { var postData = {
uuid: localStorage.getItem("uuid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
}; };
@@ -208,7 +208,7 @@ class usersService {
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: 22025, action: 22025,
...reqData ...reqData,
}; };
return this.postAuxEnd("/familymanage", postData); return this.postAuxEnd("/familymanage", postData);
} }
@@ -223,7 +223,7 @@ class usersService {
limit: 30, limit: 30,
offset: 0, offset: 0,
action: 13008, action: 13008,
...reqData ...reqData,
}; };
return this.postAuxEnd("/jobmanageractive", postData); return this.postAuxEnd("/jobmanageractive", postData);
} }
@@ -449,8 +449,8 @@ class usersService {
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: 11032, action: 11032,
...postData ...postData,
} };
return this.postAuxEnd("/sendreferral", reqData); return this.postAuxEnd("/sendreferral", reqData);
} }
@@ -468,7 +468,7 @@ class usersService {
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: 85020, action: 85020,
...reqData ...reqData,
}; };
return this.postAuxEnd("/couponredeem", postData); return this.postAuxEnd("/couponredeem", postData);
} }
@@ -485,7 +485,7 @@ class usersService {
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: 11183, action: 11183,
country: "NG", // country: "NG",
}; };
return this.postAuxEnd("/countrybanks", postData); return this.postAuxEnd("/countrybanks", postData);
} }
@@ -507,9 +507,9 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
msg_type: 'JOB', msg_type: "JOB",
action: 13033, action: 13033,
...reqData ...reqData,
}; };
return this.postAuxEnd("/marketinterest", postData); return this.postAuxEnd("/marketinterest", postData);
} }
@@ -519,9 +519,9 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
msg_type: 'JOB', msg_type: "JOB",
action: 13036, action: 13036,
...reqData ...reqData,
}; };
return this.postAuxEnd("/marketmessage", postData); return this.postAuxEnd("/marketmessage", postData);
} }
@@ -623,7 +623,7 @@ class usersService {
for (let data in postData) { for (let data in postData) {
formData.append(data, postData[data]); formData.append(data, postData[data]);
} }
// return this.postAuxEnd("/uploads", formData); // return this.postAuxEnd("/uploads", formData);
return this.postAuxEnd("/uploads", postData); return this.postAuxEnd("/uploads", postData);
} }
@@ -668,25 +668,25 @@ class usersService {
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: 13024, action: 13024,
limit: 30, limit: 30,
offset: 0 offset: 0,
}; };
return this.postAuxEnd("/offersinterestlist", postData); return this.postAuxEnd("/offersinterestlist", postData);
} }
// END POINT FOR PROCESSING OFFER INTEREST // END POINT FOR PROCESSING OFFER INTEREST
offersInterestProc(reqData) { offersInterestProc(reqData) {
var postData = { var postData = {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: 13034, action: 13034,
...reqData ...reqData,
}; };
return this.postAuxEnd("/offersinterestproc", postData); return this.postAuxEnd("/offersinterestproc", postData);
} }
// END POINT FOR WORKER TO MARK TASK AS COMPLETED // END POINT FOR WORKER TO MARK TASK AS COMPLETED
workerJobAction(reqData) { workerJobAction(reqData) {
var postData = { var postData = {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
@@ -697,17 +697,17 @@ class usersService {
return this.postAuxEnd("/activetaskstatus", postData); return this.postAuxEnd("/activetaskstatus", postData);
} }
// END POINT FOR OWNER JOB ACTION // END POINT FOR OWNER JOB ACTION
ownerJobAction(reqData) { ownerJobAction(reqData) {
var postData = { var postData = {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: 14015, action: 14015,
...reqData, ...reqData,
}; };
return this.postAuxEnd("/activejobstatus", postData); return this.postAuxEnd("/activejobstatus", postData);
} }
// END POINT FOR OWNER JOB ACTION // END POINT FOR OWNER JOB ACTION
getFaq() { getFaq() {
@@ -717,40 +717,52 @@ class usersService {
return this.postAuxEnd("/faq", postData); return this.postAuxEnd("/faq", postData);
} }
getMyNotifications() {
var postData = {
uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"),
limit: 30,
offset: 0,
action: 11205,
};
return this.postAuxEnd("/mynotifications", postData);
}
// END POINT TO GET LIST OF USER PREVIOUS CARDS // END POINT TO GET LIST OF USER PREVIOUS CARDS
payListCard() { payListCard() {
var postData = { var postData = {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: 11055 action: 11055,
}; };
return this.postAuxEnd("/paylistcard", postData); return this.postAuxEnd("/paylistcard", postData);
} }
// END POINT TO SEND OFFER INTEREST MESSAGE // END POINT TO SEND OFFER INTEREST MESSAGE
offerInterestMsg(reqData) { offerInterestMsg(reqData) {
var postData = { var postData = {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: 13037, action: 13037,
...reqData ...reqData,
}; };
return this.postAuxEnd("/offerinterestmsg", postData); return this.postAuxEnd("/offerinterestmsg", postData);
} }
// END POINT TO GET OFFER INTEREST MESSAGE // END POINT TO GET OFFER INTEREST MESSAGE
offerInterestListMsg(reqData) { offerInterestListMsg(reqData) {
var postData = { var postData = {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: 13037, action: 13037,
...reqData ...reqData,
}; };
return this.postAuxEnd("/offerinterestlistmsg", postData); return this.postAuxEnd("/offerinterestlistmsg", postData);
} }
/* /*
- 20:27:30.118 FLOG_MAX [757411]: REQ_STRING(username) - 20:27:30.118 FLOG_MAX [757411]: REQ_STRING(username)
- 20:27:30.118 FLOG_MAX [757411]: REQ_STRING(password) - 20:27:30.118 FLOG_MAX [757411]: REQ_STRING(password)