import React, { useCallback, useMemo, useState } from "react"; import Detail from "./popoutcomponent/Detail"; import ModalCom from "../Helpers/ModalCom"; import usersService from "../../services/UsersService"; import { toast } from "react-toastify"; import LoadingSpinner from "../Spinners/LoadingSpinner"; const showSuccessToast = (message) => { toast.success(message, { autoClose: 3000, hideProgressBar: true, }); }; function PendingJobsPopout({ details, onClose, situation }) { const [pendingJobLoader, setPendingJobLoader] = useState({ extend: false, offer: false, }); const apiCall = useMemo(() => new usersService(), []); const handlePendingJobsBtn = useCallback( async ({ target: { name } }) => { let { job_uid, offer_code } = details; let reqData; let pendingData = { job_uid, offer_code }; try { if (name === "extend") { setPendingJobLoader({ extend: true }); reqData = { ...pendingData }; // let { data } = await apiCall.pendingJobExtend(reqData); // console.log("This is for extend", data); showSuccessToast("Job has been extended by a week!"); } else if (name === "offer") { setPendingJobLoader({ offer: true }); reqData = { ...pendingData }; // let { data } = await apiCall.pendingJobSendTome(reqData); // console.log("This is for offer", data); showSuccessToast("Offer sent, check your email"); } else return; setTimeout(() => { setPendingJobLoader({ extend: false, offer: false }); onClose(); }, 2700); } catch (error) { setPendingJobLoader({ extend: false, offer: false }); throw new Error(error); } }, [onClose, apiCall, details] ); return (

Manage Pending Item

{details.title}

!

This Job have been sent to public view

This Job will expire

{/* INPUT SECTION */}
{/* ACTION SECTION */}

Actions

Job sent to public view

{/* close button */}
{/* end of close button */}
); } export default PendingJobsPopout;