admin/dist/assets/CategoryFormPage-da5b0c87.js

2 lines
2.4 KiB
JavaScript

import{j as e}from"./vendor-query-a3e439f2.js";import{u as s,f as a,r as t}from"./vendor-react-ac1483bd.js";import{h as r,L as n,P as i,F as o,d as c,B as d}from"./index-590deac5.js";import{I as l}from"./Input-dc2009a3.js";import{b as m,c as p,d as u}from"./_hooks-9d916060.js";import{z as x}from"./vendor-ui-8a3c5c7d.js";import"./vendor-toast-598db4db.js";import"./_requests-35c9d4c3.js";const j=()=>{const j=s(),{id:h}=a();r();const f=Boolean(h),[v,y]=t.useState({name:"",description:"",parent_id:null}),{data:g,isLoading:w}=m(h||"0",f),N=p(),b=u();t.useEffect(()=>{g&&f&&y({name:g.name||"",description:g.description||"",parent_id:g.parent_id||null})},[g,f]);const k=(e,s)=>{y(a=>({...a,[e]:s}))},_=()=>{j("/categories")};if(f&&w)return e.jsx("div",{className:"flex justify-center items-center h-64",children:e.jsx(n,{})});const C=e.jsxs(d,{variant:"secondary",onClick:_,className:"flex items-center gap-2",children:[e.jsx(x,{className:"h-4 w-4"}),"بازگشت"]});return e.jsxs(i,{className:"max-w-2xl mx-auto",children:[e.jsx(o,{title:f?"ویرایش دسته‌بندی":"ایجاد دسته‌بندی جدید",subtitle:f?"ویرایش اطلاعات دسته‌بندی":"اطلاعات دسته‌بندی جدید را وارد کنید",backButton:C}),e.jsx("div",{className:"card p-4 sm:p-6",children:e.jsxs("form",{onSubmit:async e=>{e.preventDefault();try{f?await b.mutateAsync({id:parseInt(h),...v}):await N.mutateAsync(v)}catch(s){}},className:"space-y-4 sm:space-y-6",children:[e.jsxs("div",{children:[e.jsx(c,{htmlFor:"name",children:"نام دسته‌بندی"}),e.jsx(l,{id:"name",type:"text",value:v.name,onChange:e=>k("name",e.target.value),placeholder:"نام دسته‌بندی را وارد کنید",required:!0})]}),e.jsxs("div",{children:[e.jsx(c,{htmlFor:"description",children:"توضیحات"}),e.jsx("textarea",{id:"description",value:v.description,onChange:e=>k("description",e.target.value),placeholder:"توضیحات دسته‌بندی",rows:4,className:"input resize-none"})]}),e.jsxs("div",{className:"flex flex-col space-y-3 sm:flex-row sm:justify-end sm:space-y-0 sm:space-x-3 sm:space-x-reverse pt-4 border-t border-gray-200 dark:border-gray-700",children:[e.jsx(d,{type:"button",variant:"secondary",onClick:_,className:"w-full sm:w-auto",children:"انصراف"}),e.jsx(d,{type:"submit",loading:N.isPending||b.isPending,className:"w-full sm:w-auto",children:f?"ویرایش":"ایجاد"})]})]})})]})};export{j as default};