import React from 'react'; import { CurrentView, Vacancy } from '../types'; import { SECTION_IDS, VACANCY_DETAIL_CONTENT } from '../constants'; // mockVacancies removed import Button from './Button'; import { ArrowUturnLeftIcon, BriefcaseIcon, MapPinIcon, ClockIcon, EmailIcon, CheckIcon } from './icons'; interface VacancyDetailProps { itemId: string; allVacancies: Vacancy[]; // Changed to accept allVacancies from Strapi setCurrentView: (view: CurrentView) => void; setSelectedItemId: (id: string | null) => void; } const VacancyDetail: React.FC = ({ itemId, allVacancies, setCurrentView, setSelectedItemId }) => { const vacancy = allVacancies.find(v => v.id === itemId || v.href === itemId); const handleBackClick = () => { setCurrentView('careers'); setSelectedItemId(null); setTimeout(() => { document.getElementById(SECTION_IDS.careersPage)?.scrollIntoView({ behavior: 'smooth' }); }, 0); }; if (!vacancy) { return (

{VACANCY_DETAIL_CONTENT.notFoundTitle}

{VACANCY_DETAIL_CONTENT.vacancyNotFoundMessage}

); } const applyMailto = `mailto:${VACANCY_DETAIL_CONTENT.hrEmail}?subject=${encodeURIComponent(VACANCY_DETAIL_CONTENT.mailtoSubjectPrefix + vacancy.title)}&body=${encodeURIComponent(VACANCY_DETAIL_CONTENT.mailtoBodyPrefix + vacancy.title + "\"." + " Мое резюме во вложении.")}`; return (

{vacancy.title}

{vacancy.department}
{vacancy.location}
{vacancy.type}
{vacancy.fullDescription && ( <>

{VACANCY_DETAIL_CONTENT.descriptionTitle}

{typeof vacancy.fullDescription === 'string' && vacancy.fullDescription.includes('<') ?
:

{vacancy.fullDescription}

} )} {vacancy.responsibilities && vacancy.responsibilities.length > 0 && ( <>

{VACANCY_DETAIL_CONTENT.responsibilitiesTitle}

    {vacancy.responsibilities.map((item, index) => (
  • {item}
  • ))}
)} {vacancy.qualifications && vacancy.qualifications.length > 0 && ( <>

{VACANCY_DETAIL_CONTENT.qualificationsTitle}

    {vacancy.qualifications.map((item, index) => (
  • {item}
  • ))}
)} {vacancy.offer && vacancy.offer.length > 0 && ( <>

{VACANCY_DETAIL_CONTENT.offerTitle}

    {vacancy.offer.map((item, index) => (
  • {item}
  • ))}
)}

{VACANCY_DETAIL_CONTENT.applyPromptTitle}

{VACANCY_DETAIL_CONTENT.applyPromptMessage}

); }; export default VacancyDetail;