1import{_ as ee}from"./C02oEUnD.js";import{e as te,G as se,H as le,c as d,a as t,b as T,w as B,d as E,g as s,t as i,h as p,F as D,r as F,i as S,T as L,M as z,y as c,C as G,o as r,q as C,s as x,v as w,I as H,aA as ae,B as oe,j as P}from"./Dyvh3oHH.js";import{u as re}from"./Cq4A1esE.js";import{u as de}from"./D1abb-hd.js";import"./CbH27re-.js";import"./C0HWcbYo.js";const ie={class:"flex flex-wrap items-center justify-between gap-4 mb-6"},ne={class:"flex items-center gap-3"},ue={key:0,class:"mb-4 p-4 rounded-xl bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 text-red-700 dark:text-red-300 text-sm"},pe={class:"bg-white dark:bg-slate-800 rounded-xl border border-slate-200 dark:border-slate-700 overflow-hidden"},me={key:0,class:"p-8 text-center text-slate-500"},ce={key:0,class:"p-8 text-center text-slate-500"},xe={key:1,class:"overflow-x-auto"},ye={class:"w-full text-right"},be={class:"divide-y divide-slate-200 dark:divide-slate-700"},ke={class:"px-4 py-3 text-slate-600 dark:text-slate-400"},fe={class:"px-4 py-3 text-slate-900 dark:text-white"},ve={class:"px-4 py-3 text-slate-600 dark:text-slate-400"},ge={class:"px-4 py-3 text-slate-900 dark:text-white"},we={class:"px-4 py-3 text-slate-600 dark:text-slate-400"},_e={class:"px-4 py-3"},he={class:"flex items-center gap-1"},Ue=["onClick"],Ce=["disabled","onClick"],Ve={key:1,class:"inline-flex items-center justify-center p-2 w-10 text-slate-400 dark:text-slate-500",title:"اÙ
Ú©Ø§Ù ØØ°Ù ØØ³Ø§Ø¨ Ø®ÙØ¯ ÙØ¬Ùد ÙØ¯Ø§Ø±Ø¯","aria-label":"اÙ
Ú©Ø§Ù ØØ°Ù ØØ³Ø§Ø¨ Ø®ÙØ¯ ÙØ¬Ùد ÙØ¯Ø§Ø±Ø¯"},je={class:"text-lg font-bold text-slate-900 dark:text-white mb-4"},Ae={key:0,class:"mt-1 text-sm text-red-600"},Ee={key:0,class:"mt-1 text-sm text-red-600"},De={key:0,class:"mt-1 text-sm text-red-600"},Me={class:"block text-sm font-medium text-slate-700 dark:text-slate-300 mb-1"},$e=["required","placeholder"],qe={key:0,class:"mt-1 text-sm text-red-600"},Oe={key:0},Te=["required"],Be={key:0,class:"mt-1 text-sm text-red-600"},Fe={key:1},Ie={class:"rounded-lg border border-slate-200 dark:border-slate-700 bg-slate-50 dark:bg-slate-700/30 p-3 max-h-32 overflow-y-auto space-y-2"},Ne=["value"],Se=["for"],Le=["id","onUpdate:modelValue","type"],ze=["id","onUpdate:modelValue"],Ge={key:2,class:"flex items-center gap-2 cursor-pointer text-sm"},He=["id","onUpdate:modelValue"],Pe=["id","onUpdate:modelValue"],Re={key:4,class:"mt-1 text-sm text-red-600"},Je={key:2,class:"text-sm text-red-600"},Ke={class:"flex gap-2 pt-2"},Qe=["disabled"],We={class:"text-slate-700 dark:text-slate-300"},Xe={class:"flex gap-2 mt-6"},Ye=["disabled"],rt=te({__name:"index",setup(Ze){const k=re(),{user:R,fetchUser:J}=se(),{messageFromError:M}=de(),K=P(()=>R.value?.id??null),V=c([]),j=c([]),_=c([]),$=c(!0),f=c(""),v=c(!1),h=c(null),A=c(!1),g=c(""),a=G({name:"",family:"",email:"",password:"",password_confirmation:"",fields:{},role_ids:[]}),n=G({}),y=c(null),U=c(null),b=P(()=>h.value===null);function Q(o){if(!o)return"â";try{return new Date(o).toLocaleDateString("fa-IR",{year:"numeric",month:"2-digit",day:"2-digit"})}catch{return o}}function I(o,e=""){const m={};for(const[l,u]of Object.entries(o)){const O=e?`${e}.${l}`:l;Array.isArray(u)?m[O]=u[0]:u&&typeof u=="object"&&!Array.isArray(u)?Object.assign(m,I(u,O)):m[O]=String(u)}return m}function N(){h.value=null,a.name="",a.family="",a.email="",a.password="",a.password_confirmation="",a.fields={},_.value.forEach(o=>{a.fields[o.key]=o.type==="boolean"?!1:""}),a.role_ids=[],g.value="",Object.keys(n).forEach(o=>delete n[o]),v.value=!0}function W(o){h.value=o.id,a.name=o.name??"",a.family=o.family??"",a.email=o.email??"",a.password="",a.password_confirmation="",a.fields={},_.value.forEach(e=>{const m=o.fields&&o.fields[e.key]!=null?o.fields[e.key]:void 0;a.fields[e.key]=e.type==="boolean"?m===!0||m==="1":m??""}),a.role_ids=Array.isArray(o.role_ids)?[...o.role_ids]:[],g.value="",Object.keys(n).forEach(e=>delete n[e]),v.value=!0}async function q(){$.value=!0,f.value="";try{V.value=await k.getUsers()}catch(o){f.value=M(o),V.value=[]}finally{$.value=!1}}
1async function X(){g.value="",Object.keys(n).forEach(o=>delete n[o]),A.value=!0;try{const o={name:a.name||null,family:a.family||null,email:a.email,fields:a.fields,role_ids:Array.isArray(a.role_ids)?a.role_ids:[]};a.password&&(o.password=a.password,o.password_confirmation=a.password_confirmation),b.value?await k.createUser(o):h.value&&await k.updateUser(h.value,o),v.value=!1,await q()}catch(o){const e=o;if(g.value=e?.data?.message||M(o),e?.data?.errors){const m=I(e.data.errors);Object.keys(n).forEach(l=>delete n[l]),Object.assign(n,m)}}finally{A.value=!1}}function Y(o){y.value=o}async function Z(){if(y.value){U.value=y.value.id,f.value="";try{await k.deleteUser(y.value.id),y.value=null,await q()}catch(o){f.value=M(o)}finally{U.value=null}}}return le(async()=>{await J();try{_.value=await k.getUserFieldsPublic(),j.value=await k.getGroups()}catch{_.value=[],j.value=[]}await q()}),(o,e)=>{const m=ee;return r(),d("div",null,[t("div",ie,[t("div",ne,[T(m,{to:"/admin",class:"inline-flex items-center gap-1 text-slate-600 dark:text-slate-400 hover:text-primary text-sm"},{default:B(()=>[...e[12]||(e[12]=[t("span",{class:"material-icons text-lg"},"arrow_forward",-1),E(" Ù¾ÙÙ ",-1)])]),_:1}),e[13]||(e[13]=t("h1",{class:"text-xl font-bold text-slate-900 dark:text-white"},"Ù
Ø¯ÛØ±Ûت کاربراÙ",-1))]),t("button",{type:"button",class:"inline-flex items-center gap-2 bg-primary text-white px-4 py-2 rounded-lg text-sm font-medium hover:bg-primary/90",onClick:N},[...e[14]||(e[14]=[t("span",{class:"material-icons text-lg"},"add",-1),E(" Ø§ÙØ²Ùد٠کاربر ",-1)])])]),s(f)?(r(),d("div",ue,i(s(f)),1)):p("",!0),t("div",pe,[s($)?(r(),d("div",me,[...e[15]||(e[15]=[t("span",{class:"material-icons animate-pulse text-4xl"},"hourglass_empty",-1),t("p",{class:"mt-2"},"در ØØ§Ù بارگذارÛ...",-1)])])):(r(),d(D,{key:1},[s(V).length===0?(r(),d("div",ce,[e[16]||(e[16]=t("span",{class:"material-icons text-4xl text-slate-300"},"people",-1)),e[17]||(e[17]=t("p",{class:"mt-2"},"Ú©Ø§Ø±Ø¨Ø±Û ÛØ§Ùت ÙØ´Ø¯.",-1)),t("button",{type:"button",class:"mt-4 inline-block text-primary font-medium hover:underline",onClick:N}," Ø§ÙØ²Ùد٠اÙÙÛ٠کاربر ")])):(r(),d("div",xe,[t("table",ye,[e[21]||(e[21]=t("thead",{class:"bg-slate-50 dark:bg-slate-700/50 text-slate-600 dark:text-slate-300 text-sm"},[t("tr",null,[t("th",{class:"px-4 py-3 font-medium"},"ID"),t("th",{class:"px-4 py-3 font-medium"},"ÙØ§Ù
"),t("th",{class:"px-4 py-3 font-medium"},"ÙØ§Ù
خاÙÙØ§Ø¯Ú¯Û"),t("th",{class:"px-4 py-3 font-medium"},"اÛÙ
ÛÙ"),t("th",{class:"px-4 py-3 font-medium"},"ØªØ§Ø±ÛØ® ثبتâÙØ§Ù
"),t("th",{class:"px-4 py-3 font-medium w-40"},"عÙ
ÙÛØ§Øª")])],-1)),t("tbody",be,[(r(!0),d(D,null,F(s(V),l=>(r(),d("tr",{key:l.id,class:"hover:bg-slate-50 dark:hover:bg-slate-700/30 transition-colors"},[t("td",ke,i(l.id),1),t("td",fe,i(l.name||"â"),1),t("td",ve,i(l.family||"â"),1),t("td",ge,i(l.email),1),t("td",we,i(Q(l.created_at)),1),t("td",_e,[t("div",he,[t("button",{type:"button",class:"p-2 rounded-lg hover:bg-primary/10 text-primary",title:"ÙÛØ±Ø§ÛØ´",onClick:u=>W(l)},[...e[18]||(e[18]=[t("span",{class:"material-icons text-lg"},"edit",-1)])],8,Ue),l.id!==s(K)?(r(),d("button",{key:0,type:"button",class:"p-2 rounded-lg hover:bg-red-500/10 text-red-600 dark:text-red-400",title:"ØØ°Ù",disabled:s(U)===l.id,onClick:u=>Y(l)},[...e[19]||(e[19]=[t("span",{class:"material-icons text-lg"},"delete",-1)])],8,Ce)):(r(),d("span",Ve,[...e[20]||(e[20]=[t("span",{class:"material-icons text-lg opacity-40"},"person_off",-1)])]))])])]))),128))])])]))],64))]),(r(),S(z,{to:"body"},[T(L,{"enter-active-class":"transition opacity duration-200","leave-active-class":"transition opacity duration-200"},{default:B(()=>[s(v)?(r(),d("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/50 overflow-y-auto",onClick:e[8]||(e[8]=C(l=>v.value=!1,["self"]))},[t("div",{class:"bg-white dark:bg-slate-800 rounded-2xl shadow-xl max-w-md w-full p-6 border border-slate-200 dark:border-slate-700 my-8 max-h-[90vh] overflow-y-auto",onClick:e[7]||(e[7]=C(()=>{},["stop"]))},[t("h2",je,i(s(b)?"Ø§ÙØ²Ùد٠کاربر":"ÙÛØ±Ø§ÛØ´ کاربر"),1),t("form",{class:"space-y-4",onSubmit:C(X,["prevent"])},[t("div",null,[e[22]||(e[22]=t("label",{class:"block text-sm font-medium text-slate-700 dark:text-slate-300 mb-1"},"ÙØ§Ù
",-1)),x(t("input",{"onUpdate:modelValue":e[0]||(e[0]=l=>s(a).name=l),type:"text",class:"w-full px-3 py-2 rounded-lg border border-slate-300 dark:border-slate-600 bg-white dark:bg-slate-800 text-slate-900 dark:text-white",placeholder:"ÙØ§Ù
"},null,512),[[w,s(a).name]]),s(n).name?(r(),d("p",Ae,i(s(n).name),1)):p("",!0)]),t("div",null,[e[23]||(e[23]=t("label",{class:"block text-sm font-medium text-slate-700 dark:text-slate-300 mb-1"},"ÙØ§Ù
خاÙÙØ§Ø¯Ú¯Û",-1)),x(t("input",{"onUpdate:modelValue":e[1]||(e[1]=l=>s(a).family=l),type:"text",class:"w-full px-3 py-2 rounded-lg border border-slate-300 dark:border-slate-600 bg-white dark:bg-slate-800 text-slate-900 dark:text-white",placeholder:"ÙØ§Ù
خاÙÙØ§Ø¯Ú¯Û"},null,512),[[w,s(a).family]]),s(n).family?(r(),d("p",Ee,i(s(n).family),1)):p("",!0)]),t("div",null,[e[24]||(e[24]=t("label",{class:"block text-sm font-medium text-slate-700 dark:text-slate-300 mb-1"},"اÛÙ
ÛÙ",-1)),x(t("input",{"onUpdate:modelValue":e[2]||(e[2]=l=>s(a).email=l),type:"email",required:"",class:"w-full px-3 py-2 rounded-lg border border-slate-300 dark:border-slate-600 bg-white dark:bg-slate-800 text-slate-900 dark:text-white"}
1,null,512),[[w,s(a).email]]),s(n).email?(r(),d("p",De,i(s(n).email),1)):p("",!0)]),t("div",null,[t("label",Me,i(s(b)?"رÙ
ز Ø¹Ø¨ÙØ±":"رÙ
ز Ø¬Ø¯ÛØ¯ (Ø§Ø®ØªÛØ§Ø±Û)"),1),x(t("input",{"onUpdate:modelValue":e[3]||(e[3]=l=>s(a).password=l),type:"password",required:s(b),class:"w-full px-3 py-2 rounded-lg border border-slate-300 dark:border-slate-600 bg-white dark:bg-slate-800 text-slate-900 dark:text-white",placeholder:s(b)?void 0:"خاÙÛ Ø¨Ú¯Ø°Ø§Ø±ÛØ¯ تا تغÛÛØ± ÙÚ©ÙØ¯"},null,8,$e),[[w,s(a).password]]),s(n).password?(r(),d("p",qe,i(s(n).password),1)):p("",!0)]),!s(b)||s(a).password?(r(),d("div",Oe,[e[25]||(e[25]=t("label",{class:"block text-sm font-medium text-slate-700 dark:text-slate-300 mb-1"},"تکرار رÙ
ز Ø¹Ø¨ÙØ±",-1)),x(t("input",{"onUpdate:modelValue":e[4]||(e[4]=l=>s(a).password_confirmation=l),type:"password",required:s(b)||!!s(a).password,class:"w-full px-3 py-2 rounded-lg border border-slate-300 dark:border-slate-600 bg-white dark:bg-slate-800 text-slate-900 dark:text-white",placeholder:"در ØµÙØ±Øª تغÛÛØ± رÙ
ز ÙØ§Ø±Ø¯ Ú©ÙÛØ¯"},null,8,Te),[[w,s(a).password_confirmation]]),s(n).password_confirmation?(r(),d("p",Be,i(s(n).password_confirmation),1)):p("",!0)])):p("",!0),s(j).length?(r(),d("div",Fe,[e[26]||(e[26]=t("label",{class:"block text-sm font-medium text-slate-700 dark:text-slate-300 mb-2"},"گرÙÙâÙØ§Û کاربرÛ",-1)),t("div",Ie,[(r(!0),d(D,null,F(s(j),l=>(r(),d("label",{key:l.id,class:"flex items-center gap-2 cursor-pointer text-sm"},[x(t("input",{"onUpdate:modelValue":e[5]||(e[5]=u=>s(a).role_ids=u),value:l.id,type:"checkbox",class:"rounded"},null,8,Ne),[[H,s(a).role_ids]]),t("span",null,i(l.name),1)]))),128))])])):p("",!0),(r(!0),d(D,null,F(s(_),l=>(r(),d("div",{key:l.key},[t("label",{for:"edit-field-"+l.key,class:"block text-sm font-medium text-slate-700 dark:text-slate-300 mb-1"},i(l.label)+i(l.is_required?" *":""),9,Se),l.type==="string"||l.type==="number"?x((r(),d("input",{key:0,id:"edit-field-"+l.key,"onUpdate:modelValue":u=>s(a).fields[l.key]=u,type:l.type==="number"?"number":"text",class:"w-full px-3 py-2 rounded-lg border border-slate-300 dark:border-slate-600 bg-white dark:bg-slate-800 text-slate-900 dark:text-white"},null,8,Le)),[[ae,s(a).fields[l.key]]]):l.type==="date"?x((r(),d("input",{key:1,id:"edit-field-"+l.key,"onUpdate:modelValue":u=>s(a).fields[l.key]=u,type:"date",class:"w-full px-3 py-2 rounded-lg border border-slate-300 dark:border-slate-600 bg-white dark:bg-slate-800 text-slate-900 dark:text-white"},null,8,ze)),[[w,s(a).fields[l.key]]]):l.type==="boolean"?(r(),d("label",Ge,[x(t("input",{id:"edit-field-"+l.key,"onUpdate:modelValue":u=>s(a).fields[l.key]=u,type:"checkbox",class:"rounded"},null,8,He),[[H,s(a).fields[l.key]]]),t("span",null,i(l.label),1)])):l.type==="select"?x((r(),d("select",{key:3,id:"edit-field-"+l.key,"onUpdate:modelValue":u=>s(a).fields[l.key]=u,class:"w-full px-3 py-2 rounded-lg border border-slate-300 dark:border-slate-600 bg-white dark:bg-slate-800 text-slate-900 dark:text-white"},[...e[27]||(e[27]=[t("option",{value:""},"Ø§ÙØªØ®Ø§Ø¨ Ú©ÙÛØ¯",-1)])],8,Pe)),[[oe,s(a).fields[l.key]]]):p("",!0),s(n)["fields."+l.key]?(r(),d("p",Re,i(s(n)["fields."+l.key]),1)):p("",!0)]))),128)),s(g)?(r(),d("p",Je,i(s(g)),1)):p("",!0),t("div",Ke,[t("button",{type:"submit",disabled:s(A),class:"flex-1 py-2 rounded-lg bg-primary text-white font-medium hover:bg-primary/90 disabled:opacity-50"},i(s(A)?s(b)?"در ØØ§Ù Ø§ÛØ¬Ø§Ø¯...":"در ØØ§Ù Ø°Ø®ÛØ±Ù...":s(b)?"Ø§ÛØ¬Ø§Ø¯":"Ø°Ø®ÛØ±Ù"),9,Qe),t("button",{type:"button",class:"flex-1 py-2 rounded-lg border border-slate-300 dark:border-slate-600",onClick:e[6]||(e[6]=l=>v.value=!1)}," Ø§ÙØµØ±Ø§Ù ")])],32)])])):p("",!0)]),_:1})])),(r(),S(z,{to:"body"},[T(L,{"enter-active-class":"transition opacity duration-200","leave-active-class":"transition opacity duration-200"},{default:B(()=>[s(y)?(r(),d("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/50",onClick:e[11]||(e[11]=C(l=>y.value=null,["self"]))},[t("div",{class:"bg-white dark:bg-slate-800 rounded-2xl shadow-xl max-w-sm w-full p-6 border border-slate-200 dark:border-slate-700",onClick:e[10]||(e[10]=C(()=>{},["stop"]))},[t("p",We,[e[28]||(e[28]=E(" Ø¢ÛØ§ از ØØ°Ù کاربر ",-1)),t("strong",null,i(s(y).email),1),e[29]||(e[29]=E(" اطÙ
ÛÙØ§Ù Ø¯Ø§Ø±ÛØ¯Ø اÛ٠عÙ
Ù ÙØ§Ø¨Ù بازگشت ÙÛØ³Øª. ",-1))]),t("div",Xe,[t("button",{type:"button",class:"flex-1 py-2 rounded-lg border border-slate-300 dark:border-slate-600",onClick:e[9]||(e[9]=l=>y.value=null)}," Ø§ÙØµØ±Ø§Ù "),t("button",{type:"button",class:"flex-1 py-2 rounded-lg bg-red-600 text-white hover:bg-red-700 disabled:opacity-50",disabled:s(U)!==null,onClick:Z},i(s(U)?"در ØØ§Ù ØØ°Ù...":"ØØ°Ù"),9,Ye)])])])):p("",!0)]),_:1})]))])}}});
1export{rt 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.