1import{j as e,au as C,av as S,aw as O,ax as D,r as f,ay as T,az as E,aA as F,p as L,E as P,q as I,I as _,J as V,u as q,t as A,S as k}from"./index-CFVreTXG.js";import{S as B}from"./SEO-zs1RcwOq.js";import{a as $}from"./index-gCxDlF5g.js";function R({item:t}){const o=t.organization||t.union||"Tashkilot ko'rsatilmagan",i=typeof t.specialty=="string"&&t.specialty.startsWith("http");return e.jsxs("div",{className:"bg-white border border-gray-200 p-6 flex flex-col gap-5 dark:bg-[#002f44] dark:border-white/5",children:[e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx("h3",{className:"font-montserrat text-[16px] font-bold uppercase text-[#152340] dark:text-slate-100",children:t.title}),e.jsxs("div",{className:"flex items-center gap-2 text-slate-500 font-montserrat text-[15px] font-medium dark:text-slate-400",children:[e.jsx($,{className:"text-[#1e5fff] dark:text-[#4a9eff]",size:18}),e.jsx("span",{children:o})]})]}),e.jsx("hr",{className:"border-gray-100 dark:border-white/10"}),e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx("h2",{className:"font-montserrat text-[20px] font-bold text-[#152340] dark:text-slate-100",children:t.position}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 text-[#152340] dark:text-slate-300 font-montserrat text-[15px] font-medium",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(C,{className:"text-[#1e5fff] dark:text-[#4a9eff]",size:20}),e.jsx("span",{children:Number(t.price??0)>0?t.price:"Shtat jadvaliga muvofiq"})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(S,{className:"text-[#1e5fff] dark:text-[#4a9eff]",size:19}),e.jsx("span",{children:t.region})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(O,{className:"text-[#1e5fff] dark:text-[#4a9eff]",size:19}),e.jsx("span",{children:t.working_day})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(D,{className:"text-[#1e5fff] dark:text-[#4a9eff]",size:19}),e.jsxs("span",{children:["Kamida ",t.seniority," yillik staj talab etiladi"]})]})]})]}),e.jsx("hr",{className:"border-gray-100 dark:border-white/10"}),i&&e.jsx("div",{className:"pt-2",children:e.jsx("a",{href:t.specialty,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center justify-center rounded-[6px] bg-[#0029a9] px-6 py-2.5 font-montserrat text-[14px] font-semibold text-white transition-colors hover:bg-[#002188]",children:"Ariza topshirish"})})]})}function p({label:t,placeholder:o,value:i,onChange:x,options:r,clearable:u=!1,onClear:g,highlighted:c=!1}){const[m,d]=f.useState(!1),a=f.useRef(null);f.useEffect(()=>{const l=y=>{a.current&&!a.current.contains(y.target)&&d(!1)};return document.addEventListener("mousedown",l),()=>document.removeEventListener("mousedown",l)},[]);const b=l=>{x(l),d(!1)};return e.jsxs("div",{ref:a,className:"relative",children:[e.jsx("p",{className:"mb-2 font-montserrat text-sm font-semibold text-gray-800 dark:text-white/70",children:t}),e.jsxs("button",{type:"button",onClick:()=>d(l=>!l),className:`relative flex w-full items-center justify-between rounded-xl border bg-slate-100 px-4 py-3 text-left font-montserrat text-sm transition-colors duration-200 dark:bg-[#082332] ${c?"border-[#518abc] ring-2 ring-[#518abc]/30 dark:border-blue-400/40 dark:ring-blue-400/20":m?"border-[#518abc] dark:border-white/20":"border-slate-200 hover:border-slate-300 dark:border-white/10 dark:hover:border-white/20"} `,children:[e.jsx("span",{className:i?"text-gray-700 dark:text-white/70":"text-gray-400 dark:text-white/25",children:i||o||"Tanlang"}),e.jsxs("div",{className:"flex shrink-0 items-center gap-1",children:[u&&i?e.jsx("button",{type:"button","aria-label":"Clear selection",onClick:l=>{l.stopPropagation(),g==null||g(),d(!1)},className:"rounded-full p-1 text-gray-400 hover:bg-gray-100 hover:text-gray-600 dark:text-white/30 dark:hover:bg-white/10 dark:hover:text-white/60",children:e.jsx(T,{size:14})}):null,e.jsx(E,{size:18,className:`text-gray-400 transition-transform duration-200 dark:text-white/30 ${m?"rotate-180":""}`})]})]}),m&&e.jsx("div",{className:"animate-fadeIn absolute z-20 mt-2 w-full overflow-hidden rounded-xl border border-slate-200 bg-white shadow-lg dark:border-white/10 dark:bg-[#082332] dark:shadow-black/30",children:e.jsxs("ul",{className:"scrollbar-thin scrollbar-thumb-slate-300 dark:scrollbar-thumb-white/10 scrollbar-track-slate-100 dar
1k:scrollbar-track-transparent max-h-60 overflow-y-auto",children:[o&&e.jsx("li",{children:e.jsx("button",{type:"button",onClick:()=>b(""),className:`flex w-full text-left cursor-pointer items-center justify-between px-4 py-2.5 font-montserrat text-sm transition-colors duration-150 ${i?"text-gray-400 hover:bg-gray-50 dark:text-white/30 dark:hover:bg-white/5":"bg-[#518abc]/10 font-medium text-[#0029a9] dark:bg-blue-400/10 dark:text-blue-400"} `,children:o})}),r.map(l=>e.jsx("li",{children:e.jsxs("button",{type:"button",onClick:()=>b(l),className:`flex w-full text-left cursor-pointer items-center justify-between px-4 py-2.5 font-montserrat text-sm transition-colors duration-150 ${i===l?"bg-[#518abc]/10 font-medium text-[#043b87] dark:bg-blue-400/10 dark:text-blue-400":"text-gray-700 hover:bg-gray-50 dark:text-white/60 dark:hover:bg-white/5"} `,children:[e.jsx("span",{children:l}),i===l&&e.jsx(F,{size:16,className:"shrink-0 text-[#0029a9] dark:text-blue-400"})]})},l))]})})]})}const G=L.injectEndpoints({endpoints:t=>({getVacancies:t.query({query:o=>({url:P.VACANCIES,params:o}),providesTags:["I18N","Vacancy"],keepUnusedDataFor:600})}),overrideExisting:!1}),{useGetVacanciesQuery:v}=G,Q=["To'liq","To'liq bo'lmagan"],w=[{label:"Oliy",value:"oliy"},{label:"O'rta",value:"o'rta"}],H={region:"",organization:"",workingDay:"",seniorityMin:"",seniorityMax:"",level:""};function W(){const[t,o]=I(),[i,x]=f.useState(()=>t.get("q")||""),[r,u]=f.useState(()=>({region:t.get("region")||"",organization:t.get("organization")||"",workingDay:t.get("workingDay")||"",seniorityMin:t.get("seniorityMin")||"",seniorityMax:t.get("seniorityMax")||"",level:t.get("level")||""})),g=s=>{const n={};if(s.organization&&(n.organization_or_union=s.organization),s.workingDay&&(n.working_day=s.workingDay),s.region&&(n.region=s.region),s.seniorityMin!==""&&(n.seniority_min=s.seniorityMin),s.seniorityMax!==""&&(n.seniority_max=s.seniorityMax),s.level){const h=w.find(M=>M.label===s.level);h&&(n.level=h.value)}return n},{data:c,isFetching:m}=v(g(r)),{data:d}=v({}),{data:a}=_(),{data:b}=V(),l=f.useMemo(()=>{const s=(a||[]).map(h=>h.name).filter(Boolean),n=(b||[]).map(h=>h.name).filter(Boolean);return[...s,...n]},[a,b]);f.useEffect(()=>{const s=setTimeout(()=>{const n={};i&&(n.q=i),r.region&&(n.region=r.region),r.organization&&(n.organization=r.organization),r.workingDay&&(n.workingDay=r.workingDay),r.seniorityMin!==""&&(n.seniorityMin=r.seniorityMin),r.seniorityMax!==""&&(n.seniorityMax=r.seniorityMax),r.level&&(n.level=r.level),o(n,{replace:!0})},350);return()=>clearTimeout(s)},[r,i]);const y=(s,n)=>{u(h=>({...h,[s]:n}))},j=()=>{u(H),x(""),o({},{replace:!0})},N=f.useMemo(()=>d!=null&&d.length?[...new Set(d.map(s=>s.region).filter(Boolean))]:[],[d]),z=f.useMemo(()=>c!=null&&c.length?i?c.filter(s=>`${s.title||""} ${s.position||""}`.toLowerCase().includes(i.toLowerCase())):c:[],[c,i]);return{searchText:i,setSearchText:x,filters:r,handleFilterChange:y,resetFilters:j,isLoading:m,filteredVacancies:z,organizationOptions:l,regionOptions:N}}function X(){const{t}=q(["vacancy"]),{searchText:o,setSearchText:i,filters:x,handleFilterChange:r,resetFilters:u,isLoading:g,filteredVacancies:c,organizationOptions:m,regionOptions:d}=W();return e.jsxs("div",{className:"dark:bg-[#082332] lg:px-5",children:[e.jsx(B,{title:t("vacancy:seoTitle"),description:t("vacancy:seoDescription"),canonical:"/services/vacancy"}),e.jsxs("div",{className:"flex flex-col gap-6 lg:flex-row",children:[e.jsxs("div",{className:"order-2 min-w-0 flex-1 lg:order-1",children:[e.jsxs("h1",{className:"mb-5 font-montserrat text-lg font-bold uppercase text-[#152340] dark:text-white/85 md:text-xl",children:[t("vacancy:vacancyCount")," ",c.length]}),e.jsxs("div",{className:"relative mb-5",children:[e.jsx(A,{size:20,className:"absolute left-4 top-1/2 -translate-y-1/2 text-gray-400 dark:text-white/30"}),e.jsx("input",{type:"text",value:o,onChange:a=>i(a.target.value),placeholder:t("vacancy:searchPlaceholder"),className:"w-full border border-[#061223]/30 bg-white py-3 pl-12 pr-4 font-montserrat text-sm text-gray-700 placeholder:text-gray-400 focus:outline-none focus:ring-1 focus:ring-[#518abc] dark:border-white/10 dark:bg-[#002f44] dark:text-white/70 dark:placeholder:text-white/25 dark:focus:ring-[#002b68]"})]}),g&&e.jsxs("div",{children:[e.jsx(k,{className:"mb-4 h-10 w-[40%]"}),e.jsx("div",{className:"flex w-full flex-col gap-4",children:e.jsx(k,{className:"h-56 w-full"})})]}),!g&&c.length===0&&e.jsx("div",{className:"bg-[#f3f5fb] py-16 text-center dark:bg-[#002f44]",children:e.jsx("p",{className:"font-montserrat font-semibold text-gray-500 dark:text-white/30",children:t("vacancy:noResults")})}),!g&&c.map(a=>e.jsx("div",{className:"mb-4",children:e.jsx(R,{item:a})},a.id))]}),e.jsx("aside",{className:"order-1 w-full shrink-0 lg:order-2 lg:w-[350px]",children:e.jsxs("div",{className:"flex flex-col gap-5 border border-[#518abc]/20 bg-white p-6 dark:border-white/5 dark:bg-[#002f44] lg:mt-11",children:[e.jsx(p,{label:t("vacancy:filters.organizations.label"),placeholder:t("vacancy:filters.organizations.placeholder"),value:x.organization,onChange:a=>r("organization",a),options:m}),e.jsx(p,{label:t("vacancy:filters.region.label"),placeholder:t("vacancy:filters.region.placeholder"),value:x.region,onChange:a=>r("region",a),options:d}),e.jsx(p,{label:t("vacancy:filters.workingDay.label"),placeholder:t("vacancy:filters.workingDay.placeholder"),value:x.workingDay,onChange:a=>r("workingDay",a),options:Q}),e.jsx(p,{label:t("vacancy:filters.level.label"),placeholder:t("vacancy:filters.level.placeholder"),value:x.level,onChange:a=>r("level",a),options:w.map(a=>a.label)}),e.jsxs("div",{children:[e.jsx("p",{className:"mb-2 font-montserrat text-sm font-semibold text-gray-800 dark:text-white/70",children:t("vacancy:filters.seniority.label")}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("input",{type:"number",min:0,value:x.seniorityMin,onChange:a=>r("seniorityMin",a.target.value),placeholder:"dan",className:"w-full border border-slate-200 bg-white px-4 py-3 font-montserrat text-sm text-gray-700 placeholder:text-gray-400 focus:outline-none focus:ring-1 focus:ring-[#518abc] dark:border-slate-500/30 dark:bg-[#082332] dark:text-white/65 dark:placeholder:text-white/25 dark:focus:ring-white/20"}),e.jsx("span",{className:"shrink-0 font-montserrat text-sm text-gray-400 dark:text-white/25",children:"â"}),e.jsx("input",{type:"number",min:0,value:x.seniorityMax,onChange:a=>r("seniorityMax",a.target.value),placeholder:"gacha",className:"w-full border border-slate-200 bg-white px-4 py-3 font-montserrat text-sm text-gray-700 placeholder:text-gray-400 focus:outline-none focus:ring-1 focus:ring-[#518abc] dark:border-slate-500/30 dark:bg-[#082332] dark:text-white/65 dark:placeholder:text-white/25 dark:focus:ring-white/20"})]})]}),e.jsx("button",{onClick:u,className:"mt-1 font-montserrat text-sm font-medium text-[#0029a9] hover:underline dark:text-blue-400/70",children:t("vacancy:filters.clear")})]})})]})]})}export{X as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.