1import{a as j,b as _,c as E,r as o,j as e}from"./index-DT98fQox.js";import{A as V}from"./AdminLayout-uaaqYwvj.js";import{ag as C,ae as w,ah as P}from"./admin-BijFdg4U.js";import"./markdown-CIel6SH6.js";import"./marked.esm-r2HKmrw_.js";const L=()=>{const{t}=j(),v=_(),{categoryId:m}=E(),i=m?Number(m):NaN,[d,u]=o.useState(!0),[p,f]=o.useState(!1),[g,n]=o.useState(""),[h,b]=o.useState([]),[r,c]=o.useState({title:"",description:"",parent:0,order:0}),x=async()=>{if(!i){n(t("admin.events.categories.not_found",{defaultValue:"Event category not found"})),u(!1);return}u(!0),n("");try{const[a,s]=await Promise.all([C(i),w()]),l=a?.data?.category;l?c({title:l.category_title||"",description:l.category_description||"",parent:l.category_parent||0,order:l.category_order||0}):n(t("admin.events.categories.not_found",{defaultValue:"Event category not found"})),b(s?.data?.parents||[])}catch(a){n(a?.response?.data?.message||t("admin.events.categories.load_failed_single",{defaultValue:"Failed to load event category"}))}finally{u(!1)}};o.useEffect(()=>{x()},[m]);const y=async a=>{if(a.preventDefault(),!i){n(t("admin.events.categories.not_found",{defaultValue:"Event category not found"}));return}f(!0),n("");try{await P(i,{title:r.title.trim(),description:r.description.trim()||void 0,parent:r.parent,order:r.order}),v("/admin/events/categories")}catch(s){const l=s?.response?.data?.message||s?.response?.data?.errors?.title?.[0]||s?.response?.data?.errors?.parent?.[0]||t("admin.events.categories.update_failed",{defaultValue:"Failed to update event category"});n(l)}finally{f(!1)}},N=h.filter(a=>a.id!==i);return e.jsx(V,{title:t("admin.modules.events.title",{defaultValue:"Events"}),subtitle:t("admin.events.categories.subtitle_edit",{defaultValue:"Edit event category"}),children:e.jsx("div",{className:"col-md-8 col-lg-9 sg-offcanvas-mainbar",children:e.jsxs("div",{className:"card",children:[e.jsxs("div",{className:"card-header with-icon",children:[e.jsx("div",{className:"float-end",children:e.jsxs("a",{href:"/admin/events/categories",className:"btn btn-md btn-light",children:[e.jsx("i",{className:"feather-arrow-left mr5"}),t("actions.go_back")]})}),e.jsx("i",{className:"feather-calendar mr10"}),t("admin.modules.events.title",{defaultValue:"Events"}),` > ${t("admin.events.categories.breadcrumb_edit",{defaultValue:"Edit Category"})}`]}),e.jsxs("form",{onSubmit:y,className:"js_ajax-forms",children:[e.jsxs("div",{className:"card-body",children:[e.jsxs("div",{className:"row form-group",children:[e.jsx("label",{className:"col-md-3 form-label",children:t("admin.events.categories.form.title_label",{defaultValue:"Category Name"})}),e.jsx("div",{className:"col-md-9",children:e.jsx("input",{className:"form-control",name:"title",value:r.title,onChange:a=>c(s=>({...s,title:a.target.value})),required:!0,maxLength:255,disabled:d})})]}),e.jsxs("div",{className:"row form-group",children:[e.jsx("label",{className:"col-md-3 form-label",children:t("admin.events.categories.form.description_label",{defaultValue:"Description"})}),e.jsx("div",{className:"col-md-9",children:e.jsx("textarea",{className:"form-control",name:"description",rows:4,value:r.description,onChange:a=>c(s=>({...s,description:a.target.value})),disabled:d})})]}),e.jsxs("div",{className:"row form-group",children:[e.jsx("label",{className:"col-md-3 form-label",children:t("admin.events.categories.form.parent_label",{defaultValue:"Parent Category"})}),e.jsx("div",{className:"col-md-9",children:e.jsxs("select",{className:"form-select",name:"parent",value:r.parent,onChange:a=>c(s=>({...s,parent:Number(a.target.value)})),disabled:d,children:[e.jsx("option",{value:0,children:t("admin.events.categories.parent_none",{defaultValue:"None"})}),N.map(a=>e.jsx("option",{value:a.id,children:a.title},a.id))]})})]}),e.jsxs("div",{className:"row form-group",children:[e.jsx("label",{className:"col-md-3 form-label",children:t("admin.events.categories.form.order_label",{defaultValue:"Order"})}),e.jsx("div",{className:"col-md-9",children:e.jsx("input",{type:"number",className:"form-control",name:"order",min:0,value:r.order,onChange:a=>c(s=>({...s,order:Number(a.target.value)})),disabled:d})})]}),e.jsx("div",{className:`alert alert-danger mt15 mb0 ${g?"":"x-hidden"}`,children:g})]}),e.jsx("div",{className:"card-footer text-end",children:e.jsx("button",{type:"submit",className:"btn btn-primary",disabled:p||d,children:t("actions.save_changes")}
1)})]})]})})})};export{L 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.