import React, {useState, useEffect} from 'react' import ActiveJobs from '../components/MyActiveJobs/ActiveJobs' import { useLocation, useNavigate } from 'react-router-dom' import usersService from '../services/UsersService' function ManageActiveJobs() { const ApiCall = new usersService() let navigate = useNavigate() let {state} = useLocation() let [details, setDetails] = useState({}) // to hold state values let [activeJobMesList, setActiveJobMesList] = useState({loading: true, error: false, data: []}) let [activeJobMesListReload, setActiveJobMesListReload] = useState(false)// state to determine when ACTIVE JOB MESSAGE LIST RELOADS/RE-RENDERS const getActiveJobMesList = () => { // FUNCTION TO GET ACTIVE JOB MESSAGE LIST setActiveJobMesList({loading: true, error: false, data: []}) let contract = {contract: state.contract} ApiCall.activeJobMesList(contract).then((res)=>{ if(res.status != 200 || res.data.internal_return < 0){ setActiveJobMesList({loading: false, error: false, data: []}) return } setActiveJobMesList({loading: false, error: false, data: res.data.result_list}) }).catch((error)=>{ setActiveJobMesList({loading: false, error: true, data: []}) }) } useEffect(()=>{ if(!state){ navigate('/', {replace: true}) return } setDetails(state) getActiveJobMesList() },[activeJobMesListReload]) return ( ) } export default ManageActiveJobs