Merge branch 'faq-display' of WrenchBoard/Users-Wrench into master

This commit is contained in:
2023-06-26 18:07:41 +00:00
committed by Gogs
4 changed files with 125 additions and 108 deletions
+44 -39
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,23 +72,25 @@ 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 = () => { const getUserCurrency = () => {
setCountry((prev) => ({ ...prev, loading: true })); setCurrency((prev) => ({ ...prev, loading: true }));
ApiCall.getSignupCountryData() ApiCall.getUserWallets()
.then((res) => { .then((res) => {
if (res.data.internal_return < 1) { if (res.data.internal_return < 0) {
setCountry({ loading: false, status: true, data: [] }); setCurrency({ loading: false, status: true, data: [] });
return; return;
} }
setCountry({ console.log("Res for currency >> ", res);
setCurrency({
loading: false, loading: false,
status: true, status: true,
data: res.data.signup_country, data: res.data.result_list,
}); });
}) })
.catch((err) => { .catch((err) => {
setCountry({ loading: false, status: false, data: [] }); setCurrency({ loading: false, status: false, data: [] });
}); });
}; };
@@ -113,7 +122,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 +133,11 @@ function AddJob({ popUpHandler, categories }) {
}; };
useEffect(() => { useEffect(() => {
getUserCountry(); 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";
+7 -6
View File
@@ -53,7 +53,7 @@ const EditJobPopOut = ({
let initialValues = { let initialValues = {
// initial values for formik // initial values for formik
country: country, currency: details.currency,
price: details?.price, price: details?.price,
title: details?.title, title: details?.title,
description: details?.description, description: details?.description,
@@ -74,7 +74,7 @@ const EditJobPopOut = ({
job_uid: details.job_uid, job_uid: details.job_uid,
...values, ...values,
}; };
delete reqData?.country; delete reqData?.currency;
try { try {
let res = await jobApi.jobManagerUpdateJob(reqData); let res = await jobApi.jobManagerUpdateJob(reqData);
let { data } = await res; let { data } = await res;
@@ -93,6 +93,7 @@ const EditJobPopOut = ({
[jobApi, navigate, onClose, details] [jobApi, navigate, onClose, details]
); );
console.log(details)
return ( return (
<ModalCom action={onClose} situation={situation} className="edit-popup"> <ModalCom action={onClose} situation={situation} className="edit-popup">
<div className="logout-modal-wrapper lg:w-[600px] h-full lg:h-auto bg-white dark:bg-dark-white lg:rounded-2xl"> <div className="logout-modal-wrapper lg:w-[600px] h-full lg:h-auto bg-white dark:bg-dark-white lg:rounded-2xl">
@@ -140,13 +141,13 @@ const EditJobPopOut = ({
<div className="field w-full mb-6 xl:mb-0"> <div className="field w-full mb-6 xl:mb-0">
<InputCom <InputCom
fieldClass="px-6 cursor-default" fieldClass="px-6 cursor-default"
label="Country" label="Currency"
labelClass="tracking-wide" labelClass="tracking-wide"
inputBg="bg-slate-100" inputBg="bg-slate-100"
inputClass="input-curve lg border border-light-purple" inputClass="input-curve lg border border-light-purple"
type="text" type="text"
name="country" name="currency"
value={props.values.country} value={props.values.currency}
inputHandler={props.handleChange} inputHandler={props.handleChange}
blurHandler={props.handleBlur} blurHandler={props.handleBlur}
disable={true} disable={true}
@@ -163,7 +164,7 @@ const EditJobPopOut = ({
inputClass="input-curve lg border border-light-purple" inputClass="input-curve lg border border-light-purple"
type="number" type="number"
name="price" name="price"
value={props.values.price * 0.01} value={props.values.price}
inputHandler={props.handleChange} inputHandler={props.handleChange}
blurHandler={props.handleBlur} blurHandler={props.handleBlur}
errorBorder={ errorBorder={
+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);
} }
@@ -472,8 +472,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);
} }
@@ -491,7 +491,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);
} }
@@ -508,7 +508,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);
} }
@@ -530,9 +530,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);
} }
@@ -542,9 +542,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);
} }
@@ -646,7 +646,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);
} }
@@ -691,25 +691,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"),
@@ -720,17 +720,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() {
@@ -740,40 +740,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)