PageSourceSearch

https://career-portal.replit.app/assets/InterviewsTab-CRerWJEp.js

js career-portal.replit.app collected 2026-10-03 03:50:07 UTC 30,106 bytes, 1 lines download raw bytes

1import{c as we,ar as ke,j as e,U,aB as Ne,B as k,bJ as X,bB as xe,bC as Z,bD as J,bE as Y,k as ue,i as ve,ch as z,ci as De,M as Se,bt as Te,t as N,T as Me,g as f,aw as Ae,cW as Q,r as o,cX as Ce,cY as Ie,b1 as Pe,b2 as Le,b3 as _e,b4 as Re,b5 as Oe,_ as W,$ as te,b6 as $e,n as he,cf as Fe,bv as ee,R as pe,V as g,cZ as qe,m as E,aF as Ee}from"./index-C6Vz5kBS.js";import{A as Be,a as ze,b as Ve,c as Ke,d as We,e as He,f as Ge,g as Ue}from"./alert-dialog-BAV7tM4a.js";import{T as Xe,a as Ze,b as Je,c as Ye}from"./tabs-DI9PoVPF.js";import{U as se,S as Qe}from"./ScheduleReInterviewModal-Bl3QkNUQ.js";import{C as es}from"./copy-D5Np_YRt.js";import{T as ss}from"./textarea-pVQtFrtt.js";import{I as ts,M as rs,a as as}from"./InPersonLocationPicker-b8e3m9Cf.js";import{L as ge}from"./loader-circle-C63_c31H.js";import{T as ns,a as ls,b as re,c as L,d as ds,e as _}from"./table-DVTdr80s.js";import{P as ae,a as ne,b as le}from"./popover-BRKqEL6S.js";import{C as H}from"./calendar-DG6v0L_3.js";import{c as is,a as os,g as cs,p as ms}from"./pdf-export-DWgOpjuk.js";import{L as xs}from"./layout-grid-DF3fsQF_.js";import{L as us}from"./list-BWupqm0a.js";import{P as de}from"./printer-DDMw1_oc.js";import{s as G,a as hs}from"./subDays-B-VRoJ6u.js";import"./pencil-CShDEeL5.js";import"./zap-DpzcOK0g.js";import"./chevron-left-Dlei_ycg.js";import"./chevron-right-ScwGD2nU.js";import"./Admin-XSa7xCEv.js";import"./switch-B9CV4qCo.js";import"./users-DuUIJDPx.js";import"./clipboard-check-D_MY2WB-.js";import"./shield-check-CtStqYcm.js";import"./database-KMsayZGx.js";import"./plus-BJCn4r1d.js";import"./trash-2-DEnt9rct.js";const ps=[["path",{d:"M2 5h20",key:"1fs1ex"}],["path",{d:"M6 12h12",key:"8npq4p"}],["path",{d:"M9 19h6",key:"456am0"}]],gs=we("list-filter",ps);function bs(s,t){const r=t?.weekStartsOn,d=ke(s),c=d.getDay(),p=(c<r?-7:0)+6-(c-r);return d.setDate(d.getDate()+p),d.setHours(23,59,59,999),d}function fs({title:s,count:t,color:r,children:d}){return e.jsxs("div",{dir:"rtl",className:"flex flex-col h-full min-w-0 overflow-hidden",children:[e.jsxs("div",{className:U("flex items-center justify-between px-3 py-2.5 rounded-t-xl border border-b-0",r),children:[e.jsx("h3",{className:"text-sm font-bold truncate",children:s}),e.jsx("span",{className:"text-xs font-semibold bg-white/30 dark:bg-black/20 rounded-full px-2 py-0.5 min-w-[24px] text-center",children:t})]}),e.jsx("div",{className:"flex-1 border border-t-0 border-gray-200 dark:border-white/10 rounded-b-xl bg-gray-50/50 dark:bg-white/[0.02] overflow-hidden min-w-0",children:e.jsx(Ne,{className:"h-[calc(100vh-280px)] w-full",children:e.jsx("div",{className:"p-2 space-y-2 w-full min-w-0",children:t===0?e.jsx("div",{className:"text-center py-8 text-xs text-muted-foreground",children:"لا توجد مقابلات"}):d})})})]})}function be(s){switch(s){case"scheduled":return e.jsx(k,{className:"bg-blue-500/20 text-blue-600 dark:text-blue-400 border-blue-500/30 text-[10px] px-1.5 py-0",children:"مجدولة"});case"passed":return e.jsx(k,{className:"bg-green-500/20 text-green-600 dark:text-green-400 border-green-500/30 text-[10px] px-1.5 py-0",children:"ناجح"});case"failed":return e.jsx(k,{className:"bg-red-500/20 text-red-600 dark:text-red-400 border-red-500/30 text-[10px] px-1.5 py-0",children:"غير ناجح"});case"cancelled":return e.jsx(k,{className:"bg-orange-500/20 text-orange-600 dark:text-orange-400 border-orange-500/30 text-[10px] px-1.5 py-0",children:"ملغية"});case"did_not_attend":return e.jsxs(k,{className:"bg-gray-500/20 text-gray-600 dark:text-gray-400 border-gray-500/30 text-[10px] px-1.5 py-0",children:[e.jsx(se,{className:"h-3 w-3 me-0.5"}),"لم يحضر"]});case"needs_re_interview":return e.jsxs(k,{className:"bg-amber-500/20 text-amber-600 dark:text-amber-400 border-amber-500/30 text-[10px] px-1.5 py-0",children:[e.jsx(X,{className:"h-3 w-3 me-0.5"}),"إعادة مقابلة"]});case"completed":return e.jsx(k,{className:"bg-slate-500/20 text-slate-600 dark:text-slate-400 border-slate-500/30 text-[10px] px-1.5 py-0",children:"مكتملة"});case"rescheduled":return e.jsx(k,{className:"bg-purple-500/20 text-purple-600 dar
1k:text-purple-400 border-purple-500/30 text-[10px] px-1.5 py-0",children:"أعيد جدولتها"});default:return e.jsx(k,{className:"bg-gray-500/20 text-gray-600 border-gray-500/30 text-[10px] px-1.5 py-0",children:s||"-"})}}const ys={scheduled:"مجدولة",passed:"ناجح",failed:"غير ناجح",cancelled:"ملغية",did_not_attend:"لم يحضر",needs_re_interview:"إعادة مقابلة",completed:"مكتملة",rescheduled:"أعيد جدولتها"};function ie(s){return s===new Date().toISOString().split("T")[0]}function oe(s){const t=new Date;return t.setDate(t.getDate()+1),s===t.toISOString().split("T")[0]}function js(s){try{return new Date(s).toLocaleDateString("ar-SA",{month:"short",day:"numeric"})}catch{return s}}function ce({interview:s,application:t,job:r,location:d,onView:c,onMarkDNA:p,onScheduleReInterview:u,onReschedule:i}){const n=()=>{const l=new Date(`${s.interviewDate}T${s.interviewTime}:00`),y=new Date>l;return s.status==="scheduled"&&!s.interviewStartedAt&&y},m=`${t.firstNameAr||""} ${t.lastNameAr||""}`.trim()||"مرشح غير معروف";return e.jsx(xe,{delayDuration:200,children:e.jsxs("div",{dir:"rtl",className:U("w-full rounded-xl border p-3 bg-white dark:bg-card/60 shadow-sm hover:shadow-md transition-all cursor-pointer text-right overflow-hidden min-w-0 max-w-full box-border",ie(s.interviewDate)?"border-red-300 dark:border-red-700/50 ring-1 ring-red-200 dark:ring-red-800/30":oe(s.interviewDate)?"border-amber-300 dark:border-amber-700/50":"border-gray-200 dark:border-white/10"),onClick:()=>c(s.id),children:[e.jsxs("div",{className:"flex items-start justify-between gap-2 mb-1.5 min-w-0",children:[e.jsxs(Z,{children:[e.jsx(J,{asChild:!0,children:e.jsx("p",{className:"font-semibold text-sm text-foreground truncate flex-1 min-w-0",children:m})}),e.jsx(Y,{side:"top",children:m})]}),e.jsx("span",{className:"shrink-0",children:be(s.status)})]}),e.jsxs("p",{className:"text-xs text-muted-foreground mb-1.5 break-words line-clamp-2 min-w-0",children:[r.title," ",r.category?`• ${r.category}`:""]}),e.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground mb-1.5 flex-wrap min-w-0",children:[e.jsxs("span",{className:"flex items-center gap-1 shrink-0",children:[e.jsx(ue,{className:"h-3 w-3 shrink-0"}),e.jsx("span",{children:js(s.interviewDate)})]}),e.jsxs("span",{className:"flex items-center gap-1 shrink-0",children:[e.jsx(ve,{className:"h-3 w-3 shrink-0"}),e.jsx("span",{children:z(s.interviewTime)})]}),ie(s.interviewDate)&&e.jsx(k,{className:"bg-red-500/20 text-red-600 dark:text-red-400 border-red-500/30 text-[10px] px-1 py-0",children:"اليوم"}),oe(s.interviewDate)&&e.jsx(k,{className:"bg-amber-500/20 text-amber-600 dark:text-amber-400 border-amber-500/30 text-[10px] px-1 py-0",children:"غداً"})]}),e.jsxs("div",{className:"flex items-center gap-1.5 text-xs text-muted-foreground mb-1.5 min-w-0",children:[s.interviewType==="online"?e.jsx(De,{className:"h-3 w-3 shrink-0 text-blue-600 dark:text-blue-400"}):e.jsx(Se,{className:"h-3 w-3 shrink-0"}),e.jsx("span",{className:"truncate min-w-0",children:s.interviewType==="online"?s.meetingProvider==="google_meet"?"Google Meet":s.meetingProvider==="zoom"?"Zoom":"عن بُعد":d?.name||s.location||"حضوري"})]}),s.interviewType==="online"&&s.meetingLink&&e.jsxs("div",{className:"flex items-center gap-1 mb-1.5 min-w-0",children:[e.jsxs("a",{href:s.meetingLink,target:"_blank",rel:"noopener noreferrer",onClick:l=>l.stopPropagation(),className:"flex-1 min-w-0 inline-flex items-center gap-1 text-[11px] text-blue-700 dark:text-blue-300 bg-blue-50 dark:bg-blue-950/30 hover:bg-blue-100 dark:hover:bg-blue-900/40 rounded px-2 py-1 truncate",children:[e.jsx(Te,{className:"h-3 w-3 shrink-0"}),e.jsx("span",{className:"truncate",children:"انضم للمقابلة"})]}),e.jsx("button",{type:"button",className:"p-1 rounded text-muted-foreground hover:bg-muted shrink-0",onClick:l=>{l.stopPropagation(),navigator.clipboard.writeText(s.meetingLink),N.success("تم نسخ الرابط")},"aria-label":"نسخ الرابط",children:e.jsx(es,{className:"h-3 w-3"})})]}),s.interviewType==="online"&&s.manualLinkRequired&&e.jsxs("div",{className:"flex items-center gap-1 mb-1.5 text-[11px] text-amber-700 dark:text-amber-300 bg-amber-50 dark:bg-amber-950/30 rounded px-2 py-1",children:[e.jsx(Me,{className:"h-3 w-3 shrink-0"}),e.jsx("span",{children:"رابط غير مُعيّن - يحتاج إدخال يدوي"})]}),s.evaluatedBy&&e.jsxs("p",{className:"text-xs text-muted-foreground mb-1.5 break-words",children:["المقيّم: ",s.evaluatedBy]}),s.finalPercentage!=null&&e.jsxs("div",{className:"flex items-center gap-2 mb-1.5",children:[e.jsxs("span",{className:U("text-xs font-bold px-1.5 py-0.5 rounded",s.finalPercentage>
1=70?"bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400":s.finalPercentage>=60?"bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-400":"bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-400"),children:[Math.round(s.finalPercentage),"%"]}),s.classificationAr&&e.jsx("span",{className:"text-xs text-muted-foreground",children:s.classificationAr})]}),(s.status==="needs_re_interview"||s.interviewSequence&&s.interviewSequence>1)&&e.jsxs(k,{className:"bg-amber-100 text-amber-800 dark:bg-amber-900 dark:text-amber-300 text-[10px] px-1.5 py-0 mb-1.5",children:[e.jsx(X,{className:"h-3 w-3 me-0.5"}),s.interviewSequence&&s.interviewSequence>1?`إعادة مقابلة #${s.interviewSequence}`:"إعادة مقابلة"]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-1 mt-2 pt-2 border-t border-gray-100 dark:border-white/5 min-w-0 overflow-hidden",children:[e.jsxs(f,{size:"sm",variant:"ghost",className:"h-6 text-[11px] text-primary hover:bg-primary/10 rounded-lg px-1.5 shrink-0",onClick:l=>{l.stopPropagation(),c(s.id)},children:[e.jsx(Ae,{className:"h-3 w-3 me-0.5 shrink-0"}),"عرض"]}),n()&&p&&e.jsxs(f,{size:"sm",variant:"ghost",className:"h-6 text-[11px] text-red-500 hover:bg-red-500/10 rounded-lg px-1.5 shrink-0",onClick:l=>{l.stopPropagation(),p(s.id,m)},children:[e.jsx(se,{className:"h-3 w-3 me-0.5 shrink-0"}),"لم يحضر"]}),s.status==="scheduled"&&i&&e.jsxs(f,{size:"sm",variant:"ghost",className:"h-6 text-[11px] text-purple-600 hover:bg-purple-500/10 rounded-lg px-1.5 shrink-0",onClick:l=>{l.stopPropagation(),i(s,t)},children:[e.jsx(Q,{className:"h-3 w-3 me-0.5 shrink-0"}),"إعادة جدولة"]}),s.status==="needs_re_interview"&&u&&e.jsxs(f,{size:"sm",variant:"ghost",className:"h-6 text-[11px] text-amber-600 hover:bg-amber-500/10 rounded-lg px-1.5 shrink-0",onClick:l=>{l.stopPropagation(),u(s,t)},children:[e.jsx(X,{className:"h-3 w-3 me-0.5 shrink-0"}),"جدولة إعادة"]})]})]})})}function ws({open:s,onOpenChange:t,interview:r,application:d}){const[c,p]=o.useState(""),[u,i]=o.useState(""),[n,m]=o.useState("in_person"),[l,y]=o.useState(""),[M,A]=o.useState(""),[v,D]=o.useState("google_meet"),[C,I]=o.useState(""),{data:h}=Ce(!0),S=Ie();o.useEffect(()=>{r&&(p(r.interviewDate||""),i(r.interviewTime||""),m(r.interviewType||"in_person"),y(r.locationId||""),A(r.instructions||""),r.meetingProvider&&D(r.meetingProvider),r.meetingProvider==="manual"&&r.meetingLink?I(r.meetingLink):I(""))},[r]);const R=async()=>{if(!c||!u){N.error("يرجى تحديد التاريخ والوقت");return}if(!r||!d)return;const j=new Date().toISOString().split("T")[0];if(c===j){const T=new Date().toLocaleTimeString("en-GB",{hour:"2-digit",minute:"2-digit",hour12:!1});if(u<=T){N.error("لا يمكن جدولة مقابلة في وقت سابق");return}}if(n==="online"&&v==="manual"&&!C.trim()){N.error("يرجى إدخال رابط الاجتماع");return}try{(await S.mutateAsync({interviewId:r.id,interviewDate:c,interviewTime:u,interviewType:n,locationId:l||void 0,instructions:M||void 0,...n==="online"?{meetingProvider:v,meetingLink:v==="manual"?C.trim():void 0}:{}}))?.warnings?.includes("meeting_api_failed")?N.warning("تعذّر إنشاء رابط الاجتماع تلقائياً - يرجى إضافة الرابط يدوياً من بطاقة المقابلة"):N.success("تمت إعادة جدولة المقابلة بنجاح"),t(!1)}catch(T){N.error(T.message||"حدث خطأ في إعادة جدولة المقابلة")}},O=d?`${d.firstNameAr||""} ${d.lastNameAr||""}`.trim():"",$=r?.interviewDate?new Date(r.interviewDate).toLocaleDateString("ar-SA",{weekday:"long",year:"numeric",month:"long",day:"numeric"}):"";return e.jsx(Pe,{open:s,onOpenChange:t,children:e.jsxs(Le,{className:"sm:max-w-[480px]",dir:"rtl",children:[e.jsxs(_e,{children:[e.jsxs(Re,{className:"flex items-center gap-2",children:[e.jsx(Q,{className:"h-5 w-5 text-purple-600"}),"إعادة جدولة المقابلة"]}),e.jsxs(Oe,{children:["إعادة جدولة مقابلة المرشح ",e.jsx("span",{className:"font-bold",children:O})]})]}),r&&e.jsxs("div",{className:"bg-purple-50 dark:bg-purple-900/20 border border-purple-200 dark:border-purple-800 rounded-lg p-3 text-sm",children:[e.jsx("p",{className:"text-purple-700 dark:text-purple-300 font-medium mb-1",children:"الموعد الحالي:"}
1),e.jsxs("p",{className:"text-purple-600 dark:text-purple-400",children:[$," - ",z(r.interviewTime)]})]}),e.jsxs("div",{className:"space-y-4 py-2",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(W,{htmlFor:"reschedule-date",children:"التاريخ الجديد *"}),e.jsx(te,{id:"reschedule-date",type:"date",value:c,onChange:j=>p(j.target.value),min:new Date().toISOString().split("T")[0],dir:"ltr"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(W,{htmlFor:"reschedule-time",children:"الوقت الجديد *"}),e.jsx(te,{id:"reschedule-time",type:"time",value:u,onChange:j=>i(j.target.value),dir:"ltr"})]}),e.jsx(ts,{value:n,onChange:j=>m(j)}),e.jsx(rs,{visible:n==="online",provider:v,onProviderChange:D,manualLink:C,onManualLinkChange:I}),e.jsx(as,{visible:n==="in_person",value:l,onChange:y,locations:h}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(W,{htmlFor:"reschedule-instructions",children:"تعليمات (اختياري)"}),e.jsx(ss,{id:"reschedule-instructions",value:M,onChange:j=>A(j.target.value),placeholder:"تعليمات إضافية للمرشح...",rows:3})]})]}),e.jsxs($e,{className:"gap-2",children:[e.jsx(f,{variant:"outline",onClick:()=>t(!1),children:"إلغاء"}),e.jsx(f,{onClick:R,disabled:S.isPending||!c||!u,className:"bg-purple-600 hover:bg-purple-700",children:S.isPending?e.jsxs(e.Fragment,{children:[e.jsx(ge,{className:"h-4 w-4 animate-spin ml-2"}),"جاري إعادة الجدولة..."]}):e.jsxs(e.Fragment,{children:[e.jsx(Q,{className:"h-4 w-4 ml-2"}),"إعادة الجدولة"]})})]})]})})}function ks({onViewInterview:s,data:t,isLoading:r,isError:d}){const[,c]=he(),p=Fe(),[u,i]=o.useState(!1),[n,m]=o.useState(""),[l,y]=o.useState(""),[M,A]=o.useState(!1),[v,D]=o.useState(null),[C,I]=o.useState(null),[h,S]=o.useState(!1),[R,O]=o.useState(null),[$,j]=o.useState(null),T=a=>{s?s(a):c(`/admin/interviews/${a}`)},F=(a,b)=>{m(a),y(b),i(!0)},V=async()=>{try{await p.mutateAsync(n),N.success("تم تحديث حالة المقابلة - لم يحضر"),i(!1)}catch(a){N.error(a.message||"حدث خطأ في تحديث الحالة")}},x=(a,b)=>{O(a),j(b),S(!0)},w=(a,b)=>{D(a),I(b),A(!0)},P=o.useMemo(()=>[{key:"scheduled",title:"المقابلات المجدولة",color:"bg-blue-100 dark:bg-blue-900/30 border-blue-200 dark:border-blue-800 text-blue-800 dark:text-blue-300",items:t?.scheduled||[]},{key:"passed",title:"ناجح",color:"bg-green-100 dark:bg-green-900/30 border-green-200 dark:border-green-800 text-green-800 dark:text-green-300",items:t?.passed||[]},{key:"failed",title:"لم يجتز",color:"bg-red-100 dark:bg-red-900/30 border-red-200 dark:border-red-800 text-red-800 dark:text-red-300",items:t?.failed||[]},{key:"noShow",title:"لم يحضر",color:"bg-gray-100 dark:bg-gray-900/30 border-gray-200 dark:border-gray-700 text-gray-800 dark:text-gray-300",items:t?.noShow||[]},{key:"reInterviewRequired",title:"إعادة مقابلة مطلوبة",color:"bg-amber-100 dark:bg-amber-900/30 border-amber-200 dark:border-amber-800 text-amber-800 dark:text-amber-300",items:t?.reInterviewRequired||[]},{key:"previous",title:"مقابلات سابقة",color:"bg-slate-100 dark:bg-slate-900/30 border-slate-200 dark:border-slate-700 text-slate-800 dark:text-slate-300",items:t?.previous||[]}],[t]),je=o.useMemo(()=>P.reduce((a,b)=>a+b.items.length,0),[P]);return r?e.jsx("div",{className:"grid grid-cols-1 xl:grid-cols-6 gap-4",dir:"rtl",children:Array.from({length:6}).map((a,b)=>e.jsxs("div",{className:"space-y-2",children:[e.jsx(ee,{className:"h-10 w-full rounded-xl"}),e.jsx("div",{className:"space-y-2 p-2",children:Array.from({length:3}).map((B,q)=>e.jsx(ee,{className:"h-32 w-full rounded-xl"},q))})]},b))}):d?e.jsxs("div",{className:"text-center py-16",dir:"rtl",children:[e.jsx(pe,{className:"h-10 w-10 text-red-400 mx-auto mb-3"}),e.jsx("p",{className:"text-muted-foreground",children:"حدث خطأ في تحميل المقابلات. يرجى المحاولة مرة أخرى."})]}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"hidden xl:grid grid-cols-6 gap-3 overflow-hidden [&>*]:min-w-0",dir:"rtl",children:P.map(a=>e.jsx(fs,{title:a.title,count:a.items.length,color:a.color,children:a.items.map(({interview:b,application:B,job:q,location:K})=>e.jsx(ce,{interview:b,application:B,job:q,location:K,onView:T,onMarkDNA:a.key==="scheduled"||a.key==="previous"?F:void 0,onScheduleReInterview:a.key==="reInterviewRequired"?w:void 0,onReschedule:a.key==="scheduled"?x:void 0},b.id))},a.key))}),e.jsx("div",{className:"xl:hidden overflow-hidden",dir:"rtl",children:e.jsxs(Xe,{defaultValue:"scheduled",className:"w-full",children:[e.jsx(Ze,{className:"grid grid-cols-3 h-auto gap-1 bg-gray-100/80 dark:bg-white/5 rounded-xl p-1 overflow-hidden",children:P.map(a=>e.jsxs(Je,{value:a.key,className:"text-[11px] px-1.5 py-1.5 leading-tight truncate min-w-0",children:[e.jsx("span",{className:"truncate",children:a.title}),e.jsxs("span",{className:"ms-0.5 text-[10px] opacity-70 shrink-0",children:["(",a.items.length,")"]})]},a.key))}),P.map(a=>e.jsx(Ye,{value:a.key,className:"mt-3 space-y-2",children:a.items.length===0?e.jsx("div",{className:"text-center py-12 text-muted-foreground text-sm",children:"لا توجد مقابلات"}):a.items.map(({interview:b,application:B,job:q,location:K})=>e.jsx(ce,{interview:b,application:B,job:q,location:K,onView:T,onMarkDNA:a.key==="scheduled"||a.key==="previous"?F:void 0,onScheduleReInterview:a.key==="reInterviewRequired"?w:void 0,onReschedule:a.key==="scheduled"?x:void 0},b.id))},a.key))]})}),e.jsxs("div",{className:"text-sm text-muted-foreground text-center mt-2",children:["إجمالي المقابلات: ",je]}),e.jsx(Be,{open:u,onOpenChange:i,children:e.jsxs(ze,{dir:"rtl",children:[e.jsxs(Ve,{children:[e.jsx(Ke,{children:"تأكيد عدم الحضور"}),e.jsxs(We,{children:["هل أنت متأكد أن المرشح ",e.jsx("span",{className:"font-bold",children:l})," لم يحضر المقابلة؟",e.jsx("br",{}),'سيتم تغيير حالة المقابلة إلى "لم يحضر".']})]}),e.jsxs(He,{className:"gap-2",children:[e.jsx(Ge,{children:"إلغاء"}),e.jsx(Ue,{onClick:V,disabled:p.isPending,className:"bg-red-600 hover:bg-red-700",children:p.isPending?e.jsxs(e.Fragment,{children:[e.jsx(ge,{className:"h-4 w-4 animate-spin ml-2"}),"جاري التحديث..."]}):e.jsxs(e.Fragment,{children:[e.jsx(se,{className:"h-4 w-4 ml-2"}),"تأكيد - لم يحضر"]})})]})]})}),e.jsx(Qe,{open:M,onOpenChange:A,interview:v,application:C}
1),e.jsx(ws,{open:h,onOpenChange:S,interview:R,application:$})]})}function fe(s){if(!s)return[];const t=[...s.scheduled||[],...s.passed||[],...s.failed||[],...s.noShow||[],...s.reInterviewRequired||[],...s.previous||[]],r=new Set;return t.filter(c=>r.has(c.interview.id)?!1:(r.add(c.interview.id),!0)).sort((c,p)=>{const u=c.interview.interviewDate||"",i=p.interview.interviewDate||"";if(u!==i)return u<i?-1:1;const n=c.interview.interviewTime||"",m=p.interview.interviewTime||"";return n===m?0:n<m?-1:1})}function Ns(s){try{return new Date(s).toLocaleDateString("ar-SA",{year:"numeric",month:"short",day:"numeric"})}catch{return s}}function vs({data:s,isLoading:t,isError:r,onViewInterview:d}){const[,c]=he(),p=o.useMemo(()=>fe(s),[s]),u=i=>{d?d(i):c(`/admin/interviews/${i}`)};return t?e.jsx("div",{className:"space-y-2",dir:"rtl",children:Array.from({length:6}).map((i,n)=>e.jsx(ee,{className:"h-12 w-full rounded-xl"},n))}):r?e.jsxs("div",{className:"text-center py-16",dir:"rtl",children:[e.jsx(pe,{className:"h-10 w-10 text-red-400 mx-auto mb-3"}),e.jsx("p",{className:"text-muted-foreground",children:"حدث خطأ في تحميل المقابلات. يرجى المحاولة مرة أخرى."})]}):p.length===0?e.jsx("div",{className:"text-center py-16 text-muted-foreground text-sm",dir:"rtl",children:"لا توجد مقابلات"}):e.jsx(xe,{delayDuration:200,children:e.jsx("div",{dir:"rtl",children:e.jsxs(ns,{children:[e.jsx(ls,{className:"sticky top-0 z-10",children:e.jsxs(re,{children:[e.jsx(L,{children:"اسم المتقدم"}),e.jsx(L,{children:"الوظيفة"}),e.jsx(L,{children:"القسم"}),e.jsx(L,{children:"التاريخ"}),e.jsx(L,{children:"الوقت"}),e.jsx(L,{children:"الحالة"}),e.jsx(L,{children:"المقيّم"})]})}),e.jsx(ds,{children:p.map(({interview:i,application:n,job:m})=>{const l=`${n.firstNameAr||""} ${n.lastNameAr||""}`.trim()||"مرشح غير معروف";return e.jsxs(re,{className:"cursor-pointer",onClick:()=>u(i.id),children:[e.jsx(_,{className:"font-semibold max-w-[220px]",children:e.jsxs(Z,{children:[e.jsx(J,{asChild:!0,children:e.jsx("span",{className:"block truncate",children:l})}),e.jsx(Y,{children:l})]})}),e.jsx(_,{className:"max-w-[200px]",children:e.jsxs(Z,{children:[e.jsx(J,{asChild:!0,children:e.jsx("span",{className:"block truncate",children:m?.title||"-"})}),e.jsx(Y,{children:m?.title||"-"})]})}),e.jsx(_,{className:"max-w-[160px]",children:e.jsx("span",{className:"block truncate text-muted-foreground",children:m?.category||"-"})}),e.jsx(_,{className:"whitespace-nowrap",children:Ns(i.interviewDate)}),e.jsx(_,{className:"whitespace-nowrap",children:z(i.interviewTime)||"-"}),e.jsx(_,{children:be(i.status)}),e.jsx(_,{className:"max-w-[160px]",children:e.jsx("span",{className:"block truncate text-muted-foreground",children:i.evaluatedBy||"-"})})]},i.id)})})]})})})}function Ds(s){try{return new Date(s).toLocaleDateString("ar-EG",{weekday:"long",year:"numeric",month:"long",day:"numeric"})}catch{return s}}function Ss(s,t){const c=[...t.filter(n=>n.interview.interviewDate===s)].sort((n,m)=>{const l=n.interview.interviewTime||"",y=m.interview.interviewTime||"";return l<y?-1:l>y?1:0}).map(({interview:n,application:m,job:l})=>({name:`${m.firstNameAr||""} ${m.lastNameAr||""}`.trim()||"مرشح غير معروف",job:l?.title||"-",time:z(n.interviewTime)||"-",status:ys[n.status||""]||n.status||"-",signature:""})),u=is("قائمة المقابلات",os([{key:"name",header:"الاسم",width:"26%"},{key:"job",header:"الوظيفة",width:"24%"},{key:"time",header:"الوقت",width:"14%",align:"center"},{key:"status",header:"الحالة",width:"14%",align:"center"},{key:"signature",header:"التوقيع",width:"22%"}],c)),i=cs({title:"كشف حضور المقابلات",subtitle:Ds(s),orientation:"portrait"},u);return ms(i)}function ye(){const s=new Date,t=Ee(s,{weekStartsOn:6}),r=bs(s,{weekStartsOn:6});return{from:g(t,"yyyy-MM-dd"),to:g(r,"yyyy-MM-dd")}}const me=ye(),Ts=[{label:"هذا الأسبوع",getValue:()=>ye()},{label:"اليوم",getValue:()=>({from:g(new Date,"yyyy-MM-dd"),to:g(new Date,"yyyy-MM-dd")})},{label:"آخر 7 أيام",getValue:()=>({from:g(G(new Date,7),"yyyy-MM-dd"),to:g(new Date,"yyyy-MM-dd")})},{label:"آخر 30 يوم",getValue:()=>({from:g(G(new Date,30),"yyyy-MM-dd"),to:g(new Date,"yyyy-MM-dd")})},{label:"هذا الشهر",getValue:()=>({from:g(hs(new Date),"yyyy-MM-dd"),to:g(new Date,"yyyy-MM-dd")})},{label:"آخر 90 يوم",getValue:()=>({from:g(G(new Date,90),"yyyy-MM-dd"),to:g(new Date,"yyyy-MM-dd")})}];function tt({onViewInterview:s}){const[t,r]=o.useState(me.from),[d,c]=o.useState(me.to),[p,u]=o.useState(!1),[i,n]=o.useState("هذا الأسبوع"),[m,l]=o.useState(!1),[y,M]=o.use
1State("kanban"),[A,v]=o.useState(!1),[D,C]=o.useState(g(new Date,"yyyy-MM-dd")),I=m?{}:{dateFrom:t,dateTo:d},{data:h,isLoading:S,isError:R}=qe(I),O=o.useMemo(()=>fe(h),[h]),$=()=>{if(!D){N.error("يرجى اختيار التاريخ");return}const x=Ss(D,O);x.success?v(!1):N.error(x.message||"فشل فتح نافذة الطباعة")},j=h?(h.scheduled?.length||0)+(h.passed?.length||0)+(h.failed?.length||0)+(h.noShow?.length||0)+(h.reInterviewRequired?.length||0)+(h.previous?.length||0):0,T=x=>{const{from:w,to:P}=x.getValue();r(w),c(P),n(x.label),l(!1),u(!1)},F=()=>{l(!0),n(""),u(!1)},V=()=>m?"عرض الكل":i||(t&&d?`${g(new Date(t),"dd/MM/yyyy",{locale:E})} - ${g(new Date(d),"dd/MM/yyyy",{locale:E})}`:"اختر الفترة");return e.jsxs("div",{className:"space-y-4 md:space-y-6 pb-4",dir:"rtl",children:[e.jsx("div",{className:"bg-white/90 dark:bg-card/40 backdrop-blur-2xl rounded-[1.5rem] md:rounded-[2rem] border border-gray-200 dark:border-white/10 shadow-xl p-4 md:p-6",children:e.jsxs("div",{className:"flex flex-col md:flex-row md:items-center justify-between gap-4",children:[e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center gap-3",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg md:text-xl font-bold text-foreground",children:"لوحة المقابلات"}),e.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:j>0?`${j} مقابلة`:"لا توجد مقابلات"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs(ae,{open:p,onOpenChange:u,children:[e.jsx(ne,{asChild:!0,children:e.jsxs(f,{variant:"outline",className:"rounded-xl gap-2 min-w-[160px] justify-start",children:[e.jsx(ue,{className:"h-4 w-4"}),e.jsx("span",{className:"text-sm",children:V()})]})}),e.jsxs(le,{className:"w-auto p-0 rounded-2xl",align:"start",children:[e.jsx("div",{className:"p-3 border-b border-gray-200 dark:border-white/10",children:e.jsxs("div",{className:"flex flex-wrap gap-2",children:[Ts.map(x=>e.jsx(f,{variant:!m&&i===x.label?"default":"outline",size:"sm",className:"rounded-lg text-xs",onClick:()=>T(x),children:x.label},x.label)),e.jsx(f,{variant:m?"default":"outline",size:"sm",className:"rounded-lg text-xs",onClick:F,children:"عرض الكل"})]})}),e.jsxs("div",{className:"flex",children:[e.jsx(H,{mode:"single",selected:t?new Date(t):void 0,onSelect:x=>{if(x){const w=g(x,"yyyy-MM-dd");r(w),d&&w>d&&c(w),n(""),l(!1)}},locale:E,className:"p-3"}),e.jsx(H,{mode:"single",selected:d?new Date(d):void 0,onSelect:x=>{if(x){const w=g(x,"yyyy-MM-dd");c(w),t&&w<t&&r(w),n(""),l(!1)}},locale:E,className:"p-3 border-r border-gray-200 dark:border-white/10"})]})]})]}),e.jsxs(f,{variant:m?"default":"ghost",size:"sm",className:"rounded-xl gap-1.5 text-xs",onClick:F,children:[e.jsx(gs,{className:"h-3.5 w-3.5"}),"عرض الكل"]}),e.jsxs("div",{className:"inline-flex items-center rounded-xl border border-gray-200 dark:border-white/10 bg-gray-100/50 dark:bg-white/5 p-0.5",children:[e.jsxs(f,{variant:y==="kanban"?"default":"ghost",size:"sm",className:"rounded-lg gap-1.5 text-xs h-8",onClick:()=>M("kanban"),children:[e.jsx(xs,{className:"h-3.5 w-3.5"}),"لوحة"]}),e.jsxs(f,{variant:y==="list"?"default":"ghost",size:"sm",className:"rounded-lg gap-1.5 text-xs h-8",onClick:()=>M("list"),children:[e.jsx(us,{className:"h-3.5 w-3.5"}),"قائمة"]})]}),e.jsxs(ae,{open:A,onOpenChange:v,children:[e.jsx(ne,{asChild:!0,children:e.jsxs(f,{variant:"outline",size:"sm",className:"rounded-xl gap-1.5 text-xs",children:[e.jsx(de,{className:"h-3.5 w-3.5"}),"طباعة كشف الحضور"]})}),e.jsxs(le,{className:"w-auto p-0 rounded-2xl",align:"start",children:[e.jsxs("div",{className:"p-3 border-b border-gray-200 dark:border-white/10",children:[e.jsx("p",{className:"text-sm font-semibold mb-1",children:"اختر تاريخ المقابلات"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"سيتم طباعة كشف حضور لليوم المختار فقط"})]}),e.jsx(H,{mode:"single",selected:D?new Date(D):void 0,onSelect:x=>{x&&C(g(x,"yyyy-MM-dd"))},locale:E,className:"p-3"}),e.jsxs("div",{className:"p-3 border-t border-gray-200 dark:border-white/10 flex justify-end gap-2",children:[e.jsx(f,{variant:"outline",size:"sm",className:"rounded-lg text-xs",onClick:()=>v(!1),children:"إلغاء"}),e.jsxs(f,{size:"sm",className:"rounded-lg text-xs gap-1.5",onClick:$,children:[e.jsx(de,{className:"h-3.5 w-3.5"}),"طباعة"]})]})]})]})]})]}),h&&e.jsxs("div",{className:"flex items-center gap-2 flex-wrap text-xs",children:[e.jsxs("span",{className:"px-2 py-1 rounded-full bg-blue-100 dar
1k:bg-blue-900/30 text-blue-700 dark:text-blue-300",children:["مجدولة: ",h.scheduled?.length||0]}),e.jsxs("span",{className:"px-2 py-1 rounded-full bg-green-100 dark:bg-green-900/30 text-green-700 dark:text-green-300",children:["ناجح: ",h.passed?.length||0]}),e.jsxs("span",{className:"px-2 py-1 rounded-full bg-red-100 dark:bg-red-900/30 text-red-700 dark:text-red-300",children:["لم يجتز: ",h.failed?.length||0]}),e.jsxs("span",{className:"px-2 py-1 rounded-full bg-amber-100 dark:bg-amber-900/30 text-amber-700 dark:text-amber-300",children:["إعادة: ",h.reInterviewRequired?.length||0]}),e.jsxs("span",{className:"px-2 py-1 rounded-full bg-gray-100 dark:bg-gray-900/30 text-gray-700 dark:text-gray-300",children:["لم يحضر: ",h.noShow?.length||0]})]})]})}),y==="kanban"?e.jsx(ks,{onViewInterview:s,data:h,isLoading:S,isError:R}):e.jsx(vs,{data:h,isLoading:S,isError:R,onViewInterview:s})]})}export{tt as InterviewsTab};

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.