diff --git a/src/Routers.jsx b/src/Routers.jsx
index 65bf038..9828d1b 100644
--- a/src/Routers.jsx
+++ b/src/Routers.jsx
@@ -40,6 +40,7 @@ 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";
export default function Routers() {
return (
@@ -86,6 +87,7 @@ export default function Routers() {
} />
} />
} />
+ } />
} />
} />
} />
diff --git a/src/assets/images/banner-coupons.jpg b/src/assets/images/banner-coupons.jpg
new file mode 100644
index 0000000..8ead515
Binary files /dev/null and b/src/assets/images/banner-coupons.jpg differ
diff --git a/src/assets/images/banner-job-due.jpg b/src/assets/images/banner-job-due.jpg
new file mode 100644
index 0000000..1bedc79
Binary files /dev/null and b/src/assets/images/banner-job-due.jpg differ
diff --git a/src/assets/images/banner-task-due.jpg b/src/assets/images/banner-task-due.jpg
new file mode 100644
index 0000000..1bedc79
Binary files /dev/null and b/src/assets/images/banner-task-due.jpg differ
diff --git a/src/components/Cards/HomeBannerOffersCard.jsx b/src/components/Cards/HomeBannerOffersCard.jsx
index ed25bd6..02e58ef 100644
--- a/src/components/Cards/HomeBannerOffersCard.jsx
+++ b/src/components/Cards/HomeBannerOffersCard.jsx
@@ -32,7 +32,7 @@ export default function HomeBannerOffersCard(props) {
{props.itemData.description}
- [BUTTON HERE]
+ [ {props.itemData.button_text} ]
diff --git a/src/components/MyActiveJobs/ActiveJobs.jsx b/src/components/MyActiveJobs/ActiveJobs.jsx
index b46ad91..7cb2cca 100644
--- a/src/components/MyActiveJobs/ActiveJobs.jsx
+++ b/src/components/MyActiveJobs/ActiveJobs.jsx
@@ -4,14 +4,17 @@ import Layout from "../Partials/Layout";
import { useNavigate } from "react-router-dom";
import ActiveJobMessage from "./ActiveJobMessage";
import LoadingSpinner from "../Spinners/LoadingSpinner";
+import CountDown from "../Helpers/CountDown";
import usersService from "../../services/UsersService";
function ActiveJobs(props) {
const ApiCall = new usersService()
+ let navigate = useNavigate()
let { userDetails } = useSelector((state) => state.userDetails);
- let navigate = useNavigate()
+
+ let [passDue, setPassDue] = useState(new Date() > new Date(props.details?.delivery_date)) // STATE TO KNOW IF TASK IS PASSED DUE TIME
let [messageToSend, setMessageToSend] = useState('') // State to hold the value of message to be sent
@@ -145,10 +148,33 @@ function ActiveJobs(props) {
}
}
+
+ // FUNCTION TO CHECK IF TASK PASS DUE IS REACHED
+ let isPassedDue = () => {
+ // console.log('TESTING',new Date() > new Date(props.details?.delivery_date) )
+ if(new Date() > new Date(props.details?.delivery_date)){
+ setPassDue(true)
+ }else{
+ setPassDue(false)
+ }
+ }
+
+
+ useEffect(()=>{
+ if(!passDue){
+ let passDueInterval = setInterval(()=>{
+ isPassedDue()
+ },1000)
+ return ()=>{
+ clearInterval(passDueInterval)
+ }
+ }
+ },[passDue])
+
return (
-
+
{/* job title */}
@@ -172,20 +198,14 @@ function ActiveJobs(props) {
-
-
-
- {props.details?.contract && props.details.contract}
-
-
+
+
{userDetails.firstname && userDetails.firstname}
+
+
Description:
+
{props.details?.description && props.details.description}
-
-
- Description:
- {props.details?.description && props.details.description}
-
{/* end of job title */}
@@ -193,7 +213,9 @@ function ActiveJobs(props) {
{/* job details */}
Delivery Detail
-
+ {passDue ?
+ (
+
Due:
{props.details?.delivery_date &&
@@ -203,9 +225,33 @@ function ActiveJobs(props) {
{props.details?.delivery_date &&
props.details.delivery_date.split(" ")[1]}
-
- {props.details?.timeline_days && props.details.timeline_days} day(s)
-
+
+ )
+ :
+ (
+
+
Due:
+
+
+
+
+
+ Hrs
+ Min
+ Sec
+
+
+
+ )
+ }
+
+
+ Duration:
+ {props.details?.timeline_days && props.details.timeline_days} day(s)
+
+
+ No:
+ {props.details?.contract && props.details.contract}
{/* end of job details */}
@@ -293,24 +339,6 @@ function ActiveJobs(props) {
{/* Buttons Sections */}
- {/*
- {tab == 'files' &&
- (
-
{console.log('working')}}
- type="button"
- className="btn-gradient text-base tracking-wide px-4 py-2 rounded-md flex justify-center items-center"
- >
-
-
-
-
- Upload Files
-
- )
- }
-
*/}
-
{
+ setValue(value);
+ };
+ console.log("AMEYE LOC1", props.MyJobList);
+ return (
+
+
+
+
+ {/* heading */}
+
+
+
+
+ Pass Due Job(s)
+
+
+
+
+
filterHandler("today")}
+ className="relative"
+ >
+
+
+
+
+
+
+ );
+}
diff --git a/src/services/UsersService.js b/src/services/UsersService.js
index 86eb0de..37cf02d 100644
--- a/src/services/UsersService.js
+++ b/src/services/UsersService.js
@@ -219,6 +219,7 @@ class usersService {
uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"),
+ job_mode: "ACTIVE",
limit: 30,
offset: 0,
action: 13008,
@@ -244,6 +245,7 @@ class usersService {
uuid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"),
+ job_mode: "ACTIVE",
page: 0,
offset: 0,
limit: 100,
@@ -251,6 +253,18 @@ class usersService {
return this.postAuxEnd("/jobmanageractive", postData);
}
+ getMyPastDueJobList() {
+ var postData = {
+ uuid: localStorage.getItem("uid"),
+ member_id: localStorage.getItem("member_id"),
+ sessionid: localStorage.getItem("session_token"),
+ job_mode: "PASTDUE",
+ page: 0,
+ offset: 0,
+ limit: 100,
+ };
+ return this.postAuxEnd("/jobmanageractive", postData);
+ }
getMyPendingJobList() {
var postData = {
uuid: localStorage.getItem("uid"),
diff --git a/src/views/MyPastDueJobsPage.jsx b/src/views/MyPastDueJobsPage.jsx
new file mode 100644
index 0000000..b50c9ce
--- /dev/null
+++ b/src/views/MyPastDueJobsPage.jsx
@@ -0,0 +1,36 @@
+import React, { useContext,useState, useEffect } from "react";
+import usersService from "../services/UsersService";
+//import MyJobs from "../components/MyJobs";
+//import MyActiveJobs from "../components/MyActiveJobs";
+import MyPastDueJobs from "../components/MyActiveJobs/MyPastDueJobs";
+
+export default function MyPastDueJobsPage() {
+ const commonHeadData =()=>{
+ console.log("COMMON HEAD DATA ----------------=====---------------------");
+ return 0;
+ }
+ const [MyJobList, setMyJobList] = useState([]);
+ const api = new usersService();
+//TARGET ENDPOINT[POST]http://10.204.5.100:9083/en/wrench/api/v1/jobmanageractive
+ const getMyJobList = async () => {
+ try {
+ const res = await api.getMyPastDueJobList();
+ setMyJobList(res.data);
+ } catch (error) {
+ console.log("Error getting mode");
+ }
+ };
+ useEffect(() => {
+ getMyJobList();
+ }, []);
+
+ // debugger;
+ return (
+ <>
+
+ >
+ );
+}