PageSourceSearch

https://asemooni.com/_nuxt/k8wtulru.js

js asemooni.com collected 2026-10-02 10:53:37 UTC 5,113 bytes, 1 lines download raw bytes

1import{d as C,r as o,x as S,Q as O,a as P,c as n,e as i,f as s,i as d,I as b,p as v,J as _,D as y,F as D,B as H,au as M,K as R,U as g,_ as V}from"#entry";import{g as B}from"./D-stXGCh.js";const G={class:"max-w-7xl mx-auto p-6 overflow-hidden rounded-2xl bg-white dark:border-gray-800 dark:bg-white/[0.03]"},N={class:"flex flex-col gap-2 mb-4 sm:flex-row sm:items-center sm:justify-between"},U={class:"text-lg font-semibold text-gray-800 dark:text-white/90"},j={key:0,class:"text-red-500 text-sm mt-1"},E={key:0,class:"text-red-500 text-sm mt-1"},F={class:"relative mt-4"},q={class:"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-5 gap-2"},A={class:"text-xs font-bold text-blue-600 dark:text-gray-300 mb-2"},L={class:"inline-flex items-center cursor-pointer mt-3"},$=["value"],z={key:0,class:"text-red-500 text-xs mt-2"},J={class:"flex justify-end"},K=C({__name:"index",setup(Q){const m=B(),f=o([]),k=S(),c=O(),u=o(!1),h=o(!1),p=o(null),a=o({title:"",slug:"",content:"",permissions:[]}),T=t=>{const e=t.target;e&&(a.value.slug=e.value.toLowerCase().trim())},l=o({});P(async()=>{if(k.query.edit){u.value=!0,p.value=Number(k.query.edit);try{const t=await m.get(`/api/adminarea/roles/${p.value}/edit`),e=t.data.role;a.value.title=e.faname,a.value.slug=e.name,f.value=t.data.permissions;const r=t.data.selected_permissions||[];a.value.permissions=r.map(x=>x.name)}catch(t){console.error(t)}}else{u.value=!1;const t=await m.get("/api/adminarea/roles/create");f.value=t.data.permissions}});const w=t=>["block w-full rounded-lg px-3 py-2 border dark:border-gray-700 dark:bg-gray-800 dark:text-gray-100",t?"border-red-500 focus:ring-red-500":"border-gray-300 focus:ring-blue-500"],I=async()=>{h.value=!0;try{const t=new FormData;t.append("name",a.value.title||""),t.append("faname",a.value.slug||""),a.value.permissions.forEach(r=>{t.append("permissions[]",r.toString())});let e;u.value&&p.value?(t.append("_method","PATCH"),e=await m.post(`/api/adminarea/roles/${p.value}`,t,{headers:{"Content-Type":"multipart/form-data"}}),e.data.success===!0?(c.success(e.data.message,{position:g.TOP_RIGHT,timeout:3e3}),setTimeout(()=>{window.location.href="/adminarea/roles"},2e3)):c.error(e.data.message,{position:g.TOP_RIGHT})):(e=await m.post("/api/adminarea/roles",t),e.data.success===!0?(c.success(e.data.message,{position:g.TOP_RIGHT,timeout:1e4}),setTimeout(()=>{window.location.href="/adminarea/roles"},2e3)):c.error(e.data.message,{position:g.TOP_RIGHT}))}catch(t){console.log(t)}};return(t,e)=>(i(),n("div",G,[s("div",N,[s("div",null,[s("h3",U,d(u.value?"ویرایش نقش‌ها":"افزودن نقش‌ها جدید"),1)])]),s("form",{onSubmit:R(I,["prevent"]),class:"space-y-6"},[s("div",null,[e[3]||(e[3]=s("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2"}," عنوان ",-1)),b(s("input",{"onUpdate:modelValue":e[0]||(e[0]=r=>a.value.title=r),type:"text",placeholder:"عنوان نقش‌ها را وارد کنید",class:y(w(l.value.title))},null,2),[[_,a.value.title]]),l.value.title?(i(),n("p",j,d(l.value.title),1)):v("",!0)]),s("div",null,[e[4]||(e[4]=s("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2"}," نامک (Slug) ",-1)),b(s("input",{"onUpdate:modelValue":e[1]||(e[1]=r=>a.value.slug=r),type:"text",onInput:T,placeholder:"نامک یکتا برای نقش‌ها",class:y(w(l.value.slug))},null,34),[[_,a.value.slug]]),l.value.slug?(i(),n("p",E,d(l.value.slug),1)):v("",!0)]),s("div",F,[e[8]||(e[8]=s("label",{class:"block text-md font-medium my-8 dark:text-gray-200 text-black"}," سطح دسترسی کاربر: ",-1)),s("div",q,[(i(!0),n(D,null,H(f.value,r=>(i(),n("div",{key:r.id,class:"flex flex-col justify-between border border-blue-500 dark:border-gray-700 rounded-xl p-3 bg-blue-50 dark:bg-gray-800/30"},[s("span",A,d(r.faname),1),s("label",L,[e[5]||(e[5]=s("span",{class:"ml-3 text-xs font-medium text-gray-400 dark:text-gray-300"}," غیرفعال ",-1)),b(s("input",{type:"checkbox",value:r.name,"onUpdate:modelValue":e[2]||(e[2]=x=>a.value.permissions=x),class:"sr-only peer"},null,8,$),[[M,a.value.permissions]]),e[6]||(e[6]=s("div",{class:"relative w-11 h-6 bg-gray-200 rounded-full peer peer-focus:ring-4 peer-focus:ring-blue-300 dark:peer-focus:ring-blue-800 dark:bg-gray-700 peer-checked:after:-translate-x-full rtl:peer-checked:after:-translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-0.5 after:start-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all dark:border-gray-600 peer-checked:bg-blue-600 dar
1k:peer-checked:bg-blue-600"},null,-1)),e[7]||(e[7]=s("span",{class:"ms-3 text-xs font-medium text-blue-600 dark:text-gray-300"}," فعال ",-1))])]))),128))]),l.value.permissions?(i(),n("p",z,d(l.value.permissions),1)):v("",!0)]),s("div",J,[s("button",{type:"submit",class:y([{"btn-loading":h.value},"px-6 py-2 rounded-lg bg-blue-600 text-white hover:bg-blue-700 transition"])},d(u.value?"ویرایش":"ذخیره"),3)])],32)]))}}),Y=V(K,[["__scopeId","data-v-f45c2b3a"]]);export{Y 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.