import{u as y,r as t,j as s,a as R,L as M}from"./index-kE4_6-nI.js";import{M as h}from"./DashboardParts-nkkWHQei.js";import{M as I}from"./Modal-BtPN4Q6v.js";import{P as T}from"./PageHeader-BIrj68Xg.js";function $(){const{recruiters:r,requisitions:m,reassign:u}=y(),[n,j]=t.useState(null),[l,x]=t.useState(""),[c,p]=t.useState(""),v=r.filter(e=>e.score>=26).length,g=r.filter(e=>e.score<=15).length,b=r.reduce((e,i)=>e+i.assignments.length,0),f=t.useMemo(()=>[...r].sort((e,i)=>e.score-i.score).find(e=>e.name!==n?.from)?.name??"",[r,n]),N=e=>{j(e),x([...r].sort((i,a)=>i.score-a.score).find(i=>i.name!==e.from)?.name??""),p("")},o=()=>j(null),C=()=>{!n||!l||c.trim().length<10||(u(n.requisitionId,l,c.trim()),o())};return s.jsxs("div",{className:"page-stack",children:[s.jsx(T,{eyebrow:"Dirección de RRHH · Planeación",title:"Capacidad del equipo",description:"Balancea la carga antes de que la presión se convierta en retraso."}),s.jsxs("section",{className:"metrics-grid metrics-grid--three",children:[s.jsx(h,{label:"Reclutadores disponibles",value:g,note:"0–15 puntos",tone:"green"}),s.jsx(h,{label:"Capacidad crítica",value:v,note:"26+ puntos",tone:"red"}),s.jsx(h,{label:"Casos asignados",value:b,note:"Requisiciones activas"})]}),s.jsxs("section",{className:"capacity-formula","aria-label":"Fórmula del puntaje de carga",children:[s.jsxs("div",{children:[s.jsx("span",{children:"COMPLEJIDAD"}),s.jsx("strong",{children:"Tier 1 = 1 · Tier 2 = 3 · Tier 3 = 5"})]}),s.jsx("i",{children:"+"}),s.jsxs("div",{children:[s.jsx("span",{children:"VOLUMEN"}),s.jsx("strong",{children:"1–2 = 0 · 3–10 = 2 · 11+ = 4"})]}),s.jsx("i",{children:"="}),s.jsxs("div",{children:[s.jsx("span",{children:"PUNTAJE"}),s.jsx("strong",{children:"Disponible · Al límite · Crítico"})]})]}),s.jsxs("div",{className:"capacity-thresholds",children:[s.jsxs("div",{className:"threshold threshold--ok",children:[s.jsx("span",{children:"0—15"}),s.jsx("b",{children:"Disponible"}),s.jsx("p",{children:"Puede asumir nuevas posiciones."})]}),s.jsxs("div",{className:"threshold threshold--risk",children:[s.jsx("span",{children:"16—25"}),s.jsx("b",{children:"Al límite"}),s.jsx("p",{children:"Evitar asignaciones masivas."})]}),s.jsxs("div",{className:"threshold threshold--late",children:[s.jsx("span",{children:"26+"}),s.jsx("b",{children:"Crítico"}),s.jsx("p",{children:"Reasignar o sumar apoyo temporal."})]})]}),s.jsx("section",{className:"recruiter-grid",children:r.map(e=>{const i=R(e.score);return s.jsxs("article",{className:`recruiter-card recruiter-card--${i.tone}`,children:[s.jsxs("header",{children:[s.jsx("span",{className:"avatar",children:e.name.split(" ").map(a=>a[0]).join("")}),s.jsxs("div",{children:[s.jsx("h2",{children:e.name}),s.jsx("p",{children:e.countries.join(" · ")})]}),s.jsxs("div",{className:"score",children:[s.jsx("strong",{children:e.score}),s.jsx("span",{children:"puntos"})]})]}),s.jsxs("div",{className:"recruiter-card__status",children:[s.jsx("span",{children:i.label}),s.jsx("progress",{className:`capacity-progress capacity-progress--${i.tone}`,max:"30",value:Math.min(30,e.score)})]}),s.jsxs("div",{className:"assignment-list",children:[s.jsxs("div",{className:"assignment-list__head",children:[s.jsx("span",{children:"Vacante"}),s.jsx("span",{children:"Tier / fase"})]}),e.assignments.map(a=>{const d=m.some(q=>q.id===a.requisitionId);return s.jsxs("div",{className:"assignment",children:[s.jsxs("div",{children:[s.jsx(M,{to:d?`/requisiciones/${a.requisitionId}`:"#",children:a.position}),s.jsx("small",{children:a.requisitionId})]}),s.jsxs("div",{children:[s.jsxs("b",{children:["T",a.tier]}),s.jsx("span",{children:a.phase})]}),s.jsx("button",{type:"button",disabled:!d,onClick:()=>N({requisitionId:a.requisitionId,from:e.name,position:a.position}),children:d?"Reasignar":"Referencia"})]},a.requisitionId)})]})]},e.id)})}),s.jsxs(I,{open:!!n,title:`Reasignar ${n?.position??""}`,description:`Mover ${n?.requisitionId??""} desde ${n?.from??""}.`,onClose:o,footer:s.jsxs(s.Fragment,{children:[s.jsx("button",{className:"button button--quiet",type:"button",onClick:o,children:"Cancelar"}),s.jsx("button",{className:"button button--primary",type:"button",disabled:!l||c.trim().length<10,onClick:C,children:"Confirmar reasignación"})]}),children:[s.jsxs("div",{className:"reassignment-preview",children:[s.jsxs("div",{children:[s.jsx("span",{children:"Sale de"}),s.jsx("strong",{children:n?.from})]}),s.jsx("b",{"aria-hidden":"true",children:"→"}),s.jsxs("div",{children:[s.jsx("span",{children:"Recomendado"}),s.jsx("strong",{children:f})]})]}),s.jsxs("label",{className:"field",children:[s.jsxs("span",{children:["Nuevo/a reclutador/a ",s.jsx("b",{children:"*"})]}),s.jsx("select",{value:l,onChange:e=>x(e.target.value),children:r.filter(e=>e.name!==n?.from).map(e=>s.jsxs("option",{value:e.name,children:[e.name," · ",e.score," puntos"]},e.id))})]}),s.jsxs("label",{className:"field",children:[s.jsxs("span",{children:["Nota de entrega ",s.jsx("b",{children:"*"})]}),s.jsx("textarea",{rows:4,value:c,onChange:e=>p(e.target.value),placeholder:"Estado de candidatos y motivo de la transferencia…"}),s.jsx("small",{children:"Se notificará a ambas personas y quedará en la auditoría."})]})]})]})}export{$ as default};