From 502d966bf4d5260a9626cdde7f6925bca4aaff32 Mon Sep 17 00:00:00 2001 From: safavimohadeseh78 Date: Thu, 10 Sep 2026 16:10:23 +0330 Subject: [PATCH] added dist to docker --- .dockerignore | 11 + .gitignore | 4 +- Dockerfile | 21 + dist/.htaccess | 18 + dist/assets/ActiveSwitchCell-DxxSF-SL.js | 1 + dist/assets/ActiveSwitchCell-ek5gVZ9f.css | 1 + dist/assets/AdminCurrencyInput-Bo4teStb.js | 1 + dist/assets/AdminCurrencyInput-QPh70it7.css | 1 + dist/assets/AdminSelect-BsjBHdZj.js | 1 + dist/assets/AdminSelect-DygSPg0P.css | 1 + dist/assets/BankAccountsView-DhlQ4HRy.css | 1 + dist/assets/BankAccountsView-sSvD7o7g.js | 1 + dist/assets/CashPaymentsView-D6ITwHuu.js | 1 + dist/assets/CashPaymentsView-DMotishw.css | 1 + dist/assets/CatalogsView-DbBk4Fy_.css | 1 + dist/assets/CatalogsView-rrxXBbd1.js | 1 + dist/assets/CheckManagementView-BIZGwBaB.css | 1 + dist/assets/CheckManagementView-BfogLYQM.js | 1 + dist/assets/ChecksListView-BManVtea.css | 1 + dist/assets/ChecksListView-BenCn0gO.js | 1 + dist/assets/CompaniesView-CfFrdLAS.js | 1 + dist/assets/CompaniesView-CrPUhk7I.css | 1 + dist/assets/CustomersView-BYpoFcAd.js | 1 + dist/assets/CustomersView-BfXhxAth.css | 1 + dist/assets/DashboardView-B4W3rp-i.js | 1 + dist/assets/DashboardView-Dt8n-iF2.css | 1 + dist/assets/IRANSansWeb(FaNum)-BLA2CtIC.woff2 | Bin 0 -> 27944 bytes .../IRANSansWeb(FaNum)_Black-BFAfOkt4.woff2 | Bin 0 -> 25776 bytes .../IRANSansWeb(FaNum)_Bold-C8urhp07.woff2 | Bin 0 -> 27316 bytes .../IRANSansWeb(FaNum)_Light-B637MNLG.woff2 | Bin 0 -> 28400 bytes .../IRANSansWeb(FaNum)_Medium-C2CKjrKB.woff2 | Bin 0 -> 25784 bytes dist/assets/LoginView-D7iZwKPi.js | 1 + dist/assets/LoginView-DZ4_j4UF.css | 1 + dist/assets/OrderPricingView-2_6fSc39.js | 1 + dist/assets/OrderPricingView-CoLjkjhh.css | 1 + dist/assets/OrdersView-BDNu8Skn.css | 1 + dist/assets/OrdersView-D0Eztocg.js | 1 + dist/assets/ProductsView-BMsySxsi.css | 1 + dist/assets/ProductsView-D1KGixmP.js | 1 + dist/assets/ReportsView-DVj4kC2G.css | 1 + dist/assets/ReportsView-_lTR_DLQ.js | 1 + dist/assets/SettingsView-BDyMkB9r.js | 1 + dist/assets/SettingsView-Bij8reGT.css | 1 + dist/assets/ShippingView-D5qfKl__.css | 1 + dist/assets/ShippingView-Dqgg-XEs.js | 1 + dist/assets/StatusBadge-D-XqK4sa.js | 1 + dist/assets/StatusBadge-D4wGJ-Ud.css | 1 + dist/assets/UsersView-Bu8B7Jcu.js | 1 + dist/assets/UsersView-CiIpYxtf.css | 1 + dist/assets/adminLabels-Cz9ccm1Z.js | 1 + dist/assets/index-BvDWVN71.css | 1 + dist/assets/index-dG7O4aC2.js | 382 ++++++++++++++++++ dist/favicon.ico | Bin 0 -> 4286 bytes dist/index.html | 14 + entrypoint.sh | 34 ++ package.json | 1 + scripts/pack-docker.mjs | 16 + scripts/serve-admin.mjs | 84 ++++ scripts/write-docker-vite-env.mjs | 56 +++ 59 files changed, 681 insertions(+), 2 deletions(-) create mode 100644 .dockerignore create mode 100644 Dockerfile create mode 100644 dist/.htaccess create mode 100644 dist/assets/ActiveSwitchCell-DxxSF-SL.js create mode 100644 dist/assets/ActiveSwitchCell-ek5gVZ9f.css create mode 100644 dist/assets/AdminCurrencyInput-Bo4teStb.js create mode 100644 dist/assets/AdminCurrencyInput-QPh70it7.css create mode 100644 dist/assets/AdminSelect-BsjBHdZj.js create mode 100644 dist/assets/AdminSelect-DygSPg0P.css create mode 100644 dist/assets/BankAccountsView-DhlQ4HRy.css create mode 100644 dist/assets/BankAccountsView-sSvD7o7g.js create mode 100644 dist/assets/CashPaymentsView-D6ITwHuu.js create mode 100644 dist/assets/CashPaymentsView-DMotishw.css create mode 100644 dist/assets/CatalogsView-DbBk4Fy_.css create mode 100644 dist/assets/CatalogsView-rrxXBbd1.js create mode 100644 dist/assets/CheckManagementView-BIZGwBaB.css create mode 100644 dist/assets/CheckManagementView-BfogLYQM.js create mode 100644 dist/assets/ChecksListView-BManVtea.css create mode 100644 dist/assets/ChecksListView-BenCn0gO.js create mode 100644 dist/assets/CompaniesView-CfFrdLAS.js create mode 100644 dist/assets/CompaniesView-CrPUhk7I.css create mode 100644 dist/assets/CustomersView-BYpoFcAd.js create mode 100644 dist/assets/CustomersView-BfXhxAth.css create mode 100644 dist/assets/DashboardView-B4W3rp-i.js create mode 100644 dist/assets/DashboardView-Dt8n-iF2.css create mode 100644 dist/assets/IRANSansWeb(FaNum)-BLA2CtIC.woff2 create mode 100644 dist/assets/IRANSansWeb(FaNum)_Black-BFAfOkt4.woff2 create mode 100644 dist/assets/IRANSansWeb(FaNum)_Bold-C8urhp07.woff2 create mode 100644 dist/assets/IRANSansWeb(FaNum)_Light-B637MNLG.woff2 create mode 100644 dist/assets/IRANSansWeb(FaNum)_Medium-C2CKjrKB.woff2 create mode 100644 dist/assets/LoginView-D7iZwKPi.js create mode 100644 dist/assets/LoginView-DZ4_j4UF.css create mode 100644 dist/assets/OrderPricingView-2_6fSc39.js create mode 100644 dist/assets/OrderPricingView-CoLjkjhh.css create mode 100644 dist/assets/OrdersView-BDNu8Skn.css create mode 100644 dist/assets/OrdersView-D0Eztocg.js create mode 100644 dist/assets/ProductsView-BMsySxsi.css create mode 100644 dist/assets/ProductsView-D1KGixmP.js create mode 100644 dist/assets/ReportsView-DVj4kC2G.css create mode 100644 dist/assets/ReportsView-_lTR_DLQ.js create mode 100644 dist/assets/SettingsView-BDyMkB9r.js create mode 100644 dist/assets/SettingsView-Bij8reGT.css create mode 100644 dist/assets/ShippingView-D5qfKl__.css create mode 100644 dist/assets/ShippingView-Dqgg-XEs.js create mode 100644 dist/assets/StatusBadge-D-XqK4sa.js create mode 100644 dist/assets/StatusBadge-D4wGJ-Ud.css create mode 100644 dist/assets/UsersView-Bu8B7Jcu.js create mode 100644 dist/assets/UsersView-CiIpYxtf.css create mode 100644 dist/assets/adminLabels-Cz9ccm1Z.js create mode 100644 dist/assets/index-BvDWVN71.css create mode 100644 dist/assets/index-dG7O4aC2.js create mode 100644 dist/favicon.ico create mode 100644 dist/index.html create mode 100644 entrypoint.sh create mode 100644 scripts/pack-docker.mjs create mode 100644 scripts/serve-admin.mjs create mode 100644 scripts/write-docker-vite-env.mjs diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..7edc07d --- /dev/null +++ b/.dockerignore @@ -0,0 +1,11 @@ +node_modules +.git +.env +.env.development +.env.production +.env.local +*.log +.DS_Store +.idea +.fleet +.cursor diff --git a/.gitignore b/.gitignore index 79977f6..da8bf9d 100644 --- a/.gitignore +++ b/.gitignore @@ -9,8 +9,8 @@ lerna-debug.log* node_modules .DS_Store -dist -dist-ssr +#dist +#dist-ssr coverage *.local diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..7fa7e0e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,21 @@ +# ایمیج اجرا: dist از گیت می‌آید. بیلد روی سیستم لوکال است؛ npm داخل داکر اجرا نمی‌شود. +ARG NODE_IMAGE=node:22-alpine +FROM ${NODE_IMAGE} + +WORKDIR /app + +COPY dist ./dist +COPY scripts/serve-admin.mjs ./scripts/serve-admin.mjs +COPY entrypoint.sh /entrypoint.sh + +RUN chmod +x /entrypoint.sh \ + && test -f /app/dist/index.html + +ENV NODE_ENV=production +ENV VITE_BASE_PATH=/admin/ +ENV PORT=9191 + +EXPOSE 9191 + +ENTRYPOINT ["/entrypoint.sh"] +CMD ["node", "scripts/serve-admin.mjs"] diff --git a/dist/.htaccess b/dist/.htaccess new file mode 100644 index 0000000..ec82b63 --- /dev/null +++ b/dist/.htaccess @@ -0,0 +1,18 @@ + + RewriteEngine On + RewriteBase /admin/ + + # Serve existing files and directories + RewriteCond %{REQUEST_FILENAME} -f [OR] + RewriteCond %{REQUEST_FILENAME} -d + RewriteRule ^ - [L] + + # SPA fallback + RewriteRule ^ index.html [L] + + + + AddType application/javascript .js + AddType text/css .css + AddType application/wasm .wasm + diff --git a/dist/assets/ActiveSwitchCell-DxxSF-SL.js b/dist/assets/ActiveSwitchCell-DxxSF-SL.js new file mode 100644 index 0000000..4b5cf4a --- /dev/null +++ b/dist/assets/ActiveSwitchCell-DxxSF-SL.js @@ -0,0 +1 @@ +import{A as e,B as t,H as n,K as r,O as i,Q as a,T as o,U as s,V as c,ct as l,ft as u,j as d,lt as f,q as p,tt as m,ut as h,z as g}from"./index-dG7O4aC2.js";var _=[`title`],v={key:0,class:`base-switch__label`},y={class:`base-switch__control`},b=[`id`,`checked`,`disabled`,`aria-checked`,`aria-label`],x={class:`base-switch__track`,"aria-hidden":`true`},S={class:`base-switch__thumb`},C={key:0,class:`base-switch__spinner`},w=d(p({__name:`BaseSwitch`,props:{modelValue:{type:Boolean},disabled:{type:Boolean},loading:{type:Boolean},error:{type:Boolean},label:{},activeText:{default:`فعال`},inactiveText:{default:`غیرفعال`},id:{}},emits:[`update:modelValue`],setup(e,{emit:r}){let i=e,o=r,c=g(()=>i.id??`switch-${crypto.randomUUID().slice(0,8)}`),l=g(()=>i.modelValue?i.activeText:i.inactiveText);function d(e){let t=e.target,n=t.checked;t.checked=i.modelValue,!(i.disabled||i.loading)&&o(`update:modelValue`,n)}return(r,i)=>(a(),s(`label`,{class:h([`base-switch`,{"base-switch--disabled":e.disabled||e.loading,"base-switch--error":e.error}]),title:l.value},[e.label?(a(),s(`span`,v,u(e.label),1)):n(``,!0),t(`span`,y,[t(`input`,{id:c.value,class:`base-switch__input`,type:`checkbox`,role:`switch`,checked:e.modelValue,disabled:e.disabled||e.loading,"aria-checked":e.modelValue,"aria-label":e.label||l.value,onChange:d},null,40,b),t(`span`,x,[t(`span`,S,[e.loading?(a(),s(`span`,C)):n(``,!0)])])])],10,_))}}),[[`__scopeId`,`data-v-0410eed4`]]),T={class:`base-empty__icon`,"aria-hidden":`true`},E={class:`base-empty__title`},D={key:0,class:`base-empty__description`},O={key:1,class:`base-empty__actions`},k=d(p({__name:`BaseEmptyState`,props:{icon:{default:`file`},title:{},description:{},compact:{type:Boolean}},emits:[`action`,`secondary`],setup(e){return(i,c)=>(a(),s(`div`,{class:h([`base-empty`,{"base-empty--compact":e.compact}])},[t(`div`,T,[r(o,{name:e.icon,size:e.compact?28:36},null,8,[`name`,`size`])]),t(`h3`,E,u(e.title),1),e.description?(a(),s(`p`,D,u(e.description),1)):n(``,!0),i.$slots.default||i.$slots.secondary?(a(),s(`div`,O,[m(i.$slots,`default`,{},void 0,!0),m(i.$slots,`secondary`,{},void 0,!0)])):n(``,!0)],2))}}),[[`__scopeId`,`data-v-47ea81e4`]]);function A(e=480){return new Promise(t=>{window.setTimeout(t,e)})}function j(t){let n=l(null),r=l(null),i=e();async function a(e,a){if(n.value)return a;let o=!a;if(!o&&t.confirmOff&&!await t.confirmOff())return a;n.value=e,r.value=null;let s=a;try{return await t.onPersist(o),i.success(t.successMessage?.(o)??(o?`وضعیت فعال شد.`:`وضعیت غیرفعال شد.`)),o}catch{return r.value=e,i.error(t.errorMessage??`به‌روزرسانی وضعیت انجام نشد.`),s}finally{n.value=null}}function o(e){return n.value===e}function s(e){return r.value===e}return{toggle:a,isLoading:o,hasError:s}}var M=p({__name:`ActiveSwitchCell`,props:{id:{},modelValue:{type:Boolean},entityName:{},entityType:{},persist:{type:Function}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,r=t,{toggle:o,isLoading:s,hasError:l}=j({onPersist:async e=>{n.persist?await n.persist(n.id,e):await A()},successMessage:e=>e?`${n.entityType??`مورد`} «${n.entityName}» فعال شد.`:`${n.entityType??`مورد`} «${n.entityName}» غیرفعال شد.`});async function u(e){if(e===n.modelValue)return;let t=n.entityType??`مورد`;if(!await i({title:e?`فعال‌سازی ${t}`:`غیرفعال‌سازی ${t}`,message:e?`آیا از فعال کردن «${n.entityName}» مطمئن هستید؟`:`آیا از غیرفعال کردن «${n.entityName}» مطمئن هستید؟`,tone:e?`primary`:`danger`,confirmLabel:e?`فعال کردن`:`غیرفعال کردن`,cancelLabel:`انصراف`}))return;let a=await o(n.id,n.modelValue);r(`update:modelValue`,a)}return(t,n)=>(a(),c(w,{"model-value":e.modelValue,loading:f(s)(e.id),error:f(l)(e.id),"onUpdate:modelValue":u},null,8,[`model-value`,`loading`,`error`]))}});export{k as n,w as r,M as t}; \ No newline at end of file diff --git a/dist/assets/ActiveSwitchCell-ek5gVZ9f.css b/dist/assets/ActiveSwitchCell-ek5gVZ9f.css new file mode 100644 index 0000000..f249d0b --- /dev/null +++ b/dist/assets/ActiveSwitchCell-ek5gVZ9f.css @@ -0,0 +1 @@ +.base-switch[data-v-0410eed4]{cursor:pointer;flex-direction:column;gap:6px;display:inline-flex}.base-switch--disabled[data-v-0410eed4]{cursor:not-allowed;opacity:.72}.base-switch--error .base-switch__track[data-v-0410eed4]{box-shadow:0 0 0 2px #dc35452e}.base-switch__label[data-v-0410eed4]{color:var(--color-text);font-size:.8125rem;font-weight:600}.base-switch__control[data-v-0410eed4]{align-items:center;display:inline-flex}.base-switch__input[data-v-0410eed4]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.base-switch__input:focus-visible+.base-switch__track[data-v-0410eed4]{outline:2px solid var(--color-primary);outline-offset:2px}.base-switch__track[data-v-0410eed4]{width:44px;height:24px;transition:background var(--transition-fast);background:#cbd5e1;border-radius:999px;flex-shrink:0;position:relative}.base-switch__input:checked+.base-switch__track[data-v-0410eed4]{background:var(--color-success)}.base-switch__thumb[data-v-0410eed4]{width:20px;height:20px;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast);background:#fff;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:2px;right:2px}.base-switch__input:checked+.base-switch__track .base-switch__thumb[data-v-0410eed4]{transform:translate(-20px)}.base-switch__spinner[data-v-0410eed4]{border:2px solid #e2e8f0;border-top-color:var(--color-primary);border-radius:50%;width:12px;height:12px;animation:.7s linear infinite base-switch-spin-0410eed4}@keyframes base-switch-spin-0410eed4{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.base-switch__track[data-v-0410eed4],.base-switch__thumb[data-v-0410eed4],.base-switch__spinner[data-v-0410eed4]{transition:none;animation:none}}.base-empty[data-v-47ea81e4]{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:40px 24px;display:flex}.base-empty--compact[data-v-47ea81e4]{padding:28px 16px}.base-empty__icon[data-v-47ea81e4]{border-radius:var(--radius-md);background:var(--color-border-light);width:56px;height:56px;color:var(--color-text-muted);justify-content:center;align-items:center;margin-bottom:4px;display:flex}.base-empty--compact .base-empty__icon[data-v-47ea81e4]{width:48px;height:48px}.base-empty__title[data-v-47ea81e4]{color:var(--color-text);margin:0;font-size:.9375rem;font-weight:700}.base-empty__description[data-v-47ea81e4]{max-width:28rem;color:var(--color-text-muted);margin:0;font-size:.8125rem;line-height:1.6}.base-empty__actions[data-v-47ea81e4]{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px;display:flex} diff --git a/dist/assets/AdminCurrencyInput-Bo4teStb.js b/dist/assets/AdminCurrencyInput-Bo4teStb.js new file mode 100644 index 0000000..e015948 --- /dev/null +++ b/dist/assets/AdminCurrencyInput-Bo4teStb.js @@ -0,0 +1 @@ +import{Q as e,U as t,j as n,o as r,q as i,t as a,ut as o,z as s}from"./index-dG7O4aC2.js";var c=[`id`,`value`,`placeholder`,`disabled`],l=n(i({__name:`AdminCurrencyInput`,props:{modelValue:{default:null},placeholder:{default:``},disabled:{type:Boolean,default:!1},id:{},inputClass:{default:`admin-input`},allowEmpty:{type:Boolean,default:!0}},emits:[`update:modelValue`],setup(n,{emit:i}){let l=n,u=i,d=s(()=>l.modelValue==null||!Number.isFinite(l.modelValue)?``:r(l.modelValue));function f(e){let t=e.target,n=a(t.value);if(!n){u(`update:modelValue`,l.allowEmpty?null:0),t.value=``;return}let i=Number(n);u(`update:modelValue`,i),t.value=r(i)}return(r,i)=>(e(),t(`input`,{id:n.id,type:`text`,inputmode:`numeric`,dir:`ltr`,class:o([`admin-currency-input`,n.inputClass]),value:d.value,placeholder:n.placeholder,disabled:n.disabled,onInput:f},null,42,c))}}),[[`__scopeId`,`data-v-56435fc8`]]);export{l as t}; \ No newline at end of file diff --git a/dist/assets/AdminCurrencyInput-QPh70it7.css b/dist/assets/AdminCurrencyInput-QPh70it7.css new file mode 100644 index 0000000..c02cb67 --- /dev/null +++ b/dist/assets/AdminCurrencyInput-QPh70it7.css @@ -0,0 +1 @@ +.admin-currency-input[data-v-56435fc8]{text-align:right} diff --git a/dist/assets/AdminSelect-BsjBHdZj.js b/dist/assets/AdminSelect-BsjBHdZj.js new file mode 100644 index 0000000..94a0e05 --- /dev/null +++ b/dist/assets/AdminSelect-BsjBHdZj.js @@ -0,0 +1 @@ +import{B as e,F as t,H as n,I as r,K as i,L as a,P as o,Q as s,T as c,U as l,V as u,Y as d,at as f,ct as p,et as m,ft as h,j as g,q as _,ut as v,x as y,z as b}from"./index-dG7O4aC2.js";var x=[`id`],S=[`aria-label`,`aria-expanded`],C={class:`admin-select__value`},w={class:`admin-select__chevron`,"aria-hidden":`true`},T=[`aria-label`],E={key:0,class:`admin-select__search`,role:`presentation`},D=[`placeholder`],O={key:1,class:`admin-select__empty`,role:`presentation`},k=[`aria-selected`,`onClick`],A=g(_({__name:`AdminSelect`,props:{modelValue:{},options:{},placeholder:{default:`انتخاب کنید`},ariaLabel:{default:`انتخاب`},block:{type:Boolean,default:!1},searchable:{type:Boolean,default:!1},searchPlaceholder:{default:`جستجو…`},id:{default:void 0}},emits:[`update:modelValue`],setup(g,{emit:_}){let A=g,j=_,M=p(!1),N=p(``),P=p(null),F=p(null);y(P,()=>{M.value=!1,N.value=``});let I=b(()=>A.options.find(e=>e.value===A.modelValue)?.label??A.placeholder),L=b(()=>{let e=N.value.trim().toLowerCase();return e?A.options.filter(t=>t.label.toLowerCase().includes(e)):A.options});async function R(){M.value=!M.value,M.value&&A.searchable&&(N.value=``,await d(),F.value?.focus())}function z(e){j(`update:modelValue`,e),M.value=!1,N.value=``}return(d,p)=>(s(),l(`div`,{id:g.id,ref_key:`rootRef`,ref:P,class:v([`admin-select`,{"admin-select--open":M.value,"admin-select--block":g.block}])},[e(`button`,{type:`button`,class:`admin-select__trigger`,"aria-label":g.ariaLabel,"aria-expanded":M.value,"aria-haspopup":`listbox`,onClick:R},[e(`span`,C,h(I.value),1),e(`span`,w,[i(c,{name:`chevron-down`,size:16})])],8,S),M.value?(s(),l(`ul`,{key:0,class:`admin-select__menu`,role:`listbox`,"aria-label":g.ariaLabel},[g.searchable?(s(),l(`li`,E,[f(e(`input`,{ref_key:`searchInputRef`,ref:F,"onUpdate:modelValue":p[0]||=e=>N.value=e,type:`search`,class:`admin-select__search-input`,placeholder:g.searchPlaceholder,onClick:p[1]||=r(()=>{},[`stop`]),onKeydown:p[2]||=t(r(e=>M.value=!1,[`stop`]),[`esc`])},null,40,D),[[o,N.value]])])):n(``,!0),L.value.length?n(``,!0):(s(),l(`li`,O,` موردی یافت نشد `)),(s(!0),l(a,null,m(L.value,t=>(s(),l(`li`,{key:t.value,role:`presentation`},[e(`button`,{type:`button`,class:v([`admin-select__option`,{"admin-select__option--active":t.value===g.modelValue}]),role:`option`,"aria-selected":t.value===g.modelValue,onClick:e=>z(t.value)},[e(`span`,null,h(t.label),1),t.value===g.modelValue?(s(),u(c,{key:0,name:`check`,size:16,class:`admin-select__check`})):n(``,!0)],10,k)]))),128))],8,T)):n(``,!0)],10,x))}}),[[`__scopeId`,`data-v-f752c229`]]);export{A as t}; \ No newline at end of file diff --git a/dist/assets/AdminSelect-DygSPg0P.css b/dist/assets/AdminSelect-DygSPg0P.css new file mode 100644 index 0000000..4ed7df6 --- /dev/null +++ b/dist/assets/AdminSelect-DygSPg0P.css @@ -0,0 +1 @@ +.admin-select[data-v-f752c229]{min-width:200px;max-width:100%;position:relative}.admin-select--block[data-v-f752c229]{width:100%;min-width:0}.admin-select__trigger[data-v-f752c229]{width:100%;min-height:var(--control-height,40px);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);justify-content:space-between;align-items:center;gap:10px;padding:0 12px 0 10px;font-family:inherit;font-size:.875rem;font-weight:500;display:flex}.admin-select__trigger[data-v-f752c229]:hover{border-color:var(--color-primary);background:var(--color-elevated,var(--color-surface))}.admin-select--open .admin-select__trigger[data-v-f752c229],.admin-select__trigger[data-v-f752c229]:focus-visible{border-color:var(--color-primary);box-shadow:var(--focus-ring);outline:none}.admin-select__value[data-v-f752c229]{text-align:start;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.admin-select__chevron[data-v-f752c229]{color:var(--color-text-muted);transition:transform var(--transition-fast);flex-shrink:0;display:inline-flex}.admin-select--open .admin-select__chevron[data-v-f752c229]{color:var(--color-primary);transform:rotate(180deg)}.admin-select__menu[data-v-f752c229]{inset-inline-start:0;z-index:40;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:max(100%,220px);max-height:min(320px,50vh);box-shadow:var(--shadow-card,0 12px 28px #0f172a1f);flex-direction:column;gap:4px;margin:0;padding:8px;list-style:none;display:flex;position:absolute;top:calc(100% + 6px);overflow-y:auto}.admin-select__search[data-v-f752c229]{z-index:1;background:var(--color-surface);padding-bottom:4px;position:sticky;top:0}.admin-select__search-input[data-v-f752c229]{border:1px solid var(--color-border);background:var(--color-bg);width:100%;height:36px;color:var(--color-text);font:inherit;border-radius:10px;padding:0 12px;font-size:.8125rem}.admin-select__search-input[data-v-f752c229]:focus{border-color:var(--color-primary);box-shadow:var(--focus-ring);outline:none}.admin-select__empty[data-v-f752c229]{color:var(--color-text-muted);text-align:center;padding:12px;font-size:.8125rem}.admin-select__option[data-v-f752c229]{width:100%;color:var(--color-text);text-align:start;cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);background:0 0;border:1px solid #0000;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-family:inherit;font-size:.875rem;font-weight:500;display:flex}.admin-select__option[data-v-f752c229]:hover{background:var(--color-bg);border-color:var(--color-border)}.admin-select__option--active[data-v-f752c229]{background:var(--color-primary-soft);color:var(--color-primary);border-color:#0000;font-weight:600}.admin-select__option--active[data-v-f752c229]:hover{background:var(--color-primary-soft);border-color:#0000}.admin-select__check[data-v-f752c229]{color:var(--color-primary);flex-shrink:0} diff --git a/dist/assets/BankAccountsView-DhlQ4HRy.css b/dist/assets/BankAccountsView-DhlQ4HRy.css new file mode 100644 index 0000000..0e15654 --- /dev/null +++ b/dist/assets/BankAccountsView-DhlQ4HRy.css @@ -0,0 +1 @@ +.accounts-page__table[data-v-6dd3bf0f]{overflow:hidden} diff --git a/dist/assets/BankAccountsView-sSvD7o7g.js b/dist/assets/BankAccountsView-sSvD7o7g.js new file mode 100644 index 0000000..ed8d8cb --- /dev/null +++ b/dist/assets/BankAccountsView-sSvD7o7g.js @@ -0,0 +1 @@ +import{A as e,B as t,D as n,E as ee,G as r,H as i,I as te,K as a,L as o,P as s,Q as c,U as l,V as u,X as d,at as f,c as p,ct as m,et as h,f as ne,ft as g,it as _,j as re,k as ie,q as v,st as y,w as b,z as x}from"./index-dG7O4aC2.js";import{n as ae,r as oe,t as S}from"./ActiveSwitchCell-DxxSF-SL.js";var se={class:`accounts-page`},ce={class:`admin-page-header`},le={class:`admin-page-header__title`},ue={key:1,class:`accounts-page__table admin-card desktop-only`},de={class:`admin-table-wrap`},fe={class:`admin-table`},pe={class:`status`},me={key:2,class:`compact-only admin-card-list`},C={class:`admin-card-item__header`},w={class:`admin-card-item__title`},T={class:`admin-card-item__meta`},E={key:0},D={key:1,dir:`ltr`},O={key:0,class:`admin-form__error`,role:`alert`},k={class:`admin-form__row`},A={class:`admin-form__field`},j={class:`admin-form__field`},M={class:`admin-form__field`},N={class:`admin-form__row`},P={class:`admin-form__field`},F={class:`admin-form__field`},I={class:`admin-form__field`},L=[`disabled`],R=re(v({__name:`BankAccountsView`,setup(re){let v=ee(),R=n(),z=e(),B=m(null),V=m([]),H=m(!1),U=m(``),W=m(!1),G=x(()=>String(v.params.companyId)),K=x(()=>V.value),q=()=>({bankName:``,accountNumber:``,accountHolder:B.value?.name??``,cardNumber:``,iban:``,isActive:!0}),J=y(q()),Y=x(()=>J.bankName.trim().length>0&&J.accountNumber.trim().length>0&&J.accountHolder.trim().length>0);async function he(){try{let[e,t]=await Promise.all([ne.get(G.value),p.listByCompany(G.value)]);B.value=e,V.value=t}catch(e){z.error(e instanceof b?e.message:`بارگذاری حساب‌ها انجام نشد.`)}}d(()=>{he()});function X(){Object.assign(J,q()),U.value=``,H.value=!0}function Z(){H.value=!1,U.value=``}async function Q(){if(!Y.value){U.value=`فیلدهای ستاره‌دار الزامی هستند.`;return}W.value=!0;try{let e=await p.create(G.value,{bankName:J.bankName.trim(),accountNumber:J.accountNumber.trim(),accountHolder:J.accountHolder.trim(),cardNumber:J.cardNumber.trim()||`-`,iban:J.iban.trim()||`-`,isActive:J.isActive,displayOrder:V.value.length+1});V.value.push(e),z.success(`حساب بانکی جدید ثبت شد.`),Z()}catch(e){z.error(e instanceof b?e.message:`ثبت حساب انجام نشد.`)}finally{W.value=!1}}async function $(e,t){await p.setActive(e,t)}function ge(){R.push(`/companies`)}return(e,n)=>(c(),l(`div`,se,[t(`div`,ce,[t(`div`,null,[t(`h1`,le,` مدیریت حساب‌های بانکی — `+g(B.value?.name??`…`),1),n[6]||=t(`p`,{class:`admin-page-header__breadcrumb`},`تنظیمات / شرکت‌ها / حساب‌های بانکی`,-1)]),t(`div`,{class:`admin-action-group`},[t(`button`,{type:`button`,class:`admin-btn admin-btn--primary`,onClick:X},` افزودن حساب `),t(`button`,{type:`button`,class:`admin-btn admin-btn--outline admin-btn--sm`,onClick:ge},` بازگشت `)])]),K.value.length?(c(),l(`div`,ue,[t(`div`,de,[t(`table`,fe,[n[7]||=t(`thead`,null,[t(`tr`,null,[t(`th`,null,`بانک`),t(`th`,null,`حساب بانکی`),t(`th`,null,`نام صاحب`),t(`th`,null,`شماره کارت`),t(`th`,null,`شماره شبا`),t(`th`,{class:`status`},`وضعیت`)])],-1),t(`tbody`,null,[(c(!0),l(o,null,h(K.value,e=>(c(),l(`tr`,{key:e.id},[t(`td`,null,g(e.bankName),1),t(`td`,null,g(e.accountNumber),1),t(`td`,null,g(e.accountHolder),1),t(`td`,null,g(e.cardNumber||`—`),1),t(`td`,null,g(e.iban||`—`),1),t(`td`,pe,[a(S,{id:e.id,modelValue:e.isActive,"onUpdate:modelValue":t=>e.isActive=t,"entity-name":e.bankName,"entity-type":`حساب بانکی`,persist:$},null,8,[`id`,`modelValue`,`onUpdate:modelValue`,`entity-name`])])]))),128))])])])])):(c(),u(ae,{key:0,class:`admin-card`,icon:`wallet`,title:`حساب بانکی ثبت نشده`,description:`برای این شرکت هنوز حساب بانکی ثبت نشده است.`},{default:_(()=>[t(`button`,{type:`button`,class:`admin-btn admin-btn--primary admin-btn--sm`,onClick:X},` افزودن حساب `)]),_:1})),K.value.length?(c(),l(`div`,me,[(c(!0),l(o,null,h(K.value,e=>(c(),l(`article`,{key:e.id,class:`admin-card-item`},[t(`div`,C,[t(`p`,w,`بانک `+g(e.bankName),1),a(S,{id:e.id,modelValue:e.isActive,"onUpdate:modelValue":t=>e.isActive=t,"entity-name":e.bankName,"entity-type":`حساب بانکی`,persist:$},null,8,[`id`,`modelValue`,`onUpdate:modelValue`,`entity-name`])]),t(`div`,T,[t(`span`,null,g(e.accountHolder),1),t(`span`,null,`حساب: `+g(e.accountNumber),1),e.cardNumber?(c(),l(`span`,E,`کارت: `+g(e.cardNumber),1)):i(``,!0),e.iban?(c(),l(`span`,D,g(e.iban),1)):i(``,!0)])]))),128))])):i(``,!0),a(ie,{open:H.value,title:`افزودن حساب بانکی`,size:`lg`,onClose:Z},{footer:_(()=>[t(`button`,{type:`button`,class:`admin-btn admin-btn--outline`,onClick:Z},` انصراف `),t(`button`,{type:`button`,class:`admin-btn admin-btn--primary`,disabled:!Y.value||W.value,onClick:Q},` ثبت حساب `,8,L)]),default:_(()=>[t(`form`,{class:`admin-form`,onSubmit:te(Q,[`prevent`])},[U.value?(c(),l(`p`,O,g(U.value),1)):i(``,!0),t(`div`,k,[t(`div`,A,[n[8]||=t(`label`,{for:`bank-name`},[r(`نام بانک `),t(`span`,{class:`admin-form__required`},`*`)],-1),f(t(`input`,{id:`bank-name`,"onUpdate:modelValue":n[0]||=e=>J.bankName=e,type:`text`,class:`admin-input`,placeholder:`مثال: ملت`},null,512),[[s,J.bankName]])]),t(`div`,j,[n[9]||=t(`label`,{for:`account-number`},[r(` شماره حساب `),t(`span`,{class:`admin-form__required`},`*`)],-1),f(t(`input`,{id:`account-number`,"onUpdate:modelValue":n[1]||=e=>J.accountNumber=e,type:`text`,class:`admin-input`,placeholder:`1234567890`,inputmode:`numeric`,dir:`ltr`},null,512),[[s,J.accountNumber]])])]),t(`div`,M,[n[10]||=t(`label`,{for:`account-holder`},[r(` نام صاحب حساب `),t(`span`,{class:`admin-form__required`},`*`)],-1),f(t(`input`,{id:`account-holder`,"onUpdate:modelValue":n[2]||=e=>J.accountHolder=e,type:`text`,class:`admin-input`},null,512),[[s,J.accountHolder]])]),t(`div`,N,[t(`div`,P,[n[11]||=t(`label`,{for:`card-number`},`شماره کارت`,-1),f(t(`input`,{id:`card-number`,"onUpdate:modelValue":n[3]||=e=>J.cardNumber=e,type:`text`,class:`admin-input`,placeholder:`6104 3378 0077 1234`,inputmode:`numeric`,dir:`ltr`},null,512),[[s,J.cardNumber]])]),t(`div`,F,[n[12]||=t(`label`,{for:`iban`},`شماره شبا`,-1),f(t(`input`,{id:`iban`,"onUpdate:modelValue":n[4]||=e=>J.iban=e,type:`text`,class:`admin-input`,placeholder:`IR...`,dir:`ltr`},null,512),[[s,J.iban]])])]),t(`div`,I,[a(oe,{modelValue:J.isActive,"onUpdate:modelValue":n[5]||=e=>J.isActive=e,label:`وضعیت`},null,8,[`modelValue`])])],32)]),_:1},8,[`open`])]))}}),[[`__scopeId`,`data-v-6dd3bf0f`]]);export{R as default}; \ No newline at end of file diff --git a/dist/assets/CashPaymentsView-D6ITwHuu.js b/dist/assets/CashPaymentsView-D6ITwHuu.js new file mode 100644 index 0000000..a4ef324 --- /dev/null +++ b/dist/assets/CashPaymentsView-D6ITwHuu.js @@ -0,0 +1 @@ +import{A as e,B as t,E as n,H as r,K as i,L as a,P as o,Q as s,T as c,U as l,X as u,at as d,ct as f,et as p,ft as m,i as h,j as g,l as _,lt as v,n as y,q as b,ut as x,w as S,z as C}from"./index-dG7O4aC2.js";import{t as w}from"./AdminSelect-BsjBHdZj.js";import{n as T,t as E}from"./adminLabels-Cz9ccm1Z.js";var ee={class:`cash-payments-page`},te={class:`cash-payments-page__filters admin-card`},D={class:`cash-payments-page__search`},O={class:`cash-payments-page__table admin-card desktop-only`},k={class:`admin-table-wrap`},A={class:`admin-table`},j={dir:`ltr`},M={key:0,class:`admin-action-group`},N=[`disabled`,`onClick`],P=[`disabled`,`onClick`],F={key:1},I={class:`compact-only admin-card-list`},L={class:`admin-card-item__header`},R={class:`admin-card-item__title`},z={class:`admin-card-item__meta`},B={key:0},V={dir:`ltr`},H={key:0,class:`admin-card-item__actions`},U=[`disabled`,`onClick`],W=[`disabled`,`onClick`],G=g(b({__name:`CashPaymentsView`,setup(g){let b=n(),G=f([]),K=f(b.query.order??``),q=f(`all`),J=e(),Y=f(null),X=[{value:`all`,label:`همه وضعیت‌ها`},{value:`pending_review`,label:`در انتظار تأیید`},{value:`approved`,label:`تأیید شده`},{value:`rejected`,label:`رد شده`},{value:`expired`,label:`منقضی‌شده`}],Z=C(()=>{let e=G.value;q.value!==`all`&&(e=e.filter(e=>e.status===q.value));let t=K.value.trim();return t&&(e=e.filter(e=>e.orderNumber.includes(t)||e.customerName.includes(t)||e.trackingCode.includes(t))),e});async function ne(){try{G.value=await _.list()}catch(e){J.error(e instanceof S?e.message:`بارگذاری پرداخت‌ها انجام نشد.`)}}u(()=>{ne()});async function Q(e){Y.value=e.id;try{let t=await _.updateStatus(e.id,{status:`approved`}),n=G.value.findIndex(t=>t.id===e.id);n!==-1&&(G.value[n]={...G.value[n],...t}),J.success(`پرداخت سفارش ${e.orderNumber} تأیید شد.`)}catch(e){J.error(e instanceof S?e.message:`تأیید پرداخت انجام نشد.`)}finally{Y.value=null}}async function $(e){Y.value=e.id;try{let t=await _.updateStatus(e.id,{status:`rejected`}),n=G.value.findIndex(t=>t.id===e.id);n!==-1&&(G.value[n]={...G.value[n],...t}),J.warning(`پرداخت سفارش ${e.orderNumber} رد شد.`)}catch(e){J.error(e instanceof S?e.message:`رد پرداخت انجام نشد.`)}finally{Y.value=null}}return(e,n)=>(s(),l(`div`,ee,[n[3]||=t(`div`,{class:`admin-page-header`},[t(`div`,null,[t(`h1`,{class:`admin-page-header__title`},`پرداخت‌های نقدی`),t(`p`,{class:`admin-page-header__breadcrumb`},`مالی / پرداخت‌های نقدی`)])],-1),t(`div`,te,[t(`div`,D,[i(c,{name:`search`,size:18}),d(t(`input`,{"onUpdate:modelValue":n[0]||=e=>K.value=e,type:`search`,class:`cash-payments-page__search-input`,placeholder:`جستجو در شماره سفارش، مشتری، پیگیری...`},null,512),[[o,K.value]])]),i(w,{modelValue:q.value,"onUpdate:modelValue":n[1]||=e=>q.value=e,class:`cash-payments-page__status-select`,"aria-label":`فیلتر وضعیت پرداخت`,options:X},null,8,[`modelValue`])]),t(`div`,O,[t(`div`,k,[t(`table`,A,[n[2]||=t(`thead`,null,[t(`tr`,null,[t(`th`,null,`شماره سفارش`),t(`th`,null,`مشتری`),t(`th`,null,`مبلغ فاکتور`),t(`th`,null,`مبلغ واریزی`),t(`th`,null,`تاریخ واریز`),t(`th`,null,`شماره پیگیری`),t(`th`,null,`پایان اعتبار`),t(`th`,null,`وضعیت`),t(`th`,null,`عملیات`)])],-1),t(`tbody`,null,[(s(!0),l(a,null,p(Z.value,e=>(s(),l(`tr`,{key:e.id},[t(`td`,null,m(e.orderNumber),1),t(`td`,null,m(e.customerName),1),t(`td`,null,m(v(y)(e.amount)),1),t(`td`,null,m(e.paidAmount?v(y)(e.paidAmount):`—`),1),t(`td`,null,m(e.transferDate?v(h)(e.transferDate):`—`),1),t(`td`,j,m(e.trackingCode),1),t(`td`,null,m(v(h)(e.expiresAt)),1),t(`td`,null,[t(`span`,{class:x([`admin-badge`,v(E)[e.status]])},m(v(T)[e.status]),3)]),t(`td`,null,[e.status===`pending_review`?(s(),l(`div`,M,[t(`button`,{type:`button`,class:`admin-btn admin-btn--outline-success admin-btn--xs`,disabled:Y.value===e.id,onClick:t=>Q(e)},` تأیید `,8,N),t(`button`,{type:`button`,class:`admin-btn admin-btn--outline-danger admin-btn--xs`,disabled:Y.value===e.id,onClick:t=>$(e)},` رد `,8,P)])):(s(),l(`span`,F,`—`))])]))),128))])])])]),t(`div`,I,[(s(!0),l(a,null,p(Z.value,e=>(s(),l(`article`,{key:e.id,class:`admin-card-item`},[t(`div`,L,[t(`p`,R,m(e.orderNumber),1),t(`span`,{class:x([`admin-badge`,v(E)[e.status]])},m(v(T)[e.status]),3)]),t(`div`,z,[t(`span`,null,m(e.customerName),1),t(`span`,null,m(v(y)(e.amount)),1),e.paidAmount==null?r(``,!0):(s(),l(`span`,B,`پرداختی: `+m(v(y)(e.paidAmount)),1)),t(`span`,V,m(e.trackingCode),1)]),e.status===`pending_review`?(s(),l(`div`,H,[t(`button`,{type:`button`,class:`admin-btn admin-btn--outline-success admin-btn--xs`,disabled:Y.value===e.id,onClick:t=>Q(e)},` تأیید `,8,U),t(`button`,{type:`button`,class:`admin-btn admin-btn--outline-danger admin-btn--xs`,disabled:Y.value===e.id,onClick:t=>$(e)},` رد `,8,W)])):r(``,!0)]))),128))])]))}}),[[`__scopeId`,`data-v-bca3989e`]]);export{G as default}; \ No newline at end of file diff --git a/dist/assets/CashPaymentsView-DMotishw.css b/dist/assets/CashPaymentsView-DMotishw.css new file mode 100644 index 0000000..9a02a35 --- /dev/null +++ b/dist/assets/CashPaymentsView-DMotishw.css @@ -0,0 +1 @@ +.cash-payments-page__filters[data-v-bca3989e]{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;display:flex}.cash-payments-page__search[data-v-bca3989e]{min-width:200px;color:var(--color-text-muted);flex:1;align-items:center;gap:10px;display:flex}.cash-payments-page__search-input[data-v-bca3989e]{color:var(--color-text);background:0 0;border:none;outline:none;flex:1;font-size:.875rem}.cash-payments-page__status-select[data-v-bca3989e]{flex:0 220px;width:220px}.cash-payments-page__table[data-v-bca3989e]{overflow:hidden} diff --git a/dist/assets/CatalogsView-DbBk4Fy_.css b/dist/assets/CatalogsView-DbBk4Fy_.css new file mode 100644 index 0000000..b5b811a --- /dev/null +++ b/dist/assets/CatalogsView-DbBk4Fy_.css @@ -0,0 +1 @@ +.catalogs-page__filters[data-v-0d612376]{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;display:flex}.catalogs-page__search[data-v-0d612376]{min-width:200px;color:var(--color-text-muted);flex:1;align-items:center;gap:10px;display:flex}.catalogs-page__search-input[data-v-0d612376]{background:0 0;border:none;outline:none;flex:1;font-size:.875rem}.catalogs-page__company-filter[data-v-0d612376]{width:min(220px,100%)}.catalogs-page__table[data-v-0d612376]{overflow:hidden} diff --git a/dist/assets/CatalogsView-rrxXBbd1.js b/dist/assets/CatalogsView-rrxXBbd1.js new file mode 100644 index 0000000..8947e1f --- /dev/null +++ b/dist/assets/CatalogsView-rrxXBbd1.js @@ -0,0 +1 @@ +import{A as e,B as t,G as n,H as r,I as ee,K as i,L as a,P as o,Q as s,T as te,U as c,V as ne,X as l,at as u,ct as d,et as f,f as re,ft as p,it as m,j as ie,k as ae,q as h,st as oe,u as g,w as _,z as v}from"./index-dG7O4aC2.js";import{t as y}from"./AdminSelect-BsjBHdZj.js";import{n as se,r as b,t as x}from"./ActiveSwitchCell-DxxSF-SL.js";var ce={class:`catalogs-page`},le={class:`catalogs-page__filters admin-card`},ue={class:`catalogs-page__search`},de={key:1,class:`catalogs-page__table admin-card desktop-only`},fe={class:`admin-table-wrap`},pe={class:`admin-table`},me={class:`numeric`},he={class:`numeric`},ge={class:`status`},_e={class:`actions`},ve=[`onClick`],ye={key:2,class:`compact-only admin-card-list`},S={class:`admin-card-item__header`},C={class:`admin-card-item__title`},w={class:`admin-card-item__meta`},T={class:`admin-card-item__actions`},E=[`onClick`],D={key:0,class:`admin-form__error`,role:`alert`},O={class:`admin-form__field`},k={class:`admin-form__row`},A={class:`admin-form__field`},j={class:`admin-form__field`},M={class:`admin-form__row`},N={class:`admin-form__field`},P={class:`admin-form__field`},be=[`disabled`],F=ie(h({__name:`CatalogsView`,setup(ie){let h=d([]),F=d([]),I=d(``),L=d(`all`),R=d(null),z=d(null),B=d(``),V=d(!1),H=e(),xe=v(()=>[{value:`all`,label:`همه شرکت‌ها`},...F.value.map(e=>({value:e.id,label:e.name}))]),Se=v(()=>F.value.map(e=>({value:e.id,label:e.name}))),U=()=>({companyId:F.value[0]?.id??``,code:``,name:``,displayOrder:h.value.length+1,isActive:!0}),W=oe(U()),Ce=v(()=>R.value!==null),we=v(()=>R.value===`edit`?`ویرایش کالیته`:`افزودن کالیته`),G=v(()=>W.code.trim()&&W.name.trim()&&W.companyId),K=v(()=>I.value.trim().length>0||L.value!==`all`),q=v(()=>{let e=h.value;L.value!==`all`&&(e=e.filter(e=>e.companyId===L.value));let t=I.value.trim();return t&&(e=e.filter(e=>e.code.includes(t)||e.name.includes(t)||e.companyName.includes(t))),e});async function Te(){try{let[e,t]=await Promise.all([g.list(),re.list()]);h.value=e,F.value=t}catch(e){H.error(e instanceof _?e.message:`بارگذاری کالیته‌ها انجام نشد.`)}}l(()=>{Te()});function J(e){return F.value.find(t=>t.id===e)?.name??`—`}function Y(){R.value=`add`,z.value=null,Object.assign(W,U()),B.value=``}function X(e){R.value=`edit`,z.value=e.id,W.companyId=e.companyId,W.code=e.code,W.name=e.name,W.displayOrder=e.displayOrder,W.isActive=e.isActive,B.value=``}function Z(){R.value=null,z.value=null,B.value=``}async function Q(){if(!G.value){B.value=`کد، نام و شرکت الزامی هستند.`;return}V.value=!0;try{if(R.value===`edit`&&z.value){let e=await g.update(z.value,{code:W.code.trim(),name:W.name.trim(),displayOrder:Number(W.displayOrder)||1,isActive:W.isActive}),t=h.value.findIndex(e=>e.id===z.value);t!==-1&&(h.value[t]={...h.value[t],...e,companyName:J(W.companyId)}),H.success(`اطلاعات کالیته به‌روزرسانی شد.`)}else{let e=await g.create({companyId:W.companyId,code:W.code.trim(),name:W.name.trim(),displayOrder:Number(W.displayOrder)||1,isActive:W.isActive});h.value.push({...e,companyName:e.companyName||J(W.companyId),productCount:e.productCount??0}),H.success(`کالیته جدید ثبت شد.`)}Z()}catch(e){H.error(e instanceof _?e.message:`ذخیره کالیته انجام نشد.`)}finally{V.value=!1}}async function $(e,t){await g.setActive(e,t)}function Ee(){I.value=``,L.value=`all`}return(e,l)=>(s(),c(`div`,ce,[t(`div`,{class:`admin-page-header`},[l[7]||=t(`div`,null,[t(`h1`,{class:`admin-page-header__title`},`کالیته‌ها`),t(`p`,{class:`admin-page-header__breadcrumb`},`مدیریت / کالیته‌ها`)],-1),t(`button`,{type:`button`,class:`admin-btn admin-btn--primary`,onClick:Y},` افزودن کالیته `)]),t(`div`,le,[t(`div`,ue,[i(te,{name:`search`,size:18}),u(t(`input`,{"onUpdate:modelValue":l[0]||=e=>I.value=e,type:`search`,class:`catalogs-page__search-input`,placeholder:`جستجو بر اساس کد یا نام...`},null,512),[[o,I.value]])]),i(y,{modelValue:L.value,"onUpdate:modelValue":l[1]||=e=>L.value=e,class:`catalogs-page__company-filter`,"aria-label":`فیلتر شرکت`,options:xe.value},null,8,[`modelValue`,`options`])]),q.value.length?(s(),c(`div`,de,[t(`div`,fe,[t(`table`,pe,[l[8]||=t(`thead`,null,[t(`tr`,null,[t(`th`,null,`کد`),t(`th`,null,`نام کالیته`),t(`th`,null,`شرکت`),t(`th`,{class:`numeric`},`ترتیب`),t(`th`,{class:`numeric`},`تعداد محصول`),t(`th`,{class:`status`},`وضعیت`),t(`th`,{class:`actions`},`عملیات`)])],-1),t(`tbody`,null,[(s(!0),c(a,null,f(q.value,e=>(s(),c(`tr`,{key:e.id},[t(`td`,null,p(e.code),1),t(`td`,null,p(e.name),1),t(`td`,null,p(e.companyName),1),t(`td`,me,p(e.displayOrder),1),t(`td`,he,p(e.productCount),1),t(`td`,ge,[i(x,{id:e.id,modelValue:e.isActive,"onUpdate:modelValue":t=>e.isActive=t,"entity-name":e.name,"entity-type":`کالیته`,persist:$},null,8,[`id`,`modelValue`,`onUpdate:modelValue`,`entity-name`])]),t(`td`,_e,[t(`button`,{type:`button`,class:`admin-btn admin-btn--ghost admin-btn--xs`,onClick:t=>X(e)},` ویرایش `,8,ve)])]))),128))])])])])):(s(),ne(se,{key:0,class:`admin-card`,icon:`catalogs`,title:K.value?`نتیجه‌ای یافت نشد`:`کالیته‌ای ثبت نشده`,description:K.value?`عبارت جستجو را تغییر دهید یا فیلترها را پاک کنید.`:`برای شروع، اولین کالیته را ثبت کنید.`},{default:m(()=>[K.value?(s(),c(`button`,{key:0,type:`button`,class:`admin-btn admin-btn--outline admin-btn--sm`,onClick:Ee},` پاک کردن فیلترها `)):(s(),c(`button`,{key:1,type:`button`,class:`admin-btn admin-btn--primary admin-btn--sm`,onClick:Y},` افزودن کالیته `))]),_:1},8,[`title`,`description`])),q.value.length?(s(),c(`div`,ye,[(s(!0),c(a,null,f(q.value,e=>(s(),c(`article`,{key:e.id,class:`admin-card-item`},[t(`div`,S,[t(`p`,C,`کالیته `+p(e.code)+` — `+p(e.name),1),i(x,{id:e.id,modelValue:e.isActive,"onUpdate:modelValue":t=>e.isActive=t,"entity-name":e.name,"entity-type":`کالیته`,persist:$},null,8,[`id`,`modelValue`,`onUpdate:modelValue`,`entity-name`])]),t(`div`,w,[t(`span`,null,p(e.companyName),1),t(`span`,null,p(e.productCount)+` محصول`,1),t(`span`,null,`ترتیب: `+p(e.displayOrder),1)]),t(`div`,T,[t(`button`,{type:`button`,class:`admin-btn admin-btn--ghost admin-btn--xs`,onClick:t=>X(e)},` ویرایش `,8,E)])]))),128))])):r(``,!0),i(ae,{open:Ce.value,title:we.value,size:`lg`,onClose:Z},{footer:m(()=>[t(`button`,{type:`button`,class:`admin-btn admin-btn--outline`,onClick:Z},`انصراف`),t(`button`,{type:`button`,class:`admin-btn admin-btn--primary`,disabled:!G.value||V.value,onClick:Q},p(R.value===`edit`?`ذخیره تغییرات`:`ثبت کالیته`),9,be)]),default:m(()=>[t(`form`,{class:`admin-form`,onSubmit:ee(Q,[`prevent`])},[B.value?(s(),c(`p`,D,p(B.value),1)):r(``,!0),t(`div`,O,[l[9]||=t(`label`,null,[n(`شرکت `),t(`span`,{class:`admin-form__required`},`*`)],-1),i(y,{modelValue:W.companyId,"onUpdate:modelValue":l[2]||=e=>W.companyId=e,block:``,"aria-label":`انتخاب شرکت`,placeholder:`انتخاب شرکت`,options:Se.value},null,8,[`modelValue`,`options`])]),t(`div`,k,[t(`div`,A,[l[10]||=t(`label`,{for:`catalog-code`},[n(`کد کالیته `),t(`span`,{class:`admin-form__required`},`*`)],-1),u(t(`input`,{id:`catalog-code`,"onUpdate:modelValue":l[3]||=e=>W.code=e,type:`text`,class:`admin-input`,placeholder:`377`},null,512),[[o,W.code]])]),t(`div`,j,[l[11]||=t(`label`,{for:`catalog-name`},[n(`نام کالیته `),t(`span`,{class:`admin-form__required`},`*`)],-1),u(t(`input`,{id:`catalog-name`,"onUpdate:modelValue":l[4]||=e=>W.name=e,type:`text`,class:`admin-input`},null,512),[[o,W.name]])])]),t(`div`,M,[t(`div`,N,[l[12]||=t(`label`,{for:`catalog-order`},`ترتیب نمایش`,-1),u(t(`input`,{id:`catalog-order`,"onUpdate:modelValue":l[5]||=e=>W.displayOrder=e,type:`number`,min:`1`,class:`admin-input`},null,512),[[o,W.displayOrder,void 0,{number:!0}]])]),t(`div`,P,[i(b,{modelValue:W.isActive,"onUpdate:modelValue":l[6]||=e=>W.isActive=e,label:`وضعیت`},null,8,[`modelValue`])])])],32)]),_:1},8,[`open`,`title`])]))}}),[[`__scopeId`,`data-v-0d612376`]]);export{F as default}; \ No newline at end of file diff --git a/dist/assets/CheckManagementView-BIZGwBaB.css b/dist/assets/CheckManagementView-BIZGwBaB.css new file mode 100644 index 0000000..b533a8a --- /dev/null +++ b/dist/assets/CheckManagementView-BIZGwBaB.css @@ -0,0 +1 @@ +.checks-page__order-meta[data-v-77053e0d]{align-items:center;gap:8px;display:flex}.checks-page__stats[data-v-77053e0d]{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px;display:grid}.checks-page__stat[data-v-77053e0d]{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;gap:2px;padding:10px 12px;display:flex}.checks-page__stat span[data-v-77053e0d]{color:var(--color-text-muted);font-size:.75rem}.checks-page__stat strong[data-v-77053e0d]{font-size:.875rem;font-weight:700}.checks-page__list[data-v-77053e0d]{overflow:hidden}.check-row[data-v-77053e0d]{border-bottom:1px solid var(--color-border-light);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:8px 12px;display:grid}.check-row[data-v-77053e0d]:last-child{border-bottom:0}.check-row.open[data-v-77053e0d]{background:color-mix(in srgb, var(--color-primary-soft) 55%, transparent)}.check-row__main[data-v-77053e0d]{min-width:0;color:inherit;text-align:start;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:4px 0;display:flex}.check-row__chevron[data-v-77053e0d]{width:14px;color:var(--color-text-muted);flex-shrink:0;font-size:.75rem}.check-row__thumb[data-v-77053e0d]{border:1px solid var(--color-border);cursor:zoom-in;background:#111;border-radius:6px;flex-shrink:0;place-items:center;width:44px;height:32px;padding:0;display:grid;overflow:hidden}.check-row__thumb img[data-v-77053e0d]{object-fit:cover;width:100%;height:100%;display:block}.check-row__thumb--empty[data-v-77053e0d]{color:var(--color-text-muted);cursor:default;font-size:.625rem}.check-row__meta[data-v-77053e0d]{flex:1;gap:2px;min-width:0;display:grid}.check-row__meta strong[data-v-77053e0d]{font-size:.875rem;font-weight:700}.check-row__meta small[data-v-77053e0d]{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.check-row__actions[data-v-77053e0d]{flex-shrink:0;gap:6px;display:flex}.check-row__panel[data-v-77053e0d]{border-top:1px dashed var(--color-border);flex-wrap:wrap;grid-column:1/-1;align-items:flex-start;gap:12px 16px;padding:8px 0 4px 24px;display:flex}.check-row__fields[data-v-77053e0d]{flex-wrap:wrap;flex:1;gap:8px;min-width:200px;display:flex}.check-row__field[data-v-77053e0d]{background:var(--color-border-light);border-radius:999px;align-items:baseline;gap:6px;padding:4px 8px;font-size:.75rem;display:inline-flex}.check-row__field span[data-v-77053e0d]{color:var(--color-text-muted)}.check-row__field strong[data-v-77053e0d]{font-weight:600}.check-row__photos[data-v-77053e0d]{flex-shrink:0;gap:8px;display:flex}.check-row__photo[data-v-77053e0d]{border:1px solid var(--color-border);width:96px;color:inherit;cursor:zoom-in;text-align:center;background:0 0;border-radius:8px;padding:0;overflow:hidden}.check-row__photo img[data-v-77053e0d]{object-fit:cover;background:#111;width:100%;height:60px;display:block}.check-row__photo span[data-v-77053e0d]{color:var(--color-text-muted);padding:4px;font-size:.6875rem;display:block}.check-row__hint[data-v-77053e0d]{color:var(--color-text-muted);margin:0;font-size:.75rem}.checks-page__footer[data-v-77053e0d]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.checks-page__note[data-v-77053e0d]{color:var(--color-text-muted);margin:0;font-size:.75rem}.checks-page__history[data-v-77053e0d]{gap:8px;display:grid}.checks-page__history-item[data-v-77053e0d]{gap:6px;padding:12px;display:grid}.checks-page__history-item-head[data-v-77053e0d]{flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:.875rem;display:flex}.checks-page__history-meta[data-v-77053e0d],.checks-page__history-note[data-v-77053e0d]{margin:0;font-size:.8125rem;line-height:1.5}.checks-page__history-meta[data-v-77053e0d]{color:var(--color-text-muted)}.checks-page__lightbox[data-v-77053e0d]{z-index:300000;background:#000000d6;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.checks-page__lightbox img[data-v-77053e0d]{object-fit:contain;border-radius:8px;max-width:min(900px,100%);max-height:88vh}.checks-page__lightbox-close[data-v-77053e0d]{top:14px;cursor:pointer;border:0;border-radius:8px;padding:8px 12px;position:absolute;inset-inline-end:14px}@media (width<=800px){.checks-page__stats[data-v-77053e0d]{grid-template-columns:repeat(2,minmax(0,1fr))}.check-row[data-v-77053e0d]{grid-template-columns:1fr}.check-row__actions[data-v-77053e0d]{padding-inline-start:24px}.check-row__panel[data-v-77053e0d]{padding-inline-start:0}} diff --git a/dist/assets/CheckManagementView-BfogLYQM.js b/dist/assets/CheckManagementView-BfogLYQM.js new file mode 100644 index 0000000..21da155 --- /dev/null +++ b/dist/assets/CheckManagementView-BfogLYQM.js @@ -0,0 +1 @@ +import{A as e,B as t,D as n,E as r,G as i,H as a,I as o,K as s,L as c,O as l,Q as u,R as ee,U as d,V as te,X as ne,ct as f,d as p,et as m,ft as h,g,h as re,j as ie,lt as _,n as v,q as y,r as b,ut as x,w as S,z as C}from"./index-dG7O4aC2.js";import{s as w,t as T}from"./StatusBadge-D-XqK4sa.js";var ae={class:`checks-page`},oe={class:`admin-page-header`},se={class:`admin-page-header__breadcrumb`},ce={key:0,class:`checks-page__order-meta`},le={class:`checks-page__stats`},ue={class:`checks-page__stat`},de={class:`checks-page__stat`},fe={class:`checks-page__stat`},pe={class:`checks-page__stat`},me={class:`admin-tabs`},he={key:0,class:`admin-empty-placeholder admin-card`},ge={key:1,class:`checks-page__list admin-card`},_e=[`onClick`],ve={class:`check-row__chevron`,"aria-hidden":`true`},ye=[`onClick`],be=[`src`],E={key:1,class:`check-row__thumb check-row__thumb--empty`},D={class:`check-row__meta`},O=[`disabled`,`onClick`],k=[`disabled`,`onClick`],A={key:0,class:`check-row__panel`},j={key:0,class:`check-row__fields`},M=[`dir`],N={key:1,class:`check-row__hint`},xe={class:`check-row__photos`},Se=[`onClick`],Ce=[`src`],we=[`onClick`],Te=[`src`],Ee={key:2,class:`check-row__hint`},De={class:`checks-page__footer`},Oe={class:`checks-page__note`},ke={class:`admin-action-group`},Ae=[`disabled`],je={key:0,class:`admin-empty-placeholder admin-card`},Me={key:1,class:`checks-page__history`},Ne={class:`checks-page__history-item-head`},Pe={class:`checks-page__history-meta`},P={key:0,class:`checks-page__history-note`},Fe={key:1,class:`checks-page__history-note`},Ie={class:`checks-page__history-item-head`},Le={class:`checks-page__history-note`},Re=[`src`],F=ie(y({__name:`CheckManagementView`,setup(ie){let y=r(),F=n(),I=e(),L=f(`info`),R=f(null),z=f([]),B=f(null),V=f(null),H=f(null),U=C(()=>R.value?re(R.value):null),ze=C(()=>z.value.reduce((e,t)=>e+t.amount,0)),W=C(()=>z.value.filter(e=>e.status===`pending_review`)),Be=C(()=>z.value.length>0&&z.value.every(e=>e.status===`approved`)),G=C(()=>{if(!Be.value||!R.value)return!1;let e=R.value.status;return e===`checks_approved`||e===`awaiting_check_review`}),K=f(!1),q=C(()=>{let e=R.value?.statusHistory??[],t=new Set([`check_in_progress`,`awaiting_check_review`,`check_needs_fix`,`check_rejected`,`checks_approved`]),n=e.filter(e=>t.has(e.toStatus)||e.fromStatus&&t.has(e.fromStatus)||/چک/.test(e.note||``)||/چک/.test(e.reason||``));return[...n.length?n:e].sort((e,t)=>new Date(t.changedAt).getTime()-new Date(e.changedAt).getTime())}),J=C(()=>z.value.filter(e=>e.notes?.trim()).map(e=>({id:e.id,row:e.row,status:e.status,notes:e.notes,updatedAt:e.updatedAt})));async function Ve(){let e=String(y.params.id);try{let[t,n]=await Promise.all([g.get(e),p.listByOrder(e)]);R.value=t,z.value=n,n.length===1&&(V.value=n[0].id)}catch(e){I.error(e instanceof S?e.message:`بارگذاری چک‌ها انجام نشد.`)}}ne(()=>{Ve()});function He(){F.push(`/orders`)}function Y(e){return e===`approved`?`check_approved`:e===`rejected`?`check_rejected`:`pending_check_review`}function Ue(e){return e?e===`customer`?`مشتری`:e.startsWith(`admin:`)?`ادمین`:e:`—`}function X(e){if(!e)return`—`;try{return new Intl.DateTimeFormat(`fa-IR`,{dateStyle:`medium`,timeStyle:`short`}).format(new Date(e))}catch{return e.slice(0,16).replace(`T`,` `)}}function We(e){return[e.ownerFirstName,e.ownerLastName].filter(Boolean).join(` `)}function Z(e){return[{label:`بانک`,value:e.bankName},{label:`شعبه`,value:e.branchName},{label:`شناسه صیادی`,value:e.sayadId,ltr:!0},{label:`شماره چک`,value:e.checkNumber,ltr:!0},{label:`صاحب چک`,value:We(e)},{label:`کد ملی`,value:e.ownerNationalId,ltr:!0},{label:`یادداشت`,value:e.notes}].filter(e=>!!e.value?.trim())}function Ge(e){V.value=V.value===e.id?null:e.id}async function Q(e,t){B.value=e.id;try{let n=await p.updateStatus(e.id,{status:t}),r=z.value.findIndex(t=>t.id===e.id);return r!==-1&&(z.value[r]=n),R.value=await g.get(String(y.params.id)),!0}catch(e){return I.error(e instanceof S?e.message:`به‌روزرسانی وضعیت چک انجام نشد.`),!1}finally{B.value=null}}async function $(e,t){if(t!==`approved`&&t!==`rejected`)return;let n=v(e.amount);await l(t===`approved`?{title:`تأیید چک`,message:`آیا از تأیید چک ردیف ${e.row} به مبلغ ${n} مطمئن هستید؟`,tone:`primary`,confirmLabel:`تأیید چک`,cancelLabel:`انصراف`}:{title:`رد چک`,message:`آیا از رد چک ردیف ${e.row} به مبلغ ${n} مطمئن هستید؟`,tone:`danger`,confirmLabel:`رد چک`,cancelLabel:`انصراف`})&&await Q(e,t)&&I.success(t===`approved`?`چک تأیید شد.`:`چک رد شد.`)}async function Ke(){let e=W.value;if(!e.length){I.error(`چکی برای تأیید وجود ندارد.`);return}if(await l({title:`تأیید همه چک‌ها`,message:`آیا از تأیید ${e.length} چک در انتظار بررسی مطمئن هستید؟`,tone:`primary`,confirmLabel:`تأیید همه`,cancelLabel:`انصراف`})){for(let t of e)if(!await Q(t,`approved`))return;I.success(`همه چک‌های در انتظار تأیید شدند.`)}}async function qe(){if(!(!R.value||K.value)&&await l({title:`تأیید نهایی سفارش`,message:`با تأیید نهایی، سفارش از مرحله بررسی چک خارج می‌شود و وارد آماده‌سازی می‌گردد. ادامه می‌دهید؟`,tone:`primary`,confirmLabel:`تأیید نهایی`,cancelLabel:`انصراف`})){K.value=!0;try{let e=await g.updateStatus(R.value.id,{status:`final_approved`,note:`تأیید نهایی پس از تأیید همه چک‌ها`});R.value=e,I.success(`سفارش تأیید نهایی شد.`)}catch(e){I.error(e instanceof S?e.message:`تأیید نهایی انجام نشد.`)}finally{K.value=!1}}}return(e,n)=>(u(),d(`div`,ae,[t(`div`,oe,[t(`div`,null,[n[6]||=t(`h1`,{class:`admin-page-header__title`},`مدیریت چک‌های سفارش`,-1),t(`p`,se,[n[5]||=i(` سفارش‌ها `,-1),U.value?(u(),d(c,{key:0},[i(` / `+h(U.value.orderNumber),1)],64)):a(``,!0)])]),U.value?(u(),d(`div`,ce,[s(T,{status:U.value.status},null,8,[`status`])])):a(``,!0)]),t(`div`,le,[t(`div`,ue,[n[7]||=t(`span`,null,`تعداد`,-1),t(`strong`,null,h(z.value.length),1)]),t(`div`,de,[n[8]||=t(`span`,null,`راس`,-1),t(`strong`,null,h(R.value?.checkRassDays??`—`)+` روز`,1)]),t(`div`,fe,[n[9]||=t(`span`,null,`مجموع چک`,-1),t(`strong`,null,h(_(v)(ze.value)),1)]),t(`div`,pe,[n[10]||=t(`span`,null,`مبلغ سفارش`,-1),t(`strong`,null,h(U.value?.totalAmount?_(v)(U.value.totalAmount):`—`),1)])]),t(`div`,me,[t(`button`,{type:`button`,class:x([`admin-tab`,{active:L.value===`info`}]),onClick:n[0]||=e=>L.value=`info`},` چک‌ها (`+h(z.value.length)+`) `,3),t(`button`,{type:`button`,class:x([`admin-tab`,{active:L.value===`history`}]),onClick:n[1]||=e=>L.value=`history`},` تاریخچه `,2)]),L.value===`info`?(u(),d(c,{key:0},[z.value.length?(u(),d(`div`,ge,[(u(!0),d(c,null,m(z.value,e=>(u(),d(`div`,{key:e.id,class:x([`check-row`,{open:V.value===e.id}])},[t(`button`,{type:`button`,class:`check-row__main`,onClick:t=>Ge(e)},[t(`span`,ve,h(V.value===e.id?`▾`:`◂`),1),e.frontImage||e.backImage?(u(),d(`span`,{key:0,class:`check-row__thumb`,onClick:o(t=>H.value=e.frontImage||e.backImage,[`stop`])},[t(`img`,{src:e.frontImage||e.backImage,alt:``},null,8,be)],8,ye)):(u(),d(`span`,E,`بدون عکس`)),t(`span`,D,[t(`strong`,null,`چک `+h(e.row),1),t(`small`,null,[i(h(_(v)(e.amount))+` `,1),e.bankName?(u(),d(c,{key:0},[i(` · `+h(e.bankName),1)],64)):a(``,!0),i(` · `+h(_(b)(e.dueDate)),1)])]),s(T,{status:Y(e.status)},null,8,[`status`])],8,_e),t(`div`,{class:`check-row__actions`,onClick:n[2]||=o(()=>{},[`stop`])},[e.status===`pending_review`?(u(),d(c,{key:0},[t(`button`,{type:`button`,class:`admin-btn admin-btn--outline-success admin-btn--xs`,disabled:B.value===e.id,onClick:t=>$(e,`approved`)},` تأیید `,8,O),t(`button`,{type:`button`,class:`admin-btn admin-btn--outline-danger admin-btn--xs`,disabled:B.value===e.id,onClick:t=>$(e,`rejected`)},` رد `,8,k)],64)):a(``,!0)]),V.value===e.id?(u(),d(`div`,A,[Z(e).length?(u(),d(`div`,j,[(u(!0),d(c,null,m(Z(e),e=>(u(),d(`div`,{key:e.label,class:`check-row__field`},[t(`span`,null,h(e.label),1),t(`strong`,{dir:e.ltr?`ltr`:void 0},h(e.value),9,M)]))),128))])):(u(),d(`p`,N,`جزئیات متنی بیشتری ثبت نشده است.`)),t(`div`,xe,[e.frontImage?(u(),d(`button`,{key:0,type:`button`,class:`check-row__photo`,onClick:t=>H.value=e.frontImage},[t(`img`,{src:e.frontImage,alt:`روی چک`},null,8,Ce),n[11]||=t(`span`,null,`روی`,-1)],8,Se)):a(``,!0),e.backImage?(u(),d(`button`,{key:1,type:`button`,class:`check-row__photo`,onClick:t=>H.value=e.backImage},[t(`img`,{src:e.backImage,alt:`پشت چک`},null,8,Te),n[12]||=t(`span`,null,`پشت`,-1)],8,we)):a(``,!0),!e.frontImage&&!e.backImage?(u(),d(`p`,Ee,` تصویری ثبت نشده. `)):a(``,!0)])])):a(``,!0)],2))),128))])):(u(),d(`div`,he,` چکی برای این سفارش ثبت نشده است. `)),t(`div`,De,[t(`p`,Oe,[G.value?(u(),d(c,{key:0},[i(` همه چک‌ها تأیید شده‌اند. برای ادامه، تأیید نهایی سفارش را ثبت کنید. `)],64)):R.value?.checkRassDate?(u(),d(c,{key:1},[i(` راس: `+h(_(b)(R.value.checkRassDate)),1)],64)):(u(),d(c,{key:2},[i(`راس بر اساس تاریخ ثبت سفارش محاسبه می‌شود.`)],64))]),t(`div`,ke,[G.value?(u(),d(`button`,{key:0,type:`button`,class:`admin-btn admin-btn--success admin-btn--sm`,disabled:K.value,onClick:qe},h(K.value?`در حال ثبت…`:`تأیید نهایی سفارش`),9,Ae)):a(``,!0),W.value.length?(u(),d(`button`,{key:1,type:`button`,class:`admin-btn admin-btn--success admin-btn--sm`,onClick:Ke},` تأیید همه چک‌ها `)):a(``,!0),t(`button`,{type:`button`,class:`admin-btn admin-btn--outline admin-btn--sm`,onClick:He},` بازگشت `)])])],64)):(u(),d(c,{key:1},[!q.value.length&&!J.value.length?(u(),d(`div`,je,` هنوز تاریخچه‌ای ثبت نشده است. `)):(u(),d(`div`,Me,[(u(!0),d(c,null,m(q.value,e=>(u(),d(`article`,{key:e.id,class:`admin-card checks-page__history-item`},[t(`div`,Ne,[t(`strong`,null,h(e.fromStatus?_(w)(e.fromStatus):`—`)+` → `+h(_(w)(e.toStatus)),1),t(`span`,null,h(X(e.changedAt)),1)]),t(`p`,Pe,`توسط `+h(Ue(e.changedBy)),1),e.note?(u(),d(`p`,P,h(e.note),1)):a(``,!0),e.reason?(u(),d(`p`,Fe,`دلیل: `+h(e.reason),1)):a(``,!0)]))),128)),(u(!0),d(c,null,m(J.value,e=>(u(),d(`article`,{key:`note-${e.id}`,class:`admin-card checks-page__history-item`},[t(`div`,Ie,[t(`strong`,null,`یادداشت چک `+h(e.row),1),t(`span`,null,h(X(e.updatedAt)),1)]),s(T,{status:Y(e.status)},null,8,[`status`]),t(`p`,Le,h(e.notes),1)]))),128))]))],64)),(u(),te(ee,{to:`body`},[H.value?(u(),d(`div`,{key:0,class:`checks-page__lightbox`,onClick:n[4]||=o(e=>H.value=null,[`self`])},[t(`button`,{type:`button`,class:`checks-page__lightbox-close`,onClick:n[3]||=e=>H.value=null},` بستن `),t(`img`,{src:H.value,alt:`پیش‌نمایش`},null,8,Re)])):a(``,!0)]))]))}}),[[`__scopeId`,`data-v-77053e0d`]]);export{F as default}; \ No newline at end of file diff --git a/dist/assets/ChecksListView-BManVtea.css b/dist/assets/ChecksListView-BManVtea.css new file mode 100644 index 0000000..5b3e30e --- /dev/null +++ b/dist/assets/ChecksListView-BManVtea.css @@ -0,0 +1 @@ +.checks-list-page__summary[data-v-c611455f]{color:var(--color-text-muted);flex-direction:column;align-items:flex-end;gap:4px;font-size:.8125rem;display:flex}.checks-list-page__filters[data-v-c611455f]{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;display:flex}.checks-list-page__search[data-v-c611455f]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-border-light);min-width:220px;color:var(--color-text-muted);flex:1;align-items:center;gap:10px;padding:8px 12px;display:flex}.checks-list-page__search-input[data-v-c611455f]{color:var(--color-text);background:0 0;border:none;outline:none;flex:1;font-size:.875rem}.checks-list-page__status-select[data-v-c611455f]{flex:0 220px;width:220px}.checks-list-page__table[data-v-c611455f]{padding:0;overflow:hidden}.checks-list-page__order-link[data-v-c611455f]{color:var(--color-primary);cursor:pointer;font:inherit;background:0 0;border:none;padding:0}.checks-list-page__order-link[data-v-c611455f]:hover{text-decoration:underline}.checks-list-page__empty[data-v-c611455f]{text-align:center;color:var(--color-text-muted);margin:0;padding:24px;font-size:.875rem} diff --git a/dist/assets/ChecksListView-BenCn0gO.js b/dist/assets/ChecksListView-BenCn0gO.js new file mode 100644 index 0000000..9ea012a --- /dev/null +++ b/dist/assets/ChecksListView-BenCn0gO.js @@ -0,0 +1 @@ +import{A as e,B as t,D as n,H as r,K as i,L as a,P as ee,Q as o,T as te,U as s,X as c,at as l,ct as u,d,et as f,ft as p,g as ne,i as m,j as h,lt as g,n as _,q as v,w as y,z as b}from"./index-dG7O4aC2.js";import{t as x}from"./AdminSelect-BsjBHdZj.js";import{t as S}from"./StatusBadge-D-XqK4sa.js";var re={class:`checks-list-page`},ie={class:`admin-page-header`},ae={class:`checks-list-page__summary`},oe={key:0},C={class:`checks-list-page__filters admin-card`},w={class:`checks-list-page__search`},T={class:`checks-list-page__table admin-card desktop-only`},E={class:`admin-table-wrap`},D={class:`admin-table`},O=[`onClick`],k={dir:`ltr`},A={class:`admin-action-group`},j=[`disabled`,`onClick`],M=[`disabled`,`onClick`],N=[`onClick`],P={key:0,class:`checks-list-page__empty`},F={class:`compact-only admin-card-list`},I={class:`admin-card-item__header`},L={class:`admin-card-item__title`},se={class:`admin-card-item__meta`},R={key:0},z={class:`admin-card-item__actions`},B=[`disabled`,`onClick`],V=[`disabled`,`onClick`],H=[`onClick`],U={key:0,class:`checks-list-page__empty`},W=h(v({__name:`ChecksListView`,setup(h){let v=n(),W=e(),G=u([]),K=u(``),q=u(`all`),J=u(null),ce=[{value:`all`,label:`همه وضعیت‌ها`},{value:`pending_review`,label:`در انتظار بررسی`},{value:`approved`,label:`تأیید شده`},{value:`rejected`,label:`رد شده`}],Y=b(()=>{let e=G.value;q.value!==`all`&&(e=e.filter(e=>e.status===q.value));let t=K.value.trim();return t&&(e=e.filter(e=>(e.orderNumber??``).includes(t)||(e.customerName??``).includes(t)||(e.bankName??``).includes(t)||(e.sayadId??``).includes(t))),e}),X=b(()=>G.value.filter(e=>e.status===`pending_review`).length);function Z(e){return e===`approved`?`final_approval`:e===`rejected`?`needs_correction`:`pending_check_review`}async function le(){let e=await ne.list();G.value=e.flatMap(e=>(e.checks??[]).map(t=>({...t,orderNumber:e.orderNumber,customerName:e.customerName,orderStatus:e.status,settlementType:e.settlementMethod??e.settlementType??null})))}async function ue(){try{G.value=await d.list()}catch{try{await le()}catch(e){W.error(e instanceof y?e.message:`بارگذاری چک‌ها انجام نشد.`)}}}c(()=>{ue()});function Q(e){v.push(`/orders/${e.orderId}/checks`)}async function $(e,t){J.value=e.id;try{let n=await d.updateStatus(e.id,{status:t}),r=G.value.findIndex(t=>t.id===e.id);r!==-1&&(G.value[r]={...G.value[r],...n,orderNumber:e.orderNumber,customerName:e.customerName,orderStatus:e.orderStatus,settlementType:e.settlementType}),W.success(t===`approved`?`چک تأیید شد.`:`چک رد شد.`)}catch(e){W.error(e instanceof y?e.message:`به‌روزرسانی وضعیت چک انجام نشد.`)}finally{J.value=null}}return(e,n)=>(o(),s(`div`,re,[t(`div`,ie,[n[2]||=t(`div`,null,[t(`h1`,{class:`admin-page-header__title`},`چک‌ها`),t(`p`,{class:`admin-page-header__breadcrumb`},`مالی / همه چک‌های سفارش‌ها`)],-1),t(`div`,ae,[t(`span`,null,p(G.value.length)+` چک`,1),X.value?(o(),s(`span`,oe,p(X.value)+` در انتظار بررسی`,1)):r(``,!0)])]),t(`div`,C,[t(`div`,w,[i(te,{name:`search`,size:18}),l(t(`input`,{"onUpdate:modelValue":n[0]||=e=>K.value=e,type:`search`,class:`checks-list-page__search-input`,placeholder:`جستجو در شماره سفارش، مشتری، بانک، صیاد...`},null,512),[[ee,K.value]])]),i(x,{modelValue:q.value,"onUpdate:modelValue":n[1]||=e=>q.value=e,class:`checks-list-page__status-select`,"aria-label":`فیلتر وضعیت چک`,options:ce},null,8,[`modelValue`])]),t(`div`,T,[t(`div`,E,[t(`table`,D,[n[3]||=t(`thead`,null,[t(`tr`,null,[t(`th`,null,`شماره سفارش`),t(`th`,null,`مشتری`),t(`th`,null,`ردیف`),t(`th`,null,`مبلغ`),t(`th`,null,`بانک`),t(`th`,null,`شناسه صیادی`),t(`th`,null,`سررسید`),t(`th`,null,`وضعیت`),t(`th`,null,`عملیات`)])],-1),t(`tbody`,null,[(o(!0),s(a,null,f(Y.value,e=>(o(),s(`tr`,{key:e.id},[t(`td`,null,[t(`button`,{type:`button`,class:`checks-list-page__order-link`,onClick:t=>Q(e)},p(e.orderNumber||e.orderId),9,O)]),t(`td`,null,p(e.customerName||`—`),1),t(`td`,null,p(e.row),1),t(`td`,null,p(g(_)(e.amount)),1),t(`td`,null,p(e.bankName||`—`),1),t(`td`,k,p(e.sayadId||`—`),1),t(`td`,null,p(e.dueDate.slice(0,10)),1),t(`td`,null,[i(S,{status:Z(e.status)},null,8,[`status`])]),t(`td`,null,[t(`div`,A,[e.status===`pending_review`?(o(),s(a,{key:0},[t(`button`,{type:`button`,class:`admin-btn admin-btn--outline-success admin-btn--xs`,disabled:J.value===e.id,onClick:t=>$(e,`approved`)},` تأیید `,8,j),t(`button`,{type:`button`,class:`admin-btn admin-btn--outline-danger admin-btn--xs`,disabled:J.value===e.id,onClick:t=>$(e,`rejected`)},` رد `,8,M)],64)):r(``,!0),t(`button`,{type:`button`,class:`admin-btn admin-btn--outline admin-btn--xs`,onClick:t=>Q(e)},` جزئیات سفارش `,8,N)])])]))),128))])])]),Y.value.length?r(``,!0):(o(),s(`p`,P,` چکی با این فیلتر یافت نشد. `))]),t(`div`,F,[(o(!0),s(a,null,f(Y.value,e=>(o(),s(`article`,{key:e.id,class:`admin-card-item`},[t(`div`,I,[t(`p`,L,p(e.orderNumber||e.orderId)+` — چک `+p(e.row),1),i(S,{status:Z(e.status)},null,8,[`status`])]),t(`div`,se,[t(`span`,null,p(e.customerName||`—`),1),t(`span`,null,p(g(_)(e.amount)),1),t(`span`,null,p(e.bankName||`—`),1),t(`span`,null,`سررسید `+p(e.dueDate.slice(0,10)),1),e.createdAt?(o(),s(`span`,R,`ثبت `+p(g(m)(e.createdAt)),1)):r(``,!0)]),t(`div`,z,[e.status===`pending_review`?(o(),s(a,{key:0},[t(`button`,{type:`button`,class:`admin-btn admin-btn--outline-success admin-btn--xs`,disabled:J.value===e.id,onClick:t=>$(e,`approved`)},` تأیید `,8,B),t(`button`,{type:`button`,class:`admin-btn admin-btn--outline-danger admin-btn--xs`,disabled:J.value===e.id,onClick:t=>$(e,`rejected`)},` رد `,8,V)],64)):r(``,!0),t(`button`,{type:`button`,class:`admin-btn admin-btn--outline admin-btn--xs`,onClick:t=>Q(e)},` جزئیات سفارش `,8,H)])]))),128)),Y.value.length?r(``,!0):(o(),s(`p`,U,` چکی با این فیلتر یافت نشد. `))])]))}}),[[`__scopeId`,`data-v-c611455f`]]);export{W as default}; \ No newline at end of file diff --git a/dist/assets/CompaniesView-CfFrdLAS.js b/dist/assets/CompaniesView-CfFrdLAS.js new file mode 100644 index 0000000..5316886 --- /dev/null +++ b/dist/assets/CompaniesView-CfFrdLAS.js @@ -0,0 +1 @@ +import{A as e,B as t,D as n,G as r,H as i,I as ee,K as a,L as o,O as te,P as s,Q as c,U as l,V as ne,X as re,at as u,b as ie,ct as d,et as f,f as p,ft as m,it as h,j as ae,k as oe,q as g,st as se,w as _,z as v}from"./index-dG7O4aC2.js";import{n as ce,r as le,t as y}from"./ActiveSwitchCell-DxxSF-SL.js";var ue={class:`companies-page`},de={key:1,class:`companies-page__table admin-card desktop-only`},fe={class:`admin-table-wrap`},pe={class:`admin-table`},me=[`src`,`alt`],he={key:1,class:`company-logo company-logo--fallback`},ge={class:`numeric`},_e={class:`status`},ve={class:`actions`},ye={class:`admin-action-group`},be=[`onClick`],b=[`onClick`],x={key:2,class:`compact-only admin-card-list`},S={class:`admin-card-item__header`},C={class:`companies-page__card-logo`},w=[`src`,`alt`],T={key:1,class:`company-logo company-logo--fallback`},E={class:`admin-card-item__title`},D={class:`companies-page__card-desc`},O={class:`admin-card-item__meta`},k={class:`admin-card-item__actions`},A=[`onClick`],j=[`onClick`],M={key:0,class:`admin-form__error`,role:`alert`},N={class:`admin-form__field`},xe={class:`logo-upload`},Se={key:0,class:`logo-upload__preview-wrap`},Ce=[`src`],we={key:1,class:`logo-upload__dropzone`,for:`company-logo-file`},Te={class:`admin-form__field`},Ee={class:`admin-form__field`},De={class:`admin-form__row`},P={class:`admin-form__field`},Oe={class:`admin-form__field`},ke=[`disabled`],Ae=2097152,F=ae(g({__name:`CompaniesView`,setup(ae){let g=[`image/png`,`image/jpeg`,`image/webp`,`image/svg+xml`],F=n(),I=e(),L=d([]),R=d(null),z=d(null),B=d(null),V=d(null),H=d(!1);async function je(){try{L.value=await p.list()}catch(e){I.error(e instanceof _?e.message:`بارگذاری شرکت‌ها انجام نشد.`)}}re(()=>{je()});let U=()=>({name:``,description:``,displayOrder:L.value.length+1,isActive:!0}),W=se(U()),G=d(``),Me=v(()=>R.value!==null),Ne=v(()=>R.value===`edit`?`ویرایش شرکت`:`افزودن شرکت`),Pe=v(()=>R.value===`edit`?`ذخیره تغییرات`:`ثبت شرکت`),Fe=v(()=>W.name.trim().length>0&&B.value!==null);function K(){B.value=null,V.value&&(V.value.value=``)}function q(){R.value=`add`,z.value=null,Object.assign(W,U()),K(),G.value=``}function J(e){R.value=`edit`,z.value=e.id,W.name=e.name,W.description=e.description===`—`?``:e.description,W.displayOrder=e.displayOrder,W.isActive=e.isActive,B.value=e.logoUrl,V.value&&(V.value.value=``),G.value=``}function Y(){R.value=null,z.value=null,G.value=``,K()}function Ie(e){let t=e.target.files?.[0];if(!t)return;if(!g.includes(t.type)){G.value=`فرمت مجاز: PNG، JPG، WEBP یا SVG`;return}if(t.size>Ae){G.value=`حداکثر حجم تصویر ۲ مگابایت است.`;return}G.value=``;let n=new FileReader;n.onload=()=>{B.value=n.result},n.readAsDataURL(t)}async function Le(){B.value&&await te({title:`حذف تصویر`,message:`آیا از حذف لوگوی شرکت مطمئن هستید؟`,confirmLabel:`حذف`,cancelLabel:`انصراف`,tone:`danger`})&&K()}async function X(){let e=W.name.trim();if(!e){G.value=`نام شرکت الزامی است.`;return}if(!B.value){G.value=`آپلود لوگو الزامی است.`;return}if(L.value.some(t=>t.name===e&&t.id!==z.value)){G.value=`شرکتی با این نام قبلاً ثبت شده است.`;return}H.value=!0;try{if(R.value===`edit`&&z.value){let t=await p.update(z.value,{name:e,description:W.description.trim()||void 0,displayOrder:Number(W.displayOrder)||1,isActive:W.isActive,logoUrl:B.value}),n=L.value.findIndex(e=>e.id===z.value);n!==-1&&(L.value[n]={...L.value[n],...t}),I.success(`اطلاعات شرکت به‌روزرسانی شد.`)}else{let t=await p.create({name:e,slug:ie(e),description:W.description.trim()||void 0,displayOrder:Number(W.displayOrder)||L.value.length+1,isActive:W.isActive,logoUrl:B.value});L.value.push(t),I.success(`شرکت جدید ثبت شد.`)}Y()}catch(e){I.error(e instanceof _?e.message:`ذخیره شرکت انجام نشد.`)}finally{H.value=!1}}async function Z(e,t){await p.setActive(e,t)}function Q(e){F.push(`/companies/${e}/accounts`)}function $(e){return e.trim().charAt(0)||`؟`}return(e,n)=>(c(),l(`div`,ue,[t(`div`,{class:`admin-page-header`},[n[5]||=t(`div`,null,[t(`h1`,{class:`admin-page-header__title`},`مدیریت شرکت‌ها`),t(`p`,{class:`admin-page-header__breadcrumb`},`تنظیمات / شرکت‌ها`)],-1),t(`button`,{type:`button`,class:`admin-btn admin-btn--primary`,onClick:q},` افزودن شرکت `)]),L.value.length?(c(),l(`div`,de,[t(`div`,fe,[t(`table`,pe,[n[6]||=t(`thead`,null,[t(`tr`,null,[t(`th`,null,`لوگو`),t(`th`,{class:`numeric`},`ترتیب`),t(`th`,{class:`status`},`وضعیت`),t(`th`,null,`توضیحات`),t(`th`,null,`نام شرکت`),t(`th`,{class:`actions`},`عملیات`)])],-1),t(`tbody`,null,[(c(!0),l(o,null,f(L.value,e=>(c(),l(`tr`,{key:e.id},[t(`td`,null,[e.logoUrl?(c(),l(`img`,{key:0,src:e.logoUrl,alt:`لوگوی ${e.name}`,class:`company-logo`},null,8,me)):(c(),l(`div`,he,m($(e.name)),1))]),t(`td`,ge,m(e.displayOrder),1),t(`td`,_e,[a(y,{id:e.id,modelValue:e.isActive,"onUpdate:modelValue":t=>e.isActive=t,"entity-name":e.name,"entity-type":`شرکت`,persist:Z},null,8,[`id`,`modelValue`,`onUpdate:modelValue`,`entity-name`])]),t(`td`,null,m(e.description),1),t(`td`,null,m(e.name),1),t(`td`,ve,[t(`div`,ye,[t(`button`,{type:`button`,class:`admin-btn admin-btn--ghost admin-btn--xs`,onClick:t=>J(e)},` ویرایش `,8,be),t(`button`,{type:`button`,class:`admin-btn admin-btn--outline admin-btn--xs`,onClick:t=>Q(e.id)},` حساب‌ها `,8,b)])])]))),128))])])])])):(c(),ne(ce,{key:0,class:`admin-card`,icon:`companies`,title:`شرکتی ثبت نشده`,description:`برای شروع، اولین شرکت را ثبت کنید.`},{default:h(()=>[t(`button`,{type:`button`,class:`admin-btn admin-btn--primary admin-btn--sm`,onClick:q},` افزودن شرکت `)]),_:1})),L.value.length?(c(),l(`div`,x,[(c(!0),l(o,null,f(L.value,e=>(c(),l(`article`,{key:e.id,class:`admin-card-item`},[t(`div`,S,[t(`div`,C,[e.logoUrl?(c(),l(`img`,{key:0,src:e.logoUrl,alt:`لوگوی ${e.name}`,class:`company-logo`},null,8,w)):(c(),l(`div`,T,m($(e.name)),1)),t(`div`,null,[t(`p`,E,m(e.name),1),t(`p`,D,m(e.description),1)])]),a(y,{id:e.id,modelValue:e.isActive,"onUpdate:modelValue":t=>e.isActive=t,"entity-name":e.name,"entity-type":`شرکت`,persist:Z},null,8,[`id`,`modelValue`,`onUpdate:modelValue`,`entity-name`])]),t(`div`,O,[t(`span`,null,`ترتیب: `+m(e.displayOrder),1)]),t(`div`,k,[t(`button`,{type:`button`,class:`admin-btn admin-btn--ghost admin-btn--xs`,onClick:t=>J(e)},` ویرایش `,8,A),t(`button`,{type:`button`,class:`admin-btn admin-btn--outline admin-btn--xs`,onClick:t=>Q(e.id)},` حساب‌ها `,8,j)])]))),128))])):i(``,!0),a(oe,{open:Me.value,title:Ne.value,onClose:Y},{footer:h(()=>[t(`button`,{type:`button`,class:`admin-btn admin-btn--outline`,onClick:Y},` انصراف `),t(`button`,{type:`button`,class:`admin-btn admin-btn--primary`,disabled:!Fe.value||H.value,onClick:X},m(Pe.value),9,ke)]),default:h(()=>[t(`form`,{class:`admin-form`,onSubmit:ee(X,[`prevent`])},[G.value?(c(),l(`p`,M,m(G.value),1)):i(``,!0),t(`div`,N,[n[8]||=t(`label`,null,[r(`لوگو `),t(`span`,{class:`admin-form__required`},`*`)],-1),t(`div`,xe,[B.value?(c(),l(`div`,Se,[t(`img`,{src:B.value,alt:`پیش‌نمایش لوگو`,class:`logo-upload__preview`},null,8,Ce),t(`button`,{type:`button`,class:`logo-upload__remove`,onClick:Le},` حذف تصویر `)])):(c(),l(`label`,we,[...n[7]||=[t(`span`,{class:`logo-upload__icon`},`+`,-1),t(`span`,{class:`logo-upload__text`},`انتخاب یا رها کردن تصویر لوگو`,-1),t(`span`,{class:`logo-upload__hint`},`PNG، JPG، WEBP یا SVG — حداکثر ۲ مگابایت`,-1)]])),t(`input`,{id:`company-logo-file`,ref_key:`logoInputRef`,ref:V,type:`file`,accept:`image/png,image/jpeg,image/webp,image/svg+xml`,class:`logo-upload__input`,onChange:Ie},null,544),B.value?(c(),l(`button`,{key:2,type:`button`,class:`admin-btn admin-btn--outline admin-btn--sm logo-upload__change`,onClick:n[0]||=e=>V.value?.click()},` تغییر تصویر `)):i(``,!0)])]),t(`div`,Te,[n[9]||=t(`label`,{for:`company-name`},[r(`نام شرکت `),t(`span`,{class:`admin-form__required`},`*`)],-1),u(t(`input`,{id:`company-name`,"onUpdate:modelValue":n[1]||=e=>W.name=e,type:`text`,class:`admin-input`,placeholder:`مثال: شرکت پَر`,autocomplete:`off`},null,512),[[s,W.name]])]),t(`div`,Ee,[n[10]||=t(`label`,{for:`company-description`},`توضیحات`,-1),u(t(`textarea`,{id:`company-description`,"onUpdate:modelValue":n[2]||=e=>W.description=e,class:`admin-form__textarea`,placeholder:`تولید و عرضه انواع پارچه`,rows:`3`},null,512),[[s,W.description]])]),t(`div`,De,[t(`div`,P,[n[11]||=t(`label`,{for:`company-order`},`ترتیب نمایش`,-1),u(t(`input`,{id:`company-order`,"onUpdate:modelValue":n[3]||=e=>W.displayOrder=e,type:`number`,min:`1`,class:`admin-input`},null,512),[[s,W.displayOrder,void 0,{number:!0}]])]),t(`div`,Oe,[a(le,{modelValue:W.isActive,"onUpdate:modelValue":n[4]||=e=>W.isActive=e,label:`وضعیت`},null,8,[`modelValue`])])])],32)]),_:1},8,[`open`,`title`])]))}}),[[`__scopeId`,`data-v-caae8f52`]]);export{F as default}; \ No newline at end of file diff --git a/dist/assets/CompaniesView-CrPUhk7I.css b/dist/assets/CompaniesView-CrPUhk7I.css new file mode 100644 index 0000000..636cc7a --- /dev/null +++ b/dist/assets/CompaniesView-CrPUhk7I.css @@ -0,0 +1 @@ +.companies-page__table[data-v-caae8f52]{overflow:hidden}.companies-page__card-logo[data-v-caae8f52]{align-items:center;gap:12px;display:flex}.companies-page__card-desc[data-v-caae8f52]{color:var(--color-text-muted);margin:4px 0 0;font-size:.8125rem;font-weight:400}.company-logo[data-v-caae8f52]{border-radius:var(--radius-sm);object-fit:contain;background:var(--color-bg);border:1px solid var(--color-border);width:40px;height:40px}.company-logo--fallback[data-v-caae8f52]{background:var(--color-primary);color:#fff;justify-content:center;align-items:center;font-size:1rem;font-weight:700;display:flex}.logo-upload[data-v-caae8f52]{flex-direction:column;gap:10px;display:flex}.logo-upload__input[data-v-caae8f52]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.logo-upload__dropzone[data-v-caae8f52]{border:2px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-border-light);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:28px 16px;transition:border-color .15s,background .15s;display:flex}.logo-upload__dropzone[data-v-caae8f52]:hover{border-color:var(--color-primary);background:var(--color-info-light)}.logo-upload__icon[data-v-caae8f52]{background:var(--color-surface);border:1px solid var(--color-border);width:40px;height:40px;color:var(--color-text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;line-height:1;display:flex}.logo-upload__text[data-v-caae8f52]{color:var(--color-text);font-size:.875rem;font-weight:600}.logo-upload__hint[data-v-caae8f52]{color:var(--color-text-muted);font-size:.75rem}.logo-upload__preview-wrap[data-v-caae8f52]{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-border-light);flex-direction:column;align-items:center;gap:10px;padding:16px;display:flex}.logo-upload__preview[data-v-caae8f52]{object-fit:contain;border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid var(--color-border);width:80px;height:80px}.logo-upload__remove[data-v-caae8f52]{color:var(--color-danger);cursor:pointer;background:0 0;border:none;padding:0;font-size:.8125rem;font-weight:600}.logo-upload__remove[data-v-caae8f52]:hover{text-decoration:underline}.logo-upload__change[data-v-caae8f52]{align-self:flex-start} diff --git a/dist/assets/CustomersView-BYpoFcAd.js b/dist/assets/CustomersView-BYpoFcAd.js new file mode 100644 index 0000000..c7f5b84 --- /dev/null +++ b/dist/assets/CustomersView-BYpoFcAd.js @@ -0,0 +1 @@ +import{A as e,B as t,G as n,H as r,I as ee,K as i,L as a,P as o,Q as s,T as te,U as c,V as ne,X as l,a as re,at as u,ct as d,et as f,ft as p,i as ie,it as m,j as ae,k as oe,lt as h,p as g,q as _,st as se,w as v,z as y}from"./index-dG7O4aC2.js";import{t as ce}from"./AdminSelect-BsjBHdZj.js";import{r as b}from"./adminLabels-Cz9ccm1Z.js";import{n as le,r as ue,t as x}from"./ActiveSwitchCell-DxxSF-SL.js";var de={class:`customers-page`},fe={class:`customers-page__search admin-card`},pe={key:1,class:`customers-page__table admin-card desktop-only`},me={class:`admin-table-wrap`},he={class:`admin-table`},ge={class:`numeric`},_e={class:`numeric`},ve={class:`status`},S={class:`actions`},C=[`onClick`],w={key:2,class:`compact-only admin-card-list`},T={class:`admin-card-item__header`},E={class:`admin-card-item__title`},D={class:`admin-card-item__header-actions`},O=[`onClick`],k={class:`admin-card-item__meta`},A={key:0,class:`admin-form__error`,role:`alert`},j={class:`admin-form__field`},M={class:`admin-form__row`},N={class:`admin-form__field`},P={class:`admin-form__field`},F={class:`admin-form__row`},ye={class:`admin-form__field`},be={class:`admin-form__field`},xe={class:`admin-form__field`},Se=[`disabled`],Ce={key:0,class:`admin-btn__spinner`,"aria-hidden":`true`},I=ae(_({__name:`CustomersView`,setup(ae){let _=d([]),I=d(``),L=d(null),R=d(null),z=d(``),B=d(!1),V=e();function H(e){if(e==null)return`-`;if(typeof e==`number`)return Number.isFinite(e)?String(e):`-`;let t=e.trim();return!t||t===`—`?`-`:t}function U(e){return e==null||!Number.isFinite(e)?`-`:re(e)}let W=[{value:`wholesale`,label:`عمده‌فروش`},{value:`retail`,label:`خرده‌فروش`}],G=()=>({name:``,phone:``,nationalId:``,customerType:`wholesale`,companyName:``,isActive:!0}),K=se(G()),we=y(()=>L.value!==null),Te=y(()=>L.value===`edit`?`ویرایش مشتری`:`افزودن مشتری`),q=y(()=>K.name.trim()&&K.phone.trim()&&K.nationalId.trim()),J=y(()=>{let e=I.value.trim();return e?_.value.filter(t=>t.name.includes(e)||t.phone.includes(e)||t.nationalId.includes(e)||t.companyName.includes(e)):_.value});async function Ee(){try{_.value=await g.list()}catch(e){V.error(e instanceof v?e.message:`بارگذاری مشتریان انجام نشد.`)}}l(()=>{Ee()});function Y(){L.value=`add`,R.value=null,Object.assign(K,G()),z.value=``}function X(e){L.value=`edit`,R.value=e.id,K.name=e.name,K.phone=e.phone,K.nationalId=e.nationalId,K.customerType=e.customerType,K.companyName=e.companyName,K.isActive=e.isActive,z.value=``}function Z(){L.value=null,R.value=null,z.value=``}async function Q(){if(!q.value){z.value=`نام، تلفن و شناسه ملی الزامی هستند.`;return}B.value=!0;let e={name:K.name.trim(),phone:K.phone.trim(),nationalId:K.nationalId.trim(),customerType:K.customerType,isActive:K.isActive};try{if(L.value===`edit`&&R.value){let t=await g.update(R.value,e),n=_.value.findIndex(e=>e.id===R.value);n!==-1&&(_.value[n]={..._.value[n],...t})}else{let t=await g.create(e);_.value.unshift(t)}V.success(L.value===`edit`?`اطلاعات مشتری به‌روزرسانی شد.`:`مشتری جدید ثبت شد.`),Z()}catch(e){V.error(e instanceof v?e.message:`ذخیره مشتری انجام نشد.`)}finally{B.value=!1}}async function $(e,t){await g.setActive(e,t)}function De(){I.value=``}return(e,l)=>(s(),c(`div`,de,[t(`div`,{class:`admin-page-header`},[l[7]||=t(`div`,null,[t(`h1`,{class:`admin-page-header__title`},`مشتریان`),t(`p`,{class:`admin-page-header__breadcrumb`},`مدیریت / مشتریان`)],-1),t(`button`,{type:`button`,class:`admin-btn admin-btn--primary`,onClick:Y},` افزودن مشتری `)]),t(`div`,fe,[i(te,{name:`search`,size:18}),u(t(`input`,{"onUpdate:modelValue":l[0]||=e=>I.value=e,type:`search`,class:`customers-page__search-input`,placeholder:`جستجو در نام، تلفن، شناسه ملی...`},null,512),[[o,I.value]])]),J.value.length?(s(),c(`div`,pe,[t(`div`,me,[t(`table`,he,[l[8]||=t(`thead`,null,[t(`tr`,null,[t(`th`,null,`نام مشتری`),t(`th`,null,`تلفن`),t(`th`,null,`شناسه ملی`),t(`th`,null,`نوع`),t(`th`,null,`شرکت`),t(`th`,{class:`numeric`},`تعداد سفارش`),t(`th`,{class:`numeric`},`مجموع متراژ`),t(`th`,{class:`status`},`وضعیت`),t(`th`,null,`تاریخ ثبت`),t(`th`,{class:`actions`},`عملیات`)])],-1),t(`tbody`,null,[(s(!0),c(a,null,f(J.value,e=>(s(),c(`tr`,{key:e.id},[t(`td`,null,p(H(e.name)),1),t(`td`,null,p(H(e.phone)),1),t(`td`,null,p(H(e.nationalId)),1),t(`td`,null,p(H(h(b)[e.customerType])),1),t(`td`,null,p(H(e.companyName)),1),t(`td`,ge,p(H(e.orderCount)),1),t(`td`,_e,p(U(e.totalMeterage)),1),t(`td`,ve,[i(x,{id:e.id,modelValue:e.isActive,"onUpdate:modelValue":t=>e.isActive=t,"entity-name":e.name,"entity-type":`مشتری`,persist:$},null,8,[`id`,`modelValue`,`onUpdate:modelValue`,`entity-name`])]),t(`td`,null,p(H(h(ie)(e.registeredAt))),1),t(`td`,S,[t(`button`,{type:`button`,class:`admin-btn admin-btn--ghost admin-btn--xs`,onClick:t=>X(e)},` ویرایش `,8,C)])]))),128))])])])])):(s(),ne(le,{key:0,class:`admin-card`,icon:`customers`,title:I.value.trim()?`نتیجه‌ای یافت نشد`:`مشتریان ثبت شده`,description:I.value.trim()?`عبارت جستجو را تغییر دهید یا فیلترها را پاک کنید.`:`برای شروع، اولین مشتری را ثبت کنید.`},{default:m(()=>[I.value.trim()?(s(),c(`button`,{key:0,type:`button`,class:`admin-btn admin-btn--outline admin-btn--sm`,onClick:De},` پاک کردن جستجو `)):(s(),c(`button`,{key:1,type:`button`,class:`admin-btn admin-btn--primary admin-btn--sm`,onClick:Y},` افزودن مشتری `))]),_:1},8,[`title`,`description`])),J.value.length?(s(),c(`div`,w,[(s(!0),c(a,null,f(J.value,e=>(s(),c(`article`,{key:e.id,class:`admin-card-item`},[t(`div`,T,[t(`p`,E,p(H(e.name)),1),t(`div`,D,[i(x,{id:e.id,modelValue:e.isActive,"onUpdate:modelValue":t=>e.isActive=t,"entity-name":e.name,"entity-type":`مشتری`,persist:$},null,8,[`id`,`modelValue`,`onUpdate:modelValue`,`entity-name`]),t(`button`,{type:`button`,class:`admin-btn admin-btn--ghost admin-btn--xs`,onClick:t=>X(e)},` ویرایش `,8,O)])]),t(`div`,k,[t(`span`,null,p(H(e.phone)),1),t(`span`,null,p(H(h(b)[e.customerType])),1),t(`span`,null,p(H(e.companyName)),1),t(`span`,null,p(H(e.orderCount))+` سفارش · `+p(U(e.totalMeterage)),1)])]))),128))])):r(``,!0),i(oe,{open:we.value,title:Te.value,size:`lg`,onClose:Z},{footer:m(()=>[t(`button`,{type:`button`,class:`admin-btn admin-btn--outline`,onClick:Z},`انصراف`),t(`button`,{type:`button`,class:`admin-btn admin-btn--primary`,disabled:!q.value||B.value,onClick:Q},[B.value?(s(),c(`span`,Ce)):r(``,!0),n(` `+p(L.value===`edit`?`ذخیره تغییرات`:`ثبت مشتری`),1)],8,Se)]),default:m(()=>[t(`form`,{class:`admin-form`,onSubmit:ee(Q,[`prevent`])},[z.value?(s(),c(`p`,A,p(z.value),1)):r(``,!0),t(`div`,j,[l[9]||=t(`label`,{for:`customer-name`},[n(`نام مشتری `),t(`span`,{class:`admin-form__required`},`*`)],-1),u(t(`input`,{id:`customer-name`,"onUpdate:modelValue":l[1]||=e=>K.name=e,type:`text`,class:`admin-input`},null,512),[[o,K.name]])]),t(`div`,M,[t(`div`,N,[l[10]||=t(`label`,{for:`customer-phone`},[n(`تلفن `),t(`span`,{class:`admin-form__required`},`*`)],-1),u(t(`input`,{id:`customer-phone`,"onUpdate:modelValue":l[2]||=e=>K.phone=e,type:`tel`,class:`admin-input`,inputmode:`tel`,dir:`ltr`},null,512),[[o,K.phone]])]),t(`div`,P,[l[11]||=t(`label`,{for:`customer-national-id`},[n(`شناسه ملی `),t(`span`,{class:`admin-form__required`},`*`)],-1),u(t(`input`,{id:`customer-national-id`,"onUpdate:modelValue":l[3]||=e=>K.nationalId=e,type:`text`,class:`admin-input`,inputmode:`numeric`,dir:`ltr`},null,512),[[o,K.nationalId]])])]),t(`div`,F,[t(`div`,ye,[l[12]||=t(`label`,null,`نوع مشتری`,-1),i(ce,{modelValue:K.customerType,"onUpdate:modelValue":l[4]||=e=>K.customerType=e,block:``,"aria-label":`نوع مشتری`,options:W},null,8,[`modelValue`])]),t(`div`,be,[l[13]||=t(`label`,{for:`customer-company`},`شرکت مرتبط`,-1),u(t(`input`,{id:`customer-company`,"onUpdate:modelValue":l[5]||=e=>K.companyName=e,type:`text`,class:`admin-input`},null,512),[[o,K.companyName]])])]),t(`div`,xe,[i(ue,{modelValue:K.isActive,"onUpdate:modelValue":l[6]||=e=>K.isActive=e,label:`وضعیت`},null,8,[`modelValue`])])],32)]),_:1},8,[`open`,`title`])]))}}),[[`__scopeId`,`data-v-1898ef43`]]);export{I as default}; \ No newline at end of file diff --git a/dist/assets/CustomersView-BfXhxAth.css b/dist/assets/CustomersView-BfXhxAth.css new file mode 100644 index 0000000..b34c2f1 --- /dev/null +++ b/dist/assets/CustomersView-BfXhxAth.css @@ -0,0 +1 @@ +.customers-page__search[data-v-1898ef43]{color:var(--color-text-muted);align-items:center;gap:10px;margin-bottom:16px;padding:10px 14px;display:flex}.customers-page__search-input[data-v-1898ef43]{background:0 0;border:none;outline:none;flex:1;font-size:.875rem}.customers-page__table[data-v-1898ef43]{overflow:hidden} diff --git a/dist/assets/DashboardView-B4W3rp-i.js b/dist/assets/DashboardView-B4W3rp-i.js new file mode 100644 index 0000000..63af721 --- /dev/null +++ b/dist/assets/DashboardView-B4W3rp-i.js @@ -0,0 +1 @@ +import{A as e,B as t,D as n,G as r,H as i,K as a,L as o,Q as s,T as c,U as l,V as u,X as d,ct as f,dt as p,et as m,ft as h,h as g,i as _,it as v,j as y,lt as b,m as x,n as S,nt as C,o as w,q as T,ut as E,w as D,z as O}from"./index-dG7O4aC2.js";import{t as k}from"./StatusBadge-D-XqK4sa.js";var ee={class:`sales-chart`},A={key:0,class:`sales-chart__header`},j={key:0,class:`sales-chart__title`},M={key:1,class:`sales-chart__subtitle`},N=[`viewBox`,`aria-label`],P=[`x1`,`x2`,`y1`,`y2`],te=[`points`],F=[`points`],I=[`x1`,`x2`,`y1`,`y2`],L=[`cx`,`cy`],R={class:`sales-chart__tooltip-label`},z={key:1,class:`sales-chart__axis`},B=320,V=120,H=y(T({__name:`SalesAreaChart`,props:{data:{},title:{},subtitle:{},height:{default:160},color:{default:`#17379f`},unit:{default:`میلیارد تومان`},labels:{}},setup(e){let n=e,r=f(null),a={top:12,right:8,bottom:8,left:8},c=O(()=>Math.max(...n.data,.001)),u=O(()=>{let e=B-a.left-a.right,t=V-a.top-a.bottom,r=e/Math.max(n.data.length-1,1);return n.data.map((e,n)=>({x:a.left+n*r,y:a.top+t-e/c.value*t,value:e,index:n}))}),d=O(()=>u.value.map(e=>`${e.x},${e.y}`).join(` `)),g=O(()=>{let e=V-a.bottom,t=u.value[0],n=u.value[u.value.length-1];return!t||!n?``:`${t.x},${e} ${d.value} ${n.x},${e}`}),_=O(()=>{let e=V-a.top-a.bottom;return[0,.5,1].map(t=>a.top+e*t)}),v=O(()=>r.value===null?null:u.value[r.value]??null);function y(e){let t=e.currentTarget.getBoundingClientRect(),n=(e.clientX-t.left)/t.width*B,i=0,a=1/0;u.value.forEach(e=>{let t=Math.abs(e.x-n);t(s(),l(`div`,ee,[e.title||e.subtitle?(s(),l(`div`,A,[t(`div`,null,[e.title?(s(),l(`h3`,j,h(e.title),1)):i(``,!0),e.subtitle?(s(),l(`p`,M,h(e.subtitle),1)):i(``,!0)])])):i(``,!0),t(`div`,{class:`sales-chart__body`,style:p({height:`${e.height}px`})},[(s(),l(`svg`,{class:`sales-chart__svg`,viewBox:`0 0 ${B} ${V}`,preserveAspectRatio:`none`,role:`img`,"aria-label":e.title||`نمودار فروش`,onMousemove:y,onMouseleave:x},[(s(!0),l(o,null,m(_.value,(e,t)=>(s(),l(`line`,{key:t,x1:a.left,x2:B-a.right,y1:e,y2:e,class:`sales-chart__grid`},null,8,P))),128)),g.value?(s(),l(`polygon`,{key:0,points:g.value,class:`sales-chart__area`,style:p({fill:`${e.color}22`})},null,12,te)):i(``,!0),t(`polyline`,{points:d.value,class:`sales-chart__line`,style:p({stroke:e.color})},null,12,F),v.value?(s(),l(o,{key:1},[t(`line`,{x1:v.value.x,x2:v.value.x,y1:a.top,y2:V-a.bottom,class:`sales-chart__cursor`},null,8,I),t(`circle`,{cx:v.value.x,cy:v.value.y,r:`4`,class:`sales-chart__dot`,style:p({fill:e.color})},null,12,L)],64)):i(``,!0)],40,N)),v.value?(s(),l(`div`,{key:0,class:`sales-chart__tooltip`,style:p({left:`${v.value.x/B*100}%`})},[t(`span`,R,h(e.labels?.[v.value.index]??`روز ${v.value.index+1}`),1),t(`strong`,null,h(b(w)(v.value.value))+` `+h(e.unit),1)],4)):i(``,!0)],4),e.labels?.length?(s(),l(`div`,z,[(s(!0),l(o,null,m(e.labels,(e,t)=>(s(),l(`span`,{key:t},h(e),1))),128))])):i(``,!0)]))}}),[[`__scopeId`,`data-v-7c631ba3`]]),U={info:`var(--color-info-light)`,warning:`var(--color-warning-light)`,purple:`var(--color-purple-light)`,success:`var(--color-success-light)`},W={info:`var(--color-info)`,warning:`var(--color-warning-dark)`,purple:`var(--color-purple)`,success:`var(--color-success)`},G=()=>({newOrders:0,pendingReview:0,pendingCheck:0,finalApproval:0,todaySales:0,todaySalesGrowth:0,monthSales:0});function K(){let t=n(),r=e(),i=f(G()),a=f([]),o=f(Array.from({length:28},()=>0)),s=f([`۱`,`۷`,`۱۴`,`۲۱`,`۲۸`]),c=f([]),l=f(!1),u=O(()=>[{label:`سفارش‌های جدید`,value:i.value.newOrders,icon:`cart`,tone:`info`,link:`/orders`},{label:`در انتظار بررسی`,value:i.value.pendingReview,icon:`file`,tone:`warning`,link:`/orders?tab=pending_review`},{label:`بررسی چک`,value:i.value.pendingCheck,icon:`wallet`,tone:`purple`,link:`/orders?tab=pending_check`},{label:`تأیید نهایی شده`,value:i.value.finalApproval,icon:`check-circle`,tone:`success`,link:`/orders?tab=final_approval`}]),p=O(()=>{let e=o.value;if(!e.length)return``;let t=Math.max(...e,.001),n=e.length>1?280/(e.length-1):280;return e.map((e,r)=>`${r*n},${120-e/t*110-5}`).join(` `)});async function m(){l.value=!0;try{let e=await x.get();i.value=e.stats,a.value=(e.recentOrders??[]).map(e=>g(e)),o.value=e.salesChartData?.length?e.salesChartData:Array.from({length:28},()=>0),s.value=e.chartAxisLabels?.length?e.chartAxisLabels:[`۱`,`۷`,`۱۴`,`۲۱`,`۲۸`],c.value=e.checkDeadlines??[]}catch(e){r.error(e instanceof D?e.message:`بارگذاری داشبورد انجام نشد.`)}finally{l.value=!1}}d(()=>{m()});function h(){t.push(`/orders`)}return{checkDeadlines:c,dashboardStats:i,recentOrders:a,chartPoints:p,salesChartData:o,chartAxisLabels:s,statCards:u,loading:l,goOrders:h,loadDashboard:m}}var q={class:`dashboard`},J={class:`dashboard__toolbar`},Y={type:`button`,class:`admin-btn admin-btn--outline admin-btn--sm`},X={class:`dashboard__stats`},Z={class:`admin-stat-card__label`},Q={class:`admin-stat-card__value`},ne={class:`dashboard__sales-card admin-stat-card`},re={class:`dashboard__sales-header`},ie={class:`admin-stat-card__value dashboard__sales-value`},ae={class:`dashboard__sales-growth`},oe={class:`dashboard__grid`},se={class:`dashboard__chart-card admin-card`},ce={class:`dashboard__orders-card admin-card`},le={class:`admin-table-wrap`},ue={class:`admin-table admin-table--compact`},de={class:`dashboard__card-footer`},fe={class:`dashboard__checks-card admin-card`},pe={class:`dashboard__deadline-list`},me={class:`dashboard__deadline-count`},he={class:`dashboard__deadline-amount`},ge={class:`dashboard__card-footer`},_e=y(T({__name:`DesktopDashboard`,setup(e){let{checkDeadlines:n,dashboardStats:i,recentOrders:u,salesChartData:d,chartAxisLabels:f,goOrders:g,statCards:y}=K();return(e,x)=>{let w=C(`RouterLink`);return s(),l(`div`,q,[t(`div`,J,[t(`button`,Y,[a(c,{name:`calendar`,size:16}),x[1]||=r(` امروز `,-1)])]),t(`div`,X,[(s(!0),l(o,null,m(b(y),e=>(s(),l(`div`,{key:e.label,class:`admin-stat-card`},[t(`div`,{class:`admin-stat-card__icon`,style:p({background:b(U)[e.tone],color:b(W)[e.tone]})},[a(c,{name:e.icon,size:20},null,8,[`name`])],4),t(`p`,Z,h(e.label),1),t(`p`,Q,h(e.value),1),a(w,{to:e.link,class:`admin-stat-card__link`},{default:v(()=>[...x[2]||=[r(`مشاهده سفارش‌ها`,-1)]]),_:1},8,[`to`])]))),128)),t(`div`,ne,[t(`div`,re,[t(`div`,null,[x[3]||=t(`p`,{class:`admin-stat-card__label`},`فروش امروز`,-1),t(`p`,ie,h(b(S)(b(i).todaySales)),1),t(`span`,ae,` +`+h(b(i).todaySalesGrowth)+`% نسبت به دیروز `,1)]),a(c,{name:`calendar`,size:20,class:`dashboard__sales-icon`})]),x[4]||=t(`svg`,{class:`dashboard__sparkline`,viewBox:`0 0 120 32`,preserveAspectRatio:`none`},[t(`polyline`,{fill:`none`,stroke:`#159660`,"stroke-width":`2`,points:`0,24 20,18 40,22 60,12 80,16 100,8 120,14`})],-1)])]),t(`div`,oe,[t(`div`,se,[a(H,{title:`فروش ماه جاری`,subtitle:b(S)(b(i).monthSales),data:b(d),labels:b(f),unit:`میلیارد`,height:168},null,8,[`subtitle`,`data`,`labels`])]),t(`div`,ce,[x[7]||=t(`div`,{class:`dashboard__card-header`},[t(`h2`,{class:`dashboard__card-title`},`سفارش‌های اخیر`)],-1),t(`div`,le,[t(`table`,ue,[x[5]||=t(`thead`,null,[t(`tr`,null,[t(`th`,null,`شماره سفارش`),t(`th`,null,`مشتری`),t(`th`,null,`شرکت`),t(`th`,null,`وضعیت`),t(`th`,null,`تاریخ ثبت`)])],-1),t(`tbody`,null,[(s(!0),l(o,null,m(b(u),e=>(s(),l(`tr`,{key:e.id},[t(`td`,null,h(e.orderNumber),1),t(`td`,null,h(e.customerName),1),t(`td`,null,h(e.companyName),1),t(`td`,null,[a(k,{status:e.status},null,8,[`status`])]),t(`td`,null,h(b(_)(e.createdAt)),1)]))),128))])])]),t(`div`,de,[t(`button`,{type:`button`,class:`admin-btn admin-btn--primary admin-btn--sm`,onClick:x[0]||=(...e)=>b(g)&&b(g)(...e)},[x[6]||=r(` مشاهده همه سفارش‌ها `,-1),a(c,{name:`chevron-left`,size:16})])])]),t(`div`,fe,[x[9]||=t(`div`,{class:`dashboard__card-header`},[t(`h2`,{class:`dashboard__card-title`},`سررسید چک‌ها`)],-1),t(`ul`,pe,[(s(!0),l(o,null,m(b(n),e=>(s(),l(`li`,{key:e.id,class:`dashboard__deadline-item`},[t(`span`,{class:E([`admin-badge`,{"admin-badge--danger":e.tone===`danger`,"admin-badge--warning":e.tone===`warning`,"admin-badge--neutral":e.tone===`neutral`}])},h(e.label),3),t(`span`,me,h(e.count)+` فقره`,1),t(`span`,he,h(b(S)(e.amount)),1)]))),128))]),t(`div`,ge,[a(w,{to:`/checks`,class:`admin-btn admin-btn--outline admin-btn--sm`},{default:v(()=>[x[8]||=r(` مشاهده همه `,-1),a(c,{name:`chevron-left`,size:16})]),_:1})])])])])}}}),[[`__scopeId`,`data-v-bf2ebdae`]]),ve={class:`compact-dashboard page-shell`},ye={class:`flex justify-end mb-3`},be={type:`button`,class:`admin-btn admin-btn--outline admin-btn--sm`},xe={class:`compact-stats-grid`},Se={class:`admin-stat-card__label`},Ce={class:`admin-stat-card__value`},we={class:`admin-stat-card col-span-full`},$={class:`admin-stat-card__value`},Te={class:`text-xs font-semibold text-success`},Ee={class:`compact-section-grid`},De={class:`compact-section-card admin-panel`},Oe={class:`compact-section-card admin-panel`},ke={class:`admin-card-list`},Ae={class:`admin-card-item__header`},je={class:`admin-card-item__title`},Me={class:`admin-card-item__meta`},Ne={class:`compact-section-card admin-panel`},Pe={class:`m-0 p-0 list-none flex flex-col gap-2.5`},Fe={class:`mr-auto text-xs`},Ie=T({__name:`CompactDashboard`,setup(e){let{checkDeadlines:n,dashboardStats:i,recentOrders:d,salesChartData:f,chartAxisLabels:g,goOrders:y,statCards:x}=K();return(e,w)=>{let T=C(`RouterLink`);return s(),l(`div`,ve,[t(`div`,ye,[t(`button`,be,[a(c,{name:`calendar`,size:16}),w[1]||=r(` امروز `,-1)])]),t(`div`,xe,[(s(!0),l(o,null,m(b(x),e=>(s(),l(`div`,{key:e.label,class:`admin-stat-card`},[t(`div`,{class:`admin-stat-card__icon`,style:p({background:b(U)[e.tone],color:b(W)[e.tone]})},[a(c,{name:e.icon,size:20},null,8,[`name`])],4),t(`p`,Se,h(e.label),1),t(`p`,Ce,h(e.value),1),a(T,{to:e.link,class:`admin-stat-card__link`},{default:v(()=>[...w[2]||=[r(`مشاهده`,-1)]]),_:1},8,[`to`])]))),128)),t(`div`,we,[w[3]||=t(`p`,{class:`admin-stat-card__label`},`فروش امروز`,-1),t(`p`,$,h(b(S)(b(i).todaySales)),1),t(`span`,Te,` +`+h(b(i).todaySalesGrowth)+`% نسبت به دیروز `,1)])]),t(`div`,Ee,[t(`section`,De,[a(H,{title:`فروش ماه جاری`,subtitle:b(S)(b(i).monthSales),data:b(f),labels:b(g),unit:`میلیارد`,height:140},null,8,[`subtitle`,`data`,`labels`])]),t(`section`,Oe,[w[5]||=t(`h2`,{class:`compact-section-card__title`},`سفارش‌های اخیر`,-1),t(`div`,ke,[(s(!0),l(o,null,m(b(d),e=>(s(),u(T,{key:e.id,to:`/orders`,class:`admin-card-item block no-underline text-inherit`},{default:v(()=>[t(`div`,Ae,[t(`p`,je,h(e.orderNumber),1),a(k,{status:e.status},null,8,[`status`])]),t(`div`,Me,[t(`span`,null,h(e.customerName),1),t(`span`,null,h(b(_)(e.createdAt)),1)])]),_:2},1024))),128))]),t(`button`,{type:`button`,class:`admin-btn admin-btn--primary admin-btn--sm inline-flex mt-3`,onClick:w[0]||=(...e)=>b(y)&&b(y)(...e)},[w[4]||=r(` مشاهده همه سفارش‌ها `,-1),a(c,{name:`chevron-left`,size:16})])]),t(`section`,Ne,[w[7]||=t(`h2`,{class:`compact-section-card__title`},`سررسید چک‌ها`,-1),t(`ul`,Pe,[(s(!0),l(o,null,m(b(n),e=>(s(),l(`li`,{key:e.id,class:`flex flex-wrap items-center gap-2 text-sm`},[t(`span`,{class:E([`admin-badge`,{"admin-badge--danger":e.tone===`danger`,"admin-badge--warning":e.tone===`warning`,"admin-badge--neutral":e.tone===`neutral`}])},h(e.label),3),t(`span`,null,h(e.count)+` فقره`,1),t(`strong`,Fe,h(b(S)(e.amount)),1)]))),128))]),a(T,{to:`/checks`,class:`admin-btn admin-btn--outline admin-btn--sm inline-flex mt-3 no-underline`},{default:v(()=>[w[6]||=r(` مشاهده همه `,-1),a(c,{name:`chevron-left`,size:16})]),_:1})])])])}}}),Le=T({__name:`DashboardView`,setup(e){return(e,t)=>(s(),l(o,null,[a(_e,{class:`desktop-only`}),a(Ie,{class:`compact-only`})],64))}});export{Le as default}; \ No newline at end of file diff --git a/dist/assets/DashboardView-Dt8n-iF2.css b/dist/assets/DashboardView-Dt8n-iF2.css new file mode 100644 index 0000000..b8e780a --- /dev/null +++ b/dist/assets/DashboardView-Dt8n-iF2.css @@ -0,0 +1 @@ +.sales-chart__header[data-v-7c631ba3]{margin-bottom:12px}.sales-chart__title[data-v-7c631ba3]{margin:0;font-size:.9375rem;font-weight:700}.sales-chart__subtitle[data-v-7c631ba3]{color:var(--color-text-muted);margin:4px 0 0;font-size:.8125rem}.sales-chart__body[data-v-7c631ba3]{position:relative}.sales-chart__svg[data-v-7c631ba3]{width:100%;height:100%;display:block}.sales-chart__grid[data-v-7c631ba3]{stroke:var(--color-border);stroke-width:1px;stroke-dasharray:4 4}.sales-chart__line[data-v-7c631ba3]{fill:none;stroke-width:2.25px;stroke-linecap:round;stroke-linejoin:round}.sales-chart__cursor[data-v-7c631ba3]{stroke:var(--color-border);stroke-width:1px;stroke-dasharray:3 3}.sales-chart__dot[data-v-7c631ba3]{stroke:#fff;stroke-width:2px}.sales-chart__tooltip[data-v-7c631ba3]{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);min-width:120px;box-shadow:var(--shadow-sm);pointer-events:none;text-align:center;padding:8px 10px;position:absolute;top:8px;transform:translate(-50%)}.sales-chart__tooltip-label[data-v-7c631ba3]{color:var(--color-text-muted);margin-bottom:2px;font-size:.6875rem;display:block}.sales-chart__tooltip strong[data-v-7c631ba3]{font-size:.8125rem}.sales-chart__axis[data-v-7c631ba3]{color:var(--color-text-muted);justify-content:space-between;margin-top:8px;font-size:.6875rem;display:flex}.dashboard__toolbar[data-v-bf2ebdae]{justify-content:flex-end;margin-bottom:16px;display:flex}.dashboard__stats[data-v-bf2ebdae]{grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:20px;display:grid}.dashboard__sales-header[data-v-bf2ebdae]{justify-content:space-between;align-items:flex-start;display:flex}.dashboard__sales-value[data-v-bf2ebdae]{font-size:1.25rem!important}.dashboard__sales-growth[data-v-bf2ebdae]{color:var(--color-success);font-size:.75rem;font-weight:600}.dashboard__sales-icon[data-v-bf2ebdae]{color:var(--color-text-muted)}.dashboard__sparkline[data-v-bf2ebdae]{width:100%;height:32px;margin-top:8px}.dashboard__grid[data-v-bf2ebdae]{grid-template-columns:1fr 1.4fr .9fr;gap:16px;display:grid}.dashboard__chart-card[data-v-bf2ebdae],.dashboard__orders-card[data-v-bf2ebdae],.dashboard__checks-card[data-v-bf2ebdae]{padding:20px}.dashboard__chart-card[data-v-bf2ebdae] .sales-chart__header{margin-bottom:0}.dashboard__card-header[data-v-bf2ebdae]{margin-bottom:16px}.dashboard__card-title[data-v-bf2ebdae]{margin:0;font-size:.9375rem;font-weight:700}.dashboard__card-value[data-v-bf2ebdae]{margin:4px 0 0;font-size:1.125rem;font-weight:700}.dashboard__chart[data-v-bf2ebdae]{width:100%;height:140px}.dashboard__chart-axis[data-v-bf2ebdae]{color:var(--color-text-muted);justify-content:space-between;margin-top:8px;font-size:.6875rem;display:flex}.dashboard__card-footer[data-v-bf2ebdae]{border-top:1px solid var(--color-border-light);justify-content:flex-start;margin-top:12px;padding-top:12px;display:flex}.dashboard__card-footer .admin-btn[data-v-bf2ebdae]{text-decoration:none}.dashboard__deadline-list[data-v-bf2ebdae]{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.dashboard__deadline-item[data-v-bf2ebdae]{grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;font-size:.8125rem;display:grid}.dashboard__deadline-count[data-v-bf2ebdae]{color:var(--color-text-muted)}.dashboard__deadline-amount[data-v-bf2ebdae]{font-size:.75rem;font-weight:600} diff --git a/dist/assets/IRANSansWeb(FaNum)-BLA2CtIC.woff2 b/dist/assets/IRANSansWeb(FaNum)-BLA2CtIC.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..c3dcbab7c5d72d3c549c953c714385043a28566b GIT binary patch literal 27944 zcmV(@K-Rx^Pew8T0RR910BtA$4gdfE0NFqQ0BpZXAkE24Db>1Q84hf~S0e`b-OlS^xny0we>EFa#h4jBf{{Asf5BHzIfU z%SOR%1At!IeycYY$W7M-x&vtmjTfO&QL{LyptAq}|E%Oh#$Z0!cTKIj83ZRKx&xO+ zdEE-xpM^rz%8A6-stQI&!jKdQJC4)zsy9BJ`|@wBW(TGgZt<@0rBDj3P01NW66lxs1Ojah-f=dHjG63+y3_>{pdlM z+y3*PQtFh5lvF5f(qRxKr;H+7BK^rab+UglPKHtjQG(6*wCTV1PLYZ+YDVp{Fmck5 zhC1_0!;FeiG1@sKpV*k#N-GA=3v(*=#$kX6JB-yY{l~!oa{Ny0Ql+My>t%QBn6Zry+rC0la zkenK6(&;9hNhZAvOh@2_AQf%Ycl$zr

Z#+o%W+q9{YBHsREvz2#1k}IV$Kj7fJ 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

9@C?pBz?+Mg) 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 literal 0 HcmV?d00001 diff --git a/dist/assets/IRANSansWeb(FaNum)_Black-BFAfOkt4.woff2 b/dist/assets/IRANSansWeb(FaNum)_Black-BFAfOkt4.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..fc008ef1a5918f5da81c420674cdda32d2ec67b8 GIT binary patch literal 25776 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 literal 0 HcmV?d00001 diff --git a/dist/assets/IRANSansWeb(FaNum)_Bold-C8urhp07.woff2 b/dist/assets/IRANSansWeb(FaNum)_Bold-C8urhp07.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..69f7c66b32ecc702c0538ebf8af1ae2b8492295e GIT binary patch literal 27316 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�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 HoE=;RIlKi? literal 0 HcmV?d00001 diff --git a/dist/assets/LoginView-D7iZwKPi.js b/dist/assets/LoginView-D7iZwKPi.js new file mode 100644 index 0000000..8feadb0 --- /dev/null +++ b/dist/assets/LoginView-D7iZwKPi.js @@ -0,0 +1 @@ +import{A as e,B as t,C as n,D as r,E as i,G as a,H as o,I as s,K as c,M as l,N as u,P as d,Q as f,T as p,U as m,W as h,at as g,ct as _,ft as v,j as y,lt as b,q as x,z as S}from"./index-dG7O4aC2.js";var C={class:`login-page`},w={class:`login-page__form-wrap`},T={class:`login-page__card admin-card`},E={key:0,class:`admin-form__error`,role:`alert`},D={class:`admin-form__field`},O={class:`login-page__input-wrap`},k={class:`login-page__field-icon`,"aria-hidden":`true`},A={class:`admin-form__field`},j={class:`login-page__input-wrap login-page__input-wrap--password`},M={class:`login-page__field-icon`,"aria-hidden":`true`},N=[`type`],P=[`aria-label`],F={class:`login-page__remember`},I=[`disabled`],L={key:0,class:`admin-btn__spinner`,"aria-hidden":`true`},R=y(x({__name:`LoginView`,setup(y){let x=r(),R=i(),z=n(),B=e(),V=_(``),H=_(``),U=_(!0),W=_(!1),G=S(()=>V.value.trim().length>0&&H.value.length>0);function K(e){return e.replace(/[۰-۹]/g,e=>String(`۰۱۲۳۴۵۶۷۸۹`.indexOf(e))).replace(/[٠-٩]/g,e=>String(`٠١٢٣٤٥٦٧٨٩`.indexOf(e)))}async function q(){if(!G.value){z.error=`لطفاً شماره موبایل و رمز عبور را وارد کنید.`;return}if(!await z.login(K(V.value.trim()),H.value,U.value))return;B.success(`خوش آمدید، ${z.fullName}`);let e=typeof R.query.redirect==`string`?R.query.redirect:`/`;x.replace(e)}return(e,n)=>(f(),m(`div`,C,[t(`div`,w,[t(`div`,T,[n[10]||=t(`div`,{class:`login-page__header`},[t(`h2`,{class:`login-page__title`},`ورود به پنل مدیریت`),t(`p`,{class:`login-page__subtitle`},`برای ادامه، اطلاعات حساب کاربری خود را وارد کنید.`)],-1),t(`form`,{class:`admin-form login-page__form`,onSubmit:s(q,[`prevent`])},[b(z).error?(f(),m(`p`,E,v(b(z).error),1)):o(``,!0),t(`div`,D,[n[6]||=t(`label`,{for:`login-phone`},`شماره موبایل`,-1),t(`div`,O,[t(`span`,k,[c(p,{name:`phone`,size:18})]),g(t(`input`,{id:`login-phone`,"onUpdate:modelValue":n[0]||=e=>V.value=e,type:`tel`,class:`admin-input login-page__input`,placeholder:`۰۹۱۲۱۱۱۱۲۲۲۲`,autocomplete:`username`,inputmode:`tel`,dir:`ltr`,onInput:n[1]||=e=>b(z).clearError()},null,544),[[d,V.value]])])]),t(`div`,A,[n[7]||=t(`label`,{for:`login-password`},`رمز عبور`,-1),t(`div`,j,[t(`span`,M,[c(p,{name:`lock`,size:18})]),g(t(`input`,{id:`login-password`,"onUpdate:modelValue":n[2]||=e=>H.value=e,type:W.value?`text`:`password`,class:`admin-input login-page__input login-page__input--with-toggle`,placeholder:`رمز عبور`,autocomplete:`current-password`,onInput:n[3]||=e=>b(z).clearError()},null,40,N),[[u,H.value]]),t(`button`,{type:`button`,class:`login-page__toggle-password`,"aria-label":W.value?`پنهان کردن رمز`:`نمایش رمز`,onClick:n[4]||=e=>W.value=!W.value},[c(p,{name:W.value?`eye-off`:`eye`,size:18},null,8,[`name`])],8,P)])]),t(`label`,F,[g(t(`input`,{"onUpdate:modelValue":n[5]||=e=>U.value=e,type:`checkbox`},null,512),[[l,U.value]]),n[8]||=t(`span`,null,`مرا به خاطر بسپار`,-1)]),t(`button`,{type:`submit`,class:`admin-btn admin-btn--primary login-page__submit`,disabled:!G.value||b(z).loading},[b(z).loading?(f(),m(`span`,L)):o(``,!0),n[9]||=a(` ورود به پنل `,-1)],8,I)],32)])]),n[11]||=h(`

`,1)]))}}),[[`__scopeId`,`data-v-4f278031`]]);export{R as default}; \ No newline at end of file diff --git a/dist/assets/LoginView-DZ4_j4UF.css b/dist/assets/LoginView-DZ4_j4UF.css new file mode 100644 index 0000000..368eb35 --- /dev/null +++ b/dist/assets/LoginView-DZ4_j4UF.css @@ -0,0 +1 @@ +.login-page[data-v-4f278031]{background:var(--color-bg);grid-template-columns:1.05fr 1fr;min-height:100dvh;display:grid}.login-page__brand[data-v-4f278031]{color:#fff;background:linear-gradient(160deg,#1a2542 0%,#243456 55%,#17379f 100%);justify-content:center;align-items:center;padding:48px 40px;display:flex}.login-page__brand-inner[data-v-4f278031]{max-width:420px}.login-page__brand-badge[data-v-4f278031]{background:#ffffff1f;border-radius:999px;margin:0 0 16px;padding:6px 12px;font-size:.8125rem;font-weight:700;display:inline-flex}.login-page__brand-title[data-v-4f278031]{margin:0 0 12px;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.35}.login-page__brand-text[data-v-4f278031]{color:#ffffffc7;margin:0;font-size:.9375rem;line-height:1.8}.login-page__form-wrap[data-v-4f278031]{justify-content:center;align-items:center;padding:32px 24px;display:flex}.login-page__card[data-v-4f278031]{width:min(100%,420px);padding:28px 24px}.login-page__header[data-v-4f278031]{margin-bottom:20px}.login-page__title[data-v-4f278031]{margin:0 0 6px;font-size:1.25rem;font-weight:700}.login-page__subtitle[data-v-4f278031]{color:var(--color-text-muted);margin:0;font-size:.875rem;line-height:1.6}.login-page__input-wrap[data-v-4f278031]{color:var(--color-text-muted);position:relative}.login-page__field-icon[data-v-4f278031]{pointer-events:none;z-index:1;display:inline-flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.login-page__input[data-v-4f278031]{padding-right:42px}.login-page__input--with-toggle[data-v-4f278031]{padding-left:44px}.login-page__toggle-password[data-v-4f278031]{z-index:1;width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:color .15s,background-color .15s;display:inline-flex;position:absolute;top:50%;left:6px;transform:translateY(-50%)}.login-page__toggle-password[data-v-4f278031]:hover{color:var(--color-primary);background:var(--color-bg-muted,#0000000a)}.login-page__remember[data-v-4f278031]{color:var(--color-text-muted);align-items:center;gap:8px;font-size:.8125rem;display:flex}.login-page__remember input[data-v-4f278031]{width:16px;height:16px;accent-color:var(--color-primary)}.login-page__submit[data-v-4f278031]{width:100%;margin-top:4px}@media (width<=900px){.login-page[data-v-4f278031]{grid-template-columns:1fr}.login-page__form-wrap[data-v-4f278031]{order:2}.login-page__brand[data-v-4f278031]{order:1;min-height:auto;padding:28px 20px}.login-page__brand-text[data-v-4f278031]{font-size:.875rem}} diff --git a/dist/assets/OrderPricingView-2_6fSc39.js b/dist/assets/OrderPricingView-2_6fSc39.js new file mode 100644 index 0000000..fccd145 --- /dev/null +++ b/dist/assets/OrderPricingView-2_6fSc39.js @@ -0,0 +1 @@ +import{A as e,B as t,D as n,E as r,G as i,H as a,I as ee,K as o,L as s,O as c,P as l,Q as u,T as d,U as f,X as te,at as p,ct as m,et as h,ft as g,g as _,h as ne,it as v,j as re,k as ie,lt as y,n as b,o as x,q as S,st as ae,w as C,z as w}from"./index-dG7O4aC2.js";import{i as oe,t as se}from"./StatusBadge-D-XqK4sa.js";import{t as T}from"./AdminCurrencyInput-Bo4teStb.js";var ce={class:`pricing-page`},le={class:`admin-page-header`},ue={class:`admin-action-group`},de=[`disabled`],fe=[`disabled`],pe={class:`pricing-page__summary admin-card`},me={class:`pricing-page__order-meta`},he={class:`pricing-page__order-id`},ge={class:`pricing-page__customer`},_e={class:`admin-summary-grid`},ve={class:`admin-summary-item`},ye={class:`admin-summary-item__value`},be={class:`admin-summary-item`},xe={class:`admin-summary-item__value`},Se={class:`admin-summary-item`},Ce={class:`admin-summary-item__value`},we={class:`pricing-page__table admin-card desktop-only`},E={class:`admin-table-wrap`},D={class:`admin-table`},O=[`onUpdate:modelValue`],k=[`onClick`],Te={class:`compact-only admin-card-list pricing-page__compact-items`},Ee={class:`admin-card-item__header`},De={class:`admin-card-item__title`},Oe={class:`pricing-page__item-index`},ke={class:`admin-card-item__meta`},Ae={key:0},je={class:`pricing-page__compact-fields`},Me=[`onUpdate:modelValue`],Ne={key:0,class:`pricing-page__line-total`},Pe={class:`admin-card-item__actions`},Fe=[`onClick`],Ie={class:`admin-form-grid`},Le={class:`admin-form-field`},Re={class:`admin-form-field`},ze={class:`admin-footer-actions`},Be=[`disabled`],A=[`disabled`],Ve={class:`pricing-page__invoice-hint`},He={key:0,class:`admin-form__error`,role:`alert`},Ue={class:`admin-form__row`},We={class:`admin-form__field`},Ge={class:`admin-form__field`},Ke={class:`admin-form__field`},qe={class:`admin-form__row`},Je={class:`admin-form__field`},Ye={class:`admin-form__field`},Xe=[`disabled`],j=re(S({__name:`OrderPricingView`,setup(re){let S=r(),j=n(),M=e(),N=m(null),P=m([]),F=m(0),I=m(``),L=m(!1),R=m(``),z=m(!1),B=m(!1),V=m(!0),H=()=>({catalogCode:``,productName:``,color:``,requestedMeterage:100,confirmedMeterage:100}),U=ae(H()),W=w(()=>U.catalogCode.trim().length>0&&U.productName.trim().length>0&&U.requestedMeterage>0),G=w(()=>N.value?ne(N.value):null),K=w(()=>N.value?!oe.includes(N.value.status):!1),q=w(()=>!!N.value?.finalAmount&&!K.value);async function Ze(){V.value=!0;try{let e=await _.get(String(S.params.id));N.value=e,P.value=(e.items??[]).map(e=>({id:e.id,catalogCode:e.catalogCode,productName:e.productName,color:e.color,requestedMeterage:e.requestedMeterage,confirmedMeterage:e.confirmedMeterage,supplyPrice:e.supplyPrice,totalAmount:e.totalAmount,companyId:e.companyId,companyName:e.companyName})),F.value=e.shippingCost??0}catch(e){M.error(e instanceof C?e.message:`بارگذاری سفارش انجام نشد.`)}finally{V.value=!1}}te(()=>{Ze()});function Qe(){j.push(`/orders`)}async function J(e){let t=P.value.find(t=>t.id===e);await c({title:`حذف محصول`,message:t?`آیا از حذف «${t.productName}» از سفارش مطمئن هستید؟`:`آیا از حذف این محصول از سفارش مطمئن هستید؟`,confirmLabel:`حذف`,cancelLabel:`انصراف`,tone:`danger`})&&(P.value=P.value.filter(t=>t.id!==e))}function Y(){Object.assign(U,H()),R.value=``,L.value=!0}function X(){L.value=!1,R.value=``}function Z(){if(!W.value){R.value=`کالیته، نام محصول و متراژ الزامی هستند.`;return}P.value.push({id:`oi-${crypto.randomUUID().slice(0,8)}`,catalogCode:U.catalogCode.trim(),productName:U.productName.trim(),color:U.color.trim()||`—`,requestedMeterage:U.requestedMeterage,confirmedMeterage:U.confirmedMeterage||U.requestedMeterage,supplyPrice:null,totalAmount:null,companyId:N.value?.companyId,companyName:N.value?.companyName}),X()}async function Q(){if(!N.value)return;let e=P.value.filter(e=>!e.id.startsWith(`oi-`));if(!e.length){M.error(`اقلام قابل قیمت‌گذاری یافت نشد.`);return}z.value=!0;try{let t=await _.updatePricing(N.value.id,{items:e.map(e=>({id:e.id,confirmedMeterage:e.confirmedMeterage??void 0,supplyPrice:e.supplyPrice??void 0})),shippingCost:F.value,note:I.value.trim()||void 0});N.value=t,P.value=(t.items??[]).map(e=>({id:e.id,catalogCode:e.catalogCode,productName:e.productName,color:e.color,requestedMeterage:e.requestedMeterage,confirmedMeterage:e.confirmedMeterage,supplyPrice:e.supplyPrice,totalAmount:e.totalAmount,companyId:e.companyId,companyName:e.companyName})),M.success(`قیمت‌گذاری ذخیره شد.`)}catch(e){M.error(e instanceof C?e.message:`ذخیره قیمت‌گذاری انجام نشد.`)}finally{z.value=!1}}async function $(){if(N.value){if(!N.value.finalAmount){M.error(`ابتدا قیمت‌گذاری را ذخیره کنید تا مبلغ فاکتور مشخص شود.`);return}if(await c({title:`ارسال فاکتور برای مشتری`,message:`فاکتور ${b(N.value.finalAmount)} برای مشتری ارسال می‌شود و او روش تسویه را انتخاب می‌کند. ادامه می‌دهید؟`,confirmLabel:`ارسال فاکتور`,cancelLabel:`انصراف`})){B.value=!0;try{let e=await _.updateStatus(N.value.id,{status:`awaiting_settlement`,note:I.value.trim()||void 0});N.value=e,M.success(`فاکتور برای مشتری ارسال شد.`)}catch(e){M.error(e instanceof C?e.message:`ارسال فاکتور انجام نشد.`)}finally{B.value=!1}}}}return(e,n)=>(u(),f(`div`,ce,[t(`div`,le,[n[7]||=t(`div`,null,[t(`h1`,{class:`admin-page-header__title`},`قیمت‌گذاری سفارش`),t(`p`,{class:`admin-page-header__breadcrumb`},`سفارش‌ها / قیمت‌گذاری سفارش`)],-1),t(`div`,ue,[t(`button`,{type:`button`,class:`admin-btn admin-btn--success admin-btn--sm`,disabled:z.value||V.value,onClick:Q},g(z.value?`در حال ذخیره…`:`ذخیره قیمت‌گذاری`),9,de),t(`button`,{type:`button`,class:`admin-btn admin-btn--primary admin-btn--sm`,disabled:!q.value||B.value||z.value,onClick:$},g(B.value?`در حال ارسال…`:`ارسال فاکتور برای مشتری`),9,fe),t(`button`,{type:`button`,class:`admin-btn admin-btn--outline admin-btn--sm`,onClick:Qe},` بازگشت `)])]),G.value?(u(),f(s,{key:0},[t(`div`,pe,[t(`div`,me,[t(`div`,null,[t(`strong`,he,g(G.value.orderNumber),1),t(`p`,ge,g(G.value.customerName),1),o(se,{status:G.value.status},null,8,[`status`])])]),t(`div`,_e,[t(`div`,ve,[n[8]||=t(`p`,{class:`admin-summary-item__label`},`مجموع مبلغ`,-1),t(`p`,ye,g(G.value.totalAmount?y(b)(G.value.totalAmount):`—`),1)]),t(`div`,be,[n[9]||=t(`p`,{class:`admin-summary-item__label`},`هزینه حمل`,-1),t(`p`,xe,g(y(b)(F.value)),1)]),t(`div`,Se,[n[10]||=t(`p`,{class:`admin-summary-item__label`},`مبلغ نهایی`,-1),t(`p`,Ce,g(N.value?.finalAmount?y(b)(N.value.finalAmount):`—`),1)])])]),t(`div`,we,[t(`div`,E,[t(`table`,D,[n[11]||=t(`thead`,null,[t(`tr`,null,[t(`th`,null,`ردیف`),t(`th`,null,`شرکت`),t(`th`,null,`کالیته`),t(`th`,null,`محصول`),t(`th`,null,`رنگ / نوع`),t(`th`,null,`متراژ درخواستی`),t(`th`,null,`متراژ تأیید شده`),t(`th`,null,`قیمت تأمینی (واحد)`),t(`th`,null,`مبلغ کل (تومان)`),t(`th`,null,`عملیات`)])],-1),t(`tbody`,null,[(u(!0),f(s,null,h(P.value,(e,n)=>(u(),f(`tr`,{key:e.id},[t(`td`,null,g(n+1),1),t(`td`,null,g(e.companyName||N.value?.companyName||`—`),1),t(`td`,null,g(e.catalogCode),1),t(`td`,null,g(e.productName),1),t(`td`,null,g(e.color),1),t(`td`,null,g(y(x)(e.requestedMeterage)),1),t(`td`,null,[p(t(`input`,{"onUpdate:modelValue":t=>e.confirmedMeterage=t,type:`number`,class:`admin-input admin-input--sm`},null,8,O),[[l,e.confirmedMeterage,void 0,{number:!0}]])]),t(`td`,null,[o(T,{modelValue:e.supplyPrice,"onUpdate:modelValue":t=>e.supplyPrice=t,"input-class":`admin-input admin-input--sm`,placeholder:`—`},null,8,[`modelValue`,`onUpdate:modelValue`])]),t(`td`,null,g(e.totalAmount?y(b)(e.totalAmount):`—`),1),t(`td`,null,[t(`button`,{type:`button`,class:`admin-btn admin-btn--outline-danger admin-btn--xs`,onClick:t=>J(e.id)},` حذف `,8,k)])]))),128))])])]),t(`button`,{type:`button`,class:`admin-btn admin-btn--ghost pricing-page__add-btn`,onClick:Y},[o(d,{name:`products`,size:16}),n[12]||=i(` افزودن محصول `,-1)])]),t(`div`,Te,[(u(!0),f(s,null,h(P.value,(e,r)=>(u(),f(`article`,{key:e.id,class:`admin-card-item`},[t(`div`,Ee,[t(`p`,De,g(e.productName),1),t(`span`,Oe,`#`+g(r+1),1)]),t(`div`,ke,[e.companyName||N.value?.companyName?(u(),f(`span`,Ae,g(e.companyName||N.value?.companyName),1)):a(``,!0),t(`span`,null,`کالیته `+g(e.catalogCode),1),t(`span`,null,g(e.color),1),t(`span`,null,`درخواست: `+g(y(x)(e.requestedMeterage))+` متر`,1)]),t(`div`,je,[t(`label`,null,[n[13]||=i(` متراژ تأیید شده `,-1),p(t(`input`,{"onUpdate:modelValue":t=>e.confirmedMeterage=t,type:`number`,class:`admin-input`},null,8,Me),[[l,e.confirmedMeterage,void 0,{number:!0}]])]),t(`label`,null,[n[14]||=i(` قیمت تأمینی `,-1),o(T,{modelValue:e.supplyPrice,"onUpdate:modelValue":t=>e.supplyPrice=t,placeholder:`—`},null,8,[`modelValue`,`onUpdate:modelValue`])]),e.totalAmount?(u(),f(`p`,Ne,` مبلغ کل: `+g(y(b)(e.totalAmount)),1)):a(``,!0)]),t(`div`,Pe,[t(`button`,{type:`button`,class:`admin-btn admin-btn--outline-danger admin-btn--xs`,onClick:t=>J(e.id)},` حذف `,8,Fe)])]))),128)),t(`button`,{type:`button`,class:`admin-btn admin-btn--ghost`,onClick:Y},[o(d,{name:`products`,size:16}),n[15]||=i(` افزودن محصول `,-1)])]),t(`div`,Ie,[t(`div`,Le,[n[16]||=t(`label`,null,`هزینه حمل (تومان)`,-1),o(T,{modelValue:F.value,"onUpdate:modelValue":n[0]||=e=>F.value=e,"allow-empty":!1},null,8,[`modelValue`])]),t(`div`,Re,[n[17]||=t(`label`,null,`توضیحات برای مشتری`,-1),p(t(`textarea`,{"onUpdate:modelValue":n[1]||=e=>I.value=e,placeholder:`توضیحات خود را وارد کنید...`},null,512),[[l,I.value]])])]),t(`div`,ze,[t(`button`,{type:`button`,class:`admin-btn admin-btn--success`,disabled:z.value,onClick:Q},g(z.value?`در حال ذخیره…`:`ذخیره قیمت‌گذاری`),9,Be),t(`button`,{type:`button`,class:`admin-btn admin-btn--primary`,disabled:!q.value||B.value||z.value,onClick:$},g(B.value?`در حال ارسال…`:`ارسال فاکتور برای مشتری`),9,A)]),t(`p`,Ve,[K.value?(u(),f(s,{key:0},[i(` فاکتور این سفارش برای مشتری ارسال شده است؛ انتخاب روش تسویه در اختیار اوست. `)],64)):q.value?(u(),f(s,{key:1},[i(` مبلغ نهایی آماده است. با ارسال فاکتور، مشتری برای انتخاب نقدی یا چک مطلع می‌شود. `)],64)):(u(),f(s,{key:2},[i(` ابتدا قیمت واحد اقلام و هزینه حمل را ذخیره کنید تا مبلغ نهایی فاکتور ساخته شود. `)],64))])],64)):a(``,!0),o(ie,{open:L.value,title:`افزودن محصول`,size:`lg`,onClose:X},{footer:v(()=>[t(`button`,{type:`button`,class:`admin-btn admin-btn--outline`,onClick:X},` انصراف `),t(`button`,{type:`button`,class:`admin-btn admin-btn--primary`,disabled:!W.value,onClick:Z},` افزودن به سفارش `,8,Xe)]),default:v(()=>[t(`form`,{class:`admin-form`,onSubmit:ee(Z,[`prevent`])},[R.value?(u(),f(`p`,He,g(R.value),1)):a(``,!0),t(`div`,Ue,[t(`div`,We,[n[18]||=t(`label`,{for:`catalog-code`},[i(`کالیته `),t(`span`,{class:`admin-form__required`},`*`)],-1),p(t(`input`,{id:`catalog-code`,"onUpdate:modelValue":n[2]||=e=>U.catalogCode=e,type:`text`,class:`admin-input`,placeholder:`377`},null,512),[[l,U.catalogCode]])]),t(`div`,Ge,[n[19]||=t(`label`,{for:`product-name`},[i(`محصول `),t(`span`,{class:`admin-form__required`},`*`)],-1),p(t(`input`,{id:`product-name`,"onUpdate:modelValue":n[3]||=e=>U.productName=e,type:`text`,class:`admin-input`,placeholder:`پارچه آبی`},null,512),[[l,U.productName]])])]),t(`div`,Ke,[n[20]||=t(`label`,{for:`product-color`},`رنگ / نوع`,-1),p(t(`input`,{id:`product-color`,"onUpdate:modelValue":n[4]||=e=>U.color=e,type:`text`,class:`admin-input`,placeholder:`آبی`},null,512),[[l,U.color]])]),t(`div`,qe,[t(`div`,Je,[n[21]||=t(`label`,{for:`requested-meterage`},[i(` متراژ درخواستی `),t(`span`,{class:`admin-form__required`},`*`)],-1),p(t(`input`,{id:`requested-meterage`,"onUpdate:modelValue":n[5]||=e=>U.requestedMeterage=e,type:`number`,min:`1`,class:`admin-input`},null,512),[[l,U.requestedMeterage,void 0,{number:!0}]])]),t(`div`,Ye,[n[22]||=t(`label`,{for:`confirmed-meterage`},`متراژ تأیید شده`,-1),p(t(`input`,{id:`confirmed-meterage`,"onUpdate:modelValue":n[6]||=e=>U.confirmedMeterage=e,type:`number`,min:`0`,class:`admin-input`},null,512),[[l,U.confirmedMeterage,void 0,{number:!0}]])])])],32)]),_:1},8,[`open`])]))}}),[[`__scopeId`,`data-v-334518e1`]]);export{j as default}; \ No newline at end of file diff --git a/dist/assets/OrderPricingView-CoLjkjhh.css b/dist/assets/OrderPricingView-CoLjkjhh.css new file mode 100644 index 0000000..b2c2ce2 --- /dev/null +++ b/dist/assets/OrderPricingView-CoLjkjhh.css @@ -0,0 +1 @@ +.pricing-page__summary[data-v-334518e1]{margin-bottom:16px;padding:20px}.pricing-page__order-meta[data-v-334518e1]{margin-bottom:16px}.pricing-page__order-id[data-v-334518e1]{margin-bottom:4px;font-size:1rem;display:block}.pricing-page__customer[data-v-334518e1]{color:var(--color-text-muted);margin:0 0 8px;font-size:.875rem}.pricing-page__table[data-v-334518e1]{margin-bottom:16px;padding:0;overflow:hidden}.pricing-page__add-btn[data-v-334518e1]{align-items:center;gap:6px;margin:12px 16px 16px;display:inline-flex}.pricing-page__compact-items[data-v-334518e1]{margin-bottom:16px}.pricing-page__item-index[data-v-334518e1]{color:var(--color-text-muted);font-size:.75rem}.pricing-page__compact-fields[data-v-334518e1]{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.pricing-page__compact-fields label[data-v-334518e1]{color:var(--color-text-muted);flex-direction:column;gap:6px;min-width:0;font-size:.75rem;display:flex}.pricing-page__compact-fields[data-v-334518e1] .admin-input,.pricing-page__compact-fields[data-v-334518e1] input{width:100%;min-width:0}.pricing-page__invoice-hint[data-v-334518e1]{color:var(--color-text-muted);margin:12px 0 0;font-size:.75rem;line-height:1.8}.pricing-page__line-total[data-v-334518e1]{color:var(--color-text);grid-column:1/-1;margin:0;font-size:.875rem;font-weight:700}@media (width<=479px){.pricing-page__compact-fields[data-v-334518e1]{grid-template-columns:1fr}} diff --git a/dist/assets/OrdersView-BDNu8Skn.css b/dist/assets/OrdersView-BDNu8Skn.css new file mode 100644 index 0000000..620fc1d --- /dev/null +++ b/dist/assets/OrdersView-BDNu8Skn.css @@ -0,0 +1 @@ +.order-detail[data-v-5cc8f41e]{flex-direction:column;gap:16px;display:flex}.order-detail__hero[data-v-5cc8f41e]{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-elevated,var(--color-bg));flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.order-detail__id[data-v-5cc8f41e]{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:0;font-size:1rem;display:flex}.order-detail__id strong[data-v-5cc8f41e]{line-height:1.3}.order-detail__raw-status[data-v-5cc8f41e]{color:var(--color-text-muted);margin:0;font-size:.75rem}.order-detail__actions[data-v-5cc8f41e]{flex-wrap:wrap;gap:8px;display:flex}.order-detail__actions .admin-btn[data-v-5cc8f41e]{min-height:40px}.order-detail__panels[data-v-5cc8f41e]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.order-detail__section[data-v-5cc8f41e]{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);margin:0;padding:14px}.order-detail__section-title[data-v-5cc8f41e]{color:var(--color-text);margin:0 0 12px;font-size:.8125rem;font-weight:700}.order-detail__info[data-v-5cc8f41e]{gap:10px;display:grid}.order-detail__info-row[data-v-5cc8f41e]{grid-template-columns:auto minmax(72px,auto) 1fr;align-items:center;gap:8px;font-size:.8125rem;display:grid}.order-detail__info-row[data-v-5cc8f41e]:not(:has(svg)){grid-template-columns:minmax(72px,auto) 1fr}.order-detail__info-label[data-v-5cc8f41e]{color:var(--color-text-muted)}.order-detail__info-value[data-v-5cc8f41e]{color:var(--color-text);word-break:break-word;font-weight:600}.order-detail__info-value--phone[data-v-5cc8f41e]{text-align:right;justify-self:stretch}.order-detail__table[data-v-5cc8f41e]{overflow-x:auto}.order-detail__items[data-v-5cc8f41e]{gap:8px;margin:0;padding:0;list-style:none;display:grid}.order-detail__item[data-v-5cc8f41e]{border-radius:var(--radius-sm);background:var(--color-elevated,var(--color-bg));border:1px solid var(--color-border);padding:12px}.order-detail__item-head[data-v-5cc8f41e]{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;font-size:.875rem;display:flex}.order-detail__item-head span[data-v-5cc8f41e]{color:var(--color-text-muted);font-size:.75rem}.order-detail__item-meta[data-v-5cc8f41e]{color:var(--color-text-muted);flex-wrap:wrap;gap:8px 12px;font-size:.75rem;display:flex}.order-detail__item-total[data-v-5cc8f41e]{color:var(--color-text);margin-inline-start:auto;font-weight:700}.order-detail__status-head[data-v-5cc8f41e]{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.order-detail__status-head .order-detail__section-title[data-v-5cc8f41e]{margin:0}.order-detail__manual[data-v-5cc8f41e]{color:var(--color-text-muted);cursor:pointer;align-items:center;gap:6px;font-size:.8125rem;display:inline-flex}.order-detail__manual input[data-v-5cc8f41e]{width:15px;height:15px;accent-color:var(--color-primary)}.order-detail__status-hint[data-v-5cc8f41e]{color:var(--color-text-muted);margin:0 0 12px;font-size:.75rem;line-height:1.7}.order-detail__status-form[data-v-5cc8f41e]{gap:12px;display:grid}@media (width<=639px){.order-detail__panels[data-v-5cc8f41e]{grid-template-columns:1fr}.order-detail__hero[data-v-5cc8f41e]{flex-direction:column}.order-detail__actions[data-v-5cc8f41e]{width:100%}.order-detail__actions .admin-btn[data-v-5cc8f41e]{flex:1}}.orders-page[data-v-9f4b4f0a]{min-height:calc(100dvh - var(--header-height) - 48px)}.orders-page__list-panel[data-v-9f4b4f0a]{min-width:0;padding:20px}.orders-page__list-header[data-v-9f4b4f0a]{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.orders-page__list-title[data-v-9f4b4f0a]{margin:0;font-size:1.125rem;font-weight:700}.orders-page__breadcrumb[data-v-9f4b4f0a]{color:var(--color-text-muted);margin:4px 0 0;font-size:.8125rem}.orders-page__list-actions[data-v-9f4b4f0a]{gap:8px;display:flex}.orders-page__search[data-v-9f4b4f0a]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-border-light);color:var(--color-text-muted);align-items:center;gap:10px;margin-bottom:16px;padding:10px 14px;display:flex}.orders-page__search-input[data-v-9f4b4f0a]{background:0 0;border:none;outline:none;flex:1;font-size:.875rem}.orders-page__actions-cell[data-v-9f4b4f0a]{width:48px}.orders-page__more-btn[data-v-9f4b4f0a]{color:var(--color-text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;padding:4px}.orders-page__more-btn[data-v-9f4b4f0a]:hover,.orders-page__more-btn[aria-expanded=true][data-v-9f4b4f0a]{color:var(--color-text);background:var(--color-border-light)}.admin-table tbody tr[data-v-9f4b4f0a]{cursor:pointer}.admin-table tbody tr.is-selected[data-v-9f4b4f0a]{background:var(--color-primary-soft)}.orders-page__modal-breadcrumb[data-v-9f4b4f0a]{margin:0 0 16px}.orders-page__menu{z-index:300000;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);gap:2px;min-width:160px;padding:6px;display:grid;box-shadow:0 10px 30px #00000040}.orders-page__menu-item{color:var(--color-text);text-align:start;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;padding:8px 10px;font-size:.8125rem}.orders-page__menu-item:hover{background:var(--color-primary-soft)}.compact-orders__tabs[data-v-e1d369c4]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);border-bottom:1px solid var(--color-border);margin-bottom:16px;padding:4px 8px 0;overflow:visible}.orders-page__search[data-v-e1d369c4]{color:var(--color-text-muted);align-items:center;gap:10px;margin-bottom:12px;padding:10px 14px;display:flex}.orders-page__search-input[data-v-e1d369c4]{color:var(--color-text);background:0 0;border:none;outline:none;flex:1;font-size:.875rem}.admin-card-item[data-v-e1d369c4]{cursor:pointer;text-align:right}.admin-detail-panel__inner[data-v-e1d369c4]{background:var(--color-bg);flex-direction:column;height:100%;display:flex}.compact-orders__modal-breadcrumb[data-v-e1d369c4]{color:var(--color-text-muted);margin:0 0 16px;font-size:.8125rem}@media (width>=768px){.compact-orders__mobile-panel[data-v-e1d369c4]{display:none!important}}.admin-form__hint[data-v-b9663b5b]{color:var(--color-text-muted);margin:6px 0 0;font-size:.75rem} diff --git a/dist/assets/OrdersView-D0Eztocg.js b/dist/assets/OrdersView-D0Eztocg.js new file mode 100644 index 0000000..5963eee --- /dev/null +++ b/dist/assets/OrdersView-D0Eztocg.js @@ -0,0 +1 @@ +import{$ as e,A as t,B as n,D as r,E as i,G as a,H as o,I as s,J as c,K as l,L as u,M as d,P as f,Q as p,R as m,S as h,T as g,U as _,V as v,W as y,X as b,Y as x,Z as S,a as C,at as w,ct as T,dt as E,et as D,f as O,ft as k,g as A,h as j,i as M,it as N,j as P,k as F,lt as I,n as L,o as R,ot as z,p as B,q as V,rt as H,st as U,ut as W,w as G,z as K}from"./index-dG7O4aC2.js";import{t as q}from"./AdminSelect-BsjBHdZj.js";import{r as J}from"./adminLabels-Cz9ccm1Z.js";import{a as Y,n as X,o as ee,r as te,s as Z,t as Q}from"./StatusBadge-D-XqK4sa.js";function ne(){let e=i(),n=r(),a=t(),o=T([]),s=T([]),c=T([]),l=T(`all`),u=T(``),d=T(``),f=T(!1),p=T(!1),m=T(!1),h=T(``),g=T(!1),_=()=>({customerId:``,customerName:``,companyId:o.value[0]?.id??``,settlementMethod:`check`,meterage:1e3,customerPhone:``}),v=U(_()),y=K(()=>v.customerId.length>0&&v.companyId.length>0),x=K(()=>{let e=[...s.value];return e.sort((e,t)=>Number(t.isActive)-Number(e.isActive)||e.name.localeCompare(t.name,`fa`)),e});function S(e){let t=s.value.find(t=>t.id===e);v.customerId=e,v.customerName=t?.name??``,v.customerPhone=t?.phone??``}async function C(){try{s.value=await B.list()}catch(e){a.error(e instanceof G?e.message:`بارگذاری مشتریان انجام نشد.`)}}let w=K(()=>{let e=c.value;if(l.value!==`all`&&(e=e.filter(e=>e.status===l.value)),d.value.trim()){let t=d.value.trim();e=e.filter(e=>e.orderNumber.includes(t)||e.customerName.includes(t))}return e}),E=K(()=>c.value.find(e=>e.id===u.value)??null);function D(e){let t=e.trim();if(t)return c.value.find(e=>e.id===t||e.orderNumber.toUpperCase()===t.toUpperCase())}async function k(){let t=typeof e.query.order==`string`?e.query.order:``;if(!t||!c.value.length)return;let r=D(t);if(!r){d.value=t;return}let i=typeof e.query.focus==`string`?e.query.focus:``;if(i===`pricing`){await n.replace(`/orders/${r.id}/pricing`);return}if(i===`checks`){await n.replace(`/orders/${r.id}/checks`);return}P(r),d.value=r.orderNumber}async function M(){try{let[e,t,n]=await Promise.all([A.list(),O.list(),B.list()]);c.value=e.map(e=>j(e)),o.value=t,s.value=n,!v.companyId&&t[0]&&(v.companyId=t[0].id),await k()}catch(e){a.error(e instanceof G?e.message:`بارگذاری سفارش‌ها انجام نشد.`)}}b(()=>{M()}),H(()=>[e.query.order,e.query.focus],()=>{k()});function N(e,t=!1){u.value=e.id,t&&(p.value=!0)}function P(e){u.value=e.id,m.value=!0}function F(){p.value=!1}function I(){m.value=!1}function L(e){return e?e===`check`?`چکی`:`نقدی`:`انتخاب‌نشده`}let R=T(!1);async function z(e){if(R.value)return null;R.value=!0;try{let t=await A.updateStatus(e.orderId,{status:e.status,note:e.note,reason:e.reason,force:e.force}),n=j(t),r=c.value.findIndex(t=>t.id===e.orderId);return r>=0&&(c.value[r]={...c.value[r],...n}),a.success(`وضعیت سفارش به «${Z(e.status)}» تغییر کرد.`),n}catch(e){return a.error(e instanceof G?e.message:`تغییر وضعیت انجام نشد.`),null}finally{R.value=!1}}function V(e){n.push(`/orders/${e.id}/pricing`)}function W(e){n.push(`/orders/${e.id}/checks`)}function q(e){n.push({path:`/cash-payments`,query:{order:e.orderNumber}})}function J(){Object.assign(v,_()),h.value=``,f.value=!0,C()}function Y(){f.value=!1,h.value=``}async function X(){if(!y.value){h.value=`انتخاب مشتری و شرکت الزامی است.`;return}g.value=!0;try{let e=await A.create({companyId:v.companyId,customerId:v.customerId||void 0,userId:v.customerId||void 0,customerName:v.customerName.trim(),customerPhone:v.customerPhone.trim()||void 0,settlementMethod:v.settlementMethod,meterage:v.meterage}),t=j(e);c.value.unshift(t),u.value=t.id,a.success(`سفارش جدید ثبت شد.`),Y()}catch(e){a.error(e instanceof G?e.message:`ثبت سفارش انجام نشد.`)}finally{g.value=!1}}return{companies:o,customers:s,activeCustomers:x,applyCustomer:S,loadCustomers:C,orderList:c,activeTab:l,selectedOrderId:u,searchQuery:d,showAddModal:f,showDetailPanel:p,showDetailModal:m,formError:h,form:v,isFormValid:y,filteredOrders:w,selectedOrder:E,selectOrder:N,openOrderDetail:P,closeDetailPanel:F,closeDetailModal:I,settlementLabel:L,changeStatus:z,statusSaving:R,goPricing:V,goChecks:W,goCashReceipt:q,openAddModal:J,closeAddModal:Y,submitAddOrder:X,saving:g}}var re=Symbol(`orders-page`);function ie(){let t=ne();return e(re,t),t}function ae(){let e=c(re);if(!e)throw Error(`Orders page context is missing`);return e}var oe={class:`order-detail__hero`},$={class:`order-detail__hero-text`},se={class:`order-detail__id`},ce={key:0,class:`order-detail__raw-status`},le={class:`order-detail__actions no-print`},ue={class:`order-detail__panels`},de={class:`order-detail__section`},fe={class:`order-detail__info`},pe={class:`order-detail__info-row`},me={class:`order-detail__info-value`},he={class:`order-detail__info-row`},ge={class:`order-detail__info-value order-detail__info-value--phone`,dir:`ltr`},_e={class:`order-detail__info-row`},ve={class:`order-detail__info-value`},ye={class:`order-detail__info-row`},be={class:`order-detail__info-value`},xe={class:`order-detail__section`},Se={class:`order-detail__info`},Ce={class:`order-detail__info-row`},we={class:`order-detail__info-value`},Te={class:`order-detail__info-row`},Ee={class:`order-detail__info-value`},De={class:`order-detail__info-row`},Oe={class:`order-detail__info-value`},ke={class:`order-detail__info-row`},Ae={class:`order-detail__info-value`},je={key:0,class:`order-detail__section`},Me={key:0,class:`admin-table-wrap order-detail__table`},Ne={class:`admin-table admin-table--compact`},Pe={key:1,class:`order-detail__items`},Fe={class:`order-detail__item-head`},Ie={class:`order-detail__item-meta`},Le={key:0},Re={key:1},ze={key:2,class:`order-detail__item-total`},Be={class:`order-detail__section order-detail__status no-print`},Ve={class:`order-detail__status-head`},He={class:`order-detail__manual`},Ue={key:0,class:`order-detail__status-hint`},We={key:1,class:`order-detail__status-hint`},Ge={key:2,class:`order-detail__status-form`},Ke={class:`admin-form__field`},qe={class:`admin-form__field`},Je={for:`status-note`},Ye=[`disabled`],Xe=P(V({__name:`OrderDetailContent`,props:{order:{},settlementLabel:{},layout:{default:`compact`},statusSaving:{type:Boolean}},emits:[`pricing`,`checks`,`cashReceipt`,`status`],setup(e,{emit:t}){let r=e,i=t,a=T(!1),s=T(``),c=T(``),m=Object.keys(Y),h=K(()=>r.order.allowedTransitions??[]),v=K(()=>a.value?m.filter(e=>e!==r.order.rawStatus):[...h.value]),y=K(()=>[{value:``,label:`انتخاب کنید…`},...v.value.map(e=>({value:e,label:Z(e)}))]),b=K(()=>a.value),x=K(()=>!!s.value&&(!b.value||c.value.trim().length>0)),S=K(()=>r.layout===`desktop`),E=K(()=>X[r.order.status]?.label??r.order.status),O=K(()=>{let e=Z(r.order.rawStatus);return!e||e===E.value?``:e}),A=K(()=>{let e=r.order.customerType;return e?J[e]??r.order.customerType??`—`:`—`}),j=K(()=>ee(r.order)),M=K(()=>r.order.settlementMethod===`check`),N=K(()=>r.order.settlementMethod===`cash`),P=K(()=>j.value?`pricing`:M.value?`checks`:N.value?`cash`:null);H([()=>r.order.id,a],()=>{s.value=``,c.value=``});function F(){if(!s.value||!x.value)return;let e=c.value.trim()||void 0;i(`status`,{orderId:r.order.id,status:s.value,note:e,reason:a.value?e:void 0,force:a.value||void 0}),s.value=``,c.value=``}return(t,r)=>(p(),_(`div`,{class:W([`order-detail`,`order-detail--${e.layout}`])},[n(`header`,oe,[n(`div`,$,[n(`div`,se,[n(`strong`,null,k(e.order.orderNumber),1),l(Q,{status:e.order.status},null,8,[`status`])]),O.value?(p(),_(`p`,ce,k(O.value),1)):o(``,!0)]),n(`div`,le,[j.value?(p(),_(`button`,{key:0,type:`button`,class:W([`admin-btn admin-btn--sm`,P.value===`pricing`?`admin-btn--primary`:`admin-btn--outline`]),onClick:r[0]||=e=>i(`pricing`)},` قیمت‌گذاری سفارش `,2)):o(``,!0),M.value?(p(),_(`button`,{key:1,type:`button`,class:W([`admin-btn admin-btn--sm`,P.value===`checks`?`admin-btn--primary`:`admin-btn--outline`]),onClick:r[1]||=e=>i(`checks`)},` مدیریت چک‌ها `,2)):o(``,!0),N.value?(p(),_(`button`,{key:2,type:`button`,class:W([`admin-btn admin-btn--sm`,P.value===`cash`?`admin-btn--primary`:`admin-btn--outline`]),onClick:r[2]||=e=>i(`cashReceipt`)},` رسید پرداخت `,2)):o(``,!0)])]),n(`div`,ue,[n(`section`,de,[r[10]||=n(`h3`,{class:`order-detail__section-title`},`اطلاعات مشتری`,-1),n(`div`,fe,[n(`div`,pe,[l(g,{name:`building`,size:16}),r[6]||=n(`span`,{class:`order-detail__info-label`},`مشتری`,-1),n(`span`,me,k(e.order.customerName),1)]),n(`div`,he,[l(g,{name:`phone`,size:16}),r[7]||=n(`span`,{class:`order-detail__info-label`},`تلفن`,-1),n(`span`,ge,k(e.order.customerPhone??`—`),1)]),n(`div`,_e,[l(g,{name:`id-card`,size:16}),r[8]||=n(`span`,{class:`order-detail__info-label`},`شناسه ملی`,-1),n(`span`,ve,k(e.order.customerNationalId??`—`),1)]),n(`div`,ye,[l(g,{name:`user`,size:16}),r[9]||=n(`span`,{class:`order-detail__info-label`},`نوع مشتری`,-1),n(`span`,be,k(A.value),1)])])]),n(`section`,xe,[r[15]||=n(`h3`,{class:`order-detail__section-title`},`اطلاعات سفارش`,-1),n(`div`,Se,[n(`div`,Ce,[r[11]||=n(`span`,{class:`order-detail__info-label`},`شرکت`,-1),n(`span`,we,k(e.order.companyName),1)]),n(`div`,Te,[r[12]||=n(`span`,{class:`order-detail__info-label`},`روش تسویه`,-1),n(`span`,Ee,k(e.settlementLabel(e.order.settlementMethod)),1)]),n(`div`,De,[r[13]||=n(`span`,{class:`order-detail__info-label`},`متراژ کل`,-1),n(`span`,Oe,k(I(C)(e.order.meterage)),1)]),n(`div`,ke,[r[14]||=n(`span`,{class:`order-detail__info-label`},`مبلغ کل`,-1),n(`span`,Ae,k(e.order.totalAmount==null?`پس از قیمت‌گذاری`:I(L)(e.order.totalAmount)),1)])])])]),e.order.items?.length?(p(),_(`section`,je,[r[17]||=n(`h3`,{class:`order-detail__section-title`},`محصولات سفارش`,-1),S.value?(p(),_(`div`,Me,[n(`table`,Ne,[r[16]||=n(`thead`,null,[n(`tr`,null,[n(`th`,null,`شرکت`),n(`th`,null,`کالیته`),n(`th`,null,`محصول`),n(`th`,null,`رنگ`),n(`th`,null,`متراژ`),n(`th`,null,`قیمت`),n(`th`,null,`مبلغ`)])],-1),n(`tbody`,null,[(p(!0),_(u,null,D(e.order.items,t=>(p(),_(`tr`,{key:t.id},[n(`td`,null,k(t.companyName||e.order.companyName),1),n(`td`,null,k(t.catalogCode),1),n(`td`,null,k(t.productName),1),n(`td`,null,k(t.color),1),n(`td`,null,k(I(R)(t.confirmedMeterage??t.requestedMeterage)),1),n(`td`,null,k(t.supplyPrice==null?`—`:I(L)(t.supplyPrice)),1),n(`td`,null,k(t.totalAmount==null?`—`:I(L)(t.totalAmount)),1)]))),128))])])])):(p(),_(`ul`,Pe,[(p(!0),_(u,null,D(e.order.items,e=>(p(),_(`li`,{key:e.id,class:`order-detail__item`},[n(`div`,Fe,[n(`strong`,null,k(e.productName),1),n(`span`,null,k(e.catalogCode),1)]),n(`div`,Ie,[e.companyName?(p(),_(`span`,Le,k(e.companyName),1)):o(``,!0),n(`span`,null,k(e.color),1),n(`span`,null,k(I(C)(e.confirmedMeterage??e.requestedMeterage)),1),e.supplyPrice==null?o(``,!0):(p(),_(`span`,Re,k(I(L)(e.supplyPrice)),1)),e.totalAmount==null?o(``,!0):(p(),_(`span`,ze,k(I(L)(e.totalAmount)),1))])]))),128))]))])):o(``,!0),n(`section`,Be,[n(`div`,Ve,[r[19]||=n(`h3`,{class:`order-detail__section-title`},`تغییر وضعیت`,-1),n(`label`,He,[w(n(`input`,{"onUpdate:modelValue":r[3]||=e=>a.value=e,type:`checkbox`},null,512),[[d,a.value]]),r[18]||=n(`span`,null,`تغییر دستی`,-1)])]),a.value?(p(),_(`p`,Ue,` این گذر خارج از روال استاندارد است؛ ثبت یادداشت اجباری است. `)):v.value.length?o(``,!0):(p(),_(`p`,We,` در این وضعیت گذر خودکاری وجود ندارد. برای تغییر، حالت دستی را فعال کنید. `)),v.value.length?(p(),_(`div`,Ge,[n(`div`,Ke,[r[20]||=n(`label`,null,`وضعیت بعدی`,-1),l(q,{modelValue:s.value,"onUpdate:modelValue":r[4]||=e=>s.value=e,block:``,"aria-label":`وضعیت بعدی`,placeholder:`انتخاب کنید…`,options:y.value},null,8,[`modelValue`,`options`])]),n(`div`,qe,[n(`label`,Je,` یادداشت`+k(b.value?` (اجباری)`:` (اختیاری)`),1),w(n(`input`,{id:`status-note`,"onUpdate:modelValue":r[5]||=e=>c.value=e,type:`text`,class:`admin-input`,placeholder:`دلیل یا توضیح این تغییر`},null,512),[[f,c.value]])]),n(`button`,{type:`button`,class:`admin-btn admin-btn--primary admin-btn--sm`,disabled:!x.value||e.statusSaving,onClick:F},k(e.statusSaving?`در حال ثبت…`:`ثبت وضعیت`),9,Ye)])):o(``,!0)])],2))}}),[[`__scopeId`,`data-v-5cc8f41e`]]),Ze={class:`orders-page`},Qe={class:`orders-page__list-panel admin-card`},$e={class:`orders-page__list-header`},et={class:`orders-page__list-actions`},tt={type:`button`,class:`admin-btn admin-btn--outline admin-btn--sm`},nt={class:`orders-page__search`},rt={class:`admin-tabs`},it=[`onClick`],at={class:`admin-table-wrap`},ot={class:`admin-table admin-table--compact`},st=[`onClick`],ct={class:`orders-page__actions-cell`},lt=[`aria-expanded`,`onClick`],ut={type:`button`,class:`admin-btn admin-btn--outline admin-btn--sm`},dt=P(V({__name:`DesktopOrdersPage`,setup(e){let t=h(`(min-width: 1280px)`),{activeTab:r,selectedOrderId:i,searchQuery:c,filteredOrders:d,selectedOrder:O,showDetailModal:A,openOrderDetail:j,closeDetailModal:P,settlementLabel:R,goPricing:B,goChecks:V,goCashReceipt:H,changeStatus:U,statusSaving:G,openAddModal:K}=ae(),q=T(null),J=T({});function Y(){q.value=null}async function X(e,t){if(t.stopPropagation(),q.value?.id===e.id){Y();return}let n=t.currentTarget.getBoundingClientRect();q.value=e,await x();let r=Math.min(Math.max(8,n.right-168),window.innerWidth-168-8);J.value={position:`fixed`,top:`${n.bottom+4}px`,left:`${r}px`,width:`168px`}}function Z(){Y()}b(()=>{document.addEventListener(`click`,Z),window.addEventListener(`scroll`,Y,!0),window.addEventListener(`resize`,Y)}),S(()=>{document.removeEventListener(`click`,Z),window.removeEventListener(`scroll`,Y,!0),window.removeEventListener(`resize`,Y)});function ne(){O.value&&(P(),B(O.value))}function re(){O.value&&(P(),V(O.value))}function ie(){O.value&&(P(),H(O.value))}function oe(){if(!O.value)return;document.documentElement.classList.add(`printing-order-detail`);let e=()=>{document.documentElement.classList.remove(`printing-order-detail`),window.removeEventListener(`afterprint`,e)};window.addEventListener(`afterprint`,e),window.setTimeout(e,6e4),window.print()}function $(e){let t=q.value;if(t){if(Y(),e===`detail`){j(t);return}if(e===`pricing`){B(t);return}if(e===`checks`){V(t);return}H(t)}}return(e,h)=>(p(),_(`div`,Ze,[n(`div`,Qe,[n(`div`,$e,[h[8]||=n(`div`,null,[n(`h2`,{class:`orders-page__list-title`},`سفارش‌ها`),n(`p`,{class:`orders-page__breadcrumb`},`داشبورد / سفارش‌ها`)],-1),n(`div`,et,[n(`button`,tt,[l(g,{name:`filter`,size:16}),h[7]||=a(` فیلتر `,-1)]),n(`button`,{type:`button`,class:`admin-btn admin-btn--primary admin-btn--sm`,onClick:h[0]||=(...e)=>I(K)&&I(K)(...e)},` سفارش جدید `)])]),n(`div`,nt,[l(g,{name:`search`,size:18}),w(n(`input`,{"onUpdate:modelValue":h[1]||=e=>z(c)?c.value=e:null,type:`search`,placeholder:`جستجو در شماره سفارش، مشتری...`,class:`orders-page__search-input`},null,512),[[f,I(c)]])]),n(`div`,rt,[(p(!0),_(u,null,D(I(te),e=>(p(),_(`button`,{key:e.key,type:`button`,class:W([`admin-tab`,{active:I(r)===e.key}]),onClick:t=>r.value=e.key},[a(k(e.label)+` `,1),`count`in e&&e.count?(p(),_(u,{key:0},[a(` (`+k(e.count)+`)`,1)],64)):o(``,!0)],10,it))),128))]),n(`div`,at,[n(`table`,ot,[h[9]||=n(`thead`,null,[n(`tr`,null,[n(`th`,null,`شماره سفارش`),n(`th`,null,`مشتری`),n(`th`,null,`روش تسویه`),n(`th`,null,`مبلغ کل`),n(`th`,null,`متراژ`),n(`th`,null,`وضعیت`),n(`th`,null,`تاریخ ثبت`),n(`th`,null,`عملیات`)])],-1),n(`tbody`,null,[(p(!0),_(u,null,D(I(d),e=>(p(),_(`tr`,{key:e.id,class:W({"is-selected":I(i)===e.id}),onClick:t=>I(j)(e)},[n(`td`,null,k(e.orderNumber),1),n(`td`,null,k(e.customerName),1),n(`td`,null,k(I(R)(e.settlementMethod)),1),n(`td`,null,k(e.totalAmount?I(L)(e.totalAmount):`—`),1),n(`td`,null,k(I(C)(e.meterage)),1),n(`td`,null,[l(Q,{status:e.status},null,8,[`status`])]),n(`td`,null,k(I(M)(e.createdAt)),1),n(`td`,ct,[n(`button`,{type:`button`,class:`orders-page__more-btn`,"aria-expanded":q.value?.id===e.id,"aria-haspopup":`menu`,"aria-label":`عملیات سفارش`,onClick:t=>X(e,t)},[l(g,{name:`more`,size:18})],8,lt)])],10,st))),128))])])]),h[10]||=y(`
نمایش ۱ تا ۷ از ۱۰۳ سفارش
...
`,1)]),(p(),v(m,{to:`body`},[q.value?(p(),_(`div`,{key:0,class:`orders-page__menu`,role:`menu`,style:E(J.value),onClick:h[6]||=s(()=>{},[`stop`])},[n(`button`,{type:`button`,role:`menuitem`,class:`orders-page__menu-item`,onClick:h[2]||=e=>$(`detail`)},` جزئیات سفارش `),q.value&&I(ee)(q.value)?(p(),_(`button`,{key:0,type:`button`,role:`menuitem`,class:`orders-page__menu-item`,onClick:h[3]||=e=>$(`pricing`)},` قیمت‌گذاری `)):o(``,!0),q.value.settlementMethod===`check`?(p(),_(`button`,{key:1,type:`button`,role:`menuitem`,class:`orders-page__menu-item`,onClick:h[4]||=e=>$(`checks`)},` مدیریت چک‌ها `)):o(``,!0),q.value.settlementMethod===`cash`?(p(),_(`button`,{key:2,type:`button`,role:`menuitem`,class:`orders-page__menu-item`,onClick:h[5]||=e=>$(`cash`)},` رسید پرداخت `)):o(``,!0)],4)):o(``,!0)])),l(F,{open:I(t)&&I(A)&&!!I(O),title:`جزئیات سفارش`,size:`xl`,onClose:I(P)},{footer:N(()=>[n(`button`,ut,[l(g,{name:`sms`,size:16}),h[12]||=a(` ارسال پیامک `,-1)]),n(`button`,{type:`button`,class:`admin-btn admin-btn--outline admin-btn--sm`,onClick:oe},[l(g,{name:`print`,size:16}),h[13]||=a(` چاپ `,-1)])]),default:N(()=>[I(O)?(p(),_(u,{key:0},[h[11]||=n(`p`,{class:`orders-page__breadcrumb orders-page__modal-breadcrumb`},` سفارش‌ها / جزئیات سفارش `,-1),l(Xe,{order:I(O),layout:`desktop`,"settlement-label":I(R),"status-saving":I(G),onPricing:ne,onChecks:re,onCashReceipt:ie,onStatus:I(U)},null,8,[`order`,`settlement-label`,`status-saving`,`onStatus`])],64)):o(``,!0)]),_:1},8,[`open`,`onClose`])]))}}),[[`__scopeId`,`data-v-9f4b4f0a`]]),ft={class:`compact-orders`},pt={class:`compact-page-header`},mt={class:`compact-page-header__row`},ht={class:`compact-page-header__actions`},gt={type:`button`,class:`admin-btn admin-btn--outline admin-btn--sm`},_t={class:`orders-page__search admin-card`},vt={class:`admin-tabs compact-orders__tabs`},yt=[`onClick`],bt={class:`admin-card-list`},xt=[`onClick`],St={class:`admin-card-item__header`},Ct={class:`admin-card-item__title`},wt={class:`admin-card-item__meta`},Tt={key:0,class:`admin-detail-panel__inner`},Et={class:`admin-detail-panel__header`},Dt={class:`admin-detail-panel__body`},Ot=P(V({__name:`CompactOrdersPage`,setup(e){let t=h(`(max-width: 767px)`),r=h(`(max-width: 1279px)`),{activeTab:i,selectedOrderId:s,searchQuery:c,filteredOrders:d,selectedOrder:m,showDetailPanel:v,showDetailModal:y,selectOrder:b,openOrderDetail:x,closeDetailPanel:S,closeDetailModal:T,settlementLabel:E,goPricing:O,goChecks:A,goCashReceipt:j,changeStatus:P,statusSaving:R,openAddModal:B}=ae();function V(e){if(t.value){b(e,!0);return}x(e)}function H(){m.value&&(T(),S(),O(m.value))}function U(){m.value&&(T(),S(),A(m.value))}function G(){m.value&&(T(),S(),j(m.value))}return(e,h)=>(p(),_(`div`,ft,[n(`div`,pt,[n(`div`,mt,[h[4]||=n(`div`,null,[n(`h2`,{class:`compact-page-header__title`},`سفارش‌ها`),n(`p`,{class:`compact-page-header__breadcrumb`},`داشبورد / سفارش‌ها`)],-1),n(`div`,ht,[n(`button`,gt,[l(g,{name:`filter`,size:16}),h[3]||=a(` فیلتر `,-1)]),n(`button`,{type:`button`,class:`admin-btn admin-btn--primary admin-btn--sm`,onClick:h[0]||=(...e)=>I(B)&&I(B)(...e)},` سفارش جدید `)])])]),n(`div`,_t,[l(g,{name:`search`,size:18}),w(n(`input`,{"onUpdate:modelValue":h[1]||=e=>z(c)?c.value=e:null,type:`search`,placeholder:`جستجو در شماره سفارش، مشتری...`,class:`orders-page__search-input`},null,512),[[f,I(c)]])]),n(`div`,vt,[(p(!0),_(u,null,D(I(te),e=>(p(),_(`button`,{key:e.key,type:`button`,class:W([`admin-tab`,{active:I(i)===e.key}]),onClick:t=>i.value=e.key},[a(k(e.label)+` `,1),`count`in e&&e.count?(p(),_(u,{key:0},[a(` (`+k(e.count)+`)`,1)],64)):o(``,!0)],10,yt))),128))]),n(`div`,bt,[(p(!0),_(u,null,D(I(d),e=>(p(),_(`button`,{key:e.id,type:`button`,class:W([`admin-card-item`,{selected:I(s)===e.id}]),onClick:t=>V(e)},[n(`div`,St,[n(`p`,Ct,k(e.orderNumber),1),l(Q,{status:e.status},null,8,[`status`])]),n(`div`,wt,[n(`span`,null,[h[5]||=n(`strong`,null,`مشتری:`,-1),a(` `+k(e.customerName),1)]),n(`span`,null,[h[6]||=n(`strong`,null,`متراژ:`,-1),a(` `+k(I(C)(e.meterage)),1)]),n(`span`,null,[h[7]||=n(`strong`,null,`مبلغ:`,-1),a(` `+k(e.totalAmount?I(L)(e.totalAmount):`—`),1)]),n(`span`,null,k(I(M)(e.createdAt)),1)])],10,xt))),128))]),n(`div`,{class:W([`admin-detail-panel compact-orders__mobile-panel`,{open:I(t)&&I(v)&&I(m)}])},[I(m)?(p(),_(`div`,Tt,[n(`div`,Et,[n(`button`,{type:`button`,class:`admin-detail-panel__back`,"aria-label":`بازگشت به لیست`,onClick:h[2]||=(...e)=>I(S)&&I(S)(...e)},[l(g,{name:`chevron-back`,size:20})]),h[8]||=n(`h2`,{class:`admin-detail-panel__title`},`جزئیات سفارش`,-1)]),n(`div`,Dt,[l(Xe,{order:I(m),"settlement-label":I(E),"status-saving":I(R),onPricing:H,onChecks:U,onCashReceipt:G,onStatus:I(P)},null,8,[`order`,`settlement-label`,`status-saving`,`onStatus`])])])):o(``,!0)],2),l(F,{open:I(r)&&!I(t)&&I(y)&&!!I(m),title:`جزئیات سفارش`,size:`xl`,onClose:I(T)},{default:N(()=>[I(m)?(p(),_(u,{key:0},[h[9]||=n(`p`,{class:`compact-orders__modal-breadcrumb`},`سفارش‌ها / جزئیات سفارش`,-1),l(Xe,{order:I(m),"settlement-label":I(E),"status-saving":I(R),onPricing:H,onChecks:U,onCashReceipt:G,onStatus:I(P)},null,8,[`order`,`settlement-label`,`status-saving`,`onStatus`])],64)):o(``,!0)]),_:1},8,[`open`,`onClose`])]))}}),[[`__scopeId`,`data-v-e1d369c4`]]),kt={key:0,class:`admin-form__error`,role:`alert`},At={class:`admin-form__field`},jt={key:0,class:`admin-form__hint`},Mt={class:`admin-form__row`},Nt={class:`admin-form__field`},Pt={class:`admin-form__field`},Ft={class:`admin-form__row`},It={class:`admin-form__field`},Lt={class:`admin-form__field`},Rt=[`disabled`],zt=P(V({__name:`OrderAddModal`,setup(e){let{showAddModal:t,formError:r,form:i,isFormValid:c,companies:u,activeCustomers:d,applyCustomer:m,closeAddModal:h,submitAddOrder:g}=ae(),y=K(()=>u.value.map(e=>({value:e.id,label:e.name}))),b=K(()=>d.value.map(e=>{let t=e.phone?` — ${e.phone}`:``,n=e.isActive===!1?` (غیرفعال)`:``;return{value:e.id,label:`${e.name}${t}${n}`}})),x=[{value:`check`,label:`چکی`},{value:`cash`,label:`نقدی`}];return H(()=>i.customerId,e=>{if(!e){i.customerName=``,i.customerPhone=``;return}m(e)}),(e,u)=>(p(),v(F,{open:I(t),title:`سفارش جدید`,size:`lg`,onClose:I(h)},{footer:N(()=>[n(`button`,{type:`button`,class:`admin-btn admin-btn--outline`,onClick:u[6]||=(...e)=>I(h)&&I(h)(...e)},` انصراف `),n(`button`,{type:`button`,class:`admin-btn admin-btn--primary`,disabled:!I(c),onClick:u[7]||=(...e)=>I(g)&&I(g)(...e)},` ثبت سفارش `,8,Rt)]),default:N(()=>[n(`form`,{class:`admin-form`,onSubmit:u[5]||=s((...e)=>I(g)&&I(g)(...e),[`prevent`])},[I(r)?(p(),_(`p`,kt,k(I(r)),1)):o(``,!0),n(`div`,At,[u[8]||=n(`label`,{id:`order-customer-label`},[a(` نام مشتری `),n(`span`,{class:`admin-form__required`},`*`)],-1),l(q,{id:`order-customer`,modelValue:I(i).customerId,"onUpdate:modelValue":u[0]||=e=>I(i).customerId=e,block:``,searchable:``,"aria-label":`انتخاب مشتری از لیست`,placeholder:`انتخاب مشتری از لیست`,"search-placeholder":`جستجوی نام یا موبایل…`,options:b.value},null,8,[`modelValue`,`options`]),b.value.length?o(``,!0):(p(),_(`p`,jt,` مشتری‌ای در سیستم نیست. ابتدا از بخش «مشتریان» یک مشتری ثبت کنید. `))]),n(`div`,Mt,[n(`div`,Nt,[u[9]||=n(`label`,null,[a(`شرکت `),n(`span`,{class:`admin-form__required`},`*`)],-1),l(q,{modelValue:I(i).companyId,"onUpdate:modelValue":u[1]||=e=>I(i).companyId=e,block:``,"aria-label":`انتخاب شرکت`,placeholder:`انتخاب شرکت`,options:y.value},null,8,[`modelValue`,`options`])]),n(`div`,Pt,[u[10]||=n(`label`,null,`روش تسویه`,-1),l(q,{modelValue:I(i).settlementMethod,"onUpdate:modelValue":u[2]||=e=>I(i).settlementMethod=e,block:``,"aria-label":`روش تسویه`,options:x},null,8,[`modelValue`])])]),n(`div`,Ft,[n(`div`,It,[u[11]||=n(`label`,{for:`order-meterage`},`متراژ (متر)`,-1),w(n(`input`,{id:`order-meterage`,"onUpdate:modelValue":u[3]||=e=>I(i).meterage=e,type:`number`,min:`1`,class:`admin-input`},null,512),[[f,I(i).meterage,void 0,{number:!0}]])]),n(`div`,Lt,[u[12]||=n(`label`,{for:`order-phone`},`تلفن مشتری`,-1),w(n(`input`,{id:`order-phone`,"onUpdate:modelValue":u[4]||=e=>I(i).customerPhone=e,type:`tel`,class:`admin-input`,placeholder:`پس از انتخاب مشتری پر می‌شود`,inputmode:`tel`,dir:`ltr`,readonly:``},null,512),[[f,I(i).customerPhone]])])])],32)]),_:1},8,[`open`,`onClose`]))}}),[[`__scopeId`,`data-v-b9663b5b`]]),Bt=V({__name:`OrdersView`,setup(e){return ie(),(e,t)=>(p(),_(u,null,[l(dt,{class:`desktop-only`}),l(Ot,{class:`compact-only`}),l(zt)],64))}});export{Bt as default}; \ No newline at end of file diff --git a/dist/assets/ProductsView-BMsySxsi.css b/dist/assets/ProductsView-BMsySxsi.css new file mode 100644 index 0000000..2ed50f4 --- /dev/null +++ b/dist/assets/ProductsView-BMsySxsi.css @@ -0,0 +1 @@ +.products-page__filters[data-v-70aa7065]{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;display:flex}.products-page__search[data-v-70aa7065]{min-width:200px;color:var(--color-text-muted);flex:1;align-items:center;gap:10px;display:flex}.products-page__search-input[data-v-70aa7065]{background:0 0;border:none;outline:none;flex:1;font-size:.875rem}.products-page__catalog-filter[data-v-70aa7065]{width:min(260px,100%)}.products-page__table[data-v-70aa7065]{overflow:hidden} diff --git a/dist/assets/ProductsView-D1KGixmP.js b/dist/assets/ProductsView-D1KGixmP.js new file mode 100644 index 0000000..78a0b7c --- /dev/null +++ b/dist/assets/ProductsView-D1KGixmP.js @@ -0,0 +1 @@ +import{A as e,B as t,G as n,H as r,I as ee,K as i,L as a,P as o,Q as s,T as te,U as c,V as ne,X as l,_ as u,at as d,ct as f,et as p,ft as m,it as h,j as re,k as ie,lt as g,n as _,o as v,q as y,st as ae,u as oe,w as b,z as x}from"./index-dG7O4aC2.js";import{t as S}from"./AdminSelect-BsjBHdZj.js";import{n as se,r as ce,t as C}from"./ActiveSwitchCell-DxxSF-SL.js";import{t as le}from"./AdminCurrencyInput-Bo4teStb.js";var ue={class:`products-page`},de={class:`products-page__filters admin-card`},fe={class:`products-page__search`},pe={key:1,class:`products-page__table admin-card desktop-only`},me={class:`admin-table-wrap`},he={class:`admin-table`},ge={class:`numeric`},_e={class:`numeric`},ve={class:`numeric`},ye={class:`numeric`},w={class:`status`},T={class:`actions`},E=[`onClick`],D={key:2,class:`compact-only admin-card-list`},O={class:`admin-card-item__header`},k={class:`admin-card-item__title`},A={class:`admin-card-item__header-actions`},j=[`onClick`],M={class:`admin-card-item__meta`},N={key:0,class:`admin-form__error`,role:`alert`},P={class:`admin-form__field`},be={class:`admin-form__row`},xe={class:`admin-form__field`},Se={class:`admin-form__field`},F={class:`admin-form__field`},Ce={class:`admin-form__row`},we={class:`admin-form__field`},Te={class:`admin-form__field`},Ee={class:`admin-form__row`},De={class:`admin-form__field`},Oe={class:`admin-form__field`},ke={class:`admin-form__field`},Ae=[`disabled`],I=re(y({__name:`ProductsView`,setup(re){let y=f([]),I=f([]),L=f(``),R=f(`all`),z=f(null),B=f(null),V=f(``),H=f(!1),U=e(),je=x(()=>[{value:`all`,label:`همه کالیته‌ها`},...I.value.map(e=>({value:e.id,label:`${e.code} — ${e.name}`}))]),Me=x(()=>I.value.map(e=>({value:e.id,label:`${e.code} — ${e.name} (${e.companyName})`}))),W=()=>({catalogId:I.value[0]?.id??``,name:``,color:``,productCode:``,minMeterage:100,orderStep:50,price:null,internalStock:0,isActive:!0}),G=ae(W()),Ne=x(()=>z.value!==null),Pe=x(()=>z.value===`edit`?`ویرایش محصول`:`افزودن محصول`),K=x(()=>G.name.trim()&&G.catalogId&&G.minMeterage>0),q=x(()=>L.value.trim().length>0||R.value!==`all`),J=x(()=>{let e=y.value;R.value!==`all`&&(e=e.filter(e=>e.catalogId===R.value));let t=L.value.trim();return t&&(e=e.filter(e=>e.name.includes(t)||e.color.includes(t)||e.productCode.includes(t)||e.catalogCode.includes(t))),e});async function Fe(){try{let[e,t]=await Promise.all([u.list(),oe.list()]);y.value=e,I.value=t}catch(e){U.error(e instanceof b?e.message:`بارگذاری محصولات انجام نشد.`)}}l(()=>{Fe()});function Ie(e){return I.value.find(t=>t.id===e)}function Y(){z.value=`add`,B.value=null,Object.assign(G,W()),V.value=``}function X(e){z.value=`edit`,B.value=e.id,G.catalogId=e.catalogId,G.name=e.name,G.color=e.color,G.productCode=e.productCode,G.minMeterage=e.minMeterage,G.orderStep=e.orderStep,G.price=e.price,G.internalStock=e.internalStock,G.isActive=e.isActive,V.value=``}function Z(){z.value=null,B.value=null,V.value=``}async function Q(){if(!K.value){V.value=`نام محصول، کالیته و حداقل متراژ الزامی هستند.`;return}let e=Ie(G.catalogId);if(!e){V.value=`کالیته معتبر انتخاب کنید.`;return}let t=G.productCode.trim()||`${e.code}-NEW`;H.value=!0;try{if(z.value===`edit`&&B.value){let e=await u.update(B.value,{catalogId:G.catalogId,name:G.name.trim(),color:G.color.trim()||`—`,code:t,productCode:t,minMeterage:G.minMeterage,orderStep:G.orderStep,price:G.price,internalStock:G.internalStock,isActive:G.isActive}),n=y.value.findIndex(e=>e.id===B.value);n!==-1&&(y.value[n]={...y.value[n],...e}),U.success(`اطلاعات محصول به‌روزرسانی شد.`)}else{let n=await u.create({companyId:e.companyId,catalogId:G.catalogId,name:G.name.trim(),color:G.color.trim()||`—`,code:t,productCode:t,minMeterage:G.minMeterage,orderStep:G.orderStep,price:G.price,internalStock:G.internalStock,isActive:G.isActive});y.value.push(n),U.success(`محصول جدید ثبت شد.`)}Z()}catch(e){U.error(e instanceof b?e.message:`ذخیره محصول انجام نشد.`)}finally{H.value=!1}}async function $(e,t){await u.setActive(e,t)}function Le(){L.value=``,R.value=`all`}return(e,l)=>(s(),c(`div`,ue,[t(`div`,{class:`admin-page-header`},[l[11]||=t(`div`,null,[t(`h1`,{class:`admin-page-header__title`},`محصولات`),t(`p`,{class:`admin-page-header__breadcrumb`},`مدیریت / محصولات`)],-1),t(`button`,{type:`button`,class:`admin-btn admin-btn--primary`,onClick:Y},` افزودن محصول `)]),t(`div`,de,[t(`div`,fe,[i(te,{name:`search`,size:18}),d(t(`input`,{"onUpdate:modelValue":l[0]||=e=>L.value=e,type:`search`,class:`products-page__search-input`,placeholder:`جستجو در نام، رنگ، کد...`},null,512),[[o,L.value]])]),i(S,{modelValue:R.value,"onUpdate:modelValue":l[1]||=e=>R.value=e,class:`products-page__catalog-filter`,"aria-label":`فیلتر کالیته`,options:je.value},null,8,[`modelValue`,`options`])]),J.value.length?(s(),c(`div`,pe,[t(`div`,me,[t(`table`,he,[l[12]||=t(`thead`,null,[t(`tr`,null,[t(`th`,null,`کد محصول`),t(`th`,null,`نام`),t(`th`,null,`رنگ`),t(`th`,null,`کالیته`),t(`th`,null,`شرکت`),t(`th`,{class:`numeric`},`حداقل متراژ`),t(`th`,{class:`numeric`},`ضریب`),t(`th`,{class:`numeric`},`قیمت`),t(`th`,{class:`numeric`},`موجودی`),t(`th`,{class:`status`},`وضعیت`),t(`th`,{class:`actions`},`عملیات`)])],-1),t(`tbody`,null,[(s(!0),c(a,null,p(J.value,e=>(s(),c(`tr`,{key:e.id},[t(`td`,null,m(e.productCode),1),t(`td`,null,m(e.name),1),t(`td`,null,m(e.color),1),t(`td`,null,m(e.catalogCode),1),t(`td`,null,m(e.companyName),1),t(`td`,ge,m(g(v)(e.minMeterage))+` متر`,1),t(`td`,_e,m(g(v)(e.orderStep)),1),t(`td`,ve,m(e.price?g(_)(e.price):`—`),1),t(`td`,ye,m(g(v)(e.internalStock))+` متر`,1),t(`td`,w,[i(C,{id:e.id,modelValue:e.isActive,"onUpdate:modelValue":t=>e.isActive=t,"entity-name":e.name,"entity-type":`محصول`,persist:$},null,8,[`id`,`modelValue`,`onUpdate:modelValue`,`entity-name`])]),t(`td`,T,[t(`button`,{type:`button`,class:`admin-btn admin-btn--ghost admin-btn--xs`,onClick:t=>X(e)},` ویرایش `,8,E)])]))),128))])])])])):(s(),ne(se,{key:0,class:`admin-card`,icon:`products`,title:q.value?`نتیجه‌ای یافت نشد`:`محصولی ثبت نشده`,description:q.value?`عبارت جستجو را تغییر دهید یا فیلترها را پاک کنید.`:`برای شروع، اولین محصول را ثبت کنید.`},{default:h(()=>[q.value?(s(),c(`button`,{key:0,type:`button`,class:`admin-btn admin-btn--outline admin-btn--sm`,onClick:Le},` پاک کردن فیلترها `)):(s(),c(`button`,{key:1,type:`button`,class:`admin-btn admin-btn--primary admin-btn--sm`,onClick:Y},` افزودن محصول `))]),_:1},8,[`title`,`description`])),J.value.length?(s(),c(`div`,D,[(s(!0),c(a,null,p(J.value,e=>(s(),c(`article`,{key:e.id,class:`admin-card-item`},[t(`div`,O,[t(`p`,k,m(e.name),1),t(`div`,A,[i(C,{id:e.id,modelValue:e.isActive,"onUpdate:modelValue":t=>e.isActive=t,"entity-name":e.name,"entity-type":`محصول`,persist:$},null,8,[`id`,`modelValue`,`onUpdate:modelValue`,`entity-name`]),t(`button`,{type:`button`,class:`admin-btn admin-btn--ghost admin-btn--xs`,onClick:t=>X(e)},` ویرایش `,8,j)])]),t(`div`,M,[t(`span`,null,m(e.productCode),1),t(`span`,null,m(e.color),1),t(`span`,null,`کالیته `+m(e.catalogCode),1),t(`span`,null,m(e.price?g(_)(e.price):`بدون قیمت`),1)])]))),128))])):r(``,!0),i(ie,{open:Ne.value,title:Pe.value,size:`lg`,onClose:Z},{footer:h(()=>[t(`button`,{type:`button`,class:`admin-btn admin-btn--outline`,onClick:Z},`انصراف`),t(`button`,{type:`button`,class:`admin-btn admin-btn--primary`,disabled:!K.value||H.value,onClick:Q},m(z.value===`edit`?`ذخیره تغییرات`:`ثبت محصول`),9,Ae)]),default:h(()=>[t(`form`,{class:`admin-form`,onSubmit:ee(Q,[`prevent`])},[V.value?(s(),c(`p`,N,m(V.value),1)):r(``,!0),t(`div`,P,[l[13]||=t(`label`,null,[n(`کالیته `),t(`span`,{class:`admin-form__required`},`*`)],-1),i(S,{modelValue:G.catalogId,"onUpdate:modelValue":l[2]||=e=>G.catalogId=e,block:``,"aria-label":`انتخاب کالیته`,placeholder:`انتخاب کالیته`,options:Me.value},null,8,[`modelValue`,`options`])]),t(`div`,be,[t(`div`,xe,[l[14]||=t(`label`,{for:`product-name`},[n(`نام محصول `),t(`span`,{class:`admin-form__required`},`*`)],-1),d(t(`input`,{id:`product-name`,"onUpdate:modelValue":l[3]||=e=>G.name=e,type:`text`,class:`admin-input`},null,512),[[o,G.name]])]),t(`div`,Se,[l[15]||=t(`label`,{for:`product-color`},`رنگ / نوع`,-1),d(t(`input`,{id:`product-color`,"onUpdate:modelValue":l[4]||=e=>G.color=e,type:`text`,class:`admin-input`},null,512),[[o,G.color]])])]),t(`div`,F,[l[16]||=t(`label`,{for:`product-code`},`کد محصول`,-1),d(t(`input`,{id:`product-code`,"onUpdate:modelValue":l[5]||=e=>G.productCode=e,type:`text`,class:`admin-input`,dir:`ltr`},null,512),[[o,G.productCode]])]),t(`div`,Ce,[t(`div`,we,[l[17]||=t(`label`,{for:`product-min`},`حداقل متراژ`,-1),d(t(`input`,{id:`product-min`,"onUpdate:modelValue":l[6]||=e=>G.minMeterage=e,type:`number`,min:`1`,class:`admin-input`},null,512),[[o,G.minMeterage,void 0,{number:!0}]])]),t(`div`,Te,[l[18]||=t(`label`,{for:`product-step`},`ضریب سفارش`,-1),d(t(`input`,{id:`product-step`,"onUpdate:modelValue":l[7]||=e=>G.orderStep=e,type:`number`,min:`1`,class:`admin-input`},null,512),[[o,G.orderStep,void 0,{number:!0}]])])]),t(`div`,Ee,[t(`div`,De,[l[19]||=t(`label`,{for:`product-price`},`قیمت (تومان)`,-1),i(le,{id:`product-price`,modelValue:G.price,"onUpdate:modelValue":l[8]||=e=>G.price=e},null,8,[`modelValue`])]),t(`div`,Oe,[l[20]||=t(`label`,{for:`product-stock`},`موجودی داخلی (متر)`,-1),d(t(`input`,{id:`product-stock`,"onUpdate:modelValue":l[9]||=e=>G.internalStock=e,type:`number`,min:`0`,class:`admin-input`},null,512),[[o,G.internalStock,void 0,{number:!0}]])])]),t(`div`,ke,[i(ce,{modelValue:G.isActive,"onUpdate:modelValue":l[10]||=e=>G.isActive=e,label:`وضعیت`},null,8,[`modelValue`])])],32)]),_:1},8,[`open`,`title`])]))}}),[[`__scopeId`,`data-v-70aa7065`]]);export{I as default}; \ No newline at end of file diff --git a/dist/assets/ReportsView-DVj4kC2G.css b/dist/assets/ReportsView-DVj4kC2G.css new file mode 100644 index 0000000..06504f0 --- /dev/null +++ b/dist/assets/ReportsView-DVj4kC2G.css @@ -0,0 +1 @@ +.reports-page__stats[data-v-46807c88]{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px;display:grid}.reports-page__growth[data-v-46807c88]{color:var(--color-success-dark);margin-top:6px;font-size:.75rem;display:block}.reports-page__grid[data-v-46807c88]{grid-template-columns:1.4fr 1fr;gap:16px;display:grid}.reports-page__section[data-v-46807c88]{padding:20px;overflow:hidden}.reports-page__section-title[data-v-46807c88]{margin:0 0 16px;font-size:1rem;font-weight:700}.reports-page__status-list[data-v-46807c88]{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.reports-page__status-list li[data-v-46807c88]{background:var(--color-border-light);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:10px 12px;font-size:.875rem;display:flex}@media (width<=1279px){.reports-page__stats[data-v-46807c88]{grid-template-columns:repeat(2,1fr)}.reports-page__grid[data-v-46807c88]{grid-template-columns:1fr}}@media (width<=767px){.reports-page__stats[data-v-46807c88]{grid-template-columns:1fr}} diff --git a/dist/assets/ReportsView-_lTR_DLQ.js b/dist/assets/ReportsView-_lTR_DLQ.js new file mode 100644 index 0000000..c9946c2 --- /dev/null +++ b/dist/assets/ReportsView-_lTR_DLQ.js @@ -0,0 +1 @@ +import{A as e,B as t,G as n,K as r,L as i,Q as a,T as o,U as s,X as c,a as l,ct as u,et as d,ft as f,j as p,lt as m,m as h,n as g,o as _,q as v,w as y}from"./index-dG7O4aC2.js";var b={class:`reports-page`},x={class:`admin-page-header`},S={type:`button`,class:`admin-btn admin-btn--outline admin-btn--sm`},C={class:`reports-page__stats`},w={class:`admin-stat-card admin-card`},T={class:`admin-stat-card__value`},E={class:`reports-page__growth`},D={class:`admin-stat-card admin-card`},O={class:`admin-stat-card__value`},k={class:`admin-stat-card admin-card`},A={class:`admin-stat-card__value`},j={class:`admin-stat-card admin-card`},M={class:`admin-stat-card__value`},N={class:`reports-page__grid`},P={class:`admin-card reports-page__section`},F={class:`admin-table-wrap desktop-only`},I={class:`admin-table`},L={class:`compact-only admin-card-list`},R={class:`admin-card-item__title`},z={class:`admin-card-item__meta`},B={class:`admin-card reports-page__section`},V={class:`admin-table-wrap desktop-only`},H={class:`admin-table`},U={class:`compact-only reports-page__status-list`},W=p(v({__name:`ReportsView`,setup(p){let v=e(),W=u({newOrders:0,pendingReview:0,pendingCheck:0,finalApproval:0,todaySales:0,todaySalesGrowth:0,monthSales:0}),G=u([]),K=u([]);return c(async()=>{try{let[e,t]=await Promise.all([h.get(),h.reports()]);W.value=e.stats,G.value=t.reportSalesByCompany,K.value=t.reportOrdersByStatus}catch(e){v.error(e instanceof y?e.message:`بارگذاری گزارش‌ها انجام نشد.`)}}),(e,c)=>(a(),s(`div`,b,[t(`div`,x,[c[1]||=t(`div`,null,[t(`h1`,{class:`admin-page-header__title`},`گزارش‌ها`),t(`p`,{class:`admin-page-header__breadcrumb`},`مدیریت / گزارش‌ها`)],-1),t(`button`,S,[r(o,{name:`print`,size:16}),c[0]||=n(` چاپ گزارش `,-1)])]),t(`div`,C,[t(`div`,w,[c[2]||=t(`p`,{class:`admin-stat-card__label`},`فروش امروز`,-1),t(`p`,T,f(m(g)(W.value.todaySales)),1),t(`span`,E,`+`+f(W.value.todaySalesGrowth)+`% نسبت به دیروز`,1)]),t(`div`,D,[c[3]||=t(`p`,{class:`admin-stat-card__label`},`فروش ماه جاری`,-1),t(`p`,O,f(m(g)(W.value.monthSales)),1)]),t(`div`,k,[c[4]||=t(`p`,{class:`admin-stat-card__label`},`سفارش‌های جدید`,-1),t(`p`,A,f(m(_)(W.value.newOrders)),1)]),t(`div`,j,[c[5]||=t(`p`,{class:`admin-stat-card__label`},`در انتظار بررسی`,-1),t(`p`,M,f(m(_)(W.value.pendingReview)),1)])]),t(`div`,N,[t(`section`,P,[c[7]||=t(`h2`,{class:`reports-page__section-title`},`فروش به تفکیک شرکت`,-1),t(`div`,F,[t(`table`,I,[c[6]||=t(`thead`,null,[t(`tr`,null,[t(`th`,null,`شرکت`),t(`th`,null,`تعداد سفارش`),t(`th`,null,`مجموع متراژ`),t(`th`,null,`مجموع مبلغ`)])],-1),t(`tbody`,null,[(a(!0),s(i,null,d(G.value,e=>(a(),s(`tr`,{key:e.companyName},[t(`td`,null,f(e.companyName),1),t(`td`,null,f(m(_)(e.orderCount)),1),t(`td`,null,f(m(l)(e.meterage)),1),t(`td`,null,f(m(g)(e.totalAmount)),1)]))),128))])])]),t(`div`,L,[(a(!0),s(i,null,d(G.value,e=>(a(),s(`article`,{key:e.companyName,class:`admin-card-item`},[t(`p`,R,f(e.companyName),1),t(`div`,z,[t(`span`,null,f(e.orderCount)+` سفارش`,1),t(`span`,null,f(m(l)(e.meterage)),1),t(`span`,null,f(m(g)(e.totalAmount)),1)])]))),128))])]),t(`section`,B,[c[9]||=t(`h2`,{class:`reports-page__section-title`},`سفارش‌ها به تفکیک وضعیت`,-1),t(`div`,V,[t(`table`,H,[c[8]||=t(`thead`,null,[t(`tr`,null,[t(`th`,null,`وضعیت`),t(`th`,null,`تعداد`)])],-1),t(`tbody`,null,[(a(!0),s(i,null,d(K.value,e=>(a(),s(`tr`,{key:e.status},[t(`td`,null,f(e.status),1),t(`td`,null,f(m(_)(e.count)),1)]))),128))])])]),t(`ul`,U,[(a(!0),s(i,null,d(K.value,e=>(a(),s(`li`,{key:e.status},[t(`span`,null,f(e.status),1),t(`strong`,null,f(m(_)(e.count)),1)]))),128))])])])]))}}),[[`__scopeId`,`data-v-46807c88`]]);export{W as default}; \ No newline at end of file diff --git a/dist/assets/SettingsView-BDyMkB9r.js b/dist/assets/SettingsView-BDyMkB9r.js new file mode 100644 index 0000000..71057b2 --- /dev/null +++ b/dist/assets/SettingsView-BDyMkB9r.js @@ -0,0 +1 @@ +import{A as e,B as t,M as n,P as r,Q as i,U as a,X as o,at as s,ct as c,ft as l,j as u,q as d,st as f,v as p}from"./index-dG7O4aC2.js";var m={class:`settings-page`},h={class:`admin-page-header`},g=[`disabled`],_={class:`settings-page__grid`},v={class:`admin-card settings-page__section`},y={class:`admin-form__field`},b={class:`admin-form__field`},x={class:`settings-page__checks`},S={class:`settings-page__check`},C={class:`settings-page__check`},w={class:`admin-card settings-page__section`},T={class:`settings-page__checks`},E={class:`settings-page__check`},D={class:`settings-page__check`},O={class:`settings-page__check`},k={class:`settings-page__check`},A={class:`settings-page__check`},j={class:`admin-card settings-page__section`},M={class:`admin-form__field`},N={class:`admin-form__field`},P=u(d({__name:`SettingsView`,setup(u){let d=e(),P=f({maxMeteragePerInvoice:5e3,cashInvoiceValidityHours:8,smsOrderRegistered:!0,smsPricingReady:!0,smsPaymentReminder:!0,smsCheckReview:!0,smsShippingUpdate:!0,defaultSettlementCheck:!0,defaultSettlementCash:!0,supportPhone:``,supportEmail:``}),F=c(!1),I=c(!1);o(async()=>{F.value=!0;try{let e=await p.get();Object.assign(P,{maxMeteragePerInvoice:e.maxMeteragePerInvoice,cashInvoiceValidityHours:e.cashInvoiceValidityHours,smsOrderRegistered:e.smsOrderRegistered,smsPricingReady:e.smsPricingReady,smsPaymentReminder:e.smsPaymentReminder,smsCheckReview:e.smsCheckReview,smsShippingUpdate:e.smsShippingUpdate,defaultSettlementCheck:e.defaultSettlementCheck,defaultSettlementCash:e.defaultSettlementCash,supportPhone:e.supportPhone??``,supportEmail:e.supportEmail??``})}catch(e){d.error(e instanceof Error?e.message:`دریافت تنظیمات ناموفق بود.`)}finally{F.value=!1}});async function L(){if(!I.value){I.value=!0;try{await p.update({...P}),d.success(`تنظیمات با موفقیت ذخیره شد.`)}catch(e){d.error(e instanceof Error?e.message:`ذخیره تنظیمات ناموفق بود.`)}finally{I.value=!1}}}return(e,o)=>(i(),a(`div`,m,[t(`div`,h,[o[11]||=t(`div`,null,[t(`h1`,{class:`admin-page-header__title`},`تنظیمات`),t(`p`,{class:`admin-page-header__breadcrumb`},`سیستم / تنظیمات`)],-1),t(`button`,{type:`button`,class:`admin-btn admin-btn--primary`,disabled:F.value||I.value,onClick:L},l(I.value?`در حال ذخیره…`:`ذخیره تنظیمات`),9,g)]),t(`div`,_,[t(`section`,v,[o[16]||=t(`h2`,{class:`settings-page__title`},`تنظیمات عمومی سفارش`,-1),t(`div`,y,[o[12]||=t(`label`,{for:`max-meterage`},`حداکثر متراژ هر فاکتور (متر)`,-1),s(t(`input`,{id:`max-meterage`,"onUpdate:modelValue":o[0]||=e=>P.maxMeteragePerInvoice=e,type:`number`,min:`1000`,class:`admin-input`},null,512),[[r,P.maxMeteragePerInvoice,void 0,{number:!0}]])]),t(`div`,b,[o[13]||=t(`label`,{for:`validity-hours`},`اعتبار فاکتور نقدی (ساعت)`,-1),s(t(`input`,{id:`validity-hours`,"onUpdate:modelValue":o[1]||=e=>P.cashInvoiceValidityHours=e,type:`number`,min:`1`,class:`admin-input`},null,512),[[r,P.cashInvoiceValidityHours,void 0,{number:!0}]])]),t(`div`,x,[t(`label`,S,[s(t(`input`,{"onUpdate:modelValue":o[2]||=e=>P.defaultSettlementCheck=e,type:`checkbox`},null,512),[[n,P.defaultSettlementCheck]]),o[14]||=t(`span`,null,`فعال‌سازی تسویه چکی`,-1)]),t(`label`,C,[s(t(`input`,{"onUpdate:modelValue":o[3]||=e=>P.defaultSettlementCash=e,type:`checkbox`},null,512),[[n,P.defaultSettlementCash]]),o[15]||=t(`span`,null,`فعال‌سازی تسویه نقدی`,-1)])])]),t(`section`,w,[o[22]||=t(`h2`,{class:`settings-page__title`},`پیامک و اعلان`,-1),t(`div`,T,[t(`label`,E,[s(t(`input`,{"onUpdate:modelValue":o[4]||=e=>P.smsOrderRegistered=e,type:`checkbox`},null,512),[[n,P.smsOrderRegistered]]),o[17]||=t(`span`,null,`پیامک ثبت سفارش`,-1)]),t(`label`,D,[s(t(`input`,{"onUpdate:modelValue":o[5]||=e=>P.smsPricingReady=e,type:`checkbox`},null,512),[[n,P.smsPricingReady]]),o[18]||=t(`span`,null,`پیامک صدور فاکتور و آماده‌بودن قیمت`,-1)]),t(`label`,O,[s(t(`input`,{"onUpdate:modelValue":o[6]||=e=>P.smsPaymentReminder=e,type:`checkbox`},null,512),[[n,P.smsPaymentReminder]]),o[19]||=t(`span`,null,`یادآوری پایان اعتبار فاکتور`,-1)]),t(`label`,k,[s(t(`input`,{"onUpdate:modelValue":o[7]||=e=>P.smsCheckReview=e,type:`checkbox`},null,512),[[n,P.smsCheckReview]]),o[20]||=t(`span`,null,`اعلان بررسی چک`,-1)]),t(`label`,A,[s(t(`input`,{"onUpdate:modelValue":o[8]||=e=>P.smsShippingUpdate=e,type:`checkbox`},null,512),[[n,P.smsShippingUpdate]]),o[21]||=t(`span`,null,`اعلان وضعیت ارسال`,-1)])])]),t(`section`,j,[o[25]||=t(`h2`,{class:`settings-page__title`},`اطلاعات تماس پشتیبانی`,-1),t(`div`,M,[o[23]||=t(`label`,{for:`support-phone`},`تلفن پشتیبانی`,-1),s(t(`input`,{id:`support-phone`,"onUpdate:modelValue":o[9]||=e=>P.supportPhone=e,type:`text`,class:`admin-input`},null,512),[[r,P.supportPhone]])]),t(`div`,N,[o[24]||=t(`label`,{for:`support-email`},`ایمیل پشتیبانی`,-1),s(t(`input`,{id:`support-email`,"onUpdate:modelValue":o[10]||=e=>P.supportEmail=e,type:`email`,class:`admin-input`,dir:`ltr`},null,512),[[r,P.supportEmail]])])])])]))}}),[[`__scopeId`,`data-v-dc21e015`]]);export{P as default}; \ No newline at end of file diff --git a/dist/assets/SettingsView-Bij8reGT.css b/dist/assets/SettingsView-Bij8reGT.css new file mode 100644 index 0000000..bc1a594 --- /dev/null +++ b/dist/assets/SettingsView-Bij8reGT.css @@ -0,0 +1 @@ +.settings-page__grid[data-v-dc21e015]{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.settings-page__section[data-v-dc21e015]{padding:20px}.settings-page__title[data-v-dc21e015]{margin:0 0 16px;font-size:1rem;font-weight:700}.settings-page__checks[data-v-dc21e015]{flex-direction:column;gap:12px;display:flex}.settings-page__check[data-v-dc21e015]{cursor:pointer;align-items:center;gap:10px;font-size:.875rem;display:flex}.settings-page__check input[data-v-dc21e015]{width:16px;height:16px;accent-color:var(--color-primary)}@media (width<=1279px){.settings-page__grid[data-v-dc21e015]{grid-template-columns:1fr}} diff --git a/dist/assets/ShippingView-D5qfKl__.css b/dist/assets/ShippingView-D5qfKl__.css new file mode 100644 index 0000000..665a8a4 --- /dev/null +++ b/dist/assets/ShippingView-D5qfKl__.css @@ -0,0 +1 @@ +.shipping-page__filters[data-v-a78e2869]{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;display:flex}.shipping-page__search[data-v-a78e2869]{min-width:200px;color:var(--color-text-muted);flex:1;align-items:center;gap:10px;display:flex}.shipping-page__search-input[data-v-a78e2869]{color:var(--color-text);background:0 0;border:none;outline:none;flex:1;font-size:.875rem}.shipping-page__status-select[data-v-a78e2869]{flex:0 220px;width:220px}.shipping-page__table[data-v-a78e2869]{overflow:hidden} diff --git a/dist/assets/ShippingView-Dqgg-XEs.js b/dist/assets/ShippingView-Dqgg-XEs.js new file mode 100644 index 0000000..699e3cb --- /dev/null +++ b/dist/assets/ShippingView-Dqgg-XEs.js @@ -0,0 +1 @@ +import{A as e,B as t,E as n,G as r,H as i,I as ee,K as a,L as o,P as s,Q as c,T as te,U as l,X as ne,a as u,at as d,ct as f,et as p,ft as m,g as re,h as ie,i as h,it as g,j as ae,k as oe,lt as _,q as v,rt as se,st as ce,ut as y,w as b,y as x,z as S}from"./index-dG7O4aC2.js";import{t as C}from"./AdminSelect-BsjBHdZj.js";import{a as w,i as T}from"./adminLabels-Cz9ccm1Z.js";var le={class:`shipping-page`},ue={class:`shipping-page__filters admin-card`},de={class:`shipping-page__search`},fe={class:`shipping-page__table admin-card desktop-only`},pe={class:`admin-table-wrap`},me={class:`admin-table`},he={dir:`ltr`},ge=[`onClick`],E={key:1},D={class:`compact-only admin-card-list`},O={class:`admin-card-item__header`},k={class:`admin-card-item__title`},A={class:`admin-card-item__meta`},j={dir:`ltr`},M={key:0,class:`admin-card-item__actions`},N=[`onClick`],P={key:0,class:`admin-form__error`,role:`alert`},F={class:`admin-form__field`},I={class:`admin-form__row`},L={class:`admin-form__field`},_e={class:`admin-form__field`},ve={class:`admin-form__row`},ye={class:`admin-form__field`},be={class:`admin-form__field`},xe=[`disabled`],R=ae(v({__name:`ShippingView`,setup(ae){let v=n(),R=f([]),z=f([]),B=f(typeof v.query.order==`string`?v.query.order:``),V=f(`all`),H=f(!1),U=f(``),W=f(!1),G=e(),Se=[{value:`all`,label:`همه وضعیت‌ها`},{value:`preparing`,label:`در حال آماده‌سازی`},{value:`ready`,label:`آماده ارسال`},{value:`shipped`,label:`ارسال شده`},{value:`delivered`,label:`تحویل شده`}],Ce=[{value:`preparing`,label:`در حال آماده‌سازی`},{value:`ready`,label:`آماده ارسال`},{value:`shipped`,label:`ارسال شده`},{value:`delivered`,label:`تحویل شده`}],K=()=>({orderId:``,carrier:``,trackingNumber:``,meterage:1e3,status:`preparing`}),q=ce(K()),J=S(()=>{let e=R.value;V.value!==`all`&&(e=e.filter(e=>e.status===V.value));let t=B.value.trim();return t&&(e=e.filter(e=>e.orderNumber.includes(t)||e.customerName.includes(t)||e.trackingNumber.includes(t)||e.carrier.includes(t))),e}),Y=S(()=>q.orderId.trim()&&q.carrier.trim()),we=S(()=>{let e=new Set(R.value.map(e=>e.orderId));return z.value.filter(t=>!e.has(t.id))}),Te=S(()=>we.value.map(e=>({value:e.id,label:`${e.orderNumber} — ${e.customerName}`})));async function Ee(){try{let[e,t]=await Promise.all([x.list(),re.list()]);R.value=e,z.value=t.map(e=>ie(e))}catch(e){G.error(e instanceof b?e.message:`بارگذاری ارسال‌ها انجام نشد.`)}}ne(()=>{Ee()}),se(()=>v.query.order,e=>{typeof e==`string`&&e.trim()&&(B.value=e.trim())});function X(){let e=z.value.find(e=>e.id===q.orderId);e&&(q.meterage=e.meterage)}function De(){Object.assign(q,K()),U.value=``,H.value=!0}function Z(){H.value=!1,U.value=``}async function Q(){if(!Y.value){U.value=`سفارش و باربری الزامی هستند.`;return}W.value=!0;try{let e=await x.create({orderId:q.orderId,carrier:q.carrier.trim(),trackingNumber:q.trackingNumber.trim()||void 0,meterage:q.meterage,status:q.status});R.value.unshift(e),G.success(`بارنامه ثبت شد.`),Z()}catch(e){G.error(e instanceof b?e.message:`ثبت بارنامه انجام نشد.`)}finally{W.value=!1}}async function $(e){try{let t=await x.advanceStatus(e.id),n=R.value.findIndex(t=>t.id===e.id);n!==-1&&(R.value[n]=t),G.success(`وضعیت ارسال به‌روزرسانی شد.`)}catch(e){G.error(e instanceof b?e.message:`به‌روزرسانی وضعیت انجام نشد.`)}}return(e,n)=>(c(),l(`div`,le,[t(`div`,{class:`admin-page-header`},[n[7]||=t(`div`,null,[t(`h1`,{class:`admin-page-header__title`},`ارسال و باربری`),t(`p`,{class:`admin-page-header__breadcrumb`},`عملیات / ارسال و باربری`)],-1),t(`button`,{type:`button`,class:`admin-btn admin-btn--primary`,onClick:De},` ثبت بارنامه `)]),t(`div`,ue,[t(`div`,de,[a(te,{name:`search`,size:18}),d(t(`input`,{"onUpdate:modelValue":n[0]||=e=>B.value=e,type:`search`,class:`shipping-page__search-input`,placeholder:`جستجو در سفارش، مشتری، باربری...`},null,512),[[s,B.value]])]),a(C,{modelValue:V.value,"onUpdate:modelValue":n[1]||=e=>V.value=e,class:`shipping-page__status-select`,"aria-label":`فیلتر وضعیت ارسال`,options:Se},null,8,[`modelValue`])]),t(`div`,fe,[t(`div`,pe,[t(`table`,me,[n[8]||=t(`thead`,null,[t(`tr`,null,[t(`th`,null,`شماره سفارش`),t(`th`,null,`مشتری`),t(`th`,null,`باربری`),t(`th`,null,`شماره بارنامه`),t(`th`,null,`متراژ`),t(`th`,null,`وضعیت`),t(`th`,null,`تاریخ ارسال`),t(`th`,null,`تاریخ تحویل`),t(`th`,null,`عملیات`)])],-1),t(`tbody`,null,[(c(!0),l(o,null,p(J.value,e=>(c(),l(`tr`,{key:e.id},[t(`td`,null,m(e.orderNumber),1),t(`td`,null,m(e.customerName),1),t(`td`,null,m(e.carrier),1),t(`td`,he,m(e.trackingNumber),1),t(`td`,null,m(_(u)(e.meterage)),1),t(`td`,null,[t(`span`,{class:y([`admin-badge`,_(T)[e.status]])},m(_(w)[e.status]),3)]),t(`td`,null,m(e.shippedAt?_(h)(e.shippedAt):`—`),1),t(`td`,null,m(e.deliveredAt?_(h)(e.deliveredAt):`—`),1),t(`td`,null,[e.status===`delivered`?(c(),l(`span`,E,`—`)):(c(),l(`button`,{key:0,type:`button`,class:`admin-btn admin-btn--outline admin-btn--xs`,onClick:t=>$(e)},` مرحله بعد `,8,ge))])]))),128))])])])]),t(`div`,D,[(c(!0),l(o,null,p(J.value,e=>(c(),l(`article`,{key:e.id,class:`admin-card-item`},[t(`div`,O,[t(`p`,k,m(e.orderNumber),1),t(`span`,{class:y([`admin-badge`,_(T)[e.status]])},m(_(w)[e.status]),3)]),t(`div`,A,[t(`span`,null,m(e.customerName),1),t(`span`,null,m(e.carrier),1),t(`span`,null,m(_(u)(e.meterage)),1),t(`span`,j,m(e.trackingNumber),1)]),e.status===`delivered`?i(``,!0):(c(),l(`div`,M,[t(`button`,{type:`button`,class:`admin-btn admin-btn--outline admin-btn--xs`,onClick:t=>$(e)},` مرحله بعد `,8,N)]))]))),128))]),a(oe,{open:H.value,title:`ثبت بارنامه`,size:`lg`,onClose:Z},{footer:g(()=>[t(`button`,{type:`button`,class:`admin-btn admin-btn--outline`,onClick:Z},`انصراف`),t(`button`,{type:`button`,class:`admin-btn admin-btn--primary`,disabled:!Y.value||W.value,onClick:Q},` ثبت بارنامه `,8,xe)]),default:g(()=>[t(`form`,{class:`admin-form`,onSubmit:ee(Q,[`prevent`])},[U.value?(c(),l(`p`,P,m(U.value),1)):i(``,!0),t(`div`,F,[n[9]||=t(`label`,{id:`ship-order-label`},[r(`سفارش `),t(`span`,{class:`admin-form__required`},`*`)],-1),a(C,{modelValue:q.orderId,"onUpdate:modelValue":[n[2]||=e=>q.orderId=e,X],block:``,"aria-label":`انتخاب سفارش`,placeholder:`انتخاب سفارش`,options:Te.value},null,8,[`modelValue`,`options`])]),t(`div`,I,[t(`div`,L,[n[10]||=t(`label`,{for:`ship-carrier`},[r(`باربری `),t(`span`,{class:`admin-form__required`},`*`)],-1),d(t(`input`,{id:`ship-carrier`,"onUpdate:modelValue":n[3]||=e=>q.carrier=e,type:`text`,class:`admin-input`},null,512),[[s,q.carrier]])]),t(`div`,_e,[n[11]||=t(`label`,{for:`ship-tracking`},`شماره بارنامه`,-1),d(t(`input`,{id:`ship-tracking`,"onUpdate:modelValue":n[4]||=e=>q.trackingNumber=e,type:`text`,class:`admin-input`,dir:`ltr`},null,512),[[s,q.trackingNumber]])])]),t(`div`,ve,[t(`div`,ye,[n[12]||=t(`label`,{for:`ship-meterage`},`متراژ`,-1),d(t(`input`,{id:`ship-meterage`,"onUpdate:modelValue":n[5]||=e=>q.meterage=e,type:`number`,min:`1`,class:`admin-input`},null,512),[[s,q.meterage,void 0,{number:!0}]])]),t(`div`,be,[n[13]||=t(`label`,{id:`ship-status-label`},`وضعیت`,-1),a(C,{modelValue:q.status,"onUpdate:modelValue":n[6]||=e=>q.status=e,block:``,"aria-label":`وضعیت ارسال`,options:Ce},null,8,[`modelValue`])])])],32)]),_:1},8,[`open`])]))}}),[[`__scopeId`,`data-v-a78e2869`]]);export{R as default}; \ No newline at end of file diff --git a/dist/assets/StatusBadge-D-XqK4sa.js b/dist/assets/StatusBadge-D-XqK4sa.js new file mode 100644 index 0000000..198177b --- /dev/null +++ b/dist/assets/StatusBadge-D-XqK4sa.js @@ -0,0 +1 @@ +import{Q as e,U as t,ft as n,j as r,lt as i,q as a,ut as o}from"./index-dG7O4aC2.js";var s={pending_review:{label:`در انتظار بررسی`,tone:`warning`},awaiting_customer:{label:`در انتظار مشتری`,tone:`info`},pending_check:{label:`بررسی چک`,tone:`purple`},pending_payment:{label:`بررسی رسید پرداخت`,tone:`purple`},needs_correction:{label:`نیاز به اصلاح`,tone:`danger`},check_correction:{label:`نیاز به اصلاح چک`,tone:`warning`},final_approval:{label:`تأیید نهایی`,tone:`success`},shipped:{label:`ارسال شده`,tone:`info`},delivered:{label:`تحویل شده`,tone:`delivered`},cancelled:{label:`لغو شده`,tone:`neutral`},rejected:{label:`رد شده`,tone:`danger`},expired:{label:`منقضی شده`,tone:`neutral`}},c={cart:`سبد خرید`,submitted:`ثبت‌شده`,awaiting_review:`در انتظار بررسی`,pricing:`قیمت‌گذاری`,awaiting_settlement:`در انتظار تسویه`,awaiting_settlement_fix:`اصلاح تسویه`,cash_in_progress:`در حال ثبت نقدی`,cash_invoice_issued:`صدور فاکتور نقدی`,awaiting_cash_payment:`در انتظار پرداخت نقدی`,cash_payment_submitted:`رسید نقدی ارسال‌شده`,awaiting_cash_confirmation:`تأیید پرداخت نقدی`,cash_confirmed:`پرداخت نقدی تأیید شد`,check_in_progress:`در حال ثبت چک`,awaiting_check_review:`بررسی چک`,check_needs_fix:`اصلاح چک`,check_rejected:`رد چک`,checks_approved:`تأیید چک‌ها`,final_approved:`تأیید نهایی`,preparing:`آماده‌سازی`,ready_to_ship:`آماده ارسال`,shipped:`ارسال‌شده`,delivered:`تحویل‌شده`,needs_correction:`نیاز به اصلاح`,cancelled:`لغو شده`,rejected:`رد شده`,expired:`منقضی`};function l(e){return e?c[e]??e:`—`}var u=[`cart`,`submitted`,`awaiting_review`,`pricing`,`needs_correction`],d=[`pending_review`,`needs_correction`];function f(e){return e.rawStatus?u.includes(e.rawStatus):d.includes(e.status)}var p=[{key:`all`,label:`همه`},{key:`pending_review`,label:`در انتظار بررسی`},{key:`awaiting_customer`,label:`در انتظار مشتری`},{key:`pending_check`,label:`بررسی چک`},{key:`pending_payment`,label:`بررسی رسید`},{key:`check_correction`,label:`اصلاح چک`},{key:`needs_correction`,label:`نیاز به اصلاح`},{key:`final_approval`,label:`تأیید نهایی`},{key:`shipped`,label:`ارسال شده`},{key:`delivered`,label:`تحویل شده`}],m=r(a({__name:`StatusBadge`,props:{status:{}},setup(r){let a={active:{label:`فعال`,tone:`success`},inactive:{label:`غیرفعال`,tone:`neutral`},pending_check_review:{label:`در انتظار بررسی`,tone:`warning`},check_approved:{label:`تأیید شده`,tone:`success`},check_rejected:{label:`رد شده`,tone:`danger`}};return(c,l)=>(e(),t(`span`,{class:o([`admin-badge status-badge`,`admin-badge--${(i(s)[r.status]??a[r.status])?.tone??`neutral`}`])},n((i(s)[r.status]??a[r.status])?.label??r.status),3))}}),[[`__scopeId`,`data-v-23aa055a`]]);export{c as a,u as i,s as n,f as o,p as r,l as s,m as t}; \ No newline at end of file diff --git a/dist/assets/StatusBadge-D4wGJ-Ud.css b/dist/assets/StatusBadge-D4wGJ-Ud.css new file mode 100644 index 0000000..cbfa010 --- /dev/null +++ b/dist/assets/StatusBadge-D4wGJ-Ud.css @@ -0,0 +1 @@ +.status-badge[data-v-23aa055a]{letter-spacing:-.01em} diff --git a/dist/assets/UsersView-Bu8B7Jcu.js b/dist/assets/UsersView-Bu8B7Jcu.js new file mode 100644 index 0000000..513d8c7 --- /dev/null +++ b/dist/assets/UsersView-Bu8B7Jcu.js @@ -0,0 +1 @@ +import{A as e,B as t,G as n,H as r,I as ee,K as i,L as a,P as o,Q as s,T as te,U as c,V as ne,X as l,at as u,ct as d,et as f,ft as p,i as re,it as m,j as ie,k as ae,lt as h,q as g,s as _,st as oe,w as v,z as y}from"./index-dG7O4aC2.js";import{t as se}from"./AdminSelect-BsjBHdZj.js";import{o as b}from"./adminLabels-Cz9ccm1Z.js";import{n as ce,r as le,t as x}from"./ActiveSwitchCell-DxxSF-SL.js";var ue={class:`users-page`},de={class:`users-page__search admin-card`},fe={key:1,class:`users-page__table admin-card desktop-only`},pe={class:`admin-table-wrap`},me={class:`admin-table`},he={dir:`ltr`},S={class:`status`},C={class:`actions`},w=[`onClick`],T={key:2,class:`compact-only admin-card-list`},E={class:`admin-card-item__header`},D={class:`admin-card-item__title`},O={class:`admin-card-item__meta`},k={dir:`ltr`},A={class:`admin-card-item__actions`},j=[`onClick`],M={key:0,class:`admin-form__error`,role:`alert`},N={class:`admin-form__field`},P={class:`admin-form__row`},F={class:`admin-form__field`},I={class:`admin-form__field`},L={class:`admin-form__field`},ge={class:`admin-form__field`},_e=[`disabled`],ve={key:0,class:`admin-btn__spinner`,"aria-hidden":`true`},R=ie(g({__name:`UsersView`,setup(ie){let g=d([]),R=d(``),z=d(null),B=d(null),V=d(``),H=d(!1),U=e(),ye=[{value:`admin`,label:`مدیر سیستم`},{value:`sales`,label:`واحد فروش`},{value:`finance`,label:`واحد مالی`},{value:`warehouse`,label:`انبار`}],W=()=>({fullName:``,phone:``,email:``,role:`sales`,isActive:!0}),G=oe(W()),be=y(()=>z.value!==null),K=y(()=>z.value===`edit`?`ویرایش کاربر`:`افزودن کاربر`),q=y(()=>G.fullName.trim()&&G.phone.trim()&&G.email.trim()),J=y(()=>{let e=R.value.trim();return e?g.value.filter(t=>t.fullName.includes(e)||t.phone.includes(e)||t.email.includes(e)||b[t.role].includes(e)):g.value});async function xe(){try{g.value=await _.list()}catch(e){U.error(e instanceof v?e.message:`بارگذاری کاربران انجام نشد.`)}}l(()=>{xe()});function Y(){z.value=`add`,B.value=null,Object.assign(G,W()),V.value=``}function X(e){z.value=`edit`,B.value=e.id,G.fullName=e.fullName,G.phone=e.phone,G.email=e.email,G.role=e.role,G.isActive=e.isActive,V.value=``}function Z(){z.value=null,B.value=null,V.value=``}async function Q(){if(!q.value){V.value=`نام، تلفن و ایمیل الزامی هستند.`;return}H.value=!0;let e={fullName:G.fullName.trim(),phone:G.phone.trim(),email:G.email.trim(),role:G.role,isActive:G.isActive};try{if(z.value===`edit`&&B.value){let t=await _.update(B.value,e),n=g.value.findIndex(e=>e.id===B.value);n!==-1&&(g.value[n]={...g.value[n],...t})}else{let t=await _.create(e);g.value.push(t)}U.success(z.value===`edit`?`اطلاعات کاربر به‌روزرسانی شد.`:`کاربر جدید ثبت شد.`),Z()}catch(e){U.error(e instanceof v?e.message:`ذخیره کاربر انجام نشد.`)}finally{H.value=!1}}async function $(e,t){await _.setActive(e,t)}function Se(){R.value=``}return(e,l)=>(s(),c(`div`,ue,[t(`div`,{class:`admin-page-header`},[l[6]||=t(`div`,null,[t(`h1`,{class:`admin-page-header__title`},`کاربران و دسترسی‌ها`),t(`p`,{class:`admin-page-header__breadcrumb`},`سیستم / کاربران`)],-1),t(`button`,{type:`button`,class:`admin-btn admin-btn--primary`,onClick:Y},` افزودن کاربر `)]),t(`div`,de,[i(te,{name:`search`,size:18}),u(t(`input`,{"onUpdate:modelValue":l[0]||=e=>R.value=e,type:`search`,class:`users-page__search-input`,placeholder:`جستجو در نام، تلفن، ایمیل...`},null,512),[[o,R.value]])]),J.value.length?(s(),c(`div`,fe,[t(`div`,pe,[t(`table`,me,[l[7]||=t(`thead`,null,[t(`tr`,null,[t(`th`,null,`نام`),t(`th`,null,`تلفن`),t(`th`,null,`ایمیل`),t(`th`,null,`نقش`),t(`th`,{class:`status`},`وضعیت`),t(`th`,null,`آخرین ورود`),t(`th`,{class:`actions`},`عملیات`)])],-1),t(`tbody`,null,[(s(!0),c(a,null,f(J.value,e=>(s(),c(`tr`,{key:e.id},[t(`td`,null,p(e.fullName),1),t(`td`,null,p(e.phone),1),t(`td`,he,p(e.email),1),t(`td`,null,p(h(b)[e.role]),1),t(`td`,S,[i(x,{id:e.id,modelValue:e.isActive,"onUpdate:modelValue":t=>e.isActive=t,"entity-name":e.fullName,"entity-type":`کاربر`,persist:$},null,8,[`id`,`modelValue`,`onUpdate:modelValue`,`entity-name`])]),t(`td`,null,p(e.lastLoginAt?h(re)(e.lastLoginAt):`—`),1),t(`td`,C,[t(`button`,{type:`button`,class:`admin-btn admin-btn--ghost admin-btn--xs`,onClick:t=>X(e)},` ویرایش `,8,w)])]))),128))])])])])):(s(),ne(ce,{key:0,class:`admin-card`,icon:`users`,title:R.value.trim()?`نتیجه‌ای یافت نشد`:`کاربری ثبت نشده`,description:R.value.trim()?`عبارت جستجو را تغییر دهید یا فیلترها را پاک کنید.`:`برای شروع، اولین کاربر را ثبت کنید.`},{default:m(()=>[R.value.trim()?(s(),c(`button`,{key:0,type:`button`,class:`admin-btn admin-btn--outline admin-btn--sm`,onClick:Se},` پاک کردن جستجو `)):(s(),c(`button`,{key:1,type:`button`,class:`admin-btn admin-btn--primary admin-btn--sm`,onClick:Y},` افزودن کاربر `))]),_:1},8,[`title`,`description`])),J.value.length?(s(),c(`div`,T,[(s(!0),c(a,null,f(J.value,e=>(s(),c(`article`,{key:e.id,class:`admin-card-item`},[t(`div`,E,[t(`p`,D,p(e.fullName),1),i(x,{id:e.id,modelValue:e.isActive,"onUpdate:modelValue":t=>e.isActive=t,"entity-name":e.fullName,"entity-type":`کاربر`,persist:$},null,8,[`id`,`modelValue`,`onUpdate:modelValue`,`entity-name`])]),t(`div`,O,[t(`span`,null,p(h(b)[e.role]),1),t(`span`,null,p(e.phone),1),t(`span`,k,p(e.email),1)]),t(`div`,A,[t(`button`,{type:`button`,class:`admin-btn admin-btn--ghost admin-btn--xs`,onClick:t=>X(e)},` ویرایش `,8,j)])]))),128))])):r(``,!0),i(ae,{open:be.value,title:K.value,size:`lg`,onClose:Z},{footer:m(()=>[t(`button`,{type:`button`,class:`admin-btn admin-btn--outline`,onClick:Z},`انصراف`),t(`button`,{type:`button`,class:`admin-btn admin-btn--primary`,disabled:!q.value||H.value,onClick:Q},[H.value?(s(),c(`span`,ve)):r(``,!0),n(` `+p(z.value===`edit`?`ذخیره تغییرات`:`ثبت کاربر`),1)],8,_e)]),default:m(()=>[t(`form`,{class:`admin-form`,onSubmit:ee(Q,[`prevent`])},[V.value?(s(),c(`p`,M,p(V.value),1)):r(``,!0),t(`div`,N,[l[8]||=t(`label`,{for:`user-name`},[n(`نام کامل `),t(`span`,{class:`admin-form__required`},`*`)],-1),u(t(`input`,{id:`user-name`,"onUpdate:modelValue":l[1]||=e=>G.fullName=e,type:`text`,class:`admin-input`},null,512),[[o,G.fullName]])]),t(`div`,P,[t(`div`,F,[l[9]||=t(`label`,{for:`user-phone`},[n(`تلفن `),t(`span`,{class:`admin-form__required`},`*`)],-1),u(t(`input`,{id:`user-phone`,"onUpdate:modelValue":l[2]||=e=>G.phone=e,type:`tel`,class:`admin-input`,inputmode:`tel`,dir:`ltr`},null,512),[[o,G.phone]])]),t(`div`,I,[l[10]||=t(`label`,{for:`user-email`},[n(`ایمیل `),t(`span`,{class:`admin-form__required`},`*`)],-1),u(t(`input`,{id:`user-email`,"onUpdate:modelValue":l[3]||=e=>G.email=e,type:`email`,class:`admin-input`,dir:`ltr`},null,512),[[o,G.email]])])]),t(`div`,L,[l[11]||=t(`label`,null,`نقش`,-1),i(se,{modelValue:G.role,"onUpdate:modelValue":l[4]||=e=>G.role=e,block:``,"aria-label":`نقش کاربر`,options:ye},null,8,[`modelValue`])]),t(`div`,ge,[i(le,{modelValue:G.isActive,"onUpdate:modelValue":l[5]||=e=>G.isActive=e,label:`وضعیت`},null,8,[`modelValue`])])],32)]),_:1},8,[`open`,`title`])]))}}),[[`__scopeId`,`data-v-73cbd3c3`]]);export{R as default}; \ No newline at end of file diff --git a/dist/assets/UsersView-CiIpYxtf.css b/dist/assets/UsersView-CiIpYxtf.css new file mode 100644 index 0000000..7b19151 --- /dev/null +++ b/dist/assets/UsersView-CiIpYxtf.css @@ -0,0 +1 @@ +.users-page__search[data-v-73cbd3c3]{color:var(--color-text-muted);align-items:center;gap:10px;margin-bottom:16px;padding:10px 14px;display:flex}.users-page__search-input[data-v-73cbd3c3]{background:0 0;border:none;outline:none;flex:1;font-size:.875rem}.users-page__table[data-v-73cbd3c3]{overflow:hidden} diff --git a/dist/assets/adminLabels-Cz9ccm1Z.js b/dist/assets/adminLabels-Cz9ccm1Z.js new file mode 100644 index 0000000..719f8ff --- /dev/null +++ b/dist/assets/adminLabels-Cz9ccm1Z.js @@ -0,0 +1 @@ +var e={wholesale:`عمده‌فروش`,retail:`خرده‌فروش`},t={admin:`مدیر سیستم`,sales:`واحد فروش`,finance:`واحد مالی`,warehouse:`انبار`},n={pending_review:`در انتظار تأیید`,approved:`تأیید شده`,rejected:`رد شده`,expired:`منقضی‌شده`},r={pending_review:`admin-badge--warning`,approved:`admin-badge--success`,rejected:`admin-badge--danger`,expired:`admin-badge--neutral`},i={preparing:`در حال آماده‌سازی`,ready:`آماده ارسال`,shipped:`ارسال شده`,delivered:`تحویل شده`},a={preparing:`admin-badge--warning`,ready:`admin-badge--info`,shipped:`admin-badge--purple`,delivered:`admin-badge--success`};export{i as a,a as i,n,t as o,e as r,r as t}; \ No newline at end of file diff --git a/dist/assets/index-BvDWVN71.css b/dist/assets/index-BvDWVN71.css new file mode 100644 index 0000000..488c725 --- /dev/null +++ b/dist/assets/index-BvDWVN71.css @@ -0,0 +1 @@ +.basic-icon[data-v-159253ae] svg{width:100%;height:100%;display:block}.basic-icon[data-v-159253ae] svg path{stroke:currentColor;stroke-width:var(--v196ba43b)}.toast-container[data-v-223aafac]{top:calc(var(--header-height) + 12px);z-index:1200;pointer-events:none;width:min(360px,100vw - 32px);position:fixed;left:16px}.toast-container__list[data-v-223aafac]{pointer-events:none;flex-direction:column;gap:8px;display:flex}.toast[data-v-223aafac]{pointer-events:auto;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-card);align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.toast--success[data-v-223aafac]{border-color:var(--color-success);background:var(--color-success-light);color:var(--color-success-dark)}.toast--error[data-v-223aafac]{border-color:var(--color-danger);background:var(--color-danger-light);color:var(--color-danger)}.toast--warning[data-v-223aafac]{border-color:var(--color-warning);background:var(--color-warning-light);color:var(--color-warning-dark)}.toast--info[data-v-223aafac]{border-color:var(--color-info);background:var(--color-info-light);color:var(--color-info)}.toast__icon[data-v-223aafac]{color:inherit;flex-shrink:0;margin-top:1px}.toast__message[data-v-223aafac]{color:inherit;flex:1;margin:0;font-size:.8125rem;font-weight:600;line-height:1.5}.toast--success .toast__message[data-v-223aafac],.toast--error .toast__message[data-v-223aafac],.toast--warning .toast__message[data-v-223aafac],.toast--info .toast__message[data-v-223aafac]{color:var(--color-text)}.toast__close[data-v-223aafac]{width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;pointer-events:auto;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin:-4px;padding:0;font-size:1.25rem;line-height:1;display:inline-flex}.toast__close[data-v-223aafac]:hover{background:var(--color-border-light);color:var(--color-text)}.toast-enter-active[data-v-223aafac],.toast-leave-active[data-v-223aafac]{transition:opacity .18s,transform .18s}.toast-enter-from[data-v-223aafac],.toast-leave-to[data-v-223aafac]{opacity:0;transform:translateY(-8px)}@media (prefers-reduced-motion:reduce){.toast-enter-active[data-v-223aafac],.toast-leave-active[data-v-223aafac]{transition:none}}.admin-modal-backdrop[data-v-a52d3eeb]{z-index:1000;-webkit-backdrop-filter:blur(8px);background:#0f172a85;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.admin-modal[data-v-a52d3eeb]{background:var(--color-surface);border-radius:var(--radius-lg);flex-direction:column;width:min(100%,480px);max-height:calc(100dvh - 32px);display:flex;overflow:hidden;box-shadow:0 20px 48px #0f172a2e}.admin-modal--lg[data-v-a52d3eeb]{width:min(100%,640px)}.admin-modal--xl[data-v-a52d3eeb]{width:min(100%,960px)}.admin-modal__header[data-v-a52d3eeb]{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.admin-modal__title[data-v-a52d3eeb]{color:var(--color-text);margin:0;font-size:1rem;font-weight:700}.admin-modal__close[data-v-a52d3eeb]{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-muted);background:0 0;border:none;justify-content:center;align-items:center;font-size:1.5rem;line-height:1;display:flex}.admin-modal__close[data-v-a52d3eeb]:hover{background:var(--color-border-light);color:var(--color-text)}.admin-modal__body[data-v-a52d3eeb]{flex:auto;min-height:0;padding:16px 20px 20px;overflow-y:auto}.admin-modal__footer[data-v-a52d3eeb]{border-top:1px solid var(--color-border);background:var(--color-bg);flex-direction:row-reverse;flex-shrink:0;justify-content:flex-start;align-items:center;gap:10px;padding:14px 20px;display:flex}.admin-modal__footer[data-v-a52d3eeb] .admin-btn{min-width:0}@media (width<=767px){.admin-modal-backdrop[data-v-a52d3eeb]{align-items:flex-end;padding:0}.admin-modal[data-v-a52d3eeb],.admin-modal--lg[data-v-a52d3eeb],.admin-modal--xl[data-v-a52d3eeb]{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:92dvh}.admin-modal__header[data-v-a52d3eeb]{padding:14px 16px}.admin-modal__body[data-v-a52d3eeb]{padding:14px 16px 18px}.admin-modal__footer[data-v-a52d3eeb]{padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));flex-direction:row-reverse;gap:12px}.admin-modal__footer[data-v-a52d3eeb] .admin-btn{flex:1;min-height:44px}}.confirm-dialog__message[data-v-47354e67]{color:var(--color-text-muted);margin:0;font-size:.875rem;line-height:1.7}.admin-sidebar[data-v-bcc6586c]{width:var(--sidebar-width);background:var(--color-sidebar-bg);color:#fff;flex-direction:column;flex-shrink:0;height:100%;display:flex;overflow:hidden}.admin-sidebar__brand[data-v-bcc6586c]{text-align:center;border-bottom:1px solid #ffffff14;padding:24px 20px 20px}.admin-sidebar__title[data-v-bcc6586c]{letter-spacing:-.02em;font-size:1.125rem;font-weight:700;display:block}.admin-sidebar__subtitle[data-v-bcc6586c]{color:#fff9;margin-top:4px;font-size:.75rem;display:block}.admin-sidebar__nav[data-v-bcc6586c]{flex-direction:column;flex:1;gap:2px;padding:12px 10px;display:flex;overflow-y:auto}.admin-sidebar__item[data-v-bcc6586c]{border-radius:var(--radius-sm);color:#ffffffd9;text-align:right;width:100%;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;align-items:center;gap:10px;padding:10px 14px;font-size:.8125rem;font-weight:500;display:flex}.admin-sidebar__item[data-v-bcc6586c]:focus-visible{outline-offset:2px;outline:2px solid #ffffff73}.admin-sidebar__item[data-v-bcc6586c]:hover{background:var(--color-sidebar-hover)}.admin-sidebar__item.active[data-v-bcc6586c]{background:var(--color-sidebar-active);color:#fff;font-weight:600}.admin-sidebar__logout[data-v-bcc6586c]{border-radius:var(--radius-sm);color:#f87171;background:0 0;border:none;align-items:center;gap:10px;margin:8px 10px 16px;padding:10px 14px;font-size:.8125rem;transition:background .15s,color .15s;display:flex}.admin-sidebar__logout[data-v-bcc6586c]:hover{color:#fca5a5;background:#f871711f}.admin-header[data-v-033c6e48]{height:var(--header-height);background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;gap:24px;padding:0 28px;display:flex}.admin-header__right[data-v-033c6e48]{flex-shrink:0;align-items:center;gap:10px;min-width:0;display:flex}.admin-header__menu-btn[data-v-033c6e48]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:40px;height:40px;color:var(--color-text);flex-shrink:0;justify-content:center;align-items:center;display:flex}.admin-header__menu-btn[data-v-033c6e48]:hover{background:var(--color-border-light)}.admin-header__title[data-v-033c6e48]{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.125rem;font-weight:700;overflow:hidden}.admin-header__left[data-v-033c6e48]{align-items:center;gap:8px;display:flex}.admin-header__dropdown[data-v-033c6e48]{position:relative}.admin-header__icon-btn[data-v-033c6e48]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);min-width:52px;height:52px;color:var(--color-text);flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px 8px;transition:background .15s,border-color .15s;display:flex;position:relative}.admin-header__icon-btn[data-v-033c6e48]:hover,.admin-header__icon-btn--active[data-v-033c6e48]{background:var(--color-border-light);border-color:#cbd5e1}.admin-header__icon-label[data-v-033c6e48]{color:var(--color-text-muted);font-size:.625rem;font-weight:600;line-height:1}.admin-header__badge[data-v-033c6e48]{background:var(--color-danger);color:#fff;border:2px solid var(--color-surface);border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.625rem;font-weight:700;line-height:1;display:flex;position:absolute;top:2px;left:2px}.admin-header__panel[data-v-033c6e48]{z-index:950;width:min(360px,100vw - 32px);max-height:min(420px, calc(100dvh - var(--header-height) - 24px));background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-direction:column;display:flex;position:absolute;top:calc(100% + 8px);left:0;overflow:hidden}.admin-header__panel-header[data-v-033c6e48]{border-bottom:1px solid var(--color-border);background:var(--color-surface);justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.admin-header__panel-title[data-v-033c6e48]{color:var(--color-text);margin:0;font-size:.9375rem;font-weight:700}.admin-header__panel-action[data-v-033c6e48]{color:var(--color-primary);white-space:nowrap;background:0 0;border:none;padding:0;font-size:.75rem;font-weight:600}.admin-header__panel-action[data-v-033c6e48]:hover{text-decoration:underline}.admin-header__panel-list[data-v-033c6e48]{margin:0;padding:0;list-style:none;overflow-y:auto}.admin-header__panel-item[data-v-033c6e48]{border-bottom:1px solid var(--color-border-light)}.admin-header__panel-item[data-v-033c6e48]:last-child{border-bottom:none}.admin-header__panel-item.unread[data-v-033c6e48]{background:var(--color-info-light)}.admin-header__panel-item-btn[data-v-033c6e48]{text-align:right;width:100%;color:var(--color-text);background:0 0;border:none;flex-direction:column;gap:4px;padding:12px 16px;display:flex}.admin-header__panel-item-btn[data-v-033c6e48]:hover{background:var(--color-border-light)}.admin-header__panel-item-top[data-v-033c6e48]{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.admin-header__panel-item-top strong[data-v-033c6e48]{font-size:.8125rem;font-weight:700;line-height:1.4}.admin-header__panel-item-top time[data-v-033c6e48]{color:var(--color-text-muted);flex-shrink:0;font-size:.6875rem}.admin-header__panel-item-sender[data-v-033c6e48]{color:var(--color-text-muted);font-size:.75rem}.admin-header__panel-item-body[data-v-033c6e48]{color:var(--color-text-muted);font-size:.8125rem;line-height:1.5}.admin-header__panel-item--warning.unread[data-v-033c6e48]{background:var(--color-warning-light)}.admin-header__panel-item--danger.unread[data-v-033c6e48]{background:var(--color-danger-light)}.admin-header__panel-item--success.unread[data-v-033c6e48]{background:var(--color-success-light)}.admin-header__panel-empty[data-v-033c6e48]{text-align:center;color:var(--color-text-muted);margin:0;padding:24px 16px;font-size:.875rem}.admin-header__user[data-v-033c6e48]{border-right:1px solid var(--color-border);align-items:center;gap:10px;margin-right:4px;padding-right:12px;display:flex}.admin-header__avatar[data-v-033c6e48]{background:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:.875rem;font-weight:700;display:flex}.admin-header__user-info[data-v-033c6e48]{flex-direction:column;gap:1px;display:flex}.admin-header__user-info strong[data-v-033c6e48]{font-size:.8125rem;font-weight:600}.admin-header__user-info span[data-v-033c6e48]{color:var(--color-text-muted);font-size:.6875rem}.admin-header__theme-glyph[data-v-033c6e48]{color:inherit;justify-content:center;align-items:center;line-height:0;display:inline-flex}.admin-header__panel--theme[data-v-033c6e48]{min-width:200px}.admin-header__theme-list[data-v-033c6e48]{flex-direction:column;gap:6px;margin:0;padding:8px;list-style:none;display:flex}.admin-header__theme-option[data-v-033c6e48]{text-align:right;width:100%;color:var(--color-text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;font-family:inherit;font-size:.875rem;display:flex}.admin-header__theme-option-icon[data-v-033c6e48]{background:var(--color-bg);border:1px solid var(--color-border);width:36px;height:36px;color:var(--color-text);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.admin-header__theme-option-label[data-v-033c6e48]{flex:1;min-width:0;font-weight:600}.admin-header__theme-option-check[data-v-033c6e48]{color:var(--color-primary);flex-shrink:0}.admin-header__theme-option[data-v-033c6e48]:hover{background:var(--color-border-light)}.admin-header__theme-option--active[data-v-033c6e48]{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.admin-header__theme-option--active .admin-header__theme-option-icon[data-v-033c6e48]{background:var(--color-primary);border-color:var(--color-primary);color:#fff}@media (width<=767px){.admin-header[data-v-033c6e48]{gap:12px;padding:0 16px}.admin-header__icon-label[data-v-033c6e48]{display:none}.admin-header__icon-btn[data-v-033c6e48]{min-width:40px;height:40px;padding:0}.admin-header__panel[data-v-033c6e48]{top:var(--header-height);width:auto;max-height:calc(100dvh - var(--header-height) - 16px);position:fixed;left:16px;right:16px}.admin-header__panel-header[data-v-033c6e48]{flex-direction:column;align-items:stretch}.admin-header__panel-action[data-v-033c6e48]{align-self:flex-start}.admin-header__user-info[data-v-033c6e48]{display:none}.admin-header__user[data-v-033c6e48]{border-right:none;margin-right:0;padding-right:0}.admin-header__title[data-v-033c6e48]{font-size:1rem}}.admin-drawer__brand[data-v-7a746e66]{text-align:center;border-bottom:1px solid #ffffff14;padding:20px 16px;position:relative}.admin-drawer__brand strong[data-v-7a746e66]{font-size:1.0625rem;font-weight:700;display:block}.admin-drawer__brand span[data-v-7a746e66]{color:#fff9;margin-top:4px;font-size:.75rem;display:block}.admin-drawer__close[data-v-7a746e66]{border-radius:var(--radius-sm);color:#fff;background:#ffffff14;border:none;width:32px;height:32px;font-size:1.25rem;line-height:1;position:absolute;top:16px;left:12px}.admin-drawer__nav[data-v-7a746e66]{flex-direction:column;flex:1;gap:2px;padding:12px 10px;display:flex;overflow-y:auto}.admin-drawer__item[data-v-7a746e66]{border-radius:var(--radius-sm);color:#ffffffd9;text-align:right;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:12px 14px;font-size:.875rem;font-weight:500;display:flex}.admin-drawer__item.active[data-v-7a746e66]{background:var(--color-sidebar-active);font-weight:600}.admin-drawer__logout[data-v-7a746e66]{border-radius:var(--radius-sm);color:#f87171;background:0 0;border:none;align-items:center;gap:10px;margin:8px 10px 16px;padding:12px 14px;font-size:.875rem;display:flex}.admin-drawer__logout[data-v-7a746e66]:hover{color:#fca5a5;background:#f871711f}.admin-shell[data-v-a2045bea]{height:100dvh;display:flex;overflow:hidden}.admin-shell__main[data-v-a2045bea]{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.admin-shell__content[data-v-a2045bea]{flex:1;padding:24px 28px;overflow-y:auto}*,:before,:after,::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 #0000;--un-ring-shadow:0 0 #0000;--un-shadow-inset: ;--un-shadow:0 0 #0000;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:#93c5fd80;--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.page-shell{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.admin-panel{border-width:1px;border-color:var(--color-border);background-color:var(--color-surface);border-radius:.75rem}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.grid{display:grid}.col-span-full{grid-column:1/-1}.m-0{margin:0}.mb-3{margin-bottom:.75rem}.mr-auto{margin-right:auto}.mt-3{margin-top:.75rem}.block{display:block}.hidden{display:none}.h1{height:.25rem}.h2{height:.5rem}.h3{height:.75rem}.flex{display:flex}.inline-flex{display:inline-flex}.flex-shrink{flex-shrink:1}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.table{display:table}.transform{transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.resize{resize:both}.list-none{list-style-type:none}.items-center{align-items:center}.justify-end{justify-content:flex-end}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.border{border-width:1px}.p-0{padding:0}.px{padding-left:1rem;padding-right:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.text-success{color:var(--color-success)}.text-inherit{color:inherit}.font-semibold{font-weight:600}.underline{text-decoration-line:underline}.no-underline{text-decoration:none}.tab{tab-size:4}.outline{outline-style:solid}.filter{filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.backdrop-filter{-webkit-backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease{transition-timing-function:cubic-bezier(.4,0,.2,1)}@font-face{font-family:IRANSans;src:url(/admin/assets/IRANSansWeb\(FaNum\)-BLA2CtIC.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IRANSans;src:url(/admin/assets/IRANSansWeb\(FaNum\)_Light-B637MNLG.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:IRANSans;src:url(/admin/assets/IRANSansWeb\(FaNum\)_Medium-C2CKjrKB.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:IRANSans;src:url(/admin/assets/IRANSansWeb\(FaNum\)_Bold-C8urhp07.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:IRANSans;src:url(/admin/assets/IRANSansWeb\(FaNum\)_Black-BFAfOkt4.woff2)format("woff2");font-weight:900;font-style:normal;font-display:swap}:root{--color-primary:#17379f;--color-primary-hover:#102b83;--color-primary-soft:#eef3ff;--color-sidebar-bg:#1a2542;--color-sidebar-active:#243456;--color-sidebar-hover:#243456;--color-success:#159660;--color-success-light:#eaf8f1;--color-success-dark:#0d7a4d;--color-warning:#f59e0b;--color-warning-light:#fff6e5;--color-warning-dark:#d97706;--color-danger:#dc3545;--color-danger-light:#fee2e2;--color-purple:#7c3aed;--color-purple-light:#ede9fe;--color-info:#17379f;--color-info-light:#eef3ff;--color-bg:#f0f2f7;--color-surface:#fff;--color-border:#e5e8ef;--color-border-light:#f1f3f7;--color-text:#182033;--color-text-muted:#667085;--color-text-secondary:#94a3b8;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-sm:0 1px 2px #1018280a;--shadow-card:0 1px 3px #1018280f, 0 4px 16px #1018280a;--sidebar-width:240px;--header-height:72px;--font-family:"IRANSans", "Tahoma", sans-serif;--btn-primary-bg:#1e293b;--btn-primary-hover:#0f172a;--admin-desktop-min:1280px;--control-height:40px;--control-height-sm:32px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--transition-fast:.15s ease;--transition-base:.18s ease;--focus-ring:0 0 0 3px #17379f24}html.dark{--color-primary:#6b8cff;--color-primary-hover:#8aa4ff;--color-primary-soft:#1a2744;--color-sidebar-bg:#0d1320;--color-sidebar-active:#1a2540;--color-sidebar-hover:#162038;--color-success:#34d399;--color-success-light:#0f2e24;--color-success-dark:#6ee7b7;--color-warning:#fbbf24;--color-warning-light:#3a2e14;--color-warning-dark:#fcd34d;--color-danger:#f87171;--color-danger-light:#3f1d22;--color-purple:#a78bfa;--color-purple-light:#2a2144;--color-info:#6b8cff;--color-info-light:#1a2744;--color-bg:#0f1419;--color-surface:#171c24;--color-border:#2a3341;--color-border-light:#222a36;--color-text:#e8edf5;--color-text-muted:#94a3b8;--color-text-secondary:#64748b;--shadow-sm:0 1px 2px #00000059;--shadow-card:0 1px 3px #0006, 0 4px 16px #00000059;--btn-primary-bg:#334155;--btn-primary-hover:#475569;--focus-ring:0 0 0 3px #6b8cff47}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;height:100%;font-size:16px}body{font-family:var(--font-family);background:var(--color-bg);color:var(--color-text);direction:rtl;height:100%;margin:0;line-height:1.5}#app{height:100dvh}html,body,#app,#app *,.admin-modal-backdrop,.admin-modal-backdrop *{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{background:0 0;width:0;height:0;display:none}body::-webkit-scrollbar{background:0 0;width:0;height:0;display:none}#app::-webkit-scrollbar{background:0 0;width:0;height:0;display:none}#app ::-webkit-scrollbar{background:0 0;width:0;height:0;display:none}.admin-modal-backdrop::-webkit-scrollbar{background:0 0;width:0;height:0;display:none}.admin-modal-backdrop ::-webkit-scrollbar{background:0 0;width:0;height:0;display:none}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}input,textarea,select{font-family:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.admin-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.admin-page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.admin-page-header__title{color:var(--color-text);margin:0;font-size:1.25rem;font-weight:700}.admin-page-header__breadcrumb{color:var(--color-text-muted);margin:4px 0 0;font-size:.8125rem}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.875rem}.admin-table th{text-align:center;color:var(--color-text-muted);background:var(--color-bg);border-bottom:1px solid var(--color-border);white-space:nowrap;padding:11px 16px;font-size:.8125rem;font-weight:600}.admin-table td{text-align:center;border-bottom:1px solid var(--color-border-light);vertical-align:middle;color:var(--color-text);padding:13px 16px}.admin-table tbody tr{transition:background var(--transition-fast)}.admin-table tbody tr:hover{background:var(--color-border-light)}.admin-table tbody tr.is-selected{background:var(--color-primary-soft)}.admin-table .col-numeric,.admin-table td.numeric,.admin-table th.numeric{text-align:center;font-variant-numeric:tabular-nums}.admin-table .col-status,.admin-table td.status,.admin-table th.status{text-align:center}.admin-table .col-actions,.admin-table td.actions,.admin-table th.actions{text-align:center;white-space:nowrap}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table--compact td,.admin-table--compact th{padding:10px 12px}.admin-btn{min-height:var(--control-height);border-radius:var(--radius-sm);transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 20px;font-size:.875rem;font-weight:600;display:inline-flex}.admin-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.admin-btn:active:not(:disabled){transform:translateY(1px)}.admin-btn--primary{background:var(--btn-primary-bg);color:#fff;border-color:var(--btn-primary-bg)}.admin-btn--primary:hover:not(:disabled){background:var(--btn-primary-hover)}.admin-btn--danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.admin-btn--danger:hover:not(:disabled){background:#c82333}.admin-btn--success{background:var(--color-success);color:#fff}.admin-btn--success:hover{background:var(--color-success-dark)}.admin-btn--outline{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.admin-btn--outline:hover{background:var(--color-border-light)}.admin-btn--outline-success{background:var(--color-surface);color:var(--color-success);border-color:var(--color-success)}.admin-btn--outline-danger{background:var(--color-surface);color:var(--color-danger);border-color:var(--color-danger)}.admin-btn--outline-warning{background:var(--color-surface);color:var(--color-warning-dark);border-color:var(--color-warning)}.admin-btn--ghost{color:var(--color-primary);background:0 0;border-color:#0000;padding:6px 12px}.admin-btn--ghost:hover{background:var(--color-info-light)}.admin-btn--sm{min-height:var(--control-height-sm);padding:0 14px;font-size:.8125rem}.admin-btn--xs{min-height:28px;padding:0 10px;font-size:.75rem}.admin-btn__spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite admin-spin}.admin-btn--outline .admin-btn__spinner{border-color:#17379f33;border-top-color:var(--color-primary)}@keyframes admin-spin{to{transform:rotate(360deg)}}.admin-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.admin-badge{white-space:nowrap;border:1px solid #0000;border-radius:6px;align-items:center;min-height:24px;padding:2px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.admin-badge--warning{background:var(--color-warning-light);color:var(--color-warning-dark)}.admin-badge--purple{background:var(--color-purple-light);color:var(--color-purple)}.admin-badge--success{background:var(--color-success-light);color:var(--color-success-dark)}.admin-badge--danger{background:var(--color-danger-light);color:var(--color-danger)}.admin-badge--info{background:var(--color-info-light);color:var(--color-info)}.admin-badge--neutral{background:var(--color-border-light);color:var(--color-text-muted)}.admin-badge--delivered{background:var(--color-success-light);color:var(--color-success-dark)}.admin-tabs{border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:0;display:flex;overflow:visible}.admin-tab{color:var(--color-text-muted);white-space:nowrap;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;margin-bottom:-1px;padding:12px 16px;font-size:.875rem;font-weight:500}.admin-tab:focus-visible{box-shadow:inset 0 -2px 0 var(--color-primary);outline:none}.admin-tab:hover{color:var(--color-text)}.admin-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.admin-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;color:var(--color-text);padding:10px 14px;font-size:.875rem}.admin-input[type=number],.admin-input[type=tel],.admin-input[inputmode=numeric],.admin-input[inputmode=decimal],.admin-input[inputmode=tel],.admin-input[dir=ltr]{text-align:right}select.admin-input{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.75' d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-position:12px;background-repeat:no-repeat;padding-inline:14px 36px}html.dark select.admin-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%94a3b8' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.75' d='m7 10 5 5 5-5'/%3E%3C/svg%3E")}.admin-input:focus{border-color:var(--color-primary);box-shadow:var(--focus-ring);outline:none}.admin-input--sm{max-width:120px;padding:6px 10px;font-size:.8125rem}.admin-stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;gap:8px;padding:20px;display:flex}.admin-stat-card__label{color:var(--color-text-muted);margin:0;font-size:.8125rem}.admin-stat-card__value{margin:0;font-size:1.75rem;font-weight:700;line-height:1.2}.admin-stat-card__icon{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:4px;display:flex}.admin-stat-card__link{color:var(--color-primary);margin-top:auto;font-size:.75rem}.admin-link{color:var(--color-primary);font-size:.8125rem;font-weight:500}.admin-link:hover{text-decoration:underline}.admin-pagination{border-top:1px solid var(--color-border-light);color:var(--color-text-muted);justify-content:space-between;align-items:center;padding:16px;font-size:.8125rem;display:flex}.admin-pagination__pages{gap:4px;display:flex}.admin-pagination__page{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);justify-content:center;align-items:center;min-width:32px;height:32px;font-size:.8125rem;display:flex}.admin-pagination__page.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.admin-summary-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;display:grid}.admin-summary-item{background:var(--color-border-light);border-radius:var(--radius-sm);padding:12px 16px}.admin-summary-item__label{color:var(--color-text-muted);margin:0 0 4px;font-size:.75rem}.admin-summary-item__value{margin:0;font-size:.9375rem;font-weight:600}.admin-info-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.admin-info-row{align-items:center;gap:8px;font-size:.8125rem;display:flex}.admin-info-row__label{color:var(--color-text-muted)}.admin-info-row__value{font-weight:500}.admin-logo-par{border-radius:var(--radius-sm);color:#fff;background:#17379f;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.125rem;font-weight:900;display:flex}.admin-logo-fam{border-radius:var(--radius-sm);color:#17379f;background:#f5f0e8;flex-direction:column;justify-content:center;align-items:center;width:40px;height:40px;font-size:.5rem;font-weight:700;line-height:1.2;display:flex}.admin-logo-fam span:first-child{font-size:.625rem}.admin-action-group{gap:8px;display:flex}.admin-section-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:16px;padding:20px}.admin-section-card__title{margin:0 0 16px;font-size:.9375rem;font-weight:700}.admin-form-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px;display:grid}.admin-form-field label{color:var(--color-text-muted);margin-bottom:6px;font-size:.8125rem;display:block}.admin-form-field textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);resize:vertical;width:100%;min-height:80px;padding:10px 14px;font-size:.875rem}.admin-footer-actions{border-top:1px solid var(--color-border-light);gap:12px;margin-top:24px;padding-top:20px;display:flex}.admin-empty-placeholder{text-align:center;color:var(--color-text-muted);padding:48px 24px;font-size:.9375rem}.admin-form{flex-direction:column;gap:16px;display:flex}.admin-form__error{border-radius:var(--radius-sm);background:var(--color-danger-light);color:var(--color-danger);margin:0;padding:10px 12px;font-size:.8125rem}.admin-form__field{flex-direction:column;gap:6px;display:flex}.admin-form__field label{color:var(--color-text);font-size:.8125rem;font-weight:600}.admin-form__required{color:var(--color-danger)}.admin-form__textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);resize:vertical;width:100%;min-height:80px;padding:10px 14px;font-family:inherit;font-size:.875rem}.admin-form__textarea:focus{border-color:var(--color-primary);box-shadow:var(--focus-ring);outline:none}.admin-skeleton{background:linear-gradient(90deg, var(--color-border-light) 25%, var(--color-border) 50%, var(--color-border-light) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.2s ease-in-out infinite admin-skeleton}@keyframes admin-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.admin-skeleton,.admin-btn__spinner{animation:none}}.admin-form__row{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media print{@page{margin:12mm}html.printing-order-detail body>:not(.admin-modal-backdrop){display:none!important}html.printing-order-detail .admin-modal-backdrop{z-index:auto!important;background:0 0!important;padding:0!important;display:block!important;position:static!important;inset:auto!important}html.printing-order-detail .admin-modal{width:100%!important;max-height:none!important;box-shadow:none!important;color:#111!important;background:#fff!important;border-radius:0!important;overflow:visible!important}html.printing-order-detail .admin-modal__header{border-bottom-color:#ddd!important;padding:0 0 12px!important}html.printing-order-detail .admin-modal__close,html.printing-order-detail .admin-modal__footer,html.printing-order-detail .no-print,html.printing-order-detail .orders-page__modal-breadcrumb,html.printing-order-detail .compact-orders__modal-breadcrumb{display:none!important}html.printing-order-detail .admin-modal__body{max-height:none!important;padding:0!important;overflow:visible!important}html.printing-order-detail .admin-modal__title{color:#111!important}}:root{--page-padding-mobile:16px;--page-padding-tablet:20px;--page-padding-desktop:28px;--page-padding:var(--page-padding-mobile);--mobile-nav-height:0px;--drawer-width:min(300px, 88vw);--admin-desktop-min:1280px}@media (width>=768px){:root{--page-padding:var(--page-padding-tablet)}}@media (width>=1280px){:root{--page-padding:var(--page-padding-desktop)}}.desktop-only{display:none!important}.compact-only{display:block}@media (width>=1280px){.desktop-only{display:revert!important}.desktop-only.admin-shell__sidebar,.desktop-only.admin-sidebar{display:flex!important}.desktop-only.orders-page,.desktop-only.dashboard{display:block!important}.compact-only{display:none!important}}.admin-drawer-backdrop{z-index:900;opacity:0;visibility:hidden;background:#0f172a73;transition:opacity .2s,visibility .2s;position:fixed;inset:0}.admin-drawer-backdrop.open{opacity:1;visibility:visible}.admin-drawer{z-index:901;width:var(--drawer-width);background:var(--color-sidebar-bg);color:#fff;flex-direction:column;height:100dvh;transition:transform .25s;display:flex;position:fixed;top:0;right:0;overflow:hidden;transform:translate(100%)}.admin-drawer.open{transform:translate(0)}.admin-card-list{flex-direction:column;gap:10px;display:flex}.admin-card-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:right;width:100%;padding:14px 16px;transition:border-color .15s,background .15s}.admin-card-item:hover{border-color:#cbd5e1}.admin-card-item.selected{border-color:var(--color-primary);background:var(--color-info-light)}.admin-card-item__header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.admin-card-item__header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.admin-card-item__title{margin:0;font-size:.875rem;font-weight:700}.admin-card-item__meta{color:var(--color-text-muted);flex-wrap:wrap;gap:8px 16px;font-size:.8125rem;display:flex}.admin-card-item__meta span strong{color:var(--color-text);font-weight:600}.admin-card-item__actions{border-top:1px solid var(--color-border-light);flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px;display:flex}.admin-detail-panel{z-index:850;background:var(--color-bg);flex-direction:column;transition:transform .25s;display:flex;position:fixed;inset:0;transform:translate(100%)}.admin-detail-panel.open{transform:translate(0)}.admin-detail-panel__header{padding:12px var(--page-padding);background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0;grid-template-columns:40px 1fr 40px;align-items:center;gap:12px;display:grid}.admin-detail-panel__back{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:40px;height:40px;color:var(--color-text);transition:background var(--transition-fast), border-color var(--transition-fast);flex-shrink:0;grid-column:1;justify-content:center;align-items:center;display:flex}.admin-detail-panel__back:hover{background:var(--color-border-light);border-color:var(--color-border)}.admin-detail-panel__title{text-align:center;grid-column:2;margin:0;font-size:1rem;font-weight:700}.admin-detail-panel__body{padding:var(--page-padding);flex:1;overflow-y:auto}.compact-page-header{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.compact-page-header__row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.compact-page-header__title{margin:0;font-size:1.125rem;font-weight:700}.compact-page-header__breadcrumb{color:var(--color-text-muted);margin:4px 0 0;font-size:.8125rem}.compact-page-header__actions{flex-wrap:wrap;gap:8px;display:flex}@media (width>=768px){.compact-page-header__row{align-items:center}.compact-page-header__actions{flex-shrink:0}}.compact-stats-grid{grid-template-columns:1fr;gap:12px;margin-bottom:16px;display:grid}@media (width>=480px){.compact-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=768px){.compact-stats-grid{grid-template-columns:repeat(3,1fr)}}.compact-section-grid{flex-direction:column;gap:16px;display:flex}.compact-section-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:16px}.compact-section-card__title{margin:0 0 12px;font-size:.9375rem;font-weight:700}@media (width<=1279px){.admin-shell__content{padding:var(--page-padding)}.admin-summary-grid,.admin-form-grid,.admin-info-grid{grid-template-columns:repeat(2,1fr)}.admin-pagination{flex-direction:column;align-items:stretch;gap:12px}.admin-pagination__pages{flex-wrap:wrap;justify-content:center}.admin-tab{padding:10px 12px;font-size:.8125rem}.admin-page-header .admin-action-group{flex-wrap:wrap;gap:8px}}@media (width<=767px){:root{--header-height:60px}.admin-page-header{flex-direction:column;align-items:stretch}.admin-page-header .admin-btn,.admin-page-header .admin-action-group{width:100%}.admin-page-header .admin-action-group .admin-btn{flex:1;min-width:fit-content}.admin-summary-grid,.admin-form-grid,.admin-info-grid{grid-template-columns:1fr}.admin-footer-actions{flex-direction:column}.admin-footer-actions .admin-btn{width:100%}.admin-form__row{grid-template-columns:1fr}.admin-tab{padding:8px 10px;font-size:.75rem}.admin-modal-backdrop{align-items:flex-end;padding:0}.admin-modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-width:100%;max-height:92dvh}.checks-page__footer{flex-direction:column;align-items:stretch}.checks-page__footer .admin-action-group{flex-direction:column;width:100%}.checks-page__footer .admin-action-group .admin-btn{width:100%}} diff --git a/dist/assets/index-dG7O4aC2.js b/dist/assets/index-dG7O4aC2.js new file mode 100644 index 0000000..6d55589 --- /dev/null +++ b/dist/assets/index-dG7O4aC2.js @@ -0,0 +1,382 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/LoginView-D7iZwKPi.js","assets/LoginView-DZ4_j4UF.css","assets/DashboardView-B4W3rp-i.js","assets/StatusBadge-D-XqK4sa.js","assets/StatusBadge-D4wGJ-Ud.css","assets/DashboardView-Dt8n-iF2.css","assets/OrdersView-D0Eztocg.js","assets/AdminSelect-BsjBHdZj.js","assets/AdminSelect-DygSPg0P.css","assets/adminLabels-Cz9ccm1Z.js","assets/OrdersView-BDNu8Skn.css","assets/OrderPricingView-2_6fSc39.js","assets/AdminCurrencyInput-Bo4teStb.js","assets/AdminCurrencyInput-QPh70it7.css","assets/OrderPricingView-CoLjkjhh.css","assets/ChecksListView-BenCn0gO.js","assets/ChecksListView-BManVtea.css","assets/CheckManagementView-BfogLYQM.js","assets/CheckManagementView-BIZGwBaB.css","assets/CompaniesView-CfFrdLAS.js","assets/ActiveSwitchCell-DxxSF-SL.js","assets/ActiveSwitchCell-ek5gVZ9f.css","assets/CompaniesView-CrPUhk7I.css","assets/BankAccountsView-sSvD7o7g.js","assets/BankAccountsView-DhlQ4HRy.css","assets/CustomersView-BYpoFcAd.js","assets/CustomersView-BfXhxAth.css","assets/ProductsView-D1KGixmP.js","assets/ProductsView-BMsySxsi.css","assets/CatalogsView-rrxXBbd1.js","assets/CatalogsView-DbBk4Fy_.css","assets/CashPaymentsView-D6ITwHuu.js","assets/CashPaymentsView-DMotishw.css","assets/ShippingView-Dqgg-XEs.js","assets/ShippingView-D5qfKl__.css","assets/ReportsView-_lTR_DLQ.js","assets/ReportsView-DVj4kC2G.css","assets/SettingsView-BDyMkB9r.js","assets/SettingsView-Bij8reGT.css","assets/UsersView-Bu8B7Jcu.js","assets/UsersView-CiIpYxtf.css"])))=>i.map(i=>d[i]); +(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();function e(e){let t=Object.create(null);for(let n of e.split(`,`))t[n]=1;return e=>e in t}var t={},n=[],r=()=>{},i=()=>!1,a=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),o=e=>e.startsWith(`onUpdate:`),s=Object.assign,c=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)},l=Object.prototype.hasOwnProperty,u=(e,t)=>l.call(e,t),d=Array.isArray,f=e=>x(e)===`[object Map]`,p=e=>x(e)===`[object Set]`,m=e=>x(e)===`[object Date]`,h=e=>typeof e==`function`,g=e=>typeof e==`string`,_=e=>typeof e==`symbol`,v=e=>typeof e==`object`&&!!e,y=e=>(v(e)||h(e))&&h(e.then)&&h(e.catch),b=Object.prototype.toString,x=e=>b.call(e),S=e=>x(e).slice(8,-1),C=e=>x(e)===`[object Object]`,w=e=>g(e)&&e!==`NaN`&&e[0]!==`-`&&``+parseInt(e,10)===e,T=e(`,key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted`),ee=e=>{let t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},te=/-\w/g,E=ee(e=>e.replace(te,e=>e.slice(1).toUpperCase())),ne=/\B([A-Z])/g,D=ee(e=>e.replace(ne,`-$1`).toLowerCase()),re=ee(e=>e.charAt(0).toUpperCase()+e.slice(1)),ie=ee(e=>e?`on${re(e)}`:``),O=(e,t)=>!Object.is(e,t),ae=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},oe=e=>{let t=parseFloat(e);return isNaN(t)?e:t},se=e=>{let t=g(e)?Number(e):NaN;return isNaN(t)?e:t},ce,le=()=>ce||=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{};function ue(e){if(d(e)){let t={};for(let n=0;n{if(e){let n=e.split(fe);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function A(e){let t=``;if(g(e))t=e;else if(d(e))for(let n=0;nye(e,t))}var xe=e=>!!(e&&e.__v_isRef===!0),j=e=>g(e)?e:e==null?``:d(e)||v(e)&&(e.toString===b||!h(e.toString))?xe(e)?j(e.value):JSON.stringify(e,Se,2):String(e),Se=(e,t)=>xe(t)?Se(e,t.value):f(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],r)=>(e[Ce(t,r)+` =>`]=n,e),{})}:p(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>Ce(e))}:_(t)?Ce(t):v(t)&&!d(t)&&!C(t)?String(t):t,Ce=(e,t=``)=>_(e)?`Symbol(${e.description??t})`:e;function we(e){return e==null?`initial`:typeof e==`string`?e===``?` `:e:String(e)}var M,Te=class{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!e&&M&&(M.active?(this.parent=M,this.index=(M.scopes||(M.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,t;if(this.scopes){let n=this.scopes.slice();for(e=0,t=n.length;e0&&--this._on===0){if(M===this)M=this.prevScope;else{let e=M;for(;e;){if(e.prevScope===this){e.prevScope=this.prevScope;break}e=e.prevScope}}this.prevScope=void 0}}stop(e){if(this._active){this._active=!1;let t,n;for(t=0,n=this.effects.length;t0)return;if(Ne){let e=Ne;for(Ne=void 0;e;){let t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;Me;){let t=Me;for(Me=void 0;t;){let n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(t){e||=t}t=n}}if(e)throw e}function Le(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Re(e){let t,n=e.depsTail,r=n;for(;r;){let e=r.prevDep;r.version===-1?(r===n&&(n=e),Ve(r),He(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=e}e.deps=t,e.depsTail=n}function ze(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Be(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Be(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Je)||(e.globalVersion=Je,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!ze(e))))return;e.flags|=2;let t=e.dep,n=N,r=Ue;N=e,Ue=!0;try{Le(e);let n=e.fn(e._value);(t.version===0||O(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(e){throw t.version++,e}finally{N=n,Ue=r,Re(e),e.flags&=-3}}function Ve(e,t=!1){let{dep:n,prevSub:r,nextSub:i}=e;if(r&&(r.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)Ve(e,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function He(e){let{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}var Ue=!0,We=[];function Ge(){We.push(Ue),Ue=!1}function Ke(){let e=We.pop();Ue=e===void 0||e}function qe(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let e=N;N=void 0;try{t()}finally{N=e}}}var Je=0,Ye=class{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}},Xe=class{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(e){if(!N||!Ue||N===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==N)t=this.activeLink=new Ye(N,this),N.deps?(t.prevDep=N.depsTail,N.depsTail.nextDep=t,N.depsTail=t):N.deps=N.depsTail=t,Ze(t);else if(t.version===-1&&(t.version=this.version,t.nextDep)){let e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=N.depsTail,t.nextDep=void 0,N.depsTail.nextDep=t,N.depsTail=t,N.deps===t&&(N.deps=e)}return t}trigger(e){this.version++,Je++,this.notify(e)}notify(e){Fe();try{for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{Ie()}}};function Ze(e){if(e.dep.sc++,e.sub.flags&4){let t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)Ze(e)}let n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}var Qe=new WeakMap,$e=Symbol(``),et=Symbol(``),tt=Symbol(``);function P(e,t,n){if(Ue&&N){let t=Qe.get(e);t||Qe.set(e,t=new Map);let r=t.get(n);r||(t.set(n,r=new Xe),r.map=t,r.key=n),r.track()}}function nt(e,t,n,r,i,a){let o=Qe.get(e);if(!o){Je++;return}let s=e=>{e&&e.trigger()};if(Fe(),t===`clear`)o.forEach(s);else{let i=d(e),a=i&&w(n);if(i&&n===`length`){let e=Number(r);o.forEach((t,n)=>{(n===`length`||n===tt||!_(n)&&n>=e)&&s(t)})}else switch((n!==void 0||o.has(void 0))&&s(o.get(n)),a&&s(o.get(tt)),t){case`add`:i?a&&s(o.get(`length`)):(s(o.get($e)),f(e)&&s(o.get(et)));break;case`delete`:i||(s(o.get($e)),f(e)&&s(o.get(et)));break;case`set`:f(e)&&s(o.get($e))}}Ie()}function rt(e,t){let n=Qe.get(e);return n&&n.get(t)}function it(e){let t=F(e);return t===e?t:(P(t,`iterate`,tt),Kt(e)?t:t.map(Yt))}function at(e){return P(e=F(e),`iterate`,tt),e}function ot(e,t){return Gt(e)?Xt(Wt(e)?Yt(t):t):Yt(t)}var st={__proto__:null,[Symbol.iterator](){return ct(this,Symbol.iterator,e=>ot(this,e))},concat(...e){return it(this).concat(...e.map(e=>d(e)?it(e):e))},entries(){return ct(this,`entries`,e=>(e[1]=ot(this,e[1]),e))},every(e,t){return ut(this,`every`,e,t,void 0,arguments)},filter(e,t){return ut(this,`filter`,e,t,e=>e.map(e=>ot(this,e)),arguments)},find(e,t){return ut(this,`find`,e,t,e=>ot(this,e),arguments)},findIndex(e,t){return ut(this,`findIndex`,e,t,void 0,arguments)},findLast(e,t){return ut(this,`findLast`,e,t,e=>ot(this,e),arguments)},findLastIndex(e,t){return ut(this,`findLastIndex`,e,t,void 0,arguments)},forEach(e,t){return ut(this,`forEach`,e,t,void 0,arguments)},includes(...e){return ft(this,`includes`,e)},indexOf(...e){return ft(this,`indexOf`,e)},join(e){return it(this).join(e)},lastIndexOf(...e){return ft(this,`lastIndexOf`,e)},map(e,t){return ut(this,`map`,e,t,void 0,arguments)},pop(){return pt(this,`pop`)},push(...e){return pt(this,`push`,e)},reduce(e,...t){return dt(this,`reduce`,e,t)},reduceRight(e,...t){return dt(this,`reduceRight`,e,t)},shift(){return pt(this,`shift`)},some(e,t){return ut(this,`some`,e,t,void 0,arguments)},splice(...e){return pt(this,`splice`,e)},toReversed(){return it(this).toReversed()},toSorted(e){return it(this).toSorted(e)},toSpliced(...e){return it(this).toSpliced(...e)},unshift(...e){return pt(this,`unshift`,e)},values(){return ct(this,`values`,e=>ot(this,e))}};function ct(e,t,n){let r=at(e),i=r[t]();return r!==e&&!Kt(e)&&(i._next=i.next,i.next=()=>{let e=i._next();return e.done||(e.value=n(e.value)),e}),i}var lt=Array.prototype;function ut(e,t,n,r,i,a){let o=at(e),s=o!==e&&!Kt(e),c=o[t];if(c!==lt[t]){let t=c.apply(e,a);return s?Yt(t):t}let l=n;o!==e&&(s?l=function(t,r){return n.call(this,ot(e,t),r,e)}:n.length>2&&(l=function(t,r){return n.call(this,t,r,e)}));let u=c.call(o,l,r);return s&&i?i(u):u}function dt(e,t,n,r){let i=at(e),a=i!==e&&!Kt(e),o=n,s=!1;i!==e&&(a?(s=r.length===0,o=function(t,r,i){return s&&(s=!1,t=ot(e,t)),n.call(this,t,ot(e,r),i,e)}):n.length>3&&(o=function(t,r,i){return n.call(this,t,r,i,e)}));let c=i[t](o,...r);return s?ot(e,c):c}function ft(e,t,n){let r=F(e);P(r,`iterate`,tt);let i=r[t](...n);return(i===-1||i===!1)&&qt(n[0])?(n[0]=F(n[0]),r[t](...n)):i}function pt(e,t,n=[]){Ge(),Fe();let r=F(e)[t].apply(e,n);return Ie(),Ke(),r}var mt=e(`__proto__,__v_isRef,__isVue`),ht=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!==`arguments`&&e!==`caller`).map(e=>Symbol[e]).filter(_));function gt(e){_(e)||(e=String(e));let t=F(this);return P(t,`has`,e),t.hasOwnProperty(e)}var _t=class{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){if(t===`__v_skip`)return e.__v_skip;let r=this._isReadonly,i=this._isShallow;if(t===`__v_isReactive`)return!r;if(t===`__v_isReadonly`)return r;if(t===`__v_isShallow`)return i;if(t===`__v_raw`)return n===(r?i?Lt:It:i?Ft:Pt).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;let a=d(e);if(!r){let e;if(a&&(e=st[t]))return e;if(t===`hasOwnProperty`)return gt}let o=Reflect.get(e,t,I(e)?e:n);if((_(t)?ht.has(t):mt(t))||(r||P(e,`get`,t),i))return o;if(I(o)){let e=a&&w(t)?o:o.value;return r&&v(e)?Vt(e):e}return v(o)?r?Vt(o):zt(o):o}},vt=class extends _t{constructor(e=!1){super(!1,e)}set(e,t,n,r){let i=e[t],a=d(e)&&w(t);if(!this._isShallow){let e=Gt(i);if(!Kt(n)&&!Gt(n)&&(i=F(i),n=F(n)),!a&&I(i)&&!I(n))return e||(i.value=n),!0}let o=a?Number(t)e,Tt=e=>Reflect.getPrototypeOf(e);function Et(e,t,n){return function(...r){let i=this.__v_raw,a=F(i),o=f(a),c=e===`entries`||e===Symbol.iterator&&o,l=e===`keys`&&o,u=i[e](...r),d=n?wt:t?Xt:Yt;return!t&&P(a,`iterate`,l?et:$e),s(Object.create(u),{next(){let{value:e,done:t}=u.next();return t?{value:e,done:t}:{value:c?[d(e[0]),d(e[1])]:d(e),done:t}}})}}function Dt(e){return function(...t){return e===`delete`?!1:e===`clear`?void 0:this}}function Ot(e,t){let n={get(n){let r=this.__v_raw,i=F(r),a=F(n);e||(O(n,a)&&P(i,`get`,n),P(i,`get`,a));let{has:o}=Tt(i),s=t?wt:e?Xt:Yt;if(o.call(i,n))return s(r.get(n));if(o.call(i,a))return s(r.get(a));r!==i&&r.get(n)},get size(){let t=this.__v_raw;return!e&&P(F(t),`iterate`,$e),t.size},has(t){let n=this.__v_raw,r=F(n),i=F(t);return e||(O(t,i)&&P(r,`has`,t),P(r,`has`,i)),t===i?n.has(t):n.has(t)||n.has(i)},forEach(n,r){let i=this,a=i.__v_raw,o=F(a),s=t?wt:e?Xt:Yt;return!e&&P(o,`iterate`,$e),a.forEach((e,t)=>n.call(r,s(e),s(t),i))}};return s(n,e?{add:Dt(`add`),set:Dt(`set`),delete:Dt(`delete`),clear:Dt(`clear`)}:{add(e){let n=F(this),r=Tt(n),i=F(e),a=!t&&!Kt(e)&&!Gt(e)?i:e;return r.has.call(n,a)||O(e,a)&&r.has.call(n,e)||O(i,a)&&r.has.call(n,i)||(n.add(a),nt(n,`add`,a,a)),this},set(e,n){!t&&!Kt(n)&&!Gt(n)&&(n=F(n));let r=F(this),{has:i,get:a}=Tt(r),o=i.call(r,e);o||=(e=F(e),i.call(r,e));let s=a.call(r,e);return r.set(e,n),o?O(n,s)&&nt(r,`set`,e,n,s):nt(r,`add`,e,n),this},delete(e){let t=F(this),{has:n,get:r}=Tt(t),i=n.call(t,e);i||=(e=F(e),n.call(t,e));let a=r?r.call(t,e):void 0,o=t.delete(e);return i&&nt(t,`delete`,e,void 0,a),o},clear(){let e=F(this),t=e.size!==0,n=e.clear();return t&&nt(e,`clear`,void 0,void 0,void 0),n}}),[`keys`,`values`,`entries`,Symbol.iterator].forEach(r=>{n[r]=Et(r,e,t)}),n}function kt(e,t){let n=Ot(e,t);return(t,r,i)=>r===`__v_isReactive`?!e:r===`__v_isReadonly`?e:r===`__v_raw`?t:Reflect.get(u(n,r)&&r in t?n:t,r,i)}var At={get:kt(!1,!1)},jt={get:kt(!1,!0)},Mt={get:kt(!0,!1)},Nt={get:kt(!0,!0)},Pt=new WeakMap,Ft=new WeakMap,It=new WeakMap,Lt=new WeakMap;function Rt(e){switch(e){case`Object`:case`Array`:return 1;case`Map`:case`Set`:case`WeakMap`:case`WeakSet`:return 2;default:return 0}}function zt(e){return Gt(e)?e:Ut(e,!1,bt,At,Pt)}function Bt(e){return Ut(e,!1,St,jt,Ft)}function Vt(e){return Ut(e,!0,xt,Mt,It)}function Ht(e){return Ut(e,!0,Ct,Nt,Lt)}function Ut(e,t,n,r,i){if(!v(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;let a=i.get(e);if(a)return a;let o=Rt(S(e));if(o===0)return e;let s=new Proxy(e,o===2?r:n);return i.set(e,s),s}function Wt(e){return Gt(e)?Wt(e.__v_raw):!!(e&&e.__v_isReactive)}function Gt(e){return!!(e&&e.__v_isReadonly)}function Kt(e){return!!(e&&e.__v_isShallow)}function qt(e){return e?!!e.__v_raw:!1}function F(e){let t=e&&e.__v_raw;return t?F(t):e}function Jt(e){return!u(e,`__v_skip`)&&Object.isExtensible(e)&&k(e,`__v_skip`,!0),e}var Yt=e=>v(e)?zt(e):e,Xt=e=>v(e)?Vt(e):e;function I(e){return e?e.__v_isRef===!0:!1}function L(e){return Qt(e,!1)}function Zt(e){return Qt(e,!0)}function Qt(e,t){return I(e)?e:new $t(e,t)}var $t=class{constructor(e,t){this.dep=new Xe,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:F(e),this._value=t?e:Yt(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){let t=this._rawValue,n=this.__v_isShallow||Kt(e)||Gt(e);e=n?e:F(e),O(e,t)&&(this._rawValue=e,this._value=n?e:Yt(e),this.dep.trigger())}};function R(e){return I(e)?e.value:e}function en(e){return h(e)?e():R(e)}var tn={get:(e,t,n)=>t===`__v_raw`?e:R(Reflect.get(e,t,n)),set:(e,t,n,r)=>{let i=e[t];return I(i)&&!I(n)?(i.value=n,!0):Reflect.set(e,t,n,r)}};function nn(e){return Wt(e)?e:new Proxy(e,tn)}var rn=class{constructor(e){this.__v_isRef=!0,this._value=void 0;let t=this.dep=new Xe,{get:n,set:r}=e(t.track.bind(t),t.trigger.bind(t));this._get=n,this._set=r}get value(){return this._value=this._get()}set value(e){this._set(e)}};function an(e){return new rn(e)}function on(e){let t=d(e)?Array(e.length):{};for(let n in e)t[n]=un(e,n);return t}var sn=class{constructor(e,t,n){this._object=e,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=_(t)?t:String(t),this._raw=F(e);let r=!0,i=e;if(!d(e)||_(this._key)||!w(this._key))do r=!qt(i)||Kt(i);while(r&&(i=i.__v_raw));this._shallow=r}get value(){let e=this._object[this._key];return this._shallow&&(e=R(e)),this._value=e===void 0?this._defaultValue:e}set value(e){if(this._shallow&&I(this._raw[this._key])){let t=this._object[this._key];if(I(t)){t.value=e;return}}this._object[this._key]=e}get dep(){return rt(this._raw,this._key)}},cn=class{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}};function ln(e,t,n){return I(e)?e:h(e)?new cn(e):v(e)&&arguments.length>1?un(e,t,n):L(e)}function un(e,t,n){return new sn(e,t,n)}var dn=class{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new Xe(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Je-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&N!==this)return Pe(this,!0),!0}get value(){let e=this.dep.track();return Be(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}};function fn(e,t,n=!1){let r,i;return h(e)?r=e:(r=e.get,i=e.set),new dn(r,i,n)}var pn={},mn=new WeakMap,hn=void 0;function gn(e,t=!1,n=hn){if(n){let t=mn.get(n);t||mn.set(n,t=[]),t.push(e)}}function _n(e,n,i=t){let{immediate:a,deep:o,once:s,scheduler:l,augmentJob:u,call:f}=i,p=e=>o?e:Kt(e)||o===!1||o===0?vn(e,1):vn(e),m,g,_,v,y=!1,b=!1;if(I(e)?(g=()=>e.value,y=Kt(e)):Wt(e)?(g=()=>p(e),y=!0):d(e)?(b=!0,y=e.some(e=>Wt(e)||Kt(e)),g=()=>e.map(e=>{if(I(e))return e.value;if(Wt(e))return p(e);if(h(e))return f?f(e,2):e()})):g=h(e)?n?f?()=>f(e,2):e:()=>{if(_){Ge();try{_()}finally{Ke()}}let t=hn;hn=m;try{return f?f(e,3,[v]):e(v)}finally{hn=t}}:r,n&&o){let e=g,t=o===!0?1/0:o;g=()=>vn(e(),t)}let x=De(),S=()=>{m.stop(),x&&x.active&&c(x.effects,m)};if(s&&n){let e=n;n=(...t)=>{let n=e(...t);return S(),n}}let C=b?Array(e.length).fill(pn):pn,w=e=>{if(!(!(m.flags&1)||!m.dirty&&!e))if(n){let t=m.run();if(e||o||y||(b?t.some((e,t)=>O(e,C[t])):O(t,C))){_&&_();let e=hn;hn=m;try{let e=[t,C===pn?void 0:b&&C[0]===pn?[]:C,v];C=t,f?f(n,3,e):n(...e)}finally{hn=e}}}else m.run()};return u&&u(w),m=new Ae(g),m.scheduler=l?()=>l(w,!1):w,v=e=>gn(e,!1,m),_=m.onStop=()=>{let e=mn.get(m);if(e){if(f)f(e,4);else for(let t of e)t();mn.delete(m)}},n?a?w(!0):C=m.run():l?l(w.bind(null,!0),!0):m.run(),S.pause=m.pause.bind(m),S.resume=m.resume.bind(m),S.stop=S,S}function vn(e,t=1/0,n){if(t<=0||!v(e)||e.__v_skip||(n||=new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,I(e))vn(e.value,t,n);else if(d(e))for(let r=0;r{vn(e,t,n)});else if(C(e)){for(let r in e)vn(e[r],t,n);for(let r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&vn(e[r],t,n)}return e}function yn(e,t,n,r){try{return r?e(...r):e()}catch(e){xn(e,t,n)}}function bn(e,t,n,r){if(h(e)){let i=yn(e,t,n,r);return i&&y(i)&&i.catch(e=>{xn(e,t,n)}),i}if(d(e)){let i=[];for(let a=0;a>>1,i=z[r],a=In(i);a=In(n)?z.push(e):z.splice(An(t),0,e),e.flags|=1,Mn()}}function Mn(){On||=Dn.then(Ln)}function Nn(e){d(e)?wn.push(...e):Tn&&e.id===-1?Tn.splice(En+1,0,e):e.flags&1||(wn.push(e),e.flags|=1),Mn()}function Pn(e,t,n=Cn+1){for(;nIn(e)-In(t));if(wn.length=0,Tn){Tn.push(...e);return}for(Tn=e,En=0;Ene.id==null?e.flags&2?-1:1/0:e.id;function Ln(e){try{for(Cn=0;Cn{r._d&&ya(-1);let i=zn(t),a=ha.length,o;try{o=e(...n)}finally{for(let e=ha.length;e>a;e--)_a();zn(i),r._d&&ya(1)}return o};return r._n=!0,r._c=!0,r._d=!0,r}function Vn(e,n){if(B===null)return e;let r=to(B),i=e.dirs||=[];for(let e=0;e1)return n&&h(t)?t.call(r&&r.proxy):t}}function Wn(){return!!(Ba()||Ci)}var Gn=Symbol.for(`v-scx`),Kn=()=>V(Gn);function qn(e,t){return Yn(e,null,t)}function Jn(e,t,n){return Yn(e,t,n)}function Yn(e,n,i=t){let{immediate:a,deep:o,flush:c,once:l}=i,u=s({},i),d=n&&a||!n&&c!==`post`,f;if(Ka){if(c===`sync`){let e=Kn();f=e.__watcherHandles||=[]}else if(!d){let e=()=>{};return e.stop=r,e.resume=r,e.pause=r,e}}let p=Y;u.call=(e,t,n)=>bn(e,p,t,n);let m=!1;c===`post`?u.scheduler=e=>{U(e,p&&p.suspense)}:c!==`sync`&&(m=!0,u.scheduler=(e,t)=>{t?e():jn(e)}),u.augmentJob=e=>{n&&(e.flags|=4),m&&(e.flags|=2,p&&(e.id=p.uid,e.i=p))};let h=_n(e,n,u);return Ka&&(f?f.push(h):d&&h()),h}function Xn(e,t,n){let r=this.proxy,i=g(e)?e.includes(`.`)?Zn(r,e):()=>r[e]:e.bind(r,r),a;h(t)?a=t:(a=t.handler,n=t);let o=Ua(this),s=Yn(i,a.bind(r),n);return o(),s}function Zn(e,t){let n=t.split(`.`);return()=>{let t=e;for(let e=0;ee.__isTeleport,tr=e=>e&&(e.disabled||e.disabled===``),nr=e=>e&&(e.defer||e.defer===``),rr=e=>typeof SVGElement<`u`&&e instanceof SVGElement,ir=e=>typeof MathMLElement==`function`&&e instanceof MathMLElement,ar=(e,t)=>{let n=e&&e.to;return g(n)?t?t(n):null:n},or={name:`Teleport`,__isTeleport:!0,process(e,t,n,r,i,a,o,s,c,l){let{mc:u,pc:d,pbc:f,o:{insert:p,querySelector:m,createText:h,createComment:g,parentNode:_}}=l,v=tr(t.props),{dynamicChildren:y}=t,b=(e,t,n)=>{e.shapeFlag&16&&u(e.children,t,n,i,a,o,s,c)},x=(e=t)=>{let n=tr(e.props),r=e.target=ar(e.props,m),a=dr(r,e,h,p);r&&(o!==`svg`&&rr(r)?o=`svg`:o!==`mathml`&&ir(r)&&(o=`mathml`),i&&i.isCE&&(i.ce._teleportTargets||(i.ce._teleportTargets=new Set)).add(r),n||(b(e,r,a),ur(e,!1)))},S=e=>{let t=()=>{if(Qn.get(e)===t){if(Qn.delete(e),tr(e.props)){let t=_(e.el)||n;b(e,t,e.anchor),ur(e,!0)}x(e)}};Qn.set(e,t),U(t,a)};if(e==null){let e=t.el=h(``),i=t.anchor=h(``);if(p(e,n,r),p(i,n,r),nr(t.props)||a&&a.pendingBranch){S(t);return}v&&(b(t,n,i),ur(t,!0)),x()}else{t.el=e.el;let r=t.anchor=e.anchor,u=Qn.get(e);if(u){u.flags|=8,Qn.delete(e),S(t);return}t.targetStart=e.targetStart;let p=t.target=e.target,h=t.targetAnchor=e.targetAnchor,g=tr(e.props),_=g?n:p,b=g?r:h;if(o===`svg`||rr(p)?o=`svg`:(o===`mathml`||ir(p))&&(o=`mathml`),y?(f(e.dynamicChildren,y,_,i,a,o,s),aa(e,t,!0)):c||d(e,t,_,b,i,a,o,s,!1),v)g?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):sr(t,n,r,l,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){let e=ar(t.props,m);e&&(t.target=e,sr(t,e,null,l,0))}else g&&sr(t,p,h,l,1);ur(t,v)}},remove(e,t,n,{um:r,o:{remove:i}},a){let{shapeFlag:o,children:s,anchor:c,targetStart:l,targetAnchor:u,target:d,props:f}=e,p=tr(f),m=a||!p,h=Qn.get(e);if(h&&(h.flags|=8,Qn.delete(e)),d&&(i(l),i(u)),a&&i(c),!h&&(p||d)&&o&16)for(let e=0;e{e.isMounted=!0}),zr(()=>{e.isUnmounting=!0}),e}var hr=[Function,Array],gr={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:hr,onEnter:hr,onAfterEnter:hr,onEnterCancelled:hr,onBeforeLeave:hr,onLeave:hr,onAfterLeave:hr,onLeaveCancelled:hr,onBeforeAppear:hr,onAppear:hr,onAfterAppear:hr,onAppearCancelled:hr};function _r(e,t){let{leavingVNodes:n}=e,r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function vr(e,t,n,r,i){let{appear:a,mode:o,persisted:s=!1,onBeforeEnter:c,onEnter:l,onAfterEnter:u,onEnterCancelled:f,onBeforeLeave:p,onLeave:m,onAfterLeave:h,onLeaveCancelled:g,onBeforeAppear:_,onAppear:v,onAfterAppear:y,onAppearCancelled:b}=t,x=String(e.key),S=_r(n,e),C=(e,t)=>{e&&bn(e,r,9,t)},w=(e,t)=>{let n=t[1];C(e,t),d(e)?e.every(e=>e.length<=1)&&n():e.length<=1&&n()},T={mode:o,persisted:s,beforeEnter(t){let r=c;if(!n.isMounted)if(a)r=_||c;else return;t[fr]&&t[fr](!0);let i=S[x];i&&Ca(e,i)&&i.el[fr]&&i.el[fr](),C(r,[t])},enter(t){if(S[x]===e)return;let r=l,i=u,o=f;if(!n.isMounted)if(a)r=v||l,i=y||u,o=b||f;else return;let s=!1;t[pr]=e=>{s||(s=!0,C(e?o:i,[t]),T.delayedLeave&&T.delayedLeave(),t[pr]=void 0)};let c=t[pr].bind(null,!1);r?w(r,[t,c]):c()},leave(t,r){let i=String(e.key);if(t[pr]&&t[pr](!0),n.isUnmounting)return r();C(p,[t]);let a=!1;t[fr]=n=>{a||(a=!0,r(),C(n?g:h,[t]),t[fr]=void 0,S[i]===e&&delete S[i])};let o=t[fr].bind(null,!1);S[i]=e,m?w(m,[t,o]):o()},clone(e){let a=vr(e,t,n,r,i);return i&&i(a),a}};return T}function yr(e,t){e.shapeFlag&6&&e.component?(e.transition=t,yr(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function br(e,t=!1,n){let r=[],i=0;for(let a=0;a1)for(let e=0;eTr(e,n&&(d(n)?n[t]:n),r,a,o));return}if(Dr(a)&&!o){a.shapeFlag&512&&a.type.__asyncResolved&&a.component.subTree.component&&Tr(e,n,r,a.component.subTree);return}let s=a.shapeFlag&4?to(a.component):a.el,l=o?null:s,{i:f,r:p}=e,m=n&&n.r,_=f.refs===t?f.refs={}:f.refs,v=f.setupState,y=F(v),b=v===t?i:e=>!Cr(_,e)&&u(y,e),x=(e,t)=>!(t&&Cr(_,t));if(m!=null&&m!==p){if(Er(n),g(m))_[m]=null,b(m)&&(v[m]=null);else if(I(m)){let e=n;x(m,e.k)&&(m.value=null),e.k&&(_[e.k]=null)}}if(h(p))yn(p,f,12,[l,_]);else{let t=g(p),n=I(p);if(t||n){let i=()=>{if(e.f){let n=t?b(p)?v[p]:_[p]:x(p)||!e.k?p.value:_[e.k];if(o)d(n)&&c(n,s);else if(d(n))n.includes(s)||n.push(s);else if(t)_[p]=[s],b(p)&&(v[p]=_[p]);else{let t=[s];x(p,e.k)&&(p.value=t),e.k&&(_[e.k]=t)}}else t?(_[p]=l,b(p)&&(v[p]=l)):n&&(x(p,e.k)&&(p.value=l),e.k&&(_[e.k]=l))};if(l){let t=()=>{i(),wr.delete(e)};t.id=-1,wr.set(e,t),U(t,r)}else Er(e),i()}}}function Er(e){let t=wr.get(e);t&&(t.flags|=8,wr.delete(e))}le().requestIdleCallback,le().cancelIdleCallback;var Dr=e=>!!e.type.__asyncLoader,Or=e=>e.type.__isKeepAlive;function kr(e,t){jr(e,`a`,t)}function Ar(e,t){jr(e,`da`,t)}function jr(e,t,n=Y){let r=e.__wdc||=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()};if(Nr(t,r,n),n){let e=n.parent;for(;e&&e.parent;)Or(e.parent.vnode)&&Mr(r,t,n,e),e=e.parent}}function Mr(e,t,n,r){let i=Nr(t,e,r,!0);Br(()=>{c(r[t],i)},n)}function Nr(e,t,n=Y,r=!1){if(n){let i=n[e]||(n[e]=[]),a=t.__weh||=(...r)=>{Ge();let i=Ua(n),a=bn(t,n,e,r);return i(),Ke(),a};return r?i.unshift(a):i.push(a),a}}var Pr=e=>(t,n=Y)=>{(!Ka||e===`sp`)&&Nr(e,(...e)=>t(...e),n)},Fr=Pr(`bm`),Ir=Pr(`m`),Lr=Pr(`bu`),Rr=Pr(`u`),zr=Pr(`bum`),Br=Pr(`um`),Vr=Pr(`sp`),Hr=Pr(`rtg`),Ur=Pr(`rtc`);function Wr(e,t=Y){Nr(`ec`,e,t)}var Gr=`components`;function Kr(e,t){return Jr(Gr,e,!0,t)||e}var qr=Symbol.for(`v-ndc`);function Jr(e,t,n=!0,r=!1){let i=B||Y;if(i){let n=i.type;if(e===Gr){let e=no(n,!1);if(e&&(e===t||e===E(t)||e===re(E(t))))return n}let a=Yr(i[e]||n[e],t)||Yr(i.appContext[e],t);return!a&&r?n:a}}function Yr(e,t){return e&&(e[t]||e[E(t)]||e[re(E(t))])}function Xr(e,t,n,r){let i,a=n&&n[r],o=d(e);if(o||g(e)){let n=o&&Wt(e),r=!1,s=!1;n&&(r=!Kt(e),s=Gt(e),e=at(e)),i=Array(e.length);for(let n=0,o=e.length;nt(e,n,void 0,a&&a[n]));else{let n=Object.keys(e);i=Array(n.length);for(let r=0,o=n.length;r0;return t!=="default"&&(e.name=t),G(),xa(W,null,[J(`slot`,e,r&&r())],i?-2:64)}let o=e[t];o&&o._c&&(o._d=!1);let c=ha.length;G();let l;try{let i=o&&Qr(o(n)),s=n.key||a||i&&i.key;l=xa(W,{key:(s&&!_(s)?s:`_${t}`)+(!i&&r?`_fb`:``)},i||(r?r():[]),i&&e._===1?64:-2)}catch(e){for(let e=ha.length;e>c;e--)_a();throw e}finally{o&&o._c&&(o._d=!0)}return!i&&l.scopeId&&(l.slotScopeIds=[l.scopeId+`-s`]),l}function Qr(e){return e.some(e=>!Sa(e)||!(e.type===pa||e.type===W&&!Qr(e.children)))?e:null}var $r=e=>e?Ga(e)?to(e):$r(e.parent):null,ei=s(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>$r(e.parent),$root:e=>$r(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>di(e),$forceUpdate:e=>e.f||=()=>{jn(e.update)},$nextTick:e=>e.n||=kn.bind(e.proxy),$watch:e=>Xn.bind(e)}),ti=(e,n)=>e!==t&&!e.__isScriptSetup&&u(e,n),ni={get({_:e},n){if(n===`__v_skip`)return!0;let{ctx:r,setupState:i,data:a,props:o,accessCache:s,type:c,appContext:l}=e;if(n[0]!==`$`){let e=s[n];if(e!==void 0)switch(e){case 1:return i[n];case 2:return a[n];case 4:return r[n];case 3:return o[n]}else if(ti(i,n))return s[n]=1,i[n];else if(a!==t&&u(a,n))return s[n]=2,a[n];else if(u(o,n))return s[n]=3,o[n];else if(r!==t&&u(r,n))return s[n]=4,r[n];else oi&&(s[n]=0)}let d=ei[n],f,p;if(d)return n===`$attrs`&&P(e.attrs,`get`,``),d(e);if((f=c.__cssModules)&&(f=f[n]))return f;if(r!==t&&u(r,n))return s[n]=4,r[n];if(p=l.config.globalProperties,u(p,n))return p[n]},set({_:e},n,r){let{data:i,setupState:a,ctx:o}=e;return ti(a,n)?(a[n]=r,!0):i!==t&&u(i,n)?(i[n]=r,!0):u(e.props,n)||n[0]===`$`&&n.slice(1)in e?!1:(o[n]=r,!0)},has({_:{data:e,setupState:n,accessCache:r,ctx:i,appContext:a,props:o,type:s}},c){let l;return!!(r[c]||e!==t&&c[0]!==`$`&&u(e,c)||ti(n,c)||u(o,c)||u(i,c)||u(ei,c)||u(a.config.globalProperties,c)||(l=s.__cssModules)&&l[c])},defineProperty(e,t,n){return n.get==null?u(n,`value`)&&this.set(e,t,n.value,null):e._.accessCache[t]=0,Reflect.defineProperty(e,t,n)}};function ri(){return ii(`useAttrs`).attrs}function ii(e){let t=Ba();return t.setupContext||=eo(t)}function ai(e){return d(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}var oi=!0;function si(e){let t=di(e),n=e.proxy,i=e.ctx;oi=!1,t.beforeCreate&&li(t.beforeCreate,e,`bc`);let{data:a,computed:o,methods:s,watch:c,provide:l,inject:u,created:f,beforeMount:p,mounted:m,beforeUpdate:g,updated:_,activated:y,deactivated:b,beforeDestroy:x,beforeUnmount:S,destroyed:C,unmounted:w,render:T,renderTracked:ee,renderTriggered:te,errorCaptured:E,serverPrefetch:ne,expose:D,inheritAttrs:re,components:ie,directives:O,filters:ae}=t;if(u&&ci(u,i,null),s)for(let e in s){let t=s[e];h(t)&&(i[e]=t.bind(n))}if(a){let t=a.call(n,n);v(t)&&(e.data=zt(t))}if(oi=!0,o)for(let e in o){let t=o[e],a=X({get:h(t)?t.bind(n,n):h(t.get)?t.get.bind(n,n):r,set:!h(t)&&h(t.set)?t.set.bind(n):r});Object.defineProperty(i,e,{enumerable:!0,configurable:!0,get:()=>a.value,set:e=>a.value=e})}if(c)for(let e in c)ui(c[e],i,n,e);if(l){let e=h(l)?l.call(n):l;Reflect.ownKeys(e).forEach(t=>{Un(t,e[t])})}f&&li(f,e,`c`);function k(e,t){d(t)?t.forEach(t=>e(t.bind(n))):t&&e(t.bind(n))}if(k(Fr,p),k(Ir,m),k(Lr,g),k(Rr,_),k(kr,y),k(Ar,b),k(Wr,E),k(Ur,ee),k(Hr,te),k(zr,S),k(Br,w),k(Vr,ne),d(D))if(D.length){let t=e.exposed||={};D.forEach(e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t,enumerable:!0})})}else e.exposed||={};T&&e.render===r&&(e.render=T),re!=null&&(e.inheritAttrs=re),ie&&(e.components=ie),O&&(e.directives=O),ne&&Sr(e)}function ci(e,t,n=r){d(e)&&(e=gi(e));for(let n in e){let r=e[n],i;i=v(r)?`default`in r?V(r.from||n,r.default,!0):V(r.from||n):V(r),I(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e}):t[n]=i}}function li(e,t,n){bn(d(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,n)}function ui(e,t,n,r){let i=r.includes(`.`)?Zn(n,r):()=>n[r];if(g(e)){let n=t[e];h(n)&&Jn(i,n)}else if(h(e))Jn(i,e.bind(n));else if(v(e))if(d(e))e.forEach(e=>ui(e,t,n,r));else{let r=h(e.handler)?e.handler.bind(n):t[e.handler];h(r)&&Jn(i,r,e)}}function di(e){let t=e.type,{mixins:n,extends:r}=t,{mixins:i,optionsCache:a,config:{optionMergeStrategies:o}}=e.appContext,s=a.get(t),c;return s?c=s:!i.length&&!n&&!r?c=t:(c={},i.length&&i.forEach(e=>fi(c,e,o,!0)),fi(c,t,o)),v(t)&&a.set(t,c),c}function fi(e,t,n,r=!1){let{mixins:i,extends:a}=t;a&&fi(e,a,n,!0),i&&i.forEach(t=>fi(e,t,n,!0));for(let i in t)if(!(r&&i===`expose`)){let r=pi[i]||n&&n[i];e[i]=r?r(e[i],t[i]):t[i]}return e}var pi={data:mi,props:vi,emits:vi,methods:_i,computed:_i,beforeCreate:H,created:H,beforeMount:H,mounted:H,beforeUpdate:H,updated:H,beforeDestroy:H,beforeUnmount:H,destroyed:H,unmounted:H,activated:H,deactivated:H,errorCaptured:H,serverPrefetch:H,components:_i,directives:_i,watch:yi,provide:mi,inject:hi};function mi(e,t){return t?e?function(){return s(h(e)?e.call(this,this):e,h(t)?t.call(this,this):t)}:t:e}function hi(e,t){return _i(gi(e),gi(t))}function gi(e){if(d(e)){let t={};for(let n=0;nt===`modelValue`||t===`model-value`?e.modelModifiers:e[`${t}Modifiers`]||e[`${E(t)}Modifiers`]||e[`${D(t)}Modifiers`];function Ti(e,n,...r){if(e.isUnmounted)return;let i=e.vnode.props||t,a=r,o=n.startsWith(`update:`),s=o&&wi(i,n.slice(7));s&&(s.trim&&(a=r.map(e=>g(e)?e.trim():e)),s.number&&(a=r.map(oe)));let c,l=i[c=ie(n)]||i[c=ie(E(n))];!l&&o&&(l=i[c=ie(D(n))]),l&&bn(l,e,6,a);let u=i[c+`Once`];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[c])return;e.emitted[c]=!0,bn(u,e,6,a)}}var Ei=new WeakMap;function Di(e,t,n=!1){let r=n?Ei:t.emitsCache,i=r.get(e);if(i!==void 0)return i;let a=e.emits,o={},c=!1;if(!h(e)){let r=e=>{let n=Di(e,t,!0);n&&(c=!0,s(o,n))};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return!a&&!c?(v(e)&&r.set(e,null),null):(d(a)?a.forEach(e=>o[e]=null):s(o,a),v(e)&&r.set(e,o),o)}function Oi(e,t){return!e||!a(t)?!1:(t=t.slice(2),t=t===`Once`?t:t.replace(/Once$/,``),u(e,t[0].toLowerCase()+t.slice(1))||u(e,D(t))||u(e,t))}function ki(e){let{type:t,vnode:n,proxy:r,withProxy:i,propsOptions:[a],slots:s,attrs:c,emit:l,render:u,renderCache:d,props:f,data:p,setupState:m,ctx:h,inheritAttrs:g}=e,_=zn(e),v,y;try{if(n.shapeFlag&4){let e=i||r,t=e;v=Ma(u.call(t,e,d,f,m,p,h)),y=c}else{let e=t;v=Ma(e.length>1?e(f,{attrs:c,slots:s,emit:l}):e(f,null)),y=t.props?c:Ai(c)}}catch(t){ha.length=0,xn(t,e,1),v=J(pa)}let b=v;if(y&&g!==!1){let e=Object.keys(y),{shapeFlag:t}=b;e.length&&t&7&&(a&&e.some(o)&&(y=ji(y,a)),b=Oa(b,y,!1,!0))}return n.dirs&&(b=Oa(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition&&yr(b,n.transition),v=b,zn(_),v}var Ai=e=>{let t;for(let n in e)(n===`class`||n===`style`||a(n))&&((t||={})[n]=e[n]);return t},ji=(e,t)=>{let n={};for(let r in e)(!o(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Mi(e,t,n){let{props:r,children:i,component:a}=e,{props:o,children:s,patchFlag:c}=t,l=a.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?Ni(r,o,l):!!o;if(c&8){let e=t.dynamicProps;for(let t=0;tObject.create(Ii),Ri=e=>Object.getPrototypeOf(e)===Ii;function zi(e,t,n,r=!1){let i={},a=Li();e.propsDefaults=Object.create(null),Vi(e,t,i,a);for(let t in e.propsOptions[0])t in i||(i[t]=void 0);e.props=n?r?i:Bt(i):e.type.props?i:a,e.attrs=a}function Bi(e,t,n,r){let{props:i,attrs:a,vnode:{patchFlag:o}}=e,s=F(i),[c]=e.propsOptions,l=!1;if((r||o>0)&&!(o&16)){if(o&8){let n=e.vnode.dynamicProps;for(let r=0;r{p=!0;let[t,n]=Wi(e,r,!0);s(l,t),n&&f.push(...n)};!i&&r.mixins.length&&r.mixins.forEach(t),e.extends&&t(e.extends),e.mixins&&e.mixins.forEach(t)}if(!c&&!p)return v(e)&&a.set(e,n),n;if(d(c))for(let e=0;ee===`_`||e===`_ctx`||e===`$stable`,qi=e=>d(e)?e.map(Ma):[Ma(e)],Ji=(e,t,n)=>{if(t._n)return t;let r=Bn((...e)=>qi(t(...e)),n);return r._c=!1,r},Yi=(e,t,n)=>{let r=e._ctx;for(let n in e){if(Ki(n))continue;let i=e[n];if(h(i))t[n]=Ji(n,i,r);else if(i!=null){let e=qi(i);t[n]=()=>e}}},Xi=(e,t)=>{let n=qi(t);e.slots.default=()=>n},Zi=(e,t,n)=>{for(let r in t)(n||!Ki(r))&&(e[r]=t[r])},Qi=(e,t,n)=>{let r=e.slots=Li();if(e.vnode.shapeFlag&32){let e=t._;e?(Zi(r,t,n),n&&k(r,`_`,e,!0)):Yi(t,r)}else t&&Xi(e,t)},$i=(e,n,r)=>{let{vnode:i,slots:a}=e,o=!0,s=t;if(i.shapeFlag&32){let e=n._;e?r&&e===1?o=!1:Zi(a,n,r):(o=!n.$stable,Yi(n,a)),s=n}else n&&(Xi(e,n),s={default:1});if(o)for(let e in a)!Ki(e)&&s[e]==null&&delete a[e]},U=da;function ea(e){return ta(e)}function ta(e,i){let a=le();a.__VUE__=!0;let{insert:o,remove:s,patchProp:c,createElement:l,createText:u,createComment:d,setText:f,setElementText:p,parentNode:m,nextSibling:h,setScopeId:g=r,insertStaticContent:_}=e,v=(e,t,n,r=null,i=null,a=null,o=void 0,s=null,c=!!t.dynamicChildren)=>{if(e===t)return;e&&!Ca(e,t)&&(r=ve(e),me(e,i,a,!0),e=null),t.patchFlag===-2&&(c=!1,t.dynamicChildren=null);let{type:l,ref:u,shapeFlag:d}=t;switch(l){case fa:y(e,t,n,r);break;case pa:b(e,t,n,r);break;case ma:e??x(t,n,r,o);break;case W:ie(e,t,n,r,i,a,o,s,c);break;default:d&1?w(e,t,n,r,i,a,o,s,c):d&6?O(e,t,n,r,i,a,o,s,c):(d&64||d&128)&&l.process(e,t,n,r,i,a,o,s,c,xe)}u!=null&&i?Tr(u,e&&e.ref,a,t||e,!t):u==null&&e&&e.ref!=null&&Tr(e.ref,null,a,e,!0)},y=(e,t,n,r)=>{if(e==null)o(t.el=u(t.children),n,r);else{let n=t.el=e.el;t.children!==e.children&&f(n,t.children)}},b=(e,t,n,r)=>{e==null?o(t.el=d(t.children||``),n,r):t.el=e.el},x=(e,t,n,r)=>{[e.el,e.anchor]=_(e.children,t,n,r,e.el,e.anchor)},S=({el:e,anchor:t},n,r)=>{let i;for(;e&&e!==t;)i=h(e),o(e,n,r),e=i;o(t,n,r)},C=({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=h(e),s(e),e=n;s(t)},w=(e,t,n,r,i,a,o,s,c)=>{if(t.type===`svg`?o=`svg`:t.type===`math`&&(o=`mathml`),e==null)ee(t,n,r,i,a,o,s,c);else{let n=e.el&&e.el._isVueCE?e.el:null;try{n&&n._beginPatch(),ne(e,t,i,a,o,s,c)}finally{n&&n._endPatch()}}},ee=(e,t,n,r,i,a,s,u)=>{let d,f,{props:m,shapeFlag:h,transition:g,dirs:_}=e;if(d=e.el=l(e.type,a,m&&m.is,m),h&8?p(d,e.children):h&16&&E(e.children,d,null,r,i,na(e,a),s,u),_&&Hn(e,null,r,`created`),te(d,e,e.scopeId,s,r),m){for(let e in m)e!==`value`&&!T(e)&&c(d,e,null,m[e],a,r);`value`in m&&c(d,`value`,null,m.value,a),(f=m.onVnodeBeforeMount)&&Ia(f,r,e)}_&&Hn(e,null,r,`beforeMount`);let v=ia(i,g);v&&g.beforeEnter(d),o(d,t,n),((f=m&&m.onVnodeMounted)||v||_)&&U(()=>{try{f&&Ia(f,r,e),v&&g.enter(d),_&&Hn(e,null,r,`mounted`)}finally{}},i)},te=(e,t,n,r,i)=>{if(n&&g(e,n),r)for(let t=0;t{for(let l=c;l{let l=n.el=e.el,{patchFlag:u,dynamicChildren:d,dirs:f}=n;u|=e.patchFlag&16;let m=e.props||t,h=n.props||t,g;if(r&&ra(r,!1),(g=h.onVnodeBeforeUpdate)&&Ia(g,r,n,e),f&&Hn(n,e,r,`beforeUpdate`),r&&ra(r,!0),d&&(!e.dynamicChildren||e.dynamicChildren.length!==d.length)&&(u=0,s=!1,d=null),(m.innerHTML&&h.innerHTML==null||m.textContent&&h.textContent==null)&&p(l,``),d?D(e.dynamicChildren,d,l,r,i,na(n,a),o):s||ue(e,n,l,null,r,i,na(n,a),o,!1),u>0){if(u&16)re(l,m,h,r,a);else if(u&2&&m.class!==h.class&&c(l,`class`,null,h.class,a),u&4&&c(l,`style`,m.style,h.style,a),u&8){let e=n.dynamicProps;for(let t=0;t{g&&Ia(g,r,n,e),f&&Hn(n,e,r,`updated`)},i)},D=(e,t,n,r,i,a,o)=>{for(let s=0;s{if(n!==r){if(n!==t)for(let t in n)!T(t)&&!(t in r)&&c(e,t,n[t],null,a,i);for(let t in r){if(T(t))continue;let o=r[t],s=n[t];o!==s&&t!==`value`&&c(e,t,s,o,a,i)}`value`in r&&c(e,`value`,n.value,r.value,a)}},ie=(e,t,n,r,i,a,s,c,l)=>{let d=t.el=e?e.el:u(``),f=t.anchor=e?e.anchor:u(``),{patchFlag:p,dynamicChildren:m,slotScopeIds:h}=t;h&&(c=c?c.concat(h):h),e==null?(o(d,n,r),o(f,n,r),E(t.children||[],n,f,i,a,s,c,l)):p>0&&p&64&&m&&e.dynamicChildren&&e.dynamicChildren.length===m.length?(D(e.dynamicChildren,m,n,i,a,s,c),(t.key!=null||i&&t===i.subTree)&&aa(e,t,!0)):ue(e,t,n,f,i,a,s,c,l)},O=(e,t,n,r,i,a,o,s,c)=>{t.slotScopeIds=s,e==null?t.shapeFlag&512?i.ctx.activate(t,n,r,o,c):k(t,n,r,i,a,o,c):oe(e,t,c)},k=(e,t,n,r,i,a,o)=>{let s=e.component=za(e,r,i);if(Or(e)&&(s.ctx.renderer=xe),qa(s,!1,o),s.asyncDep){if(i&&i.registerDep(s,se,o),!e.el){let r=s.subTree=J(pa);b(null,r,t,n),e.placeholder=r.el}}else se(s,e,t,n,i,a,o)},oe=(e,t,n)=>{let r=t.component=e.component;if(Mi(e,t,n))if(r.asyncDep&&!r.asyncResolved){ce(r,t,n);return}else r.next=t,r.update();else t.el=e.el,r.vnode=t},se=(e,t,n,r,i,a,o)=>{let s=()=>{if(e.isMounted){let{next:t,bu:n,u:r,parent:s,vnode:c}=e;{let n=sa(e);if(n){t&&(t.el=c.el,ce(e,t,o)),n.asyncDep.then(()=>{U(()=>{e.isUnmounted||l()},i)});return}}let u=t,d;ra(e,!1),t?(t.el=c.el,ce(e,t,o)):t=c,n&&ae(n),(d=t.props&&t.props.onVnodeBeforeUpdate)&&Ia(d,s,t,c),ra(e,!0);let f=ki(e),p=e.subTree;e.subTree=f,v(p,f,m(p.el),ve(p),e,i,a),t.el=f.el,u===null&&Fi(e,f.el),r&&U(r,i),(d=t.props&&t.props.onVnodeUpdated)&&U(()=>Ia(d,s,t,c),i)}else{let o,{el:s,props:c}=t,{bm:l,m:u,parent:d,root:f,type:p}=e,m=Dr(t);if(ra(e,!1),l&&ae(l),!m&&(o=c&&c.onVnodeBeforeMount)&&Ia(o,d,t),ra(e,!0),s&&Se){let t=()=>{e.subTree=ki(e),Se(s,e.subTree,e,i,null)};m&&p.__asyncHydrate?p.__asyncHydrate(s,e,t):t()}else{f.ce&&f.ce._hasShadowRoot()&&f.ce._injectChildStyle(p,e.parent?e.parent.type:void 0);let o=e.subTree=ki(e);v(null,o,n,r,e,i,a),t.el=o.el}if(u&&U(u,i),!m&&(o=c&&c.onVnodeMounted)){let e=t;U(()=>Ia(o,d,e),i)}(t.shapeFlag&256||d&&Dr(d.vnode)&&d.vnode.shapeFlag&256)&&e.a&&U(e.a,i),e.isMounted=!0,t=n=r=null}};e.scope.on();let c=e.effect=new Ae(s);e.scope.off();let l=e.update=c.run.bind(c),u=e.job=c.runIfDirty.bind(c);u.i=e,u.id=e.uid,c.scheduler=()=>jn(u),ra(e,!0),l()},ce=(e,t,n)=>{t.component=e;let r=e.vnode.props;e.vnode=t,e.next=null,Bi(e,t.props,r,n),$i(e,t.children,n),Ge(),Pn(e),Ke()},ue=(e,t,n,r,i,a,o,s,c=!1)=>{let l=e&&e.children,u=e?e.shapeFlag:0,d=t.children,{patchFlag:f,shapeFlag:m}=t;if(f>0){if(f&128){fe(l,d,n,r,i,a,o,s,c);return}if(f&256){de(l,d,n,r,i,a,o,s,c);return}}m&8?(u&16&&_e(l,i,a),d!==l&&p(n,d)):u&16?m&16?fe(l,d,n,r,i,a,o,s,c):_e(l,i,a,!0):(u&8&&p(n,``),m&16&&E(d,n,r,i,a,o,s,c))},de=(e,t,r,i,a,o,s,c,l)=>{e||=n,t||=n;let u=e.length,d=t.length,f=Math.min(u,d),p;for(p=0;pd?_e(e,a,o,!0,!1,f):E(t,r,i,a,o,s,c,l,f)},fe=(e,t,r,i,a,o,s,c,l)=>{let u=0,d=t.length,f=e.length-1,p=d-1;for(;u<=f&&u<=p;){let n=e[u],i=t[u]=l?Na(t[u]):Ma(t[u]);if(Ca(n,i))v(n,i,r,null,a,o,s,c,l);else break;u++}for(;u<=f&&u<=p;){let n=e[f],i=t[p]=l?Na(t[p]):Ma(t[p]);if(Ca(n,i))v(n,i,r,null,a,o,s,c,l);else break;f--,p--}if(u>f){if(u<=p){let e=p+1,n=ep)for(;u<=f;)me(e[u],a,o,!0),u++;else{let m=u,h=u,g=new Map;for(u=h;u<=p;u++){let e=t[u]=l?Na(t[u]):Ma(t[u]);e.key!=null&&g.set(e.key,u)}let _,y=0,b=p-h+1,x=!1,S=0,C=Array(b);for(u=0;u=b){me(n,a,o,!0);continue}let i;if(n.key!=null)i=g.get(n.key);else for(_=h;_<=p;_++)if(C[_-h]===0&&Ca(n,t[_])){i=_;break}i===void 0?me(n,a,o,!0):(C[i-h]=u+1,i>=S?S=i:x=!0,v(n,t[i],r,null,a,o,s,c,l),y++)}let w=x?oa(C):n;for(_=w.length-1,u=b-1;u>=0;u--){let e=h+u,n=t[e],f=t[e+1],p=e+1{let{el:a,type:c,transition:l,children:u,shapeFlag:d}=e;if(d&6){pe(e.component.subTree,t,n,r);return}if(d&128){e.suspense.move(t,n,r);return}if(d&64){c.move(e,t,n,xe);return}if(c===W){o(a,t,n);for(let e=0;el.enter(a),i));else{let{leave:r,delayLeave:i,afterLeave:c}=l,u=()=>{e.ctx.isUnmounted?s(a):o(a,t,n)},d=()=>{let e=a._isLeaving||!!a[fr];a._isLeaving&&a[fr](!0),l.persisted&&!e?u():r(a,()=>{u(),c&&c()})};i?i(a,u,d):d()}else o(a,t,n)},me=(e,t,n,r=!1,i=!1)=>{let{type:a,props:o,ref:s,children:c,dynamicChildren:l,shapeFlag:u,patchFlag:d,dirs:f,cacheIndex:p,memo:m}=e;if(d===-2&&(i=!1),s!=null&&(Ge(),Tr(s,null,n,e,!0),Ke()),p!=null&&(t.renderCache[p]=void 0),u&256){t.ctx.deactivate(e);return}let h=u&1&&f,g=!Dr(e),_;if(g&&(_=o&&o.onVnodeBeforeUnmount)&&Ia(_,t,e),u&6)ge(e.component,n,r);else{if(u&128){e.suspense.unmount(n,r);return}h&&Hn(e,null,t,`beforeUnmount`),u&64?e.type.remove(e,t,n,xe,r):l&&!l.hasOnce&&(a!==W||d>0&&d&64)?_e(l,t,n,!1,!0):(a===W&&d&384||!i&&u&16)&&_e(c,t,n),r&&A(e)}let v=m!=null&&p==null;(g&&(_=o&&o.onVnodeUnmounted)||h||v)&&U(()=>{_&&Ia(_,t,e),h&&Hn(e,null,t,`unmounted`),v&&(e.el=null)},n)},A=e=>{let{type:t,el:n,anchor:r,transition:i}=e;if(t===W){he(n,r);return}if(t===ma){C(e);return}let a=()=>{s(n),i&&!i.persisted&&i.afterLeave&&i.afterLeave()};if(e.shapeFlag&1&&i&&!i.persisted){let{leave:t,delayLeave:r}=i,o=()=>t(n,a);r?r(e.el,a,o):o()}else a()},he=(e,t)=>{let n;for(;e!==t;)n=h(e),s(e),e=n;s(t)},ge=(e,t,n)=>{let{bum:r,scope:i,job:a,subTree:o,um:s,m:c,a:l}=e;ca(c),ca(l),r&&ae(r),i.stop(),a&&(a.flags|=8,me(o,e,t,n)),s&&U(s,t),U(()=>{e.isUnmounted=!0},t)},_e=(e,t,n,r=!1,i=!1,a=0)=>{for(let o=a;o{if(e.shapeFlag&6)return ve(e.component.subTree);if(e.shapeFlag&128)return e.suspense.next();let t=h(e.anchor||e.el),n=t&&t[$n];return n?h(n):t},ye=!1,be=(e,t,n)=>{let r;e==null?t._vnode&&(me(t._vnode,null,null,!0),r=t._vnode.component):v(t._vnode||null,e,t,null,null,null,n),t._vnode=e,ye||=(ye=!0,Pn(r),Fn(),!1)},xe={p:v,um:me,m:pe,r:A,mt:k,mc:E,pc:ue,pbc:D,n:ve,o:e},j,Se;return i&&([j,Se]=i(xe)),{render:be,hydrate:j,createApp:Si(be,j)}}function na({type:e,props:t},n){return n===`svg`&&e===`foreignObject`||n===`mathml`&&e===`annotation-xml`&&t&&t.encoding&&t.encoding.includes(`html`)?void 0:n}function ra({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function ia(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function aa(e,t,n=!1){let r=e.children,i=t.children;if(d(r)&&d(i))for(let e=0;e>1,e[n[s]]0&&(t[r]=n[a-1]),n[a]=r)}}for(a=n.length,o=n[a-1];a-->0;)n[a]=o,o=t[o];return n}function sa(e){let t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:sa(t)}function ca(e){if(e)for(let t=0;te.__isSuspense;function da(e,t){t&&t.pendingBranch?d(e)?t.effects.push(...e):t.effects.push(e):Nn(e)}var W=Symbol.for(`v-fgt`),fa=Symbol.for(`v-txt`),pa=Symbol.for(`v-cmt`),ma=Symbol.for(`v-stc`),ha=[],ga=null;function G(e=!1){ha.push(ga=e?null:[])}function _a(){ha.pop(),ga=ha[ha.length-1]||null}var va=1;function ya(e,t=!1){va+=e,e<0&&ga&&t&&(ga.hasOnce=!0)}function ba(e){return e.dynamicChildren=va>0?ga||n:null,_a(),va>0&&ga&&ga.push(e),e}function K(e,t,n,r,i,a){return ba(q(e,t,n,r,i,a,!0))}function xa(e,t,n,r,i){return ba(J(e,t,n,r,i,!0))}function Sa(e){return e?e.__v_isVNode===!0:!1}function Ca(e,t){return e.type===t.type&&e.key===t.key}var wa=({key:e})=>e??null,Ta=({ref:e,ref_key:t,ref_for:n})=>(typeof e==`number`&&(e=``+e),e==null?null:g(e)||I(e)||h(e)?{i:B,r:e,k:t,f:!!n}:e);function q(e,t=null,n=null,r=0,i=null,a=e===W?0:1,o=!1,s=!1){let c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&wa(t),ref:t&&Ta(t),scopeId:Rn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:r,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:B};return s?(Pa(c,n),a&128&&e.normalize(c)):n&&(c.shapeFlag|=g(n)?8:16),va>0&&!o&&ga&&(c.patchFlag>0||a&6)&&c.patchFlag!==32&&ga.push(c),c}var J=Ea;function Ea(e,t=null,n=null,r=0,i=null,a=!1){if((!e||e===qr)&&(e=pa),Sa(e)){let r=Oa(e,t,!0);return n&&Pa(r,n),va>0&&!a&&ga&&(r.shapeFlag&6?ga[ga.indexOf(e)]=r:ga.push(r)),r.patchFlag=-2,r}if(ro(e)&&(e=e.__vccOpts),t){t=Da(t);let{class:e,style:n}=t;e&&!g(e)&&(t.class=A(e)),v(n)&&(qt(n)&&!d(n)&&(n=s({},n)),t.style=ue(n))}let o=g(e)?1:ua(e)?128:er(e)?64:v(e)?4:h(e)?2:0;return q(e,t,n,r,i,o,a,!0)}function Da(e){return e?qt(e)||Ri(e)?s({},e):e:null}function Oa(e,t,n=!1,r=!1){let{props:i,ref:a,patchFlag:o,children:s,transition:c}=e,l=t?Fa(i||{},t):i,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&wa(l),ref:t&&t.ref?n&&a?d(a)?a.concat(Ta(t)):[a,Ta(t)]:Ta(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==W?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Oa(e.ssContent),ssFallback:e.ssFallback&&Oa(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&yr(u,c.clone(u)),u}function ka(e=` `,t=0){return J(fa,null,e,t)}function Aa(e,t){let n=J(ma,null,e);return n.staticCount=t,n}function ja(e=``,t=!1){return t?(G(),xa(pa,null,e)):J(pa,null,e)}function Ma(e){return e==null||typeof e==`boolean`?J(pa):d(e)?J(W,null,e.slice()):Sa(e)?Na(e):J(fa,null,String(e))}function Na(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Oa(e)}function Pa(e,t){let n=0,{shapeFlag:r}=e;if(t==null)t=null;else if(d(t))n=16;else if(typeof t==`object`)if(r&65){let n=t.default;n&&(n._c&&(n._d=!1),Pa(e,n()),n._c&&(n._d=!0));return}else{n=32;let r=t._;!r&&!Ri(t)?t._ctx=B:r===3&&B&&(B.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(h(t)){if(r&65){Pa(e,{default:t});return}t={default:t,_ctx:B},n=32}else t=String(t),r&64?(n=16,t=[ka(t)]):n=8;e.children=t,e.shapeFlag|=n}function Fa(...e){let t={};for(let n=0;nY||B,Va,Ha;{let e=le(),t=(t,n)=>{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{r.length>1?r.forEach(t=>t(e)):r[0](e)}};Va=t(`__VUE_INSTANCE_SETTERS__`,e=>Y=e),Ha=t(`__VUE_SSR_SETTERS__`,e=>Ka=e)}var Ua=e=>{let t=Y;return Va(e),e.scope.on(),()=>{e.scope.off(),Va(t)}},Wa=()=>{Y&&Y.scope.off(),Va(null)};function Ga(e){return e.vnode.shapeFlag&4}var Ka=!1;function qa(e,t=!1,n=!1){t&&Ha(t);let{props:r,children:i}=e.vnode,a=Ga(e);zi(e,r,a,t),Qi(e,i,n||t);let o=a?Ja(e,t):void 0;return t&&Ha(!1),o}function Ja(e,t){let n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,ni);let{setup:r}=n;if(r){Ge();let n=e.setupContext=r.length>1?eo(e):null,i=Ua(e),a=yn(r,e,0,[e.props,n]),o=y(a);if(Ke(),i(),(o||e.sp)&&!Dr(e)&&Sr(e),o){if(a.then(Wa,Wa),t)return a.then(n=>{Ya(e,n,t)}).catch(t=>{xn(t,e,0)});e.asyncDep=a}else Ya(e,a,t)}else Qa(e,t)}function Ya(e,t,n){h(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:v(t)&&(e.setupState=nn(t)),Qa(e,n)}var Xa,Za;function Qa(e,t,n){let i=e.type;if(!e.render){if(!t&&Xa&&!i.render){let t=i.template||di(e).template;if(t){let{isCustomElement:n,compilerOptions:r}=e.appContext.config,{delimiters:a,compilerOptions:o}=i;i.render=Xa(t,s(s({isCustomElement:n,delimiters:a},r),o))}}e.render=i.render||r,Za&&Za(e)}{let t=Ua(e);Ge();try{si(e)}finally{Ke(),t()}}}var $a={get(e,t){return P(e,`get`,``),e[t]}};function eo(e){return{attrs:new Proxy(e.attrs,$a),slots:e.slots,emit:e.emit,expose:t=>{e.exposed=t||{}}}}function to(e){return e.exposed?e.exposeProxy||=new Proxy(nn(Jt(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in ei)return ei[n](e)},has(e,t){return t in e||t in ei}}):e.proxy}function no(e,t=!0){return h(e)?e.displayName||e.name:e.name||t&&e.__name}function ro(e){return h(e)&&`__vccOpts`in e}var X=(e,t)=>fn(e,t,Ka);function io(e,t,n){try{ya(-1);let r=arguments.length;return r===2?v(t)&&!d(t)?Sa(t)?J(e,null,[t]):J(e,t):J(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Sa(n)&&(n=[n]),J(e,t,n))}finally{ya(1)}}var ao=`3.5.40`,oo=void 0,so=typeof window<`u`&&window.trustedTypes;if(so)try{oo=so.createPolicy(`vue`,{createHTML:e=>e})}catch{}var co=oo?e=>oo.createHTML(e):e=>e,lo=`http://www.w3.org/2000/svg`,uo=`http://www.w3.org/1998/Math/MathML`,fo=typeof document<`u`?document:null,po=fo&&fo.createElement(`template`),mo={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{let i=t===`svg`?fo.createElementNS(lo,e):t===`mathml`?fo.createElementNS(uo,e):n?fo.createElement(e,{is:n}):fo.createElement(e);return e===`select`&&r&&r.multiple!=null&&i.setAttribute(`multiple`,r.multiple),i},createText:e=>fo.createTextNode(e),createComment:e=>fo.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>fo.querySelector(e),setScopeId(e,t){e.setAttribute(t,``)},insertStaticContent(e,t,n,r,i,a){let o=n?n.previousSibling:t.lastChild;if(i&&(i===a||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===a||!(i=i.nextSibling)););else{po.innerHTML=co(r===`svg`?`${e}`:r===`mathml`?`${e}`:e);let i=po.content;if(r===`svg`||r===`mathml`){let e=i.firstChild;for(;e.firstChild;)i.appendChild(e.firstChild);i.removeChild(e)}t.insertBefore(i,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},ho=`transition`,go=`animation`,_o=Symbol(`_vtc`),vo={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},yo=s({},gr,vo),bo=(e,t=[])=>{d(e)?e.forEach(e=>e(...t)):e&&e(...t)},xo=e=>e?d(e)?e.some(e=>e.length>1):e.length>1:!1;function So(e){let t={};for(let n in e)n in vo||(t[n]=e[n]);if(e.css===!1)return t;let{name:n=`v`,type:r,duration:i,enterFromClass:a=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:c=`${n}-enter-to`,appearFromClass:l=a,appearActiveClass:u=o,appearToClass:d=c,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:m=`${n}-leave-to`}=e,h=Co(i),g=h&&h[0],_=h&&h[1],{onBeforeEnter:v,onEnter:y,onEnterCancelled:b,onLeave:x,onLeaveCancelled:S,onBeforeAppear:C=v,onAppear:w=y,onAppearCancelled:T=b}=t,ee=(e,t,n,r)=>{e._enterCancelled=r,Eo(e,t?d:c),Eo(e,t?u:o),n&&n()},te=(e,t)=>{e._isLeaving=!1,Eo(e,f),Eo(e,m),Eo(e,p),t&&t()},E=e=>(t,n)=>{let i=e?w:y,o=()=>ee(t,e,n);bo(i,[t,o]),Do(()=>{Eo(t,e?l:a),To(t,e?d:c),xo(i)||ko(t,r,g,o)})};return s(t,{onBeforeEnter(e){bo(v,[e]),To(e,a),To(e,o)},onBeforeAppear(e){bo(C,[e]),To(e,l),To(e,u)},onEnter:E(!1),onAppear:E(!0),onLeave(e,t){e._isLeaving=!0;let n=()=>te(e,t);To(e,f),e._enterCancelled?(To(e,p),No(e)):(No(e),To(e,p)),Do(()=>{e._isLeaving&&(Eo(e,f),To(e,m),xo(x)||ko(e,r,_,n))}),bo(x,[e,n])},onEnterCancelled(e){ee(e,!1,void 0,!0),bo(b,[e])},onAppearCancelled(e){ee(e,!0,void 0,!0),bo(T,[e])},onLeaveCancelled(e){te(e),bo(S,[e])}})}function Co(e){if(e==null)return null;if(v(e))return[wo(e.enter),wo(e.leave)];{let t=wo(e);return[t,t]}}function wo(e){return se(e)}function To(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.add(t)),(e[_o]||(e[_o]=new Set)).add(t)}function Eo(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.remove(t));let n=e[_o];n&&(n.delete(t),n.size||(e[_o]=void 0))}function Do(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}var Oo=0;function ko(e,t,n,r){let i=e._endId=++Oo,a=()=>{i===e._endId&&r()};if(n!=null)return setTimeout(a,n);let{type:o,timeout:s,propCount:c}=Ao(e,t);if(!o)return r();let l=o+`end`,u=0,d=()=>{e.removeEventListener(l,f),a()},f=t=>{t.target===e&&++u>=c&&d()};setTimeout(()=>{u(n[e]||``).split(`, `),i=r(`${ho}Delay`),a=r(`${ho}Duration`),o=jo(i,a),s=r(`${go}Delay`),c=r(`${go}Duration`),l=jo(s,c),u=null,d=0,f=0;t===ho?o>0&&(u=ho,d=o,f=a.length):t===go?l>0&&(u=go,d=l,f=c.length):(d=Math.max(o,l),u=d>0?o>l?ho:go:null,f=u?u===ho?a.length:c.length:0);let p=u===ho&&/\b(?:transform|all)(?:,|$)/.test(r(`${ho}Property`).toString());return{type:u,timeout:d,propCount:f,hasTransform:p}}function jo(e,t){for(;e.lengthMo(t)+Mo(e[n])))}function Mo(e){return e===`auto`?0:Number(e.slice(0,-1).replace(`,`,`.`))*1e3}function No(e){return(e?e.ownerDocument:document).body.offsetHeight}function Po(e,t,n){let r=e[_o];r&&(t=(t?[t,...r]:[...r]).join(` `)),t==null?e.removeAttribute(`class`):n?e.setAttribute(`class`,t):e.className=t}var Fo=Symbol(`_vod`),Io=Symbol(`_vsh`),Lo=Symbol(``);function Ro(e){let t=Ba();if(!t)return;let n=t.ut=(n=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(e=>Bo(e,n))},i=()=>{let r=e(t.proxy);t.ce?Bo(t.ce,r):zo(t.subTree,r),n(r)};Lr(()=>{Nn(i)}),Ir(()=>{Jn(i,r,{flush:`post`});let e=new MutationObserver(i);e.observe(t.subTree.el.parentNode,{childList:!0}),Br(()=>e.disconnect())})}function zo(e,t){if(e.shapeFlag&128){let n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{zo(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)Bo(e.el,t);else if(e.type===W)e.children.forEach(e=>zo(e,t));else if(e.type===ma){let{el:n,anchor:r}=e;for(;n&&(Bo(n,t),n!==r);)n=n.nextSibling}}function Bo(e,t){if(e.nodeType===1){let n=e.style,r=``;for(let e in t){let i=we(t[e]);n.setProperty(`--${e}`,i),r+=`--${e}: ${i};`}n[Lo]=r}}var Vo=/(?:^|;)\s*display\s*:/;function Ho(e,t,n){let r=e.style,i=g(n),a=!1;if(n&&!i){if(t)if(g(t))for(let e of t.split(`;`)){let t=e.slice(0,e.indexOf(`:`)).trim();n[t]??Wo(r,t,``)}else for(let e in t)n[e]??Wo(r,e,``);for(let i in n){i===`display`&&(a=!0);let o=n[i];o==null?Wo(r,i,``):Jo(e,i,!g(t)&&t?t[i]:void 0,o)||Wo(r,i,o)}}else if(i){if(t!==n){let e=r[Lo];e&&(n+=`;`+e),r.cssText=n,a=Vo.test(n)}}else t&&e.removeAttribute(`style`);Fo in e&&(e[Fo]=a?r.display:``,e[Io]&&(r.display=`none`))}var Uo=/\s*!important$/;function Wo(e,t,n){if(d(n))n.forEach(n=>Wo(e,t,n));else if(n??=``,t.startsWith(`--`))e.setProperty(t,n);else{let r=qo(e,t);Uo.test(n)?e.setProperty(D(r),n.replace(Uo,``),`important`):e[r]=n}}var Go=[`Webkit`,`Moz`,`ms`],Ko={};function qo(e,t){let n=Ko[t];if(n)return n;let r=E(t);if(r!==`filter`&&r in e)return Ko[t]=r;r=re(r);for(let n=0;nas||=(os.then(()=>as=0),Date.now());function cs(e,t){let n=e=>{if(!e._vts)e._vts=Date.now();else if(e._vts<=n.attached)return;let r=n.value;if(d(r)){let n=e.stopImmediatePropagation;e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0};let i=r.slice(),a=[e];for(let n=0;ne.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,us=(e,t,n,r,i,s)=>{let c=i===`svg`;t===`class`?Po(e,r,c):t===`style`?Ho(e,n,r):a(t)?o(t)||ts(e,t,n,r,s):(t[0]===`.`?(t=t.slice(1),!0):t[0]===`^`?(t=t.slice(1),!1):ds(e,t,r,c))?(Zo(e,t,r),!e.tagName.includes(`-`)&&(t===`value`||t===`checked`||t===`selected`)&&Xo(e,t,r,c,s,t!==`value`)):e._isVueCE&&(fs(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!g(r)))?Zo(e,E(t),r,s,t):(t===`true-value`?e._trueValue=r:t===`false-value`&&(e._falseValue=r),Xo(e,t,r,c))};function ds(e,t,n,r){if(r)return!!(t===`innerHTML`||t===`textContent`||t in e&&ls(t)&&h(n));if(t===`spellcheck`||t===`draggable`||t===`translate`||t===`autocorrect`||t===`sandbox`&&e.tagName===`IFRAME`||t===`form`||t===`list`&&e.tagName===`INPUT`||t===`type`&&e.tagName===`TEXTAREA`)return!1;if(t===`width`||t===`height`){let t=e.tagName;if(t===`IMG`||t===`VIDEO`||t===`CANVAS`||t===`SOURCE`)return!1}return ls(t)&&g(n)?!1:t in e}function fs(e,t){let n=e._def.props;if(!n)return!1;let r=E(t);return Array.isArray(n)?n.some(e=>E(e)===r):Object.keys(n).some(e=>E(e)===r)}var ps=new WeakMap,ms=new WeakMap,hs=Symbol(`_moveCb`),gs=Symbol(`_enterCb`),_s=(e=>(delete e.props.mode,e))({name:`TransitionGroup`,props:s({},yo,{tag:String,moveClass:String}),setup(e,{slots:t}){let n=Ba(),r=mr(),i,a;return Rr(()=>{if(!i.length)return;let t=e.moveClass||`${e.name||`v`}-move`;if(!Ss(i[0].el,n.vnode.el,t)){i=[];return}i.forEach(vs),i.forEach(ys);let r=i.filter(bs);No(n.vnode.el),r.forEach(e=>{let n=e.el,r=n.style;To(n,t),r.transform=r.webkitTransform=r.transitionDuration=``;let i=n[hs]=e=>{e&&e.target!==n||(!e||e.propertyName.endsWith(`transform`))&&(n.removeEventListener(`transitionend`,i),n[hs]=null,Eo(n,t))};n.addEventListener(`transitionend`,i)}),i=[]}),()=>{let o=F(e),s=So(o),c=o.tag||W;if(i=[],a)for(let e=0;e{e.split(/\s+/).forEach(e=>e&&r.classList.remove(e))}),n.split(/\s+/).forEach(e=>e&&r.classList.add(e)),r.style.display=`none`;let a=t.nodeType===1?t:t.parentNode;a.appendChild(r);let{hasTransform:o}=Ao(r);return a.removeChild(r),o}var Cs=e=>{let t=e.props[`onUpdate:modelValue`]||!1;return d(t)?e=>ae(t,e):t};function ws(e){e.target.composing=!0}function Ts(e){let t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event(`input`)))}var Es=Symbol(`_assign`);function Ds(e,t,n){return t&&(e=e.trim()),n&&(e=oe(e)),e}var Os={created(e,{modifiers:{lazy:t,trim:n,number:r}},i){e[Es]=Cs(i);let a=r||i.props&&i.props.type===`number`;Qo(e,t?`change`:`input`,t=>{t.target.composing||e[Es](Ds(e.value,n,a))}),(n||a)&&Qo(e,`change`,()=>{e.value=Ds(e.value,n,a)}),t||(Qo(e,`compositionstart`,ws),Qo(e,`compositionend`,Ts),Qo(e,`change`,Ts))},mounted(e,{value:t}){e.value=t??``},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:i,number:a}},o){if(e[Es]=Cs(o),e.composing)return;let s=(a||e.type===`number`)&&!/^0\d/.test(e.value)?oe(e.value):e.value,c=t??``;if(s===c)return;let l=e.getRootNode();(l instanceof Document||l instanceof ShadowRoot)&&l.activeElement===e&&e.type!==`range`&&(r&&t===n||i&&e.value.trim()===c)||(e.value=c)}},ks={deep:!0,created(e,t,n){e[Es]=Cs(n),Qo(e,`change`,()=>{let t=e._modelValue,n=Ps(e),r=e.checked,i=e[Es];if(d(t)){let e=be(t,n),a=e!==-1;if(r&&!a)i(t.concat(n));else if(!r&&a){let n=[...t];n.splice(e,1),i(n)}}else if(p(t)){let e=new Set(t);r?e.add(n):e.delete(n),i(e)}else i(Fs(e,r))})},mounted:As,beforeUpdate(e,t,n){e[Es]=Cs(n),As(e,t,n)}};function As(e,{value:t,oldValue:n},r){e._modelValue=t;let i;if(d(t))i=be(t,r.props.value)>-1;else if(p(t))i=t.has(r.props.value);else{if(t===n)return;i=ye(t,Fs(e,!0))}e.checked!==i&&(e.checked=i)}var js={created(e,{value:t},n){e.checked=ye(t,n.props.value),e[Es]=Cs(n),Qo(e,`change`,()=>{e[Es](Ps(e))})},beforeUpdate(e,{value:t,oldValue:n},r){e[Es]=Cs(r),t!==n&&(e.checked=ye(t,r.props.value))}},Ms={deep:!0,created(e,{value:t,modifiers:{number:n}},r){e._modelValue=t,Qo(e,`change`,()=>{let t=Array.prototype.filter.call(e.options,e=>e.selected).map(e=>n?oe(Ps(e)):Ps(e));e[Es](e.multiple?p(e._modelValue)?new Set(t):t:t[0]),e._assigning=!0,kn(()=>{e._assigning=!1})}),e[Es]=Cs(r)},mounted(e,{value:t}){Ns(e,t)},beforeUpdate(e,{value:t},n){e._modelValue=t,e[Es]=Cs(n)},updated(e,{value:t}){e._assigning||Ns(e,t)}};function Ns(e,t){let n=e.multiple,r=d(t);if(!(n&&!r&&!p(t))){for(let i=0,a=e.options.length;iString(e)===String(o)):be(t,o)>-1}else a.selected=t.has(o);else if(ye(Ps(a),t)){e.selectedIndex!==i&&(e.selectedIndex=i);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Ps(e){return`_value`in e?e._value:e.value}function Fs(e,t){let n=t?`_trueValue`:`_falseValue`;return n in e?e[n]:t}var Is={created(e,t,n){Rs(e,t,n,null,`created`)},mounted(e,t,n){Rs(e,t,n,null,`mounted`)},beforeUpdate(e,t,n,r){Rs(e,t,n,r,`beforeUpdate`)},updated(e,t,n,r){Rs(e,t,n,r,`updated`)}};function Ls(e,t){switch(e){case`SELECT`:return Ms;case`TEXTAREA`:return Os;default:switch(t){case`checkbox`:return ks;case`radio`:return js;default:return Os}}}function Rs(e,t,n,r,i){let a=Ls(e.tagName,n.props&&n.props.type)[i];a&&a(e,t,n,r)}var zs=[`ctrl`,`shift`,`alt`,`meta`],Bs={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>`button`in e&&e.button!==0,middle:e=>`button`in e&&e.button!==1,right:e=>`button`in e&&e.button!==2,exact:(e,t)=>zs.some(n=>e[`${n}Key`]&&!t.includes(n))},Vs=(e,t)=>{if(!e)return e;let n=e._withMods||={},r=t.join(`.`);return n[r]||(n[r]=((n,...r)=>{for(let e=0;e{let n=e._withKeys||={},r=t.join(`.`);return n[r]||(n[r]=(n=>{if(!(`key`in n))return;let r=D(n.key);if(t.some(e=>e===r||Hs[e]===r))return e(n)}))},Ws=s({patchProp:us},mo),Gs;function Ks(){return Gs||=ea(Ws)}var qs=((...e)=>{let t=Ks().createApp(...e),{mount:n}=t;return t.mount=e=>{let r=Ys(e);if(!r)return;let i=t._component;!h(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent=``);let a=n(r,!1,Js(r));return r instanceof Element&&(r.removeAttribute(`v-cloak`),r.setAttribute(`data-v-app`,``)),a},t});function Js(e){if(e instanceof SVGElement)return`svg`;if(typeof MathMLElement==`function`&&e instanceof MathMLElement)return`mathml`}function Ys(e){return g(e)?document.querySelector(e):e}var Xs=typeof window<`u`,Zs,Qs=e=>Zs=e,$s=Symbol();function ec(e){return e&&typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`&&typeof e.toJSON!=`function`}var tc=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:typeof globalThis==`object`?globalThis:{HTMLElement:null};function nc(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function rc(e,t,n){let r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){cc(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function ic(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function ac(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{let t=new MouseEvent(`click`,{bubbles:!0,cancelable:!0,view:window,detail:0,screenX:80,screenY:20,clientX:80,clientY:20,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null});e.dispatchEvent(t)}}var oc=typeof navigator==`object`?navigator:{userAgent:``},sc=/Macintosh/.test(oc.userAgent)&&/AppleWebKit/.test(oc.userAgent)&&!/Safari/.test(oc.userAgent),cc=Xs?typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype&&!sc?lc:`msSaveOrOpenBlob`in oc?uc:dc:()=>{};function lc(e,t=`download`,n){let r=document.createElement(`a`);r.download=t,r.rel=`noopener`,typeof e==`string`?(r.href=e,r.origin===location.origin?ac(r):ic(r.href)?rc(e,t,n):(r.target=`_blank`,ac(r))):(r.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(r.href)},4e4),setTimeout(function(){ac(r)},0))}function uc(e,t=`download`,n){if(typeof e==`string`)if(ic(e))rc(e,t,n);else{let t=document.createElement(`a`);t.href=e,t.target=`_blank`,setTimeout(function(){ac(t)})}else navigator.msSaveOrOpenBlob(nc(e,n),t)}function dc(e,t,n,r){if(r||=open(``,`_blank`),r&&(r.document.title=r.document.body.innerText=`downloading...`),typeof e==`string`)return rc(e,t,n);let i=e.type===`application/octet-stream`,a=/constructor/i.test(String(tc.HTMLElement))||`safari`in tc,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&a||sc)&&typeof FileReader<`u`){let t=new FileReader;t.onloadend=function(){let e=t.result;if(typeof e!=`string`)throw r=null,Error(`Wrong reader.result type`);e=o?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),r?r.location.href=e:location.assign(e),r=null},t.readAsDataURL(e)}else{let t=URL.createObjectURL(e);r?r.location.assign(t):location.href=t,r=null,setTimeout(function(){URL.revokeObjectURL(t)},4e4)}}var{assign:fc}=Object;function pc(){let e=Ee(!0),t=e.run(()=>L({})),n=[],r=[],i=Jt({install(e){Qs(i),i._a=e,e.provide($s,i),e.config.globalProperties.$pinia=i,r.forEach(e=>n.push(e)),r=[]},use(e){return this._a?n.push(e):r.push(e),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return i}var mc=()=>{};function hc(e,t,n,r=mc){e.add(t);let i=()=>{e.delete(t)&&r()};return!n&&De()&&Oe(i),i}function gc(e,...t){e.forEach(e=>{e(...t)})}var _c=e=>e(),vc=Symbol(),yc=Symbol();function bc(e,t){e instanceof Map&&t instanceof Map?t.forEach((t,n)=>e.set(n,t)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(let n in t){if(!Object.hasOwn(t,n))continue;let r=t[n],i=e[n];e[n]=ec(i)&&ec(r)&&Object.hasOwn(e,n)&&!I(r)&&!Wt(r)?bc(i,r):r}return e}var xc=Symbol();function Sc(e){return!e||typeof e!=`object`||!Object.hasOwn(e,xc)}var{assign:Cc}=Object;function wc(e){return!!(I(e)&&e.effect)}function Tc(e,t,n,r){let{state:i,actions:a,getters:o}=t,s=n.state.value[e],c;function l(){return s||(n.state.value[e]=i?i():{}),Cc(on(n.state.value[e]),a,Object.keys(o||{}).reduce((t,r)=>(t[r]=Jt(X(()=>{Qs(n);let t=n._s.get(e);return o[r].call(t,t)})),t),{}))}return c=Ec(e,l,t,n,r,!0),c}function Ec(e,t,n={},r,i,a){let o,s=Cc({actions:{}},n),c={deep:!0},l,u,d=new Set,f=new Set,p,m=r.state.value[e];!a&&!m&&(r.state.value[e]={});let h;function g(t){let n;l=u=!1,typeof t==`function`?(t(r.state.value[e]),n={type:`patch function`,storeId:e,events:p}):(bc(r.state.value[e],t),n={type:`patch object`,payload:t,storeId:e,events:p});let i=h=Symbol();kn().then(()=>{h===i&&(l=!0)}),u=!0,gc(d,n,r.state.value[e])}let _=a?function(){let{state:e}=n,t=e?e():{};this.$patch(e=>{Cc(e,t)})}:mc;function v(){o.stop(),d.clear(),f.clear(),r._s.delete(e)}let y=(t,n=``)=>{if(vc in t)return t[yc]=n,t;let i=function(){Qs(r);let n=Array.from(arguments),a=new Set,o=new Set;function s(e){a.add(e)}function c(e){o.add(e)}gc(f,{args:n,name:i[yc],store:b,after:s,onError:c});let l;try{l=t.apply(this&&this.$id===e?this:b,n)}catch(e){throw gc(o,e),e}return l instanceof Promise?l.then(e=>(gc(a,e),e)).catch(e=>(gc(o,e),Promise.reject(e))):(gc(a,l),l)};return i[vc]=!0,i[yc]=n,i},b=zt({_p:r,$id:e,$onAction:hc.bind(null,f),$patch:g,$reset:_,$subscribe(t,n={}){if(d.has(t))return mc;let i=hc(d,t,n.detached,()=>a()),a=o.run(()=>Jn(()=>r.state.value[e],r=>{(n.flush===`sync`?u:l)&&t({storeId:e,type:`direct`,events:p},r)},Cc({},c,n)));return i},$dispose:v});r._s.set(e,b);let x=(r._a&&r._a.runWithContext||_c)(()=>r._e.run(()=>(o=Ee()).run(()=>t({action:y}))));for(let t in x){let n=x[t];I(n)&&!wc(n)||Wt(n)?a||(m&&Sc(n)&&(I(n)?n.value=m[t]:bc(n,m[t])),r.state.value[e][t]=n):typeof n==`function`&&(x[t]=y(n,t),s.actions[t]=n)}return Cc(b,x),Cc(F(b),x),Object.defineProperty(b,"$state",{get:()=>r.state.value[e],set:e=>{g(t=>{Cc(t,e)})}}),r._p.forEach(e=>{let t=o.run(()=>e({store:b,app:r._a,pinia:r,options:s}));Cc(b,t)}),m&&a&&n.hydrate&&n.hydrate(b.$state,m),l=!0,u=!0,b}function Dc(e,t,n){let r,i=typeof t==`function`;r=i?n:t;function a(n,a){let o=Wn();return n||=o?V($s,null):null,n&&Qs(n),n=Zs,n._s.has(e)||(i?Ec(e,t,r,n):Tc(e,r,n)),n._s.get(e)}return a.$id=e,a}var Oc={"vuesax-linear:add":` + + + +`,"vuesax-linear:arrow-down":` + + +`,"vuesax-linear:arrow-left-1":` + + +`,"vuesax-linear:arrow-right-1":` + + +`,"vuesax-linear:bag-2":` + + + + + +`,"vuesax-linear:bag-cross":` + + + + + + + +`,"vuesax-linear:box-1":` + + + + +`,"vuesax-linear:box-remove":` + + + + + + + +`,"vuesax-linear:box-search":` + + + + + + +`,"vuesax-linear:building":` + + + + + + + +`,"vuesax-linear:buildings":` + + + + + + + + +`,"vuesax-linear:calendar":` + + + + + + + + + + + +`,"vuesax-linear:call":` + + +`,"vuesax-linear:card":` + + + + + +`,"vuesax-linear:card-receive":` + + + + + + + +`,"vuesax-linear:category":` + + + + + +`,"vuesax-linear:chart-2":` + + + + +`,"vuesax-linear:clipboard-close":` + + + + + +`,"vuesax-linear:clock":` + + + + + +`,"vuesax-linear:close-circle":` + + + + +`,"vuesax-linear:cpu":` + + + + + + + + + + + + + + + +`,"vuesax-linear:diamonds":` + + + +`,"vuesax-linear:document-text":` + + + + + +`,"vuesax-linear:edit-2":` + + + + +`,"vuesax-linear:element-3":` + + + + + +`,"vuesax-linear:eye":` + + + +`,"vuesax-linear:eye-slash":` + + + + + + + +`,"vuesax-linear:filter":` + + + +`,"vuesax-linear:flash":` + + + + + +`,"vuesax-linear:headphone":` + + +`,"vuesax-linear:home":` + + + +`,"vuesax-linear:info-circle":` + + + + +`,"vuesax-linear:lamp-on":` + + + +`,"vuesax-linear:location":` + + + +`,"vuesax-linear:lock":` + + + + + + +`,"vuesax-linear:logout":` + + + + +`,"vuesax-linear:menu":` + + + + +`,"vuesax-linear:message":` + + + + + +`,"vuesax-linear:mobile":` + + + + +`,"vuesax-linear:money-4":` + + + + + + + +`,"vuesax-linear:monitor":` + + + + + +`,"vuesax-linear:moon":` + + +`,"vuesax-linear:more":` + + + + +`,"vuesax-linear:note-remove":` + + + + + + + + +`,"vuesax-linear:notification":` + + + + +`,"vuesax-linear:pen-add":` + + + + + + + + +`,"vuesax-linear:people":` + + + + + + + +`,"vuesax-linear:personalcard":` + + + + + + + +`,"vuesax-linear:printer":` + + + + + + +`,"vuesax-linear:profile-2user":` + + + + + +`,"vuesax-linear:profile-circle":` + + + + +`,"vuesax-linear:receipt-search":` + + + + + + +`,"vuesax-linear:search-normal":` + + + +`,"vuesax-linear:search-status":` + + + + + +`,"vuesax-linear:setting-2":` + + + +`,"vuesax-linear:shopping-bag":` + + + + +`,"vuesax-linear:sms":` + + + +`,"vuesax-linear:sun-1":` + + + +`,"vuesax-linear:tick-circle":` + + + +`,"vuesax-linear:timer-1":` + + + + +`,"vuesax-linear:trash":` + + + + + + +`,"vuesax-linear:truck-time":` + + + + + + + + +`,"vuesax-linear:verify":` + + + +`,"vuesax-linear:wallet":` + + + + +`,"vuesax-linear:warning-2":` + + + + +`},kc=[`aria-hidden`,`innerHTML`],Ac=xr({inheritAttrs:!1,__name:`BasicIcon`,props:{icon:{},color:{default:null},size:{default:24},strokeWidth:{default:1.5}},setup(e){Ro(e=>({v196ba43b:String(t.strokeWidth)}));let t=e,n=ri(),r=X(()=>{let e=Oc[t.icon];if(!e)return``;let n=String(t.size);return e.replace(/\swidth="[^"]*"/,` width="${n}"`).replace(/\sheight="[^"]*"/,` height="${n}"`).replace(/stroke="#[^"]*"/g,`stroke="currentColor"`)}),i=X(()=>({color:t.color||void 0,width:`${t.size}px`,height:`${t.size}px`,display:`inline-flex`,alignItems:`center`,justifyContent:`center`,lineHeight:0,flexShrink:0})),a=X(()=>n[`aria-hidden`]??!0);return(e,t)=>(G(),K(`span`,Fa({class:`basic-icon`},R(n),{style:i.value,"aria-hidden":a.value,innerHTML:r.value}),null,16,kc))}}),jc=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},Mc=jc(Ac,[[`__scopeId`,`data-v-159253ae`]]),Nc=zt({items:[]});function Pc(e,t){let n=crypto.randomUUID();Nc.items.push({id:n,message:e,tone:t}),window.setTimeout(()=>Fc(n),3200)}function Fc(e){let t=Nc.items.findIndex(t=>t.id===e);t!==-1&&Nc.items.splice(t,1)}function Ic(){return{toasts:ln(Nc,`items`),dismiss:Fc,success:e=>Pc(e,`success`),error:e=>Pc(e,`error`),info:e=>Pc(e,`info`),warning:e=>Pc(e,`warning`)}}var Lc={class:`toast-container`,"aria-live":`polite`,"aria-relevant":`additions`},Rc={class:`toast__icon`,"aria-hidden":`true`},zc={class:`toast__message`},Bc=[`onClick`],Vc=jc(xr({__name:`ToastContainer`,setup(e){let{toasts:t,dismiss:n}=Ic(),r={success:`vuesax-linear:tick-circle`,error:`vuesax-linear:close-circle`,warning:`vuesax-linear:warning-2`,info:`vuesax-linear:info-circle`};function i(e,t){t.preventDefault(),t.stopPropagation(),n(e)}return(e,n)=>(G(),K(`div`,Lc,[J(_s,{name:`toast`,tag:`div`,class:`toast-container__list`},{default:Bn(()=>[(G(!0),K(W,null,Xr(R(t),e=>(G(),K(`div`,{key:e.id,class:A([`toast`,`toast--${e.tone}`]),role:`status`},[q(`span`,Rc,[J(Mc,{icon:r[e.tone]||`vuesax-linear:info-circle`,size:20,"stroke-width":1.5},null,8,[`icon`])]),q(`p`,zc,j(e.message),1),q(`button`,{type:`button`,class:`toast__close`,"aria-label":`بستن`,onClick:t=>i(e.id,t)},` × `,8,Bc)],2))),128))]),_:1})]))}}),[[`__scopeId`,`data-v-223aafac`]]),Hc=[`aria-label`],Uc={class:`admin-modal__header`},Wc={class:`admin-modal__title`},Gc={class:`admin-modal__body`},Kc={key:0,class:`admin-modal__footer`},qc=jc(xr({__name:`BaseModal`,props:{open:{type:Boolean},title:{},size:{}},emits:[`close`],setup(e,{emit:t}){let n=t;function r(e){e.target===e.currentTarget&&n(`close`)}return(t,i)=>(G(),xa(lr,{to:`body`},[e.open?(G(),K(`div`,{key:0,class:`admin-modal-backdrop`,role:`presentation`,onClick:r},[q(`div`,{class:A([`admin-modal`,{"admin-modal--lg":e.size===`lg`,"admin-modal--xl":e.size===`xl`}]),role:`dialog`,"aria-modal":`true`,"aria-label":e.title,onClick:i[1]||=Vs(()=>{},[`stop`])},[q(`header`,Uc,[q(`h2`,Wc,j(e.title),1),q(`button`,{type:`button`,class:`admin-modal__close`,"aria-label":`بستن`,onClick:i[0]||=e=>n(`close`)},` × `)]),q(`div`,Gc,[Zr(t.$slots,`default`,{},void 0,!0)]),t.$slots.footer?(G(),K(`footer`,Kc,[Zr(t.$slots,`footer`,{},void 0,!0)])):ja(``,!0)],10,Hc)])):ja(``,!0)]))}}),[[`__scopeId`,`data-v-a52d3eeb`]]),Jc=zt({open:!1,loading:!1,title:``,message:``,confirmLabel:`تأیید`,cancelLabel:`انصراف`,tone:`primary`,resolve:null});function Yc(){return Jc}function Xc(e){return new Promise(t=>{Object.assign(Jc,{open:!0,loading:!1,title:e.title,message:e.message,confirmLabel:e.confirmLabel??`تأیید`,cancelLabel:e.cancelLabel??`انصراف`,tone:e.tone??`primary`,resolve:t})})}function Zc(e){Jc.resolve?.(e),Jc.open=!1,Jc.loading=!1,Jc.resolve=null}function Qc(e){Jc.loading=e}var $c={class:`confirm-dialog__message`},el=[`disabled`],tl=[`disabled`],nl={key:0,class:`admin-btn__spinner`,"aria-hidden":`true`},rl=jc(xr({__name:`ConfirmDialog`,setup(e){let t=Yc();function n(){Zc(!1)}function r(){Qc(!0),Zc(!0)}return(e,i)=>(G(),xa(qc,{open:R(t).open,title:R(t).title,size:`md`,onClose:n},{footer:Bn(()=>[q(`button`,{type:`button`,class:`admin-btn admin-btn--outline`,disabled:R(t).loading,onClick:n},j(R(t).cancelLabel),9,el),q(`button`,{type:`button`,class:A([`admin-btn`,R(t).tone===`danger`?`admin-btn--danger`:`admin-btn--primary`]),disabled:R(t).loading,onClick:r},[R(t).loading?(G(),K(`span`,nl)):ja(``,!0),ka(` `+j(R(t).confirmLabel),1)],10,tl)]),default:Bn(()=>[q(`p`,$c,j(R(t).message),1)]),_:1},8,[`open`,`title`]))}}),[[`__scopeId`,`data-v-47354e67`]]),il=xr({__name:`App`,setup(e){return(e,t)=>{let n=Kr(`RouterView`);return G(),K(W,null,[J(n),J(Vc),J(rl)],64)}}});function al(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function ol(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&al(e.default)}var Z=Object.assign;function sl(e,t){let n={};for(let r in t){let i=t[r];n[r]=ll(i)?i.map(e):e(i)}return n}var cl=()=>{},ll=Array.isArray;function ul(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var dl=Symbol(``);function fl(e,t){return Z(Error(),{type:e,[dl]:!0},t)}function pl(e,t){return e instanceof Error&&dl in e&&(t==null||!!(e.type&t))}var ml=Symbol(``),hl=Symbol(``),gl=Symbol(``),_l=Symbol(``),vl=Symbol(``);function yl(){return V(gl)}function bl(e){return V(_l)}var xl=typeof document<`u`,Sl=/#/g,Cl=/&/g,wl=/\//g,Tl=/=/g,El=/\?/g,Dl=/\+/g,Ol=/%5B/g,kl=/%5D/g,Al=/%5E/g,jl=/%60/g,Ml=/%7B/g,Nl=/%7C/g,Pl=/%7D/g,Fl=/%20/g;function Il(e){return e==null?``:encodeURI(``+e).replace(Nl,`|`).replace(Ol,`[`).replace(kl,`]`)}function Ll(e){return Il(e).replace(Ml,`{`).replace(Pl,`}`).replace(Al,`^`)}function Rl(e){return Il(e).replace(Dl,`%2B`).replace(Fl,`+`).replace(Sl,`%23`).replace(Cl,`%26`).replace(jl,"`").replace(Ml,`{`).replace(Pl,`}`).replace(Al,`^`)}function zl(e){return Rl(e).replace(Tl,`%3D`)}function Bl(e){return Il(e).replace(Sl,`%23`).replace(El,`%3F`)}function Vl(e){return Bl(e).replace(wl,`%2F`)}function Hl(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var Ul=/\/$/,Wl=e=>e.replace(Ul,``);function Gl(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=$l(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:Hl(o)}}function Kl(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function ql(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function Jl(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&Yl(t.matched[r],n.matched[i])&&Xl(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Yl(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Xl(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!Zl(e[n],t[n]))return!1;return!0}function Zl(e,t){return ll(e)?Ql(e,t):ll(t)?Ql(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function Ql(e,t){return ll(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function $l(e,t){if(e.startsWith(`/`))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o1&&a--;else break;return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var eu={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0};function tu(e){if(!e)if(xl){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^/]+/,``)}else e=`/`;return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),Wl(e)}var nu=/^[^#]+#/;function ru(e,t){return e.replace(nu,`#`)+t}function iu(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var au=()=>({left:window.scrollX,top:window.scrollY});function ou(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=iu(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function su(e,t){return(history.state?history.state.position-t:-1)+e}var cu=new Map;function lu(e,t){cu.set(e,t)}function uu(e){let t=cu.get(e);return cu.delete(e),t}function du(e){return typeof e==`string`||e&&typeof e==`object`}function fu(e){return typeof e==`string`||typeof e==`symbol`}function pu(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;ee&&Rl(e)):[r&&Rl(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function hu(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=ll(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}function gu(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function _u(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(fl(4,{from:n,to:t})):e instanceof Error?c(e):du(e)?c(fl(2,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function vu(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(!(t!==`beforeRouteEnter`&&!o.instances[e]))if(al(s)){let c=(s.__vccOpts||s)[t];c&&a.push(_u(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=ol(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&_u(c,n,r,o,e,i)()}))}}return a}function yu(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;oYl(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>Yl(e,s))||i.push(s))}return[n,r,i]}var bu=()=>location.protocol+`//`+location.host;function xu(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),ql(n,``)}return ql(n,e)+r+i}function Su(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=xu(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:`pop`,direction:u?u>0?`forward`:`back`:``})})};function c(){o=n.value}function l(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function u(){if(document.visibilityState===`hidden`){let{history:e}=window;if(!e.state)return;e.replaceState(Z({},e.state,{scroll:au()}),``)}}function d(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,s),window.removeEventListener(`pagehide`,u),document.removeEventListener(`visibilitychange`,u)}return window.addEventListener(`popstate`,s),window.addEventListener(`pagehide`,u),document.addEventListener(`visibilitychange`,u),{pauseListeners:c,listen:l,destroy:d}}function Cu(e,t,n,r=!1,i=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:i?au():null}}function wu(e){let{history:t,location:n}=window,r={value:xu(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:bu()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function o(e,n){a(e,Z({},t.state,Cu(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function s(e,n){let o=Z({},i.value,t.state,{forward:e,scroll:au()});a(o.current,o,!0),a(e,Z({},Cu(r.value,e,null),{position:o.position+1},n),!1),r.value=e}return{location:r,state:i,push:s,replace:o}}function Tu(e){e=tu(e);let t=wu(e),n=Su(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=Z({location:``,base:e,go:r,createHref:ru.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}var Eu={type:0,value:``},Du=/[a-zA-Z0-9_]/;function Ou(e){if(!e)return[[]];if(e===`/`)return[[Eu]];if(!e.startsWith(`/`))throw Error(`Invalid path "${e}"`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=0,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===0?a.push({type:0,value:l}):n===1||n===2||n===3?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:1,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;st.length?t.length===1&&t[0]===80?1:-1:0}function Pu(e,t){let n=0,r=e.score,i=t.score;for(;n0&&t[t.length-1]<0}var Iu={strict:!1,end:!0,sensitive:!1};function Lu(e,t,n){let r=Z(Mu(Ou(e.path),n),{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function Ru(e,t){let n=[],r=new Map;t=ul(Iu,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=Bu(e);s.aliasOf=r&&r.record;let l=ul(t,e),u=[s];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)u.push(Bu(Z({},s,{components:r?r.record.components:s.components,path:e,aliasOf:r?r.record:s})))}let d,f;for(let t of u){let{path:u}=t;if(n&&u[0]!==`/`){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=Lu(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!Hu(d)&&o(e.name)),Ku(d)&&c(d),s.children){let e=s.children;for(let t=0;t{o(f)}:cl}function o(e){if(fu(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(){return n}function c(e){let t=Wu(e,n);n.splice(t,0,e),e.record.name&&!Hu(e)&&r.set(e.record.name,e)}function l(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw fl(1,{location:e});s=i.record.name,a=Z(zu(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&zu(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name,i.keys.forEach(e=>{e.optional&&!a[e.name]&&delete a[e.name]}));else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw fl(1,{location:e,currentLocation:t});s=i.record.name,a=Z({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:Uu(c)}}e.forEach(e=>a(e));function u(){n.length=0,r.clear()}return{addRoute:a,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:s,getRecordMatcher:i}}function zu(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function Bu(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Vu(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:`components`in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Vu(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function Hu(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Uu(e){return e.reduce((e,t)=>Z(e,t.meta),{})}function Wu(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;Pu(e,t[i])<0?r=i:n=i+1}let i=Gu(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function Gu(e){let t=e;for(;t=t.parent;)if(Ku(t)&&Pu(e,t)===0)return t}function Ku({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function qu(e){let t=V(gl),n=V(_l),r=X(()=>{let n=R(e.to);return t.resolve(n)}),i=X(()=>{let{matched:e}=r.value,{length:t}=e,i=e[t-1],a=n.matched;if(!i||!a.length)return-1;let o=a.findIndex(Yl.bind(null,i));if(o>-1)return o;let s=Qu(e[t-2]);return t>1&&Qu(i)===s&&a[a.length-1].path!==s?a.findIndex(Yl.bind(null,e[t-2])):o}),a=X(()=>i.value>-1&&Zu(n.params,r.value.params)),o=X(()=>i.value>-1&&i.value===n.matched.length-1&&Xl(n.params,r.value.params));function s(n={}){if(Xu(n)){let n=t[R(e.replace)?`replace`:`push`](R(e.to)).catch(cl);return e.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>n),n}return Promise.resolve()}return{route:r,href:X(()=>r.value.href),isActive:a,isExactActive:o,navigate:s}}function Ju(e){return e.length===1?e[0]:e}var Yu=xr({name:`RouterLink`,compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:`page`},viewTransition:Boolean},useLink:qu,setup(e,{slots:t}){let n=zt(qu(e)),{options:r}=V(gl),i=X(()=>({[$u(e.activeClass,r.linkActiveClass,`router-link-active`)]:n.isActive,[$u(e.exactActiveClass,r.linkExactActiveClass,`router-link-exact-active`)]:n.isExactActive}));return()=>{let r=t.default&&Ju(t.default(n));return e.custom?r:io(`a`,{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},r)}}});function Xu(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&(e.button===void 0||e.button===0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Zu(e,t){for(let n in t){let r=t[n],i=e[n];if(typeof r==`string`){if(r!==i)return!1}else if(!ll(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}return!0}function Qu(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var $u=(e,t,n)=>e??t??n,ed=xr({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){let r=V(vl),i=X(()=>e.route||r.value),a=V(hl,0),o=X(()=>{let e=R(a),{matched:t}=i.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),s=X(()=>i.value.matched[o.value]);Un(hl,X(()=>o.value+1)),Un(ml,s),Un(vl,i);let c=L();return Jn(()=>[c.value,s.value,e.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!Yl(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let r=i.value,a=e.name,o=s.value,l=o&&o.components[a];if(!l)return td(n.default,{Component:l,route:r});let u=o.props[a],d=io(l,Z({},u?u===!0?r.params:typeof u==`function`?u(r):u:null,t,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(o.instances[a]=null)},ref:c}));return td(n.default,{Component:d,route:r})||d}}});function td(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var nd=ed;function rd(e){let t=Ru(e.routes,e),n=e.parseQuery||pu,r=e.stringifyQuery||mu,i=e.history,a=gu(),o=gu(),s=gu(),c=Zt(eu),l=eu;xl&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let u=sl.bind(null,e=>``+e),d=sl.bind(null,Vl),f=sl.bind(null,Hl);function p(e,n){let r,i;return fu(e)?(r=t.getRecordMatcher(e),i=n):i=e,t.addRoute(i,r)}function m(e){let n=t.getRecordMatcher(e);n&&t.removeRoute(n)}function h(){return t.getRoutes().map(e=>e.record)}function g(e){return!!t.getRecordMatcher(e)}function _(e,a){if(a=Z({},a||c.value),typeof e==`string`){let r=Gl(n,e,a.path),o=t.resolve({path:r.path},a),s=i.createHref(r.fullPath);return Z(r,o,{params:f(o.params),redirectedFrom:void 0,href:s})}let o;if(e.path!=null)o=Z({},e,{path:Gl(n,e.path,a.path).path});else{let t=Z({},e.params);for(let e in t)t[e]??delete t[e];o=Z({},e,{params:d(t)}),a.params=d(a.params)}let s=t.resolve(o,a),l=e.hash||``;s.params=u(f(s.params));let p=Kl(r,Z({},e,{hash:Ll(l),path:s.path})),m=i.createHref(p);return Z({fullPath:p,hash:l,query:r===mu?hu(e.query):e.query||{}},s,{redirectedFrom:void 0,href:m})}function v(e){return typeof e==`string`?Gl(n,e,c.value.path):Z({},e)}function y(e,t){if(l!==e)return fl(8,{from:t,to:e})}function b(e){return C(e)}function x(e){return b(Z(v(e),{replace:!0}))}function S(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;return typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=v(i):{path:i},i.params={}),Z({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function C(e,t){let n=l=_(e),i=c.value,a=e.state,o=e.force,s=e.replace===!0,u=S(n,i);if(u)return C(Z(v(u),{state:typeof u==`object`?Z({},a,u.state):a,force:o,replace:s}),t||n);let d=n;d.redirectedFrom=t;let f;return!o&&Jl(r,i,n)&&(f=fl(16,{to:d,from:i}),se(i,i,!0,!1)),(f?Promise.resolve(f):ee(d,i)).catch(e=>pl(e)?pl(e,2)?e:oe(e):ae(e,d,i)).then(e=>{if(e){if(pl(e,2))return C(Z({replace:s},v(e.to),{state:typeof e.to==`object`?Z({},a,e.to.state):a,force:o}),t||d)}else e=E(d,i,!0,s,a);return te(d,i,e),e})}function w(e,t){let n=y(e,t);return n?Promise.reject(n):Promise.resolve()}function T(e){let t=ue.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function ee(e,t){let n,[r,i,s]=yu(e,t);n=vu(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push(_u(r,e,t))});let c=w.bind(null,e,t);return n.push(c),fe(n).then(()=>{n=[];for(let r of a.list())n.push(_u(r,e,t));return n.push(c),fe(n)}).then(()=>{n=vu(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push(_u(r,e,t))});return n.push(c),fe(n)}).then(()=>{n=[];for(let r of s)if(r.beforeEnter)if(ll(r.beforeEnter))for(let i of r.beforeEnter)n.push(_u(i,e,t));else n.push(_u(r.beforeEnter,e,t));return n.push(c),fe(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=vu(s,`beforeRouteEnter`,e,t,T),n.push(c),fe(n))).then(()=>{n=[];for(let r of o.list())n.push(_u(r,e,t));return n.push(c),fe(n)}).catch(e=>pl(e,8)?e:Promise.reject(e))}function te(e,t,n){s.list().forEach(r=>T(()=>r(e,t,n)))}function E(e,t,n,r,a){let o=y(e,t);if(o)return o;let s=t===eu,l=xl?history.state:{};n&&(r||s?i.replace(e.fullPath,Z({scroll:s&&l&&l.scroll},a)):i.push(e.fullPath,a)),c.value=e,se(e,t,n,s),oe()}let ne;function D(){ne||=i.listen((e,t,n)=>{if(!de.listening)return;let r=_(e),a=S(r,de.currentRoute.value);if(a){C(Z(a,{replace:!0,force:!0}),r).catch(cl);return}l=r;let o=c.value;xl&&lu(su(o.fullPath,n.delta),au()),ee(r,o).catch(e=>pl(e,12)?e:pl(e,2)?(C(Z(v(e.to),{force:!0}),r).then(e=>{pl(e,20)&&!n.delta&&n.type===`pop`&&i.go(-1,!1)}).catch(cl),Promise.reject()):(n.delta&&i.go(-n.delta,!1),ae(e,r,o))).then(e=>{e||=E(r,o,!1),e&&(n.delta&&!pl(e,8)?i.go(-n.delta,!1):n.type===`pop`&&pl(e,20)&&i.go(-1,!1)),te(r,o,e)}).catch(cl)})}let re=gu(),ie=gu(),O;function ae(e,t,n){oe(e);let r=ie.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function k(){return O&&c.value!==eu?Promise.resolve():new Promise((e,t)=>{re.add([e,t])})}function oe(e){return O||(O=!e,D(),re.list().forEach(([t,n])=>e?n(e):t()),re.reset()),e}function se(t,n,r,i){let{scrollBehavior:a}=e;if(!xl||!a)return Promise.resolve();let o=!r&&uu(su(t.fullPath,0))||(i||!r)&&history.state&&history.state.scroll||null;return kn().then(()=>a(t,n,o)).then(e=>t===c.value&&e&&ou(e)).catch(e=>t===c.value&&ae(e,t,n))}let ce=e=>i.go(e),le,ue=new Set,de={currentRoute:c,listening:!0,addRoute:p,removeRoute:m,clearRoutes:t.clearRoutes,hasRoute:g,getRoutes:h,resolve:_,options:e,push:b,replace:x,go:ce,back:()=>ce(-1),forward:()=>ce(1),beforeEach:a.add,beforeResolve:o.add,afterEach:s.add,onError:ie.add,isReady:k,install(e){e.component(`RouterLink`,Yu),e.component(`RouterView`,nd),e.config.globalProperties.$router=de,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>R(c)}),xl&&!le&&c.value===eu&&(le=!0,b(i.location).catch(e=>{}));let t={};for(let e in eu)Object.defineProperty(t,e,{get:()=>c.value[e],enumerable:!0});e.provide(gl,de),e.provide(_l,Bt(t)),e.provide(vl,c);let n=e.unmount;ue.add(e),e.unmount=function(){ue.delete(e),ue.size<1&&(l=eu,ne&&ne(),ne=null,c.value=eu,le=!1,O=!1),n()}}};function fe(e){return e.reduce((e,t)=>e.then(()=>T(t)),Promise.resolve())}return de}var id=[{name:`dashboard`,label:`داشبورد`,path:`/`,icon:`home`},{name:`orders`,label:`سفارش‌ها`,path:`/orders`,icon:`orders`},{name:`customers`,label:`مشتریان`,path:`/customers`,icon:`customers`},{name:`products`,label:`محصولات`,path:`/products`,icon:`products`},{name:`catalogs`,label:`کالیته‌ها`,path:`/catalogs`,icon:`catalogs`},{name:`companies`,label:`شرکت‌ها`,path:`/companies`,icon:`companies`},{name:`checks`,label:`چک‌ها`,path:`/checks`,icon:`checks`},{name:`cash-payments`,label:`پرداخت‌های نقدی`,path:`/cash-payments`,icon:`cash`},{name:`shipping`,label:`ارسال و باربری`,path:`/shipping`,icon:`shipping`},{name:`reports`,label:`گزارش‌ها`,path:`/reports`,icon:`reports`},{name:`settings`,label:`تنظیمات`,path:`/settings`,icon:`settings`},{name:`users`,label:`کاربران و دسترسی‌ها`,path:`/users`,icon:`users`}];function ad(e,t){if(e===`/`)return t===`/`;if(/^\/orders\/[^/]+\/checks/.test(t)){if(e===`/checks`)return!0;if(e===`/orders`)return!1}return t===e||t.startsWith(`${e}/`)}var od=xr({__name:`AdminIcon`,props:{name:{},size:{default:20},strokeWidth:{default:1.5},color:{default:null}},setup(e){let t=e,n={home:`vuesax-linear:home`,orders:`vuesax-linear:document-text`,customers:`vuesax-linear:profile-2user`,products:`vuesax-linear:box-1`,catalogs:`vuesax-linear:category`,companies:`vuesax-linear:buildings`,checks:`vuesax-linear:card-receive`,cash:`vuesax-linear:money-4`,shipping:`vuesax-linear:truck-time`,reports:`vuesax-linear:chart-2`,settings:`vuesax-linear:setting-2`,users:`vuesax-linear:people`,logout:`vuesax-linear:logout`,search:`vuesax-linear:search-normal`,bell:`vuesax-linear:notification`,message:`vuesax-linear:message`,calendar:`vuesax-linear:calendar`,menu:`vuesax-linear:menu`,filter:`vuesax-linear:filter`,more:`vuesax-linear:more`,"chevron-left":`vuesax-linear:arrow-left-1`,"chevron-right":`vuesax-linear:arrow-right-1`,"chevron-back":`vuesax-linear:arrow-right-1`,"chevron-down":`vuesax-linear:arrow-down`,print:`vuesax-linear:printer`,sms:`vuesax-linear:sms`,check:`vuesax-linear:tick-circle`,cart:`vuesax-linear:bag-2`,file:`vuesax-linear:document-text`,wallet:`vuesax-linear:wallet`,"check-circle":`vuesax-linear:tick-circle`,phone:`vuesax-linear:call`,"id-card":`vuesax-linear:personalcard`,lock:`vuesax-linear:lock`,eye:`vuesax-linear:eye`,"eye-off":`vuesax-linear:eye-slash`,user:`vuesax-linear:profile-circle`,building:`vuesax-linear:building`,trash:`vuesax-linear:trash`},r=X(()=>t.name.startsWith(`vuesax-linear:`)?t.name:n[t.name]??`vuesax-linear:info-circle`);return(t,n)=>(G(),xa(Mc,{icon:r.value,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`icon`,`size`,`stroke-width`,`color`]))}}),sd=`fabric-admin-token`;function cd(){return`https://parche.montest.ir/server/api`.replace(/\/$/,``)||`https://parche.montest.ir/server/api`}function ld(){return localStorage.getItem(sd)??sessionStorage.getItem(sd)}function ud(e,t=!0){localStorage.removeItem(sd),sessionStorage.removeItem(sd),e&&(t?localStorage.setItem(sd,e):sessionStorage.setItem(sd,e))}var dd=class extends Error{status;constructor(e,t){super(t),this.status=e}};function fd(e,t){let n=cd(),r=e.startsWith(`http`)?e:`${n.replace(/\/$/,``)}/${e.replace(/^\//,``)}`,i=r.startsWith(`http`)?new URL(r):new URL(r,typeof window<`u`?window.location.origin:`http://127.0.0.1`);if(t)for(let[e,n]of Object.entries(t))n!=null&&n!==``&&i.searchParams.set(e,String(n));return i.toString()}function pd(e,t){if(typeof e==`object`&&e&&`message`in e){let t=e.message;return Array.isArray(t)?t.join(`، `):String(t)}if(typeof e==`string`){if(/upstream error/i.test(e))return`سرور API در دسترس نیست. کمی بعد دوباره تلاش کنید.`;if(e.trim()&&!e.trimStart().startsWith(`<`))return e.trim().slice(0,200)}return`خطای سرور (${t})`}async function Q(e,t={}){let n={Accept:`application/json`};if(t.body!==void 0&&(n[`Content-Type`]=`application/json`),t.auth!==!1){let e=ld();e&&(n.Authorization=`Bearer ${e}`)}let r;try{r=await fetch(fd(e,t.query),{method:t.method??(t.body===void 0?`GET`:`POST`),headers:n,body:t.body===void 0?void 0:JSON.stringify(t.body),signal:AbortSignal.timeout(2e4)})}catch(e){throw new dd(0,e instanceof DOMException&&e.name===`TimeoutError`||e instanceof Error&&e.name===`TimeoutError`?`پاسخ سرور طول کشید. دوباره تلاش کنید.`:`اتصال به سرور برقرار نشد. اینترنت یا آدرس API را بررسی کنید.`)}let i=await r.text(),a=null;if(i)try{a=JSON.parse(i)}catch{a=i}if(!r.ok)throw new dd(r.status,pd(a,r.status));return a}var md=`fabric-admin-session`,hd=`fabric-admin-token`;function gd(){try{let e=localStorage.getItem(md)??sessionStorage.getItem(md);return e?JSON.parse(e):null}catch{return null}}function _d(e,t){let n=JSON.stringify(e);localStorage.removeItem(md),sessionStorage.removeItem(md),t?localStorage.setItem(md,n):sessionStorage.setItem(md,n)}function vd(){localStorage.removeItem(md),sessionStorage.removeItem(md)}function yd(){return!!localStorage.getItem(hd)}function bd(e){return{id:e.id,fullName:e.fullName,phone:e.phone,email:e.email,role:e.role}}function xd(){return gd()}async function Sd(e){let t=e.phone.trim(),n=e.password;if(!t||!n)return{success:!1,message:`شماره موبایل و رمز عبور الزامی است.`};try{let r=await Q(`/admin/auth/login`,{method:`POST`,body:{phone:t,password:n},auth:!1});return ud(r.accessToken,e.remember),_d(bd(r.user),e.remember),{success:!0}}catch(e){return e instanceof dd?{success:!1,message:e.message}:{success:!1,message:`ورود انجام نشد.`}}}async function Cd(){if(!ld())return gd();try{let e=bd(await Q(`/auth/me`));return _d(e,yd()),e}catch{return gd()}}function wd(){ud(null),vd()}var Td=Dc(`auth`,()=>{let e=L(xd()),t=L(!1),n=L(null),r=X(()=>!!e.value),i=X(()=>e.value?.fullName??``),a=X(()=>e.value?{admin:`مدیر سیستم`,sales:`واحد فروش`,finance:`واحد مالی`,warehouse:`انبار`}[e.value.role]:``);function o(){n.value=null}function s(){e.value=xd(),Cd().then(t=>{t&&(e.value=t)})}async function c(r,i,a){t.value=!0,n.value=null;let o=await Sd({phone:r,password:i,remember:a});return t.value=!1,o.success?(e.value=xd(),!0):(n.value=o.message??`ورود انجام نشد.`,!1)}function l(){wd(),e.value=null,n.value=null}return{session:e,loading:t,error:n,isAuthenticated:r,fullName:i,roleLabel:a,clearError:o,hydrate:s,login:c,logout:l}}),Ed={class:`admin-sidebar`,"aria-label":`ناوبری پنل مدیریت`},Dd={class:`admin-sidebar__nav`},Od=[`onClick`],kd=jc(xr({__name:`AdminSidebar`,setup(e){let t=bl(),n=yl(),r=Td();function i(e){n.push(e)}function a(){r.logout(),n.push(`/login`)}return(e,n)=>(G(),K(`aside`,Ed,[n[1]||=q(`div`,{class:`admin-sidebar__brand`},[q(`strong`,{class:`admin-sidebar__title`},`پارچه`),q(`span`,{class:`admin-sidebar__subtitle`},`پنل مدیریت`)],-1),q(`nav`,Dd,[(G(!0),K(W,null,Xr(R(id),e=>(G(),K(`button`,{key:e.name,type:`button`,class:A([`admin-sidebar__item`,{active:R(ad)(e.path,R(t).path)}]),onClick:t=>i(e.path)},[J(od,{name:e.icon,size:20},null,8,[`name`]),q(`span`,null,j(e.label),1)],10,Od))),128))]),q(`button`,{type:`button`,class:`admin-sidebar__logout`,onClick:a},[J(od,{name:`logout`,size:20}),n[0]||=q(`span`,null,`خروج`,-1)])]))}}),[[`__scopeId`,`data-v-bcc6586c`]]),Ad=new WeakMap,jd=(...e)=>{let t=e[0],n=Ba()?.proxy??De();if(n==null&&!Wn())throw Error(`injectLocal must be called in setup`);return n&&Ad.has(n)&&t in Ad.get(n)?Ad.get(n)[t]:V(...e)},Md=typeof window<`u`&&typeof document<`u`;typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope;var Nd=Object.prototype.toString,Pd=e=>Nd.call(e)===`[object Object]`,Fd=()=>{},Id=Ld();function Ld(){var e,t;return Md&&!!((e=window)!=null&&(e=e.navigator)!=null&&e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window)==null||(t=t.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window?.navigator.userAgent))}function Rd(...e){if(e.length!==1)return ln(...e);let t=e[0];return typeof t==`function`?Vt(an(()=>({get:t,set:Fd}))):L(t)}function zd(e,t){function n(...n){return new Promise((r,i)=>{Promise.resolve(e(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(r).catch(i)})}return`cancel`in e&&Object.assign(n,{cancel:e.cancel,flush:e.flush,isPending:e.isPending}),n}var Bd=e=>e();function Vd(e=Bd,t={}){let{initialState:n=`active`}=t,r=Rd(n===`active`);function i(){r.value=!1}function a(){r.value=!0}return{isActive:Ht(r),pause:i,resume:a,eventFilter:(...t)=>{r.value&&e(...t)}}}function Hd(e){return e.endsWith(`rem`)?Number.parseFloat(e)*16:Number.parseFloat(e)}function Ud(e){return Array.isArray(e)?e:[e]}function Wd(e){return e||Ba()}function Gd(e,t,n={}){let{eventFilter:r=Bd,...i}=n;return Jn(e,zd(r,t),i)}function Kd(e,t,n={}){let{eventFilter:r,initialState:i=`active`,...a}=n,{eventFilter:o,pause:s,resume:c,isActive:l}=Vd(r,{initialState:i});return{stop:Gd(e,t,{...a,eventFilter:o}),pause:s,resume:c,isActive:l}}function qd(e,t=!0,n){Wd(n)?Ir(e,n):t?e():kn(e)}function Jd(e,t,n){return Jn(e,t,{...n,immediate:!0})}var Yd=Md?window:void 0;Md&&window.document,Md&&window.navigator,Md&&window.location;function Xd(e){let t=en(e);return t?.$el??t}function Zd(...e){let t=(e,t,n,r)=>(e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)),n=X(()=>{let t=Ud(en(e[0])).filter(e=>e!=null);return t.every(e=>typeof e!=`string`)?t:void 0});return Jd(()=>[n.value?.map(e=>Xd(e))??[Yd].filter(e=>e!=null),Ud(en(n.value?e[1]:e[0])),Ud(R(n.value?e[2]:e[1])),en(n.value?e[3]:e[2])],([e,n,r,i],a,o)=>{if(!e?.length||!n?.length||!r?.length)return;let s=Pd(i)?{...i}:i,c=e.flatMap(e=>n.flatMap(n=>r.map(r=>t(e,n,r,s))));o(()=>{c.forEach(e=>e())})},{flush:`post`})}var Qd=!1;function $d(e,t,n={}){let{window:r=Yd,ignore:i=[],capture:a=!0,detectIframe:o=!1,controls:s=!1}=n;if(!r)return s?{stop:Fd,cancel:Fd,trigger:Fd}:Fd;if(Id&&!Qd){Qd=!0;let e={passive:!0};Array.from(r.document.body.children).forEach(t=>t.addEventListener(`click`,Fd,e)),r.document.documentElement.addEventListener(`click`,Fd,e)}let c=!0,l=e=>en(i).some(t=>{if(typeof t==`string`)return Array.from(r.document.querySelectorAll(t)).some(t=>t===e.target||e.composedPath().includes(t));{let n=Xd(t);return n&&(e.target===n||e.composedPath().includes(n))}});function u(e){let t=en(e);return t&&t.$.subTree.shapeFlag===16}function d(e,t){let n=en(e),r=n.$.subTree&&n.$.subTree.children;return r==null||!Array.isArray(r)?!1:r.some(e=>e.el===t.target||t.composedPath().includes(e.el))}let f=n=>{let r=Xd(e);if(n.target!=null&&!(!(r instanceof Element)&&u(e)&&d(e,n))&&!(!r||r===n.target||n.composedPath().includes(r))){if(`detail`in n&&n.detail===0&&(c=!l(n)),!c){c=!0;return}t(n)}},p=!1,m=[Zd(r,`click`,e=>{p||(p=!0,setTimeout(()=>{p=!1},0),f(e))},{passive:!0,capture:a}),Zd(r,`pointerdown`,t=>{let n=Xd(e);c=!l(t)&&!!(n&&!t.composedPath().includes(n))},{passive:!0}),o&&Zd(r,`blur`,n=>{setTimeout(()=>{let i=Xd(e),a=r.document.activeElement;for(;a?.shadowRoot;)a=a.shadowRoot.activeElement;a?.tagName===`IFRAME`&&!i?.contains(r.document.activeElement)&&t(n)},0)},{passive:!0})].filter(Boolean),h=()=>m.forEach(e=>e());return s?{stop:h,cancel:()=>{c=!1},trigger:e=>{c=!0,f(e),c=!1}}:h}function ef(){let e=Zt(!1),t=Ba();return t&&Ir(()=>{e.value=!0},t),e}function tf(e){let t=ef();return X(()=>(t.value,!!e()))}var nf=Symbol(`vueuse-ssr-width`);function rf(){let e=Wn()?jd(nf,null):null;return typeof e==`number`?e:void 0}function af(e,t={}){let{window:n=Yd,ssrWidth:r=rf()}=t,i=tf(()=>n&&`matchMedia`in n&&typeof n.matchMedia==`function`),a=Zt(typeof r==`number`),o=Zt(),s=Zt(!1);return qn(()=>{if(a.value){a.value=!i.value;let t=en(e).split(`,`);s.value=t.some(e=>{let t=e.includes(`not all`),n=e.match(/\(\s*min-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),i=e.match(/\(\s*max-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),a=!!(n||i);return n&&a&&(a=r>=Hd(n[1])),i&&a&&(a=r<=Hd(i[1])),t?!a:a});return}i.value&&(o.value=n.matchMedia(en(e)),s.value=o.value.matches)}),Zd(o,`change`,e=>{s.value=e.matches},{passive:!0}),X(()=>s.value)}var of=typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:{},sf=`__vueuse_ssr_handlers__`,cf=lf();function lf(){return sf in of||(of[sf]=of[sf]||{}),of[sf]}function uf(e,t){return cf[e]||t}function df(e){return af(`(prefers-color-scheme: dark)`,e)}function ff(e){return e==null?`any`:e instanceof Set?`set`:e instanceof Map?`map`:e instanceof Date?`date`:typeof e==`boolean`?`boolean`:typeof e==`string`?`string`:typeof e==`object`?`object`:Number.isNaN(e)?`any`:`number`}var pf={boolean:{read:e=>e===`true`,write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},mf=`vueuse-storage`;function hf(e,t,n,r={}){let{flush:i=`pre`,deep:a=!0,listenToStorageChanges:o=!0,writeDefaults:s=!0,mergeDefaults:c=!1,shallow:l,window:u=Yd,eventFilter:d,onError:f=e=>{console.error(e)},initOnMounted:p}=r,m=(l?Zt:L)(typeof t==`function`?t():t),h=X(()=>en(e));if(!n)try{n=uf(`getDefaultStorage`,()=>Yd?.localStorage)()}catch(e){f(e)}if(!n)return m;let g=en(t),_=ff(g),v=r.serializer??pf[_],{pause:y,resume:b}=Kd(m,e=>C(e),{flush:i,deep:a,eventFilter:d});Jn(h,()=>T(),{flush:i});let x=!1;u&&o&&(n instanceof Storage?Zd(u,`storage`,e=>{p&&!x||T(e)},{passive:!0}):Zd(u,mf,e=>{p&&!x||ee(e)})),p?qd(()=>{x=!0,T()}):T();function S(e,t){if(u){let r={key:h.value,oldValue:e,newValue:t,storageArea:n};u.dispatchEvent(n instanceof Storage?new StorageEvent(`storage`,r):new CustomEvent(mf,{detail:r}))}}function C(e){try{let t=n.getItem(h.value);if(e==null)S(t,null),n.removeItem(h.value);else{let r=v.write(e);t!==r&&(n.setItem(h.value,r),S(t,r))}}catch(e){f(e)}}function w(e){let t=e?e.newValue:n.getItem(h.value);if(t==null)return s&&g!=null&&n.setItem(h.value,v.write(g)),g;if(!e&&c){let e=v.read(t);return typeof c==`function`?c(e,g):_===`object`&&!Array.isArray(e)?{...g,...e}:e}return typeof t==`string`?v.read(t):t}function T(e){if(!(e&&e.storageArea!==n)){if(e&&e.key==null){m.value=g;return}if(!(e&&e.key!==h.value)){y();try{let t=v.write(m.value);(e===void 0||e?.newValue!==t)&&(m.value=w(e))}catch(e){f(e)}finally{e?kn(b):b()}}}}function ee(e){T(e.detail)}return m}function gf(e){return{...e,status:e.adminStatus??e.status,rawStatus:e.status,allowedTransitions:e.allowedTransitions??[],settlementMethod:e.settlementMethod??e.settlementType??null,meterage:e.meterage??e.totalMeterage??0}}function _f(e){return e.trim().toLowerCase().replace(/\s+/g,`-`).replace(/[^a-z0-9-]/g,``).replace(/-+/g,`-`).replace(/^-|-$/g,``)||`c-${Date.now()}`}var vf={list:e=>Q(`/companies`,{query:{activeOnly:e?`true`:void 0}}),get:e=>Q(`/companies/${e}`),create:e=>Q(`/companies`,{body:e}),update:(e,t)=>Q(`/companies/${e}`,{method:`PATCH`,body:t}),setActive:(e,t)=>Q(`/companies/${e}/active`,{method:`PATCH`,body:{isActive:t}})},yf={listByCompany:e=>Q(`/companies/${e}/bank-accounts`),create:(e,t)=>Q(`/companies/${e}/bank-accounts`,{body:t}),update:(e,t)=>Q(`/bank-accounts/${e}`,{method:`PATCH`,body:t}),setActive:(e,t)=>Q(`/bank-accounts/${e}/active`,{method:`PATCH`,body:{isActive:t}})},bf={list:e=>Q(`/catalogs`,{query:{companyId:e?.companyId,activeOnly:e?.activeOnly?`true`:void 0}}),create:e=>Q(`/catalogs`,{body:e}),update:(e,t)=>Q(`/catalogs/${e}`,{method:`PATCH`,body:t}),setActive:(e,t)=>Q(`/catalogs/${e}/active`,{method:`PATCH`,body:{isActive:t}})},xf={list:e=>Q(`/products`,{query:{catalogId:e?.catalogId,companyId:e?.companyId,activeOnly:e?.activeOnly?`true`:void 0}}),create:e=>Q(`/products`,{body:e}),update:(e,t)=>Q(`/products/${e}`,{method:`PATCH`,body:t}),setActive:(e,t)=>Q(`/products/${e}/active`,{method:`PATCH`,body:{isActive:t}})},Sf={list:e=>Q(`/admin/customers`,{query:{q:e}}),create:e=>Q(`/admin/customers`,{body:e}),update:(e,t)=>Q(`/admin/customers/${e}`,{method:`PATCH`,body:t}),setActive:(e,t)=>Q(`/admin/customers/${e}/active`,{method:`PATCH`,body:{isActive:t}})},Cf={list:e=>Q(`/admin/orders`,{query:{status:e?.status,q:e?.q}}),get:e=>Q(`/admin/orders/${e}`),create:e=>Q(`/admin/orders`,{body:e}),updatePricing:(e,t)=>Q(`/admin/orders/${e}/pricing`,{method:`PATCH`,body:t}),updateStatus:(e,t)=>Q(`/admin/orders/${e}/status`,{method:`PATCH`,body:t})},wf={list:e=>Q(`/admin/checks`,{query:{status:e}}),listByOrder:e=>Q(`/admin/orders/${e}/checks`),updateStatus:(e,t)=>Q(`/admin/checks/${e}/status`,{method:`PATCH`,body:t})},Tf={list:e=>Q(`/admin/cash-payments`,{query:{status:e}}),updateStatus:(e,t)=>Q(`/admin/cash-payments/${e}/status`,{method:`PATCH`,body:t})},Ef={list:e=>Q(`/admin/shipments`,{query:{status:e}}),create:e=>Q(`/admin/shipments`,{body:e}),update:(e,t)=>Q(`/admin/shipments/${e}`,{method:`PATCH`,body:t}),advanceStatus:(e,t)=>Q(`/admin/shipments/${e}/status`,{method:`PATCH`,body:t??{}})},Df={list:()=>Q(`/admin/users`),create:e=>Q(`/admin/users`,{body:e}),update:(e,t)=>Q(`/admin/users/${e}`,{method:`PATCH`,body:t}),setActive:(e,t)=>Q(`/admin/users/${e}/active`,{method:`PATCH`,body:{isActive:t}})},Of={get:()=>Q(`/admin/dashboard`),reports:()=>Q(`/admin/reports`)},kf={get:()=>Q(`/admin/settings`),update:e=>Q(`/admin/settings`,{method:`PATCH`,body:e})},Af={markRead:e=>Q(`/admin/notifications/${e}/read`,{method:`PATCH`}),markAllRead:()=>Q(`/admin/notifications/read-all`,{method:`PATCH`})},jf=`۰۱۲۳۴۵۶۷۸۹`,Mf=new Intl.NumberFormat(`fa-IR`,{useGrouping:!0});function Nf(e){return e.replace(/[۰-۹]/g,e=>String(jf.indexOf(e)))}function Pf(e){return Nf(e).replace(/[^\d]/g,``)}function Ff(e){return Number.isFinite(e)?Mf.format(e):`—`}function If(e){return`${Ff(e)} تومان`}function Lf(e){return`${Ff(e)} متر`}function Rf(e){return String(e).replace(/\d/g,e=>jf[Number(e)])}var zf=new Intl.DateTimeFormat(`fa-IR-u-ca-persian`,{year:`numeric`,month:`2-digit`,day:`2-digit`}),Bf=new Intl.DateTimeFormat(`fa-IR-u-ca-persian`,{year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`});function Vf(e){let t=Nf(e.trim()).replace(/-/g,`/`).match(/^(\d{4})\/(\d{1,2})\/(\d{1,2})/);if(!t)return!1;let n=Number(t[1]);return n>=1300&&n<=1500}function Hf(e){if(typeof e!=`string`)return e;let t=e.trim(),n=t.match(/^(\d{4})-(\d{2})-(\d{2})$/);if(n&&Number(n[1])>=1700)return new Date(Number(n[1]),Number(n[2])-1,Number(n[3]));let r=new Date(t);return Number.isNaN(r.getTime())?new Date(NaN):r}function Uf(e){if(!e)return`—`;if(typeof e==`string`&&Vf(e)){let t=Nf(e.trim()).replace(/-/g,`/`),n=t.match(/^(\d{4})\/(\d{1,2})\/(\d{1,2})/);if(!n)return Rf(t);let[,r,i,a]=n;return Rf(`${r}/${i.padStart(2,`0`)}/${a.padStart(2,`0`)}`)}let t=Hf(e);return Number.isNaN(t.getTime())?`—`:zf.format(t)}function Wf(e){if(!e)return`—`;if(typeof e==`string`&&Vf(e)&&!/[T\s]\d/.test(e))return Uf(e);let t=Hf(e);return Number.isNaN(t.getTime())?`—`:Bf.format(t)}var Gf=/ORD-?\d{2,4}-?\d{2,6}/i,Kf=/^\/?(?:admin\/)?orders\/([^/?#]+)\/?$/i,qf=/^\/?(?:admin\/)?orders\/([^/?#]+)\/(pricing|checks)\/?$/i;function Jf(e){let t=e.match(Gf);if(!t?.[0])return null;let n=t[0].toUpperCase().replace(/^ORD-?/,``).replace(/-/g,``);return n.length<6?t[0].toUpperCase():`ORD-${n.slice(0,4)}-${n.slice(4)}`}function Yf(e,t){return t.some(t=>t.test(e))}function Xf(e){let t=e.trim();if(!t)return t;try{if(/^https?:\/\//i.test(t)){let e=new URL(t);t=`${e.pathname}${e.search}`}}catch{}t=t.replace(/^\/admin(?=\/)/,``),t.startsWith(`/`)||(t=`/${t}`);let n=t.match(qf);if(n?.[1]&&n[2])return`/orders/${n[1]}/${n[2]}`;let r=t.match(Kf);return r?.[1]?`/orders?order=${encodeURIComponent(r[1])}`:t}function Zf(e){let t=e.link?.trim();if(t)return Xf(t);let n=`${e.title?.trim()??``} ${e.body?.trim()??``}`,r=e.orderId?.trim()||null,i=Jf(n),a=Yf(n,[/پیامک/]),o=Yf(n,[/چک/]),s=Yf(n,[/قیمت/,/تخفیف/,/پیش[‌\s]?فاکتور/,/قیمت‌گذاری/,/اصلاح قیمت/]),c=!a&&Yf(n,[/ارسال/,/باربری/,/حمل/,/بارنامه/]),l=Yf(n,[/نقدی/,/پرداخت نقد/,/رسید پرداخت/]),u=Yf(n,[/گزارش/]),d=Yf(n,[/مشتری جدید/,/ثبت مشتری/]),f=Yf(n,[/کالیته/]),p=Yf(n,[/محصول/]),m=Yf(n,[/شرکت/,/حساب بانکی/]),h=Yf(n,[/سفارش/]),g=a||Yf(n,[/پشتیبان/,/تنظیمات/]);return r?o?`/orders/${r}/checks`:s?`/orders/${r}/pricing`:c?`/shipping?order=${encodeURIComponent(r)}`:l?`/cash-payments?order=${encodeURIComponent(r)}`:`/orders?order=${encodeURIComponent(r)}`:i?o?`/orders?order=${encodeURIComponent(i)}&focus=checks`:s?`/orders?order=${encodeURIComponent(i)}&focus=pricing`:c?`/shipping?order=${encodeURIComponent(i)}`:l?`/cash-payments?order=${encodeURIComponent(i)}`:`/orders?order=${encodeURIComponent(i)}`:o?`/checks`:c?`/shipping`:l?`/cash-payments`:u?`/reports`:d?`/customers`:f?`/catalogs`:p?`/products`:m?`/companies`:g?`/settings`:s||h?`/orders`:null}var Qf=Dc(`theme`,()=>{let e=hf(`ft_admin_theme`,`system`),t=df(),n=X(()=>e.value===`system`?t.value?`dark`:`light`:e.value),r=X(()=>n.value===`dark`);qn(()=>{let e=document.documentElement;e.classList.toggle(`dark`,r.value),e.style.colorScheme=n.value});function i(t){e.value=t}return{preference:e,resolved:n,isDark:r,setPreference:i}}),$f={class:`admin-header`},ep={class:`admin-header__right`},tp={key:0,class:`admin-header__title`},np={class:`admin-header__dropdown`},rp=[`aria-label`,`aria-expanded`],ip={key:0,class:`admin-header__badge`,"aria-hidden":`true`},ap={class:`admin-header__panel-header`},op={key:0,class:`admin-header__panel-list`},sp=[`onClick`],cp={class:`admin-header__panel-item-top`},lp=[`datetime`],up={class:`admin-header__panel-item-sender`},dp={class:`admin-header__panel-item-body`},fp={key:1,class:`admin-header__panel-empty`},pp={class:`admin-header__dropdown`},mp=[`aria-label`,`aria-expanded`],hp={key:0,class:`admin-header__badge`,"aria-hidden":`true`},gp={class:`admin-header__panel-header`},_p={key:0,class:`admin-header__panel-list`},vp=[`onClick`],yp={class:`admin-header__panel-item-top`},bp=[`datetime`],xp={class:`admin-header__panel-item-body`},Sp={key:1,class:`admin-header__panel-empty`},Cp={class:`admin-header__dropdown`},wp=[`aria-label`,`aria-expanded`],Tp={class:`admin-header__theme-glyph`,"aria-hidden":`true`},Ep={class:`admin-header__theme-list`},Dp=[`onClick`],Op={class:`admin-header__theme-option-icon`,"aria-hidden":`true`},kp={class:`admin-header__theme-option-label`},Ap={class:`admin-header__user`},jp={class:`admin-header__avatar`},Mp={class:`admin-header__user-info`},Np=jc(xr({__name:`AdminHeader`,props:{title:{}},emits:[`menuClick`],setup(e){let t=yl(),n=Td(),r=Qf(),i=L(null),a=L(null),o=L([]),s=L([]),c=X(()=>o.value.filter(e=>!e.isRead).length),l=X(()=>s.value.filter(e=>!e.isRead).length),u=[{value:`light`,label:`روشن`,icon:`vuesax-linear:sun-1`},{value:`dark`,label:`تاریک`,icon:`vuesax-linear:moon`},{value:`system`,label:`سیستم`,icon:`vuesax-linear:mobile`}],d=X(()=>u.find(e=>e.value===r.preference)?.label??`سیستم`),f=X(()=>u.find(e=>e.value===r.preference)?.icon??`vuesax-linear:sun-1`);Of.get().then(e=>{o.value=e.messages??[],s.value=e.notifications??[]}).catch(()=>{o.value=[],s.value=[]}),$d(a,()=>{i.value=null}),Zd(document,`keydown`,e=>{e.key===`Escape`&&(i.value=null)});function p(e){i.value=i.value===e?null:e}function m(){i.value=null}function h(e){e.isRead=!0}function g(e){e.isRead||(e.isRead=!0,Af.markRead(e.id).catch(()=>{e.isRead=!1}))}function _(){o.value.forEach(e=>{e.isRead=!0})}function v(){let e=s.value.filter(e=>!e.isRead);e.length&&(e.forEach(e=>{e.isRead=!0}),Af.markAllRead().catch(()=>{e.forEach(e=>{e.isRead=!1})}))}function y(e){m(),e&&t.push(e)}function b(e){h(e),y(Zf({link:e.link,orderId:e.orderId,title:e.subject,body:e.preview}))}function x(e){g(e),y(Zf({link:e.link,orderId:e.orderId,title:e.title,body:e.body}))}function S(e){r.setPreference(e),m()}return(t,m)=>(G(),K(`header`,$f,[q(`div`,ep,[q(`button`,{type:`button`,class:`admin-header__menu-btn compact-only`,"aria-label":`باز کردن منو`,onClick:m[0]||=e=>t.$emit(`menuClick`)},[J(od,{name:`menu`,size:22})]),e.title?(G(),K(`h1`,tp,j(e.title),1)):ja(``,!0)]),q(`div`,{ref_key:`actionsRef`,ref:a,class:`admin-header__left`},[q(`div`,np,[q(`button`,{type:`button`,class:A([`admin-header__icon-btn`,{"admin-header__icon-btn--active":i.value===`messages`}]),title:`پیام‌های داخلی`,"aria-label":`پیام‌های داخلی — ${c.value} پیام خوانده‌نشده`,"aria-expanded":i.value===`messages`,"aria-haspopup":`true`,onClick:m[1]||=Vs(e=>p(`messages`),[`stop`])},[J(od,{name:`message`,size:22}),c.value?(G(),K(`span`,ip,j(c.value),1)):ja(``,!0),m[7]||=q(`span`,{class:`admin-header__icon-label`},`پیام`,-1)],10,rp),i.value===`messages`?(G(),K(`div`,{key:0,class:`admin-header__panel`,role:`dialog`,"aria-label":`پیام‌های داخلی`,onClick:m[2]||=Vs(()=>{},[`stop`])},[q(`div`,ap,[m[8]||=q(`h2`,{class:`admin-header__panel-title`},`پیام‌های داخلی`,-1),c.value?(G(),K(`button`,{key:0,type:`button`,class:`admin-header__panel-action`,onClick:_},` علامت‌گذاری همه به‌عنوان خوانده‌شده `)):ja(``,!0)]),o.value.length?(G(),K(`ul`,op,[(G(!0),K(W,null,Xr(o.value,e=>(G(),K(`li`,{key:e.id,class:A([`admin-header__panel-item`,{unread:!e.isRead}])},[q(`button`,{type:`button`,class:`admin-header__panel-item-btn`,onClick:t=>b(e)},[q(`span`,cp,[q(`strong`,null,j(e.subject),1),q(`time`,{datetime:e.sentAt},j(R(Wf)(e.sentAt)),9,lp)]),q(`span`,up,`از `+j(e.senderName),1),q(`span`,dp,j(e.preview),1)],8,sp)],2))),128))])):(G(),K(`p`,fp,`پیامی وجود ندارد.`))])):ja(``,!0)]),q(`div`,pp,[q(`button`,{type:`button`,class:A([`admin-header__icon-btn`,{"admin-header__icon-btn--active":i.value===`notifications`}]),title:`اعلان‌ها`,"aria-label":`اعلان‌ها — ${l.value} اعلان جدید`,"aria-expanded":i.value===`notifications`,"aria-haspopup":`true`,onClick:m[3]||=Vs(e=>p(`notifications`),[`stop`])},[J(od,{name:`bell`,size:22}),l.value?(G(),K(`span`,hp,j(l.value),1)):ja(``,!0),m[9]||=q(`span`,{class:`admin-header__icon-label`},`اعلان`,-1)],10,mp),i.value===`notifications`?(G(),K(`div`,{key:0,class:`admin-header__panel`,role:`dialog`,"aria-label":`اعلان‌ها`,onClick:m[4]||=Vs(()=>{},[`stop`])},[q(`div`,gp,[m[10]||=q(`h2`,{class:`admin-header__panel-title`},`اعلان‌ها`,-1),l.value?(G(),K(`button`,{key:0,type:`button`,class:`admin-header__panel-action`,onClick:v},` علامت‌گذاری همه به‌عنوان خوانده‌شده `)):ja(``,!0)]),s.value.length?(G(),K(`ul`,_p,[(G(!0),K(W,null,Xr(s.value,e=>(G(),K(`li`,{key:e.id,class:A([`admin-header__panel-item`,[{unread:!e.isRead},e.tone?`admin-header__panel-item--${e.tone}`:``]])},[q(`button`,{type:`button`,class:`admin-header__panel-item-btn`,onClick:t=>x(e)},[q(`span`,yp,[q(`strong`,null,j(e.title),1),q(`time`,{datetime:e.sentAt},j(R(Wf)(e.sentAt)),9,bp)]),q(`span`,xp,j(e.body),1)],8,vp)],2))),128))])):(G(),K(`p`,Sp,`اعلانی وجود ندارد.`))])):ja(``,!0)]),q(`div`,Cp,[q(`button`,{type:`button`,class:A([`admin-header__icon-btn`,{"admin-header__icon-btn--active":i.value===`theme`}]),title:`حالت نمایش`,"aria-label":`حالت نمایش — ${d.value}`,"aria-expanded":i.value===`theme`,"aria-haspopup":`true`,onClick:m[5]||=Vs(e=>p(`theme`),[`stop`])},[q(`span`,Tp,[J(Mc,{icon:f.value,size:20,"stroke-width":1.5},null,8,[`icon`])]),m[11]||=q(`span`,{class:`admin-header__icon-label`},`تم`,-1)],10,wp),i.value===`theme`?(G(),K(`div`,{key:0,class:`admin-header__panel admin-header__panel--theme`,role:`dialog`,"aria-label":`انتخاب حالت نمایش`,onClick:m[6]||=Vs(()=>{},[`stop`])},[m[12]||=q(`div`,{class:`admin-header__panel-header`},[q(`h2`,{class:`admin-header__panel-title`},`حالت نمایش`)],-1),q(`ul`,Ep,[(G(),K(W,null,Xr(u,e=>q(`li`,{key:e.value},[q(`button`,{type:`button`,class:A([`admin-header__theme-option`,{"admin-header__theme-option--active":R(r).preference===e.value}]),onClick:t=>S(e.value)},[q(`span`,Op,[J(Mc,{icon:e.icon,size:18,"stroke-width":1.5},null,8,[`icon`])]),q(`span`,kp,j(e.label),1),R(r).preference===e.value?(G(),xa(Mc,{key:0,class:`admin-header__theme-option-check`,icon:`vuesax-linear:tick-circle`,size:16,"stroke-width":1.75})):ja(``,!0)],10,Dp)])),64))])])):ja(``,!0)]),q(`div`,Ap,[q(`div`,jp,j(R(n).fullName.charAt(0)||`؟`),1),q(`div`,Mp,[q(`strong`,null,j(R(n).fullName||`مدیر`),1),q(`span`,null,j(R(n).roleLabel||`پنل مدیریت`),1)])])],512)]))}}),[[`__scopeId`,`data-v-033c6e48`]]),Pp=[`aria-hidden`],Fp={class:`admin-drawer__brand`},Ip={class:`admin-drawer__nav`},Lp=[`onClick`],Rp=jc(xr({__name:`AdminMobileDrawer`,props:{open:{type:Boolean}},emits:[`close`],setup(e,{emit:t}){let n=t,r=bl(),i=yl(),a=Td();function o(e){i.push(e),n(`close`)}function s(){a.logout(),i.push(`/login`),n(`close`)}return(t,i)=>(G(),K(W,null,[q(`div`,{class:A([`admin-drawer-backdrop`,{open:e.open}]),role:`presentation`,onClick:i[0]||=e=>n(`close`)},null,2),q(`aside`,{class:A([`admin-drawer`,{open:e.open}]),"aria-label":`منوی ناوبری`,"aria-hidden":!e.open},[q(`div`,Fp,[i[2]||=q(`strong`,null,`پارچه`,-1),i[3]||=q(`span`,null,`پنل مدیریت`,-1),q(`button`,{type:`button`,class:`admin-drawer__close`,"aria-label":`بستن منو`,onClick:i[1]||=e=>n(`close`)},` × `)]),q(`nav`,Ip,[(G(!0),K(W,null,Xr(R(id),e=>(G(),K(`button`,{key:e.name,type:`button`,class:A([`admin-drawer__item`,{active:R(ad)(e.path,R(r).path)}]),onClick:t=>o(e.path)},[J(od,{name:e.icon,size:20},null,8,[`name`]),q(`span`,null,j(e.label),1)],10,Lp))),128))]),q(`button`,{type:`button`,class:`admin-drawer__logout`,onClick:s},[J(od,{name:`logout`,size:20}),i[4]||=q(`span`,null,`خروج`,-1)])],10,Pp)],64))}}),[[`__scopeId`,`data-v-7a746e66`]]),zp={class:`admin-shell`},Bp={class:`admin-shell__main`},Vp={class:`admin-shell__content`},Hp=jc(xr({__name:`AdminShell`,setup(e){let t=bl(),n=L(!1),r=X(()=>t.meta.title??``);function i(){n.value=!0}function a(){n.value=!1}return Jn(()=>t.path,()=>{n.value=!1}),(e,t)=>{let o=Kr(`RouterView`);return G(),K(`div`,zp,[J(kd,{class:`desktop-only admin-shell__sidebar`}),J(Rp,{open:n.value,onClose:a},null,8,[`open`]),q(`div`,Bp,[J(Np,{title:r.value,onMenuClick:i},null,8,[`title`]),q(`main`,Vp,[J(o)])])])}}}),[[`__scopeId`,`data-v-a2045bea`]]),Up=`modulepreload`,Wp=function(e){return`/admin/`+e},Gp={},$=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=Wp(t,n),t=s(t),t in Gp)return;Gp[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:Up,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},Kp=rd({history:Tu(`/admin/`),routes:[{path:`/login`,name:`login`,component:()=>$(()=>import(`./LoginView-D7iZwKPi.js`),__vite__mapDeps([0,1])),meta:{public:!0,title:`ورود به پنل مدیریت`}},{path:`/`,component:Hp,meta:{requiresAuth:!0},children:[{path:``,name:`dashboard`,component:()=>$(()=>import(`./DashboardView-B4W3rp-i.js`),__vite__mapDeps([2,3,4,5])),meta:{title:`داشبورد مدیریتی`}},{path:`orders`,name:`orders`,component:()=>$(()=>import(`./OrdersView-D0Eztocg.js`),__vite__mapDeps([6,7,8,9,3,4,10])),meta:{title:`سفارش‌ها`}},{path:`orders/:id/pricing`,name:`order-pricing`,component:()=>$(()=>import(`./OrderPricingView-2_6fSc39.js`),__vite__mapDeps([11,3,4,12,13,14])),meta:{title:`قیمت‌گذاری سفارش`}},{path:`checks`,name:`checks`,component:()=>$(()=>import(`./ChecksListView-BenCn0gO.js`),__vite__mapDeps([15,7,8,3,4,16])),meta:{title:`چک‌ها`}},{path:`orders/:id/checks`,name:`order-checks`,component:()=>$(()=>import(`./CheckManagementView-BfogLYQM.js`),__vite__mapDeps([17,3,4,18])),meta:{title:`مدیریت چک‌های سفارش`}},{path:`orders/:id`,name:`order-detail`,redirect:e=>({name:`orders`,query:{order:String(e.params.id)}})},{path:`companies`,name:`companies`,component:()=>$(()=>import(`./CompaniesView-CfFrdLAS.js`),__vite__mapDeps([19,20,21,22])),meta:{title:`مدیریت شرکت‌ها`}},{path:`companies/:companyId/accounts`,name:`bank-accounts`,component:()=>$(()=>import(`./BankAccountsView-sSvD7o7g.js`),__vite__mapDeps([23,20,21,24])),meta:{title:`حساب‌های بانکی`}},{path:`customers`,name:`customers`,component:()=>$(()=>import(`./CustomersView-BYpoFcAd.js`),__vite__mapDeps([25,7,8,9,20,21,26])),meta:{title:`مشتریان`}},{path:`products`,name:`products`,component:()=>$(()=>import(`./ProductsView-D1KGixmP.js`),__vite__mapDeps([27,7,8,20,21,12,13,28])),meta:{title:`محصولات`}},{path:`catalogs`,name:`catalogs`,component:()=>$(()=>import(`./CatalogsView-rrxXBbd1.js`),__vite__mapDeps([29,7,8,20,21,30])),meta:{title:`کالیته‌ها`}},{path:`cash-payments`,name:`cash-payments`,component:()=>$(()=>import(`./CashPaymentsView-D6ITwHuu.js`),__vite__mapDeps([31,7,8,9,32])),meta:{title:`پرداخت‌های نقدی`}},{path:`shipping`,name:`shipping`,component:()=>$(()=>import(`./ShippingView-Dqgg-XEs.js`),__vite__mapDeps([33,7,8,9,34])),meta:{title:`ارسال و باربری`}},{path:`reports`,name:`reports`,component:()=>$(()=>import(`./ReportsView-_lTR_DLQ.js`),__vite__mapDeps([35,36])),meta:{title:`گزارش‌ها`}},{path:`settings`,name:`settings`,component:()=>$(()=>import(`./SettingsView-BDyMkB9r.js`),__vite__mapDeps([37,38])),meta:{title:`تنظیمات`}},{path:`users`,name:`users`,component:()=>$(()=>import(`./UsersView-Bu8B7Jcu.js`),__vite__mapDeps([39,7,8,9,20,21,40])),meta:{title:`کاربران و دسترسی‌ها`}}]}]});Kp.beforeEach(e=>{let t=Td();return t.hydrate(),e.meta.public?t.isAuthenticated&&e.name===`login`?{name:`dashboard`}:!0:e.matched.some(e=>e.meta.requiresAuth)&&!t.isAuthenticated?{name:`login`,query:{redirect:e.fullPath}}:!0});var qp=qs(il),Jp=pc();qp.use(Jp),qp.use(Kp),Qf(Jp),Td(Jp).hydrate(),qp.mount(`#app`);export{Un as $,Ic as A,q as B,Td as C,yl as D,bl as E,Us as F,ka as G,ja as H,Vs as I,V as J,J as K,W as L,ks as M,Is as N,Xc as O,Os as P,G as Q,lr as R,af as S,od as T,K as U,xa as V,Aa as W,Ir as X,kn as Y,Br as Z,xf as _,Lf as a,Vn as at,_f as b,yf as c,L as ct,wf as d,ue as dt,Xr as et,vf as f,j as ft,Cf as g,gf as h,Wf as i,Bn as it,jc as j,qc as k,Tf as l,R as lt,Of as m,If as n,Kr as nt,Ff as o,I as ot,Sf as p,xr as q,Uf as r,Jn as rt,Df as s,zt as st,Pf as t,Zr as tt,bf as u,A as ut,kf as v,dd as w,$d as x,Ef as y,X as z}; \ No newline at end of file diff --git a/dist/favicon.ico b/dist/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..df36fcfb72584e00488330b560ebcf34a41c64c2 GIT binary patch literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S literal 0 HcmV?d00001 diff --git a/dist/index.html b/dist/index.html new file mode 100644 index 0000000..3b960af --- /dev/null +++ b/dist/index.html @@ -0,0 +1,14 @@ + + + + + + + پنل مدیریت | پارچه + + + + +
+ + diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100644 index 0000000..7a05368 --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,34 @@ +#!/bin/sh + +load_env_file() { + file="$1" + [ -f "$file" ] || return 0 + while IFS= read -r line || [ -n "$line" ]; do + case "$line" in + ''|\#*) continue ;; + esac + key="${line%%=*}" + val="${line#*=}" + eval "current=\${$key-}" + if [ -z "$current" ]; then + export "$key=$val" + fi + done < "$file" +} + +load_env_file /app/.env.production +load_env_file /app/.env + +escape_sed() { + printf '%s\n' "$1" | sed -e 's/[\/&]/\\&/g' -e 's/\./\\\./g' +} + +ESCAPED_API_BASE_URL=$(escape_sed "$VITE_API_BASE_URL") + +if [ -d /app/dist ]; then + find /app/dist -type f \( -name "*.js" -o -name "*.html" \) -exec sed -i \ + -e "s/__VITE_API_BASE_URL__/${ESCAPED_API_BASE_URL}/g" \ + {} \; +fi + +exec "$@" diff --git a/package.json b/package.json index 1b7198a..3d28d50 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "build-only": "vite build", + "pack:docker": "node scripts/pack-docker.mjs", "type-check": "vue-tsc --build", "lint": "run-s \"lint:*\"", "lint:oxlint": "oxlint . --fix", diff --git a/scripts/pack-docker.mjs b/scripts/pack-docker.mjs new file mode 100644 index 0000000..6aabaf1 --- /dev/null +++ b/scripts/pack-docker.mjs @@ -0,0 +1,16 @@ +import { execSync } from 'node:child_process' +import { existsSync } from 'node:fs' +import path from 'node:path' +import { fileURLToPath } from 'node:url' + +const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..') +process.chdir(root) + +execSync('node scripts/write-docker-vite-env.mjs', { stdio: 'inherit' }) +execSync('npm run build-only', { stdio: 'inherit' }) + +if (!existsSync(path.join(root, 'dist', 'index.html'))) { + throw new Error('dist/index.html ساخته نشد') +} + +console.log('dist آماده است. commit و push کنید تا Dokploy بدون npm سرو کند.') diff --git a/scripts/serve-admin.mjs b/scripts/serve-admin.mjs new file mode 100644 index 0000000..3d48c47 --- /dev/null +++ b/scripts/serve-admin.mjs @@ -0,0 +1,84 @@ +import http from 'node:http' +import fs from 'node:fs' +import path from 'node:path' +import { fileURLToPath } from 'node:url' + +const __dirname = path.dirname(fileURLToPath(import.meta.url)) +const port = Number(process.env.PORT || 7676) +const distDir = path.resolve(process.env.DIST_DIR || path.join(__dirname, '..', 'dist')) +const rawBase = String(process.env.VITE_BASE_PATH ?? '/admin/').trim() || '/admin/' +const publicBase = rawBase === '/' ? '' : rawBase.replace(/\/+$/, '') + +const MIME = { + '.html': 'text/html; charset=utf-8', + '.js': 'text/javascript; charset=utf-8', + '.mjs': 'text/javascript; charset=utf-8', + '.css': 'text/css; charset=utf-8', + '.json': 'application/json; charset=utf-8', + '.map': 'application/json; charset=utf-8', + '.svg': 'image/svg+xml', + '.png': 'image/png', + '.jpg': 'image/jpeg', + '.jpeg': 'image/jpeg', + '.gif': 'image/gif', + '.webp': 'image/webp', + '.ico': 'image/x-icon', + '.woff': 'font/woff', + '.woff2': 'font/woff2', + '.ttf': 'font/ttf', + '.txt': 'text/plain; charset=utf-8', + '.webmanifest': 'application/manifest+json', +} + +function sendFile(res, filePath) { + const type = MIME[path.extname(filePath).toLowerCase()] || 'application/octet-stream' + res.writeHead(200, { 'Content-Type': type, 'Cache-Control': 'public, max-age=0' }) + fs.createReadStream(filePath).pipe(res) +} + +function sendIndex(res) { + sendFile(res, path.join(distDir, 'index.html')) +} + +function resolveSafe(urlPath) { + const decoded = decodeURIComponent(urlPath.split('?')[0] || '/') + const relative = publicBase && decoded.startsWith(`${publicBase}/`) + ? decoded.slice(publicBase.length) + : publicBase && decoded === publicBase + ? '/' + : decoded + const target = path.resolve(distDir, `.${relative}`) + if (!target.startsWith(distDir)) return null + return target +} + +const server = http.createServer((req, res) => { + const url = req.url || '/' + const pathname = decodeURIComponent(url.split('?')[0] || '/') + + if (pathname === '/health' || (publicBase && pathname === `${publicBase}/health`)) { + res.writeHead(200, { 'Content-Type': 'text/plain' }) + return res.end('ok') + } + + if (publicBase && pathname === publicBase) { + res.writeHead(302, { Location: `${publicBase}/` }) + return res.end() + } + + if (publicBase && pathname === '/') { + res.writeHead(302, { Location: `${publicBase}/` }) + return res.end() + } + + const target = resolveSafe(url) + if (target && fs.existsSync(target) && fs.statSync(target).isFile()) { + return sendFile(res, target) + } + + return sendIndex(res) +}) + +server.listen(port, '0.0.0.0', () => { + console.log(`fabric-trade admin listening on ${port} → ${publicBase || ''}/`) +}) diff --git a/scripts/write-docker-vite-env.mjs b/scripts/write-docker-vite-env.mjs new file mode 100644 index 0000000..7996b4f --- /dev/null +++ b/scripts/write-docker-vite-env.mjs @@ -0,0 +1,56 @@ +import { existsSync, readFileSync, writeFileSync } from 'node:fs' + +const keys = ['VITE_API_BASE_URL', 'VITE_USE_MOCK_AUTH', 'VITE_BASE_PATH'] + +function parseEnv(text) { + const out = {} + for (const line of text.split(/\r?\n/)) { + const trimmed = line.trim() + if (!trimmed || trimmed.startsWith('#')) continue + const index = trimmed.indexOf('=') + if (index <= 0) continue + const key = trimmed.slice(0, index).trim() + let value = trimmed.slice(index + 1) + if ( + (value.startsWith('"') && value.endsWith('"')) || + (value.startsWith("'") && value.endsWith("'")) + ) { + value = value.slice(1, -1) + } + out[key] = value + } + return out +} + +const merged = {} + +if (existsSync('.env')) { + Object.assign(merged, parseEnv(readFileSync('.env', 'utf8'))) +} + +for (const key of keys) { + const value = process.env[key] + if (value) merged[key] = value +} + +if (!merged.VITE_API_BASE_URL) { + merged.VITE_API_BASE_URL = 'https://nademitex.montest.ir/server/api' +} + +if (!merged.VITE_USE_MOCK_AUTH) { + merged.VITE_USE_MOCK_AUTH = 'false' +} + +if (!merged.VITE_BASE_PATH || merged.VITE_BASE_PATH === '/') { + merged.VITE_BASE_PATH = '/admin/' +} else if (!merged.VITE_BASE_PATH.endsWith('/')) { + merged.VITE_BASE_PATH = `${merged.VITE_BASE_PATH}/` +} + +const lines = Object.entries(merged) + .filter(([key]) => key.startsWith('VITE_')) + .map(([key, value]) => `${key}=${value}`) + +writeFileSync('.env.production', `${lines.join('\n')}\n`) +console.log('Vite build env:') +for (const line of lines) console.log(` ${line}`)