Changed my pending jobs to offers and changed its routes #560
+111
-76
@@ -1,65 +1,61 @@
|
||||
import { Route, Routes } from "react-router-dom";
|
||||
import FourZeroFour from "./components/FourZeroFour";
|
||||
import ScrollToTop from "./components/Helpers/ScrollToTop";
|
||||
import MyCollection from "./components/MyCollection";
|
||||
import StartJob from "./components/MyJobs/StartJob";
|
||||
import Notification from "./components/Notification";
|
||||
import AuthRoute from "./middleware/AuthRoute";
|
||||
import AcitveBidsPage from "./views/AcitveBidsPage";
|
||||
import AppDownloadPage from "./views/AppDownloadPage";
|
||||
import AppleRedirectPage from "./views/AppleRedirectPage";
|
||||
import AuthProfilePage from "./views/AuthProfilePage";
|
||||
import AuthRedirect from "./views/AuthRedirect";
|
||||
import BlogPage from "./views/BlogPage";
|
||||
import CalendarPage from "./views/CalendarPage";
|
||||
import CollectionItemPage from "./views/CollectionItemPage";
|
||||
import FacebookRedirect from "./views/FacebookRedirect";
|
||||
import FamilyAccPage from "./views/FamilyAccPage";
|
||||
import FamilyManagePage from "./views/FamilyManagePage";
|
||||
import FamilyMarketPage from "./views/FamilyMarketPage";
|
||||
import FamilySettingsPage from "./views/FamilySettingsPage";
|
||||
import ForgotPasswordPages from "./views/ForgotPasswordPages";
|
||||
import ForgotPasswordPagesTwo from "./views/ForgotPasswordPagesTwo";
|
||||
import HistoryPage from "./views/HistoryPage";
|
||||
import HomePages from "./views/HomePages";
|
||||
import JobGroupsPage from "./views/JobGroupsPage";
|
||||
import LndPage from "./views/LndPage";
|
||||
import LoginPage from "./views/LoginPage";
|
||||
import LoginPageTwo from "./views/LoginPageTwo";
|
||||
import ManageActiveJobs from "./views/ManageActiveJobs";
|
||||
import ManageInterestOfferPage from "./views/ManageInterestOfferPage";
|
||||
import MarketPlacePage from "./views/MarketPlacePage";
|
||||
import MyActiveJobsPage from "./views/MyActiveJobsPage";
|
||||
import MyCouponPage from "./views/MyCouponPage";
|
||||
import MyJobsPage from "./views/MyJobsPage";
|
||||
import MyOffersPage from "./views/MyOffersPage";
|
||||
import MyPastDueJobsPage from "./views/MyPastDueJobsPage";
|
||||
import MyReviewDueJobsPage from "./views/MyReviewDueJobsPage";
|
||||
import MyTaskPage from "./views/MyTaskPage";
|
||||
import MyWaitingJobsPage from "./views/MyWaitingJobsPage";
|
||||
import MyWalletPage from "./views/MyWalletPage";
|
||||
import OffersInterestPage from "./views/OffersInterestPage";
|
||||
import ReferralPage from "./views/ReferralPage";
|
||||
import RemindersPage from "./views/RemindersPage";
|
||||
import ResourcePage from "./views/ResourcePage";
|
||||
import SavedPage from "./views/SavedPage";
|
||||
import SellPage from "./views/SellPage";
|
||||
import SettingsPage from "./views/SettingsPage";
|
||||
import ShopDetailsPage from "./views/ShopDetailsPage";
|
||||
import SignupPage from "./views/SignupPage";
|
||||
import SignupPageTwo from "./views/SignupPageTwo";
|
||||
import TrackingPage from "./views/TrackingPage";
|
||||
import UpdatePasswordPages from "./views/UpdatePasswordPages";
|
||||
import UpdatePasswordPagesTwo from "./views/UpdatePasswordPagesTwo";
|
||||
import UploadProductPage from "./views/UploadProductPage";
|
||||
import UserProfilePage from "./views/UserProfilePage";
|
||||
import VerifyYouPages from "./views/VerifyYouPages";
|
||||
import VerifyYouPagesTwo from "./views/VerifyYouPagesTwo";
|
||||
import VerifyPasswordPages from "./views/VerifyPasswordPages";
|
||||
import VerifyPasswordPagesTwo from "./views/VerifyPasswordPagesTwo";
|
||||
import RemindersPage from './views/RemindersPage';
|
||||
import TrackingPage from "./views/TrackingPage";
|
||||
import CalendarPage from "./views/CalendarPage";
|
||||
import ResourcePage from "./views/ResourcePage";
|
||||
import MyTaskPage from "./views/MyTaskPage";
|
||||
import MyJobsPage from "./views/MyJobsPage";
|
||||
import ReferralPage from "./views/ReferralPage";
|
||||
import VerifyLinkPages from "./views/VerifyLinkPages";
|
||||
import VerifyLinkPagesTwo from "./views/VerifyLinkPagesTwo";
|
||||
import MyActiveJobsPage from "./views/MyActiveJobsPage";
|
||||
import FamilyAccPage from "./views/FamilyAccPage";
|
||||
import StartJob from "./components/MyJobs/StartJob";
|
||||
import AddJobPage from "./views/AddJobPage";
|
||||
import MyPendingJobsPage from "./views/MyPendingJobsPage";
|
||||
import ManageActiveJobs from "./views/ManageActiveJobs";
|
||||
import FamilyManagePage from "./views/FamilyManagePage";
|
||||
import MyCouponPage from "./views/MyCouponPage";
|
||||
import AuthRedirect from "./views/AuthRedirect";
|
||||
import MyPastDueJobsPage from "./views/MyPastDueJobsPage";
|
||||
import BlogPage from "./views/BlogPage";
|
||||
import MyReviewDueJobsPage from "./views/MyReviewDueJobsPage";
|
||||
import OffersInterestPage from "./views/OffersInterestPage";
|
||||
import ManageInterestOfferPage from './views/ManageInterestOfferPage'
|
||||
import MyWaitingJobsPage from "./views/MyWaitingJobsPage";
|
||||
import FamilyMarketPage from "./views/FamilyMarketPage";
|
||||
import FacebookRedirect from "./views/FacebookRedirect";
|
||||
import AppleRedirectPage from "./views/AppleRedirectPage";
|
||||
import LndPage from "./views/LndPage";
|
||||
import FamilySettingsPage from "./views/FamilySettingsPage";
|
||||
import AppDownloadPage from "./views/AppDownloadPage";
|
||||
import JobGroupsPage from "./views/JobGroupsPage";
|
||||
import VerifyPasswordPages from "./views/VerifyPasswordPages";
|
||||
import VerifyPasswordPagesTwo from "./views/VerifyPasswordPagesTwo";
|
||||
import VerifyYouPages from "./views/VerifyYouPages";
|
||||
import VerifyYouPagesTwo from "./views/VerifyYouPagesTwo";
|
||||
import YourPages from "./views/YourPage_";
|
||||
|
||||
export default function Routers() {
|
||||
@@ -67,31 +63,47 @@ export default function Routers() {
|
||||
<ScrollToTop>
|
||||
<Routes>
|
||||
{/* guest routes */}
|
||||
{process.env.REACT_APP_NEW_LOGIN_LAYOUT == 1 ?
|
||||
<>
|
||||
<Route exact path="/login" element={<LoginPageTwo />} />
|
||||
<Route exact path="/signup" element={<SignupPageTwo />} />
|
||||
<Route exact path="/forgot-password" element={<ForgotPasswordPagesTwo />} />
|
||||
<Route exact path="/update-password" element={<UpdatePasswordPagesTwo />} />
|
||||
<Route path="/vemail" element={<VerifyLinkPagesTwo />} />
|
||||
<Route path="/complereset" element={<VerifyPasswordPagesTwo />} />
|
||||
<Route exact path="/outmessage" element={<VerifyYouPagesTwo />} />
|
||||
<Route exact path="/eoffer" element={<LoginPageTwo />} />
|
||||
<Route exact path="/invite" element={<LoginPageTwo />} />
|
||||
</>
|
||||
:
|
||||
<>
|
||||
<Route exact path="/login" element={<LoginPage />} />
|
||||
<Route exact path="/signup" element={<SignupPage />} />
|
||||
<Route exact path="/forgot-password" element={<ForgotPasswordPages />} />
|
||||
<Route exact path="/update-password" element={<UpdatePasswordPages />} />
|
||||
<Route path="/vemail" element={<VerifyLinkPages />} />
|
||||
<Route path="/complereset" element={<VerifyPasswordPages />} />
|
||||
<Route exact path="/outmessage" element={<VerifyYouPages />} />
|
||||
<Route exact path="/eoffer" element={<LoginPage />} />
|
||||
<Route exact path="/invite" element={<LoginPage />} />
|
||||
</>
|
||||
}
|
||||
{process.env.REACT_APP_NEW_LOGIN_LAYOUT == 1 ? (
|
||||
<>
|
||||
<Route exact path="/login" element={<LoginPageTwo />} />
|
||||
<Route exact path="/signup" element={<SignupPageTwo />} />
|
||||
<Route
|
||||
exact
|
||||
path="/forgot-password"
|
||||
element={<ForgotPasswordPagesTwo />}
|
||||
/>
|
||||
<Route
|
||||
exact
|
||||
path="/update-password"
|
||||
element={<UpdatePasswordPagesTwo />}
|
||||
/>
|
||||
<Route path="/vemail" element={<VerifyLinkPagesTwo />} />
|
||||
<Route path="/complereset" element={<VerifyPasswordPagesTwo />} />
|
||||
<Route exact path="/outmessage" element={<VerifyYouPagesTwo />} />
|
||||
<Route exact path="/eoffer" element={<LoginPageTwo />} />
|
||||
<Route exact path="/invite" element={<LoginPageTwo />} />
|
||||
</>
|
||||
) : (
|
||||
<>
|
||||
<Route exact path="/login" element={<LoginPage />} />
|
||||
<Route exact path="/signup" element={<SignupPage />} />
|
||||
<Route
|
||||
exact
|
||||
path="/forgot-password"
|
||||
element={<ForgotPasswordPages />}
|
||||
/>
|
||||
<Route
|
||||
exact
|
||||
path="/update-password"
|
||||
element={<UpdatePasswordPages />}
|
||||
/>
|
||||
<Route path="/vemail" element={<VerifyLinkPages />} />
|
||||
<Route path="/complereset" element={<VerifyPasswordPages />} />
|
||||
<Route exact path="/outmessage" element={<VerifyYouPages />} />
|
||||
<Route exact path="/eoffer" element={<LoginPage />} />
|
||||
<Route exact path="/invite" element={<LoginPage />} />
|
||||
</>
|
||||
)}
|
||||
<Route exact path="/login/auth" element={<AuthRedirect />} />
|
||||
<Route exact path="/login/auth/flogin" element={<FacebookRedirect />} />
|
||||
<Route exact path="/login/auth/apple" element={<AppleRedirectPage />} />
|
||||
@@ -117,25 +129,48 @@ export default function Routers() {
|
||||
<Route exact path="/market-place" element={<MarketPlacePage />} />
|
||||
<Route exact path="/market" element={<MarketPlacePage />} />
|
||||
<Route exact path="/familymarket" element={<FamilyMarketPage />} />
|
||||
<Route exact path="/familysettings" element={<FamilySettingsPage />} />
|
||||
<Route
|
||||
exact
|
||||
path="/familysettings"
|
||||
element={<FamilySettingsPage />}
|
||||
/>
|
||||
<Route exact path="/notification" element={<Notification />} />
|
||||
<Route exact path="/mytask" element={<MyTaskPage />} />
|
||||
<Route exact path="/myjobs" element={<MyJobsPage />} />
|
||||
{/* <Route exact path="/add-job" element={<AddJobPage />} /> */}
|
||||
<Route exact path="/my-active-jobs" element={<MyActiveJobsPage />} />
|
||||
<Route exact path="/my-pastdue-jobs" element={<MyPastDueJobsPage />} />
|
||||
<Route exact path="/my-pending-jobs" element={<MyPendingJobsPage />} />
|
||||
<Route exact path="/pend-interest" element={<MyWaitingJobsPage />} />
|
||||
<Route exact path="/my-review-jobs" element={<MyReviewDueJobsPage />} />
|
||||
<Route exact path="/acc-family" element={<FamilyAccPage />} />
|
||||
<Route exact path="/manage-family" element={<FamilyManagePage />} />
|
||||
<Route exact path="/start-job" element={<StartJob />} />
|
||||
<Route exact path="/yourpage" element={<YourPages />} />
|
||||
<Route exact path="/manage-active-job" element={<ManageActiveJobs />} />
|
||||
<Route exact path="/blog-page" element={<BlogPage />} />
|
||||
<Route exact path="/offer-interest" element={<OffersInterestPage />} />
|
||||
<Route exact path="/manage-offer" element={<ManageInterestOfferPage />} />
|
||||
|
||||
<Route exact path="/my-active-jobs" element={<MyActiveJobsPage />} />
|
||||
<Route
|
||||
exact
|
||||
path="/my-pastdue-jobs"
|
||||
element={<MyPastDueJobsPage />}
|
||||
/>
|
||||
<Route exact path="/my-offers" element={<MyOffersPage />} />
|
||||
<Route exact path="/pend-interest" element={<MyWaitingJobsPage />} />
|
||||
<Route
|
||||
exact
|
||||
path="/my-review-jobs"
|
||||
element={<MyReviewDueJobsPage />}
|
||||
/>
|
||||
<Route exact path="/acc-family" element={<FamilyAccPage />} />
|
||||
<Route exact path="/manage-family" element={<FamilyManagePage />} />
|
||||
<Route exact path="/start-job" element={<StartJob />} />
|
||||
<Route exact path="/yourpage" element={<YourPages />} />
|
||||
<Route
|
||||
exact
|
||||
path="/manage-active-job"
|
||||
element={<ManageActiveJobs />}
|
||||
/>
|
||||
<Route exact path="/blog-page" element={<BlogPage />} />
|
||||
<Route
|
||||
exact
|
||||
path="/offer-interest"
|
||||
element={<OffersInterestPage />}
|
||||
/>
|
||||
<Route
|
||||
exact
|
||||
path="/manage-offer"
|
||||
element={<ManageInterestOfferPage />}
|
||||
/>
|
||||
|
||||
<Route
|
||||
exact
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import React from "react";
|
||||
import ParentWaiting from "../MyPendingJobs/ParentWaiting";
|
||||
import ParentWaiting from "../MyOffers/ParentWaiting";
|
||||
import MyOffersFamilyTable from "../MyTasks/MyOffersFamilyTable";
|
||||
import FamilyActiveLSlde from "./FamilyActiveLSlde";
|
||||
|
||||
@@ -19,7 +19,11 @@ export default function FamilyDash({ familyOffers, MyActiveJobList }) {
|
||||
/>
|
||||
)}
|
||||
{trending && trending.length > 0 && (
|
||||
<FamilyActiveLSlde trending={trending} className="mb-10" image_server={familyOffers?.session_image_server} />
|
||||
<FamilyActiveLSlde
|
||||
trending={trending}
|
||||
className="mb-10"
|
||||
image_server={familyOffers?.session_image_server}
|
||||
/>
|
||||
)}
|
||||
|
||||
{/*<TopSellerTopBuyerSliderSection className="mb-10" />*/}
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
import React, { useState } from "react";
|
||||
import { Link } from "react-router-dom";
|
||||
import Layout from "../Partials/Layout";
|
||||
import LoadingSpinner from "../Spinners/LoadingSpinner";
|
||||
import CommonHead from "../UserHeader/CommonHead";
|
||||
import MyPendingJobTable from "./MyPendingJobTable";
|
||||
import LoadingSpinner from "../Spinners/LoadingSpinner";
|
||||
|
||||
export default function MyPendingJobs(props) {
|
||||
export default function MyOffers(props) {
|
||||
const [selectTab, setValue] = useState("today");
|
||||
const filterHandler = (value) => {
|
||||
setValue(value);
|
||||
@@ -13,9 +12,7 @@ export default function MyPendingJobs(props) {
|
||||
// console.log("AMEYE LOC1", props.MyJobList);
|
||||
return (
|
||||
<Layout>
|
||||
<CommonHead
|
||||
commonHeadData={props.commonHeadData}
|
||||
/>
|
||||
<CommonHead commonHeadData={props.commonHeadData} />
|
||||
<div className="notification-page w-full mb-10">
|
||||
<div className="notification-wrapper w-full">
|
||||
{/* heading */}
|
||||
@@ -25,7 +22,7 @@ export default function MyPendingJobs(props) {
|
||||
<span
|
||||
className={`${selectTab === "today" ? "block" : "hidden"}`}
|
||||
>
|
||||
Pending Job(s)
|
||||
Pending Offers
|
||||
</span>
|
||||
</h1>
|
||||
</div>
|
||||
@@ -36,13 +33,17 @@ export default function MyPendingJobs(props) {
|
||||
></div>
|
||||
</div>
|
||||
</div>
|
||||
{props.MyJobList.loading ?
|
||||
<div className="bg-white">
|
||||
<LoadingSpinner size='16' color='sky-blue' height='min-h-[300px]' />
|
||||
</div>
|
||||
:
|
||||
<MyPendingJobTable MyJobList={props.MyJobList.data} />
|
||||
}
|
||||
{props.MyJobList.loading ? (
|
||||
<div className="bg-white">
|
||||
<LoadingSpinner
|
||||
size="16"
|
||||
color="sky-blue"
|
||||
height="min-h-[300px]"
|
||||
/>
|
||||
</div>
|
||||
) : (
|
||||
<MyPendingJobTable MyJobList={props.MyJobList.data} />
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
</Layout>
|
||||
@@ -192,8 +192,8 @@ export default function MobileSidebar({
|
||||
{[
|
||||
{ name: "List", path: "/myjobs", iconName: "job-list" },
|
||||
{
|
||||
name: "Pending",
|
||||
path: "/my-pending-jobs",
|
||||
name: "Offers",
|
||||
path: "/my-offers",
|
||||
iconName: "pending-job",
|
||||
},
|
||||
{
|
||||
|
||||
@@ -190,7 +190,7 @@ export default function RightSideBar({myJobList}) {
|
||||
{/* name */}
|
||||
<div>
|
||||
<p className="text-thin-light-gray text-base font-medium">
|
||||
<NavLink to="/my-review-jobs">Review Pending</NavLink>
|
||||
<NavLink to="/my-review-jobs">Review</NavLink>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -8,14 +8,13 @@ import {
|
||||
import DarkModeContext from "../Contexts/DarkModeContext";
|
||||
import Icons from "../Helpers/Icons";
|
||||
|
||||
|
||||
export default function Sidebar({
|
||||
sidebar,
|
||||
action,
|
||||
logoutModalHandler,
|
||||
myJobList,
|
||||
}) {
|
||||
const darkMode = useContext(DarkModeContext);
|
||||
const darkMode = useContext(DarkModeContext);
|
||||
|
||||
let { userDetails } = useSelector((state) => state.userDetails);
|
||||
//const jobLists = getJobList(); // pass from upper - we need in a lot of places
|
||||
@@ -218,8 +217,8 @@ export default function Sidebar({
|
||||
iconName: "job-list",
|
||||
},
|
||||
{
|
||||
name: "Pending",
|
||||
path: "/my-pending-jobs",
|
||||
name: "Offers",
|
||||
path: "/my-offers",
|
||||
iconName: "pending-job",
|
||||
},
|
||||
{
|
||||
@@ -291,7 +290,7 @@ export default function Sidebar({
|
||||
className="signout-btn w-full flex items-center justify-center"
|
||||
>
|
||||
<span className="p-[1px] w-[40px] h-[40px] border border-purple rounded-full">
|
||||
<Icons name='new-logout' />
|
||||
<Icons name="new-logout" />
|
||||
</span>
|
||||
</button>
|
||||
)}
|
||||
|
||||
@@ -206,7 +206,7 @@ function JobListPopout({
|
||||
setTimeout(() => {
|
||||
setLoader({ jobFields: false });
|
||||
onClose();
|
||||
throw new Response(data);
|
||||
// throw new Response(data);
|
||||
}, 3000);
|
||||
} catch (error) {
|
||||
setRequestStatus({ message: "Unable to complete", status: false });
|
||||
@@ -294,103 +294,6 @@ function JobListPopout({
|
||||
);
|
||||
};
|
||||
|
||||
const FormSection = ({
|
||||
selectedTab,
|
||||
initialValues,
|
||||
validationSchema,
|
||||
jobFieldHandler,
|
||||
loader,
|
||||
errorHandler,
|
||||
errMsg,
|
||||
}) => {
|
||||
const renderForm = (props) => {
|
||||
// Render the appropriate form based on the selected tab
|
||||
switch (selectedTab) {
|
||||
case "family":
|
||||
return (
|
||||
<JobFieldInput
|
||||
label="Assign to family"
|
||||
select={true}
|
||||
inputName="family"
|
||||
value={props?.values.family}
|
||||
data={familyList}
|
||||
btnText="Assign to family"
|
||||
optionText="Select Family"
|
||||
loader={loader?.jobFields?.family}
|
||||
errorHandler={errorHandler}
|
||||
parentClass="w-full flex flex-col gap-4"
|
||||
/>
|
||||
);
|
||||
case "public":
|
||||
return (
|
||||
<JobFieldInput
|
||||
label="Offer this job to public"
|
||||
select={true}
|
||||
inputName="public"
|
||||
value={props?.values.public}
|
||||
data={publicArray}
|
||||
btnText="Show Task to Public"
|
||||
optionText="Select Duration"
|
||||
loader={loader?.jobFields?.public}
|
||||
errorHandler={errorHandler}
|
||||
parentClass="w-full flex flex-col gap-4"
|
||||
/>
|
||||
);
|
||||
case "individual":
|
||||
return (
|
||||
<JobFieldInput
|
||||
label="Offer this job to individual"
|
||||
input={true}
|
||||
inputName="individual"
|
||||
value={props?.values.individual}
|
||||
placeholder="Enter email of individual"
|
||||
inputHandler={props?.handleChange}
|
||||
btnText="Send Offer to Individual"
|
||||
loader={loader?.jobFields?.individual}
|
||||
errorHandler={errorHandler}
|
||||
parentClass="w-full flex flex-col gap-4"
|
||||
/>
|
||||
);
|
||||
case "group":
|
||||
return (
|
||||
<JobFieldInput
|
||||
label="Offer this job to your Group"
|
||||
select={true}
|
||||
inputName="group"
|
||||
value={props?.values.group}
|
||||
btnText="Send Order to Group"
|
||||
optionText="Select Group"
|
||||
loader={loader?.jobFields?.group}
|
||||
errorHandler={errorHandler}
|
||||
data={groupList}
|
||||
parentClass="w-full flex flex-col gap-4"
|
||||
/>
|
||||
);
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<Formik
|
||||
initialValues={initialValues}
|
||||
validationSchema={validationSchema}
|
||||
onSubmit={jobFieldHandler}
|
||||
>
|
||||
{(props) => (
|
||||
<Form className="">
|
||||
{renderForm(props)}
|
||||
<p className="h-4 text-[13px] font-light italic text-red-600 tracking-wide">
|
||||
{props?.values[selectedTab] === "" && (
|
||||
<span>{errMsg?.jobFields[selectedTab]}</span>
|
||||
)}
|
||||
</p>{" "}
|
||||
</Form>
|
||||
)}
|
||||
</Formik>
|
||||
);
|
||||
};
|
||||
|
||||
return (
|
||||
<ModalCom action={onClose} situation={situation} className="">
|
||||
<div className="logout-modal-wrapper w-[90%] md:w-[768px] bg-white dark:bg-dark-white lg:rounded-2xl overflow-y-auto">
|
||||
@@ -424,7 +327,7 @@ function JobListPopout({
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
|
||||
<div className="md:grid grid-cols-2 bg-white dark:bg-dark-white rounded-lg shadow-lg">
|
||||
<DetailsComponent />
|
||||
|
||||
@@ -447,16 +350,142 @@ function JobListPopout({
|
||||
))}
|
||||
</div>
|
||||
<div className="grow flex flex-col bg-red-50 dark:bg-[#D85A5A] rounded-b-2xl">
|
||||
<FormSection
|
||||
selectedTab={selectedTab}
|
||||
initialValues={initialValues}
|
||||
validationSchema={validationSchema.fields[selectedTab]}
|
||||
jobFieldHandler={jobFieldHandler}
|
||||
loader={loader}
|
||||
errorHandler={errorHandler}
|
||||
errMsg={errMsg}
|
||||
/>
|
||||
{selectedTab == "family" && (
|
||||
<Formik
|
||||
initialValues={initialValues}
|
||||
validationSchema={validationSchema.fields.family}
|
||||
onSubmit={jobFieldHandler}
|
||||
>
|
||||
{(props) => {
|
||||
return (
|
||||
<Form className="hidden">
|
||||
{/* Assign to Family */}
|
||||
<JobFieldInput
|
||||
label="Assign to family"
|
||||
select={true}
|
||||
inputName="family"
|
||||
value={props?.values.family}
|
||||
data={familyList}
|
||||
btnText="Assign to family"
|
||||
optionText="Select Family"
|
||||
loader={loader?.jobFields?.family}
|
||||
errorHandler={errorHandler}
|
||||
parentClass="w-full flex flex-col gap-4"
|
||||
/>
|
||||
<p className="h-4 text-[13px] font-light italic text-red-600 tracking-wide">
|
||||
{" "}
|
||||
{props?.values?.family === "" && (
|
||||
<span>{errMsg?.jobFields?.family}</span>
|
||||
)}
|
||||
</p>{" "}
|
||||
</Form>
|
||||
);
|
||||
}}
|
||||
</Formik>
|
||||
)}
|
||||
|
||||
{selectedTab == "public" && (
|
||||
<Formik
|
||||
initialValues={initialValues}
|
||||
validationSchema={validationSchema.fields.public}
|
||||
onSubmit={jobFieldHandler}
|
||||
>
|
||||
{(props) => {
|
||||
return (
|
||||
<Form className="">
|
||||
{/* Offer this job to public input */}
|
||||
<JobFieldInput
|
||||
label="Offer this job to public"
|
||||
select={true}
|
||||
inputName="public"
|
||||
value={props?.values.public}
|
||||
data={publicArray}
|
||||
btnText="Show Task to Public"
|
||||
optionText="Select Duration"
|
||||
loader={loader?.jobFields?.public}
|
||||
errorHandler={errorHandler}
|
||||
parentClass="w-full flex flex-col gap-4"
|
||||
/>
|
||||
<p className="h-4 text-[13px] font-light italic text-red-600 tracking-wide">
|
||||
{" "}
|
||||
{props?.values.public === "" && (
|
||||
<span>{errMsg?.jobFields?.public}</span>
|
||||
)}
|
||||
</p>{" "}
|
||||
</Form>
|
||||
);
|
||||
}}
|
||||
</Formik>
|
||||
)}
|
||||
|
||||
{selectedTab == "individual" && (
|
||||
<Formik
|
||||
initialValues={initialValues}
|
||||
validationSchema={validationSchema.fields.individual}
|
||||
onSubmit={jobFieldHandler}
|
||||
>
|
||||
{(props) => {
|
||||
return (
|
||||
<Form className="">
|
||||
{/* Offer this job to individual input */}
|
||||
<JobFieldInput
|
||||
label="Offer this job to individual"
|
||||
input={true}
|
||||
inputName="individual"
|
||||
value={props?.values.individual}
|
||||
placeholder="Enter email of individual"
|
||||
inputHandler={props?.handleChange}
|
||||
btnText="Send Offer to Individual"
|
||||
loader={loader?.jobFields?.individual}
|
||||
errorHandler={errorHandler}
|
||||
parentClass="w-full flex flex-col gap-4"
|
||||
/>
|
||||
<p className="h-4 text-[13px] font-light italic text-red-600 tracking-wide">
|
||||
{" "}
|
||||
{props?.values.individual === "" && (
|
||||
<span>{errMsg?.jobFields?.individual}</span>
|
||||
)}
|
||||
</p>{" "}
|
||||
</Form>
|
||||
);
|
||||
}}
|
||||
</Formik>
|
||||
)}
|
||||
|
||||
{/* { process.env.REACT_APP_SHOW_OFFER_GROUP_JOB != 0 && } */}
|
||||
{selectedTab == "group" && (
|
||||
<Formik
|
||||
initialValues={initialValues}
|
||||
validationSchema={validationSchema.fields.group}
|
||||
onSubmit={jobFieldHandler}
|
||||
>
|
||||
{(props) => {
|
||||
return (
|
||||
<Form className="">
|
||||
{/* Offer this job to your group input */}
|
||||
<JobFieldInput
|
||||
label="Offer this job to your Group"
|
||||
select={true}
|
||||
inputName="group"
|
||||
value={props?.values.group}
|
||||
btnText="Send Order to Group"
|
||||
optionText="Select Group"
|
||||
loader={loader?.jobFields?.group}
|
||||
errorHandler={errorHandler}
|
||||
data={groupList}
|
||||
parentClass="w-full flex flex-col gap-4"
|
||||
/>
|
||||
<p className="h-4 text-[13px] font-light italic text-red-600 tracking-wide">
|
||||
{" "}
|
||||
{props?.values.group === "" && (
|
||||
<span>{errMsg?.jobFields?.group}</span>
|
||||
)}
|
||||
</p>
|
||||
</Form>
|
||||
);
|
||||
}}
|
||||
</Formik>
|
||||
)}
|
||||
<p
|
||||
className={`text-center w-full text-lg ${
|
||||
requestStatus.status
|
||||
|
||||
@@ -1,34 +1,34 @@
|
||||
import React, { useContext, useState, useEffect } from "react";
|
||||
import usersService from "../services/UsersService";
|
||||
import MyPendingJobs from "../components/MyPendingJobs";
|
||||
import React, { useEffect, useState } from "react";
|
||||
import { useSelector } from "react-redux";
|
||||
import MyOffers from "../components/MyOffers";
|
||||
import usersService from "../services/UsersService";
|
||||
|
||||
export default function MyPendingJobsPage() {
|
||||
export default function MyOffersPage() {
|
||||
let { commonHeadBanner } = useSelector((state) => state.commonHeadBanner);
|
||||
let { pendingListTable } = useSelector((state) => state.tableReload);
|
||||
|
||||
const [MyJobList, setMyJobList] = useState({loading: true, data: []});
|
||||
const [MyJobList, setMyJobList] = useState({ loading: true, data: [] });
|
||||
const api = new usersService();
|
||||
|
||||
const getMyJobList = async () => {
|
||||
setMyJobList({loading: true, data: []});
|
||||
setMyJobList({ loading: true, data: [] });
|
||||
try {
|
||||
const res = await api.getMyPendingJobList();
|
||||
setMyJobList({loading: false, data: res.data});
|
||||
setMyJobList({ loading: false, data: res.data });
|
||||
} catch (error) {
|
||||
setMyJobList({loading: false, data: []});
|
||||
setMyJobList({ loading: false, data: [] });
|
||||
console.log("Error getting mode");
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
useEffect(() => {
|
||||
getMyJobList();
|
||||
getMyJobList();
|
||||
}, [pendingListTable]);
|
||||
|
||||
// debugger;
|
||||
return (
|
||||
<>
|
||||
<MyPendingJobs
|
||||
<MyOffers
|
||||
MyJobList={MyJobList}
|
||||
commonHeadData={commonHeadBanner.result_list}
|
||||
/>
|
||||
Reference in New Issue
Block a user