import {useDispatch} from "react-redux"; import {useEffect, useState} from "react"; import {useParams} from "react-router"; import {ApplicationActions} from "../../redux/actions/applicationActions"; import {ViewApplicationDetails} from "./ViewApplicationDetails"; import "./Applications.css" import Select from "react-select"; export const ApplicationsByJobAd = () => { const dispatch = useDispatch(); let {advertisement_id} = useParams(); const [applicationsByJobAd, setApplicationsByJobAd] = useState([]); const [jobAdTitle, setJobAdTitle] = useState(""); useEffect(() => { dispatch(ApplicationActions.fetchApplicationsByJobAdId(advertisement_id, (success, reponse) => { if (success && reponse.data.length > 0) { setApplicationsByJobAd(reponse.data) setJobAdTitle(reponse.data[0].jobAdTitle) } })) }, []) const options = [ {value: 'PROPOSED', label: Proposed}, {value: 'UNDER_REVIEW', label: Under Review}, {value: 'ACCEPTED', label: Accepted}, {value: 'DENIED', label: Denied} ]; let handleDefaultStatus = (status) => { return options.find(option => option.value === status); } let handleChangeStatus = (selectedOption, id) => { dispatch(ApplicationActions.updateApplicationStatus(id, selectedOption.value, (success, response) => { if(success) { console.log("Status updated.") } })) } return (
{jobAdTitle ?

Applications for {jobAdTitle}

:

}
{applicationsByJobAd && applicationsByJobAd.map((application, index) => (
Submitted on {new Date(application.submittedOn).toLocaleString('default', { day: 'numeric', month: 'long', year: 'numeric' })}

{application.jobSeekerName}
{application.jobSeekerEmail}
{application.jobSeekerPhoneNumber}