PageSourceSearch

https://career-portal.replit.app/assets/Onboarding-CxOTQ6gu.js

js career-portal.replit.app collected 2026-10-03 03:49:34 UTC 35,696 bytes, 1 lines download raw bytes

1import{c as we,j as e,_ as S,$ as le,U as h,R as I,a0 as ne,a1 as ce,a2 as ie,a3 as de,a4 as oe,r as v,ad as M,bz as me,g as T,t as U,a9 as ke,aa as Y,Y as z,f as $,cv as Ue,w as Ae,u as Se,cw as Ie,cx as Fe,C as V,h as B,aA as Pe,I as Ee,K as Te,bw as Re,P as Oe,cy as K,an as _,T as Q,al as X}from"./index-C6Vz5kBS.js";import{F as xe}from"./file-check-CM04SE-V.js";import{L as R}from"./loader-circle-C63_c31H.js";import{U as he}from"./upload-CrVn8V10.js";import{I as qe}from"./image-3ZExsmzg.js";import{I as G}from"./info-D-jR6fOn.js";import{C as O}from"./circle-check-big-Bx8k1Hnb.js";import{P as De}from"./party-popper-CQ-_yDxy.js";import{S as Le}from"./save-C5aOYwm3.js";import{P as Ve}from"./pencil-CShDEeL5.js";const Be=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],_e=we("arrow-left",Be);function q({label:d,fieldName:l,value:i,onChange:x,error:o,touched:j=!1,required:n=!1,type:u="text",placeholder:p,dir:m="rtl",icon:t,disabled:c=!1,className:s}){const f=o&&j;return e.jsxs("div",{className:h("space-y-1.5",s),children:[e.jsxs(S,{htmlFor:l,className:"flex items-center gap-2",children:[t,d,n&&e.jsx("span",{className:"text-red-500",children:"*"})]}),e.jsx(le,{id:l,type:u,value:i,onChange:r=>x(r.target.value),placeholder:p,dir:m,disabled:c,className:h("transition-all",f&&"border-red-500 bg-red-50/50 ring-1 ring-red-500/30 dark:bg-red-900/10")}),f&&e.jsxs("p",{className:"text-xs text-red-500 flex items-center gap-1",children:[e.jsx(I,{className:"h-3 w-3"}),o]})]})}function Z({label:d,fieldName:l,value:i,onChange:x,options:o,error:j,touched:n=!1,required:u=!1,placeholder:p="اختر...",icon:m,disabled:t=!1,className:c}){const s=j&&n;return e.jsxs("div",{className:h("space-y-1.5",c),children:[e.jsxs(S,{htmlFor:l,className:"flex items-center gap-2",children:[m,d,u&&e.jsx("span",{className:"text-red-500",children:"*"})]}),e.jsxs(ne,{value:i,onValueChange:x,disabled:t,children:[e.jsx(ce,{id:l,className:h("transition-all",s&&"border-red-500 bg-red-50/50 ring-1 ring-red-500/30 dark:bg-red-900/10"),children:e.jsx(ie,{placeholder:p})}),e.jsx(de,{children:o.map(f=>e.jsx(oe,{value:f.value,children:f.label},f.value))})]}),s&&e.jsxs("p",{className:"text-xs text-red-500 flex items-center gap-1",children:[e.jsx(I,{className:"h-3 w-3"}),j]})]})}function ue(d={}){const[l,i]=v.useState(!1),[x,o]=v.useState(null),[j,n]=v.useState(0),u=v.useCallback(async m=>{i(!0),o(null),n(0);try{n(10);const t=new FormData;t.append("file",m),n(30);const c=await fetch("/api/uploads/direct",{method:"POST",body:t});if(!c.ok){const r=await c.json().catch(()=>({}));throw new Error(r.error||"Failed to upload file")}const s=await c.json(),f={uploadURL:"",objectPath:s.objectPath,metadata:s.metadata};return n(100),d.onSuccess?.(f),f}catch(t){const c=t instanceof Error?t:new Error("Upload failed");return o(c),d.onError?.(c),null}finally{i(!1)}},[d]),p=v.useCallback(async m=>{const t=await fetch("/api/uploads/request-url",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:m.name,size:m.size,contentType:m.type||"application/octet-stream"})});if(!t.ok)throw new Error("Failed to get upload URL");return{method:"PUT",url:(await t.json()).uploadURL,headers:{"Content-Type":m.type||"application/octet-stream"}}},[]);return{uploadFile:u,getUploadParameters:p,isUploading:l,error:x,progress:j}}function k({label:d,fieldName:l,value:i,onChange:x,error:o,touched:j=!1,required:n=!1,optional:u=!1,accept:p=".pdf,.jpg,.jpeg,.png,.webp",description:m,className:t}){const c=!!i,s=o&&j,{uploadFile:f,isUploading:r,error:N}=ue({onSuccess:A=>{const w=A.objectPath.startsWith("/objects/")?A.objectPath:`/objects/${A.objectPath}`;x(w),U.success("تم رفع الملف بنجاح")},onError:A=>{U.error(A.message||"فشل رفع الملف")}}),C=async A=>{const w=A.target.files?.[0];if(w){if(w.size>5*1024*1024){U.error("حجم الملف يجب أن لا يتجاوز 5 ميجابايت");return}await f(w)}};return e.jsxs("div",{className:h("space-y-2",t),children:[e.jsxs(S,{className:"flex items-center gap-2",children:[e.jsx(M,{className:"h-4 w-4"}),d,n&&e.jsx("span",{className:"text-red-500",children:"*"}),u&&e.jsx("span",{className:"text-muted-foreground text-xs",children:"(اختياري)"})]}),m&&e.jsx("p",{className:"text-xs text-muted-foreground",children:m}),e.jsx("div",{className:"flex items-center gap-3",children:c?e.jsxs("div",{className:h("flex items-center gap-2 p-3 rounded-lg flex-1",s?"bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-700":"bg-green-50 dark:bg-green-900/20"),children:[e.jsx(xe,{className:h("h-5 w-5",s?"text-red-600":"text-green-600")}),e.jsx("span",{className:h("text-sm",s?"text-red-700 dark:text-red-400":"text-green-700 dark:text-green-400"),children:"تم الرفع"}),e.jsx("a",{href:i,target:"_blank",rel:"noopener noreferrer",className:"text-xs text-primary hover:underline mr-auto",children:"عرض الملف"})]}):e.jsxs("div",{className:h("flex items-center gap-2 p-3 rounded-lg flex-1",s?"bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-700":"bg-gray-50 dark:bg-gray-800"),children:[e.jsx(me,{className:h("h-5 w-5",s?"text-red-400":"text-gray-400")}),e.jsx("span",{className:h("text-sm",s?"text-red-500":"text-gray-500"),children:"لم يتم الرفع"})]})}),e.jsxs("div",{className:"relative",children:[e.jsx("input",{type:"file",id:l,accept:p,onChange:C,disabled:r,className:"absolute inset-0 w-full h-full opacity-0 cursor-pointer disabled:cursor-not-allowed"}),e.jsx(T,{type:"button",variant:"outline",size:"sm",className:h("w-full",s&&"border-red-300 hover:border-red-400"),disabled:r,children:r?e.jsxs(e.Fragment,{children:[e.jsx(R,{className:"h-4 w-4 animate-spin ml-2"}),"جاري الرفع..."]}
1):e.jsxs(e.Fragment,{children:[e.jsx(he,{className:"h-4 w-4 ml-2"}),c?"استبدال الملف":"رفع الملف"]})})]}),s&&e.jsxs("p",{className:"text-xs text-red-500 flex items-center gap-1",children:[e.jsx(I,{className:"h-3 w-3"}),o]}),N&&e.jsx("p",{className:"text-xs text-red-500",children:N.message})]})}function ee({label:d,fieldName:l,phoneValue:i,phoneCodeValue:x,onPhoneChange:o,onPhoneCodeChange:j,error:n,touched:u=!1,required:p=!1,disabled:m=!1,className:t}){const c=n&&u,s=()=>{const r=Y.find(N=>N.code===x);return r?x==="+966"?"5xxxxxxxx":`${"x".repeat(r.phoneLength)}`:"رقم الجوال"},f=r=>{const N=r.replace(/\D/g,"");o(N)};return e.jsxs("div",{className:h("space-y-1.5",t),children:[e.jsxs(S,{htmlFor:l,className:"flex items-center gap-2",children:[e.jsx(ke,{className:"h-4 w-4"}),d,p&&e.jsx("span",{className:"text-red-500",children:"*"})]}),e.jsxs("div",{className:"flex gap-2",dir:"ltr",children:[e.jsxs(ne,{value:x,onValueChange:j,disabled:m,children:[e.jsx(ce,{className:h("w-[130px]",c&&"border-red-500 bg-red-50/50 ring-1 ring-red-500/30 dark:bg-red-900/10"),children:e.jsx(ie,{})}),e.jsx(de,{children:Y.map(r=>e.jsx(oe,{value:r.code,children:r.label},r.code))})]}),e.jsx(le,{id:l,type:"tel",value:i,onChange:r=>f(r.target.value),placeholder:s(),dir:"ltr",disabled:m,className:h("flex-1 transition-all",c&&"border-red-500 bg-red-50/50 ring-1 ring-red-500/30 dark:bg-red-900/10")})]}),c&&e.jsxs("p",{className:"text-xs text-red-500 flex items-center gap-1",children:[e.jsx(I,{className:"h-3 w-3"}),n]})]})}const ze=["خلفية بيضاء أو فاتحة","مظهر رسمي","وجه واضح","لا فلاتر","لا نظارات شمسية","صورة حديثة"];function $e({label:d,fieldName:l,value:i,onChange:x,error:o,touched:j=!1,required:n=!1,className:u}){const p=!!i,m=o&&j,{uploadFile:t,isUploading:c,error:s}=ue({onSuccess:r=>{const N=r.objectPath.startsWith("/objects/")?r.objectPath:`/objects/${r.objectPath}`;x(N),U.success("تم رفع الصورة بنجاح")},onError:r=>{U.error(r.message||"فشل رفع الصورة")}}),f=async r=>{const N=r.target.files?.[0];if(N){if(N.size>5*1024*1024){U.error("حجم الملف يجب أن لا يتجاوز 5 ميجابايت");return}await t(N)}};return e.jsxs("div",{className:h("space-y-4",u),children:[e.jsxs(S,{className:"flex items-center gap-2 text-base font-medium",children:[e.jsx(qe,{className:"h-5 w-5"}),d,n&&e.jsx("span",{className:"text-red-500",children:"*"})]}),e.jsx("div",{className:"p-3 bg-amber-50 rounded-xl border border-amber-200 dark:bg-amber-900/20 dark:border-amber-700",children:e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx(G,{className:"h-4 w-4 text-amber-600 mt-0.5 flex-shrink-0"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium text-amber-800 dark:text-amber-300",children:"متطلبات الصورة الرسمية"}),e.jsx("ul",{className:"text-xs text-amber-700 dark:text-amber-400 mt-1 space-y-0.5 list-disc list-inside",children:ze.map((r,N)=>e.jsx("li",{children:r},N))})]})]})}),p&&e.jsx("div",{className:"flex justify-center",children:e.jsx("div",{className:"relative w-32 h-40 rounded-lg overflow-hidden border-2 border-gray-200 dark:border-gray-700",children:e.jsx("img",{src:i,alt:"الصورة الشخصية",className:"w-full h-full object-cover"})})}),e.jsx("div",{className:"flex items-center gap-3",children:p?e.jsxs("div",{className:h("flex items-center gap-2 p-3 rounded-lg flex-1",m?"bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-700":"bg-green-50 dark:bg-green-900/20"),children:[e.jsx(xe,{className:h("h-5 w-5",m?"text-red-600":"text-green-600")}),e.jsx("span",{className:h("text-sm",m?"text-red-700 dark:text-red-400":"text-green-700 dark:text-green-400"),children:"تم رفع الصورة"}),e.jsx("a",{href:i,target:"_blank",rel:"noopener noreferrer",className:"text-xs text-primary hover:underline mr-auto",children:"عرض الصورة"})]}):e.jsxs("div",{className:h("flex items-center gap-2 p-3 rounded-lg flex-1",m?"bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-700":"bg-gray-50 dark:bg-gray-800"),children:[e.jsx(me,{className:h("h-5 w-5",m?"text-red-400":"text-gray-400")}),e.jsx("span",{className:h("text-sm",m?"text-red-500":"text-gray-500"),children:"لم يتم رفع الصورة"})]})}),e.jsxs("div",{className:"relative",children:[e.jsx("input",{type:"file",id:l,accept:".jpg,.jpeg,.png,.webp",onChange:f,disabled:c,
1className:"absolute inset-0 w-full h-full opacity-0 cursor-pointer disabled:cursor-not-allowed"}),e.jsx(T,{type:"button",variant:"outline",className:h("w-full",m&&"border-red-300 hover:border-red-400"),disabled:c,children:c?e.jsxs(e.Fragment,{children:[e.jsx(R,{className:"h-4 w-4 animate-spin ml-2"}),"جاري الرفع..."]}):e.jsxs(e.Fragment,{children:[e.jsx(he,{className:"h-4 w-4 ml-2"}),p?"استبدال الصورة":"رفع الصورة"]})})]}),m&&e.jsxs("p",{className:"text-xs text-red-500 flex items-center gap-1",children:[e.jsx(I,{className:"h-3 w-3"}),o]}),s&&e.jsx("p",{className:"text-xs text-red-500",children:s.message})]})}const D=[{number:1,title:"البيانات الشخصية",progress:25,icon:z},{number:2,title:"مستندات الهوية",progress:50,icon:M},{number:3,title:"مستندات التوظيف",progress:75,icon:$},{number:4,title:"الصورة والمراجعة",progress:100,icon:O}];function Ge({currentStep:d,onStepClick:l}){const i=D[d-1].progress;return e.jsxs("div",{className:"space-y-4",children:[e.jsx("div",{className:"w-full bg-gray-200 dark:bg-gray-700 rounded-full h-2",children:e.jsx("div",{className:"bg-primary h-2 rounded-full transition-all duration-500",style:{width:`${i}%`}})}),e.jsxs("p",{className:"text-center text-sm text-muted-foreground",children:[i,"% مكتمل"]}),e.jsx("div",{className:"flex items-center justify-center gap-2 flex-wrap",children:D.map((x,o)=>{const j=x.icon,n=d===x.number,u=d>x.number,p=x.number<d&&l;return e.jsxs("div",{className:"flex items-center",children:[e.jsxs("button",{onClick:()=>p&&l(x.number),disabled:!p,className:h("flex items-center gap-2 px-3 py-2 rounded-full transition-all text-sm",n&&"bg-primary text-white",u&&"bg-green-100 dark:bg-green-900/30 text-green-700 dark:text-green-400",!n&&!u&&"bg-gray-100 dark:bg-gray-800 text-gray-400",p&&"cursor-pointer hover:opacity-80",!p&&"cursor-default"),children:[u?e.jsx(O,{className:"h-4 w-4"}):e.jsx(j,{className:"h-4 w-4"}),e.jsx("span",{className:"hidden sm:inline",children:x.title}),e.jsx("span",{className:"sm:hidden",children:x.number})]}),o<D.length-1&&e.jsx("div",{className:h("w-6 h-1 mx-1 rounded-full",u?"bg-green-500":"bg-gray-200 dark:bg-gray-700")})]},x.number)})})]})}function Me({token:d,formData:l,enabled:i=!0,debounceMs:x=5e3}){const o=Ue(),[j,n]=v.useState(null),u=v.useRef(null),p=v.useRef("");v.useEffect(()=>{if(!i||!d)return;const t=JSON.stringify(l);if(t!==p.current)return u.current&&clearTimeout(u.current),u.current=setTimeout(()=>{Object.values(l).some(s=>s!=null&&s!=="")&&o.mutate({token:d,data:l},{onSuccess:s=>{s?.savedAt&&(n(new Date(s.savedAt)),p.current=t)}})},x),()=>{u.current&&clearTimeout(u.current)}},[d,l,i,x,o]);const m=()=>{!d||(u.current&&clearTimeout(u.current),!Object.values(l).some(c=>c!=null&&c!==""))||o.mutate({token:d,data:l},{onSuccess:c=>{c?.savedAt&&(n(new Date(c.savedAt)),p.current=JSON.stringify(l))}})};return{isSaving:o.isPending,lastSaved:j,saveError:o.error,saveNow:m}}const We="https://i.ibb.co/NgDnL9y3/3.png",ae=[{value:"alrajhi",label:"مصرف الراجحي"},{value:"alinma",label:"مصرف الإنماء"},{value:"snb",label:"البنك الأهلي السعودي"},{value:"riyad",label:"بنك الرياض"},{value:"sabb",label:"ساب"},{value:"bsf",label:"البنك السعودي الفرنسي"},{value:"anb",label:"البنك العربي الوطني"},{value:"albilad",label:"بنك البلاد"},{value:"aljazira",label:"بنك الجزيرة"},{value:"stc",label:"بنك STC"}],re=[{value:"father",label:"الأب"},{value:"mother",label:"الأم"},{value:"brother",label:"الأخ"},{value:"sister",label:"الأخت"},{value:"spouse",label:"الزوج/الزوجة"},{value:"son",label:"الابن"},{value:"daughter",label:"الابنة"},{value:"uncle",label:"العم/الخال"},{value:"aunt",label:"العمة/الخالة"},{value:"other",label:"أخرى"}],se=d=>/^SA[0-9]{22}$/.test(d.replace(/\s/g,"").toUpperCase()),te=d=>{const l=d.replace(/[^A-Za-z0-9]/g,"").toUpperCase();if(l.length<=2)return l;const i=l.slice(0,2),o=l.slice(2).match(/.{1,4}/g)||[];return i+(o.length?" "+o.join(" "):"")},E=d=>d.replace(/\s/g,"").toUpperCase(),He={fullNameAr:"الاسم الرباعي",phone:"رقم الجوال",email:"البريد الإلكتروني",emergencyContactPhone:"رقم جوال القريب",emergencyContactName:"اسم القريب",emergencyContactRelation:"صلة القرابة",bankName:"اسم البنك",iban:"رقم الآيبان"};function ta(){Ae(Oe.ONBOARDING);const[,d]=Se("/onboarding/:token"),l=d?.token||"",{data:i,isLoading:x,error:o}=Ie(l),j=Fe(),[n,u]=v.useState(1),[p,m]=v.useState(!1),[t,c]=v.useState({}),[s,f]=v.useState({}
1),[r,N]=v.useState({fullNameAr:"",phone:"",phoneCode:"+966",email:"",nationalAddressCertificateUrl:"",emergencyContactPhone:"",emergencyContactPhoneCode:"+966",emergencyContactName:"",emergencyContactRelation:"",bankName:"",iban:"",nationalIdFrontUrl:"",passportUrl:"",cvUrl:"",educationCertificateUrl:"",socialInsuranceCertificateUrl:"",ibanCertificateUrl:"",qiwaScreenshotUrl:"",healthCardUrl:"",otherAttachmentsUrl:"",photoUrl:"",nationalIdConfirmed:!1,dataAccuracyConfirmed:!1}),[C,A]=v.useState({fullNameAr:"",phone:"",email:"",cvUrl:"",photoUrl:"",educationCertificateUrl:""}),w=i?.preFilled?.nationality||"سعودي",{isSaving:W,lastSaved:H}=Me({token:l,formData:{...r,iban:E(r.iban)},enabled:!!l&&!p,debounceMs:5e3});v.useEffect(()=>{if(i?.preFilled){const a=i.preFilled;N(g=>({...g,fullNameAr:a.fullNameAr||"",phone:a.phone||"",email:a.email||"",cvUrl:a.cvUrl||"",photoUrl:a.photoUrl||"",educationCertificateUrl:a.educationCertificateUrl||""})),A({fullNameAr:a.fullNameAr||"",phone:a.phone||"",email:a.email||"",cvUrl:a.cvUrl||"",photoUrl:a.photoUrl||"",educationCertificateUrl:a.educationCertificateUrl||""})}if(i?.existingData){const a=i.existingData;N(g=>({...g,...a,iban:a.iban?te(a.iban):""}))}},[i]);const b=(a,g)=>{N(y=>({...y,[a]:g})),c(y=>({...y,[a]:!0})),s[a]&&f(y=>{const P={...y};return delete P[a],P})},F=v.useMemo(()=>{const a=[];return r.fullNameAr&&r.fullNameAr!==C.fullNameAr&&C.fullNameAr&&a.push({fieldName:"fullNameAr",originalValue:C.fullNameAr,requestedValue:r.fullNameAr}),r.phone&&r.phone!==C.phone&&C.phone&&a.push({fieldName:"phone",originalValue:C.phone,requestedValue:r.phone}),r.email&&r.email!==C.email&&C.email&&a.push({fieldName:"email",originalValue:C.email,requestedValue:r.email}),a},[r,C]),ge=a=>{const g=te(a);E(g).length<=24&&b("iban",g)},pe=()=>{const a=K(n,r,w);if(Object.keys(a).length>0){f(a);const g={...t};return Object.keys(a).forEach(y=>{g[y]=!0}),c(g),_(a),U.error("يرجى تصحيح الأخطاء المطلوبة"),!1}return f({}),!0},L=a=>{a>n&&!pe()||(u(a),window.scrollTo({top:0,behavior:"smooth"}))},be=async()=>{const a=K(4,r,w);if(Object.keys(a).length>0){f(a);const g={...t};Object.keys(a).forEach(y=>{g[y]=!0}),c(g),_(a),U.error("يرجى تصحيح الأخطاء المطلوبة");return}try{await j.mutateAsync({token:l,data:{...r,iban:E(r.iban),changeRequests:F}}),m(!0),U.success("تم تسجيل بياناتك بنجاح")}catch(g){if(g.errors&&Array.isArray(g.errors)){const y={};g.errors.forEach(P=>{y[P.field]=P.message}),f(y),_(y)}U.error(g.message||"حدث خطأ أثناء تسجيل البيانات")}},fe=a=>ae.find(g=>g.value===a)?.label||a,je=a=>re.find(g=>g.value===a)?.label||a,J=a=>{const g=C[a],y=r[a];return g&&y&&g!==y};if(x)return e.jsx("div",{className:"min-h-screen bg-gradient-to-br from-gray-50 via-blue-50/30 to-gray-100 dark:from-[#090829] dark:via-[#0a0a2e] dark:to-[#090829] flex items-center justify-center",dir:"rtl",children:e.jsxs("div",{className:"text-center",children:[e.jsx(R,{className:"h-8 w-8 animate-spin text-primary mx-auto mb-4"}),e.jsx("p",{className:"text-muted-foreground",children:"جاري التحقق من الرابط..."})]})});if(o||!i?.valid)return e.jsx("div",{className:"min-h-screen bg-gradient-to-br from-gray-50 via-blue-50/30 to-gray-100 dark:from-[#090829] dark:via-[#0a0a2e] dark:to-[#090829] flex items-center justify-center p-4",dir:"rtl",children:e.jsx(V,{className:"max-w-md w-full bg-white/90 dark:bg-card/40 backdrop-blur-2xl border-gray-200 dark:border-white/10 rounded-[2rem]",children:e.jsxs(B,{className:"p-8 text-center",children:[e.jsx("div",{className:"w-16 h-16 mx-auto mb-6 bg-red-100 dark:bg-red-900/20 rounded-full flex items-center justify-center",children:e.jsx(I,{className:"h-8 w-8 text-red-600 dark:text-red-400"})}),e.jsx("h1",{className:"text-xl font-bold text-foreground mb-2",children:"رابط غير صالح"}),e.jsx("p",{className:"text-muted-foreground",children:o?.message||"هذا الرابط غير صالح أو منتهي الصلاحية. يرجى التواصل معنا للحصول على رابط جديد."})]})})});if(p)return e.jsx("div",{className:"min-h-screen bg-gradient-to-br from-gray-50 via-blue-50/30 to-gray-100 dark:from-[#090829] dark:via-[#0a0a2e] dark:to-[#090829] flex items-center justify-center p-4",dir:"rtl",children:e.jsx(V,{className:"max-w-md w-full bg-white/90 dark:bg-card/40 backdrop-blur-2xl border-gray-200 dark:border-white/10 rounded-[2rem]",children:e.jsxs(B,{className:"p-8 text-center",children:[e.jsx("div",{className:"w-20 h-20 mx-auto mb-6 bg-green-100 dark:bg-green-900/20 rounded-full flex items-center justify-center",children:e.jsx(De,{className:"h-10 w-10 text-green-600 dark:text-green-400"})}),e.jsx("h1",{className:"text-2xl font-bold text-foreground mb-2",children:"تم التسجيل بنجاح!"}),e.jsxs("p",{className:"text-muted-foreground mb-6",children:["شكراً لك! تم استلام بياناتك بنجاح وسيتم مراجعتها من قبل فريق الموارد البشرية.",F.length>0&&e.jsxs("span",{className:"block mt-2 text-amber-600",children:["لديك ",F.length," طلب تعديل بانتظار الموافقة."]})]}),e.jsx("div",{className:"p-4 bg-primary/10 rounded-2xl",children:e.jsx("p",{className:"text-sm text-primary font-medium",children:"سيتم التواصل معك قريباً لإتمام إجراءات التعيين"})})]})})});const Ne=()=>e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[e.jsx("div",{className:"w-10 h-10 bg-primary/10 rounded-xl flex items-center justify-center",children:e.jsx(z,{className:"h-5 w-5 text-primary"})}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold",children:"البيانات الشخصية"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"أكمل بياناتك الشخصية ومعلومات الطوارئ"})]})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsxs(S,{htmlFor:"fullNameAr",className:"flex items-center gap-2",children:[e.jsx(z,{className:"h-4 w-4"}),"الاسم الرباعي",e.jsx("span",{className:"text-red-500",children:"*"}),J("fullNameAr")&&e.jsxs("span",{className:"inline-flex items-center gap-1 text-xs text-amber-600 bg-amber-50 dark:bg-amber-900/20 px-2 py-0.5 rounded-full",children:[e.jsx(Ve,{className:"h-3 w-3"}),"تعديل معلق"]})]}),e.jsx(q,{label:"",fieldName:"fullNameAr",value:r.fullNameAr,onChange:a=>b("fullNameAr",a),error:s.fullNameAr,touched:t.fullNameAr,placeholder:"أدخل الاسم الرباعي"}),J("fullNameAr")&&e.jsxs("p",{className:"text-xs text-amber-600 flex items-center gap-1",children:[e.jsx(Q,{className:"h-3 w-3"}),"طلب تغيير - بانتظار موافقة الموارد البشرية"]})]}),e.jsx(ee,{label:"رقم الجوال",fieldName:"phone",phoneValue:r.phone,phoneCodeValue:r.phoneCode,onPhoneChange:a=>b("phone",a),onPhoneCodeChange:a=>b("phoneCode",a),error:s.phone,touched:t.phone,required:!0}),e.jsx(q,{label:"البريد الإلكتروني",fieldName:"email",value:r.email,onChange:a=>b("email",a),error:s.email,touched:t.email,required:!0,type:"email",dir:"ltr",placeholder:"[email protected]"}),e.jsx(k,{label:"شهادة العنوان الوطني",fieldName:"nationalAddressCertificateUrl",value:r.nationalAddressCertificateUrl||null,onChange:a=>b("nationalAddressCertificateUrl",a),error:s.nationalAddressCertificateUrl,touched:t.nationalAddressCertificateUrl,required:!0,description:"يمكن الحصول عليها من موقع العنوان الوطني"}),e.jsxs("div",{className:"pt-4 border-t",children:[e.jsxs("h3",{className:"text-base font-medium mb-4 flex items-center gap-2",children:[e.jsx(Q,{className:"h-4 w-4 text-amber-500"}),"معلومات الطوارئ"]}),e.jsxs("div",{className:"space-y-4",children:[e.jsx(q,{label:"اسم القريب",fieldName:"emergencyContactName",value:r.emergencyContactName,onChange:a=>b("emergencyContactName",a),error:s.emergencyContactName,touched:t.emergencyContactName,required:!0,placeholder:"اسم شخص للتواصل في الطوارئ"}),e.jsx(ee,{label:"رقم جوال القريب",fieldName:"emergencyContactPhone",phoneValue:r.emergencyContactPhone,phoneCodeValue:r.emergencyContactPhoneCode,onPhoneChange:a=>b("emergencyContactPhone",a),onPhoneCodeChange:a=>b("emergencyContactPhoneCode",a),error:s.emergencyContactPhone,touched:t.emergencyContactPhone,required:!0}),e.jsx(Z,{label:"صلة القرابة",fieldName:"emergencyContactRelation",value:r.emergencyContactRelation,onChange:a=>b("emergencyContactRelation",a),options:re,error:s.emergencyContactRelation,touched:t.emergencyContactRelation,required:!0,placeholder:"اختر صلة القرابة"})]})]}),e.jsxs("div",{className:"pt-4 border-t",children:[e.jsxs("h3",{className:"text-base font-medium mb-4 flex items-center gap-2",children:[e.jsx($,{className:"h-4 w-4 text-primary"}),"المعلومات البنكية"]}),e.jsxs("div",{className:"space-y-4",children:[e.jsx(Z,{label:"اسم البنك",fieldName:"bankName",value:r.bankName,onChange:a=>b("bankName",a),options:ae,error:s.bankName,touched:t.bankName,required:!0,placeholder:"اختر البنك"}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsxs(S,{htmlFor:"iban",className:"flex items-center gap-2",children:["رقم الآيبان",e.jsx("span",{className:"text-red-500",children:"*"})]}
1),e.jsx(q,{label:"",fieldName:"iban",value:r.iban,onChange:ge,error:s.iban,touched:t.iban,dir:"ltr",placeholder:"SA00 0000 0000 0000 0000 0000"}),r.iban&&e.jsx("p",{className:h("text-xs flex items-center gap-1",se(E(r.iban))?"text-green-600":"text-amber-600"),children:se(E(r.iban))?e.jsxs(e.Fragment,{children:[e.jsx(O,{className:"h-3 w-3"}),"صيغة الآيبان صحيحة"]}):e.jsxs(e.Fragment,{children:[e.jsx(G,{className:"h-3 w-3"}),"يجب أن يبدأ بـ SA متبوعاً بـ 22 رقم"]})})]})]})]})]}),ve=()=>e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[e.jsx("div",{className:"w-10 h-10 bg-primary/10 rounded-xl flex items-center justify-center",children:e.jsx(M,{className:"h-5 w-5 text-primary"})}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold",children:"مستندات الهوية"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"ارفع صور الهوية والجواز"})]})]}),e.jsx(k,{label:"صورة الهوية الوطنية (من الأمام)",fieldName:"nationalIdFrontUrl",value:r.nationalIdFrontUrl||null,onChange:a=>b("nationalIdFrontUrl",a),error:s.nationalIdFrontUrl,touched:t.nationalIdFrontUrl,required:!0,accept:".jpg,.jpeg,.png,.webp",description:"صورة واضحة للهوية الوطنية أو الإقامة"}),w!=="سعودي"&&e.jsx("div",{className:"p-3 bg-amber-50 dark:bg-amber-900/20 rounded-lg border border-amber-200 dark:border-amber-700 mb-4",children:e.jsxs("p",{className:"text-sm text-amber-800 dark:text-amber-300 flex items-center gap-2",children:[e.jsx(I,{className:"h-4 w-4"}),"جواز السفر مطلوب لغير السعوديين"]})}),e.jsx(k,{label:"صورة جواز السفر",fieldName:"passportUrl",value:r.passportUrl||null,onChange:a=>b("passportUrl",a),error:s.passportUrl,touched:t.passportUrl,required:w!=="سعودي",optional:w==="سعودي",accept:".jpg,.jpeg,.png,.webp,.pdf",description:w==="سعودي"?"اختياري للسعوديين":"مطلوب لغير السعوديين"})]}),ye=()=>e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[e.jsx("div",{className:"w-10 h-10 bg-primary/10 rounded-xl flex items-center justify-center",children:e.jsx($,{className:"h-5 w-5 text-primary"})}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold",children:"مستندات التوظيف"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"ارفع المستندات المطلوبة للتوظيف"})]})]}),e.jsx(k,{label:"السيرة الذاتية",fieldName:"cvUrl",value:r.cvUrl||null,onChange:a=>b("cvUrl",a),error:s.cvUrl,touched:t.cvUrl,required:!0,accept:".pdf,.doc,.docx"}),e.jsx(k,{label:"مستند المؤهل العلمي",fieldName:"educationCertificateUrl",value:r.educationCertificateUrl||null,onChange:a=>b("educationCertificateUrl",a),error:s.educationCertificateUrl,touched:t.educationCertificateUrl,required:!0,description:"شهادة التخرج أو آخر مؤهل علمي"}),e.jsx(k,{label:"شهادة التأمينات الاجتماعية (GOSI)",fieldName:"socialInsuranceCertificateUrl",value:r.socialInsuranceCertificateUrl||null,onChange:a=>b("socialInsuranceCertificateUrl",a),error:s.socialInsuranceCertificateUrl,touched:t.socialInsuranceCertificateUrl,required:!0,description:"يمكن الحصول عليها من موقع المؤسسة العامة للتأمينات الاجتماعية"}),e.jsx(k,{label:"شهادة الآيبان",fieldName:"ibanCertificateUrl",value:r.ibanCertificateUrl||null,onChange:a=>b("ibanCertificateUrl",a),error:s.ibanCertificateUrl,touched:t.ibanCertificateUrl,required:!0,description:"شهادة الآيبان من البنك"}),e.jsx(k,{label:"صورة من منصة قوى",fieldName:"qiwaScreenshotUrl",value:r.qiwaScreenshotUrl||null,onChange:a=>b("qiwaScreenshotUrl",a),error:s.qiwaScreenshotUrl,touched:t.qiwaScreenshotUrl,required:!0,description:"لقطة شاشة من منصة قوى"}),e.jsx(k,{label:"الكرت الصحي الموحد",fieldName:"healthCardUrl",value:r.healthCardUrl||null,onChange:a=>b("healthCardUrl",a),optional:!0,description:"اختياري"}),e.jsx(k,{label:"مرفقات أخرى",fieldName:"otherAttachmentsUrl",value:r.otherAttachmentsUrl||null,onChange:a=>b("otherAttachmentsUrl",a),optional:!0,description:"اختياري - أي مستندات إضافية"})]}),Ce=()=>e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[e.jsx("div",{className:"w-10 h-10 bg-primary/10 rounded-xl flex items-center justify-center",children:e.jsx(O,{className:"h-5 w-5 text-primary"})}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold",children:"الصورة والمراجعة"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"ارفع صورتك الرسمية وراجع بياناتك"})]})]}),e.jsx($e,{label:"الصورة الشخصية الرسمية",fieldName:"photoUrl",value:r.photoUrl||null,onChange:a=>b("photoUrl",a),error:s.photoUrl,touched:t.photoUrl,required:!0}),e.jsxs("div",{className:"bg-gray-50 dark:bg-gray-800/50 rounded-xl p-4 space-y-3",children:[e.jsxs("h3",{className:"font-medium flex items-center gap-2",children:[e.jsx(G,{className:"h-4 w-4"}),"ملخص البيانات"]}),e.jsxs("div",{className:"grid grid-cols-2 gap-3 text-sm",children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"الاسم:"}),e.jsx("span",{className:"mr-2",children:r.fullNameAr})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"الجوال:"}),e.jsxs("span",{className:"mr-2",dir:"ltr",children:[r.phoneCode," ",r.phone]})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"البريد:"}),e.jsx("span",{className:"mr-2",dir:"ltr",children:r.email})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"البنك:"}),e.jsx("span",{className:"mr-2",children:fe(r.bankName)})]}),e.jsxs("div",{className:"col-span-2",children:[e.jsx("span",{className:"text-muted-foreground",children:"الآيبان:"}),e.jsx("span",{className:"mr-2",dir:"ltr",children:r.iban})]}),e.jsxs("div",{className:"col-span-2",children:[e.jsx("span",{className:"text-muted-foreground",children:"جهة اتصال الطوارئ:"}),e.jsxs("span",{className:"mr-2",children:[r.emergencyContactName," 
1(",je(r.emergencyContactRelation),")"]})]})]}),F.length>0&&e.jsxs("div",{className:"mt-4 p-3 bg-amber-50 dark:bg-amber-900/20 rounded-lg border border-amber-200 dark:border-amber-700",children:[e.jsxs("p",{className:"text-sm text-amber-800 dark:text-amber-300 font-medium mb-2",children:["طلبات التعديل (",F.length,")"]}),e.jsx("ul",{className:"text-xs text-amber-700 dark:text-amber-400 space-y-1",children:F.map(a=>e.jsxs("li",{children:[He[a.fieldName]||a.fieldName,": ",a.originalValue," → ",a.requestedValue]},a.fieldName))})]})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:h("flex items-start gap-3 p-4 rounded-xl border-2 transition-all",s.nationalIdConfirmed&&t.nationalIdConfirmed?"border-red-300 bg-red-50/50 dark:bg-red-900/10":r.nationalIdConfirmed?"border-green-300 bg-green-50/50 dark:bg-green-900/10":"border-gray-200 dark:border-gray-700"),children:[e.jsx(X,{id:"nationalIdConfirmed",checked:r.nationalIdConfirmed,onCheckedChange:a=>b("nationalIdConfirmed",a===!0),className:"mt-0.5"}),e.jsxs(S,{htmlFor:"nationalIdConfirmed",className:"cursor-pointer flex-1",children:[e.jsx("span",{className:"font-medium",children:"أؤكد أن رقم الهوية المسجل يطابق بيانات الهوية الوطنية/الإقامة الخاصة بي"}),e.jsx("span",{className:"text-red-500 mr-1",children:"*"})]})]}),s.nationalIdConfirmed&&t.nationalIdConfirmed&&e.jsxs("p",{className:"text-xs text-red-500 flex items-center gap-1 -mt-2",children:[e.jsx(I,{className:"h-3 w-3"}),s.nationalIdConfirmed]}),e.jsxs("div",{className:h("flex items-start gap-3 p-4 rounded-xl border-2 transition-all",s.dataAccuracyConfirmed&&t.dataAccuracyConfirmed?"border-red-300 bg-red-50/50 dark:bg-red-900/10":r.dataAccuracyConfirmed?"border-green-300 bg-green-50/50 dark:bg-green-900/10":"border-gray-200 dark:border-gray-700"),children:[e.jsx(X,{id:"dataAccuracyConfirmed",checked:r.dataAccuracyConfirmed,onCheckedChange:a=>b("dataAccuracyConfirmed",a===!0),className:"mt-0.5"}),e.jsxs(S,{htmlFor:"dataAccuracyConfirmed",className:"cursor-pointer flex-1",children:[e.jsx("span",{className:"font-medium",children:"أقر بأن جميع البيانات والمستندات المقدمة صحيحة ودقيقة"}),e.jsx("span",{className:"text-red-500 mr-1",children:"*"})]})]}),s.dataAccuracyConfirmed&&t.dataAccuracyConfirmed&&e.jsxs("p",{className:"text-xs text-red-500 flex items-center gap-1 -mt-2",children:[e.jsx(I,{className:"h-3 w-3"}),s.dataAccuracyConfirmed]})]})]});return e.jsx("div",{className:"min-h-screen bg-gradient-to-br from-gray-50 via-blue-50/30 to-gray-100 dark:from-[#090829] dark:via-[#0a0a2e] dark:to-[#090829] py-8 px-4",dir:"rtl",children:e.jsxs("div",{className:"max-w-2xl mx-auto",children:[e.jsxs("div",{className:"text-center mb-6",children:[e.jsx("img",{src:Pe,alt:"Logo",className:"h-16 mx-auto dark:hidden"}),e.jsx("img",{src:We,alt:"Logo",className:"h-16 mx-auto hidden dark:block"})]}),e.jsxs("div",{className:"text-center mb-8",children:[e.jsx("h1",{className:"text-2xl font-bold text-foreground mb-2",children:"نموذج الإلتحاق بالوظيفة"}),e.jsx("p",{className:"text-muted-foreground",children:i?.jobTitle&&e.jsx("span",{className:"text-primary font-medium",children:i.jobTitle})})]}),e.jsx("div",{className:"mb-8",children:e.jsx(Ge,{currentStep:n,onStepClick:a=>a<n&&L(a)})}),(W||H)&&e.jsx("div",{className:"flex items-center justify-center gap-2 text-xs text-muted-foreground mb-4",children:W?e.jsxs(e.Fragment,{children:[e.jsx(R,{className:"h-3 w-3 animate-spin"}),"جاري حفظ المسودة..."]}):H?e.jsxs(e.Fragment,{children:[e.jsx(Le,{className:"h-3 w-3 text-green-500"}),"تم حفظ المسودة تلقائياً"]}):null}),e.jsxs(V,{className:"bg-white/90 dark:bg-card/40 backdrop-blur-2xl border-gray-200 dark:border-white/10 rounded-[2rem] mb-8",children:[e.jsx(Ee,{className:"pb-2",children:e.jsx(Te,{className:"text-lg",children:D[n-1].title})}),e.jsxs(B,{className:"pt-4",children:[n===1&&Ne(),n===2&&ve(),n===3&&ye(),n===4&&Ce()]})]}),e.jsxs("div",{className:"flex items-center justify-between gap-4",children:[n>1&&e.jsxs(T,{variant:"outline",onClick:()=>L(n-1),className:"flex items-center gap-2",children:[e.jsx(Re,{className:"h-4 w-4"}),"السابق"]}),e.jsx("div",{className:"flex-1"}),n<4?e.jsxs(T,{onClick:()=>L(n+1),className:"flex items-center gap-2",children:["التالي",e.jsx(_e,{className:"h-4 w-4"})]}):e.jsx(T,{onClick:be,disabled:j.isPending,className:"flex items-center gap-2 bg-green-600 hover:bg-green-700",children:j.isPending?e.jsxs(e.Fragment,{children:[e.jsx(R,{className:"h-4 w-4 animate-spin"}),"جاري الإرسال..."]}):e.jsxs(e.Fragment,{children:[e.jsx(O,{className:"h-4 w-4"}),"إرسال البيانات"]})})]})]})})}export{ta 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.