import {useDispatch, useSelector} from "react-redux"; import {useEffect, useState} from "react"; import {ApplicationActions} from "../../redux/actions/applicationActions"; import {ViewApplicationDetails} from "./ViewApplicationDetails"; import Select from "react-select"; export const ApplicationsByJobSeeker = () => { const dispatch = useDispatch(); const [applicationsByJobSeeker, setApplicationsByJobSeeker] = useState([]); let applicationsByJobSeekerState = useSelector(state => state.appl.applicationsByJobSeeker); const [dispatched, setDispatched] = useState(false); useEffect(() => { if(!dispatched && applicationsByJobSeekerState.length === 0) { dispatch(ApplicationActions.fetchApplicationsByJobSeeker((success, response) => { if(success && response.data.length > 0) { setApplicationsByJobSeeker(response.data); } console.log("Fetch applications by job seeker GET") })) setDispatched(true) } else { setApplicationsByJobSeeker(applicationsByJobSeekerState); console.log("Fetch applications by job seeker STATE") } }, [applicationsByJobSeekerState]) const options = [ {value: 'PROPOSED', label: Proposed}, {value: 'UNDER_REVIEW', label: Under Review}, {value: 'ACCEPTED', label: Accepted}, {value: 'DENIED', label: Denied} ]; let handleDefaultValue = (status) => { return options.find(option => option.value === status); } return (
{applicationsByJobSeeker && applicationsByJobSeeker.map((application, index) => (
{application.jobAdTitle}

{application.recruiterName}
{application.recruiterEmail}
{application.recruiterPhoneNumber}
• Submitted on {new Date(application.submittedOn).toLocaleString('default', { day: 'numeric', month: 'long', year: 'numeric' })}