From 1d8646581213768ec4229c3028ce4123863e2bef Mon Sep 17 00:00:00 2001 From: Ebube Date: Fri, 26 Jan 2024 17:44:24 +0100 Subject: [PATCH] Changed my pending jobs to offers and changed its routes --- src/Routers.jsx | 187 +++++++------ src/components/Home/FamilyDash.jsx | 8 +- .../DeleteTaskModal.jsx | 0 .../MyPendingJobTable.jsx | 0 .../ParentWaiting.jsx | 0 .../ParentWaitingTable.jsx | 0 .../SendReminderModal.jsx | 0 .../{MyPendingJobs => MyOffers}/index.jsx | 29 ++- src/components/Partials/MobileSideBar.jsx | 4 +- src/components/Partials/RightSideBar.jsx | 2 +- src/components/Partials/Sidebar.jsx | 9 +- src/components/jobPopout/JobListPopout.jsx | 245 ++++++++++-------- ...MyPendingJobsPage.jsx => MyOffersPage.jsx} | 22 +- 13 files changed, 287 insertions(+), 219 deletions(-) rename src/components/{MyPendingJobs => MyOffers}/DeleteTaskModal.jsx (100%) rename src/components/{MyPendingJobs => MyOffers}/MyPendingJobTable.jsx (100%) rename src/components/{MyPendingJobs => MyOffers}/ParentWaiting.jsx (100%) rename src/components/{MyPendingJobs => MyOffers}/ParentWaitingTable.jsx (100%) rename src/components/{MyPendingJobs => MyOffers}/SendReminderModal.jsx (100%) rename src/components/{MyPendingJobs => MyOffers}/index.jsx (72%) rename src/views/{MyPendingJobsPage.jsx => MyOffersPage.jsx} (59%) diff --git a/src/Routers.jsx b/src/Routers.jsx index 033053a..3182a0b 100644 --- a/src/Routers.jsx +++ b/src/Routers.jsx @@ -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() { {/* guest routes */} - {process.env.REACT_APP_NEW_LOGIN_LAYOUT == 1 ? - <> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - - : - <> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - - } + {process.env.REACT_APP_NEW_LOGIN_LAYOUT == 1 ? ( + <> + } /> + } /> + } + /> + } + /> + } /> + } /> + } /> + } /> + } /> + + ) : ( + <> + } /> + } /> + } + /> + } + /> + } /> + } /> + } /> + } /> + } /> + + )} } /> } /> } /> @@ -117,25 +129,48 @@ export default function Routers() { } /> } /> } /> - } /> + } + /> } /> } /> } /> {/* } /> */} - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - + } /> + } + /> + } /> + } /> + } + /> + } /> + } /> + } /> + } /> + } + /> + } /> + } + /> + } + /> )} {trending && trending.length > 0 && ( - + )} {/**/} diff --git a/src/components/MyPendingJobs/DeleteTaskModal.jsx b/src/components/MyOffers/DeleteTaskModal.jsx similarity index 100% rename from src/components/MyPendingJobs/DeleteTaskModal.jsx rename to src/components/MyOffers/DeleteTaskModal.jsx diff --git a/src/components/MyPendingJobs/MyPendingJobTable.jsx b/src/components/MyOffers/MyPendingJobTable.jsx similarity index 100% rename from src/components/MyPendingJobs/MyPendingJobTable.jsx rename to src/components/MyOffers/MyPendingJobTable.jsx diff --git a/src/components/MyPendingJobs/ParentWaiting.jsx b/src/components/MyOffers/ParentWaiting.jsx similarity index 100% rename from src/components/MyPendingJobs/ParentWaiting.jsx rename to src/components/MyOffers/ParentWaiting.jsx diff --git a/src/components/MyPendingJobs/ParentWaitingTable.jsx b/src/components/MyOffers/ParentWaitingTable.jsx similarity index 100% rename from src/components/MyPendingJobs/ParentWaitingTable.jsx rename to src/components/MyOffers/ParentWaitingTable.jsx diff --git a/src/components/MyPendingJobs/SendReminderModal.jsx b/src/components/MyOffers/SendReminderModal.jsx similarity index 100% rename from src/components/MyPendingJobs/SendReminderModal.jsx rename to src/components/MyOffers/SendReminderModal.jsx diff --git a/src/components/MyPendingJobs/index.jsx b/src/components/MyOffers/index.jsx similarity index 72% rename from src/components/MyPendingJobs/index.jsx rename to src/components/MyOffers/index.jsx index 2bf8d44..7137d9f 100644 --- a/src/components/MyPendingJobs/index.jsx +++ b/src/components/MyOffers/index.jsx @@ -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 ( - +
{/* heading */} @@ -25,7 +22,7 @@ export default function MyPendingJobs(props) { - Pending Job(s) + Pending Offers
@@ -36,13 +33,17 @@ export default function MyPendingJobs(props) { >
- {props.MyJobList.loading ? -
- -
- : - - } + {props.MyJobList.loading ? ( +
+ +
+ ) : ( + + )}
diff --git a/src/components/Partials/MobileSideBar.jsx b/src/components/Partials/MobileSideBar.jsx index 4905c62..5af864f 100644 --- a/src/components/Partials/MobileSideBar.jsx +++ b/src/components/Partials/MobileSideBar.jsx @@ -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", }, { diff --git a/src/components/Partials/RightSideBar.jsx b/src/components/Partials/RightSideBar.jsx index c1b9578..eb42aec 100644 --- a/src/components/Partials/RightSideBar.jsx +++ b/src/components/Partials/RightSideBar.jsx @@ -190,7 +190,7 @@ export default function RightSideBar({myJobList}) { {/* name */}

- Review Pending + Review

diff --git a/src/components/Partials/Sidebar.jsx b/src/components/Partials/Sidebar.jsx index abc71a9..e204260 100644 --- a/src/components/Partials/Sidebar.jsx +++ b/src/components/Partials/Sidebar.jsx @@ -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" > - + )} diff --git a/src/components/jobPopout/JobListPopout.jsx b/src/components/jobPopout/JobListPopout.jsx index f805719..876bbf0 100644 --- a/src/components/jobPopout/JobListPopout.jsx +++ b/src/components/jobPopout/JobListPopout.jsx @@ -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 ( - - ); - case "public": - return ( - - ); - case "individual": - return ( - - ); - case "group": - return ( - - ); - default: - return null; - } - }; - - return ( - - {(props) => ( -
- {renderForm(props)} -

- {props?.values[selectedTab] === "" && ( - {errMsg?.jobFields[selectedTab]} - )} -

{" "} -
- )} -
- ); - }; - return (
@@ -424,7 +327,7 @@ function JobListPopout({
- +
@@ -447,16 +350,142 @@ function JobListPopout({ ))}
- + {selectedTab == "family" && ( + + {(props) => { + return ( +
+ {/* Assign to Family */} + +

+ {" "} + {props?.values?.family === "" && ( + {errMsg?.jobFields?.family} + )} +

{" "} + + ); + }} +
+ )} + {selectedTab == "public" && ( + + {(props) => { + return ( +
+ {/* Offer this job to public input */} + +

+ {" "} + {props?.values.public === "" && ( + {errMsg?.jobFields?.public} + )} +

{" "} + + ); + }} +
+ )} + + {selectedTab == "individual" && ( + + {(props) => { + return ( +
+ {/* Offer this job to individual input */} + +

+ {" "} + {props?.values.individual === "" && ( + {errMsg?.jobFields?.individual} + )} +

{" "} + + ); + }} +
+ )} + + {/* { process.env.REACT_APP_SHOW_OFFER_GROUP_JOB != 0 && } */} + {selectedTab == "group" && ( + + {(props) => { + return ( +
+ {/* Offer this job to your group input */} + +

+ {" "} + {props?.values.group === "" && ( + {errMsg?.jobFields?.group} + )} +

+ + ); + }} +
+ )}

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 ( <> - -- 2.34.1