import React, { useState } from "react"; import Detail from "./popoutcomponent/Detail"; import ModalCom from "../Helpers/ModalCom"; import { useNavigate } from "react-router-dom"; import usersService from "../../services/UsersService"; import LoadingSpinner from "../Spinners/LoadingSpinner"; import { tableReload } from "../../store/TableReloads"; import { useDispatch } from "react-redux"; import { PriceFormatter } from "../Helpers/PriceFormatter"; function OfferJobPopout({ details, onClose, situation }) { const apiUrl = new usersService(); const navigate = useNavigate(); const dispatch = useDispatch(); const [requestStatus, setRequestStatus] = useState({ loading: false, status: false, message: "", trigger: "", }); let thePrice = PriceFormatter( details?.price * 0.01, details?.currency_code, details?.currency ); //FUNCTION TO HANDLE AN OFFER const handleOffer = ({ target: { name } }) => { const reqData = { // offer_result: 100, offer_code: details.contract, contract: details.contract, }; //logic to determine the button pressed and set reqDate accordingly if (name == "accept") { setRequestStatus({ loading: true, status: false, message: "", trigger: "offer", }); reqData.offer_result = 100; } if (name == "reject") { setRequestStatus({ loading: true, status: false, message: "", trigger: "reject", }); reqData.offer_result = 333; } // API CALL apiUrl .offersResponse(reqData) .then((response) => { if (response.status != 200 || response.data.internal_return < 0) { setRequestStatus({ loading: false, status: false, message: `Unable to ${name} Offer, try again later`, trigger: "", }); return; } setRequestStatus({ loading: false, status: true, message: `Offer ${name}ed Successfully`, trigger: "", }); setTimeout(() => { onClose(); dispatch(tableReload({ type: "MYTASKTABLE" })); dispatch(tableReload({ type: "HOMEBANNERS" })); navigate("/mytask", { replace: true }); setRequestStatus({ loading: false, status: false, message: "", trigger: "", }); }, 2000); }) .catch((error) => { setRequestStatus({ loading: false, status: false, message: `Opps! An Error Occurred`, trigger: "", }); }) .finally(() => { setTimeout(() => { setRequestStatus({ loading: false, status: false, message: "", trigger: "", }); }, 5000); }); }; return (

Start Task

{/* INPUT SECTION */}

{ (details.offer_added && details.offer_added?.split(" ")[0]) || "default" }

{details.expire && details.expire.split(" ")[0]}

{thePrice}

{`${details.timeline_days} day(s)`}

{details.title}

{details.description}

{/* */}
{/*

{details.job_description || details.job_detail}

*/}