HR-ATS-Portal/frontend/dist/assets/RecruiterHub-D8UTHwdV.js

3 lines
6.4 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

import{d as f,a as y,s as T,r as d,b as A,l as k,j as e,I as w,A as t,B as C,K as i}from"./index-BTPmxtwM.js";import{C as o,a as h}from"./Chart-BGHtrE8S.js";const R=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],S=["W1","W2","W3","W4","W5"],m=["Applied","Screening","Assessment","Interview","Offer","Hired"],E=5,x=n=>n===0?"var(--bg-sunken)":`rgba(79,70,229,${.2+n/E*.8})`;function P(){const{toast:n}=f(),{data:r=[]}=y(T("recruiters")),[v,j]=d.useState(null),s=r.find(a=>a.id===v)??r[0],p=d.useMemo(()=>s?{labels:A.hiringTrend.labels,area:!0,datasets:[{label:"Hires",data:s.monthlyTrend,color:o.PALETTE[0]}]}:null,[s]),u=d.useMemo(()=>({labels:m,data:m.map(()=>k(2,14)),colors:o.PALETTE}),[s==null?void 0:s.id]),b=d.useMemo(()=>[...r].sort((a,l)=>l.hires-a.hires).slice(0,8),[r]);if(!s)return null;const g=s.sla==="On Track"?"b-green":s.sla==="At Risk"?"b-amber":"b-red";return e.jsxs("div",{className:"page",children:[e.jsxs("div",{className:"page-head",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"page-title",children:"Recruiter Hub"}),e.jsx("p",{className:"page-sub",children:"Personalized performance dashboard & workload"})]}),e.jsxs("div",{className:"page-head-actions",children:[e.jsx("select",{className:"select",value:s.id,onChange:a=>j(a.target.value),children:r.map(a=>e.jsx("option",{value:a.id,children:a.name},a.id))}),e.jsxs("button",{className:"btn btn-secondary",onClick:()=>n("Report exported","success"),children:[e.jsx(w,{name:"download"})," Export"]})]})]}),e.jsx("div",{className:"card brand-hero mb-18",children:e.jsxs("div",{className:"card-body",style:{display:"flex",alignItems:"center",gap:18},children:[e.jsx(t,{name:s.name,initials:s.initials,color:"rgba(255,255,255,.18)",className:"avatar-lg"}),e.jsxs("div",{style:{flex:1},children:[e.jsx("div",{style:{fontSize:20,fontWeight:700},children:s.name}),e.jsxs("div",{style:{opacity:.85},children:[s.department," Recruiter · ⭐ ",s.rating," rating"]})]}),e.jsxs("div",{style:{textAlign:"center"},children:[e.jsxs("div",{style:{fontSize:26,fontWeight:800},children:[s.workload,"%"]}),e.jsx("div",{style:{opacity:.85,fontSize:12},children:"Workload"})]}),e.jsxs("div",{style:{textAlign:"center"},children:[e.jsxs("div",{style:{fontSize:26,fontWeight:800},children:[s.efficiency,"%"]}),e.jsx("div",{style:{opacity:.85,fontSize:12},children:"Efficiency"})]}),e.jsx("div",{style:{textAlign:"center"},children:e.jsx(C,{className:g,children:s.sla})})]})}),e.jsxs("div",{className:"grid g-kpi mb-18",children:[e.jsx(i,{label:"Open Positions",value:s.openPositions,icon:"briefcase",tone:"i-indigo",foot:"active reqs"}),e.jsx(i,{label:"Closed Positions",value:s.closedPositions,icon:"check-circle",tone:"i-green",foot:"this year"}),e.jsx(i,{label:"Avg Time to Hire",value:`${s.avgTimeToHire}d`,icon:"clock",tone:"i-teal",foot:"target 30d"}),e.jsx(i,{label:"Avg Time to Fill",value:`${s.avgTimeToFill}d`,icon:"target",tone:"i-amber",foot:"req → offer"})]}),e.jsxs("div",{className:"grid g-kpi mb-18",children:[e.jsx(i,{label:"Interviews Today",value:s.interviewsToday,icon:"calendar",tone:"i-purple"}),e.jsx(i,{label:"Offers Pending",value:s.offersPending,icon:"file",tone:"i-blue"}),e.jsx(i,{label:"Awaiting Approval",value:s.jobsAwaitingApproval,icon:"clock",tone:"i-amber"}),e.jsx(i,{label:"Jobs Overdue",value:s.jobsOverdue,icon:"alert",tone:"i-red"})]}),e.jsxs("div",{className:"grid g-kpi mb-18",children:[e.jsx(i,{label:"Conversion Rate",value:`${s.conversionRate}%`,icon:"trending-up",tone:"i-green",foot:"applicant → hire"}),e.jsx(i,{label:"Interview Completion",value:`${s.interviewCompletion}%`,icon:"check-square",tone:"i-teal"}),e.jsx(i,{label:"Avg Response Time",value:`${s.avgResponseTime}h`,icon:"zap",tone:"i-purple",foot:"to candidates"}),e.jsx(i,{label:"TAT Performance",value:`${s.tat}%`,icon:"award",tone:"i-indigo",foot:"turnaround"})]}),e.jsxs("div",{className:"grid g-2-1 mb-18",children:[e.jsxs("div",{className:"card",children:[e.jsx("div",{className:"card-head",children:e.jsxs("div",{children:[e.jsx("h3",{children:"Monthly Hiring Trend"}),e.jsx("span",{className:"ch-sub",children:"Hires per month"})]})}),e.jsx("div",{className:"card-body",children:e.jsx("div",{className:"chart-wrap",children:e.jsx(h,{type:"line",data:p,height:260})})})]}),e.jsxs("div",{className:"card",children:[e.jsx("div",{className:"card-head",children:e.jsxs("div",{children:[e.jsx("h3",{children:"Workload Heatmap"}),e.jsx("span",{className:"ch-sub",children:"Interview load"})]})}),e.jsxs("div",{className:"card-body",children:[e.jsxs("div",{className:"heatmap",children:[e.jsx("div",{className:"hm-label"}),S.map(a=>e.jsx("div",{className:"hm-label",style:{justifyContent:"center"},children:a},a)),R.map((a,l)=>e.jsxs("div",{style:{display:"contents"},children:[e.jsx("div",{className:"hm-label",children:a}),s.heatmap[l].map((c,N)=>e.jsx("div",{className:"hm-cell",style:{background:x(c)},"data-tip":`${c} interviews`},`${a}-${N}`))]},a))]}),e.jsxs("div",{className:"hm-legend",children:["Less",[0,1,2,3,5].map(a=>e.jsx("span",{className:"hm-box",style:{background:x(a)}},a)),"More"]})]})]})]}),e.jsxs("div",{className:"grid g-2",children:[e.jsxs("div",{className:"card",children:[e.jsx("div",{className:"card-head",children:e.jsxs("div",{children:[e.jsx("h3",{children:"Recruiter Leaderboard"}),e.jsx("span",{className:"ch-sub",children:"Top performers by hires"})]})}),e.jsx("div",{className:"card-body",children:b.map((a,l)=>e.jsxs("div",{className:"leader-row",style:a.id===s.id?{background:"var(--primary-soft)",borderRadius:10,paddingLeft:8,paddingRight:8}:void 0,children:[e.jsx("span",{className:`leader-rank ${l===0?"gold":l===1?"silver":l===2?"bronze":""}`,children:l+1}),e.jsx(t,{name:a.name,initials:a.initials,color:a.color}),e.jsxs("div",{className:"lr-main",children:[e.jsx("div",{className:"lr-title",children:a.name}),e.jsxs("div",{className:"lr-sub",children:[a.efficiency,"% efficiency · ",a.avgTimeToHire,"d avg"]})]}),e.jsxs("div",{className:"lr-right",children:[e.jsx("div",{className:"fw-600",children:a.hires}),e.jsx("div",{className:"lr-sub",children:"hires"})]})]},a.id))})]}),e.jsxs("div",{className:"card",children:[e.jsx("div",{className:"card-head",children:e.jsxs("div",{children:[e.jsx("h3",{children:"Candidate Pipeline"}),e.jsx("span",{className:"ch-sub",children:"This recruiters active candidates"})]})}),e.jsx("div",{className:"card-body",children:e.jsx("div",{className:"chart-wrap",children:e.jsx(h,{type:"horizontalBar",data:u,height:260})})})]})]})]})}export{P as default};
//# sourceMappingURL=RecruiterHub-D8UTHwdV.js.map