diff --git a/src/components/FamilyAcc/FamilyPopout/AssignTaskPopout.jsx b/src/components/FamilyAcc/FamilyPopout/AssignTaskPopout.jsx index 6a9162b..54e7dee 100644 --- a/src/components/FamilyAcc/FamilyPopout/AssignTaskPopout.jsx +++ b/src/components/FamilyAcc/FamilyPopout/AssignTaskPopout.jsx @@ -7,15 +7,65 @@ import { PriceFormatter } from '../../Helpers/PriceFormatter' function AssignTaskPopout({action, situation, familyDetails}) { const apiCall = new usersService() + + let [requestStatus, setRequestStatus] = useState({loading: false, status: false, message: ''}) // HOLDS RESPONSE FOR SENDING API REQUEST let [familyTask, setFamilyTask] = useState({loading: true, data: []}) - let [activeTask, setActiveTask] = useState({id: 0, data: {}}) -console.log('TESTING',activeTask.data) - const handleActiveTask = (id=0, data={}) => { + let [taskType, setTaskType] = useState('select') // SWITCHES BTW SELECT TASK AND NEW TASK + + let [activeTask, setActiveTask] = useState({id: 0, data: {}}) // HOLDS SELECTED TASK + + const switchTaskType = ({target:{value}}) => { // FUNCTION TO CHANGE SELECTED ACTIVE TASK + setTaskType(value) + } + + const handleActiveTask = (id=0, data={}) => { // FUNCTION TO CHANGE SELECTED ACTIVE TASK setActiveTask({id, data}) } + const assignFamilyTask = () => { + setRequestStatus({loading: true, status: false, message: ''}) + let reqData = {} + if(taskType == 'select'){ // RUNS HERE IF TASK TYPE IS SELECT + if(!Object.keys(activeTask.data).length){ + setRequestStatus({loading: false, status: false, message: 'No Task is seleted'}) + return setTimeout(()=>{ + setRequestStatus({loading: false, status: false, message: ''}) + }, 3000) + } + reqData = { // API PAYLOADS + job_id: activeTask.data?.job_id, + job_uid: activeTask.data?.job_uid, + family_uid: familyDetails.uid, + job_description: activeTask.data?.description, + assign_mode: 110011, + } + + apiCall.assignFamilyTask(reqData).then(res => { + if(res.status != 200 || res.data.internal_return < 0){ + setRequestStatus({loading: false, status: false, message: 'failed to assign task'}) + return setTimeout(()=>{ + setRequestStatus({loading: false, status: false, message: ''}) + }, 5000) + } + setRequestStatus({loading: false, status: true, message: 'action successful'}) + setTimeout(()=>{ + setRequestStatus({loading: false, status: false, message: ''}) + }, 5000) + }).catch(err => { + setRequestStatus({loading: false, status: false, message: 'An Error occured, try again'}) + setTimeout(()=>{ + setRequestStatus({loading: false, status: false, message: ''}) + }, 5000) + }) + } + + if(taskType == 'new'){ // RUNS HERE IF TASK TYPE IS NEW TASK + console.log('TESTING') + } + } + useEffect(()=>{ const reqData = { limit: 30, @@ -25,7 +75,9 @@ console.log('TESTING',activeTask.data) } apiCall.getMyJobList(reqData).then(res => { setFamilyTask({loading: false, data: res?.data?.result_list}) - setActiveTask(prev => ({...prev, data:res?.data?.result_list[0]})) + if(res?.data?.result_list?.length){ + setActiveTask(prev => ({...prev, data:res?.data?.result_list[0]})) + } }).catch(err => { setFamilyTask({loading: false, data: []}) console.log('Error', err) @@ -37,7 +89,7 @@ console.log('TESTING',activeTask.data) action={action} situation={situation} > -
{item?.title}
-{item?.title}
+No Task found!
+ : +SPACE FOR NEW TASK
}{activeTask?.data?.title}
-{PriceFormatter(activeTask?.data?.price*0.01, activeTask?.data?.currency, activeTask?.data?.curreny_code)}
+{`${activeTask?.data?.timeline_days} day(s)`}
+{errMsg.deliveryDetail}
*/} + {/*{}
*/}No Task found!
}