import React, { useEffect, useState } from "react"; import { useSelector } from "react-redux"; import Layout from "../Partials/Layout"; import { useNavigate } from "react-router-dom"; import ActiveJobMessage from "./ActiveJobMessage"; import LoadingSpinner from "../Spinners/LoadingSpinner"; import usersService from "../../services/UsersService"; function ActiveJobs(props) { const ApiCall = new usersService() let { userDetails } = useSelector((state) => state.userDetails); let navigate = useNavigate() let [messageToSend, setMessageToSend] = useState('') // State to hold the value of message to be sent let [requestStatus, setRequestStatus] = useState({loading: false, status: false, message: ''}) // FUNCTION TO HANDLE MESSAGE CHANGE const handleMessageChange = ({target:{value}}) => { setMessageToSend(value) } // FUNCTION TO SEND TASK MESSAGE const sendTaskMessage = () => { let reqData={message: messageToSend, msg_type: 'TEXT', contract:props.details.contract} if(!reqData.message){ setRequestStatus({loading: false, status: false, message: 'Message is empty'}) return setTimeout(()=>{ setRequestStatus({loading: false, status: false, message: ''}) }, 5000) } setRequestStatus({loading: true, status: false, message: ''}) ApiCall.sendTaskMessage(reqData).then((res)=>{ if(res.status != 200 || res.data.internal_return < 0){ setRequestStatus({loading: false, status: false, message: 'Message could not be sent, try again later'}) return } setRequestStatus({loading: false, status: true, message: 'Message Sent Successfully'}) props.reloadActiveJobList(prev => !prev) // MAKES ACTIVE JOB MESSAGE LIST TO RELOAD setMessageToSend('') // SENDS MESSAGE TO SEND BACK TO EMPTY STRINGS }).catch(error => { setRequestStatus({loading: false, status: false, message: 'Opps! something went wrong'}) }).finally(()=>{ setTimeout(()=>{ setRequestStatus({loading: false, status: false, message: ''}) }, 5000) }) } return (
{/* back btn and title */}

{props.details?.title && props.details.title}

{/* END of back btn and title */}

{props.details?.contract && props.details.contract}

Description: {props.details?.description && props.details.description}

Delivery Detail

Due: {props.details?.delivery_date && props.details.delivery_date.split(" ")[0]}

{props.details?.delivery_date && props.details.delivery_date.split(" ")[1]}

{props.details?.timeline_days && props.details.timeline_days} day(s)

{userDetails.firstname && userDetails.firstname}

Message(s)