PageSourceSearch

https://kollega.ai/assets/JobBuilderPage-CLeBV0E5.js

js kollega.ai collected 2026-10-05 12:07:45 UTC 99,065 bytes, 39 lines download raw bytes

1import{j as e}from"./vendor-editor-B5v07e1y.js";import{a as y,R as Et}from"./vendor-charts-x3_JpA8L.js";import{c as ve,e as lt,y as U,q as D,h as ct,f as Dt,k as $t}from"./index-fiGoVOw_.js";import{c as Kt,d as Ut,e as Jt,f as dt,g as ut,h as Ot,i as Bt,j as Qt,k as Vt,l as Ht,m as Xt,n as Yt,o as Zt,p as Ft,q as Gt,r as es}from"./hooks-B0IxdJ9f.js";import{u as ts}from"./hooks-BvsDBhJo.js";import{c as ss,d as rs,e as as,h as is,b as ns,f as Fe,i as os,a as ls,u as cs}from"./locationFormat-XKMOT3BR.js";import{a as ds,u as mt}from"./hooks-CvX2V1Ge.js";import{g as Ge}from"./validationErrorFormatter-DfDoMkZK.js";import{u as ge}from"./vendor-i18n-C7sBi11W.js";import{p as us}from"./purify.es-Af_97_HO.js";import{B as je}from"./badge-Cr-ZU5e1.js";import{g as fe}from"./referenceDataTranslations-CqzJnSIL.js";import{B as we}from"./building-2-DYzOzNiN.js";import{M as Se}from"./map-pin-Dth867kJ.js";import{B as pe}from"./briefcase-DDjPBLqe.js";import{L as ms}from"./layers-DGNCThTh.js";import{C as ps}from"./clock-DPda55Z6.js";import{u as B}from"./i18n.generated-BtOkNL0B.js";import{R as pt,a as Pe,b as xs}from"./radio-group-CxL14qyC.js";import{X as G}from"./x-DieSpbTc.js";import{L as xe}from"./loader-circle-BQv0O-yU.js";import{U as gs}from"./upload-BhSQoW4Q.js";import{S as et}from"./save-BHzhXnyW.js";import{E as hs}from"./eye-ChfQP03k.js";import{C as F}from"./circle-alert-z2VpT9gy.js";import{A as bs}from"./arrow-right-6xrGmTA3.js";import{I as Q}from"./input-BhsbkQsg.js";import{C as qe}from"./checkbox-DdGIAvEf.js";import{T as ys}from"./textarea-DVJens9y.js";import{R as xt}from"./RichTextEditor-WoJ2E-RC.js";import{L as fs}from"./layout-grid-txp-KYm4.js";import{F as gt}from"./file-text-DSP0Uhfs.js";import{S as ue}from"./sparkles-DyqgtNwU.js";import{D as js}from"./date-picker-DTLwY8lI.js";import{S as vs,a as ks,b as Ns,c as ws,d as Ss}from"./select-8bxIPmDJ.js";import{P as ht,a as bt,b as yt}from"./popover-QJrW4baz.js";import{u as Cs,I as _s,S as Ts}from"./SectorSelector-DvPAaZ3e.js";import{S as ft}from"./search-CFg9H6tx.js";import{C as zs}from"./chevron-down-BboIilIx.js";import{P as H}from"./plus-UAuB_GRa.js";import{B as As}from"./building-KIidTDbc.js";import{M as Ps}from"./mail-CYVOMz9k.js";import{P as Ls}from"./phone-CPt30gCp.js";import{S as Ms}from"./star-oamgmZd9.js";import{U as jt}from"./user-DFIl0cCu.js";import{G as vt,W as kt}from"./wrench-CgiQ0lCe.js";import{U as Nt}from"./users-TB3v-1s4.js";import{T as wt}from"./triangle-alert-BtDJ7feK.js";import{F as St}from"./filter-pr62VIGp.js";import{a as Ct,b as _t}from"./vendor-query-C94pIwNL.js";import{u as Rs}from"./hooks-CPn-0kkr.js";import"./button-DQwqvYvi.js";import"./card-BXYg1IyS.js";import{L as Ws}from"./LinkedInShareModal-xdJvvOL0.js";import{S as Is}from"./send-CdETN2x4.js";import"./vendor-sentry-BZrG4QX-.js";import"./vendor-socket-CL3SdtP1.js";import"./index-D4mGc1Iv.js";import"./index-BqG7uP9D.js";import"./minus-D32uYn9z.js";import"./italic-B1Cddk2W.js";import"./list-CRRAbtie.js";import"./en-US-B32h3Idb.js";import"./format-D6hvz-f7.js";import"./isSameDay-DdGLoxX0.js";import"./endOfMonth-bs6ePwHs.js";import"./calendar-sZv9_RI6.js";import"./chevron-up-C12jjcFw.js";import"./index-C8HjN1ym.js";import"./dialog-CVPVNZA9.js";import"./index-CmngnMo5.js";import"./LinkedInConnectButton-BNrFfXEN.js";import"./linkedin-D-0Ugm2d.js";import"./globe-BD1H2DLW.js";import"./external-link-Bl6W-Fxr.js";/**
2 * @license lucide-react v0.441.0 - ISC
3 *
4 * This source code is licensed under the ISC license.
5 * See the LICENSE file in the root directory of this source tree.
6 */const qs=ve("House",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"1d0kgt"}]]);/**
7 * @license lucide-react v0.441.0 - ISC
8 *
9 * This source code is licensed under the ISC license.
10 * See the LICENSE file in the root directory of this source tree.
11 */const Es=ve("Monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);/**
12 * @license lucide-react v0.441.0 - ISC
13 *
14 * This source code is licensed under the ISC license.
15 * See the LICENSE file in the root directory of this source tree.
16 */const Ds=ve("Palette",[["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["path",{d:"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z",key:"12rzf8"}]]);/**
17 * @license lucide-react v0.441.0 - ISC
18 *
19 * This source code is licensed under the ISC license.
20 * See the LICENSE file in the root directory of this source tree.
21 */const $s=ve("Tags",[["path",{d:"m15 5 6.3 6.3a2.4 2.4 0 0 1 0 3.4L17 19",key:"1cbfv1"}],["path",{d:"M9.586 5.586A2 2 0 0 0 8.172 5H3a1 1 0 0 0-1 1v5.172a2 2 0 0 0 .586 1.414L8.29 18.29a2.426 2.426 0 0 0 3.42 0l3.58-3.58a2.426 2.426 0 0 0 0-3.42z",key:"135mg7"}],["circle",{cx:"6.5",cy:"9.5",r:".5",fill:"currentColor",key:"5pm5xn"}]]);/**
22 * @license lucide-react v0.441.0 - ISC
23 *
24 * This source code is licensed under the ISC license.
25 * See the LICENSE file in the root directory of this source tree.
26 */const Ks=ve("WandSparkles",[["path",{d:"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72",key:"ul74o6"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"M5 6v4",key:"ilb8ba"}],["path",{d:"M19 14v4",key:"blhpug"}],["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M7 8H3",key:"zfb6yr"}],["path",{d:"M21 16h-4",key:"1cnmox"}],["path",{d:"M11 3H9",key:"1obp7u"}]]),Us=["locations","industries","sectors","positions","contacts"];function Js(t){const{jobId:a,isEditMode:s,formState:i,companyId:n,getFinalDescription:c,onValidationError:o,isValid:r,onJobCreated:p}=t,{t:d}=ge("jobs"),u=lt(),b=Kt({onError:g=>{U.error(Ge(g,"builderPage.toast.createFailed"))}}),j=Ut({onSuccess:()=>{U.success(d("builderPage.toast.jobUpdated"))},onError:g=>{U.error(Ge(g,"builderPage.toast.updateFailed"))}}),x=ss(),N=rs(),f=as(),k=ds(),C=Jt(),m=dt(),_=ut(),h=y.useCallback(async g=>{const v=i.contacts.map(({id:E,...$})=>$),P=[x.mutateAsync({jobId:g,divisionIds:i.divisionIds}),N.mutateAsync({jobId:g,industryIds:i.industryIds}),f.mutateAsync({jobId:g,sectorIds:i.sectorIds}),k.mutateAsync({jobId:g,associations:i.positionAssociations}),C.mutateAsync({jobId:g,contacts:v})],W=(await Promise.allSettled(P)).map((E,$)=>({result:E,name:Us[$]})).filter(({result:E})=>E.status==="rejected").map(({name:E})=>E);return{allSucceeded:W.length===0,failures:W}},[i.divisionIds,i.industryIds,i.sectorIds,i.positionAssociations,i.contacts,x,N,f,k,C]);return{save:y.useCallback(async(g="draft")=>{if(g==="draft"&&!i.title.trim())return U.error(d("builderPage.toast.titleRequired")),{success:!1};if(g==="published"&&!r)return o(),{success:!1};const v={title:i.title,role_summary:i.role_summary||void 0,description:c(),employment_type:i.employment_type||void 0,deadline:i.noDeadline?null:i.deadline||null,number_of_positions:i.number_of_positions,status:g,remote_work_type:i.remoteWorkType||void 0,banner_source:i.bannerSource,logo_source:i.logoSource};try{let P;s&&a?(await j.mutateAsync({jobId:a,data:v}),P=a):(P=(await b.mutateAsync({...v,company_id:n,enableAiProcessing:i.enableAiProcessing,requirements:i.requirements.map(({id:A,...I})=>I),filter_criteria:i.filter_criteria.map(({id:A,...I})=>I)})).data.id,g==="published"&&(U.success(d("builderPage.toast.jobCreated")),p==null||p(P)));const{allSucceeded:z,failures:W}=await h(P),E=[];if(i.bannerFile&&i.bannerSource==="custom"&&E.push(m.mutateAsync({jobId:P,file:i.bannerFile})),i.logoFile&&i.logoSource==="custom"&&E.push(_.mutateAsync({jobId:P,file:i.logoFile})),E.length>0){const $=await Promise.allSettled(E);$.some(A=>A.status==="rejected")&&($.filter(I=>I.status==="rejected").forEach(I=>{}),W.push("images"))}return!z||W.length>0?U.error(d("builderPage.toast.partialSaveError",{failed:W.join(", ")})):g==="draft"&&U.success(d("builderPage.toast.draftSaved")),g==="draft"&&!s&&u(`/jobs/${P}`),{success:!0,jobId:P,failures:z?void 0:W}}catch{return U.error(d("builderPage.toast.saveFailed")),{success:!1}}},[i,s,a,n,r,c,o,p,h,b,j,m,_,u,d]),isSaving:b.isPending||j.isPending||m.isPending||_.isPending}}Et.memo(({formData:t,company:a,className:s=""})=>{var u,b,j;const{t:i,i18n:n}=ge("jobs"),c=t.title||t.description,o=n.language||"en",r=t.divisions&&t.divisions.length>0?is(t.divisions,i):"",p=x=>{const N=fe(i,"positions",x.position,o);if(x.sub_position){const f=fe(i,"subPositions",x.sub_position,o);return`${N} / ${f}`}return N},d=x=>
26{if(!x)return"";switch(x){case"on_site":return i("metadata.remoteWorkType.onSite");case"partial_remote":return i("metadata.remoteWorkType.partialRemote");case"full_remote":return i("metadata.remoteWorkType.fullRemote");default:return""}};return e.jsxs("div",{className:`bg-white dark:bg-gray-900 overflow-hidden flex flex-col max-h-[calc(100vh-160px)] ${s}`,children:[e.jsxs("div",{className:"relative h-28 bg-gradient-to-r from-purple-600 to-blue-600 overflow-hidden flex-shrink-0",children:[e.jsx("div",{className:"absolute inset-0 bg-black/20"}),e.jsx("div",{className:"absolute inset-0 flex items-end p-4",children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-12 h-12 rounded-lg bg-white dark:bg-gray-800 shadow-lg flex items-center justify-center overflow-hidden flex-shrink-0",children:a!=null&&a.logo_url?e.jsx("img",{src:a.logo_url,alt:a.name||"Company",className:"w-full h-full object-cover"}):e.jsx(we,{size:24,className:"text-gray-400"})}),e.jsxs("div",{className:"text-white",children:[e.jsx("p",{className:"font-medium text-sm drop-shadow-sm",children:(a==null?void 0:a.name)||i("previewPanel.yourCompany")}),e.jsxs("div",{className:"flex items-center gap-2 text-xs text-white/80 flex-wrap",children:[r&&e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(Se,{size:10}),r]}),t.employment_type&&e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(pe,{size:10}),Os(t.employment_type,i)]}),t.remote_work_type&&e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(we,{size:10}),d(t.remote_work_type)]})]})]})]})})]}),t.industries&&t.industries.length>0||t.sectors&&t.sectors.length>0||t.positions&&t.positions.length>0?e.jsx("div",{className:"px-4 py-3 border-b border-gray-200 dark:border-gray-800 bg-gray-50 dark:bg-gray-900/50 flex-shrink-0",children:e.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[(u=t.industries)==null?void 0:u.map(x=>e.jsxs(je,{variant:"secondary",className:"text-[10px] px-2 py-0.5 bg-purple-100 dark:bg-purple-900/30 text-purple-700 dark:text-purple-300",children:[e.jsx(we,{size:10,className:"mr-1"}),fe(i,"industries",x,o)]},x.id)),(b=t.sectors)==null?void 0:b.map(x=>e.jsxs(je,{variant:"secondary",className:"text-[10px] px-2 py-0.5 bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300",children:[e.jsx(ms,{size:10,className:"mr-1"}),fe(i,"sectors",x,o)]},x.id)),(j=t.positions)==null?void 0:j.map((x,N)=>e.jsxs(je,{variant:"secondary",className:"text-[10px] px-2 py-0.5 bg-green-100 dark:bg-green-900/30 text-green-700 dark:text-green-300",children:[e.jsx(pe,{size:10,className:"mr-1"}),p(x)]},N))]})}):null,e.jsx("div",{className:"p-4 overflow-y-auto flex-1",children:c?e.jsxs("div",{className:"space-y-4",children:[t.deadline&&e.jsxs("p",{className:"flex items-center gap-1.5 text-xs text-gray-500 dark:text-gray-400",children:[e.jsx(ps,{size:12}),i("previewPanel.closes")," ",new Date(t.deadline).toLocaleDateString()]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-xl font-bold text-gray-900 dark:text-white leading-tight",children:t.title||i("previewPanel.untitledJob")}),t.role_summary&&e.jsx("p",{className:"mt-2 text-base text-gray-800 dark:text-gray-200 leading-relaxed font-medium",children:t.role_summary})]}),t.description&&e.jsx("div",{className:"text-sm text-gray-600 dark:text-gray-400 prose prose-sm dark:prose-invert max-w-none",dangerouslySetInnerHTML:{__html:us.sanitize(t.description)}})]}):e.jsx("div",{className:"text-center py-6 text-gray-400 dark:text-gray-500",children:e.jsx("p",{className:"text-sm",children:i("previewPanel.emptyState")})})})]})});function Os(t,a){return{full_time:a("basics.employmentType.fullTime"),part_time:a("basics.employmentType.partTime"),contract:a("basics.employmentType.contract"),temporary:a("basics.employmentType.temporary")}[t]||t}const Tt=[{value:"nice",translationKey:"importance.niceToHave",weight:3},{value:"important",translationKey:"importance.important",weight:5},{value:"critical",translationKey:"importance.critical",weight:8}],zt=({value:t,onChange:a,disabled:s=!1})=>{const{t:i}=B("jobs");return e.jsx("div",{className:"inline-flex rounded-lg border border-gray-200 dark:border-gray-700 p-0.5 bg-gray-100 dark:bg-gray-800",children:Tt.map(n=>e.jsx("button",{type:"button",disabled:s,onClick:()=>
26a(n.value),className:`px-3 py-1.5 text-xs font-medium rounded-md transition-all ${t===n.value?"bg-white dark:bg-gray-700 text-gray-900 dark:text-white shadow-sm":"text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white"} ${s?"opacity-50 cursor-not-allowed":""}`,children:i(n.translationKey)},n.value))})};function At(t){const a=Tt.find(s=>s.value===t);return(a==null?void 0:a.weight)??5}function Pt(t){return t<=3?"nice":t<=6?"important":"critical"}const X=({title:t,description:a,icon:s,children:i})=>e.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-xl border border-gray-200 dark:border-gray-700",children:[e.jsx("div",{className:"px-6 py-4 border-b border-gray-100 dark:border-gray-700",children:e.jsxs("div",{className:"flex items-center gap-3",children:[s&&e.jsx("div",{className:"flex-shrink-0 w-8 h-8 rounded-lg bg-purple-100 dark:bg-purple-900/30 text-purple-600 dark:text-purple-400 flex items-center justify-center",children:s}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-semibold text-gray-900 dark:text-white",children:t}),a&&e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400 mt-0.5",children:a})]})]})}),e.jsx("div",{className:"px-6 py-5",children:i})]}),Bs=["image/jpeg","image/jpg","image/png","image/webp","image/gif"],Qs=5*1024*1024;function Vs(t,a){return Bs.includes(t.type)?t.size>Qs?a("cards.banner.fileTooLarge"):null:a("cards.banner.invalidFileType")}function tt({label:t,source:a,onSourceChange:s,hasCompanyImage:i,companyOptionLabel:n,customOptionLabel:c,noneOptionLabel:o,url:r,file:p,onUpload:d,onRemove:u,isUploading:b,fallbackLabel:j,t:x}){const N=y.useRef(null),f=k=>{var _;const C=(_=k.target.files)==null?void 0:_[0];if(!C)return;const m=Vs(C,x);if(m){U.error(m);return}d(C),k.target.value=""};return e.jsxs("div",{children:[e.jsx("label",{className:"form-label mb-2 block",children:t}),e.jsxs(pt,{value:a,onValueChange:k=>s(k),className:"flex flex-wrap gap-4",children:[e.jsxs("label",{className:"flex items-center gap-2 cursor-pointer text-sm",children:[e.jsx(Pe,{value:"company",disabled:!i}),e.jsx("span",{className:`text-gray-700 dark:text-gray-300 ${i?"":"opacity-50"}`,children:n})]}),e.jsxs("label",{className:"flex items-center gap-2 cursor-pointer text-sm",children:[e.jsx(Pe,{value:"custom"}),e.jsx("span",{className:"text-gray-700 dark:text-gray-300",children:c})]}),e.jsxs("label",{className:"flex items-center gap-2 cursor-pointer text-sm",children:[e.jsx(Pe,{value:"none"}),e.jsx("span",{className:"text-gray-700 dark:text-gray-300",children:o})]})]}),a==="custom"&&e.jsxs("div",{className:"mt-3 flex items-center gap-3",children:[e.jsx("input",{ref:N,type:"file",accept:"image/jpeg,image/png,image/webp,image/gif",onChange:f,className:"hidden"}),r||p?e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-sm text-gray-600 dark:text-gray-400 truncate max-w-[200px]",children:(p==null?void 0:p.name)||j}),e.jsx("button",{type:"button",onClick:()=>{var k;return(k=N.current)==null?void 0:k.click()},className:"text-xs text-sky-500 dark:text-sky-400 hover:underline",children:x("cards.banner.changeImage")}),e.jsx("button",{type:"button",onClick:u,className:"text-gray-400 hover:text-red-500 transition-colors",children:e.jsx(G,{size:14})})]}):e.jsxs("button",{type:"button",onClick:()=>{var k;return(k=N.current)==null?void 0:k.click()},disabled:b,className:"flex items-center gap-2 px-3 py-1.5 text-sm border border-gray-300 dark:border-gray-600 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors text-gray-700 dark:text-gray-300",children:[b?e.jsx(xe,{size:14,className:"animate-spin"}):e.jsx(gs,{size:14}),b?x("cards.banner.uploading"):c]}),e.jsx("span",{className:"text-[11px] text-gray-400 dark:text-gray-500",children:x("cards.banner.uploadHint")})]})]})}const Hs=y.memo(function({bannerSource:a,bannerUrl:s,bannerFile:i,logoSource:n,logoUrl:c,logoFile:o,companyBannerUrl:r,companyLogoUrl:p,companyName:d,onBannerSourceChange:u,onBannerUpload:b,onBannerRemove:j,onLogoSourceChange:x,onLogoUpload:N,onLogoRemove:f,isUploading:k}){const{t:C}=B("jobs"),m=y.useMemo(()=>
26i?URL.createObjectURL(i):null,[i]),_=y.useMemo(()=>o?URL.createObjectURL(o):null,[o]);y.useEffect(()=>()=>{m&&URL.revokeObjectURL(m)},[m]),y.useEffect(()=>()=>{_&&URL.revokeObjectURL(_)},[_]);const h=a==="custom"?m||s:a==="company"&&r||null,T=n==="custom"?_||c:n==="company"&&p||null;return e.jsx(X,{title:C("cards.banner.title"),icon:e.jsx(Ds,{size:18}),children:e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"rounded-lg overflow-hidden border border-gray-200 dark:border-gray-700",children:[e.jsxs("div",{className:"relative h-36 md:h-44",children:[h?e.jsx("img",{src:h,alt:"Job banner",className:"w-full h-full object-cover"}):e.jsx("div",{className:"w-full h-full bg-gradient-to-r from-purple-600 to-indigo-600"}),e.jsx("div",{className:"absolute inset-0 bg-black/20"}),e.jsx("div",{className:"absolute bottom-0 left-4 translate-y-1/2",children:e.jsx("div",{className:"w-16 h-16 md:w-20 md:h-20 rounded-xl bg-white dark:bg-gray-800 shadow-lg flex items-center justify-center overflow-hidden border-2 border-white dark:border-gray-800",children:T?e.jsx("img",{src:T,alt:d||"Company",className:"w-full h-full object-cover"}):e.jsx(we,{size:28,className:"text-gray-400"})})})]}),e.jsx("div",{className:"h-10 md:h-12 bg-white dark:bg-gray-800"})]}),e.jsx(tt,{label:C("cards.banner.bannerLabel"),source:a,onSourceChange:u,hasCompanyImage:!!r,companyOptionLabel:C("cards.banner.useCompanyBanner"),customOptionLabel:C("cards.banner.uploadCustomBanner"),noneOptionLabel:C("cards.banner.noBanner"),url:s,file:i,onUpload:b,onRemove:j,isUploading:k,fallbackLabel:C("cards.banner.bannerLabel"),t:C}),e.jsx(tt,{label:C("cards.banner.logoLabel"),source:n,onSourceChange:x,hasCompanyImage:!!p,companyOptionLabel:C("cards.banner.useCompanyLogo"),customOptionLabel:C("cards.banner.uploadCustomLogo"),noneOptionLabel:C("cards.banner.noLogo"),url:c,file:o,onUpload:N,onRemove:f,isUploading:k,fallbackLabel:C("cards.banner.logoLabel"),t:C})]})})}),Xs=y.memo(function({currentStep:a,totalSteps:s=3,onNext:i,onStepClick:n,onCancel:c,onSaveDraft:o,onPublish:r,onPreview:p,isLastStep:d=!1,isSaving:u=!1,hasValidationErrors:b=!1,stepHasErrors:j}){const{t:x}=B("jobs"),N=Array.from({length:s},(f,k)=>k+1);return e.jsx("div",{className:"fixed bottom-0 left-0 right-[var(--removed-body-scroll-bar-size,0px)] z-30 bg-white dark:bg-gray-900 border-t border-gray-200 dark:border-gray-800 shadow-lg",children:e.jsx("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 py-4",children:e.jsxs("div",{className:"flex items-center justify-between gap-4",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("button",{type:"button",onClick:c,disabled:u,className:"px-4 py-2 text-sm font-medium text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-800 rounded-lg transition-colors disabled:opacity-50",children:x("wizard.navigation.cancel")}),e.jsxs("button",{type:"button",onClick:o,disabled:u,className:"px-4 py-2 text-sm font-medium text-gray-700 dark:text-gray-300 bg-gray-100 dark:bg-gray-800 hover:bg-gray-200 dark:hover:bg-gray-700 rounded-lg transition-colors disabled:opacity-50 flex items-center gap-2",children:[u?e.jsx(xe,{size:14,className:"animate-spin"}):e.jsx(et,{size:14}),e.jsx("span",{className:"hidden sm:inline",children:x("wizard.navigation.saveDraft")})]}),p&&e.jsxs("button",{type:"button",onClick:p,disabled:u,className:"px-4 py-2 text-sm font-medium text-gray-700 dark:text-gray-300 bg-gray-100 dark:bg-gray-800 hover:bg-gray-200 dark:hover:bg-gray-700 rounded-lg transition-colors disabled:opacity-50 flex items-center gap-2",children:[e.jsx(hs,{size:14}),e.jsx("span",{className:"hidden sm:inline",children:x("wizard.navigation.preview")})]})]}),e.jsx("div",{className:"flex items-center gap-2",children:N.map(f=>{const k=f===a,C=f<a,m=(j==null?void 0:j(f))||!1;return e.jsx("button",{type:"button",onClick:()=>n==null?void 0:n(f),disabled:u,className:`relative w-3 h-3 rounded-full transition-all focus:outline-none focus:ring-2 focus:ring-purple-500 focus:ring-offset-2 ${k?"bg-purple-600 scale-125":C?"bg-purple-400 dark:bg-purple-500":"bg-gray-300 dark:bg-gray-600 hover:bg-gray-400 dark:hover:bg-gray-500"}
26 ${u?"cursor-not-allowed":"cursor-pointer"}`,title:`Step ${f}`,children:m&&!k&&e.jsx("span",{className:"absolute -top-0.5 -right-0.5 w-2 h-2 bg-red-500 rounded-full border border-white dark:border-gray-900"})},f)})}),e.jsx("div",{className:"flex items-center gap-2",children:d?e.jsxs("button",{type:"button",onClick:r,disabled:u,className:`px-4 py-2 text-sm font-medium text-white rounded-lg transition-colors disabled:opacity-50 flex items-center gap-2 ${b?"bg-orange-500 hover:bg-orange-600":"bg-purple-600 hover:bg-purple-700"}`,children:[u?e.jsx(xe,{size:16,className:"animate-spin"}):b?e.jsx(F,{size:16}):e.jsx(et,{size:16}),x("wizard.navigation.publish")]}):e.jsxs("button",{type:"button",onClick:i,disabled:u,className:"px-4 py-2 text-sm font-medium text-white bg-purple-600 hover:bg-purple-700 rounded-lg transition-colors disabled:opacity-50 flex items-center gap-2",children:[x("wizard.navigation.continue"),e.jsx(bs,{size:16})]})})]})})})}),Le=({children:t,isActive:a})=>a?e.jsx("div",{className:"space-y-6 animate-fade-in",children:t}):null,Ys=({isOpen:t,onClose:a,errors:s,onGoToStep:i})=>{const{t:n}=ge("jobs");if(!t)return null;const c=s.filter(u=>u.step===1),o=s.filter(u=>u.step===2),r=s.filter(u=>u.step===3),p={1:n("wizard.steps.content"),2:n("wizard.steps.targeting"),3:n("wizard.steps.screening")},d=[];return c.length>0&&d.push(1),o.length>0&&d.push(2),r.length>0&&d.push(3),e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"fixed inset-0 z-50 bg-black/50 backdrop-blur-sm",onClick:a}),e.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4",children:e.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-xl shadow-2xl max-w-md w-full max-h-[90vh] overflow-hidden",onClick:u=>u.stopPropagation(),children:[e.jsxs("div",{className:"flex items-center justify-between px-6 py-4 border-b border-gray-200 dark:border-gray-700",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"p-2 rounded-full bg-orange-100 dark:bg-orange-900/30",children:e.jsx(F,{size:20,className:"text-orange-600 dark:text-orange-400"})}),e.jsx("h2",{className:"text-lg font-semibold text-gray-900 dark:text-white",children:n("validation.modal.title")})]}),e.jsx("button",{onClick:a,className:"p-2 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors",children:e.jsx(G,{size:20})})]}),e.jsxs("div",{className:"px-6 py-4 overflow-y-auto max-h-[60vh]",children:[e.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400 mb-4",children:n("validation.modal.description")}),e.jsxs("div",{className:"space-y-4",children:[c.length>0&&e.jsxs("div",{className:"p-4 bg-red-50 dark:bg-red-900/20 rounded-lg border border-red-200 dark:border-red-800",children:[e.jsxs("h3",{className:"text-sm font-medium text-red-800 dark:text-red-300 mb-2",children:[n("wizard.steps.stepNumber",{number:1}),": ",p[1]]}),e.jsx("ul",{className:"space-y-1",children:c.map((u,b)=>e.jsxs("li",{className:"text-sm text-red-700 dark:text-red-400 flex items-start gap-2",children:[e.jsx("span",{className:"text-red-400 mt-0.5",children:"•"}),u.message]},b))})]}),o.length>0&&e.jsxs("div",{className:"p-4 bg-red-50 dark:bg-red-900/20 rounded-lg border border-red-200 dark:border-red-800",children:[e.jsxs("h3",{className:"text-sm font-medium text-red-800 dark:text-red-300 mb-2",children:[n("wizard.steps.stepNumber",{number:2}),": ",p[2]]}),e.jsx("ul",{className:"space-y-1",children:o.map((u,b)=>e.jsxs("li",{className:"text-sm text-red-700 dark:text-red-400 flex items-start gap-2",children:[e.jsx("span",{className:"text-red-400 mt-0.5",children:"•"}),u.message]},b))})]}),r.length>0&&e.jsxs("div",{className:"p-4 bg-red-50 dark:bg-red-900/20 rounded-lg border border-red-200 dark:border-red-800",children:[e.jsxs("h3",{className:"text-sm font-medium text-red-800 dark:text-red-300 mb-2",children:[n("wizard.steps.stepNumber",{number:3}),": ",p[3]]}),e.jsx("ul",{className:"space-y-1",children:r.map((u,b)=>e.jsxs("li",{className:"text-sm text-red-700 dark:text-red-400 flex items-start gap-2",children:[e.jsx("span",{className:"text-red-400 mt-0.5",children:"•"}),u.message]},b))})]})]})]}),e.jsxs("div",{className:"flex items-center justify-end gap-2 px-6 py-4 border-t border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-900/50",children:[d.map(u=>e.jsx("button",{onClick:()=>i(u),className:"px-4 py-2 text-sm font-medium text-purple-600 dar
26k:text-purple-400 hover:bg-purple-50 dark:hover:bg-purple-900/20 rounded-lg transition-colors",children:n("validation.modal.goToStep",{step:p[u]})},u)),e.jsx("button",{onClick:a,className:"px-4 py-2 text-sm font-medium text-gray-700 dark:text-gray-300 bg-gray-100 dark:bg-gray-700 hover:bg-gray-200 dark:hover:bg-gray-600 rounded-lg transition-colors",children:n("validation.modal.close")})]})]})})]})},Zs=({enabled:t,onEnabledChange:a})=>{const{t:s}=B("jobs");return e.jsx(X,{title:s("cards.aiScreening.title"),icon:e.jsx(ue,{size:18}),children:e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{onClick:()=>a(!t),className:`flex items-center gap-4 p-4 rounded-lg border cursor-pointer transition-all ${t?"bg-purple-50 dark:bg-purple-900/20 border-purple-200 dark:border-purple-800":"bg-gray-50 dark:bg-gray-800 border-gray-200 dark:border-gray-700 hover:border-gray-300 dark:hover:border-gray-600"}`,children:[e.jsx("div",{className:`flex-shrink-0 p-2 rounded-lg ${t?"bg-purple-100 dark:bg-purple-900/40":"bg-gray-100 dark:bg-gray-700"}`,children:e.jsx(ue,{size:20,className:t?"text-purple-600 dark:text-purple-400":"text-gray-400"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:`text-sm font-medium ${t?"text-purple-900 dark:text-purple-100":"text-gray-700 dark:text-gray-300"}`,children:s(t?"aiScreening.enabled":"aiScreening.disabled")}),e.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400 mt-0.5",children:s(t?"aiScreening.enabledDescription":"aiScreening.disabledDescription")})]}),e.jsx("button",{type:"button",role:"switch","aria-checked":t,onClick:i=>{i.stopPropagation(),a(!t)},className:`relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-purple-500 focus:ring-offset-2 ${t?"bg-purple-600":"bg-gray-300 dark:bg-gray-600"}`,children:e.jsx("span",{className:`pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out ${t?"translate-x-5":"translate-x-0"}`})})]}),e.jsx("p",{className:"text-[11px] text-gray-400 dark:text-gray-500",children:s("aiScreening.hint")})]})})},Fs=({requirements:t,onRequirementsChange:a})=>{const{t:s}=B("jobs"),[i,n]=y.useState(""),[c,o]=y.useState(""),[r,p]=y.useState(""),d=(f,k)=>{if(!f.trim())return;const C={id:`${k}-${Date.now()}`,description:f.trim(),category:k,weight:5};a([...t,C]),k==="education"&&n(""),k==="experience"&&o(""),k==="skill"&&p("")},u=f=>{a(t.filter(k=>k.id!==f))},b=(f,k)=>{a(t.map(C=>C.id===f?{...C,weight:At(k)}:C))},j=t.filter(f=>f.category==="education"),x=t.filter(f=>f.category==="experience"),N=t.filter(f=>f.category==="skill");return e.jsx(X,{title:s("cards.requirements.title"),icon:e.jsx(Nt,{size:18}),children:e.jsxs("div",{className:"space-y-6",children:[e.jsx("p",{className:"text-[11px] text-gray-400 dark:text-gray-500",children:s("candidateProfile.hint")}),e.jsxs("div",{className:"p-4 bg-gray-50 dark:bg-gray-800/50 rounded-lg border border-gray-200 dark:border-gray-700",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(vt,{size:16,className:"text-purple-500"}),e.jsx("h4",{className:"text-sm font-medium text-gray-900 dark:text-white",children:s("candidateProfile.education.label")})]}),e.jsx(Me,{requirements:j,onRemove:u,onWeightChange:b}),e.jsxs("div",{className:`flex gap-2 ${j.length>0?"mt-3":""}`,children:[e.jsx(Q,{type:"text",value:i,onChange:f=>n(f.target.value),onKeyDown:f=>f.key==="Enter"&&d(i,"education"),placeholder:s("candidateProfile.education.placeholder"),inputSize:"sm",className:"flex-1"}),e.jsx("button",{type:"button",onClick:()=>d(i,"education"),className:"px-3 py-2 text-sm font-medium text-white bg-purple-600 hover:bg-purple-700 rounded-lg transition-colors",children:e.jsx(H,{size:16,strokeWidth:2.5})})]})]}),e.jsxs("div",{className:"p-4 bg-gray-50 dark:bg-gray-800/50 rounded-lg border border-gray-200 dark:border-gray-700",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(pe,{size:16,className:"text-purple-500"}),e.jsx("h4",{className:"text-sm font-medium text-gray-900 dark:text-white",children:s("candidateProfile.experience.label")})]}),e.jsx(Me,{requirements:x,onRemove:u,onWeightChange:b}),e.jsxs("div",{className:`flex gap-2 ${x.length>0?"mt-3":""}`,children:[e.jsx(Q,{type:"text",value:c,onChange:f=>o(f.target.value),onKeyDown:f=>f.key==="Enter"&&d(c,"experience"),placeholder:s("candidateProfile.experience.placeholder"),inputSize:"sm",className:"flex-1"}),e.jsx("button",{type:"button",onClick:()=>d(c,"experience"),className:"px-3 py-2 text-sm font-medium text-white bg-purple-600 hover:bg-purple-700 rounded-lg transition-colors",children:e.jsx(H,{size:16,strokeWidth:2.5})})]})]}),e.jsxs("div",{className:"p-4 bg-gray-50 dark:bg-gray-800/50 rounded-lg border border-gray-200 dark:border-gray-700",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(kt,{size:16,className:"text-purple-500"}),e.jsx("h4",{className:"text-sm font-medium text-gray-900 dark:text-white",children:s("candidateProfile.skills.label")})]}),e.jsx(Me,{requirements:N,onRemove:u,onWeightChange:b}),e.jsxs("div",{className:`flex gap-2 ${N.length>0?"mt-3":""}`,children:[e.jsx(Q,{type:"text",value:r,onChange:f=>p(f.target.value),onKeyDown:f=>f.key==="Enter"&&d(r,"skill"),placeholder:s("candidateProfile.skills.placeholder"),inputSize:"sm",className:"flex-1"}),e.jsx("button",{type:"button",onClick:()=>d(r,"skill"),className:"px-3 py-2 text-sm font-medium text-white bg-purple-600 hover:bg-purple-700 rounded-lg transition-colors",children:e.jsx(H,{size:16,strokeWidth:2.5})})]}),N.length===0&&e.jsx("p",{className:"mt-2 text-[11px] text-gray-400 dark:text-gray-500",children:s("candidateProfile.skills.hint")})]})]})})},Me=({requirements:t,onRemove:a,onWeightChange:s})=>t.length===0?null:e.jsx("ul",{className:"space-y-2 pl-3",children:t.map(i=>e.jsxs("li",{className:"flex items-center gap-2 py-1",children:[e.jsx("span",{className:"flex-1 text-sm text-gray-900 dark:text-white",children:i.description}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(zt,{value:Pt(i.weight),onChange:n=>s(i.id,n)}),e.jsx("button",{type:"button",onClick:()=>a(i.id),className:"px-3 py-2 text-gray-400 hover:text-red-500 hover:bg-red-50 dark:hover:bg-red-900/20 rounded-lg transition-colors",children:e.jsx(G,{size:16})})]})]},i.id))}),Gs=({criteria:t,onCriteriaChange:a})=>{const{t:s}=B("jobs"),[i,n]=y.useState(""),c=()=>
26{if(!i.trim())return;const r={id:`criteria-${Date.now()}`,criteria_text:i.trim(),is_active:!0};a([...t,r]),n("")},o=r=>{a(t.filter(p=>p.id!==r))};return e.jsx(X,{title:s("cards.criteria.title"),icon:e.jsx(St,{size:18}),children:e.jsxs("div",{className:"space-y-4",children:[e.jsx("p",{className:"text-[11px] text-gray-400 dark:text-gray-500",children:s("mustHaveCriteria.hint")}),t.length>=3&&e.jsxs("div",{className:"flex items-start gap-2 p-3 bg-yellow-50 dark:bg-yellow-900/20 rounded-lg border border-yellow-200 dark:border-yellow-800",children:[e.jsx(wt,{size:16,className:"flex-shrink-0 mt-0.5 text-yellow-600 dark:text-yellow-400"}),e.jsx("p",{className:"text-sm text-yellow-700 dark:text-yellow-300",children:s("mustHaveCriteria.warning")})]}),t.length>0&&e.jsx("ul",{className:"space-y-2",children:t.map(r=>e.jsxs("li",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"flex-1 ml-3 px-3 py-2 rounded-lg bg-red-50 dark:bg-red-900/10 border border-red-200 dark:border-red-800",children:e.jsx("span",{className:"text-sm text-gray-900 dark:text-white",children:r.criteria_text})}),e.jsx("button",{type:"button",onClick:()=>o(r.id),className:"px-3 py-2 text-gray-400 hover:text-red-500 hover:bg-red-100 dark:hover:bg-red-900/30 rounded-lg transition-colors",children:e.jsx(G,{size:16})})]},r.id))}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(Q,{type:"text",value:i,onChange:r=>n(r.target.value),onKeyDown:r=>r.key==="Enter"&&c(),placeholder:s("mustHaveCriteria.placeholder"),inputSize:"sm",className:"flex-1"}),e.jsx("button",{type:"button",onClick:c,className:"px-3 py-2 text-sm font-medium text-white bg-purple-600 hover:bg-purple-700 rounded-lg transition-colors",children:e.jsx(H,{size:16,strokeWidth:2.5})})]}),t.length===0&&e.jsx("div",{className:"p-3 bg-gray-50 dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700",children:e.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400",children:s("mustHaveCriteria.emptyState")})})]})})},st=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,rt=/^[+]?[\d\s()-]{6,20}$/,er=({contacts:t,onContactsChange:a})=>{const{t:s}=B("jobs"),[i,n]=y.useState(!1),[c,o]=y.useState(null),[r,p]=y.useState([]),[d,u]=y.useState({name:"",title:"",email:"",phone:"",is_primary:!1}),b=()=>{var T,g;const m=[];d.name.trim()||m.push(s("contacts.validation.nameRequired"));const _=(T=d.email)==null?void 0:T.trim(),h=(g=d.phone)==null?void 0:g.trim();return!_&&!h&&m.push(s("contacts.validation.contactMethodRequired")),_&&!st.test(d.email.trim())&&m.push(s("contacts.validation.invalidEmail")),h&&!rt.test(d.phone.trim())&&m.push(s("contacts.validation.invalidPhone")),m},j=y.useMemo(()=>{var P,z;const m=d.name.trim().length>0,_=(P=d.email)==null?void 0:P.trim(),h=(z=d.phone)==null?void 0:z.trim(),T=_||h,g=!_||st.test(d.email.trim()),v=!h||rt.test(d.phone.trim());return m&&T&&g&&v},[d]),x=()=>{u({name:"",title:"",email:"",phone:"",is_primary:!1}),n(!1),o(null),p([])},N=()=>{var g,v,P;const m=b();if(m.length>0){p(m);return}const _={id:`contact-${Date.now()}`,name:d.name.trim(),title:((g=d.title)==null?void 0:g.trim())||null,email:((v=d.email)==null?void 0:v.trim())||null,phone:((P=d.phone)==null?void 0:P.trim())||null,is_primary:d.is_primary};t.length===0&&(_.is_primary=!0);let T=t;_.is_primary&&(T=t.map(z=>({...z,is_primary:!1}))),a([...T,_]),x()},f=()=>{const m=b();if(m.length>0||!c){p(m);return}const _=t.map(h=>{var T,g,v;return h.id===c?{...h,name:d.name.trim(),title:((T=d.title)==null?void 0:T.trim())||null,email:((g=d.email)==null?void 0:g.trim())||null,phone:((v=d.phone)==null?void 0:v.trim())||null,is_primary:d.is_primary}:d.is_primary?{...h,is_primary:!1}:h});a(_),x()},k=m=>{u({name:m.name,title:m.title||"",email:m.email||"",phone:m.phone||"",is_primary:m.is_primary||!1}),o(m.id),n(!0)},C=m=>{a(t.filter(_=>_.id!==m))};return e.jsx(X,{title:s("contacts.title"),icon:e.jsx(jt,{size:18}),children:e.jsxs("div",{className:"space-y-4",children:[e.jsx("p",{className:"text-[11px] text-gray-400 dark:text-gray-500",children:s("contacts.hint")}),t.length>0&&e.jsx("div",{className:"space-y-3",children:t.map(m=>e.jsx("div",{className:"p-4 rounded-lg bg-gray-50 dark:bg-gray-800/50 border border-gray-200 dark:border-gray-700",children:e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("p",{className:"font-medium text-gray-900 dark:text-white truncate",children:m.name}),m.is_primary&&e.jsx("span",{className:"px-2 py-0.5 text-xs font-medium bg-sky-100 dark:bg-sky-900/30 text-sky-700 dark:text-sky-300 rounded",children:s("contacts.primary")})]}),m.title&&e.jsxs("p",{className:"text-sm text-gray-500 dark:text-gray-400 flex items-center gap-1.5 mt-1",children:[e.jsx(pe,{size:12}),m.title]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-3 mt-2 text-sm text-gray-500 dark:text-gray-400",children:[m.email&&e.jsxs("span",{className:"flex items-center gap-1.5",children:[e.jsx(Ps,{size:12}),m.email]}),m.phone&&e.jsxs("span",{className:"flex items-center gap-1.5",children:[e.jsx(Ls,{size:12}),m.phone]}
26)]})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("button",{type:"button",onClick:()=>k(m),className:"p-2 text-gray-400 hover:text-sky-500 hover:bg-sky-100 dark:hover:bg-sky-900/30 rounded-lg transition-colors",children:e.jsx("span",{className:"text-xs font-medium",children:s("contacts.edit")})}),e.jsx("button",{type:"button",onClick:()=>C(m.id),className:"p-2 text-gray-400 hover:text-red-500 hover:bg-red-100 dark:hover:bg-red-900/30 rounded-lg transition-colors",children:e.jsx(G,{size:16})})]})]})},m.id))}),i?e.jsxs("div",{className:"p-4 rounded-lg border border-sky-200 dark:border-sky-800 bg-sky-50 dark:bg-sky-900/10 space-y-3",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{children:[e.jsxs("label",{className:"block text-xs font-medium text-gray-700 dark:text-gray-300 mb-1",children:[s("contacts.name")," ",e.jsx("span",{className:"text-red-500",children:"*"})]}),e.jsx(Q,{type:"text",value:d.name,onChange:m=>u({...d,name:m.target.value}),placeholder:s("contacts.namePlaceholder"),inputSize:"sm"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs font-medium text-gray-700 dark:text-gray-300 mb-1",children:s("contacts.jobTitle")}),e.jsx(Q,{type:"text",value:d.title||"",onChange:m=>u({...d,title:m.target.value}),placeholder:s("contacts.titlePlaceholder"),inputSize:"sm"})]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs font-medium text-gray-700 dark:text-gray-300 mb-1",children:s("contacts.email")}),e.jsx(Q,{type:"email",value:d.email||"",onChange:m=>u({...d,email:m.target.value}),placeholder:s("contacts.emailPlaceholder"),inputSize:"sm"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs font-medium text-gray-700 dark:text-gray-300 mb-1",children:s("contacts.phone")}),e.jsx(Q,{type:"tel",value:d.phone||"",onChange:m=>u({...d,phone:m.target.value}),placeholder:s("contacts.phonePlaceholder"),inputSize:"sm"})]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(qe,{id:"is_primary",checked:d.is_primary||!1,onCheckedChange:m=>u({...d,is_primary:m})}),e.jsxs("label",{htmlFor:"is_primary",className:"text-sm text-gray-700 dark:text-gray-300 flex items-center gap-1.5",children:[e.jsx(Ms,{size:14,className:"text-amber-500"}),s("contacts.markAsPrimary")]})]}),r.length>0&&e.jsx("div",{className:"p-3 bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 rounded-lg",children:e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx(F,{size:16,className:"text-red-500 mt-0.5 flex-shrink-0"}),e.jsx("ul",{className:"text-sm text-red-600 dark:text-red-400 space-y-1",children:r.map((m,_)=>e.jsx("li",{children:m},_))})]})}),e.jsxs("div",{className:"flex justify-end gap-2 pt-2",children:[e.jsx("button",{type:"button",onClick:x,className:"px-3 py-2 text-sm font-medium text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800 rounded-lg transition-colors",children:s("contacts.cancel")}),e.jsx("button",{type:"button",onClick:c?f:N,disabled:!j,className:"px-3 py-2 text-sm font-medium text-white bg-sky-600 hover:bg-sky-700 disabled:bg-gray-300 disabled:cursor-not-allowed rounded-lg transition-colors",children:s(c?"contacts.save":"contacts.add")})]})]}):e.jsxs("button",{type:"button",onClick:()=>n(!0),className:"w-full flex items-center justify-center gap-2 px-4 py-3 text-sm font-medium text-sky-600 dark:text-sky-400 border-2 border-dashed border-sky-200 dark:border-sky-800 rounded-lg hover:bg-sky-50 dark:hover:bg-sky-900/20 transition-colors",children:[e.jsx(H,{size:16}),s("contacts.addContact")]}),t.length===0&&!i&&e.jsx("div",{className:"p-3 bg-gray-50 dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700",children:e.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400",children:s("contacts.emptyState")})})]})})},tr=({mode:t,onModeChange:a})=>{const{t:s}=B("jobs"),i=[{value:"structured",icon:e.jsx(fs,{size:24}),titleKey:"descriptionMode.structured.title",descriptionKey:"descriptionMode.structured.description"},{value:"unstructured",icon:e.jsx(gt,{size:24}),titleKey:"descriptionMode.unstructured.title",descriptionKey:"descriptionMode.unstructured.description"}];return e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3",children:i.map(n=>{const c=t===n.value;return e.jsxs("button",{type:"button",onClick:()=>
26a(n.value),className:`
27              relative p-4 rounded-xl border-2 text-left transition-all
28              ${c?"border-purple-500 bg-purple-50 dark:bg-purple-900/20":"border-gray-200 dark:border-gray-700 hover:border-gray-300 dark:hover:border-gray-600 bg-white dark:bg-gray-800"}
29            `,children:[e.jsx("div",{className:"absolute top-4 right-4",children:e.jsx("div",{className:`
30                  w-5 h-5 rounded-full border-2 flex items-center justify-center transition-colors
31                  ${c?"border-purple-500 bg-purple-500":"border-gray-300 dark:border-gray-600"}
32                `,children:c&&e.jsx("div",{className:"w-2 h-2 rounded-full bg-white"})})}),e.jsx("div",{className:`
33                mb-3 transition-colors
34                ${c?"text-purple-600 dark:text-purple-400":"text-gray-400 dark:text-gray-500"}
35              `,children:n.icon}),e.jsx("h4",{className:`
36                font-semibold mb-1 transition-colors
37                ${c?"text-purple-900 dark:text-purple-100":"text-gray-900 dark:text-white"}
38              `,children:s(n.titleKey)}),e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400 pr-6",children:s(n.descriptionKey)})]},n.value)})})};function Z({visible:t}){const{t:a}=B("jobs");return t?e.jsx("span",{className:"inline-flex items-center ml-1",title:a("aiAssistant.sparkleTooltip"),children:e.jsx(ue,{size:12,className:"text-purple-500 dark:text-purple-400"})}):null}const sr=({title:t,hint:a,value:s,onChange:i,placeholder:n,isAiGenerated:c,autofillToggle:o})=>e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center justify-between mb-1",children:[e.jsxs("label",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:[t,e.jsx(Z,{visible:!!c})]}),o&&e.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[e.jsx(qe,{checked:o.checked,onCheckedChange:r=>o.onChange(r),className:"h-3.5 w-3.5"}),e.jsx("span",{className:"text-xs text-gray-500 dark:text-gray-400",children:o.label})]})]}),e.jsx(xt,{content:s,onChange:i,placeholder:n,className:"min-h-[120px]"}),a&&e.jsx("p",{className:"mt-1 text-[11px] text-gray-400 dark:text-gray-500",children:a})]}),rr=[{key:"introduction",titleKey:"structuredSections.introduction.title",hintKey:"structuredSections.introduction.hint"},{key:"aboutTheJob",titleKey:"structuredSections.aboutTheJob.title",hintKey:"structuredSections.aboutTheJob.hint"},{key:"whatWeLookFor",titleKey:"structuredSections.whatWeLookFor.title",hintKey:"structuredSections.whatWeLookFor.hint"},{key:"responsibilities",titleKey:"structuredSections.responsibilities.title",hintKey:"structuredSections.responsibilities.hint"},{key:"whatWeOffer",titleKey:"structuredSections.whatWeOffer.title",hintKey:"structuredSections.whatWeOffer.hint"},{key:"aboutTheCompany",titleKey:"structuredSections.aboutTheCompany.title",hintKey:"structuredSections.aboutTheCompany.hint",hasAutofill:!0}],ar=({value:t,onChange:a,useCompanyProfileForAbout:s,onUseCompanyProfileChange:i,companyDescription:n,aiGeneratedFields:c,onFieldEdit:o})=>{const{t:r}=B("jobs"),p=(u,b)=>{a({...t,[u]:b}),o==null||o(u)},d=u=>{i(u),u&&n&&p("aboutTheCompany",n)};return e.jsx("div",{className:"space-y-6",children:rr.map(u=>e.jsx(sr,{title:r(u.titleKey),hint:r(u.hintKey),value:t[u.key],onChange:b=>p(u.key,b),isAiGenerated:!!(c!=null&&c.has(u.key)),autofillToggle:u.hasAutofill?{label:r("structuredSections.aboutTheCompany.autofillToggle"),checked:s,onChange:d}:void 0},u.key))})},ir=[{key:"introduction",translationKey:null},{key:"aboutTheJob",translationKey:"structuredSections.aboutTheJob.title"},{key:"whatWeLookFor",translationKey:"structuredSections.whatWeLookFor.title"},{key:"responsibilities",translationKey:"structuredSections.responsibilities.title"},{key:"whatWeOffer",translationKey:"structuredSections.whatWeOffer.title"},{key:"aboutTheCompany",translationKey:"structuredSections.aboutTheCompany.title"}];function at(t,a){const s=[];for(const{key:i,translationKey:n}of ir){const c=t[i];if(!(!(c!=null&&c.trim())||c==="<p></p>"||c==="<p><br></p>")){if(n){const o=a(n);s.push(`<h2 data-section="${i}">${o}</h2>`)}s.push(c)}}return s.join(`
39`)}function Ee(){return{introduction:"",aboutTheJob:"",whatWeLookFor:"",responsibilities:"",whatWeOffer:"",aboutTheCompany:""}}const nr={"About the Job":"aboutTheJob","What We Look For":"whatWeLookFor","Your Responsibilities":"responsibilities","What We Offer":"whatWeOffer","About the Company":"aboutTheCompany","Om jobben":"aboutTheJob","Hva vi ser etter":"whatWeLookFor","Dine ansvarsområder":"responsibilities","Det vi tilbyr":"whatWeOffer","Om bedriften":"aboutTheCompany","Om jobbet":"aboutTheJob","Vad vi söker":"whatWeLookFor","Dina ansvarsområden":"responsibilities","Vad vi erbjuder":"whatWeOffer","Om företaget":"aboutTheCompany","Hvad vi søger":"whatWeLookFor","Hvad vi tilbyder":"whatWeOffer","Om virksomheden":"aboutTheCompany"}
39,or=new Set(["aboutTheJob","whatWeLookFor","responsibilities","whatWeOffer","aboutTheCompany"]);function it(t){const a=t.match(/data-section="(\w+)"/);if(a&&or.has(a[1]))return a[1];const s=t.replace(/<[^>]*>/g,"").trim();return nr[s]}function lr(t){var c,o;if(!t||!t.includes("<h2"))return null;const a=t.split(/<h2([^>]*)>(.*?)<\/h2>/i);let s=0;for(let r=1;r<a.length;r+=3){const p=a[r]||"",d=a[r+1]||"";it(p+d)&&s++}if(s===0)return null;const i=Ee(),n=(c=a[0])==null?void 0:c.trim();n&&n!=="<p></p>"&&n!=="<p><br></p>"&&(i.introduction=n);for(let r=1;r<a.length;r+=3){const p=a[r]||"",d=a[r+1]||"",u=((o=a[r+2])==null?void 0:o.trim())||"",b=it(p+d);b&&u&&u!=="<p></p>"&&u!=="<p><br></p>"&&(i[b]=u)}return i}const Re=180;function cr(t){return[{value:"full_time",label:t("basics.employmentType.fullTime")},{value:"part_time",label:t("basics.employmentType.partTime")},{value:"contract",label:t("basics.employmentType.contract")},{value:"temporary",label:t("basics.employmentType.temporary")}]}const dr=y.memo(function({title:a,roleSummary:s,onTitleChange:i,onRoleSummaryChange:n,descriptionMode:c,onDescriptionModeChange:o,description:r,onDescriptionChange:p,structuredDescription:d,onStructuredDescriptionChange:u,useCompanyProfileForAbout:b,onUseCompanyProfileChange:j,companyDescription:x,onOpenAssistant:N,aiGeneratedFields:f,onFieldEdit:k,errors:C=[]}){const{t:m}=B("jobs"),_=(s==null?void 0:s.length)||0,h=_>Re,T=C.find(v=>v.field==="title"),g=C.find(v=>v.field==="description");return e.jsxs("div",{className:"space-y-6",children:[e.jsx(X,{title:m("cards.basicInfo.title"),icon:e.jsx(pe,{size:18}),children:e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsxs("label",{htmlFor:"job-title",className:"form-label",children:[m("basics.jobTitle.label")," ",e.jsx("span",{className:"text-red-500",children:"*"}),e.jsx(Z,{visible:!!(f!=null&&f.has("title"))})]}),e.jsx(Q,{id:"job-title",type:"text",value:a,onChange:v=>{i(v.target.value),k==null||k("title")},placeholder:m("basics.jobTitle.placeholder"),variant:T?"error":"default"}),T?e.jsxs("p",{className:"mt-1 text-xs text-red-500 flex items-center gap-1",children:[e.jsx(F,{size:12}),T.message]}):e.jsx("p",{className:"mt-1 text-[11px] text-gray-400 dark:text-gray-500",children:m("basics.jobTitle.hint")})]}),e.jsxs("div",{children:[e.jsxs("label",{htmlFor:"role-summary",className:"form-label",children:[m("basics.tagline.label"),e.jsx(Z,{visible:!!(f!=null&&f.has("role_summary"))})]}),e.jsx(ys,{id:"role-summary",value:s,onChange:v=>{n(v.target.value),k==null||k("role_summary")},placeholder:m("basics.tagline.placeholder"),rows:2,className:"resize-none",variant:h?"error":"default"}),e.jsxs("div",{className:"mt-1 flex items-center justify-between",children:[e.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:m("basics.tagline.hint")}),e.jsxs("span",{className:`text-xs ${h?"text-red-500":_>Re*.8?"text-yellow-600 dark:text-yellow-400":"text-gray-400 dark:text-gray-500"}`,children:[_," / ",Re]})]}),h&&e.jsx("p",{className:"mt-1 text-xs text-red-500",children:m("basics.tagline.overLimitWarning")})]})]})}),N&&e.jsxs("button",{type:"button",onClick:N,className:"w-full flex items-center justify-center gap-2 px-4 py-3 border-2 border-dashed border-purple-300 dark:border-purple-700 rounded-xl text-purple-600 dark:text-purple-400 hover:bg-purple-50 dark:hover:bg-purple-900/20 hover:border-purple-400 dark:hover:border-purple-600 transition-colors text-sm font-medium",children:[e.jsx(ue,{size:16}),m("aiAssistant.cta")]}),e.jsx(X,{title:m("cards.description.title"),icon:e.jsx(gt,{size:18}),children:e.jsxs("div",{className:"space-y-6",children:[e.jsx(tr,{mode:c,onModeChange:o}),c==="unstructured"?e.jsxs("div",{children:[e.jsx(xt,{content:r,onChange:p,placeholder:m("description.placeholder"),className:g?"border-red-500":""}),g?e.jsxs("p",{className:"mt-2 text-xs text-red-500 flex items-center gap-1",children:[e.jsx(F,{size:12}),g.message]}):e.jsx("p",{className:"mt-2 text-[11px] text-gray-400 dark:text-gray-500",children:m("description.hint")})]}):e.jsxs("div",{children:[e.jsx(ar,{value:d,onChange:u,useCompanyProfileForAbout:b,onUseCompanyProfileChange:j,companyDescription:x,aiGeneratedFields:f,onFieldEdit:k}),g&&e.jsxs("p",{className:"mt-2 text-xs text-red-500 flex items-center gap-1",children:[e.jsx(F,{size:12}),g.message]})]})]})})]})}),ur=({selectedDivisionIds:t,onDivisionsChange:a,onDivisionsObjectsChange:s,label:i,initialDivisions:n=[],className:c})=>{const{t:o}=ge("common"),r=i!==void 0?i:o("locationSelector.label"),[p,d]=y.useState(""),[u,b]=y.useState(!1),[j,x]=y.useState(n),N=Cs(p,300),{data:f,isLoading:k}=ns({q:N,admin_level:2,limit:50},{enabled:N.length>=2}),C=(f==null?void 0:f.data)||[];y.useEffect(()=>{n&&n.length>0&&x(n)},[n]);const m=g=>
39{if(!t.includes(g.id)){const v=[...j,g];x(v),a([...t,g.id]),s==null||s(v)}d("")},_=g=>{const v=j.filter(P=>P.id!==g);x(v),a(t.filter(P=>P!==g)),s==null||s(v)},h=()=>{x([]),a([]),s==null||s([])},T=u&&p.length>=2;return e.jsxs("div",{className:c||"",children:[r&&e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:r}),j.length>0&&e.jsxs("div",{className:"flex flex-wrap items-center gap-2 mb-2",children:[j.map(g=>e.jsxs(je,{variant:"secondary",className:"flex items-center gap-1.5 px-3 py-1.5 bg-purple-100 dark:bg-purple-900/30 text-purple-700 dark:text-purple-300 hover:bg-purple-200 dark:hover:bg-purple-900/40",children:[e.jsx(Se,{size:14}),e.jsx("span",{children:Fe(g,o)}),e.jsx("button",{type:"button",onClick:()=>_(g.id),className:"ml-1 hover:bg-purple-200 dark:hover:bg-purple-800 rounded-full p-0.5 transition-colors",children:e.jsx(G,{size:14})})]},g.id)),e.jsx("button",{type:"button",onClick:h,className:"text-xs text-purple-600 dark:text-purple-400 hover:underline",children:o("clearAll")})]}),e.jsxs(ht,{open:T,onOpenChange:b,children:[e.jsx(bt,{asChild:!0,children:e.jsxs("div",{className:"relative",children:[e.jsx(ft,{size:16,className:"absolute left-3 top-1/2 -translate-y-1/2 text-gray-400 z-10"}),e.jsx(Q,{type:"text",inputSize:"sm",value:p,onChange:g=>{d(g.target.value),b(!0)},onFocus:()=>b(!0),placeholder:o("locationSelector.searchPlaceholder"),className:"pl-9"})]})}),e.jsx(yt,{className:"w-[var(--radix-popover-trigger-width)] p-0 rounded-xl border border-gray-200 dark:border-gray-700 bg-white dark:bg-ink-700 shadow-lg",align:"start",sideOffset:4,onOpenAutoFocus:g=>g.preventDefault(),children:e.jsx("div",{className:"max-h-60 overflow-y-auto p-1.5",children:k?e.jsx("div",{className:"px-3 py-2 text-sm text-gray-500 dark:text-gray-400",children:o("locationSelector.loading")}):C.length===0?e.jsx("div",{className:"px-3 py-2 text-sm text-gray-500 dark:text-gray-400",children:o("locationSelector.noCitiesFound")}):C.map(g=>{const v=t.includes(g.id);return e.jsxs("button",{type:"button",onClick:()=>!v&&m(g),disabled:v,className:`w-full flex items-center gap-2 rounded-lg px-3 py-2 text-sm text-gray-700 dark:text-gray-300 cursor-pointer transition-colors hover:bg-gray-100 dark:hover:bg-ink-600 ${v?"opacity-50 cursor-not-allowed":""}`,children:[e.jsx(Se,{size:14,className:"text-gray-400 flex-shrink-0"}),e.jsx("span",{className:"flex-1 text-left",children:Fe(g,o)}),v&&e.jsx("span",{className:"text-xs text-gray-400",children:o("locationSelector.selected")})]},g.id)})})})]})]})},We=5,mr=({selectedPositionAssociations:t,onPositionsChange:a,onPositionsObjectsChange:s,label:i,initialPositions:n=[],className:c})=>{const{t:o,i18n:r}=ge("jobs"),p=y.useRef(null),[d,u]=y.useState(n),[b,j]=y.useState(""),[x,N]=y.useState(""),[f,k]=y.useState(!1),C=r.language||"en",{data:m,isLoading:_}=mt();y.useEffect(()=>{n&&n.length>0&&u(n)},[n]);const h=(S,w=!1)=>fe(o,w?"subPositions":"positions",S,C),T=(m||[]).filter(S=>{var K;if(!x)return!0;const w=x.toLowerCase();return!!(h(S).toLowerCase().includes(w)||(K=S.sub_positions)!=null&&K.some(V=>h(V,!0).toLowerCase().includes(w)))}),g=T.filter(S=>S.sub_positions&&S.sub_positions.length>0),v=T.filter(S=>!S.sub_positions||S.sub_positions.length===0),P=t.length>=We,z=(S,w)=>t.some(q=>q.position_id===S&&q.sub_position_id===w),W=(S,w)=>{if(P){j(o("metadata.positions.limitReached",{max:We}));return}const q=(w==null?void 0:w.id)??null;if(z(S.id,q)){j(o("metadata.positions.alreadyAdded"));return}const K={position_id:S.id,sub_position_id:q,position:S,sub_position:w??null},V=[...d,K],oe=V.map(ee=>({position_id:ee.position_id,sub_position_id:ee.sub_position_id}));u(V),a(oe),s==null||s(V),j("")},E=()=>{u([]),a([]),s==null||s([]),j("")},$=S=>{const w=d.filter((K,V)=>V!==S),q=w.map(K=>({position_id:K.position_id,sub_position_id:K.sub_position_id}));u(w),a(q),s==null||s(w),j("")},A=S=>{const w=h(S.position);if(S.sub_position){const q=h(S.sub_position,!0);return`${w} / ${q}`}return w},I=S=>{if(!S.sub_positions)return[];if(!x)return S.sub_positions;const w=x.toLowerCase();
39return h(S).toLowerCase().includes(w)?S.sub_positions:S.sub_positions.filter(K=>h(K,!0).toLowerCase().includes(w))};return e.jsxs("div",{className:c||"",children:[i&&e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:i}),d.length>0&&e.jsxs("div",{className:"flex flex-wrap items-center gap-2 mb-2",children:[d.map((S,w)=>e.jsxs(je,{variant:"secondary",className:"flex items-center gap-1.5 px-3 py-1.5 bg-green-100 dark:bg-green-900/30 text-green-700 dark:text-green-300 hover:bg-green-200 dark:hover:bg-green-900/40",children:[e.jsx("span",{children:A(S)}),e.jsx("button",{type:"button",onClick:()=>$(w),className:"ml-1 hover:bg-green-200 dark:hover:bg-green-800 rounded-full p-0.5 transition-colors",children:e.jsx(G,{size:14})})]},w)),e.jsxs("span",{className:"text-xs text-gray-500 dark:text-gray-400",children:["(",d.length,"/",We,")"]}),e.jsx("button",{type:"button",onClick:E,className:"text-xs text-purple-600 dark:text-purple-400 hover:underline",children:o("common:clearAll")})]}),e.jsxs(ht,{open:f,onOpenChange:k,children:[e.jsx(bt,{asChild:!0,children:e.jsxs("div",{ref:p,className:"relative",children:[e.jsx(ft,{size:16,className:"absolute left-3 top-1/2 -translate-y-1/2 text-gray-400 z-10"}),e.jsx(Q,{type:"text",inputSize:"sm",value:x,onChange:S=>{N(S.target.value),k(!0)},onFocus:()=>k(!0),placeholder:o("metadata.positions.positionPlaceholder"),disabled:_,className:"pl-9 pr-10"}),e.jsx(zs,{size:16,className:`absolute right-3 top-1/2 -translate-y-1/2 text-gray-400 transition-transform ${f?"rotate-180":""}`})]})}),e.jsx(yt,{className:"w-[var(--radix-popover-trigger-width)] p-0 rounded-xl border border-gray-200 dark:border-gray-700 bg-white dark:bg-ink-700 shadow-lg",align:"start",sideOffset:4,onOpenAutoFocus:S=>S.preventDefault(),onInteractOutside:S=>{var w;(w=p.current)!=null&&w.contains(S.target)&&S.preventDefault()},children:e.jsx("div",{className:"max-h-80 overflow-y-auto p-1.5",children:_?e.jsx("div",{className:"px-3 py-2 text-sm text-gray-500 dark:text-gray-400",children:o("common:loading.default")}):T.length===0?e.jsx("div",{className:"px-3 py-2 text-sm text-gray-500 dark:text-gray-400",children:o("metadata.positions.noResults")}):e.jsxs(e.Fragment,{children:[g.map(S=>{const w=I(S);return w.length===0?null:e.jsxs("div",{className:"mb-1",children:[e.jsx("div",{className:"px-3 py-1.5 text-[11px] font-semibold uppercase tracking-wider text-gray-500 dark:text-gray-400 bg-gray-50 dark:bg-gray-800/50 sticky top-0 rounded-md",children:h(S)}),w.map(q=>{const K=z(S.id,q.id),V=K||P;return e.jsxs("button",{type:"button",onClick:()=>W(S,q),disabled:V,className:`w-full flex items-center justify-between rounded-lg px-3 py-2 text-sm transition-colors ${V?"text-gray-400 dark:text-gray-500 opacity-50 cursor-not-allowed":"hover:bg-gray-100 dark:hover:bg-ink-600 text-gray-700 dark:text-gray-300 cursor-pointer"}`,children:[e.jsx("span",{className:"pl-2",children:h(q,!0)}),K?e.jsxs("span",{className:"text-xs text-gray-400",children:["(",o("metadata.positions.selected"),")"]}):!P&&e.jsx(H,{size:14,className:"text-gray-400 opacity-0 group-hover:opacity-100"})]},q.id)})]},S.id)}),v.length>0&&e.jsxs("div",{className:"mb-1",children:[g.length>0&&e.jsx("div",{className:"px-3 py-1.5 text-[11px] font-semibold uppercase tracking-wider text-gray-500 dark:text-gray-400 bg-gray-50 dark:bg-gray-800/50 sticky top-0 rounded-md",children:o("metadata.positions.other","Other")}),v.map(S=>{const w=z(S.id,null),q=w||P;return e.jsxs("button",{type:"button",onClick:()=>W(S),disabled:q,className:`w-full flex items-center justify-between rounded-lg px-3 py-2 text-sm transition-colors ${q?"text-gray-400 dark:text-gray-500 opacity-50 cursor-not-allowed":"hover:bg-gray-100 dark:hover:bg-ink-600 text-gray-700 dark:text-gray-300 cursor-pointer"}`,children:[e.jsx("span",{className:g.length>0?"pl-2":"",children:h(S)}),w?e.jsxs("span",{className:"text-xs text-gray-400",children:["(",o("metadata.positions.selected"),")"]}):!P&&e.jsx(H,{size:14,className:"text-gray-400 opacity-0 group-hover:opacity-100"})]},S.id)})]})]})})})]}),b&&e.jsx("p",{className:"text-sm text-red-600 dark:text-red-400",children:b}),e.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:o("metadata.positions.hint")})]})},pr=({value:t,onChange:a,label:s})=>{const{t:i}=B("jobs"),n=[{value:"on_site",icon:As,label:i("metadata.remoteWorkType.onSite"),description:i("metadata.remoteWorkType.onSiteDesc")},{value:"partial_remote",icon:Es,label:i("metadata.remoteWorkType.partialRemote"),description:i("metadata.remoteWorkType.partialRemoteDesc")},{value:"full_remote",icon:qs,label:i("metadata.remoteWorkType.fullRemote"),description:i("metadata.remoteWorkType.fullRemoteDesc")}];return e.jsxs("div",{children:[s&&e.jsx("label",{className:"form-label",children:s}),e.jsx(pt,{value:t??"",onValueChange:c=>a(c),className:"space-y-2",children:n.map(c=>{const o=c.icon;return e.jsx(xs,{value:c.value,icon:e.jsx(o,{size:18}),label:c.label,description:c.description},c.value)})}),t&&e.jsx("button",{type:"button",onClick:()=>a(null),className:"w-full text-center text-sm text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300 py-2",children:i("metadata.remoteWorkType.notSpecified")}),e.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:i("metadata.remoteWorkType.hint")})]})},xr=y.memo(function({divisionIds:a,initialDivisions:s,onDivisionIdsChange:i,onDivisionsObjectsChange:n,employmentType:c,onEmploymentTypeChange:o,deadline:r,noDeadline:p,onDeadlineChange:d,onNoDeadlineChange:u,numberOfPositions:b,onNumberOfPositionsChange:j,industryIds:x,initialIndustries:N,onIndustriesChange:f,onIndustriesObjectsChange:k,sectorIds:C,initialSectors:m,onSectorsChange:_,onSectorsObjectsChange:h,positionAssociations:T,initialPositions:g,onPositionsChange:v,onPositionsObjectsChange:P,remoteWorkType:z,onRemoteWorkTypeChange:W,contacts:E,onContactsChange:$,aiGeneratedFields:A,onFieldEdit:I,errors:S=[]}){const{t:w}=B("jobs"),q=y.useMemo(()=>cr(w),[w]),[K,V]=y.useState(!1),oe=S.find(R=>R.field==="divisions"),ee=S.find(R=>R.field==="employment_type"),he=S.find(R=>R.field==="categories");return e.jsxs("div",{className:"space-y-6",children:[e.jsx(X,{title:w("cards.locationEmployment.title"),icon:e.jsx(Se,{size:18}),children:e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4 items-start",children:[e.jsxs("div",{children:[e.jsxs("label",{className:"form-label",children:[w("basics.location.label")," ",e.jsx("span",{className:"text-red-500",children:"*"})]}),e.jsx(ur,{selectedDivisionIds:a,onDivisionsChange:i,onDivisionsObjectsChange:n,initialDivisions:s,label:""}),oe&&e.jsxs("p",{className:"mt-1 text-xs text-red-500 flex items-center gap-1",children:[e.jsx(F,{size:12}),oe.message]})]}),e.jsxs("div",{children:[e.jsxs("label",{className:"form-label",children:[w("basics.employmentType.label")," ",e.jsx("span",{className:"text-red-500",children:"*"}),e.jsx(Z,{visible:!!(A!=null&&A.has("employment_type"))})]}),e.jsxs(vs,{value:c||void 0,onValueChange:R=>{o(R),I==null||I("employment_type")},children:[e.jsx(ks,{selectSize:"sm",variant:ee?"error":"default",children:e.jsx(Ns,{placeholder:w("basics.employmentType.selectType")})}),e.jsx(ws,{children:q.map(R=>e.jsx(Ss,{value:R.value,children:R.label},R.value))})]}),ee&&e.jsxs("p",{className:"mt-1 text-xs text-red-500 flex items-center gap-1",children:[e.jsx(F,{size:12}),ee.message]})]})]}),e.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4 items-start",children:[e.jsxs("div",{children:[e.jsx("label",{htmlFor:"deadline",className:"form-label",children:w("basics.deadline.label")}),e.jsx(js,{stringMode:!0,value:p?"":r,onChange:R=>{d(R),K&&V(!1)},disabled:p,min:new Date().toISOString().split("T")[0],variant:K?"error":"default",selectSize:"sm",dis
39playFormat:"PP"}),K&&e.jsx("p",{className:"mt-1 text-xs text-red-500",children:w("basics.deadline.pastDateError")}),e.jsxs("label",{className:"flex items-center gap-2 mt-2 cursor-pointer",children:[e.jsx(qe,{checked:p,onCheckedChange:R=>{u(R),R&&d("")},className:"h-3.5 w-3.5"}),e.jsx("span",{className:"text-xs text-gray-500 dark:text-gray-400",children:w("basics.deadline.noDeadline")})]})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"number-of-positions",className:"form-label",children:w("basics.positionsAvailable.label")}),e.jsx(Q,{id:"number-of-positions",type:"number",inputSize:"sm",min:1,max:100,value:b===0?"":b,onChange:R=>{const re=R.target.value;if(re==="")j(0);else{const le=parseInt(re);!isNaN(le)&&le>=0&&le<=100&&j(le)}},onBlur:R=>{const re=parseInt(R.target.value);(isNaN(re)||re<1)&&j(1)}})]})]})]})}),e.jsx(X,{title:w("cards.categories.title"),icon:e.jsx($s,{size:18}),children:e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[(A==null?void 0:A.has("industryIds"))&&e.jsxs("div",{className:"flex items-center gap-1 mb-1",children:[e.jsx("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:w("metadata.industries.label")}),e.jsx(Z,{visible:!0})]}),e.jsx(_s,{selectedIndustryIds:x,onIndustriesChange:R=>{f(R),I==null||I("industryIds")},onIndustriesObjectsChange:k,initialIndustries:N,label:A!=null&&A.has("industryIds")?"":w("metadata.industries.label")})]}),e.jsxs("div",{children:[(A==null?void 0:A.has("positionAssociations"))&&e.jsxs("div",{className:"flex items-center gap-1 mb-1",children:[e.jsx("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:w("metadata.positions.label")}),e.jsx(Z,{visible:!0})]}),e.jsx(mr,{selectedPositionAssociations:T,onPositionsChange:R=>{v(R),I==null||I("positionAssociations")},onPositionsObjectsChange:P,initialPositions:g,label:A!=null&&A.has("positionAssociations")?"":w("metadata.positions.label")})]}),he&&e.jsxs("p",{className:"text-xs text-red-500 flex items-center gap-1 -mt-2",children:[e.jsx(F,{size:12}),he.message]}),e.jsxs("div",{children:[(A==null?void 0:A.has("sectorIds"))&&e.jsxs("div",{className:"flex items-center gap-1 mb-1",children:[e.jsx("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:w("metadata.sectors.label")}),e.jsx(Z,{visible:!0})]}),e.jsx(Ts,{selectedSectorIds:C,onSectorsChange:R=>{_(R),I==null||I("sectorIds")},onSectorsObjectsChange:h,initialSectors:m,label:A!=null&&A.has("sectorIds")?"":w("metadata.sectors.label")})]}),e.jsxs("div",{children:[(A==null?void 0:A.has("remoteWorkType"))&&e.jsxs("div",{className:"flex items-center gap-1 mb-1",children:[e.jsx("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:w("metadata.remoteWorkType.label")}),e.jsx(Z,{visible:!0})]}),e.jsx(pr,{value:z,onChange:R=>{W(R),I==null||I("remoteWorkType")},label:A!=null&&A.has("remoteWorkType")?"":w("metadata.remoteWorkType.label")})]})]})}),e.jsx(er,{contacts:E,onContactsChange:$})]})}),gr=({jobId:t})=>{const{t:a}=B("jobs"),s=Ct(),[i,n]=y.useState(""),[c,o]=y.useState(""),[r,p]=y.useState(""),{data:d}=Ot(t),u=Bt({onMutate:async h=>{await s.cancelQueries({queryKey:D.jobs.requirements(t)});const T=s.getQueryData(D.jobs.requirements(t));return s.setQueryData(D.jobs.requirements(t),g=>{if(!g)return g;const v={id:`temp-${Date.now()}`,description:h.description,category:h.category,weight:h.weight||5};return{...g,data:[...g.data,v]}}),{previousRequirements:T}},onError:(h,T,g)=>{const v=g;v!=null&&v.previousRequirements&&s.setQueryData(D.jobs.requirements(t),v.previousRequirements),U.error(a("requirementsTab.toast.addFailed"))},onSuccess:()=>{U.success(a("requirementsTab.toast.added"))}}),b=Qt({onMutate:async({requirementId:h,description:T,category:g,weight:v})=>{await s.cancelQueries({queryKey:D.jobs.requirements(t)});const P=s.getQueryData(D.jobs.requirements(t));return s.setQueryData(D.jobs.requirements(t),z=>z&&{...z,data:z.data.map(W=>W.id===h?{...W,description:T||W.description,category:g||W.category,weight:v!==void 0?v:W.weight}:W)}),{previousRequirements:P}},onError:(h,T,g)=>{const v=g;v!=null&&v.previousRequirements&&s.setQueryData(D.jobs.requirements(t),v.previousRequirements),U.error(a("requirementsTab.toast.updateFailed"))},onSuccess:()=>{U.success(a("requirementsTab.toast.updated"))}}),j=Vt({onMutate:async({requirementId:h})=>{await s.cancelQueries({queryKey:D.jobs.requirements(t)});const T=s.getQueryData(D.jobs.requirements(t));return s.setQueryData(D.jobs.requirements(t),g=>g&&{...g,data:g.data.filter(v=>v.id!==h)}),{previousRequirements:T}},onError:(h,T,g)=>{const v=g;v!=null&&v.previousRequirements&&s.setQueryData(D.jobs.requirements(t),v.previousRequirements),U.error(a("requirementsTab.toast.deleteFailed"))},onSuccess:()=>{U.success(a("requirementsTab.toast.deleted"))}}),x=(d==null?void 0:d.data)||[],N=(h,T)=>{h.trim()&&(u.mutate({jobId:t,description:h.trim(),category:T,weight:5}),T==="education"&&n(""),T==="experience"&&o(""),T==="skill"&&p(""))},f=h=>{j.mutate({jobId:t,requirementId:h})},k=(h,T)=>{const g=x.find(v=>v.id===h);g&&b.mutate({jobId:t,requirementId:h,description:g.description,category:g.category,weight:At(T)})},C=x.filter(h=>h.category==="education"),m=x.filter(h=>h.category==="experience"),_=x.filter(h=>h.category==="skill");return e.jsxs("div",{className:"space-y-6",children:[e.jsx("p",{className:"text-[11px] text-gray-400 dark:text-gray-500",children:a("candidateProfile.hint")}),e.jsxs("div",{className:"p-4 bg-gray-50 dark:bg-gray-800/50 rounded-lg border border-gray-200 dark:border-gray-700",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(vt,{size:16,className:"text-purple-500"}),e.jsx("h4",{className:"text-sm font-medium text-gray-900 dark:text-white",children:a("candidateProfile.education.label")})]}),e.jsx(Ie,{requirements:C,onRemove:f,onWeightChange:k,isLoading:j.isPending||b.isPending}),e.jsxs("div",{className:`flex gap-2 ${C.length>0?"mt-3":""}`,children:[e.jsx(Q,{type:"text",value:i,onChange:h=>n(h.target.value),onKeyDown:h=>h.key==="Enter"&&N(i,"education"),placeholder:a("candidateProfile.education.placeholder"),disabled:u.isPending,inputSize:"sm",className:"flex-1"}),e.jsx("button",{type:"button",onClick:()=>N(i,"education"),disabled:u.isPending,className:"px-3 py-2 text-sm font-medium text-white bg-purple-600 hover:bg-purple-700 rounded-lg transition-colors disabled:opacity-50",children:e.jsx(H,{size:16,strokeWidth:2.5})})]})]}),e.jsxs("div",{className:"p-4 bg-gray-50 dark:bg-gray-800/50 rounded-lg border border-gray-200 dark:border-gray-700",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(pe,{size:16,className:"text-purple-500"}),e.jsx("h4",{className:"text-sm font-medium text-gray-900 dark:text-white",children:a("candidateProfile.experience.label")})]}),e.jsx(Ie,{requirements:m,onRemove:f,onWeightChange:k,isLoading:j.isPending||b.isPending}),e.jsxs("div",{className:`flex gap-2 ${m.length>0?"mt-3":""}`,children:[e.jsx(Q,{type:"text",value:c,onChange:h=>o(h.target.value),onKeyDown:h=>h.key==="Enter"&&N(c,"experience"),placeholder:a("candidateProfile.experience.placeholder"),disabled:u.isPending,inputSize:"sm",className:"flex-1"}),e.jsx("button",{type:"button",onClick:()=>N(c,"experience"),disabled:u.isPending,className:"px-3 py-2 text-sm font-medium text-white bg-purple-600 hover:bg-purple-700 rounded-lg transition-colors disabled:opacity-50",children:e.jsx(H,{size:16,strokeWidth:2.5})})]})]}),e.jsxs("div",{className:"p-4 bg-gray-50 dark:bg-gray-800/50 rounded-lg border border-gray-200 dark:border-gray-700",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(kt,{size:16,className:"text-purple-500"}),e.jsx("h4",{className:"text-sm font-medium text-gray-900 dark:text-white",children:a("candidateProfile.skills.label")})]}),e.jsx(Ie,{requirements:_,onRemove:f,onWeightChange:k,isLoading:j.isPending||b.isPending}),e.jsxs("div",{className:`flex gap-2 ${_.length>0?"mt-3":""}`,children:[e.jsx(Q,{type:"text",value:r,onChange:h=>p(h.target.value),onKeyDown:h=>h.key==="Enter"&&N(r,"skill"),placeholder:a("candidateProfile.skills.placeholder"),disabled:u.isPending,inputSize:"sm",className:"flex-1"}),e.jsx("button",{type:"button",onClick:()=>N(r,"skill"),disabled:u.isPending,className:"px-3 py-2 text-sm font-medium text-white bg-purple-600 hover:bg-purple-700 rounded-lg transition-colors disabled:opacity-50",children:e.jsx(H,{size:16,strokeWidth:2.5})})]}),_.length===0&&e.jsx("p",{className:"mt-2 text-[11px] text-gray-400 dark:text-gray-500",children:a("candidateProfile.skills.hint")})]})]})},Ie=({requirements:t,onRemove:a,onWeightChange:s,isLoading:i})=>t.length===0?null:e.jsx("ul",{className:"space-y-2 pl-3",children:t.map(n=>e.jsxs("li",{className:"flex items-center gap-2 py-1",children:[e.jsx("span",{className:"flex-1 text-sm text-gray-900 dark:text-white",children:n.description}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(zt,{value:Pt(n.weight),onChange:c=>s(n.id,c),disabled:i}),e.jsx("button",{type:"button",onClick:()=>
39a(n.id),disabled:i,className:"px-3 py-2 text-gray-400 hover:text-red-500 hover:bg-red-50 dark:hover:bg-red-900/20 rounded-lg transition-colors disabled:opacity-50",children:e.jsx(G,{size:16})})]})]},n.id))}),hr=({jobId:t})=>{const{t:a}=B("jobs"),s=Ct(),[i,n]=y.useState(""),{data:c}=Ht(t),o=Xt({onMutate:async b=>{await s.cancelQueries({queryKey:D.jobs.filterCriteria(t)});const j=s.getQueryData(D.jobs.filterCriteria(t));return s.setQueryData(D.jobs.filterCriteria(t),x=>{if(!x)return x;const N={id:`temp-${Date.now()}`,criteria_text:b.criteria_text,is_active:b.is_active!==void 0?b.is_active:!0,job_id:t};return{...x,data:[...x.data,N]}}),{previousFilters:j}},onError:(b,j,x)=>{const N=x;N!=null&&N.previousFilters&&s.setQueryData(D.jobs.filterCriteria(t),N.previousFilters),U.error(a("filters.toast.addFailed"))},onSuccess:()=>{U.success(a("filters.toast.added")),n("")}}),r=Yt({onMutate:async({criteriaId:b})=>{await s.cancelQueries({queryKey:D.jobs.filterCriteria(t)});const j=s.getQueryData(D.jobs.filterCriteria(t));return s.setQueryData(D.jobs.filterCriteria(t),x=>x&&{...x,data:x.data.filter(N=>N.id!==b)}),{previousFilters:j}},onError:(b,j,x)=>{const N=x;N!=null&&N.previousFilters&&s.setQueryData(D.jobs.filterCriteria(t),N.previousFilters),U.error(a("filters.toast.deleteFailed"))},onSuccess:()=>{U.success(a("filters.toast.deleted"))}}),p=(c==null?void 0:c.data)||[],d=()=>{i.trim()&&o.mutate({jobId:t,criteria_text:i.trim(),is_active:!0})},u=b=>{r.mutate({jobId:t,criteriaId:b})};return e.jsxs("div",{className:"space-y-4",children:[e.jsx("p",{className:"text-[11px] text-gray-400 dark:text-gray-500",children:a("mustHaveCriteria.hint")}),p.length>=3&&e.jsxs("div",{className:"flex items-start gap-2 p-3 bg-yellow-50 dark:bg-yellow-900/20 rounded-lg border border-yellow-200 dark:border-yellow-800",children:[e.jsx(wt,{size:16,className:"flex-shrink-0 mt-0.5 text-yellow-600 dark:text-yellow-400"}),e.jsx("p",{className:"text-sm text-yellow-700 dark:text-yellow-300",children:a("mustHaveCriteria.warning")})]}),p.length>0&&e.jsx("ul",{className:"space-y-2",children:p.map(b=>e.jsxs("li",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"flex-1 ml-3 px-3 py-2 rounded-lg bg-red-50 dark:bg-red-900/10 border border-red-200 dark:border-red-800",children:e.jsx("span",{className:"text-sm text-gray-900 dark:text-white",children:b.criteria_text})}),e.jsx("button",{type:"button",onClick:()=>u(b.id),disabled:r.isPending,className:"px-3 py-2 text-gray-400 hover:text-red-500 hover:bg-red-100 dark:hover:bg-red-900/30 rounded-lg transition-colors disabled:opacity-50",children:e.jsx(G,{size:16})})]},b.id))}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(Q,{type:"text",value:i,onChange:b=>n(b.target.value),onKeyDown:b=>b.key==="Enter"&&d(),placeholder:a("mustHaveCriteria.placeholder"),disabled:o.isPending,inputSize:"sm",className:"flex-1"}),e.jsx("button",{type:"button",onClick:d,disabled:o.isPending,className:"px-3 py-2 text-sm font-medium text-white bg-purple-600 hover:bg-purple-700 rounded-lg transition-colors disabled:opacity-50",children:e.jsx(H,{size:16,strokeWidth:2.5})})]}),p.length===0&&e.jsx("div",{className:"p-3 bg-gray-50 dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700",children:e.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400",children:a("mustHaveCriteria.emptyState")})})]})},br=y.memo(function({enableAiProcessing:a,onEnableAiProcessingChange:s,requirements:i,onRequirementsChange:n,filterCriteria:c,onFilterCriteriaChange:o,isEditMode:r,jobId:p,aiGeneratedFields:d,onFieldEdit:u}){const{t:b}=B("jobs");return e.jsxs("div",{className:"space-y-6",children:[e.jsx(Zs,{enabled:a,onEnabledChange:s}),r&&p?e.jsx(X,{title:b("cards.requirements.title"),icon:e.jsx(Nt,{size:18}),children:e.jsx(gr,{jobId:p})}):e.jsxs("div",{children:[(d==null?void 0:d.has("requirements"))&&e.jsxs("div",{className:"flex items-center gap-1 mb-1 ml-1",children:[e.jsx(Z,{visible:!0}),e.jsx("span",{className:"text-xs text-purple-500 dark:text-purple-400",children:b("aiAssistant.sparkleTooltip")})]}
39),e.jsx(Fs,{requirements:i,onRequirementsChange:j=>{n(j),u==null||u("requirements")}})]}),r&&p?e.jsx(X,{title:b("cards.criteria.title"),icon:e.jsx(St,{size:18}),children:e.jsx(hr,{jobId:p})}):e.jsxs("div",{children:[(d==null?void 0:d.has("filter_criteria"))&&e.jsxs("div",{className:"flex items-center gap-1 mb-1 ml-1",children:[e.jsx(Z,{visible:!0}),e.jsx("span",{className:"text-xs text-purple-500 dark:text-purple-400",children:b("aiAssistant.sparkleTooltip")})]}),e.jsx(Gs,{criteria:c,onCriteriaChange:j=>{o(j),u==null||u("filter_criteria")}})]})]})});function yr(t,a,s){return t==="unstructured"?a.replace(/<[^>]*>/g,"").trim().length>0:[s.introduction,s.aboutTheJob,s.whatWeLookFor,s.responsibilities,s.whatWeOffer,s.aboutTheCompany].some(n=>n?n.replace(/<[^>]*>/g,"").trim().length>0:!1)}function fr(t){const{t:a}=ge("jobs");return y.useMemo(()=>{const s=[];t.title.trim()||s.push({field:"title",step:1,message:a("validation.titleRequired")}),yr(t.descriptionMode,t.description,t.structuredDescription)||s.push({field:"description",step:1,message:a("validation.descriptionRequired")}),t.divisionIds.length===0&&s.push({field:"divisions",step:2,message:a("validation.locationRequired")}
39),t.employment_type||s.push({field:"employment_type",step:2,message:a("validation.employmentTypeRequired")}),t.industryIds.length>0||t.positionAssociations.length>0||s.push({field:"categories",step:2,message:a("validation.categoryRequired")});const n=s.filter(r=>r.step===1),c=s.filter(r=>r.step===2),o=s.filter(r=>r.step===3);return{step1:n,step2:c,step3:o,isValid:s.length===0,hasStepErrors:r=>{switch(r){case 1:return n.length>0;case 2:return c.length>0;case 3:return o.length>0;default:return!1}},getStepErrors:r=>{switch(r){case 1:return n;case 2:return c;case 3:return o;default:return[]}},getAllErrors:()=>s}},[t.title,t.description,t.descriptionMode,t.structuredDescription,t.divisionIds,t.employment_type,t.industryIds,t.positionAssociations,a])}function jr(){return _t({mutationFn:async t=>ct.post("/ai/job-listing-assistant/chat",t)})}function vr(){return _t({mutationFn:async t=>ct.post("/ai/job-listing-assistant/generate",t,{timeout:3e4})})}const kr=y.memo(function({role:a,content:s}){return a==="assistant"?e.jsxs("div",{className:"flex gap-2.5 items-start",children:[e.jsx("div",{className:"flex-shrink-0 w-7 h-7 rounded-full bg-purple-100 dark:bg-purple-900/40 flex items-center justify-center",children:e.jsx(ue,{size:14,className:"text-purple-600 dark:text-purple-400"})}),e.jsx("div",{className:"bg-purple-50 dark:bg-purple-900/20 text-gray-800 dark:text-gray-200 rounded-xl rounded-tl-sm px-3.5 py-2.5 max-w-[85%] text-sm leading-relaxed whitespace-pre-wrap",children:s})]}):e.jsxs("div",{className:"flex gap-2.5 items-start justify-end",children:[e.jsx("div",{className:"bg-gray-100 dark:bg-gray-800 text-gray-800 dark:text-gray-200 rounded-xl rounded-tr-sm px-3.5 py-2.5 max-w-[85%] text-sm leading-relaxed whitespace-pre-wrap",children:s}),e.jsx("div",{className:"flex-shrink-0 w-7 h-7 rounded-full bg-gray-200 dark:bg-gray-700 flex items-center justify-center",children:e.jsx(jt,{size:14,className:"text-gray-600 dark:text-gray-400"})})]})}),nt=20;function Nr({isOpen:t,onClose:a,onGenerate:s,companyDescription:i}){const{t:n,i18n:c}=B("jobs"),[o,r]=y.useState([]),[p,d]=y.useState(""),[u,b]=y.useState(!1),[j,x]=y.useState(null),N=y.useRef(null),f=y.useRef(null),k=jr(),C=vr(),m=c.language,_=k.isPending,h=C.isPending;y.useEffect(()=>{t&&o.length===0&&r([{role:"assistant",content:n("aiAssistant.greeting")}])},[t,o.length,n]),y.useEffect(()=>{var z;(z=N.current)==null||z.scrollIntoView({behavior:"smooth"})},[o,_]),y.useEffect(()=>{t&&setTimeout(()=>{var z;return(z=f.current)==null?void 0:z.focus()},300)},[t]);const T=y.useCallback(()=>{a(),setTimeout(()=>{r([]),d(""),b(!1),x(null),k.reset(),C.reset()},300)},[a,k,C]),g=y.useCallback(async()=>{const z=p.trim();if(!z||_||h||o.length>=nt)return;x(null);const W={role:"user",content:z},E=[...o,W];r(E),d("");try{const $=await k.mutateAsync({messages:E.filter(A=>A.role==="user"||A.role==="assistant"),language:m,companyDescription:i});r(A=>[...A,{role:"assistant",content:$.data.reply}]),$.data.readyToGenerate&&b(!0),setTimeout(()=>{var A;return(A=f.current)==null?void 0:A.focus()},0)}catch{x(n("aiAssistant.error"))}},[p,_,h,o,k,m,i,n]),v=y.useCallback(async()=>{if(!h){x(null);try{const z=await C.mutateAsync({messages:o.filter(W=>W.role==="user"||W.role==="assistant"),language:m,companyDescription:i});s(z.data)}catch{x(n("aiAssistant.error"))}}},[h,o,C,m,i,s,n]),P=z=>{z.key==="Enter"&&!z.shiftKey&&(z.preventDefault(),g())};return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:`fixed inset-0 bg-black/30 z-[60] transition-opacity duration-300 ease-in-out ${t?"opacity-100":"opacity-0 pointer-events-none"}`,onClick:T}),e.jsxs("div",{className:`fixed top-0 right-0 h-full w-full sm:w-[420px] bg-white dark:bg-gray-900 shadow-2xl z-[70] flex flex-col transition-transform duration-300 ease-in-out ${t?"translate-x-0":"translate-x-full"}`,role:"dialog","aria-modal":"true","aria-label":n("aiAssistant.title"),children:[e.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-gray-200 dark:border-gray-700",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(ue,{size:18,className:"text-purple-600 dar
39k:text-purple-400"}),e.jsx("h2",{className:"text-sm font-semibold text-gray-900 dark:text-gray-100",children:n("aiAssistant.title")})]}),e.jsx("button",{onClick:T,className:"p-1.5 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-800 text-gray-500 dark:text-gray-400 transition-colors","aria-label":n("aiAssistant.close"),children:e.jsx(G,{size:18})})]}),e.jsxs("div",{className:"flex-1 overflow-y-auto px-4 py-4 space-y-4",children:[o.map((z,W)=>e.jsx(kr,{role:z.role,content:z.content},W)),_&&e.jsxs("div",{className:"flex gap-2.5 items-start",children:[e.jsx("div",{className:"flex-shrink-0 w-7 h-7 rounded-full bg-purple-100 dark:bg-purple-900/40 flex items-center justify-center",children:e.jsx(ue,{size:14,className:"text-purple-600 dark:text-purple-400"})}),e.jsx("div",{className:"bg-purple-50 dark:bg-purple-900/20 rounded-xl rounded-tl-sm px-3.5 py-2.5",children:e.jsx(xe,{size:16,className:"animate-spin text-purple-500"})})]}),j&&e.jsxs("div",{className:"flex items-center gap-2 text-sm text-red-600 dark:text-red-400 bg-red-50 dark:bg-red-900/20 px-3 py-2 rounded-lg",children:[e.jsx(F,{size:14}),e.jsx("span",{className:"flex-1",children:j}),e.jsx("button",{onClick:()=>x(null),className:"text-xs font-medium underline hover:no-underline",children:n("aiAssistant.dismiss")})]}),e.jsx("div",{ref:N})]}),u&&e.jsx("div",{className:"px-4 py-2 border-t border-gray-100 dark:border-gray-800",children:e.jsx("button",{onClick:v,disabled:h,className:"w-full flex items-center justify-center gap-2 px-4 py-2.5 bg-purple-600 hover:bg-purple-700 disabled:bg-purple-400 text-white text-sm font-medium rounded-lg transition-colors",children:h?e.jsxs(e.Fragment,{children:[e.jsx(xe,{size:16,className:"animate-spin"}),n("aiAssistant.generating")]}):e.jsxs(e.Fragment,{children:[e.jsx(Ks,{size:16}),n("aiAssistant.generateButton")]})})}),e.jsx("div",{className:"px-4 py-3 border-t border-gray-200 dark:border-gray-700",children:e.jsxs("div",{className:"flex items-end gap-2",children:[e.jsx("textarea",{ref:f,value:p,onChange:z=>d(z.target.value),onKeyDown:P,placeholder:n("aiAssistant.inputPlaceholder"),disabled:_||h||o.length>=nt,rows:1,className:"flex-1 resize-none rounded-lg border border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-800 px-3 py-2 text-sm text-gray-900 dark:text-gray-100 placeholder-gray-400 dark:placeholder-gray-500 focus:outline-none focus:ring-2 focus:ring-purple-500 focus:border-transparent disabled:opacity-50"}),e.jsx("button",{onClick:g,disabled:!p.trim()||_||h,className:"flex-shrink-0 p-2 rounded-lg bg-purple-600 hover:bg-purple-700 disabled:bg-gray-300 dark:disabled:bg-gray-700 text-white transition-colors","aria-label":n("aiAssistant.send"),children:e.jsx(Is,{size:16})})]})})]})]})}function ot(t){return t.toLowerCase().trim().replace(/\s+/g," ")}function se(t,a){const s=ot(t),i=ot(a);if(s===i)return 3;const n=s.length<=i.length?s:i,c=s.length>i.length?s:i;return n.length/c.length<.4?0:c.startsWith(n)||c.includes(n)?1:0}function wr(t,a){if(!(t!=null&&t.length)||!(a!=null&&a.length))return[];const s=[];for(const i of t){let n=null,c=0;for(const o of a){const r=Math.max(se(i,o.name_en),se(i,o.name_no));r>c&&(c=r,n=o)}n&&!s.some(o=>o.id===n.id)&&s.push(n)}return s}function Sr(t,a){var n;if(!(t!=null&&t.length)||!(a!=null&&a.length))return{associations:[],details:[]};const s=[],i=[];for(const c of t){let o=null,r=0;for(const j of a){const x=Math.max(se(c.position,j.name_en),se(c.position,j.name_no));x>r&&(r=x,o=j)}const p=o;if(!p)continue;let d=null;if(c.subPosition&&((n=p.sub_positions)!=null&&n.length)){let j=0;for(const x of p.sub_positions){const N=Math.max(se(c.subPosition,x.name_en),se(c.subPosition,x.name_no));N>j&&(j=N,d=x)}}const u={position_id:p.id,sub_position_id:(d==null?void 0:d.id)??null};s.some(j=>j.position_id===u.position_id&&j.sub_position_id===u.sub_position_id)||(s.push(u),i.push({position_id:p.id,sub_position_id:(d==null?void 0:d.id)??null,position:p,sub_position:d}))}return{associations:s,details:i}}function Cr(t,a){if(!(t!=null&&t.length)||!(a!=null&&a.length))return[];const s=[];for(const i of t){let n=null,c=0;for(const o of a){const r=Math.max(se(i,o.slug),se(i,o.name_en),se(i,o.name_no
39));r>c&&(c=r,n=o)}n&&!s.some(o=>o.id===n.id)&&s.push(n)}return s}const _r={currentStep:1,title:"",role_summary:"",description:"",descriptionMode:"structured",structuredDescription:Ee(),useCompanyProfileForAbout:!1,divisionIds:[],employment_type:"",deadline:"",noDeadline:!0,number_of_positions:1,industryIds:[],sectorIds:[],positionAssociations:[],remoteWorkType:null,contacts:[],enableAiProcessing:!0,requirements:[],filter_criteria:[],bannerSource:"company",bannerUrl:null,bannerFile:null,logoSource:"company",logoUrl:null,logoFile:null},Xa=()=>{var Je,Oe,Be,Qe,Ve,He,Xe;const{t}=B("jobs"),a=lt(),{jobId:s}=Dt(),{company:i}=$t(),{data:n}=ts(),c=!!s,o=((Je=n==null?void 0:n.data)==null?void 0:Je.company)||i,[r,p]=y.useState(_r),[d,u]=y.useState(!1),[b,j]=y.useState(!1),[x,N]=y.useState(null),[f,k]=y.useState(!1),[C,m]=y.useState(!1),[_,h]=y.useState(!1),T=y.useRef(null),[g,v]=y.useState(new Set),P=y.useRef(!1),{data:z,isLoading:W}=Zt(s||"",{enabled:c}),{data:E}=os(s),{data:$}=Ft(s||""),{data:A}=Rs((o==null?void 0:o.id)||"",{enabled:!!(o!=null&&o.id)}),I=((Oe=A==null?void 0:A.data)==null?void 0:Oe.cover_image_url)||null,S=(o==null?void 0:o.logo_url)||null,w=dt(),q=ut(),K=Gt(),V=es(),{data:oe}=ls(),{data:ee}=cs(),{data:he}=mt(),[R,re]=y.useState([]),[le,Ce]=y.useState([]),[De,_e]=y.useState([]),[$e,Te]=y.useState([]),ae=fr({title:r.title,description:r.description,descriptionMode:r.descriptionMode,structuredDescription:r.structuredDescription,divisionIds:r.divisionIds,employment_type:r.employment_type,industryIds:r.industryIds,positionAssociations:r.positionAssociations});y.useEffect(()=>{if(z!=null&&z.data&&!P.current){P.current=!0;const l=z.data,L=(E==null?void 0:E.data)||[],O=($==null?void 0:$.data)||[],Y=l.industries||[],ie=l.sectors||[],me=l.positions||[];re(L),Ce(Y),_e(ie),Te(me);const be=lr(l.description||"");p(ce=>({...ce,title:l.title||"",role_summary:l.role_summary||"",description:l.description||"",descriptionMode:be?"structured":l.description?"unstructured":"structured",structuredDescription:be||Ee(),divisionIds:L.map(M=>M.id),industryIds:Y.map(M=>M.id),sectorIds:ie.map(M=>M.id),positionAssociations:me.map(M=>{var te,ye;return{position_id:M.position_id??((te=M.position)==null?void 0:te.id),sub_position_id:M.sub_position_id??((ye=M.sub_position)==null?void 0:ye.id)??null}}),employment_type:l.employment_type||"",deadline:l.deadline?l.deadline.split("T")[0]:"",noDeadline:!l.deadline,number_of_positions:l.number_of_positions||1,enableAiProcessing:!0,requirements:(l.requirements||[]).map((M,te)=>({...M,id:M.id||`req-${te}`})),filter_criteria:(l.filter_criteria||[]).map((M,te)=>({...M,id:M.id||`crit-${te}`})),remoteWorkType:l.remote_work_type||null,contacts:O.map(M=>({id:M.id,name:M.name,title:M.title||void 0,email:M.email||void 0,phone:M.phone||void 0,is_primary:M.is_primary||!1})),bannerSource:l.banner_source||"company",bannerUrl:l.banner_url||null,bannerFile:null,logoSource:l.logo_source||"company",logoUrl:l.logo_url||null,logoFile:null}))}},[z,E,$]),y.useEffect(()=>{P.current=!1},[s]);const Ke=y.useCallback(()=>r.descriptionMode==="structured"?at(r.structuredDescription,t):r.description,[r.descriptionMode,r.structuredDescription,r.description,t]),{save:Ue,isSaving:Lt}=Js({jobId:s,isEditMode:c,formState:r,companyId:o==null?void 0:o.id,getFinalDescription:Ke,onValidationError:()=>j(!0),isValid:ae.isValid,onJobCreated:l=>{N(l),setTimeout(()=>{u(!0)},500)}}),J=y.useCallback((l,L)=>{p(O=>({...O,[l]:L}))},[]),Mt=y.useCallback(l=>{p(L=>{if(l==="unstructured"&&L.descriptionMode==="structured"){const O=at(L.structuredDescription,t);return{...L,descriptionMode:l,description:O}}return{...L,descriptionMode:l}})},[t]),ze=y.useCallback(l=>{v(L=>{if(!L.has(l))return L;const O=new Set(L);return O.delete(l),O})},[]),ke=y.useCallback(l=>{p(L=>({...L,currentStep:l})),k(!1),window.scrollTo({top:0,behavior:"smooth"})},[]),Rt=y.useCallback(()=>{k(!0),!(ae.getStepErrors(r.currentStep).length>0)&&r.currentStep<3&&ke(r.currentStep+1)},[r.currentStep,ae,ke]),Ne=y.useCallback(l=>{var te,ye;const L=oe||[],O=ee||[],Y=he||[],ie=wr(l.suggestedIndustries||[],L),{associations:me,details:be}=Sr(l.suggestedPositions||[],Y),ce=Cr(l.suggestedSectors||[],O);p(ne=>{var Ye,Ze;return{...ne,title:l.title,role_summary:l.tagline,descriptionMode:"structured",
39structuredDescription:{introduction:l.introduction,aboutTheJob:l.aboutTheJob,whatWeLookFor:l.whatWeLookFor,responsibilities:l.responsibilities,whatWeOffer:l.whatWeOffer,aboutTheCompany:l.aboutTheCompany},industryIds:ie.length>0?ie.map(de=>de.id):ne.industryIds,positionAssociations:me.length>0?me:ne.positionAssociations,sectorIds:ce.length>0?ce.map(de=>de.id):ne.sectorIds,employment_type:l.suggestedEmploymentType||ne.employment_type,remoteWorkType:["on_site","partial_remote","full_remote"].includes(l.suggestedRemoteWorkType)?l.suggestedRemoteWorkType:ne.remoteWorkType,requirements:((Ye=l.suggestedRequirements)==null?void 0:Ye.length)>0?l.suggestedRequirements.map((de,Ae)=>({...de,id:`ai-req-${Ae}`})):ne.requirements,filter_criteria:((Ze=l.suggestedFilterCriteria)==null?void 0:Ze.length)>0?l.suggestedFilterCriteria.map((de,Ae)=>({...de,id:`ai-crit-${Ae}`,is_active:!0})):ne.filter_criteria}}),ie.length>0&&Ce(ie),be.length>0&&Te(be),ce.length>0&&_e(ce);const M=new Set(["title","role_summary","introduction","aboutTheJob","whatWeLookFor","responsibilities","whatWeOffer","aboutTheCompany"]);ie.length>0&&M.add("industryIds"),me.length>0&&M.add("positionAssociations"),ce.length>0&&M.add("sectorIds"),l.suggestedEmploymentType&&M.add("employment_type"),l.suggestedRemoteWorkType&&M.add("remoteWorkType"),((te=l.suggestedRequirements)==null?void 0:te.length)>0&&M.add("requirements"),((ye=l.suggestedFilterCriteria)==null?void 0:ye.length)>0&&M.add("filter_criteria"),v(M),m(!1)},[oe,ee,he]),Wt=y.useCallback(l=>{r.title.trim()||r.role_summary.trim()||r.description.trim()||r.structuredDescription.introduction.trim()||r.structuredDescription.aboutTheJob.trim()||r.requirements.length>0||r.filter_criteria.length>0||r.industryIds.length>0||r.positionAssociations.length>0?(T.current=l,h(!0)):Ne(l)},[r,Ne]),It=y.useCallback(()=>{T.current&&(Ne(T.current),T.current=null),h(!1)},[Ne]),qt=y.useCallback(()=>{T.current=null,h(!1)},[]);return c&&W?e.jsx("div",{className:"flex items-center justify-center min-h-[400px]",children:e.jsx(xe,{className:"w-8 h-8 animate-spin text-purple-600"})}):e.jsxs("div",{className:"min-h-screen bg-gray-50 dark:bg-gray-950 pb-20",children:[c&&((Be=z==null?void 0:z.data)==null?void 0:Be.status)==="published"&&e.jsx("div",{className:"bg-blue-50 dark:bg-blue-900/20 border-b border-blue-200 dark:border-blue-800",children:e.jsx("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 py-3",children:e.jsx("p",{className:"text-sm text-blue-700 dark:text-blue-300",children:t("builderPage.editNotice")})})}),e.jsxs("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 py-6",children:[e.jsxs(Le,{isActive:r.currentStep===1,children:[e.jsx(dr,{title:r.title,roleSummary:r.role_summary,onTitleChange:l=>J("title",l),onRoleSummaryChange:l=>J("role_summary",l),descriptionMode:r.descriptionMode,onDescriptionModeChange:Mt,description:r.description,onDescriptionChange:l=>J("description",l),structuredDescription:r.structuredDescription,onStructuredDescriptionChange:l=>J("structuredDescription",l),useCompanyProfileForAbout:r.useCompanyProfileForAbout,onUseCompanyProfileChange:l=>J("useCompanyProfileForAbout",l),companyDescription:(Ve=(Qe=n==null?void 0:n.data)==null?void 0:Qe.company)==null?void 0:Ve.description,onOpenAssistant:()=>m(!0),errors:f?ae.step1:[],aiGeneratedFields:g,onFieldEdit:ze}),e.jsx("div",{className:"mt-6",children:e.jsx(Hs,{bannerSource:r.bannerSource,bannerUrl:r.bannerUrl,bannerFile:r.bannerFile,logoSource:r.logoSource,logoUrl:r.logoUrl,logoFile:r.logoFile,companyBannerUrl:I,companyLogoUrl:S,companyName:o==null?void 0:o.name,onBannerSourceChange:l=>{p(L=>({...L,bannerSource:l,...l!=="custom"&&{bannerFile:null}}))},onBannerUpload:l=>{c&&s?w.mutate({jobId:s,file:l},{onSuccess:L=>{p(O=>{var Y;return{...O,bannerUrl:((Y=L.data)==null?void 0:Y.banner_url)||O.bannerUrl,bannerFile:null,bannerSource:"custom"}})}}):p(L=>({...L,bannerFile:l,bannerSource:"custom"}))},onBannerRemove:()=>{c&&s&&r.bannerUrl&&K.mutate(s),p(l=>({...l,bannerFile:null,bannerUrl:null,bannerSource:"none"}))},onLogoSourceChange:l=>{p(L=>({...L,logoSource:l,...l!=="custom"&&{logoFile:null}}))}
39,onLogoUpload:l=>{c&&s?q.mutate({jobId:s,file:l},{onSuccess:L=>{p(O=>{var Y;return{...O,logoUrl:((Y=L.data)==null?void 0:Y.logo_url)||O.logoUrl,logoFile:null,logoSource:"custom"}})}}):p(L=>({...L,logoFile:l,logoSource:"custom"}))},onLogoRemove:()=>{c&&s&&r.logoUrl&&V.mutate(s),p(l=>({...l,logoFile:null,logoUrl:null,logoSource:"none"}))},isUploading:w.isPending||q.isPending})})]}),e.jsx(Le,{isActive:r.currentStep===2,children:e.jsx(xr,{divisionIds:r.divisionIds,initialDivisions:R,onDivisionIdsChange:l=>J("divisionIds",l),onDivisionsObjectsChange:re,employmentType:r.employment_type,onEmploymentTypeChange:l=>J("employment_type",l),deadline:r.deadline,noDeadline:r.noDeadline,onDeadlineChange:l=>J("deadline",l),onNoDeadlineChange:l=>J("noDeadline",l),numberOfPositions:r.number_of_positions,onNumberOfPositionsChange:l=>J("number_of_positions",l),industryIds:r.industryIds,initialIndustries:le,onIndustriesChange:l=>J("industryIds",l),onIndustriesObjectsChange:Ce,sectorIds:r.sectorIds,initialSectors:De,onSectorsChange:l=>J("sectorIds",l),onSectorsObjectsChange:_e,positionAssociations:r.positionAssociations,initialPositions:$e,onPositionsChange:l=>J("positionAssociations",l),onPositionsObjectsChange:Te,remoteWorkType:r.remoteWorkType,onRemoteWorkTypeChange:l=>J("remoteWorkType",l),contacts:r.contacts,onContactsChange:l=>J("contacts",l),errors:f?ae.step2:[],aiGeneratedFields:g,onFieldEdit:ze})}),e.jsx(Le,{isActive:r.currentStep===3,children:e.jsx(br,{enableAiProcessing:r.enableAiProcessing,onEnableAiProcessingChange:l=>J("enableAiProcessing",l),requirements:r.requirements,onRequirementsChange:l=>J("requirements",l),filterCriteria:r.filter_criteria,onFilterCriteriaChange:l=>J("filter_criteria",l),isEditMode:c,jobId:s,aiGeneratedFields:g,onFieldEdit:ze})})]}),e.jsx(Xs,{currentStep:r.currentStep,onNext:Rt,onStepClick:ke,onCancel:()=>a("/jobs"),onSaveDraft:()=>Ue("draft"),onPublish:()=>Ue("published"),onPreview:()=>{const l=r.bannerUrl||(r.bannerFile?URL.createObjectURL(r.bannerFile):null),L=r.logoUrl||(r.logoFile?URL.createObjectURL(r.logoFile):null),O={formData:{title:r.title,role_summary:r.role_summary,description:Ke(),employment_type:r.employment_type,deadline:r.noDeadline?null:r.deadline,number_of_positions:r.number_of_positions,remote_work_type:r.remoteWorkType,divisions:R,industries:le,sectors:De,positions:$e,contacts:r.contacts,banner_source:r.bannerSource,banner_url:l,logo_source:r.logoSource,logo_url:L},company:{...o,cover_image_url:I,logo_url:S||(o==null?void 0:o.logo_url)}};sessionStorage.setItem("job-preview-data",JSON.stringify(O)),window.open(s?`/jobs/view/${s}`:"/jobs/preview","_blank")},isLastStep:r.currentStep===3,isSaving:Lt,hasValidationErrors:!ae.isValid,stepHasErrors:ae.hasStepErrors}),e.jsx(Ys,{isOpen:b,onClose:()=>j(!1),errors:ae.getAllErrors(),onGoToStep:l=>{j(!1),ke(l),k(!0)}}),x&&e.jsx(Ws,{isOpen:d,onClose:()=>{u(!1),a(`/jobs/${x}`)},jobId:x,jobTitle:r.title,onShareSuccess:()=>{setTimeout(()=>{a(`/jobs/${x}`)},1e3)}}),e.jsx(Nr,{isOpen:C,onClose:()=>m(!1),onGenerate:Wt,companyDescription:(Xe=(He=n==null?void 0:n.data)==null?void 0:He.company)==null?void 0:Xe.description}),_&&e.jsx("div",{className:"fixed inset-0 bg-black/50 z-[60] flex items-center justify-center p-4",children:e.jsxs("div",{className:"bg-white dark:bg-gray-900 rounded-xl shadow-xl max-w-sm w-full p-6",children:[e.jsx("p",{className:"text-sm text-gray-700 dark:text-gray-300 mb-4",children:t("aiAssistant.confirmOverwrite")}),e.jsxs("div",{className:"flex gap-3 justify-end",children:[e.jsx("button",{onClick:qt,className:"px-4 py-2 text-sm font-medium text-gray-700 dark:text-gray-300 bg-gray-100 dark:bg-gray-800 hover:bg-gray-200 dark:hover:bg-gray-700 rounded-lg transition-colors",children:t("aiAssistant.confirmOverwriteNo")}),e.jsx("button",{onClick:It,className:"px-4 py-2 text-sm font-medium text-white bg-purple-600 hover:bg-purple-700 rounded-lg transition-colors",children:t("aiAssistant.confirmOverwriteYes")})]})]})})]})};export{Xa as JobBuilderPage,Xa 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.