import{aX as g,c as R,r as P,j as s,R as k,M as T,B as E}from"./index-CsWJNzvD.js";import{l as f,b,C as A,c as U}from"./CompatibilityBadge-DQk38Ti1.js";import{S as O}from"./checkbox_icon-JlJLtjlK.js";import{H as F}from"./HoverHint-tfvgSH_R.js";import{C as I}from"./CopyInviteLinkButton-DvL04BkM.js";import{s as H}from"./Toast-CUYmVWT6.js";import"./VacancyItemSkeleton-6ExBBYPI.js";const D=e=>e?new Date(e).toLocaleDateString("ru-RU",{day:"numeric",month:"long"}):"",L=(e,o,r="₽")=>{const m={RUB:"₽",USD:"$",EUR:"€"}[r]||r,_=a=>{if(typeof a=="number")return a;if(typeof a=="string"){const i=parseInt(a,10);return isNaN(i)?void 0:i}},c=_(e),n=_(o);if(!c&&!n)return"з/п не указана";const l=a=>a.toLocaleString("ru-RU");return c&&n?`${l(c)} - ${l(n)} ${m}`:c?`от ${l(c)} ${m}`:n?`до ${l(n)} ${m}`:"з/п не указана"},v=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:"Опыт не указан",$=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,w=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(", ")},V=({vacancy:e,applicantId:o,onApplySuccess:r,onLikeToggle:u})=>{var j;const m=g(),_=R(),[c,n]=P.useState(!1),l=e.coefficient!==void 0&&e.coefficient!==null,a=e.hardCompatibilityPercentage!==void 0&&e.hardCompatibilityPercentage!==null,i=e.status==="VACANCY_STATUS_DRAFT"||e.status==="VACANCY_STATUS_ARCHIVED",d=e.responseStatus==="RESPONSE_STATUS_REJECTED",N=e.hasApplied,p=d?"Отказ":N?"Отклик отправлен":null,C=[v(e.workingExperience),$(e.workingSchedule),e.workHoursNegotiable?"По договорённости":e.workHoursPattern,w(e.officeTypes)].filter(Boolean),x=m(t=>{t.stopPropagation(),!(!o||i)&&u(e.id,!!e.isLikedByCurrentUser)}),y=m(t=>{t.stopPropagation(),!(e.hasApplied||!o||i)&&r(e.id)}),S=t=>{t.stopPropagation(),!i&&(e.chatId?_(`/chats/${e.chatId}`):_("/chats"))};return s.jsxs("li",{className:`vacancy__item ${i?"vacancy__item--inactive":""} ${d?"vacancy__item--rejected":""}`,id:`vacancy-item-${e.id}`,children:[p&&s.jsxs("div",{className:"vacancy__item-header",children:[s.jsx("p",{className:"vacancy__status-label body-3",children:p}),s.jsxs("div",{className:"vacancy__header-icons",children:[s.jsx(I,{vacancyId:e.id}),s.jsx("button",{className:"icon__button like__button",onClick:x,disabled:i,children:e.isLikedByCurrentUser?s.jsx("img",{src:f,alt:""}):s.jsx(b,{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,h)=>s.jsxs(k.Fragment,{children:[h>0&&" • ",t]},t))})]}),s.jsx("p",{className:"vacancy__subtitle h2",children:L(e.salaryFrom,e.salaryTo,e.salaryCurrency)})]})}),!p&&s.jsxs("div",{className:"vacancy__header-icons",children:[s.jsx(I,{vacancyId:e.id}),s.jsx("button",{className:"icon__button like__button",onClick:x,disabled:i,children:e.isLikedByCurrentUser?s.jsx("img",{src:f,alt:""}):s.jsx(b,{className:"like__vacancy-icon"})})]})]}),C.length>0&&s.jsx("div",{className:"vacancy__chips",children:C.map((t,h)=>s.jsx("span",{className:"vacancy__chip body-3",children:t},h))}),s.jsxs("div",{className:"vacancy__info",children:[((j=e.company)==null?void 0:j.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||T,alt:"",className:"vacancy__company-logo"}),s.jsx("p",{className:"vacancy__company body-3",children:e.company.companyName}),e.company.moderationStatus==="confirmed"&&s.jsx(F,{text:"Контакты проверены",position:"right",children:s.jsx(O,{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:["Опубликовано ",D(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,"%"]})]}),(l||a)&&s.jsx(A,{className:"vacancy__compat-badge",title:"Совместимость с вакансией",softPercent:l?(e.coefficient*100).toFixed(0):void 0,hardPercent:a?e.hardCompatibilityPercentage:void 0,onSoftClick:e.competencies?()=>n(!0):void 0,onHardClick:()=>H({children:"Это ваш процент соответствия требованиям вакансии по хардам"})}),s.jsx("div",{className:"vacancy__buttons-row",children:d?s.jsx(E,{className:"vacancy__button",disabled:!0,children:"Откликнуться"}):N?s.jsx(E,{className:"vacancy__button",variant:"outlined",onClick:S,disabled:i,children:"Перейти в чат"}):s.jsx(E,{className:"vacancy__button",onClick:y,disabled:i,children:"Откликнуться"})}),c&&e.competencies&&s.jsx(U,{competencies:e.competencies,onClose:()=>n(!1)})]})};export{V};