From 3818e05d2f38dfeef5aa098d51a2b88204afdf02 Mon Sep 17 00:00:00 2001 From: victorAnumudu Date: Tue, 13 Jun 2023 14:33:01 +0100 Subject: [PATCH] pastdue popout component added --- .../JobActions/PastDueJobAction.jsx | 171 +++++++++++++++++- 1 file changed, 168 insertions(+), 3 deletions(-) diff --git a/src/components/MyActiveJobs/JobActions/PastDueJobAction.jsx b/src/components/MyActiveJobs/JobActions/PastDueJobAction.jsx index f1ef05b..c26db4a 100644 --- a/src/components/MyActiveJobs/JobActions/PastDueJobAction.jsx +++ b/src/components/MyActiveJobs/JobActions/PastDueJobAction.jsx @@ -1,6 +1,59 @@ -import React from 'react' +import React,{useState} from 'react' +import ModalCom from '../../Helpers/ModalCom' +import LoadingSpinner from '../../Spinners/LoadingSpinner' + +function PastDueJobAction({jobDetails}) { + + const [checked, setChecked] = useState(false) + + const [extendedTime, setExtendedTime] = useState('') // VALUE OF NEW EXTENDED TIME + + const [action, setAction] = useState('') // VALUE OF NEW EXTENDED TIME + + const [reqStatus, setReqStatus] = useState({loading:false, status: false, message: ''}) + + let [popUp, setPopUp] = useState(false) + + const popUpHandler = () => { + if(popUp){ + setChecked(false) + } + setPopUp(prev => !prev) + } + + // FUNCTION TO HANDLE WHEN USER CLICKS ON SEND FOR REVIEW AND ACCEPTANCE + const cancelTask = () => { + setAction('cancel') + setReqStatus({loading:true, status: false, message: ''}) + + if(!checked){ // CHECKS IF CHECKBOX IS SELECTED + setReqStatus({loading:false, status: false, message: 'Please check the box above'}) + return setTimeout(()=>{ + setReqStatus({loading:false, status: false, message: ''}) + }, 3000) + } + setTimeout(()=>{ + setReqStatus({loading:false, status: false, message: ''}) + }, 3000) + } + + // FUNCTION TO HANDLE WHEN USER CLICKS ON SEND FOR REVIEW AND ACCEPTANCE + const extendTime = () => { + setAction('extend') + setReqStatus({loading:true, status: false, message: ''}) + + if(!extendedTime){ // CHECKS IF EXTENDED TIME IS SELECTED + setReqStatus({loading:false, status: false, message: 'Please select extension duration'}) + return setTimeout(()=>{ + setReqStatus({loading:false, status: false, message: ''}) + }, 3000) + } + + setTimeout(()=>{ + setReqStatus({loading:false, status: false, message: ''}) + }, 3000) + } -function PastDueJobAction() { return (
@@ -20,7 +73,7 @@ function PastDueJobAction() {
-
@@ -28,6 +81,118 @@ function PastDueJobAction() { + + {popUp && ( + +
+
+

+ Past Due Task +

+ +
+
+
+
+ {setChecked(prev => !prev)}} + className='w-6 h-6 text-sky-blue bg-gray-100 focus:ring-sky-blue' + /> +

I am ready to cancel this task

+
+ +
+ {reqStatus.loading && action=='cancel'? + + : + + } +
+ + {/* EXTEND TIMELINE SECTION */} +
+
+

Extend the timeline by:

+ +
+ {reqStatus.loading && action=='extend' ? + + : + +} +
+ + {/* FOR SUCCESS/ERROR DISPLAY SECTION*/} +
+ {reqStatus.message != "" && + (!reqStatus.status ? ( +
+ {reqStatus.message} +
+ ) : ( + reqStatus.status && ( +
+ {reqStatus.message} +
+ ) + ))} +
+ {/* END OF FOR SUCCESS/ERROR DISPLAY SECTION*/} +
+ + {/* cancel btn */} +
+ +
+
+
+
+ )}
) }