import{j as e}from"./vendor-query-a3e439f2.js";import{u as r,f as s,r as i}from"./vendor-react-ac1483bd.js";import{c as a,a as t,u as o}from"./vendor-forms-f89aa741.js";import{o as d}from"./yup-bff05cf1.js";import{b as n,c,d as l}from"./_hooks-653fd77f.js";import{L as m,P as p,F as u,B as x,d as j}from"./index-590deac5.js";import{I as f}from"./Input-dc2009a3.js";import{z as g}from"./vendor-ui-8a3c5c7d.js";import"./_requests-35c9d4c3.js";import"./vendor-toast-598db4db.js";const h=a({title:t().required("نام نقش الزامی است").min(2,"نام نقش باید حداقل ۲ کاراکتر باشد"),description:t().required("توضیحات الزامی است").min(5,"توضیحات باید حداقل ۵ کاراکتر باشد")}),y=()=>{var a;const t=r(),{id:y}=s(),b=!!y,{data:v,isLoading:N}=n(y||""),{mutate:k,isPending:w}=c(),{mutate:S,isPending:q}=l(),{register:C,handleSubmit:I,formState:{errors:P,isValid:z},reset:F}=o({resolver:d(h),mode:"onChange"});i.useEffect(()=>{b&&v&&F({title:v.title,description:v.description})},[b,v,F]);if(b&&N)return e.jsx(m,{});const L=w||q;return e.jsxs(p,{children:[e.jsx(u,{title:b?"ویرایش نقش":"ایجاد نقش جدید",actions:e.jsxs(x,{variant:"secondary",onClick:()=>t("/roles"),className:"flex items-center gap-2",children:[e.jsx(g,{className:"h-4 w-4"}),"بازگشت"]})}),e.jsx("div",{className:"max-w-2xl",children:e.jsx("div",{className:"bg-white dark:bg-gray-800 rounded-lg shadow-md p-6",children:e.jsxs("form",{onSubmit:I(e=>{b&&y?S({id:parseInt(y),...e},{onSuccess:()=>{t("/roles")}}):k(e,{onSuccess:()=>{t("/roles")}})}),className:"space-y-6",children:[e.jsx(f,{label:"نام نقش",type:"text",placeholder:"نام نقش را وارد کنید",error:null==(a=P.title)?void 0:a.message,...C("title")}),e.jsxs("div",{className:"space-y-1",children:[e.jsx(j,{htmlFor:"description",children:"توضیحات"}),e.jsx("textarea",{id:"description",placeholder:"توضیحات نقش را وارد کنید",className:`w-full px-3 py-2 border rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-primary-500 resize-none h-24 ${P.description?"border-red-500 focus:ring-red-500 focus:border-red-500":"border-gray-300 dark:border-gray-600"} dark:bg-gray-700 dark:text-gray-100`,...C("description")}),P.description&&e.jsx("p",{className:"text-sm text-red-600 dark:text-red-400",children:P.description.message})]}),e.jsxs("div",{className:"flex justify-end gap-3 pt-4",children:[e.jsx(x,{type:"button",variant:"secondary",onClick:()=>t("/roles"),children:"انصراف"}),e.jsx(x,{type:"submit",variant:"primary",loading:L,disabled:!z,children:b?"به‌روزرسانی":"ایجاد"})]})]})})})]})};export{y as default};