Files
nademitex_admin/dist/assets/BrandsView-CPBAGKxa.js
T
mohmdsdgandCopilot 9854842ada fix(auth): secure sessions and app routing
Validate sessions against the API, honor configurable base paths, and route unknown pages to 404. Keep development ports stable so user and admin apps cannot be confused.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-24 20:14:11 +03:30

1 line
3.4 KiB
JavaScript

import{Ct as e,G as t,J as n,N as r,Q as i,R as a,V as o,X as s,Z as c,dt as l,et as u,gt as d,ht as f,it as p,lt as m,nt as h,rt as g,st as _,u as v,vt as y,yt as b,z as x}from"./index-B2VD3zy8.js";import{t as S}from"./AdminPageSkeleton-BJpm6oxf.js";import{t as C}from"./BaseSwitch-dp2xMemS.js";import{t as w}from"./BaseEmptyState-DGu6Pfui.js";var T={class:`admin-page`},E={key:2,class:`admin-table`},D={dir:`ltr`},O=[`onClick`],k={class:`field`},A={class:`field`},j={class:`field`},M={class:`field`},N=[`disabled`],P=o(p({__name:`BrandsView`,setup(o){let p=b([]),P=b(!0),F=b(!1),I=b(null),L=x(),R=y({name:``,slug:``,description:``,displayOrder:0,isActive:!0}),z=s(()=>I.value?`ویرایش برند`:`افزودن برند`);async function B(){P.value=!0;try{p.value=await v.list()}catch(e){L.error(e instanceof r?e.message:`بارگذاری برندها ناموفق بود`)}finally{P.value=!1}}function V(){I.value=null,Object.assign(R,{name:``,slug:``,description:``,displayOrder:p.value.length+1,isActive:!0}),F.value=!0}function H(e){I.value=e.id,Object.assign(R,{name:e.name,slug:e.slug??``,description:e.description??``,displayOrder:e.displayOrder,isActive:e.isActive}),F.value=!0}async function U(){try{let e={name:R.name.trim(),slug:R.slug.trim()||void 0,description:R.description.trim()||void 0,displayOrder:R.displayOrder,isActive:R.isActive};I.value?await v.update(I.value,e):await v.create(e),F.value=!1,L.success(`ذخیره شد`),await B()}catch(e){L.error(e instanceof r?e.message:`ذخیره ناموفق بود`)}}return _(()=>{B()}),(r,o)=>(m(),u(`div`,T,[c(`header`,{class:`admin-page__head`},[o[6]||=c(`div`,null,[c(`h1`,null,`برندها`)],-1),c(`button`,{type:`button`,class:`admin-btn admin-btn--primary`,onClick:V},`افزودن برند`)]),P.value?(m(),i(S,{key:0,variant:`table`})):p.value.length?(m(),u(`table`,E,[o[7]||=c(`thead`,null,[c(`tr`,null,[c(`th`,null,`نام`),c(`th`,null,`شناسه لاتین`),c(`th`,null,`مشتریان`),c(`th`,null,`فعال`),c(`th`)])],-1),c(`tbody`,null,[(m(!0),u(n,null,l(p.value,t=>(m(),u(`tr`,{key:t.id},[c(`td`,null,e(t.name),1),c(`td`,D,e(t.slug||`—`),1),c(`td`,null,e(t.customersCount??0),1),c(`td`,null,e(t.isActive?`بله`:`خیر`),1),c(`td`,null,[c(`button`,{type:`button`,class:`link`,onClick:e=>H(t)},`ویرایش`,8,O)])]))),128))])])):(m(),i(w,{key:1,title:`برندی ثبت نشده`})),g(a,{open:F.value,title:z.value,onClose:o[5]||=e=>F.value=!1},{footer:f(()=>[c(`button`,{type:`button`,class:`admin-btn admin-btn--primary`,disabled:!R.name.trim(),onClick:U},`ذخیره`,8,N)]),default:f(()=>[c(`label`,k,[o[8]||=h(`نام`,-1),d(c(`input`,{"onUpdate:modelValue":o[0]||=e=>R.name=e,class:`admin-input`},null,512),[[t,R.name]])]),c(`label`,A,[o[9]||=h(`شناسه لاتین`,-1),d(c(`input`,{"onUpdate:modelValue":o[1]||=e=>R.slug=e,class:`admin-input`,dir:`ltr`,placeholder:`مثلاً nademi-silk`},null,512),[[t,R.slug]])]),c(`label`,j,[o[10]||=h(`توضیح`,-1),d(c(`textarea`,{"onUpdate:modelValue":o[2]||=e=>R.description=e,class:`admin-input`,rows:`3`},null,512),[[t,R.description]])]),c(`label`,M,[o[11]||=h(`ترتیب`,-1),d(c(`input`,{"onUpdate:modelValue":o[3]||=e=>R.displayOrder=e,type:`number`,class:`admin-input`},null,512),[[t,R.displayOrder,void 0,{number:!0}]])]),g(C,{modelValue:R.isActive,"onUpdate:modelValue":o[4]||=e=>R.isActive=e,label:`فعال`},null,8,[`modelValue`])]),_:1},8,[`open`,`title`])]))}}),[[`__scopeId`,`data-v-88043806`]]);export{P as default};