import React, { useState } from 'react' import ModalCom from '../Helpers/ModalCom' import { useNavigate } from 'react-router-dom' import usersService from '../../services/UsersService' import LoadingSpinner from '../Spinners/LoadingSpinner' import { useDispatch } from 'react-redux' import { tableReload } from '../../store/TableReloads' function DeleteJobPopout({details, onClose, situation}) { let dispatch = useDispatch() const navigate = useNavigate() const ApiCall = new usersService() let [requestStatus, setRequestStatus] = useState({laoding: false, status:false, message: ''}) // STATE FOR KNOWING WHEN A REQUEST IS MADE TO THE SERVER // FUNCTION CALLED ONCE USER CONFIRM DELETE JOB const deleteJob = (details) => { setRequestStatus({laoding: true, status:false, message: ''}) let reqData = { job_id: details.job_id, job_uid: details.job_uid } // DATA NEEDED BY THE API // API CALL TO DELETE A JOB ApiCall.deleteJob(reqData).then(res => { if(res.data.internal_return < 0){ setRequestStatus({laoding: false, status:false, message: 'Could not perform the request, try again!'}) return } setRequestStatus({laoding: false, status:true, message: 'Job deleted successfully'}) setTimeout(()=>{ dispatch(tableReload({type:'JOBTABLE'})) navigate('/myjobs', {replace: true}) onClose() }, 1000) }).catch(error => { setRequestStatus({laoding: false, status:false, message: 'Opps! something went wrong, try again'}) }).finally(()=>{ setTimeout(()=>{ setRequestStatus({laoding: false, status:false, message: ''}) }, 5000) }) } return (

Delete Job

{details.title}

Price: {details.price * 0.01}

Duration: {details.timeline_days} day(s)

{requestStatus.laoding ? : }
{/* ERROR DISPLAY AND SUBMIT BUTTON */} {requestStatus.message != "" && ( !requestStatus.status ? (
{requestStatus.message}
) : requestStatus.status && (
{requestStatus.message}
) )} {/* End of error or success display */}
) } export default DeleteJobPopout