import "./Dashboard.css" import {useDispatch, useSelector} from "react-redux"; import {useEffect, useState} from "react"; import {JobAdvertisementActions} from "../../redux/actions/jobAdvertisementActions"; import {formatRelativeTime, sortElementsByDateCreated} from "../../utils/utils"; import {dataRangeOptions, industryOptions, industryOptionsFilter, sortOptions} from "../selectOptions"; import Select from "react-select"; import Roles from "../../enumerations/Roles"; import {Link} from "react-router-dom"; import JobType from "../../enumerations/JobType"; export const Dashboard = () => { const dispatch = useDispatch(); const [jobAdvertisements, setJobAdvertisements] = useState([]); let jobAdvertisementsState = useSelector(state => state.jobAd.jobAdvertisements) const auth = useSelector(state => state.auth.currentUser); const [role, setRole] = useState(""); const [sortOrder, setSortOrder] = useState("newest"); const [selectedDateRange, setSelectedDateRange] = useState("all"); const [searchTerm, setSearchTerm] = useState(""); const [dispatched, setDispatched] = useState(false) useEffect(() => { if (auth) { setRole(auth.role); } }, [auth]); useEffect(() => { if(!dispatched && jobAdvertisementsState.length == 0) { dispatch(JobAdvertisementActions.fetchJobAdvertisements((success, response) => { if (success && response.data.length > 0) { setJobAdvertisements(sortElementsByDateCreated(response.data)) } setDispatched(true) console.log("Fetch all job advertisements GET") console.log(response.data) })) } else { setJobAdvertisements(jobAdvertisementsState) console.log("Fetch all job advertisements STATE") } }, []) return (
setSearchTerm(event.target.value)} />
setSortOrder(option.value)} options = {sortOptions} className="sort-range sort" />