import "./JobAdDetails.css" import {useEffect, useState} from "react"; import {useDispatch, useSelector} from "react-redux"; import {JobAdvertisementActions} from "../../redux/actions/jobAdvertisementActions"; import {useParams} from "react-router"; import Roles from "../../enumerations/Roles"; import JobType from "../../enumerations/JobType"; import EmploymentStatus from "../../enumerations/EmploymentStatus"; import {formatRelativeTime} from "../../utils/utils"; import {AddJobAdModal} from "./AddJobAdModal"; export const JobAdDetails = () => { const dispatch = useDispatch(); const [jobAd, setJobAd] = useState("") const [recruiterDetails, setRecruiterDetails] = useState(""); const [role, setRole] = useState("") const {id} = useParams(); const auth = useSelector(state => state.auth.currentUser); useEffect(() => { setRole(auth.role) }, [auth]) useEffect(() => { JobAdvertisementActions.fetchJobAdvertisementById(id, (success, response) => { if (success) { setJobAd(response.data) JobAdvertisementActions.fetchRecruiterDetailsById(response.data.recruiterId, (successAgain, responseAgain) => { if(successAgain) { setRecruiterDetails(responseAgain.data) } }) } }); }, []) return (

{jobAd.title}

{jobAd.jobType===JobType.JOB ? "Job" : "Internship"} {!jobAd.active && Expired}

{jobAd.recruiterName}{jobAd.industry}{formatRelativeTime(jobAd.postedOn)}

Hourly rate: ${jobAd.startingSalary}

Employment status: {jobAd.employmentStatus===EmploymentStatus.FULL_TIME ? "Full-time" : "Part-time"}

Active until: {new Date(jobAd.activeUntil).toLocaleString('default', { day: 'numeric', month: 'long', year: 'numeric' })}

About the job

{jobAd.description && (

") }}>

)} {role===Roles.JOBSEEKER && <> {jobAd.active && } {!jobAd.active && } }

{jobAd.recruiterName}

{/*TO DO - AFTER IMPLEMENTING FORM FOR UPDATING PERSONAL INFO*/}

About the company

As a pioneering Swiss software company, we provide innovative IT products and tailored digital solutions. We bring decades of experience in designing, developing, and implementing highly scalable, secure, and user-centric software.

Working across the banking, payment, mobility, health, and publishing industries, we are experts at delivering seamless and secure user journeys within these privacy-driven environments. Our business-critical applications are designed to overcome complexity and drive growth.

We are based in Zurich, Switzerland, and have offices elsewhere in Europe, Asia, and the Middle East. Founded in 1996, we are a business of 800 experts, enabling our clients to create value with trusted software..

{recruiterDetails.email} {recruiterDetails.phoneNumber}

) }