import{aV as S,c as g,r as b,j as s,R as y,J as R,B as E}from"./index-DAC_nvu_.js";import{l as C,S as j,M as k,C as P}from"./MatchBadge-CrcSn9i_.js";import{S as T}from"./checkbox_icon-Ce4kOCJ6.js";import{H as A}from"./HoverHint-Ca4hoDjb.js";import"./VacancyItemSkeleton-LrT57mIm.js";const U=e=>e?new Date(e).toLocaleDateString("ru-RU",{day:"numeric",month:"long"}):"",O=(e,o,r="₽")=>{const l={RUB:"₽",USD:"$",EUR:"€"}[r]||r,_=n=>{if(typeof n=="number")return n;if(typeof n=="string"){const m=parseInt(n,10);return isNaN(m)?void 0:m}},c=_(e),a=_(o);if(!c&&!a)return"з/п не указана";const i=n=>n.toLocaleString("ru-RU");return c&&a?`${i(c)} - ${i(a)} ${l}`:c?`от ${i(c)} ${l}`:a?`до ${i(a)} ${l}`:"з/п не указана"},F=e=>e?{EXPERIENCE_UNSPECIFIED:"Опыт не указан",EXPERIENCE_WITHOUT:"Без опыта",EXPERIENCE_1_TO_3_YEARS:"От 1 до 3 лет",EXPERIENCE_3_TO_6_YEARS:"От 3 до 6 лет",EXPERIENCE_6_YEARS:"Более 6 лет"}[e]||e:"Опыт не указан",D=e=>e?{WORKING_SCHEDULE_UNSPECIFIED:"Занятость не указана",WORKING_SCHEDULE_FULL_TIME:"Полная занятость",WORKING_SCHEDULE_PART_TIME:"Частичная занятость",WORKING_SCHEDULE_INTERNSHIP:"Стажировка",WORKING_SCHEDULE_WATCH:"Вахтенный метод",WORKING_SCHEDULE_PROJECT_WORK:"Проектная работа"}[e]||e:void 0,H=e=>{if(!e||e.length===0)return;const o={OFFICE_TYPE_UNSPECIFIED:"Формат работы не указан",OFFICE_TYPE_REMOTE:"Удалённо",OFFICE_TYPE_HYBRID:"Гибрид",OFFICE_TYPE_OFFICE:"Офис",OFFICE_TYPE_FIELD_WORK:"Разъездная работа"};return e.map(r=>o[r]||r).join(", ")},W=({vacancy:e,applicantId:o,onApplySuccess:r,onLikeToggle:h})=>{var x;const l=S(),_=g(),[c,a]=b.useState(!1),i=e.status==="VACANCY_STATUS_DRAFT"||e.status==="VACANCY_STATUS_ARCHIVED",n=e.responseStatus==="RESPONSE_STATUS_REJECTED",m=e.hasApplied,d=n?"Отказ":m?"Отклик отправлен":null,u=[F(e.workingExperience),D(e.workingSchedule),e.workHoursNegotiable?"По договорённости":e.workHoursPattern,H(e.officeTypes)].filter(Boolean),N=l(t=>{t.stopPropagation(),!(!o||i)&&h(e.id,!!e.isLikedByCurrentUser)}),f=l(t=>{t.stopPropagation(),!(e.hasApplied||!o||i)&&r(e.id)}),I=t=>{t.stopPropagation(),!i&&(e.chatId?_(`/chats/${e.chatId}`):_("/chats"))};return s.jsxs("li",{className:`vacancy__item ${i?"vacancy__item--inactive":""} ${n?"vacancy__item--rejected":""}`,id:`vacancy-item-${e.id}`,children:[d&&s.jsxs("div",{className:"vacancy__item-header",children:[s.jsx("p",{className:"vacancy__status-label body-3",children:d}),s.jsx("button",{className:"icon__button like__button",onClick:N,disabled:i,children:e.isLikedByCurrentUser?s.jsx("img",{src:C,alt:""}):s.jsx(j,{className:"like__vacancy-icon"})})]}),s.jsxs("div",{className:"vacancy__item-header vacancy__item-header--title",children:[s.jsx("a",{href:`/vacancies/detail/${e.id}`,target:"_blank",rel:"noopener noreferrer",className:"vacancy__header-text-link",children:s.jsxs("div",{className:"vacancy__header-text",children:[s.jsxs("div",{className:"vacancy__title-row",children:[s.jsx("h3",{className:"vacancy__title h3",children:e.title}),e.tags&&e.tags.length>0&&s.jsx("span",{className:"vacancy__title-meta h3",children:e.tags.map((t,p)=>s.jsxs(y.Fragment,{children:[p>0&&" • ",t]},t))})]}),s.jsx("p",{className:"vacancy__subtitle h2",children:O(e.salaryFrom,e.salaryTo,e.salaryCurrency)})]})}),!d&&s.jsx("button",{className:"icon__button like__button",onClick:N,disabled:i,children:e.isLikedByCurrentUser?s.jsx("img",{src:C,alt:""}):s.jsx(j,{className:"like__vacancy-icon"})})]}),u.length>0&&s.jsx("div",{className:"vacancy__chips",children:u.map((t,p)=>s.jsx("span",{className:"vacancy__chip body-3",children:t},p))}),s.jsxs("div",{className:"vacancy__info",children:[((x=e.company)==null?void 0:x.companyName)&&s.jsxs("a",{href:`/companies/detail/${e.company.id}`,target:"_blank",rel:"noopener noreferrer",className:"vacancy__company-row",onClick:t=>t.stopPropagation(),children:[s.jsx("img",{src:e.company.companyLogoUrl||e.company.imageUrl||R,alt:"",className:"vacancy__company-logo"}),s.jsx("p",{className:"vacancy__company body-3",children:e.company.companyName}),e.company.moderationStatus==="confirmed"&&s.jsx(A,{text:"Контакты проверены",position:"right",children:s.jsx(T,{className:"vacancy__company-verify-icon"})})]}),s.jsxs("p",{className:"vacancy__city body-3",children:[e.city||"Город не указан",e.city&&e.metroStations&&e.metroStations.length>0&&s.jsxs("span",{children:[s.jsx("span",{className:"vacancy__city-divider h3",children:" • "}),"м. ",e.metroStations.join(", ")]})]})]}),e.createdAt&&s.jsxs("div",{className:"vacancy__date-row",children:[s.jsxs("span",{className:"vacancy__date body-3",children:["Опубликовано ",U(e.createdAt)]}),s.jsxs("span",{className:"vacancy__publication-progress body-3",children:[s.jsx("span",{className:"vacancy__progress-ring",style:{"--ring-percent":`${e.completionPercent??0}%`}}),e.completionPercent??0,"%"]})]}),s.jsxs("div",{className:"vacancy__buttons-row",children:[n?s.jsx(E,{className:"vacancy__button",disabled:!0,children:"Откликнуться"}):m?s.jsx(E,{className:"vacancy__button",variant:"outlined",onClick:I,disabled:i,children:"Перейти в чат"}):s.jsx(E,{className:"vacancy__button",onClick:f,disabled:i,children:"Откликнуться"}),e.coefficient!==void 0&&e.coefficient!==null&&s.jsx("div",{className:e.competencies?"vacancy__suggestion-wrapper":void 0,onClick:e.competencies?t=>{t.preventDefault(),t.stopPropagation(),a(!0)}:void 0,role:e.competencies?"button":void 0,tabIndex:e.competencies?0:void 0,children:s.jsx(k,{percent:(e.coefficient*100).toFixed(0)})})]}),c&&e.competencies&&s.jsx(P,{competencies:e.competencies,onClose:()=>a(!1)})]})};export{W as V};