diff --git a/dist/assets/CartView-D6MGjlh-.js b/dist/assets/CartView-BCTihttt.js similarity index 96% rename from dist/assets/CartView-D6MGjlh-.js rename to dist/assets/CartView-BCTihttt.js index 0eb06db..08d81c1 100644 --- a/dist/assets/CartView-D6MGjlh-.js +++ b/dist/assets/CartView-BCTihttt.js @@ -1 +1 @@ -import{$ as e,A as t,D as n,E as r,I as i,J as a,K as o,L as s,M as c,N as l,R as u,St as d,Tt as f,X as p,_ as m,j as h,k as g,n as _,nt as v,pt as y,t as b,xt as x}from"./BasicIcon-B6lR-mG3.js";import{a as S,o as C}from"./format-BHJptHdF.js";import{C as w,E as T,g as E,n as D,o as O,t as ee,w as k}from"./index-DHK6R1xK.js";import{t as A}from"./EmptyState-C6UAJ5_3.js";import{t as j}from"./IconChevronBack-BXRfc2bX.js";import{t as te}from"./FormErrorBanner-8PcsTbdO.js";import{t as M}from"./IconBuilding-oclvcvlP.js";import{t as N}from"./IconDiamond-7-J5Q2Ma.js";import{t as P}from"./CheckoutStepper-DCcu9ZNK.js";import{t as F}from"./IconClipboardEmpty-D2QGqogo.js";import{t as I}from"./IconLayoutGrid-DgOvzvMf.js";function L(){let e=m(),t=T(),n=E(),r=y(!1),i=y(!1),a=y(``),s=g(()=>t.activeCart?.items??[]),c=g(()=>s.value.length===0),l=g(()=>t.companyNamesLabel||t.activeCart?.companyName||``),u=g(()=>t.companySummaries);async function d(e){let n=s.value.find(t=>t.id===e);await ee({title:`حذف از سبد`,message:n?`آیا از حذف «${n.productName}» از سبد خرید مطمئن هستید؟`:`آیا از حذف این آیتم از سبد خرید مطمئن هستید؟`,confirmLabel:`حذف`,cancelLabel:`انصراف`,tone:`danger`})&&t.removeItem(e)}async function f(){if(!(!t.activeCart||s.value.length===0||i.value)){i.value=!0,a.value=``;try{if(await t.hydrate(),!t.activeCart?.items.length){a.value=`سبد خرید خالی است یا با سرور همگام نشد.`;return}let r=await n.submitOrder(t.activeCart);await t.hydrate(),e.replace(`/orders/${r.id}/success`)}catch(e){a.value=e instanceof Error?e.message:`ثبت سفارش ناموفق بود.`,await t.hydrate()}finally{i.value=!1}}}function p(){if(s.value.length!==0){if(t.isFull){r.value=!0;return}f()}}function h(){r.value=!1,f()}async function _(){await t.createNewCartForSameCompany(),r.value=!1,e.push(`/categories`)}return o(()=>{t.ensureActiveCartForCartPage()}),{cartStore:t,items:s,isEmpty:c,companyName:l,companySummaries:u,showFullDialog:r,submitting:i,submitError:a,removeItem:d,proceedToCheckout:p,proceedAnyway:h,createNewInvoice:_}}var R=u({__name:`IconTrash`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(a(),h(b,{icon:`vuesax-linear:trash`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),z={class:`cart-mobile-page`},B={class:`cart-mobile-page__nav`},V={type:`button`,class:`nav-btn nav-btn--ghost`,"aria-hidden":`true`,tabindex:`-1`},H={key:0,class:`cart-mobile-page__body`},U={class:`cart-mobile-page__company`},W={class:`cart-mobile-page__scroll`},G={class:`cart-mobile-table`},K={class:`col-product`},q={key:0,class:`col-product__company`},J={class:`col-meterage`},Y={class:`col-delete`},X=[`onClick`],Z={class:`cart-mobile-page__footer`},Q={class:`cart-mobile-summary`},ne={class:`cart-mobile-summary__row`},re={class:`cart-mobile-summary__cap`},ie={key:1,class:`cart-mobile-summary__row`},ae={class:`cart-mobile-summary__row`},oe=_(u({__name:`MobileCartPage`,props:{items:{},companyName:{},companySummaries:{},totalMeterage:{},maxMeterage:{},remainingCapacity:{},isEmpty:{type:Boolean},submitting:{type:Boolean}},emits:[`back`,`remove`,`checkout`,`selectCompany`],setup(e,{emit:r}){let o=r;return(r,u)=>(a(),l(`div`,z,[t(`header`,B,[t(`button`,{type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:u[0]||=e=>o(`back`)},[s(j,{size:20})]),u[3]||=t(`h1`,{class:`cart-mobile-page__title`},`سبد خرید`,-1),t(`button`,V,[s(j,{size:18,class:`nav-btn__flip`})])]),e.isEmpty?(a(),h(A,{key:1,variant:`cart`,message:`از دسته‌بندی یا کالیته محصول را انتخاب کنید`},{default:v(()=>[s(D,{onClick:u[2]||=e=>o(`selectCompany`)},{default:v(()=>[...u[10]||=[i(`مشاهده محصولات`,-1)]]),_:1})]),_:1})):(a(),l(`div`,H,[t(`p`,U,f(e.companyName?`شرکت‌ها: ${e.companyName}`:`سبد خرید مشترک`),1),t(`div`,W,[t(`div`,G,[u[4]||=t(`div`,{class:`cart-mobile-table__head`},[t(`span`,null,`محصول`),t(`span`,null,`متراژ (متر)`),t(`span`,null,`حذف`)],-1),(a(!0),l(n,null,p(e.items,e=>(a(),l(`div`,{key:e.id,class:`cart-mobile-table__row`},[t(`div`,K,[t(`strong`,null,f(e.productName),1),t(`span`,null,`کد: `+f(e.productCode),1),e.companyName?(a(),l(`span`,q,f(e.companyName),1)):c(``,!0)]),t(`div`,J,f(x(C)(e.meterage)),1),t(`div`,Y,[t(`button`,{type:`button`,"aria-label":`حذف`,onClick:t=>o(`remove`,e.id)},[s(R,{size:20})],8,X)])]))),128))])]),t(`div`,Z,[t(`div`,Q,[t(`div`,ne,[u[5]||=t(`span`,null,`جمع متراژ کل`,-1),t(`strong`,null,f(x(S)(e.totalMeterage)),1)]),e.companySummaries?.length?(a(!0),l(n,{key:0},p(e.companySummaries,e=>(a(),l(`div`,{key:e.companyId,class:`cart-mobile-summary__row cart-mobile-summary__row--sub`},[t(`span`,null,f(e.companyName),1),t(`strong`,null,[i(f(x(S)(e.meterage))+` `,1),t(`span`,re,`/ `+f(x(S)(e.maxMeterage)),1)])]))),128)):(a(),l(`div`,ie,[u[6]||=t(`span`,null,`حداکثر مجاز`,-1),t(`strong`,null,f(x(S)(e.maxMeterage)),1)])),t(`div`,ae,[u[7]||=t(`span`,null,`باقی مانده`,-1),t(`strong`,null,f(x(S)(e.remainingCapacity)),1)])]),u[9]||=t(`p`,{class:`cart-mobile-page__hint`},` پس از ثبت، همه اقلام در یک پیش‌سفارش واحد قرار می‌گیرند و مدیریت قیمت‌گذاری می‌کند. `,-1),s(D,{block:``,loading:e.submitting,onClick:u[1]||=e=>o(`checkout`)},{default:v(()=>[...u[8]||=[i(`ثبت پیش‌سفارش`,-1)]]),_:1},8,[`loading`])])]))]))}}),[[`__scopeId`,`data-v-6370ec52`]]),se=u({__name:`IconLightbulb`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(a(),h(b,{icon:`vuesax-linear:lamp-on`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),ce={class:`desktop-page cart-desktop-page`},le={class:`cart-desktop-page__head`},ue={class:`cart-desktop-page__subtitle`},de={class:`cart-desktop-page__layout`},fe={class:`cart-desktop-page__main`},pe={key:0,class:`cart-empty-card`},me={class:`cart-empty-card__visual`,"aria-hidden":`true`},he={class:`cart-empty-card__circle`},ge={class:`cart-empty-card__actions`},_e={key:1,class:`cart-items-card`},ve={class:`cart-items-card__scroll`},ye={class:`cart-items-table`},be={class:`cart-items-table__name`},xe=[`onClick`],Se={class:`cart-desktop-page__sidebar`},Ce={class:`cart-summary-card`},we={class:`cart-summary-card__title`},Te={class:`cart-summary-card__title-icon`,"aria-hidden":`true`},Ee={class:`cart-summary-card__rows`},De={class:`cart-summary-card__row`},Oe={class:`cart-summary-card__row-label`},ke={class:`cart-summary-card__row`},Ae={class:`cart-summary-card__row-label`},je={class:`cart-summary-card__row-label`},Me={class:`cart-summary-card__cap`},Ne={class:`cart-summary-card__row cart-summary-card__row--hint`},Pe={class:`cart-summary-card__row-label`},$=[`disabled`],Fe={class:`cart-guide-card`},Ie={class:`cart-guide-card__title`},Le={class:`cart-guide-card__title-icon`,"aria-hidden":`true`},Re={class:`cart-guide-card__text`},ze={class:`cart-quick-nav`,"aria-label":`دسترسی سریع`},Be=[`onClick`],Ve={class:`cart-quick-nav__body`},He={class:`cart-quick-nav__title`},Ue={class:`cart-quick-nav__desc`},We=_(u({__name:`DesktopCartPage`,props:{items:{},companyName:{},companySummaries:{},totalMeterage:{},maxMeterage:{},remainingCapacity:{},isEmpty:{type:Boolean},submitting:{type:Boolean}},emits:[`remove`,`checkout`,`selectCompany`,`back`],setup(r,{emit:o}){let u=o,g=m(),_=[{title:`انتخاب شرکت`,desc:`شروع سفارش از انتخاب شرکت`,icon:M,tone:`blue`,action:()=>u(`selectCompany`)},{title:`سفارش‌گذاری`,desc:`مشاهده کاتالوگ و افزودن کالا`,icon:k,tone:`green`,action:()=>u(`back`)},{title:`سفارش‌های من`,desc:`پیگیری وضعیت سفارش‌ها`,icon:w,tone:`blue`,action:()=>g.push(`/orders`)}];return(o,m)=>(a(),l(`div`,ce,[s(P,{"current-step":1}),t(`header`,le,[m[3]||=t(`h1`,{class:`cart-desktop-page__title`},`سبد خرید`,-1),t(`p`,ue,f(r.companyName?`شرکت‌ها: ${r.companyName}`:`سبد خرید مشترک`),1)]),t(`div`,de,[t(`section`,fe,[r.isEmpty?(a(),l(`div`,pe,[t(`div`,me,[m[4]||=t(`span`,{class:`cart-empty-card__spark cart-empty-card__spark--1`},`+`,-1),m[5]||=t(`span`,{class:`cart-empty-card__spark cart-empty-card__spark--2`},`·`,-1),t(`span`,he,[s(k,{size:40})]),m[6]||=t(`span`,{class:`cart-empty-card__spark cart-empty-card__spark--3`},`·`,-1)]),m[9]||=t(`h2`,{class:`cart-empty-card__heading`},`سبد خرید شما خالی است`,-1),m[10]||=t(`p`,{class:`cart-empty-card__text`},` از دسته‌بندی یا کالیته محصول را انتخاب کنید، جزئیات را ببینید و به سبد اضافه کنید. `,-1),t(`div`,ge,[t(`button`,{type:`button`,class:`cart-btn cart-btn--primary`,onClick:m[0]||=e=>u(`selectCompany`)},[s(M,{size:18}),m[7]||=i(` مشاهده محصولات `,-1)]),t(`button`,{type:`button`,class:`cart-btn cart-btn--outline`,onClick:m[1]||=e=>u(`back`)},[s(O,{size:16}),m[8]||=i(` بازگشت به سفارش‌گذاری `,-1)])])])):(a(),l(`div`,_e,[t(`div`,ve,[t(`table`,ye,[m[11]||=t(`thead`,null,[t(`tr`,null,[t(`th`,{scope:`col`},`محصول`),t(`th`,{scope:`col`},`شرکت`),t(`th`,{scope:`col`},`کد`),t(`th`,{scope:`col`},`متراژ (متر)`),t(`th`,{scope:`col`},`حذف`)])],-1),t(`tbody`,null,[(a(!0),l(n,null,p(r.items,e=>(a(),l(`tr`,{key:e.id},[t(`td`,null,[t(`strong`,be,f(e.productName),1)]),t(`td`,null,f(e.companyName||`—`),1),t(`td`,null,f(e.productCode),1),t(`td`,null,f(x(C)(e.meterage)),1),t(`td`,null,[t(`button`,{type:`button`,class:`cart-items-table__delete`,"aria-label":`حذف`,onClick:t=>u(`remove`,e.id)},[s(R,{size:18})],8,xe)])]))),128))])])])]))]),t(`aside`,Se,[t(`div`,Ce,[t(`h2`,we,[t(`span`,Te,[s(F,{size:22})]),m[12]||=i(` خلاصه سفارش `,-1)]),t(`div`,Ee,[t(`div`,De,[t(`span`,Oe,[s(I,{size:16}),m[13]||=i(` تعداد آیتم‌ها `,-1)]),t(`strong`,null,f(x(C)(r.items.length)),1)]),t(`div`,ke,[t(`span`,Ae,[s(N,{size:16}),m[14]||=i(` متراژ کل `,-1)]),t(`strong`,null,f(x(S)(r.totalMeterage)),1)]),(a(!0),l(n,null,p(r.companySummaries??[],e=>(a(),l(`div`,{key:e.companyId,class:`cart-summary-card__row cart-summary-card__row--sub`},[t(`span`,je,f(e.companyName),1),t(`strong`,null,[i(f(x(S)(e.meterage))+` `,1),t(`span`,Me,`/ `+f(x(S)(e.maxMeterage)),1)])]))),128)),t(`div`,Ne,[t(`span`,Pe,[s(w,{size:16}),m[15]||=i(` مبلغ فاکتور `,-1)]),m[16]||=t(`span`,{class:`cart-summary-card__hint-value`},` پس از قیمت‌گذاری مدیریت `,-1)])]),t(`button`,{type:`button`,class:`cart-summary-card__cta`,disabled:r.isEmpty||r.submitting,onClick:m[2]||=e=>u(`checkout`)},[s(O,{size:16}),i(` `+f(r.submitting?`در حال ثبت…`:`ثبت پیش‌سفارش`),1)],8,$),m[17]||=t(`p`,{class:`cart-summary-card__note`},` اقلام همه شرکت‌ها در یک سبد و یک فاکتور ثبت می‌شوند؛ پس از قیمت‌گذاری، یک‌بار تسویه می‌کنید. `,-1)]),t(`div`,Fe,[t(`h3`,Ie,[t(`span`,Le,[s(se,{size:18})]),m[18]||=i(` راهنمای گام بعدی `,-1)]),t(`p`,Re,[m[19]||=i(` پس از انتخاب شرکت و افزودن محصولات، متراژ کل و سقف مجاز فاکتور را بررسی کنید. `,-1),r.isEmpty?c(``,!0):(a(),l(n,{key:0},[i(` سقف مجاز: `+f(x(S)(r.maxMeterage))+` — باقی‌مانده: `+f(x(S)(r.remainingCapacity))+`. `,1)],64)),m[20]||=i(` سپس برای تکمیل سفارش، گزینه «ادامه و انتخاب تسویه» را بزنید. `,-1)])])])]),t(`nav`,ze,[(a(),l(n,null,p(_,n=>t(`button`,{key:n.title,type:`button`,class:`cart-quick-nav__item`,onClick:e=>n.action()},[t(`span`,{class:d([`cart-quick-nav__icon`,`cart-quick-nav__icon--${n.tone}`])},[(a(),h(e(n.icon),{size:20}))],2),t(`span`,Ve,[t(`strong`,He,f(n.title),1),t(`span`,Ue,f(n.desc),1)]),s(O,{size:16,class:`cart-quick-nav__chevron`,"aria-hidden":`true`})],8,Be)),64))]),m[21]||=t(`p`,{class:`cart-desktop-page__footer`},`پارس بافت — سامانه سفارش‌گذاری پارچه`,-1)]))}}),[[`__scopeId`,`data-v-ceb44f7f`]]),Ge={class:`cart-view`},Ke={class:`dialog card`},qe={class:`dialog-actions`},Je=_(u({__name:`CartView`,setup(e){let n=m(),{cartStore:o,items:u,isEmpty:d,companyName:f,companySummaries:p,showFullDialog:g,submitting:_,submitError:y,removeItem:b,proceedToCheckout:S,proceedAnyway:C,createNewInvoice:w}=L();function T(){n.push(`/categories`)}return(e,m)=>(a(),l(`div`,Ge,[x(y)?(a(),h(te,{key:0,message:x(y),class:`cart-view__error`},null,8,[`message`])):c(``,!0),s(oe,{class:`mobile-only`,items:x(u),"company-name":x(f),"company-summaries":x(p),"total-meterage":x(o).totalMeterage,"max-meterage":x(o).maxMeterage,"remaining-capacity":x(o).remainingCapacity,"is-empty":x(d),submitting:x(_),onBack:m[0]||=e=>x(n).push(`/`),onRemove:x(b),onCheckout:x(S),onSelectCompany:m[1]||=e=>T()},null,8,[`items`,`company-name`,`company-summaries`,`total-meterage`,`max-meterage`,`remaining-capacity`,`is-empty`,`submitting`,`onRemove`,`onCheckout`]),s(We,{class:`desktop-only`,items:x(u),"company-name":x(f),"company-summaries":x(p),"total-meterage":x(o).totalMeterage,"max-meterage":x(o).maxMeterage,"remaining-capacity":x(o).remainingCapacity,"is-empty":x(d),submitting:x(_),onRemove:x(b),onCheckout:x(S),onSelectCompany:m[2]||=e=>T(),onBack:T},null,8,[`items`,`company-name`,`company-summaries`,`total-meterage`,`max-meterage`,`remaining-capacity`,`is-empty`,`submitting`,`onRemove`,`onCheckout`]),x(g)?(a(),l(`div`,{key:1,class:`dialog-overlay`,onClick:m[3]||=r(e=>g.value=!1,[`self`])},[t(`div`,Ke,[m[6]||=t(`h3`,null,`سقف متراژ تکمیل شد`,-1),m[7]||=t(`p`,{class:`text-sm`},` سقف متراژ حداقل یک شرکت در سبد پر شده است. می‌توانید همین پیش‌سفارش‌ها را ثبت کنید یا سبد را خالی کرده و فاکتور جدید بسازید. `,-1),t(`div`,qe,[s(D,{variant:`outline`,loading:x(_),onClick:x(C)},{default:v(()=>[...m[4]||=[i(` ثبت همین فاکتور `,-1)]]),_:1},8,[`loading`,`onClick`]),s(D,{onClick:x(w)},{default:v(()=>[...m[5]||=[i(`فاکتور جدید`,-1)]]),_:1},8,[`onClick`])])])])):c(``,!0)]))}}),[[`__scopeId`,`data-v-8b0b9b14`]]);export{Je as default}; \ No newline at end of file +import{$ as e,A as t,D as n,E as r,I as i,J as a,K as o,L as s,M as c,N as l,R as u,St as d,Tt as f,X as p,_ as m,j as h,k as g,n as _,nt as v,pt as y,t as b,xt as x}from"./BasicIcon-B6lR-mG3.js";import{a as S,o as C}from"./format-BHJptHdF.js";import{C as w,E as T,g as E,n as D,o as O,t as ee,w as k}from"./index-B20WsQhf.js";import{t as A}from"./EmptyState-C6UAJ5_3.js";import{t as j}from"./IconChevronBack-BXRfc2bX.js";import{t as te}from"./FormErrorBanner-8PcsTbdO.js";import{t as M}from"./IconDiamond-7-J5Q2Ma.js";import{t as N}from"./CheckoutStepper-DCcu9ZNK.js";import{t as P}from"./IconBuilding-oclvcvlP.js";import{t as F}from"./IconClipboardEmpty-D2QGqogo.js";import{t as I}from"./IconLayoutGrid-DgOvzvMf.js";function L(){let e=m(),t=T(),n=E(),r=y(!1),i=y(!1),a=y(``),s=g(()=>t.activeCart?.items??[]),c=g(()=>s.value.length===0),l=g(()=>t.companyNamesLabel||t.activeCart?.companyName||``),u=g(()=>t.companySummaries);async function d(e){let n=s.value.find(t=>t.id===e);await ee({title:`حذف از سبد`,message:n?`آیا از حذف «${n.productName}» از سبد خرید مطمئن هستید؟`:`آیا از حذف این آیتم از سبد خرید مطمئن هستید؟`,confirmLabel:`حذف`,cancelLabel:`انصراف`,tone:`danger`})&&t.removeItem(e)}async function f(){if(!(!t.activeCart||s.value.length===0||i.value)){i.value=!0,a.value=``;try{if(await t.hydrate(),!t.activeCart?.items.length){a.value=`سبد خرید خالی است یا با سرور همگام نشد.`;return}let r=await n.submitOrder(t.activeCart);await t.hydrate(),e.replace(`/orders/${r.id}/success`)}catch(e){a.value=e instanceof Error?e.message:`ثبت سفارش ناموفق بود.`,await t.hydrate()}finally{i.value=!1}}}function p(){if(s.value.length!==0){if(t.isFull){r.value=!0;return}f()}}function h(){r.value=!1,f()}async function _(){await t.createNewCartForSameCompany(),r.value=!1,e.push(`/categories`)}return o(()=>{t.ensureActiveCartForCartPage()}),{cartStore:t,items:s,isEmpty:c,companyName:l,companySummaries:u,showFullDialog:r,submitting:i,submitError:a,removeItem:d,proceedToCheckout:p,proceedAnyway:h,createNewInvoice:_}}var R=u({__name:`IconTrash`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(a(),h(b,{icon:`vuesax-linear:trash`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),z={class:`cart-mobile-page`},B={class:`cart-mobile-page__nav`},V={type:`button`,class:`nav-btn nav-btn--ghost`,"aria-hidden":`true`,tabindex:`-1`},H={key:0,class:`cart-mobile-page__body`},U={class:`cart-mobile-page__company`},W={class:`cart-mobile-page__scroll`},G={class:`cart-mobile-table`},K={class:`col-product`},q={key:0,class:`col-product__company`},J={class:`col-meterage`},Y={class:`col-delete`},X=[`onClick`],Z={class:`cart-mobile-page__footer`},Q={class:`cart-mobile-summary`},ne={class:`cart-mobile-summary__row`},re={class:`cart-mobile-summary__cap`},ie={key:1,class:`cart-mobile-summary__row`},ae={class:`cart-mobile-summary__row`},oe=_(u({__name:`MobileCartPage`,props:{items:{},companyName:{},companySummaries:{},totalMeterage:{},maxMeterage:{},remainingCapacity:{},isEmpty:{type:Boolean},submitting:{type:Boolean}},emits:[`back`,`remove`,`checkout`,`selectCompany`],setup(e,{emit:r}){let o=r;return(r,u)=>(a(),l(`div`,z,[t(`header`,B,[t(`button`,{type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:u[0]||=e=>o(`back`)},[s(j,{size:20})]),u[3]||=t(`h1`,{class:`cart-mobile-page__title`},`سبد خرید`,-1),t(`button`,V,[s(j,{size:18,class:`nav-btn__flip`})])]),e.isEmpty?(a(),h(A,{key:1,variant:`cart`,message:`از دسته‌بندی یا کالیته محصول را انتخاب کنید`},{default:v(()=>[s(D,{onClick:u[2]||=e=>o(`selectCompany`)},{default:v(()=>[...u[10]||=[i(`مشاهده محصولات`,-1)]]),_:1})]),_:1})):(a(),l(`div`,H,[t(`p`,U,f(e.companyName?`شرکت‌ها: ${e.companyName}`:`سبد خرید مشترک`),1),t(`div`,W,[t(`div`,G,[u[4]||=t(`div`,{class:`cart-mobile-table__head`},[t(`span`,null,`محصول`),t(`span`,null,`متراژ (متر)`),t(`span`,null,`حذف`)],-1),(a(!0),l(n,null,p(e.items,e=>(a(),l(`div`,{key:e.id,class:`cart-mobile-table__row`},[t(`div`,K,[t(`strong`,null,f(e.productName),1),t(`span`,null,`کد: `+f(e.productCode),1),e.companyName?(a(),l(`span`,q,f(e.companyName),1)):c(``,!0)]),t(`div`,J,f(x(C)(e.meterage)),1),t(`div`,Y,[t(`button`,{type:`button`,"aria-label":`حذف`,onClick:t=>o(`remove`,e.id)},[s(R,{size:20})],8,X)])]))),128))])]),t(`div`,Z,[t(`div`,Q,[t(`div`,ne,[u[5]||=t(`span`,null,`جمع متراژ کل`,-1),t(`strong`,null,f(x(S)(e.totalMeterage)),1)]),e.companySummaries?.length?(a(!0),l(n,{key:0},p(e.companySummaries,e=>(a(),l(`div`,{key:e.companyId,class:`cart-mobile-summary__row cart-mobile-summary__row--sub`},[t(`span`,null,f(e.companyName),1),t(`strong`,null,[i(f(x(S)(e.meterage))+` `,1),t(`span`,re,`/ `+f(x(S)(e.maxMeterage)),1)])]))),128)):(a(),l(`div`,ie,[u[6]||=t(`span`,null,`حداکثر مجاز`,-1),t(`strong`,null,f(x(S)(e.maxMeterage)),1)])),t(`div`,ae,[u[7]||=t(`span`,null,`باقی مانده`,-1),t(`strong`,null,f(x(S)(e.remainingCapacity)),1)])]),u[9]||=t(`p`,{class:`cart-mobile-page__hint`},` پس از ثبت، همه اقلام در یک پیش‌سفارش واحد قرار می‌گیرند و مدیریت قیمت‌گذاری می‌کند. `,-1),s(D,{block:``,loading:e.submitting,onClick:u[1]||=e=>o(`checkout`)},{default:v(()=>[...u[8]||=[i(`ثبت پیش‌سفارش`,-1)]]),_:1},8,[`loading`])])]))]))}}),[[`__scopeId`,`data-v-6370ec52`]]),se=u({__name:`IconLightbulb`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(a(),h(b,{icon:`vuesax-linear:lamp-on`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),ce={class:`desktop-page cart-desktop-page`},le={class:`cart-desktop-page__head`},ue={class:`cart-desktop-page__subtitle`},de={class:`cart-desktop-page__layout`},fe={class:`cart-desktop-page__main`},pe={key:0,class:`cart-empty-card`},me={class:`cart-empty-card__visual`,"aria-hidden":`true`},he={class:`cart-empty-card__circle`},ge={class:`cart-empty-card__actions`},_e={key:1,class:`cart-items-card`},ve={class:`cart-items-card__scroll`},ye={class:`cart-items-table`},be={class:`cart-items-table__name`},xe=[`onClick`],Se={class:`cart-desktop-page__sidebar`},Ce={class:`cart-summary-card`},we={class:`cart-summary-card__title`},Te={class:`cart-summary-card__title-icon`,"aria-hidden":`true`},Ee={class:`cart-summary-card__rows`},De={class:`cart-summary-card__row`},Oe={class:`cart-summary-card__row-label`},ke={class:`cart-summary-card__row`},Ae={class:`cart-summary-card__row-label`},je={class:`cart-summary-card__row-label`},Me={class:`cart-summary-card__cap`},Ne={class:`cart-summary-card__row cart-summary-card__row--hint`},Pe={class:`cart-summary-card__row-label`},$=[`disabled`],Fe={class:`cart-guide-card`},Ie={class:`cart-guide-card__title`},Le={class:`cart-guide-card__title-icon`,"aria-hidden":`true`},Re={class:`cart-guide-card__text`},ze={class:`cart-quick-nav`,"aria-label":`دسترسی سریع`},Be=[`onClick`],Ve={class:`cart-quick-nav__body`},He={class:`cart-quick-nav__title`},Ue={class:`cart-quick-nav__desc`},We=_(u({__name:`DesktopCartPage`,props:{items:{},companyName:{},companySummaries:{},totalMeterage:{},maxMeterage:{},remainingCapacity:{},isEmpty:{type:Boolean},submitting:{type:Boolean}},emits:[`remove`,`checkout`,`selectCompany`,`back`],setup(r,{emit:o}){let u=o,g=m(),_=[{title:`انتخاب شرکت`,desc:`شروع سفارش از انتخاب شرکت`,icon:P,tone:`blue`,action:()=>u(`selectCompany`)},{title:`سفارش‌گذاری`,desc:`مشاهده کاتالوگ و افزودن کالا`,icon:k,tone:`green`,action:()=>u(`back`)},{title:`سفارش‌های من`,desc:`پیگیری وضعیت سفارش‌ها`,icon:w,tone:`blue`,action:()=>g.push(`/orders`)}];return(o,m)=>(a(),l(`div`,ce,[s(N,{"current-step":1}),t(`header`,le,[m[3]||=t(`h1`,{class:`cart-desktop-page__title`},`سبد خرید`,-1),t(`p`,ue,f(r.companyName?`شرکت‌ها: ${r.companyName}`:`سبد خرید مشترک`),1)]),t(`div`,de,[t(`section`,fe,[r.isEmpty?(a(),l(`div`,pe,[t(`div`,me,[m[4]||=t(`span`,{class:`cart-empty-card__spark cart-empty-card__spark--1`},`+`,-1),m[5]||=t(`span`,{class:`cart-empty-card__spark cart-empty-card__spark--2`},`·`,-1),t(`span`,he,[s(k,{size:40})]),m[6]||=t(`span`,{class:`cart-empty-card__spark cart-empty-card__spark--3`},`·`,-1)]),m[9]||=t(`h2`,{class:`cart-empty-card__heading`},`سبد خرید شما خالی است`,-1),m[10]||=t(`p`,{class:`cart-empty-card__text`},` از دسته‌بندی یا کالیته محصول را انتخاب کنید، جزئیات را ببینید و به سبد اضافه کنید. `,-1),t(`div`,ge,[t(`button`,{type:`button`,class:`cart-btn cart-btn--primary`,onClick:m[0]||=e=>u(`selectCompany`)},[s(P,{size:18}),m[7]||=i(` مشاهده محصولات `,-1)]),t(`button`,{type:`button`,class:`cart-btn cart-btn--outline`,onClick:m[1]||=e=>u(`back`)},[s(O,{size:16}),m[8]||=i(` بازگشت به سفارش‌گذاری `,-1)])])])):(a(),l(`div`,_e,[t(`div`,ve,[t(`table`,ye,[m[11]||=t(`thead`,null,[t(`tr`,null,[t(`th`,{scope:`col`},`محصول`),t(`th`,{scope:`col`},`شرکت`),t(`th`,{scope:`col`},`کد`),t(`th`,{scope:`col`},`متراژ (متر)`),t(`th`,{scope:`col`},`حذف`)])],-1),t(`tbody`,null,[(a(!0),l(n,null,p(r.items,e=>(a(),l(`tr`,{key:e.id},[t(`td`,null,[t(`strong`,be,f(e.productName),1)]),t(`td`,null,f(e.companyName||`—`),1),t(`td`,null,f(e.productCode),1),t(`td`,null,f(x(C)(e.meterage)),1),t(`td`,null,[t(`button`,{type:`button`,class:`cart-items-table__delete`,"aria-label":`حذف`,onClick:t=>u(`remove`,e.id)},[s(R,{size:18})],8,xe)])]))),128))])])])]))]),t(`aside`,Se,[t(`div`,Ce,[t(`h2`,we,[t(`span`,Te,[s(F,{size:22})]),m[12]||=i(` خلاصه سفارش `,-1)]),t(`div`,Ee,[t(`div`,De,[t(`span`,Oe,[s(I,{size:16}),m[13]||=i(` تعداد آیتم‌ها `,-1)]),t(`strong`,null,f(x(C)(r.items.length)),1)]),t(`div`,ke,[t(`span`,Ae,[s(M,{size:16}),m[14]||=i(` متراژ کل `,-1)]),t(`strong`,null,f(x(S)(r.totalMeterage)),1)]),(a(!0),l(n,null,p(r.companySummaries??[],e=>(a(),l(`div`,{key:e.companyId,class:`cart-summary-card__row cart-summary-card__row--sub`},[t(`span`,je,f(e.companyName),1),t(`strong`,null,[i(f(x(S)(e.meterage))+` `,1),t(`span`,Me,`/ `+f(x(S)(e.maxMeterage)),1)])]))),128)),t(`div`,Ne,[t(`span`,Pe,[s(w,{size:16}),m[15]||=i(` مبلغ فاکتور `,-1)]),m[16]||=t(`span`,{class:`cart-summary-card__hint-value`},` پس از قیمت‌گذاری مدیریت `,-1)])]),t(`button`,{type:`button`,class:`cart-summary-card__cta`,disabled:r.isEmpty||r.submitting,onClick:m[2]||=e=>u(`checkout`)},[s(O,{size:16}),i(` `+f(r.submitting?`در حال ثبت…`:`ثبت پیش‌سفارش`),1)],8,$),m[17]||=t(`p`,{class:`cart-summary-card__note`},` اقلام همه شرکت‌ها در یک سبد و یک فاکتور ثبت می‌شوند؛ پس از قیمت‌گذاری، یک‌بار تسویه می‌کنید. `,-1)]),t(`div`,Fe,[t(`h3`,Ie,[t(`span`,Le,[s(se,{size:18})]),m[18]||=i(` راهنمای گام بعدی `,-1)]),t(`p`,Re,[m[19]||=i(` پس از انتخاب شرکت و افزودن محصولات، متراژ کل و سقف مجاز فاکتور را بررسی کنید. `,-1),r.isEmpty?c(``,!0):(a(),l(n,{key:0},[i(` سقف مجاز: `+f(x(S)(r.maxMeterage))+` — باقی‌مانده: `+f(x(S)(r.remainingCapacity))+`. `,1)],64)),m[20]||=i(` سپس برای تکمیل سفارش، گزینه «ادامه و انتخاب تسویه» را بزنید. `,-1)])])])]),t(`nav`,ze,[(a(),l(n,null,p(_,n=>t(`button`,{key:n.title,type:`button`,class:`cart-quick-nav__item`,onClick:e=>n.action()},[t(`span`,{class:d([`cart-quick-nav__icon`,`cart-quick-nav__icon--${n.tone}`])},[(a(),h(e(n.icon),{size:20}))],2),t(`span`,Ve,[t(`strong`,He,f(n.title),1),t(`span`,Ue,f(n.desc),1)]),s(O,{size:16,class:`cart-quick-nav__chevron`,"aria-hidden":`true`})],8,Be)),64))]),m[21]||=t(`p`,{class:`cart-desktop-page__footer`},`پارس بافت — سامانه سفارش‌گذاری پارچه`,-1)]))}}),[[`__scopeId`,`data-v-ceb44f7f`]]),Ge={class:`cart-view`},Ke={class:`dialog card`},qe={class:`dialog-actions`},Je=_(u({__name:`CartView`,setup(e){let n=m(),{cartStore:o,items:u,isEmpty:d,companyName:f,companySummaries:p,showFullDialog:g,submitting:_,submitError:y,removeItem:b,proceedToCheckout:S,proceedAnyway:C,createNewInvoice:w}=L();function T(){n.push(`/categories`)}return(e,m)=>(a(),l(`div`,Ge,[x(y)?(a(),h(te,{key:0,message:x(y),class:`cart-view__error`},null,8,[`message`])):c(``,!0),s(oe,{class:`mobile-only`,items:x(u),"company-name":x(f),"company-summaries":x(p),"total-meterage":x(o).totalMeterage,"max-meterage":x(o).maxMeterage,"remaining-capacity":x(o).remainingCapacity,"is-empty":x(d),submitting:x(_),onBack:m[0]||=e=>x(n).push(`/`),onRemove:x(b),onCheckout:x(S),onSelectCompany:m[1]||=e=>T()},null,8,[`items`,`company-name`,`company-summaries`,`total-meterage`,`max-meterage`,`remaining-capacity`,`is-empty`,`submitting`,`onRemove`,`onCheckout`]),s(We,{class:`desktop-only`,items:x(u),"company-name":x(f),"company-summaries":x(p),"total-meterage":x(o).totalMeterage,"max-meterage":x(o).maxMeterage,"remaining-capacity":x(o).remainingCapacity,"is-empty":x(d),submitting:x(_),onRemove:x(b),onCheckout:x(S),onSelectCompany:m[2]||=e=>T(),onBack:T},null,8,[`items`,`company-name`,`company-summaries`,`total-meterage`,`max-meterage`,`remaining-capacity`,`is-empty`,`submitting`,`onRemove`,`onCheckout`]),x(g)?(a(),l(`div`,{key:1,class:`dialog-overlay`,onClick:m[3]||=r(e=>g.value=!1,[`self`])},[t(`div`,Ke,[m[6]||=t(`h3`,null,`سقف متراژ تکمیل شد`,-1),m[7]||=t(`p`,{class:`text-sm`},` سقف متراژ حداقل یک شرکت در سبد پر شده است. می‌توانید همین پیش‌سفارش‌ها را ثبت کنید یا سبد را خالی کرده و فاکتور جدید بسازید. `,-1),t(`div`,qe,[s(D,{variant:`outline`,loading:x(_),onClick:x(C)},{default:v(()=>[...m[4]||=[i(` ثبت همین فاکتور `,-1)]]),_:1},8,[`loading`,`onClick`]),s(D,{onClick:x(w)},{default:v(()=>[...m[5]||=[i(`فاکتور جدید`,-1)]]),_:1},8,[`onClick`])])])])):c(``,!0)]))}}),[[`__scopeId`,`data-v-8b0b9b14`]]);export{Je as default}; \ No newline at end of file diff --git a/dist/assets/CashSettlementView-Cm8c4hlY.js b/dist/assets/CashSettlementView-vG0R5VWI.js similarity index 96% rename from dist/assets/CashSettlementView-Cm8c4hlY.js rename to dist/assets/CashSettlementView-vG0R5VWI.js index 50bf17f..17e6489 100644 --- a/dist/assets/CashSettlementView-Cm8c4hlY.js +++ b/dist/assets/CashSettlementView-vG0R5VWI.js @@ -1 +1 @@ -import{A as e,D as t,I as n,J as r,L as i,N as a,R as o,Tt as s,X as c,_ as l,et as u,j as d,k as f,n as p,nt as m,pt as ee,t as h,xt as g}from"./BasicIcon-B6lR-mG3.js";import{i as te,n as ne}from"./format-BHJptHdF.js";import{t as re}from"./catalog-DNpqlweh.js";import{g as ie,n as _}from"./index-DHK6R1xK.js";import{t as ae}from"./PageHeader-Cza56lK4.js";import{t as oe}from"./useRequirePricedOrder-C1A9oE_o.js";var v=o({__name:`IconSuccessCircle`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(r(),d(h,{icon:`vuesax-linear:tick-circle`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),se={class:`page cash-mobile-page mobile-only`},ce={class:`cash-page__scroll page__scroll`},le={class:`cash-page__success cash-page__success--done`},ue={class:`cash-page__success-title`},y={class:`cash-page__success-subtitle`},b={class:`accounts-panel`},x={class:`accounts-panel__title`},S={class:`bank-card__head`},C={class:`bank-card__name`},w={class:`bank-card__icon`,"aria-hidden":`true`},T={class:`bank-card__field`},E={class:`bank-card__value`,dir:`ltr`},D={class:`bank-card__field`},O={class:`bank-card__value`,dir:`ltr`},k={class:`cash-page__footer`},A={class:`desktop-checkout-shell cash-desktop-page desktop-only`},j={class:`desktop-page__head`},M={class:`desktop-page__subtitle`},N={class:`cash-page__success cash-page__success--done`},P={class:`cash-page__success-title`},de={class:`accounts-panel`},F={class:`accounts-panel__title`},I={class:`desktop-grid-2`},L={class:`bank-card__head`},R={class:`bank-card__name`},z={class:`bank-card__icon`,"aria-hidden":`true`},B={class:`bank-card__field`},V={class:`bank-card__value`,dir:`ltr`},H={class:`bank-card__field`},fe={class:`bank-card__value`,dir:`ltr`},pe={class:`cash-desktop-page__actions`},U=p(o({__name:`CashSettlementView`,setup(o){let d=l(),p=ie(),h=re(),U=ee([]),{orderId:W,order:G}=oe(),K=f(()=>G.value?.companyName??``);u(W,async e=>{e&&!p.getOrderById(e)&&await p.fetchOrder(e)},{immediate:!0}),u(()=>G.value?.id,async e=>{if(!e||!G.value){U.value=[];return}h.companies.length||await h.loadCompanies(),U.value=await p.getBankAccountsForOrder(G.value)},{immediate:!0});let q=f(()=>G.value?.finalAmount?ne(G.value.finalAmount):`—`),J=f(()=>{let e=G.value?.cashInvoiceExpiresAt;return e?`مهلت پرداخت این فاکتور تا ${te(e)} است.`:`مبلغ فاکتور را به یکی از حساب‌های زیر واریز و رسید را ثبت کنید.`}),Y=f(()=>{let e=K.value.replace(/^شرکت\s+/u,``);return e?`شماره حساب‌های واریز — ${e}`:`شماره حساب‌های واریز`});function X(e){return e.replace(/\D/g,``).replace(/(\d{4})(?=\d)/g,`$1 `).trim()}function Z(e){return e.replace(/\s/g,``).toUpperCase().replace(/(.{4})/g,`$1 `).trim()}function Q(){d.replace(`/orders/${W.value}?track=1`)}function $(){d.replace(`/orders/${W.value}?track=1&receipt=1`)}return(o,l)=>(r(),a(t,null,[e(`div`,se,[i(ae,{title:`تسویه نقدی`,"show-back":``,centered:``,onBack:l[0]||=e=>g(d).push(`/orders/${g(W)}`)}),e(`div`,ce,[e(`div`,le,[i(v,{size:56}),e(`p`,ue,`مبلغ قابل پرداخت `+s(q.value),1),e(`p`,y,s(J.value),1)]),e(`section`,b,[e(`h2`,x,s(Y.value),1),(r(!0),a(t,null,c(U.value,t=>(r(),a(`article`,{key:t.id,class:`bank-card`},[e(`div`,S,[e(`span`,C,s(t.bankName),1),e(`span`,w,s(t.bankName.charAt(0)),1)]),e(`div`,T,[l[1]||=e(`span`,{class:`bank-card__label`},`شماره کارت`,-1),e(`strong`,E,s(X(t.cardNumber)),1)]),e(`div`,D,[l[2]||=e(`span`,{class:`bank-card__label`},`شماره شبا`,-1),e(`strong`,O,s(Z(t.iban)),1)])]))),128))])]),e(`div`,k,[i(_,{variant:`outline`,block:``,onClick:Q},{default:m(()=>[...l[3]||=[n(`مشاهده سفارش`,-1)]]),_:1}),i(_,{block:``,class:`cash-page__submit`,onClick:$},{default:m(()=>[...l[4]||=[n(` ثبت رسید پرداخت `,-1)]]),_:1})])]),e(`div`,A,[e(`header`,j,[l[5]||=e(`h1`,{class:`desktop-page__title`},`تسویه نقدی`,-1),e(`p`,M,s(J.value),1)]),e(`div`,N,[i(v,{size:56}),e(`p`,P,`مبلغ قابل پرداخت `+s(q.value),1)]),e(`section`,de,[e(`h2`,F,s(Y.value),1),e(`div`,I,[(r(!0),a(t,null,c(U.value,t=>(r(),a(`article`,{key:t.id,class:`bank-card`},[e(`div`,L,[e(`span`,R,s(t.bankName),1),e(`span`,z,s(t.bankName.charAt(0)),1)]),e(`div`,B,[l[6]||=e(`span`,{class:`bank-card__label`},`شماره کارت`,-1),e(`strong`,V,s(X(t.cardNumber)),1)]),e(`div`,H,[l[7]||=e(`span`,{class:`bank-card__label`},`شماره شبا`,-1),e(`strong`,fe,s(Z(t.iban)),1)])]))),128))])]),e(`div`,pe,[i(_,{variant:`outline`,class:`desktop-btn-compact`,onClick:Q},{default:m(()=>[...l[8]||=[n(` مشاهده سفارش `,-1)]]),_:1}),i(_,{class:`desktop-btn-compact`,onClick:$},{default:m(()=>[...l[9]||=[n(` ثبت رسید پرداخت `,-1)]]),_:1})])])],64))}}),[[`__scopeId`,`data-v-c299caf6`]]);export{U as default}; \ No newline at end of file +import{A as e,D as t,I as n,J as r,L as i,N as a,R as o,Tt as s,X as c,_ as l,et as u,j as d,k as f,n as p,nt as m,pt as ee,t as h,xt as g}from"./BasicIcon-B6lR-mG3.js";import{i as te,n as ne}from"./format-BHJptHdF.js";import{t as re}from"./catalog-DNpqlweh.js";import{g as ie,n as _}from"./index-B20WsQhf.js";import{t as ae}from"./PageHeader-DXkA75qK.js";import{t as oe}from"./useRequirePricedOrder-BVRY4vCB.js";var v=o({__name:`IconSuccessCircle`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(r(),d(h,{icon:`vuesax-linear:tick-circle`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),se={class:`page cash-mobile-page mobile-only`},ce={class:`cash-page__scroll page__scroll`},le={class:`cash-page__success cash-page__success--done`},ue={class:`cash-page__success-title`},y={class:`cash-page__success-subtitle`},b={class:`accounts-panel`},x={class:`accounts-panel__title`},S={class:`bank-card__head`},C={class:`bank-card__name`},w={class:`bank-card__icon`,"aria-hidden":`true`},T={class:`bank-card__field`},E={class:`bank-card__value`,dir:`ltr`},D={class:`bank-card__field`},O={class:`bank-card__value`,dir:`ltr`},k={class:`cash-page__footer`},A={class:`desktop-checkout-shell cash-desktop-page desktop-only`},j={class:`desktop-page__head`},M={class:`desktop-page__subtitle`},N={class:`cash-page__success cash-page__success--done`},P={class:`cash-page__success-title`},de={class:`accounts-panel`},F={class:`accounts-panel__title`},I={class:`desktop-grid-2`},L={class:`bank-card__head`},R={class:`bank-card__name`},z={class:`bank-card__icon`,"aria-hidden":`true`},B={class:`bank-card__field`},V={class:`bank-card__value`,dir:`ltr`},H={class:`bank-card__field`},fe={class:`bank-card__value`,dir:`ltr`},pe={class:`cash-desktop-page__actions`},U=p(o({__name:`CashSettlementView`,setup(o){let d=l(),p=ie(),h=re(),U=ee([]),{orderId:W,order:G}=oe(),K=f(()=>G.value?.companyName??``);u(W,async e=>{e&&!p.getOrderById(e)&&await p.fetchOrder(e)},{immediate:!0}),u(()=>G.value?.id,async e=>{if(!e||!G.value){U.value=[];return}h.companies.length||await h.loadCompanies(),U.value=await p.getBankAccountsForOrder(G.value)},{immediate:!0});let q=f(()=>G.value?.finalAmount?ne(G.value.finalAmount):`—`),J=f(()=>{let e=G.value?.cashInvoiceExpiresAt;return e?`مهلت پرداخت این فاکتور تا ${te(e)} است.`:`مبلغ فاکتور را به یکی از حساب‌های زیر واریز و رسید را ثبت کنید.`}),Y=f(()=>{let e=K.value.replace(/^شرکت\s+/u,``);return e?`شماره حساب‌های واریز — ${e}`:`شماره حساب‌های واریز`});function X(e){return e.replace(/\D/g,``).replace(/(\d{4})(?=\d)/g,`$1 `).trim()}function Z(e){return e.replace(/\s/g,``).toUpperCase().replace(/(.{4})/g,`$1 `).trim()}function Q(){d.replace(`/orders/${W.value}?track=1`)}function $(){d.replace(`/orders/${W.value}?track=1&receipt=1`)}return(o,l)=>(r(),a(t,null,[e(`div`,se,[i(ae,{title:`تسویه نقدی`,"show-back":``,centered:``,onBack:l[0]||=e=>g(d).push(`/orders/${g(W)}`)}),e(`div`,ce,[e(`div`,le,[i(v,{size:56}),e(`p`,ue,`مبلغ قابل پرداخت `+s(q.value),1),e(`p`,y,s(J.value),1)]),e(`section`,b,[e(`h2`,x,s(Y.value),1),(r(!0),a(t,null,c(U.value,t=>(r(),a(`article`,{key:t.id,class:`bank-card`},[e(`div`,S,[e(`span`,C,s(t.bankName),1),e(`span`,w,s(t.bankName.charAt(0)),1)]),e(`div`,T,[l[1]||=e(`span`,{class:`bank-card__label`},`شماره کارت`,-1),e(`strong`,E,s(X(t.cardNumber)),1)]),e(`div`,D,[l[2]||=e(`span`,{class:`bank-card__label`},`شماره شبا`,-1),e(`strong`,O,s(Z(t.iban)),1)])]))),128))])]),e(`div`,k,[i(_,{variant:`outline`,block:``,onClick:Q},{default:m(()=>[...l[3]||=[n(`مشاهده سفارش`,-1)]]),_:1}),i(_,{block:``,class:`cash-page__submit`,onClick:$},{default:m(()=>[...l[4]||=[n(` ثبت رسید پرداخت `,-1)]]),_:1})])]),e(`div`,A,[e(`header`,j,[l[5]||=e(`h1`,{class:`desktop-page__title`},`تسویه نقدی`,-1),e(`p`,M,s(J.value),1)]),e(`div`,N,[i(v,{size:56}),e(`p`,P,`مبلغ قابل پرداخت `+s(q.value),1)]),e(`section`,de,[e(`h2`,F,s(Y.value),1),e(`div`,I,[(r(!0),a(t,null,c(U.value,t=>(r(),a(`article`,{key:t.id,class:`bank-card`},[e(`div`,L,[e(`span`,R,s(t.bankName),1),e(`span`,z,s(t.bankName.charAt(0)),1)]),e(`div`,B,[l[6]||=e(`span`,{class:`bank-card__label`},`شماره کارت`,-1),e(`strong`,V,s(X(t.cardNumber)),1)]),e(`div`,H,[l[7]||=e(`span`,{class:`bank-card__label`},`شماره شبا`,-1),e(`strong`,fe,s(Z(t.iban)),1)])]))),128))])]),e(`div`,pe,[i(_,{variant:`outline`,class:`desktop-btn-compact`,onClick:Q},{default:m(()=>[...l[8]||=[n(` مشاهده سفارش `,-1)]]),_:1}),i(_,{class:`desktop-btn-compact`,onClick:$},{default:m(()=>[...l[9]||=[n(` ثبت رسید پرداخت `,-1)]]),_:1})])])],64))}}),[[`__scopeId`,`data-v-c299caf6`]]);export{U as default}; \ No newline at end of file diff --git a/dist/assets/CatalogDetailView-BsQdhdj4.js b/dist/assets/CatalogDetailView-BlAXKBtt.js similarity index 99% rename from dist/assets/CatalogDetailView-BsQdhdj4.js rename to dist/assets/CatalogDetailView-BlAXKBtt.js index ea40361..1b26961 100644 --- a/dist/assets/CatalogDetailView-BsQdhdj4.js +++ b/dist/assets/CatalogDetailView-BlAXKBtt.js @@ -1 +1 @@ -import{A as e,D as t,E as n,F as r,I as i,J as a,K as ee,L as o,M as s,N as c,R as l,St as u,Tt as d,X as f,_ as te,et as ne,g as re,j as ie,k as p,n as m,pt as h,t as ae,wt as g,xt as _}from"./BasicIcon-B6lR-mG3.js";import{o as v}from"./format-BHJptHdF.js";import{t as oe}from"./catalog-DNpqlweh.js";import{E as se,l as ce,o as le}from"./index-DHK6R1xK.js";import{t as ue}from"./IconChevronBack-BXRfc2bX.js";import{t as de}from"./PageSkeleton-BImjuI6S.js";import{t as fe}from"./IconShare-CoOzZmBa.js";import{t as pe}from"./crm-DbcoqKAF.js";import{t as me}from"./useGoBack-yePcdjuj.js";import{i as he,o as ge,r as _e,t as y}from"./catalogGallery-sguYVy7M.js";var b=[{id:`demo-milano`,companyId:``,name:`میلانو`,title:`کالیته میلانو`,latinName:`Milano`,subtitle:`پارچه‌های کت‌وشلواری`,imageUrl:`/assets/milano-DWfm45LN.jpg`,patternCount:16,badge:`new`,season:`all_season`,isNew:!0,isPopular:!1},{id:`demo-najran`,companyId:``,name:`نجران`,title:`کالیته نجران`,latinName:`Najran`,subtitle:`پارچه‌های پیراهنی`,imageUrl:`/assets/najran-BcpOdgRK.jpg`,patternCount:14,season:`all_season`,isNew:!1,isPopular:!1},{id:`demo-payizeh`,companyId:``,name:`پاییزه`,title:`کالیته پاییزه`,latinName:`Payizeh`,subtitle:`پارچه‌های شلواری`,imageUrl:`/assets/payizeh-CeElyeeF.jpg`,patternCount:18,season:`all_season`,isNew:!1,isPopular:!1},{id:`demo-classic`,companyId:``,name:`کلاسیک`,title:`کالیته کلاسیک`,latinName:`Classic`,subtitle:`پارچه‌های کت‌وشلواری`,imageUrl:`/assets/classic-DiIciTEG.jpg`,patternCount:16,season:`all_season`,isNew:!1,isPopular:!1},{id:`demo-tarhdar`,companyId:``,name:`طرح‌دار`,title:`کالیته طرح‌دار`,latinName:`Tarhdar`,subtitle:`پارچه‌های مجلسی`,imageUrl:`/assets/tarhdar-ryfL3rgV.jpg`,patternCount:20,badge:`popular`,season:`winter`,isNew:!1,isPopular:!0},{id:`demo-fastoni`,companyId:``,name:`فاستونی`,title:`کالیته فاستونی`,latinName:`Fastoni`,subtitle:`پارچه‌های مناسب چهار فصل`,imageUrl:`/assets/fastoni-BdaZFVHx.jpg`,patternCount:20,season:`all_season`,isNew:!1,isPopular:!1}];function x(e){return b.find(t=>t.id===e)}function S(e){let t=[`${e.name} ۱۰۱`,`${e.name} ۱۰۲`,`${e.name} ۱۰۳`,`${e.name} ۱۰۴`],n=[`plain`,`melange`,`patterned`,`plain`];return t.map((t,r)=>({id:`${e.id}-${r+1}`,name:t,code:`${e.latinName||e.name}-${101+r}`,categoryId:e.subtitle.includes(`پیراهن`)?`shirt`:e.subtitle.includes(`شلوار`)?`trousers`:`suit`,season:e.season,widthCm:150,composition:`پشم و پلی‌استر`,weaveType:n[r]===`plain`?`ساده`:n[r]===`melange`?`ملانژ`:`طرح‌دار`,colors:[`#111827`,`#6b7280`,`#d6d3d1`,`#1e3a5f`].slice(0,3+r%2),tags:[n[r]===`patterned`?`طرح‌دار`:n[r]===`melange`?`ملانژ`:`ساده`],isNew:r===0,imageUrl:e.imageUrl,subtitle:e.subtitle,rollMeters:50}))}var C={class:`page calite-detail`},w={class:`page__scroll page__scroll--with-nav calite-detail__scroll`},T={class:`calite-hero`},E={class:`calite-hero__nav`},D={key:0,class:`calite-hero__copy`},O={class:`calite-hero__usage`},k={key:0,class:`calite-hero__latin`},A={class:`calite-hero__tagline`},j={class:`calite-detail__body`},M={key:1,class:`calite-detail__error`},N={class:`attr-row`},P={class:`attr`},F={class:`attr`},I={class:`physical-cta__icon`,"aria-hidden":`true`},ve={class:`physical-cta__chevron`,"aria-hidden":`true`},ye={class:`pattern-tabs`,role:`tablist`,"aria-label":`نوع طرح`},be=[`onClick`],xe={class:`pattern-grid`},Se=[`onClick`],Ce=[`aria-pressed`,`aria-label`,`onClick`],we={viewBox:`0 0 24 24`,width:`16`,height:`16`,fill:`none`,"aria-hidden":`true`},Te=[`fill`],Ee={class:`pattern-card__meta`},De={class:`pattern-card__colors`},Oe={class:`swatches`},ke={key:0,class:`calite-detail__error`},Ae={key:0,class:`sticky-footer calite-detail__footer`},je=[`disabled`],Me={key:1,class:`toast`},L=m(l({__name:`CatalogDetailView`,setup(l){let m=re(),b=te(),{goBack:L}=me(`/catalogs`),R=oe(),Ne=pe(),Pe=se(),z=ce(),B=p(()=>String(m.params.catalogId??``)),V=h(null),H=h([]),U=h(!0),W=h(null),G=h(!1),K=h(``),q=h(`all`),J=p(()=>_e(V.value?.name||`کالیته`)),Y=p(()=>V.value?.imageUrl||(V.value?x(V.value.id)?.imageUrl:void 0)||H.value.find(e=>e.imageUrl)?.imageUrl),X=p(()=>{let e=V.value?x(V.value.id):void 0;return e?.latinName?e.latinName:V.value?he(V.value):``}),Fe=p(()=>{let e=V.value?x(V.value.id):void 0;if(e?.subtitle)return e.subtitle;let t=H.value[0]?.categoryId;return t===`trousers`?`پارچه‌های شلواری`:t===`shirt`?`پارچه‌های پیراهنی`:`پارچه‌های کت‌وشلواری`}),Z=p(()=>ge(H.value)),Q=p(()=>q.value===`all`?Z.value:Z.value.filter(e=>e.kind===q.value)),Ie=p(()=>{let e=V.value?x(V.value.id):void 0;if(e)return y[e.season];let t={};for(let e of H.value)t[e.season]=(t[e.season]??0)+1;let n=Object.entries(t).sort((e,t)=>t[1]-e[1])[0]?.[0];return n?y[n]:y.all_season}),Le=p(()=>[{id:`all`,label:`همه طرح‌ها`,count:Z.value.length},{id:`plain`,label:`ساده`,count:Z.value.filter(e=>e.kind===`plain`).length},{id:`melange`,label:`ملانژ`,count:Z.value.filter(e=>e.kind===`melange`).length},{id:`patterned`,label:`طرح‌دار`,count:Z.value.filter(e=>e.kind===`patterned`).length}]);async function $(){U.value=!0,W.value=null,V.value=null,H.value=[],q.value=`all`;try{let e=await R.loadCompanies();R.getCatalog(B.value)||await Promise.all(e.map(e=>R.loadCatalogs(e.id))),V.value=R.getCatalog(B.value)??null;let t=x(B.value);if(!V.value&&t){V.value={id:t.id,companyId:``,name:t.name,code:t.latinName||t.name,description:`ترکیبی از اصالت، کیفیت و استایل مدرن`,displayOrder:0,isActive:!0},H.value=S(t);return}if(!V.value){W.value=`کالیته مورد نظر یافت نشد.`;return}H.value=await Ne.loadBrowseProducts({catalogId:V.value.id,companyId:V.value.companyId}),!H.value.length&&t&&(H.value=S(t))}catch(e){W.value=e instanceof Error?e.message:`بارگذاری کالیته ناموفق بود.`}finally{U.value=!1}}ee(async()=>{await z.hydrate(),await $()}),ne(B,$);function Re(e){e.startsWith(`demo-`)||b.push({path:`/product`,query:{id:e}})}function ze(e){z.toggle(e)}function Be(){b.push({path:`/catalog-request`,query:{catalogId:B.value}})}function Ve(){let e=window.location.href;if(navigator.share){navigator.share({title:J.value,url:e}).catch(()=>void 0);return}navigator.clipboard?.writeText(e)}function He(e){return{id:e.id,companyId:e.companyId||V.value?.companyId||``,catalogId:e.catalogId||B.value,name:e.name,code:e.code,color:e.color||e.colors[0]||`—`,minMeterage:e.minMeterage??30,orderMultiplier:e.orderMultiplier??10,basePrice:e.basePrice,isActive:!0}}async function Ue(){if(!H.value.length||G.value)return;G.value=!0,K.value=``;let e=0,t=``;try{for(let n of H.value){let r=He(n),i=await Pe.addItem(r,V.value?.code||n.catalogCode||n.code,r.minMeterage);i.success?e+=1:t=i.message||t}K.value=e?`${v(e)} طرح به سبد استعلام اضافه شد.`:t||`افزودن به سبد ناموفق بود.`,e&&window.setTimeout(()=>b.push(`/cart`),650)}finally{G.value=!1}}return(ee,l)=>(a(),c(`div`,C,[e(`div`,w,[e(`section`,T,[e(`div`,{class:`calite-hero__photo`,style:g(Y.value?{backgroundImage:`url(${Y.value})`}:void 0)},null,4),e(`header`,E,[e(`button`,{type:`button`,class:`icon-btn`,"aria-label":`بازگشت`,onClick:l[0]||=(...e)=>_(L)&&_(L)(...e)},[o(ue,{size:22,color:`#ffffff`})]),e(`h1`,null,d(U.value?`کالیته`:J.value),1),e(`button`,{type:`button`,class:`icon-btn`,"aria-label":`اشتراک‌گذاری`,onClick:Ve},[o(fe,{size:20,color:`#ffffff`})])]),!U.value&&!W.value?(a(),c(`div`,D,[e(`h2`,null,d(J.value),1),e(`p`,O,d(Fe.value),1),X.value?(a(),c(`strong`,k,d(X.value),1)):s(``,!0),e(`span`,A,d(V.value?.description||`ترکیبی از اصالت، کیفیت و استایل مدرن`),1)])):s(``,!0)]),e(`div`,j,[U.value?(a(),ie(de,{key:0,variant:`cards`,rows:5})):W.value?(a(),c(`p`,M,d(W.value),1)):(a(),c(t,{key:2},[e(`div`,N,[e(`span`,P,[l[1]||=e(`svg`,{class:`attr__icon`,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":`true`},[e(`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`}),e(`path`,{d:`M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`}),e(`path`,{d:`M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`})],-1),i(` `+d(_(v)(Z.value.length))+` طرح `,1)]),e(`span`,F,[l[2]||=e(`svg`,{class:`attr__icon`,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":`true`},[e(`circle`,{cx:`12`,cy:`12`,r:`4`,stroke:`currentColor`,"stroke-width":`1.5`}),e(`path`,{d:`M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`})],-1),i(` `+d(Ie.value),1)]),l[3]||=r(` پرطرفدار کیفیت ممتاز `,2)]),e(`button`,{type:`button`,class:`physical-cta`,onClick:Be},[e(`span`,I,[o(ae,{icon:`vuesax-linear:truck-time`,size:20,color:`#ffffff`})]),l[4]||=i(` درخواست دریافت فیزیکی کالیته `,-1),e(`span`,ve,[o(le,{size:18,color:`#ffffff`})])]),e(`div`,ye,[(a(!0),c(t,null,f(Le.value,e=>(a(),c(`button`,{key:e.id,type:`button`,class:u([`pattern-tab`,{"is-on":q.value===e.id}]),onClick:t=>q.value=e.id},[i(d(e.label),1),e.id===`all`?(a(),c(t,{key:0},[i(` (`+d(_(v)(e.count))+`)`,1)],64)):s(``,!0)],10,be))),128))]),e(`div`,xe,[(a(!0),c(t,null,f(Q.value,r=>(a(),c(`article`,{key:r.id,class:`pattern-card`,onClick:e=>Re(r.id)},[e(`div`,{class:`pattern-card__photo`,style:g(r.imageUrl?{backgroundImage:`url(${r.imageUrl})`}:void 0)},[e(`button`,{type:`button`,class:`pattern-card__fav`,"aria-pressed":_(z).isFavorite(r.id),"aria-label":_(z).isFavorite(r.id)?`حذف از علاقه‌مندی‌ها`:`افزودن به علاقه‌مندی‌ها`,onClick:n(e=>ze(r.id),[`stop`])},[(a(),c(`svg`,we,[e(`path`,{d:`M12.1 20.3s-6.6-4.1-8.4-8.1c-1.4-3.1.1-6.7 3.4-7.5 1.9-.5 3.7.3 4.9 1.8 1.2-1.5 3-2.3 4.9-1.8 3.3.8 4.8 4.4 3.4 7.5-1.8 4-8.2 8.1-8.2 8.1Z`,fill:_(z).isFavorite(r.id)?`var(--color-primary)`:`none`,stroke:`var(--color-primary)`,"stroke-width":`1.5`,"stroke-linejoin":`round`},null,8,Te)]))],8,Ce)],4),e(`div`,Ee,[e(`strong`,null,d(r.name),1),e(`div`,De,[e(`span`,null,d(_(v)(r.colorCount))+` رنگ`,1),e(`div`,Oe,[(a(!0),c(t,null,f(r.colors,(e,t)=>(a(),c(`i`,{key:t,style:g({background:e})},null,4))),128))])])])],8,Se))),128))]),Q.value.length?s(``,!0):(a(),c(`p`,ke,`طرحی در این دسته نیست.`))],64))])]),!U.value&&H.value.length?(a(),c(`div`,Ae,[e(`button`,{type:`button`,class:`inquiry-bar`,disabled:G.value,onClick:Ue},[i(d(G.value?`در حال افزودن...`:`افزودن همه به سبد استعلام`)+` `,1),e(`small`,null,d(_(v)(Z.value.length))+` طرح انتخاب می‌شود`,1)],8,je)])):s(``,!0),K.value?(a(),c(`p`,Me,d(K.value),1)):s(``,!0)]))}}),[[`__scopeId`,`data-v-0392ee95`]]);export{L as default}; \ No newline at end of file +import{A as e,D as t,E as n,F as r,I as i,J as a,K as ee,L as o,M as s,N as c,R as l,St as u,Tt as d,X as f,_ as te,et as ne,g as re,j as ie,k as p,n as m,pt as h,t as ae,wt as g,xt as _}from"./BasicIcon-B6lR-mG3.js";import{o as v}from"./format-BHJptHdF.js";import{t as oe}from"./catalog-DNpqlweh.js";import{E as se,l as ce,o as le}from"./index-B20WsQhf.js";import{t as ue}from"./IconChevronBack-BXRfc2bX.js";import{t as de}from"./PageSkeleton-BImjuI6S.js";import{t as fe}from"./IconShare-CoOzZmBa.js";import{t as pe}from"./crm-DbcoqKAF.js";import{t as me}from"./useGoBack-yePcdjuj.js";import{i as he,o as ge,r as _e,t as y}from"./catalogGallery-sguYVy7M.js";var b=[{id:`demo-milano`,companyId:``,name:`میلانو`,title:`کالیته میلانو`,latinName:`Milano`,subtitle:`پارچه‌های کت‌وشلواری`,imageUrl:`/assets/milano-DWfm45LN.jpg`,patternCount:16,badge:`new`,season:`all_season`,isNew:!0,isPopular:!1},{id:`demo-najran`,companyId:``,name:`نجران`,title:`کالیته نجران`,latinName:`Najran`,subtitle:`پارچه‌های پیراهنی`,imageUrl:`/assets/najran-BcpOdgRK.jpg`,patternCount:14,season:`all_season`,isNew:!1,isPopular:!1},{id:`demo-payizeh`,companyId:``,name:`پاییزه`,title:`کالیته پاییزه`,latinName:`Payizeh`,subtitle:`پارچه‌های شلواری`,imageUrl:`/assets/payizeh-CeElyeeF.jpg`,patternCount:18,season:`all_season`,isNew:!1,isPopular:!1},{id:`demo-classic`,companyId:``,name:`کلاسیک`,title:`کالیته کلاسیک`,latinName:`Classic`,subtitle:`پارچه‌های کت‌وشلواری`,imageUrl:`/assets/classic-DiIciTEG.jpg`,patternCount:16,season:`all_season`,isNew:!1,isPopular:!1},{id:`demo-tarhdar`,companyId:``,name:`طرح‌دار`,title:`کالیته طرح‌دار`,latinName:`Tarhdar`,subtitle:`پارچه‌های مجلسی`,imageUrl:`/assets/tarhdar-ryfL3rgV.jpg`,patternCount:20,badge:`popular`,season:`winter`,isNew:!1,isPopular:!0},{id:`demo-fastoni`,companyId:``,name:`فاستونی`,title:`کالیته فاستونی`,latinName:`Fastoni`,subtitle:`پارچه‌های مناسب چهار فصل`,imageUrl:`/assets/fastoni-BdaZFVHx.jpg`,patternCount:20,season:`all_season`,isNew:!1,isPopular:!1}];function x(e){return b.find(t=>t.id===e)}function S(e){let t=[`${e.name} ۱۰۱`,`${e.name} ۱۰۲`,`${e.name} ۱۰۳`,`${e.name} ۱۰۴`],n=[`plain`,`melange`,`patterned`,`plain`];return t.map((t,r)=>({id:`${e.id}-${r+1}`,name:t,code:`${e.latinName||e.name}-${101+r}`,categoryId:e.subtitle.includes(`پیراهن`)?`shirt`:e.subtitle.includes(`شلوار`)?`trousers`:`suit`,season:e.season,widthCm:150,composition:`پشم و پلی‌استر`,weaveType:n[r]===`plain`?`ساده`:n[r]===`melange`?`ملانژ`:`طرح‌دار`,colors:[`#111827`,`#6b7280`,`#d6d3d1`,`#1e3a5f`].slice(0,3+r%2),tags:[n[r]===`patterned`?`طرح‌دار`:n[r]===`melange`?`ملانژ`:`ساده`],isNew:r===0,imageUrl:e.imageUrl,subtitle:e.subtitle,rollMeters:50}))}var C={class:`page calite-detail`},w={class:`page__scroll page__scroll--with-nav calite-detail__scroll`},T={class:`calite-hero`},E={class:`calite-hero__nav`},D={key:0,class:`calite-hero__copy`},O={class:`calite-hero__usage`},k={key:0,class:`calite-hero__latin`},A={class:`calite-hero__tagline`},j={class:`calite-detail__body`},M={key:1,class:`calite-detail__error`},N={class:`attr-row`},P={class:`attr`},F={class:`attr`},I={class:`physical-cta__icon`,"aria-hidden":`true`},ve={class:`physical-cta__chevron`,"aria-hidden":`true`},ye={class:`pattern-tabs`,role:`tablist`,"aria-label":`نوع طرح`},be=[`onClick`],xe={class:`pattern-grid`},Se=[`onClick`],Ce=[`aria-pressed`,`aria-label`,`onClick`],we={viewBox:`0 0 24 24`,width:`16`,height:`16`,fill:`none`,"aria-hidden":`true`},Te=[`fill`],Ee={class:`pattern-card__meta`},De={class:`pattern-card__colors`},Oe={class:`swatches`},ke={key:0,class:`calite-detail__error`},Ae={key:0,class:`sticky-footer calite-detail__footer`},je=[`disabled`],Me={key:1,class:`toast`},L=m(l({__name:`CatalogDetailView`,setup(l){let m=re(),b=te(),{goBack:L}=me(`/catalogs`),R=oe(),Ne=pe(),Pe=se(),z=ce(),B=p(()=>String(m.params.catalogId??``)),V=h(null),H=h([]),U=h(!0),W=h(null),G=h(!1),K=h(``),q=h(`all`),J=p(()=>_e(V.value?.name||`کالیته`)),Y=p(()=>V.value?.imageUrl||(V.value?x(V.value.id)?.imageUrl:void 0)||H.value.find(e=>e.imageUrl)?.imageUrl),X=p(()=>{let e=V.value?x(V.value.id):void 0;return e?.latinName?e.latinName:V.value?he(V.value):``}),Fe=p(()=>{let e=V.value?x(V.value.id):void 0;if(e?.subtitle)return e.subtitle;let t=H.value[0]?.categoryId;return t===`trousers`?`پارچه‌های شلواری`:t===`shirt`?`پارچه‌های پیراهنی`:`پارچه‌های کت‌وشلواری`}),Z=p(()=>ge(H.value)),Q=p(()=>q.value===`all`?Z.value:Z.value.filter(e=>e.kind===q.value)),Ie=p(()=>{let e=V.value?x(V.value.id):void 0;if(e)return y[e.season];let t={};for(let e of H.value)t[e.season]=(t[e.season]??0)+1;let n=Object.entries(t).sort((e,t)=>t[1]-e[1])[0]?.[0];return n?y[n]:y.all_season}),Le=p(()=>[{id:`all`,label:`همه طرح‌ها`,count:Z.value.length},{id:`plain`,label:`ساده`,count:Z.value.filter(e=>e.kind===`plain`).length},{id:`melange`,label:`ملانژ`,count:Z.value.filter(e=>e.kind===`melange`).length},{id:`patterned`,label:`طرح‌دار`,count:Z.value.filter(e=>e.kind===`patterned`).length}]);async function $(){U.value=!0,W.value=null,V.value=null,H.value=[],q.value=`all`;try{let e=await R.loadCompanies();R.getCatalog(B.value)||await Promise.all(e.map(e=>R.loadCatalogs(e.id))),V.value=R.getCatalog(B.value)??null;let t=x(B.value);if(!V.value&&t){V.value={id:t.id,companyId:``,name:t.name,code:t.latinName||t.name,description:`ترکیبی از اصالت، کیفیت و استایل مدرن`,displayOrder:0,isActive:!0},H.value=S(t);return}if(!V.value){W.value=`کالیته مورد نظر یافت نشد.`;return}H.value=await Ne.loadBrowseProducts({catalogId:V.value.id,companyId:V.value.companyId}),!H.value.length&&t&&(H.value=S(t))}catch(e){W.value=e instanceof Error?e.message:`بارگذاری کالیته ناموفق بود.`}finally{U.value=!1}}ee(async()=>{await z.hydrate(),await $()}),ne(B,$);function Re(e){e.startsWith(`demo-`)||b.push({path:`/product`,query:{id:e}})}function ze(e){z.toggle(e)}function Be(){b.push({path:`/catalog-request`,query:{catalogId:B.value}})}function Ve(){let e=window.location.href;if(navigator.share){navigator.share({title:J.value,url:e}).catch(()=>void 0);return}navigator.clipboard?.writeText(e)}function He(e){return{id:e.id,companyId:e.companyId||V.value?.companyId||``,catalogId:e.catalogId||B.value,name:e.name,code:e.code,color:e.color||e.colors[0]||`—`,minMeterage:e.minMeterage??30,orderMultiplier:e.orderMultiplier??10,basePrice:e.basePrice,isActive:!0}}async function Ue(){if(!H.value.length||G.value)return;G.value=!0,K.value=``;let e=0,t=``;try{for(let n of H.value){let r=He(n),i=await Pe.addItem(r,V.value?.code||n.catalogCode||n.code,r.minMeterage);i.success?e+=1:t=i.message||t}K.value=e?`${v(e)} طرح به سبد استعلام اضافه شد.`:t||`افزودن به سبد ناموفق بود.`,e&&window.setTimeout(()=>b.push(`/cart`),650)}finally{G.value=!1}}return(ee,l)=>(a(),c(`div`,C,[e(`div`,w,[e(`section`,T,[e(`div`,{class:`calite-hero__photo`,style:g(Y.value?{backgroundImage:`url(${Y.value})`}:void 0)},null,4),e(`header`,E,[e(`button`,{type:`button`,class:`icon-btn`,"aria-label":`بازگشت`,onClick:l[0]||=(...e)=>_(L)&&_(L)(...e)},[o(ue,{size:22,color:`#ffffff`})]),e(`h1`,null,d(U.value?`کالیته`:J.value),1),e(`button`,{type:`button`,class:`icon-btn`,"aria-label":`اشتراک‌گذاری`,onClick:Ve},[o(fe,{size:20,color:`#ffffff`})])]),!U.value&&!W.value?(a(),c(`div`,D,[e(`h2`,null,d(J.value),1),e(`p`,O,d(Fe.value),1),X.value?(a(),c(`strong`,k,d(X.value),1)):s(``,!0),e(`span`,A,d(V.value?.description||`ترکیبی از اصالت، کیفیت و استایل مدرن`),1)])):s(``,!0)]),e(`div`,j,[U.value?(a(),ie(de,{key:0,variant:`cards`,rows:5})):W.value?(a(),c(`p`,M,d(W.value),1)):(a(),c(t,{key:2},[e(`div`,N,[e(`span`,P,[l[1]||=e(`svg`,{class:`attr__icon`,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":`true`},[e(`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`}),e(`path`,{d:`M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`}),e(`path`,{d:`M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`})],-1),i(` `+d(_(v)(Z.value.length))+` طرح `,1)]),e(`span`,F,[l[2]||=e(`svg`,{class:`attr__icon`,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":`true`},[e(`circle`,{cx:`12`,cy:`12`,r:`4`,stroke:`currentColor`,"stroke-width":`1.5`}),e(`path`,{d:`M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`})],-1),i(` `+d(Ie.value),1)]),l[3]||=r(` پرطرفدار کیفیت ممتاز `,2)]),e(`button`,{type:`button`,class:`physical-cta`,onClick:Be},[e(`span`,I,[o(ae,{icon:`vuesax-linear:truck-time`,size:20,color:`#ffffff`})]),l[4]||=i(` درخواست دریافت فیزیکی کالیته `,-1),e(`span`,ve,[o(le,{size:18,color:`#ffffff`})])]),e(`div`,ye,[(a(!0),c(t,null,f(Le.value,e=>(a(),c(`button`,{key:e.id,type:`button`,class:u([`pattern-tab`,{"is-on":q.value===e.id}]),onClick:t=>q.value=e.id},[i(d(e.label),1),e.id===`all`?(a(),c(t,{key:0},[i(` (`+d(_(v)(e.count))+`)`,1)],64)):s(``,!0)],10,be))),128))]),e(`div`,xe,[(a(!0),c(t,null,f(Q.value,r=>(a(),c(`article`,{key:r.id,class:`pattern-card`,onClick:e=>Re(r.id)},[e(`div`,{class:`pattern-card__photo`,style:g(r.imageUrl?{backgroundImage:`url(${r.imageUrl})`}:void 0)},[e(`button`,{type:`button`,class:`pattern-card__fav`,"aria-pressed":_(z).isFavorite(r.id),"aria-label":_(z).isFavorite(r.id)?`حذف از علاقه‌مندی‌ها`:`افزودن به علاقه‌مندی‌ها`,onClick:n(e=>ze(r.id),[`stop`])},[(a(),c(`svg`,we,[e(`path`,{d:`M12.1 20.3s-6.6-4.1-8.4-8.1c-1.4-3.1.1-6.7 3.4-7.5 1.9-.5 3.7.3 4.9 1.8 1.2-1.5 3-2.3 4.9-1.8 3.3.8 4.8 4.4 3.4 7.5-1.8 4-8.2 8.1-8.2 8.1Z`,fill:_(z).isFavorite(r.id)?`var(--color-primary)`:`none`,stroke:`var(--color-primary)`,"stroke-width":`1.5`,"stroke-linejoin":`round`},null,8,Te)]))],8,Ce)],4),e(`div`,Ee,[e(`strong`,null,d(r.name),1),e(`div`,De,[e(`span`,null,d(_(v)(r.colorCount))+` رنگ`,1),e(`div`,Oe,[(a(!0),c(t,null,f(r.colors,(e,t)=>(a(),c(`i`,{key:t,style:g({background:e})},null,4))),128))])])])],8,Se))),128))]),Q.value.length?s(``,!0):(a(),c(`p`,ke,`طرحی در این دسته نیست.`))],64))])]),!U.value&&H.value.length?(a(),c(`div`,Ae,[e(`button`,{type:`button`,class:`inquiry-bar`,disabled:G.value,onClick:Ue},[i(d(G.value?`در حال افزودن...`:`افزودن همه به سبد استعلام`)+` `,1),e(`small`,null,d(_(v)(Z.value.length))+` طرح انتخاب می‌شود`,1)],8,je)])):s(``,!0),K.value?(a(),c(`p`,Me,d(K.value),1)):s(``,!0)]))}}),[[`__scopeId`,`data-v-0392ee95`]]);export{L as default}; \ No newline at end of file diff --git a/dist/assets/CatalogListView-BehaKwNn.js b/dist/assets/CatalogListView-B7h2JJn8.js similarity index 96% rename from dist/assets/CatalogListView-BehaKwNn.js rename to dist/assets/CatalogListView-B7h2JJn8.js index f8a3532..942ac76 100644 --- a/dist/assets/CatalogListView-BehaKwNn.js +++ b/dist/assets/CatalogListView-B7h2JJn8.js @@ -1 +1 @@ -import{A as e,D as t,J as n,K as r,L as i,N as a,R as o,Tt as s,X as c,_ as l,et as u,g as d,j as f,k as p,n as m,pt as h,xt as g}from"./BasicIcon-B6lR-mG3.js";import{t as _}from"./catalog-DNpqlweh.js";import{x as v}from"./index-DHK6R1xK.js";import{t as y}from"./EmptyState-C6UAJ5_3.js";import{t as b}from"./PageSkeleton-BImjuI6S.js";import{t as x}from"./PageHeader-Cza56lK4.js";import{t as S}from"./SearchField-txVsGGXT.js";var C={class:`page catalog-mobile-page mobile-only`},w={class:`page__scroll page__scroll--with-nav catalog-mobile-scroll`},T={key:1,class:`catalog-mobile-list`},E=[`onClick`],D={class:`catalog-card__icon`},O={class:`catalog-card__info`},k={class:`catalog-card__count`},A={class:`desktop-page catalog-desktop-page desktop-only`},j={class:`desktop-page__head`},M={class:`desktop-page__title`},N={key:0,class:`desktop-grid-3`},P=[`onClick`],F={class:`catalog-card__icon`},I={class:`catalog-card__info`},L={class:`catalog-card__count`},R=m(o({__name:`CatalogListView`,setup(o){let m=d(),R=l(),z=_(),B=h(!0),V=p(()=>m.params.companyId),H=p(()=>z.getCompany(V.value)),U=h(``),W=p(()=>z.fetchCatalogs(V.value,U.value));async function G(){B.value=!0,z.getCompany(V.value)||await z.loadCompanies(),await z.loadCatalogs(V.value),B.value=!1}r(G),u(V,G);function K(e){R.push({name:`catalog-detail`,params:{catalogId:e}})}function q(e){let t=z.getCatalog(e);return t?.productCount==null?z.fetchProducts(e).length:t.productCount}return(r,o)=>(n(),a(t,null,[e(`div`,C,[i(x,{title:H.value?.name??`کالیته‌ها`,subtitle:`کالیته مورد نظر را انتخاب کنید`,"show-back":``,centered:``,onBack:o[0]||=e=>g(R).push(`/`)},null,8,[`title`]),i(S,{modelValue:U.value,"onUpdate:modelValue":o[1]||=e=>U.value=e,placeholder:`جستجو بر اساس کد یا نام کالیته...`,class:`catalog-page__search`},null,8,[`modelValue`]),e(`div`,w,[B.value?(n(),f(b,{key:0,variant:`cards`,rows:5})):W.value.length>0?(n(),a(`div`,T,[(n(!0),a(t,null,c(W.value,t=>(n(),a(`button`,{key:t.id,type:`button`,class:`catalog-card`,onClick:e=>K(t.id)},[e(`span`,D,[i(v,{size:22})]),e(`div`,O,[e(`h3`,null,`کالیته کد `+s(t.code),1),e(`p`,null,s(t.name),1)]),e(`span`,k,s(q(t.id))+` محصول`,1)],8,E))),128))])):(n(),f(y,{key:2,variant:U.value?`search`:`catalogs`,message:U.value?`با این جستجو کالیته‌ای پیدا نشد`:`برای این شرکت هنوز کالیته‌ای ثبت نشده است`},null,8,[`variant`,`message`]))])]),e(`div`,A,[e(`header`,j,[e(`h1`,M,s(H.value?.name??`کالیته‌ها`),1),o[3]||=e(`p`,{class:`desktop-page__subtitle`},`کالیته مورد نظر را انتخاب کنید`,-1)]),i(S,{modelValue:U.value,"onUpdate:modelValue":o[2]||=e=>U.value=e,placeholder:`جستجو بر اساس کد یا نام کالیته...`,class:`catalog-page__search`},null,8,[`modelValue`]),W.value.length>0?(n(),a(`div`,N,[(n(!0),a(t,null,c(W.value,t=>(n(),a(`button`,{key:t.id,type:`button`,class:`catalog-card catalog-card--desktop`,onClick:e=>K(t.id)},[e(`span`,F,[i(v,{size:24})]),e(`div`,I,[e(`h3`,null,`کالیته کد `+s(t.code),1),e(`p`,null,s(t.name),1)]),e(`span`,L,s(q(t.id))+` محصول`,1)],8,P))),128))])):(n(),f(y,{key:1,variant:U.value?`search`:`catalogs`,message:U.value?`با این جستجو کالیته‌ای پیدا نشد`:`برای این شرکت هنوز کالیته‌ای ثبت نشده است`},null,8,[`variant`,`message`]))])],64))}}),[[`__scopeId`,`data-v-986a9367`]]);export{R as default}; \ No newline at end of file +import{A as e,D as t,J as n,K as r,L as i,N as a,R as o,Tt as s,X as c,_ as l,et as u,g as d,j as f,k as p,n as m,pt as h,xt as g}from"./BasicIcon-B6lR-mG3.js";import{t as _}from"./catalog-DNpqlweh.js";import{x as v}from"./index-B20WsQhf.js";import{t as y}from"./EmptyState-C6UAJ5_3.js";import{t as b}from"./PageSkeleton-BImjuI6S.js";import{t as x}from"./PageHeader-DXkA75qK.js";import{t as S}from"./SearchField-txVsGGXT.js";var C={class:`page catalog-mobile-page mobile-only`},w={class:`page__scroll page__scroll--with-nav catalog-mobile-scroll`},T={key:1,class:`catalog-mobile-list`},E=[`onClick`],D={class:`catalog-card__icon`},O={class:`catalog-card__info`},k={class:`catalog-card__count`},A={class:`desktop-page catalog-desktop-page desktop-only`},j={class:`desktop-page__head`},M={class:`desktop-page__title`},N={key:0,class:`desktop-grid-3`},P=[`onClick`],F={class:`catalog-card__icon`},I={class:`catalog-card__info`},L={class:`catalog-card__count`},R=m(o({__name:`CatalogListView`,setup(o){let m=d(),R=l(),z=_(),B=h(!0),V=p(()=>m.params.companyId),H=p(()=>z.getCompany(V.value)),U=h(``),W=p(()=>z.fetchCatalogs(V.value,U.value));async function G(){B.value=!0,z.getCompany(V.value)||await z.loadCompanies(),await z.loadCatalogs(V.value),B.value=!1}r(G),u(V,G);function K(e){R.push({name:`catalog-detail`,params:{catalogId:e}})}function q(e){let t=z.getCatalog(e);return t?.productCount==null?z.fetchProducts(e).length:t.productCount}return(r,o)=>(n(),a(t,null,[e(`div`,C,[i(x,{title:H.value?.name??`کالیته‌ها`,subtitle:`کالیته مورد نظر را انتخاب کنید`,"show-back":``,centered:``,onBack:o[0]||=e=>g(R).push(`/`)},null,8,[`title`]),i(S,{modelValue:U.value,"onUpdate:modelValue":o[1]||=e=>U.value=e,placeholder:`جستجو بر اساس کد یا نام کالیته...`,class:`catalog-page__search`},null,8,[`modelValue`]),e(`div`,w,[B.value?(n(),f(b,{key:0,variant:`cards`,rows:5})):W.value.length>0?(n(),a(`div`,T,[(n(!0),a(t,null,c(W.value,t=>(n(),a(`button`,{key:t.id,type:`button`,class:`catalog-card`,onClick:e=>K(t.id)},[e(`span`,D,[i(v,{size:22})]),e(`div`,O,[e(`h3`,null,`کالیته کد `+s(t.code),1),e(`p`,null,s(t.name),1)]),e(`span`,k,s(q(t.id))+` محصول`,1)],8,E))),128))])):(n(),f(y,{key:2,variant:U.value?`search`:`catalogs`,message:U.value?`با این جستجو کالیته‌ای پیدا نشد`:`برای این شرکت هنوز کالیته‌ای ثبت نشده است`},null,8,[`variant`,`message`]))])]),e(`div`,A,[e(`header`,j,[e(`h1`,M,s(H.value?.name??`کالیته‌ها`),1),o[3]||=e(`p`,{class:`desktop-page__subtitle`},`کالیته مورد نظر را انتخاب کنید`,-1)]),i(S,{modelValue:U.value,"onUpdate:modelValue":o[2]||=e=>U.value=e,placeholder:`جستجو بر اساس کد یا نام کالیته...`,class:`catalog-page__search`},null,8,[`modelValue`]),W.value.length>0?(n(),a(`div`,N,[(n(!0),a(t,null,c(W.value,t=>(n(),a(`button`,{key:t.id,type:`button`,class:`catalog-card catalog-card--desktop`,onClick:e=>K(t.id)},[e(`span`,F,[i(v,{size:24})]),e(`div`,I,[e(`h3`,null,`کالیته کد `+s(t.code),1),e(`p`,null,s(t.name),1)]),e(`span`,L,s(q(t.id))+` محصول`,1)],8,P))),128))])):(n(),f(y,{key:1,variant:U.value?`search`:`catalogs`,message:U.value?`با این جستجو کالیته‌ای پیدا نشد`:`برای این شرکت هنوز کالیته‌ای ثبت نشده است`},null,8,[`variant`,`message`]))])],64))}}),[[`__scopeId`,`data-v-986a9367`]]);export{R as default}; \ No newline at end of file diff --git a/dist/assets/CatalogRequestView-Dr2wszxQ.js b/dist/assets/CatalogRequestView-C5BboW9x.js similarity index 97% rename from dist/assets/CatalogRequestView-Dr2wszxQ.js rename to dist/assets/CatalogRequestView-C5BboW9x.js index 253f934..75190c6 100644 --- a/dist/assets/CatalogRequestView-Dr2wszxQ.js +++ b/dist/assets/CatalogRequestView-C5BboW9x.js @@ -1 +1 @@ -import{A as e,C as t,D as n,I as r,J as i,K as a,L as o,N as s,R as c,St as l,Tt as u,X as d,_ as f,g as p,j as m,k as h,n as g,pt as _,rt as v,xt as y}from"./BasicIcon-B6lR-mG3.js";import{o as b}from"./format-BHJptHdF.js";import{t as x}from"./PageSkeleton-BImjuI6S.js";import{t as S}from"./crm-DbcoqKAF.js";import{t as C}from"./PageHeader-Cza56lK4.js";import{t as w}from"./catalogRequests-4v_wDAbs.js";var T={class:`page`},E={class:`page__scroll page__scroll--with-nav body`},D={class:`hint`},O={key:1,class:`error`},k=[`value`,`onInput`],A={class:`note`},j={class:`summary`},M=[`disabled`],N=g(c({__name:`CatalogRequestView`,setup(c){let g=p(),N=f(),P=S(),F=w(),I=_(!0),L=_(!1),R=_(null),z=_(``),B=_([]),V=_({}),H=h(()=>String(g.query.productId??``)),U=h(()=>String(g.query.catalogId??``)),W=h(()=>B.value.filter(e=>(V.value[e.id]??0)>0).map(e=>({productId:e.id,productName:e.name,productCode:e.code,quantity:V.value[e.id]??0})));a(async()=>{I.value=!0,R.value=null;try{let e=await P.loadBrowseProducts(U.value?{catalogId:U.value}:void 0),t=H.value;B.value=t?[...e].sort((e,n)=>Number(n.id===t)-Number(e.id===t)):e,t&&(V.value={...V.value,[t]:1})}catch(e){R.value=e instanceof Error?e.message:`بارگذاری محصولات ناموفق بود.`}finally{I.value=!1}});function G(e,t){V.value={...V.value,[e]:Math.max(0,Math.floor(t)||0)}}async function K(){L.value=!0,R.value=null;try{let e=await F.create({items:W.value,note:z.value});if(!e.success){R.value=e.message;return}N.push(`/catalog-requests`)}finally{L.value=!1}}return(a,c)=>(i(),s(`div`,T,[o(C,{title:`درخواست کالیته`,"show-back":``,centered:``,onBack:c[0]||=e=>y(N).back()}),e(`div`,E,[e(`p`,D,u(H.value?`این محصول برای درخواست کالیته انتخاب شده است. در صورت نیاز اقلام دیگر را هم اضافه کنید.`:`محصولات و تعداد اقلام موردنظر را مشخص کنید.`),1),I.value?(i(),m(x,{key:0,variant:`form`})):R.value?(i(),s(`p`,O,u(R.value),1)):(i(),s(n,{key:2},[(i(!0),s(n,null,d(B.value,t=>(i(),s(`article`,{key:t.id,class:l([`row`,{"row--selected":H.value===t.id}])},[e(`div`,null,[e(`strong`,null,u(t.name),1),e(`span`,null,`کد `+u(t.code),1)]),e(`input`,{class:`qty`,type:`number`,min:`0`,value:V.value[t.id]??0,onInput:e=>G(t.id,Number(e.target.value))},null,40,k)],2))),128)),e(`label`,A,[c[3]||=r(` توضیحات `,-1),v(e(`textarea`,{"onUpdate:modelValue":c[1]||=e=>z.value=e,rows:`3`,placeholder:`آدرس یا توضیحات اختیاری`},null,512),[[t,z.value]])]),e(`p`,j,`اقلام انتخاب‌شده: `+u(y(b)(W.value.length)),1),e(`button`,{type:`button`,class:`submit`,disabled:L.value,onClick:K},u(L.value?`در حال ثبت...`:`ثبت درخواست کالیته`),9,M),e(`button`,{type:`button`,class:`linkish`,onClick:c[2]||=e=>y(N).push(`/catalog-requests`)},` وضعیت درخواست‌های قبلی `)],64))])]))}}),[[`__scopeId`,`data-v-6bde0457`]]);export{N as default}; \ No newline at end of file +import{A as e,C as t,D as n,I as r,J as i,K as a,L as o,N as s,R as c,St as l,Tt as u,X as d,_ as f,g as p,j as m,k as h,n as g,pt as _,rt as v,xt as y}from"./BasicIcon-B6lR-mG3.js";import{o as b}from"./format-BHJptHdF.js";import{t as x}from"./PageSkeleton-BImjuI6S.js";import{t as S}from"./crm-DbcoqKAF.js";import{t as C}from"./PageHeader-DXkA75qK.js";import{t as w}from"./catalogRequests-4v_wDAbs.js";var T={class:`page`},E={class:`page__scroll page__scroll--with-nav body`},D={class:`hint`},O={key:1,class:`error`},k=[`value`,`onInput`],A={class:`note`},j={class:`summary`},M=[`disabled`],N=g(c({__name:`CatalogRequestView`,setup(c){let g=p(),N=f(),P=S(),F=w(),I=_(!0),L=_(!1),R=_(null),z=_(``),B=_([]),V=_({}),H=h(()=>String(g.query.productId??``)),U=h(()=>String(g.query.catalogId??``)),W=h(()=>B.value.filter(e=>(V.value[e.id]??0)>0).map(e=>({productId:e.id,productName:e.name,productCode:e.code,quantity:V.value[e.id]??0})));a(async()=>{I.value=!0,R.value=null;try{let e=await P.loadBrowseProducts(U.value?{catalogId:U.value}:void 0),t=H.value;B.value=t?[...e].sort((e,n)=>Number(n.id===t)-Number(e.id===t)):e,t&&(V.value={...V.value,[t]:1})}catch(e){R.value=e instanceof Error?e.message:`بارگذاری محصولات ناموفق بود.`}finally{I.value=!1}});function G(e,t){V.value={...V.value,[e]:Math.max(0,Math.floor(t)||0)}}async function K(){L.value=!0,R.value=null;try{let e=await F.create({items:W.value,note:z.value});if(!e.success){R.value=e.message;return}N.push(`/catalog-requests`)}finally{L.value=!1}}return(a,c)=>(i(),s(`div`,T,[o(C,{title:`درخواست کالیته`,"show-back":``,centered:``,onBack:c[0]||=e=>y(N).back()}),e(`div`,E,[e(`p`,D,u(H.value?`این محصول برای درخواست کالیته انتخاب شده است. در صورت نیاز اقلام دیگر را هم اضافه کنید.`:`محصولات و تعداد اقلام موردنظر را مشخص کنید.`),1),I.value?(i(),m(x,{key:0,variant:`form`})):R.value?(i(),s(`p`,O,u(R.value),1)):(i(),s(n,{key:2},[(i(!0),s(n,null,d(B.value,t=>(i(),s(`article`,{key:t.id,class:l([`row`,{"row--selected":H.value===t.id}])},[e(`div`,null,[e(`strong`,null,u(t.name),1),e(`span`,null,`کد `+u(t.code),1)]),e(`input`,{class:`qty`,type:`number`,min:`0`,value:V.value[t.id]??0,onInput:e=>G(t.id,Number(e.target.value))},null,40,k)],2))),128)),e(`label`,A,[c[3]||=r(` توضیحات `,-1),v(e(`textarea`,{"onUpdate:modelValue":c[1]||=e=>z.value=e,rows:`3`,placeholder:`آدرس یا توضیحات اختیاری`},null,512),[[t,z.value]])]),e(`p`,j,`اقلام انتخاب‌شده: `+u(y(b)(W.value.length)),1),e(`button`,{type:`button`,class:`submit`,disabled:L.value,onClick:K},u(L.value?`در حال ثبت...`:`ثبت درخواست کالیته`),9,M),e(`button`,{type:`button`,class:`linkish`,onClick:c[2]||=e=>y(N).push(`/catalog-requests`)},` وضعیت درخواست‌های قبلی `)],64))])]))}}),[[`__scopeId`,`data-v-6bde0457`]]);export{N as default}; \ No newline at end of file diff --git a/dist/assets/CatalogRequestsView-C9QfBfux.js b/dist/assets/CatalogRequestsView-BTSUD4xT.js similarity index 95% rename from dist/assets/CatalogRequestsView-C9QfBfux.js rename to dist/assets/CatalogRequestsView-BTSUD4xT.js index 6e40cc6..48a7a39 100644 --- a/dist/assets/CatalogRequestsView-C9QfBfux.js +++ b/dist/assets/CatalogRequestsView-BTSUD4xT.js @@ -1 +1 @@ -import{A as e,D as t,J as n,K as r,L as i,M as a,N as o,R as s,Tt as c,X as l,_ as u,n as d,xt as f}from"./BasicIcon-B6lR-mG3.js";import{o as p}from"./format-BHJptHdF.js";import{t as m}from"./PageHeader-Cza56lK4.js";import{t as h}from"./catalogRequests-4v_wDAbs.js";var g={class:`page`},_={class:`page__scroll page__scroll--with-nav body`},v={key:0,class:`empty`},y={class:`card__top`},b={class:`badge`},x={key:0,class:`note`},S=d(s({__name:`CatalogRequestsView`,setup(s){let d=u(),S=h();return r(()=>S.hydrate()),(r,s)=>(n(),o(`div`,g,[i(m,{title:`وضعیت کالیته‌ها`,"show-back":``,centered:``,onBack:s[0]||=e=>f(d).push(`/catalogs`)}),e(`div`,_,[e(`button`,{type:`button`,class:`new-btn`,onClick:s[1]||=e=>f(d).push(`/catalog-request`)},` درخواست کالیته جدید `),f(S).sorted.length?a(``,!0):(n(),o(`p`,v,`هنوز درخواستی ثبت نکرده‌اید.`)),(n(!0),o(t,null,l(f(S).sorted,r=>(n(),o(`article`,{key:r.id,class:`card`},[e(`div`,y,[e(`strong`,null,`درخواست `+c(r.id.slice(-6)),1),e(`span`,b,c(f(S).statusLabel(r.status)),1)]),e(`p`,null,c(r.createdAt.slice(0,10)),1),e(`p`,null,c(f(p)(r.items.length))+` قلم`,1),e(`ul`,null,[(n(!0),o(t,null,l(r.items,e=>(n(),o(`li`,{key:e.productId},c(e.productName)+` × `+c(f(p)(e.quantity)),1))),128))]),r.note?(n(),o(`p`,x,c(r.note),1)):a(``,!0)]))),128))])]))}}),[[`__scopeId`,`data-v-fc04181d`]]);export{S as default}; \ No newline at end of file +import{A as e,D as t,J as n,K as r,L as i,M as a,N as o,R as s,Tt as c,X as l,_ as u,n as d,xt as f}from"./BasicIcon-B6lR-mG3.js";import{o as p}from"./format-BHJptHdF.js";import{t as m}from"./PageHeader-DXkA75qK.js";import{t as h}from"./catalogRequests-4v_wDAbs.js";var g={class:`page`},_={class:`page__scroll page__scroll--with-nav body`},v={key:0,class:`empty`},y={class:`card__top`},b={class:`badge`},x={key:0,class:`note`},S=d(s({__name:`CatalogRequestsView`,setup(s){let d=u(),S=h();return r(()=>S.hydrate()),(r,s)=>(n(),o(`div`,g,[i(m,{title:`وضعیت کالیته‌ها`,"show-back":``,centered:``,onBack:s[0]||=e=>f(d).push(`/catalogs`)}),e(`div`,_,[e(`button`,{type:`button`,class:`new-btn`,onClick:s[1]||=e=>f(d).push(`/catalog-request`)},` درخواست کالیته جدید `),f(S).sorted.length?a(``,!0):(n(),o(`p`,v,`هنوز درخواستی ثبت نکرده‌اید.`)),(n(!0),o(t,null,l(f(S).sorted,r=>(n(),o(`article`,{key:r.id,class:`card`},[e(`div`,y,[e(`strong`,null,`درخواست `+c(r.id.slice(-6)),1),e(`span`,b,c(f(S).statusLabel(r.status)),1)]),e(`p`,null,c(r.createdAt.slice(0,10)),1),e(`p`,null,c(f(p)(r.items.length))+` قلم`,1),e(`ul`,null,[(n(!0),o(t,null,l(r.items,e=>(n(),o(`li`,{key:e.productId},c(e.productName)+` × `+c(f(p)(e.quantity)),1))),128))]),r.note?(n(),o(`p`,x,c(r.note),1)):a(``,!0)]))),128))])]))}}),[[`__scopeId`,`data-v-fc04181d`]]);export{S as default}; \ No newline at end of file diff --git a/dist/assets/CatalogsHubView-D3TLRBtW.js b/dist/assets/CatalogsHubView-Du4_08O7.js similarity index 98% rename from dist/assets/CatalogsHubView-D3TLRBtW.js rename to dist/assets/CatalogsHubView-Du4_08O7.js index 3bcf225..2d02f07 100644 --- a/dist/assets/CatalogsHubView-D3TLRBtW.js +++ b/dist/assets/CatalogsHubView-Du4_08O7.js @@ -1 +1 @@ -import{A as e,D as t,J as n,K as r,L as i,M as a,N as o,R as s,St as c,Tt as l,X as u,_ as d,g as f,j as p,k as m,n as h,pt as g,wt as _,xt as v}from"./BasicIcon-B6lR-mG3.js";import{o as y}from"./format-BHJptHdF.js";import{t as b}from"./catalog-DNpqlweh.js";import{i as x}from"./index-DHK6R1xK.js";import{t as S}from"./IconChevronBack-BXRfc2bX.js";import{t as C}from"./PageSkeleton-BImjuI6S.js";import{t as ee}from"./crm-DbcoqKAF.js";import{t as te}from"./useGoBack-yePcdjuj.js";import{a as w,n as T}from"./catalogGallery-sguYVy7M.js";import{t as E}from"./SearchField-txVsGGXT.js";import{t as D}from"./IconSearch-CQT-DmXF.js";var O={class:`page calite-hub`},k={class:`calite-hub__nav`},A={class:`calite-hub__nav-end`},j=[`aria-label`,`aria-pressed`],M={class:`page__scroll page__scroll--with-nav calite-hub__scroll`},N={class:`calite-hub__chips`,role:`tablist`,"aria-label":`مرتب‌سازی کالیته‌ها`},P=[`onClick`],F={key:2,class:`calite-hub__empty`},I={key:3,class:`calite-hub__list`},L=[`onClick`],R={key:0,class:`calite-card__badge`},z={class:`calite-card__copy`,dir:`rtl`},ne={class:`mr-4 text-white`},B={class:`text-lg font-bold`},V={class:`text-md`},H={class:`text-xs mt-4`},U=h(s({__name:`CatalogsHubView`,setup(s){let h=f(),U=d(),{goBack:W}=te(`/`),G=b(),K=ee(),q=g([]),J=g([]),Y=g(!0),X=g(!1),Z=g(``),Q=g(`all`),re=[{id:`all`,label:`همه`},{id:`newest`,label:`جدیدترین`},{id:`popular`,label:`محبوب‌ترین`},{id:`season`,label:`بر اساس فصل`}],ie=m(()=>T(q.value,J.value)),$=m(()=>w(ie.value,Q.value,Z.value));r(async()=>{try{let e=await G.loadCompanies(),[t,n]=await Promise.all([Promise.all(e.map(e=>G.loadCatalogs(e.id))),K.loadBrowseProducts().catch(()=>[])]);q.value=t.flat(),J.value=n;let r=String(h.query.id??``);r&&q.value.some(e=>e.id===r)&&U.replace({name:`catalog-detail`,params:{catalogId:r}})}catch{q.value=[]}finally{Y.value=!1}});function ae(e){U.push({name:`catalog-detail`,params:{catalogId:e}})}function oe(){X.value=!X.value,X.value||(Z.value=``)}function se(e){let t=e.season===`winter`?`مناسب زمستان`:e.season===`summer`?`مناسب تابستان`:`مناسب چهار فصل`;return`${y(e.patternCount)} طرح • ${t}`}return(r,s)=>(n(),o(`div`,O,[e(`header`,k,[e(`button`,{type:`button`,class:`icon-btn mobile-only`,"aria-label":`بازگشت`,onClick:s[0]||=(...e)=>v(W)&&v(W)(...e)},[i(S,{size:20})]),s[2]||=e(`h1`,null,`کالیته‌ها`,-1),e(`div`,A,[i(x,{variant:`inline`,class:`mobile-only`}),e(`button`,{type:`button`,class:`icon-btn`,"aria-label":X.value?`بستن جستجو`:`جستجو`,"aria-pressed":X.value,onClick:oe},[i(D,{size:20})],8,j)])]),e(`div`,M,[s[4]||=e(`p`,{class:`calite-hub__lead`},`مجموعه‌ای از بهترین پارچه‌ها، در یک نگاه`,-1),X.value?(n(),p(E,{key:0,"model-value":Z.value,placeholder:`جستجوی نام کالیته...`,"onUpdate:modelValue":s[1]||=e=>Z.value=e},null,8,[`model-value`])):a(``,!0),e(`div`,N,[(n(),o(t,null,u(re,t=>e(`button`,{key:t.id,type:`button`,class:c([`calite-chip`,{"is-on":Q.value===t.id}]),onClick:e=>Q.value=t.id},l(t.label),11,P)),64))]),Y.value?(n(),p(C,{key:1,variant:`cards`,rows:4})):$.value.length?(n(),o(`div`,I,[(n(!0),o(t,null,u($.value,t=>(n(),o(`button`,{key:t.id,type:`button`,class:`calite-card`,dir:`ltr`,onClick:e=>ae(t.id)},[e(`span`,{class:`calite-card__photo`,style:_(t.imageUrl?{backgroundImage:`url(${t.imageUrl})`}:void 0)},null,4),t.badge?(n(),o(`span`,R,l(t.badge===`new`?`جدید`:`پرفروش`),1)):a(``,!0),e(`div`,z,[s[3]||=e(`svg`,{class:`calite-card__arrow`,width:`12`,height:`16`,viewBox:`0 0 8 12`,fill:`none`,"aria-hidden":`true`},[e(`path`,{d:`M1.5 1.5 6 6l-4.5 4.5`,stroke:`#fff`,"stroke-width":`1.4`,"stroke-linecap":`round`,"stroke-linejoin":`round`})],-1),e(`div`,ne,[e(`div`,B,l(t.title),1),e(`div`,V,l(t.subtitle),1),e(`div`,H,l(se(t)),1)])])],8,L))),128))])):(n(),o(`p`,F,`کالیته‌ای یافت نشد.`))])]))}}),[[`__scopeId`,`data-v-a6e04708`]]);export{U as default}; \ No newline at end of file +import{A as e,D as t,J as n,K as r,L as i,M as a,N as o,R as s,St as c,Tt as l,X as u,_ as d,g as f,j as p,k as m,n as h,pt as g,wt as _,xt as v}from"./BasicIcon-B6lR-mG3.js";import{o as y}from"./format-BHJptHdF.js";import{t as b}from"./catalog-DNpqlweh.js";import{i as x}from"./index-B20WsQhf.js";import{t as S}from"./IconChevronBack-BXRfc2bX.js";import{t as C}from"./PageSkeleton-BImjuI6S.js";import{t as ee}from"./crm-DbcoqKAF.js";import{t as te}from"./useGoBack-yePcdjuj.js";import{a as w,n as T}from"./catalogGallery-sguYVy7M.js";import{t as E}from"./SearchField-txVsGGXT.js";import{t as D}from"./IconSearch-CQT-DmXF.js";var O={class:`page calite-hub`},k={class:`calite-hub__nav`},A={class:`calite-hub__nav-end`},j=[`aria-label`,`aria-pressed`],M={class:`page__scroll page__scroll--with-nav calite-hub__scroll`},N={class:`calite-hub__chips`,role:`tablist`,"aria-label":`مرتب‌سازی کالیته‌ها`},P=[`onClick`],F={key:2,class:`calite-hub__empty`},I={key:3,class:`calite-hub__list`},L=[`onClick`],R={key:0,class:`calite-card__badge`},z={class:`calite-card__copy`,dir:`rtl`},ne={class:`mr-4 text-white`},B={class:`text-lg font-bold`},V={class:`text-md`},H={class:`text-xs mt-4`},U=h(s({__name:`CatalogsHubView`,setup(s){let h=f(),U=d(),{goBack:W}=te(`/`),G=b(),K=ee(),q=g([]),J=g([]),Y=g(!0),X=g(!1),Z=g(``),Q=g(`all`),re=[{id:`all`,label:`همه`},{id:`newest`,label:`جدیدترین`},{id:`popular`,label:`محبوب‌ترین`},{id:`season`,label:`بر اساس فصل`}],ie=m(()=>T(q.value,J.value)),$=m(()=>w(ie.value,Q.value,Z.value));r(async()=>{try{let e=await G.loadCompanies(),[t,n]=await Promise.all([Promise.all(e.map(e=>G.loadCatalogs(e.id))),K.loadBrowseProducts().catch(()=>[])]);q.value=t.flat(),J.value=n;let r=String(h.query.id??``);r&&q.value.some(e=>e.id===r)&&U.replace({name:`catalog-detail`,params:{catalogId:r}})}catch{q.value=[]}finally{Y.value=!1}});function ae(e){U.push({name:`catalog-detail`,params:{catalogId:e}})}function oe(){X.value=!X.value,X.value||(Z.value=``)}function se(e){let t=e.season===`winter`?`مناسب زمستان`:e.season===`summer`?`مناسب تابستان`:`مناسب چهار فصل`;return`${y(e.patternCount)} طرح • ${t}`}return(r,s)=>(n(),o(`div`,O,[e(`header`,k,[e(`button`,{type:`button`,class:`icon-btn mobile-only`,"aria-label":`بازگشت`,onClick:s[0]||=(...e)=>v(W)&&v(W)(...e)},[i(S,{size:20})]),s[2]||=e(`h1`,null,`کالیته‌ها`,-1),e(`div`,A,[i(x,{variant:`inline`,class:`mobile-only`}),e(`button`,{type:`button`,class:`icon-btn`,"aria-label":X.value?`بستن جستجو`:`جستجو`,"aria-pressed":X.value,onClick:oe},[i(D,{size:20})],8,j)])]),e(`div`,M,[s[4]||=e(`p`,{class:`calite-hub__lead`},`مجموعه‌ای از بهترین پارچه‌ها، در یک نگاه`,-1),X.value?(n(),p(E,{key:0,"model-value":Z.value,placeholder:`جستجوی نام کالیته...`,"onUpdate:modelValue":s[1]||=e=>Z.value=e},null,8,[`model-value`])):a(``,!0),e(`div`,N,[(n(),o(t,null,u(re,t=>e(`button`,{key:t.id,type:`button`,class:c([`calite-chip`,{"is-on":Q.value===t.id}]),onClick:e=>Q.value=t.id},l(t.label),11,P)),64))]),Y.value?(n(),p(C,{key:1,variant:`cards`,rows:4})):$.value.length?(n(),o(`div`,I,[(n(!0),o(t,null,u($.value,t=>(n(),o(`button`,{key:t.id,type:`button`,class:`calite-card`,dir:`ltr`,onClick:e=>ae(t.id)},[e(`span`,{class:`calite-card__photo`,style:_(t.imageUrl?{backgroundImage:`url(${t.imageUrl})`}:void 0)},null,4),t.badge?(n(),o(`span`,R,l(t.badge===`new`?`جدید`:`پرفروش`),1)):a(``,!0),e(`div`,z,[s[3]||=e(`svg`,{class:`calite-card__arrow`,width:`12`,height:`16`,viewBox:`0 0 8 12`,fill:`none`,"aria-hidden":`true`},[e(`path`,{d:`M1.5 1.5 6 6l-4.5 4.5`,stroke:`#fff`,"stroke-width":`1.4`,"stroke-linecap":`round`,"stroke-linejoin":`round`})],-1),e(`div`,ne,[e(`div`,B,l(t.title),1),e(`div`,V,l(t.subtitle),1),e(`div`,H,l(se(t)),1)])])],8,L))),128))])):(n(),o(`p`,F,`کالیته‌ای یافت نشد.`))])]))}}),[[`__scopeId`,`data-v-a6e04708`]]);export{U as default}; \ No newline at end of file diff --git a/dist/assets/CategoriesView--p4O0fTk.js b/dist/assets/CategoriesView-Dxbr04Tk.js similarity index 98% rename from dist/assets/CategoriesView--p4O0fTk.js rename to dist/assets/CategoriesView-Dxbr04Tk.js index 107f9e3..b503a1a 100644 --- a/dist/assets/CategoriesView--p4O0fTk.js +++ b/dist/assets/CategoriesView-Dxbr04Tk.js @@ -1 +1 @@ -import{$ as e,A as t,D as n,I as r,J as i,K as ee,L as a,N as o,R as s,St as c,T as l,Tt as u,X as d,_ as f,j as p,n as m,pt as h,t as g,wt as _,xt as v}from"./BasicIcon-B6lR-mG3.js";import{h as te,i as ne,o as y,s as re,x as ie}from"./index-DHK6R1xK.js";import{t as ae}from"./IconChevronBack-BXRfc2bX.js";import{t as b}from"./IconDiamond-7-J5Q2Ma.js";import{t as x}from"./IconLayoutGrid-DgOvzvMf.js";import{t as S}from"./PageSkeleton-BImjuI6S.js";import{t as C}from"./crm-DbcoqKAF.js";import{t as w}from"./useGoBack-yePcdjuj.js";import{t as T}from"./IconSearch-CQT-DmXF.js";import{t as E}from"./IconShoppingBag-DW_Of8if.js";import{n as D,t as O}from"./IconBolt-BuLG6uFR.js";var k=s({__name:`IconFeather`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(i(),p(g,{icon:`vuesax-linear:pen-add`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),A={class:`page categories-page`},j={class:`cat-top`},M={class:`cat-top__actions`},N={class:`page__scroll page__scroll--with-nav cat-scroll`},P={key:0},F={class:`usage-grid`},I=[`onClick`],L={class:`usage-card__icon`},R={class:`usage-card__body`},z={class:`usage-card__link`},oe={class:`season-stack`},B=[`onClick`],V={class:`season-card__body`},H={class:`season-card__title-row`},U={class:`season-card__icon`},W={class:`usage-card__link`},G={class:`feature-row`,"aria-label":`ویژگی‌ها`},K={class:`feature-card`},q={class:`feature-card__icon`,"aria-hidden":`true`},se={class:`feature-card`},ce={class:`feature-card__icon`,"aria-hidden":`true`},le={class:`feature-card__icon`,"aria-hidden":`true`},J=m(s({__name:`CategoriesView`,setup(s){let m=f(),{goBack:g}=w(`/`),J=C(),Y=h([]),X=h([]),Z=h(!0),Q=h(null),$={shirt:D,suit:E,trousers:x},ue={summer:O,winter:k,all_season:b};ee(async()=>{try{let e=await J.loadCategories();Y.value=e.usage,X.value=e.seasons}catch(e){Q.value=e instanceof Error?e.message:`بارگذاری دسته‌ها ناموفق بود.`}finally{Z.value=!1}});function de(e){m.push({path:`/products`,query:{categoryId:e}})}function fe(e){m.push({path:`/products`,query:{season:e}})}return(ee,s)=>(i(),o(`div`,A,[t(`header`,j,[t(`button`,{type:`button`,class:`icon-btn`,"aria-label":`بازگشت`,onClick:s[0]||=(...e)=>v(g)&&v(g)(...e)},[a(ae,{size:20})]),s[5]||=t(`h1`,{class:`cat-top__title`},`دسته‌بندی‌ها`,-1),t(`div`,M,[a(ne,{variant:`inline`}),t(`button`,{type:`button`,class:`icon-btn`,"aria-label":`جستجو`,onClick:s[1]||=e=>v(m).push({path:`/products`,query:{q:``}})},[a(T,{size:20})]),t(`button`,{type:`button`,class:`icon-btn`,"aria-label":`اعلان‌ها`,onClick:s[2]||=e=>v(m).push(`/profile/notifications`)},[a(re,{size:20})])])]),t(`div`,N,[Q.value?(i(),o(`p`,P,u(Q.value),1)):Z.value?(i(),p(S,{key:1,variant:`grid`})):(i(),o(n,{key:2},[t(`section`,null,[s[7]||=t(`h2`,{class:`block-title`},`انتخاب بر اساس کاربرد`,-1),s[8]||=t(`p`,{class:`block-sub`},`دسته موردنظر خود را انتخاب کنید`,-1),t(`div`,F,[(i(!0),o(n,null,d(Y.value,n=>(i(),o(`button`,{key:n.id,type:`button`,class:`usage-card`,onClick:e=>de(n.id)},[t(`div`,{class:c([`usage-card__image`,`usage-card__image--${n.id}`]),style:_(n.imageUrl?{backgroundImage:`url(${n.imageUrl})`}:void 0)},[t(`span`,L,[(i(),p(e($[n.id]||x),{size:18}))])],6),t(`div`,R,[t(`strong`,null,u(n.title),1),t(`span`,z,[s[6]||=r(` مشاهده محصولات `,-1),a(y,{size:14})])])],8,I))),128))])]),t(`section`,null,[s[10]||=t(`h2`,{class:`block-title`},`انتخاب بر اساس فصل`,-1),s[11]||=t(`p`,{class:`block-sub`},`بر اساس فصل مناسب، پارچه دلخواه را پیدا کنید`,-1),t(`div`,oe,[(i(!0),o(n,null,d(X.value,n=>(i(),o(`button`,{key:n.id,type:`button`,class:`season-card`,onClick:e=>fe(n.id)},[t(`div`,V,[t(`div`,H,[t(`span`,U,[(i(),p(e(ue[n.id]||b),{size:16}))]),t(`strong`,null,u(n.title),1)]),t(`p`,null,u(n.description),1),t(`span`,W,[s[9]||=r(` مشاهده محصولات `,-1),a(y,{size:14})])]),t(`div`,{class:c([`season-card__image`,`season-card__image--${n.id}`]),style:_(n.imageUrl?{backgroundImage:`url(${n.imageUrl})`}:void 0)},null,6)],8,B))),128))])]),t(`section`,G,[t(`div`,K,[t(`span`,q,[a(te,{size:22})]),s[12]||=t(`div`,{class:`feature-card__text`},[t(`strong`,null,`پشتیبانی اختصاصی`),t(`span`,null,`در کنار شما هستیم`)],-1)]),t(`div`,se,[t(`span`,ce,[a(b,{size:22})]),s[13]||=t(`div`,{class:`feature-card__text`},[t(`strong`,null,`مزایای مشتریان ویژه`),t(`span`,null,`بر اساس سطح شما`)],-1)]),t(`div`,{class:`feature-card feature-card--link`,role:`button`,tabindex:`0`,onClick:s[3]||=e=>v(m).push(`/catalog-request`),onKeydown:s[4]||=l(e=>v(m).push(`/catalog-request`),[`enter`])},[t(`span`,le,[a(ie,{size:22})]),s[14]||=t(`div`,{class:`feature-card__text`},[t(`strong`,null,`درخواست کالیته فیزیکی`),t(`span`,null,`کالیته را دریافت کنید`)],-1)],32)])],64))])]))}}),[[`__scopeId`,`data-v-ff74517b`]]);export{J as default}; \ No newline at end of file +import{$ as e,A as t,D as n,I as r,J as i,K as ee,L as a,N as o,R as s,St as c,T as l,Tt as u,X as d,_ as f,j as p,n as m,pt as h,t as g,wt as _,xt as v}from"./BasicIcon-B6lR-mG3.js";import{h as te,i as ne,o as y,s as re,x as ie}from"./index-B20WsQhf.js";import{t as ae}from"./IconChevronBack-BXRfc2bX.js";import{t as b}from"./IconDiamond-7-J5Q2Ma.js";import{t as x}from"./IconLayoutGrid-DgOvzvMf.js";import{t as S}from"./PageSkeleton-BImjuI6S.js";import{t as C}from"./crm-DbcoqKAF.js";import{t as w}from"./useGoBack-yePcdjuj.js";import{t as T}from"./IconSearch-CQT-DmXF.js";import{t as E}from"./IconShoppingBag-DW_Of8if.js";import{n as D,t as O}from"./IconBolt-BuLG6uFR.js";var k=s({__name:`IconFeather`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(i(),p(g,{icon:`vuesax-linear:pen-add`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),A={class:`page categories-page`},j={class:`cat-top`},M={class:`cat-top__actions`},N={class:`page__scroll page__scroll--with-nav cat-scroll`},P={key:0},F={class:`usage-grid`},I=[`onClick`],L={class:`usage-card__icon`},R={class:`usage-card__body`},z={class:`usage-card__link`},oe={class:`season-stack`},B=[`onClick`],V={class:`season-card__body`},H={class:`season-card__title-row`},U={class:`season-card__icon`},W={class:`usage-card__link`},G={class:`feature-row`,"aria-label":`ویژگی‌ها`},K={class:`feature-card`},q={class:`feature-card__icon`,"aria-hidden":`true`},se={class:`feature-card`},ce={class:`feature-card__icon`,"aria-hidden":`true`},le={class:`feature-card__icon`,"aria-hidden":`true`},J=m(s({__name:`CategoriesView`,setup(s){let m=f(),{goBack:g}=w(`/`),J=C(),Y=h([]),X=h([]),Z=h(!0),Q=h(null),$={shirt:D,suit:E,trousers:x},ue={summer:O,winter:k,all_season:b};ee(async()=>{try{let e=await J.loadCategories();Y.value=e.usage,X.value=e.seasons}catch(e){Q.value=e instanceof Error?e.message:`بارگذاری دسته‌ها ناموفق بود.`}finally{Z.value=!1}});function de(e){m.push({path:`/products`,query:{categoryId:e}})}function fe(e){m.push({path:`/products`,query:{season:e}})}return(ee,s)=>(i(),o(`div`,A,[t(`header`,j,[t(`button`,{type:`button`,class:`icon-btn`,"aria-label":`بازگشت`,onClick:s[0]||=(...e)=>v(g)&&v(g)(...e)},[a(ae,{size:20})]),s[5]||=t(`h1`,{class:`cat-top__title`},`دسته‌بندی‌ها`,-1),t(`div`,M,[a(ne,{variant:`inline`}),t(`button`,{type:`button`,class:`icon-btn`,"aria-label":`جستجو`,onClick:s[1]||=e=>v(m).push({path:`/products`,query:{q:``}})},[a(T,{size:20})]),t(`button`,{type:`button`,class:`icon-btn`,"aria-label":`اعلان‌ها`,onClick:s[2]||=e=>v(m).push(`/profile/notifications`)},[a(re,{size:20})])])]),t(`div`,N,[Q.value?(i(),o(`p`,P,u(Q.value),1)):Z.value?(i(),p(S,{key:1,variant:`grid`})):(i(),o(n,{key:2},[t(`section`,null,[s[7]||=t(`h2`,{class:`block-title`},`انتخاب بر اساس کاربرد`,-1),s[8]||=t(`p`,{class:`block-sub`},`دسته موردنظر خود را انتخاب کنید`,-1),t(`div`,F,[(i(!0),o(n,null,d(Y.value,n=>(i(),o(`button`,{key:n.id,type:`button`,class:`usage-card`,onClick:e=>de(n.id)},[t(`div`,{class:c([`usage-card__image`,`usage-card__image--${n.id}`]),style:_(n.imageUrl?{backgroundImage:`url(${n.imageUrl})`}:void 0)},[t(`span`,L,[(i(),p(e($[n.id]||x),{size:18}))])],6),t(`div`,R,[t(`strong`,null,u(n.title),1),t(`span`,z,[s[6]||=r(` مشاهده محصولات `,-1),a(y,{size:14})])])],8,I))),128))])]),t(`section`,null,[s[10]||=t(`h2`,{class:`block-title`},`انتخاب بر اساس فصل`,-1),s[11]||=t(`p`,{class:`block-sub`},`بر اساس فصل مناسب، پارچه دلخواه را پیدا کنید`,-1),t(`div`,oe,[(i(!0),o(n,null,d(X.value,n=>(i(),o(`button`,{key:n.id,type:`button`,class:`season-card`,onClick:e=>fe(n.id)},[t(`div`,V,[t(`div`,H,[t(`span`,U,[(i(),p(e(ue[n.id]||b),{size:16}))]),t(`strong`,null,u(n.title),1)]),t(`p`,null,u(n.description),1),t(`span`,W,[s[9]||=r(` مشاهده محصولات `,-1),a(y,{size:14})])]),t(`div`,{class:c([`season-card__image`,`season-card__image--${n.id}`]),style:_(n.imageUrl?{backgroundImage:`url(${n.imageUrl})`}:void 0)},null,6)],8,B))),128))])]),t(`section`,G,[t(`div`,K,[t(`span`,q,[a(te,{size:22})]),s[12]||=t(`div`,{class:`feature-card__text`},[t(`strong`,null,`پشتیبانی اختصاصی`),t(`span`,null,`در کنار شما هستیم`)],-1)]),t(`div`,se,[t(`span`,ce,[a(b,{size:22})]),s[13]||=t(`div`,{class:`feature-card__text`},[t(`strong`,null,`مزایای مشتریان ویژه`),t(`span`,null,`بر اساس سطح شما`)],-1)]),t(`div`,{class:`feature-card feature-card--link`,role:`button`,tabindex:`0`,onClick:s[3]||=e=>v(m).push(`/catalog-request`),onKeydown:s[4]||=l(e=>v(m).push(`/catalog-request`),[`enter`])},[t(`span`,le,[a(ie,{size:22})]),s[14]||=t(`div`,{class:`feature-card__text`},[t(`strong`,null,`درخواست کالیته فیزیکی`),t(`span`,null,`کالیته را دریافت کنید`)],-1)],32)])],64))])]))}}),[[`__scopeId`,`data-v-ff74517b`]]);export{J as default}; \ No newline at end of file diff --git a/dist/assets/CheckFormView-Z1QNCYYP.js b/dist/assets/CheckFormView-DjRrTrgm.js similarity index 97% rename from dist/assets/CheckFormView-Z1QNCYYP.js rename to dist/assets/CheckFormView-DjRrTrgm.js index 52aae11..6e851b5 100644 --- a/dist/assets/CheckFormView-Z1QNCYYP.js +++ b/dist/assets/CheckFormView-DjRrTrgm.js @@ -1 +1 @@ -import{A as e,D as t,I as n,J as r,L as i,M as a,N as o,R as ee,St as s,Tt as c,_ as l,et as u,k as d,n as f,nt as te,pt as p,xt as m}from"./BasicIcon-B6lR-mG3.js";import{l as h,n as g,o as ne}from"./format-BHJptHdF.js";import{i as re,n as ie,o as ae,t as oe}from"./validation-BD7oi-2I.js";import{b as _,g as se,n as ce}from"./index-DHK6R1xK.js";import{t as le}from"./FormErrorBanner-8PcsTbdO.js";import{n as v,r as y,t as ue}from"./formErrors-DglFjYkZ.js";import{t as de}from"./PageHeader-Cza56lK4.js";import{t as fe}from"./useRequirePricedOrder-C1A9oE_o.js";import{t as b}from"./BaseInput-9HB-GJGt.js";import{n as pe,t as me}from"./PersianDateInput-BkC8ZzrV.js";import{t as he}from"./IconCash-Bxyfv_aw.js";var ge={class:`page`},_e={class:`page__scroll checkout-page__scroll`},ve={class:`mb-3 flex items-start gap-3`},ye={class:`flex h-10 w-10 shrink-0 items-center justify-center rounded-full bg-[var(--color-primary-soft)] text-[var(--color-primary)]`,"aria-hidden":`true`},be={class:`flex flex-col gap-2`},xe={class:`flex items-center justify-between gap-3 text-sm`},Se={class:`font-tabular text-[var(--color-text)]`},Ce={class:`flex items-center justify-between gap-3 text-sm`},we={class:`inline-flex items-center gap-1.5 text-[var(--color-text-muted)]`},Te={key:0,class:`text-xs`},x={class:`font-tabular text-[var(--color-text)]`},S={class:`mt-1 flex items-center justify-between gap-3 border-t border-[var(--color-border)] pt-3`},C={class:`card`},w={class:`form-group`},T=[`src`],E={key:1,class:`upload-box__placeholder`},D={key:0,class:`input-error-text`},O={key:2,class:`form-group`},Ee={class:`upload-box`},De=[`src`],Oe={key:1,class:`upload-box__placeholder`},k=f(ee({__name:`CheckFormView`,setup(ee){let f=l(),k=se(),{orderId:A,order:ke}=fe(),j=d(()=>k.draftCheckMode===`full`),M=p(``),N=p(``),P=p(``),F=p(``),I=p(``),L=p(``),R=p(``),z=p(``),B=p(``),V=p(``),H=p(``),U=p(``),W=p({}),G=p(``),K=p(!1),q=d(()=>ke.value?.finalAmount??0),J=d(()=>k.draftChecks.reduce((e,t)=>e+t.amount,0)),Y=d(()=>h(M.value)||0),X=d(()=>Math.max(0,q.value-J.value)),Ae=d(()=>Math.max(0,q.value-J.value-Y.value)),Z=d(()=>q.value>0&&J.value+Y.value>=q.value),Q=d(()=>q.value>0&&J.value+Y.value>q.value);u([q,X],()=>{K.value||M.value||X.value<=0||(M.value=String(X.value),K.value=!0)},{immediate:!0}),u(M,()=>{W.value=v(W.value,`amount`),y(W.value)||(G.value=``)}),u(N,()=>{W.value=v(W.value,`dueDate`),y(W.value)||(G.value=``)}),u(P,()=>{W.value=v(W.value,`sayadId`),y(W.value)||(G.value=``)}),u(I,()=>{W.value=v(W.value,`ownerNationalId`),y(W.value)||(G.value=``)}),u(V,()=>{W.value=v(W.value,`frontImage`),y(W.value)||(G.value=``)});async function $(e,t){let n=e.target.files?.[0];if(!n)return;let r=ie(n);if(!r.valid){t===`front`&&(W.value={...W.value,frontImage:r.message??`خطا`});return}let i=await oe(n);t===`front`?V.value=i:H.value=i}function je(){X.value<=0||(M.value=String(X.value))}function Me(){W.value={},G.value=``;let e={},t=h(M.value);return(!t||t<=0)&&(e.amount=`مبلغ چک باید بزرگ‌تر از صفر باشد.`),N.value||(e.dueDate=`تاریخ سررسید الزامی است.`),V.value||(e.frontImage=`تصویر روی چک الزامی است.`),j.value&&(ae(P.value)||(e.sayadId=`شناسه صیادی باید ۱۶ رقم باشد.`),re(I.value)||(e.ownerNationalId=`کد ملی صاحب چک معتبر نیست.`),k.draftChecks.some(e=>e.sayadId===P.value.replace(/\s/g,``))&&(e.sayadId=`شناسه صیادی تکراری است.`)),W.value=e,!y(e)||(G.value=ue,!1)}function Ne(){Me()&&(k.addDraftCheck({amount:h(M.value),dueDate:N.value,sayadId:j.value?P.value.replace(/\s/g,``):void 0,checkNumber:j.value?F.value:void 0,ownerNationalId:j.value?I.value:void 0,ownerFirstName:j.value?L.value:void 0,ownerLastName:j.value?R.value:void 0,bankName:j.value?z.value:void 0,branchName:j.value?B.value:void 0,frontImage:V.value,backImage:H.value||void 0,notes:U.value||void 0,mode:k.draftCheckMode??`brief`}),Pe(),f.push(`/orders/${A.value}/check-list`))}function Pe(){M.value=``,N.value=``,P.value=``,F.value=``,I.value=``,L.value=``,R.value=``,z.value=``,B.value=``,V.value=``,H.value=``,U.value=``,W.value={},G.value=``,K.value=!1}return(ee,l)=>(r(),o(`div`,ge,[i(de,{title:j.value?`ثبت چک - حالت کامل`:`ثبت چک - حالت مختصر`,"show-back":``,onBack:l[0]||=e=>m(f).push(`/orders/${m(A)}/check-mode`)},null,8,[`title`]),e(`div`,_e,[i(le,{message:G.value},null,8,[`message`]),q.value>0?(r(),o(`div`,{key:0,class:s([`check-balance mb-4 rounded-[var(--radius-md)] border border-[var(--color-border)] bg-[var(--color-surface)] p-4`,{"check-balance--ok":Z.value&&!Q.value,"check-balance--warn":Q.value}])},[e(`div`,ve,[e(`span`,ye,[i(he,{size:22})]),l[13]||=e(`div`,{class:`min-w-0 flex-1`},[e(`p`,{class:`m-0 text-sm font-semibold text-[var(--color-text)]`},`مانده فاکتور`),e(`p`,{class:`m-0 mt-1 text-xs leading-relaxed text-[var(--color-text-muted)]`},` با هر چک، مبلغ باقی‌مانده به‌روز می‌شود تا پوشش کامل فاکتور را از دست ندهید. `)],-1)]),e(`div`,be,[e(`div`,xe,[l[14]||=e(`span`,{class:`text-[var(--color-text-muted)]`},`مبلغ فاکتور`,-1),e(`strong`,Se,c(m(g)(q.value)),1)]),e(`div`,Ce,[e(`span`,we,[i(_,{size:14}),l[15]||=n(` چک‌های ثبت‌شده `,-1),m(k).draftChecks.length?(r(),o(`span`,Te,` (`+c(m(ne)(m(k).draftChecks.length))+`) `,1)):a(``,!0)]),e(`strong`,x,c(m(g)(J.value)),1)]),e(`div`,S,[l[16]||=e(`span`,{class:`text-sm font-semibold text-[var(--color-text)]`},`باقی‌مانده`,-1),e(`strong`,{class:s([`font-tabular text-base`,Z.value&&!Q.value?`text-[var(--color-success)]`:Q.value?`text-[var(--color-danger)]`:`text-[var(--color-primary)]`])},c(Q.value?`${m(g)(J.value+Y.value-q.value)} بیش از فاکتور`:Z.value?`پوشش کامل شد`:m(g)(Ae.value)),3)])])],2)):a(``,!0),l[20]||=e(`div`,{class:`steps`},[e(`span`,{class:`step active`},`۱. اطلاعات چک`),e(`span`,{class:`step`},`۲. چک بعدی`),e(`span`,{class:`step`},`۳. خلاصه`)],-1),e(`div`,C,[i(pe,{modelValue:M.value,"onUpdate:modelValue":l[1]||=e=>M.value=e,label:`مبلغ چک (تومان)`,placeholder:`مبلغ`,error:W.value.amount},null,8,[`modelValue`,`error`]),X.value>0&&Y.value!==X.value?(r(),o(`button`,{key:0,type:`button`,class:`check-fill-remaining mb-3 text-sm font-medium text-[var(--color-primary)]`,onClick:je},` پر کردن با باقی‌مانده (`+c(m(g)(X.value))+`) `,1)):a(``,!0),i(me,{modelValue:N.value,"onUpdate:modelValue":l[2]||=e=>N.value=e,label:`تاریخ سررسید`,error:W.value.dueDate},null,8,[`modelValue`,`error`]),j.value?(r(),o(t,{key:1},[i(b,{modelValue:P.value,"onUpdate:modelValue":l[3]||=e=>P.value=e,label:`شناسه صیادی`,placeholder:`۱۶ رقم`,maxlength:`16`,inputmode:`numeric`,dir:`ltr`,error:W.value.sayadId},null,8,[`modelValue`,`error`]),i(b,{modelValue:F.value,"onUpdate:modelValue":l[4]||=e=>F.value=e,label:`شماره چک`,inputmode:`numeric`,dir:`ltr`},null,8,[`modelValue`]),i(b,{modelValue:I.value,"onUpdate:modelValue":l[5]||=e=>I.value=e,label:`کد ملی صاحب چک`,maxlength:`10`,inputmode:`numeric`,dir:`ltr`,error:W.value.ownerNationalId},null,8,[`modelValue`,`error`]),i(b,{modelValue:L.value,"onUpdate:modelValue":l[6]||=e=>L.value=e,label:`نام صاحب چک`},null,8,[`modelValue`]),i(b,{modelValue:R.value,"onUpdate:modelValue":l[7]||=e=>R.value=e,label:`نام خانوادگی صاحب چک`},null,8,[`modelValue`]),i(b,{modelValue:z.value,"onUpdate:modelValue":l[8]||=e=>z.value=e,label:`نام بانک`},null,8,[`modelValue`]),i(b,{modelValue:B.value,"onUpdate:modelValue":l[9]||=e=>B.value=e,label:`نام شعبه`},null,8,[`modelValue`])],64)):a(``,!0),e(`div`,w,[l[17]||=e(`label`,{class:`form-label`},`تصویر روی چک *`,-1),e(`label`,{class:s([`upload-box`,{"upload-box--error":W.value.frontImage}])},[e(`input`,{type:`file`,accept:`image/*`,class:`upload-box__input`,onChange:l[10]||=e=>$(e,`front`)},null,32),V.value?(r(),o(`img`,{key:0,src:V.value,class:`upload-box__preview`,alt:`روی چک`},null,8,T)):(r(),o(`span`,E,`بارگذاری تصویر چک`))],2),W.value.frontImage?(r(),o(`p`,D,c(W.value.frontImage),1)):a(``,!0)]),j.value?(r(),o(`div`,O,[l[18]||=e(`label`,{class:`form-label`},`تصویر پشت چک`,-1),e(`label`,Ee,[e(`input`,{type:`file`,accept:`image/*`,class:`upload-box__input`,onChange:l[11]||=e=>$(e,`back`)},null,32),H.value?(r(),o(`img`,{key:0,src:H.value,class:`upload-box__preview`,alt:`پشت چک`},null,8,De)):(r(),o(`span`,Oe,`بارگذاری تصویر`))])])):a(``,!0),i(b,{modelValue:U.value,"onUpdate:modelValue":l[12]||=e=>U.value=e,label:`توضیحات`},null,8,[`modelValue`]),i(ce,{block:``,class:`mt-4`,onClick:Ne},{default:te(()=>[...l[19]||=[n(`ذخیره چک`,-1)]]),_:1})])])]))}}),[[`__scopeId`,`data-v-5976552f`]]);export{k as default}; \ No newline at end of file +import{A as e,D as t,I as n,J as r,L as i,M as a,N as o,R as ee,St as s,Tt as c,_ as l,et as u,k as d,n as f,nt as te,pt as p,xt as m}from"./BasicIcon-B6lR-mG3.js";import{l as h,n as g,o as ne}from"./format-BHJptHdF.js";import{i as re,n as ie,o as ae,t as oe}from"./validation-BD7oi-2I.js";import{b as _,g as se,n as ce}from"./index-B20WsQhf.js";import{t as le}from"./FormErrorBanner-8PcsTbdO.js";import{n as v,r as y,t as ue}from"./formErrors-DglFjYkZ.js";import{t as de}from"./PageHeader-DXkA75qK.js";import{t as fe}from"./useRequirePricedOrder-BVRY4vCB.js";import{t as b}from"./BaseInput-9HB-GJGt.js";import{n as pe,t as me}from"./PersianDateInput-BkC8ZzrV.js";import{t as he}from"./IconCash-Bxyfv_aw.js";var ge={class:`page`},_e={class:`page__scroll checkout-page__scroll`},ve={class:`mb-3 flex items-start gap-3`},ye={class:`flex h-10 w-10 shrink-0 items-center justify-center rounded-full bg-[var(--color-primary-soft)] text-[var(--color-primary)]`,"aria-hidden":`true`},be={class:`flex flex-col gap-2`},xe={class:`flex items-center justify-between gap-3 text-sm`},Se={class:`font-tabular text-[var(--color-text)]`},Ce={class:`flex items-center justify-between gap-3 text-sm`},we={class:`inline-flex items-center gap-1.5 text-[var(--color-text-muted)]`},Te={key:0,class:`text-xs`},x={class:`font-tabular text-[var(--color-text)]`},S={class:`mt-1 flex items-center justify-between gap-3 border-t border-[var(--color-border)] pt-3`},C={class:`card`},w={class:`form-group`},T=[`src`],E={key:1,class:`upload-box__placeholder`},D={key:0,class:`input-error-text`},O={key:2,class:`form-group`},Ee={class:`upload-box`},De=[`src`],Oe={key:1,class:`upload-box__placeholder`},k=f(ee({__name:`CheckFormView`,setup(ee){let f=l(),k=se(),{orderId:A,order:ke}=fe(),j=d(()=>k.draftCheckMode===`full`),M=p(``),N=p(``),P=p(``),F=p(``),I=p(``),L=p(``),R=p(``),z=p(``),B=p(``),V=p(``),H=p(``),U=p(``),W=p({}),G=p(``),K=p(!1),q=d(()=>ke.value?.finalAmount??0),J=d(()=>k.draftChecks.reduce((e,t)=>e+t.amount,0)),Y=d(()=>h(M.value)||0),X=d(()=>Math.max(0,q.value-J.value)),Ae=d(()=>Math.max(0,q.value-J.value-Y.value)),Z=d(()=>q.value>0&&J.value+Y.value>=q.value),Q=d(()=>q.value>0&&J.value+Y.value>q.value);u([q,X],()=>{K.value||M.value||X.value<=0||(M.value=String(X.value),K.value=!0)},{immediate:!0}),u(M,()=>{W.value=v(W.value,`amount`),y(W.value)||(G.value=``)}),u(N,()=>{W.value=v(W.value,`dueDate`),y(W.value)||(G.value=``)}),u(P,()=>{W.value=v(W.value,`sayadId`),y(W.value)||(G.value=``)}),u(I,()=>{W.value=v(W.value,`ownerNationalId`),y(W.value)||(G.value=``)}),u(V,()=>{W.value=v(W.value,`frontImage`),y(W.value)||(G.value=``)});async function $(e,t){let n=e.target.files?.[0];if(!n)return;let r=ie(n);if(!r.valid){t===`front`&&(W.value={...W.value,frontImage:r.message??`خطا`});return}let i=await oe(n);t===`front`?V.value=i:H.value=i}function je(){X.value<=0||(M.value=String(X.value))}function Me(){W.value={},G.value=``;let e={},t=h(M.value);return(!t||t<=0)&&(e.amount=`مبلغ چک باید بزرگ‌تر از صفر باشد.`),N.value||(e.dueDate=`تاریخ سررسید الزامی است.`),V.value||(e.frontImage=`تصویر روی چک الزامی است.`),j.value&&(ae(P.value)||(e.sayadId=`شناسه صیادی باید ۱۶ رقم باشد.`),re(I.value)||(e.ownerNationalId=`کد ملی صاحب چک معتبر نیست.`),k.draftChecks.some(e=>e.sayadId===P.value.replace(/\s/g,``))&&(e.sayadId=`شناسه صیادی تکراری است.`)),W.value=e,!y(e)||(G.value=ue,!1)}function Ne(){Me()&&(k.addDraftCheck({amount:h(M.value),dueDate:N.value,sayadId:j.value?P.value.replace(/\s/g,``):void 0,checkNumber:j.value?F.value:void 0,ownerNationalId:j.value?I.value:void 0,ownerFirstName:j.value?L.value:void 0,ownerLastName:j.value?R.value:void 0,bankName:j.value?z.value:void 0,branchName:j.value?B.value:void 0,frontImage:V.value,backImage:H.value||void 0,notes:U.value||void 0,mode:k.draftCheckMode??`brief`}),Pe(),f.push(`/orders/${A.value}/check-list`))}function Pe(){M.value=``,N.value=``,P.value=``,F.value=``,I.value=``,L.value=``,R.value=``,z.value=``,B.value=``,V.value=``,H.value=``,U.value=``,W.value={},G.value=``,K.value=!1}return(ee,l)=>(r(),o(`div`,ge,[i(de,{title:j.value?`ثبت چک - حالت کامل`:`ثبت چک - حالت مختصر`,"show-back":``,onBack:l[0]||=e=>m(f).push(`/orders/${m(A)}/check-mode`)},null,8,[`title`]),e(`div`,_e,[i(le,{message:G.value},null,8,[`message`]),q.value>0?(r(),o(`div`,{key:0,class:s([`check-balance mb-4 rounded-[var(--radius-md)] border border-[var(--color-border)] bg-[var(--color-surface)] p-4`,{"check-balance--ok":Z.value&&!Q.value,"check-balance--warn":Q.value}])},[e(`div`,ve,[e(`span`,ye,[i(he,{size:22})]),l[13]||=e(`div`,{class:`min-w-0 flex-1`},[e(`p`,{class:`m-0 text-sm font-semibold text-[var(--color-text)]`},`مانده فاکتور`),e(`p`,{class:`m-0 mt-1 text-xs leading-relaxed text-[var(--color-text-muted)]`},` با هر چک، مبلغ باقی‌مانده به‌روز می‌شود تا پوشش کامل فاکتور را از دست ندهید. `)],-1)]),e(`div`,be,[e(`div`,xe,[l[14]||=e(`span`,{class:`text-[var(--color-text-muted)]`},`مبلغ فاکتور`,-1),e(`strong`,Se,c(m(g)(q.value)),1)]),e(`div`,Ce,[e(`span`,we,[i(_,{size:14}),l[15]||=n(` چک‌های ثبت‌شده `,-1),m(k).draftChecks.length?(r(),o(`span`,Te,` (`+c(m(ne)(m(k).draftChecks.length))+`) `,1)):a(``,!0)]),e(`strong`,x,c(m(g)(J.value)),1)]),e(`div`,S,[l[16]||=e(`span`,{class:`text-sm font-semibold text-[var(--color-text)]`},`باقی‌مانده`,-1),e(`strong`,{class:s([`font-tabular text-base`,Z.value&&!Q.value?`text-[var(--color-success)]`:Q.value?`text-[var(--color-danger)]`:`text-[var(--color-primary)]`])},c(Q.value?`${m(g)(J.value+Y.value-q.value)} بیش از فاکتور`:Z.value?`پوشش کامل شد`:m(g)(Ae.value)),3)])])],2)):a(``,!0),l[20]||=e(`div`,{class:`steps`},[e(`span`,{class:`step active`},`۱. اطلاعات چک`),e(`span`,{class:`step`},`۲. چک بعدی`),e(`span`,{class:`step`},`۳. خلاصه`)],-1),e(`div`,C,[i(pe,{modelValue:M.value,"onUpdate:modelValue":l[1]||=e=>M.value=e,label:`مبلغ چک (تومان)`,placeholder:`مبلغ`,error:W.value.amount},null,8,[`modelValue`,`error`]),X.value>0&&Y.value!==X.value?(r(),o(`button`,{key:0,type:`button`,class:`check-fill-remaining mb-3 text-sm font-medium text-[var(--color-primary)]`,onClick:je},` پر کردن با باقی‌مانده (`+c(m(g)(X.value))+`) `,1)):a(``,!0),i(me,{modelValue:N.value,"onUpdate:modelValue":l[2]||=e=>N.value=e,label:`تاریخ سررسید`,error:W.value.dueDate},null,8,[`modelValue`,`error`]),j.value?(r(),o(t,{key:1},[i(b,{modelValue:P.value,"onUpdate:modelValue":l[3]||=e=>P.value=e,label:`شناسه صیادی`,placeholder:`۱۶ رقم`,maxlength:`16`,inputmode:`numeric`,dir:`ltr`,error:W.value.sayadId},null,8,[`modelValue`,`error`]),i(b,{modelValue:F.value,"onUpdate:modelValue":l[4]||=e=>F.value=e,label:`شماره چک`,inputmode:`numeric`,dir:`ltr`},null,8,[`modelValue`]),i(b,{modelValue:I.value,"onUpdate:modelValue":l[5]||=e=>I.value=e,label:`کد ملی صاحب چک`,maxlength:`10`,inputmode:`numeric`,dir:`ltr`,error:W.value.ownerNationalId},null,8,[`modelValue`,`error`]),i(b,{modelValue:L.value,"onUpdate:modelValue":l[6]||=e=>L.value=e,label:`نام صاحب چک`},null,8,[`modelValue`]),i(b,{modelValue:R.value,"onUpdate:modelValue":l[7]||=e=>R.value=e,label:`نام خانوادگی صاحب چک`},null,8,[`modelValue`]),i(b,{modelValue:z.value,"onUpdate:modelValue":l[8]||=e=>z.value=e,label:`نام بانک`},null,8,[`modelValue`]),i(b,{modelValue:B.value,"onUpdate:modelValue":l[9]||=e=>B.value=e,label:`نام شعبه`},null,8,[`modelValue`])],64)):a(``,!0),e(`div`,w,[l[17]||=e(`label`,{class:`form-label`},`تصویر روی چک *`,-1),e(`label`,{class:s([`upload-box`,{"upload-box--error":W.value.frontImage}])},[e(`input`,{type:`file`,accept:`image/*`,class:`upload-box__input`,onChange:l[10]||=e=>$(e,`front`)},null,32),V.value?(r(),o(`img`,{key:0,src:V.value,class:`upload-box__preview`,alt:`روی چک`},null,8,T)):(r(),o(`span`,E,`بارگذاری تصویر چک`))],2),W.value.frontImage?(r(),o(`p`,D,c(W.value.frontImage),1)):a(``,!0)]),j.value?(r(),o(`div`,O,[l[18]||=e(`label`,{class:`form-label`},`تصویر پشت چک`,-1),e(`label`,Ee,[e(`input`,{type:`file`,accept:`image/*`,class:`upload-box__input`,onChange:l[11]||=e=>$(e,`back`)},null,32),H.value?(r(),o(`img`,{key:0,src:H.value,class:`upload-box__preview`,alt:`پشت چک`},null,8,De)):(r(),o(`span`,Oe,`بارگذاری تصویر`))])])):a(``,!0),i(b,{modelValue:U.value,"onUpdate:modelValue":l[12]||=e=>U.value=e,label:`توضیحات`},null,8,[`modelValue`]),i(ce,{block:``,class:`mt-4`,onClick:Ne},{default:te(()=>[...l[19]||=[n(`ذخیره چک`,-1)]]),_:1})])])]))}}),[[`__scopeId`,`data-v-5976552f`]]);export{k as default}; \ No newline at end of file diff --git a/dist/assets/CheckListView-DptVxtEw.js b/dist/assets/CheckListView-D8SjoAtS.js similarity index 98% rename from dist/assets/CheckListView-DptVxtEw.js rename to dist/assets/CheckListView-D8SjoAtS.js index ff14600..a8556bc 100644 --- a/dist/assets/CheckListView-DptVxtEw.js +++ b/dist/assets/CheckListView-D8SjoAtS.js @@ -1 +1 @@ -import{A as e,D as t,I as n,J as r,L as i,M as a,N as o,R as ee,St as s,Tt as c,X as l,_ as u,et as te,g as ne,j as d,k as f,n as p,nt as m,pt as h,xt as g}from"./BasicIcon-B6lR-mG3.js";import{n as re,o as _,r as v,u as y}from"./format-BHJptHdF.js";import{_ as ie,c as ae,g as oe,n as b,t as se}from"./index-DHK6R1xK.js";import{t as x}from"./EmptyState-C6UAJ5_3.js";import{t as S}from"./IconChevronBack-BXRfc2bX.js";import{t as ce}from"./FormErrorBanner-8PcsTbdO.js";import{t as le}from"./useRequirePricedOrder-C1A9oE_o.js";var C=Object.defineProperty,w=(e,t)=>{let n={};for(var r in e)C(n,r,{get:e[r],enumerable:!0});return t||C(n,Symbol.toStringTag,{value:`Module`}),n},ue={class:`check-list-page mobile-only`},de={class:`check-list-page__nav`},fe={type:`button`,class:`nav-btn nav-btn--ghost`,"aria-hidden":`true`,tabindex:`-1`},pe={key:0,class:`check-list-page__empty page__scroll page__scroll--with-nav`},me={class:`check-list-page__scroll page__scroll`},he={class:`summary-cards`},ge={class:`summary-card`},_e={class:`summary-card__value`},T={class:`summary-card`},E={class:`summary-card__value`},D={key:0,class:`summary-card__status`},O={key:1,class:`summary-card__status summary-card__status--warn`},k={class:`summary-card__value`},A={key:0,class:`summary-card__hint`},j={class:`checks-list`},M={class:`check-card__menu-wrap`},N=[`onClick`],P={key:1,class:`check-card__menu`},F=[`onClick`],I={class:`check-card__body`},ve={class:`check-card__title`},ye={class:`check-card__amount`},be={class:`check-card__date`},xe={class:`check-card__thumb-wrap`},Se=[`src`],Ce={key:1,class:`check-card__thumb check-card__thumb--empty`},we={class:`rass-panel`},Te={class:`rass-panel__days`},Ee={key:0,class:`rass-panel__date`},De={key:0,class:`check-list-page__footer`},Oe={key:0,class:`desktop-checkout-shell check-list-desktop desktop-only`},ke={class:`desktop-two-col`},Ae={class:`desktop-two-col__main`},je={class:`desktop-table-wrap`},Me={class:`desktop-table-scroll`},Ne={class:`desktop-table check-list-desktop__table`},Pe={key:0,scope:`col`},Fe=[`src`],Ie={key:1},Le={class:`check-list-desktop__amount`},Re={key:0},ze=[`onClick`],Be={class:`desktop-summary-panel`},Ve={class:`desktop-summary-panel__row`},He={class:`desktop-summary-panel__row`},Ue={class:`desktop-summary-panel__row`},We={key:0,class:`desktop-summary-panel__action`},Ge={key:1,class:`desktop-checkout-shell desktop-only`},L=ee({__name:`CheckListView`,setup(ee){let p=ne(),C=u(),w=oe(),L=ae(),R=h(``),z=h(!1),B=f(()=>p.name===`check-list`),{orderId:V}=le(),H=f(()=>V.value?w.getOrderById(V.value):void 0);te(V,async e=>{if(!e||!B.value)return;let t=w.getOrderById(e)??await w.fetchOrder(e);t&&(w.draftChecks.length===0&&(t.checks?.length??0)>0?w.loadChecksIntoDraft(t):w.draftOrderId!==e&&w.startCheckDraft(e,t.checkMode??void 0))},{immediate:!0});let U=f(()=>w.draftChecks.length>0?w.draftChecks:B.value?H.value?.checks??[]:L.user?w.userOrders(L.user.id).filter(e=>e.settlementType===`check`&&e.checks?.length).flatMap(e=>e.checks??[]):[]),W=f(()=>w.draftChecks.length>0?w.getDraftRass():ie(U.value,new Date)),G=f(()=>H.value?.finalAmount??0),K=f(()=>Math.max(0,G.value-W.value.totalAmount)),q=f(()=>G.value>0&&W.value.totalAmount>=G.value),J=f(()=>G.value>0&&W.value.totalAmount>G.value),Y=f({get:()=>p.query.menu??``,set:e=>{C.replace({query:e?{menu:e}:{}})}});function X(){C.push(B.value?`/orders/${V.value}`:`/profile`)}function Z(){C.push(`/orders/${V.value}/check-form`)}async function Q(e){Y.value=``,await se({title:`حذف چک`,message:`آیا از حذف این چک مطمئن هستید؟`,confirmLabel:`حذف`,cancelLabel:`انصراف`,tone:`danger`})&&w.removeDraftCheck(e)}function Ke(e){Y.value=Y.value===e?``:e}async function $(){if(!(!V.value||w.draftChecks.length===0||z.value)){R.value=``,z.value=!0;try{await w.updateOrderChecks(V.value,[...w.draftChecks],w.draftCheckMode??`brief`),C.replace(`/orders/${V.value}?track=1`)}catch(e){R.value=e instanceof Error?e.message:`ثبت چک‌ها ناموفق بود.`}finally{z.value=!1}}}return(ee,u)=>(r(),o(t,null,[e(`div`,ue,[e(`header`,de,[e(`button`,{type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:X},[i(S,{size:20})]),u[1]||=e(`h1`,{class:`check-list-page__title`},`چک‌های ثبت شده`,-1),e(`button`,fe,[i(S,{size:18,class:`nav-btn__flip`})])]),U.value.length===0?(r(),o(`div`,pe,[i(x,{variant:`checks`,message:`برای ادامه، حداقل یک چک ثبت کنید`},{default:m(()=>[B.value?(r(),d(b,{key:0,onClick:Z},{default:m(()=>[...u[2]||=[n(`ثبت چک جدید`,-1)]]),_:1})):(r(),d(b,{key:1,variant:`outline`,onClick:u[0]||=e=>g(C).push(`/categories`)},{default:m(()=>[...u[3]||=[n(`ثبت سفارش جدید`,-1)]]),_:1}))]),_:1})])):(r(),o(t,{key:1},[e(`div`,me,[i(ce,{message:R.value},null,8,[`message`]),e(`div`,he,[e(`div`,ge,[u[4]||=e(`span`,{class:`summary-card__label`},`مجموع مبلغ چک‌ها`,-1),e(`strong`,_e,c(g(_)(W.value.totalAmount)),1),u[5]||=e(`span`,{class:`summary-card__unit`},`تومان`,-1)]),e(`div`,T,[u[7]||=e(`span`,{class:`summary-card__label`},`مبلغ فاکتور`,-1),e(`strong`,E,c(g(_)(G.value)),1),u[8]||=e(`span`,{class:`summary-card__unit`},`تومان`,-1),q.value&&!J.value?(r(),o(`p`,D,[...u[6]||=[e(`span`,{class:`summary-card__status-icon`},`✓`,-1),n(` مبلغ کامل است `,-1)]])):J.value?(r(),o(`p`,O,` بیش از مبلغ فاکتور `)):a(``,!0)]),e(`div`,{class:s([`summary-card summary-card--remain`,{"summary-card--remain-ok":q.value&&!J.value,"summary-card--remain-warn":J.value}])},[u[9]||=e(`span`,{class:`summary-card__label`},`باقی‌مانده`,-1),e(`strong`,k,c(J.value?g(_)(W.value.totalAmount-G.value):g(_)(K.value)),1),u[10]||=e(`span`,{class:`summary-card__unit`},`تومان`,-1),q.value?a(``,!0):(r(),o(`p`,A,` هنوز باید چک ثبت کنید `))],2)]),e(`div`,j,[(r(!0),o(t,null,l(U.value,(t,n)=>(r(),o(`article`,{key:t.id,class:`check-card`},[e(`div`,M,[B.value&&g(w).draftChecks.length>0?(r(),o(`button`,{key:0,type:`button`,class:`check-card__menu-btn`,"aria-label":`گزینه‌ها`,onClick:e=>Ke(t.id)},` ⋮ `,8,N)):a(``,!0),Y.value===t.id?(r(),o(`div`,P,[e(`button`,{type:`button`,onClick:e=>Q(t.id)},`حذف`,8,F)])):a(``,!0)]),e(`div`,I,[e(`h3`,ve,`چک `+c(g(y)(String(n+1))),1),e(`p`,ye,c(g(re)(t.amount)),1),e(`p`,be,`تاریخ: `+c(g(v)(t.dueDate)),1)]),e(`div`,xe,[t.frontImage?(r(),o(`img`,{key:0,src:t.frontImage,class:`check-card__thumb`,alt:`تصویر چک`},null,8,Se)):(r(),o(`div`,Ce,`چک`))])]))),128))]),e(`div`,we,[u[11]||=e(`h3`,{class:`rass-panel__title`},`رأس چک‌ها`,-1),e(`div`,Te,c(g(y)(String(W.value.rassDays)))+` روز`,1),W.value.rassDate?(r(),o(`p`,Ee,` تاریخ رأس تقریبی: `+c(g(v)(W.value.rassDate)),1)):a(``,!0)])]),B.value&&g(w).draftChecks.length>0?(r(),o(`div`,De,[i(b,{block:``,variant:`outline`,disabled:z.value,onClick:Z},{default:m(()=>[...u[12]||=[n(` افزودن چک جدید `,-1)]]),_:1},8,[`disabled`]),i(b,{block:``,disabled:U.value.length===0,loading:z.value,onClick:$},{default:m(()=>[...u[13]||=[n(` ارسال برای بررسی `,-1)]]),_:1},8,[`disabled`,`loading`])])):a(``,!0)],64))]),U.value.length>0?(r(),o(`div`,Oe,[u[26]||=e(`header`,{class:`desktop-page__head`},[e(`h1`,{class:`desktop-page__title`},`چک‌های ثبت شده`),e(`p`,{class:`desktop-page__subtitle`},`خلاصه و فهرست چک‌های ثبت‌شده`)],-1),e(`div`,ke,[e(`div`,Ae,[e(`div`,je,[e(`div`,Me,[e(`table`,Ne,[e(`thead`,null,[e(`tr`,null,[u[14]||=e(`th`,{scope:`col`},`تصویر`,-1),u[15]||=e(`th`,{scope:`col`},`مبلغ (تومان)`,-1),u[16]||=e(`th`,{scope:`col`},`تاریخ سررسید`,-1),u[17]||=e(`th`,{scope:`col`},`شناسه`,-1),B.value?(r(),o(`th`,Pe,`عملیات`)):a(``,!0)])]),e(`tbody`,null,[(r(!0),o(t,null,l(U.value,(t,n)=>(r(),o(`tr`,{key:t.id},[e(`td`,null,[t.frontImage?(r(),o(`img`,{key:0,src:t.frontImage,class:`check-list-desktop__thumb`,alt:`تصویر چک`},null,8,Fe)):(r(),o(`span`,Ie,`—`))]),e(`td`,Le,c(g(_)(t.amount)),1),e(`td`,null,c(g(v)(t.dueDate)),1),e(`td`,null,`چک `+c(g(y)(String(n+1))),1),B.value&&g(w).draftChecks.length>0?(r(),o(`td`,Re,[e(`button`,{type:`button`,class:`orders-table__action`,onClick:e=>Q(t.id)},` حذف `,8,ze)])):a(``,!0)]))),128))])])])]),B.value?(r(),d(b,{key:0,variant:`outline`,class:`desktop-btn-compact check-list-desktop__add`,onClick:Z},{default:m(()=>[...u[18]||=[n(` ثبت چک دیگر `,-1)]]),_:1})):a(``,!0)]),e(`aside`,Be,[u[25]||=e(`h2`,{class:`desktop-summary-panel__title`},`خلاصه مالی`,-1),e(`div`,Ve,[u[19]||=e(`span`,null,`مجموع چک‌ها`,-1),e(`strong`,null,c(g(_)(W.value.totalAmount))+` تومان`,1)]),e(`div`,He,[u[20]||=e(`span`,null,`مبلغ فاکتور`,-1),e(`strong`,null,c(g(_)(G.value))+` تومان`,1)]),e(`div`,{class:s([`desktop-summary-panel__row desktop-summary-panel__row--remain`,{"desktop-summary-panel__row--ok":q.value&&!J.value,"desktop-summary-panel__row--warn":J.value}])},[u[21]||=e(`span`,null,`باقی‌مانده`,-1),e(`strong`,null,c(J.value?`${g(_)(W.value.totalAmount-G.value)} بیش از فاکتور`:q.value?`پوشش کامل`:`${g(_)(K.value)} تومان`),1)],2),e(`div`,Ue,[u[22]||=e(`span`,null,`رأس چک‌ها`,-1),e(`strong`,null,c(g(y)(String(W.value.rassDays)))+` روز`,1)]),B.value&&g(w).draftChecks.length>0?(r(),o(`div`,We,[i(b,{block:``,variant:`outline`,disabled:z.value,onClick:Z},{default:m(()=>[...u[23]||=[n(` افزودن چک جدید `,-1)]]),_:1},8,[`disabled`]),i(b,{block:``,disabled:U.value.length===0,loading:z.value,onClick:$},{default:m(()=>[...u[24]||=[n(` ارسال برای بررسی `,-1)]]),_:1},8,[`disabled`,`loading`])])):a(``,!0)])])])):(r(),o(`div`,Ge,[i(x,{variant:`checks`,message:`برای ادامه، حداقل یک چک ثبت کنید`},{default:m(()=>[B.value?(r(),d(b,{key:0,onClick:Z},{default:m(()=>[...u[27]||=[n(`ثبت چک جدید`,-1)]]),_:1})):a(``,!0)]),_:1})]))],64))}}),R=w({default:()=>z}),z=p(L,[[`__scopeId`,`data-v-83f3f9a7`]]);export{R as n,z as t}; \ No newline at end of file +import{A as e,D as t,I as n,J as r,L as i,M as a,N as o,R as ee,St as s,Tt as c,X as l,_ as u,et as te,g as ne,j as d,k as f,n as p,nt as m,pt as h,xt as g}from"./BasicIcon-B6lR-mG3.js";import{n as re,o as _,r as v,u as y}from"./format-BHJptHdF.js";import{_ as ie,c as ae,g as oe,n as b,t as se}from"./index-B20WsQhf.js";import{t as x}from"./EmptyState-C6UAJ5_3.js";import{t as S}from"./IconChevronBack-BXRfc2bX.js";import{t as ce}from"./FormErrorBanner-8PcsTbdO.js";import{t as le}from"./useRequirePricedOrder-BVRY4vCB.js";var C=Object.defineProperty,w=(e,t)=>{let n={};for(var r in e)C(n,r,{get:e[r],enumerable:!0});return t||C(n,Symbol.toStringTag,{value:`Module`}),n},ue={class:`check-list-page mobile-only`},de={class:`check-list-page__nav`},fe={type:`button`,class:`nav-btn nav-btn--ghost`,"aria-hidden":`true`,tabindex:`-1`},pe={key:0,class:`check-list-page__empty page__scroll page__scroll--with-nav`},me={class:`check-list-page__scroll page__scroll`},he={class:`summary-cards`},ge={class:`summary-card`},_e={class:`summary-card__value`},T={class:`summary-card`},E={class:`summary-card__value`},D={key:0,class:`summary-card__status`},O={key:1,class:`summary-card__status summary-card__status--warn`},k={class:`summary-card__value`},A={key:0,class:`summary-card__hint`},j={class:`checks-list`},M={class:`check-card__menu-wrap`},N=[`onClick`],P={key:1,class:`check-card__menu`},F=[`onClick`],I={class:`check-card__body`},ve={class:`check-card__title`},ye={class:`check-card__amount`},be={class:`check-card__date`},xe={class:`check-card__thumb-wrap`},Se=[`src`],Ce={key:1,class:`check-card__thumb check-card__thumb--empty`},we={class:`rass-panel`},Te={class:`rass-panel__days`},Ee={key:0,class:`rass-panel__date`},De={key:0,class:`check-list-page__footer`},Oe={key:0,class:`desktop-checkout-shell check-list-desktop desktop-only`},ke={class:`desktop-two-col`},Ae={class:`desktop-two-col__main`},je={class:`desktop-table-wrap`},Me={class:`desktop-table-scroll`},Ne={class:`desktop-table check-list-desktop__table`},Pe={key:0,scope:`col`},Fe=[`src`],Ie={key:1},Le={class:`check-list-desktop__amount`},Re={key:0},ze=[`onClick`],Be={class:`desktop-summary-panel`},Ve={class:`desktop-summary-panel__row`},He={class:`desktop-summary-panel__row`},Ue={class:`desktop-summary-panel__row`},We={key:0,class:`desktop-summary-panel__action`},Ge={key:1,class:`desktop-checkout-shell desktop-only`},L=ee({__name:`CheckListView`,setup(ee){let p=ne(),C=u(),w=oe(),L=ae(),R=h(``),z=h(!1),B=f(()=>p.name===`check-list`),{orderId:V}=le(),H=f(()=>V.value?w.getOrderById(V.value):void 0);te(V,async e=>{if(!e||!B.value)return;let t=w.getOrderById(e)??await w.fetchOrder(e);t&&(w.draftChecks.length===0&&(t.checks?.length??0)>0?w.loadChecksIntoDraft(t):w.draftOrderId!==e&&w.startCheckDraft(e,t.checkMode??void 0))},{immediate:!0});let U=f(()=>w.draftChecks.length>0?w.draftChecks:B.value?H.value?.checks??[]:L.user?w.userOrders(L.user.id).filter(e=>e.settlementType===`check`&&e.checks?.length).flatMap(e=>e.checks??[]):[]),W=f(()=>w.draftChecks.length>0?w.getDraftRass():ie(U.value,new Date)),G=f(()=>H.value?.finalAmount??0),K=f(()=>Math.max(0,G.value-W.value.totalAmount)),q=f(()=>G.value>0&&W.value.totalAmount>=G.value),J=f(()=>G.value>0&&W.value.totalAmount>G.value),Y=f({get:()=>p.query.menu??``,set:e=>{C.replace({query:e?{menu:e}:{}})}});function X(){C.push(B.value?`/orders/${V.value}`:`/profile`)}function Z(){C.push(`/orders/${V.value}/check-form`)}async function Q(e){Y.value=``,await se({title:`حذف چک`,message:`آیا از حذف این چک مطمئن هستید؟`,confirmLabel:`حذف`,cancelLabel:`انصراف`,tone:`danger`})&&w.removeDraftCheck(e)}function Ke(e){Y.value=Y.value===e?``:e}async function $(){if(!(!V.value||w.draftChecks.length===0||z.value)){R.value=``,z.value=!0;try{await w.updateOrderChecks(V.value,[...w.draftChecks],w.draftCheckMode??`brief`),C.replace(`/orders/${V.value}?track=1`)}catch(e){R.value=e instanceof Error?e.message:`ثبت چک‌ها ناموفق بود.`}finally{z.value=!1}}}return(ee,u)=>(r(),o(t,null,[e(`div`,ue,[e(`header`,de,[e(`button`,{type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:X},[i(S,{size:20})]),u[1]||=e(`h1`,{class:`check-list-page__title`},`چک‌های ثبت شده`,-1),e(`button`,fe,[i(S,{size:18,class:`nav-btn__flip`})])]),U.value.length===0?(r(),o(`div`,pe,[i(x,{variant:`checks`,message:`برای ادامه، حداقل یک چک ثبت کنید`},{default:m(()=>[B.value?(r(),d(b,{key:0,onClick:Z},{default:m(()=>[...u[2]||=[n(`ثبت چک جدید`,-1)]]),_:1})):(r(),d(b,{key:1,variant:`outline`,onClick:u[0]||=e=>g(C).push(`/categories`)},{default:m(()=>[...u[3]||=[n(`ثبت سفارش جدید`,-1)]]),_:1}))]),_:1})])):(r(),o(t,{key:1},[e(`div`,me,[i(ce,{message:R.value},null,8,[`message`]),e(`div`,he,[e(`div`,ge,[u[4]||=e(`span`,{class:`summary-card__label`},`مجموع مبلغ چک‌ها`,-1),e(`strong`,_e,c(g(_)(W.value.totalAmount)),1),u[5]||=e(`span`,{class:`summary-card__unit`},`تومان`,-1)]),e(`div`,T,[u[7]||=e(`span`,{class:`summary-card__label`},`مبلغ فاکتور`,-1),e(`strong`,E,c(g(_)(G.value)),1),u[8]||=e(`span`,{class:`summary-card__unit`},`تومان`,-1),q.value&&!J.value?(r(),o(`p`,D,[...u[6]||=[e(`span`,{class:`summary-card__status-icon`},`✓`,-1),n(` مبلغ کامل است `,-1)]])):J.value?(r(),o(`p`,O,` بیش از مبلغ فاکتور `)):a(``,!0)]),e(`div`,{class:s([`summary-card summary-card--remain`,{"summary-card--remain-ok":q.value&&!J.value,"summary-card--remain-warn":J.value}])},[u[9]||=e(`span`,{class:`summary-card__label`},`باقی‌مانده`,-1),e(`strong`,k,c(J.value?g(_)(W.value.totalAmount-G.value):g(_)(K.value)),1),u[10]||=e(`span`,{class:`summary-card__unit`},`تومان`,-1),q.value?a(``,!0):(r(),o(`p`,A,` هنوز باید چک ثبت کنید `))],2)]),e(`div`,j,[(r(!0),o(t,null,l(U.value,(t,n)=>(r(),o(`article`,{key:t.id,class:`check-card`},[e(`div`,M,[B.value&&g(w).draftChecks.length>0?(r(),o(`button`,{key:0,type:`button`,class:`check-card__menu-btn`,"aria-label":`گزینه‌ها`,onClick:e=>Ke(t.id)},` ⋮ `,8,N)):a(``,!0),Y.value===t.id?(r(),o(`div`,P,[e(`button`,{type:`button`,onClick:e=>Q(t.id)},`حذف`,8,F)])):a(``,!0)]),e(`div`,I,[e(`h3`,ve,`چک `+c(g(y)(String(n+1))),1),e(`p`,ye,c(g(re)(t.amount)),1),e(`p`,be,`تاریخ: `+c(g(v)(t.dueDate)),1)]),e(`div`,xe,[t.frontImage?(r(),o(`img`,{key:0,src:t.frontImage,class:`check-card__thumb`,alt:`تصویر چک`},null,8,Se)):(r(),o(`div`,Ce,`چک`))])]))),128))]),e(`div`,we,[u[11]||=e(`h3`,{class:`rass-panel__title`},`رأس چک‌ها`,-1),e(`div`,Te,c(g(y)(String(W.value.rassDays)))+` روز`,1),W.value.rassDate?(r(),o(`p`,Ee,` تاریخ رأس تقریبی: `+c(g(v)(W.value.rassDate)),1)):a(``,!0)])]),B.value&&g(w).draftChecks.length>0?(r(),o(`div`,De,[i(b,{block:``,variant:`outline`,disabled:z.value,onClick:Z},{default:m(()=>[...u[12]||=[n(` افزودن چک جدید `,-1)]]),_:1},8,[`disabled`]),i(b,{block:``,disabled:U.value.length===0,loading:z.value,onClick:$},{default:m(()=>[...u[13]||=[n(` ارسال برای بررسی `,-1)]]),_:1},8,[`disabled`,`loading`])])):a(``,!0)],64))]),U.value.length>0?(r(),o(`div`,Oe,[u[26]||=e(`header`,{class:`desktop-page__head`},[e(`h1`,{class:`desktop-page__title`},`چک‌های ثبت شده`),e(`p`,{class:`desktop-page__subtitle`},`خلاصه و فهرست چک‌های ثبت‌شده`)],-1),e(`div`,ke,[e(`div`,Ae,[e(`div`,je,[e(`div`,Me,[e(`table`,Ne,[e(`thead`,null,[e(`tr`,null,[u[14]||=e(`th`,{scope:`col`},`تصویر`,-1),u[15]||=e(`th`,{scope:`col`},`مبلغ (تومان)`,-1),u[16]||=e(`th`,{scope:`col`},`تاریخ سررسید`,-1),u[17]||=e(`th`,{scope:`col`},`شناسه`,-1),B.value?(r(),o(`th`,Pe,`عملیات`)):a(``,!0)])]),e(`tbody`,null,[(r(!0),o(t,null,l(U.value,(t,n)=>(r(),o(`tr`,{key:t.id},[e(`td`,null,[t.frontImage?(r(),o(`img`,{key:0,src:t.frontImage,class:`check-list-desktop__thumb`,alt:`تصویر چک`},null,8,Fe)):(r(),o(`span`,Ie,`—`))]),e(`td`,Le,c(g(_)(t.amount)),1),e(`td`,null,c(g(v)(t.dueDate)),1),e(`td`,null,`چک `+c(g(y)(String(n+1))),1),B.value&&g(w).draftChecks.length>0?(r(),o(`td`,Re,[e(`button`,{type:`button`,class:`orders-table__action`,onClick:e=>Q(t.id)},` حذف `,8,ze)])):a(``,!0)]))),128))])])])]),B.value?(r(),d(b,{key:0,variant:`outline`,class:`desktop-btn-compact check-list-desktop__add`,onClick:Z},{default:m(()=>[...u[18]||=[n(` ثبت چک دیگر `,-1)]]),_:1})):a(``,!0)]),e(`aside`,Be,[u[25]||=e(`h2`,{class:`desktop-summary-panel__title`},`خلاصه مالی`,-1),e(`div`,Ve,[u[19]||=e(`span`,null,`مجموع چک‌ها`,-1),e(`strong`,null,c(g(_)(W.value.totalAmount))+` تومان`,1)]),e(`div`,He,[u[20]||=e(`span`,null,`مبلغ فاکتور`,-1),e(`strong`,null,c(g(_)(G.value))+` تومان`,1)]),e(`div`,{class:s([`desktop-summary-panel__row desktop-summary-panel__row--remain`,{"desktop-summary-panel__row--ok":q.value&&!J.value,"desktop-summary-panel__row--warn":J.value}])},[u[21]||=e(`span`,null,`باقی‌مانده`,-1),e(`strong`,null,c(J.value?`${g(_)(W.value.totalAmount-G.value)} بیش از فاکتور`:q.value?`پوشش کامل`:`${g(_)(K.value)} تومان`),1)],2),e(`div`,Ue,[u[22]||=e(`span`,null,`رأس چک‌ها`,-1),e(`strong`,null,c(g(y)(String(W.value.rassDays)))+` روز`,1)]),B.value&&g(w).draftChecks.length>0?(r(),o(`div`,We,[i(b,{block:``,variant:`outline`,disabled:z.value,onClick:Z},{default:m(()=>[...u[23]||=[n(` افزودن چک جدید `,-1)]]),_:1},8,[`disabled`]),i(b,{block:``,disabled:U.value.length===0,loading:z.value,onClick:$},{default:m(()=>[...u[24]||=[n(` ارسال برای بررسی `,-1)]]),_:1},8,[`disabled`,`loading`])])):a(``,!0)])])])):(r(),o(`div`,Ge,[i(x,{variant:`checks`,message:`برای ادامه، حداقل یک چک ثبت کنید`},{default:m(()=>[B.value?(r(),d(b,{key:0,onClick:Z},{default:m(()=>[...u[27]||=[n(`ثبت چک جدید`,-1)]]),_:1})):a(``,!0)]),_:1})]))],64))}}),R=w({default:()=>z}),z=p(L,[[`__scopeId`,`data-v-83f3f9a7`]]);export{R as n,z as t}; \ No newline at end of file diff --git a/dist/assets/CheckModeSelectView-CWf_i8Wn.js b/dist/assets/CheckModeSelectView-CganQy3H.js similarity index 89% rename from dist/assets/CheckModeSelectView-CWf_i8Wn.js rename to dist/assets/CheckModeSelectView-CganQy3H.js index acbbc2d..1ae2186 100644 --- a/dist/assets/CheckModeSelectView-CWf_i8Wn.js +++ b/dist/assets/CheckModeSelectView-CganQy3H.js @@ -1 +1 @@ -import{A as e,J as t,L as n,N as r,R as i,Tt as a,_ as o,et as s,k as c,n as l,xt as u}from"./BasicIcon-B6lR-mG3.js";import{n as d}from"./format-BHJptHdF.js";import{b as f,g as p}from"./index-DHK6R1xK.js";import{t as m}from"./IconEditPen-CppsBLM9.js";import{t as h}from"./PageHeader-Cza56lK4.js";import{t as g}from"./useRequirePricedOrder-C1A9oE_o.js";var _={class:`page check-mode-page`},v={class:`page__scroll check-mode-page__scroll`},y={class:`check-mode-invoice`},b={class:`check-mode-invoice__value`},x={class:`mode-options`},S={class:`mode-card__icon`},C={class:`mode-card__icon`},w=l(i({__name:`CheckModeSelectView`,setup(i){let l=o(),w=p(),{orderId:T,order:E}=g(),D=c(()=>E.value?.finalAmount?d(E.value.finalAmount):`—`);s(T,async e=>{e&&(w.getOrderById(e)||await w.fetchOrder(e),w.draftOrderId!==e&&w.startCheckDraft(e))},{immediate:!0});function O(e){w.setCheckMode(e),l.push(`/orders/${T.value}/check-form`)}return(i,o)=>(t(),r(`div`,_,[n(h,{title:`تسویه چکی`,subtitle:`بر اساس مبلغ فاکتور، نحوه ثبت چک را انتخاب کنید`,"show-back":``,centered:``,onBack:o[0]||=e=>u(l).push(`/orders/${u(T)}`)}),e(`div`,v,[e(`div`,y,[o[3]||=e(`span`,{class:`check-mode-invoice__label`},`مبلغ فاکتور`,-1),e(`strong`,b,a(D.value),1)]),e(`div`,x,[e(`button`,{type:`button`,class:`mode-card`,onClick:o[1]||=e=>O(`full`)},[e(`span`,S,[n(f,{size:36})]),o[4]||=e(`h3`,{class:`mode-card__title`},`ثبت کامل (پیشنهادی)`,-1),o[5]||=e(`p`,{class:`mode-card__desc`},`وارد کردن همه اطلاعات چک`,-1)]),e(`button`,{type:`button`,class:`mode-card`,onClick:o[2]||=e=>O(`brief`)},[e(`span`,C,[n(m,{size:36})]),o[6]||=e(`h3`,{class:`mode-card__title`},`ثبت مختصر`,-1),o[7]||=e(`p`,{class:`mode-card__desc`},`وارد کردن حداقل اطلاعات`,-1)])])])]))}}),[[`__scopeId`,`data-v-680065b0`]]);export{w as default}; \ No newline at end of file +import{A as e,J as t,L as n,N as r,R as i,Tt as a,_ as o,et as s,k as c,n as l,xt as u}from"./BasicIcon-B6lR-mG3.js";import{n as d}from"./format-BHJptHdF.js";import{b as f,g as p}from"./index-B20WsQhf.js";import{t as m}from"./IconEditPen-CppsBLM9.js";import{t as h}from"./PageHeader-DXkA75qK.js";import{t as g}from"./useRequirePricedOrder-BVRY4vCB.js";var _={class:`page check-mode-page`},v={class:`page__scroll check-mode-page__scroll`},y={class:`check-mode-invoice`},b={class:`check-mode-invoice__value`},x={class:`mode-options`},S={class:`mode-card__icon`},C={class:`mode-card__icon`},w=l(i({__name:`CheckModeSelectView`,setup(i){let l=o(),w=p(),{orderId:T,order:E}=g(),D=c(()=>E.value?.finalAmount?d(E.value.finalAmount):`—`);s(T,async e=>{e&&(w.getOrderById(e)||await w.fetchOrder(e),w.draftOrderId!==e&&w.startCheckDraft(e))},{immediate:!0});function O(e){w.setCheckMode(e),l.push(`/orders/${T.value}/check-form`)}return(i,o)=>(t(),r(`div`,_,[n(h,{title:`تسویه چکی`,subtitle:`بر اساس مبلغ فاکتور، نحوه ثبت چک را انتخاب کنید`,"show-back":``,centered:``,onBack:o[0]||=e=>u(l).push(`/orders/${u(T)}`)}),e(`div`,v,[e(`div`,y,[o[3]||=e(`span`,{class:`check-mode-invoice__label`},`مبلغ فاکتور`,-1),e(`strong`,b,a(D.value),1)]),e(`div`,x,[e(`button`,{type:`button`,class:`mode-card`,onClick:o[1]||=e=>O(`full`)},[e(`span`,S,[n(f,{size:36})]),o[4]||=e(`h3`,{class:`mode-card__title`},`ثبت کامل (پیشنهادی)`,-1),o[5]||=e(`p`,{class:`mode-card__desc`},`وارد کردن همه اطلاعات چک`,-1)]),e(`button`,{type:`button`,class:`mode-card`,onClick:o[2]||=e=>O(`brief`)},[e(`span`,C,[n(m,{size:36})]),o[6]||=e(`h3`,{class:`mode-card__title`},`ثبت مختصر`,-1),o[7]||=e(`p`,{class:`mode-card__desc`},`وارد کردن حداقل اطلاعات`,-1)])])])]))}}),[[`__scopeId`,`data-v-680065b0`]]);export{w as default}; \ No newline at end of file diff --git a/dist/assets/CompanySelectView-BRg_id5_.js b/dist/assets/CompanySelectView-2uDtaz53.js similarity index 99% rename from dist/assets/CompanySelectView-BRg_id5_.js rename to dist/assets/CompanySelectView-2uDtaz53.js index 60140b3..5c38cc1 100644 --- a/dist/assets/CompanySelectView-BRg_id5_.js +++ b/dist/assets/CompanySelectView-2uDtaz53.js @@ -1 +1 @@ -import{$ as e,A as t,D as n,F as r,J as i,K as a,L as o,M as s,N as c,R as l,St as u,Tt as d,X as f,_ as p,j as m,k as h,n as g,pt as _,xt as v}from"./BasicIcon-B6lR-mG3.js";import{t as y}from"./catalog-DNpqlweh.js";import{C as b,E as x,T as S,o as ee,w as C,x as te}from"./index-DHK6R1xK.js";import{t as w}from"./IconChevronBack-BXRfc2bX.js";import{n as T,t as E}from"./IconFamBaftLogo-CHx7e3Le.js";import{t as D}from"./IconBuilding-oclvcvlP.js";import{t as O}from"./IconLayoutGrid-DgOvzvMf.js";import{t as k}from"./PageSkeleton-BImjuI6S.js";import{t as A}from"./useGoBack-yePcdjuj.js";import{t as j}from"./IconShoppingBag-DW_Of8if.js";var M={class:`company-mobile-page`},N={class:`company-mobile-page__header`},P={class:`company-mobile-page__nav`},F={class:`company-mobile-page__list`},I=[`onClick`],L={class:`company-brand-card__logo`},R={class:`company-brand-card__name`},z={class:`company-brand-card__desc`},B=g(l({__name:`MobileCompanySelect`,props:{companies:{},cardVariant:{type:Function},companyDescription:{type:Function},companyLogo:{type:Function}},emits:[`select`,`back`],setup(r){return(a,s)=>(i(),c(`div`,M,[t(`header`,N,[t(`div`,P,[t(`button`,{type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:s[0]||=e=>a.$emit(`back`)},[o(w,{size:20})]),s[1]||=t(`h1`,{class:`company-mobile-page__title`},`انتخاب شرکت`,-1),s[2]||=t(`span`,{class:`nav-btn nav-btn--spacer`,"aria-hidden":`true`},null,-1)]),s[3]||=t(`p`,{class:`company-mobile-page__subtitle`},`شرکت مورد نظر خود را انتخاب کنید`,-1)]),t(`div`,F,[(i(!0),c(n,null,f(r.companies,n=>(i(),c(`button`,{key:n.id,type:`button`,class:u([`company-brand-card`,`company-brand-card--${r.cardVariant(n.slug)}`]),onClick:e=>a.$emit(`select`,n.id)},[t(`span`,L,[(i(),m(e(r.companyLogo(n.slug)),{size:72}))]),t(`h2`,R,d(n.name),1),t(`p`,z,d(r.companyDescription(n)),1)],10,I))),128))])]))}}),[[`__scopeId`,`data-v-4a6c95ce`]]),V={class:`desktop-page home-dashboard`},H={class:`welcome-banner`,"aria-label":`خوش‌آمدگویی`},U={class:`welcome-banner__icon`,"aria-hidden":`true`},W={class:`home-dashboard__companies`},ne={class:`company-showcase__body`},G={class:`company-showcase__logo`},K={class:`company-showcase__name`},q={class:`company-showcase__desc`},J=[`onClick`],Y={class:`home-dashboard__bottom`},X={class:`home-panel home-panel--quick`},Z={class:`quick-access`},re=[`onClick`],ie={class:`quick-access__label`},ae={class:`home-panel home-panel--steps`},oe={class:`order-steps`},se={class:`order-step__dot`},Q={class:`order-step__icon`},ce={class:`order-step__label`},le={key:0,class:`order-step-bridge`,"aria-hidden":`true`},$=1,ue=g(l({__name:`DesktopHomeDashboard`,props:{companies:{},cardVariant:{type:Function},companyDescription:{type:Function},companyLogo:{type:Function}},emits:[`select`],setup(a,{emit:l}){let g=a,_=l,y=p(),x=h(()=>[...g.companies].sort((e,t)=>e.slug===`fam-baft`?-1:+(t.slug===`fam-baft`))),w=[{label:`انتخاب شرکت`,icon:S,path:`/`,tone:`orange`},{label:`سفارش‌گذاری`,icon:te,path:`/`,tone:`blue`},{label:`سبد خرید`,icon:C,path:`/cart`,tone:`green`},{label:`سفارش‌های من`,icon:b,path:`/orders`,tone:`purple`}],T=[{id:1,label:`انتخاب شرکت`,icon:D,active:!0},{id:2,label:`انتخاب کالیته`,icon:O,active:!1},{id:3,label:`ثبت سفارش`,icon:b,active:!1}];return(l,p)=>(i(),c(`div`,V,[p[5]||=t(`header`,{class:`home-dashboard__head`},[t(`h1`,{class:`home-dashboard__title`},`انتخاب شرکت`),t(`p`,{class:`home-dashboard__subtitle`},`شرکت موردنظر خود را برای شروع سفارش‌گذاری انتخاب کنید`)],-1),t(`section`,H,[p[0]||=r(`

به پارس بافت خوش آمدید

برای شروع سفارش، ابتدا شرکت موردنظر را انتخاب کنید و سپس کالیته و محصولات را اضافه کنید.

`,2),t(`div`,U,[o(j,{size:26})])]),t(`div`,W,[(i(!0),c(n,null,f(x.value,n=>(i(),c(`article`,{key:n.id,class:u([`company-showcase`,`company-showcase--${a.cardVariant(n.slug)}`])},[p[2]||=t(`div`,{class:`company-showcase__pattern`,"aria-hidden":`true`},null,-1),t(`div`,ne,[t(`span`,G,[(i(),m(e(a.companyLogo(n.slug)),{size:72}))]),t(`h3`,K,d(n.name),1),t(`p`,q,d(a.companyDescription(n)),1),t(`button`,{type:`button`,class:`company-showcase__cta`,onClick:e=>_(`select`,n.id)},[p[1]||=t(`span`,{class:`company-showcase__cta-text`},`ورود به کاتالوگ‌ها`,-1),o(ee,{size:16,class:`company-showcase__cta-icon`,"aria-hidden":`true`})],8,J)])],2))),128))]),t(`div`,Y,[t(`section`,X,[p[3]||=t(`h3`,{class:`home-panel__title`},`دسترسی سریع`,-1),t(`div`,Z,[(i(),c(n,null,f(w,n=>t(`button`,{key:n.label,type:`button`,class:`quick-access__item`,onClick:e=>v(y).push(n.path)},[t(`span`,{class:u([`quick-access__icon`,`quick-access__icon--${n.tone}`])},[(i(),m(e(n.icon),{size:22}))],2),t(`span`,ie,d(n.label),1)],8,re)),64))])]),t(`section`,ae,[p[4]||=t(`h3`,{class:`home-panel__title`},`مراحل ثبت سفارش`,-1),t(`ol`,oe,[(i(),c(n,null,f(T,(r,a)=>(i(),c(n,{key:r.id},[t(`li`,{class:u([`order-step`,{"order-step--active":r.id===$}])},[t(`span`,se,d(r.id),1),t(`span`,Q,[(i(),m(e(r.icon),{size:18}))]),t(`span`,ce,d(r.label),1)],2),as.getActiveCompanies()),f={par:{description:`تولید و عرضه انواع پارچه`,logo:T},"fam-baft":{description:`تولید و عرضه انواع پارچه`,logo:E}};a(async()=>{await s.loadCompanies(),u.value=!1});function m(e){let n=s.getCompany(e);n&&(l.selectCompany(n),t.push(`/companies/${e}/catalogs`))}function g(e){return e===`par`?`par`:`fam-baft`}function b(e){return f[e.slug]?.description??e.description}function S(e){return f[e]?.logo??T}return(e,t)=>u.value?(i(),c(`div`,de,[o(k,{variant:`cards`})])):(i(),c(n,{key:1},[o(B,{class:`mobile-only`,companies:d.value,"card-variant":g,"company-description":b,"company-logo":S,onSelect:m,onBack:v(r)},null,8,[`companies`,`onBack`]),o(ue,{class:`desktop-only`,companies:d.value,"card-variant":g,"company-description":b,"company-logo":S,onSelect:m},null,8,[`companies`])],64))}});export{fe as default}; \ No newline at end of file +import{$ as e,A as t,D as n,F as r,J as i,K as a,L as o,M as s,N as c,R as l,St as u,Tt as d,X as f,_ as p,j as m,k as h,n as g,pt as _,xt as v}from"./BasicIcon-B6lR-mG3.js";import{t as y}from"./catalog-DNpqlweh.js";import{C as b,E as x,T as S,o as ee,w as C,x as te}from"./index-B20WsQhf.js";import{t as w}from"./IconChevronBack-BXRfc2bX.js";import{n as T,t as E}from"./IconFamBaftLogo-CHx7e3Le.js";import{t as D}from"./IconBuilding-oclvcvlP.js";import{t as O}from"./IconLayoutGrid-DgOvzvMf.js";import{t as k}from"./PageSkeleton-BImjuI6S.js";import{t as A}from"./useGoBack-yePcdjuj.js";import{t as j}from"./IconShoppingBag-DW_Of8if.js";var M={class:`company-mobile-page`},N={class:`company-mobile-page__header`},P={class:`company-mobile-page__nav`},F={class:`company-mobile-page__list`},I=[`onClick`],L={class:`company-brand-card__logo`},R={class:`company-brand-card__name`},z={class:`company-brand-card__desc`},B=g(l({__name:`MobileCompanySelect`,props:{companies:{},cardVariant:{type:Function},companyDescription:{type:Function},companyLogo:{type:Function}},emits:[`select`,`back`],setup(r){return(a,s)=>(i(),c(`div`,M,[t(`header`,N,[t(`div`,P,[t(`button`,{type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:s[0]||=e=>a.$emit(`back`)},[o(w,{size:20})]),s[1]||=t(`h1`,{class:`company-mobile-page__title`},`انتخاب شرکت`,-1),s[2]||=t(`span`,{class:`nav-btn nav-btn--spacer`,"aria-hidden":`true`},null,-1)]),s[3]||=t(`p`,{class:`company-mobile-page__subtitle`},`شرکت مورد نظر خود را انتخاب کنید`,-1)]),t(`div`,F,[(i(!0),c(n,null,f(r.companies,n=>(i(),c(`button`,{key:n.id,type:`button`,class:u([`company-brand-card`,`company-brand-card--${r.cardVariant(n.slug)}`]),onClick:e=>a.$emit(`select`,n.id)},[t(`span`,L,[(i(),m(e(r.companyLogo(n.slug)),{size:72}))]),t(`h2`,R,d(n.name),1),t(`p`,z,d(r.companyDescription(n)),1)],10,I))),128))])]))}}),[[`__scopeId`,`data-v-4a6c95ce`]]),V={class:`desktop-page home-dashboard`},H={class:`welcome-banner`,"aria-label":`خوش‌آمدگویی`},U={class:`welcome-banner__icon`,"aria-hidden":`true`},W={class:`home-dashboard__companies`},ne={class:`company-showcase__body`},G={class:`company-showcase__logo`},K={class:`company-showcase__name`},q={class:`company-showcase__desc`},J=[`onClick`],Y={class:`home-dashboard__bottom`},X={class:`home-panel home-panel--quick`},Z={class:`quick-access`},re=[`onClick`],ie={class:`quick-access__label`},ae={class:`home-panel home-panel--steps`},oe={class:`order-steps`},se={class:`order-step__dot`},Q={class:`order-step__icon`},ce={class:`order-step__label`},le={key:0,class:`order-step-bridge`,"aria-hidden":`true`},$=1,ue=g(l({__name:`DesktopHomeDashboard`,props:{companies:{},cardVariant:{type:Function},companyDescription:{type:Function},companyLogo:{type:Function}},emits:[`select`],setup(a,{emit:l}){let g=a,_=l,y=p(),x=h(()=>[...g.companies].sort((e,t)=>e.slug===`fam-baft`?-1:+(t.slug===`fam-baft`))),w=[{label:`انتخاب شرکت`,icon:S,path:`/`,tone:`orange`},{label:`سفارش‌گذاری`,icon:te,path:`/`,tone:`blue`},{label:`سبد خرید`,icon:C,path:`/cart`,tone:`green`},{label:`سفارش‌های من`,icon:b,path:`/orders`,tone:`purple`}],T=[{id:1,label:`انتخاب شرکت`,icon:D,active:!0},{id:2,label:`انتخاب کالیته`,icon:O,active:!1},{id:3,label:`ثبت سفارش`,icon:b,active:!1}];return(l,p)=>(i(),c(`div`,V,[p[5]||=t(`header`,{class:`home-dashboard__head`},[t(`h1`,{class:`home-dashboard__title`},`انتخاب شرکت`),t(`p`,{class:`home-dashboard__subtitle`},`شرکت موردنظر خود را برای شروع سفارش‌گذاری انتخاب کنید`)],-1),t(`section`,H,[p[0]||=r(`

به پارس بافت خوش آمدید

برای شروع سفارش، ابتدا شرکت موردنظر را انتخاب کنید و سپس کالیته و محصولات را اضافه کنید.

`,2),t(`div`,U,[o(j,{size:26})])]),t(`div`,W,[(i(!0),c(n,null,f(x.value,n=>(i(),c(`article`,{key:n.id,class:u([`company-showcase`,`company-showcase--${a.cardVariant(n.slug)}`])},[p[2]||=t(`div`,{class:`company-showcase__pattern`,"aria-hidden":`true`},null,-1),t(`div`,ne,[t(`span`,G,[(i(),m(e(a.companyLogo(n.slug)),{size:72}))]),t(`h3`,K,d(n.name),1),t(`p`,q,d(a.companyDescription(n)),1),t(`button`,{type:`button`,class:`company-showcase__cta`,onClick:e=>_(`select`,n.id)},[p[1]||=t(`span`,{class:`company-showcase__cta-text`},`ورود به کاتالوگ‌ها`,-1),o(ee,{size:16,class:`company-showcase__cta-icon`,"aria-hidden":`true`})],8,J)])],2))),128))]),t(`div`,Y,[t(`section`,X,[p[3]||=t(`h3`,{class:`home-panel__title`},`دسترسی سریع`,-1),t(`div`,Z,[(i(),c(n,null,f(w,n=>t(`button`,{key:n.label,type:`button`,class:`quick-access__item`,onClick:e=>v(y).push(n.path)},[t(`span`,{class:u([`quick-access__icon`,`quick-access__icon--${n.tone}`])},[(i(),m(e(n.icon),{size:22}))],2),t(`span`,ie,d(n.label),1)],8,re)),64))])]),t(`section`,ae,[p[4]||=t(`h3`,{class:`home-panel__title`},`مراحل ثبت سفارش`,-1),t(`ol`,oe,[(i(),c(n,null,f(T,(r,a)=>(i(),c(n,{key:r.id},[t(`li`,{class:u([`order-step`,{"order-step--active":r.id===$}])},[t(`span`,se,d(r.id),1),t(`span`,Q,[(i(),m(e(r.icon),{size:18}))]),t(`span`,ce,d(r.label),1)],2),as.getActiveCompanies()),f={par:{description:`تولید و عرضه انواع پارچه`,logo:T},"fam-baft":{description:`تولید و عرضه انواع پارچه`,logo:E}};a(async()=>{await s.loadCompanies(),u.value=!1});function m(e){let n=s.getCompany(e);n&&(l.selectCompany(n),t.push(`/companies/${e}/catalogs`))}function g(e){return e===`par`?`par`:`fam-baft`}function b(e){return f[e.slug]?.description??e.description}function S(e){return f[e]?.logo??T}return(e,t)=>u.value?(i(),c(`div`,de,[o(k,{variant:`cards`})])):(i(),c(n,{key:1},[o(B,{class:`mobile-only`,companies:d.value,"card-variant":g,"company-description":b,"company-logo":S,onSelect:m,onBack:v(r)},null,8,[`companies`,`onBack`]),o(ue,{class:`desktop-only`,companies:d.value,"card-variant":g,"company-description":b,"company-logo":S,onSelect:m},null,8,[`companies`])],64))}});export{fe as default}; \ No newline at end of file diff --git a/dist/assets/CustomerCreateView-DOTA7TnM.js b/dist/assets/CustomerCreateView-CSSpyhNm.js similarity index 95% rename from dist/assets/CustomerCreateView-DOTA7TnM.js rename to dist/assets/CustomerCreateView-CSSpyhNm.js index 46c9689..8fb1d75 100644 --- a/dist/assets/CustomerCreateView-DOTA7TnM.js +++ b/dist/assets/CustomerCreateView-CSSpyhNm.js @@ -1 +1 @@ -import{A as e,I as t,J as n,L as r,N as i,R as a,_ as o,n as s,nt as c,pt as l,xt as u}from"./BasicIcon-B6lR-mG3.js";import{t as d}from"./http-CHgEV7QF.js";import{c as f}from"./format-BHJptHdF.js";import{a as p}from"./validation-BD7oi-2I.js";import{c as m,n as h}from"./index-DHK6R1xK.js";import{t as g}from"./FormErrorBanner-8PcsTbdO.js";import{n as _,r as v,t as y}from"./formErrors-DglFjYkZ.js";import{t as b}from"./crm-DbcoqKAF.js";import{t as x}from"./useGoBack-yePcdjuj.js";import{t as S}from"./PageHeader-Cza56lK4.js";import{t as C}from"./BaseInput-9HB-GJGt.js";var w={class:`page customer-create-page`},T={class:`page__scroll customer-create-scroll`},E={class:`form-card`},D={class:`footer`},O=s(a({__name:`CustomerCreateView`,setup(a){let s=o(),O=m(),k=b(),{goBack:A}=x(`/customers`),j=l(``),M=l(``),N=l(``),P=l(``),F=l({}),I=l(``),L=l(!1);function R(e){F.value=_(F.value,e),v(F.value)||(I.value=``)}async function z(){if(F.value={},I.value=``,!O.isAgent){I.value=`فقط واسطه می‌تواند مشتری به لیست خود اضافه کند.`;return}let e=f(N.value),t={};if(j.value.trim()||(t.firstName=`نام الزامی است.`),M.value.trim()||(t.lastName=`نام خانوادگی الزامی است.`),p(e)||(t.phone=`شماره موبایل معتبر نیست.`),v(t)){F.value=t,I.value=y;return}L.value=!0;try{let t=await k.registerCustomer({firstName:j.value.trim(),lastName:M.value.trim(),phone:e,businessName:P.value.trim()||void 0});if(t?.id){await s.replace({path:`/customer`,query:{id:t.id}});return}await s.replace(`/customers`)}catch(e){I.value=e instanceof d||e instanceof Error?e.message:`ثبت مشتری ناموفق بود.`}finally{L.value=!1}}return(a,o)=>(n(),i(`div`,w,[r(S,{title:`افزودن مشتری`,"show-back":``,centered:``,onBack:u(A)},null,8,[`onBack`]),e(`div`,T,[o[7]||=e(`p`,{class:`intro`},` مشتری به لیست شما اضافه می‌شود و بعد از ورود با همین شماره، سفارش‌هایش به حساب شما وصل می‌ماند. `,-1),r(g,{message:I.value},null,8,[`message`]),e(`div`,E,[r(C,{modelValue:j.value,"onUpdate:modelValue":[o[0]||=e=>j.value=e,o[1]||=e=>R(`firstName`)],label:`نام`,placeholder:`نام مشتری`,error:F.value.firstName},null,8,[`modelValue`,`error`]),r(C,{modelValue:M.value,"onUpdate:modelValue":[o[2]||=e=>M.value=e,o[3]||=e=>R(`lastName`)],label:`نام خانوادگی`,placeholder:`نام خانوادگی`,error:F.value.lastName},null,8,[`modelValue`,`error`]),r(C,{modelValue:N.value,"onUpdate:modelValue":[o[4]||=e=>N.value=e,o[5]||=e=>R(`phone`)],label:`شماره موبایل`,type:`tel`,inputmode:`tel`,dir:`ltr`,placeholder:`۰۹۱۲۳۴۵۶۷۸۹`,error:F.value.phone},null,8,[`modelValue`,`error`]),r(C,{modelValue:P.value,"onUpdate:modelValue":o[6]||=e=>P.value=e,label:`نام فروشگاه یا برند (اختیاری)`,placeholder:`مثلاً بوتیک رز`},null,8,[`modelValue`])])]),e(`footer`,D,[r(h,{block:``,loading:L.value,disabled:L.value,onClick:z},{default:c(()=>[...o[8]||=[t(` ثبت مشتری `,-1)]]),_:1},8,[`loading`,`disabled`])])]))}}),[[`__scopeId`,`data-v-f29dd241`]]);export{O as default}; \ No newline at end of file +import{A as e,I as t,J as n,L as r,N as i,R as a,_ as o,n as s,nt as c,pt as l,xt as u}from"./BasicIcon-B6lR-mG3.js";import{t as d}from"./http-CHgEV7QF.js";import{c as f}from"./format-BHJptHdF.js";import{a as p}from"./validation-BD7oi-2I.js";import{c as m,n as h}from"./index-B20WsQhf.js";import{t as g}from"./FormErrorBanner-8PcsTbdO.js";import{n as _,r as v,t as y}from"./formErrors-DglFjYkZ.js";import{t as b}from"./crm-DbcoqKAF.js";import{t as x}from"./useGoBack-yePcdjuj.js";import{t as S}from"./PageHeader-DXkA75qK.js";import{t as C}from"./BaseInput-9HB-GJGt.js";var w={class:`page customer-create-page`},T={class:`page__scroll customer-create-scroll`},E={class:`form-card`},D={class:`footer`},O=s(a({__name:`CustomerCreateView`,setup(a){let s=o(),O=m(),k=b(),{goBack:A}=x(`/customers`),j=l(``),M=l(``),N=l(``),P=l(``),F=l({}),I=l(``),L=l(!1);function R(e){F.value=_(F.value,e),v(F.value)||(I.value=``)}async function z(){if(F.value={},I.value=``,!O.isAgent){I.value=`فقط واسطه می‌تواند مشتری به لیست خود اضافه کند.`;return}let e=f(N.value),t={};if(j.value.trim()||(t.firstName=`نام الزامی است.`),M.value.trim()||(t.lastName=`نام خانوادگی الزامی است.`),p(e)||(t.phone=`شماره موبایل معتبر نیست.`),v(t)){F.value=t,I.value=y;return}L.value=!0;try{let t=await k.registerCustomer({firstName:j.value.trim(),lastName:M.value.trim(),phone:e,businessName:P.value.trim()||void 0});if(t?.id){await s.replace({path:`/customer`,query:{id:t.id}});return}await s.replace(`/customers`)}catch(e){I.value=e instanceof d||e instanceof Error?e.message:`ثبت مشتری ناموفق بود.`}finally{L.value=!1}}return(a,o)=>(n(),i(`div`,w,[r(S,{title:`افزودن مشتری`,"show-back":``,centered:``,onBack:u(A)},null,8,[`onBack`]),e(`div`,T,[o[7]||=e(`p`,{class:`intro`},` مشتری به لیست شما اضافه می‌شود و بعد از ورود با همین شماره، سفارش‌هایش به حساب شما وصل می‌ماند. `,-1),r(g,{message:I.value},null,8,[`message`]),e(`div`,E,[r(C,{modelValue:j.value,"onUpdate:modelValue":[o[0]||=e=>j.value=e,o[1]||=e=>R(`firstName`)],label:`نام`,placeholder:`نام مشتری`,error:F.value.firstName},null,8,[`modelValue`,`error`]),r(C,{modelValue:M.value,"onUpdate:modelValue":[o[2]||=e=>M.value=e,o[3]||=e=>R(`lastName`)],label:`نام خانوادگی`,placeholder:`نام خانوادگی`,error:F.value.lastName},null,8,[`modelValue`,`error`]),r(C,{modelValue:N.value,"onUpdate:modelValue":[o[4]||=e=>N.value=e,o[5]||=e=>R(`phone`)],label:`شماره موبایل`,type:`tel`,inputmode:`tel`,dir:`ltr`,placeholder:`۰۹۱۲۳۴۵۶۷۸۹`,error:F.value.phone},null,8,[`modelValue`,`error`]),r(C,{modelValue:P.value,"onUpdate:modelValue":o[6]||=e=>P.value=e,label:`نام فروشگاه یا برند (اختیاری)`,placeholder:`مثلاً بوتیک رز`},null,8,[`modelValue`])])]),e(`footer`,D,[r(h,{block:``,loading:L.value,disabled:L.value,onClick:z},{default:c(()=>[...o[8]||=[t(` ثبت مشتری `,-1)]]),_:1},8,[`loading`,`disabled`])])]))}}),[[`__scopeId`,`data-v-f29dd241`]]);export{O as default}; \ No newline at end of file diff --git a/dist/assets/CustomerDetailView-sNaMFtpo.js b/dist/assets/CustomerDetailView-G9m9g3PH.js similarity index 97% rename from dist/assets/CustomerDetailView-sNaMFtpo.js rename to dist/assets/CustomerDetailView-G9m9g3PH.js index aee2236..e5b3e48 100644 --- a/dist/assets/CustomerDetailView-sNaMFtpo.js +++ b/dist/assets/CustomerDetailView-G9m9g3PH.js @@ -1 +1 @@ -import{A as e,D as t,I as ee,J as n,K as te,L as r,M as i,N as a,P as ne,R as o,St as s,T as c,Tt as l,X as u,_ as re,et as ie,g as ae,j as d,k as f,n as p,nt as oe,pt as m,wt as h,xt as g}from"./BasicIcon-B6lR-mG3.js";import{o as _}from"./format-BHJptHdF.js";import{c as se,o as v,w as ce}from"./index-DHK6R1xK.js";import{r as le,t as ue}from"./constants-DXXK14Zz.js";import{t as de}from"./IconPhone-Glpo76KE.js";import{t as fe}from"./IconEditPen-CppsBLM9.js";import{t as pe}from"./IconClipboardEmpty-D2QGqogo.js";import{t as me}from"./PageSkeleton-BImjuI6S.js";import{t as he}from"./crm-DbcoqKAF.js";import{t as ge}from"./PageHeader-Cza56lK4.js";import{t as _e}from"./IconMail-BWRmFd4j.js";var ve={key:0,class:`page customer-page`},y={class:`page__scroll page__scroll--with-nav customer-scroll`},b={key:0,class:`profile-row`},x={class:`name-row`},S={dir:`ltr`},C={key:1,class:`profile-banner`},w={class:`profile-banner__top`},T={dir:`ltr`},E={class:`profile-banner__stats`},D={class:`tabs`},O=[`onClick`],k={class:`stats`},A={class:`stats__grid`},j={class:`agent-card__avatar`},M={class:`section-head`},N=[`onClick`,`onKeydown`],P={key:0,class:`empty-inline`},F=[`onClick`,`onKeydown`],ye={key:0,class:`empty-inline`},be={class:`meeting-filters`},xe=[`onClick`],Se={class:`meeting-row__body`},Ce={key:0,class:`empty-inline`},we={key:0,class:`cta-bar`},Te={key:1,class:`page empty`},Ee={key:2,class:`page empty`},I=p(o({__name:`CustomerDetailView`,setup(o){let p=ae(),I=re(),De=he(),L=se(),R=f(()=>String(p.query.id??``)),z=f(()=>String(p.query.tab??`info`)),B=m(null),V=m([]),H=m([]),U=m(`all`),W=m(!0),G=m(null),Oe=[{id:`info`,label:`اطلاعات`},{id:`orders`,label:`سفارش‌ها`},{id:`reports`,label:`گزارش‌ها و پیگیری‌ها`}];async function K(){if(!R.value){B.value=null,W.value=!1;return}W.value=!0,G.value=null;try{let e=await De.loadCustomerDetail(R.value);B.value=e.customer,V.value=e.orders,H.value=e.meetings}catch(e){B.value=null,G.value=e instanceof Error?e.message:`مشتری یافت نشد.`}finally{W.value=!1}}te(K),ie(R,K);function q(e){I.replace({path:`/customer`,query:{id:R.value,tab:e}})}function J(e){return e===`in_person`?`ملاقات حضوری`:e===`call`?`تماس`:e===`message`?`پیام`:`یادداشت`}let Y=f(()=>B.value?.agentName||L.fullName||`واسطه`),ke=f(()=>B.value?.agentCode||L.user?.agentCode||`—`),Ae=f(()=>Y.value.charAt(0)),je=[{id:`all`,label:`همه`},{id:`in_person`,label:`ملاقات حضوری`},{id:`call`,label:`تماس`},{id:`message`,label:`پیام`},{id:`note`,label:`یادداشت`}],X=f(()=>U.value===`all`?H.value:H.value.filter(e=>e.type===U.value));function Me(e){return e===`in_person`?`meeting-row__icon--green`:e===`call`?`meeting-row__icon--blue`:`meeting-row__icon--purple`}function Z(e){e&&I.push({path:`/order`,query:{id:e}})}function Q(e){let t=e.statusLabel;return ue[t]||e.statusLabel}function $(e){let t=le[e.statusLabel];return t===`success`?`success`:t===`warning`||t===`danger`?`warning`:e.statusTone||`info`}return(te,o)=>B.value?(n(),a(`div`,ve,[r(ge,{title:z.value===`reports`?`پروفایل مشتری`:`جزئیات مشتری`,"show-back":``,centered:``,onBack:o[1]||=e=>g(I).push(`/customers`)},ne({_:2},[z.value===`info`?{name:`trailing`,fn:oe(()=>[e(`button`,{type:`button`,class:`edit-btn`,onClick:o[0]||=e=>g(I).back()},`ویرایش`)]),key:`0`}:void 0]),1032,[`title`]),e(`div`,y,[z.value===`reports`?(n(),a(`section`,C,[e(`div`,w,[e(`div`,{class:`avatar avatar--lg`,style:h({background:B.value.avatarColor})},l(B.value.avatarLetter),5),e(`div`,null,[e(`h2`,null,l(B.value.name),1),e(`p`,null,l(B.value.contactName),1),e(`p`,T,l(B.value.phone),1)]),o[7]||=e(`span`,{class:`badge badge--light`},`مشتری فعال`,-1)]),e(`div`,E,[e(`div`,null,[o[8]||=e(`span`,null,`سطح مشتری`,-1),e(`strong`,null,l(B.value.levelLabel),1)]),e(`div`,null,[o[9]||=e(`span`,null,`تاریخ اولین خرید`,-1),e(`strong`,null,l(B.value.firstPurchaseDate),1)]),e(`div`,null,[o[10]||=e(`span`,null,`تعداد سفارش`,-1),e(`strong`,null,l(g(_)(B.value.orderCount))+` سفارش`,1)])])])):(n(),a(`section`,b,[e(`div`,{class:`avatar`,style:h({background:B.value.avatarColor})},l(B.value.avatarLetter),5),e(`div`,null,[e(`div`,x,[e(`h2`,null,l(B.value.name),1),o[6]||=e(`span`,{class:`badge`},`فعال`,-1)]),e(`p`,S,l(B.value.phone),1)])])),e(`div`,D,[(n(),a(t,null,u(Oe,t=>e(`button`,{key:t.id,type:`button`,class:s([`tab`,{"tab--active":z.value===t.id}]),onClick:e=>q(t.id)},l(t.label),11,O)),64))]),z.value===`info`?(n(),a(t,{key:2},[e(`section`,k,[o[16]||=e(`h3`,null,`اطلاعات خرید`,-1),e(`div`,A,[e(`div`,null,[o[11]||=e(`span`,null,`تعداد سفارش`,-1),e(`strong`,null,l(g(_)(B.value.orderCount)),1)]),e(`div`,null,[o[12]||=e(`span`,null,`مجموع خرید`,-1),e(`strong`,null,l(g(_)(B.value.totalPurchaseToman)),1),o[13]||=e(`em`,null,`تومان`,-1)]),e(`div`,null,[o[14]||=e(`span`,null,`میانگین هر سفارش`,-1),e(`strong`,null,l(g(_)(B.value.averageOrderToman)),1),o[15]||=e(`em`,null,`تومان`,-1)])])]),e(`button`,{type:`button`,class:`agent-card`,onClick:o[2]||=e=>g(I).push(`/profile`)},[e(`div`,j,l(Ae.value),1),e(`div`,null,[e(`strong`,null,l(Y.value),1),e(`p`,null,`کد واسطه: `+l(ke.value),1)]),r(v,{size:18})]),e(`section`,null,[e(`div`,M,[o[17]||=e(`h3`,null,`آخرین سفارش‌ها`,-1),e(`button`,{type:`button`,class:`link`,onClick:o[3]||=e=>q(`orders`)},`مشاهده همه`)]),(n(!0),a(t,null,u(V.value,t=>(n(),a(`article`,{key:t.id,class:`order-row`,role:`button`,tabindex:`0`,onClick:e=>Z(t.id),onKeydown:c(e=>Z(t.id),[`enter`])},[e(`div`,null,[e(`strong`,null,l(t.title),1),e(`p`,null,l(g(_)(t.amountToman))+` تومان`,1)]),e(`span`,{class:s([`tone`,`tone--${$(t)}`])},l(Q(t)),3),r(v,{size:16,class:`order-row__chevron`})],40,N))),128)),V.value.length?i(``,!0):(n(),a(`p`,P,`سفارشی ثبت نشده است.`))])],64)):z.value===`orders`?(n(),a(t,{key:3},[(n(!0),a(t,null,u(V.value,t=>(n(),a(`article`,{key:t.id,class:`order-row`,role:`button`,tabindex:`0`,onClick:e=>Z(t.id),onKeydown:c(e=>Z(t.id),[`enter`])},[e(`div`,null,[e(`strong`,null,l(t.title),1),e(`p`,null,l(t.date)+` — `+l(g(_)(t.amountToman))+` تومان`,1)]),e(`span`,{class:s([`tone`,`tone--${$(t)}`])},l(Q(t)),3),r(v,{size:16,class:`order-row__chevron`})],40,F))),128)),V.value.length?i(``,!0):(n(),a(`p`,ye,`سفارشی ثبت نشده است.`))],64)):(n(),a(t,{key:4},[o[18]||=e(`h3`,{class:`block-title`},`تعاملات و پیگیری‌ها`,-1),e(`button`,{type:`button`,class:`dashed-btn`,onClick:o[4]||=e=>g(I).push({path:`/meeting-report`,query:{customerId:B.value.id}})},` + ثبت گزارش ملاقات جدید `),e(`div`,be,[(n(),a(t,null,u(je,t=>e(`button`,{key:t.id,type:`button`,class:s([`meeting-filter`,{"meeting-filter--active":U.value===t.id}]),onClick:e=>U.value=t.id},l(t.label),11,xe)),64))]),(n(!0),a(t,null,u(X.value,t=>(n(),a(`article`,{key:t.id,class:`meeting-row`},[e(`div`,{class:s([`meeting-row__icon`,Me(t.type)])},[t.type===`in_person`?(n(),d(pe,{key:0,size:16})):t.type===`call`?(n(),d(de,{key:1,size:16})):t.type===`message`?(n(),d(_e,{key:2,size:16})):(n(),d(fe,{key:3,size:16}))],2),e(`div`,Se,[e(`strong`,null,l(J(t.type)),1),e(`p`,null,l(t.description||t.title),1)]),e(`span`,null,l(t.date),1)]))),128)),X.value.length?i(``,!0):(n(),a(`p`,Ce,` گزارشی برای این فیلتر ثبت نشده است. `))],64))]),z.value===`info`?(n(),a(`footer`,we,[e(`button`,{type:`button`,class:`cta`,onClick:o[5]||=e=>g(I).push(`/categories`)},[r(ce,{size:20,color:`#fff`}),o[19]||=ee(` سفارش جدید برای این مشتری `,-1)])])):i(``,!0)])):W.value?(n(),a(`div`,Te,[r(me,{variant:`detail`})])):(n(),a(`div`,Ee,[e(`p`,null,l(G.value||`مشتری یافت نشد.`),1)]))}}),[[`__scopeId`,`data-v-4afb1b74`]]);export{I as default}; \ No newline at end of file +import{A as e,D as t,I as ee,J as n,K as te,L as r,M as i,N as a,P as ne,R as o,St as s,T as c,Tt as l,X as u,_ as re,et as ie,g as ae,j as d,k as f,n as p,nt as oe,pt as m,wt as h,xt as g}from"./BasicIcon-B6lR-mG3.js";import{o as _}from"./format-BHJptHdF.js";import{c as se,o as v,w as ce}from"./index-B20WsQhf.js";import{r as le,t as ue}from"./constants-DXXK14Zz.js";import{t as de}from"./IconPhone-Glpo76KE.js";import{t as fe}from"./IconEditPen-CppsBLM9.js";import{t as pe}from"./IconClipboardEmpty-D2QGqogo.js";import{t as me}from"./PageSkeleton-BImjuI6S.js";import{t as he}from"./crm-DbcoqKAF.js";import{t as ge}from"./PageHeader-DXkA75qK.js";import{t as _e}from"./IconMail-BWRmFd4j.js";var ve={key:0,class:`page customer-page`},y={class:`page__scroll page__scroll--with-nav customer-scroll`},b={key:0,class:`profile-row`},x={class:`name-row`},S={dir:`ltr`},C={key:1,class:`profile-banner`},w={class:`profile-banner__top`},T={dir:`ltr`},E={class:`profile-banner__stats`},D={class:`tabs`},O=[`onClick`],k={class:`stats`},A={class:`stats__grid`},j={class:`agent-card__avatar`},M={class:`section-head`},N=[`onClick`,`onKeydown`],P={key:0,class:`empty-inline`},F=[`onClick`,`onKeydown`],ye={key:0,class:`empty-inline`},be={class:`meeting-filters`},xe=[`onClick`],Se={class:`meeting-row__body`},Ce={key:0,class:`empty-inline`},we={key:0,class:`cta-bar`},Te={key:1,class:`page empty`},Ee={key:2,class:`page empty`},I=p(o({__name:`CustomerDetailView`,setup(o){let p=ae(),I=re(),De=he(),L=se(),R=f(()=>String(p.query.id??``)),z=f(()=>String(p.query.tab??`info`)),B=m(null),V=m([]),H=m([]),U=m(`all`),W=m(!0),G=m(null),Oe=[{id:`info`,label:`اطلاعات`},{id:`orders`,label:`سفارش‌ها`},{id:`reports`,label:`گزارش‌ها و پیگیری‌ها`}];async function K(){if(!R.value){B.value=null,W.value=!1;return}W.value=!0,G.value=null;try{let e=await De.loadCustomerDetail(R.value);B.value=e.customer,V.value=e.orders,H.value=e.meetings}catch(e){B.value=null,G.value=e instanceof Error?e.message:`مشتری یافت نشد.`}finally{W.value=!1}}te(K),ie(R,K);function q(e){I.replace({path:`/customer`,query:{id:R.value,tab:e}})}function J(e){return e===`in_person`?`ملاقات حضوری`:e===`call`?`تماس`:e===`message`?`پیام`:`یادداشت`}let Y=f(()=>B.value?.agentName||L.fullName||`واسطه`),ke=f(()=>B.value?.agentCode||L.user?.agentCode||`—`),Ae=f(()=>Y.value.charAt(0)),je=[{id:`all`,label:`همه`},{id:`in_person`,label:`ملاقات حضوری`},{id:`call`,label:`تماس`},{id:`message`,label:`پیام`},{id:`note`,label:`یادداشت`}],X=f(()=>U.value===`all`?H.value:H.value.filter(e=>e.type===U.value));function Me(e){return e===`in_person`?`meeting-row__icon--green`:e===`call`?`meeting-row__icon--blue`:`meeting-row__icon--purple`}function Z(e){e&&I.push({path:`/order`,query:{id:e}})}function Q(e){let t=e.statusLabel;return ue[t]||e.statusLabel}function $(e){let t=le[e.statusLabel];return t===`success`?`success`:t===`warning`||t===`danger`?`warning`:e.statusTone||`info`}return(te,o)=>B.value?(n(),a(`div`,ve,[r(ge,{title:z.value===`reports`?`پروفایل مشتری`:`جزئیات مشتری`,"show-back":``,centered:``,onBack:o[1]||=e=>g(I).push(`/customers`)},ne({_:2},[z.value===`info`?{name:`trailing`,fn:oe(()=>[e(`button`,{type:`button`,class:`edit-btn`,onClick:o[0]||=e=>g(I).back()},`ویرایش`)]),key:`0`}:void 0]),1032,[`title`]),e(`div`,y,[z.value===`reports`?(n(),a(`section`,C,[e(`div`,w,[e(`div`,{class:`avatar avatar--lg`,style:h({background:B.value.avatarColor})},l(B.value.avatarLetter),5),e(`div`,null,[e(`h2`,null,l(B.value.name),1),e(`p`,null,l(B.value.contactName),1),e(`p`,T,l(B.value.phone),1)]),o[7]||=e(`span`,{class:`badge badge--light`},`مشتری فعال`,-1)]),e(`div`,E,[e(`div`,null,[o[8]||=e(`span`,null,`سطح مشتری`,-1),e(`strong`,null,l(B.value.levelLabel),1)]),e(`div`,null,[o[9]||=e(`span`,null,`تاریخ اولین خرید`,-1),e(`strong`,null,l(B.value.firstPurchaseDate),1)]),e(`div`,null,[o[10]||=e(`span`,null,`تعداد سفارش`,-1),e(`strong`,null,l(g(_)(B.value.orderCount))+` سفارش`,1)])])])):(n(),a(`section`,b,[e(`div`,{class:`avatar`,style:h({background:B.value.avatarColor})},l(B.value.avatarLetter),5),e(`div`,null,[e(`div`,x,[e(`h2`,null,l(B.value.name),1),o[6]||=e(`span`,{class:`badge`},`فعال`,-1)]),e(`p`,S,l(B.value.phone),1)])])),e(`div`,D,[(n(),a(t,null,u(Oe,t=>e(`button`,{key:t.id,type:`button`,class:s([`tab`,{"tab--active":z.value===t.id}]),onClick:e=>q(t.id)},l(t.label),11,O)),64))]),z.value===`info`?(n(),a(t,{key:2},[e(`section`,k,[o[16]||=e(`h3`,null,`اطلاعات خرید`,-1),e(`div`,A,[e(`div`,null,[o[11]||=e(`span`,null,`تعداد سفارش`,-1),e(`strong`,null,l(g(_)(B.value.orderCount)),1)]),e(`div`,null,[o[12]||=e(`span`,null,`مجموع خرید`,-1),e(`strong`,null,l(g(_)(B.value.totalPurchaseToman)),1),o[13]||=e(`em`,null,`تومان`,-1)]),e(`div`,null,[o[14]||=e(`span`,null,`میانگین هر سفارش`,-1),e(`strong`,null,l(g(_)(B.value.averageOrderToman)),1),o[15]||=e(`em`,null,`تومان`,-1)])])]),e(`button`,{type:`button`,class:`agent-card`,onClick:o[2]||=e=>g(I).push(`/profile`)},[e(`div`,j,l(Ae.value),1),e(`div`,null,[e(`strong`,null,l(Y.value),1),e(`p`,null,`کد واسطه: `+l(ke.value),1)]),r(v,{size:18})]),e(`section`,null,[e(`div`,M,[o[17]||=e(`h3`,null,`آخرین سفارش‌ها`,-1),e(`button`,{type:`button`,class:`link`,onClick:o[3]||=e=>q(`orders`)},`مشاهده همه`)]),(n(!0),a(t,null,u(V.value,t=>(n(),a(`article`,{key:t.id,class:`order-row`,role:`button`,tabindex:`0`,onClick:e=>Z(t.id),onKeydown:c(e=>Z(t.id),[`enter`])},[e(`div`,null,[e(`strong`,null,l(t.title),1),e(`p`,null,l(g(_)(t.amountToman))+` تومان`,1)]),e(`span`,{class:s([`tone`,`tone--${$(t)}`])},l(Q(t)),3),r(v,{size:16,class:`order-row__chevron`})],40,N))),128)),V.value.length?i(``,!0):(n(),a(`p`,P,`سفارشی ثبت نشده است.`))])],64)):z.value===`orders`?(n(),a(t,{key:3},[(n(!0),a(t,null,u(V.value,t=>(n(),a(`article`,{key:t.id,class:`order-row`,role:`button`,tabindex:`0`,onClick:e=>Z(t.id),onKeydown:c(e=>Z(t.id),[`enter`])},[e(`div`,null,[e(`strong`,null,l(t.title),1),e(`p`,null,l(t.date)+` — `+l(g(_)(t.amountToman))+` تومان`,1)]),e(`span`,{class:s([`tone`,`tone--${$(t)}`])},l(Q(t)),3),r(v,{size:16,class:`order-row__chevron`})],40,F))),128)),V.value.length?i(``,!0):(n(),a(`p`,ye,`سفارشی ثبت نشده است.`))],64)):(n(),a(t,{key:4},[o[18]||=e(`h3`,{class:`block-title`},`تعاملات و پیگیری‌ها`,-1),e(`button`,{type:`button`,class:`dashed-btn`,onClick:o[4]||=e=>g(I).push({path:`/meeting-report`,query:{customerId:B.value.id}})},` + ثبت گزارش ملاقات جدید `),e(`div`,be,[(n(),a(t,null,u(je,t=>e(`button`,{key:t.id,type:`button`,class:s([`meeting-filter`,{"meeting-filter--active":U.value===t.id}]),onClick:e=>U.value=t.id},l(t.label),11,xe)),64))]),(n(!0),a(t,null,u(X.value,t=>(n(),a(`article`,{key:t.id,class:`meeting-row`},[e(`div`,{class:s([`meeting-row__icon`,Me(t.type)])},[t.type===`in_person`?(n(),d(pe,{key:0,size:16})):t.type===`call`?(n(),d(de,{key:1,size:16})):t.type===`message`?(n(),d(_e,{key:2,size:16})):(n(),d(fe,{key:3,size:16}))],2),e(`div`,Se,[e(`strong`,null,l(J(t.type)),1),e(`p`,null,l(t.description||t.title),1)]),e(`span`,null,l(t.date),1)]))),128)),X.value.length?i(``,!0):(n(),a(`p`,Ce,` گزارشی برای این فیلتر ثبت نشده است. `))],64))]),z.value===`info`?(n(),a(`footer`,we,[e(`button`,{type:`button`,class:`cta`,onClick:o[5]||=e=>g(I).push(`/categories`)},[r(ce,{size:20,color:`#fff`}),o[19]||=ee(` سفارش جدید برای این مشتری `,-1)])])):i(``,!0)])):W.value?(n(),a(`div`,Te,[r(me,{variant:`detail`})])):(n(),a(`div`,Ee,[e(`p`,null,l(G.value||`مشتری یافت نشد.`),1)]))}}),[[`__scopeId`,`data-v-4afb1b74`]]);export{I as default}; \ No newline at end of file diff --git a/dist/assets/CustomersView-C7eKz3Vr.js b/dist/assets/CustomersView-f-iLJhx1.js similarity index 96% rename from dist/assets/CustomersView-C7eKz3Vr.js rename to dist/assets/CustomersView-f-iLJhx1.js index 24cda75..8eb1d85 100644 --- a/dist/assets/CustomersView-C7eKz3Vr.js +++ b/dist/assets/CustomersView-f-iLJhx1.js @@ -1 +1 @@ -import{A as e,D as t,J as n,K as r,L as i,M as a,N as o,R as s,St as c,Tt as l,X as u,_ as d,et as f,g as p,j as m,k as h,n as g,nt as _,pt as v,wt as y,xt as b}from"./BasicIcon-B6lR-mG3.js";import{o as x}from"./format-BHJptHdF.js";import{S as ee,o as te,y as S}from"./index-DHK6R1xK.js";import{t as C}from"./IconFilter-DJjJ9EAy.js";import{t as w}from"./PageSkeleton-BImjuI6S.js";import{t as T}from"./crm-DbcoqKAF.js";import{t as E}from"./PageHeader-Cza56lK4.js";import{t as D}from"./SearchField-txVsGGXT.js";var O={class:`page customers-page`},k={class:`page__scroll page__scroll--with-nav customers-scroll`},A={class:`toolbar`},j={class:`summary-card`},M={class:`summary-card__icon`,"aria-hidden":`true`},N={class:`summary-card__cols`},P={class:`tabs`,role:`tablist`},F=[`aria-selected`,`onClick`],I={class:`tab__text`},ne={key:1},L=[`onClick`],R={class:`customer-card__body`},z={class:`customer-card__top`},B={dir:`ltr`},V=g(s({__name:`CustomersView`,setup(s){let g=p(),V=d(),H=T(),U=v(String(g.query.q??``)),W=h(()=>String(g.query.status??`all`)),G=v([]),K=v(!0),q=v(null),J=h(()=>G.value),Y=h(()=>G.value.filter(e=>e.status===`active`).length),X=h(()=>G.value.reduce((e,t)=>e+t.totalPurchaseToman,0)),Z=[{id:`all`,label:`همه`},{id:`active`,label:`فعال`},{id:`inactive`,label:`غیرفعال`},{id:`new`,label:`جدید`}];async function Q(){K.value=!0,q.value=null;try{G.value=await H.loadCustomers({q:U.value||void 0,status:W.value===`all`?void 0:W.value})}catch(e){q.value=e instanceof Error?e.message:`بارگذاری مشتریان ناموفق بود.`,G.value=[]}finally{K.value=!1}}r(Q),f([W,U],Q);function $(e){V.replace({path:`/customers`,query:{...e===`all`?{}:{status:e},...U.value?{q:U.value}:{}}})}function re(e){U.value=e,V.replace({path:`/customers`,query:{...W.value===`all`?{}:{status:W.value},...e?{q:e}:{}}})}function ie(e){return e===`active`?`فعال`:e===`inactive`?`غیرفعال`:`جدید`}function ae(){V.push(`/customers/new`)}function oe(){let e=[`all`,`active`,`inactive`,`new`],t=e.indexOf(W.value);$(e[(t<0?0:t+1)%e.length]??`all`)}return(r,s)=>(n(),o(`div`,O,[i(E,{title:`مشتریان من`,"show-back":``,centered:``,onBack:s[0]||=e=>b(V).back()},{trailing:_(()=>[e(`button`,{type:`button`,class:`nav-add-btn`,"aria-label":`ثبت مشتری`,onClick:ae},[i(S,{size:22})])]),_:1}),e(`div`,k,[e(`div`,A,[i(D,{"model-value":U.value,placeholder:`جستجو بر اساس نام یا موبایل...`,"onUpdate:modelValue":re},null,8,[`model-value`]),e(`button`,{type:`button`,class:`filter-btn`,"aria-label":`فیلتر وضعیت`,onClick:oe},[i(C,{size:18})])]),e(`section`,j,[e(`div`,M,[i(ee,{size:22,color:`#fff`})]),e(`div`,N,[e(`div`,null,[s[1]||=e(`span`,null,`تعداد مشتری فعال`,-1),e(`strong`,null,l(b(x)(Y.value)),1)]),s[4]||=e(`span`,{class:`summary-card__divider`,"aria-hidden":`true`},null,-1),e(`div`,null,[s[2]||=e(`span`,null,`مجموع خرید (ریال)`,-1),e(`strong`,null,l(b(x)(X.value)),1),s[3]||=e(`em`,null,`تومان`,-1)])])]),e(`div`,P,[(n(),o(t,null,u(Z,t=>e(`button`,{key:t.id,type:`button`,role:`tab`,class:c([`tab`,{"tab--active":W.value===t.id}]),"aria-selected":W.value===t.id,onClick:e=>$(t.id)},[e(`span`,I,l(t.label),1)],10,F)),64))]),K.value?(n(),m(w,{key:0,variant:`list`})):q.value?(n(),o(`p`,ne,l(q.value),1)):a(``,!0),(n(!0),o(t,null,u(J.value,t=>(n(),o(`button`,{key:t.id,type:`button`,class:`customer-card`,onClick:e=>b(V).push({path:`/customer`,query:{id:t.id}})},[e(`div`,{class:`customer-card__avatar`,style:y({background:t.avatarColor})},l(t.avatarLetter),5),e(`div`,R,[e(`div`,z,[e(`strong`,null,l(t.name),1),e(`span`,{class:c([`status`,t.status===`active`?`status--ok`:`status--muted`])},l(ie(t.status)),3)]),e(`p`,B,l(t.phone),1),e(`p`,null,`مجموع خرید: `+l(b(x)(t.totalPurchaseToman))+` تومان`,1)]),i(te,{size:18,class:`chevron`})],8,L))),128)),s[5]||=e(`section`,{class:`promo`},[e(`div`,null,[e(`strong`,null,`افزایش مشتریان = افزایش سطح شما`),e(`p`,null,`با جذب مشتریان بیشتر به سطح VIP برسید`)])],-1)])]))}}),[[`__scopeId`,`data-v-d0b58aa9`]]);export{V as default}; \ No newline at end of file +import{A as e,D as t,J as n,K as r,L as i,M as a,N as o,R as s,St as c,Tt as l,X as u,_ as d,et as f,g as p,j as m,k as h,n as g,nt as _,pt as v,wt as y,xt as b}from"./BasicIcon-B6lR-mG3.js";import{o as x}from"./format-BHJptHdF.js";import{S as ee,o as te,y as S}from"./index-B20WsQhf.js";import{t as C}from"./IconFilter-DJjJ9EAy.js";import{t as w}from"./PageSkeleton-BImjuI6S.js";import{t as T}from"./crm-DbcoqKAF.js";import{t as E}from"./PageHeader-DXkA75qK.js";import{t as D}from"./SearchField-txVsGGXT.js";var O={class:`page customers-page`},k={class:`page__scroll page__scroll--with-nav customers-scroll`},A={class:`toolbar`},j={class:`summary-card`},M={class:`summary-card__icon`,"aria-hidden":`true`},N={class:`summary-card__cols`},P={class:`tabs`,role:`tablist`},F=[`aria-selected`,`onClick`],I={class:`tab__text`},ne={key:1},L=[`onClick`],R={class:`customer-card__body`},z={class:`customer-card__top`},B={dir:`ltr`},V=g(s({__name:`CustomersView`,setup(s){let g=p(),V=d(),H=T(),U=v(String(g.query.q??``)),W=h(()=>String(g.query.status??`all`)),G=v([]),K=v(!0),q=v(null),J=h(()=>G.value),Y=h(()=>G.value.filter(e=>e.status===`active`).length),X=h(()=>G.value.reduce((e,t)=>e+t.totalPurchaseToman,0)),Z=[{id:`all`,label:`همه`},{id:`active`,label:`فعال`},{id:`inactive`,label:`غیرفعال`},{id:`new`,label:`جدید`}];async function Q(){K.value=!0,q.value=null;try{G.value=await H.loadCustomers({q:U.value||void 0,status:W.value===`all`?void 0:W.value})}catch(e){q.value=e instanceof Error?e.message:`بارگذاری مشتریان ناموفق بود.`,G.value=[]}finally{K.value=!1}}r(Q),f([W,U],Q);function $(e){V.replace({path:`/customers`,query:{...e===`all`?{}:{status:e},...U.value?{q:U.value}:{}}})}function re(e){U.value=e,V.replace({path:`/customers`,query:{...W.value===`all`?{}:{status:W.value},...e?{q:e}:{}}})}function ie(e){return e===`active`?`فعال`:e===`inactive`?`غیرفعال`:`جدید`}function ae(){V.push(`/customers/new`)}function oe(){let e=[`all`,`active`,`inactive`,`new`],t=e.indexOf(W.value);$(e[(t<0?0:t+1)%e.length]??`all`)}return(r,s)=>(n(),o(`div`,O,[i(E,{title:`مشتریان من`,"show-back":``,centered:``,onBack:s[0]||=e=>b(V).back()},{trailing:_(()=>[e(`button`,{type:`button`,class:`nav-add-btn`,"aria-label":`ثبت مشتری`,onClick:ae},[i(S,{size:22})])]),_:1}),e(`div`,k,[e(`div`,A,[i(D,{"model-value":U.value,placeholder:`جستجو بر اساس نام یا موبایل...`,"onUpdate:modelValue":re},null,8,[`model-value`]),e(`button`,{type:`button`,class:`filter-btn`,"aria-label":`فیلتر وضعیت`,onClick:oe},[i(C,{size:18})])]),e(`section`,j,[e(`div`,M,[i(ee,{size:22,color:`#fff`})]),e(`div`,N,[e(`div`,null,[s[1]||=e(`span`,null,`تعداد مشتری فعال`,-1),e(`strong`,null,l(b(x)(Y.value)),1)]),s[4]||=e(`span`,{class:`summary-card__divider`,"aria-hidden":`true`},null,-1),e(`div`,null,[s[2]||=e(`span`,null,`مجموع خرید (ریال)`,-1),e(`strong`,null,l(b(x)(X.value)),1),s[3]||=e(`em`,null,`تومان`,-1)])])]),e(`div`,P,[(n(),o(t,null,u(Z,t=>e(`button`,{key:t.id,type:`button`,role:`tab`,class:c([`tab`,{"tab--active":W.value===t.id}]),"aria-selected":W.value===t.id,onClick:e=>$(t.id)},[e(`span`,I,l(t.label),1)],10,F)),64))]),K.value?(n(),m(w,{key:0,variant:`list`})):q.value?(n(),o(`p`,ne,l(q.value),1)):a(``,!0),(n(!0),o(t,null,u(J.value,t=>(n(),o(`button`,{key:t.id,type:`button`,class:`customer-card`,onClick:e=>b(V).push({path:`/customer`,query:{id:t.id}})},[e(`div`,{class:`customer-card__avatar`,style:y({background:t.avatarColor})},l(t.avatarLetter),5),e(`div`,R,[e(`div`,z,[e(`strong`,null,l(t.name),1),e(`span`,{class:c([`status`,t.status===`active`?`status--ok`:`status--muted`])},l(ie(t.status)),3)]),e(`p`,B,l(t.phone),1),e(`p`,null,`مجموع خرید: `+l(b(x)(t.totalPurchaseToman))+` تومان`,1)]),i(te,{size:18,class:`chevron`})],8,L))),128)),s[5]||=e(`section`,{class:`promo`},[e(`div`,null,[e(`strong`,null,`افزایش مشتریان = افزایش سطح شما`),e(`p`,null,`با جذب مشتریان بیشتر به سطح VIP برسید`)])],-1)])]))}}),[[`__scopeId`,`data-v-d0b58aa9`]]);export{V as default}; \ No newline at end of file diff --git a/dist/assets/FavoritesView-BvUsLU1-.js b/dist/assets/FavoritesView-C9nplFH5.js similarity index 85% rename from dist/assets/FavoritesView-BvUsLU1-.js rename to dist/assets/FavoritesView-C9nplFH5.js index 00fe41c..c3a3a0e 100644 --- a/dist/assets/FavoritesView-BvUsLU1-.js +++ b/dist/assets/FavoritesView-C9nplFH5.js @@ -1 +1 @@ -import{A as e,D as t,E as n,J as r,K as i,L as a,M as o,N as s,R as c,Tt as l,X as u,_ as d,j as f,n as p,pt as m,xt as h}from"./BasicIcon-B6lR-mG3.js";import{l as g,o as _}from"./index-DHK6R1xK.js";import{t as v}from"./PageSkeleton-BImjuI6S.js";import{t as y}from"./crm-DbcoqKAF.js";import{t as b}from"./PageHeader-Cza56lK4.js";import{t as x}from"./IconHeart-DjMqqdO0.js";var S={class:`page`},C={class:`page__scroll page__scroll--with-nav body`},w={key:1},T={key:2,class:`empty`},E=[`onClick`],D={class:`row__body`},O=[`onClick`],k=p(c({__name:`FavoritesView`,setup(c){let p=d(),k=g(),A=y(),j=m([]),M=m(!0),N=m(null);i(async()=>{M.value=!0;try{await k.hydrate();let e=await A.loadBrowseProducts(),t=new Set(k.ids);j.value=e.filter(e=>t.has(e.id))}catch(e){N.value=e instanceof Error?e.message:`بارگذاری علاقه‌مندی‌ها ناموفق بود.`}finally{M.value=!1}});async function P(e){await k.toggle(e),j.value=j.value.filter(t=>t.id!==e)}return(i,c)=>(r(),s(`div`,S,[a(b,{title:`علاقه‌مندی‌ها`,"show-back":``,centered:``,onBack:c[0]||=e=>h(p).back()}),e(`div`,C,[M.value?(r(),f(v,{key:0,variant:`grid`})):N.value?(r(),s(`p`,w,l(N.value),1)):j.value.length?o(``,!0):(r(),s(`p`,T,`هنوز محصولی ذخیره نکرده‌اید.`)),(r(!0),s(t,null,u(j.value,t=>(r(),s(`article`,{key:t.id,class:`row`,onClick:e=>h(p).push({path:`/product`,query:{id:t.id}})},[e(`div`,D,[e(`strong`,null,l(t.name),1),e(`span`,null,`کد `+l(t.code),1)]),e(`button`,{type:`button`,class:`bookmark`,"aria-label":`حذف از نشان‌شده‌ها`,onClick:n(e=>P(t.id),[`stop`])},[a(x,{size:18,filled:``,color:`#0a353c`})],8,O),a(_,{size:16,color:`#9aa3a0`})],8,E))),128))])]))}}),[[`__scopeId`,`data-v-8e70f9c9`]]);export{k as default}; \ No newline at end of file +import{A as e,D as t,E as n,J as r,K as i,L as a,M as o,N as s,R as c,Tt as l,X as u,_ as d,j as f,n as p,pt as m,xt as h}from"./BasicIcon-B6lR-mG3.js";import{l as g,o as _}from"./index-B20WsQhf.js";import{t as v}from"./PageSkeleton-BImjuI6S.js";import{t as y}from"./crm-DbcoqKAF.js";import{t as b}from"./PageHeader-DXkA75qK.js";import{t as x}from"./IconHeart-DjMqqdO0.js";var S={class:`page`},C={class:`page__scroll page__scroll--with-nav body`},w={key:1},T={key:2,class:`empty`},E=[`onClick`],D={class:`row__body`},O=[`onClick`],k=p(c({__name:`FavoritesView`,setup(c){let p=d(),k=g(),A=y(),j=m([]),M=m(!0),N=m(null);i(async()=>{M.value=!0;try{await k.hydrate();let e=await A.loadBrowseProducts(),t=new Set(k.ids);j.value=e.filter(e=>t.has(e.id))}catch(e){N.value=e instanceof Error?e.message:`بارگذاری علاقه‌مندی‌ها ناموفق بود.`}finally{M.value=!1}});async function P(e){await k.toggle(e),j.value=j.value.filter(t=>t.id!==e)}return(i,c)=>(r(),s(`div`,S,[a(b,{title:`علاقه‌مندی‌ها`,"show-back":``,centered:``,onBack:c[0]||=e=>h(p).back()}),e(`div`,C,[M.value?(r(),f(v,{key:0,variant:`grid`})):N.value?(r(),s(`p`,w,l(N.value),1)):j.value.length?o(``,!0):(r(),s(`p`,T,`هنوز محصولی ذخیره نکرده‌اید.`)),(r(!0),s(t,null,u(j.value,t=>(r(),s(`article`,{key:t.id,class:`row`,onClick:e=>h(p).push({path:`/product`,query:{id:t.id}})},[e(`div`,D,[e(`strong`,null,l(t.name),1),e(`span`,null,`کد `+l(t.code),1)]),e(`button`,{type:`button`,class:`bookmark`,"aria-label":`حذف از نشان‌شده‌ها`,onClick:n(e=>P(t.id),[`stop`])},[a(x,{size:18,filled:``,color:`#0a353c`})],8,O),a(_,{size:16,color:`#9aa3a0`})],8,E))),128))])]))}}),[[`__scopeId`,`data-v-8e70f9c9`]]);export{k as default}; \ No newline at end of file diff --git a/dist/assets/HomeView-iAjpb4v3.js b/dist/assets/HomeView-DUEE32an.js similarity index 99% rename from dist/assets/HomeView-iAjpb4v3.js rename to dist/assets/HomeView-DUEE32an.js index 50bb8c6..81c24b3 100644 --- a/dist/assets/HomeView-iAjpb4v3.js +++ b/dist/assets/HomeView-DUEE32an.js @@ -1 +1 @@ -import{$ as e,A as t,D as n,E as ee,F as te,I as r,J as i,K as a,L as o,M as s,N as c,R as l,St as u,Tt as d,X as f,_ as ne,j as p,k as m,n as h,pt as g,q as re,wt as _,xt as v}from"./BasicIcon-B6lR-mG3.js";import{o as ie}from"./format-BHJptHdF.js";import{S as y,c as ae,i as oe,l as se,o as ce,r as le,s as b,x}from"./index-DHK6R1xK.js";import{t as ue}from"./IconChevronBack-BXRfc2bX.js";import{t as de}from"./IconDiamond-7-J5Q2Ma.js";import{t as S}from"./IconLayoutGrid-DgOvzvMf.js";import{t as fe}from"./PageSkeleton-BImjuI6S.js";import{n as pe,r as me,t as he}from"./crm-DbcoqKAF.js";import{t as ge}from"./useGoBack-yePcdjuj.js";import{t as _e}from"./IconHeart-DjMqqdO0.js";var C=[`width`,`height`],ve=l({__name:`IconMedal`,props:{size:{default:44}},setup(e){return(t,n)=>(i(),c(`svg`,{class:`icon-medal`,width:e.size,height:e.size,viewBox:`0 0 48 48`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`},[...n[0]||=[te(``,5)]],8,C))}}),w={class:`page home-page`},T={class:`home-header`},E={class:`home-header__user`},D={class:`home-header__hello`},O={class:`home-header__actions`},k={class:`page__scroll page__scroll--with-nav home-scroll`},A={key:0,class:`home-error`},j=[`aria-label`],M={class:`hero-banner__content`},N={class:`hero-banner__title`},P={key:0},F={key:0,class:`hero-banner__dots`,role:`tablist`,"aria-label":`بنرها`},ye=[`aria-label`,`aria-selected`,`onClick`],be={class:`quick-grid`,"aria-label":`دسترسی سریع`},xe=[`onClick`],Se={class:`quick-card__icon`,"aria-hidden":`true`},Ce={class:`quick-card__label`},we={class:`level-card`,"aria-label":`سطح عضویت`},Te={class:`level-card__top`},Ee={class:`level-card__identity`},De={class:`level-card__text`},Oe={class:`level-card__name`},ke={class:`level-card__next`},Ae={class:`level-card__progress`},I=[`aria-valuenow`],je={class:`level-card__points`},Me={class:`section`},Ne={class:`section__head`},Pe={class:`product-row`},Fe=[`onClick`],Ie={key:0,class:`product-card__badge`},Le={class:`product-card__body`},Re={class:`product-card__name`},ze={class:`product-card__sub`},Be=[`aria-label`,`aria-pressed`,`onClick`],L=h(l({__name:`HomeView`,setup(te){let l=ne(),{goBack:h}=ge(`/`),C=ae(),L=he(),R=se(),z=g(!0),B=g(null),V=g([]),H=g(null),U=g(null),Ve=[{id:`qa-club`,label:`باشگاه مشتریان`,to:`/profile`,icon:y},{id:`qa-cat`,label:`دسته بندی`,to:`/categories`,icon:S},{id:`qa-new`,label:`محصولات جدید`,to:`/products`,icon:de},{id:`qa-swatch`,label:`درخواست کالیته`,to:`/catalog-request`,icon:x}],He=[{id:`qa-customers`,label:`مشتریان من`,to:`/customers`,icon:y},{id:`qa-reminders`,label:`یادآورها`,to:`/reminders`,icon:b},{id:`qa-cat`,label:`دسته بندی`,to:`/categories`,icon:S},{id:`qa-swatch`,label:`درخواست کالیته`,to:`/catalog-request`,icon:x}],Ue=m(()=>C.isAgent?He:Ve),W={id:`fallback`,slot:`home_hero`,title:`کالکشن پاییز و زمستان`,subtitle:`جدیدترین پارچه‌ها`,ctaLabel:`مشاهده کالکشن`,ctaLink:`/categories`,imageUrl:``},G=g([W]),K=g(0),q,J=m(()=>G.value[K.value]??W),We=m(()=>{let e=J.value.imageUrl;if(e)return{"--hero-image":`url("${e}")`}});function Y(){X(),!(G.value.length<2)&&(q=window.setInterval(()=>{K.value=(K.value+1)%G.value.length},5e3))}function X(){q&&window.clearInterval(q),q=void 0}function Ge(e){K.value=e,Y()}let Z=m(()=>C.user?.firstName||`کاربر`),Ke=m(()=>C.user?.lastName||``),Q=m(()=>{if(U.value)return U.value;let e=C.user;return{label:e?.levelLabel||`برنزی`,nextLabel:e?.nextLevelLabel||`نقره‌ای`,pointsRemaining:e?.pointsToNext??0,progressPercent:e?.levelProgress??0}});re(X),a(async()=>{z.value=!0,B.value=null;try{let[e,t]=await Promise.all([L.loadBrowseProducts(),me(`home_hero`).catch(()=>[]),R.hydrate()]);if(t.length&&(G.value=t),Y(),V.value=e.filter(e=>e.isNew).slice(0,6),V.value.length||(V.value=e.slice(0,6)),C.isAgent)try{let e=await pe();U.value={label:e.levelLabel,nextLabel:e.nextLevelLabel,pointsRemaining:e.pointsToNext,progressPercent:e.levelProgress}}catch{}}catch(e){B.value=e instanceof Error?e.message:`بارگذاری خانه ناموفق بود.`}finally{z.value=!1}});function $(e){if(/^https?:\/\//i.test(e)){window.location.assign(e);return}l.push(e)}function qe(){$(J.value.ctaLink.trim()||`/categories`)}async function Je(e){H.value=null;try{await R.toggle(e)}catch(e){H.value=e instanceof Error?e.message:`ذخیره علاقه‌مندی ناموفق بود.`}}return(te,a)=>(i(),c(`div`,w,[t(`header`,T,[t(`button`,{type:`button`,class:`icon-btn`,"aria-label":`بازگشت`,onClick:a[0]||=(...e)=>v(h)&&v(h)(...e)},[o(ue,{size:20})]),t(`div`,E,[o(le,{class:`home-header__avatar`,src:v(C).user?.avatarUrl,initials:Z.value.charAt(0),size:44},null,8,[`src`,`initials`]),t(`div`,null,[t(`p`,D,` سلام، `+d(Z.value)+` `+d(Ke.value),1),a[4]||=t(`p`,{class:`home-header__welcome`},`خوش آمدید`,-1)])]),t(`div`,O,[o(oe,{variant:`inline`}),t(`button`,{type:`button`,class:`icon-btn`,"aria-label":`اعلان‌ها`,onClick:a[1]||=e=>$(`/profile/notifications`)},[o(b,{size:20})])])]),t(`div`,k,[B.value?(i(),c(`p`,A,d(B.value),1)):z.value?(i(),p(fe,{key:1,variant:`home`})):(i(),c(n,{key:2},[t(`section`,{class:`hero-banner`,"aria-label":J.value.title,style:_(We.value)},[t(`div`,M,[t(`h2`,N,[r(d(J.value.title)+` `,1),J.value.subtitle?(i(),c(`span`,P,d(J.value.subtitle),1)):s(``,!0)]),J.value.ctaLabel?(i(),c(`button`,{key:0,type:`button`,class:`hero-banner__cta`,onClick:qe},d(J.value.ctaLabel),1)):s(``,!0)]),G.value.length>1?(i(),c(`div`,F,[(i(!0),c(n,null,f(G.value,(e,t)=>(i(),c(`button`,{key:e.id,type:`button`,class:u([`dot`,{"dot--active":t===K.value}]),"aria-label":e.title,"aria-selected":t===K.value,onClick:e=>Ge(t)},null,10,ye))),128))])):s(``,!0)],12,j),t(`section`,be,[(i(!0),c(n,null,f(Ue.value,n=>(i(),c(`button`,{key:n.id,type:`button`,class:`quick-card`,onClick:e=>$(n.to)},[t(`span`,Se,[(i(),p(e(n.icon),{size:20}))]),t(`span`,Ce,d(n.label),1)],8,xe))),128))]),t(`section`,we,[t(`div`,Te,[t(`div`,Ee,[o(ve,{size:48}),t(`div`,De,[a[5]||=t(`span`,{class:`level-card__eyebrow`},`سطح شما`,-1),t(`strong`,Oe,d(Q.value.label),1),t(`span`,ke,`تا سطح `+d(Q.value.nextLabel),1)])]),t(`button`,{type:`button`,class:`level-card__details`,onClick:a[2]||=e=>$(`/profile`)},` جزئیات سطح `)]),t(`div`,Ae,[t(`div`,{class:`level-card__bar`,role:`progressbar`,"aria-valuenow":Q.value.progressPercent,"aria-valuemin":`0`,"aria-valuemax":`100`},[t(`span`,{class:`level-card__bar-fill`,style:_({width:`${Q.value.progressPercent}%`})},null,4)],8,I),t(`span`,je,d(v(ie)(Q.value.pointsRemaining))+` امتیاز دیگر `,1)])]),t(`section`,Me,[t(`div`,Ne,[a[7]||=t(`h3`,{class:`section__title`},`جدیدترین محصولات`,-1),t(`button`,{type:`button`,class:`section__link`,onClick:a[3]||=e=>$(`/products`)},[a[6]||=r(` مشاهده همه `,-1),o(ce,{size:14})])]),t(`div`,Pe,[(i(!0),c(n,null,f(V.value,(e,n)=>(i(),c(`article`,{key:e.id,class:`product-card`,onClick:t=>$(`/product?id=${e.id}`)},[t(`div`,{class:u([`product-card__image`,`product-card__image--${n%3}`]),style:_(e.imageUrl?{backgroundImage:`url(${e.imageUrl})`}:void 0)},[e.isNew?(i(),c(`span`,Ie,`جدید`)):s(``,!0)],6),t(`div`,Le,[t(`strong`,Re,d(e.name),1),t(`span`,ze,d(e.subtitle),1),t(`button`,{type:`button`,class:u([`product-card__fav`,{"product-card__fav--on":v(R).isFavorite(e.id)}]),"aria-label":v(R).isFavorite(e.id)?`حذف از علاقه‌مندی‌ها`:`افزودن به علاقه‌مندی‌ها`,"aria-pressed":v(R).isFavorite(e.id),onClick:ee(t=>Je(e.id),[`stop`])},[o(_e,{size:16,filled:v(R).isFavorite(e.id),color:v(R).isFavorite(e.id)?`#0a353c`:`#b0b7c0`},null,8,[`filled`,`color`])],10,Be)])],8,Fe))),128))])])],64))])]))}}),[[`__scopeId`,`data-v-d4c90ca0`]]);export{L as default}; \ No newline at end of file +import{$ as e,A as t,D as n,E as ee,F as te,I as r,J as i,K as a,L as o,M as s,N as c,R as l,St as u,Tt as d,X as f,_ as ne,j as p,k as m,n as h,pt as g,q as re,wt as _,xt as v}from"./BasicIcon-B6lR-mG3.js";import{o as ie}from"./format-BHJptHdF.js";import{S as y,c as ae,i as oe,l as se,o as ce,r as le,s as b,x}from"./index-B20WsQhf.js";import{t as ue}from"./IconChevronBack-BXRfc2bX.js";import{t as de}from"./IconDiamond-7-J5Q2Ma.js";import{t as S}from"./IconLayoutGrid-DgOvzvMf.js";import{t as fe}from"./PageSkeleton-BImjuI6S.js";import{n as pe,r as me,t as he}from"./crm-DbcoqKAF.js";import{t as ge}from"./useGoBack-yePcdjuj.js";import{t as _e}from"./IconHeart-DjMqqdO0.js";var C=[`width`,`height`],ve=l({__name:`IconMedal`,props:{size:{default:44}},setup(e){return(t,n)=>(i(),c(`svg`,{class:`icon-medal`,width:e.size,height:e.size,viewBox:`0 0 48 48`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`},[...n[0]||=[te(``,5)]],8,C))}}),w={class:`page home-page`},T={class:`home-header`},E={class:`home-header__user`},D={class:`home-header__hello`},O={class:`home-header__actions`},k={class:`page__scroll page__scroll--with-nav home-scroll`},A={key:0,class:`home-error`},j=[`aria-label`],M={class:`hero-banner__content`},N={class:`hero-banner__title`},P={key:0},F={key:0,class:`hero-banner__dots`,role:`tablist`,"aria-label":`بنرها`},ye=[`aria-label`,`aria-selected`,`onClick`],be={class:`quick-grid`,"aria-label":`دسترسی سریع`},xe=[`onClick`],Se={class:`quick-card__icon`,"aria-hidden":`true`},Ce={class:`quick-card__label`},we={class:`level-card`,"aria-label":`سطح عضویت`},Te={class:`level-card__top`},Ee={class:`level-card__identity`},De={class:`level-card__text`},Oe={class:`level-card__name`},ke={class:`level-card__next`},Ae={class:`level-card__progress`},I=[`aria-valuenow`],je={class:`level-card__points`},Me={class:`section`},Ne={class:`section__head`},Pe={class:`product-row`},Fe=[`onClick`],Ie={key:0,class:`product-card__badge`},Le={class:`product-card__body`},Re={class:`product-card__name`},ze={class:`product-card__sub`},Be=[`aria-label`,`aria-pressed`,`onClick`],L=h(l({__name:`HomeView`,setup(te){let l=ne(),{goBack:h}=ge(`/`),C=ae(),L=he(),R=se(),z=g(!0),B=g(null),V=g([]),H=g(null),U=g(null),Ve=[{id:`qa-club`,label:`باشگاه مشتریان`,to:`/profile`,icon:y},{id:`qa-cat`,label:`دسته بندی`,to:`/categories`,icon:S},{id:`qa-new`,label:`محصولات جدید`,to:`/products`,icon:de},{id:`qa-swatch`,label:`درخواست کالیته`,to:`/catalog-request`,icon:x}],He=[{id:`qa-customers`,label:`مشتریان من`,to:`/customers`,icon:y},{id:`qa-reminders`,label:`یادآورها`,to:`/reminders`,icon:b},{id:`qa-cat`,label:`دسته بندی`,to:`/categories`,icon:S},{id:`qa-swatch`,label:`درخواست کالیته`,to:`/catalog-request`,icon:x}],Ue=m(()=>C.isAgent?He:Ve),W={id:`fallback`,slot:`home_hero`,title:`کالکشن پاییز و زمستان`,subtitle:`جدیدترین پارچه‌ها`,ctaLabel:`مشاهده کالکشن`,ctaLink:`/categories`,imageUrl:``},G=g([W]),K=g(0),q,J=m(()=>G.value[K.value]??W),We=m(()=>{let e=J.value.imageUrl;if(e)return{"--hero-image":`url("${e}")`}});function Y(){X(),!(G.value.length<2)&&(q=window.setInterval(()=>{K.value=(K.value+1)%G.value.length},5e3))}function X(){q&&window.clearInterval(q),q=void 0}function Ge(e){K.value=e,Y()}let Z=m(()=>C.user?.firstName||`کاربر`),Ke=m(()=>C.user?.lastName||``),Q=m(()=>{if(U.value)return U.value;let e=C.user;return{label:e?.levelLabel||`برنزی`,nextLabel:e?.nextLevelLabel||`نقره‌ای`,pointsRemaining:e?.pointsToNext??0,progressPercent:e?.levelProgress??0}});re(X),a(async()=>{z.value=!0,B.value=null;try{let[e,t]=await Promise.all([L.loadBrowseProducts(),me(`home_hero`).catch(()=>[]),R.hydrate()]);if(t.length&&(G.value=t),Y(),V.value=e.filter(e=>e.isNew).slice(0,6),V.value.length||(V.value=e.slice(0,6)),C.isAgent)try{let e=await pe();U.value={label:e.levelLabel,nextLabel:e.nextLevelLabel,pointsRemaining:e.pointsToNext,progressPercent:e.levelProgress}}catch{}}catch(e){B.value=e instanceof Error?e.message:`بارگذاری خانه ناموفق بود.`}finally{z.value=!1}});function $(e){if(/^https?:\/\//i.test(e)){window.location.assign(e);return}l.push(e)}function qe(){$(J.value.ctaLink.trim()||`/categories`)}async function Je(e){H.value=null;try{await R.toggle(e)}catch(e){H.value=e instanceof Error?e.message:`ذخیره علاقه‌مندی ناموفق بود.`}}return(te,a)=>(i(),c(`div`,w,[t(`header`,T,[t(`button`,{type:`button`,class:`icon-btn`,"aria-label":`بازگشت`,onClick:a[0]||=(...e)=>v(h)&&v(h)(...e)},[o(ue,{size:20})]),t(`div`,E,[o(le,{class:`home-header__avatar`,src:v(C).user?.avatarUrl,initials:Z.value.charAt(0),size:44},null,8,[`src`,`initials`]),t(`div`,null,[t(`p`,D,` سلام، `+d(Z.value)+` `+d(Ke.value),1),a[4]||=t(`p`,{class:`home-header__welcome`},`خوش آمدید`,-1)])]),t(`div`,O,[o(oe,{variant:`inline`}),t(`button`,{type:`button`,class:`icon-btn`,"aria-label":`اعلان‌ها`,onClick:a[1]||=e=>$(`/profile/notifications`)},[o(b,{size:20})])])]),t(`div`,k,[B.value?(i(),c(`p`,A,d(B.value),1)):z.value?(i(),p(fe,{key:1,variant:`home`})):(i(),c(n,{key:2},[t(`section`,{class:`hero-banner`,"aria-label":J.value.title,style:_(We.value)},[t(`div`,M,[t(`h2`,N,[r(d(J.value.title)+` `,1),J.value.subtitle?(i(),c(`span`,P,d(J.value.subtitle),1)):s(``,!0)]),J.value.ctaLabel?(i(),c(`button`,{key:0,type:`button`,class:`hero-banner__cta`,onClick:qe},d(J.value.ctaLabel),1)):s(``,!0)]),G.value.length>1?(i(),c(`div`,F,[(i(!0),c(n,null,f(G.value,(e,t)=>(i(),c(`button`,{key:e.id,type:`button`,class:u([`dot`,{"dot--active":t===K.value}]),"aria-label":e.title,"aria-selected":t===K.value,onClick:e=>Ge(t)},null,10,ye))),128))])):s(``,!0)],12,j),t(`section`,be,[(i(!0),c(n,null,f(Ue.value,n=>(i(),c(`button`,{key:n.id,type:`button`,class:`quick-card`,onClick:e=>$(n.to)},[t(`span`,Se,[(i(),p(e(n.icon),{size:20}))]),t(`span`,Ce,d(n.label),1)],8,xe))),128))]),t(`section`,we,[t(`div`,Te,[t(`div`,Ee,[o(ve,{size:48}),t(`div`,De,[a[5]||=t(`span`,{class:`level-card__eyebrow`},`سطح شما`,-1),t(`strong`,Oe,d(Q.value.label),1),t(`span`,ke,`تا سطح `+d(Q.value.nextLabel),1)])]),t(`button`,{type:`button`,class:`level-card__details`,onClick:a[2]||=e=>$(`/profile`)},` جزئیات سطح `)]),t(`div`,Ae,[t(`div`,{class:`level-card__bar`,role:`progressbar`,"aria-valuenow":Q.value.progressPercent,"aria-valuemin":`0`,"aria-valuemax":`100`},[t(`span`,{class:`level-card__bar-fill`,style:_({width:`${Q.value.progressPercent}%`})},null,4)],8,I),t(`span`,je,d(v(ie)(Q.value.pointsRemaining))+` امتیاز دیگر `,1)])]),t(`section`,Me,[t(`div`,Ne,[a[7]||=t(`h3`,{class:`section__title`},`جدیدترین محصولات`,-1),t(`button`,{type:`button`,class:`section__link`,onClick:a[3]||=e=>$(`/products`)},[a[6]||=r(` مشاهده همه `,-1),o(ce,{size:14})])]),t(`div`,Pe,[(i(!0),c(n,null,f(V.value,(e,n)=>(i(),c(`article`,{key:e.id,class:`product-card`,onClick:t=>$(`/product?id=${e.id}`)},[t(`div`,{class:u([`product-card__image`,`product-card__image--${n%3}`]),style:_(e.imageUrl?{backgroundImage:`url(${e.imageUrl})`}:void 0)},[e.isNew?(i(),c(`span`,Ie,`جدید`)):s(``,!0)],6),t(`div`,Le,[t(`strong`,Re,d(e.name),1),t(`span`,ze,d(e.subtitle),1),t(`button`,{type:`button`,class:u([`product-card__fav`,{"product-card__fav--on":v(R).isFavorite(e.id)}]),"aria-label":v(R).isFavorite(e.id)?`حذف از علاقه‌مندی‌ها`:`افزودن به علاقه‌مندی‌ها`,"aria-pressed":v(R).isFavorite(e.id),onClick:ee(t=>Je(e.id),[`stop`])},[o(_e,{size:16,filled:v(R).isFavorite(e.id),color:v(R).isFavorite(e.id)?`#0a353c`:`#b0b7c0`},null,8,[`filled`,`color`])],10,Be)])],8,Fe))),128))])])],64))])]))}}),[[`__scopeId`,`data-v-d4c90ca0`]]);export{L as default}; \ No newline at end of file diff --git a/dist/assets/LoginView-44E3ZvjQ.js b/dist/assets/LoginView-44E3ZvjQ.js deleted file mode 100644 index e716ad1..0000000 --- a/dist/assets/LoginView-44E3ZvjQ.js +++ /dev/null @@ -1 +0,0 @@ -import{A as e,E as t,F as n,I as r,J as i,K as a,L as o,M as s,N as c,Q as l,R as u,St as d,Tt as f,_ as p,k as m,n as h,nt as g,pt as _,xt as v}from"./BasicIcon-B6lR-mG3.js";import{n as y}from"./http-CHgEV7QF.js";import{c as b,u as x}from"./format-BHJptHdF.js";import{a as ee}from"./validation-BD7oi-2I.js";import{c as te,h as S,m as C,o as w}from"./index-DHK6R1xK.js";import{t as T}from"./FormErrorBanner-8PcsTbdO.js";import{t as E}from"./IconPhone-Glpo76KE.js";import{n as D,r as O,t as k}from"./formErrors-DglFjYkZ.js";import{t as A}from"./login-fabric-CzrIXTnD.js";function j(e){if(!e)return;let t=e.replace(/[^\d+]/g,``);return t?`tel:${t}`:void 0}function M(){return y(`/settings/public`,{auth:!1})}var N={class:`page login-page`},P=[`src`],F={class:`login-page__scroll`},I={class:`login-page__stage`},L={class:`login-brand`},ne=[`value`,`aria-invalid`],R={key:0,class:`phone-field__error`},z=[`disabled`],B={key:0,class:`login-submit__spinner`,"aria-hidden":`true`},V={class:`login-submit__chevron`,"aria-hidden":`true`},H={class:`login-register`},U={class:`login-help`},W=[`href`,`aria-disabled`],G={class:`login-help__icon`},K=[`href`,`aria-disabled`],q={class:`login-help__icon`},J=h(u({__name:`LoginView`,setup(u){let h=p(),y=te(),J=_(null),Y=m(()=>j(J.value)),X=_(``),Z=_({}),Q=_(``),re=m(()=>X.value?x(X.value):``);function $(e){return e?ee(e)?``:`شماره موبایل معتبر نیست. (مثال: ۰۹۱۲۱۲۳۴۵۶۷)`:`شماره موبایل را وارد کنید.`}function ie(){Z.value=D(Z.value,`phone`),O(Z.value)||(Q.value=``)}function ae(e){X.value=b(e),ie()}function oe(){if(!X.value)return;let e=$(X.value);e&&(Z.value={...Z.value,phone:e})}async function se(){Z.value={},Q.value=``;let e=b(X.value);X.value=e;let t=$(e);if(t){Z.value={phone:t},Q.value=k;return}let n=await y.requestOtp(e,{isRegister:!1});n.success?h.push({name:`otp`,query:{phone:e,mode:`login`}}):Q.value=n.message??`خطا در ارسال کد تأیید.`}return a(async()=>{try{let e=await M();J.value=e.supportPhone}catch{J.value=null}}),(a,u)=>{let p=l(`RouterLink`);return i(),c(`div`,N,[e(`img`,{class:`login-page__bg`,src:v(A),alt:``},null,8,P),e(`div`,F,[e(`div`,I,[u[14]||=e(`header`,{class:`login-top`},[e(`p`,{class:`login-top__welcome`},`به دنیای پارچه خوش آمدید`)],-1),e(`div`,L,[o(C,{size:78}),u[1]||=e(`h1`,{class:`login-brand__fa`},`نادمی تکس`,-1),u[2]||=e(`p`,{class:`login-brand__en`},`NADEMITEX`,-1),u[3]||=e(`p`,{class:`login-brand__tag`},`انتخاب حرفه‌ای‌ها`,-1)]),e(`form`,{class:`login-card`,onSubmit:t(se,[`prevent`])},[u[10]||=e(`h2`,{class:`login-card__title`},`ورود به حساب کاربری`,-1),u[11]||=e(`p`,{class:`login-card__lead`},`برای ادامه، شماره موبایل خود را وارد کنید.`,-1),o(T,{message:Q.value},null,8,[`message`]),e(`div`,{class:d([`phone-field`,{"is-invalid":!!Z.value.phone}]),dir:`ltr`},[u[4]||=n(``,1),e(`input`,{class:`phone-field__input`,value:re.value,type:`tel`,inputmode:`numeric`,autocomplete:`tel`,dir:`rtl`,maxlength:`11`,placeholder:`شماره موبایل`,"aria-invalid":!!Z.value.phone,"aria-label":`شماره موبایل`,onInput:u[0]||=e=>ae(e.target.value),onBlur:oe},null,40,ne)],2),Z.value.phone?(i(),c(`p`,R,f(Z.value.phone),1)):s(``,!0),e(`button`,{class:`login-submit`,type:`submit`,disabled:v(y).loading},[v(y).loading?(i(),c(`span`,B)):s(``,!0),e(`span`,V,[o(w,{size:18,color:`#F4EDE4`})]),u[5]||=e(`span`,null,`دریافت کد تأیید`,-1)],8,z),e(`p`,H,[u[7]||=r(` حساب کاربری ندارید؟ `,-1),o(p,{to:`/register`},{default:g(()=>[...u[6]||=[r(`ثبت‌نام کنید`,-1)]]),_:1})]),u[12]||=e(`div`,{class:`login-or`,role:`separator`},[e(`span`,null,`یا`)],-1),e(`div`,U,[e(`a`,{class:d([`login-help__item`,{"is-disabled":!Y.value}]),href:Y.value,"aria-disabled":!Y.value},[e(`span`,G,[o(S,{size:22,color:`#3A3936`})]),u[8]||=r(` پشتیبانی `,-1)],10,W),e(`a`,{class:d([`login-help__item`,{"is-disabled":!Y.value}]),href:Y.value,"aria-disabled":!Y.value},[e(`span`,q,[o(E,{size:22,color:`#3A3936`})]),u[9]||=r(` تماس با ما `,-1)],10,K)]),u[13]||=e(`p`,{class:`login-card__foot`},`پارچه، آغاز یک اعتماد ماندگار…`,-1)],32),u[15]||=e(`div`,{class:`login-spacer`,"aria-hidden":`true`},null,-1),u[16]||=e(`p`,{class:`login-watermark`},[r(`MORE`),e(`br`),r(`THAN`),e(`br`),r(`FABRIC`)],-1)])])])}}}),[[`__scopeId`,`data-v-fd75d531`]]);export{J as default}; \ No newline at end of file diff --git a/dist/assets/LoginView-BQ3xuGSX.js b/dist/assets/LoginView-BQ3xuGSX.js new file mode 100644 index 0000000..88ae28b --- /dev/null +++ b/dist/assets/LoginView-BQ3xuGSX.js @@ -0,0 +1 @@ +import{A as e,E as t,F as n,I as r,J as i,K as a,L as o,M as s,N as c,Q as l,R as u,St as d,Tt as ee,_ as f,k as p,n as m,nt as te,pt as h,xt as g}from"./BasicIcon-B6lR-mG3.js";import{n as _}from"./http-CHgEV7QF.js";import{c as v,u as ne}from"./format-BHJptHdF.js";import{a as re}from"./validation-BD7oi-2I.js";import{c as ie,h as y,m as b,o as x}from"./index-B20WsQhf.js";import{t as S}from"./FormErrorBanner-8PcsTbdO.js";import{t as C}from"./IconPhone-Glpo76KE.js";import{n as w,r as T,t as E}from"./formErrors-DglFjYkZ.js";import{t as D}from"./login-fabric-CzrIXTnD.js";function O(e){if(!e)return;let t=e.replace(/[^\d+]/g,``);return t?`tel:${t}`:void 0}function k(){return _(`/settings/public`,{auth:!1})}var A=`/assets/login-fabric2-CEezyJ6z.png`,j={class:`page login-page`},M=[`src`],N=[`src`],P={class:`login-page__scroll`},F={class:`login-page__stage`},I={class:`login-brand`},L=[`value`,`aria-invalid`],R={key:0,class:`phone-field__error`},ae=[`disabled`],z={key:0,class:`login-submit__spinner`,"aria-hidden":`true`},B={class:`login-submit__chevron`,"aria-hidden":`true`},V={class:`login-register`},H={class:`login-help`},U=[`href`,`aria-disabled`],W={class:`login-help__icon`},G=[`href`,`aria-disabled`],K={class:`login-help__icon`},q=m(u({__name:`LoginView`,setup(u){let m=f(),_=ie(),q=h(null),J=p(()=>O(q.value)),Y=h(``),X=h({}),Z=h(``),oe=p(()=>Y.value?ne(Y.value):``);function Q(e){return e?re(e)?``:`شماره موبایل معتبر نیست. (مثال: ۰۹۱۲۱۲۳۴۵۶۷)`:`شماره موبایل را وارد کنید.`}function se(){X.value=w(X.value,`phone`),T(X.value)||(Z.value=``)}function ce(e){Y.value=v(e),se()}function le(){if(!Y.value)return;let e=Q(Y.value);e&&(X.value={...X.value,phone:e})}async function $(){X.value={},Z.value=``;let e=v(Y.value);Y.value=e;let t=Q(e);if(t){X.value={phone:t},Z.value=E;return}let n=await _.requestOtp(e,{isRegister:!1});n.success?m.push({name:`otp`,query:{phone:e,mode:`login`}}):Z.value=n.message??`خطا در ارسال کد تأیید.`}return a(async()=>{try{let e=await k();q.value=e.supportPhone}catch{q.value=null}}),(a,u)=>{let f=l(`RouterLink`);return i(),c(`div`,j,[e(`img`,{class:`login-page__bg`,src:g(D),alt:``},null,8,M),e(`img`,{class:`login-page__fabric`,src:g(A),alt:``},null,8,N),e(`div`,P,[e(`div`,F,[u[14]||=e(`header`,{class:`login-top`},[e(`p`,{class:`login-top__welcome`},`به دنیای پارچه خوش آمدید`)],-1),e(`div`,I,[o(b,{size:78}),u[1]||=e(`h1`,{class:`login-brand__fa`},`نادمی تکس`,-1),u[2]||=e(`p`,{class:`login-brand__en`},`NADEMITEX`,-1),u[3]||=e(`p`,{class:`login-brand__tag`},`انتخاب حرفه‌ای‌ها`,-1)]),e(`form`,{class:`login-card`,onSubmit:t($,[`prevent`])},[u[10]||=e(`h2`,{class:`login-card__title`},`ورود به حساب کاربری`,-1),u[11]||=e(`p`,{class:`login-card__lead`},`برای ادامه، شماره موبایل خود را وارد کنید.`,-1),o(S,{message:Z.value},null,8,[`message`]),e(`div`,{class:d([`phone-field`,{"is-invalid":!!X.value.phone}]),dir:`ltr`},[u[4]||=n(``,1),e(`input`,{class:`phone-field__input`,value:oe.value,type:`tel`,inputmode:`numeric`,autocomplete:`tel`,dir:`rtl`,maxlength:`11`,placeholder:`شماره موبایل`,"aria-invalid":!!X.value.phone,"aria-label":`شماره موبایل`,onInput:u[0]||=e=>ce(e.target.value),onBlur:le},null,40,L)],2),X.value.phone?(i(),c(`p`,R,ee(X.value.phone),1)):s(``,!0),e(`button`,{class:`login-submit`,type:`submit`,disabled:g(_).loading},[g(_).loading?(i(),c(`span`,z)):s(``,!0),e(`span`,B,[o(x,{size:18,color:`#F4EDE4`})]),u[5]||=e(`span`,null,`دریافت کد تأیید`,-1)],8,ae),e(`p`,V,[u[7]||=r(` حساب کاربری ندارید؟ `,-1),o(f,{to:`/register`},{default:te(()=>[...u[6]||=[r(`ثبت‌نام کنید`,-1)]]),_:1})]),u[12]||=e(`div`,{class:`login-or`,role:`separator`},[e(`span`,null,`یا`)],-1),e(`div`,H,[e(`a`,{class:d([`login-help__item`,{"is-disabled":!J.value}]),href:J.value,"aria-disabled":!J.value},[e(`span`,W,[o(y,{size:22,color:`#3A3936`})]),u[8]||=r(` پشتیبانی `,-1)],10,U),e(`a`,{class:d([`login-help__item`,{"is-disabled":!J.value}]),href:J.value,"aria-disabled":!J.value},[e(`span`,K,[o(C,{size:22,color:`#3A3936`})]),u[9]||=r(` تماس با ما `,-1)],10,G)]),u[13]||=e(`p`,{class:`login-card__foot`},`پارچه، آغاز یک اعتماد ماندگار…`,-1)],32),u[15]||=e(`div`,{class:`login-spacer`,"aria-hidden":`true`},null,-1),u[16]||=e(`p`,{class:`login-watermark`},[r(`MORE`),e(`br`),r(`THAN`),e(`br`),r(`FABRIC`)],-1)])])])}}}),[[`__scopeId`,`data-v-ac1bf031`]]);export{q as default}; \ No newline at end of file diff --git a/dist/assets/LoginView-CSGZwe9j.css b/dist/assets/LoginView-CSGZwe9j.css deleted file mode 100644 index 1cdaeda..0000000 --- a/dist/assets/LoginView-CSGZwe9j.css +++ /dev/null @@ -1 +0,0 @@ -.login-page[data-v-fd75d531]{isolation:isolate;color:#f4ede4;background:#1a1612;height:100%;min-height:100%;position:relative;overflow:hidden}.login-page__bg[data-v-fd75d531]{z-index:0;object-fit:cover;object-position:center center;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.login-page__scroll[data-v-fd75d531]{z-index:1;overscroll-behavior:contain;height:100%;position:relative;overflow:hidden auto}.login-page__stage[data-v-fd75d531]{width:100%;max-width:360px;min-height:100%;padding:calc(10px + env(safe-area-inset-top,0px)) 16px calc(14px + env(safe-area-inset-bottom,0px));flex-direction:column;margin-inline:auto;display:flex}.login-top[data-v-fd75d531]{justify-content:flex-start;align-items:center;min-height:36px;display:flex}.login-top__welcome[data-v-fd75d531]{color:#f3e6d6;font-size:.75rem;font-weight:400;line-height:1.6}.login-brand[data-v-fd75d531]{text-align:center;color:#f3e6d6;flex-direction:column;align-items:center;margin-top:28px;margin-bottom:20px;display:flex}.login-brand__fa[data-v-fd75d531]{letter-spacing:-.02em;margin:14px 0 0;font-size:1.75rem;font-weight:700;line-height:1.25}.login-brand__en[data-v-fd75d531]{letter-spacing:.28em;color:#ead7c0;margin:6px 0 0;font-size:.6875rem;font-weight:500}.login-brand__tag[data-v-fd75d531]{color:#efe2d2;margin:10px 0 0;font-size:.875rem;font-weight:400}.login-card[data-v-fd75d531]{color:#2a2622;background:#f4f1ed;border:none;border-radius:28px;width:100%;margin:0;padding:22px 18px 16px;box-shadow:0 18px 40px #0c0a0838}.login-card__title[data-v-fd75d531]{text-align:center;color:#1c1b19;margin:0;font-size:1.0625rem;font-weight:700;line-height:1.5}.login-card__lead[data-v-fd75d531]{text-align:center;color:#8a847c;margin:6px 0 0;font-size:.75rem;line-height:1.7}.login-card[data-v-fd75d531] .form-error-banner{margin-top:14px;margin-bottom:0}.phone-field[data-v-fd75d531]{background:#f7f5f1;border:1px solid #e4e0db;border-radius:999px;flex-direction:row;align-items:center;gap:8px;height:48px;margin-top:18px;padding:0 8px 0 14px;display:flex}.phone-field.is-invalid[data-v-fd75d531]{border-color:color-mix(in srgb, var(--color-danger) 55%, #e4e0db)}.phone-field__locale[data-v-fd75d531]{color:#9a9590;flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.iran-flag[data-v-fd75d531]{border-radius:2px;width:22px;height:16px;overflow:hidden;box-shadow:0 0 0 1px #0000000f}.phone-field__caret[data-v-fd75d531]{width:10px;height:6px}.phone-field__input[data-v-fd75d531]{color:#2a2622;letter-spacing:.04em;text-align:start;background:0 0;border:none;outline:none;flex:1;min-width:0;height:100%;font-family:inherit;font-size:.9375rem}.phone-field__input[data-v-fd75d531]::placeholder{color:#b0aaa3}.phone-field__error[data-v-fd75d531]{color:var(--color-danger);margin:8px 4px 0;font-size:.75rem;line-height:1.5}.login-submit[data-v-fd75d531]{color:#f7f4ef;cursor:pointer;background:#0a353c;border:none;border-radius:999px;justify-content:center;align-items:center;width:100%;height:48px;margin-top:12px;padding:0 44px;font-family:inherit;font-size:.9375rem;font-weight:600;transition:background .15s;display:flex;position:relative}.login-submit[data-v-fd75d531]:not(:disabled):hover,.login-submit[data-v-fd75d531]:not(:disabled):focus-visible{background:#072a2f}.login-submit[data-v-fd75d531]:focus-visible{outline-offset:2px;outline:2px solid #c9a56a}.login-submit[data-v-fd75d531]:disabled{opacity:.7;cursor:not-allowed}.login-submit__chevron[data-v-fd75d531]{place-items:center;display:grid;position:absolute;inset-inline-end:16px}.login-submit__spinner[data-v-fd75d531]{border:2px solid #ffffff47;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite login-spin-fd75d531;position:absolute;inset-inline-start:16px}.login-register[data-v-fd75d531]{text-align:center;color:#8a847c;margin:12px 0 0;font-size:.8125rem;line-height:1.6}.login-register a[data-v-fd75d531]{color:var(--color-primary);font-weight:700;text-decoration:none}.login-or[data-v-fd75d531]{color:#9a9590;align-items:center;gap:12px;margin:16px 4px 14px;font-size:.75rem;display:flex}.login-or[data-v-fd75d531]:before,.login-or[data-v-fd75d531]:after{content:"";background:#e6e1db;flex:1;height:1px}.login-help[data-v-fd75d531]{justify-content:center;gap:48px;display:flex}.login-help__item[data-v-fd75d531]{color:#6f6b66;flex-direction:column;align-items:center;gap:8px;font-size:.75rem;text-decoration:none;display:flex}.login-help__item.is-disabled[data-v-fd75d531]{pointer-events:none}.login-help__icon[data-v-fd75d531]{background:0 0;border:1px solid #d8d3cd;border-radius:50%;place-items:center;width:52px;height:52px;display:grid}.login-card__foot[data-v-fd75d531]{text-align:center;color:#8a847c;margin:18px 0 2px;font-size:.75rem;line-height:1.7}.login-spacer[data-v-fd75d531]{flex:auto;min-height:16px}.login-watermark[data-v-fd75d531]{color:#f4ede494;letter-spacing:.2em;text-align:left;direction:ltr;margin:0;padding-bottom:8px;font-size:.625rem;font-weight:600;line-height:1.35}@keyframes login-spin-fd75d531{to{transform:rotate(360deg)}}@media (width<=359px){.login-page__stage[data-v-fd75d531]{padding-inline:12px}.login-brand[data-v-fd75d531]{margin-top:16px;margin-bottom:14px}.login-brand__fa[data-v-fd75d531]{font-size:1.5rem}.login-help[data-v-fd75d531]{gap:36px}}@media (width>=768px){.login-page[data-v-fd75d531]{max-width:none;height:100%;min-height:0;margin:0;padding:0;overflow:hidden}} diff --git a/dist/assets/LoginView-a5WOmvO4.css b/dist/assets/LoginView-a5WOmvO4.css new file mode 100644 index 0000000..5203439 --- /dev/null +++ b/dist/assets/LoginView-a5WOmvO4.css @@ -0,0 +1 @@ +.login-page[data-v-ac1bf031]{isolation:isolate;color:#f4ede4;background:#1a1612;height:100%;min-height:100%;position:relative;overflow:hidden}.login-page__bg[data-v-ac1bf031]{z-index:0;object-fit:cover;object-position:center center;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.login-page__fabric[data-v-ac1bf031]{z-index:3;object-fit:cover;object-position:center bottom;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;bottom:0;left:0;right:0}.login-page__scroll[data-v-ac1bf031]{z-index:1;overscroll-behavior:contain;height:100%;position:relative;overflow:hidden auto}.login-page__stage[data-v-ac1bf031]{width:100%;max-width:360px;min-height:100%;padding:calc(10px + env(safe-area-inset-top,0px)) 16px calc(14px + env(safe-area-inset-bottom,0px));flex-direction:column;margin-inline:auto;display:flex}.login-top[data-v-ac1bf031]{justify-content:flex-start;align-items:center;min-height:36px;display:flex}.login-top__welcome[data-v-ac1bf031]{color:#f3e6d6;font-size:.75rem;font-weight:400;line-height:1.6}.login-brand[data-v-ac1bf031]{text-align:center;color:#f3e6d6;flex-direction:column;align-items:center;margin-top:28px;margin-bottom:20px;display:flex}.login-brand__fa[data-v-ac1bf031]{letter-spacing:-.02em;margin:14px 0 0;font-size:1.75rem;font-weight:700;line-height:1.25}.login-brand__en[data-v-ac1bf031]{letter-spacing:.28em;color:#ead7c0;margin:6px 0 0;font-size:.6875rem;font-weight:500}.login-brand__tag[data-v-ac1bf031]{color:#efe2d2;margin:10px 0 0;font-size:.875rem;font-weight:400}.login-card[data-v-ac1bf031]{color:#2a2622;background:#ebe4dc;border:none;border-radius:28px;width:100%;margin:0;padding:22px 18px 16px;box-shadow:0 18px 40px #0c0a0838}.login-card__title[data-v-ac1bf031]{text-align:center;color:#1c1b19;margin:0;font-size:1.0625rem;font-weight:700;line-height:1.5}.login-card__lead[data-v-ac1bf031]{text-align:center;color:#8a847c;margin:6px 0 0;font-size:.75rem;line-height:1.7}.login-card[data-v-ac1bf031] .form-error-banner{margin-top:14px;margin-bottom:0}.phone-field[data-v-ac1bf031]{background:#e4ddd4;border:1px solid #e4e0db;border-radius:14px;flex-direction:row;align-items:center;gap:8px;height:48px;margin-top:18px;padding:0 8px 0 14px;display:flex}.phone-field.is-invalid[data-v-ac1bf031]{border-color:color-mix(in srgb, var(--color-danger) 55%, #e4e0db)}.phone-field__locale[data-v-ac1bf031]{color:#9a9590;flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.iran-flag[data-v-ac1bf031]{border-radius:2px;width:22px;height:16px;overflow:hidden;box-shadow:0 0 0 1px #0000000f}.phone-field__caret[data-v-ac1bf031]{width:10px;height:6px}.phone-field__input[data-v-ac1bf031]{color:#2a2622;letter-spacing:.04em;text-align:start;background:0 0;border:none;outline:none;flex:1;min-width:0;height:100%;font-family:inherit;font-size:.9375rem}.phone-field__input[data-v-ac1bf031]::placeholder{color:#b0aaa3}.phone-field__error[data-v-ac1bf031]{color:var(--color-danger);margin:8px 4px 0;font-size:.75rem;line-height:1.5}.login-submit[data-v-ac1bf031]{color:#f7f4ef;cursor:pointer;background:#0a353c;border:none;border-radius:999px;justify-content:center;align-items:center;width:100%;height:48px;margin-top:12px;padding:0 44px;font-family:inherit;font-size:.9375rem;font-weight:600;transition:background .15s;display:flex;position:relative}.login-submit[data-v-ac1bf031]:not(:disabled):hover,.login-submit[data-v-ac1bf031]:not(:disabled):focus-visible{background:#072a2f}.login-submit[data-v-ac1bf031]:focus-visible{outline-offset:2px;outline:2px solid #c9a56a}.login-submit[data-v-ac1bf031]:disabled{opacity:.7;cursor:not-allowed}.login-submit__chevron[data-v-ac1bf031]{place-items:center;display:grid;position:absolute;inset-inline-end:16px}.login-submit__spinner[data-v-ac1bf031]{border:2px solid #ffffff47;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite login-spin-ac1bf031;position:absolute;inset-inline-start:16px}.login-register[data-v-ac1bf031]{text-align:center;color:#8a847c;margin:12px 0 0;font-size:.8125rem;line-height:1.6}.login-register a[data-v-ac1bf031]{color:var(--color-primary);font-weight:700;text-decoration:none}.login-or[data-v-ac1bf031]{color:#9a9590;align-items:center;gap:12px;margin:16px 4px 14px;font-size:.75rem;display:flex}.login-or[data-v-ac1bf031]:before,.login-or[data-v-ac1bf031]:after{content:"";background:#e6e1db;flex:1;height:1px}.login-help[data-v-ac1bf031]{justify-content:center;gap:48px;display:flex}.login-help__item[data-v-ac1bf031]{color:#6f6b66;flex-direction:column;align-items:center;gap:8px;font-size:.75rem;text-decoration:none;display:flex}.login-help__item.is-disabled[data-v-ac1bf031]{pointer-events:none}.login-help__icon[data-v-ac1bf031]{background:0 0;border:1px solid #d8d3cd;border-radius:50%;place-items:center;width:52px;height:52px;display:grid}.login-card__foot[data-v-ac1bf031]{text-align:center;color:#8a847c;margin:18px 0 2px;font-size:.75rem;line-height:1.7}.login-spacer[data-v-ac1bf031]{flex:auto;min-height:16px}.login-watermark[data-v-ac1bf031]{color:#f4ede494;letter-spacing:.2em;text-align:left;direction:ltr;margin:0;padding-bottom:8px;font-size:.625rem;font-weight:600;line-height:1.35}@keyframes login-spin-ac1bf031{to{transform:rotate(360deg)}}@media (width<=359px){.login-page__stage[data-v-ac1bf031]{padding-inline:12px}.login-brand[data-v-ac1bf031]{margin-top:16px;margin-bottom:14px}.login-brand__fa[data-v-ac1bf031]{font-size:1.5rem}.login-help[data-v-ac1bf031]{gap:36px}}@media (width>=768px){.login-page[data-v-ac1bf031]{max-width:none;height:100%;min-height:0;margin:0;padding:0;overflow:hidden}} diff --git a/dist/assets/MeetingReportView-CB4EvIFN.js b/dist/assets/MeetingReportView-DQIFxjMR.js similarity index 98% rename from dist/assets/MeetingReportView-CB4EvIFN.js rename to dist/assets/MeetingReportView-DQIFxjMR.js index 7ffb6de..fa3ddea 100644 --- a/dist/assets/MeetingReportView-CB4EvIFN.js +++ b/dist/assets/MeetingReportView-DQIFxjMR.js @@ -1 +1 @@ -import{A as e,C as t,D as n,J as r,K as i,L as a,M as o,N as s,R as c,St as l,Tt as u,X as ee,_ as te,g as ne,j as d,k as re,n as f,nt as ie,pt as p,rt as m,wt as h,xt as g}from"./BasicIcon-B6lR-mG3.js";import{t as _}from"./IconCheckCircleOutline-t6E4YUKp.js";import{t as ae}from"./IconPhone-Glpo76KE.js";import{t as oe}from"./IconEditPen-CppsBLM9.js";import{t as se}from"./IconClipboardEmpty-D2QGqogo.js";import{t as ce}from"./PageSkeleton-BImjuI6S.js";import{t as le}from"./crm-DbcoqKAF.js";import{t as ue}from"./PageHeader-Cza56lK4.js";import{t as de}from"./IconMail-BWRmFd4j.js";var fe={class:`page meeting-page`},pe=[`disabled`],me={class:`page__scroll meeting-scroll`},he={key:1,class:`form-error`},v={key:2,class:`customer-card`},y={dir:`ltr`},b={class:`type-grid`},x=[`onClick`],S={class:`two-cols`},C={class:`field`},w={class:`field`},T={class:`field`},E={class:`field`},D={class:`reminder-box`},O={class:`reminder-box__head`},k=[`aria-pressed`],A={class:`field`},j={class:`two-cols`},M={class:`field`},ge={class:`field`},N={class:`field`},P={class:`footer`},F=[`disabled`],I=f(c({__name:`MeetingReportView`,setup(c){let f=ne(),I=te(),L=le(),R=re(()=>String(f.query.customerId??``)),z=p(null),B=p(!0),V=p(!1),H=p(null),U=p(`in_person`),W=p(``),G=p(``),K=p(``),q=p(``),J=p(!0),Y=p(``),X=p(``),Z=p(``),Q=p(``),_e=[{id:`in_person`,label:`ملاقات حضوری`,icon:`clipboard`},{id:`call`,label:`تماس تلفنی`,icon:`phone`},{id:`message`,label:`پیام`,icon:`mail`},{id:`note`,label:`یادداشت`,icon:`pen`}];i(async()=>{if(!R.value){B.value=!1,H.value=`مشتری مشخص نشده است.`;return}try{let e=await L.loadCustomerDetail(R.value);z.value=e.customer}catch(e){H.value=e instanceof Error?e.message:`بارگذاری مشتری ناموفق بود.`}finally{B.value=!1}});async function $(){if(!R.value||!K.value.trim()||!W.value.trim()){H.value=`موضوع و تاریخ الزامی است.`;return}V.value=!0,H.value=null;try{await L.submitMeeting({customerId:R.value,type:U.value,title:K.value.trim(),subject:K.value.trim(),content:q.value.trim()||void 0,description:q.value.trim()||void 0,date:W.value.trim(),time:G.value.trim()||void 0,createReminder:J.value,reminderTitle:J.value?Y.value.trim()||K.value.trim():void 0,reminderDate:J.value?X.value.trim()||W.value.trim():void 0,reminderTime:J.value?Z.value.trim()||G.value.trim()||`10:00`:void 0,reminderNote:J.value&&Q.value.trim()||void 0}),I.push({path:`/customer`,query:{id:R.value,tab:`reports`}})}catch(e){H.value=e instanceof Error?e.message:`ثبت گزارش ناموفق بود.`}finally{V.value=!1}}return(i,c)=>(r(),s(`div`,fe,[a(ue,{title:`ثبت گزارش ملاقات`,"show-back":``,centered:``,onBack:c[0]||=e=>g(I).back()},{trailing:ie(()=>[e(`button`,{type:`button`,class:`submit-icon-btn`,"aria-label":`ثبت گزارش`,disabled:V.value,onClick:$},[a(_,{size:22})],8,pe)]),_:1}),e(`div`,me,[B.value?(r(),d(ce,{key:0,variant:`form`})):H.value?(r(),s(`p`,he,u(H.value),1)):o(``,!0),z.value?(r(),s(`section`,v,[e(`div`,{class:`avatar`,style:h({background:z.value.avatarColor})},u(z.value.avatarLetter),5),e(`div`,null,[e(`strong`,null,u(z.value.name),1),e(`p`,null,u(z.value.contactName),1),e(`p`,y,u(z.value.phone),1)])])):o(``,!0),e(`section`,null,[c[10]||=e(`h3`,null,`نوع تعامل`,-1),e(`div`,b,[(r(),s(n,null,ee(_e,t=>e(`button`,{key:t.id,type:`button`,class:l([`type-btn`,{"type-btn--active":U.value===t.id}]),onClick:e=>U.value=t.id},[t.icon===`clipboard`?(r(),d(se,{key:0,size:22})):t.icon===`phone`?(r(),d(ae,{key:1,size:22})):t.icon===`mail`?(r(),d(de,{key:2,size:22})):(r(),d(oe,{key:3,size:22})),e(`span`,null,u(t.label),1)],10,x)),64))])]),e(`section`,null,[c[13]||=e(`h3`,null,`تاریخ و زمان`,-1),e(`div`,S,[e(`label`,C,[c[11]||=e(`span`,null,`تاریخ`,-1),m(e(`input`,{"onUpdate:modelValue":c[1]||=e=>W.value=e,type:`text`},null,512),[[t,W.value]])]),e(`label`,w,[c[12]||=e(`span`,null,`ساعت`,-1),m(e(`input`,{"onUpdate:modelValue":c[2]||=e=>G.value=e,type:`text`},null,512),[[t,G.value]])])])]),e(`label`,T,[c[14]||=e(`span`,null,`موضوع گزارش`,-1),m(e(`input`,{"onUpdate:modelValue":c[3]||=e=>K.value=e,type:`text`},null,512),[[t,K.value]])]),e(`label`,E,[c[15]||=e(`span`,null,`محتوای گزارش`,-1),m(e(`textarea`,{"onUpdate:modelValue":c[4]||=e=>q.value=e,rows:`5`,maxlength:`1000`},null,512),[[t,q.value]]),e(`em`,null,u(q.value.length.toLocaleString(`fa-IR`))+`/۱۰۰۰`,1)]),c[22]||=e(`section`,null,[e(`h3`,null,`تصاویر و فایل‌ها`),e(`div`,{class:`files`},[e(`div`,{class:`file-thumb`}),e(`div`,{class:`file-thumb`}),e(`button`,{type:`button`,class:`file-add`,"aria-label":`افزودن فایل`},`+`)])],-1),e(`section`,D,[e(`div`,O,[c[17]||=e(`h3`,null,`یادآور`,-1),e(`button`,{type:`button`,class:l([`toggle`,{"toggle--on":J.value}]),"aria-pressed":J.value,onClick:c[5]||=e=>J.value=!J.value},[...c[16]||=[e(`span`,null,null,-1)]],10,k)]),J.value?(r(),s(n,{key:0},[e(`label`,A,[c[18]||=e(`span`,null,`عنوان یادآور`,-1),m(e(`input`,{"onUpdate:modelValue":c[6]||=e=>Y.value=e,type:`text`},null,512),[[t,Y.value]])]),e(`div`,j,[e(`label`,M,[c[19]||=e(`span`,null,`تاریخ یادآور`,-1),m(e(`input`,{"onUpdate:modelValue":c[7]||=e=>X.value=e,type:`text`},null,512),[[t,X.value]])]),e(`label`,ge,[c[20]||=e(`span`,null,`ساعت یادآور`,-1),m(e(`input`,{"onUpdate:modelValue":c[8]||=e=>Z.value=e,type:`text`},null,512),[[t,Z.value]])])]),e(`label`,N,[c[21]||=e(`span`,null,`یادداشت یادآور (اختیاری)`,-1),m(e(`input`,{"onUpdate:modelValue":c[9]||=e=>Q.value=e,type:`text`},null,512),[[t,Q.value]])])],64)):o(``,!0)])]),e(`footer`,P,[e(`button`,{type:`button`,class:`submit`,disabled:V.value,onClick:$},u(V.value?`در حال ثبت...`:`ثبت گزارش و یادآور`),9,F)])]))}}),[[`__scopeId`,`data-v-2708a25b`]]);export{I as default}; \ No newline at end of file +import{A as e,C as t,D as n,J as r,K as i,L as a,M as o,N as s,R as c,St as l,Tt as u,X as ee,_ as te,g as ne,j as d,k as re,n as f,nt as ie,pt as p,rt as m,wt as h,xt as g}from"./BasicIcon-B6lR-mG3.js";import{t as _}from"./IconCheckCircleOutline-t6E4YUKp.js";import{t as ae}from"./IconPhone-Glpo76KE.js";import{t as oe}from"./IconEditPen-CppsBLM9.js";import{t as se}from"./IconClipboardEmpty-D2QGqogo.js";import{t as ce}from"./PageSkeleton-BImjuI6S.js";import{t as le}from"./crm-DbcoqKAF.js";import{t as ue}from"./PageHeader-DXkA75qK.js";import{t as de}from"./IconMail-BWRmFd4j.js";var fe={class:`page meeting-page`},pe=[`disabled`],me={class:`page__scroll meeting-scroll`},he={key:1,class:`form-error`},v={key:2,class:`customer-card`},y={dir:`ltr`},b={class:`type-grid`},x=[`onClick`],S={class:`two-cols`},C={class:`field`},w={class:`field`},T={class:`field`},E={class:`field`},D={class:`reminder-box`},O={class:`reminder-box__head`},k=[`aria-pressed`],A={class:`field`},j={class:`two-cols`},M={class:`field`},ge={class:`field`},N={class:`field`},P={class:`footer`},F=[`disabled`],I=f(c({__name:`MeetingReportView`,setup(c){let f=ne(),I=te(),L=le(),R=re(()=>String(f.query.customerId??``)),z=p(null),B=p(!0),V=p(!1),H=p(null),U=p(`in_person`),W=p(``),G=p(``),K=p(``),q=p(``),J=p(!0),Y=p(``),X=p(``),Z=p(``),Q=p(``),_e=[{id:`in_person`,label:`ملاقات حضوری`,icon:`clipboard`},{id:`call`,label:`تماس تلفنی`,icon:`phone`},{id:`message`,label:`پیام`,icon:`mail`},{id:`note`,label:`یادداشت`,icon:`pen`}];i(async()=>{if(!R.value){B.value=!1,H.value=`مشتری مشخص نشده است.`;return}try{let e=await L.loadCustomerDetail(R.value);z.value=e.customer}catch(e){H.value=e instanceof Error?e.message:`بارگذاری مشتری ناموفق بود.`}finally{B.value=!1}});async function $(){if(!R.value||!K.value.trim()||!W.value.trim()){H.value=`موضوع و تاریخ الزامی است.`;return}V.value=!0,H.value=null;try{await L.submitMeeting({customerId:R.value,type:U.value,title:K.value.trim(),subject:K.value.trim(),content:q.value.trim()||void 0,description:q.value.trim()||void 0,date:W.value.trim(),time:G.value.trim()||void 0,createReminder:J.value,reminderTitle:J.value?Y.value.trim()||K.value.trim():void 0,reminderDate:J.value?X.value.trim()||W.value.trim():void 0,reminderTime:J.value?Z.value.trim()||G.value.trim()||`10:00`:void 0,reminderNote:J.value&&Q.value.trim()||void 0}),I.push({path:`/customer`,query:{id:R.value,tab:`reports`}})}catch(e){H.value=e instanceof Error?e.message:`ثبت گزارش ناموفق بود.`}finally{V.value=!1}}return(i,c)=>(r(),s(`div`,fe,[a(ue,{title:`ثبت گزارش ملاقات`,"show-back":``,centered:``,onBack:c[0]||=e=>g(I).back()},{trailing:ie(()=>[e(`button`,{type:`button`,class:`submit-icon-btn`,"aria-label":`ثبت گزارش`,disabled:V.value,onClick:$},[a(_,{size:22})],8,pe)]),_:1}),e(`div`,me,[B.value?(r(),d(ce,{key:0,variant:`form`})):H.value?(r(),s(`p`,he,u(H.value),1)):o(``,!0),z.value?(r(),s(`section`,v,[e(`div`,{class:`avatar`,style:h({background:z.value.avatarColor})},u(z.value.avatarLetter),5),e(`div`,null,[e(`strong`,null,u(z.value.name),1),e(`p`,null,u(z.value.contactName),1),e(`p`,y,u(z.value.phone),1)])])):o(``,!0),e(`section`,null,[c[10]||=e(`h3`,null,`نوع تعامل`,-1),e(`div`,b,[(r(),s(n,null,ee(_e,t=>e(`button`,{key:t.id,type:`button`,class:l([`type-btn`,{"type-btn--active":U.value===t.id}]),onClick:e=>U.value=t.id},[t.icon===`clipboard`?(r(),d(se,{key:0,size:22})):t.icon===`phone`?(r(),d(ae,{key:1,size:22})):t.icon===`mail`?(r(),d(de,{key:2,size:22})):(r(),d(oe,{key:3,size:22})),e(`span`,null,u(t.label),1)],10,x)),64))])]),e(`section`,null,[c[13]||=e(`h3`,null,`تاریخ و زمان`,-1),e(`div`,S,[e(`label`,C,[c[11]||=e(`span`,null,`تاریخ`,-1),m(e(`input`,{"onUpdate:modelValue":c[1]||=e=>W.value=e,type:`text`},null,512),[[t,W.value]])]),e(`label`,w,[c[12]||=e(`span`,null,`ساعت`,-1),m(e(`input`,{"onUpdate:modelValue":c[2]||=e=>G.value=e,type:`text`},null,512),[[t,G.value]])])])]),e(`label`,T,[c[14]||=e(`span`,null,`موضوع گزارش`,-1),m(e(`input`,{"onUpdate:modelValue":c[3]||=e=>K.value=e,type:`text`},null,512),[[t,K.value]])]),e(`label`,E,[c[15]||=e(`span`,null,`محتوای گزارش`,-1),m(e(`textarea`,{"onUpdate:modelValue":c[4]||=e=>q.value=e,rows:`5`,maxlength:`1000`},null,512),[[t,q.value]]),e(`em`,null,u(q.value.length.toLocaleString(`fa-IR`))+`/۱۰۰۰`,1)]),c[22]||=e(`section`,null,[e(`h3`,null,`تصاویر و فایل‌ها`),e(`div`,{class:`files`},[e(`div`,{class:`file-thumb`}),e(`div`,{class:`file-thumb`}),e(`button`,{type:`button`,class:`file-add`,"aria-label":`افزودن فایل`},`+`)])],-1),e(`section`,D,[e(`div`,O,[c[17]||=e(`h3`,null,`یادآور`,-1),e(`button`,{type:`button`,class:l([`toggle`,{"toggle--on":J.value}]),"aria-pressed":J.value,onClick:c[5]||=e=>J.value=!J.value},[...c[16]||=[e(`span`,null,null,-1)]],10,k)]),J.value?(r(),s(n,{key:0},[e(`label`,A,[c[18]||=e(`span`,null,`عنوان یادآور`,-1),m(e(`input`,{"onUpdate:modelValue":c[6]||=e=>Y.value=e,type:`text`},null,512),[[t,Y.value]])]),e(`div`,j,[e(`label`,M,[c[19]||=e(`span`,null,`تاریخ یادآور`,-1),m(e(`input`,{"onUpdate:modelValue":c[7]||=e=>X.value=e,type:`text`},null,512),[[t,X.value]])]),e(`label`,ge,[c[20]||=e(`span`,null,`ساعت یادآور`,-1),m(e(`input`,{"onUpdate:modelValue":c[8]||=e=>Z.value=e,type:`text`},null,512),[[t,Z.value]])])]),e(`label`,N,[c[21]||=e(`span`,null,`یادداشت یادآور (اختیاری)`,-1),m(e(`input`,{"onUpdate:modelValue":c[9]||=e=>Q.value=e,type:`text`},null,512),[[t,Q.value]])])],64)):o(``,!0)])]),e(`footer`,P,[e(`button`,{type:`button`,class:`submit`,disabled:V.value,onClick:$},u(V.value?`در حال ثبت...`:`ثبت گزارش و یادآور`),9,F)])]))}}),[[`__scopeId`,`data-v-2708a25b`]]);export{I as default}; \ No newline at end of file diff --git a/dist/assets/OrderDetailView-Biz1tIg3.js b/dist/assets/OrderDetailView-Cak53OtA.js similarity index 99% rename from dist/assets/OrderDetailView-Biz1tIg3.js rename to dist/assets/OrderDetailView-Cak53OtA.js index c2e6a9c..9a24890 100644 --- a/dist/assets/OrderDetailView-Biz1tIg3.js +++ b/dist/assets/OrderDetailView-Cak53OtA.js @@ -1 +1 @@ -import{A as e,D as t,E as n,I as r,J as i,L as a,M as o,N as s,O as c,R as l,S as u,St as d,Tt as f,X as p,_ as m,et as h,g as ee,j as g,k as _,n as v,nt as y,pt as b,rt as x,t as S,w as te,xt as C}from"./BasicIcon-B6lR-mG3.js";import{n as ne}from"./dist-DwqEDRqq.js";import{a as w,i as T,l as re,n as E,o as ie,r as ae,u as D}from"./format-BHJptHdF.js";import{n as oe,t as se}from"./validation-BD7oi-2I.js";import{g as ce,n as O,o as le,v as ue}from"./index-DHK6R1xK.js";import{n as de}from"./constants-DXXK14Zz.js";import{t as k}from"./IconChevronBack-BXRfc2bX.js";import{t as fe}from"./FormErrorBanner-8PcsTbdO.js";import{n as A,r as j,t as pe}from"./formErrors-DglFjYkZ.js";import{n as me,t as M}from"./orderInvoice-B0L1Aeuk.js";import{t as he}from"./BaseInput-9HB-GJGt.js";import{n as ge,t as _e}from"./PersianDateInput-BkC8ZzrV.js";var N={submitted:0,awaiting_review:1,pricing:2,needs_correction:1,awaiting_settlement:3,awaiting_settlement_fix:3,cash_in_progress:4,cash_invoice_issued:4,awaiting_cash_payment:4,cash_payment_submitted:4,check_in_progress:4,awaiting_cash_confirmation:5,awaiting_check_review:5,check_needs_fix:5,check_rejected:5,checks_approved:6,cash_confirmed:6,final_approved:7,preparing:8,ready_to_ship:9,shipped:10,delivered:11,expired:3,cancelled:0,rejected:1},P={submitted:{variant:`waiting`,title:`پیش‌سفارش ثبت شد`,description:`سفارش شما برای بررسی و قیمت‌گذاری به مدیریت ارسال شد. پس از صدور فاکتور می‌توانید روش تسویه (نقد یا چک) را انتخاب کنید.`},awaiting_review:{variant:`waiting`,title:`در انتظار بررسی مدیریت`,description:`پیش‌سفارش شما در صف بررسی است. پس از قیمت‌گذاری و صدور فاکتور، از طریق همین صفحه برای انتخاب تسویه مطلع می‌شوید.`},pricing:{variant:`waiting`,title:`در حال قیمت‌گذاری`,description:`مدیریت در حال تعیین مبلغ نهایی فاکتور است. تا قبل از صدور فاکتور امکان ثبت چک یا پرداخت وجود ندارد.`},awaiting_settlement:{variant:`info`,title:`فاکتور آماده است`,description:`مبلغ فاکتور مشخص شده. لطفاً روش تسویه را انتخاب کنید و مسیر پرداخت را ادامه دهید.`},awaiting_settlement_fix:{variant:`info`,title:`نیاز به اصلاح تسویه`,description:`لطفاً روش تسویه یا اطلاعات پرداخت را اصلاح کنید.`},cash_invoice_issued:{variant:`info`,title:`فاکتور نقدی صادر شد`,description:`مبلغ را به حساب‌های اعلام‌شده واریز و رسید پرداخت را ثبت کنید.`},awaiting_cash_payment:{variant:`info`,title:`در انتظار پرداخت نقدی`,description:`لطفاً مبلغ فاکتور را واریز و رسید پرداخت را ثبت کنید.`},cash_payment_submitted:{variant:`waiting`,title:`رسید ثبت شد`,description:`رسید پرداخت شما دریافت شد و در صف بررسی مدیریت است.`},awaiting_cash_confirmation:{variant:`waiting`,title:`در انتظار تأیید پرداخت`,description:`رسید پرداخت در حال بررسی است. نتیجه به‌زودی اعلام می‌شود.`},awaiting_check_review:{variant:`waiting`,title:`در حال بررسی چک‌ها`,description:`چک‌های ثبت‌شده در حال بررسی هستند. نتیجه بررسی به‌زودی اعلام می‌شود.`},checks_approved:{variant:`success`,title:`چک‌ها تأیید شده`,description:`چک‌های شما تأیید شد. سفارش در انتظار تأیید نهایی مدیریت است و پس از آن وارد آماده‌سازی می‌شود.`},cash_confirmed:{variant:`success`,title:`پرداخت تأیید شد`,description:`رسید پرداخت شما تأیید شد و سفارش وارد مراحل بعدی می‌شود.`},final_approved:{variant:`success`,title:`تأیید نهایی`,description:`سفارش شما تأیید نهایی شد و آماده آماده‌سازی است.`},preparing:{variant:`info`,title:`در حال آماده‌سازی`,description:`سفارش شما در انبار در حال آماده‌سازی است.`},ready_to_ship:{variant:`info`,title:`آماده ارسال`,description:`سفارش آماده ارسال است و به‌زودی تحویل باربری می‌شود.`},shipped:{variant:`info`,title:`ارسال شده`,description:`سفارش ارسال شده است. جزئیات بارنامه را می‌توانید مشاهده کنید.`},delivered:{variant:`success`,title:`تحویل شده`,description:`سفارش با موفقیت تحویل داده شد.`},expired:{variant:`waiting`,title:`فاکتور منقضی شده`,description:`مهلت پرداخت این فاکتور به پایان رسیده است. برای ادامه با پشتیبانی یا مدیریت هماهنگ کنید.`}};function F(e){return e===`cash`?{payment:`ثبت رسید پرداخت`,review:`بررسی پرداخت نقدی`,approved:`پرداخت تأیید شده`}:e===`check`?{payment:`ثبت چک`,review:`در حال بررسی چک‌ها`,approved:`چک‌ها تأیید شده`}:{payment:`ثبت پرداخت / چک`,review:`بررسی پرداخت / چک`,approved:`تأیید پرداخت`}}function I(e){let t=F(e.settlementType);return de.map(e=>e.status===`check_in_progress`?{...e,label:t.payment}:e.status===`awaiting_check_review`?{...e,label:t.review}:e.status===`checks_approved`?{...e,label:t.approved}:e)}function L(e){return N[e]??0}function ve(e){return P[e]??null}var R={awaiting_settlement:[`awaiting_settlement`,`awaiting_settlement_fix`],check_in_progress:[`check_in_progress`,`cash_in_progress`,`cash_invoice_issued`,`awaiting_cash_payment`,`cash_payment_submitted`],awaiting_check_review:[`awaiting_check_review`,`awaiting_cash_confirmation`,`check_needs_fix`,`check_rejected`],checks_approved:[`checks_approved`,`cash_confirmed`],pricing:[`pricing`]};function z(e,t){if(t===`submitted`)return e.createdAt;let n=R[t]??[t];return[...e.statusHistory].reverse().find(e=>n.includes(e.toStatus))?.changedAt??null}function ye(e){return e===`shipped`?`مشاهده جزئیات و بارنامه`:[`checks_approved`,`cash_confirmed`,`delivered`,`final_approved`].includes(e)?`مشاهده جزئیات`:`مشاهده جزئیات سفارش`}var B={class:`tracking-timeline`},V={class:`tracking-timeline__marker-wrap`},H={class:`tracking-timeline__marker`},U={key:0,class:`tracking-timeline__check`},W={class:`tracking-timeline__label`},G={key:0,class:`tracking-timeline__time`},be=v(l({__name:`OrderTrackingTimeline`,props:{order:{}},setup(n){let r=n,a=_(()=>I(r.order)),c=_(()=>L(r.order.status));function l(e){return e(i(),s(`div`,B,[(i(!0),s(t,null,p(a.value,(t,n)=>(i(),s(`div`,{key:t.status,class:d([`tracking-timeline__item`,`tracking-timeline__item--${l(n)}`])},[e(`div`,V,[r[0]||=e(`div`,{class:`tracking-timeline__line`,"aria-hidden":`true`},null,-1),e(`div`,H,[l(n)===`done`?(i(),s(`span`,U,`✓`)):o(``,!0)])]),e(`div`,{class:d([`tracking-timeline__content`,{"tracking-timeline__content--current":l(n)===`current`}])},[e(`strong`,W,f(t.label),1),u(t.status)?(i(),s(`span`,G,f(u(t.status)),1)):o(``,!0)],2)],2))),128))]))}}),[[`__scopeId`,`data-v-603b6d66`]]),K={class:`status-hero__icon`,"aria-hidden":`true`},q={class:`status-hero__copy`},J={class:`status-hero__title`},xe={key:0,class:`status-hero__desc`},Se=v(l({__name:`OrderStatusHero`,props:{config:{}},setup(t){let n={waiting:`vuesax-linear:timer-1`,success:`vuesax-linear:tick-circle`,info:`vuesax-linear:info-circle`,none:`vuesax-linear:info-circle`};return(r,c)=>t.config.variant===`none`?o(``,!0):(i(),s(`div`,{key:0,class:d([`status-hero`,`status-hero--${t.config.variant}`])},[e(`div`,K,[a(S,{icon:n[t.config.variant],size:28,"stroke-width":1.5},null,8,[`icon`])]),e(`div`,q,[e(`h2`,J,f(t.config.title),1),t.config.description?(i(),s(`p`,xe,f(t.config.description),1)):o(``,!0)])],2))}}),[[`__scopeId`,`data-v-896684d9`]]),Ce={class:`tracking-summary`},Y={class:`tracking-summary__row`},X={class:`tracking-summary__row`},Z={class:`tracking-summary__row`},Q={class:`tracking-summary__row`},we={key:0,class:`tracking-summary__row`},Te={key:1,class:`tracking-summary__row`},Ee=v(l({__name:`OrderTrackingSummary`,props:{order:{}},setup(n){let r=n,a=_(()=>r.order.checks?.reduce((e,t)=>e+t.amount,0)??0);function c(e){return e?e===`cash`?`تسویه نقدی`:`تسویه چکی`:`در انتظار انتخاب مشتری`}return(r,l)=>(i(),s(`div`,Ce,[e(`div`,Y,[l[0]||=e(`span`,null,`مبلغ فاکتور`,-1),e(`strong`,null,f(n.order.finalAmount?C(ie)(n.order.finalAmount):`در انتظار قیمت‌گذاری`),1)]),e(`div`,X,[l[1]||=e(`span`,null,`نوع تسویه`,-1),e(`strong`,null,f(c(n.order.settlementType)),1)]),n.order.settlementType===`check`&&n.order.checks?.length?(i(),s(t,{key:0},[e(`div`,Z,[l[2]||=e(`span`,null,`تعداد چک‌ها`,-1),e(`strong`,null,f(C(D)(String(n.order.checks.length)))+` فقره`,1)]),e(`div`,Q,[l[3]||=e(`span`,null,`مجموع مبلغ چک‌ها`,-1),e(`strong`,null,f(C(E)(a.value)),1)]),n.order.checkRassDays==null?o(``,!0):(i(),s(`div`,we,[l[4]||=e(`span`,null,`رأس چک (تقریبی)`,-1),e(`strong`,null,f(C(D)(String(n.order.checkRassDays)))+` روز`,1)]))],64)):o(``,!0),n.order.settlementType===`cash`&&n.order.cashReceipt?(i(),s(`div`,Te,[l[5]||=e(`span`,null,`مبلغ واریزی`,-1),e(`strong`,null,f(C(E)(n.order.cashReceipt.amount)),1)])):o(``,!0)]))}}),[[`__scopeId`,`data-v-b22cc5d6`]]),De={key:0,class:`order-detail-page`},Oe={class:`order-detail-page__nav mobile-only`},ke={class:`order-detail-page__nav-center`},Ae={class:`order-detail-page__title`},je={key:0,class:`order-detail-page__order-id`},Me={type:`button`,class:`nav-btn nav-btn--ghost`,"aria-hidden":`true`,tabindex:`-1`},Ne={class:`desktop-page__head desktop-only order-detail-page__desktop-head`},Pe={class:`desktop-page__subtitle`},Fe={class:`order-detail-page__body`},Ie={key:0,class:`order-info-card mobile-only`},Le={class:`order-info-card__head`},Re={class:`order-info-card__number`},ze={class:`order-info-card__row`},Be={class:`order-info-card__value order-info-card__value--accent`},Ve={class:`order-info-card__row`},He={class:`order-info-card__value order-info-card__value--accent`},Ue={class:`order-info-card__row`},We={class:`order-info-card__value order-info-card__value--accent`},Ge={class:`order-info-card__row order-info-card__row--last`},Ke={class:`order-info-card__amount`},qe={key:1,class:`order-next-action`},Je={key:2,class:`order-detail-page__tracking`},Ye={class:`order-detail-page__tracking-hero`},Xe={class:`tracking-card tracking-card--hero`},Ze={class:`order-detail-page__tracking-main`},Qe={key:0,class:`order-next-action`},$e={class:`tracking-card tracking-collapse`},et=[`aria-expanded`],tt={class:`tracking-collapse__body`},nt={class:`tracking-collapse__section tracking-collapse__section--flush`},rt={class:`tracking-card tracking-collapse`},it=[`aria-expanded`],at={class:`tracking-collapse__body`},ot={class:`tracking-collapse__section`},st={class:`item-row__meta`},ct={class:`item-row item-row--summary`},lt={key:0,class:`tracking-alert`},ut={class:`tracking-collapse__section`},dt={dir:`ltr`,class:`bank-row__meta`},ft={dir:`ltr`,class:`bank-row__meta`},pt={key:2,class:`tracking-collapse__section`},mt={class:`detail-row`},ht={class:`detail-row`},gt={class:`tracking-collapse__section`},_t={class:`rass-display`},vt={key:0,class:`rass-date`},yt={class:`detail-row`},bt={class:`detail-row`},xt=[`src`],St={key:0,class:`order-detail-page__footer mobile-only`},Ct={class:`receipt-modal card`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`receipt-modal-title`},wt={class:`receipt-modal__header`},Tt={class:`receipt-modal__body`},Et={class:`form-group`},Dt=[`value`],Ot={key:0,class:`input-error-text`},kt={class:`form-group`},At=[`src`],jt={key:1,class:`upload-box__placeholder`},Mt={key:0,class:`input-error-text`},Nt={key:1,class:`page empty-state`},$=v(l({__name:`OrderDetailView`,setup(l){let v=ee(),S=m(),D=ce(),de=ne(`(min-width: 768px)`),N=_(()=>v.params.id),P=_(()=>D.getOrderById(N.value)),F=b(v.query.track===`1`||v.query.receipt===`1`),I=b(!1),L=b(!0),R=b(v.query.receipt===`1`),z=b(``),B=b(``),V=b(``),H=b(``),U=b(``),W=b(``),G=b({}),K=b(``);h([P,()=>v.query.receipt],([e])=>{let t=v.query.receipt===`1`;if(t&&M(e)){I.value=!0,R.value=!0;return}if(t&&e&&!M(e)){I.value=!1;let{receipt:e,...t}=v.query;S.replace({query:{...t,track:`1`}})}},{immediate:!0}),h(de,e=>{e&&(F.value=!0,L.value=!0,R.value=!0,v.query.track!==`1`&&v.query.receipt!==`1`&&S.replace({query:{...v.query,track:`1`}}))},{immediate:!0}),h(z,()=>{G.value=A(G.value,`receiptAmount`),j(G.value)||(K.value=``)}),h(B,()=>{G.value=A(G.value,`receiptDate`),j(G.value)||(K.value=``)}),h(H,()=>{G.value=A(G.value,`trackingNumber`),j(G.value)||(K.value=``)}),h(U,()=>{G.value=A(G.value,`destinationAccountId`),j(G.value)||(K.value=``)});let q=b([]);h(()=>P.value?.id,async e=>{if(!e||!P.value){q.value=[];return}try{q.value=await D.getBankAccountsForOrder(P.value)}catch{q.value=[]}},{immediate:!0}),h(()=>N.value,async e=>{if(e&&!D.getOrderById(e))try{await D.fetchOrder(e)}catch{}},{immediate:!0});let J=_(()=>P.value?ve(P.value.status):null),xe=_(()=>P.value?ye(P.value.status):`مشاهده جزئیات سفارش`);function Ce(e){return e?e===`cash`?`تسویه نقدی`:`تسویه چکی`:`در انتظار انتخاب مشتری`}let Y=_(()=>{let e=P.value;if(!e)return null;let t=me(e);switch(e.status){case`awaiting_settlement`:case`awaiting_settlement_fix`:return t?{label:`انتخاب روش تسویه`,to:`/orders/${e.id}/settlement`}:null;case`check_in_progress`:return t?{label:`ثبت چک‌ها`,to:`/orders/${e.id}/check-mode`}:null;case`check_needs_fix`:case`check_rejected`:return t?{label:`اصلاح چک‌ها`,to:`/orders/${e.id}/check-list`}:null;case`awaiting_cash_payment`:case`cash_invoice_issued`:return t?{label:`ثبت رسید پرداخت`,receipt:!0}:null;default:return null}});function X(){if(!M(P.value)){K.value=`در وضعیت فعلی سفارش امکان ثبت رسید وجود ندارد`;return}F.value=!0,R.value=!0,I.value=!0}function Z(){let e=Y.value;if(e){if(e.receipt){X();return}e.to&&S.push(e.to)}}function Q(){F.value=!0,R.value=!1,S.replace({query:{track:`1`}})}function we(){R.value=!R.value}function Te(){L.value=!L.value}async function $(e){let t=e.target.files?.[0];if(!t)return;let n=oe(t);if(!n.valid){G.value={...G.value,receiptImage:n.message??`خطا`};return}G.value=A(G.value,`receiptImage`),W.value=await se(t)}async function Pt(){if(!P.value)return;if(G.value={},K.value=``,!M(P.value)){K.value=`در وضعیت فعلی سفارش امکان ثبت رسید وجود ندارد`;return}let e=re(z.value),t={};if(e||(t.receiptAmount=`مبلغ واریزی الزامی است.`),B.value||(t.receiptDate=`تاریخ واریز الزامی است.`),H.value.trim()||(t.trackingNumber=`شماره پیگیری الزامی است.`),U.value||(t.destinationAccountId=`حساب مقصد را انتخاب کنید.`),j(t)){G.value=t,K.value=pe;return}try{await D.submitCashReceipt(P.value.id,{amount:e,transferDate:B.value,transferTime:V.value||`12:00`,trackingNumber:H.value,destinationAccountId:U.value,receiptImage:W.value||void 0}),I.value=!1,G.value={},K.value=``}catch(e){K.value=e instanceof Error?e.message:`ثبت رسید ناموفق بود.`}}return(l,m)=>P.value?(i(),s(`div`,De,[e(`header`,Oe,[e(`button`,{type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:m[0]||=e=>C(S).push(`/orders`)},[a(k,{size:20})]),e(`div`,ke,[e(`h1`,Ae,f(F.value?`پیگیری سفارش`:`جزئیات سفارش`),1),F.value?(i(),s(`p`,je,f(P.value.orderNumber),1)):o(``,!0)]),e(`button`,Me,[a(k,{size:18,class:`nav-btn__flip`})])]),e(`header`,Ne,[e(`button`,{type:`button`,class:`order-detail-back`,onClick:m[1]||=e=>C(S).push(`/orders`)},[a(k,{size:18}),m[10]||=r(` بازگشت به سفارش‌ها `,-1)]),m[11]||=e(`h1`,{class:`desktop-page__title`},`پیگیری سفارش`,-1),e(`p`,Pe,f(P.value.orderNumber)+` · `+f(P.value.companyName),1)]),e(`div`,Fe,[F.value?o(``,!0):(i(),s(`div`,Ie,[e(`div`,Le,[m[12]||=e(`span`,{class:`order-info-card__label`},`شماره سفارش`,-1),e(`strong`,Re,f(P.value.orderNumber),1)]),e(`div`,ze,[m[13]||=e(`span`,{class:`order-info-card__key`},`شرکت`,-1),e(`span`,Be,f(P.value.companyName),1)]),e(`div`,Ve,[m[14]||=e(`span`,{class:`order-info-card__key`},`تاریخ ثبت`,-1),e(`span`,He,f(C(T)(P.value.createdAt)),1)]),e(`div`,Ue,[m[15]||=e(`span`,{class:`order-info-card__key`},`نوع تسویه`,-1),e(`span`,We,f(Ce(P.value.settlementType)),1)]),e(`div`,Ge,[m[16]||=e(`span`,{class:`order-info-card__key`},`مبلغ فاکتور`,-1),e(`strong`,Ke,f(P.value.finalAmount?C(ie)(P.value.finalAmount):`پس از قیمت‌گذاری مدیریت`),1)])])),Y.value&&!F.value?(i(),s(`div`,qe,[m[17]||=e(`span`,{class:`order-next-action__text`},`برای ادامه سفارش، این مرحله باقی مانده است.`,-1),a(O,{class:`order-next-action__btn`,onClick:Z},{default:y(()=>[r(f(Y.value.label),1)]),_:1})])):o(``,!0),F.value?(i(),s(`div`,Je,[e(`section`,Ye,[e(`div`,Xe,[J.value?(i(),g(Se,{key:0,config:J.value},null,8,[`config`])):o(``,!0),a(Ee,{order:P.value},null,8,[`order`])])]),e(`section`,Ze,[Y.value?(i(),s(`div`,Qe,[m[18]||=e(`span`,{class:`order-next-action__text`},`برای ادامه سفارش، این مرحله باقی مانده است.`,-1),a(O,{class:`order-next-action__btn`,onClick:Z},{default:y(()=>[r(f(Y.value.label),1)]),_:1})])):o(``,!0),e(`div`,$e,[e(`button`,{type:`button`,class:`tracking-collapse__trigger`,"aria-expanded":L.value,onClick:Te},[m[19]||=e(`span`,null,`پیگیری وضعیت`,-1),a(le,{size:18,class:d([`tracking-collapse__chevron`,{"tracking-collapse__chevron--open":L.value}]),"aria-hidden":`true`},null,8,[`class`])],8,et),x(e(`div`,tt,[e(`div`,nt,[a(be,{order:P.value},null,8,[`order`])])],512),[[te,L.value]])]),e(`div`,rt,[e(`button`,{type:`button`,class:`tracking-collapse__trigger`,"aria-expanded":R.value,onClick:we},[e(`span`,null,f(xe.value),1),a(le,{size:18,class:d([`tracking-collapse__chevron`,{"tracking-collapse__chevron--open":R.value}]),"aria-hidden":`true`},null,8,[`class`])],8,it),x(e(`div`,at,[e(`div`,ot,[m[21]||=e(`h3`,{class:`tracking-card__title`},`اقلام سفارش`,-1),(i(!0),s(t,null,p(P.value.items,t=>(i(),s(`div`,{key:t.id,class:`item-row`},[e(`div`,null,[e(`strong`,null,f(t.productName),1),e(`p`,st,`کالیته `+f(t.catalogCode)+` · `+f(t.color),1)]),e(`span`,null,f(C(w)(t.requestedMeterage)),1)]))),128)),e(`div`,ct,[m[20]||=e(`span`,null,`مجموع متراژ`,-1),e(`strong`,null,f(C(w)(P.value.totalMeterage)),1)])]),P.value.settlementType===`cash`?(i(),s(t,{key:0},[P.value.cashInvoiceExpiresAt?(i(),s(`div`,lt,` اعتبار فاکتور: `+f(C(T)(P.value.cashInvoiceExpiresAt)),1)):o(``,!0),e(`div`,ut,[m[22]||=e(`h3`,{class:`tracking-card__title`},`حساب‌های بانکی`,-1),(i(!0),s(t,null,p(q.value,t=>(i(),s(`div`,{key:t.id,class:`bank-row`},[e(`strong`,null,f(t.bankName),1),e(`p`,dt,f(t.cardNumber),1),e(`p`,ft,f(t.iban),1)]))),128))]),Y.value?.receipt?(i(),g(O,{key:1,block:``,onClick:X},{default:y(()=>[r(f(P.value.cashReceipt?`ثبت رسید جدید`:`ثبت رسید پرداخت`),1)]),_:1})):o(``,!0),P.value.cashReceipt?(i(),s(`div`,pt,[m[25]||=e(`h3`,{class:`tracking-card__title`},`رسید ثبت‌شده`,-1),e(`div`,mt,[m[23]||=e(`span`,null,`مبلغ`,-1),e(`span`,null,f(C(E)(P.value.cashReceipt.amount)),1)]),e(`div`,ht,[m[24]||=e(`span`,null,`شماره پیگیری`,-1),e(`span`,null,f(P.value.cashReceipt.trackingNumber),1)])])):o(``,!0)],64)):o(``,!0),P.value.settlementType===`check`&&P.value.checks?(i(),s(t,{key:1},[e(`div`,gt,[m[26]||=e(`h3`,{class:`tracking-card__title`},`رأس چک‌ها`,-1),e(`div`,_t,f(P.value.checkRassDays)+` روز`,1),P.value.checkRassDate?(i(),s(`p`,vt,` تاریخ رأس: `+f(C(ae)(P.value.checkRassDate)),1)):o(``,!0)]),(i(!0),s(t,null,p(P.value.checks,(t,n)=>(i(),s(`div`,{key:t.id,class:`tracking-collapse__section`},[e(`strong`,null,`چک `+f(n+1),1),e(`div`,yt,[m[27]||=e(`span`,null,`مبلغ`,-1),e(`span`,null,f(C(E)(t.amount)),1)]),e(`div`,bt,[m[28]||=e(`span`,null,`سررسید`,-1),e(`span`,null,f(C(ae)(t.dueDate))+` (`+f(C(ue)(t.dueDate))+` روز)`,1)]),t.frontImage?(i(),s(`img`,{key:0,src:t.frontImage,class:`check-img`,alt:`چک`},null,8,xt)):o(``,!0)]))),128))],64)):o(``,!0)],512),[[te,R.value]])])])])):o(``,!0)]),F.value?o(``,!0):(i(),s(`div`,St,[a(O,{block:``,onClick:Q},{default:y(()=>[...m[29]||=[r(`مشاهده جزئیات و پیگیری`,-1)]]),_:1})])),(i(),g(c,{to:`body`},[I.value?(i(),s(`div`,{key:0,class:`receipt-modal-overlay`,onClick:m[8]||=n(e=>I.value=!1,[`self`])},[e(`div`,Ct,[e(`header`,wt,[m[30]||=e(`h3`,{id:`receipt-modal-title`,class:`receipt-modal__title`},`ثبت رسید پرداخت`,-1),e(`button`,{type:`button`,class:`receipt-modal__close`,"aria-label":`بستن`,onClick:m[2]||=e=>I.value=!1},` × `)]),e(`div`,Tt,[a(fe,{message:K.value},null,8,[`message`]),a(ge,{modelValue:z.value,"onUpdate:modelValue":m[3]||=e=>z.value=e,label:`مبلغ واریزی`,error:G.value.receiptAmount},null,8,[`modelValue`,`error`]),a(_e,{modelValue:B.value,"onUpdate:modelValue":m[4]||=e=>B.value=e,label:`تاریخ واریز`,error:G.value.receiptDate},null,8,[`modelValue`,`error`]),a(he,{modelValue:V.value,"onUpdate:modelValue":m[5]||=e=>V.value=e,label:`ساعت واریز`,type:`time`},null,8,[`modelValue`]),a(he,{modelValue:H.value,"onUpdate:modelValue":m[6]||=e=>H.value=e,label:`شماره پیگیری`,inputmode:`numeric`,dir:`ltr`,error:G.value.trackingNumber},null,8,[`modelValue`,`error`]),e(`div`,Et,[m[32]||=e(`label`,{class:`form-label`},`حساب مقصد`,-1),x(e(`select`,{"onUpdate:modelValue":m[7]||=e=>U.value=e,class:d([`select-input`,{"select-input--error":G.value.destinationAccountId}])},[m[31]||=e(`option`,{value:``},`انتخاب کنید`,-1),(i(!0),s(t,null,p(q.value,e=>(i(),s(`option`,{key:e.id,value:e.id},f(e.bankName)+` - `+f(e.cardNumber),9,Dt))),128))],2),[[u,U.value]]),G.value.destinationAccountId?(i(),s(`p`,Ot,f(G.value.destinationAccountId),1)):o(``,!0)]),e(`div`,kt,[m[33]||=e(`label`,{class:`form-label`},`تصویر رسید`,-1),e(`label`,{class:d([`upload-box`,{"upload-box--error":G.value.receiptImage}])},[e(`input`,{type:`file`,accept:`image/*`,class:`upload-box__input`,onChange:$},null,32),W.value?(i(),s(`img`,{key:0,src:W.value,class:`upload-box__preview`,alt:`تصویر رسید`},null,8,At)):(i(),s(`span`,jt,`انتخاب تصویر رسید`))],2),G.value.receiptImage?(i(),s(`p`,Mt,f(G.value.receiptImage),1)):o(``,!0)]),a(O,{block:``,class:`mt-4`,onClick:Pt},{default:y(()=>[...m[34]||=[r(`ثبت رسید`,-1)]]),_:1})])])])):o(``,!0)]))])):(i(),s(`div`,Nt,[m[36]||=e(`p`,null,`سفارش یافت نشد`,-1),a(O,{onClick:m[9]||=e=>C(S).push(`/orders`)},{default:y(()=>[...m[35]||=[r(`بازگشت`,-1)]]),_:1})]))}}),[[`__scopeId`,`data-v-7d9d2f9d`]]);export{$ as default}; \ No newline at end of file +import{A as e,D as t,E as n,I as r,J as i,L as a,M as o,N as s,O as c,R as l,S as u,St as d,Tt as f,X as p,_ as m,et as h,g as ee,j as g,k as _,n as v,nt as y,pt as b,rt as x,t as S,w as te,xt as C}from"./BasicIcon-B6lR-mG3.js";import{n as ne}from"./dist-DwqEDRqq.js";import{a as w,i as T,l as re,n as E,o as ie,r as ae,u as D}from"./format-BHJptHdF.js";import{n as oe,t as se}from"./validation-BD7oi-2I.js";import{g as ce,n as O,o as le,v as ue}from"./index-B20WsQhf.js";import{n as de}from"./constants-DXXK14Zz.js";import{t as k}from"./IconChevronBack-BXRfc2bX.js";import{t as fe}from"./FormErrorBanner-8PcsTbdO.js";import{n as A,r as j,t as pe}from"./formErrors-DglFjYkZ.js";import{n as me,t as M}from"./orderInvoice-B0L1Aeuk.js";import{t as he}from"./BaseInput-9HB-GJGt.js";import{n as ge,t as _e}from"./PersianDateInput-BkC8ZzrV.js";var N={submitted:0,awaiting_review:1,pricing:2,needs_correction:1,awaiting_settlement:3,awaiting_settlement_fix:3,cash_in_progress:4,cash_invoice_issued:4,awaiting_cash_payment:4,cash_payment_submitted:4,check_in_progress:4,awaiting_cash_confirmation:5,awaiting_check_review:5,check_needs_fix:5,check_rejected:5,checks_approved:6,cash_confirmed:6,final_approved:7,preparing:8,ready_to_ship:9,shipped:10,delivered:11,expired:3,cancelled:0,rejected:1},P={submitted:{variant:`waiting`,title:`پیش‌سفارش ثبت شد`,description:`سفارش شما برای بررسی و قیمت‌گذاری به مدیریت ارسال شد. پس از صدور فاکتور می‌توانید روش تسویه (نقد یا چک) را انتخاب کنید.`},awaiting_review:{variant:`waiting`,title:`در انتظار بررسی مدیریت`,description:`پیش‌سفارش شما در صف بررسی است. پس از قیمت‌گذاری و صدور فاکتور، از طریق همین صفحه برای انتخاب تسویه مطلع می‌شوید.`},pricing:{variant:`waiting`,title:`در حال قیمت‌گذاری`,description:`مدیریت در حال تعیین مبلغ نهایی فاکتور است. تا قبل از صدور فاکتور امکان ثبت چک یا پرداخت وجود ندارد.`},awaiting_settlement:{variant:`info`,title:`فاکتور آماده است`,description:`مبلغ فاکتور مشخص شده. لطفاً روش تسویه را انتخاب کنید و مسیر پرداخت را ادامه دهید.`},awaiting_settlement_fix:{variant:`info`,title:`نیاز به اصلاح تسویه`,description:`لطفاً روش تسویه یا اطلاعات پرداخت را اصلاح کنید.`},cash_invoice_issued:{variant:`info`,title:`فاکتور نقدی صادر شد`,description:`مبلغ را به حساب‌های اعلام‌شده واریز و رسید پرداخت را ثبت کنید.`},awaiting_cash_payment:{variant:`info`,title:`در انتظار پرداخت نقدی`,description:`لطفاً مبلغ فاکتور را واریز و رسید پرداخت را ثبت کنید.`},cash_payment_submitted:{variant:`waiting`,title:`رسید ثبت شد`,description:`رسید پرداخت شما دریافت شد و در صف بررسی مدیریت است.`},awaiting_cash_confirmation:{variant:`waiting`,title:`در انتظار تأیید پرداخت`,description:`رسید پرداخت در حال بررسی است. نتیجه به‌زودی اعلام می‌شود.`},awaiting_check_review:{variant:`waiting`,title:`در حال بررسی چک‌ها`,description:`چک‌های ثبت‌شده در حال بررسی هستند. نتیجه بررسی به‌زودی اعلام می‌شود.`},checks_approved:{variant:`success`,title:`چک‌ها تأیید شده`,description:`چک‌های شما تأیید شد. سفارش در انتظار تأیید نهایی مدیریت است و پس از آن وارد آماده‌سازی می‌شود.`},cash_confirmed:{variant:`success`,title:`پرداخت تأیید شد`,description:`رسید پرداخت شما تأیید شد و سفارش وارد مراحل بعدی می‌شود.`},final_approved:{variant:`success`,title:`تأیید نهایی`,description:`سفارش شما تأیید نهایی شد و آماده آماده‌سازی است.`},preparing:{variant:`info`,title:`در حال آماده‌سازی`,description:`سفارش شما در انبار در حال آماده‌سازی است.`},ready_to_ship:{variant:`info`,title:`آماده ارسال`,description:`سفارش آماده ارسال است و به‌زودی تحویل باربری می‌شود.`},shipped:{variant:`info`,title:`ارسال شده`,description:`سفارش ارسال شده است. جزئیات بارنامه را می‌توانید مشاهده کنید.`},delivered:{variant:`success`,title:`تحویل شده`,description:`سفارش با موفقیت تحویل داده شد.`},expired:{variant:`waiting`,title:`فاکتور منقضی شده`,description:`مهلت پرداخت این فاکتور به پایان رسیده است. برای ادامه با پشتیبانی یا مدیریت هماهنگ کنید.`}};function F(e){return e===`cash`?{payment:`ثبت رسید پرداخت`,review:`بررسی پرداخت نقدی`,approved:`پرداخت تأیید شده`}:e===`check`?{payment:`ثبت چک`,review:`در حال بررسی چک‌ها`,approved:`چک‌ها تأیید شده`}:{payment:`ثبت پرداخت / چک`,review:`بررسی پرداخت / چک`,approved:`تأیید پرداخت`}}function I(e){let t=F(e.settlementType);return de.map(e=>e.status===`check_in_progress`?{...e,label:t.payment}:e.status===`awaiting_check_review`?{...e,label:t.review}:e.status===`checks_approved`?{...e,label:t.approved}:e)}function L(e){return N[e]??0}function ve(e){return P[e]??null}var R={awaiting_settlement:[`awaiting_settlement`,`awaiting_settlement_fix`],check_in_progress:[`check_in_progress`,`cash_in_progress`,`cash_invoice_issued`,`awaiting_cash_payment`,`cash_payment_submitted`],awaiting_check_review:[`awaiting_check_review`,`awaiting_cash_confirmation`,`check_needs_fix`,`check_rejected`],checks_approved:[`checks_approved`,`cash_confirmed`],pricing:[`pricing`]};function z(e,t){if(t===`submitted`)return e.createdAt;let n=R[t]??[t];return[...e.statusHistory].reverse().find(e=>n.includes(e.toStatus))?.changedAt??null}function ye(e){return e===`shipped`?`مشاهده جزئیات و بارنامه`:[`checks_approved`,`cash_confirmed`,`delivered`,`final_approved`].includes(e)?`مشاهده جزئیات`:`مشاهده جزئیات سفارش`}var B={class:`tracking-timeline`},V={class:`tracking-timeline__marker-wrap`},H={class:`tracking-timeline__marker`},U={key:0,class:`tracking-timeline__check`},W={class:`tracking-timeline__label`},G={key:0,class:`tracking-timeline__time`},be=v(l({__name:`OrderTrackingTimeline`,props:{order:{}},setup(n){let r=n,a=_(()=>I(r.order)),c=_(()=>L(r.order.status));function l(e){return e(i(),s(`div`,B,[(i(!0),s(t,null,p(a.value,(t,n)=>(i(),s(`div`,{key:t.status,class:d([`tracking-timeline__item`,`tracking-timeline__item--${l(n)}`])},[e(`div`,V,[r[0]||=e(`div`,{class:`tracking-timeline__line`,"aria-hidden":`true`},null,-1),e(`div`,H,[l(n)===`done`?(i(),s(`span`,U,`✓`)):o(``,!0)])]),e(`div`,{class:d([`tracking-timeline__content`,{"tracking-timeline__content--current":l(n)===`current`}])},[e(`strong`,W,f(t.label),1),u(t.status)?(i(),s(`span`,G,f(u(t.status)),1)):o(``,!0)],2)],2))),128))]))}}),[[`__scopeId`,`data-v-603b6d66`]]),K={class:`status-hero__icon`,"aria-hidden":`true`},q={class:`status-hero__copy`},J={class:`status-hero__title`},xe={key:0,class:`status-hero__desc`},Se=v(l({__name:`OrderStatusHero`,props:{config:{}},setup(t){let n={waiting:`vuesax-linear:timer-1`,success:`vuesax-linear:tick-circle`,info:`vuesax-linear:info-circle`,none:`vuesax-linear:info-circle`};return(r,c)=>t.config.variant===`none`?o(``,!0):(i(),s(`div`,{key:0,class:d([`status-hero`,`status-hero--${t.config.variant}`])},[e(`div`,K,[a(S,{icon:n[t.config.variant],size:28,"stroke-width":1.5},null,8,[`icon`])]),e(`div`,q,[e(`h2`,J,f(t.config.title),1),t.config.description?(i(),s(`p`,xe,f(t.config.description),1)):o(``,!0)])],2))}}),[[`__scopeId`,`data-v-896684d9`]]),Ce={class:`tracking-summary`},Y={class:`tracking-summary__row`},X={class:`tracking-summary__row`},Z={class:`tracking-summary__row`},Q={class:`tracking-summary__row`},we={key:0,class:`tracking-summary__row`},Te={key:1,class:`tracking-summary__row`},Ee=v(l({__name:`OrderTrackingSummary`,props:{order:{}},setup(n){let r=n,a=_(()=>r.order.checks?.reduce((e,t)=>e+t.amount,0)??0);function c(e){return e?e===`cash`?`تسویه نقدی`:`تسویه چکی`:`در انتظار انتخاب مشتری`}return(r,l)=>(i(),s(`div`,Ce,[e(`div`,Y,[l[0]||=e(`span`,null,`مبلغ فاکتور`,-1),e(`strong`,null,f(n.order.finalAmount?C(ie)(n.order.finalAmount):`در انتظار قیمت‌گذاری`),1)]),e(`div`,X,[l[1]||=e(`span`,null,`نوع تسویه`,-1),e(`strong`,null,f(c(n.order.settlementType)),1)]),n.order.settlementType===`check`&&n.order.checks?.length?(i(),s(t,{key:0},[e(`div`,Z,[l[2]||=e(`span`,null,`تعداد چک‌ها`,-1),e(`strong`,null,f(C(D)(String(n.order.checks.length)))+` فقره`,1)]),e(`div`,Q,[l[3]||=e(`span`,null,`مجموع مبلغ چک‌ها`,-1),e(`strong`,null,f(C(E)(a.value)),1)]),n.order.checkRassDays==null?o(``,!0):(i(),s(`div`,we,[l[4]||=e(`span`,null,`رأس چک (تقریبی)`,-1),e(`strong`,null,f(C(D)(String(n.order.checkRassDays)))+` روز`,1)]))],64)):o(``,!0),n.order.settlementType===`cash`&&n.order.cashReceipt?(i(),s(`div`,Te,[l[5]||=e(`span`,null,`مبلغ واریزی`,-1),e(`strong`,null,f(C(E)(n.order.cashReceipt.amount)),1)])):o(``,!0)]))}}),[[`__scopeId`,`data-v-b22cc5d6`]]),De={key:0,class:`order-detail-page`},Oe={class:`order-detail-page__nav mobile-only`},ke={class:`order-detail-page__nav-center`},Ae={class:`order-detail-page__title`},je={key:0,class:`order-detail-page__order-id`},Me={type:`button`,class:`nav-btn nav-btn--ghost`,"aria-hidden":`true`,tabindex:`-1`},Ne={class:`desktop-page__head desktop-only order-detail-page__desktop-head`},Pe={class:`desktop-page__subtitle`},Fe={class:`order-detail-page__body`},Ie={key:0,class:`order-info-card mobile-only`},Le={class:`order-info-card__head`},Re={class:`order-info-card__number`},ze={class:`order-info-card__row`},Be={class:`order-info-card__value order-info-card__value--accent`},Ve={class:`order-info-card__row`},He={class:`order-info-card__value order-info-card__value--accent`},Ue={class:`order-info-card__row`},We={class:`order-info-card__value order-info-card__value--accent`},Ge={class:`order-info-card__row order-info-card__row--last`},Ke={class:`order-info-card__amount`},qe={key:1,class:`order-next-action`},Je={key:2,class:`order-detail-page__tracking`},Ye={class:`order-detail-page__tracking-hero`},Xe={class:`tracking-card tracking-card--hero`},Ze={class:`order-detail-page__tracking-main`},Qe={key:0,class:`order-next-action`},$e={class:`tracking-card tracking-collapse`},et=[`aria-expanded`],tt={class:`tracking-collapse__body`},nt={class:`tracking-collapse__section tracking-collapse__section--flush`},rt={class:`tracking-card tracking-collapse`},it=[`aria-expanded`],at={class:`tracking-collapse__body`},ot={class:`tracking-collapse__section`},st={class:`item-row__meta`},ct={class:`item-row item-row--summary`},lt={key:0,class:`tracking-alert`},ut={class:`tracking-collapse__section`},dt={dir:`ltr`,class:`bank-row__meta`},ft={dir:`ltr`,class:`bank-row__meta`},pt={key:2,class:`tracking-collapse__section`},mt={class:`detail-row`},ht={class:`detail-row`},gt={class:`tracking-collapse__section`},_t={class:`rass-display`},vt={key:0,class:`rass-date`},yt={class:`detail-row`},bt={class:`detail-row`},xt=[`src`],St={key:0,class:`order-detail-page__footer mobile-only`},Ct={class:`receipt-modal card`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`receipt-modal-title`},wt={class:`receipt-modal__header`},Tt={class:`receipt-modal__body`},Et={class:`form-group`},Dt=[`value`],Ot={key:0,class:`input-error-text`},kt={class:`form-group`},At=[`src`],jt={key:1,class:`upload-box__placeholder`},Mt={key:0,class:`input-error-text`},Nt={key:1,class:`page empty-state`},$=v(l({__name:`OrderDetailView`,setup(l){let v=ee(),S=m(),D=ce(),de=ne(`(min-width: 768px)`),N=_(()=>v.params.id),P=_(()=>D.getOrderById(N.value)),F=b(v.query.track===`1`||v.query.receipt===`1`),I=b(!1),L=b(!0),R=b(v.query.receipt===`1`),z=b(``),B=b(``),V=b(``),H=b(``),U=b(``),W=b(``),G=b({}),K=b(``);h([P,()=>v.query.receipt],([e])=>{let t=v.query.receipt===`1`;if(t&&M(e)){I.value=!0,R.value=!0;return}if(t&&e&&!M(e)){I.value=!1;let{receipt:e,...t}=v.query;S.replace({query:{...t,track:`1`}})}},{immediate:!0}),h(de,e=>{e&&(F.value=!0,L.value=!0,R.value=!0,v.query.track!==`1`&&v.query.receipt!==`1`&&S.replace({query:{...v.query,track:`1`}}))},{immediate:!0}),h(z,()=>{G.value=A(G.value,`receiptAmount`),j(G.value)||(K.value=``)}),h(B,()=>{G.value=A(G.value,`receiptDate`),j(G.value)||(K.value=``)}),h(H,()=>{G.value=A(G.value,`trackingNumber`),j(G.value)||(K.value=``)}),h(U,()=>{G.value=A(G.value,`destinationAccountId`),j(G.value)||(K.value=``)});let q=b([]);h(()=>P.value?.id,async e=>{if(!e||!P.value){q.value=[];return}try{q.value=await D.getBankAccountsForOrder(P.value)}catch{q.value=[]}},{immediate:!0}),h(()=>N.value,async e=>{if(e&&!D.getOrderById(e))try{await D.fetchOrder(e)}catch{}},{immediate:!0});let J=_(()=>P.value?ve(P.value.status):null),xe=_(()=>P.value?ye(P.value.status):`مشاهده جزئیات سفارش`);function Ce(e){return e?e===`cash`?`تسویه نقدی`:`تسویه چکی`:`در انتظار انتخاب مشتری`}let Y=_(()=>{let e=P.value;if(!e)return null;let t=me(e);switch(e.status){case`awaiting_settlement`:case`awaiting_settlement_fix`:return t?{label:`انتخاب روش تسویه`,to:`/orders/${e.id}/settlement`}:null;case`check_in_progress`:return t?{label:`ثبت چک‌ها`,to:`/orders/${e.id}/check-mode`}:null;case`check_needs_fix`:case`check_rejected`:return t?{label:`اصلاح چک‌ها`,to:`/orders/${e.id}/check-list`}:null;case`awaiting_cash_payment`:case`cash_invoice_issued`:return t?{label:`ثبت رسید پرداخت`,receipt:!0}:null;default:return null}});function X(){if(!M(P.value)){K.value=`در وضعیت فعلی سفارش امکان ثبت رسید وجود ندارد`;return}F.value=!0,R.value=!0,I.value=!0}function Z(){let e=Y.value;if(e){if(e.receipt){X();return}e.to&&S.push(e.to)}}function Q(){F.value=!0,R.value=!1,S.replace({query:{track:`1`}})}function we(){R.value=!R.value}function Te(){L.value=!L.value}async function $(e){let t=e.target.files?.[0];if(!t)return;let n=oe(t);if(!n.valid){G.value={...G.value,receiptImage:n.message??`خطا`};return}G.value=A(G.value,`receiptImage`),W.value=await se(t)}async function Pt(){if(!P.value)return;if(G.value={},K.value=``,!M(P.value)){K.value=`در وضعیت فعلی سفارش امکان ثبت رسید وجود ندارد`;return}let e=re(z.value),t={};if(e||(t.receiptAmount=`مبلغ واریزی الزامی است.`),B.value||(t.receiptDate=`تاریخ واریز الزامی است.`),H.value.trim()||(t.trackingNumber=`شماره پیگیری الزامی است.`),U.value||(t.destinationAccountId=`حساب مقصد را انتخاب کنید.`),j(t)){G.value=t,K.value=pe;return}try{await D.submitCashReceipt(P.value.id,{amount:e,transferDate:B.value,transferTime:V.value||`12:00`,trackingNumber:H.value,destinationAccountId:U.value,receiptImage:W.value||void 0}),I.value=!1,G.value={},K.value=``}catch(e){K.value=e instanceof Error?e.message:`ثبت رسید ناموفق بود.`}}return(l,m)=>P.value?(i(),s(`div`,De,[e(`header`,Oe,[e(`button`,{type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:m[0]||=e=>C(S).push(`/orders`)},[a(k,{size:20})]),e(`div`,ke,[e(`h1`,Ae,f(F.value?`پیگیری سفارش`:`جزئیات سفارش`),1),F.value?(i(),s(`p`,je,f(P.value.orderNumber),1)):o(``,!0)]),e(`button`,Me,[a(k,{size:18,class:`nav-btn__flip`})])]),e(`header`,Ne,[e(`button`,{type:`button`,class:`order-detail-back`,onClick:m[1]||=e=>C(S).push(`/orders`)},[a(k,{size:18}),m[10]||=r(` بازگشت به سفارش‌ها `,-1)]),m[11]||=e(`h1`,{class:`desktop-page__title`},`پیگیری سفارش`,-1),e(`p`,Pe,f(P.value.orderNumber)+` · `+f(P.value.companyName),1)]),e(`div`,Fe,[F.value?o(``,!0):(i(),s(`div`,Ie,[e(`div`,Le,[m[12]||=e(`span`,{class:`order-info-card__label`},`شماره سفارش`,-1),e(`strong`,Re,f(P.value.orderNumber),1)]),e(`div`,ze,[m[13]||=e(`span`,{class:`order-info-card__key`},`شرکت`,-1),e(`span`,Be,f(P.value.companyName),1)]),e(`div`,Ve,[m[14]||=e(`span`,{class:`order-info-card__key`},`تاریخ ثبت`,-1),e(`span`,He,f(C(T)(P.value.createdAt)),1)]),e(`div`,Ue,[m[15]||=e(`span`,{class:`order-info-card__key`},`نوع تسویه`,-1),e(`span`,We,f(Ce(P.value.settlementType)),1)]),e(`div`,Ge,[m[16]||=e(`span`,{class:`order-info-card__key`},`مبلغ فاکتور`,-1),e(`strong`,Ke,f(P.value.finalAmount?C(ie)(P.value.finalAmount):`پس از قیمت‌گذاری مدیریت`),1)])])),Y.value&&!F.value?(i(),s(`div`,qe,[m[17]||=e(`span`,{class:`order-next-action__text`},`برای ادامه سفارش، این مرحله باقی مانده است.`,-1),a(O,{class:`order-next-action__btn`,onClick:Z},{default:y(()=>[r(f(Y.value.label),1)]),_:1})])):o(``,!0),F.value?(i(),s(`div`,Je,[e(`section`,Ye,[e(`div`,Xe,[J.value?(i(),g(Se,{key:0,config:J.value},null,8,[`config`])):o(``,!0),a(Ee,{order:P.value},null,8,[`order`])])]),e(`section`,Ze,[Y.value?(i(),s(`div`,Qe,[m[18]||=e(`span`,{class:`order-next-action__text`},`برای ادامه سفارش، این مرحله باقی مانده است.`,-1),a(O,{class:`order-next-action__btn`,onClick:Z},{default:y(()=>[r(f(Y.value.label),1)]),_:1})])):o(``,!0),e(`div`,$e,[e(`button`,{type:`button`,class:`tracking-collapse__trigger`,"aria-expanded":L.value,onClick:Te},[m[19]||=e(`span`,null,`پیگیری وضعیت`,-1),a(le,{size:18,class:d([`tracking-collapse__chevron`,{"tracking-collapse__chevron--open":L.value}]),"aria-hidden":`true`},null,8,[`class`])],8,et),x(e(`div`,tt,[e(`div`,nt,[a(be,{order:P.value},null,8,[`order`])])],512),[[te,L.value]])]),e(`div`,rt,[e(`button`,{type:`button`,class:`tracking-collapse__trigger`,"aria-expanded":R.value,onClick:we},[e(`span`,null,f(xe.value),1),a(le,{size:18,class:d([`tracking-collapse__chevron`,{"tracking-collapse__chevron--open":R.value}]),"aria-hidden":`true`},null,8,[`class`])],8,it),x(e(`div`,at,[e(`div`,ot,[m[21]||=e(`h3`,{class:`tracking-card__title`},`اقلام سفارش`,-1),(i(!0),s(t,null,p(P.value.items,t=>(i(),s(`div`,{key:t.id,class:`item-row`},[e(`div`,null,[e(`strong`,null,f(t.productName),1),e(`p`,st,`کالیته `+f(t.catalogCode)+` · `+f(t.color),1)]),e(`span`,null,f(C(w)(t.requestedMeterage)),1)]))),128)),e(`div`,ct,[m[20]||=e(`span`,null,`مجموع متراژ`,-1),e(`strong`,null,f(C(w)(P.value.totalMeterage)),1)])]),P.value.settlementType===`cash`?(i(),s(t,{key:0},[P.value.cashInvoiceExpiresAt?(i(),s(`div`,lt,` اعتبار فاکتور: `+f(C(T)(P.value.cashInvoiceExpiresAt)),1)):o(``,!0),e(`div`,ut,[m[22]||=e(`h3`,{class:`tracking-card__title`},`حساب‌های بانکی`,-1),(i(!0),s(t,null,p(q.value,t=>(i(),s(`div`,{key:t.id,class:`bank-row`},[e(`strong`,null,f(t.bankName),1),e(`p`,dt,f(t.cardNumber),1),e(`p`,ft,f(t.iban),1)]))),128))]),Y.value?.receipt?(i(),g(O,{key:1,block:``,onClick:X},{default:y(()=>[r(f(P.value.cashReceipt?`ثبت رسید جدید`:`ثبت رسید پرداخت`),1)]),_:1})):o(``,!0),P.value.cashReceipt?(i(),s(`div`,pt,[m[25]||=e(`h3`,{class:`tracking-card__title`},`رسید ثبت‌شده`,-1),e(`div`,mt,[m[23]||=e(`span`,null,`مبلغ`,-1),e(`span`,null,f(C(E)(P.value.cashReceipt.amount)),1)]),e(`div`,ht,[m[24]||=e(`span`,null,`شماره پیگیری`,-1),e(`span`,null,f(P.value.cashReceipt.trackingNumber),1)])])):o(``,!0)],64)):o(``,!0),P.value.settlementType===`check`&&P.value.checks?(i(),s(t,{key:1},[e(`div`,gt,[m[26]||=e(`h3`,{class:`tracking-card__title`},`رأس چک‌ها`,-1),e(`div`,_t,f(P.value.checkRassDays)+` روز`,1),P.value.checkRassDate?(i(),s(`p`,vt,` تاریخ رأس: `+f(C(ae)(P.value.checkRassDate)),1)):o(``,!0)]),(i(!0),s(t,null,p(P.value.checks,(t,n)=>(i(),s(`div`,{key:t.id,class:`tracking-collapse__section`},[e(`strong`,null,`چک `+f(n+1),1),e(`div`,yt,[m[27]||=e(`span`,null,`مبلغ`,-1),e(`span`,null,f(C(E)(t.amount)),1)]),e(`div`,bt,[m[28]||=e(`span`,null,`سررسید`,-1),e(`span`,null,f(C(ae)(t.dueDate))+` (`+f(C(ue)(t.dueDate))+` روز)`,1)]),t.frontImage?(i(),s(`img`,{key:0,src:t.frontImage,class:`check-img`,alt:`چک`},null,8,xt)):o(``,!0)]))),128))],64)):o(``,!0)],512),[[te,R.value]])])])])):o(``,!0)]),F.value?o(``,!0):(i(),s(`div`,St,[a(O,{block:``,onClick:Q},{default:y(()=>[...m[29]||=[r(`مشاهده جزئیات و پیگیری`,-1)]]),_:1})])),(i(),g(c,{to:`body`},[I.value?(i(),s(`div`,{key:0,class:`receipt-modal-overlay`,onClick:m[8]||=n(e=>I.value=!1,[`self`])},[e(`div`,Ct,[e(`header`,wt,[m[30]||=e(`h3`,{id:`receipt-modal-title`,class:`receipt-modal__title`},`ثبت رسید پرداخت`,-1),e(`button`,{type:`button`,class:`receipt-modal__close`,"aria-label":`بستن`,onClick:m[2]||=e=>I.value=!1},` × `)]),e(`div`,Tt,[a(fe,{message:K.value},null,8,[`message`]),a(ge,{modelValue:z.value,"onUpdate:modelValue":m[3]||=e=>z.value=e,label:`مبلغ واریزی`,error:G.value.receiptAmount},null,8,[`modelValue`,`error`]),a(_e,{modelValue:B.value,"onUpdate:modelValue":m[4]||=e=>B.value=e,label:`تاریخ واریز`,error:G.value.receiptDate},null,8,[`modelValue`,`error`]),a(he,{modelValue:V.value,"onUpdate:modelValue":m[5]||=e=>V.value=e,label:`ساعت واریز`,type:`time`},null,8,[`modelValue`]),a(he,{modelValue:H.value,"onUpdate:modelValue":m[6]||=e=>H.value=e,label:`شماره پیگیری`,inputmode:`numeric`,dir:`ltr`,error:G.value.trackingNumber},null,8,[`modelValue`,`error`]),e(`div`,Et,[m[32]||=e(`label`,{class:`form-label`},`حساب مقصد`,-1),x(e(`select`,{"onUpdate:modelValue":m[7]||=e=>U.value=e,class:d([`select-input`,{"select-input--error":G.value.destinationAccountId}])},[m[31]||=e(`option`,{value:``},`انتخاب کنید`,-1),(i(!0),s(t,null,p(q.value,e=>(i(),s(`option`,{key:e.id,value:e.id},f(e.bankName)+` - `+f(e.cardNumber),9,Dt))),128))],2),[[u,U.value]]),G.value.destinationAccountId?(i(),s(`p`,Ot,f(G.value.destinationAccountId),1)):o(``,!0)]),e(`div`,kt,[m[33]||=e(`label`,{class:`form-label`},`تصویر رسید`,-1),e(`label`,{class:d([`upload-box`,{"upload-box--error":G.value.receiptImage}])},[e(`input`,{type:`file`,accept:`image/*`,class:`upload-box__input`,onChange:$},null,32),W.value?(i(),s(`img`,{key:0,src:W.value,class:`upload-box__preview`,alt:`تصویر رسید`},null,8,At)):(i(),s(`span`,jt,`انتخاب تصویر رسید`))],2),G.value.receiptImage?(i(),s(`p`,Mt,f(G.value.receiptImage),1)):o(``,!0)]),a(O,{block:``,class:`mt-4`,onClick:Pt},{default:y(()=>[...m[34]||=[r(`ثبت رسید`,-1)]]),_:1})])])])):o(``,!0)]))])):(i(),s(`div`,Nt,[m[36]||=e(`p`,null,`سفارش یافت نشد`,-1),a(O,{onClick:m[9]||=e=>C(S).push(`/orders`)},{default:y(()=>[...m[35]||=[r(`بازگشت`,-1)]]),_:1})]))}}),[[`__scopeId`,`data-v-7d9d2f9d`]]);export{$ as default}; \ No newline at end of file diff --git a/dist/assets/OrderSuccessView-DZmKa7Fs.js b/dist/assets/OrderSuccessView-BknP059e.js similarity index 93% rename from dist/assets/OrderSuccessView-DZmKa7Fs.js rename to dist/assets/OrderSuccessView-BknP059e.js index 6c9a2ad..17d59f4 100644 --- a/dist/assets/OrderSuccessView-DZmKa7Fs.js +++ b/dist/assets/OrderSuccessView-BknP059e.js @@ -1 +1 @@ -import{A as e,I as t,J as n,L as r,M as i,N as a,R as o,Tt as s,_ as c,g as l,k as u,n as d,nt as f,xt as p}from"./BasicIcon-B6lR-mG3.js";import{a as m}from"./format-BHJptHdF.js";import{g as h,n as g}from"./index-DHK6R1xK.js";import{t as _}from"./useGoBack-yePcdjuj.js";import{t as v}from"./PageHeader-Cza56lK4.js";var y={class:`page success-page`},b={class:`page__scroll success-page__scroll`},x={key:0,class:`card mb-4`},S={class:`info-row`},C={class:`info-row`},w={class:`info-row`},T=d(o({__name:`OrderSuccessView`,setup(o){let d=l(),T=c(),{goBack:E}=_(`/orders`),D=h(),O=u(()=>D.getOrderById(d.params.id));return(o,c)=>(n(),a(`div`,y,[r(v,{title:`ثبت موفق`,"show-back":``,centered:``,onBack:p(E)},null,8,[`onBack`]),e(`div`,b,[c[8]||=e(`div`,{class:`success-icon`},`✓`,-1),c[9]||=e(`h1`,{class:`page-title text-center`},`سفارش ثبت شد`,-1),c[10]||=e(`p`,{class:`text-center text-muted mb-4`},` سفارش شما با موفقیت ثبت شد. کارشناسان ما سفارش را بررسی و قیمت‌گذاری می‌کنند و به‌محض صدور فاکتور، از طریق پیامک و پنل کاربری به شما اطلاع می‌دهیم تا روش تسویه را انتخاب کنید. `,-1),O.value?(n(),a(`div`,x,[e(`div`,S,[c[2]||=e(`span`,null,`شماره سفارش:`,-1),e(`strong`,null,s(O.value.orderNumber),1)]),e(`div`,C,[c[3]||=e(`span`,null,`شرکت:`,-1),e(`span`,null,s(O.value.companyName),1)]),e(`div`,w,[c[4]||=e(`span`,null,`متراژ:`,-1),e(`span`,null,s(p(m)(O.value.totalMeterage)),1)]),c[5]||=e(`div`,{class:`info-row`},[e(`span`,null,`وضعیت:`),e(`span`,null,`در انتظار قیمت‌گذاری`)],-1)])):i(``,!0),r(g,{block:``,onClick:c[0]||=e=>p(T).replace(`/orders/${O.value?.id}`)},{default:f(()=>[...c[6]||=[t(` مشاهده جزئیات سفارش `,-1)]]),_:1}),r(g,{block:``,variant:`outline`,class:`mt-2`,onClick:c[1]||=e=>p(T).replace(`/`)},{default:f(()=>[...c[7]||=[t(` بازگشت به خانه `,-1)]]),_:1})])]))}}),[[`__scopeId`,`data-v-3d172af9`]]);export{T as default}; \ No newline at end of file +import{A as e,I as t,J as n,L as r,M as i,N as a,R as o,Tt as s,_ as c,g as l,k as u,n as d,nt as f,xt as p}from"./BasicIcon-B6lR-mG3.js";import{a as m}from"./format-BHJptHdF.js";import{g as h,n as g}from"./index-B20WsQhf.js";import{t as _}from"./useGoBack-yePcdjuj.js";import{t as v}from"./PageHeader-DXkA75qK.js";var y={class:`page success-page`},b={class:`page__scroll success-page__scroll`},x={key:0,class:`card mb-4`},S={class:`info-row`},C={class:`info-row`},w={class:`info-row`},T=d(o({__name:`OrderSuccessView`,setup(o){let d=l(),T=c(),{goBack:E}=_(`/orders`),D=h(),O=u(()=>D.getOrderById(d.params.id));return(o,c)=>(n(),a(`div`,y,[r(v,{title:`ثبت موفق`,"show-back":``,centered:``,onBack:p(E)},null,8,[`onBack`]),e(`div`,b,[c[8]||=e(`div`,{class:`success-icon`},`✓`,-1),c[9]||=e(`h1`,{class:`page-title text-center`},`سفارش ثبت شد`,-1),c[10]||=e(`p`,{class:`text-center text-muted mb-4`},` سفارش شما با موفقیت ثبت شد. کارشناسان ما سفارش را بررسی و قیمت‌گذاری می‌کنند و به‌محض صدور فاکتور، از طریق پیامک و پنل کاربری به شما اطلاع می‌دهیم تا روش تسویه را انتخاب کنید. `,-1),O.value?(n(),a(`div`,x,[e(`div`,S,[c[2]||=e(`span`,null,`شماره سفارش:`,-1),e(`strong`,null,s(O.value.orderNumber),1)]),e(`div`,C,[c[3]||=e(`span`,null,`شرکت:`,-1),e(`span`,null,s(O.value.companyName),1)]),e(`div`,w,[c[4]||=e(`span`,null,`متراژ:`,-1),e(`span`,null,s(p(m)(O.value.totalMeterage)),1)]),c[5]||=e(`div`,{class:`info-row`},[e(`span`,null,`وضعیت:`),e(`span`,null,`در انتظار قیمت‌گذاری`)],-1)])):i(``,!0),r(g,{block:``,onClick:c[0]||=e=>p(T).replace(`/orders/${O.value?.id}`)},{default:f(()=>[...c[6]||=[t(` مشاهده جزئیات سفارش `,-1)]]),_:1}),r(g,{block:``,variant:`outline`,class:`mt-2`,onClick:c[1]||=e=>p(T).replace(`/`)},{default:f(()=>[...c[7]||=[t(` بازگشت به خانه `,-1)]]),_:1})])]))}}),[[`__scopeId`,`data-v-3d172af9`]]);export{T as default}; \ No newline at end of file diff --git a/dist/assets/OrdersView-4v6PJIaR.js b/dist/assets/OrdersView-CThJEk8R.js similarity index 99% rename from dist/assets/OrdersView-4v6PJIaR.js rename to dist/assets/OrdersView-CThJEk8R.js index 89f8b08..551dd54 100644 --- a/dist/assets/OrdersView-4v6PJIaR.js +++ b/dist/assets/OrdersView-CThJEk8R.js @@ -1 +1 @@ -import{A as e,D as t,I as n,J as r,K as i,L as a,M as o,N as s,R as c,St as l,Tt as u,X as d,Z as f,_ as p,et as m,g as h,j as g,k as _,n as v,nt as y,pt as b,t as x,xt as S}from"./BasicIcon-B6lR-mG3.js";import{i as C,n as w,o as T,u as E}from"./format-BHJptHdF.js";import{t as D}from"./catalog-DNpqlweh.js";import{C as O,c as k,g as A,i as j,n as M,o as N}from"./index-DHK6R1xK.js";import{t as P}from"./EmptyState-C6UAJ5_3.js";import{r as F,t as I}from"./constants-DXXK14Zz.js";import{t as L}from"./IconChevronBack-BXRfc2bX.js";import{n as R,t as z}from"./IconFamBaftLogo-CHx7e3Le.js";import{t as B}from"./IconCheckCircleOutline-t6E4YUKp.js";import{t as V}from"./IconFilter-DJjJ9EAy.js";import{t as H}from"./IconMoreVertical-Dw3RBXp5.js";var U=[`awaiting_review`,`awaiting_check_review`],W=[`submitted`,`pricing`,`check_in_progress`,`awaiting_cash_confirmation`,`preparing`,`ready_to_ship`,`needs_correction`,`awaiting_settlement_fix`,`cash_in_progress`,`awaiting_cash_payment`,`cash_payment_submitted`,`check_needs_fix`,`awaiting_settlement`,`cash_invoice_issued`],G=[`shipped`],K=[`delivered`,`final_approved`,`checks_approved`,`cash_confirmed`],q=[`cancelled`,`rejected`,`expired`,`check_rejected`],ee=[...U,...W,...G];function te(e,t){switch(t){case`review`:return U.includes(e);case`in_progress`:return W.includes(e);case`shipped`:return G.includes(e);case`delivered`:return K.includes(e);case`cancelled`:return q.includes(e);default:return!0}}function ne(e,t){return t===`active`?ee.includes(e):t===`done`?K.includes(e):t!==`cancelled`||q.includes(e)}var J=5,Y=5;function X(){let e=p(),t=h(),n=A(),r=k(),a=D(),o=b(1),s=b(1),c=b(``);i(async()=>{await Promise.all([n.hydrate(),a.loadCompanies()])}),m(()=>t.query.submitted,n=>{let r=Number(n);if(!Number.isFinite(r)||r<1){c.value=``;return}c.value=r===1?`پیش‌سفارش با موفقیت ثبت شد.`:`${E(String(r))} پیش‌سفارش (برای شرکت‌های مختلف) ثبت شد.`;let{submitted:i,...a}=t.query;e.replace({query:a})},{immediate:!0});let l=_({get:()=>e.currentRoute.value.query.tab??`all`,set:t=>e.replace({query:{...e.currentRoute.value.query,tab:t}})}),u=_({get:()=>e.currentRoute.value.query.filter??`all`,set:t=>e.replace({query:{...e.currentRoute.value.query,filter:t===`all`?void 0:t}})}),d=_(()=>e.currentRoute.value.query.q??``),f=_(()=>r.user?n.userOrders(r.user.id):[]),g=_(()=>({total:f.value.length,review:f.value.filter(e=>U.includes(e.status)).length,inProgress:f.value.filter(e=>W.includes(e.status)).length,done:f.value.filter(e=>K.includes(e.status)).length}));function v(e,t){if(!t.trim())return!0;let n=t.trim().toLowerCase();return e.orderNumber.toLowerCase().includes(n)||e.companyName.toLowerCase().includes(n)}let y=_(()=>f.value.filter(e=>v(e,d.value)).filter(e=>ne(e.status,l.value))),x=_(()=>f.value.filter(e=>v(e,d.value)).filter(e=>te(e.status,u.value))),S=_(()=>{let e=(o.value-1)*J;return x.value.slice(e,e+J)}),C=_(()=>Math.max(1,Math.ceil(x.value.length/J))),w=_(()=>x.value.length===0?{start:0,end:0}:{start:(o.value-1)*J+1,end:Math.min(o.value*J,x.value.length)}),T=_(()=>{let e=C.value,t=o.value;if(e<=7)return Array.from({length:e},(e,t)=>t+1);let n=[1];t>3&&n.push(`ellipsis`);let r=Math.max(2,t-1),i=Math.min(e-1,t+1);for(let e=r;e<=i;e+=1)n.push(e);return t1&&n.push(e),n}),O=_(()=>Math.max(1,Math.ceil(y.value.length/Y))),j=_(()=>{let e=(s.value-1)*Y;return y.value.slice(e,e+Y)}),M=_(()=>y.value.length===0?{start:0,end:0}:{start:(s.value-1)*Y+1,end:Math.min(s.value*Y,y.value.length)}),N=_(()=>{let e=O.value,t=s.value;if(e<=5)return Array.from({length:e},(e,t)=>t+1);let n=[1];t>3&&n.push(`ellipsis`);let r=Math.max(2,t-1),i=Math.min(e-1,t+1);for(let e=r;e<=i;e+=1)n.push(e);return t1&&n.push(e),n});m([x,u,d],()=>{o.value=1}),m([y,l,d],()=>{s.value=1});function P(e){return a.getCompany(e.companyId)?.slug??`par`}function F(e){return K.includes(e.status)?`success`:P(e)===`fam-baft`?`fam-baft`:`par`}function I(t){e.push(`/orders/${t}`)}function L(e){e<1||e>C.value||(o.value=e)}function R(e){e<1||e>O.value||(s.value=e)}function z(e){u.value=u.value===e&&e!==`all`?`all`:e}function B(e){u.value=e}return{tab:l,desktopFilter:u,searchQuery:d,stats:g,filteredOrdersMobile:y,filteredOrdersDesktop:x,paginatedOrders:S,paginatedOrdersMobile:j,totalPages:C,mobileTotalPages:O,paginationRange:w,mobilePaginationRange:M,visiblePages:T,mobileVisiblePages:N,currentPage:o,mobilePage:s,companySlug:P,iconVariant:F,submitSuccessMessage:c,goToOrder:I,setPage:L,setMobilePage:R,setDesktopFilter:z,viewStatFilter:B}}var Z=[`aria-selected`,`onClick`],re=v(c({__name:`FilterTabs`,props:{modelValue:{},tabs:{},equal:{type:Boolean}},emits:[`update:modelValue`],setup(e){return(n,i)=>(r(),s(`div`,{class:l([`filter-tabs`,{"filter-tabs--equal":e.equal}]),role:`tablist`},[(r(!0),s(t,null,d(e.tabs,t=>(r(),s(`button`,{key:t.id,type:`button`,role:`tab`,class:l([`filter-tab`,{active:e.modelValue===t.id}]),"aria-selected":e.modelValue===t.id,onClick:e=>n.$emit(`update:modelValue`,t.id)},u(t.label),11,Z))),128))],2))}}),[[`__scopeId`,`data-v-4cd20e9b`]]),ie=v(c({__name:`BaseBadge`,props:{variant:{}},setup(e){return(t,n)=>(r(),s(`span`,{class:l([`badge`,`badge-${e.variant??`neutral`}`])},[f(t.$slots,`default`,{},void 0,!0)],2))}}),[[`__scopeId`,`data-v-5e1be8f4`]]),Q=c({__name:`StatusBadge`,props:{status:{}},setup(e){let t=e,i=_(()=>I[t.status]??t.status),a=_(()=>F[t.status]??`neutral`);return(e,t)=>(r(),g(ie,{variant:a.value},{default:y(()=>[n(u(i.value),1)]),_:1},8,[`variant`]))}}),ae={class:`page orders-mobile-page`},oe={class:`orders-mobile-page__nav`},se={class:`page__scroll page__scroll--with-nav orders-mobile-page__scroll`},ce={key:0,class:`orders-mobile-page__list`},le=[`onClick`],ue={class:`order-card__content`},de={class:`order-card__number`},fe={class:`order-card__company`},pe={key:0,class:`order-card__amount`},me={key:2,class:`orders-mobile-pagination`},he={class:`orders-mobile-pagination__summary`},ge={class:`orders-mobile-pagination__controls`},_e=[`disabled`],ve={key:0,class:`orders-mobile-pagination__ellipsis`},ye=[`onClick`],be=[`disabled`],xe=v(c({__name:`MobileOrdersPage`,props:{tab:{},tabs:{},orders:{},totalCount:{},currentPage:{},totalPages:{},paginationRange:{},visiblePages:{},companySlug:{type:Function},iconVariant:{type:Function}},emits:[`update:tab`,`select`,`back`,`set-page`],setup(i,{emit:c}){let f=c;return(c,p)=>(r(),s(`div`,ae,[e(`header`,oe,[e(`button`,{type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:p[0]||=e=>f(`back`)},[a(L,{size:20})]),p[5]||=e(`h1`,{class:`orders-mobile-page__title`},`سفارش‌ها`,-1),a(j,{variant:`inline`})]),a(re,{"model-value":i.tab,tabs:i.tabs,equal:``,class:`orders-mobile-page__tabs`,"onUpdate:modelValue":p[1]||=e=>f(`update:tab`,e)},null,8,[`model-value`,`tabs`]),e(`div`,se,[i.orders.length>0?(r(),s(`div`,ce,[(r(!0),s(t,null,d(i.orders,t=>(r(),s(`button`,{key:t.id,type:`button`,class:`order-card`,onClick:e=>f(`select`,t.id)},[e(`div`,ue,[p[6]||=e(`span`,{class:`order-card__label`},`سفارش شماره`,-1),e(`strong`,de,u(t.orderNumber),1),e(`p`,fe,u(t.companyName),1),t.finalAmount?(r(),s(`p`,pe,u(S(w)(t.finalAmount)),1)):o(``,!0),a(Q,{status:t.status,class:`order-card__badge`},null,8,[`status`])]),e(`span`,{class:l([`order-card__icon`,`order-card__icon--${i.iconVariant(t)}`])},[i.companySlug(t)===`fam-baft`?(r(),g(z,{key:0,size:36})):(r(),g(R,{key:1,size:36}))],2)],8,le))),128))])):(r(),g(P,{key:1,variant:`orders`,message:`هنوز سفارشی ثبت نکرده‌اید`},{default:y(()=>[a(M,{onClick:p[2]||=e=>f(`back`)},{default:y(()=>[...p[7]||=[n(`ثبت سفارش جدید`,-1)]]),_:1})]),_:1})),i.totalCount>0?(r(),s(`div`,me,[e(`p`,he,u(S(E)(String(i.paginationRange.start)))+`– `+u(S(E)(String(i.paginationRange.end)))+` از `+u(S(T)(i.totalCount)),1),e(`div`,ge,[e(`button`,{type:`button`,class:`orders-mobile-pagination__arrow`,disabled:i.currentPage<=1,"aria-label":`صفحه قبل`,onClick:p[3]||=e=>f(`set-page`,i.currentPage-1)},[a(N,{size:16,class:`orders-mobile-pagination__arrow--prev`})],8,_e),(r(!0),s(t,null,d(i.visiblePages,(e,n)=>(r(),s(t,{key:`${e}-${n}`},[e===`ellipsis`?(r(),s(`span`,ve,`…`)):(r(),s(`button`,{key:1,type:`button`,class:l([`orders-mobile-pagination__page`,{"orders-mobile-pagination__page--active":e===i.currentPage}]),onClick:t=>f(`set-page`,e)},u(S(E)(String(e))),11,ye))],64))),128)),e(`button`,{type:`button`,class:`orders-mobile-pagination__arrow`,disabled:i.currentPage>=i.totalPages,"aria-label":`صفحه بعد`,onClick:p[4]||=e=>f(`set-page`,i.currentPage+1)},[a(N,{size:16,class:`orders-mobile-pagination__arrow--next`})],8,be)])])):o(``,!0)])]))}}),[[`__scopeId`,`data-v-de30513b`]]),Se=c({__name:`IconHourglass`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(r(),g(x,{icon:`vuesax-linear:timer-1`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Ce=c({__name:`IconProgressClock`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(r(),g(x,{icon:`vuesax-linear:clock`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),we={class:`desktop-page orders-desktop-page`},Te={class:`orders-stats desktop-grid-4`},Ee={class:`orders-stat-card`},De={class:`orders-stat-card__head`},Oe={class:`orders-stat-card__icon orders-stat-card__icon--total`,"aria-hidden":`true`},ke={class:`orders-stat-card__value`},Ae={class:`orders-stat-card`},je={class:`orders-stat-card__head`},Me={class:`orders-stat-card__icon orders-stat-card__icon--review`,"aria-hidden":`true`},Ne={class:`orders-stat-card__value`},Pe={class:`orders-stat-card`},Fe={class:`orders-stat-card__head`},Ie={class:`orders-stat-card__icon orders-stat-card__icon--active`,"aria-hidden":`true`},Le={class:`orders-stat-card__value`},Re={class:`orders-stat-card`},ze={class:`orders-stat-card__head`},Be={class:`orders-stat-card__icon orders-stat-card__icon--done`,"aria-hidden":`true`},Ve={class:`orders-stat-card__value`},He={class:`desktop-toolbar`},Ue={class:`desktop-toolbar__actions`},We={type:`button`,class:`orders-toolbar__filter-btn`},Ge={class:`orders-toolbar__pills`,role:`tablist`,"aria-label":`فیلتر وضعیت`},Ke=[`aria-selected`,`onClick`],qe={key:0,class:`desktop-table-wrap`},Je={class:`desktop-table-scroll`},Ye={class:`desktop-table orders-table`},Xe={class:`orders-table__number`},Ze={class:`orders-table__amount`},Qe={class:`orders-table__date`},$e={class:`orders-table__actions`},et=[`onClick`],tt={type:`button`,class:`orders-table__menu`,"aria-label":`گزینه‌های بیشتر`},$={class:`orders-pagination`},nt={class:`orders-pagination__summary`},rt={class:`orders-pagination__controls`},it=[`disabled`],at={key:0,class:`orders-pagination__ellipsis`},ot=[`onClick`],st=[`disabled`],ct=c({__name:`DesktopOrdersPage`,props:{stats:{},desktopFilter:{},desktopFilterTabs:{},filteredOrders:{},paginatedOrders:{},paginationRange:{},visiblePages:{},currentPage:{},totalPages:{}},emits:[`viewStatFilter`,`setDesktopFilter`,`select`,`setPage`,`newOrder`],setup(i,{emit:o}){let c=o;return(o,f)=>(r(),s(`div`,we,[f[14]||=e(`header`,{class:`desktop-page__head`},[e(`h1`,{class:`desktop-page__title`},`سفارش‌ها`),e(`p`,{class:`desktop-page__subtitle`},`مدیریت و پیگیری سفارش‌های ثبت شده`)],-1),e(`div`,Te,[e(`article`,Ee,[e(`div`,De,[f[7]||=e(`span`,{class:`orders-stat-card__label orders-stat-card__label--total`},`همه سفارش‌ها`,-1),e(`span`,Oe,[a(O,{size:20})])]),e(`strong`,ke,u(S(T)(i.stats.total)),1),e(`button`,{type:`button`,class:`orders-stat-card__link`,onClick:f[0]||=e=>c(`viewStatFilter`,`all`)},` مشاهده همه `)]),e(`article`,Ae,[e(`div`,je,[f[8]||=e(`span`,{class:`orders-stat-card__label orders-stat-card__label--review`},`در انتظار بررسی`,-1),e(`span`,Me,[a(Se,{size:20})])]),e(`strong`,Ne,u(S(T)(i.stats.review)),1),e(`button`,{type:`button`,class:`orders-stat-card__link`,onClick:f[1]||=e=>c(`viewStatFilter`,`review`)},` مشاهده همه `)]),e(`article`,Pe,[e(`div`,Fe,[f[9]||=e(`span`,{class:`orders-stat-card__label orders-stat-card__label--active`},`در حال انجام`,-1),e(`span`,Ie,[a(Ce,{size:20})])]),e(`strong`,Le,u(S(T)(i.stats.inProgress)),1),e(`button`,{type:`button`,class:`orders-stat-card__link`,onClick:f[2]||=e=>c(`viewStatFilter`,`in_progress`)},` مشاهده همه `)]),e(`article`,Re,[e(`div`,ze,[f[10]||=e(`span`,{class:`orders-stat-card__label orders-stat-card__label--done`},`تکمیل شده`,-1),e(`span`,Be,[a(B,{size:20})])]),e(`strong`,Ve,u(S(T)(i.stats.done)),1),e(`button`,{type:`button`,class:`orders-stat-card__link`,onClick:f[3]||=e=>c(`viewStatFilter`,`delivered`)},` مشاهده همه `)])]),e(`div`,He,[e(`div`,Ue,[e(`button`,We,[a(V,{size:18}),f[11]||=n(` فیلترها `,-1)])]),e(`div`,Ge,[(r(!0),s(t,null,d(i.desktopFilterTabs,e=>(r(),s(`button`,{key:e.id,type:`button`,role:`tab`,class:l([`orders-filter-pill`,{"orders-filter-pill--active":i.desktopFilter===e.id}]),"aria-selected":i.desktopFilter===e.id,onClick:t=>c(`setDesktopFilter`,e.id)},u(e.label),11,Ke))),128))])]),i.filteredOrders.length>0?(r(),s(`div`,qe,[e(`div`,Je,[e(`table`,Ye,[f[12]||=e(`thead`,null,[e(`tr`,null,[e(`th`,{scope:`col`},`شماره سفارش`),e(`th`,{scope:`col`},`شرکت`),e(`th`,{scope:`col`},`مبلغ فاکتور (تومان)`),e(`th`,{scope:`col`},`وضعیت`),e(`th`,{scope:`col`},`تاریخ ثبت`),e(`th`,{scope:`col`},`عملیات`)])],-1),e(`tbody`,null,[(r(!0),s(t,null,d(i.paginatedOrders,t=>(r(),s(`tr`,{key:t.id},[e(`td`,Xe,u(t.orderNumber),1),e(`td`,null,u(t.companyName),1),e(`td`,Ze,u(t.finalAmount?S(T)(t.finalAmount):`—`),1),e(`td`,null,[a(Q,{status:t.status},null,8,[`status`])]),e(`td`,Qe,u(S(C)(t.createdAt)),1),e(`td`,null,[e(`div`,$e,[e(`button`,{type:`button`,class:`orders-table__action`,onClick:e=>c(`select`,t.id)},` مشاهده `,8,et),e(`button`,tt,[a(H,{size:18})])])])]))),128))])])]),e(`div`,$,[e(`span`,nt,` نمایش `+u(S(T)(i.paginationRange.start))+` تا `+u(S(T)(i.paginationRange.end))+` از `+u(S(T)(i.filteredOrders.length))+` سفارش `,1),e(`div`,rt,[e(`button`,{type:`button`,class:`orders-pagination__arrow`,disabled:i.currentPage<=1,"aria-label":`صفحه قبل`,onClick:f[4]||=e=>c(`setPage`,i.currentPage-1)},[a(N,{size:16,class:`orders-pagination__arrow-icon--prev`})],8,it),(r(!0),s(t,null,d(i.visiblePages,(e,n)=>(r(),s(t,{key:`${e}-${n}`},[e===`ellipsis`?(r(),s(`span`,at,`…`)):(r(),s(`button`,{key:1,type:`button`,class:l([`orders-pagination__page`,{"orders-pagination__page--active":e===i.currentPage}]),onClick:t=>c(`setPage`,e)},u(S(T)(e)),11,ot))],64))),128)),e(`button`,{type:`button`,class:`orders-pagination__arrow`,disabled:i.currentPage>=i.totalPages,"aria-label":`صفحه بعد`,onClick:f[5]||=e=>c(`setPage`,i.currentPage+1)},[a(N,{size:16,class:`orders-pagination__arrow-icon--next`})],8,st)])])])):(r(),g(P,{key:1,variant:`orders`,message:`هنوز سفارشی ثبت نکرده‌اید`},{default:y(()=>[a(M,{onClick:f[6]||=e=>c(`newOrder`)},{default:y(()=>[...f[13]||=[n(`ثبت سفارش جدید`,-1)]]),_:1})]),_:1}))]))}}),lt={class:`orders-view`},ut={key:0,class:`orders-view__success`,role:`status`},dt=v(c({__name:`OrdersView`,setup(e){let t=p(),{tab:n,desktopFilter:i,stats:c,filteredOrdersMobile:l,filteredOrdersDesktop:d,paginatedOrders:f,paginatedOrdersMobile:m,totalPages:h,mobileTotalPages:g,paginationRange:_,mobilePaginationRange:v,visiblePages:y,mobileVisiblePages:b,currentPage:x,mobilePage:C,companySlug:w,iconVariant:T,submitSuccessMessage:E,goToOrder:D,setPage:O,setMobilePage:k,setDesktopFilter:A,viewStatFilter:j}=X(),M=[{id:`all`,label:`همه`},{id:`active`,label:`در جریان`},{id:`done`,label:`تکمیل شده`},{id:`cancelled`,label:`لغو شده`}],N=[{id:`review`,label:`در انتظار بررسی`},{id:`in_progress`,label:`در حال انجام`},{id:`shipped`,label:`ارسال شده`},{id:`delivered`,label:`تحویل شده`},{id:`cancelled`,label:`لغو شده`}];return(e,p)=>(r(),s(`div`,lt,[S(E)?(r(),s(`p`,ut,u(S(E)),1)):o(``,!0),a(xe,{class:`mobile-only`,tab:S(n),tabs:M,orders:S(m),"total-count":S(l).length,"current-page":S(C),"total-pages":S(g),"pagination-range":S(v),"visible-pages":S(b),"company-slug":S(w),"icon-variant":S(T),"onUpdate:tab":p[0]||=e=>n.value=e,onSelect:S(D),onBack:p[1]||=e=>S(t).push(`/`),onSetPage:S(k)},null,8,[`tab`,`orders`,`total-count`,`current-page`,`total-pages`,`pagination-range`,`visible-pages`,`company-slug`,`icon-variant`,`onSelect`,`onSetPage`]),a(ct,{class:`desktop-only`,stats:S(c),"desktop-filter":S(i),"desktop-filter-tabs":N,"filtered-orders":S(d),"paginated-orders":S(f),"pagination-range":S(_),"visible-pages":S(y),"current-page":S(x),"total-pages":S(h),onViewStatFilter:S(j),onSetDesktopFilter:S(A),onSelect:S(D),onSetPage:S(O),onNewOrder:p[2]||=e=>S(t).push(`/categories`)},null,8,[`stats`,`desktop-filter`,`filtered-orders`,`paginated-orders`,`pagination-range`,`visible-pages`,`current-page`,`total-pages`,`onViewStatFilter`,`onSetDesktopFilter`,`onSelect`,`onSetPage`])]))}}),[[`__scopeId`,`data-v-66049c15`]]);export{dt as default}; \ No newline at end of file +import{A as e,D as t,I as n,J as r,K as i,L as a,M as o,N as s,R as c,St as l,Tt as u,X as d,Z as f,_ as p,et as m,g as h,j as g,k as _,n as v,nt as y,pt as b,t as x,xt as S}from"./BasicIcon-B6lR-mG3.js";import{i as C,n as w,o as T,u as E}from"./format-BHJptHdF.js";import{t as D}from"./catalog-DNpqlweh.js";import{C as O,c as k,g as A,i as j,n as M,o as N}from"./index-B20WsQhf.js";import{t as P}from"./EmptyState-C6UAJ5_3.js";import{r as F,t as I}from"./constants-DXXK14Zz.js";import{t as L}from"./IconChevronBack-BXRfc2bX.js";import{n as R,t as z}from"./IconFamBaftLogo-CHx7e3Le.js";import{t as B}from"./IconCheckCircleOutline-t6E4YUKp.js";import{t as V}from"./IconFilter-DJjJ9EAy.js";import{t as H}from"./IconMoreVertical-Dw3RBXp5.js";var U=[`awaiting_review`,`awaiting_check_review`],W=[`submitted`,`pricing`,`check_in_progress`,`awaiting_cash_confirmation`,`preparing`,`ready_to_ship`,`needs_correction`,`awaiting_settlement_fix`,`cash_in_progress`,`awaiting_cash_payment`,`cash_payment_submitted`,`check_needs_fix`,`awaiting_settlement`,`cash_invoice_issued`],G=[`shipped`],K=[`delivered`,`final_approved`,`checks_approved`,`cash_confirmed`],q=[`cancelled`,`rejected`,`expired`,`check_rejected`],ee=[...U,...W,...G];function te(e,t){switch(t){case`review`:return U.includes(e);case`in_progress`:return W.includes(e);case`shipped`:return G.includes(e);case`delivered`:return K.includes(e);case`cancelled`:return q.includes(e);default:return!0}}function ne(e,t){return t===`active`?ee.includes(e):t===`done`?K.includes(e):t!==`cancelled`||q.includes(e)}var J=5,Y=5;function X(){let e=p(),t=h(),n=A(),r=k(),a=D(),o=b(1),s=b(1),c=b(``);i(async()=>{await Promise.all([n.hydrate(),a.loadCompanies()])}),m(()=>t.query.submitted,n=>{let r=Number(n);if(!Number.isFinite(r)||r<1){c.value=``;return}c.value=r===1?`پیش‌سفارش با موفقیت ثبت شد.`:`${E(String(r))} پیش‌سفارش (برای شرکت‌های مختلف) ثبت شد.`;let{submitted:i,...a}=t.query;e.replace({query:a})},{immediate:!0});let l=_({get:()=>e.currentRoute.value.query.tab??`all`,set:t=>e.replace({query:{...e.currentRoute.value.query,tab:t}})}),u=_({get:()=>e.currentRoute.value.query.filter??`all`,set:t=>e.replace({query:{...e.currentRoute.value.query,filter:t===`all`?void 0:t}})}),d=_(()=>e.currentRoute.value.query.q??``),f=_(()=>r.user?n.userOrders(r.user.id):[]),g=_(()=>({total:f.value.length,review:f.value.filter(e=>U.includes(e.status)).length,inProgress:f.value.filter(e=>W.includes(e.status)).length,done:f.value.filter(e=>K.includes(e.status)).length}));function v(e,t){if(!t.trim())return!0;let n=t.trim().toLowerCase();return e.orderNumber.toLowerCase().includes(n)||e.companyName.toLowerCase().includes(n)}let y=_(()=>f.value.filter(e=>v(e,d.value)).filter(e=>ne(e.status,l.value))),x=_(()=>f.value.filter(e=>v(e,d.value)).filter(e=>te(e.status,u.value))),S=_(()=>{let e=(o.value-1)*J;return x.value.slice(e,e+J)}),C=_(()=>Math.max(1,Math.ceil(x.value.length/J))),w=_(()=>x.value.length===0?{start:0,end:0}:{start:(o.value-1)*J+1,end:Math.min(o.value*J,x.value.length)}),T=_(()=>{let e=C.value,t=o.value;if(e<=7)return Array.from({length:e},(e,t)=>t+1);let n=[1];t>3&&n.push(`ellipsis`);let r=Math.max(2,t-1),i=Math.min(e-1,t+1);for(let e=r;e<=i;e+=1)n.push(e);return t1&&n.push(e),n}),O=_(()=>Math.max(1,Math.ceil(y.value.length/Y))),j=_(()=>{let e=(s.value-1)*Y;return y.value.slice(e,e+Y)}),M=_(()=>y.value.length===0?{start:0,end:0}:{start:(s.value-1)*Y+1,end:Math.min(s.value*Y,y.value.length)}),N=_(()=>{let e=O.value,t=s.value;if(e<=5)return Array.from({length:e},(e,t)=>t+1);let n=[1];t>3&&n.push(`ellipsis`);let r=Math.max(2,t-1),i=Math.min(e-1,t+1);for(let e=r;e<=i;e+=1)n.push(e);return t1&&n.push(e),n});m([x,u,d],()=>{o.value=1}),m([y,l,d],()=>{s.value=1});function P(e){return a.getCompany(e.companyId)?.slug??`par`}function F(e){return K.includes(e.status)?`success`:P(e)===`fam-baft`?`fam-baft`:`par`}function I(t){e.push(`/orders/${t}`)}function L(e){e<1||e>C.value||(o.value=e)}function R(e){e<1||e>O.value||(s.value=e)}function z(e){u.value=u.value===e&&e!==`all`?`all`:e}function B(e){u.value=e}return{tab:l,desktopFilter:u,searchQuery:d,stats:g,filteredOrdersMobile:y,filteredOrdersDesktop:x,paginatedOrders:S,paginatedOrdersMobile:j,totalPages:C,mobileTotalPages:O,paginationRange:w,mobilePaginationRange:M,visiblePages:T,mobileVisiblePages:N,currentPage:o,mobilePage:s,companySlug:P,iconVariant:F,submitSuccessMessage:c,goToOrder:I,setPage:L,setMobilePage:R,setDesktopFilter:z,viewStatFilter:B}}var Z=[`aria-selected`,`onClick`],re=v(c({__name:`FilterTabs`,props:{modelValue:{},tabs:{},equal:{type:Boolean}},emits:[`update:modelValue`],setup(e){return(n,i)=>(r(),s(`div`,{class:l([`filter-tabs`,{"filter-tabs--equal":e.equal}]),role:`tablist`},[(r(!0),s(t,null,d(e.tabs,t=>(r(),s(`button`,{key:t.id,type:`button`,role:`tab`,class:l([`filter-tab`,{active:e.modelValue===t.id}]),"aria-selected":e.modelValue===t.id,onClick:e=>n.$emit(`update:modelValue`,t.id)},u(t.label),11,Z))),128))],2))}}),[[`__scopeId`,`data-v-4cd20e9b`]]),ie=v(c({__name:`BaseBadge`,props:{variant:{}},setup(e){return(t,n)=>(r(),s(`span`,{class:l([`badge`,`badge-${e.variant??`neutral`}`])},[f(t.$slots,`default`,{},void 0,!0)],2))}}),[[`__scopeId`,`data-v-5e1be8f4`]]),Q=c({__name:`StatusBadge`,props:{status:{}},setup(e){let t=e,i=_(()=>I[t.status]??t.status),a=_(()=>F[t.status]??`neutral`);return(e,t)=>(r(),g(ie,{variant:a.value},{default:y(()=>[n(u(i.value),1)]),_:1},8,[`variant`]))}}),ae={class:`page orders-mobile-page`},oe={class:`orders-mobile-page__nav`},se={class:`page__scroll page__scroll--with-nav orders-mobile-page__scroll`},ce={key:0,class:`orders-mobile-page__list`},le=[`onClick`],ue={class:`order-card__content`},de={class:`order-card__number`},fe={class:`order-card__company`},pe={key:0,class:`order-card__amount`},me={key:2,class:`orders-mobile-pagination`},he={class:`orders-mobile-pagination__summary`},ge={class:`orders-mobile-pagination__controls`},_e=[`disabled`],ve={key:0,class:`orders-mobile-pagination__ellipsis`},ye=[`onClick`],be=[`disabled`],xe=v(c({__name:`MobileOrdersPage`,props:{tab:{},tabs:{},orders:{},totalCount:{},currentPage:{},totalPages:{},paginationRange:{},visiblePages:{},companySlug:{type:Function},iconVariant:{type:Function}},emits:[`update:tab`,`select`,`back`,`set-page`],setup(i,{emit:c}){let f=c;return(c,p)=>(r(),s(`div`,ae,[e(`header`,oe,[e(`button`,{type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:p[0]||=e=>f(`back`)},[a(L,{size:20})]),p[5]||=e(`h1`,{class:`orders-mobile-page__title`},`سفارش‌ها`,-1),a(j,{variant:`inline`})]),a(re,{"model-value":i.tab,tabs:i.tabs,equal:``,class:`orders-mobile-page__tabs`,"onUpdate:modelValue":p[1]||=e=>f(`update:tab`,e)},null,8,[`model-value`,`tabs`]),e(`div`,se,[i.orders.length>0?(r(),s(`div`,ce,[(r(!0),s(t,null,d(i.orders,t=>(r(),s(`button`,{key:t.id,type:`button`,class:`order-card`,onClick:e=>f(`select`,t.id)},[e(`div`,ue,[p[6]||=e(`span`,{class:`order-card__label`},`سفارش شماره`,-1),e(`strong`,de,u(t.orderNumber),1),e(`p`,fe,u(t.companyName),1),t.finalAmount?(r(),s(`p`,pe,u(S(w)(t.finalAmount)),1)):o(``,!0),a(Q,{status:t.status,class:`order-card__badge`},null,8,[`status`])]),e(`span`,{class:l([`order-card__icon`,`order-card__icon--${i.iconVariant(t)}`])},[i.companySlug(t)===`fam-baft`?(r(),g(z,{key:0,size:36})):(r(),g(R,{key:1,size:36}))],2)],8,le))),128))])):(r(),g(P,{key:1,variant:`orders`,message:`هنوز سفارشی ثبت نکرده‌اید`},{default:y(()=>[a(M,{onClick:p[2]||=e=>f(`back`)},{default:y(()=>[...p[7]||=[n(`ثبت سفارش جدید`,-1)]]),_:1})]),_:1})),i.totalCount>0?(r(),s(`div`,me,[e(`p`,he,u(S(E)(String(i.paginationRange.start)))+`– `+u(S(E)(String(i.paginationRange.end)))+` از `+u(S(T)(i.totalCount)),1),e(`div`,ge,[e(`button`,{type:`button`,class:`orders-mobile-pagination__arrow`,disabled:i.currentPage<=1,"aria-label":`صفحه قبل`,onClick:p[3]||=e=>f(`set-page`,i.currentPage-1)},[a(N,{size:16,class:`orders-mobile-pagination__arrow--prev`})],8,_e),(r(!0),s(t,null,d(i.visiblePages,(e,n)=>(r(),s(t,{key:`${e}-${n}`},[e===`ellipsis`?(r(),s(`span`,ve,`…`)):(r(),s(`button`,{key:1,type:`button`,class:l([`orders-mobile-pagination__page`,{"orders-mobile-pagination__page--active":e===i.currentPage}]),onClick:t=>f(`set-page`,e)},u(S(E)(String(e))),11,ye))],64))),128)),e(`button`,{type:`button`,class:`orders-mobile-pagination__arrow`,disabled:i.currentPage>=i.totalPages,"aria-label":`صفحه بعد`,onClick:p[4]||=e=>f(`set-page`,i.currentPage+1)},[a(N,{size:16,class:`orders-mobile-pagination__arrow--next`})],8,be)])])):o(``,!0)])]))}}),[[`__scopeId`,`data-v-de30513b`]]),Se=c({__name:`IconHourglass`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(r(),g(x,{icon:`vuesax-linear:timer-1`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Ce=c({__name:`IconProgressClock`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(r(),g(x,{icon:`vuesax-linear:clock`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),we={class:`desktop-page orders-desktop-page`},Te={class:`orders-stats desktop-grid-4`},Ee={class:`orders-stat-card`},De={class:`orders-stat-card__head`},Oe={class:`orders-stat-card__icon orders-stat-card__icon--total`,"aria-hidden":`true`},ke={class:`orders-stat-card__value`},Ae={class:`orders-stat-card`},je={class:`orders-stat-card__head`},Me={class:`orders-stat-card__icon orders-stat-card__icon--review`,"aria-hidden":`true`},Ne={class:`orders-stat-card__value`},Pe={class:`orders-stat-card`},Fe={class:`orders-stat-card__head`},Ie={class:`orders-stat-card__icon orders-stat-card__icon--active`,"aria-hidden":`true`},Le={class:`orders-stat-card__value`},Re={class:`orders-stat-card`},ze={class:`orders-stat-card__head`},Be={class:`orders-stat-card__icon orders-stat-card__icon--done`,"aria-hidden":`true`},Ve={class:`orders-stat-card__value`},He={class:`desktop-toolbar`},Ue={class:`desktop-toolbar__actions`},We={type:`button`,class:`orders-toolbar__filter-btn`},Ge={class:`orders-toolbar__pills`,role:`tablist`,"aria-label":`فیلتر وضعیت`},Ke=[`aria-selected`,`onClick`],qe={key:0,class:`desktop-table-wrap`},Je={class:`desktop-table-scroll`},Ye={class:`desktop-table orders-table`},Xe={class:`orders-table__number`},Ze={class:`orders-table__amount`},Qe={class:`orders-table__date`},$e={class:`orders-table__actions`},et=[`onClick`],tt={type:`button`,class:`orders-table__menu`,"aria-label":`گزینه‌های بیشتر`},$={class:`orders-pagination`},nt={class:`orders-pagination__summary`},rt={class:`orders-pagination__controls`},it=[`disabled`],at={key:0,class:`orders-pagination__ellipsis`},ot=[`onClick`],st=[`disabled`],ct=c({__name:`DesktopOrdersPage`,props:{stats:{},desktopFilter:{},desktopFilterTabs:{},filteredOrders:{},paginatedOrders:{},paginationRange:{},visiblePages:{},currentPage:{},totalPages:{}},emits:[`viewStatFilter`,`setDesktopFilter`,`select`,`setPage`,`newOrder`],setup(i,{emit:o}){let c=o;return(o,f)=>(r(),s(`div`,we,[f[14]||=e(`header`,{class:`desktop-page__head`},[e(`h1`,{class:`desktop-page__title`},`سفارش‌ها`),e(`p`,{class:`desktop-page__subtitle`},`مدیریت و پیگیری سفارش‌های ثبت شده`)],-1),e(`div`,Te,[e(`article`,Ee,[e(`div`,De,[f[7]||=e(`span`,{class:`orders-stat-card__label orders-stat-card__label--total`},`همه سفارش‌ها`,-1),e(`span`,Oe,[a(O,{size:20})])]),e(`strong`,ke,u(S(T)(i.stats.total)),1),e(`button`,{type:`button`,class:`orders-stat-card__link`,onClick:f[0]||=e=>c(`viewStatFilter`,`all`)},` مشاهده همه `)]),e(`article`,Ae,[e(`div`,je,[f[8]||=e(`span`,{class:`orders-stat-card__label orders-stat-card__label--review`},`در انتظار بررسی`,-1),e(`span`,Me,[a(Se,{size:20})])]),e(`strong`,Ne,u(S(T)(i.stats.review)),1),e(`button`,{type:`button`,class:`orders-stat-card__link`,onClick:f[1]||=e=>c(`viewStatFilter`,`review`)},` مشاهده همه `)]),e(`article`,Pe,[e(`div`,Fe,[f[9]||=e(`span`,{class:`orders-stat-card__label orders-stat-card__label--active`},`در حال انجام`,-1),e(`span`,Ie,[a(Ce,{size:20})])]),e(`strong`,Le,u(S(T)(i.stats.inProgress)),1),e(`button`,{type:`button`,class:`orders-stat-card__link`,onClick:f[2]||=e=>c(`viewStatFilter`,`in_progress`)},` مشاهده همه `)]),e(`article`,Re,[e(`div`,ze,[f[10]||=e(`span`,{class:`orders-stat-card__label orders-stat-card__label--done`},`تکمیل شده`,-1),e(`span`,Be,[a(B,{size:20})])]),e(`strong`,Ve,u(S(T)(i.stats.done)),1),e(`button`,{type:`button`,class:`orders-stat-card__link`,onClick:f[3]||=e=>c(`viewStatFilter`,`delivered`)},` مشاهده همه `)])]),e(`div`,He,[e(`div`,Ue,[e(`button`,We,[a(V,{size:18}),f[11]||=n(` فیلترها `,-1)])]),e(`div`,Ge,[(r(!0),s(t,null,d(i.desktopFilterTabs,e=>(r(),s(`button`,{key:e.id,type:`button`,role:`tab`,class:l([`orders-filter-pill`,{"orders-filter-pill--active":i.desktopFilter===e.id}]),"aria-selected":i.desktopFilter===e.id,onClick:t=>c(`setDesktopFilter`,e.id)},u(e.label),11,Ke))),128))])]),i.filteredOrders.length>0?(r(),s(`div`,qe,[e(`div`,Je,[e(`table`,Ye,[f[12]||=e(`thead`,null,[e(`tr`,null,[e(`th`,{scope:`col`},`شماره سفارش`),e(`th`,{scope:`col`},`شرکت`),e(`th`,{scope:`col`},`مبلغ فاکتور (تومان)`),e(`th`,{scope:`col`},`وضعیت`),e(`th`,{scope:`col`},`تاریخ ثبت`),e(`th`,{scope:`col`},`عملیات`)])],-1),e(`tbody`,null,[(r(!0),s(t,null,d(i.paginatedOrders,t=>(r(),s(`tr`,{key:t.id},[e(`td`,Xe,u(t.orderNumber),1),e(`td`,null,u(t.companyName),1),e(`td`,Ze,u(t.finalAmount?S(T)(t.finalAmount):`—`),1),e(`td`,null,[a(Q,{status:t.status},null,8,[`status`])]),e(`td`,Qe,u(S(C)(t.createdAt)),1),e(`td`,null,[e(`div`,$e,[e(`button`,{type:`button`,class:`orders-table__action`,onClick:e=>c(`select`,t.id)},` مشاهده `,8,et),e(`button`,tt,[a(H,{size:18})])])])]))),128))])])]),e(`div`,$,[e(`span`,nt,` نمایش `+u(S(T)(i.paginationRange.start))+` تا `+u(S(T)(i.paginationRange.end))+` از `+u(S(T)(i.filteredOrders.length))+` سفارش `,1),e(`div`,rt,[e(`button`,{type:`button`,class:`orders-pagination__arrow`,disabled:i.currentPage<=1,"aria-label":`صفحه قبل`,onClick:f[4]||=e=>c(`setPage`,i.currentPage-1)},[a(N,{size:16,class:`orders-pagination__arrow-icon--prev`})],8,it),(r(!0),s(t,null,d(i.visiblePages,(e,n)=>(r(),s(t,{key:`${e}-${n}`},[e===`ellipsis`?(r(),s(`span`,at,`…`)):(r(),s(`button`,{key:1,type:`button`,class:l([`orders-pagination__page`,{"orders-pagination__page--active":e===i.currentPage}]),onClick:t=>c(`setPage`,e)},u(S(T)(e)),11,ot))],64))),128)),e(`button`,{type:`button`,class:`orders-pagination__arrow`,disabled:i.currentPage>=i.totalPages,"aria-label":`صفحه بعد`,onClick:f[5]||=e=>c(`setPage`,i.currentPage+1)},[a(N,{size:16,class:`orders-pagination__arrow-icon--next`})],8,st)])])])):(r(),g(P,{key:1,variant:`orders`,message:`هنوز سفارشی ثبت نکرده‌اید`},{default:y(()=>[a(M,{onClick:f[6]||=e=>c(`newOrder`)},{default:y(()=>[...f[13]||=[n(`ثبت سفارش جدید`,-1)]]),_:1})]),_:1}))]))}}),lt={class:`orders-view`},ut={key:0,class:`orders-view__success`,role:`status`},dt=v(c({__name:`OrdersView`,setup(e){let t=p(),{tab:n,desktopFilter:i,stats:c,filteredOrdersMobile:l,filteredOrdersDesktop:d,paginatedOrders:f,paginatedOrdersMobile:m,totalPages:h,mobileTotalPages:g,paginationRange:_,mobilePaginationRange:v,visiblePages:y,mobileVisiblePages:b,currentPage:x,mobilePage:C,companySlug:w,iconVariant:T,submitSuccessMessage:E,goToOrder:D,setPage:O,setMobilePage:k,setDesktopFilter:A,viewStatFilter:j}=X(),M=[{id:`all`,label:`همه`},{id:`active`,label:`در جریان`},{id:`done`,label:`تکمیل شده`},{id:`cancelled`,label:`لغو شده`}],N=[{id:`review`,label:`در انتظار بررسی`},{id:`in_progress`,label:`در حال انجام`},{id:`shipped`,label:`ارسال شده`},{id:`delivered`,label:`تحویل شده`},{id:`cancelled`,label:`لغو شده`}];return(e,p)=>(r(),s(`div`,lt,[S(E)?(r(),s(`p`,ut,u(S(E)),1)):o(``,!0),a(xe,{class:`mobile-only`,tab:S(n),tabs:M,orders:S(m),"total-count":S(l).length,"current-page":S(C),"total-pages":S(g),"pagination-range":S(v),"visible-pages":S(b),"company-slug":S(w),"icon-variant":S(T),"onUpdate:tab":p[0]||=e=>n.value=e,onSelect:S(D),onBack:p[1]||=e=>S(t).push(`/`),onSetPage:S(k)},null,8,[`tab`,`orders`,`total-count`,`current-page`,`total-pages`,`pagination-range`,`visible-pages`,`company-slug`,`icon-variant`,`onSelect`,`onSetPage`]),a(ct,{class:`desktop-only`,stats:S(c),"desktop-filter":S(i),"desktop-filter-tabs":N,"filtered-orders":S(d),"paginated-orders":S(f),"pagination-range":S(_),"visible-pages":S(y),"current-page":S(x),"total-pages":S(h),onViewStatFilter:S(j),onSetDesktopFilter:S(A),onSelect:S(D),onSetPage:S(O),onNewOrder:p[2]||=e=>S(t).push(`/categories`)},null,8,[`stats`,`desktop-filter`,`filtered-orders`,`paginated-orders`,`pagination-range`,`visible-pages`,`current-page`,`total-pages`,`onViewStatFilter`,`onSetDesktopFilter`,`onSelect`,`onSetPage`])]))}}),[[`__scopeId`,`data-v-66049c15`]]);export{dt as default}; \ No newline at end of file diff --git a/dist/assets/OtpView-BHcDwJCt.css b/dist/assets/OtpView-BHcDwJCt.css deleted file mode 100644 index 54d0d3a..0000000 --- a/dist/assets/OtpView-BHcDwJCt.css +++ /dev/null @@ -1 +0,0 @@ -.otp-page[data-v-850131cb]{isolation:isolate;color:#f4ede4;background:#1a1612;height:100%;min-height:100%;position:relative;overflow:hidden}.otp-page__bg[data-v-850131cb]{z-index:0;object-fit:cover;object-position:center center;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.otp-page__scroll[data-v-850131cb]{z-index:1;overscroll-behavior:contain;height:100%;position:relative;overflow:hidden auto}.otp-page__stage[data-v-850131cb]{width:100%;max-width:360px;min-height:100%;padding:calc(10px + env(safe-area-inset-top,0px)) 16px calc(14px + env(safe-area-inset-bottom,0px));flex-direction:column;margin-inline:auto;display:flex}.otp-top[data-v-850131cb]{justify-content:flex-end;align-items:center;min-height:36px;display:flex}.otp-top__back[data-v-850131cb]{color:#f3e6d6;cursor:pointer;background:#f4ede424;border:none;border-radius:999px;place-items:center;width:36px;height:36px;display:grid}.otp-brand[data-v-850131cb]{text-align:center;color:#f3e6d6;flex-direction:column;align-items:center;margin-top:18px;margin-bottom:18px;display:flex}.otp-brand__fa[data-v-850131cb]{margin:12px 0 0;font-size:1.625rem;font-weight:700;line-height:1.25}.otp-brand__en[data-v-850131cb]{letter-spacing:.28em;color:#ead7c0;margin:6px 0 0;font-size:.6875rem;font-weight:500}.otp-card[data-v-850131cb]{color:#2a2622;background:#f4f1ed;border:none;border-radius:28px;width:100%;margin:0;padding:22px 18px 18px;box-shadow:0 18px 40px #0c0a0838}.otp-card__title[data-v-850131cb]{text-align:center;color:#1c1b19;margin:0;font-size:1.0625rem;font-weight:700;line-height:1.5}.otp-card__lead[data-v-850131cb]{text-align:center;color:#8a847c;margin:6px 0 0;font-size:.75rem;line-height:1.7}.otp-card[data-v-850131cb] .form-error-banner{margin-top:14px;margin-bottom:0}.otp-row[data-v-850131cb]{justify-content:center;gap:10px;margin-top:18px;display:flex}.otp-box[data-v-850131cb]{color:#1c1b19;text-align:center;width:52px;height:56px;caret-color:var(--color-primary);background:#f7f5f1;border:1px solid #e4e0db;border-radius:16px;padding:0;font-family:inherit;font-size:1.25rem;font-weight:700;transition:border-color .15s}.otp-box[data-v-850131cb]:focus{border-color:var(--color-primary);background:#fff;outline:none}.otp-box--error[data-v-850131cb]{border-color:color-mix(in srgb, var(--color-danger) 55%, #e4e0db)}.otp-card__error[data-v-850131cb]{color:var(--color-danger);text-align:center;margin:8px 4px 0;font-size:.75rem}.otp-submit[data-v-850131cb]{color:#f7f4ef;cursor:pointer;background:#0a353c;border:none;border-radius:999px;justify-content:center;align-items:center;width:100%;height:48px;margin-top:16px;padding:0 44px;font-family:inherit;font-size:.9375rem;font-weight:600;transition:background .15s;display:flex;position:relative}.otp-submit[data-v-850131cb]:not(:disabled):hover,.otp-submit[data-v-850131cb]:not(:disabled):focus-visible{background:#072a2f}.otp-submit[data-v-850131cb]:disabled{opacity:.7;cursor:not-allowed}.otp-submit__chevron[data-v-850131cb]{place-items:center;display:grid;position:absolute;inset-inline-end:16px}.otp-submit__spinner[data-v-850131cb]{border:2px solid #ffffff47;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite otp-spin-850131cb;position:absolute;inset-inline-start:16px}.otp-resend[data-v-850131cb]{color:#6f6b66;cursor:pointer;background:0 0;border:1px solid #d8d3cd;border-radius:999px;width:100%;height:48px;margin-top:10px;font-family:inherit;font-size:.875rem;font-weight:500}.otp-resend[data-v-850131cb]:disabled{opacity:.7;cursor:not-allowed}.otp-edit[data-v-850131cb]{color:#8a847c;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:14px;font-family:inherit;font-size:.8125rem;display:flex}.otp-spacer[data-v-850131cb]{flex:auto;min-height:16px}.otp-watermark[data-v-850131cb]{color:#f4ede494;letter-spacing:.2em;text-align:left;direction:ltr;margin:0;padding-bottom:8px;font-size:.625rem;font-weight:600;line-height:1.35}@keyframes otp-spin-850131cb{to{transform:rotate(360deg)}}@media (width>=768px){.otp-page[data-v-850131cb]{max-width:none;height:100%;min-height:0;margin:0;padding:0;overflow:hidden}} diff --git a/dist/assets/OtpView-Y5vnVmmF.js b/dist/assets/OtpView-CqTNOZUE.js similarity index 97% rename from dist/assets/OtpView-Y5vnVmmF.js rename to dist/assets/OtpView-CqTNOZUE.js index f06556b..e455656 100644 --- a/dist/assets/OtpView-Y5vnVmmF.js +++ b/dist/assets/OtpView-CqTNOZUE.js @@ -1 +1 @@ -import{A as e,D as t,E as n,I as r,J as i,K as ee,L as a,M as o,N as s,R as c,St as l,Tt as u,W as te,X as ne,_ as re,g as d,k as f,n as p,pt as m,xt as h}from"./BasicIcon-B6lR-mG3.js";import{l as ie}from"./dist-BcgVHqJQ.js";import{c as ae,t as g,u as _}from"./format-BHJptHdF.js";import{c as oe,f as se,m as ce,o as le}from"./index-DHK6R1xK.js";import{t as ue}from"./IconChevronBack-BXRfc2bX.js";import{t as de}from"./FormErrorBanner-8PcsTbdO.js";import{n as v,r as y,t as b}from"./formErrors-DglFjYkZ.js";import{t as x}from"./login-fabric-CzrIXTnD.js";import{t as fe}from"./IconEditPen-CppsBLM9.js";var pe={class:`page otp-page`},me=[`src`],he={class:`otp-page__scroll`},S={class:`otp-page__stage`},C={class:`otp-top`},w={class:`otp-brand`},T={class:`otp-card__lead`},E={dir:`ltr`},D={class:`otp-row`,dir:`ltr`,role:`group`,"aria-label":`کد تأیید`},O=[`id`,`value`,`aria-label`,`onInput`,`onKeydown`,`onPaste`],k={key:0,class:`otp-card__error`},A=[`disabled`],j={key:0,class:`otp-submit__spinner`,"aria-hidden":`true`},M={class:`otp-submit__chevron`,"aria-hidden":`true`},N=[`disabled`],P={dir:`ltr`},F=4,I=60,L=p(c({__name:`OtpView`,setup(c){let p=d(),L=re(),R=oe(),z=f(()=>{let e=p.query.phone,t=Array.isArray(e)?e[0]:e;return ae(typeof t==`string`?t:``)}),B=f(()=>p.query.mode===`register`),V=m(Array.from({length:F},()=>``)),H=m([]),U=m({}),W=m(``),G=m(I),K=f(()=>V.value.join(``)),q=f(()=>G.value<=0&&!R.loading),ge=f(()=>{let e=Math.floor(G.value/60),t=G.value%60,n=`${String(e).padStart(2,`0`)}:${String(t).padStart(2,`0`)}`;return _(n)}),{pause:_e,resume:ve}=ie(()=>{if(G.value<=1){G.value=0,_e();return}--G.value},1e3,{immediate:!1});function J(){U.value=v(U.value,`code`),y(U.value)||(W.value=``)}function ye(e,t){H.value[t]=e}function Y(e){let t=Math.max(0,Math.min(3,e));te(()=>H.value[t]?.focus())}function X(){G.value=I,ve()}function Z(e,t=0){let n=g(e).slice(0,F-t);if(!n)return t;let r=[...V.value],i=t;for(let e of n){if(i>=F)break;r[i]=e,i+=1}return V.value=r,J(),Math.min(i,3)}function Q(){K.value.length===F&&!R.loading&&$()}function be(e,t){let n=t.target,r=g(n.value);if(r.length>1){let t=Z(r,e);n.value=V.value[e]??``,Y(t),Q();return}let i=r.slice(-1);V.value[e]=i,n.value=i,J(),i&&e<3?Y(e+1):i&&Q()}function xe(e,t){if(t.key===`Backspace`){if(V.value[e]){V.value[e]=``,J();return}e>0&&(V.value[e-1]=``,J(),Y(e-1));return}if(t.key===`ArrowLeft`){t.preventDefault(),Y(e-1);return}t.key===`ArrowRight`&&(t.preventDefault(),Y(e+1))}function Se(e,t){t.preventDefault(),Y(Z(t.clipboardData?.getData(`text`)??``,e)),Q()}function Ce(e){return e?_(e):``}async function $(){if(R.loading)return;U.value={},W.value=``;let e={};if(K.value.length``),Y(0))}async function we(){if(!q.value)return;W.value=``,U.value={};let e=B.value?se():null;if(B.value&&!e){W.value=`برای ارسال مجدد کد، نام و نام خانوادگی لازم است. لطفاً دوباره ثبت‌نام را شروع کنید.`;return}let t=await R.requestOtp(z.value,{isRegister:B.value,firstName:e?.firstName,lastName:e?.lastName});t.success?(V.value=Array.from({length:F},()=>``),X(),Y(0)):W.value=t.message??`خطا در ارسال مجدد کد.`}function Te(){L.replace({name:B.value?`register`:`login`})}return ee(()=>{if(!z.value){L.replace({name:`login`});return}X(),Y(0)}),(ee,c)=>(i(),s(`div`,pe,[e(`img`,{class:`otp-page__bg`,src:h(x),alt:``},null,8,me),e(`div`,he,[e(`div`,S,[e(`header`,C,[e(`button`,{type:`button`,class:`otp-top__back`,"aria-label":`بازگشت`,onClick:c[0]||=e=>h(L).push(B.value?`/register`:`/login`)},[a(ue,{size:20})])]),e(`div`,w,[a(ce,{size:72}),c[1]||=e(`h1`,{class:`otp-brand__fa`},`نادمی تکس`,-1),c[2]||=e(`p`,{class:`otp-brand__en`},`NADEMITEX`,-1)]),e(`form`,{class:`otp-card`,onSubmit:n($,[`prevent`])},[c[7]||=e(`h2`,{class:`otp-card__title`},`تأیید موبایل`,-1),e(`p`,T,[c[3]||=r(` کد ارسال‌شده به `,-1),e(`span`,E,u(h(_)(z.value)),1),c[4]||=r(` را وارد کنید. `,-1)]),a(de,{message:W.value},null,8,[`message`]),e(`div`,D,[(i(!0),s(t,null,ne(V.value,(e,t)=>(i(),s(`input`,{id:`otp-${t}`,key:t,ref_for:!0,ref:e=>ye(e,t),class:l([`otp-box`,{"otp-box--error":U.value.code}]),type:`text`,inputmode:`numeric`,autocomplete:`one-time-code`,maxlength:`1`,value:Ce(e),"aria-label":`رقم ${h(_)(String(t+1))}`,onInput:e=>be(t,e),onKeydown:e=>xe(t,e),onPaste:e=>Se(t,e)},null,42,O))),128))]),U.value.code?(i(),s(`p`,k,u(U.value.code),1)):o(``,!0),e(`button`,{class:`otp-submit`,type:`submit`,disabled:h(R).loading},[h(R).loading?(i(),s(`span`,j)):o(``,!0),e(`span`,M,[a(le,{size:18,color:`#F4EDE4`})]),c[5]||=e(`span`,null,`تأیید و ورود`,-1)],8,A),e(`button`,{class:`otp-resend`,type:`button`,disabled:!q.value,onClick:we},[q.value?(i(),s(t,{key:0},[r(`ارسال مجدد کد`)],64)):(i(),s(t,{key:1},[r(`ارسال مجدد کد (`+u(ge.value)+`)`,1)],64))],8,N),e(`button`,{type:`button`,class:`otp-edit`,onClick:Te},[e(`span`,P,u(h(_)(z.value)),1),c[6]||=e(`span`,null,`ویرایش شماره`,-1),a(fe,{size:16,"stroke-width":1.5})])],32),c[8]||=e(`div`,{class:`otp-spacer`,"aria-hidden":`true`},null,-1),c[9]||=e(`p`,{class:`otp-watermark`},[r(`MORE`),e(`br`),r(`THAN`),e(`br`),r(`FABRIC`)],-1)])])]))}}),[[`__scopeId`,`data-v-850131cb`]]);export{L as default}; \ No newline at end of file +import{A as e,D as t,E as n,I as r,J as i,K as ee,L as a,M as o,N as s,R as c,St as l,Tt as u,W as te,X as ne,_ as re,g as d,k as f,n as p,pt as m,xt as h}from"./BasicIcon-B6lR-mG3.js";import{l as ie}from"./dist-BcgVHqJQ.js";import{c as ae,t as g,u as _}from"./format-BHJptHdF.js";import{c as oe,f as se,m as ce,o as le}from"./index-B20WsQhf.js";import{t as ue}from"./IconChevronBack-BXRfc2bX.js";import{t as de}from"./FormErrorBanner-8PcsTbdO.js";import{n as v,r as y,t as b}from"./formErrors-DglFjYkZ.js";import{t as x}from"./login-fabric-CzrIXTnD.js";import{t as fe}from"./IconEditPen-CppsBLM9.js";var pe={class:`page otp-page`},me=[`src`],he={class:`otp-page__scroll`},S={class:`otp-page__stage`},C={class:`otp-top`},w={class:`otp-brand`},T={class:`otp-card__lead`},E={dir:`ltr`},D={class:`otp-row`,dir:`ltr`,role:`group`,"aria-label":`کد تأیید`},O=[`id`,`value`,`aria-label`,`onInput`,`onKeydown`,`onPaste`],k={key:0,class:`otp-card__error`},A=[`disabled`],j={key:0,class:`otp-submit__spinner`,"aria-hidden":`true`},M={class:`otp-submit__chevron`,"aria-hidden":`true`},N=[`disabled`],P={dir:`ltr`},F=4,I=60,L=p(c({__name:`OtpView`,setup(c){let p=d(),L=re(),R=oe(),z=f(()=>{let e=p.query.phone,t=Array.isArray(e)?e[0]:e;return ae(typeof t==`string`?t:``)}),B=f(()=>p.query.mode===`register`),V=m(Array.from({length:F},()=>``)),H=m([]),U=m({}),W=m(``),G=m(I),K=f(()=>V.value.join(``)),q=f(()=>G.value<=0&&!R.loading),ge=f(()=>{let e=Math.floor(G.value/60),t=G.value%60,n=`${String(e).padStart(2,`0`)}:${String(t).padStart(2,`0`)}`;return _(n)}),{pause:_e,resume:ve}=ie(()=>{if(G.value<=1){G.value=0,_e();return}--G.value},1e3,{immediate:!1});function J(){U.value=v(U.value,`code`),y(U.value)||(W.value=``)}function ye(e,t){H.value[t]=e}function Y(e){let t=Math.max(0,Math.min(3,e));te(()=>H.value[t]?.focus())}function X(){G.value=I,ve()}function Z(e,t=0){let n=g(e).slice(0,F-t);if(!n)return t;let r=[...V.value],i=t;for(let e of n){if(i>=F)break;r[i]=e,i+=1}return V.value=r,J(),Math.min(i,3)}function Q(){K.value.length===F&&!R.loading&&$()}function be(e,t){let n=t.target,r=g(n.value);if(r.length>1){let t=Z(r,e);n.value=V.value[e]??``,Y(t),Q();return}let i=r.slice(-1);V.value[e]=i,n.value=i,J(),i&&e<3?Y(e+1):i&&Q()}function xe(e,t){if(t.key===`Backspace`){if(V.value[e]){V.value[e]=``,J();return}e>0&&(V.value[e-1]=``,J(),Y(e-1));return}if(t.key===`ArrowLeft`){t.preventDefault(),Y(e-1);return}t.key===`ArrowRight`&&(t.preventDefault(),Y(e+1))}function Se(e,t){t.preventDefault(),Y(Z(t.clipboardData?.getData(`text`)??``,e)),Q()}function Ce(e){return e?_(e):``}async function $(){if(R.loading)return;U.value={},W.value=``;let e={};if(K.value.length``),Y(0))}async function we(){if(!q.value)return;W.value=``,U.value={};let e=B.value?se():null;if(B.value&&!e){W.value=`برای ارسال مجدد کد، نام و نام خانوادگی لازم است. لطفاً دوباره ثبت‌نام را شروع کنید.`;return}let t=await R.requestOtp(z.value,{isRegister:B.value,firstName:e?.firstName,lastName:e?.lastName});t.success?(V.value=Array.from({length:F},()=>``),X(),Y(0)):W.value=t.message??`خطا در ارسال مجدد کد.`}function Te(){L.replace({name:B.value?`register`:`login`})}return ee(()=>{if(!z.value){L.replace({name:`login`});return}X(),Y(0)}),(ee,c)=>(i(),s(`div`,pe,[e(`img`,{class:`otp-page__bg`,src:h(x),alt:``},null,8,me),e(`div`,he,[e(`div`,S,[e(`header`,C,[e(`button`,{type:`button`,class:`otp-top__back`,"aria-label":`بازگشت`,onClick:c[0]||=e=>h(L).push(B.value?`/register`:`/login`)},[a(ue,{size:20})])]),e(`div`,w,[a(ce,{size:72}),c[1]||=e(`h1`,{class:`otp-brand__fa`},`نادمی تکس`,-1),c[2]||=e(`p`,{class:`otp-brand__en`},`NADEMITEX`,-1)]),e(`form`,{class:`otp-card`,onSubmit:n($,[`prevent`])},[c[7]||=e(`h2`,{class:`otp-card__title`},`تأیید موبایل`,-1),e(`p`,T,[c[3]||=r(` کد ارسال‌شده به `,-1),e(`span`,E,u(h(_)(z.value)),1),c[4]||=r(` را وارد کنید. `,-1)]),a(de,{message:W.value},null,8,[`message`]),e(`div`,D,[(i(!0),s(t,null,ne(V.value,(e,t)=>(i(),s(`input`,{id:`otp-${t}`,key:t,ref_for:!0,ref:e=>ye(e,t),class:l([`otp-box`,{"otp-box--error":U.value.code}]),type:`text`,inputmode:`numeric`,autocomplete:`one-time-code`,maxlength:`1`,value:Ce(e),"aria-label":`رقم ${h(_)(String(t+1))}`,onInput:e=>be(t,e),onKeydown:e=>xe(t,e),onPaste:e=>Se(t,e)},null,42,O))),128))]),U.value.code?(i(),s(`p`,k,u(U.value.code),1)):o(``,!0),e(`button`,{class:`otp-submit`,type:`submit`,disabled:h(R).loading},[h(R).loading?(i(),s(`span`,j)):o(``,!0),e(`span`,M,[a(le,{size:18,color:`#F4EDE4`})]),c[5]||=e(`span`,null,`تأیید و ورود`,-1)],8,A),e(`button`,{class:`otp-resend`,type:`button`,disabled:!q.value,onClick:we},[q.value?(i(),s(t,{key:0},[r(`ارسال مجدد کد`)],64)):(i(),s(t,{key:1},[r(`ارسال مجدد کد (`+u(ge.value)+`)`,1)],64))],8,N),e(`button`,{type:`button`,class:`otp-edit`,onClick:Te},[e(`span`,P,u(h(_)(z.value)),1),c[6]||=e(`span`,null,`ویرایش شماره`,-1),a(fe,{size:16,"stroke-width":1.5})])],32),c[8]||=e(`div`,{class:`otp-spacer`,"aria-hidden":`true`},null,-1),c[9]||=e(`p`,{class:`otp-watermark`},[r(`MORE`),e(`br`),r(`THAN`),e(`br`),r(`FABRIC`)],-1)])])]))}}),[[`__scopeId`,`data-v-ca2f5cfe`]]);export{L as default}; \ No newline at end of file diff --git a/dist/assets/OtpView-D50bP3mT.css b/dist/assets/OtpView-D50bP3mT.css new file mode 100644 index 0000000..5677923 --- /dev/null +++ b/dist/assets/OtpView-D50bP3mT.css @@ -0,0 +1 @@ +.otp-page[data-v-ca2f5cfe]{isolation:isolate;color:#f4ede4;background:#1a1612;height:100%;min-height:100%;position:relative;overflow:hidden}.otp-page__bg[data-v-ca2f5cfe]{z-index:0;object-fit:cover;object-position:center center;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.otp-page__scroll[data-v-ca2f5cfe]{z-index:1;overscroll-behavior:contain;height:100%;position:relative;overflow:hidden auto}.otp-page__stage[data-v-ca2f5cfe]{width:100%;max-width:390px;min-height:100%;padding:calc(10px + env(safe-area-inset-top,0px)) 16px calc(14px + env(safe-area-inset-bottom,0px));box-sizing:border-box;flex-direction:column;margin-inline:auto;display:flex}.otp-top[data-v-ca2f5cfe]{justify-content:flex-end;align-items:center;min-height:36px;display:flex}.otp-top__back[data-v-ca2f5cfe]{color:#f3e6d6;cursor:pointer;background:#f4ede424;border:none;border-radius:999px;place-items:center;width:36px;height:36px;display:grid}.otp-brand[data-v-ca2f5cfe]{text-align:center;color:#f3e6d6;flex-direction:column;align-items:center;margin-top:18px;margin-bottom:18px;display:flex}.otp-brand__fa[data-v-ca2f5cfe]{margin:12px 0 0;font-size:1.625rem;font-weight:700;line-height:1.25}.otp-brand__en[data-v-ca2f5cfe]{letter-spacing:.28em;color:#ead7c0;margin:6px 0 0;font-size:.6875rem;font-weight:500}.otp-card[data-v-ca2f5cfe]{color:#2a2622;background:#f4f1ed;border:none;border-radius:28px;width:100%;margin:0;padding:22px 18px 18px;box-shadow:0 18px 40px #0c0a0838}.otp-card__title[data-v-ca2f5cfe]{text-align:center;color:#1c1b19;margin:0;font-size:1.0625rem;font-weight:700;line-height:1.5}.otp-card__lead[data-v-ca2f5cfe]{text-align:center;color:#8a847c;margin:6px 0 0;font-size:.75rem;line-height:1.7}.otp-card[data-v-ca2f5cfe] .form-error-banner{margin-top:14px;margin-bottom:0}.otp-row[data-v-ca2f5cfe]{justify-content:center;gap:10px;margin-top:18px;display:flex}.otp-box[data-v-ca2f5cfe]{color:#1c1b19;text-align:center;width:52px;height:56px;caret-color:var(--color-primary);background:#f7f5f1;border:1px solid #e4e0db;border-radius:16px;padding:0;font-family:inherit;font-size:1.25rem;font-weight:700;transition:border-color .15s}.otp-box[data-v-ca2f5cfe]:focus{border-color:var(--color-primary);background:#fff;outline:none}.otp-box--error[data-v-ca2f5cfe]{border-color:color-mix(in srgb, var(--color-danger) 55%, #e4e0db)}.otp-card__error[data-v-ca2f5cfe]{color:var(--color-danger);text-align:center;margin:8px 4px 0;font-size:.75rem}.otp-submit[data-v-ca2f5cfe]{color:#f7f4ef;cursor:pointer;background:#0a353c;border:none;border-radius:999px;justify-content:center;align-items:center;width:100%;height:48px;margin-top:16px;padding:0 44px;font-family:inherit;font-size:.9375rem;font-weight:600;transition:background .15s;display:flex;position:relative}.otp-submit[data-v-ca2f5cfe]:not(:disabled):hover,.otp-submit[data-v-ca2f5cfe]:not(:disabled):focus-visible{background:#072a2f}.otp-submit[data-v-ca2f5cfe]:disabled{opacity:.7;cursor:not-allowed}.otp-submit__chevron[data-v-ca2f5cfe]{place-items:center;display:grid;position:absolute;inset-inline-end:16px}.otp-submit__spinner[data-v-ca2f5cfe]{border:2px solid #ffffff47;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite otp-spin-ca2f5cfe;position:absolute;inset-inline-start:16px}.otp-resend[data-v-ca2f5cfe]{color:#6f6b66;cursor:pointer;background:0 0;border:1px solid #d8d3cd;border-radius:999px;width:100%;height:48px;margin-top:10px;font-family:inherit;font-size:.875rem;font-weight:500}.otp-resend[data-v-ca2f5cfe]:disabled{opacity:.7;cursor:not-allowed}.otp-edit[data-v-ca2f5cfe]{color:#8a847c;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:14px;font-family:inherit;font-size:.8125rem;display:flex}.otp-spacer[data-v-ca2f5cfe]{flex:auto;min-height:16px}.otp-watermark[data-v-ca2f5cfe]{color:#f4ede494;letter-spacing:.2em;text-align:left;direction:ltr;margin:0;padding-bottom:8px;font-size:.625rem;font-weight:600;line-height:1.35}@keyframes otp-spin-ca2f5cfe{to{transform:rotate(360deg)}}@media (width>=768px){.otp-page[data-v-ca2f5cfe]{max-width:none;height:100%;min-height:0;margin:0;padding:0;overflow:hidden}} diff --git a/dist/assets/PageHeader-Cza56lK4.js b/dist/assets/PageHeader-DXkA75qK.js similarity index 95% rename from dist/assets/PageHeader-Cza56lK4.js rename to dist/assets/PageHeader-DXkA75qK.js index 3cfa08f..20d9729 100644 --- a/dist/assets/PageHeader-Cza56lK4.js +++ b/dist/assets/PageHeader-DXkA75qK.js @@ -1 +1 @@ -import{A as e,D as t,J as n,L as r,M as i,N as a,R as o,Tt as s,Z as c,n as l}from"./BasicIcon-B6lR-mG3.js";import{i as u}from"./index-DHK6R1xK.js";import{t as d}from"./IconChevronBack-BXRfc2bX.js";var f={class:`page-nav`},p={key:1,class:`nav-btn`},m={class:`page-nav__title`},h={class:`page-nav__trailing`},g={key:0,class:`page-nav__subtitle`},_={key:1,class:`page-header`},v={class:`header-text`},y={class:`page-title`},b={key:0,class:`page-subtitle`},x={class:`page-header__trailing`},S=l(o({__name:`PageHeader`,props:{title:{},subtitle:{},showBack:{type:Boolean},centered:{type:Boolean}},emits:[`back`],setup(o){return(l,S)=>o.centered?(n(),a(t,{key:0},[e(`header`,f,[o.showBack?(n(),a(`button`,{key:0,type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:S[0]||=e=>l.$emit(`back`)},[r(d,{size:20})])):(n(),a(`span`,p)),e(`h1`,m,s(o.title),1),e(`div`,h,[c(l.$slots,`trailing`,{},void 0,!0),r(u,{variant:`inline`,class:`mobile-only`})])]),o.subtitle?(n(),a(`p`,g,s(o.subtitle),1)):i(``,!0)],64)):(n(),a(`header`,_,[o.showBack?(n(),a(`button`,{key:0,type:`button`,class:`back-btn`,"aria-label":`بازگشت`,onClick:S[1]||=e=>l.$emit(`back`)},[r(d,{size:20})])):i(``,!0),e(`div`,v,[e(`h1`,y,s(o.title),1),o.subtitle?(n(),a(`p`,b,s(o.subtitle),1)):i(``,!0)]),e(`div`,x,[c(l.$slots,`trailing`,{},void 0,!0),r(u,{variant:`inline`,class:`mobile-only`})])]))}}),[[`__scopeId`,`data-v-dd86426f`]]);export{S as t}; \ No newline at end of file +import{A as e,D as t,J as n,L as r,M as i,N as a,R as o,Tt as s,Z as c,n as l}from"./BasicIcon-B6lR-mG3.js";import{i as u}from"./index-B20WsQhf.js";import{t as d}from"./IconChevronBack-BXRfc2bX.js";var f={class:`page-nav`},p={key:1,class:`nav-btn`},m={class:`page-nav__title`},h={class:`page-nav__trailing`},g={key:0,class:`page-nav__subtitle`},_={key:1,class:`page-header`},v={class:`header-text`},y={class:`page-title`},b={key:0,class:`page-subtitle`},x={class:`page-header__trailing`},S=l(o({__name:`PageHeader`,props:{title:{},subtitle:{},showBack:{type:Boolean},centered:{type:Boolean}},emits:[`back`],setup(o){return(l,S)=>o.centered?(n(),a(t,{key:0},[e(`header`,f,[o.showBack?(n(),a(`button`,{key:0,type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:S[0]||=e=>l.$emit(`back`)},[r(d,{size:20})])):(n(),a(`span`,p)),e(`h1`,m,s(o.title),1),e(`div`,h,[c(l.$slots,`trailing`,{},void 0,!0),r(u,{variant:`inline`,class:`mobile-only`})])]),o.subtitle?(n(),a(`p`,g,s(o.subtitle),1)):i(``,!0)],64)):(n(),a(`header`,_,[o.showBack?(n(),a(`button`,{key:0,type:`button`,class:`back-btn`,"aria-label":`بازگشت`,onClick:S[1]||=e=>l.$emit(`back`)},[r(d,{size:20})])):i(``,!0),e(`div`,v,[e(`h1`,y,s(o.title),1),o.subtitle?(n(),a(`p`,b,s(o.subtitle),1)):i(``,!0)]),e(`div`,x,[c(l.$slots,`trailing`,{},void 0,!0),r(u,{variant:`inline`,class:`mobile-only`})])]))}}),[[`__scopeId`,`data-v-dd86426f`]]);export{S as t}; \ No newline at end of file diff --git a/dist/assets/ProductDetailView-DEtSQj9H.js b/dist/assets/ProductDetailView-VjRdY1Zl.js similarity index 99% rename from dist/assets/ProductDetailView-DEtSQj9H.js rename to dist/assets/ProductDetailView-VjRdY1Zl.js index 8e69366..337e698 100644 --- a/dist/assets/ProductDetailView-DEtSQj9H.js +++ b/dist/assets/ProductDetailView-VjRdY1Zl.js @@ -1 +1 @@ -import{A as e,D as t,I as n,J as r,K as i,L as a,M as o,N as s,R as c,St as l,Tt as u,X as d,_ as ee,et as te,g as ne,k as f,n as p,pt as m,wt as h,xt as g}from"./BasicIcon-B6lR-mG3.js";import{o as _}from"./format-BHJptHdF.js";import{t as re}from"./catalog-DNpqlweh.js";import{E as ie,l as ae,w as oe,x as se}from"./index-DHK6R1xK.js";import{t as ce}from"./IconChevronBack-BXRfc2bX.js";import{t as le}from"./PageSkeleton-BImjuI6S.js";import{t as ue}from"./IconShare-CoOzZmBa.js";import{a as de,i as fe,t as pe}from"./crm-DbcoqKAF.js";import{t as me}from"./useGoBack-yePcdjuj.js";import{t as he}from"./IconShoppingBag-DW_Of8if.js";import{t as ge}from"./IconHeart-DjMqqdO0.js";var _e={key:0,class:`page product-detail`},v={class:`pd-header`},y={class:`pd-header__actions`},b=[`aria-label`,`aria-pressed`],x={class:`page__scroll pd-scroll`},S={class:`gallery`},C={class:`gallery__count`},w={class:`gallery__thumbs`},T=[`onClick`],E={class:`pd-body`},D={class:`title-row`},O={key:0,class:`new-badge`},k={class:`code`},A={class:`specs`},j={class:`spec-cell`},M={class:`spec-cell`},N={class:`spec-cell`},P={class:`spec-icon`,"aria-hidden":`true`},F={class:`spec-cell`},I={key:0,class:`specs-extra`},ve={class:`pd-section pd-section--boxed`},ye={class:`section-head`},be={class:`colors`},xe=[`onClick`],Se={class:`pd-section`},Ce={class:`tags`,role:`list`},we=[`onClick`],Te={class:`pd-section`},Ee={class:`roll-field`},De={class:`pd-footer`},Oe={class:`pd-footer__primary`},ke=[`disabled`],Ae={class:`min-note`},je={key:1,class:`page empty`},Me={key:2,class:`page empty`},L=p(c({__name:`ProductDetailView`,setup(c){let p={suit:`پارچه کت‌شلواری`,trousers:`پارچه شلواری`,shirt:`پارچه پیراهنی`},L={summer:`پارچه تابستانه`,winter:`پارچه زمستانه`,all_season:`پارچه چهارفصل`},Ne=ne(),R=ee(),{goBack:z}=me(`/products`),Pe=pe(),B=ae(),Fe=ie(),Ie=re(),V=f(()=>String(Ne.query.id??``)),H=m(null),U=m(!0),W=m(null),G=m(0),K=m(1),q=m(!1),J=m(!1),Y=f(()=>H.value?.rollMeters??50),X=f(()=>K.value*Y.value),Le=f(()=>{let e=H.value?.minMeterage;return e&&e>0?e:Y.value}),Z=f(()=>Math.max(1,Math.ceil(Le.value/Y.value))),Re=f(()=>p[H.value?.categoryId??``]||`—`),Q=f(()=>L[H.value?.season??``]||`—`),ze=f(()=>{let e=H.value;if(!e)return[];let t=[],n=de.some(t=>t.id===e.categoryId)?e.categoryId:``,r=n?p[n]:``;r&&t.push({key:`usage-${n}`,label:r,to:{path:`/products`,query:{categoryId:n}}});let i=fe.some(t=>t.id===e.season)?e.season:``,a=i?L[i]:``;a&&t.push({key:`season-${i}`,label:a,to:{path:`/products`,query:{season:i}}});let o=new Set(t.flatMap(e=>[e.label,e.label.replace(/^پارچه\s*/,``)]));for(let n of e.tags){let e=n.replace(/^پارچه‌?های?\s*/,``).trim();if(!e||o.has(e)||t.some(t=>t.label.includes(e)))continue;let r=n.startsWith(`پارچه`)?n:`پارچه ${e}`;o.add(e),t.push({key:`tag-${n}`,label:r})}return t});async function $(){if(!V.value){H.value=null,U.value=!1;return}U.value=!0,W.value=null;try{await Promise.all([B.hydrate(),Ie.loadCompanies()]),H.value=await Pe.loadProductById(V.value),G.value=0,K.value=Z.value}catch(e){H.value=null,W.value=e instanceof Error?e.message:`محصول یافت نشد.`}finally{U.value=!1}}i($),te(V,$);function Be(e){let t=e.rollMeters||50,n=e.orderMultiplier&&e.orderMultiplier>0?e.orderMultiplier:t,r=e.minMeterage&&e.minMeterage>0?e.minMeterage:t;return{id:e.id,companyId:e.companyId||``,catalogId:e.catalogId||``,name:e.name,code:e.code,color:e.color||e.colors[G.value]||`—`,minMeterage:r,orderMultiplier:n,basePrice:e.basePrice,isActive:!0}}function Ve(e,t,n){let r=t>0?t:1,i=Math.ceil(e/r)*r,a=Math.ceil(n/r)*r;return Math.max(i,a)}async function He(){if(!H.value)return;let e=Be(H.value);q.value=!0;try{let t=Ve(X.value,e.orderMultiplier,e.minMeterage);await Fe.addItem(e,H.value.catalogCode||H.value.code,t)}finally{q.value=!1}}function Ue(){H.value&&B.toggle(H.value.id)}function We(){let e=window.location.href;if(navigator.share){navigator.share({title:H.value?.name,url:e}).catch(()=>void 0);return}navigator.clipboard?.writeText(e)}return(i,c)=>H.value?(r(),s(`div`,_e,[e(`header`,v,[e(`button`,{type:`button`,class:`icon-btn`,"aria-label":`بازگشت`,onClick:c[0]||=(...e)=>g(z)&&g(z)(...e)},[a(ce,{size:20})]),e(`div`,y,[e(`button`,{type:`button`,class:`icon-btn`,"aria-label":g(B).isFavorite(H.value.id)?`حذف از علاقه‌مندی‌ها`:`افزودن به علاقه‌مندی‌ها`,"aria-pressed":g(B).isFavorite(H.value.id),onClick:Ue},[a(ge,{size:20,filled:g(B).isFavorite(H.value.id),color:g(B).isFavorite(H.value.id)?`#0a353c`:void 0},null,8,[`filled`,`color`])],8,b),e(`button`,{type:`button`,class:`icon-btn`,"aria-label":`اشتراک‌گذاری`,onClick:We},[a(ue,{size:20})])])]),e(`div`,x,[e(`div`,S,[e(`div`,{class:`gallery__main`,style:h(H.value.imageUrl?{backgroundImage:`url(${H.value.imageUrl})`,backgroundSize:`cover`,backgroundPosition:`center`}:{background:H.value.colors[G.value]||`#6b7280`})},[e(`span`,C,u(g(_)(G.value+1))+`/`+u(g(_)(Math.max(H.value.colors.length,1))),1)],4),e(`div`,w,[(r(!0),s(t,null,d(H.value.colors,(t,n)=>(r(),s(`button`,{key:n,type:`button`,class:l([`thumb`,{"thumb--active":G.value===n}]),onClick:e=>G.value=n},[e(`span`,{class:`thumb__swatch`,style:h({background:t})},null,4)],10,T))),128))])]),e(`div`,E,[e(`div`,D,[e(`h1`,null,u(H.value.name),1),H.value.isNew?(r(),s(`span`,O,`جدید`)):o(``,!0)]),e(`p`,k,`کد محصول: `+u(H.value.code),1),e(`div`,A,[e(`div`,j,[c[4]||=e(`span`,{class:`spec-icon`,"aria-hidden":`true`},[e(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.6`},[e(`rect`,{x:`4`,y:`8`,width:`16`,height:`8`,rx:`2`})])],-1),c[5]||=e(`span`,null,`عرض`,-1),e(`strong`,null,u(g(_)(H.value.widthCm))+` سانتی‌متر`,1)]),e(`div`,M,[c[6]||=e(`span`,{class:`spec-icon`,"aria-hidden":`true`},[e(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.6`},[e(`path`,{d:`M12 3.5 20 8v8l-8 4.5L4 16V8l8-4.5Z`})])],-1),c[7]||=e(`span`,null,`جنس`,-1),e(`strong`,null,u(H.value.composition||`—`),1)]),e(`div`,N,[e(`span`,P,[a(he,{size:22,color:`#98a2ad`})]),c[8]||=e(`span`,null,`وزن`,-1),e(`strong`,null,u(H.value.weightGrams?`${g(_)(H.value.weightGrams)} گرم`:`—`),1)]),e(`div`,F,[c[9]||=e(`span`,{class:`spec-icon`,"aria-hidden":`true`},[e(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.6`},[e(`circle`,{cx:`12`,cy:`12`,r:`8`}),e(`path`,{d:`M12 8a6 6 0 0 1 0 8`})])],-1),c[10]||=e(`span`,null,`نوع بافت`,-1),e(`strong`,null,u(H.value.weaveType||`—`),1)])]),e(`button`,{type:`button`,class:`specs-more`,onClick:c[1]||=e=>J.value=!J.value},[n(u(J.value?`بستن مشخصات`:`مشاهده همه مشخصات`)+` `,1),(r(),s(`svg`,{class:l([`specs-more__chevron`,{"is-open":J.value}]),viewBox:`0 0 12 12`,"aria-hidden":`true`},[...c[11]||=[e(`path`,{d:`M3 4.5 6 8l3-3.5`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.4`,"stroke-linecap":`round`},null,-1)]],2))]),J.value?(r(),s(`div`,I,[e(`p`,null,`فصل: `+u(Q.value),1),e(`p`,null,`دسته: `+u(Re.value),1),e(`p`,null,`جمع سفارش: `+u(g(_)(X.value))+` متر`,1)])):o(``,!0),e(`section`,ve,[e(`div`,ye,[c[12]||=e(`h2`,null,`رنگ‌بندی`,-1),e(`span`,null,`(`+u(g(_)(H.value.colors.length))+` رنگ موجود)`,1)]),e(`div`,be,[(r(!0),s(t,null,d(H.value.colors,(e,t)=>(r(),s(`button`,{key:t,type:`button`,class:l([`color-dot`,{"color-dot--active":G.value===t}]),style:h({background:e}),onClick:e=>G.value=t},null,14,xe))),128))])]),e(`section`,Se,[c[13]||=e(`h2`,{class:`section-title`},`دسته‌بندی`,-1),e(`div`,Ce,[(r(!0),s(t,null,d(ze.value,e=>(r(),s(`button`,{key:e.key,type:`button`,class:l([`tag`,{"tag--link":!!e.to}]),role:`listitem`,onClick:t=>e.to&&g(R).push(e.to)},u(e.label),11,we))),128))])]),e(`section`,Te,[c[14]||=e(`h2`,{class:`section-title`},`متراژ هر ساقه (طاقه)`,-1),e(`div`,Ee,u(g(_)(H.value.rollMeters))+` متر`,1)])])]),e(`footer`,De,[e(`div`,Oe,[e(`button`,{type:`button`,class:`btn-primary`,disabled:q.value,onClick:He},[a(oe,{size:18,color:`#ffffff`}),n(` `+u(q.value?`در حال افزودن...`:`افزودن به سفارش`),1)],8,ke),e(`p`,Ae,`حداقل سفارش: `+u(g(_)(Z.value))+` طاقه`,1)]),e(`button`,{type:`button`,class:`btn-secondary`,onClick:c[2]||=e=>g(R).push({path:`/catalog-request`,query:{productId:H.value.id}})},[a(se,{size:18}),c[15]||=n(` درخواست کالیته `,-1)])])])):U.value?(r(),s(`div`,je,[a(le,{variant:`detail`})])):(r(),s(`div`,Me,[e(`p`,null,u(W.value||`محصول یافت نشد.`),1),e(`button`,{type:`button`,onClick:c[3]||=e=>g(R).push(`/products`)},`بازگشت به لیست`)]))}}),[[`__scopeId`,`data-v-1eb99089`]]);export{L as default}; \ No newline at end of file +import{A as e,D as t,I as n,J as r,K as i,L as a,M as o,N as s,R as c,St as l,Tt as u,X as d,_ as ee,et as te,g as ne,k as f,n as p,pt as m,wt as h,xt as g}from"./BasicIcon-B6lR-mG3.js";import{o as _}from"./format-BHJptHdF.js";import{t as re}from"./catalog-DNpqlweh.js";import{E as ie,l as ae,w as oe,x as se}from"./index-B20WsQhf.js";import{t as ce}from"./IconChevronBack-BXRfc2bX.js";import{t as le}from"./PageSkeleton-BImjuI6S.js";import{t as ue}from"./IconShare-CoOzZmBa.js";import{a as de,i as fe,t as pe}from"./crm-DbcoqKAF.js";import{t as me}from"./useGoBack-yePcdjuj.js";import{t as he}from"./IconShoppingBag-DW_Of8if.js";import{t as ge}from"./IconHeart-DjMqqdO0.js";var _e={key:0,class:`page product-detail`},v={class:`pd-header`},y={class:`pd-header__actions`},b=[`aria-label`,`aria-pressed`],x={class:`page__scroll pd-scroll`},S={class:`gallery`},C={class:`gallery__count`},w={class:`gallery__thumbs`},T=[`onClick`],E={class:`pd-body`},D={class:`title-row`},O={key:0,class:`new-badge`},k={class:`code`},A={class:`specs`},j={class:`spec-cell`},M={class:`spec-cell`},N={class:`spec-cell`},P={class:`spec-icon`,"aria-hidden":`true`},F={class:`spec-cell`},I={key:0,class:`specs-extra`},ve={class:`pd-section pd-section--boxed`},ye={class:`section-head`},be={class:`colors`},xe=[`onClick`],Se={class:`pd-section`},Ce={class:`tags`,role:`list`},we=[`onClick`],Te={class:`pd-section`},Ee={class:`roll-field`},De={class:`pd-footer`},Oe={class:`pd-footer__primary`},ke=[`disabled`],Ae={class:`min-note`},je={key:1,class:`page empty`},Me={key:2,class:`page empty`},L=p(c({__name:`ProductDetailView`,setup(c){let p={suit:`پارچه کت‌شلواری`,trousers:`پارچه شلواری`,shirt:`پارچه پیراهنی`},L={summer:`پارچه تابستانه`,winter:`پارچه زمستانه`,all_season:`پارچه چهارفصل`},Ne=ne(),R=ee(),{goBack:z}=me(`/products`),Pe=pe(),B=ae(),Fe=ie(),Ie=re(),V=f(()=>String(Ne.query.id??``)),H=m(null),U=m(!0),W=m(null),G=m(0),K=m(1),q=m(!1),J=m(!1),Y=f(()=>H.value?.rollMeters??50),X=f(()=>K.value*Y.value),Le=f(()=>{let e=H.value?.minMeterage;return e&&e>0?e:Y.value}),Z=f(()=>Math.max(1,Math.ceil(Le.value/Y.value))),Re=f(()=>p[H.value?.categoryId??``]||`—`),Q=f(()=>L[H.value?.season??``]||`—`),ze=f(()=>{let e=H.value;if(!e)return[];let t=[],n=de.some(t=>t.id===e.categoryId)?e.categoryId:``,r=n?p[n]:``;r&&t.push({key:`usage-${n}`,label:r,to:{path:`/products`,query:{categoryId:n}}});let i=fe.some(t=>t.id===e.season)?e.season:``,a=i?L[i]:``;a&&t.push({key:`season-${i}`,label:a,to:{path:`/products`,query:{season:i}}});let o=new Set(t.flatMap(e=>[e.label,e.label.replace(/^پارچه\s*/,``)]));for(let n of e.tags){let e=n.replace(/^پارچه‌?های?\s*/,``).trim();if(!e||o.has(e)||t.some(t=>t.label.includes(e)))continue;let r=n.startsWith(`پارچه`)?n:`پارچه ${e}`;o.add(e),t.push({key:`tag-${n}`,label:r})}return t});async function $(){if(!V.value){H.value=null,U.value=!1;return}U.value=!0,W.value=null;try{await Promise.all([B.hydrate(),Ie.loadCompanies()]),H.value=await Pe.loadProductById(V.value),G.value=0,K.value=Z.value}catch(e){H.value=null,W.value=e instanceof Error?e.message:`محصول یافت نشد.`}finally{U.value=!1}}i($),te(V,$);function Be(e){let t=e.rollMeters||50,n=e.orderMultiplier&&e.orderMultiplier>0?e.orderMultiplier:t,r=e.minMeterage&&e.minMeterage>0?e.minMeterage:t;return{id:e.id,companyId:e.companyId||``,catalogId:e.catalogId||``,name:e.name,code:e.code,color:e.color||e.colors[G.value]||`—`,minMeterage:r,orderMultiplier:n,basePrice:e.basePrice,isActive:!0}}function Ve(e,t,n){let r=t>0?t:1,i=Math.ceil(e/r)*r,a=Math.ceil(n/r)*r;return Math.max(i,a)}async function He(){if(!H.value)return;let e=Be(H.value);q.value=!0;try{let t=Ve(X.value,e.orderMultiplier,e.minMeterage);await Fe.addItem(e,H.value.catalogCode||H.value.code,t)}finally{q.value=!1}}function Ue(){H.value&&B.toggle(H.value.id)}function We(){let e=window.location.href;if(navigator.share){navigator.share({title:H.value?.name,url:e}).catch(()=>void 0);return}navigator.clipboard?.writeText(e)}return(i,c)=>H.value?(r(),s(`div`,_e,[e(`header`,v,[e(`button`,{type:`button`,class:`icon-btn`,"aria-label":`بازگشت`,onClick:c[0]||=(...e)=>g(z)&&g(z)(...e)},[a(ce,{size:20})]),e(`div`,y,[e(`button`,{type:`button`,class:`icon-btn`,"aria-label":g(B).isFavorite(H.value.id)?`حذف از علاقه‌مندی‌ها`:`افزودن به علاقه‌مندی‌ها`,"aria-pressed":g(B).isFavorite(H.value.id),onClick:Ue},[a(ge,{size:20,filled:g(B).isFavorite(H.value.id),color:g(B).isFavorite(H.value.id)?`#0a353c`:void 0},null,8,[`filled`,`color`])],8,b),e(`button`,{type:`button`,class:`icon-btn`,"aria-label":`اشتراک‌گذاری`,onClick:We},[a(ue,{size:20})])])]),e(`div`,x,[e(`div`,S,[e(`div`,{class:`gallery__main`,style:h(H.value.imageUrl?{backgroundImage:`url(${H.value.imageUrl})`,backgroundSize:`cover`,backgroundPosition:`center`}:{background:H.value.colors[G.value]||`#6b7280`})},[e(`span`,C,u(g(_)(G.value+1))+`/`+u(g(_)(Math.max(H.value.colors.length,1))),1)],4),e(`div`,w,[(r(!0),s(t,null,d(H.value.colors,(t,n)=>(r(),s(`button`,{key:n,type:`button`,class:l([`thumb`,{"thumb--active":G.value===n}]),onClick:e=>G.value=n},[e(`span`,{class:`thumb__swatch`,style:h({background:t})},null,4)],10,T))),128))])]),e(`div`,E,[e(`div`,D,[e(`h1`,null,u(H.value.name),1),H.value.isNew?(r(),s(`span`,O,`جدید`)):o(``,!0)]),e(`p`,k,`کد محصول: `+u(H.value.code),1),e(`div`,A,[e(`div`,j,[c[4]||=e(`span`,{class:`spec-icon`,"aria-hidden":`true`},[e(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.6`},[e(`rect`,{x:`4`,y:`8`,width:`16`,height:`8`,rx:`2`})])],-1),c[5]||=e(`span`,null,`عرض`,-1),e(`strong`,null,u(g(_)(H.value.widthCm))+` سانتی‌متر`,1)]),e(`div`,M,[c[6]||=e(`span`,{class:`spec-icon`,"aria-hidden":`true`},[e(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.6`},[e(`path`,{d:`M12 3.5 20 8v8l-8 4.5L4 16V8l8-4.5Z`})])],-1),c[7]||=e(`span`,null,`جنس`,-1),e(`strong`,null,u(H.value.composition||`—`),1)]),e(`div`,N,[e(`span`,P,[a(he,{size:22,color:`#98a2ad`})]),c[8]||=e(`span`,null,`وزن`,-1),e(`strong`,null,u(H.value.weightGrams?`${g(_)(H.value.weightGrams)} گرم`:`—`),1)]),e(`div`,F,[c[9]||=e(`span`,{class:`spec-icon`,"aria-hidden":`true`},[e(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.6`},[e(`circle`,{cx:`12`,cy:`12`,r:`8`}),e(`path`,{d:`M12 8a6 6 0 0 1 0 8`})])],-1),c[10]||=e(`span`,null,`نوع بافت`,-1),e(`strong`,null,u(H.value.weaveType||`—`),1)])]),e(`button`,{type:`button`,class:`specs-more`,onClick:c[1]||=e=>J.value=!J.value},[n(u(J.value?`بستن مشخصات`:`مشاهده همه مشخصات`)+` `,1),(r(),s(`svg`,{class:l([`specs-more__chevron`,{"is-open":J.value}]),viewBox:`0 0 12 12`,"aria-hidden":`true`},[...c[11]||=[e(`path`,{d:`M3 4.5 6 8l3-3.5`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.4`,"stroke-linecap":`round`},null,-1)]],2))]),J.value?(r(),s(`div`,I,[e(`p`,null,`فصل: `+u(Q.value),1),e(`p`,null,`دسته: `+u(Re.value),1),e(`p`,null,`جمع سفارش: `+u(g(_)(X.value))+` متر`,1)])):o(``,!0),e(`section`,ve,[e(`div`,ye,[c[12]||=e(`h2`,null,`رنگ‌بندی`,-1),e(`span`,null,`(`+u(g(_)(H.value.colors.length))+` رنگ موجود)`,1)]),e(`div`,be,[(r(!0),s(t,null,d(H.value.colors,(e,t)=>(r(),s(`button`,{key:t,type:`button`,class:l([`color-dot`,{"color-dot--active":G.value===t}]),style:h({background:e}),onClick:e=>G.value=t},null,14,xe))),128))])]),e(`section`,Se,[c[13]||=e(`h2`,{class:`section-title`},`دسته‌بندی`,-1),e(`div`,Ce,[(r(!0),s(t,null,d(ze.value,e=>(r(),s(`button`,{key:e.key,type:`button`,class:l([`tag`,{"tag--link":!!e.to}]),role:`listitem`,onClick:t=>e.to&&g(R).push(e.to)},u(e.label),11,we))),128))])]),e(`section`,Te,[c[14]||=e(`h2`,{class:`section-title`},`متراژ هر ساقه (طاقه)`,-1),e(`div`,Ee,u(g(_)(H.value.rollMeters))+` متر`,1)])])]),e(`footer`,De,[e(`div`,Oe,[e(`button`,{type:`button`,class:`btn-primary`,disabled:q.value,onClick:He},[a(oe,{size:18,color:`#ffffff`}),n(` `+u(q.value?`در حال افزودن...`:`افزودن به سفارش`),1)],8,ke),e(`p`,Ae,`حداقل سفارش: `+u(g(_)(Z.value))+` طاقه`,1)]),e(`button`,{type:`button`,class:`btn-secondary`,onClick:c[2]||=e=>g(R).push({path:`/catalog-request`,query:{productId:H.value.id}})},[a(se,{size:18}),c[15]||=n(` درخواست کالیته `,-1)])])])):U.value?(r(),s(`div`,je,[a(le,{variant:`detail`})])):(r(),s(`div`,Me,[e(`p`,null,u(W.value||`محصول یافت نشد.`),1),e(`button`,{type:`button`,onClick:c[3]||=e=>g(R).push(`/products`)},`بازگشت به لیست`)]))}}),[[`__scopeId`,`data-v-1eb99089`]]);export{L as default}; \ No newline at end of file diff --git a/dist/assets/ProductsView-Bhg6vW1x.js b/dist/assets/ProductsView-BPje9bIW.js similarity index 97% rename from dist/assets/ProductsView-Bhg6vW1x.js rename to dist/assets/ProductsView-BPje9bIW.js index e826be2..f36898a 100644 --- a/dist/assets/ProductsView-Bhg6vW1x.js +++ b/dist/assets/ProductsView-BPje9bIW.js @@ -1 +1 @@ -import{A as e,D as t,E as n,I as r,J as i,K as a,L as o,M as s,N as c,R as l,St as u,Tt as d,X as f,_ as ee,et as p,g as m,j as h,k as g,n as _,nt as v,pt as y,wt as b,xt as x}from"./BasicIcon-B6lR-mG3.js";import{l as te,o as ne}from"./index-DHK6R1xK.js";import{t as re}from"./IconFilter-DJjJ9EAy.js";import{t as ie}from"./PageSkeleton-BImjuI6S.js";import{t as ae}from"./crm-DbcoqKAF.js";import{t as oe}from"./PageHeader-Cza56lK4.js";import{t as se}from"./SearchField-txVsGGXT.js";import{t as S}from"./IconHeart-DjMqqdO0.js";var ce={class:`page products-page`},le={class:`page__scroll page__scroll--with-nav products-scroll`},C={key:1},w={class:`cat-banner`},T={class:`chips`,role:`tablist`,"aria-label":`فصل`},E=[`onClick`],ue={class:`list-meta`},de=[`onClick`],fe={class:`product-item__body`},pe={class:`product-item__head`},D={class:`product-item__title`},O={key:0,class:`new-tag`},k=[`aria-label`,`aria-pressed`,`onClick`],A={class:`product-item__specs`},j={class:`swatches`},M=[`onClick`],N={key:0,class:`empty-list`},P=_(l({__name:`ProductsView`,setup(l){let _=m(),P=ee(),F=ae(),I=te(),L=g(()=>String(_.query.categoryId??``)),R=g(()=>String(_.query.catalogId??``)),z=g(()=>String(_.query.companyId??``)),B=g(()=>String(_.query.season??``)),V=g(()=>String(_.query.q??``)),H=y(String(_.query.q??``)),U=y([]),W=y([]),G=y(``),K=y(!0),q=y(null),J=y(`newest`),Y=g(()=>R.value&&G.value?G.value:L.value?F.usageCategories.find(e=>e.id===L.value)?.title??`محصولات`:B.value?W.value.find(e=>e.id===B.value)?.title??`محصولات`:V.value?`جستجو: ${V.value}`:`همه محصولات`),me=g(()=>R.value?`انتخاب محصول از کالیته`:L.value===`suit`?`شیک، بادوام و رسمی`:L.value===`trousers`?`مناسب شلوار و مصارف روزانه`:L.value===`shirt`?`سبک و مناسب پیراهن`:B.value?`فیلتر شده بر اساس فصل`:`مشاهده و ثبت سفارش`),he=g(()=>!L.value&&!R.value),X=g(()=>{let e=V.value.trim().toLowerCase(),t=[...U.value];return e&&(t=t.filter(t=>t.name.toLowerCase().includes(e)||t.code.toLowerCase().includes(e)||(t.composition||``).toLowerCase().includes(e))),J.value===`name`?t.sort((e,t)=>e.name.localeCompare(t.name,`fa`)):t.sort((e,t)=>Number(t.isNew)-Number(e.isNew)||e.name.localeCompare(t.name,`fa`))});function ge(){J.value=J.value===`newest`?`name`:`newest`}function _e(e){H.value=e,P.replace({path:`/products`,query:{...L.value?{categoryId:L.value}:{},...R.value?{catalogId:R.value}:{},...z.value?{companyId:z.value}:{},...B.value?{season:B.value}:{},...e.trim()?{q:e.trim()}:{}}})}async function Z(){K.value=!0,q.value=null;try{if(!F.usageCategories.length||!W.value.length){let e=await F.loadCategories();W.value=e.seasons}U.value=await F.loadBrowseProducts({categoryId:L.value||void 0,season:B.value||void 0,catalogId:R.value||void 0,companyId:z.value||void 0});let e=U.value[0];G.value=e?.catalogName||e?.catalogCode||``}catch(e){q.value=e instanceof Error?e.message:`بارگذاری محصولات ناموفق بود.`,U.value=[]}finally{K.value=!1}}a(async()=>{await I.hydrate(),await Z()}),p([L,B,R,z],Z),p(V,e=>{H.value=e});function Q(e){P.replace({path:`/products`,query:{...L.value?{categoryId:L.value}:{},...R.value?{catalogId:R.value}:{},...z.value?{companyId:z.value}:{},...e?{season:e}:{},...V.value?{q:V.value}:{}}})}function $(e){P.push({path:`/product`,query:{id:e}})}function ve(e){return W.value.find(t=>t.id===e)?.title??e}function ye(e){I.toggle(e)}return(a,l)=>(i(),c(`div`,ce,[o(oe,{title:Y.value,"show-back":``,centered:``,onBack:l[1]||=e=>x(P).back()},{trailing:v(()=>[e(`button`,{type:`button`,class:`nav-filter`,"aria-label":`فیلتر`,onClick:l[0]||=e=>x(P).push(`/categories`)},[o(re,{size:18})])]),_:1},8,[`title`]),e(`div`,le,[he.value?(i(),h(se,{key:0,"model-value":H.value,placeholder:`جستجو نام یا کد محصول...`,"onUpdate:modelValue":_e},null,8,[`model-value`])):s(``,!0),q.value?(i(),c(`p`,C,d(q.value),1)):K.value?(i(),h(ie,{key:2,variant:`grid`})):(i(),c(t,{key:3},[e(`section`,w,[l[3]||=e(`div`,{class:`cat-banner__icon`,"aria-hidden":`true`},null,-1),e(`div`,null,[e(`h2`,null,d(Y.value),1),e(`p`,null,d(me.value),1)])]),e(`div`,T,[e(`button`,{type:`button`,class:u([`chip`,{"chip--active":!B.value}]),onClick:l[2]||=e=>Q(``)},` همه `,2),(i(!0),c(t,null,f(W.value,e=>(i(),c(`button`,{key:e.id,type:`button`,class:u([`chip`,{"chip--active":B.value===e.id}]),onClick:t=>Q(e.id)},d(e.title),11,E))),128))]),e(`div`,ue,[e(`span`,null,`تعداد محصولات: `+d(X.value.length.toLocaleString(`fa-IR`)),1),e(`button`,{type:`button`,class:`list-meta__sort`,onClick:ge},` مرتب‌سازی: `+d(J.value===`newest`?`جدیدترین`:`نام`),1)]),(i(!0),c(t,null,f(X.value,a=>(i(),c(`article`,{key:a.id,class:`product-item`,onClick:e=>$(a.id)},[e(`div`,{class:`product-item__image`,style:b(a.imageUrl?{backgroundImage:`url(${a.imageUrl})`}:void 0)},null,4),e(`div`,fe,[e(`div`,pe,[e(`div`,D,[e(`strong`,null,d(a.name),1),a.isNew?(i(),c(`span`,O,`جدید`)):s(``,!0)]),e(`button`,{type:`button`,class:`bookmark`,"aria-label":x(I).isFavorite(a.id)?`حذف از علاقه‌مندی‌ها`:`افزودن به علاقه‌مندی‌ها`,"aria-pressed":x(I).isFavorite(a.id),onClick:n(e=>ye(a.id),[`stop`])},[o(S,{size:18,filled:x(I).isFavorite(a.id),color:x(I).isFavorite(a.id)?`#0a353c`:`#9ca3af`},null,8,[`filled`,`color`])],8,k)]),e(`ul`,A,[e(`li`,null,`عرض: `+d(a.widthCm.toLocaleString(`fa-IR`))+` سانتی‌متر`,1),e(`li`,null,`ترکیب: `+d(a.composition||`—`),1),e(`li`,null,`مناسب: `+d(ve(a.season)),1)]),e(`div`,j,[(i(!0),c(t,null,f(a.colors.slice(0,6),(e,t)=>(i(),c(`span`,{key:t,class:`swatch`,style:b({background:e})},null,4))),128))]),e(`button`,{type:`button`,class:`details-link`,onClick:n(e=>$(a.id),[`stop`])},[l[4]||=r(` مشاهده جزئیات `,-1),o(ne,{size:14})],8,M)])],8,de))),128)),X.value.length?s(``,!0):(i(),c(`p`,N,`محصولی در این دسته یافت نشد.`))],64))])]))}}),[[`__scopeId`,`data-v-9e3c60d6`]]);export{P as default}; \ No newline at end of file +import{A as e,D as t,E as n,I as r,J as i,K as a,L as o,M as s,N as c,R as l,St as u,Tt as d,X as f,_ as ee,et as p,g as m,j as h,k as g,n as _,nt as v,pt as y,wt as b,xt as x}from"./BasicIcon-B6lR-mG3.js";import{l as te,o as ne}from"./index-B20WsQhf.js";import{t as re}from"./IconFilter-DJjJ9EAy.js";import{t as ie}from"./PageSkeleton-BImjuI6S.js";import{t as ae}from"./crm-DbcoqKAF.js";import{t as oe}from"./PageHeader-DXkA75qK.js";import{t as se}from"./SearchField-txVsGGXT.js";import{t as S}from"./IconHeart-DjMqqdO0.js";var ce={class:`page products-page`},le={class:`page__scroll page__scroll--with-nav products-scroll`},C={key:1},w={class:`cat-banner`},T={class:`chips`,role:`tablist`,"aria-label":`فصل`},E=[`onClick`],ue={class:`list-meta`},de=[`onClick`],fe={class:`product-item__body`},pe={class:`product-item__head`},D={class:`product-item__title`},O={key:0,class:`new-tag`},k=[`aria-label`,`aria-pressed`,`onClick`],A={class:`product-item__specs`},j={class:`swatches`},M=[`onClick`],N={key:0,class:`empty-list`},P=_(l({__name:`ProductsView`,setup(l){let _=m(),P=ee(),F=ae(),I=te(),L=g(()=>String(_.query.categoryId??``)),R=g(()=>String(_.query.catalogId??``)),z=g(()=>String(_.query.companyId??``)),B=g(()=>String(_.query.season??``)),V=g(()=>String(_.query.q??``)),H=y(String(_.query.q??``)),U=y([]),W=y([]),G=y(``),K=y(!0),q=y(null),J=y(`newest`),Y=g(()=>R.value&&G.value?G.value:L.value?F.usageCategories.find(e=>e.id===L.value)?.title??`محصولات`:B.value?W.value.find(e=>e.id===B.value)?.title??`محصولات`:V.value?`جستجو: ${V.value}`:`همه محصولات`),me=g(()=>R.value?`انتخاب محصول از کالیته`:L.value===`suit`?`شیک، بادوام و رسمی`:L.value===`trousers`?`مناسب شلوار و مصارف روزانه`:L.value===`shirt`?`سبک و مناسب پیراهن`:B.value?`فیلتر شده بر اساس فصل`:`مشاهده و ثبت سفارش`),he=g(()=>!L.value&&!R.value),X=g(()=>{let e=V.value.trim().toLowerCase(),t=[...U.value];return e&&(t=t.filter(t=>t.name.toLowerCase().includes(e)||t.code.toLowerCase().includes(e)||(t.composition||``).toLowerCase().includes(e))),J.value===`name`?t.sort((e,t)=>e.name.localeCompare(t.name,`fa`)):t.sort((e,t)=>Number(t.isNew)-Number(e.isNew)||e.name.localeCompare(t.name,`fa`))});function ge(){J.value=J.value===`newest`?`name`:`newest`}function _e(e){H.value=e,P.replace({path:`/products`,query:{...L.value?{categoryId:L.value}:{},...R.value?{catalogId:R.value}:{},...z.value?{companyId:z.value}:{},...B.value?{season:B.value}:{},...e.trim()?{q:e.trim()}:{}}})}async function Z(){K.value=!0,q.value=null;try{if(!F.usageCategories.length||!W.value.length){let e=await F.loadCategories();W.value=e.seasons}U.value=await F.loadBrowseProducts({categoryId:L.value||void 0,season:B.value||void 0,catalogId:R.value||void 0,companyId:z.value||void 0});let e=U.value[0];G.value=e?.catalogName||e?.catalogCode||``}catch(e){q.value=e instanceof Error?e.message:`بارگذاری محصولات ناموفق بود.`,U.value=[]}finally{K.value=!1}}a(async()=>{await I.hydrate(),await Z()}),p([L,B,R,z],Z),p(V,e=>{H.value=e});function Q(e){P.replace({path:`/products`,query:{...L.value?{categoryId:L.value}:{},...R.value?{catalogId:R.value}:{},...z.value?{companyId:z.value}:{},...e?{season:e}:{},...V.value?{q:V.value}:{}}})}function $(e){P.push({path:`/product`,query:{id:e}})}function ve(e){return W.value.find(t=>t.id===e)?.title??e}function ye(e){I.toggle(e)}return(a,l)=>(i(),c(`div`,ce,[o(oe,{title:Y.value,"show-back":``,centered:``,onBack:l[1]||=e=>x(P).back()},{trailing:v(()=>[e(`button`,{type:`button`,class:`nav-filter`,"aria-label":`فیلتر`,onClick:l[0]||=e=>x(P).push(`/categories`)},[o(re,{size:18})])]),_:1},8,[`title`]),e(`div`,le,[he.value?(i(),h(se,{key:0,"model-value":H.value,placeholder:`جستجو نام یا کد محصول...`,"onUpdate:modelValue":_e},null,8,[`model-value`])):s(``,!0),q.value?(i(),c(`p`,C,d(q.value),1)):K.value?(i(),h(ie,{key:2,variant:`grid`})):(i(),c(t,{key:3},[e(`section`,w,[l[3]||=e(`div`,{class:`cat-banner__icon`,"aria-hidden":`true`},null,-1),e(`div`,null,[e(`h2`,null,d(Y.value),1),e(`p`,null,d(me.value),1)])]),e(`div`,T,[e(`button`,{type:`button`,class:u([`chip`,{"chip--active":!B.value}]),onClick:l[2]||=e=>Q(``)},` همه `,2),(i(!0),c(t,null,f(W.value,e=>(i(),c(`button`,{key:e.id,type:`button`,class:u([`chip`,{"chip--active":B.value===e.id}]),onClick:t=>Q(e.id)},d(e.title),11,E))),128))]),e(`div`,ue,[e(`span`,null,`تعداد محصولات: `+d(X.value.length.toLocaleString(`fa-IR`)),1),e(`button`,{type:`button`,class:`list-meta__sort`,onClick:ge},` مرتب‌سازی: `+d(J.value===`newest`?`جدیدترین`:`نام`),1)]),(i(!0),c(t,null,f(X.value,a=>(i(),c(`article`,{key:a.id,class:`product-item`,onClick:e=>$(a.id)},[e(`div`,{class:`product-item__image`,style:b(a.imageUrl?{backgroundImage:`url(${a.imageUrl})`}:void 0)},null,4),e(`div`,fe,[e(`div`,pe,[e(`div`,D,[e(`strong`,null,d(a.name),1),a.isNew?(i(),c(`span`,O,`جدید`)):s(``,!0)]),e(`button`,{type:`button`,class:`bookmark`,"aria-label":x(I).isFavorite(a.id)?`حذف از علاقه‌مندی‌ها`:`افزودن به علاقه‌مندی‌ها`,"aria-pressed":x(I).isFavorite(a.id),onClick:n(e=>ye(a.id),[`stop`])},[o(S,{size:18,filled:x(I).isFavorite(a.id),color:x(I).isFavorite(a.id)?`#0a353c`:`#9ca3af`},null,8,[`filled`,`color`])],8,k)]),e(`ul`,A,[e(`li`,null,`عرض: `+d(a.widthCm.toLocaleString(`fa-IR`))+` سانتی‌متر`,1),e(`li`,null,`ترکیب: `+d(a.composition||`—`),1),e(`li`,null,`مناسب: `+d(ve(a.season)),1)]),e(`div`,j,[(i(!0),c(t,null,f(a.colors.slice(0,6),(e,t)=>(i(),c(`span`,{key:t,class:`swatch`,style:b({background:e})},null,4))),128))]),e(`button`,{type:`button`,class:`details-link`,onClick:n(e=>$(a.id),[`stop`])},[l[4]||=r(` مشاهده جزئیات `,-1),o(ne,{size:14})],8,M)])],8,de))),128)),X.value.length?s(``,!0):(i(),c(`p`,N,`محصولی در این دسته یافت نشد.`))],64))])]))}}),[[`__scopeId`,`data-v-9e3c60d6`]]);export{P as default}; \ No newline at end of file diff --git a/dist/assets/ProfileChecksView-V76Am-w0.js b/dist/assets/ProfileChecksView-Cx3LI6JZ.js similarity index 67% rename from dist/assets/ProfileChecksView-V76Am-w0.js rename to dist/assets/ProfileChecksView-Cx3LI6JZ.js index 34b62fa..cfb63d0 100644 --- a/dist/assets/ProfileChecksView-V76Am-w0.js +++ b/dist/assets/ProfileChecksView-Cx3LI6JZ.js @@ -1 +1 @@ -import{t as e}from"./CheckListView-DptVxtEw.js";import{J as t,R as n,j as r}from"./BasicIcon-B6lR-mG3.js";var i=n({__name:`ProfileChecksView`,setup(n){return(n,i)=>(t(),r(e))}});export{i as default}; \ No newline at end of file +import{t as e}from"./CheckListView-D8SjoAtS.js";import{J as t,R as n,j as r}from"./BasicIcon-B6lR-mG3.js";var i=n({__name:`ProfileChecksView`,setup(n){return(n,i)=>(t(),r(e))}});export{i as default}; \ No newline at end of file diff --git a/dist/assets/ProfileDisplayView-B9CY6es-.js b/dist/assets/ProfileDisplayView-Co6ARz_e.js similarity index 98% rename from dist/assets/ProfileDisplayView-B9CY6es-.js rename to dist/assets/ProfileDisplayView-Co6ARz_e.js index 1367ed3..0ca64c7 100644 --- a/dist/assets/ProfileDisplayView-B9CY6es-.js +++ b/dist/assets/ProfileDisplayView-Co6ARz_e.js @@ -1 +1 @@ -import{A as e,D as t,I as n,J as r,L as i,M as a,N as o,R as s,St as c,Tt as l,X as u,_ as d,j as f,k as p,n as m,nt as h,pt as g,t as _,xt as v}from"./BasicIcon-B6lR-mG3.js";import{u as y}from"./dist-BcgVHqJQ.js";import{a as b,c as x,g as S,n as C}from"./index-DHK6R1xK.js";import{t as w}from"./ProfileSubpageLayout-CHfCB62H.js";var T={class:`settings-page`},E={class:`settings-links`,"aria-label":`حساب کاربری`},D={class:`settings-link__icon`,"aria-hidden":`true`},O={class:`settings-link__icon`,"aria-hidden":`true`},k={class:`settings-link__label`},A={key:0},j={class:`display-fieldset`},M={class:`display-grid`,role:`radiogroup`,"aria-label":`حالت نمایش`},N=[`aria-checked`,`onClick`],P={class:`theme-card__icon`,"aria-hidden":`true`},F={class:`theme-card__body`},I={class:`theme-card__label`},L={class:`theme-card__desc`},R={class:`theme-card__check`,"aria-hidden":`true`},z={key:0,class:`display-saved`},B=m(s({__name:`ProfileDisplayView`,setup(s){let m=d(),B=x(),V=S(),H=b(),U=g(!1),{start:W}=y(()=>{U.value=!1},2e3),G=[{value:`light`,label:`روشن`,description:`پس‌زمینه روشن و کنتراست بالا`,icon:`vuesax-linear:sun-1`},{value:`dark`,label:`تاریک`,description:`مناسب استفاده در شب`,icon:`vuesax-linear:moon`},{value:`system`,label:`سیستم`,description:`هم‌تراز با تنظیمات دستگاه`,icon:`vuesax-linear:mobile`}],K=p(()=>V.draftChecks.length);function q(){U.value=!0,W()}function J(){B.logout(),m.replace(`/login`)}return(s,d)=>(r(),f(w,{title:`تنظیمات`,subtitle:`نمایش، حساب کاربری و خروج`},{default:h(()=>[e(`div`,T,[e(`nav`,E,[e(`button`,{type:`button`,class:`settings-link`,onClick:d[0]||=e=>v(m).push(`/profile/edit`)},[e(`span`,D,[i(_,{icon:`vuesax-linear:profile-circle`,size:20,"stroke-width":1.5})]),d[2]||=e(`span`,{class:`settings-link__label`},`اطلاعات کاربری`,-1),i(_,{class:`settings-link__chevron`,icon:`vuesax-linear:arrow-left-1`,size:16,"stroke-width":1.5})]),e(`button`,{type:`button`,class:`settings-link`,onClick:d[1]||=e=>v(m).push(`/profile/checks`)},[e(`span`,O,[i(_,{icon:`vuesax-linear:card`,size:20,"stroke-width":1.5})]),e(`span`,k,[d[3]||=n(` لیست چک‌ها `,-1),K.value?(r(),o(`em`,A,`(`+l(K.value)+`)`,1)):a(``,!0)]),i(_,{class:`settings-link__chevron`,icon:`vuesax-linear:arrow-left-1`,size:16,"stroke-width":1.5})])]),e(`fieldset`,j,[d[4]||=e(`legend`,{class:`display-fieldset__legend`},`حالت نمایش`,-1),e(`div`,M,[(r(),o(t,null,u(G,t=>e(`button`,{key:t.value,type:`button`,class:c([`theme-card`,{"theme-card--active":v(H).preference===t.value}]),role:`radio`,"aria-checked":v(H).preference===t.value,onClick:e=>v(H).preference=t.value},[e(`span`,P,[i(_,{icon:t.icon,size:26,"stroke-width":1.5},null,8,[`icon`])]),e(`span`,F,[e(`strong`,I,l(t.label),1),e(`span`,L,l(t.description),1)]),e(`span`,R,[v(H).preference===t.value?(r(),f(_,{key:0,icon:`vuesax-linear:tick-circle`,size:20,"stroke-width":1.75})):a(``,!0)])],10,N)),64))])]),i(C,{block:``,onClick:q},{default:h(()=>[...d[5]||=[n(`ذخیره تنظیمات`,-1)]]),_:1}),U.value?(r(),o(`p`,z,`تنظیمات نمایش ذخیره شد ✓`)):a(``,!0),e(`button`,{type:`button`,class:`settings-logout`,onClick:J},`خروج`)])]),_:1}))}}),[[`__scopeId`,`data-v-3187a788`]]);export{B as default}; \ No newline at end of file +import{A as e,D as t,I as n,J as r,L as i,M as a,N as o,R as s,St as c,Tt as l,X as u,_ as d,j as f,k as p,n as m,nt as h,pt as g,t as _,xt as v}from"./BasicIcon-B6lR-mG3.js";import{u as y}from"./dist-BcgVHqJQ.js";import{a as b,c as x,g as S,n as C}from"./index-B20WsQhf.js";import{t as w}from"./ProfileSubpageLayout-CHfCB62H.js";var T={class:`settings-page`},E={class:`settings-links`,"aria-label":`حساب کاربری`},D={class:`settings-link__icon`,"aria-hidden":`true`},O={class:`settings-link__icon`,"aria-hidden":`true`},k={class:`settings-link__label`},A={key:0},j={class:`display-fieldset`},M={class:`display-grid`,role:`radiogroup`,"aria-label":`حالت نمایش`},N=[`aria-checked`,`onClick`],P={class:`theme-card__icon`,"aria-hidden":`true`},F={class:`theme-card__body`},I={class:`theme-card__label`},L={class:`theme-card__desc`},R={class:`theme-card__check`,"aria-hidden":`true`},z={key:0,class:`display-saved`},B=m(s({__name:`ProfileDisplayView`,setup(s){let m=d(),B=x(),V=S(),H=b(),U=g(!1),{start:W}=y(()=>{U.value=!1},2e3),G=[{value:`light`,label:`روشن`,description:`پس‌زمینه روشن و کنتراست بالا`,icon:`vuesax-linear:sun-1`},{value:`dark`,label:`تاریک`,description:`مناسب استفاده در شب`,icon:`vuesax-linear:moon`},{value:`system`,label:`سیستم`,description:`هم‌تراز با تنظیمات دستگاه`,icon:`vuesax-linear:mobile`}],K=p(()=>V.draftChecks.length);function q(){U.value=!0,W()}function J(){B.logout(),m.replace(`/login`)}return(s,d)=>(r(),f(w,{title:`تنظیمات`,subtitle:`نمایش، حساب کاربری و خروج`},{default:h(()=>[e(`div`,T,[e(`nav`,E,[e(`button`,{type:`button`,class:`settings-link`,onClick:d[0]||=e=>v(m).push(`/profile/edit`)},[e(`span`,D,[i(_,{icon:`vuesax-linear:profile-circle`,size:20,"stroke-width":1.5})]),d[2]||=e(`span`,{class:`settings-link__label`},`اطلاعات کاربری`,-1),i(_,{class:`settings-link__chevron`,icon:`vuesax-linear:arrow-left-1`,size:16,"stroke-width":1.5})]),e(`button`,{type:`button`,class:`settings-link`,onClick:d[1]||=e=>v(m).push(`/profile/checks`)},[e(`span`,O,[i(_,{icon:`vuesax-linear:card`,size:20,"stroke-width":1.5})]),e(`span`,k,[d[3]||=n(` لیست چک‌ها `,-1),K.value?(r(),o(`em`,A,`(`+l(K.value)+`)`,1)):a(``,!0)]),i(_,{class:`settings-link__chevron`,icon:`vuesax-linear:arrow-left-1`,size:16,"stroke-width":1.5})])]),e(`fieldset`,j,[d[4]||=e(`legend`,{class:`display-fieldset__legend`},`حالت نمایش`,-1),e(`div`,M,[(r(),o(t,null,u(G,t=>e(`button`,{key:t.value,type:`button`,class:c([`theme-card`,{"theme-card--active":v(H).preference===t.value}]),role:`radio`,"aria-checked":v(H).preference===t.value,onClick:e=>v(H).preference=t.value},[e(`span`,P,[i(_,{icon:t.icon,size:26,"stroke-width":1.5},null,8,[`icon`])]),e(`span`,F,[e(`strong`,I,l(t.label),1),e(`span`,L,l(t.description),1)]),e(`span`,R,[v(H).preference===t.value?(r(),f(_,{key:0,icon:`vuesax-linear:tick-circle`,size:20,"stroke-width":1.75})):a(``,!0)])],10,N)),64))])]),i(C,{block:``,onClick:q},{default:h(()=>[...d[5]||=[n(`ذخیره تنظیمات`,-1)]]),_:1}),U.value?(r(),o(`p`,z,`تنظیمات نمایش ذخیره شد ✓`)):a(``,!0),e(`button`,{type:`button`,class:`settings-logout`,onClick:J},`خروج`)])]),_:1}))}}),[[`__scopeId`,`data-v-3187a788`]]);export{B as default}; \ No newline at end of file diff --git a/dist/assets/ProfileEditView-Dd3mpICc.js b/dist/assets/ProfileEditView-BXfhdkP1.js similarity index 98% rename from dist/assets/ProfileEditView-Dd3mpICc.js rename to dist/assets/ProfileEditView-BXfhdkP1.js index 1eea1c3..93d44fa 100644 --- a/dist/assets/ProfileEditView-Dd3mpICc.js +++ b/dist/assets/ProfileEditView-BXfhdkP1.js @@ -1 +1 @@ -import{A as e,I as t,J as n,L as r,M as i,N as a,R as o,Tt as s,j as c,k as l,n as u,nt as d,pt as f,t as p}from"./BasicIcon-B6lR-mG3.js";import{c as m,n as h,r as g}from"./index-DHK6R1xK.js";import{t as _}from"./FormErrorBanner-8PcsTbdO.js";import{n as v,r as y,t as b}from"./formErrors-DglFjYkZ.js";import{t as x}from"./BaseInput-9HB-GJGt.js";import{t as S}from"./ProfileSubpageLayout-CHfCB62H.js";var C=512,w=.82;async function T(e){if(!e.type.startsWith(`image/`))throw Error(`فقط فایل تصویری مجاز است.`);if(e.size>8388608)throw Error(`حجم تصویر نباید بیشتر از ۸ مگابایت باشد.`);return D(await E(e))}function E(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(String(r.result??``)),r.onerror=()=>n(Error(`خواندن تصویر ناموفق بود.`)),r.readAsDataURL(e)})}function D(e){return new Promise((t,n)=>{let r=new Image;r.onload=()=>{let e=Math.min(1,C/Math.max(r.width,r.height)),i=Math.max(1,Math.round(r.width*e)),a=Math.max(1,Math.round(r.height*e)),o=document.createElement(`canvas`);o.width=i,o.height=a;let s=o.getContext(`2d`);if(!s){n(Error(`پردازش تصویر ناموفق بود.`));return}s.drawImage(r,0,0,i,a),t(o.toDataURL(`image/jpeg`,w))},r.onerror=()=>n(Error(`تصویر نامعتبر است.`)),r.src=e})}var O={class:`profile-edit`},k={class:`avatar-editor`},A={class:`avatar-editor__actions`},j={class:`avatar-editor__btns`},M=[`disabled`],N=[`disabled`],P={class:`profile-edit__intro`},F={class:`profile-edit__intro-icon`,"aria-hidden":`true`},I={class:`profile-edit__grid`},L={class:`profile-edit__actions`},R={key:0,class:`profile-edit__saved`},z=u(o({__name:`ProfileEditView`,setup(o){let u=m(),C=f(u.user?.firstName??``),w=f(u.user?.lastName??``),E=f(u.user?.nationalId??``),D=f(u.user?.avatarUrl??null),z=f(null),B=f({}),V=f(``),H=f(!1),U=f(!1),W=l(()=>`${C.value.trim().charAt(0)}${w.value.trim().charAt(0)}`||`؟`);function G(e){B.value=v(B.value,e),y(B.value)||(V.value=``)}function K(){z.value?.click()}async function q(e){U.value=!0,V.value=``;try{let t=await u.updateProfile({avatarUrl:e??``});t?D.value=t.avatarUrl??null:D.value=e}catch(e){V.value=e instanceof Error?e.message:`ذخیره تصویر ناموفق بود.`}finally{U.value=!1}}async function J(e){let t=e.target,n=t.files?.[0];if(t.value=``,n){U.value=!0,V.value=``;try{let e=await T(n);D.value=e,await q(e)}catch(e){V.value=e instanceof Error?e.message:`بارگذاری تصویر ناموفق بود.`,U.value=!1}}}async function Y(){D.value=null,await q(null)}async function X(){B.value={},V.value=``,H.value=!1;let e={};if(C.value.trim()||(e.firstName=`نام الزامی است.`),w.value.trim()||(e.lastName=`نام خانوادگی الزامی است.`),E.value&&E.value.length!==10&&(e.nationalId=`کد ملی باید ۱۰ رقم باشد.`),y(e)){B.value=e,V.value=b;return}if(!await u.updateProfile({firstName:C.value.trim(),lastName:w.value.trim(),nationalId:E.value||void 0,avatarUrl:D.value??``})){V.value=`ذخیره پروفایل ناموفق بود.`;return}H.value=!0,setTimeout(()=>{H.value=!1},2e3)}return(o,l)=>(n(),c(S,{title:`اطلاعات کاربری`,subtitle:`ویرایش تصویر، نام و کد ملی حساب کاربری`},{default:d(()=>[r(_,{message:V.value},null,8,[`message`]),e(`div`,O,[e(`div`,k,[r(g,{src:D.value,initials:W.value,size:96,class:`avatar-editor__photo`},null,8,[`src`,`initials`]),e(`div`,A,[l[6]||=e(`p`,{class:`avatar-editor__title`},`تصویر پروفایل`,-1),l[7]||=e(`p`,{class:`avatar-editor__hint`},`افزودن، تغییر یا حذف عکس نمایش‌داده‌شده در پروفایل`,-1),e(`div`,j,[e(`button`,{type:`button`,class:`avatar-btn`,disabled:U.value,onClick:K},s(D.value?`تغییر تصویر`:`افزودن تصویر`),9,M),D.value?(n(),a(`button`,{key:0,type:`button`,class:`avatar-btn avatar-btn--danger`,disabled:U.value,onClick:Y},` حذف تصویر `,8,N)):i(``,!0)])]),e(`input`,{ref_key:`fileInput`,ref:z,type:`file`,accept:`image/*`,class:`avatar-editor__file`,onChange:J},null,544)]),e(`div`,P,[e(`span`,F,[r(p,{icon:`vuesax-linear:profile-circle`,size:22,"stroke-width":1.5})]),l[8]||=e(`div`,{class:`profile-edit__intro-text`},[e(`strong`,null,`مشخصات فردی`),e(`p`,null,`این اطلاعات روی سفارش‌ها و چک‌های ثبت‌شده نمایش داده می‌شود.`)],-1)]),e(`div`,I,[r(x,{modelValue:C.value,"onUpdate:modelValue":[l[0]||=e=>C.value=e,l[1]||=e=>G(`firstName`)],label:`نام`,error:B.value.firstName},null,8,[`modelValue`,`error`]),r(x,{modelValue:w.value,"onUpdate:modelValue":[l[2]||=e=>w.value=e,l[3]||=e=>G(`lastName`)],label:`نام خانوادگی`,error:B.value.lastName},null,8,[`modelValue`,`error`]),r(x,{modelValue:E.value,"onUpdate:modelValue":[l[4]||=e=>E.value=e,l[5]||=e=>G(`nationalId`)],class:`profile-edit__full`,label:`کد ملی`,maxlength:`10`,inputmode:`numeric`,dir:`ltr`,hint:`برای ثبت چک الزامی است`,error:B.value.nationalId},null,8,[`modelValue`,`error`])]),e(`div`,L,[r(h,{class:`profile-edit__save`,onClick:X},{default:d(()=>[...l[9]||=[t(`ذخیره تغییرات`,-1)]]),_:1}),H.value?(n(),a(`p`,R,`ذخیره شد ✓`)):i(``,!0)])])]),_:1}))}}),[[`__scopeId`,`data-v-bd0a4276`]]);export{z as default}; \ No newline at end of file +import{A as e,I as t,J as n,L as r,M as i,N as a,R as o,Tt as s,j as c,k as l,n as u,nt as d,pt as f,t as p}from"./BasicIcon-B6lR-mG3.js";import{c as m,n as h,r as g}from"./index-B20WsQhf.js";import{t as _}from"./FormErrorBanner-8PcsTbdO.js";import{n as v,r as y,t as b}from"./formErrors-DglFjYkZ.js";import{t as x}from"./BaseInput-9HB-GJGt.js";import{t as S}from"./ProfileSubpageLayout-CHfCB62H.js";var C=512,w=.82;async function T(e){if(!e.type.startsWith(`image/`))throw Error(`فقط فایل تصویری مجاز است.`);if(e.size>8388608)throw Error(`حجم تصویر نباید بیشتر از ۸ مگابایت باشد.`);return D(await E(e))}function E(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(String(r.result??``)),r.onerror=()=>n(Error(`خواندن تصویر ناموفق بود.`)),r.readAsDataURL(e)})}function D(e){return new Promise((t,n)=>{let r=new Image;r.onload=()=>{let e=Math.min(1,C/Math.max(r.width,r.height)),i=Math.max(1,Math.round(r.width*e)),a=Math.max(1,Math.round(r.height*e)),o=document.createElement(`canvas`);o.width=i,o.height=a;let s=o.getContext(`2d`);if(!s){n(Error(`پردازش تصویر ناموفق بود.`));return}s.drawImage(r,0,0,i,a),t(o.toDataURL(`image/jpeg`,w))},r.onerror=()=>n(Error(`تصویر نامعتبر است.`)),r.src=e})}var O={class:`profile-edit`},k={class:`avatar-editor`},A={class:`avatar-editor__actions`},j={class:`avatar-editor__btns`},M=[`disabled`],N=[`disabled`],P={class:`profile-edit__intro`},F={class:`profile-edit__intro-icon`,"aria-hidden":`true`},I={class:`profile-edit__grid`},L={class:`profile-edit__actions`},R={key:0,class:`profile-edit__saved`},z=u(o({__name:`ProfileEditView`,setup(o){let u=m(),C=f(u.user?.firstName??``),w=f(u.user?.lastName??``),E=f(u.user?.nationalId??``),D=f(u.user?.avatarUrl??null),z=f(null),B=f({}),V=f(``),H=f(!1),U=f(!1),W=l(()=>`${C.value.trim().charAt(0)}${w.value.trim().charAt(0)}`||`؟`);function G(e){B.value=v(B.value,e),y(B.value)||(V.value=``)}function K(){z.value?.click()}async function q(e){U.value=!0,V.value=``;try{let t=await u.updateProfile({avatarUrl:e??``});t?D.value=t.avatarUrl??null:D.value=e}catch(e){V.value=e instanceof Error?e.message:`ذخیره تصویر ناموفق بود.`}finally{U.value=!1}}async function J(e){let t=e.target,n=t.files?.[0];if(t.value=``,n){U.value=!0,V.value=``;try{let e=await T(n);D.value=e,await q(e)}catch(e){V.value=e instanceof Error?e.message:`بارگذاری تصویر ناموفق بود.`,U.value=!1}}}async function Y(){D.value=null,await q(null)}async function X(){B.value={},V.value=``,H.value=!1;let e={};if(C.value.trim()||(e.firstName=`نام الزامی است.`),w.value.trim()||(e.lastName=`نام خانوادگی الزامی است.`),E.value&&E.value.length!==10&&(e.nationalId=`کد ملی باید ۱۰ رقم باشد.`),y(e)){B.value=e,V.value=b;return}if(!await u.updateProfile({firstName:C.value.trim(),lastName:w.value.trim(),nationalId:E.value||void 0,avatarUrl:D.value??``})){V.value=`ذخیره پروفایل ناموفق بود.`;return}H.value=!0,setTimeout(()=>{H.value=!1},2e3)}return(o,l)=>(n(),c(S,{title:`اطلاعات کاربری`,subtitle:`ویرایش تصویر، نام و کد ملی حساب کاربری`},{default:d(()=>[r(_,{message:V.value},null,8,[`message`]),e(`div`,O,[e(`div`,k,[r(g,{src:D.value,initials:W.value,size:96,class:`avatar-editor__photo`},null,8,[`src`,`initials`]),e(`div`,A,[l[6]||=e(`p`,{class:`avatar-editor__title`},`تصویر پروفایل`,-1),l[7]||=e(`p`,{class:`avatar-editor__hint`},`افزودن، تغییر یا حذف عکس نمایش‌داده‌شده در پروفایل`,-1),e(`div`,j,[e(`button`,{type:`button`,class:`avatar-btn`,disabled:U.value,onClick:K},s(D.value?`تغییر تصویر`:`افزودن تصویر`),9,M),D.value?(n(),a(`button`,{key:0,type:`button`,class:`avatar-btn avatar-btn--danger`,disabled:U.value,onClick:Y},` حذف تصویر `,8,N)):i(``,!0)])]),e(`input`,{ref_key:`fileInput`,ref:z,type:`file`,accept:`image/*`,class:`avatar-editor__file`,onChange:J},null,544)]),e(`div`,P,[e(`span`,F,[r(p,{icon:`vuesax-linear:profile-circle`,size:22,"stroke-width":1.5})]),l[8]||=e(`div`,{class:`profile-edit__intro-text`},[e(`strong`,null,`مشخصات فردی`),e(`p`,null,`این اطلاعات روی سفارش‌ها و چک‌های ثبت‌شده نمایش داده می‌شود.`)],-1)]),e(`div`,I,[r(x,{modelValue:C.value,"onUpdate:modelValue":[l[0]||=e=>C.value=e,l[1]||=e=>G(`firstName`)],label:`نام`,error:B.value.firstName},null,8,[`modelValue`,`error`]),r(x,{modelValue:w.value,"onUpdate:modelValue":[l[2]||=e=>w.value=e,l[3]||=e=>G(`lastName`)],label:`نام خانوادگی`,error:B.value.lastName},null,8,[`modelValue`,`error`]),r(x,{modelValue:E.value,"onUpdate:modelValue":[l[4]||=e=>E.value=e,l[5]||=e=>G(`nationalId`)],class:`profile-edit__full`,label:`کد ملی`,maxlength:`10`,inputmode:`numeric`,dir:`ltr`,hint:`برای ثبت چک الزامی است`,error:B.value.nationalId},null,8,[`modelValue`,`error`])]),e(`div`,L,[r(h,{class:`profile-edit__save`,onClick:X},{default:d(()=>[...l[9]||=[t(`ذخیره تغییرات`,-1)]]),_:1}),H.value?(n(),a(`p`,R,`ذخیره شد ✓`)):i(``,!0)])])]),_:1}))}}),[[`__scopeId`,`data-v-bd0a4276`]]);export{z as default}; \ No newline at end of file diff --git a/dist/assets/ProfileNotificationsView-B9v-KIPx.js b/dist/assets/ProfileNotificationsView-BkDZ6lIH.js similarity index 94% rename from dist/assets/ProfileNotificationsView-B9v-KIPx.js rename to dist/assets/ProfileNotificationsView-BkDZ6lIH.js index f1f8b03..ad30946 100644 --- a/dist/assets/ProfileNotificationsView-B9v-KIPx.js +++ b/dist/assets/ProfileNotificationsView-BkDZ6lIH.js @@ -1 +1 @@ -import{A as e,D as t,I as n,J as r,K as i,L as a,M as o,N as s,R as c,St as l,Tt as u,X as d,_ as f,j as p,k as m,n as h,nt as g,t as _,xt as v}from"./BasicIcon-B6lR-mG3.js";import{i as y}from"./format-BHJptHdF.js";import{n as b,u as x}from"./index-DHK6R1xK.js";import{t as S}from"./EmptyState-C6UAJ5_3.js";import{t as C}from"./ProfileSubpageLayout-CHfCB62H.js";var w={key:0,class:`notif-box`},T={class:`notif-box__head`},E={class:`notif-box__count`},D=[`onClick`],O={class:`notif-row__icon`,"aria-hidden":`true`},k={class:`notif-row__body`},A={class:`notif-row__title-row`},j={class:`notif-row__title`},M={key:0,class:`notif-row__dot`,"aria-label":`خوانده‌نشده`},N={class:`notif-row__text`},P={class:`notif-row__time`},F=h(c({__name:`ProfileNotificationsView`,setup(c){let h=f(),F=x(),I=m(()=>F.items),L=m(()=>F.hasUnread),R={info:`vuesax-linear:information`,success:`vuesax-linear:tick-circle`,warning:`vuesax-linear:timer`,danger:`vuesax-linear:close-circle`};i(()=>{F.hydrate()});async function z(e){await F.markRead(e.id),e.link&&h.push(e.link)}return(i,c)=>(r(),p(C,{title:`اعلان‌ها`,subtitle:`آخرین خبرهای سفارش‌های شما`},{default:g(()=>[I.value.length?(r(),s(`div`,w,[e(`div`,T,[e(`span`,E,u(L.value?`${v(F).unreadCount} اعلان خوانده‌نشده`:`همه خوانده شده`),1),L.value?(r(),p(b,{key:0,variant:`outline`,class:`notif-box__mark`,onClick:c[0]||=e=>v(F).markAllRead()},{default:g(()=>[...c[2]||=[n(` خواندن همه `,-1)]]),_:1})):o(``,!0)]),(r(!0),s(t,null,d(I.value,t=>(r(),s(`button`,{key:t.id,type:`button`,class:l([`notif-row`,[`notif-row--${t.tone}`,{"notif-row--unread":!t.isRead}]]),onClick:e=>z(t)},[e(`span`,O,[a(_,{icon:R[t.tone],size:22,"stroke-width":1.5},null,8,[`icon`])]),e(`span`,k,[e(`span`,A,[e(`strong`,j,u(t.title),1),t.isRead?o(``,!0):(r(),s(`span`,M))]),e(`span`,N,u(t.body),1),e(`span`,P,u(v(y)(t.sentAt)),1)])],10,D))),128))])):(r(),p(S,{key:1,icon:`vuesax-linear:notification-bing`,title:`اعلانی ندارید`,message:`وقتی فاکتور سفارشتان صادر شود یا وضعیت چک و پرداخت تغییر کند، همین‌جا خبردار می‌شوید.`},{default:g(()=>[a(b,{variant:`outline`,onClick:c[1]||=e=>v(h).push(`/orders`)},{default:g(()=>[...c[3]||=[n(`سفارش‌های من`,-1)]]),_:1})]),_:1}))]),_:1}))}}),[[`__scopeId`,`data-v-57190756`]]);export{F as default}; \ No newline at end of file +import{A as e,D as t,I as n,J as r,K as i,L as a,M as o,N as s,R as c,St as l,Tt as u,X as d,_ as f,j as p,k as m,n as h,nt as g,t as _,xt as v}from"./BasicIcon-B6lR-mG3.js";import{i as y}from"./format-BHJptHdF.js";import{n as b,u as x}from"./index-B20WsQhf.js";import{t as S}from"./EmptyState-C6UAJ5_3.js";import{t as C}from"./ProfileSubpageLayout-CHfCB62H.js";var w={key:0,class:`notif-box`},T={class:`notif-box__head`},E={class:`notif-box__count`},D=[`onClick`],O={class:`notif-row__icon`,"aria-hidden":`true`},k={class:`notif-row__body`},A={class:`notif-row__title-row`},j={class:`notif-row__title`},M={key:0,class:`notif-row__dot`,"aria-label":`خوانده‌نشده`},N={class:`notif-row__text`},P={class:`notif-row__time`},F=h(c({__name:`ProfileNotificationsView`,setup(c){let h=f(),F=x(),I=m(()=>F.items),L=m(()=>F.hasUnread),R={info:`vuesax-linear:information`,success:`vuesax-linear:tick-circle`,warning:`vuesax-linear:timer`,danger:`vuesax-linear:close-circle`};i(()=>{F.hydrate()});async function z(e){await F.markRead(e.id),e.link&&h.push(e.link)}return(i,c)=>(r(),p(C,{title:`اعلان‌ها`,subtitle:`آخرین خبرهای سفارش‌های شما`},{default:g(()=>[I.value.length?(r(),s(`div`,w,[e(`div`,T,[e(`span`,E,u(L.value?`${v(F).unreadCount} اعلان خوانده‌نشده`:`همه خوانده شده`),1),L.value?(r(),p(b,{key:0,variant:`outline`,class:`notif-box__mark`,onClick:c[0]||=e=>v(F).markAllRead()},{default:g(()=>[...c[2]||=[n(` خواندن همه `,-1)]]),_:1})):o(``,!0)]),(r(!0),s(t,null,d(I.value,t=>(r(),s(`button`,{key:t.id,type:`button`,class:l([`notif-row`,[`notif-row--${t.tone}`,{"notif-row--unread":!t.isRead}]]),onClick:e=>z(t)},[e(`span`,O,[a(_,{icon:R[t.tone],size:22,"stroke-width":1.5},null,8,[`icon`])]),e(`span`,k,[e(`span`,A,[e(`strong`,j,u(t.title),1),t.isRead?o(``,!0):(r(),s(`span`,M))]),e(`span`,N,u(t.body),1),e(`span`,P,u(v(y)(t.sentAt)),1)])],10,D))),128))])):(r(),p(S,{key:1,icon:`vuesax-linear:notification-bing`,title:`اعلانی ندارید`,message:`وقتی فاکتور سفارشتان صادر شود یا وضعیت چک و پرداخت تغییر کند، همین‌جا خبردار می‌شوید.`},{default:g(()=>[a(b,{variant:`outline`,onClick:c[1]||=e=>v(h).push(`/orders`)},{default:g(()=>[...c[3]||=[n(`سفارش‌های من`,-1)]]),_:1})]),_:1}))]),_:1}))}}),[[`__scopeId`,`data-v-57190756`]]);export{F as default}; \ No newline at end of file diff --git a/dist/assets/ProfileSecurityView-BpjUW10K.js b/dist/assets/ProfileSecurityView-BtqgdXRj.js similarity index 96% rename from dist/assets/ProfileSecurityView-BpjUW10K.js rename to dist/assets/ProfileSecurityView-BtqgdXRj.js index 0ae839a..2615925 100644 --- a/dist/assets/ProfileSecurityView-BpjUW10K.js +++ b/dist/assets/ProfileSecurityView-BtqgdXRj.js @@ -1 +1 @@ -import{A as e,I as t,J as n,L as r,M as i,N as a,R as o,j as s,n as c,nt as l,pt as u}from"./BasicIcon-B6lR-mG3.js";import{n as d}from"./index-DHK6R1xK.js";import{t as f}from"./FormErrorBanner-8PcsTbdO.js";import{n as p,r as m,t as h}from"./formErrors-DglFjYkZ.js";import{t as g}from"./BaseInput-9HB-GJGt.js";import{t as _}from"./ProfileSubpageLayout-CHfCB62H.js";var v={class:`settings-form`},y={key:0,class:`settings-form__saved`},b=c(o({__name:`ProfileSecurityView`,setup(o){let c=u(``),b=u(``),x=u(``),S=u({}),C=u(``),w=u(!1);function T(e){S.value=p(S.value,e),m(S.value)||(C.value=``)}function E(){S.value={},C.value=``,w.value=!1;let e={};if(c.value||(e.currentPassword=`رمز فعلی الزامی است.`),b.value.length<6&&(e.newPassword=`رمز جدید باید حداقل ۶ کاراکتر باشد.`),x.value!==b.value&&(e.confirmPassword=`تکرار رمز با رمز جدید یکسان نیست.`),m(e)){S.value=e,C.value=h;return}c.value=``,b.value=``,x.value=``,w.value=!0,setTimeout(()=>{w.value=!1},2e3)}return(o,u)=>(n(),s(_,{title:`امنیت حساب`,subtitle:`تغییر رمز عبور و تنظیمات ورود`},{default:l(()=>[r(f,{message:C.value},null,8,[`message`]),e(`div`,v,[r(g,{modelValue:c.value,"onUpdate:modelValue":[u[0]||=e=>c.value=e,u[1]||=e=>T(`currentPassword`)],type:`password`,label:`رمز عبور فعلی`,error:S.value.currentPassword},null,8,[`modelValue`,`error`]),r(g,{modelValue:b.value,"onUpdate:modelValue":[u[2]||=e=>b.value=e,u[3]||=e=>T(`newPassword`)],type:`password`,label:`رمز عبور جدید`,error:S.value.newPassword},null,8,[`modelValue`,`error`]),r(g,{modelValue:x.value,"onUpdate:modelValue":[u[4]||=e=>x.value=e,u[5]||=e=>T(`confirmPassword`)],type:`password`,label:`تکرار رمز عبور جدید`,error:S.value.confirmPassword},null,8,[`modelValue`,`error`]),r(d,{block:``,onClick:E},{default:l(()=>[...u[6]||=[t(`ذخیره رمز جدید`,-1)]]),_:1}),w.value?(n(),a(`p`,y,`رمز عبور با موفقیت تغییر کرد ✓`)):i(``,!0)])]),_:1}))}}),[[`__scopeId`,`data-v-074827a2`]]);export{b as default}; \ No newline at end of file +import{A as e,I as t,J as n,L as r,M as i,N as a,R as o,j as s,n as c,nt as l,pt as u}from"./BasicIcon-B6lR-mG3.js";import{n as d}from"./index-B20WsQhf.js";import{t as f}from"./FormErrorBanner-8PcsTbdO.js";import{n as p,r as m,t as h}from"./formErrors-DglFjYkZ.js";import{t as g}from"./BaseInput-9HB-GJGt.js";import{t as _}from"./ProfileSubpageLayout-CHfCB62H.js";var v={class:`settings-form`},y={key:0,class:`settings-form__saved`},b=c(o({__name:`ProfileSecurityView`,setup(o){let c=u(``),b=u(``),x=u(``),S=u({}),C=u(``),w=u(!1);function T(e){S.value=p(S.value,e),m(S.value)||(C.value=``)}function E(){S.value={},C.value=``,w.value=!1;let e={};if(c.value||(e.currentPassword=`رمز فعلی الزامی است.`),b.value.length<6&&(e.newPassword=`رمز جدید باید حداقل ۶ کاراکتر باشد.`),x.value!==b.value&&(e.confirmPassword=`تکرار رمز با رمز جدید یکسان نیست.`),m(e)){S.value=e,C.value=h;return}c.value=``,b.value=``,x.value=``,w.value=!0,setTimeout(()=>{w.value=!1},2e3)}return(o,u)=>(n(),s(_,{title:`امنیت حساب`,subtitle:`تغییر رمز عبور و تنظیمات ورود`},{default:l(()=>[r(f,{message:C.value},null,8,[`message`]),e(`div`,v,[r(g,{modelValue:c.value,"onUpdate:modelValue":[u[0]||=e=>c.value=e,u[1]||=e=>T(`currentPassword`)],type:`password`,label:`رمز عبور فعلی`,error:S.value.currentPassword},null,8,[`modelValue`,`error`]),r(g,{modelValue:b.value,"onUpdate:modelValue":[u[2]||=e=>b.value=e,u[3]||=e=>T(`newPassword`)],type:`password`,label:`رمز عبور جدید`,error:S.value.newPassword},null,8,[`modelValue`,`error`]),r(g,{modelValue:x.value,"onUpdate:modelValue":[u[4]||=e=>x.value=e,u[5]||=e=>T(`confirmPassword`)],type:`password`,label:`تکرار رمز عبور جدید`,error:S.value.confirmPassword},null,8,[`modelValue`,`error`]),r(d,{block:``,onClick:E},{default:l(()=>[...u[6]||=[t(`ذخیره رمز جدید`,-1)]]),_:1}),w.value?(n(),a(`p`,y,`رمز عبور با موفقیت تغییر کرد ✓`)):i(``,!0)])]),_:1}))}}),[[`__scopeId`,`data-v-074827a2`]]);export{b as default}; \ No newline at end of file diff --git a/dist/assets/ProfileView-Di4Kh-Np.js b/dist/assets/ProfileView-zsVIG08O.js similarity index 98% rename from dist/assets/ProfileView-Di4Kh-Np.js rename to dist/assets/ProfileView-zsVIG08O.js index 3c45c74..2f84329 100644 --- a/dist/assets/ProfileView-Di4Kh-Np.js +++ b/dist/assets/ProfileView-zsVIG08O.js @@ -1 +1 @@ -import{$ as e,A as t,D as n,F as r,I as i,J as a,K as o,L as s,M as c,N as l,R as u,St as d,T as ee,Tt as f,X as p,_ as m,j as h,k as g,n as _,pt as v,t as y,wt as b,xt as x}from"./BasicIcon-B6lR-mG3.js";import{n as S,o as C,r as w,u as T}from"./format-BHJptHdF.js";import{C as E,S as D,b as O,c as k,g as A,h as j,o as te,r as ne,s as M,u as N,w as P}from"./index-DHK6R1xK.js";import{r as F,t as I}from"./constants-DXXK14Zz.js";import{t as L}from"./IconPhone-Glpo76KE.js";import{t as R}from"./IconEditPen-CppsBLM9.js";import{t as z}from"./IconBuilding-oclvcvlP.js";import{t as B}from"./IconVerified-BSlZDcZt.js";import{t as V}from"./IconLayoutGrid-DgOvzvMf.js";import{t as H}from"./PageSkeleton-BImjuI6S.js";import{n as U,t as W}from"./crm-DbcoqKAF.js";import{n as G,t as K}from"./IconBolt-BuLG6uFR.js";import{t as q}from"./IconCash-Bxyfv_aw.js";import{t as J}from"./IconCashSettlement-DizzShjh.js";import{t as Y}from"./IconMail-BWRmFd4j.js";var X=u({__name:`IconSettings`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(a(),h(y,{icon:`vuesax-linear:setting-2`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Z={class:`page profile-page`},Q={class:`page__scroll page__scroll--with-nav profile-scroll`},re={class:`hero`},ie={class:`hero__pin`},ae={class:`hero__top`},oe=[`aria-label`],se={class:`hero__meta`},ce={class:`level-pill`},le={class:`profile-sheet`},ue={class:`panel`},de={class:`panel__head`},fe={class:`panel__period`},pe={class:`stats`},me={class:`stat-card`},he={class:`stat-card__text`},ge={class:`stat-card__value`},_e={class:`stat-card__icon stat-card__icon--orders`},ve={class:`stat-card`},ye={class:`stat-card__text`},be={class:`stat-card__value`},xe={class:`stat-card__icon stat-card__icon--customers`},Se={class:`stat-card`},Ce={class:`stat-card__text`},we={class:`stat-card__value`},Te={class:`stat-card__icon stat-card__icon--profit`},Ee={class:`stat-card`},De={class:`stat-card__text`},Oe={class:`stat-card__value`},ke={class:`stat-card__icon stat-card__icon--sales`},Ae={class:`loyalty`},je={class:`loyalty__row`},Me={class:`loyalty__text`},Ne={class:`loyalty__bar`},Pe={class:`quick-grid`},Fe=[`onClick`],Ie={class:`quick-item__icon`},Le={class:`orders-box`},Re={class:`section-head`},ze=[`onClick`,`onKeydown`],Be={class:`order-row__meta`},Ve={class:`order-row__date`},He={class:`order-row__title`},Ue={key:0,class:`order-row__customer`},We={class:`price-section`},Ge={class:`price-card`},Ke={class:`price-card__body`},qe={class:`price-card__info`},Je=_(u({__name:`MobileProfilePage`,setup(e){let u={id:`sample-base-price`,name:`پارچه فاستونی ایتالیایی`,code:`DF-1204`,categoryId:``,season:`all_season`,widthCm:160,composition:``,colors:[`1`,`2`,`3`,`4`,`5`,`6`],tags:[],isNew:!1,rollMeters:0,basePrice:38e4},_=m(),S=k(),T=A(),E=W(),D=N(),O=v(null),j=v(u),L=v(!1),R=[{label:`ثبت مشتری جدید`,to:`/customers`,icon:`vuesax-linear:add`},{label:`سفارش‌ها`,to:`/orders`,icon:`vuesax-linear:document-text`},{label:`مشتریان من`,to:`/customers`,icon:`vuesax-linear:people`},{label:`گزارش‌ها`,to:`/reminders`,icon:`vuesax-linear:chart-2`},{label:`درخواست کالیته`,to:`/catalog-request`,icon:`vuesax-linear:category`},{label:`قیمت‌گذاری`,to:`/categories`,icon:`vuesax-linear:money-4`}],z=g(()=>[...T.orders].sort((e,t)=>String(t.createdAt).localeCompare(String(e.createdAt))).slice(0,3).map(e=>{let t=F[e.status]??`info`,n=t===`danger`||t===`neutral`?`danger`:t===`success`?`success`:t===`warning`?`warning`:`info`;return{id:e.id,title:`سفارش #${e.orderNumber}`,date:e.createdAt?w(e.createdAt):``,customer:e.companyName||``,statusLabel:I[e.status]||e.status,statusTone:n}})),B=g(()=>S.fullName||`کاربر`),V=g(()=>O.value?.code||S.user?.agentCode||`—`),G=g(()=>O.value?.levelLabel||S.user?.levelLabel||`برنزی`),K=g(()=>O.value?.nextLevelLabel||S.user?.nextLevelLabel||`نقره‌ای`),q=g(()=>O.value?.pointsToNext??S.user?.pointsToNext??0),J=g(()=>O.value?.periodLabel||`۳۰ روز اخیر`),Y=g(()=>O.value?.customersCount??0),Je=g(()=>O.value?.ordersCount??T.orders.length),Ye=g(()=>O.value?.salesVolumeToman??0),$=g(()=>O.value?.profitToman??0),Xe=g(()=>O.value?.levelProgress??S.user?.levelProgress??72),Ze=g(()=>D.unreadCount>9?`9+`:String(D.unreadCount)),Qe=g(()=>j.value.basePrice??u.basePrice??0);return o(async()=>{L.value=!0;try{D.hydrate();try{O.value=await U()}catch{O.value=null}try{let e=(await E.loadBrowseProducts())[0];j.value=e?{...u,...e,basePrice:e.basePrice??u.basePrice}:u}catch{j.value=u}T.orders.length||await T.hydrate()}finally{L.value=!1}}),(e,o)=>(a(),l(`div`,Z,[t(`div`,Q,[t(`header`,re,[t(`div`,ie,[t(`div`,ae,[t(`button`,{type:`button`,class:`icon-btn`,"aria-label":`تنظیمات`,onClick:o[0]||=e=>x(_).push(`/profile/display`)},[s(X,{size:20,color:`#ffffff`})]),o[4]||=t(`h1`,null,`پروفایل من`,-1),t(`button`,{type:`button`,class:`icon-btn`,"aria-label":`اعلان‌ها`,onClick:o[1]||=e=>x(_).push(`/profile/notifications`)},[s(M,{size:20,color:`#ffffff`}),x(D).hasUnread?(a(),l(`span`,{key:0,class:`icon-btn__badge`,"aria-label":`${x(D).unreadCount} اعلان خوانده‌نشده`},f(Ze.value),9,oe)):c(``,!0)])]),s(ne,{class:`hero__avatar`,src:x(S).user?.avatarUrl,initials:B.value.charAt(0),size:84},null,8,[`src`,`initials`])]),t(`div`,se,[t(`h2`,null,f(B.value),1),t(`p`,null,`کد واسطه: `+f(V.value),1),t(`span`,ce,[o[5]||=t(`svg`,{class:`level-pill__crown`,viewBox:`0 0 24 24`,"aria-hidden":`true`},[t(`path`,{fill:`currentColor`,d:`M3.5 17.5h17l-1.2-8.2a1 1 0 0 0-1.5-.7L14 11l-2.5-5.2a1 1 0 0 0-1.8 0L7.2 11 4.2 8.6a1 1 0 0 0-1.5.7L3.5 17.5Zm1.7 1.5h13.6v1.2H5.2V19Z`})],-1),i(` سطح: `+f(G.value),1)])])]),t(`div`,le,[L.value?(a(),h(H,{key:0,variant:`profile`})):(a(),l(n,{key:1},[t(`section`,ue,[t(`div`,de,[o[6]||=t(`h3`,null,`خلاصه عملکرد`,-1),t(`span`,fe,[i(f(J.value)+` `,1),s(y,{icon:`vuesax-linear:arrow-down`,size:14,"stroke-width":1.5})])]),t(`div`,pe,[t(`div`,me,[t(`div`,he,[o[7]||=t(`span`,{class:`stat-card__label`},`سفارش‌ها`,-1),t(`strong`,ge,f(x(C)(Je.value)),1),o[8]||=t(`em`,{class:`stat-card__hint`},`سفارش`,-1)]),t(`span`,_e,[s(P,{size:18})])]),t(`div`,ve,[t(`div`,ye,[o[9]||=t(`span`,{class:`stat-card__label`},`مشتریان من`,-1),t(`strong`,be,f(x(C)(Y.value)),1),o[10]||=t(`em`,{class:`stat-card__hint`},`مشتری فعال`,-1)]),t(`span`,xe,[s(y,{icon:`vuesax-linear:people`,size:18,"stroke-width":1.5})])]),t(`div`,Se,[t(`div`,Ce,[o[11]||=t(`span`,{class:`stat-card__label`},`سود شما (ریال)`,-1),t(`strong`,we,f(x(C)($.value)),1),o[12]||=t(`em`,{class:`stat-card__hint`},`تومان`,-1)]),t(`span`,Te,[s(y,{icon:`vuesax-linear:chart-2`,size:18,"stroke-width":1.5})])]),t(`div`,Ee,[t(`div`,De,[o[13]||=t(`span`,{class:`stat-card__label`},`حجم فروش (ریال)`,-1),t(`strong`,Oe,f(x(C)(Ye.value)),1),o[14]||=t(`em`,{class:`stat-card__hint`},`تومان`,-1)]),t(`span`,ke,[s(y,{icon:`vuesax-linear:wallet`,size:18,"stroke-width":1.5})])])])]),t(`section`,Ae,[t(`div`,je,[o[15]||=r(``,1),t(`p`,Me,` شما در سطح `+f(G.value)+` قرار دارید. تا سطح `+f(K.value)+` فقط `+f(x(C)(q.value))+` تومان فروش دیگر نیاز دارید. `,1)]),t(`div`,Ne,[t(`span`,{style:b({width:`${Math.min(100,Math.max(0,Xe.value))}%`})},null,4)])]),t(`section`,null,[o[16]||=t(`h3`,{class:`section-title`},`دسترسی سریع`,-1),t(`div`,Pe,[(a(),l(n,null,p(R,e=>t(`button`,{key:e.label,type:`button`,class:`quick-item`,onClick:t=>x(_).push(e.to)},[t(`span`,Ie,[s(y,{icon:e.icon,size:22,"stroke-width":1.5},null,8,[`icon`])]),i(` `+f(e.label),1)],8,Fe)),64))])]),t(`section`,Le,[t(`div`,Re,[o[17]||=t(`h3`,null,`آخرین سفارش‌ها`,-1),t(`button`,{type:`button`,class:`link`,onClick:o[2]||=e=>x(_).push(`/orders`)},`مشاهده همه`)]),(a(!0),l(n,null,p(z.value,e=>(a(),l(`article`,{key:e.id,class:`order-row`,role:`button`,tabindex:`0`,onClick:t=>x(_).push({path:`/order`,query:{id:e.id}}),onKeydown:ee(t=>x(_).push({path:`/order`,query:{id:e.id}}),[`enter`])},[t(`div`,Be,[t(`span`,Ve,f(e.date),1),t(`strong`,He,f(e.title),1),e.customer?(a(),l(`p`,Ue,`مشتری: `+f(e.customer),1)):c(``,!0)]),t(`span`,{class:d([`tone`,`tone--${e.statusTone}`])},f(e.statusLabel),3),s(te,{size:16,class:`order-row__chevron`})],40,ze))),128)),t(`button`,{type:`button`,class:`orders-all`,onClick:o[3]||=e=>x(_).push(`/orders`)},` مشاهده همه سفارش‌ها `)]),t(`section`,We,[o[18]||=t(`h3`,{class:`section-title`},`قیمت‌های پایه (نمونه)`,-1),t(`div`,Ge,[t(`div`,Ke,[t(`div`,qe,[t(`strong`,null,f(j.value.name),1),t(`p`,null,`کد: `+f(j.value.code),1),t(`p`,null,`عرض: `+f(x(C)(j.value.widthCm))+` سانتی‌متر`,1),t(`p`,null,`رنگ‌ها: `+f(x(C)(j.value.colors.length))+` رنگ`,1)]),t(`div`,{class:`price-card__image`,style:b(j.value.imageUrl?{backgroundImage:`url(${j.value.imageUrl})`}:void 0)},null,4)]),t(`footer`,null,`قیمت پایه به شما: `+f(x(C)(Qe.value))+` تومان / متر`,1)])])],64))])])]))}}),[[`__scopeId`,`data-v-947f93d3`]]),Ye=u({__name:`IconMapPin`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(a(),h(y,{icon:`vuesax-linear:location`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),$=u({__name:`IconLock`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(a(),h(y,{icon:`vuesax-linear:lock`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Xe={class:`desktop-page desktop-profile`},Ze={class:`profile-overview`},Qe={class:`profile-overview__identity`},$e={class:`profile-overview__aside`},et={class:`profile-overview__details`},tt={class:`profile-overview__name-row`},nt={class:`profile-overview__name`},rt={class:`profile-overview__verified`,title:`حساب تأیید شده`},it={class:`profile-overview__meta`},at={class:`profile-overview__meta-label`},ot={class:`profile-overview__meta`},st={dir:`ltr`},ct={class:`profile-overview__meta`},lt={dir:`ltr`},ut={class:`profile-overview__stats`},dt={class:`profile-stat`},ft={class:`profile-stat__icon profile-stat__icon--amber`},pt={class:`profile-stat__value profile-stat__value--sm`},mt={class:`profile-stat`},ht={class:`profile-stat__icon profile-stat__icon--green`},gt={class:`profile-stat__value`},_t={class:`profile-stat`},vt={class:`profile-stat__icon profile-stat__icon--blue`},yt={class:`profile-stat__value`},bt={class:`desktop-profile__grid`},xt={class:`profile-panel profile-panel--settings`},St={class:`profile-panel__title`},Ct={class:`profile-settings`,"aria-label":`تنظیمات حساب`},wt=[`onClick`],Tt={class:`profile-settings__icon`},Et={class:`profile-settings__body`},Dt={class:`profile-settings__label`},Ot={class:`profile-settings__desc`},kt={class:`profile-panel profile-panel--quick`},At={class:`profile-panel__title`},jt={class:`profile-quick-grid`},Mt=[`onClick`],Nt={class:`profile-quick-grid__icon`},Pt={class:`profile-quick-grid__label`},Ft={class:`profile-panel profile-panel--company`},It={class:`profile-panel__title`},Lt={class:`profile-info-list`},Rt={key:0,class:`profile-badge`},zt=_(u({__name:`DesktopProfilePage`,emits:[`logout`],setup(r,{emit:o}){let c=m(),u=k(),d=A(),ee=o,_=g(()=>`${u.user?.firstName?.[0]??``}${u.user?.lastName?.[0]??``}`||`؟`),v=g(()=>u.user?.id?d.userOrders(u.user.id).length:0),y=g(()=>u.user?.id?d.userOrders(u.user.id).reduce((e,t)=>e+(t.checks?.length??0),0)+d.draftChecks.length:0),b=g(()=>{let e=u.user;return e?u.isAgent&&e.agentCode?T(e.agentCode):e.nationalId?T(e.nationalId.slice(-6).padStart(6,`0`)):T(e.id?.slice(-6)??`—`):T(`—`)}),N=g(()=>u.isAgent?`کد واسطه:`:`کد مشتری:`),P=g(()=>{let e=u.user?.phone??``;return e?`user${e.slice(-4)}@parsbaft.ir`:`—`}),F=g(()=>u.user?.createdAt?w(u.user.createdAt):`—`),I=g(()=>0),H=g(()=>[{label:`نام شرکت`,value:u.fullName||`—`},{label:`شناسه ملی`,value:u.user?.nationalId?T(u.user.nationalId):`—`},{label:`کد اقتصادی`,value:u.user?.nationalId?T(`4${u.user.nationalId.slice(0,10)}`):`—`},{label:`تاریخ عضویت`,value:F.value},{label:`نوع مشتری`,value:u.isAgent?`واسطه`:`مشتری عمده`,badge:!0},{label:`وضعیت حساب`,value:`فعال`,badge:!0}]),U=[{label:`حساب‌های بانکی`,icon:J},{label:`آدرس‌ها`,icon:Ye},{label:`حمایت و پشتیبانی`,icon:j,href:`tel:02112345678`},{label:`فاکتورهای من`,icon:E,path:`/orders`}],W=[{id:`profile`,label:`اطلاعات کاربری`,description:`ویرایش نام، موبایل و ایمیل`,icon:D,path:`/profile/edit`},{id:`security`,label:`امنیت حساب`,description:`تغییر رمز عبور و تنظیمات ورود`,icon:$,path:`/profile/security`},{id:`notifications`,label:`اعلان‌ها`,description:`خبرهای فاکتور، چک و ارسال سفارش`,icon:M,path:`/profile/notifications`},{id:`display`,label:`تنظیمات`,description:`نمایش، اطلاعات کاربری و خروج`,icon:V,path:`/profile/display`},{id:`logout`,label:`خروج از حساب`,description:`پایان نشست و ورود مجدد`,icon:$,action:`logout`}];function Z(e){e.path?c.push(e.path):e.href&&(window.location.href=e.href)}function Q(e){if(e.action===`logout`){ee(`logout`);return}e.path&&c.push(e.path)}return(r,o)=>(a(),l(`div`,Xe,[o[11]||=t(`header`,{class:`desktop-profile__head`},[t(`h1`,{class:`desktop-profile__title`},`پروفایل`),t(`p`,{class:`desktop-profile__subtitle`},`مدیریت اطلاعات حساب کاربری و تنظیمات`)],-1),t(`section`,Ze,[t(`div`,Qe,[t(`div`,$e,[s(ne,{class:`profile-overview__avatar`,src:x(u).user?.avatarUrl,initials:_.value,size:92},null,8,[`src`,`initials`]),t(`button`,{type:`button`,class:`profile-overview__edit`,onClick:o[0]||=e=>x(c).push(`/profile/edit`)},[s(R,{size:16}),o[3]||=i(` ویرایش اطلاعات `,-1)])]),t(`div`,et,[t(`div`,tt,[t(`h2`,nt,f(x(u).fullName),1),t(`span`,rt,[s(B,{size:18})])]),t(`p`,it,[s(G,{size:15,class:`profile-overview__meta-icon`}),t(`span`,at,f(N.value),1),t(`span`,null,f(b.value),1)]),t(`p`,ot,[s(L,{size:15,class:`profile-overview__meta-icon`}),t(`span`,st,f(x(u).user?.phone),1)]),t(`p`,ct,[s(Y,{size:15,class:`profile-overview__meta-icon`}),t(`span`,lt,f(P.value),1)])])]),t(`div`,ut,[t(`article`,dt,[t(`span`,ft,[s(q,{size:20})]),t(`strong`,pt,f(x(S)(I.value)),1),o[4]||=t(`span`,{class:`profile-stat__label`},`موجودی اعتبار`,-1),o[5]||=t(`button`,{type:`button`,class:`profile-stat__link`},`مشاهده جزئیات`,-1)]),t(`article`,mt,[t(`span`,ht,[s(O,{size:20})]),t(`strong`,gt,f(x(C)(y.value)),1),o[6]||=t(`span`,{class:`profile-stat__label`},`چک فعال`,-1),t(`button`,{type:`button`,class:`profile-stat__link`,onClick:o[1]||=e=>x(c).push(`/profile/checks`)},` مشاهده همه `)]),t(`article`,_t,[t(`span`,vt,[s(E,{size:20})]),t(`strong`,yt,f(x(C)(v.value)),1),o[7]||=t(`span`,{class:`profile-stat__label`},`سفارش ثبت‌شده`,-1),t(`button`,{type:`button`,class:`profile-stat__link`,onClick:o[2]||=e=>x(c).push(`/orders`)},` مشاهده همه `)])])]),t(`div`,bt,[t(`section`,xt,[t(`h3`,St,[s(X,{size:18}),o[8]||=i(` تنظیمات حساب `,-1)]),t(`nav`,Ct,[(a(),l(n,null,p(W,n=>t(`button`,{key:n.id,type:`button`,class:`profile-settings__item`,onClick:e=>Q(n)},[t(`span`,Tt,[(a(),h(e(n.icon),{size:20}))]),t(`span`,Et,[t(`strong`,Dt,f(n.label),1),t(`span`,Ot,f(n.description),1)]),s(te,{size:16,class:`profile-settings__chevron`,"aria-hidden":`true`})],8,wt)),64))])]),t(`section`,kt,[t(`h3`,At,[s(K,{size:18}),o[9]||=i(` دسترسی سریع `,-1)]),t(`div`,jt,[(a(),l(n,null,p(U,n=>t(`button`,{key:n.label,type:`button`,class:`profile-quick-grid__item`,onClick:e=>Z(n)},[t(`span`,Nt,[(a(),h(e(n.icon),{size:22}))]),t(`span`,Pt,f(n.label),1)],8,Mt)),64))])]),t(`section`,Ft,[t(`h3`,It,[s(z,{size:18}),o[10]||=i(` اطلاعات شرکت `,-1)]),t(`dl`,Lt,[(a(!0),l(n,null,p(H.value,e=>(a(),l(`div`,{key:e.label,class:`profile-info-list__row`},[t(`dt`,null,f(e.label),1),t(`dd`,null,[e.badge?(a(),l(`span`,Rt,f(e.value),1)):(a(),l(n,{key:1},[i(f(e.value),1)],64))])]))),128))])])])]))}}),[[`__scopeId`,`data-v-0481e66d`]]),Bt=u({__name:`ProfileView`,setup(e){let t=m(),r=k();function i(){r.logout(),t.replace(`/login`)}return(e,t)=>(a(),l(n,null,[s(Je,{class:`mobile-only`}),s(zt,{class:`desktop-only`,onLogout:i})],64))}});export{Bt as default}; \ No newline at end of file +import{$ as e,A as t,D as n,F as r,I as i,J as a,K as o,L as s,M as c,N as l,R as u,St as d,T as ee,Tt as f,X as p,_ as m,j as h,k as g,n as _,pt as v,t as y,wt as b,xt as x}from"./BasicIcon-B6lR-mG3.js";import{n as S,o as C,r as w,u as T}from"./format-BHJptHdF.js";import{C as E,S as D,b as O,c as k,g as A,h as j,o as te,r as ne,s as M,u as N,w as P}from"./index-B20WsQhf.js";import{r as F,t as I}from"./constants-DXXK14Zz.js";import{t as L}from"./IconPhone-Glpo76KE.js";import{t as R}from"./IconEditPen-CppsBLM9.js";import{t as z}from"./IconVerified-BSlZDcZt.js";import{t as B}from"./IconBuilding-oclvcvlP.js";import{t as V}from"./IconLayoutGrid-DgOvzvMf.js";import{t as H}from"./PageSkeleton-BImjuI6S.js";import{n as U,t as W}from"./crm-DbcoqKAF.js";import{n as G,t as K}from"./IconBolt-BuLG6uFR.js";import{t as q}from"./IconCash-Bxyfv_aw.js";import{t as J}from"./IconCashSettlement-DizzShjh.js";import{t as Y}from"./IconMail-BWRmFd4j.js";var X=u({__name:`IconSettings`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(a(),h(y,{icon:`vuesax-linear:setting-2`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Z={class:`page profile-page`},Q={class:`page__scroll page__scroll--with-nav profile-scroll`},re={class:`hero`},ie={class:`hero__pin`},ae={class:`hero__top`},oe=[`aria-label`],se={class:`hero__meta`},ce={class:`level-pill`},le={class:`profile-sheet`},ue={class:`panel`},de={class:`panel__head`},fe={class:`panel__period`},pe={class:`stats`},me={class:`stat-card`},he={class:`stat-card__text`},ge={class:`stat-card__value`},_e={class:`stat-card__icon stat-card__icon--orders`},ve={class:`stat-card`},ye={class:`stat-card__text`},be={class:`stat-card__value`},xe={class:`stat-card__icon stat-card__icon--customers`},Se={class:`stat-card`},Ce={class:`stat-card__text`},we={class:`stat-card__value`},Te={class:`stat-card__icon stat-card__icon--profit`},Ee={class:`stat-card`},De={class:`stat-card__text`},Oe={class:`stat-card__value`},ke={class:`stat-card__icon stat-card__icon--sales`},Ae={class:`loyalty`},je={class:`loyalty__row`},Me={class:`loyalty__text`},Ne={class:`loyalty__bar`},Pe={class:`quick-grid`},Fe=[`onClick`],Ie={class:`quick-item__icon`},Le={class:`orders-box`},Re={class:`section-head`},ze=[`onClick`,`onKeydown`],Be={class:`order-row__meta`},Ve={class:`order-row__date`},He={class:`order-row__title`},Ue={key:0,class:`order-row__customer`},We={class:`price-section`},Ge={class:`price-card`},Ke={class:`price-card__body`},qe={class:`price-card__info`},Je=_(u({__name:`MobileProfilePage`,setup(e){let u={id:`sample-base-price`,name:`پارچه فاستونی ایتالیایی`,code:`DF-1204`,categoryId:``,season:`all_season`,widthCm:160,composition:``,colors:[`1`,`2`,`3`,`4`,`5`,`6`],tags:[],isNew:!1,rollMeters:0,basePrice:38e4},_=m(),S=k(),T=A(),E=W(),D=N(),O=v(null),j=v(u),L=v(!1),R=[{label:`ثبت مشتری جدید`,to:`/customers`,icon:`vuesax-linear:add`},{label:`سفارش‌ها`,to:`/orders`,icon:`vuesax-linear:document-text`},{label:`مشتریان من`,to:`/customers`,icon:`vuesax-linear:people`},{label:`گزارش‌ها`,to:`/reminders`,icon:`vuesax-linear:chart-2`},{label:`درخواست کالیته`,to:`/catalog-request`,icon:`vuesax-linear:category`},{label:`قیمت‌گذاری`,to:`/categories`,icon:`vuesax-linear:money-4`}],z=g(()=>[...T.orders].sort((e,t)=>String(t.createdAt).localeCompare(String(e.createdAt))).slice(0,3).map(e=>{let t=F[e.status]??`info`,n=t===`danger`||t===`neutral`?`danger`:t===`success`?`success`:t===`warning`?`warning`:`info`;return{id:e.id,title:`سفارش #${e.orderNumber}`,date:e.createdAt?w(e.createdAt):``,customer:e.companyName||``,statusLabel:I[e.status]||e.status,statusTone:n}})),B=g(()=>S.fullName||`کاربر`),V=g(()=>O.value?.code||S.user?.agentCode||`—`),G=g(()=>O.value?.levelLabel||S.user?.levelLabel||`برنزی`),K=g(()=>O.value?.nextLevelLabel||S.user?.nextLevelLabel||`نقره‌ای`),q=g(()=>O.value?.pointsToNext??S.user?.pointsToNext??0),J=g(()=>O.value?.periodLabel||`۳۰ روز اخیر`),Y=g(()=>O.value?.customersCount??0),Je=g(()=>O.value?.ordersCount??T.orders.length),Ye=g(()=>O.value?.salesVolumeToman??0),$=g(()=>O.value?.profitToman??0),Xe=g(()=>O.value?.levelProgress??S.user?.levelProgress??72),Ze=g(()=>D.unreadCount>9?`9+`:String(D.unreadCount)),Qe=g(()=>j.value.basePrice??u.basePrice??0);return o(async()=>{L.value=!0;try{D.hydrate();try{O.value=await U()}catch{O.value=null}try{let e=(await E.loadBrowseProducts())[0];j.value=e?{...u,...e,basePrice:e.basePrice??u.basePrice}:u}catch{j.value=u}T.orders.length||await T.hydrate()}finally{L.value=!1}}),(e,o)=>(a(),l(`div`,Z,[t(`div`,Q,[t(`header`,re,[t(`div`,ie,[t(`div`,ae,[t(`button`,{type:`button`,class:`icon-btn`,"aria-label":`تنظیمات`,onClick:o[0]||=e=>x(_).push(`/profile/display`)},[s(X,{size:20,color:`#ffffff`})]),o[4]||=t(`h1`,null,`پروفایل من`,-1),t(`button`,{type:`button`,class:`icon-btn`,"aria-label":`اعلان‌ها`,onClick:o[1]||=e=>x(_).push(`/profile/notifications`)},[s(M,{size:20,color:`#ffffff`}),x(D).hasUnread?(a(),l(`span`,{key:0,class:`icon-btn__badge`,"aria-label":`${x(D).unreadCount} اعلان خوانده‌نشده`},f(Ze.value),9,oe)):c(``,!0)])]),s(ne,{class:`hero__avatar`,src:x(S).user?.avatarUrl,initials:B.value.charAt(0),size:84},null,8,[`src`,`initials`])]),t(`div`,se,[t(`h2`,null,f(B.value),1),t(`p`,null,`کد واسطه: `+f(V.value),1),t(`span`,ce,[o[5]||=t(`svg`,{class:`level-pill__crown`,viewBox:`0 0 24 24`,"aria-hidden":`true`},[t(`path`,{fill:`currentColor`,d:`M3.5 17.5h17l-1.2-8.2a1 1 0 0 0-1.5-.7L14 11l-2.5-5.2a1 1 0 0 0-1.8 0L7.2 11 4.2 8.6a1 1 0 0 0-1.5.7L3.5 17.5Zm1.7 1.5h13.6v1.2H5.2V19Z`})],-1),i(` سطح: `+f(G.value),1)])])]),t(`div`,le,[L.value?(a(),h(H,{key:0,variant:`profile`})):(a(),l(n,{key:1},[t(`section`,ue,[t(`div`,de,[o[6]||=t(`h3`,null,`خلاصه عملکرد`,-1),t(`span`,fe,[i(f(J.value)+` `,1),s(y,{icon:`vuesax-linear:arrow-down`,size:14,"stroke-width":1.5})])]),t(`div`,pe,[t(`div`,me,[t(`div`,he,[o[7]||=t(`span`,{class:`stat-card__label`},`سفارش‌ها`,-1),t(`strong`,ge,f(x(C)(Je.value)),1),o[8]||=t(`em`,{class:`stat-card__hint`},`سفارش`,-1)]),t(`span`,_e,[s(P,{size:18})])]),t(`div`,ve,[t(`div`,ye,[o[9]||=t(`span`,{class:`stat-card__label`},`مشتریان من`,-1),t(`strong`,be,f(x(C)(Y.value)),1),o[10]||=t(`em`,{class:`stat-card__hint`},`مشتری فعال`,-1)]),t(`span`,xe,[s(y,{icon:`vuesax-linear:people`,size:18,"stroke-width":1.5})])]),t(`div`,Se,[t(`div`,Ce,[o[11]||=t(`span`,{class:`stat-card__label`},`سود شما (ریال)`,-1),t(`strong`,we,f(x(C)($.value)),1),o[12]||=t(`em`,{class:`stat-card__hint`},`تومان`,-1)]),t(`span`,Te,[s(y,{icon:`vuesax-linear:chart-2`,size:18,"stroke-width":1.5})])]),t(`div`,Ee,[t(`div`,De,[o[13]||=t(`span`,{class:`stat-card__label`},`حجم فروش (ریال)`,-1),t(`strong`,Oe,f(x(C)(Ye.value)),1),o[14]||=t(`em`,{class:`stat-card__hint`},`تومان`,-1)]),t(`span`,ke,[s(y,{icon:`vuesax-linear:wallet`,size:18,"stroke-width":1.5})])])])]),t(`section`,Ae,[t(`div`,je,[o[15]||=r(``,1),t(`p`,Me,` شما در سطح `+f(G.value)+` قرار دارید. تا سطح `+f(K.value)+` فقط `+f(x(C)(q.value))+` تومان فروش دیگر نیاز دارید. `,1)]),t(`div`,Ne,[t(`span`,{style:b({width:`${Math.min(100,Math.max(0,Xe.value))}%`})},null,4)])]),t(`section`,null,[o[16]||=t(`h3`,{class:`section-title`},`دسترسی سریع`,-1),t(`div`,Pe,[(a(),l(n,null,p(R,e=>t(`button`,{key:e.label,type:`button`,class:`quick-item`,onClick:t=>x(_).push(e.to)},[t(`span`,Ie,[s(y,{icon:e.icon,size:22,"stroke-width":1.5},null,8,[`icon`])]),i(` `+f(e.label),1)],8,Fe)),64))])]),t(`section`,Le,[t(`div`,Re,[o[17]||=t(`h3`,null,`آخرین سفارش‌ها`,-1),t(`button`,{type:`button`,class:`link`,onClick:o[2]||=e=>x(_).push(`/orders`)},`مشاهده همه`)]),(a(!0),l(n,null,p(z.value,e=>(a(),l(`article`,{key:e.id,class:`order-row`,role:`button`,tabindex:`0`,onClick:t=>x(_).push({path:`/order`,query:{id:e.id}}),onKeydown:ee(t=>x(_).push({path:`/order`,query:{id:e.id}}),[`enter`])},[t(`div`,Be,[t(`span`,Ve,f(e.date),1),t(`strong`,He,f(e.title),1),e.customer?(a(),l(`p`,Ue,`مشتری: `+f(e.customer),1)):c(``,!0)]),t(`span`,{class:d([`tone`,`tone--${e.statusTone}`])},f(e.statusLabel),3),s(te,{size:16,class:`order-row__chevron`})],40,ze))),128)),t(`button`,{type:`button`,class:`orders-all`,onClick:o[3]||=e=>x(_).push(`/orders`)},` مشاهده همه سفارش‌ها `)]),t(`section`,We,[o[18]||=t(`h3`,{class:`section-title`},`قیمت‌های پایه (نمونه)`,-1),t(`div`,Ge,[t(`div`,Ke,[t(`div`,qe,[t(`strong`,null,f(j.value.name),1),t(`p`,null,`کد: `+f(j.value.code),1),t(`p`,null,`عرض: `+f(x(C)(j.value.widthCm))+` سانتی‌متر`,1),t(`p`,null,`رنگ‌ها: `+f(x(C)(j.value.colors.length))+` رنگ`,1)]),t(`div`,{class:`price-card__image`,style:b(j.value.imageUrl?{backgroundImage:`url(${j.value.imageUrl})`}:void 0)},null,4)]),t(`footer`,null,`قیمت پایه به شما: `+f(x(C)(Qe.value))+` تومان / متر`,1)])])],64))])])]))}}),[[`__scopeId`,`data-v-947f93d3`]]),Ye=u({__name:`IconMapPin`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(a(),h(y,{icon:`vuesax-linear:location`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),$=u({__name:`IconLock`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(a(),h(y,{icon:`vuesax-linear:lock`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Xe={class:`desktop-page desktop-profile`},Ze={class:`profile-overview`},Qe={class:`profile-overview__identity`},$e={class:`profile-overview__aside`},et={class:`profile-overview__details`},tt={class:`profile-overview__name-row`},nt={class:`profile-overview__name`},rt={class:`profile-overview__verified`,title:`حساب تأیید شده`},it={class:`profile-overview__meta`},at={class:`profile-overview__meta-label`},ot={class:`profile-overview__meta`},st={dir:`ltr`},ct={class:`profile-overview__meta`},lt={dir:`ltr`},ut={class:`profile-overview__stats`},dt={class:`profile-stat`},ft={class:`profile-stat__icon profile-stat__icon--amber`},pt={class:`profile-stat__value profile-stat__value--sm`},mt={class:`profile-stat`},ht={class:`profile-stat__icon profile-stat__icon--green`},gt={class:`profile-stat__value`},_t={class:`profile-stat`},vt={class:`profile-stat__icon profile-stat__icon--blue`},yt={class:`profile-stat__value`},bt={class:`desktop-profile__grid`},xt={class:`profile-panel profile-panel--settings`},St={class:`profile-panel__title`},Ct={class:`profile-settings`,"aria-label":`تنظیمات حساب`},wt=[`onClick`],Tt={class:`profile-settings__icon`},Et={class:`profile-settings__body`},Dt={class:`profile-settings__label`},Ot={class:`profile-settings__desc`},kt={class:`profile-panel profile-panel--quick`},At={class:`profile-panel__title`},jt={class:`profile-quick-grid`},Mt=[`onClick`],Nt={class:`profile-quick-grid__icon`},Pt={class:`profile-quick-grid__label`},Ft={class:`profile-panel profile-panel--company`},It={class:`profile-panel__title`},Lt={class:`profile-info-list`},Rt={key:0,class:`profile-badge`},zt=_(u({__name:`DesktopProfilePage`,emits:[`logout`],setup(r,{emit:o}){let c=m(),u=k(),d=A(),ee=o,_=g(()=>`${u.user?.firstName?.[0]??``}${u.user?.lastName?.[0]??``}`||`؟`),v=g(()=>u.user?.id?d.userOrders(u.user.id).length:0),y=g(()=>u.user?.id?d.userOrders(u.user.id).reduce((e,t)=>e+(t.checks?.length??0),0)+d.draftChecks.length:0),b=g(()=>{let e=u.user;return e?u.isAgent&&e.agentCode?T(e.agentCode):e.nationalId?T(e.nationalId.slice(-6).padStart(6,`0`)):T(e.id?.slice(-6)??`—`):T(`—`)}),N=g(()=>u.isAgent?`کد واسطه:`:`کد مشتری:`),P=g(()=>{let e=u.user?.phone??``;return e?`user${e.slice(-4)}@parsbaft.ir`:`—`}),F=g(()=>u.user?.createdAt?w(u.user.createdAt):`—`),I=g(()=>0),H=g(()=>[{label:`نام شرکت`,value:u.fullName||`—`},{label:`شناسه ملی`,value:u.user?.nationalId?T(u.user.nationalId):`—`},{label:`کد اقتصادی`,value:u.user?.nationalId?T(`4${u.user.nationalId.slice(0,10)}`):`—`},{label:`تاریخ عضویت`,value:F.value},{label:`نوع مشتری`,value:u.isAgent?`واسطه`:`مشتری عمده`,badge:!0},{label:`وضعیت حساب`,value:`فعال`,badge:!0}]),U=[{label:`حساب‌های بانکی`,icon:J},{label:`آدرس‌ها`,icon:Ye},{label:`حمایت و پشتیبانی`,icon:j,href:`tel:02112345678`},{label:`فاکتورهای من`,icon:E,path:`/orders`}],W=[{id:`profile`,label:`اطلاعات کاربری`,description:`ویرایش نام، موبایل و ایمیل`,icon:D,path:`/profile/edit`},{id:`security`,label:`امنیت حساب`,description:`تغییر رمز عبور و تنظیمات ورود`,icon:$,path:`/profile/security`},{id:`notifications`,label:`اعلان‌ها`,description:`خبرهای فاکتور، چک و ارسال سفارش`,icon:M,path:`/profile/notifications`},{id:`display`,label:`تنظیمات`,description:`نمایش، اطلاعات کاربری و خروج`,icon:V,path:`/profile/display`},{id:`logout`,label:`خروج از حساب`,description:`پایان نشست و ورود مجدد`,icon:$,action:`logout`}];function Z(e){e.path?c.push(e.path):e.href&&(window.location.href=e.href)}function Q(e){if(e.action===`logout`){ee(`logout`);return}e.path&&c.push(e.path)}return(r,o)=>(a(),l(`div`,Xe,[o[11]||=t(`header`,{class:`desktop-profile__head`},[t(`h1`,{class:`desktop-profile__title`},`پروفایل`),t(`p`,{class:`desktop-profile__subtitle`},`مدیریت اطلاعات حساب کاربری و تنظیمات`)],-1),t(`section`,Ze,[t(`div`,Qe,[t(`div`,$e,[s(ne,{class:`profile-overview__avatar`,src:x(u).user?.avatarUrl,initials:_.value,size:92},null,8,[`src`,`initials`]),t(`button`,{type:`button`,class:`profile-overview__edit`,onClick:o[0]||=e=>x(c).push(`/profile/edit`)},[s(R,{size:16}),o[3]||=i(` ویرایش اطلاعات `,-1)])]),t(`div`,et,[t(`div`,tt,[t(`h2`,nt,f(x(u).fullName),1),t(`span`,rt,[s(z,{size:18})])]),t(`p`,it,[s(G,{size:15,class:`profile-overview__meta-icon`}),t(`span`,at,f(N.value),1),t(`span`,null,f(b.value),1)]),t(`p`,ot,[s(L,{size:15,class:`profile-overview__meta-icon`}),t(`span`,st,f(x(u).user?.phone),1)]),t(`p`,ct,[s(Y,{size:15,class:`profile-overview__meta-icon`}),t(`span`,lt,f(P.value),1)])])]),t(`div`,ut,[t(`article`,dt,[t(`span`,ft,[s(q,{size:20})]),t(`strong`,pt,f(x(S)(I.value)),1),o[4]||=t(`span`,{class:`profile-stat__label`},`موجودی اعتبار`,-1),o[5]||=t(`button`,{type:`button`,class:`profile-stat__link`},`مشاهده جزئیات`,-1)]),t(`article`,mt,[t(`span`,ht,[s(O,{size:20})]),t(`strong`,gt,f(x(C)(y.value)),1),o[6]||=t(`span`,{class:`profile-stat__label`},`چک فعال`,-1),t(`button`,{type:`button`,class:`profile-stat__link`,onClick:o[1]||=e=>x(c).push(`/profile/checks`)},` مشاهده همه `)]),t(`article`,_t,[t(`span`,vt,[s(E,{size:20})]),t(`strong`,yt,f(x(C)(v.value)),1),o[7]||=t(`span`,{class:`profile-stat__label`},`سفارش ثبت‌شده`,-1),t(`button`,{type:`button`,class:`profile-stat__link`,onClick:o[2]||=e=>x(c).push(`/orders`)},` مشاهده همه `)])])]),t(`div`,bt,[t(`section`,xt,[t(`h3`,St,[s(X,{size:18}),o[8]||=i(` تنظیمات حساب `,-1)]),t(`nav`,Ct,[(a(),l(n,null,p(W,n=>t(`button`,{key:n.id,type:`button`,class:`profile-settings__item`,onClick:e=>Q(n)},[t(`span`,Tt,[(a(),h(e(n.icon),{size:20}))]),t(`span`,Et,[t(`strong`,Dt,f(n.label),1),t(`span`,Ot,f(n.description),1)]),s(te,{size:16,class:`profile-settings__chevron`,"aria-hidden":`true`})],8,wt)),64))])]),t(`section`,kt,[t(`h3`,At,[s(K,{size:18}),o[9]||=i(` دسترسی سریع `,-1)]),t(`div`,jt,[(a(),l(n,null,p(U,n=>t(`button`,{key:n.label,type:`button`,class:`profile-quick-grid__item`,onClick:e=>Z(n)},[t(`span`,Nt,[(a(),h(e(n.icon),{size:22}))]),t(`span`,Pt,f(n.label),1)],8,Mt)),64))])]),t(`section`,Ft,[t(`h3`,It,[s(B,{size:18}),o[10]||=i(` اطلاعات شرکت `,-1)]),t(`dl`,Lt,[(a(!0),l(n,null,p(H.value,e=>(a(),l(`div`,{key:e.label,class:`profile-info-list__row`},[t(`dt`,null,f(e.label),1),t(`dd`,null,[e.badge?(a(),l(`span`,Rt,f(e.value),1)):(a(),l(n,{key:1},[i(f(e.value),1)],64))])]))),128))])])])]))}}),[[`__scopeId`,`data-v-0481e66d`]]),Bt=u({__name:`ProfileView`,setup(e){let t=m(),r=k();function i(){r.logout(),t.replace(`/login`)}return(e,t)=>(a(),l(n,null,[s(Je,{class:`mobile-only`}),s(zt,{class:`desktop-only`,onLogout:i})],64))}});export{Bt as default}; \ No newline at end of file diff --git a/dist/assets/RegisterView-CBNZxhFG.css b/dist/assets/RegisterView-CBNZxhFG.css deleted file mode 100644 index f9237b3..0000000 --- a/dist/assets/RegisterView-CBNZxhFG.css +++ /dev/null @@ -1 +0,0 @@ -.register-page[data-v-66057dce]{color:#2a2622;background:#f3eee8;overflow:hidden}.register-page__scroll[data-v-66057dce]{overscroll-behavior:contain;height:100%;overflow:hidden auto}.register-page__stage[data-v-66057dce]{width:100%;max-width:390px;min-height:100%;padding:calc(10px + env(safe-area-inset-top,0px)) 20px 0;flex-direction:column;margin-inline:auto;display:flex}.register-top[data-v-66057dce]{justify-content:space-between;align-items:center;min-height:36px;display:flex}.register-top__welcome[data-v-66057dce]{color:#6f6b66;margin:0;font-size:.75rem}.register-top__back[data-v-66057dce]{cursor:pointer;background:0 0;border:none;place-items:center;width:36px;height:36px;margin-inline-start:auto;padding:0;display:grid}.register-title[data-v-66057dce]{text-align:center;color:#1c1b19;margin:18px 0 0;font-size:1.375rem;font-weight:700;line-height:1.45}.register-lead[data-v-66057dce]{text-align:center;color:#8a847c;margin:6px 0 0;font-size:.75rem;line-height:1.7}.register-form[data-v-66057dce]{flex-direction:column;margin-top:22px;display:flex}.register-form[data-v-66057dce] .form-error-banner{margin-bottom:12px}.reg-field[data-v-66057dce]{background:#fbfaf7;border:1px solid #e6e1db;border-radius:999px;align-items:center;gap:10px;height:52px;margin-top:10px;padding:0 14px;display:flex}.reg-field.is-invalid[data-v-66057dce],.job-trigger.is-invalid[data-v-66057dce]{border-color:color-mix(in srgb, var(--color-danger) 55%, #e6e1db)}.reg-field__meta[data-v-66057dce]{color:#5f5b56;white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;font-size:.8125rem;font-weight:500;display:inline-flex}.reg-field__meta .is-placeholder[data-v-66057dce]{color:#8a847c;font-weight:400}.reg-field__input[data-v-66057dce]{color:#2a2622;min-width:0;height:100%;font:inherit;background:0 0;border:none;outline:none;flex:1;font-size:.875rem}.reg-field__input[data-v-66057dce]::placeholder{color:#b0aaa3}.reg-field__phone[data-v-66057dce]{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.reg-field__locale[data-v-66057dce]{color:#9a9590;align-items:center;gap:4px;display:inline-flex}.iran-flag[data-v-66057dce]{border-radius:2px;width:22px;height:16px;box-shadow:0 0 0 1px #0000000f}.reg-field__caret[data-v-66057dce]{width:10px;height:6px}.reg-field__input--phone[data-v-66057dce]{text-align:start;letter-spacing:.04em}.reg-field__error[data-v-66057dce]{color:var(--color-danger);margin:6px 8px 0;font-size:.75rem}.job-wrap[data-v-66057dce]{position:relative}.job-trigger[data-v-66057dce]{width:100%;font:inherit;cursor:pointer;text-align:start;justify-content:space-between}.job-trigger.is-open[data-v-66057dce]{border-color:var(--color-primary)}.job-chevron[data-v-66057dce]{color:#9aa3af;flex-shrink:0;width:12px;height:12px}.job-trigger.is-open .job-chevron[data-v-66057dce]{transform:rotate(180deg)}.job-menu[data-v-66057dce]{inset-inline:0;z-index:20;background:#fbfaf7;border:1px solid #e6e1db;border-radius:16px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);box-shadow:0 8px 24px #10182814}.job-option[data-v-66057dce]{color:#2a2622;width:100%;font:inherit;text-align:start;cursor:pointer;background:0 0;border:none;border-radius:10px;padding:10px 12px;font-size:.875rem;display:block}.job-option.is-active[data-v-66057dce]{color:var(--color-primary);background:#e8f0ee;font-weight:600}.register-submit[data-v-66057dce]{color:#f7f4ef;width:100%;height:52px;font:inherit;cursor:pointer;background:#0a353c;border:none;border-radius:999px;justify-content:center;align-items:center;margin-top:14px;padding:0 44px;font-size:.9375rem;font-weight:600;transition:background .15s;display:flex;position:relative}.register-submit[data-v-66057dce]:not(:disabled):hover,.register-submit[data-v-66057dce]:not(:disabled):focus-visible{background:#072a2f}.register-submit[data-v-66057dce]:disabled{opacity:.7;cursor:not-allowed}.register-submit__chevron[data-v-66057dce]{place-items:center;display:grid;position:absolute;inset-inline-end:16px}.register-submit__spinner[data-v-66057dce]{border:2px solid #ffffff47;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite register-spin-66057dce;position:absolute;inset-inline-start:16px}.register-terms[data-v-66057dce]{color:#6f6b66;cursor:pointer;align-items:flex-start;gap:10px;margin-top:14px;font-size:.75rem;line-height:1.7;display:flex;position:relative}.register-terms strong[data-v-66057dce]{color:#2a2622;font-weight:700}.register-terms__native[data-v-66057dce]{opacity:0;pointer-events:none;position:absolute}.register-terms__box[data-v-66057dce]{background:#fff;border:1.5px solid #cfc9c2;border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;margin-top:1px;display:grid}.register-terms__box.is-on[data-v-66057dce]{border-color:var(--color-primary);background:var(--color-primary)}.register-terms__box svg[data-v-66057dce]{width:12px;height:12px}.register-perks[data-v-66057dce]{background:#f7f3ee;border-radius:22px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:20rem;padding:16px 10px 14px;display:grid;position:relative}.register-perk[data-v-66057dce]{text-align:center;color:#6f6b66;flex-direction:column;align-items:center;gap:8px;display:flex}.register-perk strong[data-v-66057dce]{font-size:.6875rem;font-weight:500;line-height:1.55}.register-foot[data-v-66057dce]{margin-top:auto;min-height:270px;padding:20px 20px calc(20px + env(safe-area-inset-bottom,0px));margin-inline:-20px;position:relative;overflow:hidden}.register-foot__bg[data-v-66057dce]{z-index:0;object-fit:cover;object-position:88% 32%;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 0%,#000 38%);mask-image:linear-gradient(#0000 0%,#000 38%)}.register-foot[data-v-66057dce]:before{display:none}.register-foot__copy[data-v-66057dce]{z-index:3;text-align:right;color:#5a5550;pointer-events:none;max-width:10rem;margin:0;font-size:.75rem;font-weight:600;line-height:1.55;position:absolute;top:8.75rem;left:24px}.register-foot__copy[data-v-66057dce]:after{content:"";background:#c9a56a;border-radius:1px;width:1.375rem;height:1.5px;margin-top:8px;margin-left:auto;display:block}@keyframes register-spin-66057dce{to{transform:rotate(360deg)}}@media (width>=768px){.register-page[data-v-66057dce]{max-width:none;height:100%;min-height:0;margin:0;padding:0;overflow:hidden}} diff --git a/dist/assets/RegisterView-CTzyNknX.css b/dist/assets/RegisterView-CTzyNknX.css new file mode 100644 index 0000000..308227c --- /dev/null +++ b/dist/assets/RegisterView-CTzyNknX.css @@ -0,0 +1 @@ +.register-page[data-v-2a0cf12d]{color:#2a2622;background:#f3eee8;overflow:hidden}.register-page__scroll[data-v-2a0cf12d]{overscroll-behavior:contain;height:100%;overflow:hidden auto}.register-page__stage[data-v-2a0cf12d]{width:100%;max-width:390px;min-height:100%;padding:calc(10px + env(safe-area-inset-top,0px)) 20px 0;box-sizing:border-box;flex-direction:column;margin-inline:auto;display:flex}.register-top[data-v-2a0cf12d]{justify-content:space-between;align-items:center;min-height:36px;display:flex}.register-top__welcome[data-v-2a0cf12d]{color:#6f6b66;margin:0;font-size:.75rem}.register-top__back[data-v-2a0cf12d]{cursor:pointer;background:0 0;border:none;place-items:center;width:36px;height:36px;margin-inline-start:auto;padding:0;display:grid}.register-title[data-v-2a0cf12d]{text-align:center;color:#1c1b19;margin:18px 0 0;font-size:1.375rem;font-weight:700;line-height:1.45}.register-lead[data-v-2a0cf12d]{text-align:center;color:#8a847c;margin:6px 0 0;font-size:.75rem;line-height:1.7}.register-form[data-v-2a0cf12d]{flex-direction:column;margin-top:22px;display:flex}.register-form[data-v-2a0cf12d] .form-error-banner{margin-bottom:12px}.reg-field[data-v-2a0cf12d]{background:#ebe4dc;border:1px solid #e0d9d0;border-radius:14px;align-items:center;gap:10px;height:52px;margin-top:10px;padding:0 14px;display:flex}.reg-field.is-invalid[data-v-2a0cf12d],.job-trigger.is-invalid[data-v-2a0cf12d]{border-color:color-mix(in srgb, var(--color-danger) 55%, #e6e1db)}.reg-field__meta[data-v-2a0cf12d]{color:#5f5b56;white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;font-size:.8125rem;font-weight:500;display:inline-flex}.reg-field__meta .is-placeholder[data-v-2a0cf12d]{color:#8a847c;font-weight:400}.reg-field__input[data-v-2a0cf12d]{color:#2a2622;min-width:0;height:100%;font:inherit;background:0 0;border:none;outline:none;flex:1;font-size:.875rem}.reg-field__input[data-v-2a0cf12d]::placeholder{color:#b0aaa3}.reg-field__phone[data-v-2a0cf12d]{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.reg-field__locale[data-v-2a0cf12d]{color:#9a9590;align-items:center;gap:4px;display:inline-flex}.iran-flag[data-v-2a0cf12d]{border-radius:2px;width:22px;height:16px;box-shadow:0 0 0 1px #0000000f}.reg-field__caret[data-v-2a0cf12d]{width:10px;height:6px}.reg-field__input--phone[data-v-2a0cf12d]{text-align:start;letter-spacing:.04em}.reg-field__error[data-v-2a0cf12d]{color:var(--color-danger);margin:6px 8px 0;font-size:.75rem}.job-wrap[data-v-2a0cf12d]{position:relative}.job-trigger[data-v-2a0cf12d]{width:100%;font:inherit;cursor:pointer;text-align:start;justify-content:space-between}.job-trigger.is-open[data-v-2a0cf12d]{border-color:var(--color-primary)}.job-chevron[data-v-2a0cf12d]{color:#9aa3af;flex-shrink:0;width:12px;height:12px}.job-trigger.is-open .job-chevron[data-v-2a0cf12d]{transform:rotate(180deg)}.job-menu[data-v-2a0cf12d]{inset-inline:0;z-index:20;background:#fbfaf7;border:1px solid #e6e1db;border-radius:16px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);box-shadow:0 8px 24px #10182814}.job-option[data-v-2a0cf12d]{color:#2a2622;width:100%;font:inherit;text-align:start;cursor:pointer;background:0 0;border:none;border-radius:10px;padding:10px 12px;font-size:.875rem;display:block}.job-option.is-active[data-v-2a0cf12d]{color:var(--color-primary);background:#e8f0ee;font-weight:600}.register-submit[data-v-2a0cf12d]{color:#f7f4ef;width:100%;height:52px;font:inherit;cursor:pointer;background:#0a353c;border:none;border-radius:999px;justify-content:center;align-items:center;margin-top:14px;padding:0 44px;font-size:.9375rem;font-weight:600;transition:background .15s;display:flex;position:relative}.register-submit[data-v-2a0cf12d]:not(:disabled):hover,.register-submit[data-v-2a0cf12d]:not(:disabled):focus-visible{background:#072a2f}.register-submit[data-v-2a0cf12d]:disabled{opacity:.7;cursor:not-allowed}.register-submit__chevron[data-v-2a0cf12d]{place-items:center;display:grid;position:absolute;inset-inline-end:16px}.register-submit__spinner[data-v-2a0cf12d]{border:2px solid #ffffff47;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite register-spin-2a0cf12d;position:absolute;inset-inline-start:16px}.register-terms[data-v-2a0cf12d]{color:#6f6b66;cursor:pointer;align-items:flex-start;gap:10px;margin-top:14px;font-size:.75rem;line-height:1.7;display:flex;position:relative}.register-terms strong[data-v-2a0cf12d]{color:#2a2622;font-weight:700}.register-terms__native[data-v-2a0cf12d]{opacity:0;pointer-events:none;position:absolute}.register-terms__box[data-v-2a0cf12d]{background:#fff;border:1.5px solid #cfc9c2;border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;margin-top:1px;display:grid}.register-terms__box.is-on[data-v-2a0cf12d]{border-color:var(--color-primary);background:var(--color-primary)}.register-terms__box svg[data-v-2a0cf12d]{width:12px;height:12px}.register-perks[data-v-2a0cf12d]{z-index:2;background:#ebe4dc;border-radius:22px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:35px 0 -20px;padding:16px 10px 14px;display:grid;position:relative;box-shadow:0 10px 28px #2820181f,0 2px 8px #2820180f}.register-perk[data-v-2a0cf12d]{text-align:center;color:#6f6b66;flex-direction:column;align-items:center;gap:8px;display:flex}.register-perk strong[data-v-2a0cf12d]{font-size:.6875rem;font-weight:500;line-height:1.55}.register-foot[data-v-2a0cf12d]{z-index:1;margin-top:auto;min-height:260px;padding:48px 0 calc(16px + env(safe-area-inset-bottom,0px));flex-direction:column;margin-inline:-20px;display:flex;position:relative;overflow:hidden}.register-foot__bg[data-v-2a0cf12d]{z-index:0;object-fit:cover;object-position:88% 32%;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 0%,#000 42%);mask-image:linear-gradient(#0000 0%,#000 42%)}.register-foot[data-v-2a0cf12d]:before{display:none}.register-foot__copy[data-v-2a0cf12d]{z-index:1;text-align:right;color:#1c1b19;pointer-events:none;max-width:10rem;margin:0;font-size:.75rem;font-weight:600;line-height:1.55;position:absolute;top:38%;left:24px}.register-foot__copy[data-v-2a0cf12d]:after{content:"";background:#c9a56a;border-radius:1px;width:1.375rem;height:1.5px;margin-top:8px;margin-left:auto;display:block}@keyframes register-spin-2a0cf12d{to{transform:rotate(360deg)}}@media (width>=768px){.register-page[data-v-2a0cf12d]{max-width:none;height:100%;min-height:0;margin:0;padding:0;overflow:hidden}} diff --git a/dist/assets/RegisterView-CulIOliw.js b/dist/assets/RegisterView-CulIOliw.js deleted file mode 100644 index 7b71d4a..0000000 --- a/dist/assets/RegisterView-CulIOliw.js +++ /dev/null @@ -1 +0,0 @@ -import{A as e,C as t,D as n,E as r,F as ee,I as i,J as a,L as o,M as s,N as c,R as te,St as l,Tt as u,X as ne,_ as d,k as f,n as p,pt as m,rt as h,t as re,x as ie,xt as g}from"./BasicIcon-B6lR-mG3.js";import{t as ae}from"./dist-DwqEDRqq.js";import{c as _,u as oe}from"./format-BHJptHdF.js";import{a as se}from"./validation-BD7oi-2I.js";import{S as v,c as ce,d as y,o as b,p as le}from"./index-DHK6R1xK.js";import{t as ue}from"./FormErrorBanner-8PcsTbdO.js";import{t as de}from"./IconPhone-Glpo76KE.js";import{n as fe,r as x,t as S}from"./formErrors-DglFjYkZ.js";import{t as C}from"./IconBuilding-oclvcvlP.js";import{t as w}from"./IconDiamond-7-J5Q2Ma.js";import{t as T}from"./IconVerified-BSlZDcZt.js";var E=`/assets/register-card-D_GOfNUU.jpg`,D={class:`page register-page`},O={class:`register-page__scroll`},k={class:`register-page__stage`},A={class:`register-top`},j={key:0,class:`reg-field__error`},M={key:1,class:`reg-field__error`},N={class:`reg-field__phone`,dir:`ltr`},P=[`value`],F={key:2,class:`reg-field__error`},I=[`aria-expanded`],L={class:`reg-field__meta`},R={key:0,class:`job-menu`,role:`listbox`},z=[`aria-selected`,`onClick`],B={key:1,class:`reg-field__error`},V=[`disabled`],pe={key:0,class:`register-submit__spinner`,"aria-hidden":`true`},me={class:`register-submit__chevron`,"aria-hidden":`true`},he={class:`register-terms`},ge={key:0,viewBox:`0 0 12 12`,fill:`none`},_e={key:3,class:`reg-field__error`},ve={class:`register-foot`},ye=[`src`],be={class:`register-perks`,"aria-label":`مزایا`},xe={class:`register-perk`},Se={class:`register-perk`},Ce={class:`register-perk`},H=p(te({__name:`RegisterView`,setup(te){let p=d(),H=ce(),U=m(``),W=m(``),G=m(``),K=m(``),q=m(!0),J=m(!1),Y=m(null),X=m({}),Z=m(``),we=f(()=>G.value?oe(G.value):``),Te=f(()=>y.find(e=>e.id===K.value)?.label??`دسته‌بندی شغلی`);ae(Y,()=>{J.value=!1});function Ee(e){K.value=e,J.value=!1,Q(`jobCategory`)}function Q(e){X.value=fe(X.value,e),x(X.value)||(Z.value=``)}function $(e){G.value=_(e),Q(`phone`)}async function De(){X.value={},Z.value=``;let e=_(G.value),t={};if(U.value.trim()||(t.firstName=`نام الزامی است.`),W.value.trim()||(t.lastName=`نام خانوادگی الزامی است.`),se(e)||(t.phone=`شماره موبایل معتبر نیست.`),K.value||(t.jobCategory=`دسته‌بندی شغلی الزامی است.`),q.value||(t.terms=`پذیرش قوانین برای ثبت‌نام لازم است.`),x(t)){X.value=t,Z.value=S;return}let n={firstName:U.value.trim(),lastName:W.value.trim(),jobCategory:K.value};le(n);let r=await H.requestOtp(e,{isRegister:!0,firstName:n.firstName,lastName:n.lastName});r.success?p.push({name:`otp`,query:{phone:e,mode:`register`}}):Z.value=r.message??`خطا در ارسال کد تأیید.`}return(te,d)=>(a(),c(`div`,D,[e(`div`,O,[e(`div`,k,[e(`header`,A,[d[8]||=e(`p`,{class:`register-top__welcome`},`همراه ما باشید`,-1),e(`button`,{type:`button`,class:`register-top__back`,"aria-label":`بازگشت`,onClick:d[0]||=e=>g(p).push(`/login`)},[o(b,{size:20,color:`#2A2622`})])]),d[18]||=e(`h1`,{class:`register-title`},`ثبت‌نام در نادمی تکس`,-1),d[19]||=e(`p`,{class:`register-lead`},`با چند مرحله ساده، عضوی از خانواده ما شوید.`,-1),e(`form`,{class:`register-form`,onSubmit:r(De,[`prevent`])},[o(ue,{message:Z.value},null,8,[`message`]),e(`label`,{class:l([`reg-field`,{"is-invalid":!!X.value.firstName}])},[o(v,{size:18,color:`#8A847C`}),h(e(`input`,{"onUpdate:modelValue":d[1]||=e=>U.value=e,class:`reg-field__input`,type:`text`,autocomplete:`given-name`,onInput:d[2]||=e=>Q(`firstName`),placeholder:`نام`},null,544),[[t,U.value]])],2),X.value.firstName?(a(),c(`p`,j,u(X.value.firstName),1)):s(``,!0),e(`label`,{class:l([`reg-field`,{"is-invalid":!!X.value.lastName}])},[o(v,{size:18,color:`#8A847C`}),h(e(`input`,{"onUpdate:modelValue":d[3]||=e=>W.value=e,class:`reg-field__input`,type:`text`,dir:`rtl`,autocomplete:`family-name`,onInput:d[4]||=e=>Q(`lastName`),placeholder:`نام خانوادگی`},null,544),[[t,W.value]])],2),X.value.lastName?(a(),c(`p`,M,u(X.value.lastName),1)):s(``,!0),e(`label`,{class:l([`reg-field`,{"is-invalid":!!X.value.phone}])},[o(de,{size:18,color:`#8A847C`}),e(`span`,N,[d[9]||=ee(``,1),e(`input`,{class:`reg-field__input reg-field__input--phone`,value:we.value,type:`tel`,inputmode:`numeric`,autocomplete:`tel`,dir:`rtl`,maxlength:`11`,placeholder:`شماره موبایل`,onInput:d[5]||=e=>$(e.target.value)},null,40,P)])],2),X.value.phone?(a(),c(`p`,F,u(X.value.phone),1)):s(``,!0),e(`div`,{ref_key:`jobRoot`,ref:Y,class:`job-wrap`},[e(`button`,{type:`button`,class:l([`reg-field job-trigger`,{"is-open":J.value,"is-invalid":!!X.value.jobCategory}]),"aria-haspopup":`listbox`,"aria-expanded":J.value,onClick:d[6]||=e=>J.value=!J.value},[e(`span`,L,[o(C,{size:18,color:`#8A847C`}),e(`span`,{class:l({"is-placeholder":!K.value})},u(Te.value),3)]),d[10]||=e(`svg`,{class:`job-chevron`,viewBox:`0 0 12 12`,"aria-hidden":`true`},[e(`path`,{d:`M2.5 4.5 6 8l3.5-3.5`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.4`,"stroke-linecap":`round`})],-1)],10,I),J.value?(a(),c(`ul`,R,[(a(!0),c(n,null,ne(g(y),t=>(a(),c(`li`,{key:t.id},[e(`button`,{type:`button`,role:`option`,class:l([`job-option`,{"is-active":K.value===t.id}]),"aria-selected":K.value===t.id,onClick:e=>Ee(t.id)},u(t.label),11,z)]))),128))])):s(``,!0),X.value.jobCategory?(a(),c(`p`,B,u(X.value.jobCategory),1)):s(``,!0)],512),e(`button`,{class:`register-submit`,type:`submit`,disabled:g(H).loading},[g(H).loading?(a(),c(`span`,pe)):s(``,!0),e(`span`,me,[o(b,{size:18,color:`#F4EDE4`})]),d[11]||=e(`span`,null,`دریافت کد تأیید`,-1)],8,V),e(`label`,he,[h(e(`input`,{"onUpdate:modelValue":d[7]||=e=>q.value=e,class:`register-terms__native`,type:`checkbox`},null,512),[[ie,q.value]]),e(`span`,{class:l([`register-terms__box`,{"is-on":q.value}]),"aria-hidden":`true`},[q.value?(a(),c(`svg`,ge,[...d[12]||=[e(`path`,{d:`M2.2 6.2 4.7 8.7 9.8 3.4`,stroke:`#fff`,"stroke-width":`1.6`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1)]])):s(``,!0)],2),d[13]||=e(`span`,null,[i(` با ثبت‌نام، `),e(`strong`,null,`قوانین و شرایط`),i(` استفاده از سرویس را می‌پذیرم. `)],-1)]),X.value.terms?(a(),c(`p`,_e,u(X.value.terms),1)):s(``,!0)],32),e(`div`,ve,[e(`img`,{class:`register-foot__bg`,src:g(E),alt:``},null,8,ye),e(`section`,be,[e(`article`,xe,[o(T,{size:22,color:`#6F6B66`}),d[14]||=e(`strong`,null,`اطمینان از اصالت محصولات`,-1)]),e(`article`,Se,[o(re,{icon:`vuesax-linear:truck-time`,size:22,color:`#6F6B66`}),d[15]||=e(`strong`,null,`دسترسی سریع به کالیته‌های جدید`,-1)]),e(`article`,Ce,[o(w,{size:22,color:`#6F6B66`}),d[16]||=e(`strong`,null,`تجربه خرید ویژه مشتریان`,-1)])]),d[17]||=e(`p`,{class:`register-foot__copy`},[i(`همراه حرفه‌ای`),e(`br`),i(`کسب‌وکار شما`)],-1)])])])]))}}),[[`__scopeId`,`data-v-66057dce`]]);export{H as default}; \ No newline at end of file diff --git a/dist/assets/RegisterView-CylManm7.js b/dist/assets/RegisterView-CylManm7.js new file mode 100644 index 0000000..b09ee76 --- /dev/null +++ b/dist/assets/RegisterView-CylManm7.js @@ -0,0 +1 @@ +import{A as e,C as t,D as n,E as r,F as ee,I as i,J as a,L as o,M as s,N as c,R as te,St as l,Tt as u,X as d,_ as f,k as p,n as m,pt as h,rt as g,t as _,x as ne,xt as v}from"./BasicIcon-B6lR-mG3.js";import{t as re}from"./dist-DwqEDRqq.js";import{c as y,u as ie}from"./format-BHJptHdF.js";import{a as ae}from"./validation-BD7oi-2I.js";import{S as b,c as oe,d as x,o as S,p as se}from"./index-B20WsQhf.js";import{t as ce}from"./FormErrorBanner-8PcsTbdO.js";import{t as le}from"./IconPhone-Glpo76KE.js";import{n as ue,r as C,t as de}from"./formErrors-DglFjYkZ.js";import{t as w}from"./IconDiamond-7-J5Q2Ma.js";import{t as T}from"./IconVerified-BSlZDcZt.js";var E=`/assets/register-card-D_GOfNUU.jpg`,D={class:`page register-page`},O={class:`register-page__scroll`},k={class:`register-page__stage`},A={class:`register-top`},j={key:0,class:`reg-field__error`},M={key:1,class:`reg-field__error`},N={class:`reg-field__phone`,dir:`ltr`},P=[`value`],F={key:2,class:`reg-field__error`},I=[`aria-expanded`],L={class:`reg-field__meta`},R={key:0,class:`job-menu`,role:`listbox`},z=[`aria-selected`,`onClick`],B={key:1,class:`reg-field__error`},V=[`disabled`],H={key:0,class:`register-submit__spinner`,"aria-hidden":`true`},fe={class:`register-submit__chevron`,"aria-hidden":`true`},pe={class:`register-terms`},me={key:0,viewBox:`0 0 12 12`,fill:`none`},he={key:3,class:`reg-field__error`},ge={class:`register-perks`,"aria-label":`مزایا`},_e={class:`register-perk`},ve={class:`register-perk`},ye={class:`register-perk`},be={class:`register-foot`},xe=[`src`],U=m(te({__name:`RegisterView`,setup(te){let m=f(),U=oe(),W=h(``),G=h(``),K=h(``),q=h(``),J=h(!0),Y=h(!1),X=h(null),Z=h({}),Q=h(``),Se=p(()=>K.value?ie(K.value):``),Ce=p(()=>x.find(e=>e.id===q.value)?.label??`دسته‌بندی شغلی`);re(X,()=>{Y.value=!1});function we(e){q.value=e,Y.value=!1,$(`jobCategory`)}function $(e){Z.value=ue(Z.value,e),C(Z.value)||(Q.value=``)}function Te(e){K.value=y(e),$(`phone`)}async function Ee(){Z.value={},Q.value=``;let e=y(K.value),t={};if(W.value.trim()||(t.firstName=`نام الزامی است.`),G.value.trim()||(t.lastName=`نام خانوادگی الزامی است.`),ae(e)||(t.phone=`شماره موبایل معتبر نیست.`),q.value||(t.jobCategory=`دسته‌بندی شغلی الزامی است.`),J.value||(t.terms=`پذیرش قوانین برای ثبت‌نام لازم است.`),C(t)){Z.value=t,Q.value=de;return}let n={firstName:W.value.trim(),lastName:G.value.trim(),jobCategory:q.value};se(n);let r=await U.requestOtp(e,{isRegister:!0,firstName:n.firstName,lastName:n.lastName});r.success?m.push({name:`otp`,query:{phone:e,mode:`register`}}):Q.value=r.message??`خطا در ارسال کد تأیید.`}return(te,f)=>(a(),c(`div`,D,[e(`div`,O,[e(`div`,k,[e(`header`,A,[f[8]||=e(`p`,{class:`register-top__welcome`},`همراه ما باشید`,-1),e(`button`,{type:`button`,class:`register-top__back`,"aria-label":`بازگشت`,onClick:f[0]||=e=>v(m).push(`/login`)},[o(S,{size:20,color:`#2A2622`})])]),f[18]||=e(`h1`,{class:`register-title`},`ثبت‌نام در نادمی تکس`,-1),f[19]||=e(`p`,{class:`register-lead`},`با چند مرحله ساده، عضوی از خانواده ما شوید.`,-1),e(`form`,{class:`register-form`,onSubmit:r(Ee,[`prevent`])},[o(ce,{message:Q.value},null,8,[`message`]),e(`label`,{class:l([`reg-field`,{"is-invalid":!!Z.value.firstName}])},[o(b,{size:18,color:`#8A847C`}),g(e(`input`,{"onUpdate:modelValue":f[1]||=e=>W.value=e,class:`reg-field__input`,type:`text`,autocomplete:`given-name`,onInput:f[2]||=e=>$(`firstName`),placeholder:`نام`},null,544),[[t,W.value]])],2),Z.value.firstName?(a(),c(`p`,j,u(Z.value.firstName),1)):s(``,!0),e(`label`,{class:l([`reg-field`,{"is-invalid":!!Z.value.lastName}])},[o(b,{size:18,color:`#8A847C`}),g(e(`input`,{"onUpdate:modelValue":f[3]||=e=>G.value=e,class:`reg-field__input`,type:`text`,dir:`rtl`,autocomplete:`family-name`,onInput:f[4]||=e=>$(`lastName`),placeholder:`نام خانوادگی`},null,544),[[t,G.value]])],2),Z.value.lastName?(a(),c(`p`,M,u(Z.value.lastName),1)):s(``,!0),e(`label`,{class:l([`reg-field`,{"is-invalid":!!Z.value.phone}])},[o(le,{size:18,color:`#8A847C`}),e(`span`,N,[f[9]||=ee(``,1),e(`input`,{class:`reg-field__input reg-field__input--phone`,value:Se.value,type:`tel`,inputmode:`numeric`,autocomplete:`tel`,dir:`rtl`,maxlength:`11`,placeholder:`شماره موبایل`,onInput:f[5]||=e=>Te(e.target.value)},null,40,P)])],2),Z.value.phone?(a(),c(`p`,F,u(Z.value.phone),1)):s(``,!0),e(`div`,{ref_key:`jobRoot`,ref:X,class:`job-wrap`},[e(`button`,{type:`button`,class:l([`reg-field job-trigger`,{"is-open":Y.value,"is-invalid":!!Z.value.jobCategory}]),"aria-haspopup":`listbox`,"aria-expanded":Y.value,onClick:f[6]||=e=>Y.value=!Y.value},[e(`span`,L,[o(_,{icon:`vuesax-linear:category`,size:18,color:`#8A847C`}),e(`span`,{class:l({"is-placeholder":!q.value})},u(Ce.value),3)]),f[10]||=e(`svg`,{class:`job-chevron`,viewBox:`0 0 12 12`,"aria-hidden":`true`},[e(`path`,{d:`M2.5 4.5 6 8l3.5-3.5`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.4`,"stroke-linecap":`round`})],-1)],10,I),Y.value?(a(),c(`ul`,R,[(a(!0),c(n,null,d(v(x),t=>(a(),c(`li`,{key:t.id},[e(`button`,{type:`button`,role:`option`,class:l([`job-option`,{"is-active":q.value===t.id}]),"aria-selected":q.value===t.id,onClick:e=>we(t.id)},u(t.label),11,z)]))),128))])):s(``,!0),Z.value.jobCategory?(a(),c(`p`,B,u(Z.value.jobCategory),1)):s(``,!0)],512),e(`button`,{class:`register-submit`,type:`submit`,disabled:v(U).loading},[v(U).loading?(a(),c(`span`,H)):s(``,!0),e(`span`,fe,[o(S,{size:18,color:`#F4EDE4`})]),f[11]||=e(`span`,null,`دریافت کد تأیید`,-1)],8,V),e(`label`,pe,[g(e(`input`,{"onUpdate:modelValue":f[7]||=e=>J.value=e,class:`register-terms__native`,type:`checkbox`},null,512),[[ne,J.value]]),e(`span`,{class:l([`register-terms__box`,{"is-on":J.value}]),"aria-hidden":`true`},[J.value?(a(),c(`svg`,me,[...f[12]||=[e(`path`,{d:`M2.2 6.2 4.7 8.7 9.8 3.4`,stroke:`#fff`,"stroke-width":`1.6`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1)]])):s(``,!0)],2),f[13]||=e(`span`,null,[i(` با ثبت‌نام، `),e(`strong`,null,`قوانین و شرایط`),i(` استفاده از سرویس را می‌پذیرم. `)],-1)]),Z.value.terms?(a(),c(`p`,he,u(Z.value.terms),1)):s(``,!0)],32),e(`section`,ge,[e(`article`,_e,[o(T,{size:22,color:`#6F6B66`}),f[14]||=e(`strong`,null,`اطمینان از اصالت محصولات`,-1)]),e(`article`,ve,[o(_,{icon:`vuesax-linear:truck-time`,size:22,color:`#6F6B66`}),f[15]||=e(`strong`,null,`دسترسی سریع به کالیته‌های جدید`,-1)]),e(`article`,ye,[o(w,{size:22,color:`#6F6B66`}),f[16]||=e(`strong`,null,`تجربه خرید ویژه مشتریان`,-1)])]),e(`div`,be,[e(`img`,{class:`register-foot__bg`,src:v(E),alt:``},null,8,xe),f[17]||=e(`p`,{class:`register-foot__copy`},[i(`همراه حرفه‌ای`),e(`br`),i(`کسب‌وکار شما`)],-1)])])])]))}}),[[`__scopeId`,`data-v-2a0cf12d`]]);export{U as default}; \ No newline at end of file diff --git a/dist/assets/ReminderDetailView-BojbBV28.js b/dist/assets/ReminderDetailView-5GG_ljLb.js similarity index 97% rename from dist/assets/ReminderDetailView-BojbBV28.js rename to dist/assets/ReminderDetailView-5GG_ljLb.js index 94373e4..f2178dc 100644 --- a/dist/assets/ReminderDetailView-BojbBV28.js +++ b/dist/assets/ReminderDetailView-5GG_ljLb.js @@ -1 +1 @@ -import{A as e,D as t,J as n,K as r,L as i,M as a,N as o,R as s,Tt as c,X as l,_ as u,et as d,g as f,k as p,n as m,pt as h,wt as g,xt as _}from"./BasicIcon-B6lR-mG3.js";import{c as v}from"./index-DHK6R1xK.js";import{t as ee}from"./PageSkeleton-BImjuI6S.js";import{t as y}from"./crm-DbcoqKAF.js";import{t as b}from"./PageHeader-Cza56lK4.js";var x={key:0,class:`page reminder-detail`},S={class:`page__scroll detail-scroll`},C={key:0,class:`form-error`},w={class:`layout`},T={class:`panel`},E={class:`field`},D={class:`field`},O={class:`customer-line`},k={class:`field`},A={class:`field`},j={class:`field`},M={class:`actions`},N=[`disabled`],P={class:`panel`},F={class:`panel chart-panel`},I={class:`bars`},L={class:`stats-grid`},R={key:1,class:`page empty`},z={key:2,class:`page empty`},B=m(s({__name:`ReminderDetailView`,setup(s){let m=f(),B=u(),V=y(),H=v(),U=p(()=>String(m.query.id??``)),W=h(null),G=h(null),K=h([]),q=h(!0),J=h(!1),Y=h(null);async function X(){if(!U.value){W.value=null,q.value=!1;return}q.value=!0,Y.value=null;try{let e=await V.loadReminderDetail(U.value);W.value=e.reminder,G.value=e.customer,K.value=e.history}catch(e){W.value=null,Y.value=e instanceof Error?e.message:`یادآور یافت نشد.`}finally{q.value=!1}}r(X),d(U,X);function Z(e){return e===`in_person`?`ملاقات حضوری`:e===`call`?`تماس تلفنی`:e===`message`?`پیام`:`یادداشت`}async function Q(){if(!(!W.value||W.value.completed)){J.value=!0,Y.value=null;try{await V.markReminderComplete(W.value.id),W.value={...W.value,completed:!0},B.push(`/reminders?filter=today`)}catch(e){Y.value=e instanceof Error?e.message:`تکمیل یادآور ناموفق بود.`}finally{J.value=!1}}}let te=p(()=>H.fullName||`واسطه`),$=p(()=>{let e=K.value;return{total:e.length,inPerson:e.filter(e=>e.type===`in_person`).length,call:e.filter(e=>e.type===`call`).length,other:e.filter(e=>e.type===`message`||e.type===`note`).length}}),ne=p(()=>{let e=Array.from({length:6},()=>({a:0,b:0,c:0}));K.value.forEach((t,n)=>{let r=e[n%6];r&&(t.type===`in_person`?r.a+=1:t.type===`call`?r.b+=1:r.c+=1)});let t=Math.max(1,...e.map(e=>e.a+e.b+e.c));return e.map(e=>({a:`${e.a/t*100}%`,b:`${e.b/t*100}%`,c:`${e.c/t*100}%`}))});return(r,s)=>W.value&&G.value?(n(),o(`div`,x,[i(b,{title:`جزئیات یادآور`,"show-back":``,centered:``,onBack:s[0]||=e=>_(B).back()}),e(`div`,S,[Y.value?(n(),o(`p`,C,c(Y.value),1)):a(``,!0),e(`div`,w,[e(`section`,T,[s[8]||=e(`h2`,null,`جزئیات یادآور`,-1),e(`div`,E,[s[3]||=e(`span`,null,`عنوان`,-1),e(`strong`,null,c(W.value.title)+` — `+c(W.value.description),1)]),e(`div`,D,[s[4]||=e(`span`,null,`مشتری`,-1),e(`div`,O,[e(`div`,{class:`avatar`,style:g({background:G.value.avatarColor})},c(G.value.avatarLetter),5),e(`div`,null,[e(`strong`,null,c(G.value.name),1),e(`p`,null,c(G.value.contactName),1)])])]),e(`div`,k,[s[5]||=e(`span`,null,`فروشنده حامل حضوری`,-1),e(`strong`,null,c(te.value),1)]),e(`div`,A,[s[6]||=e(`span`,null,`تاریخ و زمان`,-1),e(`strong`,null,c(W.value.date)+` — `+c(W.value.time),1)]),e(`div`,j,[s[7]||=e(`span`,null,`یادداشت`,-1),e(`strong`,null,c(W.value.note||`—`),1)]),e(`div`,M,[e(`button`,{type:`button`,class:`btn-outline`,onClick:s[1]||=e=>_(B).back()},`ویرایش`),e(`button`,{type:`button`,class:`btn-primary`,disabled:J.value||W.value.completed,onClick:Q},c(W.value.completed?`تکمیل‌شده`:J.value?`...`:`تکمیل شد`),9,N)])]),e(`section`,P,[s[9]||=e(`h2`,null,`تاریخچه تعاملات`,-1),(n(!0),o(t,null,l(K.value,t=>(n(),o(`article`,{key:t.id,class:`history-row`},[e(`div`,null,[e(`strong`,null,c(Z(t.type)),1),e(`p`,null,c(t.description),1)]),e(`span`,null,c(t.date),1)]))),128)),e(`button`,{type:`button`,class:`see-all`,onClick:s[2]||=e=>_(B).push({path:`/customer`,query:{id:G.value.id,tab:`reports`}})},` مشاهده همه `)]),e(`section`,F,[s[14]||=e(`div`,{class:`chart-panel__head`},[e(`h2`,null,`نمودار فعالیت`),e(`span`,null,`تعاملات ثبت‌شده`)],-1),e(`div`,I,[(n(!0),o(t,null,l(ne.value,(e,t)=>(n(),o(`div`,{key:t,class:`bar`},[e.c===`0%`?a(``,!0):(n(),o(`span`,{key:0,class:`seg seg--c`,style:g({height:e.c})},null,4)),e.b===`0%`?a(``,!0):(n(),o(`span`,{key:1,class:`seg seg--b`,style:g({height:e.b})},null,4)),e.a===`0%`?a(``,!0):(n(),o(`span`,{key:2,class:`seg seg--a`,style:g({height:e.a})},null,4))]))),128))]),e(`div`,L,[e(`div`,null,[s[10]||=e(`span`,null,`کل تعاملات`,-1),e(`strong`,null,c($.value.total.toLocaleString(`fa-IR`))+` مورد`,1)]),e(`div`,null,[s[11]||=e(`span`,null,`ملاقات حضوری`,-1),e(`strong`,null,c($.value.inPerson.toLocaleString(`fa-IR`))+` مورد`,1)]),e(`div`,null,[s[12]||=e(`span`,null,`تماس تلفنی`,-1),e(`strong`,null,c($.value.call.toLocaleString(`fa-IR`))+` مورد`,1)]),e(`div`,null,[s[13]||=e(`span`,null,`یادداشت و پیام`,-1),e(`strong`,null,c($.value.other.toLocaleString(`fa-IR`))+` مورد`,1)])])])])])])):q.value?(n(),o(`div`,R,[i(ee,{variant:`detail`})])):(n(),o(`div`,z,[e(`p`,null,c(Y.value||`یادآور یافت نشد.`),1)]))}}),[[`__scopeId`,`data-v-9fc8e0f1`]]);export{B as default}; \ No newline at end of file +import{A as e,D as t,J as n,K as r,L as i,M as a,N as o,R as s,Tt as c,X as l,_ as u,et as d,g as f,k as p,n as m,pt as h,wt as g,xt as _}from"./BasicIcon-B6lR-mG3.js";import{c as v}from"./index-B20WsQhf.js";import{t as ee}from"./PageSkeleton-BImjuI6S.js";import{t as y}from"./crm-DbcoqKAF.js";import{t as b}from"./PageHeader-DXkA75qK.js";var x={key:0,class:`page reminder-detail`},S={class:`page__scroll detail-scroll`},C={key:0,class:`form-error`},w={class:`layout`},T={class:`panel`},E={class:`field`},D={class:`field`},O={class:`customer-line`},k={class:`field`},A={class:`field`},j={class:`field`},M={class:`actions`},N=[`disabled`],P={class:`panel`},F={class:`panel chart-panel`},I={class:`bars`},L={class:`stats-grid`},R={key:1,class:`page empty`},z={key:2,class:`page empty`},B=m(s({__name:`ReminderDetailView`,setup(s){let m=f(),B=u(),V=y(),H=v(),U=p(()=>String(m.query.id??``)),W=h(null),G=h(null),K=h([]),q=h(!0),J=h(!1),Y=h(null);async function X(){if(!U.value){W.value=null,q.value=!1;return}q.value=!0,Y.value=null;try{let e=await V.loadReminderDetail(U.value);W.value=e.reminder,G.value=e.customer,K.value=e.history}catch(e){W.value=null,Y.value=e instanceof Error?e.message:`یادآور یافت نشد.`}finally{q.value=!1}}r(X),d(U,X);function Z(e){return e===`in_person`?`ملاقات حضوری`:e===`call`?`تماس تلفنی`:e===`message`?`پیام`:`یادداشت`}async function Q(){if(!(!W.value||W.value.completed)){J.value=!0,Y.value=null;try{await V.markReminderComplete(W.value.id),W.value={...W.value,completed:!0},B.push(`/reminders?filter=today`)}catch(e){Y.value=e instanceof Error?e.message:`تکمیل یادآور ناموفق بود.`}finally{J.value=!1}}}let te=p(()=>H.fullName||`واسطه`),$=p(()=>{let e=K.value;return{total:e.length,inPerson:e.filter(e=>e.type===`in_person`).length,call:e.filter(e=>e.type===`call`).length,other:e.filter(e=>e.type===`message`||e.type===`note`).length}}),ne=p(()=>{let e=Array.from({length:6},()=>({a:0,b:0,c:0}));K.value.forEach((t,n)=>{let r=e[n%6];r&&(t.type===`in_person`?r.a+=1:t.type===`call`?r.b+=1:r.c+=1)});let t=Math.max(1,...e.map(e=>e.a+e.b+e.c));return e.map(e=>({a:`${e.a/t*100}%`,b:`${e.b/t*100}%`,c:`${e.c/t*100}%`}))});return(r,s)=>W.value&&G.value?(n(),o(`div`,x,[i(b,{title:`جزئیات یادآور`,"show-back":``,centered:``,onBack:s[0]||=e=>_(B).back()}),e(`div`,S,[Y.value?(n(),o(`p`,C,c(Y.value),1)):a(``,!0),e(`div`,w,[e(`section`,T,[s[8]||=e(`h2`,null,`جزئیات یادآور`,-1),e(`div`,E,[s[3]||=e(`span`,null,`عنوان`,-1),e(`strong`,null,c(W.value.title)+` — `+c(W.value.description),1)]),e(`div`,D,[s[4]||=e(`span`,null,`مشتری`,-1),e(`div`,O,[e(`div`,{class:`avatar`,style:g({background:G.value.avatarColor})},c(G.value.avatarLetter),5),e(`div`,null,[e(`strong`,null,c(G.value.name),1),e(`p`,null,c(G.value.contactName),1)])])]),e(`div`,k,[s[5]||=e(`span`,null,`فروشنده حامل حضوری`,-1),e(`strong`,null,c(te.value),1)]),e(`div`,A,[s[6]||=e(`span`,null,`تاریخ و زمان`,-1),e(`strong`,null,c(W.value.date)+` — `+c(W.value.time),1)]),e(`div`,j,[s[7]||=e(`span`,null,`یادداشت`,-1),e(`strong`,null,c(W.value.note||`—`),1)]),e(`div`,M,[e(`button`,{type:`button`,class:`btn-outline`,onClick:s[1]||=e=>_(B).back()},`ویرایش`),e(`button`,{type:`button`,class:`btn-primary`,disabled:J.value||W.value.completed,onClick:Q},c(W.value.completed?`تکمیل‌شده`:J.value?`...`:`تکمیل شد`),9,N)])]),e(`section`,P,[s[9]||=e(`h2`,null,`تاریخچه تعاملات`,-1),(n(!0),o(t,null,l(K.value,t=>(n(),o(`article`,{key:t.id,class:`history-row`},[e(`div`,null,[e(`strong`,null,c(Z(t.type)),1),e(`p`,null,c(t.description),1)]),e(`span`,null,c(t.date),1)]))),128)),e(`button`,{type:`button`,class:`see-all`,onClick:s[2]||=e=>_(B).push({path:`/customer`,query:{id:G.value.id,tab:`reports`}})},` مشاهده همه `)]),e(`section`,F,[s[14]||=e(`div`,{class:`chart-panel__head`},[e(`h2`,null,`نمودار فعالیت`),e(`span`,null,`تعاملات ثبت‌شده`)],-1),e(`div`,I,[(n(!0),o(t,null,l(ne.value,(e,t)=>(n(),o(`div`,{key:t,class:`bar`},[e.c===`0%`?a(``,!0):(n(),o(`span`,{key:0,class:`seg seg--c`,style:g({height:e.c})},null,4)),e.b===`0%`?a(``,!0):(n(),o(`span`,{key:1,class:`seg seg--b`,style:g({height:e.b})},null,4)),e.a===`0%`?a(``,!0):(n(),o(`span`,{key:2,class:`seg seg--a`,style:g({height:e.a})},null,4))]))),128))]),e(`div`,L,[e(`div`,null,[s[10]||=e(`span`,null,`کل تعاملات`,-1),e(`strong`,null,c($.value.total.toLocaleString(`fa-IR`))+` مورد`,1)]),e(`div`,null,[s[11]||=e(`span`,null,`ملاقات حضوری`,-1),e(`strong`,null,c($.value.inPerson.toLocaleString(`fa-IR`))+` مورد`,1)]),e(`div`,null,[s[12]||=e(`span`,null,`تماس تلفنی`,-1),e(`strong`,null,c($.value.call.toLocaleString(`fa-IR`))+` مورد`,1)]),e(`div`,null,[s[13]||=e(`span`,null,`یادداشت و پیام`,-1),e(`strong`,null,c($.value.other.toLocaleString(`fa-IR`))+` مورد`,1)])])])])])])):q.value?(n(),o(`div`,R,[i(ee,{variant:`detail`})])):(n(),o(`div`,z,[e(`p`,null,c(Y.value||`یادآور یافت نشد.`),1)]))}}),[[`__scopeId`,`data-v-9fc8e0f1`]]);export{B as default}; \ No newline at end of file diff --git a/dist/assets/RemindersView-LWMx3AKM.js b/dist/assets/RemindersView-IMJcGYf7.js similarity index 99% rename from dist/assets/RemindersView-LWMx3AKM.js rename to dist/assets/RemindersView-IMJcGYf7.js index 13fcc90..5d3d2e9 100644 --- a/dist/assets/RemindersView-LWMx3AKM.js +++ b/dist/assets/RemindersView-IMJcGYf7.js @@ -1 +1 @@ -import{A as e,C as t,D as n,E as ee,I as r,J as i,K as te,L as a,M as o,N as s,R as c,S as ne,St as l,Tt as u,X as d,_ as re,et as ie,g as ae,j as oe,k as f,n as p,pt as m,rt as h,wt as se,xt as g}from"./BasicIcon-B6lR-mG3.js";import{o as _}from"./format-BHJptHdF.js";import{i as ce,s as le,y as ue}from"./index-DHK6R1xK.js";import{t as de}from"./IconChevronBack-BXRfc2bX.js";import{t as fe}from"./IconMoreVertical-Dw3RBXp5.js";import{t as pe}from"./PageSkeleton-BImjuI6S.js";import{t as me}from"./crm-DbcoqKAF.js";import{t as he}from"./useGoBack-yePcdjuj.js";var ge={class:`page reminders-page`},_e={class:`top`},v={class:`top__actions`},y={class:`page__scroll page__scroll--with-nav reminders-scroll`},b={class:`filters`},x=[`onClick`],S={key:0,class:`count-badge`},C={key:1},w={key:2,class:`create-panel`},T={key:0,class:`create-error`},E=[`value`],D={class:`create-row`},O={class:`create-actions`},k=[`disabled`],A={key:3,class:`summary`},j={class:`summary__head`},M={class:`summary__label`},N={class:`summary__count`},P=[`onClick`],F={class:`time`},I=[`onClick`],L={class:`reminder-card__body`},ve={class:`reminder-card__top`},ye={class:`customer`},be={class:`contact`},xe={class:`desc`},R=p(c({__name:`RemindersView`,setup(c){let p=ae(),R=re(),{goBack:z}=he(`/`),B=me(),V=f(()=>String(p.query.filter??`today`)),H=m([]),U=m([]),W=m(!0),G=m(null),K=m(!1),q=m(!1),J=m({customerId:``,title:``,date:``,time:`10:00`,note:``}),Se=[{id:`all`,label:`همه`},{id:`today`,label:`امروز`},{id:`week`,label:`هفته آینده`},{id:`past`,label:`گذشته`}],Y=f(()=>H.value.filter(e=>!e.completed)),X=f(()=>H.value.filter(e=>e.completed)),Ce=f(()=>Y.value.length),Z=f(()=>X.value.length);async function Q(){W.value=!0,G.value=null;try{H.value=await B.loadReminders(V.value)}catch(e){G.value=e instanceof Error?e.message:`بارگذاری یادآورها ناموفق بود.`,H.value=[]}finally{W.value=!1}}te(Q),ie(V,Q);function $(e){R.replace({path:`/reminders`,query:{filter:e}})}async function we(e){try{await B.markReminderComplete(e),await Q()}catch(e){G.value=e instanceof Error?e.message:`تکمیل یادآور ناموفق بود.`}}function Te(e){return e===`in_person`?`ملاقات حضوری`:e===`call`?`تماس تلفنی`:e===`message`?`پیام`:`یادداشت`}function Ee(e){return e===`in_person`?`tag--green`:e===`call`?`tag--blue`:`tag--purple`}let De=f(()=>V.value===`today`?`پیگیری‌های امروز`:V.value===`week`?`پیگیری‌های هفته آینده`:V.value===`past`?`پیگیری‌های گذشته`:`پیگیری‌های باز`);async function Oe(){K.value=!0,G.value=null;try{if(U.value=await B.loadCustomers(),!J.value.customerId&&U.value[0]&&(J.value.customerId=U.value[0].id),!J.value.date){let e=new Date;J.value.date=`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`}}catch(e){G.value=e instanceof Error?e.message:`بارگذاری مشتریان ناموفق بود.`}}async function ke(){if(!J.value.customerId||!J.value.title.trim()||!J.value.date||!J.value.time){G.value=`مشتری، عنوان، تاریخ و ساعت الزامی است.`;return}q.value=!0,G.value=null;try{await B.createReminder({customerId:J.value.customerId,title:J.value.title.trim(),date:J.value.date,time:J.value.time,note:J.value.note.trim()||void 0,description:J.value.note.trim()||void 0}),K.value=!1,J.value.title=``,J.value.note=``,await Q()}catch(e){G.value=e instanceof Error?e.message:`ثبت یادآور ناموفق بود.`}finally{q.value=!1}}return(te,c)=>(i(),s(`div`,ge,[e(`header`,_e,[e(`button`,{type:`button`,class:`icon-btn`,"aria-label":`بازگشت`,onClick:c[0]||=(...e)=>g(z)&&g(z)(...e)},[a(de,{size:20})]),c[9]||=e(`h1`,null,`یادآورها`,-1),e(`div`,v,[a(ce,{variant:`inline`}),e(`button`,{type:`button`,class:`icon-btn`,"aria-label":`اعلان‌ها`,onClick:c[1]||=e=>g(R).push(`/profile/notifications`)},[a(le,{size:18})])])]),e(`div`,y,[e(`div`,b,[(i(),s(n,null,d(Se,t=>e(`button`,{key:t.id,type:`button`,class:l([`filter`,{"filter--active":V.value===t.id}]),onClick:e=>$(t.id)},[r(u(t.label)+` `,1),t.id===`past`&&Z.value?(i(),s(`span`,S,u(Z.value.toLocaleString(`fa-IR`)),1)):o(``,!0)],10,x)),64))]),W.value?(i(),oe(pe,{key:0,variant:`list`})):G.value&&!K.value?(i(),s(`p`,C,u(G.value),1)):o(``,!0),K.value?(i(),s(`section`,w,[c[16]||=e(`h3`,null,`یادآور جدید`,-1),G.value?(i(),s(`p`,T,u(G.value),1)):o(``,!0),e(`label`,null,[c[11]||=r(` مشتری `,-1),h(e(`select`,{"onUpdate:modelValue":c[2]||=e=>J.value.customerId=e},[c[10]||=e(`option`,{disabled:``,value:``},`انتخاب مشتری`,-1),(i(!0),s(n,null,d(U.value,e=>(i(),s(`option`,{key:e.id,value:e.id},u(e.name||e.contactName),9,E))),128))],512),[[ne,J.value.customerId]])]),e(`label`,null,[c[12]||=r(` عنوان `,-1),h(e(`input`,{"onUpdate:modelValue":c[3]||=e=>J.value.title=e,type:`text`,placeholder:`مثلاً پیگیری نمونه`},null,512),[[t,J.value.title]])]),e(`div`,D,[e(`label`,null,[c[13]||=r(` تاریخ `,-1),h(e(`input`,{"onUpdate:modelValue":c[4]||=e=>J.value.date=e,type:`date`},null,512),[[t,J.value.date]])]),e(`label`,null,[c[14]||=r(` ساعت `,-1),h(e(`input`,{"onUpdate:modelValue":c[5]||=e=>J.value.time=e,type:`time`},null,512),[[t,J.value.time]])])]),e(`label`,null,[c[15]||=r(` یادداشت `,-1),h(e(`textarea`,{"onUpdate:modelValue":c[6]||=e=>J.value.note=e,rows:`2`,placeholder:`اختیاری`},null,512),[[t,J.value.note]])]),e(`div`,O,[e(`button`,{type:`button`,class:`btn-cancel`,onClick:c[7]||=e=>K.value=!1},`انصراف`),e(`button`,{type:`button`,class:`btn-save`,disabled:q.value,onClick:ke},u(q.value?`در حال ثبت...`:`ثبت یادآور`),9,k)])])):!W.value&&!G.value?(i(),s(`section`,A,[e(`div`,j,[e(`span`,M,u(De.value),1)]),e(`div`,N,[e(`strong`,null,u(g(_)(Ce.value)),1),c[17]||=e(`span`,null,`مورد`,-1)]),c[18]||=e(`p`,{class:`summary__sub`},`یادآورهای شما برای پیگیری مشتریان`,-1)])):o(``,!0),(i(!0),s(n,null,d(Y.value,t=>(i(),s(`article`,{key:t.id,class:`reminder-card`,onClick:e=>g(R).push({path:`/reminder`,query:{id:t.id}})},[e(`span`,F,u(t.time),1),e(`button`,{type:`button`,class:`check`,"aria-label":`تکمیل`,onClick:ee(e=>we(t.id),[`stop`])},null,8,I),e(`div`,L,[e(`div`,ve,[e(`strong`,null,u(t.title),1),a(fe,{size:16})]),e(`span`,{class:l([`tag`,Ee(t.interactionType)])},u(Te(t.interactionType)),3),e(`p`,ye,u(t.customerName),1),e(`p`,be,u(t.contactName),1),e(`p`,xe,u(t.description),1)]),e(`div`,{class:`avatar`,style:se({background:t.avatarColor})},u(t.avatarLetter),5)],8,P))),128)),e(`button`,{type:`button`,class:`completed-bar`,onClick:c[8]||=e=>$(`past`)},[c[19]||=r(` یادآورهای تکمیل‌شده `,-1),e(`span`,null,u(g(_)(X.value.length)),1)]),e(`button`,{type:`button`,class:`new-btn`,onClick:Oe},[a(ue,{size:20,color:`#fff`}),c[20]||=r(` یادآور جدید `,-1)])])]))}}),[[`__scopeId`,`data-v-89857cb4`]]);export{R as default}; \ No newline at end of file +import{A as e,C as t,D as n,E as ee,I as r,J as i,K as te,L as a,M as o,N as s,R as c,S as ne,St as l,Tt as u,X as d,_ as re,et as ie,g as ae,j as oe,k as f,n as p,pt as m,rt as h,wt as se,xt as g}from"./BasicIcon-B6lR-mG3.js";import{o as _}from"./format-BHJptHdF.js";import{i as ce,s as le,y as ue}from"./index-B20WsQhf.js";import{t as de}from"./IconChevronBack-BXRfc2bX.js";import{t as fe}from"./IconMoreVertical-Dw3RBXp5.js";import{t as pe}from"./PageSkeleton-BImjuI6S.js";import{t as me}from"./crm-DbcoqKAF.js";import{t as he}from"./useGoBack-yePcdjuj.js";var ge={class:`page reminders-page`},_e={class:`top`},v={class:`top__actions`},y={class:`page__scroll page__scroll--with-nav reminders-scroll`},b={class:`filters`},x=[`onClick`],S={key:0,class:`count-badge`},C={key:1},w={key:2,class:`create-panel`},T={key:0,class:`create-error`},E=[`value`],D={class:`create-row`},O={class:`create-actions`},k=[`disabled`],A={key:3,class:`summary`},j={class:`summary__head`},M={class:`summary__label`},N={class:`summary__count`},P=[`onClick`],F={class:`time`},I=[`onClick`],L={class:`reminder-card__body`},ve={class:`reminder-card__top`},ye={class:`customer`},be={class:`contact`},xe={class:`desc`},R=p(c({__name:`RemindersView`,setup(c){let p=ae(),R=re(),{goBack:z}=he(`/`),B=me(),V=f(()=>String(p.query.filter??`today`)),H=m([]),U=m([]),W=m(!0),G=m(null),K=m(!1),q=m(!1),J=m({customerId:``,title:``,date:``,time:`10:00`,note:``}),Se=[{id:`all`,label:`همه`},{id:`today`,label:`امروز`},{id:`week`,label:`هفته آینده`},{id:`past`,label:`گذشته`}],Y=f(()=>H.value.filter(e=>!e.completed)),X=f(()=>H.value.filter(e=>e.completed)),Ce=f(()=>Y.value.length),Z=f(()=>X.value.length);async function Q(){W.value=!0,G.value=null;try{H.value=await B.loadReminders(V.value)}catch(e){G.value=e instanceof Error?e.message:`بارگذاری یادآورها ناموفق بود.`,H.value=[]}finally{W.value=!1}}te(Q),ie(V,Q);function $(e){R.replace({path:`/reminders`,query:{filter:e}})}async function we(e){try{await B.markReminderComplete(e),await Q()}catch(e){G.value=e instanceof Error?e.message:`تکمیل یادآور ناموفق بود.`}}function Te(e){return e===`in_person`?`ملاقات حضوری`:e===`call`?`تماس تلفنی`:e===`message`?`پیام`:`یادداشت`}function Ee(e){return e===`in_person`?`tag--green`:e===`call`?`tag--blue`:`tag--purple`}let De=f(()=>V.value===`today`?`پیگیری‌های امروز`:V.value===`week`?`پیگیری‌های هفته آینده`:V.value===`past`?`پیگیری‌های گذشته`:`پیگیری‌های باز`);async function Oe(){K.value=!0,G.value=null;try{if(U.value=await B.loadCustomers(),!J.value.customerId&&U.value[0]&&(J.value.customerId=U.value[0].id),!J.value.date){let e=new Date;J.value.date=`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`}}catch(e){G.value=e instanceof Error?e.message:`بارگذاری مشتریان ناموفق بود.`}}async function ke(){if(!J.value.customerId||!J.value.title.trim()||!J.value.date||!J.value.time){G.value=`مشتری، عنوان، تاریخ و ساعت الزامی است.`;return}q.value=!0,G.value=null;try{await B.createReminder({customerId:J.value.customerId,title:J.value.title.trim(),date:J.value.date,time:J.value.time,note:J.value.note.trim()||void 0,description:J.value.note.trim()||void 0}),K.value=!1,J.value.title=``,J.value.note=``,await Q()}catch(e){G.value=e instanceof Error?e.message:`ثبت یادآور ناموفق بود.`}finally{q.value=!1}}return(te,c)=>(i(),s(`div`,ge,[e(`header`,_e,[e(`button`,{type:`button`,class:`icon-btn`,"aria-label":`بازگشت`,onClick:c[0]||=(...e)=>g(z)&&g(z)(...e)},[a(de,{size:20})]),c[9]||=e(`h1`,null,`یادآورها`,-1),e(`div`,v,[a(ce,{variant:`inline`}),e(`button`,{type:`button`,class:`icon-btn`,"aria-label":`اعلان‌ها`,onClick:c[1]||=e=>g(R).push(`/profile/notifications`)},[a(le,{size:18})])])]),e(`div`,y,[e(`div`,b,[(i(),s(n,null,d(Se,t=>e(`button`,{key:t.id,type:`button`,class:l([`filter`,{"filter--active":V.value===t.id}]),onClick:e=>$(t.id)},[r(u(t.label)+` `,1),t.id===`past`&&Z.value?(i(),s(`span`,S,u(Z.value.toLocaleString(`fa-IR`)),1)):o(``,!0)],10,x)),64))]),W.value?(i(),oe(pe,{key:0,variant:`list`})):G.value&&!K.value?(i(),s(`p`,C,u(G.value),1)):o(``,!0),K.value?(i(),s(`section`,w,[c[16]||=e(`h3`,null,`یادآور جدید`,-1),G.value?(i(),s(`p`,T,u(G.value),1)):o(``,!0),e(`label`,null,[c[11]||=r(` مشتری `,-1),h(e(`select`,{"onUpdate:modelValue":c[2]||=e=>J.value.customerId=e},[c[10]||=e(`option`,{disabled:``,value:``},`انتخاب مشتری`,-1),(i(!0),s(n,null,d(U.value,e=>(i(),s(`option`,{key:e.id,value:e.id},u(e.name||e.contactName),9,E))),128))],512),[[ne,J.value.customerId]])]),e(`label`,null,[c[12]||=r(` عنوان `,-1),h(e(`input`,{"onUpdate:modelValue":c[3]||=e=>J.value.title=e,type:`text`,placeholder:`مثلاً پیگیری نمونه`},null,512),[[t,J.value.title]])]),e(`div`,D,[e(`label`,null,[c[13]||=r(` تاریخ `,-1),h(e(`input`,{"onUpdate:modelValue":c[4]||=e=>J.value.date=e,type:`date`},null,512),[[t,J.value.date]])]),e(`label`,null,[c[14]||=r(` ساعت `,-1),h(e(`input`,{"onUpdate:modelValue":c[5]||=e=>J.value.time=e,type:`time`},null,512),[[t,J.value.time]])])]),e(`label`,null,[c[15]||=r(` یادداشت `,-1),h(e(`textarea`,{"onUpdate:modelValue":c[6]||=e=>J.value.note=e,rows:`2`,placeholder:`اختیاری`},null,512),[[t,J.value.note]])]),e(`div`,O,[e(`button`,{type:`button`,class:`btn-cancel`,onClick:c[7]||=e=>K.value=!1},`انصراف`),e(`button`,{type:`button`,class:`btn-save`,disabled:q.value,onClick:ke},u(q.value?`در حال ثبت...`:`ثبت یادآور`),9,k)])])):!W.value&&!G.value?(i(),s(`section`,A,[e(`div`,j,[e(`span`,M,u(De.value),1)]),e(`div`,N,[e(`strong`,null,u(g(_)(Ce.value)),1),c[17]||=e(`span`,null,`مورد`,-1)]),c[18]||=e(`p`,{class:`summary__sub`},`یادآورهای شما برای پیگیری مشتریان`,-1)])):o(``,!0),(i(!0),s(n,null,d(Y.value,t=>(i(),s(`article`,{key:t.id,class:`reminder-card`,onClick:e=>g(R).push({path:`/reminder`,query:{id:t.id}})},[e(`span`,F,u(t.time),1),e(`button`,{type:`button`,class:`check`,"aria-label":`تکمیل`,onClick:ee(e=>we(t.id),[`stop`])},null,8,I),e(`div`,L,[e(`div`,ve,[e(`strong`,null,u(t.title),1),a(fe,{size:16})]),e(`span`,{class:l([`tag`,Ee(t.interactionType)])},u(Te(t.interactionType)),3),e(`p`,ye,u(t.customerName),1),e(`p`,be,u(t.contactName),1),e(`p`,xe,u(t.description),1)]),e(`div`,{class:`avatar`,style:se({background:t.avatarColor})},u(t.avatarLetter),5)],8,P))),128)),e(`button`,{type:`button`,class:`completed-bar`,onClick:c[8]||=e=>$(`past`)},[c[19]||=r(` یادآورهای تکمیل‌شده `,-1),e(`span`,null,u(g(_)(X.value.length)),1)]),e(`button`,{type:`button`,class:`new-btn`,onClick:Oe},[a(ue,{size:20,color:`#fff`}),c[20]||=r(` یادآور جدید `,-1)])])]))}}),[[`__scopeId`,`data-v-89857cb4`]]);export{R as default}; \ No newline at end of file diff --git a/dist/assets/SettlementTypeView-BZNT3wEX.js b/dist/assets/SettlementTypeView-CFV1ZfaS.js similarity index 95% rename from dist/assets/SettlementTypeView-BZNT3wEX.js rename to dist/assets/SettlementTypeView-CFV1ZfaS.js index ced6cd5..8e3f8bb 100644 --- a/dist/assets/SettlementTypeView-BZNT3wEX.js +++ b/dist/assets/SettlementTypeView-CFV1ZfaS.js @@ -1 +1 @@ -import{A as e,D as t,I as n,J as r,L as i,M as a,N as o,R as s,Tt as c,_ as l,et as u,k as d,n as f,nt as p,pt as m,xt as h}from"./BasicIcon-B6lR-mG3.js";import{n as g}from"./format-BHJptHdF.js";import{b as _,g as v,n as y}from"./index-DHK6R1xK.js";import{t as b}from"./FormErrorBanner-8PcsTbdO.js";import{t as x}from"./CheckoutStepper-DCcu9ZNK.js";import{t as S}from"./PageHeader-Cza56lK4.js";import{n as C}from"./orderInvoice-B0L1Aeuk.js";import{t as w}from"./useRequirePricedOrder-C1A9oE_o.js";import{t as T}from"./IconCashSettlement-DizzShjh.js";var E={class:`page settlement-mobile-page mobile-only`},D={class:`page__scroll`},O={key:0,class:`settlement-waiting`},k={class:`settlement-invoice`},A={class:`settlement-invoice__value`},j={key:0,class:`settlement-invoice__meta`},M={class:`settlement-mobile-options`},N=[`disabled`],P={class:`settlement-card__icon settlement-card__icon--cash`},F=[`disabled`],I={class:`settlement-card__icon settlement-card__icon--check`},L={class:`desktop-checkout-shell desktop-only`},R={class:`desktop-page__head`},z={class:`desktop-page__subtitle`},B={key:0,class:`settlement-waiting settlement-waiting--desktop`},V={key:1,class:`desktop-settlement-grid`},H=[`disabled`],U={class:`settlement-card__icon settlement-card__icon--cash`},W=[`disabled`],G={class:`settlement-card__icon settlement-card__icon--check`},K=f(s({__name:`SettlementTypeView`,setup(s){let f=l(),K=v(),{orderId:q,order:J,invoiceReady:Y}=w(),X=m(!1),Z=m(``);u(q,async e=>{e&&!K.getOrderById(e)&&await K.fetchOrder(e)},{immediate:!0});let Q=d(()=>J.value?.finalAmount?g(J.value.finalAmount):`—`);async function $(e){if(X.value||!C(J.value)){Z.value=`تا قبل از قیمت‌گذاری مدیریت، امکان انتخاب روش تسویه وجود ندارد.`;return}X.value=!0,Z.value=``;try{await K.chooseSettlement(q.value,e),e===`cash`?f.replace(`/orders/${q.value}/cash`):(K.startCheckDraft(q.value),f.replace(`/orders/${q.value}/check-mode`))}catch(e){Z.value=e instanceof Error?e.message:`ثبت روش تسویه ناموفق بود.`}finally{X.value=!1}}return(s,l)=>(r(),o(t,null,[e(`div`,E,[i(S,{title:`انتخاب نوع تسویه`,subtitle:`پس از صدور فاکتور، نوع تسویه را انتخاب کنید`,"show-back":``,centered:``,onBack:l[0]||=e=>h(f).push(`/orders/${h(q)}`)}),e(`div`,D,[i(b,{message:Z.value},null,8,[`message`]),h(Y)?(r(),o(t,{key:1},[e(`div`,k,[l[10]||=e(`span`,{class:`settlement-invoice__label`},`مبلغ فاکتور`,-1),e(`strong`,A,c(Q.value),1),h(J)?(r(),o(`span`,j,`سفارش `+c(h(J).orderNumber),1)):a(``,!0)]),e(`div`,M,[e(`button`,{type:`button`,class:`settlement-card`,disabled:X.value,onClick:l[2]||=e=>$(`cash`)},[e(`span`,P,[i(T,{size:36})]),l[11]||=e(`h3`,null,`تسویه نقدی`,-1),l[12]||=e(`p`,null,`پرداخت از طریق واریز به حساب شرکت`,-1)],8,N),e(`button`,{type:`button`,class:`settlement-card`,disabled:X.value,onClick:l[3]||=e=>$(`check`)},[e(`span`,I,[i(_,{size:36})]),l[13]||=e(`h3`,null,`تسویه چکی`,-1),l[14]||=e(`p`,null,`پرداخت بر اساس مبلغ فاکتور با ثبت چک`,-1)],8,F)])],64)):(r(),o(`div`,O,[l[8]||=e(`h3`,{class:`settlement-waiting__title`},`در انتظار قیمت‌گذاری`,-1),l[9]||=e(`p`,{class:`settlement-waiting__text`},` پیش‌سفارش ثبت شده است. پس از تعیین قیمت توسط مدیریت و صدور فاکتور، از این صفحه روش تسویه (نقد یا چک) را انتخاب کنید. `,-1),i(y,{block:``,variant:`outline`,onClick:l[1]||=e=>h(f).push(`/orders/${h(q)}`)},{default:p(()=>[...l[7]||=[n(` بازگشت به جزئیات سفارش `,-1)]]),_:1})]))])]),e(`div`,L,[i(x,{"current-step":4}),e(`header`,R,[l[15]||=e(`h1`,{class:`desktop-page__title`},`انتخاب نوع تسویه`,-1),e(`p`,z,[h(Y)?(r(),o(t,{key:0},[n(` مبلغ فاکتور `+c(Q.value)+c(h(J)?` · سفارش ${h(J).orderNumber}`:``),1)],64)):(r(),o(t,{key:1},[n(`پس از قیمت‌گذاری مدیریت فعال می‌شود`)],64))])]),i(b,{message:Z.value},null,8,[`message`]),h(Y)?(r(),o(`div`,V,[e(`button`,{type:`button`,class:`settlement-card settlement-card--desktop`,disabled:X.value,onClick:l[5]||=e=>$(`cash`)},[e(`span`,U,[i(T,{size:40})]),l[19]||=e(`h3`,null,`تسویه نقدی`,-1),l[20]||=e(`p`,null,`پرداخت از طریق واریز به حساب شرکت`,-1)],8,H),e(`button`,{type:`button`,class:`settlement-card settlement-card--desktop`,disabled:X.value,onClick:l[6]||=e=>$(`check`)},[e(`span`,G,[i(_,{size:40})]),l[21]||=e(`h3`,null,`تسویه چکی`,-1),l[22]||=e(`p`,null,`پرداخت بر اساس مبلغ فاکتور با ثبت چک`,-1)],8,W)])):(r(),o(`div`,B,[l[17]||=e(`h3`,{class:`settlement-waiting__title`},`در انتظار قیمت‌گذاری`,-1),l[18]||=e(`p`,{class:`settlement-waiting__text`},` پیش‌سفارش ثبت شده است. پس از صدور فاکتور می‌توانید روش تسویه را انتخاب کنید. `,-1),i(y,{variant:`outline`,onClick:l[4]||=e=>h(f).push(`/orders/${h(q)}`)},{default:p(()=>[...l[16]||=[n(` بازگشت به جزئیات سفارش `,-1)]]),_:1})]))])],64))}}),[[`__scopeId`,`data-v-6b697aeb`]]);export{K as default}; \ No newline at end of file +import{A as e,D as t,I as n,J as r,L as i,M as a,N as o,R as s,Tt as c,_ as l,et as u,k as d,n as f,nt as p,pt as m,xt as h}from"./BasicIcon-B6lR-mG3.js";import{n as g}from"./format-BHJptHdF.js";import{b as _,g as v,n as y}from"./index-B20WsQhf.js";import{t as b}from"./FormErrorBanner-8PcsTbdO.js";import{t as x}from"./CheckoutStepper-DCcu9ZNK.js";import{t as S}from"./PageHeader-DXkA75qK.js";import{n as C}from"./orderInvoice-B0L1Aeuk.js";import{t as w}from"./useRequirePricedOrder-BVRY4vCB.js";import{t as T}from"./IconCashSettlement-DizzShjh.js";var E={class:`page settlement-mobile-page mobile-only`},D={class:`page__scroll`},O={key:0,class:`settlement-waiting`},k={class:`settlement-invoice`},A={class:`settlement-invoice__value`},j={key:0,class:`settlement-invoice__meta`},M={class:`settlement-mobile-options`},N=[`disabled`],P={class:`settlement-card__icon settlement-card__icon--cash`},F=[`disabled`],I={class:`settlement-card__icon settlement-card__icon--check`},L={class:`desktop-checkout-shell desktop-only`},R={class:`desktop-page__head`},z={class:`desktop-page__subtitle`},B={key:0,class:`settlement-waiting settlement-waiting--desktop`},V={key:1,class:`desktop-settlement-grid`},H=[`disabled`],U={class:`settlement-card__icon settlement-card__icon--cash`},W=[`disabled`],G={class:`settlement-card__icon settlement-card__icon--check`},K=f(s({__name:`SettlementTypeView`,setup(s){let f=l(),K=v(),{orderId:q,order:J,invoiceReady:Y}=w(),X=m(!1),Z=m(``);u(q,async e=>{e&&!K.getOrderById(e)&&await K.fetchOrder(e)},{immediate:!0});let Q=d(()=>J.value?.finalAmount?g(J.value.finalAmount):`—`);async function $(e){if(X.value||!C(J.value)){Z.value=`تا قبل از قیمت‌گذاری مدیریت، امکان انتخاب روش تسویه وجود ندارد.`;return}X.value=!0,Z.value=``;try{await K.chooseSettlement(q.value,e),e===`cash`?f.replace(`/orders/${q.value}/cash`):(K.startCheckDraft(q.value),f.replace(`/orders/${q.value}/check-mode`))}catch(e){Z.value=e instanceof Error?e.message:`ثبت روش تسویه ناموفق بود.`}finally{X.value=!1}}return(s,l)=>(r(),o(t,null,[e(`div`,E,[i(S,{title:`انتخاب نوع تسویه`,subtitle:`پس از صدور فاکتور، نوع تسویه را انتخاب کنید`,"show-back":``,centered:``,onBack:l[0]||=e=>h(f).push(`/orders/${h(q)}`)}),e(`div`,D,[i(b,{message:Z.value},null,8,[`message`]),h(Y)?(r(),o(t,{key:1},[e(`div`,k,[l[10]||=e(`span`,{class:`settlement-invoice__label`},`مبلغ فاکتور`,-1),e(`strong`,A,c(Q.value),1),h(J)?(r(),o(`span`,j,`سفارش `+c(h(J).orderNumber),1)):a(``,!0)]),e(`div`,M,[e(`button`,{type:`button`,class:`settlement-card`,disabled:X.value,onClick:l[2]||=e=>$(`cash`)},[e(`span`,P,[i(T,{size:36})]),l[11]||=e(`h3`,null,`تسویه نقدی`,-1),l[12]||=e(`p`,null,`پرداخت از طریق واریز به حساب شرکت`,-1)],8,N),e(`button`,{type:`button`,class:`settlement-card`,disabled:X.value,onClick:l[3]||=e=>$(`check`)},[e(`span`,I,[i(_,{size:36})]),l[13]||=e(`h3`,null,`تسویه چکی`,-1),l[14]||=e(`p`,null,`پرداخت بر اساس مبلغ فاکتور با ثبت چک`,-1)],8,F)])],64)):(r(),o(`div`,O,[l[8]||=e(`h3`,{class:`settlement-waiting__title`},`در انتظار قیمت‌گذاری`,-1),l[9]||=e(`p`,{class:`settlement-waiting__text`},` پیش‌سفارش ثبت شده است. پس از تعیین قیمت توسط مدیریت و صدور فاکتور، از این صفحه روش تسویه (نقد یا چک) را انتخاب کنید. `,-1),i(y,{block:``,variant:`outline`,onClick:l[1]||=e=>h(f).push(`/orders/${h(q)}`)},{default:p(()=>[...l[7]||=[n(` بازگشت به جزئیات سفارش `,-1)]]),_:1})]))])]),e(`div`,L,[i(x,{"current-step":4}),e(`header`,R,[l[15]||=e(`h1`,{class:`desktop-page__title`},`انتخاب نوع تسویه`,-1),e(`p`,z,[h(Y)?(r(),o(t,{key:0},[n(` مبلغ فاکتور `+c(Q.value)+c(h(J)?` · سفارش ${h(J).orderNumber}`:``),1)],64)):(r(),o(t,{key:1},[n(`پس از قیمت‌گذاری مدیریت فعال می‌شود`)],64))])]),i(b,{message:Z.value},null,8,[`message`]),h(Y)?(r(),o(`div`,V,[e(`button`,{type:`button`,class:`settlement-card settlement-card--desktop`,disabled:X.value,onClick:l[5]||=e=>$(`cash`)},[e(`span`,U,[i(T,{size:40})]),l[19]||=e(`h3`,null,`تسویه نقدی`,-1),l[20]||=e(`p`,null,`پرداخت از طریق واریز به حساب شرکت`,-1)],8,H),e(`button`,{type:`button`,class:`settlement-card settlement-card--desktop`,disabled:X.value,onClick:l[6]||=e=>$(`check`)},[e(`span`,G,[i(_,{size:40})]),l[21]||=e(`h3`,null,`تسویه چکی`,-1),l[22]||=e(`p`,null,`پرداخت بر اساس مبلغ فاکتور با ثبت چک`,-1)],8,W)])):(r(),o(`div`,B,[l[17]||=e(`h3`,{class:`settlement-waiting__title`},`در انتظار قیمت‌گذاری`,-1),l[18]||=e(`p`,{class:`settlement-waiting__text`},` پیش‌سفارش ثبت شده است. پس از صدور فاکتور می‌توانید روش تسویه را انتخاب کنید. `,-1),i(y,{variant:`outline`,onClick:l[4]||=e=>h(f).push(`/orders/${h(q)}`)},{default:p(()=>[...l[16]||=[n(` بازگشت به جزئیات سفارش `,-1)]]),_:1})]))])],64))}}),[[`__scopeId`,`data-v-6b697aeb`]]);export{K as default}; \ No newline at end of file diff --git a/dist/assets/WelcomeView-Bue6hk9x.css b/dist/assets/WelcomeView-Bue6hk9x.css new file mode 100644 index 0000000..950a498 --- /dev/null +++ b/dist/assets/WelcomeView-Bue6hk9x.css @@ -0,0 +1 @@ +.welcome-page[data-v-66f13882]{isolation:isolate;color:#f4ede4;background:#1a1612;height:100%;min-height:100%;position:relative;overflow:hidden}.welcome-page__bg[data-v-66f13882]{z-index:0;object-fit:cover;object-position:center;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.welcome-page__veil[data-v-66f13882]{z-index:1;pointer-events:none;background:linear-gradient(#0c0a086b 0%,#0c0a0847 42%,#0c0a08b8 100%);position:absolute;inset:0}.welcome-page__scroll[data-v-66f13882]{z-index:2;overscroll-behavior:contain;height:100%;position:relative;overflow:hidden auto}.welcome-page__stage[data-v-66f13882]{width:100%;max-width:390px;min-height:100%;padding:calc(12px + env(safe-area-inset-top,0px)) 20px calc(20px + env(safe-area-inset-bottom,0px));box-sizing:border-box;flex-direction:column;margin-inline:auto;display:flex}.welcome-top[data-v-66f13882]{justify-content:flex-end;min-height:40px;display:flex}.welcome-skip[data-v-66f13882]{color:#f4ede4;height:34px;font:inherit;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0c0a0873;border:none;border-radius:999px;padding:0 16px;font-size:.8125rem;font-weight:500}.welcome-brand[data-v-66f13882]{text-align:center;flex-direction:column;align-items:center;margin-top:28px;display:flex}.welcome-brand__fa[data-v-66f13882]{color:#ead7c0;margin:14px 0 0;font-size:1.875rem;font-weight:700;line-height:1.3}.welcome-brand__tag[data-v-66f13882]{color:#f4ede4eb;max-width:16rem;margin:10px 0 0;font-size:.8125rem;font-weight:400;line-height:1.7}.welcome-brand__rule[data-v-66f13882]{background:#c9a56a;border-radius:1px;width:36px;height:1.5px;margin-top:16px;display:block}.welcome-features[data-v-66f13882]{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:36px 0 0;padding:0;list-style:none;display:grid}.welcome-feature[data-v-66f13882]{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.welcome-feature__icon[data-v-66f13882]{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#f4ede438;border-radius:999px;place-items:center;width:48px;height:48px;display:grid}.welcome-feature__star[data-v-66f13882]{width:22px;height:22px}.welcome-feature strong[data-v-66f13882]{color:#f4ede4;font-size:.6875rem;font-weight:700;line-height:1.45}.welcome-feature span[data-v-66f13882]{color:#f4ede4b8;font-size:.5625rem;font-weight:400;line-height:1.5}.welcome-spacer[data-v-66f13882]{flex:auto;min-height:28px}.welcome-dots[data-v-66f13882]{justify-content:center;gap:6px;margin-bottom:16px;display:flex}.welcome-dots i[data-v-66f13882]{background:#f4ede447;border-radius:999px;width:6px;height:6px}.welcome-dots i.is-on[data-v-66f13882]{background:#f4ede4}.welcome-cta[data-v-66f13882]{color:#fff;width:100%;height:52px;font:inherit;cursor:pointer;-webkit-backdrop-filter:blur(10px);background:linear-gradient(135deg,#144e528c 0%,#0a353c6b 48%,#082a307a 100%);border:1px solid #f4ede447;border-radius:999px;justify-content:center;align-items:center;padding:0 44px;font-size:.9375rem;font-weight:600;display:flex;position:relative;box-shadow:inset 0 1px #ffffff1f}.welcome-cta__chevron[data-v-66f13882]{place-items:center;display:grid;position:absolute;inset-inline-end:16px}@media (width>=768px){.welcome-page[data-v-66f13882]{max-width:none;height:100%;min-height:0;margin:0;padding:0;overflow:hidden}.welcome-page__stage[data-v-66f13882]{max-width:390px;padding-block:16px 24px}}@media (width<=359px){.welcome-page__stage[data-v-66f13882]{padding-inline:14px}.welcome-brand__fa[data-v-66f13882]{font-size:1.625rem}.welcome-feature__icon[data-v-66f13882]{width:42px;height:42px}} diff --git a/dist/assets/WelcomeView-Dm_Gj4-t.js b/dist/assets/WelcomeView-Dm_Gj4-t.js new file mode 100644 index 0000000..a70c89c --- /dev/null +++ b/dist/assets/WelcomeView-Dm_Gj4-t.js @@ -0,0 +1 @@ +import{A as e,D as t,J as n,L as r,N as i,R as a,Tt as o,X as s,_ as c,j as l,n as u,t as d,xt as f}from"./BasicIcon-B6lR-mG3.js";import{m as p,o as m}from"./index-B20WsQhf.js";import{t as h}from"./login-fabric-CzrIXTnD.js";var g={class:`page welcome-page`},_=[`src`],v={class:`welcome-page__scroll`},y={class:`welcome-page__stage`},b={class:`welcome-brand`},x={class:`welcome-features`},S={class:`welcome-feature__icon`,"aria-hidden":`true`},C={key:0,class:`welcome-feature__star`,viewBox:`0 0 24 24`,fill:`none`},w={class:`welcome-cta__chevron`,"aria-hidden":`true`},T=u(a({__name:`WelcomeView`,setup(a){let u=c(),T=[{icon:`star`,title:`همراه همیشگی کسب‌وکارتان`,subtitle:`با خدمات ویژه مشتریان`},{icon:`vuesax-linear:truck-time`,title:`سفارش عمده`,subtitle:`مستقیم از تولیدکننده`},{icon:`vuesax-linear:element-3`,title:`تنوع بی‌نظیر محصولات`,subtitle:`از کلاسیک تا مدرن`}];function E(){let e=typeof u.currentRoute.value.query.redirect==`string`?u.currentRoute.value.query.redirect:void 0;u.push({name:`login`,query:e?{redirect:e}:void 0})}return(a,c)=>(n(),i(`div`,g,[e(`img`,{class:`welcome-page__bg`,src:f(h),alt:``},null,8,_),c[7]||=e(`div`,{class:`welcome-page__veil`,"aria-hidden":`true`},null,-1),e(`div`,v,[e(`div`,y,[e(`header`,{class:`welcome-top`},[e(`button`,{type:`button`,class:`welcome-skip`,onClick:E},`رد شدن`)]),e(`div`,b,[r(p,{size:88}),c[0]||=e(`h1`,{class:`welcome-brand__fa`},`نادمی تکس`,-1),c[1]||=e(`p`,{class:`welcome-brand__tag`},`انتخاب حرفه‌ای، شروع یک همکاری ماندگار`,-1),c[2]||=e(`span`,{class:`welcome-brand__rule`,"aria-hidden":`true`},null,-1)]),e(`ul`,x,[(n(),i(t,null,s(T,t=>e(`li`,{key:t.title,class:`welcome-feature`},[e(`span`,S,[t.icon===`star`?(n(),i(`svg`,C,[...c[3]||=[e(`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`,stroke:`#fff`,"stroke-width":`1.5`,"stroke-linejoin":`round`},null,-1)]])):(n(),l(d,{key:1,icon:t.icon,size:22,color:`#ffffff`},null,8,[`icon`]))]),e(`strong`,null,o(t.title),1),e(`span`,null,o(t.subtitle),1)])),64))]),c[5]||=e(`div`,{class:`welcome-spacer`,"aria-hidden":`true`},null,-1),c[6]||=e(`div`,{class:`welcome-dots`,"aria-hidden":`true`},[e(`i`,{class:`is-on`}),e(`i`),e(`i`),e(`i`)],-1),e(`button`,{type:`button`,class:`welcome-cta`,onClick:E},[c[4]||=e(`span`,null,`ورود / ثبت‌نام`,-1),e(`span`,w,[r(m,{size:18,color:`#ffffff`})])])])])]))}}),[[`__scopeId`,`data-v-66f13882`]]);export{T as default}; \ No newline at end of file diff --git a/dist/assets/index-DHK6R1xK.js b/dist/assets/index-B20WsQhf.js similarity index 75% rename from dist/assets/index-DHK6R1xK.js rename to dist/assets/index-B20WsQhf.js index 61012b9..7187bff 100644 --- a/dist/assets/index-DHK6R1xK.js +++ b/dist/assets/index-B20WsQhf.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/LoginView-44E3ZvjQ.js","assets/BasicIcon-B6lR-mG3.js","assets/BasicIcon-QF_b9Svq.css","assets/http-CHgEV7QF.js","assets/format-BHJptHdF.js","assets/validation-BD7oi-2I.js","assets/FormErrorBanner-8PcsTbdO.js","assets/FormErrorBanner-Hje8L-00.css","assets/IconPhone-Glpo76KE.js","assets/formErrors-DglFjYkZ.js","assets/login-fabric-CzrIXTnD.js","assets/LoginView-CSGZwe9j.css","assets/RegisterView-CulIOliw.js","assets/dist-DwqEDRqq.js","assets/dist-BcgVHqJQ.js","assets/IconBuilding-oclvcvlP.js","assets/IconDiamond-7-J5Q2Ma.js","assets/IconVerified-BSlZDcZt.js","assets/RegisterView-CBNZxhFG.css","assets/OtpView-Y5vnVmmF.js","assets/IconChevronBack-BXRfc2bX.js","assets/IconEditPen-CppsBLM9.js","assets/OtpView-BHcDwJCt.css","assets/HomeView-iAjpb4v3.js","assets/IconLayoutGrid-DgOvzvMf.js","assets/PageSkeleton-BImjuI6S.js","assets/PageSkeleton-BAjL8n2H.css","assets/crm-DbcoqKAF.js","assets/useGoBack-yePcdjuj.js","assets/IconHeart-DjMqqdO0.js","assets/HomeView-B1qHsdTP.css","assets/CompanySelectView-BRg_id5_.js","assets/catalog-DNpqlweh.js","assets/IconFamBaftLogo-CHx7e3Le.js","assets/IconFamBaftLogo-BaDEschB.css","assets/IconShoppingBag-DW_Of8if.js","assets/CompanySelectView-D61_rpsC.css","assets/CategoriesView--p4O0fTk.js","assets/IconSearch-CQT-DmXF.js","assets/IconBolt-BuLG6uFR.js","assets/CategoriesView-BPyEMB_L.css","assets/ProductsView-Bhg6vW1x.js","assets/IconFilter-DJjJ9EAy.js","assets/PageHeader-Cza56lK4.js","assets/PageHeader-CDhs0XKF.css","assets/SearchField-txVsGGXT.js","assets/SearchField-BGmIHecn.css","assets/ProductsView-CHENfFEp.css","assets/ProductDetailView-DEtSQj9H.js","assets/IconShare-CoOzZmBa.js","assets/ProductDetailView-CtgUNpy9.css","assets/CatalogsHubView-D3TLRBtW.js","assets/catalogGallery-sguYVy7M.js","assets/CatalogsHubView-Cnl22g6I.css","assets/CatalogDetailView-BsQdhdj4.js","assets/CatalogDetailView-DewbVSm4.css","assets/CatalogRequestView-Dr2wszxQ.js","assets/catalogRequests-4v_wDAbs.js","assets/CatalogRequestView-BZ3G_4yn.css","assets/CatalogRequestsView-C9QfBfux.js","assets/CatalogRequestsView-DUzaL-Pf.css","assets/FavoritesView-BvUsLU1-.js","assets/FavoritesView-C_rd5Wxy.css","assets/CustomersView-C7eKz3Vr.js","assets/CustomersView--6m_fbKL.css","assets/CustomerCreateView-DOTA7TnM.js","assets/BaseInput-9HB-GJGt.js","assets/BaseInput-Dxl7Obd8.css","assets/CustomerCreateView-xAy0nFXT.css","assets/CustomerDetailView-sNaMFtpo.js","assets/constants-DXXK14Zz.js","assets/IconClipboardEmpty-D2QGqogo.js","assets/IconMail-BWRmFd4j.js","assets/CustomerDetailView-Baj8nbYX.css","assets/MeetingReportView-CB4EvIFN.js","assets/IconCheckCircleOutline-t6E4YUKp.js","assets/MeetingReportView-clcxg22r.css","assets/RemindersView-LWMx3AKM.js","assets/IconMoreVertical-Dw3RBXp5.js","assets/RemindersView-DX3323vn.css","assets/ReminderDetailView-BojbBV28.js","assets/ReminderDetailView-CRDCge09.css","assets/CatalogListView-BehaKwNn.js","assets/EmptyState-C6UAJ5_3.js","assets/EmptyState-D6A5GmrP.css","assets/CatalogListView-B_2l4Z3B.css","assets/CartView-D6MGjlh-.js","assets/CheckoutStepper-DCcu9ZNK.js","assets/CheckoutStepper-hqk-kVCz.css","assets/CartView-CiGb3xZt.css","assets/OrdersView-4v6PJIaR.js","assets/OrdersView-CDVkfDcz.css","assets/OrderDetailView-Biz1tIg3.js","assets/orderInvoice-B0L1Aeuk.js","assets/PersianDateInput-BkC8ZzrV.js","assets/PersianDateInput-MG7uK7zm.css","assets/OrderDetailView-DfQWMJF8.css","assets/OrderSuccessView-DZmKa7Fs.js","assets/OrderSuccessView-D_odiYNR.css","assets/SettlementTypeView-BZNT3wEX.js","assets/useRequirePricedOrder-C1A9oE_o.js","assets/IconCashSettlement-DizzShjh.js","assets/SettlementTypeView-C3wqclvS.css","assets/CashSettlementView-Cm8c4hlY.js","assets/CashSettlementView-C8IRazOR.css","assets/CheckModeSelectView-CWf_i8Wn.js","assets/CheckModeSelectView-BZlKzxFL.css","assets/CheckFormView-Z1QNCYYP.js","assets/IconCash-Bxyfv_aw.js","assets/CheckFormView-Cgp6kUZ2.css","assets/CheckListView-DptVxtEw.js","assets/CheckListView-B_ogsKeK.css","assets/ProfileView-Di4Kh-Np.js","assets/ProfileView-CGJWbbk9.css","assets/ProfileEditView-Dd3mpICc.js","assets/ProfileSubpageLayout-CHfCB62H.js","assets/ProfileSubpageLayout-W3vfIprY.css","assets/ProfileEditView-Cqvr3yiG.css","assets/ProfileSecurityView-BpjUW10K.js","assets/ProfileSecurityView-BjbybMSz.css","assets/ProfileNotificationsView-B9v-KIPx.js","assets/ProfileNotificationsView-CTp2kqLW.css","assets/ProfileDisplayView-B9CY6es-.js","assets/ProfileDisplayView-BRRdMHnK.css","assets/ProfileChecksView-V76Am-w0.js"])))=>i.map(i=>d[i]); -import{$ as e,A as t,D as n,E as r,I as i,J as a,K as o,L as s,M as c,N as l,R as u,St as d,Tt as f,U as p,V as m,W as h,X as g,Y as _,Z as v,_ as y,a as b,b as x,c as S,d as C,dt as w,et as T,f as E,g as D,gt as ee,h as te,i as O,j as k,k as A,l as ne,m as re,mt as ie,n as j,nt as M,o as N,p as ae,pt as P,r as oe,s as se,t as F,tt as ce,u as I,v as L,wt as le,xt as R,y as ue}from"./BasicIcon-B6lR-mG3.js";import{a as de,i as fe,n as z,o as B,r as V,s as H,t as U}from"./http-CHgEV7QF.js";import{l as pe}from"./dist-BcgVHqJQ.js";import{i as me,r as he}from"./dist-DwqEDRqq.js";import{_ as ge,c as _e,s as ve,t as ye,u as be,v as xe}from"./format-BHJptHdF.js";import{r as Se}from"./validation-BD7oi-2I.js";import{t as W}from"./catalog-DNpqlweh.js";(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)}})();var G=typeof document<`u`,Ce=/#/g,we=/&/g,Te=/\//g,Ee=/=/g,De=/\?/g,Oe=/\+/g,ke=/%5B/g,Ae=/%5D/g,je=/%5E/g,Me=/%60/g,Ne=/%7B/g,Pe=/%7C/g,Fe=/%7D/g,Ie=/%20/g;function Le(e){return e==null?``:encodeURI(``+e).replace(Pe,`|`).replace(ke,`[`).replace(Ae,`]`)}function Re(e){return Le(e).replace(Ne,`{`).replace(Fe,`}`).replace(je,`^`)}function ze(e){return Le(e).replace(Oe,`%2B`).replace(Ie,`+`).replace(Ce,`%23`).replace(we,`%26`).replace(Me,"`").replace(Ne,`{`).replace(Fe,`}`).replace(je,`^`)}function Be(e){return ze(e).replace(Ee,`%3D`)}function Ve(e){return Le(e).replace(Ce,`%23`).replace(De,`%3F`)}function He(e){return Ve(e).replace(Te,`%2F`)}function Ue(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var We=/\/$/,Ge=e=>e.replace(We,``);function Ke(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=$e(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:Ue(o)}}function qe(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function Je(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function Ye(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&K(t.matched[r],n.matched[i])&&Xe(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function K(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Xe(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!Ze(e[n],t[n]))return!1;return!0}function Ze(e,t){return N(e)?Qe(e,t):N(t)?Qe(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function Qe(e,t){return N(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function $e(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 q={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0};function et(e){if(!e)if(G){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^/]+/,``)}else e=`/`;return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),Ge(e)}var tt=/^[^#]+#/;function nt(e,t){return e.replace(tt,`#`)+t}function rt(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 it=()=>({left:window.scrollX,top:window.scrollY});function at(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=rt(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 ot(e,t){return(history.state?history.state.position-t:-1)+e}var st=new Map;function ct(e,t){st.set(e,t)}function lt(e){let t=st.get(e);return st.delete(e),t}function ut(e){return typeof e==`string`||e&&typeof e==`object`}function dt(e){return typeof e==`string`||typeof e==`symbol`}function ft(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;ee&&ze(e)):[r&&ze(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function mt(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=N(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}function J(){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 Y(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(b(4,{from:n,to:t})):e instanceof Error?c(e):ut(e)?c(b(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 ht(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(ne(s)){let c=(s.__vccOpts||s)[t];c&&a.push(Y(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=se(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&Y(c,n,r,o,e,i)()}))}}return a}function gt(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;oK(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>K(e,s))||i.push(s))}return[n,r,i]}var _t=()=>location.protocol+`//`+location.host;function vt(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),Je(n,``)}return Je(n,e)+r+i}function yt(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=vt(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(O({},e.state,{scroll:it()}),``)}}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 bt(e,t,n,r=!1,i=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:i?it():null}}function xt(e){let{history:t,location:n}=window,r={value:vt(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:_t()+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,O({},t.state,bt(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function s(e,n){let o=O({},i.value,t.state,{forward:e,scroll:it()});a(o.current,o,!0),a(e,O({},bt(r.value,e,null),{position:o.position+1},n),!1),r.value=e}return{location:r,state:i,push:s,replace:o}}function St(e){e=et(e);let t=xt(e),n=yt(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=O({location:``,base:e,go:r,createHref:nt.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 Ct={type:0,value:``},wt=/[a-zA-Z0-9_]/;function Tt(e){if(!e)return[[]];if(e===`/`)return[[Ct]];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 jt(e,t){let n=0,r=e.score,i=t.score;for(;n0&&t[t.length-1]<0}var Nt={strict:!1,end:!0,sensitive:!1};function Pt(e,t,n){let r=kt(Tt(e.path),n),i=O(r,{record:e,parent:t,children:[],alias:[]});return t&&!i.record.aliasOf==!t.record.aliasOf&&t.children.push(i),i}function Ft(e,t){let n=[],r=new Map;t=C(Nt,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=Lt(e);s.aliasOf=r&&r.record;let l=C(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(Lt(O({},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=Pt(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!zt(d)&&o(e.name)),Ut(d)&&c(d),s.children){let e=s.children;for(let t=0;t{o(f)}:E}function o(e){if(dt(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=Vt(e,n);n.splice(t,0,e),e.record.name&&!zt(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 b(1,{location:e});s=i.record.name,a=O(It(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&It(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 b(1,{location:e,currentLocation:t});s=i.record.name,a=O({},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:Bt(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 It(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function Lt(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Rt(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 Rt(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 zt(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Bt(e){return e.reduce((e,t)=>O(e,t.meta),{})}function Vt(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;jt(e,t[i])<0?r=i:n=i+1}let i=Ht(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function Ht(e){let t=e;for(;t=t.parent;)if(Ut(t)&&jt(e,t)===0)return t}function Ut({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Wt(e){let t=p(re),n=p(ae),r=A(()=>{let n=R(e.to);return t.resolve(n)}),i=A(()=>{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(K.bind(null,i));if(o>-1)return o;let s=Yt(e[t-2]);return t>1&&Yt(i)===s&&a[a.length-1].path!==s?a.findIndex(K.bind(null,e[t-2])):o}),a=A(()=>i.value>-1&&Jt(n.params,r.value.params)),o=A(()=>i.value>-1&&i.value===n.matched.length-1&&Xe(n.params,r.value.params));function s(n={}){if(qt(n)){let n=t[R(e.replace)?`replace`:`push`](R(e.to)).catch(E);return e.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>n),n}return Promise.resolve()}return{route:r,href:A(()=>r.value.href),isActive:a,isExactActive:o,navigate:s}}function Gt(e){return e.length===1?e[0]:e}var Kt=u({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:Wt,setup(e,{slots:t}){let n=w(Wt(e)),{options:r}=p(re),i=A(()=>({[Xt(e.activeClass,r.linkActiveClass,`router-link-active`)]:n.isActive,[Xt(e.exactActiveClass,r.linkExactActiveClass,`router-link-exact-active`)]:n.isExactActive}));return()=>{let r=t.default&&Gt(t.default(n));return e.custom?r:m(`a`,{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},r)}}});function qt(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 Jt(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(!N(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}return!0}function Yt(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var Xt=(e,t,n)=>e??t??n,Zt=u({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){let r=p(te),i=A(()=>e.route||r.value),a=p(L,0),o=A(()=>{let e=R(a),{matched:t}=i.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),s=A(()=>i.value.matched[o.value]);_(L,A(()=>o.value+1)),_(I,s),_(te,i);let c=P();return T(()=>[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||!K(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 Qt(n.default,{Component:l,route:r});let u=o.props[a],d=u?u===!0?r.params:typeof u==`function`?u(r):u:null,f=m(l,O({},d,t,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(o.instances[a]=null)},ref:c}));return Qt(n.default,{Component:f,route:r})||f}}});function Qt(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var $t=Zt;function en(e){let t=Ft(e.routes,e),n=e.parseQuery||ft,r=e.stringifyQuery||pt,i=e.history,a=J(),o=J(),s=J(),c=ee(q),l=q;G&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let u=oe.bind(null,e=>``+e),d=oe.bind(null,He),f=oe.bind(null,Ue);function p(e,n){let r,i;return dt(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 g(){return t.getRoutes().map(e=>e.record)}function _(e){return!!t.getRecordMatcher(e)}function v(e,a){if(a=O({},a||c.value),typeof e==`string`){let r=Ke(n,e,a.path),o=t.resolve({path:r.path},a),s=i.createHref(r.fullPath);return O(r,o,{params:f(o.params),redirectedFrom:void 0,href:s})}let o;if(e.path!=null)o=O({},e,{path:Ke(n,e.path,a.path).path});else{let t=O({},e.params);for(let e in t)t[e]??delete t[e];o=O({},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=qe(r,O({},e,{hash:Re(l),path:s.path})),m=i.createHref(p);return O({fullPath:p,hash:l,query:r===pt?mt(e.query):e.query||{}},s,{redirectedFrom:void 0,href:m})}function y(e){return typeof e==`string`?Ke(n,e,c.value.path):O({},e)}function x(e,t){if(l!==e)return b(8,{from:t,to:e})}function C(e){return D(e)}function w(e){return C(O(y(e),{replace:!0}))}function T(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=y(i):{path:i},i.params={}),O({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function D(e,t){let n=l=v(e),i=c.value,a=e.state,o=e.force,s=e.replace===!0,u=T(n,i);if(u)return D(O(y(u),{state:typeof u==`object`?O({},a,u.state):a,force:o,replace:s}),t||n);let d=n;d.redirectedFrom=t;let f;return!o&&Ye(r,i,n)&&(f=b(16,{to:d,from:i}),de(i,i,!0,!1)),(f?Promise.resolve(f):ne(d,i)).catch(e=>S(e)?S(e,2)?e:ue(e):L(e,d,i)).then(e=>{if(e){if(S(e,2))return D(O({replace:s},y(e.to),{state:typeof e.to==`object`?O({},a,e.to.state):a,force:o}),t||d)}else e=M(d,i,!0,s,a);return j(d,i,e),e})}function k(e,t){let n=x(e,t);return n?Promise.reject(n):Promise.resolve()}function A(e){let t=B.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function ne(e,t){let n,[r,i,s]=gt(e,t);n=ht(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push(Y(r,e,t))});let c=k.bind(null,e,t);return n.push(c),H(n).then(()=>{n=[];for(let r of a.list())n.push(Y(r,e,t));return n.push(c),H(n)}).then(()=>{n=ht(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push(Y(r,e,t))});return n.push(c),H(n)}).then(()=>{n=[];for(let r of s)if(r.beforeEnter)if(N(r.beforeEnter))for(let i of r.beforeEnter)n.push(Y(i,e,t));else n.push(Y(r.beforeEnter,e,t));return n.push(c),H(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=ht(s,`beforeRouteEnter`,e,t,A),n.push(c),H(n))).then(()=>{n=[];for(let r of o.list())n.push(Y(r,e,t));return n.push(c),H(n)}).catch(e=>S(e,8)?e:Promise.reject(e))}function j(e,t,n){s.list().forEach(r=>A(()=>r(e,t,n)))}function M(e,t,n,r,a){let o=x(e,t);if(o)return o;let s=t===q,l=G?history.state:{};n&&(r||s?i.replace(e.fullPath,O({scroll:s&&l&&l.scroll},a)):i.push(e.fullPath,a)),c.value=e,de(e,t,n,s),ue()}let P;function se(){P||=i.listen((e,t,n)=>{if(!V.listening)return;let r=v(e),a=T(r,V.currentRoute.value);if(a){D(O(a,{replace:!0,force:!0}),r).catch(E);return}l=r;let o=c.value;G&&ct(ot(o.fullPath,n.delta),it()),ne(r,o).catch(e=>S(e,12)?e:S(e,2)?(D(O(y(e.to),{force:!0}),r).then(e=>{S(e,20)&&!n.delta&&n.type===`pop`&&i.go(-1,!1)}).catch(E),Promise.reject()):(n.delta&&i.go(-n.delta,!1),L(e,r,o))).then(e=>{e||=M(r,o,!1),e&&(n.delta&&!S(e,8)?i.go(-n.delta,!1):n.type===`pop`&&S(e,20)&&i.go(-1,!1)),j(r,o,e)}).catch(E)})}let F=J(),ce=J(),I;function L(e,t,n){ue(e);let r=ce.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function le(){return I&&c.value!==q?Promise.resolve():new Promise((e,t)=>{F.add([e,t])})}function ue(e){return I||(I=!e,se(),F.list().forEach(([t,n])=>e?n(e):t()),F.reset()),e}function de(t,n,r,i){let{scrollBehavior:a}=e;if(!G||!a)return Promise.resolve();let o=!r&<(ot(t.fullPath,0))||(i||!r)&&history.state&&history.state.scroll||null;return h().then(()=>a(t,n,o)).then(e=>t===c.value&&e&&at(e)).catch(e=>t===c.value&&L(e,t,n))}let fe=e=>i.go(e),z,B=new Set,V={currentRoute:c,listening:!0,addRoute:p,removeRoute:m,clearRoutes:t.clearRoutes,hasRoute:_,getRoutes:g,resolve:v,options:e,push:C,replace:w,go:fe,back:()=>fe(-1),forward:()=>fe(1),beforeEach:a.add,beforeResolve:o.add,afterEach:s.add,onError:ce.add,isReady:le,install(e){e.component(`RouterLink`,Kt),e.component(`RouterView`,$t),e.config.globalProperties.$router=V,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>R(c)}),G&&!z&&c.value===q&&(z=!0,C(i.location).catch(e=>{}));let t={};for(let e in q)Object.defineProperty(t,e,{get:()=>c.value[e],enumerable:!0});e.provide(re,V),e.provide(ae,ie(t)),e.provide(te,c);let n=e.unmount;B.add(e),e.unmount=function(){B.delete(e),B.size<1&&(l=q,P&&P(),P=null,c.value=q,z=!1,I=!1),n()}}};function H(e){return e.reduce((e,t)=>e.then(()=>A(t)),Promise.resolve())}return V}var tn=typeof global==`object`&&global&&global.Object===Object&&global,nn=typeof self==`object`&&self&&self.Object===Object&&self,rn=(tn||nn||Function(`return this`)()).Symbol,an=Object.prototype,on=an.hasOwnProperty,sn=an.toString,cn=rn?rn.toStringTag:void 0;function ln(e){var t=on.call(e,cn),n=e[cn];try{e[cn]=void 0;var r=!0}catch{}var i=sn.call(e);return r&&(t?e[cn]=n:delete e[cn]),i}var un=Object.prototype.toString;function dn(e){return un.call(e)}var fn=`[object Null]`,pn=`[object Undefined]`,mn=rn?rn.toStringTag:void 0;function hn(e){return e==null?e===void 0?pn:fn:mn&&mn in Object(e)?ln(e):dn(e)}function gn(e){return typeof e==`object`&&!!e}var _n=`[object Symbol]`;function vn(e){return typeof e==`symbol`||gn(e)&&hn(e)==_n}var yn=/\s/;function bn(e){for(var t=e.length;t--&&yn.test(e.charAt(t)););return t}var xn=/^\s+/;function Sn(e){return e&&e.slice(0,bn(e)+1).replace(xn,``)}function Cn(e){var t=typeof e;return e!=null&&(t==`object`||t==`function`)}var wn=NaN,Tn=/^[-+]0x[0-9a-f]+$/i,En=/^0b[01]+$/i,Dn=/^0o[0-7]+$/i,On=parseInt;function kn(e){if(typeof e==`number`)return e;if(vn(e))return wn;if(Cn(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=Cn(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=Sn(e);var n=En.test(e);return n||Dn.test(e)?On(e.slice(2),n?2:8):Tn.test(e)?wn:+e}function An(e,t,n){return e===e&&(n!==void 0&&(e=e<=n?e:n),t!==void 0&&(e=e>=t?e:t)),e}function jn(e,t,n){return n===void 0&&(n=t,t=void 0),n!==void 0&&(n=kn(n),n=n===n?n:0),t!==void 0&&(t=kn(t),t=t===t?t:0),An(kn(e),t,n)}var Mn=5e3;function Nn(){return{id:`local`,companyId:``,companyName:``,items:[]}}function X(){return!1}function Pn(e){return[...new Set(e.map(e=>e.companyName).filter(Boolean))].join(`، `)}function Fn(e,t){return e.items.filter(e=>e.companyId===t).reduce((e,t)=>e+t.meterage,0)}var Z=B(`cart`,()=>{let e=P([Nn()]),t=P(`local`),n=P(null),r=P(!1),i=A(()=>e.value.find(e=>e.id===t.value)??e.value[0]??null),a=A(()=>i.value?.items.reduce((e,t)=>e+t.meterage,0)??0),o=A(()=>i.value?.items.length??0),s=W(),c=A(()=>i.value?.items.length?Pn(i.value.items):``),l=A(()=>{let e=i.value;if(!e?.items.length)return[];let t=new Map;for(let n of e.items){let e=t.get(n.companyId);e?e.meterage+=n.meterage:t.set(n.companyId,{companyName:n.companyName||`شرکت`,meterage:n.meterage})}return[...t.entries()].map(([e,t])=>{let n=s.getCompany(e)?.maxMeteragePerInvoice??Mn;return{companyId:e,companyName:t.companyName,meterage:t.meterage,maxMeterage:n,remaining:Math.max(0,n-t.meterage)}})}),u=A(()=>l.value.length?l.value.reduce((e,t)=>e+t.maxMeterage,0):(n.value?s.getCompany(n.value):null)?.maxMeteragePerInvoice??Mn),d=A(()=>l.value.length?l.value.reduce((e,t)=>e+t.remaining,0):Math.max(0,u.value-a.value)),f=A(()=>l.value.some(e=>e.meterage>=e.maxMeterage));function p(r){let i={id:r.id,companyId:r.companyId||``,companyName:r.companyName||Pn(r.items),items:r.items??[],notes:r.notes};e.value=[i],t.value=i.id,i.companyId&&(n.value=i.companyId)}function m(n){e.value=[{...n,items:n.items.map(e=>({...e}))}],t.value=e.value[0].id}async function h(){if(!V()){g();return}if(X()){r.value=!1;return}r.value=!0;try{p(await z(`/carts`))}catch{g()}finally{r.value=!1}}function g(){e.value=[Nn()],t.value=e.value[0].id,n.value=null}function _(e){n.value=e.id,i.value&&!i.value.items.length&&(i.value.companyId=e.id,i.value.companyName=e.name)}function v(e){return _(e),i.value??Nn()}function y(e){return e&&_(e),i.value??Nn()}async function b(){if(X())return g(),i.value;try{return p(await z(`/carts`,{method:`DELETE`})),i.value}catch(e){return console.error(e),null}}function x(e,t,r,i){let a=y(i),o=a.items.find(t=>t.productId===e.id),s=[...a.items];if(o){let e=s.findIndex(e=>e.id===o.id);s[e]={...o,meterage:r}}else{let n={id:`local-item-${e.id}-${Date.now()}`,productId:e.id,catalogCode:t,productName:e.name,productCode:e.code,color:e.color,meterage:r,companyId:i.id,companyName:i.name};s.push(n)}return m({id:a.id||`local`,companyId:s[0]?.companyId||i.id,companyName:Pn(s)||i.name,items:s,notes:a.notes}),n.value=i.id,{success:!0}}async function S(e,t,r){s.companies.length||await s.loadCompanies();let a=s.getCompany(e.companyId),o=i.value??Nn(),c=a?.maxMeteragePerInvoice??Mn,l=e.companyId?Fn(o,e.companyId):0,u=o.items.find(t=>t.productId===e.id),d=u?.meterage??0,f=Se(r,e,l,c,d);if(!f.valid)return{success:!1,message:f.message};if(X())return a?x(e,t,r,a):{success:!1,message:`شرکت محصول یافت نشد.`};try{let t;return t=u?await z(`/carts/items/${u.id}`,{method:`PATCH`,body:{meterage:r}}):await z(`/carts/items`,{method:`POST`,body:{productId:e.id,meterage:r}}),p(t),n.value=a?.id||e.companyId||n.value,{success:!0}}catch(e){return{success:!1,message:e instanceof U?e.message:`افزودن به سبد ناموفق بود.`}}}async function C(e,t,n){if(!i.value)return{success:!1,message:`سبد خرید یافت نشد.`};let r=i.value.items.find(t=>t.id===e);if(!r)return{success:!1,message:`آیتم یافت نشد.`};let a=s.getCompany(r.companyId||n.companyId)?.maxMeteragePerInvoice??Mn,o=Fn(i.value,r.companyId),c=Se(t,n,o,a,r.meterage);if(!c.valid)return{success:!1,message:c.message};if(X()){let n=i.value.items.map(n=>n.id===e?{...n,meterage:t}:n);return m({...i.value,items:n}),{success:!0}}try{return p(await z(`/carts/items/${e}`,{method:`PATCH`,body:{meterage:t}})),{success:!0}}catch(e){return{success:!1,message:e instanceof U?e.message:`به‌روزرسانی متراژ ناموفق بود.`}}}async function w(e){if(X()){if(!i.value)return;let t=i.value.items.filter(t=>t.id!==e);m({...i.value,items:t});return}try{p(await z(`/carts/items/${e}`,{method:`DELETE`}))}catch(e){console.error(e)}}async function T(e){if(X()){if(!i.value)return;m({...i.value,notes:e});return}try{p(await z(`/carts/notes`,{method:`PATCH`,body:{notes:e}}))}catch(e){console.error(e)}}async function E(){if(X()){g();return}try{p(await z(`/carts`,{method:`DELETE`}))}catch{g()}}function D(){}return{carts:e,activeCartId:t,selectedCompanyId:n,syncing:r,activeCart:i,totalMeterage:a,itemCount:o,companyNamesLabel:c,companySummaries:l,maxMeterage:u,remainingCapacity:d,isFull:f,initCartForCompany:v,selectCompany:_,createNewCartForSameCompany:b,addItem:S,updateItemMeterage:C,removeItem:w,setNotes:T,clearActiveCart:E,ensureActiveCartForCartPage:D,hydrate:h,resetLocal:g}}),In=u({__name:`IconHome`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(a(),k(F,{icon:`vuesax-linear:home`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Ln=u({__name:`IconCart`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(a(),k(F,{icon:`vuesax-linear:bag-2`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Rn=u({__name:`IconOrders`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(a(),k(F,{icon:`vuesax-linear:document-text`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),zn=u({__name:`IconProfile`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(a(),k(F,{icon:`vuesax-linear:profile-circle`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Bn=u({__name:`IconCatalog`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(a(),k(F,{icon:`vuesax-linear:category`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Vn=u({__name:`IconCheckBook`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(a(),k(F,{icon:`vuesax-linear:card-receive`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Hn=u({__name:`IconPlus`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(a(),k(F,{icon:`vuesax-linear:add`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Un=[{name:`home`,path:`/`,label:`خانه`,icon:In},{name:`catalogs`,path:`/catalogs`,label:`کالیته‌ها`,icon:Bn},{name:`order-fab`,path:`/cart`,label:`ثبت سفارش`,icon:Hn},{name:`orders`,path:`/orders`,label:`سفارش‌ها`,icon:Rn},{name:`profile`,path:`/profile`,label:`پروفایل`,icon:zn}],Wn=[{name:`home`,path:`/`,label:`خانه`,icon:In},{name:`ordering`,path:`/`,label:`سفارش‌گذاری`,icon:Bn,dynamicPath:!0},{name:`cart`,path:`/cart`,label:`سبد خرید`,icon:Ln},{name:`orders`,path:`/orders`,label:`سفارش‌ها`,icon:Rn},{name:`checks`,path:`/profile/checks`,label:`لیست چک‌ها`,icon:Vn},{name:`profile`,path:`/profile`,label:`پروفایل`,icon:zn}],Gn=`/categories`;function Kn(e){return Gn}var qn=[`/catalogs`,`/catalog-request`,`/catalog-requests`,`/categories`,`/products`,`/product`,`/favorites`];function Jn(e,t,n){return e===`ordering`?n.startsWith(`/categories`)||n.startsWith(`/products`)||n.startsWith(`/product`)||n.startsWith(`/catalogs`):e===`home`?n===`/`:e===`catalogs`?qn.some(e=>n===e||n.startsWith(`${e}/`)):e===`order-fab`?n===`/cart`||n.startsWith(`/cart/`):e===`checks`?n.startsWith(`/profile/checks`):e===`profile`||t===`/profile`?n===`/profile`:t===`/`?n===`/`:n.startsWith(t)}function Yn(e,t){return e.name===`ordering`?Kn(t):e.path}var Xn={class:`bottom-nav`,"aria-label":`ناوبری اصلی`},Zn=[`aria-current`,`aria-label`,`onClick`],Qn={key:0,class:`nav-badge`},$n={key:0,class:`nav-label`},er={key:1,class:`nav-label nav-label--fab`},tr=j(u({__name:`BottomNav`,setup(r){let i=D(),o=y(),s=Z(),u=A(()=>s.itemCount);function p(e,t){let n=t.currentTarget;if(n instanceof HTMLElement&&n.blur(),e===`/cart`&&s.itemCount===0){o.push(`/categories`);return}o.push(e)}return(r,o)=>(a(),l(`nav`,Xn,[(a(!0),l(n,null,g(R(Un),n=>(a(),l(`button`,{key:n.name,type:`button`,class:d([`nav-item`,{active:R(Jn)(n.name,n.path,R(i).path),"nav-item--fab":n.name===`order-fab`}]),"aria-current":R(Jn)(n.name,n.path,R(i).path)?`page`:void 0,"aria-label":n.label,onClick:e=>p(n.path,e)},[t(`span`,{class:d([`nav-icon`,{"nav-icon--fab":n.name===`order-fab`}])},[(a(),k(e(n.icon),{size:n.name===`order-fab`?26:22,"stroke-width":n.name===`order-fab`?1.8:1.5,color:n.name===`order-fab`?`#ffffff`:void 0},null,8,[`size`,`stroke-width`,`color`])),n.name===`order-fab`&&u.value>0?(a(),l(`span`,Qn,f(u.value),1)):c(``,!0)],2),n.name===`order-fab`?(a(),l(`span`,er,f(n.label),1)):(a(),l(`span`,$n,f(n.label),1))],10,Zn))),128))]))}}),[[`__scopeId`,`data-v-18a88055`]]);function nr(){return{checkCount:0,totalAmount:0,nearestDueDate:null,farthestDueDate:null,rassDays:0,rassDate:null}}function rr(e,t=new Date){if(e.length===0)return nr();let n=new Date(t);n.setHours(0,0,0,0);let r=0,i=0,a=[];for(let t of e){if(!t.dueDate){r+=t.amount;continue}let e=ge(t.dueDate);if(Number.isNaN(e.getTime())){r+=t.amount;continue}e.setHours(0,0,0,0),a.push(e);let o=e.getTime()-n.getTime(),s=Math.max(0,Math.round(o/864e5));r+=t.amount,i+=t.amount*s}let o=r>0?Math.round(i/r):0,s=new Date(n);return s.setDate(s.getDate()+o),a.sort((e,t)=>e.getTime()-t.getTime()),{checkCount:e.length,totalAmount:r,nearestDueDate:a[0]?xe(a[0]):null,farthestDueDate:a.length?xe(a[a.length-1]):null,rassDays:o,rassDate:xe(s)}}function ir(e){let t=new Date;t.setHours(0,0,0,0);let n=ge(e);return Number.isNaN(n.getTime())?0:(n.setHours(0,0,0,0),Math.max(0,Math.round((n.getTime()-t.getTime())/864e5)))}var ar=B(`order`,()=>{let e=P([]),t=P([]),n=P(null),r=P(null),i=P(null),a=P(!1),o=A(()=>t=>[...e.value].sort((e,t)=>new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime()));function s(t){return e.value.find(e=>e.id===t)}function c(e,a){i.value=e,n.value=`check`,t.value=[],r.value=a??null}function l(e){i.value=e.id,n.value=`check`,r.value=e.checkMode??`full`,t.value=(e.checks??[]).map(e=>({...e}))}function u(){i.value=null,t.value=[],r.value=null,n.value=null}function d(e){r.value=e}function f(e){t.value.push({...e,id:ve()})}function p(e,n){let r=t.value.findIndex(t=>t.id===e);r>=0&&(t.value[r]={...t.value[r],...n})}function m(e){t.value=t.value.filter(t=>t.id!==e)}function h(e){return rr(t.value,e??new Date)}async function g(){if(!V()){e.value=[];return}a.value=!0;try{e.value=await z(`/orders`)}catch{e.value=[]}finally{a.value=!1}}function _(){e.value=[],u()}function v(t){let n=e.value.findIndex(e=>e.id===t.id);n>=0?e.value[n]=t:e.value.unshift(t)}async function y(e){try{let t=await z(`/orders/${e}`);return v(t),t}catch{return null}}async function b(t){if(!t.items.length)throw Error(`سبد خرید خالی است.`);if(t.id===`local`||t.items.some(e=>e.id.startsWith(`local-item-`)))throw Error(`سبد خرید با سرور همگام نیست. لطفاً دوباره محصولات را به سبد اضافه کنید.`);let n=[...new Set(t.items.map(e=>e.companyId).filter(Boolean))];if(!n.length)throw Error(`شرکت سبد مشخص نیست. سبد را خالی کنید و دوباره اضافه کنید.`);try{let r=await z(`/orders`,{method:`POST`,body:{companyId:n[0],notes:t.notes,items:t.items.map(e=>({productId:e.productId,meterage:Number(e.meterage),notes:e.notes}))}});return e.value.unshift(r),u(),r}catch(e){throw Error(e instanceof U?e.message:`ثبت سفارش ناموفق بود.`)}}async function x(e,t,n){try{let r=await z(`/orders/${e}/settlement`,{method:`POST`,body:{settlementType:t,checkMode:t===`check`?n??`full`:void 0}});return v(r),r}catch(e){throw Error(e instanceof U?e.message:`ثبت روش تسویه ناموفق بود.`)}}async function S(e,t){try{await z(`/orders/${e}/cash-receipt`,{method:`POST`,body:{amount:t.amount,transferDate:t.transferDate,transferTime:t.transferTime,trackingNumber:t.trackingNumber,destinationAccountId:t.destinationAccountId,receiptImage:t.receiptImage,notes:t.notes}});let n=await y(e);if(!n)throw Error(`رسید ثبت شد ولی دریافت سفارش ناموفق بود.`);return n}catch(e){throw Error(e instanceof U?e.message:`ثبت رسید ناموفق بود.`)}}async function C(e,t,n){try{let r=await z(`/orders/${e}/checks`,{method:`PATCH`,body:{checkMode:n,checks:t.map(e=>({amount:e.amount,dueDate:e.dueDate,sayadId:e.sayadId,checkNumber:e.checkNumber,ownerNationalId:e.ownerNationalId,ownerFirstName:e.ownerFirstName,ownerLastName:e.ownerLastName,bankName:e.bankName,branchName:e.branchName,frontImage:e.frontImage,backImage:e.backImage,notes:e.notes,mode:e.mode}))}});return v(r),u(),r}catch(e){throw Error(e instanceof U?e.message:`ثبت چک‌ها ناموفق بود.`)}}async function w(e){let t=[...new Set([e.companyId,...e.items.map(e=>e.companyId).filter(Boolean)].filter(Boolean))],n=W(),r=await Promise.all(t.map(e=>n.loadBankAccounts(e))),i=new Map;for(let e of r)for(let t of e)i.set(t.id,t);return[...i.values()]}async function T(e){return W().loadBankAccounts(e)}return{orders:e,draftChecks:t,draftSettlementType:n,draftCheckMode:r,draftOrderId:i,loading:a,userOrders:o,getOrderById:s,startCheckDraft:c,loadChecksIntoDraft:l,clearCheckDraft:u,setCheckMode:d,addDraftCheck:f,updateDraftCheck:p,removeDraftCheck:m,getDraftRass:h,submitOrder:b,chooseSettlement:x,submitCashReceipt:S,updateOrderChecks:C,hydrate:g,resetLocal:_,fetchOrder:y,getBankAccountsForOrder:w,getBankAccountsForCompany:T}}),or=u({__name:`IconHeadset`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(a(),k(F,{icon:`vuesax-linear:headphone`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),sr=`/assets/nademitex-logo-BJLexNm4.png`,cr=[`src`],lr=j(u({__name:`IconQemashMark`,props:{size:{default:72}},setup(e){return(t,n)=>(a(),l(`img`,{class:`brand-logo`,src:R(sr),alt:``,style:le({height:`${e.size}px`}),draggable:`false`},null,12,cr))}}),[[`__scopeId`,`data-v-b211450b`]]),ur={class:`desktop-sidebar`,"aria-label":`ناوبری اصلی`},dr={class:`desktop-sidebar__brand`},fr={class:`desktop-sidebar__nav`},pr=[`aria-current`,`aria-label`,`title`,`onClick`],mr={class:`desktop-sidebar__icon`},hr={class:`desktop-sidebar__label`},gr={key:0,class:`desktop-sidebar__badge`},_r={key:1,class:`desktop-sidebar__badge`},vr={class:`desktop-sidebar__support`},yr={class:`desktop-sidebar__support-icon`,"aria-hidden":`true`},br=j(u({__name:`DesktopSidebar`,setup(r){let i=D(),o=y(),u=Z(),p=ar(),m=A(()=>u.itemCount),h=A(()=>p.draftChecks.length),_=A(()=>u.selectedCompanyId||u.activeCart?.companyId||null);function v(e){o.push(Yn(e,_.value))}return(r,o)=>(a(),l(`aside`,ur,[t(`div`,dr,[s(lr,{size:36}),o[0]||=t(`strong`,{class:`desktop-sidebar__title`},`نادمی تکس`,-1)]),t(`nav`,fr,[(a(!0),l(n,null,g(R(Wn),n=>(a(),l(`button`,{key:n.name,type:`button`,class:d([`desktop-sidebar__item`,{active:R(Jn)(n.name,n.path,R(i).path)}]),"aria-current":R(Jn)(n.name,n.path,R(i).path)?`page`:void 0,"aria-label":n.label,title:n.label,onClick:e=>v(n)},[t(`span`,mr,[(a(),k(e(n.icon),{size:20}))]),t(`span`,hr,f(n.label),1),n.name===`cart`&&m.value>0?(a(),l(`span`,gr,f(m.value),1)):c(``,!0),n.name===`checks`&&h.value>0?(a(),l(`span`,_r,f(h.value),1)):c(``,!0)],10,pr))),128))]),t(`div`,vr,[t(`span`,yr,[s(or,{size:22})]),o[1]||=t(`strong`,{class:`desktop-sidebar__support-title`},`پشتیبانی و راهنما`,-1),o[2]||=t(`p`,{class:`desktop-sidebar__support-text`},` در صورت نیاز به راهنمایی یا گزارش مشکل با تیم پشتیبانی تماس بگیرید. `,-1),o[3]||=t(`a`,{href:`tel:02112345678`,class:`desktop-sidebar__support-btn`},`تماس با پشتیبانی`,-1)])]))}}),[[`__scopeId`,`data-v-a03a8196`]]),xr=`ft_user`,Sr=`ft_pending_otp`;function Q(e){e?localStorage.setItem(xr,JSON.stringify(e)):localStorage.removeItem(xr)}function Cr(){try{let e=localStorage.getItem(xr);return e?JSON.parse(e):null}catch{return null}}function wr(){return V()?Cr():null}function Tr(){return!!V()}function Er(e){try{e?sessionStorage.setItem(Sr,JSON.stringify(e)):sessionStorage.removeItem(Sr)}catch{}}async function Dr(e,t){let n=_e(e);if(!/^09\d{9}$/.test(n))return{success:!1,message:`شماره موبایل معتبر نیست.`};if(t.isRegister&&(!t.firstName?.trim()||!t.lastName?.trim()))return{success:!1,message:`نام و نام خانوادگی الزامی است.`};try{Er({phone:n,isRegister:t.isRegister,firstName:t.firstName,lastName:t.lastName});let e=await z(`/auth/otp/request`,{method:`POST`,auth:!1,body:{phone:n,firstName:t.firstName,lastName:t.lastName,isRegister:t.isRegister}}),r=e.debugCode?` (کد: ${e.debugCode})`:``;return{success:!0,message:`${e.message}${r}`}}catch(e){return{success:!1,message:e instanceof U?e.message:`ارسال کد ناموفق بود.`}}}async function Or(e,t){let n=_e(e);try{let e=await z(`/auth/otp/verify`,{method:`POST`,auth:!1,body:{phone:n,code:ye(t)}});return fe(e.accessToken),Q(e.user),Er(null),{success:!0,message:`ورود موفق.`,user:e.user}}catch(e){return{success:!1,message:e instanceof U?e.message:`تأیید کد ناموفق بود.`}}}function kr(){fe(null),Q(null),Er(null)}async function Ar(){if(!V())return Q(null),null;try{let e=await z(`/auth/me`);return Q(e),e}catch{return Cr()}}async function jr(e){try{let t=await z(`/auth/profile`,{method:`PATCH`,body:e});return Q(t),t}catch(t){let n=e.avatarUrl!==void 0&&e.firstName===void 0&&e.lastName===void 0&&e.nationalId===void 0,r=Cr();if(!n||!r)throw t;let i={...r};return e.avatarUrl?i.avatarUrl=e.avatarUrl:delete i.avatarUrl,Q(i),i}}var Mr=`ft_pending_register`,Nr=[{id:`garment_producer`,label:`تولیدکننده پوشاک عمده`},{id:`atelier`,label:`مزون`},{id:`fabric_wholesaler`,label:`عمده‌فروش پارچه`}];function Pr(){try{let e=sessionStorage.getItem(Mr);if(!e)return null;let t=JSON.parse(e);return!t?.firstName?.trim()||!t?.lastName?.trim()?null:{firstName:t.firstName.trim(),lastName:t.lastName.trim(),jobCategory:t.jobCategory}}catch{return null}}function Fr(e){if(e?.firstName?.trim()&&e?.lastName?.trim()){sessionStorage.setItem(Mr,JSON.stringify({firstName:e.firstName.trim(),lastName:e.lastName.trim(),jobCategory:e.jobCategory}));return}sessionStorage.removeItem(Mr)}var Ir=B(`notification`,()=>{let e=P([]),t=P(0),n=P(!1),r=A(()=>t.value>0);async function i(){if(!V()){e.value=[],t.value=0;return}n.value=!0;try{e.value=await z(`/notifications`),t.value=e.value.filter(e=>!e.isRead).length}catch{e.value=[],t.value=0}finally{n.value=!1}}async function a(){if(!V()){t.value=0;return}try{let e=await z(`/notifications/unread-count`);t.value=e.count}catch{}}async function o(n){let r=e.value.find(e=>e.id===n);if(!(!r||r.isRead)){r.isRead=!0,t.value=Math.max(0,t.value-1);try{await z(`/notifications/${n}/read`,{method:`PATCH`})}catch{await i()}}}async function s(){if(t.value){e.value=e.value.map(e=>({...e,isRead:!0})),t.value=0;try{await z(`/notifications/read-all`,{method:`PATCH`})}catch{await i()}}}function c(){e.value=[],t.value=0}return{items:e,unreadCount:t,loading:n,hasUnread:r,hydrate:i,refreshUnreadCount:a,markRead:o,markAllRead:s,resetLocal:c}}),Lr=`ft_favorites`;function Rr(){try{let e=localStorage.getItem(Lr);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`string`):[]}catch{return[]}}function zr(e){localStorage.setItem(Lr,JSON.stringify(e))}var Br=B(`favorites`,()=>{let e=P(Rr()),t=P(!1),n=P({}),r=A(()=>new Set(e.value));function i(e){return r.value.has(e)}async function a(){try{let t=await z(`/products/favorites/ids`);e.value=t,zr(t)}catch{e.value=Rr()}finally{t.value=!0}}async function o(t){if(!t||n.value[t])return;n.value={...n.value,[t]:!0};let r=i(t);e.value=r?e.value.filter(e=>e!==t):[...e.value,t],zr(e.value);try{let n=await z(`/products/${t}/favorite`,{method:`POST`});e.value=n.favorited?[...new Set([...e.value.filter(e=>e!==t),t])]:e.value.filter(e=>e!==t),zr(e.value)}catch(n){if(!(n instanceof U&&n.status===404))throw e.value=r?[...new Set([...e.value,t])]:e.value.filter(e=>e!==t),zr(e.value),n}finally{let e={...n.value};delete e[t],n.value=e}}function s(){e.value=[],zr([]),t.value=!1}return{ids:e,loaded:t,pending:n,isFavorite:i,hydrate:a,toggle:o,resetLocal:s}}),Vr=B(`auth`,()=>{let e=P(wr()),t=P(!1),n=P(null),r=P(Pr()),i=A(()=>!!e.value),a=A(()=>e.value?`${e.value.firstName} ${e.value.lastName}`:``),o=A(()=>e.value?.appRole===`agent`),s=A(()=>!!e.value&&e.value.appRole!==`agent`);function c(){n.value=null}function l(){r.value=null,Fr(null)}async function u(e,i){t.value=!0,n.value=null;try{let t=Pr();r.value=t;let a=i.firstName?.trim()||t?.firstName,o=i.lastName?.trim()||t?.lastName;i.isRegister&&a&&o&&(r.value={firstName:a,lastName:o},Fr(r.value));let s=await Dr(e,{isRegister:i.isRegister,firstName:a,lastName:o});return s.success||(n.value=s.message),s}finally{t.value=!1}}async function d(r,i){t.value=!0,n.value=null;let a=await Or(r,i);return t.value=!1,a.success&&a.user?(e.value=a.user,l(),await Promise.all([W().loadCompanies(),Z().hydrate(),ar().hydrate(),Ir().hydrate(),Br().hydrate()])):n.value=a.message,a}function f(){kr(),e.value=null,l(),Z().resetLocal(),ar().resetLocal(),Ir().resetLocal(),Br().resetLocal()}async function p(t){if(!e.value)return null;let n=await jr(t);return n&&(e.value=n),n}async function m(){if(e.value=wr(),!e.value)return;let t=await Ar();e.value=t}return{user:e,loading:t,error:n,isAuthenticated:i,fullName:a,isAgent:o,isCustomerOnly:s,clearError:c,requestOtp:u,confirmOtp:d,logout:f,updateProfile:p,hydrate:m}}),Hr=u({__name:`IconBell`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(a(),k(F,{icon:`vuesax-linear:notification`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Ur=u({__name:`IconChevronLeft`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(a(),k(F,{icon:`vuesax-linear:arrow-left-1`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Wr=B(`theme`,()=>{let e=me(`ft_theme`,`system`),t=he(),n=A(()=>e.value===`system`?t.value?`dark`:`light`:e.value),r=A(()=>n.value===`dark`);ce(()=>{let e=document.documentElement;e.classList.toggle(`dark`,r.value),e.style.colorScheme=n.value});function i(t){e.value=t}function a(){let t=[`light`,`dark`,`system`],n=t.indexOf(e.value);e.value=t[(n+1)%t.length]}function o(){e.value=r.value?`light`:`dark`}return{preference:e,resolved:n,isDark:r,setPreference:i,cyclePreference:a,toggleLightDark:o}}),Gr=[`aria-label`,`title`],Kr=j(u({__name:`AuthThemeToggle`,props:{variant:{default:`floating`}},setup(e){let t=Wr(),{isDark:n}=H(t),r=A(()=>n.value?`vuesax-linear:sun-1`:`vuesax-linear:moon`),i=A(()=>n.value?`تغییر به تم روشن`:`تغییر به تم تاریک`);return(n,o)=>(a(),l(`button`,{type:`button`,class:d([`auth-theme-toggle`,e.variant===`inline`?`auth-theme-toggle--inline`:`auth-theme-toggle--floating`]),"aria-label":i.value,title:i.value,onClick:o[0]||=e=>R(t).toggleLightDark()},[s(F,{icon:r.value,size:18,"stroke-width":1.5},null,8,[`icon`])],10,Gr))}}),[[`__scopeId`,`data-v-3a58cb84`]]),qr=[`src`],Jr={key:1},Yr=j(u({__name:`UserAvatar`,props:{src:{},initials:{},size:{default:72}},setup(e){return(t,n)=>(a(),l(`span`,{class:`user-avatar`,style:le({width:`${e.size}px`,height:`${e.size}px`,fontSize:`${Math.round(e.size*.38)}px`})},[e.src?(a(),l(`img`,{key:0,class:`user-avatar__img`,src:e.src,alt:``},null,8,qr)):(a(),l(`span`,Jr,f(e.initials),1))],4))}}),[[`__scopeId`,`data-v-5c562bf0`]]),Xr={class:`desktop-header`},Zr={class:`desktop-header__actions`},Qr={key:0,class:`desktop-header__company`},$r=[`aria-label`],ei={class:`desktop-header__user-wrap`},ti=[`aria-expanded`],ni={class:`desktop-header__user-name`},ri={key:0,class:`desktop-header__menu`},ii=j(u({__name:`DesktopHeader`,setup(e){let n=y(),r=Vr(),i=Z(),o=Ir(),u=P(!1),d=A(()=>be(o.unreadCount>9?`9+`:String(o.unreadCount))),p=A(()=>`${r.user?.firstName?.[0]??``}${r.user?.lastName?.[0]??``}`||`؟`),m=A(()=>i.companyNamesLabel||i.activeCart?.companyName||``);function h(){u.value=!u.value}function g(){u.value=!1,n.push(`/profile`)}function _(){u.value=!1,r.logout(),n.replace(`/login`)}return(e,i)=>(a(),l(`header`,Xr,[i[1]||=t(`div`,{class:`desktop-header__spacer`,"aria-hidden":`true`},null,-1),t(`div`,Zr,[m.value?(a(),l(`span`,Qr,f(m.value),1)):c(``,!0),s(Kr,{variant:`inline`}),t(`button`,{type:`button`,class:`desktop-header__icon-btn`,"aria-label":`اعلان‌ها`,onClick:i[0]||=e=>R(n).push(`/profile/notifications`)},[s(Hr,{size:20}),R(o).hasUnread?(a(),l(`span`,{key:0,class:`desktop-header__notif-badge`,"aria-label":`${R(o).unreadCount} اعلان خوانده‌نشده`},f(d.value),9,$r)):c(``,!0)]),t(`div`,ei,[t(`button`,{type:`button`,class:`desktop-header__user`,"aria-expanded":u.value,onClick:h},[s(Yr,{class:`desktop-header__avatar`,src:R(r).user?.avatarUrl,initials:p.value,size:32},null,8,[`src`,`initials`]),t(`span`,ni,f(R(r).fullName),1),s(Ur,{size:16,class:`desktop-header__chevron`})],8,ti),u.value?(a(),l(`div`,ri,[t(`button`,{type:`button`,onClick:g},`پروفایل`),t(`button`,{type:`button`,class:`desktop-header__menu-logout`,onClick:_},`خروج`)])):c(``,!0)])])]))}}),[[`__scopeId`,`data-v-d90aac23`]]),ai={class:`app-layout`},oi={class:`app-frame`},si={class:`app-main`},ci={class:`app-main__content`},li={class:`app-content`},ui=u({__name:`DefaultLayout`,setup(e){let n=D(),r=A(()=>![`login`,`register`,`otp`,`settlement`,`check-mode`,`check-form`,`check-list`,`cash-settlement`,`order-success`].includes(n.name)&&!n.meta.hideNav),i=A(()=>[`settlement`,`check-mode`,`check-form`,`check-list`,`cash-settlement`].includes(n.name)),o=A(()=>n.name===`login`||n.name===`register`||n.name===`otp`);return(e,n)=>(a(),l(`div`,{class:d([`app-shell`,{"app-shell--no-nav":!r.value,"app-shell--wide":i.value,"app-shell--with-nav":r.value,"app-shell--immersive":o.value}])},[t(`div`,ai,[r.value?(a(),k(br,{key:0})):c(``,!0),t(`div`,oi,[r.value?(a(),k(ii,{key:0})):c(``,!0),t(`main`,si,[t(`div`,ci,[t(`div`,li,[v(e.$slots,`default`)])])]),r.value?(a(),k(tr,{key:1})):c(``,!0)])])],2))}}),di=[`type`,`disabled`],fi={key:0,class:`btn-spinner`},pi=j(u({__name:`BaseButton`,props:{variant:{},size:{},block:{type:Boolean},disabled:{type:Boolean},loading:{type:Boolean},type:{}},setup(e){return(t,n)=>(a(),l(`button`,{type:e.type??`button`,class:d([`btn`,[`btn-${e.variant??`primary`}`,`btn-${e.size??`md`}`,{"btn-block":e.block}]]),disabled:e.disabled||e.loading},[e.loading?(a(),l(`span`,fi)):c(``,!0),v(t.$slots,`default`,{},void 0,!0)],10,di))}}),[[`__scopeId`,`data-v-3628a8bb`]]),mi=w({open:!1,title:``,message:``,confirmLabel:`حذف`,cancelLabel:`انصراف`,tone:`danger`,resolve:null});function hi(){return mi}function gi(e){return new Promise(t=>{Object.assign(mi,{open:!0,title:e.title,message:e.message,confirmLabel:e.confirmLabel??`حذف`,cancelLabel:e.cancelLabel??`انصراف`,tone:e.tone??`danger`,resolve:t})})}function _i(e){mi.resolve?.(e),mi.open=!1,mi.resolve=null}var vi={class:`dialog card confirm-dialog`},yi={id:`confirm-dialog-title`,class:`confirm-dialog__title`},bi={class:`confirm-dialog__message`},xi={class:`dialog-actions confirm-dialog__actions`},Si=j(u({__name:`ConfirmDialog`,setup(e){let n=hi();function o(){_i(!1)}function u(){_i(!0)}return(e,d)=>R(n).open?(a(),l(`div`,{key:0,class:`dialog-overlay confirm-dialog-overlay`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`confirm-dialog-title`,onClick:r(o,[`self`])},[t(`div`,vi,[t(`h3`,yi,f(R(n).title),1),t(`p`,bi,f(R(n).message),1),t(`div`,xi,[s(pi,{variant:`outline`,onClick:o},{default:M(()=>[i(f(R(n).cancelLabel),1)]),_:1}),s(pi,{variant:R(n).tone===`danger`?`danger`:`primary`,onClick:u},{default:M(()=>[i(f(R(n).confirmLabel),1)]),_:1},8,[`variant`])])])])):c(``,!0)}}),[[`__scopeId`,`data-v-2e50e2a7`]]),Ci=u({__name:`App`,setup(t){let r=Vr(),i=Z(),c=ar(),u=W(),d=Ir(),f=y(),p=P(`page-fade`);function m(e){return e.split(`/`).filter(Boolean).length}return f.beforeEach((e,t)=>{if(!t.name){p.value=`page-fade`;return}let n=jn(m(e.path)-m(t.path),-1,1);n>0?p.value=`page-forward`:n<0?p.value=`page-back`:p.value=`page-fade`}),o(async()=>{await r.hydrate(),r.isAuthenticated&&await Promise.all([u.loadCompanies(),i.hydrate(),c.hydrate(),d.hydrate()])}),pe(()=>{r.isAuthenticated&&d.refreshUnreadCount()},6e4,{immediate:!1}),(t,r)=>(a(),l(n,null,[s(ui,null,{default:M(()=>[s(R($t),null,{default:M(({Component:t,route:n})=>[s(ue,{name:p.value,mode:`out-in`},{default:M(()=>[(a(),l(`div`,{key:n.path,class:`page-transition page-shell`},[(a(),k(e(t)))]))]),_:2},1032,[`name`])]),_:1})]),_:1}),s(Si)],64))}}),wi=`modulepreload`,Ti=function(e){return`/`+e},Ei={},$=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=Ti(t,n),t=s(t),t in Ei)return;Ei[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`:wi,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)})},Di=en({history:St(`/`),routes:[{path:`/login`,name:`login`,component:()=>$(()=>import(`./LoginView-44E3ZvjQ.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11])),meta:{guest:!0,hideNav:!0}},{path:`/register`,name:`register`,component:()=>$(()=>import(`./RegisterView-CulIOliw.js`),__vite__mapDeps([12,1,2,13,14,4,5,6,7,8,9,15,16,17,18])),meta:{guest:!0,hideNav:!0}},{path:`/otp`,name:`otp`,component:()=>$(()=>import(`./OtpView-Y5vnVmmF.js`),__vite__mapDeps([19,1,2,14,4,20,6,7,9,10,21,22])),meta:{guest:!0,hideNav:!0}},{path:`/`,name:`home`,component:()=>$(()=>import(`./HomeView-iAjpb4v3.js`),__vite__mapDeps([23,1,2,4,20,16,24,25,26,27,3,28,29,30])),meta:{requiresAuth:!0}},{path:`/companies`,name:`companies`,component:()=>$(()=>import(`./CompanySelectView-BRg_id5_.js`),__vite__mapDeps([31,1,2,32,3,20,33,34,15,24,25,26,28,35,36])),meta:{requiresAuth:!0}},{path:`/categories`,name:`categories`,component:()=>$(()=>import(`./CategoriesView--p4O0fTk.js`),__vite__mapDeps([37,1,2,20,16,24,25,26,27,3,28,38,35,39,40])),meta:{requiresAuth:!0}},{path:`/products`,name:`products`,component:()=>$(()=>import(`./ProductsView-Bhg6vW1x.js`),__vite__mapDeps([41,1,2,42,25,26,27,3,43,20,44,45,46,29,47])),meta:{requiresAuth:!0}},{path:`/product`,name:`product`,component:()=>$(()=>import(`./ProductDetailView-DEtSQj9H.js`),__vite__mapDeps([48,1,2,4,32,3,20,25,26,49,27,28,35,29,50])),meta:{requiresAuth:!0}},{path:`/catalogs`,name:`catalogs`,component:()=>$(()=>import(`./CatalogsHubView-D3TLRBtW.js`),__vite__mapDeps([51,1,2,4,32,3,20,25,26,27,28,52,45,46,38,53])),meta:{requiresAuth:!0}},{path:`/catalogs/:catalogId`,name:`catalog-detail`,component:()=>$(()=>import(`./CatalogDetailView-BsQdhdj4.js`),__vite__mapDeps([54,1,2,4,32,3,20,25,26,49,27,28,52,55])),meta:{requiresAuth:!0}},{path:`/catalog-request`,name:`catalog-request`,component:()=>$(()=>import(`./CatalogRequestView-Dr2wszxQ.js`),__vite__mapDeps([56,1,2,4,25,26,27,3,43,20,44,57,58])),meta:{requiresAuth:!0}},{path:`/catalog-requests`,name:`catalog-requests`,component:()=>$(()=>import(`./CatalogRequestsView-C9QfBfux.js`),__vite__mapDeps([59,1,2,4,43,20,44,57,3,60])),meta:{requiresAuth:!0}},{path:`/favorites`,name:`favorites`,component:()=>$(()=>import(`./FavoritesView-BvUsLU1-.js`),__vite__mapDeps([61,1,2,25,26,27,3,43,20,44,29,62])),meta:{requiresAuth:!0}},{path:`/customers`,name:`customers`,component:()=>$(()=>import(`./CustomersView-C7eKz3Vr.js`),__vite__mapDeps([63,1,2,4,42,25,26,27,3,43,20,44,45,46,64])),meta:{requiresAuth:!0}},{path:`/customers/new`,name:`customer-new`,component:()=>$(()=>import(`./CustomerCreateView-DOTA7TnM.js`),__vite__mapDeps([65,1,2,3,4,5,6,7,9,27,28,43,20,44,66,67,68])),meta:{requiresAuth:!0,hideNav:!0}},{path:`/customer`,name:`customer`,component:()=>$(()=>import(`./CustomerDetailView-sNaMFtpo.js`),__vite__mapDeps([69,1,2,4,70,8,21,71,25,26,27,3,43,20,44,72,73])),meta:{requiresAuth:!0}},{path:`/meeting-report`,name:`meeting-report`,component:()=>$(()=>import(`./MeetingReportView-CB4EvIFN.js`),__vite__mapDeps([74,1,2,75,8,21,71,25,26,27,3,43,20,44,72,76])),meta:{requiresAuth:!0,hideNav:!0}},{path:`/reminders`,name:`reminders`,component:()=>$(()=>import(`./RemindersView-LWMx3AKM.js`),__vite__mapDeps([77,1,2,4,20,78,25,26,27,3,28,79])),meta:{requiresAuth:!0}},{path:`/reminder`,name:`reminder`,component:()=>$(()=>import(`./ReminderDetailView-BojbBV28.js`),__vite__mapDeps([80,1,2,25,26,27,3,43,20,44,81])),meta:{requiresAuth:!0,hideNav:!0}},{path:`/companies/:companyId/catalogs`,name:`company-catalogs`,component:()=>$(()=>import(`./CatalogListView-BehaKwNn.js`),__vite__mapDeps([82,1,2,32,3,83,84,25,26,43,20,44,45,46,85])),meta:{requiresAuth:!0}},{path:`/companies/:companyId/catalogs/:catalogId/products`,name:`company-products`,redirect:e=>({path:`/products`,query:{catalogId:String(e.params.catalogId??``),companyId:String(e.params.companyId??``)}})},{path:`/cart`,name:`cart`,component:()=>$(()=>import(`./CartView-D6MGjlh-.js`),__vite__mapDeps([86,1,2,4,83,84,20,6,7,15,16,87,88,71,24,89])),meta:{requiresAuth:!0}},{path:`/orders`,name:`orders`,component:()=>$(()=>import(`./OrdersView-4v6PJIaR.js`),__vite__mapDeps([90,1,2,4,32,3,83,84,70,20,33,34,75,42,78,91])),meta:{requiresAuth:!0}},{path:`/order`,name:`order-query`,redirect:e=>{let t=String(e.query.id??``);return t?{path:`/orders/${t}`}:{name:`orders`}}},{path:`/orders/:id`,name:`order-detail`,component:()=>$(()=>import(`./OrderDetailView-Biz1tIg3.js`),__vite__mapDeps([92,1,2,13,14,4,5,70,20,6,7,9,93,66,67,94,95,96])),meta:{requiresAuth:!0}},{path:`/orders/:id/success`,name:`order-success`,component:()=>$(()=>import(`./OrderSuccessView-DZmKa7Fs.js`),__vite__mapDeps([97,1,2,4,28,43,20,44,98])),meta:{requiresAuth:!0,hideNav:!0}},{path:`/orders/:id/settlement`,name:`settlement`,component:()=>$(()=>import(`./SettlementTypeView-BZNT3wEX.js`),__vite__mapDeps([99,1,2,4,6,7,87,88,43,20,44,93,100,101,102])),meta:{requiresAuth:!0,hideNav:!0}},{path:`/orders/:id/cash`,name:`cash-settlement`,component:()=>$(()=>import(`./CashSettlementView-Cm8c4hlY.js`),__vite__mapDeps([103,1,2,4,32,3,43,20,44,100,93,104])),meta:{requiresAuth:!0,hideNav:!0}},{path:`/orders/:id/check-mode`,name:`check-mode`,component:()=>$(()=>import(`./CheckModeSelectView-CWf_i8Wn.js`),__vite__mapDeps([105,1,2,4,21,43,20,44,100,93,106])),meta:{requiresAuth:!0,hideNav:!0}},{path:`/orders/:id/check-form`,name:`check-form`,component:()=>$(()=>import(`./CheckFormView-Z1QNCYYP.js`),__vite__mapDeps([107,1,2,4,5,6,7,9,43,20,44,100,93,66,67,94,95,108,109])),meta:{requiresAuth:!0,hideNav:!0}},{path:`/orders/:id/check-list`,name:`check-list`,component:()=>$(()=>import(`./CheckListView-DptVxtEw.js`).then(e=>e.n),__vite__mapDeps([110,1,2,4,83,84,20,6,7,100,93,111])),meta:{requiresAuth:!0,hideNav:!0}},{path:`/profile`,name:`profile`,component:()=>$(()=>import(`./ProfileView-Di4Kh-Np.js`),__vite__mapDeps([112,1,2,4,70,8,21,15,17,24,25,26,27,3,39,108,101,72,113])),meta:{requiresAuth:!0}},{path:`/profile/edit`,name:`profile-edit`,component:()=>$(()=>import(`./ProfileEditView-Dd3mpICc.js`),__vite__mapDeps([114,1,2,6,7,9,66,67,115,20,116,117])),meta:{requiresAuth:!0}},{path:`/profile/security`,name:`profile-security`,component:()=>$(()=>import(`./ProfileSecurityView-BpjUW10K.js`),__vite__mapDeps([118,1,2,6,7,9,66,67,115,20,116,119])),meta:{requiresAuth:!0}},{path:`/profile/notifications`,name:`profile-notifications`,component:()=>$(()=>import(`./ProfileNotificationsView-B9v-KIPx.js`),__vite__mapDeps([120,1,2,4,83,84,115,20,116,121])),meta:{requiresAuth:!0}},{path:`/profile/display`,name:`profile-display`,component:()=>$(()=>import(`./ProfileDisplayView-B9CY6es-.js`),__vite__mapDeps([122,1,2,14,115,20,116,123])),meta:{requiresAuth:!0}},{path:`/profile/checks`,name:`profile-checks`,component:()=>$(()=>import(`./ProfileChecksView-V76Am-w0.js`),__vite__mapDeps([124,110,1,2,4,83,84,20,6,7,100,93,111])),meta:{requiresAuth:!0}}],scrollBehavior(){return{top:0}}});Di.beforeEach(e=>{let t=Tr();return e.meta.requiresAuth&&!t?{name:`login`,query:{redirect:e.fullPath}}:e.meta.guest&&t||e.meta.agentOnly&&Cr()?.appRole!==`agent`?{name:`home`}:!0});var Oi=x(Ci),ki=de();Oi.use(ki),Oi.use(Di),Wr(ki),Oi.mount(`#app`);export{Rn as C,Z as E,zn as S,In as T,rr as _,Wr as a,Vn as b,Vr as c,Nr as d,Pr as f,ar as g,or as h,Kr as i,Br as l,lr as m,pi as n,Ur as o,Fr as p,Yr as r,Hr as s,gi as t,Ir as u,ir as v,Ln as w,Bn as x,Hn as y}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/WelcomeView-Dm_Gj4-t.js","assets/BasicIcon-B6lR-mG3.js","assets/BasicIcon-QF_b9Svq.css","assets/login-fabric-CzrIXTnD.js","assets/WelcomeView-Bue6hk9x.css","assets/LoginView-BQ3xuGSX.js","assets/http-CHgEV7QF.js","assets/format-BHJptHdF.js","assets/validation-BD7oi-2I.js","assets/FormErrorBanner-8PcsTbdO.js","assets/FormErrorBanner-Hje8L-00.css","assets/IconPhone-Glpo76KE.js","assets/formErrors-DglFjYkZ.js","assets/LoginView-a5WOmvO4.css","assets/RegisterView-CylManm7.js","assets/dist-DwqEDRqq.js","assets/dist-BcgVHqJQ.js","assets/IconDiamond-7-J5Q2Ma.js","assets/IconVerified-BSlZDcZt.js","assets/RegisterView-CTzyNknX.css","assets/OtpView-CqTNOZUE.js","assets/IconChevronBack-BXRfc2bX.js","assets/IconEditPen-CppsBLM9.js","assets/OtpView-D50bP3mT.css","assets/HomeView-DUEE32an.js","assets/IconLayoutGrid-DgOvzvMf.js","assets/PageSkeleton-BImjuI6S.js","assets/PageSkeleton-BAjL8n2H.css","assets/crm-DbcoqKAF.js","assets/useGoBack-yePcdjuj.js","assets/IconHeart-DjMqqdO0.js","assets/HomeView-B1qHsdTP.css","assets/CompanySelectView-2uDtaz53.js","assets/catalog-DNpqlweh.js","assets/IconFamBaftLogo-CHx7e3Le.js","assets/IconFamBaftLogo-BaDEschB.css","assets/IconBuilding-oclvcvlP.js","assets/IconShoppingBag-DW_Of8if.js","assets/CompanySelectView-D61_rpsC.css","assets/CategoriesView-Dxbr04Tk.js","assets/IconSearch-CQT-DmXF.js","assets/IconBolt-BuLG6uFR.js","assets/CategoriesView-BPyEMB_L.css","assets/ProductsView-BPje9bIW.js","assets/IconFilter-DJjJ9EAy.js","assets/PageHeader-DXkA75qK.js","assets/PageHeader-CDhs0XKF.css","assets/SearchField-txVsGGXT.js","assets/SearchField-BGmIHecn.css","assets/ProductsView-CHENfFEp.css","assets/ProductDetailView-VjRdY1Zl.js","assets/IconShare-CoOzZmBa.js","assets/ProductDetailView-CtgUNpy9.css","assets/CatalogsHubView-Du4_08O7.js","assets/catalogGallery-sguYVy7M.js","assets/CatalogsHubView-Cnl22g6I.css","assets/CatalogDetailView-BlAXKBtt.js","assets/CatalogDetailView-DewbVSm4.css","assets/CatalogRequestView-C5BboW9x.js","assets/catalogRequests-4v_wDAbs.js","assets/CatalogRequestView-BZ3G_4yn.css","assets/CatalogRequestsView-BTSUD4xT.js","assets/CatalogRequestsView-DUzaL-Pf.css","assets/FavoritesView-C9nplFH5.js","assets/FavoritesView-C_rd5Wxy.css","assets/CustomersView-f-iLJhx1.js","assets/CustomersView--6m_fbKL.css","assets/CustomerCreateView-CSSpyhNm.js","assets/BaseInput-9HB-GJGt.js","assets/BaseInput-Dxl7Obd8.css","assets/CustomerCreateView-xAy0nFXT.css","assets/CustomerDetailView-G9m9g3PH.js","assets/constants-DXXK14Zz.js","assets/IconClipboardEmpty-D2QGqogo.js","assets/IconMail-BWRmFd4j.js","assets/CustomerDetailView-Baj8nbYX.css","assets/MeetingReportView-DQIFxjMR.js","assets/IconCheckCircleOutline-t6E4YUKp.js","assets/MeetingReportView-clcxg22r.css","assets/RemindersView-IMJcGYf7.js","assets/IconMoreVertical-Dw3RBXp5.js","assets/RemindersView-DX3323vn.css","assets/ReminderDetailView-5GG_ljLb.js","assets/ReminderDetailView-CRDCge09.css","assets/CatalogListView-B7h2JJn8.js","assets/EmptyState-C6UAJ5_3.js","assets/EmptyState-D6A5GmrP.css","assets/CatalogListView-B_2l4Z3B.css","assets/CartView-BCTihttt.js","assets/CheckoutStepper-DCcu9ZNK.js","assets/CheckoutStepper-hqk-kVCz.css","assets/CartView-CiGb3xZt.css","assets/OrdersView-CThJEk8R.js","assets/OrdersView-CDVkfDcz.css","assets/OrderDetailView-Cak53OtA.js","assets/orderInvoice-B0L1Aeuk.js","assets/PersianDateInput-BkC8ZzrV.js","assets/PersianDateInput-MG7uK7zm.css","assets/OrderDetailView-DfQWMJF8.css","assets/OrderSuccessView-BknP059e.js","assets/OrderSuccessView-D_odiYNR.css","assets/SettlementTypeView-CFV1ZfaS.js","assets/useRequirePricedOrder-BVRY4vCB.js","assets/IconCashSettlement-DizzShjh.js","assets/SettlementTypeView-C3wqclvS.css","assets/CashSettlementView-vG0R5VWI.js","assets/CashSettlementView-C8IRazOR.css","assets/CheckModeSelectView-CganQy3H.js","assets/CheckModeSelectView-BZlKzxFL.css","assets/CheckFormView-DjRrTrgm.js","assets/IconCash-Bxyfv_aw.js","assets/CheckFormView-Cgp6kUZ2.css","assets/CheckListView-D8SjoAtS.js","assets/CheckListView-B_ogsKeK.css","assets/ProfileView-zsVIG08O.js","assets/ProfileView-CGJWbbk9.css","assets/ProfileEditView-BXfhdkP1.js","assets/ProfileSubpageLayout-CHfCB62H.js","assets/ProfileSubpageLayout-W3vfIprY.css","assets/ProfileEditView-Cqvr3yiG.css","assets/ProfileSecurityView-BtqgdXRj.js","assets/ProfileSecurityView-BjbybMSz.css","assets/ProfileNotificationsView-BkDZ6lIH.js","assets/ProfileNotificationsView-CTp2kqLW.css","assets/ProfileDisplayView-Co6ARz_e.js","assets/ProfileDisplayView-BRRdMHnK.css","assets/ProfileChecksView-Cx3LI6JZ.js"])))=>i.map(i=>d[i]); +import{$ as e,A as t,D as n,E as r,I as i,J as a,K as o,L as s,M as c,N as l,R as u,St as d,Tt as f,U as p,V as m,W as h,X as g,Y as _,Z as v,_ as y,a as b,b as x,c as S,d as C,dt as w,et as T,f as E,g as D,gt as ee,h as te,i as O,j as k,k as A,l as ne,m as re,mt as ie,n as j,nt as M,o as N,p as ae,pt as P,r as oe,s as se,t as F,tt as ce,u as I,v as L,wt as le,xt as R,y as ue}from"./BasicIcon-B6lR-mG3.js";import{a as de,i as fe,n as z,o as B,r as V,s as H,t as U}from"./http-CHgEV7QF.js";import{l as pe}from"./dist-BcgVHqJQ.js";import{i as me,r as he}from"./dist-DwqEDRqq.js";import{_ as ge,c as _e,s as ve,t as ye,u as be,v as xe}from"./format-BHJptHdF.js";import{r as Se}from"./validation-BD7oi-2I.js";import{t as W}from"./catalog-DNpqlweh.js";(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)}})();var G=typeof document<`u`,Ce=/#/g,we=/&/g,Te=/\//g,Ee=/=/g,De=/\?/g,Oe=/\+/g,ke=/%5B/g,Ae=/%5D/g,je=/%5E/g,Me=/%60/g,Ne=/%7B/g,Pe=/%7C/g,Fe=/%7D/g,Ie=/%20/g;function Le(e){return e==null?``:encodeURI(``+e).replace(Pe,`|`).replace(ke,`[`).replace(Ae,`]`)}function Re(e){return Le(e).replace(Ne,`{`).replace(Fe,`}`).replace(je,`^`)}function ze(e){return Le(e).replace(Oe,`%2B`).replace(Ie,`+`).replace(Ce,`%23`).replace(we,`%26`).replace(Me,"`").replace(Ne,`{`).replace(Fe,`}`).replace(je,`^`)}function Be(e){return ze(e).replace(Ee,`%3D`)}function Ve(e){return Le(e).replace(Ce,`%23`).replace(De,`%3F`)}function He(e){return Ve(e).replace(Te,`%2F`)}function Ue(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var We=/\/$/,Ge=e=>e.replace(We,``);function Ke(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=$e(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:Ue(o)}}function qe(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function Je(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function Ye(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&K(t.matched[r],n.matched[i])&&Xe(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function K(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Xe(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!Ze(e[n],t[n]))return!1;return!0}function Ze(e,t){return N(e)?Qe(e,t):N(t)?Qe(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function Qe(e,t){return N(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function $e(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 q={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0};function et(e){if(!e)if(G){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^/]+/,``)}else e=`/`;return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),Ge(e)}var tt=/^[^#]+#/;function nt(e,t){return e.replace(tt,`#`)+t}function rt(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 it=()=>({left:window.scrollX,top:window.scrollY});function at(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=rt(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 ot(e,t){return(history.state?history.state.position-t:-1)+e}var st=new Map;function ct(e,t){st.set(e,t)}function lt(e){let t=st.get(e);return st.delete(e),t}function ut(e){return typeof e==`string`||e&&typeof e==`object`}function dt(e){return typeof e==`string`||typeof e==`symbol`}function ft(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;ee&&ze(e)):[r&&ze(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function mt(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=N(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}function J(){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 Y(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(b(4,{from:n,to:t})):e instanceof Error?c(e):ut(e)?c(b(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 ht(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(ne(s)){let c=(s.__vccOpts||s)[t];c&&a.push(Y(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=se(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&Y(c,n,r,o,e,i)()}))}}return a}function gt(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;oK(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>K(e,s))||i.push(s))}return[n,r,i]}var _t=()=>location.protocol+`//`+location.host;function vt(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),Je(n,``)}return Je(n,e)+r+i}function yt(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=vt(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(O({},e.state,{scroll:it()}),``)}}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 bt(e,t,n,r=!1,i=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:i?it():null}}function xt(e){let{history:t,location:n}=window,r={value:vt(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:_t()+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,O({},t.state,bt(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function s(e,n){let o=O({},i.value,t.state,{forward:e,scroll:it()});a(o.current,o,!0),a(e,O({},bt(r.value,e,null),{position:o.position+1},n),!1),r.value=e}return{location:r,state:i,push:s,replace:o}}function St(e){e=et(e);let t=xt(e),n=yt(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=O({location:``,base:e,go:r,createHref:nt.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 Ct={type:0,value:``},wt=/[a-zA-Z0-9_]/;function Tt(e){if(!e)return[[]];if(e===`/`)return[[Ct]];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 jt(e,t){let n=0,r=e.score,i=t.score;for(;n0&&t[t.length-1]<0}var Nt={strict:!1,end:!0,sensitive:!1};function Pt(e,t,n){let r=kt(Tt(e.path),n),i=O(r,{record:e,parent:t,children:[],alias:[]});return t&&!i.record.aliasOf==!t.record.aliasOf&&t.children.push(i),i}function Ft(e,t){let n=[],r=new Map;t=C(Nt,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=Lt(e);s.aliasOf=r&&r.record;let l=C(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(Lt(O({},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=Pt(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!zt(d)&&o(e.name)),Ut(d)&&c(d),s.children){let e=s.children;for(let t=0;t{o(f)}:E}function o(e){if(dt(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=Vt(e,n);n.splice(t,0,e),e.record.name&&!zt(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 b(1,{location:e});s=i.record.name,a=O(It(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&It(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 b(1,{location:e,currentLocation:t});s=i.record.name,a=O({},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:Bt(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 It(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function Lt(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Rt(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 Rt(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 zt(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Bt(e){return e.reduce((e,t)=>O(e,t.meta),{})}function Vt(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;jt(e,t[i])<0?r=i:n=i+1}let i=Ht(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function Ht(e){let t=e;for(;t=t.parent;)if(Ut(t)&&jt(e,t)===0)return t}function Ut({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Wt(e){let t=p(re),n=p(ae),r=A(()=>{let n=R(e.to);return t.resolve(n)}),i=A(()=>{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(K.bind(null,i));if(o>-1)return o;let s=Yt(e[t-2]);return t>1&&Yt(i)===s&&a[a.length-1].path!==s?a.findIndex(K.bind(null,e[t-2])):o}),a=A(()=>i.value>-1&&Jt(n.params,r.value.params)),o=A(()=>i.value>-1&&i.value===n.matched.length-1&&Xe(n.params,r.value.params));function s(n={}){if(qt(n)){let n=t[R(e.replace)?`replace`:`push`](R(e.to)).catch(E);return e.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>n),n}return Promise.resolve()}return{route:r,href:A(()=>r.value.href),isActive:a,isExactActive:o,navigate:s}}function Gt(e){return e.length===1?e[0]:e}var Kt=u({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:Wt,setup(e,{slots:t}){let n=w(Wt(e)),{options:r}=p(re),i=A(()=>({[Xt(e.activeClass,r.linkActiveClass,`router-link-active`)]:n.isActive,[Xt(e.exactActiveClass,r.linkExactActiveClass,`router-link-exact-active`)]:n.isExactActive}));return()=>{let r=t.default&&Gt(t.default(n));return e.custom?r:m(`a`,{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},r)}}});function qt(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 Jt(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(!N(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}return!0}function Yt(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var Xt=(e,t,n)=>e??t??n,Zt=u({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){let r=p(te),i=A(()=>e.route||r.value),a=p(L,0),o=A(()=>{let e=R(a),{matched:t}=i.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),s=A(()=>i.value.matched[o.value]);_(L,A(()=>o.value+1)),_(I,s),_(te,i);let c=P();return T(()=>[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||!K(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 Qt(n.default,{Component:l,route:r});let u=o.props[a],d=u?u===!0?r.params:typeof u==`function`?u(r):u:null,f=m(l,O({},d,t,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(o.instances[a]=null)},ref:c}));return Qt(n.default,{Component:f,route:r})||f}}});function Qt(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var $t=Zt;function en(e){let t=Ft(e.routes,e),n=e.parseQuery||ft,r=e.stringifyQuery||pt,i=e.history,a=J(),o=J(),s=J(),c=ee(q),l=q;G&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let u=oe.bind(null,e=>``+e),d=oe.bind(null,He),f=oe.bind(null,Ue);function p(e,n){let r,i;return dt(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 g(){return t.getRoutes().map(e=>e.record)}function _(e){return!!t.getRecordMatcher(e)}function v(e,a){if(a=O({},a||c.value),typeof e==`string`){let r=Ke(n,e,a.path),o=t.resolve({path:r.path},a),s=i.createHref(r.fullPath);return O(r,o,{params:f(o.params),redirectedFrom:void 0,href:s})}let o;if(e.path!=null)o=O({},e,{path:Ke(n,e.path,a.path).path});else{let t=O({},e.params);for(let e in t)t[e]??delete t[e];o=O({},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=qe(r,O({},e,{hash:Re(l),path:s.path})),m=i.createHref(p);return O({fullPath:p,hash:l,query:r===pt?mt(e.query):e.query||{}},s,{redirectedFrom:void 0,href:m})}function y(e){return typeof e==`string`?Ke(n,e,c.value.path):O({},e)}function x(e,t){if(l!==e)return b(8,{from:t,to:e})}function C(e){return D(e)}function w(e){return C(O(y(e),{replace:!0}))}function T(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=y(i):{path:i},i.params={}),O({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function D(e,t){let n=l=v(e),i=c.value,a=e.state,o=e.force,s=e.replace===!0,u=T(n,i);if(u)return D(O(y(u),{state:typeof u==`object`?O({},a,u.state):a,force:o,replace:s}),t||n);let d=n;d.redirectedFrom=t;let f;return!o&&Ye(r,i,n)&&(f=b(16,{to:d,from:i}),de(i,i,!0,!1)),(f?Promise.resolve(f):ne(d,i)).catch(e=>S(e)?S(e,2)?e:ue(e):L(e,d,i)).then(e=>{if(e){if(S(e,2))return D(O({replace:s},y(e.to),{state:typeof e.to==`object`?O({},a,e.to.state):a,force:o}),t||d)}else e=M(d,i,!0,s,a);return j(d,i,e),e})}function k(e,t){let n=x(e,t);return n?Promise.reject(n):Promise.resolve()}function A(e){let t=B.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function ne(e,t){let n,[r,i,s]=gt(e,t);n=ht(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push(Y(r,e,t))});let c=k.bind(null,e,t);return n.push(c),H(n).then(()=>{n=[];for(let r of a.list())n.push(Y(r,e,t));return n.push(c),H(n)}).then(()=>{n=ht(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push(Y(r,e,t))});return n.push(c),H(n)}).then(()=>{n=[];for(let r of s)if(r.beforeEnter)if(N(r.beforeEnter))for(let i of r.beforeEnter)n.push(Y(i,e,t));else n.push(Y(r.beforeEnter,e,t));return n.push(c),H(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=ht(s,`beforeRouteEnter`,e,t,A),n.push(c),H(n))).then(()=>{n=[];for(let r of o.list())n.push(Y(r,e,t));return n.push(c),H(n)}).catch(e=>S(e,8)?e:Promise.reject(e))}function j(e,t,n){s.list().forEach(r=>A(()=>r(e,t,n)))}function M(e,t,n,r,a){let o=x(e,t);if(o)return o;let s=t===q,l=G?history.state:{};n&&(r||s?i.replace(e.fullPath,O({scroll:s&&l&&l.scroll},a)):i.push(e.fullPath,a)),c.value=e,de(e,t,n,s),ue()}let P;function se(){P||=i.listen((e,t,n)=>{if(!V.listening)return;let r=v(e),a=T(r,V.currentRoute.value);if(a){D(O(a,{replace:!0,force:!0}),r).catch(E);return}l=r;let o=c.value;G&&ct(ot(o.fullPath,n.delta),it()),ne(r,o).catch(e=>S(e,12)?e:S(e,2)?(D(O(y(e.to),{force:!0}),r).then(e=>{S(e,20)&&!n.delta&&n.type===`pop`&&i.go(-1,!1)}).catch(E),Promise.reject()):(n.delta&&i.go(-n.delta,!1),L(e,r,o))).then(e=>{e||=M(r,o,!1),e&&(n.delta&&!S(e,8)?i.go(-n.delta,!1):n.type===`pop`&&S(e,20)&&i.go(-1,!1)),j(r,o,e)}).catch(E)})}let F=J(),ce=J(),I;function L(e,t,n){ue(e);let r=ce.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function le(){return I&&c.value!==q?Promise.resolve():new Promise((e,t)=>{F.add([e,t])})}function ue(e){return I||(I=!e,se(),F.list().forEach(([t,n])=>e?n(e):t()),F.reset()),e}function de(t,n,r,i){let{scrollBehavior:a}=e;if(!G||!a)return Promise.resolve();let o=!r&<(ot(t.fullPath,0))||(i||!r)&&history.state&&history.state.scroll||null;return h().then(()=>a(t,n,o)).then(e=>t===c.value&&e&&at(e)).catch(e=>t===c.value&&L(e,t,n))}let fe=e=>i.go(e),z,B=new Set,V={currentRoute:c,listening:!0,addRoute:p,removeRoute:m,clearRoutes:t.clearRoutes,hasRoute:_,getRoutes:g,resolve:v,options:e,push:C,replace:w,go:fe,back:()=>fe(-1),forward:()=>fe(1),beforeEach:a.add,beforeResolve:o.add,afterEach:s.add,onError:ce.add,isReady:le,install(e){e.component(`RouterLink`,Kt),e.component(`RouterView`,$t),e.config.globalProperties.$router=V,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>R(c)}),G&&!z&&c.value===q&&(z=!0,C(i.location).catch(e=>{}));let t={};for(let e in q)Object.defineProperty(t,e,{get:()=>c.value[e],enumerable:!0});e.provide(re,V),e.provide(ae,ie(t)),e.provide(te,c);let n=e.unmount;B.add(e),e.unmount=function(){B.delete(e),B.size<1&&(l=q,P&&P(),P=null,c.value=q,z=!1,I=!1),n()}}};function H(e){return e.reduce((e,t)=>e.then(()=>A(t)),Promise.resolve())}return V}var tn=typeof global==`object`&&global&&global.Object===Object&&global,nn=typeof self==`object`&&self&&self.Object===Object&&self,rn=(tn||nn||Function(`return this`)()).Symbol,an=Object.prototype,on=an.hasOwnProperty,sn=an.toString,cn=rn?rn.toStringTag:void 0;function ln(e){var t=on.call(e,cn),n=e[cn];try{e[cn]=void 0;var r=!0}catch{}var i=sn.call(e);return r&&(t?e[cn]=n:delete e[cn]),i}var un=Object.prototype.toString;function dn(e){return un.call(e)}var fn=`[object Null]`,pn=`[object Undefined]`,mn=rn?rn.toStringTag:void 0;function hn(e){return e==null?e===void 0?pn:fn:mn&&mn in Object(e)?ln(e):dn(e)}function gn(e){return typeof e==`object`&&!!e}var _n=`[object Symbol]`;function vn(e){return typeof e==`symbol`||gn(e)&&hn(e)==_n}var yn=/\s/;function bn(e){for(var t=e.length;t--&&yn.test(e.charAt(t)););return t}var xn=/^\s+/;function Sn(e){return e&&e.slice(0,bn(e)+1).replace(xn,``)}function Cn(e){var t=typeof e;return e!=null&&(t==`object`||t==`function`)}var wn=NaN,Tn=/^[-+]0x[0-9a-f]+$/i,En=/^0b[01]+$/i,Dn=/^0o[0-7]+$/i,On=parseInt;function kn(e){if(typeof e==`number`)return e;if(vn(e))return wn;if(Cn(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=Cn(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=Sn(e);var n=En.test(e);return n||Dn.test(e)?On(e.slice(2),n?2:8):Tn.test(e)?wn:+e}function An(e,t,n){return e===e&&(n!==void 0&&(e=e<=n?e:n),t!==void 0&&(e=e>=t?e:t)),e}function jn(e,t,n){return n===void 0&&(n=t,t=void 0),n!==void 0&&(n=kn(n),n=n===n?n:0),t!==void 0&&(t=kn(t),t=t===t?t:0),An(kn(e),t,n)}var Mn=5e3;function Nn(){return{id:`local`,companyId:``,companyName:``,items:[]}}function X(){return!1}function Pn(e){return[...new Set(e.map(e=>e.companyName).filter(Boolean))].join(`، `)}function Fn(e,t){return e.items.filter(e=>e.companyId===t).reduce((e,t)=>e+t.meterage,0)}var Z=B(`cart`,()=>{let e=P([Nn()]),t=P(`local`),n=P(null),r=P(!1),i=A(()=>e.value.find(e=>e.id===t.value)??e.value[0]??null),a=A(()=>i.value?.items.reduce((e,t)=>e+t.meterage,0)??0),o=A(()=>i.value?.items.length??0),s=W(),c=A(()=>i.value?.items.length?Pn(i.value.items):``),l=A(()=>{let e=i.value;if(!e?.items.length)return[];let t=new Map;for(let n of e.items){let e=t.get(n.companyId);e?e.meterage+=n.meterage:t.set(n.companyId,{companyName:n.companyName||`شرکت`,meterage:n.meterage})}return[...t.entries()].map(([e,t])=>{let n=s.getCompany(e)?.maxMeteragePerInvoice??Mn;return{companyId:e,companyName:t.companyName,meterage:t.meterage,maxMeterage:n,remaining:Math.max(0,n-t.meterage)}})}),u=A(()=>l.value.length?l.value.reduce((e,t)=>e+t.maxMeterage,0):(n.value?s.getCompany(n.value):null)?.maxMeteragePerInvoice??Mn),d=A(()=>l.value.length?l.value.reduce((e,t)=>e+t.remaining,0):Math.max(0,u.value-a.value)),f=A(()=>l.value.some(e=>e.meterage>=e.maxMeterage));function p(r){let i={id:r.id,companyId:r.companyId||``,companyName:r.companyName||Pn(r.items),items:r.items??[],notes:r.notes};e.value=[i],t.value=i.id,i.companyId&&(n.value=i.companyId)}function m(n){e.value=[{...n,items:n.items.map(e=>({...e}))}],t.value=e.value[0].id}async function h(){if(!V()){g();return}if(X()){r.value=!1;return}r.value=!0;try{p(await z(`/carts`))}catch{g()}finally{r.value=!1}}function g(){e.value=[Nn()],t.value=e.value[0].id,n.value=null}function _(e){n.value=e.id,i.value&&!i.value.items.length&&(i.value.companyId=e.id,i.value.companyName=e.name)}function v(e){return _(e),i.value??Nn()}function y(e){return e&&_(e),i.value??Nn()}async function b(){if(X())return g(),i.value;try{return p(await z(`/carts`,{method:`DELETE`})),i.value}catch(e){return console.error(e),null}}function x(e,t,r,i){let a=y(i),o=a.items.find(t=>t.productId===e.id),s=[...a.items];if(o){let e=s.findIndex(e=>e.id===o.id);s[e]={...o,meterage:r}}else{let n={id:`local-item-${e.id}-${Date.now()}`,productId:e.id,catalogCode:t,productName:e.name,productCode:e.code,color:e.color,meterage:r,companyId:i.id,companyName:i.name};s.push(n)}return m({id:a.id||`local`,companyId:s[0]?.companyId||i.id,companyName:Pn(s)||i.name,items:s,notes:a.notes}),n.value=i.id,{success:!0}}async function S(e,t,r){s.companies.length||await s.loadCompanies();let a=s.getCompany(e.companyId),o=i.value??Nn(),c=a?.maxMeteragePerInvoice??Mn,l=e.companyId?Fn(o,e.companyId):0,u=o.items.find(t=>t.productId===e.id),d=u?.meterage??0,f=Se(r,e,l,c,d);if(!f.valid)return{success:!1,message:f.message};if(X())return a?x(e,t,r,a):{success:!1,message:`شرکت محصول یافت نشد.`};try{let t;return t=u?await z(`/carts/items/${u.id}`,{method:`PATCH`,body:{meterage:r}}):await z(`/carts/items`,{method:`POST`,body:{productId:e.id,meterage:r}}),p(t),n.value=a?.id||e.companyId||n.value,{success:!0}}catch(e){return{success:!1,message:e instanceof U?e.message:`افزودن به سبد ناموفق بود.`}}}async function C(e,t,n){if(!i.value)return{success:!1,message:`سبد خرید یافت نشد.`};let r=i.value.items.find(t=>t.id===e);if(!r)return{success:!1,message:`آیتم یافت نشد.`};let a=s.getCompany(r.companyId||n.companyId)?.maxMeteragePerInvoice??Mn,o=Fn(i.value,r.companyId),c=Se(t,n,o,a,r.meterage);if(!c.valid)return{success:!1,message:c.message};if(X()){let n=i.value.items.map(n=>n.id===e?{...n,meterage:t}:n);return m({...i.value,items:n}),{success:!0}}try{return p(await z(`/carts/items/${e}`,{method:`PATCH`,body:{meterage:t}})),{success:!0}}catch(e){return{success:!1,message:e instanceof U?e.message:`به‌روزرسانی متراژ ناموفق بود.`}}}async function w(e){if(X()){if(!i.value)return;let t=i.value.items.filter(t=>t.id!==e);m({...i.value,items:t});return}try{p(await z(`/carts/items/${e}`,{method:`DELETE`}))}catch(e){console.error(e)}}async function T(e){if(X()){if(!i.value)return;m({...i.value,notes:e});return}try{p(await z(`/carts/notes`,{method:`PATCH`,body:{notes:e}}))}catch(e){console.error(e)}}async function E(){if(X()){g();return}try{p(await z(`/carts`,{method:`DELETE`}))}catch{g()}}function D(){}return{carts:e,activeCartId:t,selectedCompanyId:n,syncing:r,activeCart:i,totalMeterage:a,itemCount:o,companyNamesLabel:c,companySummaries:l,maxMeterage:u,remainingCapacity:d,isFull:f,initCartForCompany:v,selectCompany:_,createNewCartForSameCompany:b,addItem:S,updateItemMeterage:C,removeItem:w,setNotes:T,clearActiveCart:E,ensureActiveCartForCartPage:D,hydrate:h,resetLocal:g}}),In=u({__name:`IconHome`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(a(),k(F,{icon:`vuesax-linear:home`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Ln=u({__name:`IconCart`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(a(),k(F,{icon:`vuesax-linear:bag-2`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Rn=u({__name:`IconOrders`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(a(),k(F,{icon:`vuesax-linear:document-text`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),zn=u({__name:`IconProfile`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(a(),k(F,{icon:`vuesax-linear:profile-circle`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Bn=u({__name:`IconCatalog`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(a(),k(F,{icon:`vuesax-linear:category`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Vn=u({__name:`IconCheckBook`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(a(),k(F,{icon:`vuesax-linear:card-receive`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Hn=u({__name:`IconPlus`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(a(),k(F,{icon:`vuesax-linear:add`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Un=[{name:`home`,path:`/`,label:`خانه`,icon:In},{name:`catalogs`,path:`/catalogs`,label:`کالیته‌ها`,icon:Bn},{name:`order-fab`,path:`/cart`,label:`ثبت سفارش`,icon:Hn},{name:`orders`,path:`/orders`,label:`سفارش‌ها`,icon:Rn},{name:`profile`,path:`/profile`,label:`پروفایل`,icon:zn}],Wn=[{name:`home`,path:`/`,label:`خانه`,icon:In},{name:`ordering`,path:`/`,label:`سفارش‌گذاری`,icon:Bn,dynamicPath:!0},{name:`cart`,path:`/cart`,label:`سبد خرید`,icon:Ln},{name:`orders`,path:`/orders`,label:`سفارش‌ها`,icon:Rn},{name:`checks`,path:`/profile/checks`,label:`لیست چک‌ها`,icon:Vn},{name:`profile`,path:`/profile`,label:`پروفایل`,icon:zn}],Gn=`/categories`;function Kn(e){return Gn}var qn=[`/catalogs`,`/catalog-request`,`/catalog-requests`,`/categories`,`/products`,`/product`,`/favorites`];function Jn(e,t,n){return e===`ordering`?n.startsWith(`/categories`)||n.startsWith(`/products`)||n.startsWith(`/product`)||n.startsWith(`/catalogs`):e===`home`?n===`/`:e===`catalogs`?qn.some(e=>n===e||n.startsWith(`${e}/`)):e===`order-fab`?n===`/cart`||n.startsWith(`/cart/`):e===`checks`?n.startsWith(`/profile/checks`):e===`profile`||t===`/profile`?n===`/profile`:t===`/`?n===`/`:n.startsWith(t)}function Yn(e,t){return e.name===`ordering`?Kn(t):e.path}var Xn={class:`bottom-nav`,"aria-label":`ناوبری اصلی`},Zn=[`aria-current`,`aria-label`,`onClick`],Qn={key:0,class:`nav-badge`},$n={key:0,class:`nav-label`},er={key:1,class:`nav-label nav-label--fab`},tr=j(u({__name:`BottomNav`,setup(r){let i=D(),o=y(),s=Z(),u=A(()=>s.itemCount);function p(e,t){let n=t.currentTarget;if(n instanceof HTMLElement&&n.blur(),e===`/cart`&&s.itemCount===0){o.push(`/categories`);return}o.push(e)}return(r,o)=>(a(),l(`nav`,Xn,[(a(!0),l(n,null,g(R(Un),n=>(a(),l(`button`,{key:n.name,type:`button`,class:d([`nav-item`,{active:R(Jn)(n.name,n.path,R(i).path),"nav-item--fab":n.name===`order-fab`}]),"aria-current":R(Jn)(n.name,n.path,R(i).path)?`page`:void 0,"aria-label":n.label,onClick:e=>p(n.path,e)},[t(`span`,{class:d([`nav-icon`,{"nav-icon--fab":n.name===`order-fab`}])},[(a(),k(e(n.icon),{size:n.name===`order-fab`?26:22,"stroke-width":n.name===`order-fab`?1.8:1.5,color:n.name===`order-fab`?`#ffffff`:void 0},null,8,[`size`,`stroke-width`,`color`])),n.name===`order-fab`&&u.value>0?(a(),l(`span`,Qn,f(u.value),1)):c(``,!0)],2),n.name===`order-fab`?(a(),l(`span`,er,f(n.label),1)):(a(),l(`span`,$n,f(n.label),1))],10,Zn))),128))]))}}),[[`__scopeId`,`data-v-18a88055`]]);function nr(){return{checkCount:0,totalAmount:0,nearestDueDate:null,farthestDueDate:null,rassDays:0,rassDate:null}}function rr(e,t=new Date){if(e.length===0)return nr();let n=new Date(t);n.setHours(0,0,0,0);let r=0,i=0,a=[];for(let t of e){if(!t.dueDate){r+=t.amount;continue}let e=ge(t.dueDate);if(Number.isNaN(e.getTime())){r+=t.amount;continue}e.setHours(0,0,0,0),a.push(e);let o=e.getTime()-n.getTime(),s=Math.max(0,Math.round(o/864e5));r+=t.amount,i+=t.amount*s}let o=r>0?Math.round(i/r):0,s=new Date(n);return s.setDate(s.getDate()+o),a.sort((e,t)=>e.getTime()-t.getTime()),{checkCount:e.length,totalAmount:r,nearestDueDate:a[0]?xe(a[0]):null,farthestDueDate:a.length?xe(a[a.length-1]):null,rassDays:o,rassDate:xe(s)}}function ir(e){let t=new Date;t.setHours(0,0,0,0);let n=ge(e);return Number.isNaN(n.getTime())?0:(n.setHours(0,0,0,0),Math.max(0,Math.round((n.getTime()-t.getTime())/864e5)))}var ar=B(`order`,()=>{let e=P([]),t=P([]),n=P(null),r=P(null),i=P(null),a=P(!1),o=A(()=>t=>[...e.value].sort((e,t)=>new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime()));function s(t){return e.value.find(e=>e.id===t)}function c(e,a){i.value=e,n.value=`check`,t.value=[],r.value=a??null}function l(e){i.value=e.id,n.value=`check`,r.value=e.checkMode??`full`,t.value=(e.checks??[]).map(e=>({...e}))}function u(){i.value=null,t.value=[],r.value=null,n.value=null}function d(e){r.value=e}function f(e){t.value.push({...e,id:ve()})}function p(e,n){let r=t.value.findIndex(t=>t.id===e);r>=0&&(t.value[r]={...t.value[r],...n})}function m(e){t.value=t.value.filter(t=>t.id!==e)}function h(e){return rr(t.value,e??new Date)}async function g(){if(!V()){e.value=[];return}a.value=!0;try{e.value=await z(`/orders`)}catch{e.value=[]}finally{a.value=!1}}function _(){e.value=[],u()}function v(t){let n=e.value.findIndex(e=>e.id===t.id);n>=0?e.value[n]=t:e.value.unshift(t)}async function y(e){try{let t=await z(`/orders/${e}`);return v(t),t}catch{return null}}async function b(t){if(!t.items.length)throw Error(`سبد خرید خالی است.`);if(t.id===`local`||t.items.some(e=>e.id.startsWith(`local-item-`)))throw Error(`سبد خرید با سرور همگام نیست. لطفاً دوباره محصولات را به سبد اضافه کنید.`);let n=[...new Set(t.items.map(e=>e.companyId).filter(Boolean))];if(!n.length)throw Error(`شرکت سبد مشخص نیست. سبد را خالی کنید و دوباره اضافه کنید.`);try{let r=await z(`/orders`,{method:`POST`,body:{companyId:n[0],notes:t.notes,items:t.items.map(e=>({productId:e.productId,meterage:Number(e.meterage),notes:e.notes}))}});return e.value.unshift(r),u(),r}catch(e){throw Error(e instanceof U?e.message:`ثبت سفارش ناموفق بود.`)}}async function x(e,t,n){try{let r=await z(`/orders/${e}/settlement`,{method:`POST`,body:{settlementType:t,checkMode:t===`check`?n??`full`:void 0}});return v(r),r}catch(e){throw Error(e instanceof U?e.message:`ثبت روش تسویه ناموفق بود.`)}}async function S(e,t){try{await z(`/orders/${e}/cash-receipt`,{method:`POST`,body:{amount:t.amount,transferDate:t.transferDate,transferTime:t.transferTime,trackingNumber:t.trackingNumber,destinationAccountId:t.destinationAccountId,receiptImage:t.receiptImage,notes:t.notes}});let n=await y(e);if(!n)throw Error(`رسید ثبت شد ولی دریافت سفارش ناموفق بود.`);return n}catch(e){throw Error(e instanceof U?e.message:`ثبت رسید ناموفق بود.`)}}async function C(e,t,n){try{let r=await z(`/orders/${e}/checks`,{method:`PATCH`,body:{checkMode:n,checks:t.map(e=>({amount:e.amount,dueDate:e.dueDate,sayadId:e.sayadId,checkNumber:e.checkNumber,ownerNationalId:e.ownerNationalId,ownerFirstName:e.ownerFirstName,ownerLastName:e.ownerLastName,bankName:e.bankName,branchName:e.branchName,frontImage:e.frontImage,backImage:e.backImage,notes:e.notes,mode:e.mode}))}});return v(r),u(),r}catch(e){throw Error(e instanceof U?e.message:`ثبت چک‌ها ناموفق بود.`)}}async function w(e){let t=[...new Set([e.companyId,...e.items.map(e=>e.companyId).filter(Boolean)].filter(Boolean))],n=W(),r=await Promise.all(t.map(e=>n.loadBankAccounts(e))),i=new Map;for(let e of r)for(let t of e)i.set(t.id,t);return[...i.values()]}async function T(e){return W().loadBankAccounts(e)}return{orders:e,draftChecks:t,draftSettlementType:n,draftCheckMode:r,draftOrderId:i,loading:a,userOrders:o,getOrderById:s,startCheckDraft:c,loadChecksIntoDraft:l,clearCheckDraft:u,setCheckMode:d,addDraftCheck:f,updateDraftCheck:p,removeDraftCheck:m,getDraftRass:h,submitOrder:b,chooseSettlement:x,submitCashReceipt:S,updateOrderChecks:C,hydrate:g,resetLocal:_,fetchOrder:y,getBankAccountsForOrder:w,getBankAccountsForCompany:T}}),or=u({__name:`IconHeadset`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(a(),k(F,{icon:`vuesax-linear:headphone`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),sr=`/assets/nademitex-logo-BJLexNm4.png`,cr=[`src`],lr=j(u({__name:`IconQemashMark`,props:{size:{default:72}},setup(e){return(t,n)=>(a(),l(`img`,{class:`brand-logo`,src:R(sr),alt:``,style:le({height:`${e.size}px`}),draggable:`false`},null,12,cr))}}),[[`__scopeId`,`data-v-b211450b`]]),ur={class:`desktop-sidebar`,"aria-label":`ناوبری اصلی`},dr={class:`desktop-sidebar__brand`},fr={class:`desktop-sidebar__nav`},pr=[`aria-current`,`aria-label`,`title`,`onClick`],mr={class:`desktop-sidebar__icon`},hr={class:`desktop-sidebar__label`},gr={key:0,class:`desktop-sidebar__badge`},_r={key:1,class:`desktop-sidebar__badge`},vr={class:`desktop-sidebar__support`},yr={class:`desktop-sidebar__support-icon`,"aria-hidden":`true`},br=j(u({__name:`DesktopSidebar`,setup(r){let i=D(),o=y(),u=Z(),p=ar(),m=A(()=>u.itemCount),h=A(()=>p.draftChecks.length),_=A(()=>u.selectedCompanyId||u.activeCart?.companyId||null);function v(e){o.push(Yn(e,_.value))}return(r,o)=>(a(),l(`aside`,ur,[t(`div`,dr,[s(lr,{size:36}),o[0]||=t(`strong`,{class:`desktop-sidebar__title`},`نادمی تکس`,-1)]),t(`nav`,fr,[(a(!0),l(n,null,g(R(Wn),n=>(a(),l(`button`,{key:n.name,type:`button`,class:d([`desktop-sidebar__item`,{active:R(Jn)(n.name,n.path,R(i).path)}]),"aria-current":R(Jn)(n.name,n.path,R(i).path)?`page`:void 0,"aria-label":n.label,title:n.label,onClick:e=>v(n)},[t(`span`,mr,[(a(),k(e(n.icon),{size:20}))]),t(`span`,hr,f(n.label),1),n.name===`cart`&&m.value>0?(a(),l(`span`,gr,f(m.value),1)):c(``,!0),n.name===`checks`&&h.value>0?(a(),l(`span`,_r,f(h.value),1)):c(``,!0)],10,pr))),128))]),t(`div`,vr,[t(`span`,yr,[s(or,{size:22})]),o[1]||=t(`strong`,{class:`desktop-sidebar__support-title`},`پشتیبانی و راهنما`,-1),o[2]||=t(`p`,{class:`desktop-sidebar__support-text`},` در صورت نیاز به راهنمایی یا گزارش مشکل با تیم پشتیبانی تماس بگیرید. `,-1),o[3]||=t(`a`,{href:`tel:02112345678`,class:`desktop-sidebar__support-btn`},`تماس با پشتیبانی`,-1)])]))}}),[[`__scopeId`,`data-v-a03a8196`]]),xr=`ft_user`,Sr=`ft_pending_otp`;function Q(e){e?localStorage.setItem(xr,JSON.stringify(e)):localStorage.removeItem(xr)}function Cr(){try{let e=localStorage.getItem(xr);return e?JSON.parse(e):null}catch{return null}}function wr(){return V()?Cr():null}function Tr(){return!!V()}function Er(e){try{e?sessionStorage.setItem(Sr,JSON.stringify(e)):sessionStorage.removeItem(Sr)}catch{}}async function Dr(e,t){let n=_e(e);if(!/^09\d{9}$/.test(n))return{success:!1,message:`شماره موبایل معتبر نیست.`};if(t.isRegister&&(!t.firstName?.trim()||!t.lastName?.trim()))return{success:!1,message:`نام و نام خانوادگی الزامی است.`};try{Er({phone:n,isRegister:t.isRegister,firstName:t.firstName,lastName:t.lastName});let e=await z(`/auth/otp/request`,{method:`POST`,auth:!1,body:{phone:n,firstName:t.firstName,lastName:t.lastName,isRegister:t.isRegister}}),r=e.debugCode?` (کد: ${e.debugCode})`:``;return{success:!0,message:`${e.message}${r}`}}catch(e){return{success:!1,message:e instanceof U?e.message:`ارسال کد ناموفق بود.`}}}async function Or(e,t){let n=_e(e);try{let e=await z(`/auth/otp/verify`,{method:`POST`,auth:!1,body:{phone:n,code:ye(t)}});return fe(e.accessToken),Q(e.user),Er(null),{success:!0,message:`ورود موفق.`,user:e.user}}catch(e){return{success:!1,message:e instanceof U?e.message:`تأیید کد ناموفق بود.`}}}function kr(){fe(null),Q(null),Er(null)}async function Ar(){if(!V())return Q(null),null;try{let e=await z(`/auth/me`);return Q(e),e}catch{return Cr()}}async function jr(e){try{let t=await z(`/auth/profile`,{method:`PATCH`,body:e});return Q(t),t}catch(t){let n=e.avatarUrl!==void 0&&e.firstName===void 0&&e.lastName===void 0&&e.nationalId===void 0,r=Cr();if(!n||!r)throw t;let i={...r};return e.avatarUrl?i.avatarUrl=e.avatarUrl:delete i.avatarUrl,Q(i),i}}var Mr=`ft_pending_register`,Nr=[{id:`garment_producer`,label:`تولیدکننده پوشاک عمده`},{id:`atelier`,label:`مزون`},{id:`fabric_wholesaler`,label:`عمده‌فروش پارچه`}];function Pr(){try{let e=sessionStorage.getItem(Mr);if(!e)return null;let t=JSON.parse(e);return!t?.firstName?.trim()||!t?.lastName?.trim()?null:{firstName:t.firstName.trim(),lastName:t.lastName.trim(),jobCategory:t.jobCategory}}catch{return null}}function Fr(e){if(e?.firstName?.trim()&&e?.lastName?.trim()){sessionStorage.setItem(Mr,JSON.stringify({firstName:e.firstName.trim(),lastName:e.lastName.trim(),jobCategory:e.jobCategory}));return}sessionStorage.removeItem(Mr)}var Ir=B(`notification`,()=>{let e=P([]),t=P(0),n=P(!1),r=A(()=>t.value>0);async function i(){if(!V()){e.value=[],t.value=0;return}n.value=!0;try{e.value=await z(`/notifications`),t.value=e.value.filter(e=>!e.isRead).length}catch{e.value=[],t.value=0}finally{n.value=!1}}async function a(){if(!V()){t.value=0;return}try{let e=await z(`/notifications/unread-count`);t.value=e.count}catch{}}async function o(n){let r=e.value.find(e=>e.id===n);if(!(!r||r.isRead)){r.isRead=!0,t.value=Math.max(0,t.value-1);try{await z(`/notifications/${n}/read`,{method:`PATCH`})}catch{await i()}}}async function s(){if(t.value){e.value=e.value.map(e=>({...e,isRead:!0})),t.value=0;try{await z(`/notifications/read-all`,{method:`PATCH`})}catch{await i()}}}function c(){e.value=[],t.value=0}return{items:e,unreadCount:t,loading:n,hasUnread:r,hydrate:i,refreshUnreadCount:a,markRead:o,markAllRead:s,resetLocal:c}}),Lr=`ft_favorites`;function Rr(){try{let e=localStorage.getItem(Lr);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`string`):[]}catch{return[]}}function zr(e){localStorage.setItem(Lr,JSON.stringify(e))}var Br=B(`favorites`,()=>{let e=P(Rr()),t=P(!1),n=P({}),r=A(()=>new Set(e.value));function i(e){return r.value.has(e)}async function a(){try{let t=await z(`/products/favorites/ids`);e.value=t,zr(t)}catch{e.value=Rr()}finally{t.value=!0}}async function o(t){if(!t||n.value[t])return;n.value={...n.value,[t]:!0};let r=i(t);e.value=r?e.value.filter(e=>e!==t):[...e.value,t],zr(e.value);try{let n=await z(`/products/${t}/favorite`,{method:`POST`});e.value=n.favorited?[...new Set([...e.value.filter(e=>e!==t),t])]:e.value.filter(e=>e!==t),zr(e.value)}catch(n){if(!(n instanceof U&&n.status===404))throw e.value=r?[...new Set([...e.value,t])]:e.value.filter(e=>e!==t),zr(e.value),n}finally{let e={...n.value};delete e[t],n.value=e}}function s(){e.value=[],zr([]),t.value=!1}return{ids:e,loaded:t,pending:n,isFavorite:i,hydrate:a,toggle:o,resetLocal:s}}),Vr=B(`auth`,()=>{let e=P(wr()),t=P(!1),n=P(null),r=P(Pr()),i=A(()=>!!e.value),a=A(()=>e.value?`${e.value.firstName} ${e.value.lastName}`:``),o=A(()=>e.value?.appRole===`agent`),s=A(()=>!!e.value&&e.value.appRole!==`agent`);function c(){n.value=null}function l(){r.value=null,Fr(null)}async function u(e,i){t.value=!0,n.value=null;try{let t=Pr();r.value=t;let a=i.firstName?.trim()||t?.firstName,o=i.lastName?.trim()||t?.lastName;i.isRegister&&a&&o&&(r.value={firstName:a,lastName:o},Fr(r.value));let s=await Dr(e,{isRegister:i.isRegister,firstName:a,lastName:o});return s.success||(n.value=s.message),s}finally{t.value=!1}}async function d(r,i){t.value=!0,n.value=null;let a=await Or(r,i);return t.value=!1,a.success&&a.user?(e.value=a.user,l(),await Promise.all([W().loadCompanies(),Z().hydrate(),ar().hydrate(),Ir().hydrate(),Br().hydrate()])):n.value=a.message,a}function f(){kr(),e.value=null,l(),Z().resetLocal(),ar().resetLocal(),Ir().resetLocal(),Br().resetLocal()}async function p(t){if(!e.value)return null;let n=await jr(t);return n&&(e.value=n),n}async function m(){if(e.value=wr(),!e.value)return;let t=await Ar();e.value=t}return{user:e,loading:t,error:n,isAuthenticated:i,fullName:a,isAgent:o,isCustomerOnly:s,clearError:c,requestOtp:u,confirmOtp:d,logout:f,updateProfile:p,hydrate:m}}),Hr=u({__name:`IconBell`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(a(),k(F,{icon:`vuesax-linear:notification`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Ur=u({__name:`IconChevronLeft`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(a(),k(F,{icon:`vuesax-linear:arrow-left-1`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),Wr=B(`theme`,()=>{let e=me(`ft_theme`,`system`),t=he(),n=A(()=>e.value===`system`?t.value?`dark`:`light`:e.value),r=A(()=>n.value===`dark`);ce(()=>{let e=document.documentElement;e.classList.toggle(`dark`,r.value),e.style.colorScheme=n.value});function i(t){e.value=t}function a(){let t=[`light`,`dark`,`system`],n=t.indexOf(e.value);e.value=t[(n+1)%t.length]}function o(){e.value=r.value?`light`:`dark`}return{preference:e,resolved:n,isDark:r,setPreference:i,cyclePreference:a,toggleLightDark:o}}),Gr=[`aria-label`,`title`],Kr=j(u({__name:`AuthThemeToggle`,props:{variant:{default:`floating`}},setup(e){let t=Wr(),{isDark:n}=H(t),r=A(()=>n.value?`vuesax-linear:sun-1`:`vuesax-linear:moon`),i=A(()=>n.value?`تغییر به تم روشن`:`تغییر به تم تاریک`);return(n,o)=>(a(),l(`button`,{type:`button`,class:d([`auth-theme-toggle`,e.variant===`inline`?`auth-theme-toggle--inline`:`auth-theme-toggle--floating`]),"aria-label":i.value,title:i.value,onClick:o[0]||=e=>R(t).toggleLightDark()},[s(F,{icon:r.value,size:18,"stroke-width":1.5},null,8,[`icon`])],10,Gr))}}),[[`__scopeId`,`data-v-3a58cb84`]]),qr=[`src`],Jr={key:1},Yr=j(u({__name:`UserAvatar`,props:{src:{},initials:{},size:{default:72}},setup(e){return(t,n)=>(a(),l(`span`,{class:`user-avatar`,style:le({width:`${e.size}px`,height:`${e.size}px`,fontSize:`${Math.round(e.size*.38)}px`})},[e.src?(a(),l(`img`,{key:0,class:`user-avatar__img`,src:e.src,alt:``},null,8,qr)):(a(),l(`span`,Jr,f(e.initials),1))],4))}}),[[`__scopeId`,`data-v-5c562bf0`]]),Xr={class:`desktop-header`},Zr={class:`desktop-header__actions`},Qr={key:0,class:`desktop-header__company`},$r=[`aria-label`],ei={class:`desktop-header__user-wrap`},ti=[`aria-expanded`],ni={class:`desktop-header__user-name`},ri={key:0,class:`desktop-header__menu`},ii=j(u({__name:`DesktopHeader`,setup(e){let n=y(),r=Vr(),i=Z(),o=Ir(),u=P(!1),d=A(()=>be(o.unreadCount>9?`9+`:String(o.unreadCount))),p=A(()=>`${r.user?.firstName?.[0]??``}${r.user?.lastName?.[0]??``}`||`؟`),m=A(()=>i.companyNamesLabel||i.activeCart?.companyName||``);function h(){u.value=!u.value}function g(){u.value=!1,n.push(`/profile`)}function _(){u.value=!1,r.logout(),n.replace(`/login`)}return(e,i)=>(a(),l(`header`,Xr,[i[1]||=t(`div`,{class:`desktop-header__spacer`,"aria-hidden":`true`},null,-1),t(`div`,Zr,[m.value?(a(),l(`span`,Qr,f(m.value),1)):c(``,!0),s(Kr,{variant:`inline`}),t(`button`,{type:`button`,class:`desktop-header__icon-btn`,"aria-label":`اعلان‌ها`,onClick:i[0]||=e=>R(n).push(`/profile/notifications`)},[s(Hr,{size:20}),R(o).hasUnread?(a(),l(`span`,{key:0,class:`desktop-header__notif-badge`,"aria-label":`${R(o).unreadCount} اعلان خوانده‌نشده`},f(d.value),9,$r)):c(``,!0)]),t(`div`,ei,[t(`button`,{type:`button`,class:`desktop-header__user`,"aria-expanded":u.value,onClick:h},[s(Yr,{class:`desktop-header__avatar`,src:R(r).user?.avatarUrl,initials:p.value,size:32},null,8,[`src`,`initials`]),t(`span`,ni,f(R(r).fullName),1),s(Ur,{size:16,class:`desktop-header__chevron`})],8,ti),u.value?(a(),l(`div`,ri,[t(`button`,{type:`button`,onClick:g},`پروفایل`),t(`button`,{type:`button`,class:`desktop-header__menu-logout`,onClick:_},`خروج`)])):c(``,!0)])])]))}}),[[`__scopeId`,`data-v-d90aac23`]]),ai={class:`app-layout`},oi={class:`app-frame`},si={class:`app-main`},ci={class:`app-main__content`},li={class:`app-content`},ui=u({__name:`DefaultLayout`,setup(e){let n=D(),r=A(()=>![`welcome`,`login`,`register`,`otp`,`settlement`,`check-mode`,`check-form`,`check-list`,`cash-settlement`,`order-success`].includes(n.name)&&!n.meta.hideNav),i=A(()=>[`settlement`,`check-mode`,`check-form`,`check-list`,`cash-settlement`].includes(n.name)),o=A(()=>n.name===`welcome`||n.name===`login`||n.name===`register`||n.name===`otp`);return(e,n)=>(a(),l(`div`,{class:d([`app-shell`,{"app-shell--no-nav":!r.value,"app-shell--wide":i.value,"app-shell--with-nav":r.value,"app-shell--immersive":o.value}])},[t(`div`,ai,[r.value?(a(),k(br,{key:0})):c(``,!0),t(`div`,oi,[r.value?(a(),k(ii,{key:0})):c(``,!0),t(`main`,si,[t(`div`,ci,[t(`div`,li,[v(e.$slots,`default`)])])]),r.value?(a(),k(tr,{key:1})):c(``,!0)])])],2))}}),di=[`type`,`disabled`],fi={key:0,class:`btn-spinner`},pi=j(u({__name:`BaseButton`,props:{variant:{},size:{},block:{type:Boolean},disabled:{type:Boolean},loading:{type:Boolean},type:{}},setup(e){return(t,n)=>(a(),l(`button`,{type:e.type??`button`,class:d([`btn`,[`btn-${e.variant??`primary`}`,`btn-${e.size??`md`}`,{"btn-block":e.block}]]),disabled:e.disabled||e.loading},[e.loading?(a(),l(`span`,fi)):c(``,!0),v(t.$slots,`default`,{},void 0,!0)],10,di))}}),[[`__scopeId`,`data-v-3628a8bb`]]),mi=w({open:!1,title:``,message:``,confirmLabel:`حذف`,cancelLabel:`انصراف`,tone:`danger`,resolve:null});function hi(){return mi}function gi(e){return new Promise(t=>{Object.assign(mi,{open:!0,title:e.title,message:e.message,confirmLabel:e.confirmLabel??`حذف`,cancelLabel:e.cancelLabel??`انصراف`,tone:e.tone??`danger`,resolve:t})})}function _i(e){mi.resolve?.(e),mi.open=!1,mi.resolve=null}var vi={class:`dialog card confirm-dialog`},yi={id:`confirm-dialog-title`,class:`confirm-dialog__title`},bi={class:`confirm-dialog__message`},xi={class:`dialog-actions confirm-dialog__actions`},Si=j(u({__name:`ConfirmDialog`,setup(e){let n=hi();function o(){_i(!1)}function u(){_i(!0)}return(e,d)=>R(n).open?(a(),l(`div`,{key:0,class:`dialog-overlay confirm-dialog-overlay`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`confirm-dialog-title`,onClick:r(o,[`self`])},[t(`div`,vi,[t(`h3`,yi,f(R(n).title),1),t(`p`,bi,f(R(n).message),1),t(`div`,xi,[s(pi,{variant:`outline`,onClick:o},{default:M(()=>[i(f(R(n).cancelLabel),1)]),_:1}),s(pi,{variant:R(n).tone===`danger`?`danger`:`primary`,onClick:u},{default:M(()=>[i(f(R(n).confirmLabel),1)]),_:1},8,[`variant`])])])])):c(``,!0)}}),[[`__scopeId`,`data-v-2e50e2a7`]]),Ci=u({__name:`App`,setup(t){let r=Vr(),i=Z(),c=ar(),u=W(),d=Ir(),f=y(),p=P(`page-fade`);function m(e){return e.split(`/`).filter(Boolean).length}return f.beforeEach((e,t)=>{if(!t.name){p.value=`page-fade`;return}let n=jn(m(e.path)-m(t.path),-1,1);n>0?p.value=`page-forward`:n<0?p.value=`page-back`:p.value=`page-fade`}),o(async()=>{await r.hydrate(),r.isAuthenticated&&await Promise.all([u.loadCompanies(),i.hydrate(),c.hydrate(),d.hydrate()])}),pe(()=>{r.isAuthenticated&&d.refreshUnreadCount()},6e4,{immediate:!1}),(t,r)=>(a(),l(n,null,[s(ui,null,{default:M(()=>[s(R($t),null,{default:M(({Component:t,route:n})=>[s(ue,{name:p.value,mode:`out-in`},{default:M(()=>[(a(),l(`div`,{key:n.path,class:`page-transition page-shell`},[(a(),k(e(t)))]))]),_:2},1032,[`name`])]),_:1})]),_:1}),s(Si)],64))}}),wi=`modulepreload`,Ti=function(e){return`/`+e},Ei={},$=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=Ti(t,n),t=s(t),t in Ei)return;Ei[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`:wi,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)})},Di=en({history:St(`/`),routes:[{path:`/welcome`,name:`welcome`,component:()=>$(()=>import(`./WelcomeView-Dm_Gj4-t.js`),__vite__mapDeps([0,1,2,3,4])),meta:{guest:!0,hideNav:!0}},{path:`/login`,name:`login`,component:()=>$(()=>import(`./LoginView-BQ3xuGSX.js`),__vite__mapDeps([5,1,2,6,7,8,9,10,11,12,3,13])),meta:{guest:!0,hideNav:!0}},{path:`/register`,name:`register`,component:()=>$(()=>import(`./RegisterView-CylManm7.js`),__vite__mapDeps([14,1,2,15,16,7,8,9,10,11,12,17,18,19])),meta:{guest:!0,hideNav:!0}},{path:`/otp`,name:`otp`,component:()=>$(()=>import(`./OtpView-CqTNOZUE.js`),__vite__mapDeps([20,1,2,16,7,21,9,10,12,3,22,23])),meta:{guest:!0,hideNav:!0}},{path:`/`,name:`home`,component:()=>$(()=>import(`./HomeView-DUEE32an.js`),__vite__mapDeps([24,1,2,7,21,17,25,26,27,28,6,29,30,31])),meta:{requiresAuth:!0}},{path:`/companies`,name:`companies`,component:()=>$(()=>import(`./CompanySelectView-2uDtaz53.js`),__vite__mapDeps([32,1,2,33,6,21,34,35,36,25,26,27,29,37,38])),meta:{requiresAuth:!0}},{path:`/categories`,name:`categories`,component:()=>$(()=>import(`./CategoriesView-Dxbr04Tk.js`),__vite__mapDeps([39,1,2,21,17,25,26,27,28,6,29,40,37,41,42])),meta:{requiresAuth:!0}},{path:`/products`,name:`products`,component:()=>$(()=>import(`./ProductsView-BPje9bIW.js`),__vite__mapDeps([43,1,2,44,26,27,28,6,45,21,46,47,48,30,49])),meta:{requiresAuth:!0}},{path:`/product`,name:`product`,component:()=>$(()=>import(`./ProductDetailView-VjRdY1Zl.js`),__vite__mapDeps([50,1,2,7,33,6,21,26,27,51,28,29,37,30,52])),meta:{requiresAuth:!0}},{path:`/catalogs`,name:`catalogs`,component:()=>$(()=>import(`./CatalogsHubView-Du4_08O7.js`),__vite__mapDeps([53,1,2,7,33,6,21,26,27,28,29,54,47,48,40,55])),meta:{requiresAuth:!0}},{path:`/catalogs/:catalogId`,name:`catalog-detail`,component:()=>$(()=>import(`./CatalogDetailView-BlAXKBtt.js`),__vite__mapDeps([56,1,2,7,33,6,21,26,27,51,28,29,54,57])),meta:{requiresAuth:!0}},{path:`/catalog-request`,name:`catalog-request`,component:()=>$(()=>import(`./CatalogRequestView-C5BboW9x.js`),__vite__mapDeps([58,1,2,7,26,27,28,6,45,21,46,59,60])),meta:{requiresAuth:!0}},{path:`/catalog-requests`,name:`catalog-requests`,component:()=>$(()=>import(`./CatalogRequestsView-BTSUD4xT.js`),__vite__mapDeps([61,1,2,7,45,21,46,59,6,62])),meta:{requiresAuth:!0}},{path:`/favorites`,name:`favorites`,component:()=>$(()=>import(`./FavoritesView-C9nplFH5.js`),__vite__mapDeps([63,1,2,26,27,28,6,45,21,46,30,64])),meta:{requiresAuth:!0}},{path:`/customers`,name:`customers`,component:()=>$(()=>import(`./CustomersView-f-iLJhx1.js`),__vite__mapDeps([65,1,2,7,44,26,27,28,6,45,21,46,47,48,66])),meta:{requiresAuth:!0}},{path:`/customers/new`,name:`customer-new`,component:()=>$(()=>import(`./CustomerCreateView-CSSpyhNm.js`),__vite__mapDeps([67,1,2,6,7,8,9,10,12,28,29,45,21,46,68,69,70])),meta:{requiresAuth:!0,hideNav:!0}},{path:`/customer`,name:`customer`,component:()=>$(()=>import(`./CustomerDetailView-G9m9g3PH.js`),__vite__mapDeps([71,1,2,7,72,11,22,73,26,27,28,6,45,21,46,74,75])),meta:{requiresAuth:!0}},{path:`/meeting-report`,name:`meeting-report`,component:()=>$(()=>import(`./MeetingReportView-DQIFxjMR.js`),__vite__mapDeps([76,1,2,77,11,22,73,26,27,28,6,45,21,46,74,78])),meta:{requiresAuth:!0,hideNav:!0}},{path:`/reminders`,name:`reminders`,component:()=>$(()=>import(`./RemindersView-IMJcGYf7.js`),__vite__mapDeps([79,1,2,7,21,80,26,27,28,6,29,81])),meta:{requiresAuth:!0}},{path:`/reminder`,name:`reminder`,component:()=>$(()=>import(`./ReminderDetailView-5GG_ljLb.js`),__vite__mapDeps([82,1,2,26,27,28,6,45,21,46,83])),meta:{requiresAuth:!0,hideNav:!0}},{path:`/companies/:companyId/catalogs`,name:`company-catalogs`,component:()=>$(()=>import(`./CatalogListView-B7h2JJn8.js`),__vite__mapDeps([84,1,2,33,6,85,86,26,27,45,21,46,47,48,87])),meta:{requiresAuth:!0}},{path:`/companies/:companyId/catalogs/:catalogId/products`,name:`company-products`,redirect:e=>({path:`/products`,query:{catalogId:String(e.params.catalogId??``),companyId:String(e.params.companyId??``)}})},{path:`/cart`,name:`cart`,component:()=>$(()=>import(`./CartView-BCTihttt.js`),__vite__mapDeps([88,1,2,7,85,86,21,9,10,17,89,90,36,73,25,91])),meta:{requiresAuth:!0}},{path:`/orders`,name:`orders`,component:()=>$(()=>import(`./OrdersView-CThJEk8R.js`),__vite__mapDeps([92,1,2,7,33,6,85,86,72,21,34,35,77,44,80,93])),meta:{requiresAuth:!0}},{path:`/order`,name:`order-query`,redirect:e=>{let t=String(e.query.id??``);return t?{path:`/orders/${t}`}:{name:`orders`}}},{path:`/orders/:id`,name:`order-detail`,component:()=>$(()=>import(`./OrderDetailView-Cak53OtA.js`),__vite__mapDeps([94,1,2,15,16,7,8,72,21,9,10,12,95,68,69,96,97,98])),meta:{requiresAuth:!0}},{path:`/orders/:id/success`,name:`order-success`,component:()=>$(()=>import(`./OrderSuccessView-BknP059e.js`),__vite__mapDeps([99,1,2,7,29,45,21,46,100])),meta:{requiresAuth:!0,hideNav:!0}},{path:`/orders/:id/settlement`,name:`settlement`,component:()=>$(()=>import(`./SettlementTypeView-CFV1ZfaS.js`),__vite__mapDeps([101,1,2,7,9,10,89,90,45,21,46,95,102,103,104])),meta:{requiresAuth:!0,hideNav:!0}},{path:`/orders/:id/cash`,name:`cash-settlement`,component:()=>$(()=>import(`./CashSettlementView-vG0R5VWI.js`),__vite__mapDeps([105,1,2,7,33,6,45,21,46,102,95,106])),meta:{requiresAuth:!0,hideNav:!0}},{path:`/orders/:id/check-mode`,name:`check-mode`,component:()=>$(()=>import(`./CheckModeSelectView-CganQy3H.js`),__vite__mapDeps([107,1,2,7,22,45,21,46,102,95,108])),meta:{requiresAuth:!0,hideNav:!0}},{path:`/orders/:id/check-form`,name:`check-form`,component:()=>$(()=>import(`./CheckFormView-DjRrTrgm.js`),__vite__mapDeps([109,1,2,7,8,9,10,12,45,21,46,102,95,68,69,96,97,110,111])),meta:{requiresAuth:!0,hideNav:!0}},{path:`/orders/:id/check-list`,name:`check-list`,component:()=>$(()=>import(`./CheckListView-D8SjoAtS.js`).then(e=>e.n),__vite__mapDeps([112,1,2,7,85,86,21,9,10,102,95,113])),meta:{requiresAuth:!0,hideNav:!0}},{path:`/profile`,name:`profile`,component:()=>$(()=>import(`./ProfileView-zsVIG08O.js`),__vite__mapDeps([114,1,2,7,72,11,22,18,36,25,26,27,28,6,41,110,103,74,115])),meta:{requiresAuth:!0}},{path:`/profile/edit`,name:`profile-edit`,component:()=>$(()=>import(`./ProfileEditView-BXfhdkP1.js`),__vite__mapDeps([116,1,2,9,10,12,68,69,117,21,118,119])),meta:{requiresAuth:!0}},{path:`/profile/security`,name:`profile-security`,component:()=>$(()=>import(`./ProfileSecurityView-BtqgdXRj.js`),__vite__mapDeps([120,1,2,9,10,12,68,69,117,21,118,121])),meta:{requiresAuth:!0}},{path:`/profile/notifications`,name:`profile-notifications`,component:()=>$(()=>import(`./ProfileNotificationsView-BkDZ6lIH.js`),__vite__mapDeps([122,1,2,7,85,86,117,21,118,123])),meta:{requiresAuth:!0}},{path:`/profile/display`,name:`profile-display`,component:()=>$(()=>import(`./ProfileDisplayView-Co6ARz_e.js`),__vite__mapDeps([124,1,2,16,117,21,118,125])),meta:{requiresAuth:!0}},{path:`/profile/checks`,name:`profile-checks`,component:()=>$(()=>import(`./ProfileChecksView-Cx3LI6JZ.js`),__vite__mapDeps([126,112,1,2,7,85,86,21,9,10,102,95,113])),meta:{requiresAuth:!0}}],scrollBehavior(){return{top:0}}});Di.beforeEach(e=>{let t=Tr();return e.meta.requiresAuth&&!t?{name:`login`,query:{redirect:e.fullPath}}:e.meta.guest&&t||e.meta.agentOnly&&Cr()?.appRole!==`agent`?{name:`home`}:!0});var Oi=x(Ci),ki=de();Oi.use(ki),Oi.use(Di),Wr(ki),Oi.mount(`#app`);export{Rn as C,Z as E,zn as S,In as T,rr as _,Wr as a,Vn as b,Vr as c,Nr as d,Pr as f,ar as g,or as h,Kr as i,Br as l,lr as m,pi as n,Ur as o,Fr as p,Yr as r,Hr as s,gi as t,Ir as u,ir as v,Ln as w,Bn as x,Hn as y}; \ No newline at end of file diff --git a/dist/assets/index-CsfOBUpl.css b/dist/assets/index-MldTA0ML.css similarity index 62% rename from dist/assets/index-CsfOBUpl.css rename to dist/assets/index-MldTA0ML.css index 707c39c..95d5f9f 100644 --- a/dist/assets/index-CsfOBUpl.css +++ b/dist/assets/index-MldTA0ML.css @@ -1 +1 @@ -.bottom-nav[data-v-18a88055]{min-height:var(--nav-height);background:var(--color-surface);border-top:1px solid var(--color-border);z-index:100;padding:6px 4px calc(6px + env(safe-area-inset-bottom,0));flex-shrink:0;justify-content:space-around;align-items:flex-end;display:flex}@media (width>=768px){.bottom-nav[data-v-18a88055]{display:none}}.nav-item[data-v-18a88055]{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-radius:10px;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;min-width:0;margin:0;padding:4px 2px 2px;transition:color .15s;display:flex;position:relative}.nav-item[data-v-18a88055]:focus,.nav-item[data-v-18a88055]:focus-visible{outline:none}.nav-item.active[data-v-18a88055]{color:var(--color-primary);background:0 0}.nav-item.active .nav-label[data-v-18a88055]{font-weight:700}.nav-item--fab[data-v-18a88055]{color:var(--color-text-muted);justify-content:flex-end}.nav-item--fab.active[data-v-18a88055]{color:var(--color-primary)}.nav-icon[data-v-18a88055]{flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex;position:relative;overflow:visible}.nav-icon--fab[data-v-18a88055]{background:var(--color-primary);color:#fff;width:52px;height:52px;box-shadow:0 6px 16px rgba(var(--color-primary-rgb), .35);border-radius:999px;margin-top:-28px}.nav-label[data-v-18a88055]{white-space:nowrap;font-size:.6875rem;font-weight:500;line-height:1.2}.nav-label--fab[data-v-18a88055]{font-size:.625rem}.nav-badge[data-v-18a88055]{top:-2px;background:var(--color-danger);color:#fff;pointer-events:none;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.625rem;font-weight:700;line-height:1;display:flex;position:absolute;inset-inline-end:-2px}.brand-logo[data-v-b211450b]{object-fit:contain;-webkit-user-select:none;user-select:none;flex-shrink:0;width:auto;display:block}.desktop-sidebar[data-v-a03a8196]{width:var(--sidebar-width);background:var(--color-surface);border-inline-start:1px solid var(--color-border);flex-direction:column;flex-shrink:0;height:100%;padding:0;display:none;overflow-y:auto}@media (width>=768px){.desktop-sidebar[data-v-a03a8196]{display:flex}}.desktop-sidebar__brand[data-v-a03a8196]{height:var(--header-height);min-height:var(--header-height);max-height:var(--header-height);box-sizing:border-box;border-bottom:none;flex-shrink:0;justify-content:flex-start;align-items:center;gap:10px;padding:0 20px;display:flex}@media (width>=1200px){.desktop-sidebar__brand[data-v-a03a8196]{padding:0 28px}}.desktop-sidebar__logo-mark[data-v-a03a8196]{flex-shrink:0}.desktop-sidebar__title[data-v-a03a8196]{color:var(--color-primary);font-size:1rem;font-weight:700;display:block}.desktop-sidebar__nav[data-v-a03a8196]{flex-direction:column;flex:1;gap:4px;padding:12px 12px 0;display:flex}@media (width>=1200px){.desktop-sidebar__nav[data-v-a03a8196]{padding:16px 16px 0}}.desktop-sidebar__item[data-v-a03a8196]{border-radius:var(--radius-md);cursor:pointer;width:100%;color:var(--color-text-secondary);text-align:start;background:0 0;border:none;justify-content:flex-start;align-items:center;gap:12px;padding:11px 12px;transition:background .15s,color .15s;display:flex;position:relative}@media (width>=1200px){.desktop-sidebar__item[data-v-a03a8196]{padding:11px 14px}}.desktop-sidebar__item[data-v-a03a8196]:hover{background:var(--color-elevated);color:var(--color-text)}.desktop-sidebar__item[data-v-a03a8196]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.desktop-sidebar__item.active[data-v-a03a8196]{background:var(--color-primary-soft);color:var(--color-primary);font-weight:600}.desktop-sidebar__item.active .desktop-sidebar__icon[data-v-a03a8196]{color:var(--color-primary)}.desktop-sidebar__icon[data-v-a03a8196]{width:22px;height:22px;color:inherit;flex-shrink:0;justify-content:center;align-items:center;display:flex}.desktop-sidebar__label[data-v-a03a8196]{font-size:.875rem;font-weight:inherit;white-space:nowrap;display:block}.desktop-sidebar__badge[data-v-a03a8196]{background:var(--color-danger);color:var(--color-surface);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:20px;height:20px;margin-inline-start:auto;padding:0 4px;font-size:.6875rem;font-weight:700;display:flex}.desktop-sidebar__support[data-v-a03a8196]{background:var(--color-primary-soft);border-radius:var(--radius-lg);flex-direction:column;gap:8px;margin:auto 12px 20px;padding:14px;display:flex}@media (width>=1200px){.desktop-sidebar__support[data-v-a03a8196]{margin:auto 16px 24px;padding:16px}}.desktop-sidebar__support-icon[data-v-a03a8196]{background:var(--color-primary);width:36px;height:36px;color:var(--color-surface);border-radius:50%;justify-content:center;align-items:center;display:flex}.desktop-sidebar__support-title[data-v-a03a8196]{color:var(--color-text);font-size:.875rem;font-weight:700}.desktop-sidebar__support-text[data-v-a03a8196]{color:var(--color-text-muted);margin:0;font-size:.6875rem;line-height:1.5}.desktop-sidebar__support-btn[data-v-a03a8196]{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-primary);text-align:center;margin-top:4px;padding:10px 12px;font-size:.8125rem;font-weight:600;text-decoration:none;transition:opacity .15s;display:block}.desktop-sidebar__support-btn[data-v-a03a8196]:hover{opacity:.9}.auth-theme-toggle[data-v-3a58cb84]{color:inherit;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .15s;display:inline-flex}.auth-theme-toggle--floating[data-v-3a58cb84]{top:calc(12px + env(safe-area-inset-top,0px));z-index:100;width:40px;height:40px;color:var(--color-text);box-shadow:none;background:0 0;position:fixed;inset-inline-end:16px}.auth-theme-toggle--inline[data-v-3a58cb84]{width:40px;height:40px;color:inherit;flex-shrink:0;position:relative}.auth-theme-toggle[data-v-3a58cb84]:hover{color:var(--color-primary)}.user-avatar[data-v-5c562bf0]{color:inherit;background:#ffffff2e;border-radius:999px;flex-shrink:0;place-items:center;font-weight:700;display:grid;overflow:hidden}.user-avatar__img[data-v-5c562bf0]{object-fit:cover;width:100%;height:100%;display:block}.desktop-header[data-v-d90aac23]{height:var(--header-height);min-height:var(--header-height);max-height:var(--header-height);box-sizing:border-box;background:var(--color-surface);border-bottom:none;flex-shrink:0;justify-content:space-between;align-items:center;gap:24px;padding:0 28px;display:none}@media (width>=768px){.desktop-header[data-v-d90aac23]{padding:0 var(--page-padding);gap:16px;display:flex}}@media (width>=1200px){.desktop-header[data-v-d90aac23]{padding:0 var(--page-padding);gap:24px}}.desktop-header__spacer[data-v-d90aac23]{flex:1;min-width:0}.desktop-header__actions[data-v-d90aac23]{flex-shrink:0;align-items:center;gap:16px;margin-inline-start:auto;display:flex}.desktop-header__company[data-v-d90aac23]{color:var(--color-text-muted);border-inline-end:1px solid var(--color-border);padding-inline-end:8px;font-size:.8125rem;font-weight:600;display:none}@media (width>=992px){.desktop-header__company[data-v-d90aac23]{display:block}}.desktop-header__icon-btn[data-v-d90aac23]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:40px;height:40px;color:var(--color-text-muted);cursor:pointer;justify-content:center;align-items:center;display:flex;position:relative}.desktop-header__notif-badge[data-v-d90aac23]{top:4px;background:var(--color-danger);min-width:18px;height:18px;color:var(--color-on-primary,#fff);border:2px solid var(--color-surface);border-radius:9px;justify-content:center;align-items:center;padding:0 4px;font-size:.625rem;font-weight:700;display:flex;position:absolute;inset-inline-end:4px}.desktop-header__user-wrap[data-v-d90aac23]{position:relative}.desktop-header__user[data-v-d90aac23]{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;align-items:center;gap:10px;padding:6px 12px 6px 8px;font-family:inherit;display:flex}.desktop-header__avatar[data-v-d90aac23]{background:var(--color-primary);color:var(--color-surface)}.desktop-header__user-name[data-v-d90aac23]{color:var(--color-text);font-size:.875rem;font-weight:600;display:none}@media (width>=1200px){.desktop-header__user-name[data-v-d90aac23]{display:block}}.desktop-header__chevron[data-v-d90aac23]{color:var(--color-text-muted);transform:rotate(-90deg)}.desktop-header__menu[data-v-d90aac23]{top:calc(100% + 6px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:160px;box-shadow:var(--shadow-md);z-index:100;padding:6px;position:absolute;inset-inline-end:0}.desktop-header__menu button[data-v-d90aac23]{text-align:start;cursor:pointer;border-radius:var(--radius-sm);width:100%;color:var(--color-text);background:0 0;border:none;padding:10px 12px;font-family:inherit;font-size:.875rem}.desktop-header__menu button[data-v-d90aac23]:hover{background:var(--color-elevated)}.desktop-header__menu-logout[data-v-d90aac23]{color:var(--color-danger)!important}.btn[data-v-3628a8bb]{border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;font-weight:600;transition:background .15s,opacity .15s;display:inline-flex}.btn[data-v-3628a8bb]:disabled{opacity:.55;cursor:not-allowed}.btn-block[data-v-3628a8bb]{width:100%}.btn-sm[data-v-3628a8bb]{min-height:36px;padding:0 14px;font-size:.8125rem}.btn-md[data-v-3628a8bb]{min-height:var(--btn-height);padding:0 24px;font-size:.9375rem}.btn-lg[data-v-3628a8bb]{min-height:52px;padding:0 28px;font-size:1rem}.btn-primary[data-v-3628a8bb]{background:var(--color-primary);color:var(--color-surface)}.btn-primary[data-v-3628a8bb]:not(:disabled):hover{background:var(--color-primary-dark)}.btn-secondary[data-v-3628a8bb]{background:var(--color-primary-light);color:var(--color-primary)}.btn-outline[data-v-3628a8bb]{color:var(--color-primary);border:1.5px solid var(--color-primary);background:0 0}.btn-danger[data-v-3628a8bb]{background:var(--color-danger);color:var(--color-surface)}.btn-ghost[data-v-3628a8bb]{color:var(--color-text-muted);background:0 0}.btn-spinner[data-v-3628a8bb]{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin-3628a8bb}@keyframes spin-3628a8bb{to{transform:rotate(360deg)}}.confirm-dialog[data-v-2e50e2a7]{padding:20px}.confirm-dialog__title[data-v-2e50e2a7]{margin:0 0 8px;font-size:1.0625rem;font-weight:700}.confirm-dialog__message[data-v-2e50e2a7]{color:var(--color-text-muted);margin:0;font-size:.875rem;line-height:1.7}.confirm-dialog__actions[data-v-2e50e2a7]{margin-top:20px}@media (width>=768px){.confirm-dialog__actions[data-v-2e50e2a7]{flex-direction:row;justify-content:flex-end}}*,: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: }.btn-block{width:100%}.page-shell{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.static{position:static}.isolate{isolation:isolate}.grid{display:grid}.inline-grid{display:inline-grid}.m-0{margin:0}.mb-3{margin-bottom:.75rem}.mr-4{margin-right:1rem}.mt-1{margin-top:.25rem}.inline,.empty-inline:empty{display:inline}.block{display:block}.inline-block{display:inline-block}.hidden{display:none}.h-10{height:2.5rem}.h1{height:.25rem}.h2{height:.5rem}.h3{height:.75rem}.min-w-0{min-width:0}.w-10{width:2.5rem}.flex{display:flex}.inline-flex{display:inline-flex}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.table{display:table}.border-collapse{border-collapse:collapse}.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}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.b,.border{border-width:1px}.border-t{border-top-width:1px}.border-\[var\(--color-border\)\]{border-color:var(--color-border)}.rounded-\[var\(--radius-md\)\]{border-radius:var(--radius-md)}.rounded-full{border-radius:9999px}.bg-\[var\(--color-primary-soft\)\]{background-color:var(--color-primary-soft)}.bg-\[var\(--color-surface\)\]{background-color:var(--color-surface)}.p-4{padding:1rem}.px{padding-left:1rem;padding-right:1rem}.pt-3{padding-top:.75rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.text-\[var\(--color-danger\)\]{color:var(--color-danger)}.text-\[var\(--color-primary\)\]{color:var(--color-primary)}.text-\[var\(--color-success\)\]{color:var(--color-success)}.text-\[var\(--color-text-muted\)\],.text-muted{color:var(--color-text-muted)}.text-\[var\(--color-text\)\]{color:var(--color-text)}.text-white{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-relaxed{line-height:1.625}.italic{font-style:italic}.tabular-nums{--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)}.underline{text-decoration-line:underline}.tab{tab-size:4}.text-shadow{--un-text-shadow:0 0 1px var(--un-text-shadow-color,#0003),0 0 1px var(--un-text-shadow-color,#0100051a);text-shadow:var(--un-text-shadow)}.outline{outline-style:solid}.blur{--un-blur:blur(8px);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)}.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,.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@font-face{font-family:IRANSans;src:url(/assets/IRANSansWeb\(FaNum\)-BLA2CtIC.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IRANSans;src:url(/assets/IRANSansWeb\(FaNum\)_Light-B637MNLG.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:IRANSans;src:url(/assets/IRANSansWeb\(FaNum\)_UltraLight-hW-WDKY9.woff2)format("woff2");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:IRANSans;src:url(/assets/IRANSansWeb\(FaNum\)_Medium-C2CKjrKB.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:IRANSans;src:url(/assets/IRANSansWeb\(FaNum\)_Medium-C2CKjrKB.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:IRANSans;src:url(/assets/IRANSansWeb\(FaNum\)_Bold-C8urhp07.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:IRANSans;src:url(/assets/IRANSansWeb\(FaNum\)_Black-BFAfOkt4.woff2)format("woff2");font-weight:900;font-style:normal;font-display:swap}:root{--color-primary:#0a353c;--color-primary-hover:#072a2f;--color-primary-soft:#e8f4f1;--color-primary-dark:#062428;--color-primary-light:#e8f4f1;--color-primary-rgb:10, 53, 60;--color-accent-navy:#0a353c;--color-accent-navy-rgb:10, 53, 60;--color-success:#1b8a5a;--color-success-light:#eaf8f1;--color-success-soft:#eaf8f1;--color-warning:#e8a317;--color-warning-light:#fff6e5;--color-danger:#dc3545;--color-danger-light:#fee2e2;--color-purple:#7c3aed;--color-purple-light:#ede9fe;--color-info:#3b6fa0;--color-info-light:#eef3f7;--color-bg:#f6f8f7;--color-page-background:#f6f8f7;--color-shell-bg:#eef1f0;--color-surface:#fff;--color-border:#e5e9e8;--color-text:#121212;--color-text-primary:#121212;--color-text-muted:#6b7280;--color-text-secondary:#6b7280;--color-tab-inactive-bg:#f1f5f9;--color-tab-inactive-text:#64748b;--color-summary-bg:#f1f5f9;--color-elevated:#fff;--color-brand-warm:#f3ece3;--color-brand-warm-text:#1a202c;--color-brand-warm-muted:#718096;--color-level-gold:#c9a227;--color-level-gold-soft:#f7efd6;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-sm:0 1px 2px #1018280a;--shadow-md:0 4px 16px #1018280f;--shadow-card:0 1px 2px #1018280a, 0 4px 16px #1018280a;--shadow-frame:0 8px 32px #0f172a1a;--nav-height:64px;--page-padding:16px;--page-padding-tablet:20px;--page-padding-desktop:28px;--page-gap:12px;--content-max-width:1360px;--form-max-width:520px;--auth-form-max-width:440px;--summary-panel-width:320px;--sidebar-width:240px;--sidebar-width-compact:72px;--header-height:70px;--app-shell-breakpoint:768px;--font-family:"IRANSans", "Tahoma", sans-serif;--btn-height:48px;--desktop-breakpoint:1200px}html.dark{--color-primary:#5eb8ad;--color-primary-hover:#7ad0c5;--color-primary-soft:#14353a;--color-primary-dark:#7ad0c5;--color-primary-light:#14353a;--color-primary-rgb:94, 184, 173;--color-accent-navy:#5eb8ad;--color-accent-navy-rgb:94, 184, 173;--color-success:#3dd68c;--color-success-light:#123528;--color-success-soft:#123528;--color-warning:#f5c14a;--color-warning-light:#3a2f14;--color-danger:#f47979;--color-danger-light:#3f1d22;--color-purple:#b39afa;--color-purple-light:#2a2144;--color-info:#7b9cff;--color-info-light:#1b2740;--color-bg:#0b0f14;--color-page-background:#0b0f14;--color-shell-bg:#080b10;--color-surface:#121821;--color-elevated:#1a2230;--color-border:#2a3444;--color-text:#eef2f8;--color-text-primary:#eef2f8;--color-text-muted:#9aa8bc;--color-text-secondary:#9aa8bc;--color-tab-inactive-bg:#1a2230;--color-tab-inactive-text:#9aa8bc;--color-summary-bg:#1a2230;--color-brand-warm:#2a241c;--color-brand-warm-text:#f3ebe0;--color-brand-warm-muted:#b9a88d;--color-level-gold:#e0c35a;--color-level-gold-soft:#3a3420;--shadow-sm:0 1px 2px #00000073;--shadow-md:0 8px 24px #00000073;--shadow-card:0 1px 2px #00000059, 0 8px 24px #00000059;--shadow-frame:0 12px 40px #00000080}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;height:100%;font-size:16px;overflow:hidden}body{font-family:var(--font-family);background:var(--color-shell-bg);color:var(--color-text);direction:rtl;height:100%;margin:0;line-height:1.5;overflow:hidden}#app{height:100dvh;overflow:hidden}*{scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{width:0;height:0;display:none}a{color:var(--color-primary);text-decoration:none}button,input,select,textarea{font-family:inherit}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;text-align:right}.page{background:var(--color-bg);min-height:0;color:var(--color-text);flex-direction:column;flex:1;padding:0;display:flex;overflow:hidden}.page__scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.page__scroll--with-nav{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.page-title{color:var(--color-text);margin:0 0 4px;font-size:1.25rem;font-weight:700;line-height:1.35}.page-subtitle{color:var(--color-text-muted);margin:0;font-size:.875rem;line-height:1.5}.card{background:var(--color-elevated);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);color:var(--color-text);padding:16px}.auth-page{background:0 0}.auth-top{padding:8px var(--page-padding);background:var(--color-surface);grid-template-columns:40px 1fr 40px;align-items:center;gap:4px;display:grid}.auth-top__title{text-align:center;color:var(--color-text);margin:0;font-size:1rem;font-weight:700}.auth-top .icon-btn{cursor:pointer;width:40px;height:40px;color:var(--color-text);background:0 0;border:none;border-radius:12px;place-items:center;padding:0;display:grid}.auth-body{padding:20px var(--page-padding) 32px;background:0 0;flex-direction:column;gap:16px;display:flex}.auth-lead{color:var(--color-text-muted);margin:0;font-size:.875rem;line-height:1.6}.auth-page .card{width:100%;max-width:var(--auth-form-max-width);box-shadow:none;background:0 0;border:none;margin-inline:auto;padding:0}.auth-switch{width:100%;max-width:var(--auth-form-max-width);text-align:center;color:var(--color-text-muted);margin:0 auto;font-size:.875rem}.auth-switch a{color:var(--color-primary);font-weight:700}.auth-page .input,.auth-page .job-select,.auth-page .otp-box{background:var(--color-surface);border:1px solid #eeeef1;border-radius:12px}.auth-page .btn{border-radius:12px}.card+.card{margin-top:var(--page-gap)}.alert{border-radius:var(--radius-sm);padding:12px 14px;font-size:.875rem;line-height:1.5}.alert-info{background:var(--color-primary-light);color:var(--color-primary);border:1px solid #cbd5e1}.alert-warning{background:var(--color-warning-light);color:#9a3412;border:1px solid #fed7aa}.alert-success{background:var(--color-success-light);color:#155724;border:1px solid #c3e6cb}.alert-danger{background:var(--color-danger-light);color:#991b1b;border:1px solid #fecaca}.form-group{margin-bottom:16px}.form-label{color:var(--color-text);margin-bottom:6px;font-size:.875rem;font-weight:600;display:block}.form-hint{color:var(--color-text-muted);margin-top:4px;font-size:.75rem}.divider{background:var(--color-border);height:1px;margin:16px 0}.text-muted{color:var(--color-text-muted)}.text-sm{font-size:.875rem}.text-center{text-align:center}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mb-4{margin-bottom:16px}.flex-between{justify-content:space-between;align-items:center;gap:8px;display:flex}.sticky-footer{bottom:calc(var(--nav-height) + 12px);z-index:50;width:100%;max-width:100%;padding-inline:var(--page-padding);box-sizing:border-box;position:fixed;inset-inline:0}.sticky-footer-inner{max-width:100%}.no-nav .page{padding-bottom:0}.no-nav .sticky-footer{bottom:0}.dialog-overlay{z-index:200;background:#0f172a66;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.dialog-overlay .dialog{width:100%;max-width:400px}.dialog-actions{flex-direction:column;gap:8px;margin-top:16px;display:flex}.desktop-only{display:none!important}.mobile-hidden{display:block}.desktop-hidden{display:none!important}@media (width>=768px){.mobile-only,.mobile-block{display:none!important}.desktop-only{display:block!important}.mobile-hidden{display:none!important}.desktop-hidden{display:block!important}.desktop-only-flex{display:flex!important}.desktop-only-grid{display:grid!important}.page{background:0 0;padding:0}.page__scroll--with-nav{padding-bottom:0}}.page-fade-enter-active,.page-fade-leave-active,.page-forward-enter-active,.page-forward-leave-active,.page-back-enter-active,.page-back-leave-active{transition:opacity .22s,transform .22s}.page-fade-enter-from,.page-fade-leave-to{opacity:0}.page-forward-enter-from{opacity:0;transform:translate(-18px)}.page-forward-leave-to{opacity:0;transform:translate(12px)}.page-back-enter-from{opacity:0;transform:translate(18px)}.page-back-leave-to{opacity:0;transform:translate(-12px)}@media (prefers-reduced-motion:reduce){.page-fade-enter-active,.page-fade-leave-active,.page-forward-enter-active,.page-forward-leave-active,.page-back-enter-active,.page-back-leave-active{transition:none}}.app-shell{background:var(--color-shell-bg);width:100%;height:100dvh;display:flex;overflow:hidden}.app-layout{flex-direction:row;width:100%;height:100%;min-height:0;display:flex}.app-frame{background:var(--color-bg);width:100%;height:100%;color:var(--color-text);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.app-main,.app-main__content{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.app-content{width:100%;min-height:0;max-width:var(--content-max-width);flex-direction:column;flex:1;margin-inline:auto;padding-inline:0;display:flex;position:relative}.page-transition{flex-direction:column;flex:1;width:100%;min-height:0;display:flex;overflow:hidden}.app-shell--with-nav{justify-content:stretch}.app-shell--with-nav .app-frame{max-width:100%;box-shadow:none;border-radius:0;margin:0}@media (width>=768px){.app-shell--with-nav,.app-shell--with-nav .app-frame{background:var(--color-page-background)}.app-shell--with-nav .app-layout{position:relative}.app-shell--with-nav .app-layout:after{content:"";top:var(--header-height);background:var(--color-border);z-index:30;pointer-events:none;height:1px;position:absolute;inset-inline:0}.app-shell--with-nav .app-main__content{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;overflow:hidden auto}.app-shell--with-nav .app-content,.app-shell--with-nav .page-transition{flex:1 0 auto;min-height:min-content;overflow:visible}.app-shell--with-nav .page-transition>*{flex:1 0 auto;height:auto;min-height:min-content;max-height:none;overflow:visible}}.app-shell--no-nav{background:var(--color-page-background);justify-content:center;align-items:center;padding:16px}.app-shell--no-nav .app-layout{max-width:var(--form-max-width);width:100%;height:auto;min-height:0;max-height:calc(100dvh - 32px);overflow:hidden}.app-shell--no-nav .app-frame{max-width:var(--form-max-width);border-radius:var(--radius-lg);width:100%;height:auto;min-height:0;max-height:calc(100dvh - 32px);box-shadow:var(--shadow-frame);background:var(--color-surface);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;overflow:hidden auto}.app-shell--no-nav .app-main,.app-shell--no-nav .app-main__content,.app-shell--no-nav .app-content,.app-shell--no-nav .page-transition{flex:1 0 auto;height:auto;min-height:min-content;overflow:visible}.app-shell--no-nav .app-content{padding-inline:var(--page-padding)}.app-shell--no-nav .page{background:0 0;min-height:auto;overflow:visible}.app-shell--no-nav.app-shell--wide .app-layout,.app-shell--no-nav.app-shell--wide .app-frame{max-width:min(var(--content-max-width), calc(100vw - 32px))}.app-shell--no-nav.app-shell--wide .app-frame{background:var(--color-bg)}.app-shell--immersive{background:#efe8df;justify-content:stretch;align-items:stretch;padding:0}.app-shell--immersive .app-layout,.app-shell--immersive .app-frame{width:100%;max-width:none;height:100%;max-height:none;box-shadow:none;background:0 0;border-radius:0;overflow:hidden}.app-shell--immersive .app-main,.app-shell--immersive .app-main__content,.app-shell--immersive .app-content,.app-shell--immersive .page-transition{flex:1;height:100%;min-height:0;overflow:hidden}.app-shell--immersive .page-transition{flex-direction:column;display:flex}.app-shell--immersive .page-transition>*{flex:1;height:100%;min-height:0}.app-shell--immersive .app-content{max-width:none;padding-inline:0}.app-shell--immersive .page{background:0 0;height:100%;min-height:0;overflow:hidden}@media (width>=768px){.app-shell--immersive .page{flex:1;max-width:none;height:100%;min-height:0;margin:0;padding:0;overflow:hidden}.app-shell--no-nav{padding:24px}.app-shell--no-nav.app-shell--immersive{padding:0}.app-shell--no-nav.app-shell--immersive .app-layout,.app-shell--no-nav.app-shell--immersive .app-frame{height:100%;max-height:none}.app-shell--no-nav .app-layout,.app-shell--no-nav .app-frame{max-height:calc(100dvh - 48px)}.app-shell--no-nav.app-shell--wide .app-layout,.app-shell--no-nav.app-shell--wide .app-frame{max-width:min(var(--content-max-width), calc(100vw - 48px))}:root{--page-padding:var(--page-padding-tablet);--nav-height:0px}html,body{height:auto;overflow:auto}#app{height:100dvh;overflow:hidden}*{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}::-webkit-scrollbar{width:6px;height:6px;display:block}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.sticky-footer{max-width:min(var(--content-max-width), calc(100% - 2 * var(--page-padding)));bottom:0}.no-nav .sticky-footer{bottom:0}.auth-body{align-items:center;padding-block:32px 48px}.auth-lead,.auth-page .card,.auth-switch{width:100%;max-width:var(--auth-form-max-width)}.company-select-page__list{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:20px;display:grid}.company-brand-card{min-height:220px}.catalog-list{gap:var(--page-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.product-list{gap:var(--page-gap);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.product-page__scroll{padding-bottom:88px}.settlement-options,.mode-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:720px;margin-inline:auto;display:grid}.company-select-page{max-width:var(--content-max-width);width:100%;padding-inline:var(--page-padding);margin-inline:auto}.company-select-page__header{max-width:560px;margin-inline:auto}.catalog-page .page__scroll,.orders-page__scroll,.product-page .product-page__scroll{max-width:var(--content-max-width);width:100%;margin-inline:auto}.cart-page{max-width:var(--content-max-width);width:100%;padding-inline:var(--page-padding);margin-inline:auto}.cart-page__body{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr) minmax(260px,300px);align-items:start;gap:16px 20px;display:grid}.cart-page__company{grid-column:1/-1;margin-bottom:0;font-size:.9375rem}.cart-page__scroll{grid-column:1;max-height:none;overflow:visible}.cart-page__footer{box-shadow:var(--shadow-md);border-radius:var(--radius-md);border-top:none;border:1px solid var(--color-border);grid-area:1/2/-1;margin:0;padding:16px;position:sticky;top:16px}.cart-table__head{position:static}.check-list-page{max-width:var(--content-max-width);width:100%;padding-inline:var(--page-padding);margin-inline:auto}.check-list-page__scroll{max-width:var(--content-max-width);width:100%;margin-inline:auto}.summary-cards{gap:16px}.checks-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;display:grid}.rass-panel{max-width:480px;margin-inline:auto}.profile-page__scroll{max-width:var(--content-max-width);width:100%;margin-inline:auto}.profile-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.profile-menu__item{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm)}.order-detail-page__body{-webkit-overflow-scrolling:touch;width:100%;max-width:none;margin-inline:0;overflow-y:auto}.order-detail-page__footer{width:100%;max-width:none;margin-inline:0}.checkout-page__scroll,.cash-page__scroll,.settlement-page__scroll,.check-mode-page__scroll{max-width:var(--form-max-width);width:100%;margin-inline:auto}.cash-page{max-width:var(--content-max-width);width:100%;margin-inline:auto}.cash-page__footer{max-width:var(--form-max-width);width:100%;box-shadow:none;border-top:none;grid-template-columns:1fr 1fr;gap:12px;margin-inline:auto;padding-top:16px;display:grid}.accounts-panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.bank-card+.bank-card,.cash-page__submit{margin-top:0}.order-info-card{max-width:520px;margin-inline:auto}.profile-edit-page .page__scroll{max-width:var(--form-max-width);width:100%;margin-inline:auto}.success-page__scroll{max-width:var(--form-max-width);flex-direction:column;align-items:center;width:100%;margin-inline:auto;display:flex}.dialog-overlay .dialog,.dialog-overlay .card.dialog{width:100%;max-width:480px}.dialog-actions{flex-direction:row;justify-content:flex-end}}@media (width>=1200px){:root{--page-padding:var(--page-padding-desktop)}.catalog-list{grid-template-columns:repeat(3,minmax(0,1fr))}.checks-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1440px){.product-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1920px){:root{--content-max-width:1120px}}@media (width>=768px){:root{--page-padding:var(--page-padding-tablet);--nav-height:0px}.page{padding:20px var(--page-padding-tablet) 28px;max-width:var(--content-max-width);background:0 0;flex:1 0 auto;width:100%;min-height:auto;margin-inline:auto;overflow:visible}.page__scroll{flex:none;min-height:auto;overflow:visible}.page__scroll--with-nav{padding-bottom:0}.page-head{margin-bottom:20px}.page-head__title{color:var(--color-text);margin:0 0 4px;font-size:1.25rem;font-weight:700}.page-head__subtitle{color:var(--color-text-muted);margin:0;font-size:.875rem}.orders-page__desktop-head{margin-bottom:20px}.orders-page__desktop-title{color:var(--color-text);margin:0 0 6px;font-size:1.375rem;font-weight:700}.orders-page__desktop-subtitle{color:var(--color-text-muted);margin:0;font-size:.875rem}.orders-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.orders-stat-card{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);flex-direction:column;align-items:stretch;gap:0;min-height:0;padding:16px 18px 14px;display:flex}.orders-stat-card__head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.orders-stat-card__label{font-size:.8125rem;font-weight:600;line-height:1.4}.orders-stat-card__label--total,.orders-stat-card__label--review{color:var(--color-text)}.orders-stat-card__label--active{color:#ea580c}.orders-stat-card__label--done{color:var(--color-success)}.orders-stat-card__value{color:var(--color-text);font-variant-numeric:tabular-nums;margin:0 0 12px;font-size:1.75rem;font-weight:700;line-height:1.15}.orders-stat-card__link{color:var(--color-primary);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;align-self:flex-start;margin-top:auto;padding:0;font-family:inherit;font-size:.8125rem;font-weight:600;text-decoration:underline}.orders-stat-card__link:hover{color:var(--color-primary-hover)}.orders-stat-card__icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.orders-stat-card__icon--total,.orders-stat-card__icon--review{background:var(--color-primary-soft);color:var(--color-primary)}.orders-stat-card__icon--active{background:var(--color-warning-light);color:#ea580c}.orders-stat-card__icon--done{background:var(--color-success-soft);color:var(--color-success)}.orders-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.orders-toolbar__actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.orders-toolbar__filter-btn{border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:8px;height:40px;padding:0 18px;font-family:inherit;font-size:.875rem;font-weight:600;display:inline-flex}.orders-toolbar__filter-btn:hover{background:var(--color-primary-hover)}.orders-toolbar__pills{flex-wrap:wrap;flex:1;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.orders-filter-pill{border:1px solid var(--color-border);background:var(--color-surface);height:36px;color:var(--color-text-muted);cursor:pointer;white-space:nowrap;border-radius:999px;padding:0 16px;font-family:inherit;font-size:.8125rem;font-weight:500;transition:background .15s,color .15s,border-color .15s}.orders-filter-pill:hover{color:var(--color-text);border-color:#cbd5e1}.orders-filter-pill--active{background:var(--color-primary-soft);color:var(--color-primary);border-color:#c7d7ff;font-weight:600}.orders-table-wrap{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-card);overflow:hidden}.orders-table-scroll{overflow-x:auto}.orders-table{border-collapse:collapse;width:100%;min-width:720px;font-size:.875rem}.orders-table th{text-align:start;color:var(--color-text-muted);background:var(--color-bg);border-bottom:1px solid var(--color-border);white-space:nowrap;padding:14px 16px;font-size:.8125rem;font-weight:600}.orders-table td{border-bottom:1px solid var(--color-border);color:var(--color-text);vertical-align:middle;background:var(--color-surface);padding:16px}.orders-table tr:last-child td{border-bottom:none}.orders-table tbody tr:hover td{background:var(--color-elevated)}.orders-table__number{color:var(--color-text);white-space:nowrap;font-weight:700}.orders-table__amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.orders-table__date{color:var(--color-text-muted);white-space:nowrap;font-size:.8125rem}.orders-table__actions{align-items:center;gap:8px;display:flex}.orders-table__action{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-primary);cursor:pointer;white-space:nowrap;padding:7px 16px;font-family:inherit;font-size:.8125rem;font-weight:600}.orders-table__action:hover{background:var(--color-primary-soft);border-color:#c7d7ff}.orders-table__menu{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.orders-table__menu:hover{background:var(--color-elevated);color:var(--color-text)}.orders-pagination{border-top:1px solid var(--color-border);color:var(--color-text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;font-size:.8125rem;display:flex}.orders-pagination__summary{white-space:nowrap}.orders-pagination__controls{align-items:center;gap:4px;display:flex}.orders-pagination__arrow{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;width:32px;height:32px;color:var(--color-text);justify-content:center;align-items:center;padding:0;display:flex}.orders-pagination__arrow:disabled{opacity:.4;cursor:not-allowed}.orders-pagination__arrow:not(:disabled):hover{border-color:var(--color-primary);color:var(--color-primary)}.orders-pagination__arrow-icon--prev{transform:scaleX(-1)}.orders-pagination__arrow-icon--next{transform:none}.orders-pagination__ellipsis{text-align:center;min-width:24px;color:var(--color-text-muted)}.orders-pagination__page{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;min-width:32px;height:32px;color:var(--color-text);padding:0 6px;font-family:inherit;font-size:.8125rem}.orders-pagination__page:hover:not(.orders-pagination__page--active){border-color:var(--color-primary);color:var(--color-primary)}.orders-pagination__page--active{background:var(--color-primary);border-color:var(--color-primary);color:#fff;font-weight:600}.product-page__layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:24px;display:grid}.product-page__main{min-width:0}.product-page__sidebar{position:sticky;top:16px}.cart-summary-panel{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-card);padding:20px}.cart-summary-panel__title{color:var(--color-text);border-bottom:1px solid var(--color-border);margin:0 0 16px;padding-bottom:12px;font-size:.9375rem;font-weight:700}.cart-summary-panel__row{justify-content:space-between;align-items:center;padding:8px 0;font-size:.875rem;display:flex}.cart-summary-panel__row span:first-child{color:var(--color-text-muted)}.cart-summary-panel__row strong{color:var(--color-text)}.cart-summary-panel__btn{margin-top:16px}.product-page__scroll{padding-bottom:0}.product-page .sticky-footer{display:none}.product-list{grid-template-columns:repeat(2,minmax(0,1fr))}.cart-page{max-width:var(--content-max-width);padding:20px var(--page-padding-tablet) 28px;background:0 0;margin-inline:auto}.cart-page__desktop-title{margin:0 0 16px;font-size:1.25rem;font-weight:700}.cart-page__body{grid-template-columns:minmax(0,1fr) minmax(280px,320px);align-items:start;gap:20px 24px;display:grid}.cart-page__company{grid-column:1/-1}.order-detail-page{max-width:none;padding:24px var(--page-padding) 32px;background:0 0;height:100%;margin-inline:0;overflow:hidden}.order-detail-back{color:var(--color-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:12px;padding:0;font-family:inherit;font-size:.875rem;font-weight:600;display:inline-flex}.company-select-page{max-width:var(--content-max-width);padding:24px var(--page-padding-desktop);background:0 0;margin-inline:auto}.catalog-page{background:0 0}.page.calite-detail,.page.calite-hub{background:#f4f0ed;max-width:none;padding:0;overflow:visible}.catalog-list{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-page{background:0 0}.profile-hero{border-radius:var(--radius-md);margin-inline:0}}@media (width>=1200px){:root{--page-padding:var(--page-padding-desktop)}.page{padding:24px var(--page-padding-desktop) 32px}.page.calite-detail,.page.calite-hub{padding:0}.orders-stats{gap:16px;margin-bottom:24px}.orders-page__desktop-head{margin-bottom:24px}.orders-toolbar{margin-bottom:20px}.catalog-list{grid-template-columns:repeat(3,minmax(0,1fr))}.product-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=768px){.desktop-page{width:100%;min-height:auto;max-width:var(--content-max-width);padding:20px var(--page-padding) 28px;box-sizing:border-box;background:0 0;flex-direction:column;flex:1 0 auto;margin-inline:auto;display:flex}.desktop-page__head{margin-bottom:20px}.desktop-page__title{color:var(--color-text);margin:0 0 6px;font-size:1.375rem;font-weight:700}.desktop-page__subtitle{color:var(--color-text-muted);margin:0;font-size:.875rem}.desktop-two-col{grid-template-columns:minmax(0,1fr);align-items:start;gap:24px;display:grid}.desktop-two-col__main{min-width:0}.desktop-summary-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:20px;position:sticky;top:16px}.desktop-summary-panel__title{border-bottom:1px solid var(--color-border);margin:0 0 16px;padding-bottom:12px;font-size:.9375rem;font-weight:700}.desktop-summary-panel__row{justify-content:space-between;align-items:center;gap:12px;padding:8px 0;font-size:.875rem;display:flex}.desktop-summary-panel__row span:first-child{color:var(--color-text-muted)}.desktop-summary-panel__row strong{color:var(--color-text);font-variant-numeric:tabular-nums}.desktop-summary-panel__action{margin-top:16px}.desktop-table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);width:100%;min-width:0;overflow:hidden}.desktop-table-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;overflow-x:auto}.desktop-table{border-collapse:collapse;width:100%;min-width:560px;font-size:.875rem}.desktop-table th{text-align:start;color:var(--color-text-muted);background:var(--color-bg);border-bottom:1px solid var(--color-border);white-space:nowrap;padding:12px 16px;font-size:.8125rem;font-weight:600}.desktop-table td{border-bottom:1px solid var(--color-border);color:var(--color-text);vertical-align:middle;background:var(--color-surface);padding:14px 16px}.desktop-table tbody tr:last-child td{border-bottom:none}.desktop-table tbody tr:hover td{background:var(--color-elevated)}.desktop-grid-2{grid-template-columns:repeat(2,minmax(280px,1fr));gap:16px;display:grid}.desktop-grid-3{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.desktop-grid-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.desktop-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.desktop-toolbar__actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.desktop-btn-compact{min-width:120px;width:auto!important;padding-inline:20px!important}.desktop-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.desktop-form-grid__full{grid-column:1/-1}.desktop-checkout-shell{width:100%;max-width:var(--content-max-width);padding:20px var(--page-padding) 28px;box-sizing:border-box;margin-inline:auto}.desktop-settlement-grid{grid-template-columns:repeat(2,minmax(280px,380px));justify-content:center;gap:20px;max-width:820px;margin-inline:auto;display:grid}.desktop-company-grid{grid-template-columns:repeat(2,minmax(280px,400px));justify-content:center;gap:20px;width:100%;max-width:900px;margin-inline:auto;display:grid}}@media (width>=1200px){.desktop-page,.desktop-checkout-shell{padding:24px var(--page-padding) 32px}.desktop-page__head{margin-bottom:24px}.desktop-two-col:has(>.desktop-summary-panel){grid-template-columns:minmax(0, 1fr) var(--summary-panel-width,320px)}.desktop-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.desktop-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}}@media (width>=1440px){.desktop-grid-3{grid-template-columns:repeat(4,minmax(0,1fr))}} +.bottom-nav[data-v-18a88055]{min-height:var(--nav-height);background:var(--color-surface);border-top:1px solid var(--color-border);z-index:100;padding:6px 4px calc(6px + env(safe-area-inset-bottom,0));flex-shrink:0;justify-content:space-around;align-items:flex-end;display:flex}@media (width>=768px){.bottom-nav[data-v-18a88055]{display:none}}.nav-item[data-v-18a88055]{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-radius:10px;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;min-width:0;margin:0;padding:4px 2px 2px;transition:color .15s;display:flex;position:relative}.nav-item[data-v-18a88055]:focus,.nav-item[data-v-18a88055]:focus-visible{outline:none}.nav-item.active[data-v-18a88055]{color:var(--color-primary);background:0 0}.nav-item.active .nav-label[data-v-18a88055]{font-weight:700}.nav-item--fab[data-v-18a88055]{color:var(--color-text-muted);justify-content:flex-end}.nav-item--fab.active[data-v-18a88055]{color:var(--color-primary)}.nav-icon[data-v-18a88055]{flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex;position:relative;overflow:visible}.nav-icon--fab[data-v-18a88055]{background:var(--color-primary);color:#fff;width:52px;height:52px;box-shadow:0 6px 16px rgba(var(--color-primary-rgb), .35);border-radius:999px;margin-top:-28px}.nav-label[data-v-18a88055]{white-space:nowrap;font-size:.6875rem;font-weight:500;line-height:1.2}.nav-label--fab[data-v-18a88055]{font-size:.625rem}.nav-badge[data-v-18a88055]{top:-2px;background:var(--color-danger);color:#fff;pointer-events:none;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.625rem;font-weight:700;line-height:1;display:flex;position:absolute;inset-inline-end:-2px}.brand-logo[data-v-b211450b]{object-fit:contain;-webkit-user-select:none;user-select:none;flex-shrink:0;width:auto;display:block}.desktop-sidebar[data-v-a03a8196]{width:var(--sidebar-width);background:var(--color-surface);border-inline-start:1px solid var(--color-border);flex-direction:column;flex-shrink:0;height:100%;padding:0;display:none;overflow-y:auto}@media (width>=768px){.desktop-sidebar[data-v-a03a8196]{display:flex}}.desktop-sidebar__brand[data-v-a03a8196]{height:var(--header-height);min-height:var(--header-height);max-height:var(--header-height);box-sizing:border-box;border-bottom:none;flex-shrink:0;justify-content:flex-start;align-items:center;gap:10px;padding:0 20px;display:flex}@media (width>=1200px){.desktop-sidebar__brand[data-v-a03a8196]{padding:0 28px}}.desktop-sidebar__logo-mark[data-v-a03a8196]{flex-shrink:0}.desktop-sidebar__title[data-v-a03a8196]{color:var(--color-primary);font-size:1rem;font-weight:700;display:block}.desktop-sidebar__nav[data-v-a03a8196]{flex-direction:column;flex:1;gap:4px;padding:12px 12px 0;display:flex}@media (width>=1200px){.desktop-sidebar__nav[data-v-a03a8196]{padding:16px 16px 0}}.desktop-sidebar__item[data-v-a03a8196]{border-radius:var(--radius-md);cursor:pointer;width:100%;color:var(--color-text-secondary);text-align:start;background:0 0;border:none;justify-content:flex-start;align-items:center;gap:12px;padding:11px 12px;transition:background .15s,color .15s;display:flex;position:relative}@media (width>=1200px){.desktop-sidebar__item[data-v-a03a8196]{padding:11px 14px}}.desktop-sidebar__item[data-v-a03a8196]:hover{background:var(--color-elevated);color:var(--color-text)}.desktop-sidebar__item[data-v-a03a8196]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.desktop-sidebar__item.active[data-v-a03a8196]{background:var(--color-primary-soft);color:var(--color-primary);font-weight:600}.desktop-sidebar__item.active .desktop-sidebar__icon[data-v-a03a8196]{color:var(--color-primary)}.desktop-sidebar__icon[data-v-a03a8196]{width:22px;height:22px;color:inherit;flex-shrink:0;justify-content:center;align-items:center;display:flex}.desktop-sidebar__label[data-v-a03a8196]{font-size:.875rem;font-weight:inherit;white-space:nowrap;display:block}.desktop-sidebar__badge[data-v-a03a8196]{background:var(--color-danger);color:var(--color-surface);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:20px;height:20px;margin-inline-start:auto;padding:0 4px;font-size:.6875rem;font-weight:700;display:flex}.desktop-sidebar__support[data-v-a03a8196]{background:var(--color-primary-soft);border-radius:var(--radius-lg);flex-direction:column;gap:8px;margin:auto 12px 20px;padding:14px;display:flex}@media (width>=1200px){.desktop-sidebar__support[data-v-a03a8196]{margin:auto 16px 24px;padding:16px}}.desktop-sidebar__support-icon[data-v-a03a8196]{background:var(--color-primary);width:36px;height:36px;color:var(--color-surface);border-radius:50%;justify-content:center;align-items:center;display:flex}.desktop-sidebar__support-title[data-v-a03a8196]{color:var(--color-text);font-size:.875rem;font-weight:700}.desktop-sidebar__support-text[data-v-a03a8196]{color:var(--color-text-muted);margin:0;font-size:.6875rem;line-height:1.5}.desktop-sidebar__support-btn[data-v-a03a8196]{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-primary);text-align:center;margin-top:4px;padding:10px 12px;font-size:.8125rem;font-weight:600;text-decoration:none;transition:opacity .15s;display:block}.desktop-sidebar__support-btn[data-v-a03a8196]:hover{opacity:.9}.auth-theme-toggle[data-v-3a58cb84]{color:inherit;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .15s;display:inline-flex}.auth-theme-toggle--floating[data-v-3a58cb84]{top:calc(12px + env(safe-area-inset-top,0px));z-index:100;width:40px;height:40px;color:var(--color-text);box-shadow:none;background:0 0;position:fixed;inset-inline-end:16px}.auth-theme-toggle--inline[data-v-3a58cb84]{width:40px;height:40px;color:inherit;flex-shrink:0;position:relative}.auth-theme-toggle[data-v-3a58cb84]:hover{color:var(--color-primary)}.user-avatar[data-v-5c562bf0]{color:inherit;background:#ffffff2e;border-radius:999px;flex-shrink:0;place-items:center;font-weight:700;display:grid;overflow:hidden}.user-avatar__img[data-v-5c562bf0]{object-fit:cover;width:100%;height:100%;display:block}.desktop-header[data-v-d90aac23]{height:var(--header-height);min-height:var(--header-height);max-height:var(--header-height);box-sizing:border-box;background:var(--color-surface);border-bottom:none;flex-shrink:0;justify-content:space-between;align-items:center;gap:24px;padding:0 28px;display:none}@media (width>=768px){.desktop-header[data-v-d90aac23]{padding:0 var(--page-padding);gap:16px;display:flex}}@media (width>=1200px){.desktop-header[data-v-d90aac23]{padding:0 var(--page-padding);gap:24px}}.desktop-header__spacer[data-v-d90aac23]{flex:1;min-width:0}.desktop-header__actions[data-v-d90aac23]{flex-shrink:0;align-items:center;gap:16px;margin-inline-start:auto;display:flex}.desktop-header__company[data-v-d90aac23]{color:var(--color-text-muted);border-inline-end:1px solid var(--color-border);padding-inline-end:8px;font-size:.8125rem;font-weight:600;display:none}@media (width>=992px){.desktop-header__company[data-v-d90aac23]{display:block}}.desktop-header__icon-btn[data-v-d90aac23]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:40px;height:40px;color:var(--color-text-muted);cursor:pointer;justify-content:center;align-items:center;display:flex;position:relative}.desktop-header__notif-badge[data-v-d90aac23]{top:4px;background:var(--color-danger);min-width:18px;height:18px;color:var(--color-on-primary,#fff);border:2px solid var(--color-surface);border-radius:9px;justify-content:center;align-items:center;padding:0 4px;font-size:.625rem;font-weight:700;display:flex;position:absolute;inset-inline-end:4px}.desktop-header__user-wrap[data-v-d90aac23]{position:relative}.desktop-header__user[data-v-d90aac23]{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;align-items:center;gap:10px;padding:6px 12px 6px 8px;font-family:inherit;display:flex}.desktop-header__avatar[data-v-d90aac23]{background:var(--color-primary);color:var(--color-surface)}.desktop-header__user-name[data-v-d90aac23]{color:var(--color-text);font-size:.875rem;font-weight:600;display:none}@media (width>=1200px){.desktop-header__user-name[data-v-d90aac23]{display:block}}.desktop-header__chevron[data-v-d90aac23]{color:var(--color-text-muted);transform:rotate(-90deg)}.desktop-header__menu[data-v-d90aac23]{top:calc(100% + 6px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:160px;box-shadow:var(--shadow-md);z-index:100;padding:6px;position:absolute;inset-inline-end:0}.desktop-header__menu button[data-v-d90aac23]{text-align:start;cursor:pointer;border-radius:var(--radius-sm);width:100%;color:var(--color-text);background:0 0;border:none;padding:10px 12px;font-family:inherit;font-size:.875rem}.desktop-header__menu button[data-v-d90aac23]:hover{background:var(--color-elevated)}.desktop-header__menu-logout[data-v-d90aac23]{color:var(--color-danger)!important}.btn[data-v-3628a8bb]{border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;font-weight:600;transition:background .15s,opacity .15s;display:inline-flex}.btn[data-v-3628a8bb]:disabled{opacity:.55;cursor:not-allowed}.btn-block[data-v-3628a8bb]{width:100%}.btn-sm[data-v-3628a8bb]{min-height:36px;padding:0 14px;font-size:.8125rem}.btn-md[data-v-3628a8bb]{min-height:var(--btn-height);padding:0 24px;font-size:.9375rem}.btn-lg[data-v-3628a8bb]{min-height:52px;padding:0 28px;font-size:1rem}.btn-primary[data-v-3628a8bb]{background:var(--color-primary);color:var(--color-surface)}.btn-primary[data-v-3628a8bb]:not(:disabled):hover{background:var(--color-primary-dark)}.btn-secondary[data-v-3628a8bb]{background:var(--color-primary-light);color:var(--color-primary)}.btn-outline[data-v-3628a8bb]{color:var(--color-primary);border:1.5px solid var(--color-primary);background:0 0}.btn-danger[data-v-3628a8bb]{background:var(--color-danger);color:var(--color-surface)}.btn-ghost[data-v-3628a8bb]{color:var(--color-text-muted);background:0 0}.btn-spinner[data-v-3628a8bb]{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin-3628a8bb}@keyframes spin-3628a8bb{to{transform:rotate(360deg)}}.confirm-dialog[data-v-2e50e2a7]{padding:20px}.confirm-dialog__title[data-v-2e50e2a7]{margin:0 0 8px;font-size:1.0625rem;font-weight:700}.confirm-dialog__message[data-v-2e50e2a7]{color:var(--color-text-muted);margin:0;font-size:.875rem;line-height:1.7}.confirm-dialog__actions[data-v-2e50e2a7]{margin-top:20px}@media (width>=768px){.confirm-dialog__actions[data-v-2e50e2a7]{flex-direction:row;justify-content:flex-end}}*,: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: }.btn-block{width:100%}.page-shell{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.static{position:static}.isolate{isolation:isolate}.grid{display:grid}.inline-grid{display:inline-grid}.m-0{margin:0}.mb-3{margin-bottom:.75rem}.mr-4{margin-right:1rem}.mt-1{margin-top:.25rem}.inline,.empty-inline:empty{display:inline}.block{display:block}.inline-block{display:inline-block}.hidden{display:none}.h-10{height:2.5rem}.h1{height:.25rem}.h2{height:.5rem}.h3{height:.75rem}.min-w-0{min-width:0}.w-10{width:2.5rem}.flex{display:flex}.inline-flex{display:inline-flex}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.table{display:table}.border-collapse{border-collapse:collapse}.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}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.b,.border{border-width:1px}.border-t{border-top-width:1px}.border-\[var\(--color-border\)\]{border-color:var(--color-border)}.rounded-\[var\(--radius-md\)\]{border-radius:var(--radius-md)}.rounded-full{border-radius:9999px}.bg-\[var\(--color-primary-soft\)\]{background-color:var(--color-primary-soft)}.bg-\[var\(--color-surface\)\]{background-color:var(--color-surface)}.p-4{padding:1rem}.px{padding-left:1rem;padding-right:1rem}.pt-3{padding-top:.75rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.text-\[var\(--color-danger\)\]{color:var(--color-danger)}.text-\[var\(--color-primary\)\]{color:var(--color-primary)}.text-\[var\(--color-success\)\]{color:var(--color-success)}.text-\[var\(--color-text-muted\)\],.text-muted{color:var(--color-text-muted)}.text-\[var\(--color-text\)\]{color:var(--color-text)}.text-white{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-relaxed{line-height:1.625}.italic{font-style:italic}.tabular-nums{--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)}.underline{text-decoration-line:underline}.tab{tab-size:4}.text-shadow{--un-text-shadow:0 0 1px var(--un-text-shadow-color,#0003),0 0 1px var(--un-text-shadow-color,#0100051a);text-shadow:var(--un-text-shadow)}.outline{outline-style:solid}.blur{--un-blur:blur(8px);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)}.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,.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@font-face{font-family:IRANSans;src:url(/assets/IRANSansWeb\(FaNum\)-BLA2CtIC.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IRANSans;src:url(/assets/IRANSansWeb\(FaNum\)_Light-B637MNLG.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:IRANSans;src:url(/assets/IRANSansWeb\(FaNum\)_UltraLight-hW-WDKY9.woff2)format("woff2");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:IRANSans;src:url(/assets/IRANSansWeb\(FaNum\)_Medium-C2CKjrKB.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:IRANSans;src:url(/assets/IRANSansWeb\(FaNum\)_Medium-C2CKjrKB.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:IRANSans;src:url(/assets/IRANSansWeb\(FaNum\)_Bold-C8urhp07.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:IRANSans;src:url(/assets/IRANSansWeb\(FaNum\)_Black-BFAfOkt4.woff2)format("woff2");font-weight:900;font-style:normal;font-display:swap}:root{--color-primary:#0a353c;--color-primary-hover:#072a2f;--color-primary-soft:#e8f4f1;--color-primary-dark:#062428;--color-primary-light:#e8f4f1;--color-primary-rgb:10, 53, 60;--color-accent-navy:#0a353c;--color-accent-navy-rgb:10, 53, 60;--color-success:#1b8a5a;--color-success-light:#eaf8f1;--color-success-soft:#eaf8f1;--color-warning:#e8a317;--color-warning-light:#fff6e5;--color-danger:#dc3545;--color-danger-light:#fee2e2;--color-purple:#7c3aed;--color-purple-light:#ede9fe;--color-info:#3b6fa0;--color-info-light:#eef3f7;--color-bg:#f6f8f7;--color-page-background:#f6f8f7;--color-shell-bg:#eef1f0;--color-surface:#fff;--color-border:#e5e9e8;--color-text:#121212;--color-text-primary:#121212;--color-text-muted:#6b7280;--color-text-secondary:#6b7280;--color-tab-inactive-bg:#f1f5f9;--color-tab-inactive-text:#64748b;--color-summary-bg:#f1f5f9;--color-elevated:#fff;--color-brand-warm:#f3ece3;--color-brand-warm-text:#1a202c;--color-brand-warm-muted:#718096;--color-level-gold:#c9a227;--color-level-gold-soft:#f7efd6;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-sm:0 1px 2px #1018280a;--shadow-md:0 4px 16px #1018280f;--shadow-card:0 1px 2px #1018280a, 0 4px 16px #1018280a;--shadow-frame:0 8px 32px #0f172a1a;--nav-height:64px;--page-padding:16px;--page-padding-tablet:20px;--page-padding-desktop:28px;--page-gap:12px;--content-max-width:1360px;--form-max-width:520px;--auth-form-max-width:440px;--summary-panel-width:320px;--sidebar-width:240px;--sidebar-width-compact:72px;--header-height:70px;--app-shell-breakpoint:768px;--font-family:"IRANSans", "Tahoma", sans-serif;--btn-height:48px;--desktop-breakpoint:1200px}html.dark{--color-primary:#5eb8ad;--color-primary-hover:#7ad0c5;--color-primary-soft:#14353a;--color-primary-dark:#7ad0c5;--color-primary-light:#14353a;--color-primary-rgb:94, 184, 173;--color-accent-navy:#5eb8ad;--color-accent-navy-rgb:94, 184, 173;--color-success:#3dd68c;--color-success-light:#123528;--color-success-soft:#123528;--color-warning:#f5c14a;--color-warning-light:#3a2f14;--color-danger:#f47979;--color-danger-light:#3f1d22;--color-purple:#b39afa;--color-purple-light:#2a2144;--color-info:#7b9cff;--color-info-light:#1b2740;--color-bg:#0b0f14;--color-page-background:#0b0f14;--color-shell-bg:#080b10;--color-surface:#121821;--color-elevated:#1a2230;--color-border:#2a3444;--color-text:#eef2f8;--color-text-primary:#eef2f8;--color-text-muted:#9aa8bc;--color-text-secondary:#9aa8bc;--color-tab-inactive-bg:#1a2230;--color-tab-inactive-text:#9aa8bc;--color-summary-bg:#1a2230;--color-brand-warm:#2a241c;--color-brand-warm-text:#f3ebe0;--color-brand-warm-muted:#b9a88d;--color-level-gold:#e0c35a;--color-level-gold-soft:#3a3420;--shadow-sm:0 1px 2px #00000073;--shadow-md:0 8px 24px #00000073;--shadow-card:0 1px 2px #00000059, 0 8px 24px #00000059;--shadow-frame:0 12px 40px #00000080}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;height:100%;font-size:16px;overflow:hidden}body{font-family:var(--font-family);background:var(--color-shell-bg);color:var(--color-text);direction:rtl;height:100%;margin:0;line-height:1.5;overflow:hidden}#app{height:100dvh;overflow:hidden}*{scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{width:0;height:0;display:none}a{color:var(--color-primary);text-decoration:none}button,input,select,textarea{font-family:inherit}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;text-align:right}.page{background:var(--color-bg);min-height:0;color:var(--color-text);flex-direction:column;flex:1;padding:0;display:flex;overflow:hidden}.page__scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.page__scroll--with-nav{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.page-title{color:var(--color-text);margin:0 0 4px;font-size:1.25rem;font-weight:700;line-height:1.35}.page-subtitle{color:var(--color-text-muted);margin:0;font-size:.875rem;line-height:1.5}.card{background:var(--color-elevated);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);color:var(--color-text);padding:16px}.auth-page{background:0 0}.auth-top{padding:8px var(--page-padding);background:var(--color-surface);grid-template-columns:40px 1fr 40px;align-items:center;gap:4px;display:grid}.auth-top__title{text-align:center;color:var(--color-text);margin:0;font-size:1rem;font-weight:700}.auth-top .icon-btn{cursor:pointer;width:40px;height:40px;color:var(--color-text);background:0 0;border:none;border-radius:12px;place-items:center;padding:0;display:grid}.auth-body{padding:20px var(--page-padding) 32px;background:0 0;flex-direction:column;gap:16px;display:flex}.auth-lead{color:var(--color-text-muted);margin:0;font-size:.875rem;line-height:1.6}.auth-page .card{width:100%;max-width:var(--auth-form-max-width);box-shadow:none;background:0 0;border:none;margin-inline:auto;padding:0}.auth-switch{width:100%;max-width:var(--auth-form-max-width);text-align:center;color:var(--color-text-muted);margin:0 auto;font-size:.875rem}.auth-switch a{color:var(--color-primary);font-weight:700}.auth-page .input,.auth-page .job-select,.auth-page .otp-box{background:var(--color-surface);border:1px solid #eeeef1;border-radius:12px}.auth-page .btn{border-radius:12px}.card+.card{margin-top:var(--page-gap)}.alert{border-radius:var(--radius-sm);padding:12px 14px;font-size:.875rem;line-height:1.5}.alert-info{background:var(--color-primary-light);color:var(--color-primary);border:1px solid #cbd5e1}.alert-warning{background:var(--color-warning-light);color:#9a3412;border:1px solid #fed7aa}.alert-success{background:var(--color-success-light);color:#155724;border:1px solid #c3e6cb}.alert-danger{background:var(--color-danger-light);color:#991b1b;border:1px solid #fecaca}.form-group{margin-bottom:16px}.form-label{color:var(--color-text);margin-bottom:6px;font-size:.875rem;font-weight:600;display:block}.form-hint{color:var(--color-text-muted);margin-top:4px;font-size:.75rem}.divider{background:var(--color-border);height:1px;margin:16px 0}.text-muted{color:var(--color-text-muted)}.text-sm{font-size:.875rem}.text-center{text-align:center}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mb-4{margin-bottom:16px}.flex-between{justify-content:space-between;align-items:center;gap:8px;display:flex}.sticky-footer{bottom:calc(var(--nav-height) + 12px);z-index:50;width:100%;max-width:100%;padding-inline:var(--page-padding);box-sizing:border-box;position:fixed;inset-inline:0}.sticky-footer-inner{max-width:100%}.no-nav .page{padding-bottom:0}.no-nav .sticky-footer{bottom:0}.dialog-overlay{z-index:200;background:#0f172a66;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.dialog-overlay .dialog{width:100%;max-width:400px}.dialog-actions{flex-direction:column;gap:8px;margin-top:16px;display:flex}.desktop-only{display:none!important}.mobile-hidden{display:block}.desktop-hidden{display:none!important}@media (width>=768px){.mobile-only,.mobile-block{display:none!important}.desktop-only{display:block!important}.mobile-hidden{display:none!important}.desktop-hidden{display:block!important}.desktop-only-flex{display:flex!important}.desktop-only-grid{display:grid!important}.page{background:0 0;padding:0}.page__scroll--with-nav{padding-bottom:0}}.page-fade-enter-active,.page-fade-leave-active,.page-forward-enter-active,.page-forward-leave-active,.page-back-enter-active,.page-back-leave-active{transition:opacity .22s,transform .22s}.page-fade-enter-from,.page-fade-leave-to{opacity:0}.page-forward-enter-from{opacity:0;transform:translate(-18px)}.page-forward-leave-to{opacity:0;transform:translate(12px)}.page-back-enter-from{opacity:0;transform:translate(18px)}.page-back-leave-to{opacity:0;transform:translate(-12px)}@media (prefers-reduced-motion:reduce){.page-fade-enter-active,.page-fade-leave-active,.page-forward-enter-active,.page-forward-leave-active,.page-back-enter-active,.page-back-leave-active{transition:none}}.app-shell{background:var(--color-shell-bg);width:100%;height:100dvh;display:flex;overflow:hidden}.app-layout{flex-direction:row;width:100%;height:100%;min-height:0;display:flex}.app-frame{background:var(--color-bg);width:100%;height:100%;color:var(--color-text);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.app-main,.app-main__content{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.app-content{width:100%;min-height:0;max-width:var(--content-max-width);flex-direction:column;flex:1;margin-inline:auto;padding-inline:0;display:flex;position:relative}.page-transition{flex-direction:column;flex:1;width:100%;min-height:0;display:flex;overflow:hidden}.app-shell--with-nav{justify-content:stretch}.app-shell--with-nav .app-frame{max-width:100%;box-shadow:none;border-radius:0;margin:0}@media (width>=768px){.app-shell--with-nav,.app-shell--with-nav .app-frame{background:var(--color-page-background)}.app-shell--with-nav .app-layout{position:relative}.app-shell--with-nav .app-layout:after{content:"";top:var(--header-height);background:var(--color-border);z-index:30;pointer-events:none;height:1px;position:absolute;inset-inline:0}.app-shell--with-nav .app-main__content{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;overflow:hidden auto}.app-shell--with-nav .app-content,.app-shell--with-nav .page-transition{flex:1 0 auto;min-height:min-content;overflow:visible}.app-shell--with-nav .page-transition>*{flex:1 0 auto;height:auto;min-height:min-content;max-height:none;overflow:visible}}.app-shell--no-nav{background:var(--color-page-background);justify-content:center;align-items:center;padding:16px}.app-shell--no-nav .app-layout{max-width:var(--form-max-width);width:100%;height:auto;min-height:0;max-height:calc(100dvh - 32px);overflow:hidden}.app-shell--no-nav .app-frame{max-width:var(--form-max-width);border-radius:var(--radius-lg);width:100%;height:auto;min-height:0;max-height:calc(100dvh - 32px);box-shadow:var(--shadow-frame);background:var(--color-surface);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;overflow:hidden auto}.app-shell--no-nav .app-main,.app-shell--no-nav .app-main__content,.app-shell--no-nav .app-content,.app-shell--no-nav .page-transition{flex:1 0 auto;height:auto;min-height:min-content;overflow:visible}.app-shell--no-nav .app-content{padding-inline:var(--page-padding)}.app-shell--no-nav .page{background:0 0;min-height:auto;overflow:visible}.app-shell--no-nav.app-shell--wide .app-layout,.app-shell--no-nav.app-shell--wide .app-frame{max-width:min(var(--content-max-width), calc(100vw - 32px))}.app-shell--no-nav.app-shell--wide .app-frame{background:var(--color-bg)}.app-shell--immersive{background:#efe8df;justify-content:stretch;align-items:stretch;padding:0}.app-shell--immersive .app-layout,.app-shell--immersive .app-frame{width:100%;max-width:none;height:100%;max-height:none;box-shadow:none;background:0 0;border-radius:0;overflow:hidden}.app-shell--immersive .app-main,.app-shell--immersive .app-main__content,.app-shell--immersive .app-content,.app-shell--immersive .page-transition{flex:1;height:100%;min-height:0;overflow:hidden}.app-shell--immersive .page-transition{flex-direction:column;display:flex}.app-shell--immersive .page-transition>*{flex:1;height:100%;min-height:0}.app-shell--immersive .app-content{max-width:none;padding-inline:0}.app-shell--immersive .page{background:0 0;height:100%;min-height:0;overflow:hidden}@media (width>=768px){.app-shell--immersive .page{flex:1;max-width:none;height:100%;min-height:0;margin:0;padding:0;overflow:hidden}.app-shell--no-nav{padding:24px}.app-shell--no-nav.app-shell--immersive{background:#141210;justify-content:center;align-items:center;padding:0}.app-shell--no-nav.app-shell--immersive .app-layout,.app-shell--no-nav.app-shell--immersive .app-frame{width:min(100%,430px);max-width:430px;height:100%;max-height:100dvh;box-shadow:none;border-radius:0;margin-inline:auto}.app-shell--no-nav .app-layout,.app-shell--no-nav .app-frame{max-height:calc(100dvh - 48px)}.app-shell--no-nav.app-shell--wide .app-layout,.app-shell--no-nav.app-shell--wide .app-frame{max-width:min(var(--content-max-width), calc(100vw - 48px))}:root{--page-padding:var(--page-padding-tablet);--nav-height:0px}html,body{height:auto;overflow:auto}#app{height:100dvh;overflow:hidden}*{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}::-webkit-scrollbar{width:6px;height:6px;display:block}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.sticky-footer{max-width:min(var(--content-max-width), calc(100% - 2 * var(--page-padding)));bottom:0}.no-nav .sticky-footer{bottom:0}.auth-body{align-items:center;padding-block:32px 48px}.auth-lead,.auth-page .card,.auth-switch{width:100%;max-width:var(--auth-form-max-width)}.company-select-page__list{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:20px;display:grid}.company-brand-card{min-height:220px}.catalog-list{gap:var(--page-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.product-list{gap:var(--page-gap);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.product-page__scroll{padding-bottom:88px}.settlement-options,.mode-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:720px;margin-inline:auto;display:grid}.company-select-page{max-width:var(--content-max-width);width:100%;padding-inline:var(--page-padding);margin-inline:auto}.company-select-page__header{max-width:560px;margin-inline:auto}.catalog-page .page__scroll,.orders-page__scroll,.product-page .product-page__scroll{max-width:var(--content-max-width);width:100%;margin-inline:auto}.cart-page{max-width:var(--content-max-width);width:100%;padding-inline:var(--page-padding);margin-inline:auto}.cart-page__body{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr) minmax(260px,300px);align-items:start;gap:16px 20px;display:grid}.cart-page__company{grid-column:1/-1;margin-bottom:0;font-size:.9375rem}.cart-page__scroll{grid-column:1;max-height:none;overflow:visible}.cart-page__footer{box-shadow:var(--shadow-md);border-radius:var(--radius-md);border-top:none;border:1px solid var(--color-border);grid-area:1/2/-1;margin:0;padding:16px;position:sticky;top:16px}.cart-table__head{position:static}.check-list-page{max-width:var(--content-max-width);width:100%;padding-inline:var(--page-padding);margin-inline:auto}.check-list-page__scroll{max-width:var(--content-max-width);width:100%;margin-inline:auto}.summary-cards{gap:16px}.checks-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;display:grid}.rass-panel{max-width:480px;margin-inline:auto}.profile-page__scroll{max-width:var(--content-max-width);width:100%;margin-inline:auto}.profile-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.profile-menu__item{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm)}.order-detail-page__body{-webkit-overflow-scrolling:touch;width:100%;max-width:none;margin-inline:0;overflow-y:auto}.order-detail-page__footer{width:100%;max-width:none;margin-inline:0}.checkout-page__scroll,.cash-page__scroll,.settlement-page__scroll,.check-mode-page__scroll{max-width:var(--form-max-width);width:100%;margin-inline:auto}.cash-page{max-width:var(--content-max-width);width:100%;margin-inline:auto}.cash-page__footer{max-width:var(--form-max-width);width:100%;box-shadow:none;border-top:none;grid-template-columns:1fr 1fr;gap:12px;margin-inline:auto;padding-top:16px;display:grid}.accounts-panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.bank-card+.bank-card,.cash-page__submit{margin-top:0}.order-info-card{max-width:520px;margin-inline:auto}.profile-edit-page .page__scroll{max-width:var(--form-max-width);width:100%;margin-inline:auto}.success-page__scroll{max-width:var(--form-max-width);flex-direction:column;align-items:center;width:100%;margin-inline:auto;display:flex}.dialog-overlay .dialog,.dialog-overlay .card.dialog{width:100%;max-width:480px}.dialog-actions{flex-direction:row;justify-content:flex-end}}@media (width>=1200px){:root{--page-padding:var(--page-padding-desktop)}.catalog-list{grid-template-columns:repeat(3,minmax(0,1fr))}.checks-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1440px){.product-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1920px){:root{--content-max-width:1120px}}@media (width>=768px){:root{--page-padding:var(--page-padding-tablet);--nav-height:0px}.page{padding:20px var(--page-padding-tablet) 28px;max-width:var(--content-max-width);background:0 0;flex:1 0 auto;width:100%;min-height:auto;margin-inline:auto;overflow:visible}.page__scroll{flex:none;min-height:auto;overflow:visible}.page__scroll--with-nav{padding-bottom:0}.page-head{margin-bottom:20px}.page-head__title{color:var(--color-text);margin:0 0 4px;font-size:1.25rem;font-weight:700}.page-head__subtitle{color:var(--color-text-muted);margin:0;font-size:.875rem}.orders-page__desktop-head{margin-bottom:20px}.orders-page__desktop-title{color:var(--color-text);margin:0 0 6px;font-size:1.375rem;font-weight:700}.orders-page__desktop-subtitle{color:var(--color-text-muted);margin:0;font-size:.875rem}.orders-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.orders-stat-card{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);flex-direction:column;align-items:stretch;gap:0;min-height:0;padding:16px 18px 14px;display:flex}.orders-stat-card__head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.orders-stat-card__label{font-size:.8125rem;font-weight:600;line-height:1.4}.orders-stat-card__label--total,.orders-stat-card__label--review{color:var(--color-text)}.orders-stat-card__label--active{color:#ea580c}.orders-stat-card__label--done{color:var(--color-success)}.orders-stat-card__value{color:var(--color-text);font-variant-numeric:tabular-nums;margin:0 0 12px;font-size:1.75rem;font-weight:700;line-height:1.15}.orders-stat-card__link{color:var(--color-primary);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;align-self:flex-start;margin-top:auto;padding:0;font-family:inherit;font-size:.8125rem;font-weight:600;text-decoration:underline}.orders-stat-card__link:hover{color:var(--color-primary-hover)}.orders-stat-card__icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.orders-stat-card__icon--total,.orders-stat-card__icon--review{background:var(--color-primary-soft);color:var(--color-primary)}.orders-stat-card__icon--active{background:var(--color-warning-light);color:#ea580c}.orders-stat-card__icon--done{background:var(--color-success-soft);color:var(--color-success)}.orders-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.orders-toolbar__actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.orders-toolbar__filter-btn{border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:8px;height:40px;padding:0 18px;font-family:inherit;font-size:.875rem;font-weight:600;display:inline-flex}.orders-toolbar__filter-btn:hover{background:var(--color-primary-hover)}.orders-toolbar__pills{flex-wrap:wrap;flex:1;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.orders-filter-pill{border:1px solid var(--color-border);background:var(--color-surface);height:36px;color:var(--color-text-muted);cursor:pointer;white-space:nowrap;border-radius:999px;padding:0 16px;font-family:inherit;font-size:.8125rem;font-weight:500;transition:background .15s,color .15s,border-color .15s}.orders-filter-pill:hover{color:var(--color-text);border-color:#cbd5e1}.orders-filter-pill--active{background:var(--color-primary-soft);color:var(--color-primary);border-color:#c7d7ff;font-weight:600}.orders-table-wrap{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-card);overflow:hidden}.orders-table-scroll{overflow-x:auto}.orders-table{border-collapse:collapse;width:100%;min-width:720px;font-size:.875rem}.orders-table th{text-align:start;color:var(--color-text-muted);background:var(--color-bg);border-bottom:1px solid var(--color-border);white-space:nowrap;padding:14px 16px;font-size:.8125rem;font-weight:600}.orders-table td{border-bottom:1px solid var(--color-border);color:var(--color-text);vertical-align:middle;background:var(--color-surface);padding:16px}.orders-table tr:last-child td{border-bottom:none}.orders-table tbody tr:hover td{background:var(--color-elevated)}.orders-table__number{color:var(--color-text);white-space:nowrap;font-weight:700}.orders-table__amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.orders-table__date{color:var(--color-text-muted);white-space:nowrap;font-size:.8125rem}.orders-table__actions{align-items:center;gap:8px;display:flex}.orders-table__action{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-primary);cursor:pointer;white-space:nowrap;padding:7px 16px;font-family:inherit;font-size:.8125rem;font-weight:600}.orders-table__action:hover{background:var(--color-primary-soft);border-color:#c7d7ff}.orders-table__menu{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.orders-table__menu:hover{background:var(--color-elevated);color:var(--color-text)}.orders-pagination{border-top:1px solid var(--color-border);color:var(--color-text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;font-size:.8125rem;display:flex}.orders-pagination__summary{white-space:nowrap}.orders-pagination__controls{align-items:center;gap:4px;display:flex}.orders-pagination__arrow{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;width:32px;height:32px;color:var(--color-text);justify-content:center;align-items:center;padding:0;display:flex}.orders-pagination__arrow:disabled{opacity:.4;cursor:not-allowed}.orders-pagination__arrow:not(:disabled):hover{border-color:var(--color-primary);color:var(--color-primary)}.orders-pagination__arrow-icon--prev{transform:scaleX(-1)}.orders-pagination__arrow-icon--next{transform:none}.orders-pagination__ellipsis{text-align:center;min-width:24px;color:var(--color-text-muted)}.orders-pagination__page{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;min-width:32px;height:32px;color:var(--color-text);padding:0 6px;font-family:inherit;font-size:.8125rem}.orders-pagination__page:hover:not(.orders-pagination__page--active){border-color:var(--color-primary);color:var(--color-primary)}.orders-pagination__page--active{background:var(--color-primary);border-color:var(--color-primary);color:#fff;font-weight:600}.product-page__layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:24px;display:grid}.product-page__main{min-width:0}.product-page__sidebar{position:sticky;top:16px}.cart-summary-panel{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-card);padding:20px}.cart-summary-panel__title{color:var(--color-text);border-bottom:1px solid var(--color-border);margin:0 0 16px;padding-bottom:12px;font-size:.9375rem;font-weight:700}.cart-summary-panel__row{justify-content:space-between;align-items:center;padding:8px 0;font-size:.875rem;display:flex}.cart-summary-panel__row span:first-child{color:var(--color-text-muted)}.cart-summary-panel__row strong{color:var(--color-text)}.cart-summary-panel__btn{margin-top:16px}.product-page__scroll{padding-bottom:0}.product-page .sticky-footer{display:none}.product-list{grid-template-columns:repeat(2,minmax(0,1fr))}.cart-page{max-width:var(--content-max-width);padding:20px var(--page-padding-tablet) 28px;background:0 0;margin-inline:auto}.cart-page__desktop-title{margin:0 0 16px;font-size:1.25rem;font-weight:700}.cart-page__body{grid-template-columns:minmax(0,1fr) minmax(280px,320px);align-items:start;gap:20px 24px;display:grid}.cart-page__company{grid-column:1/-1}.order-detail-page{max-width:none;padding:24px var(--page-padding) 32px;background:0 0;height:100%;margin-inline:0;overflow:hidden}.order-detail-back{color:var(--color-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:12px;padding:0;font-family:inherit;font-size:.875rem;font-weight:600;display:inline-flex}.company-select-page{max-width:var(--content-max-width);padding:24px var(--page-padding-desktop);background:0 0;margin-inline:auto}.catalog-page{background:0 0}.page.calite-detail,.page.calite-hub{background:#f4f0ed;max-width:none;padding:0;overflow:visible}.catalog-list{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-page{background:0 0}.profile-hero{border-radius:var(--radius-md);margin-inline:0}}@media (width>=1200px){:root{--page-padding:var(--page-padding-desktop)}.page{padding:24px var(--page-padding-desktop) 32px}.page.calite-detail,.page.calite-hub{padding:0}.orders-stats{gap:16px;margin-bottom:24px}.orders-page__desktop-head{margin-bottom:24px}.orders-toolbar{margin-bottom:20px}.catalog-list{grid-template-columns:repeat(3,minmax(0,1fr))}.product-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=768px){.desktop-page{width:100%;min-height:auto;max-width:var(--content-max-width);padding:20px var(--page-padding) 28px;box-sizing:border-box;background:0 0;flex-direction:column;flex:1 0 auto;margin-inline:auto;display:flex}.desktop-page__head{margin-bottom:20px}.desktop-page__title{color:var(--color-text);margin:0 0 6px;font-size:1.375rem;font-weight:700}.desktop-page__subtitle{color:var(--color-text-muted);margin:0;font-size:.875rem}.desktop-two-col{grid-template-columns:minmax(0,1fr);align-items:start;gap:24px;display:grid}.desktop-two-col__main{min-width:0}.desktop-summary-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:20px;position:sticky;top:16px}.desktop-summary-panel__title{border-bottom:1px solid var(--color-border);margin:0 0 16px;padding-bottom:12px;font-size:.9375rem;font-weight:700}.desktop-summary-panel__row{justify-content:space-between;align-items:center;gap:12px;padding:8px 0;font-size:.875rem;display:flex}.desktop-summary-panel__row span:first-child{color:var(--color-text-muted)}.desktop-summary-panel__row strong{color:var(--color-text);font-variant-numeric:tabular-nums}.desktop-summary-panel__action{margin-top:16px}.desktop-table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);width:100%;min-width:0;overflow:hidden}.desktop-table-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;overflow-x:auto}.desktop-table{border-collapse:collapse;width:100%;min-width:560px;font-size:.875rem}.desktop-table th{text-align:start;color:var(--color-text-muted);background:var(--color-bg);border-bottom:1px solid var(--color-border);white-space:nowrap;padding:12px 16px;font-size:.8125rem;font-weight:600}.desktop-table td{border-bottom:1px solid var(--color-border);color:var(--color-text);vertical-align:middle;background:var(--color-surface);padding:14px 16px}.desktop-table tbody tr:last-child td{border-bottom:none}.desktop-table tbody tr:hover td{background:var(--color-elevated)}.desktop-grid-2{grid-template-columns:repeat(2,minmax(280px,1fr));gap:16px;display:grid}.desktop-grid-3{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.desktop-grid-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.desktop-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.desktop-toolbar__actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.desktop-btn-compact{min-width:120px;width:auto!important;padding-inline:20px!important}.desktop-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.desktop-form-grid__full{grid-column:1/-1}.desktop-checkout-shell{width:100%;max-width:var(--content-max-width);padding:20px var(--page-padding) 28px;box-sizing:border-box;margin-inline:auto}.desktop-settlement-grid{grid-template-columns:repeat(2,minmax(280px,380px));justify-content:center;gap:20px;max-width:820px;margin-inline:auto;display:grid}.desktop-company-grid{grid-template-columns:repeat(2,minmax(280px,400px));justify-content:center;gap:20px;width:100%;max-width:900px;margin-inline:auto;display:grid}}@media (width>=1200px){.desktop-page,.desktop-checkout-shell{padding:24px var(--page-padding) 32px}.desktop-page__head{margin-bottom:24px}.desktop-two-col:has(>.desktop-summary-panel){grid-template-columns:minmax(0, 1fr) var(--summary-panel-width,320px)}.desktop-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.desktop-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}}@media (width>=1440px){.desktop-grid-3{grid-template-columns:repeat(4,minmax(0,1fr))}} diff --git a/dist/assets/login-fabric2-CEezyJ6z.png b/dist/assets/login-fabric2-CEezyJ6z.png new file mode 100644 index 0000000..3ec1d42 Binary files /dev/null and b/dist/assets/login-fabric2-CEezyJ6z.png differ diff --git a/dist/assets/useRequirePricedOrder-C1A9oE_o.js b/dist/assets/useRequirePricedOrder-BVRY4vCB.js similarity index 86% rename from dist/assets/useRequirePricedOrder-C1A9oE_o.js rename to dist/assets/useRequirePricedOrder-BVRY4vCB.js index 381e512..88d2466 100644 --- a/dist/assets/useRequirePricedOrder-C1A9oE_o.js +++ b/dist/assets/useRequirePricedOrder-BVRY4vCB.js @@ -1 +1 @@ -import{_ as e,et as t,g as n,k as r}from"./BasicIcon-B6lR-mG3.js";import{g as i}from"./index-DHK6R1xK.js";import{n as a}from"./orderInvoice-B0L1Aeuk.js";function o(){let o=n(),s=e(),c=i(),l=r(()=>o.params.id),u=r(()=>c.getOrderById(l.value)),d=r(()=>a(u.value));function f(e){e&&(a(e)||s.replace(`/orders/${e.id}`))}return t(l,async e=>{e&&f(c.getOrderById(e)??await c.fetchOrder(e))},{immediate:!0}),t(u,e=>{f(e)}),{orderId:l,order:u,invoiceReady:d}}export{o as t}; \ No newline at end of file +import{_ as e,et as t,g as n,k as r}from"./BasicIcon-B6lR-mG3.js";import{g as i}from"./index-B20WsQhf.js";import{n as a}from"./orderInvoice-B0L1Aeuk.js";function o(){let o=n(),s=e(),c=i(),l=r(()=>o.params.id),u=r(()=>c.getOrderById(l.value)),d=r(()=>a(u.value));function f(e){e&&(a(e)||s.replace(`/orders/${e.id}`))}return t(l,async e=>{e&&f(c.getOrderById(e)??await c.fetchOrder(e))},{immediate:!0}),t(u,e=>{f(e)}),{orderId:l,order:u,invoiceReady:d}}export{o as t}; \ No newline at end of file diff --git a/dist/index.html b/dist/index.html index ee9dabc..8129738 100644 --- a/dist/index.html +++ b/dist/index.html @@ -6,7 +6,7 @@ سامانه سفارش عمده پارچه - + @@ -15,7 +15,7 @@ - +
diff --git a/src/assets/images/login-fabric2.png b/src/assets/images/login-fabric2.png new file mode 100644 index 0000000..3ec1d42 Binary files /dev/null and b/src/assets/images/login-fabric2.png differ diff --git a/src/assets/styles/app-shell.css b/src/assets/styles/app-shell.css index 4a333bd..5acbecf 100644 --- a/src/assets/styles/app-shell.css +++ b/src/assets/styles/app-shell.css @@ -259,14 +259,23 @@ padding: 24px; } + /* صفحات احراز هویت: ستون موبایل در وسط دسکتاپ */ .app-shell--no-nav.app-shell--immersive { padding: 0; + align-items: center; + justify-content: center; + background: #141210; } .app-shell--no-nav.app-shell--immersive .app-layout, .app-shell--no-nav.app-shell--immersive .app-frame { - max-height: none; + max-width: 430px; + width: min(100%, 430px); height: 100%; + max-height: 100dvh; + margin-inline: auto; + border-radius: 0; + box-shadow: none; } .app-shell--no-nav .app-layout, diff --git a/src/layouts/DefaultLayout.vue b/src/layouts/DefaultLayout.vue index b494029..571a437 100644 --- a/src/layouts/DefaultLayout.vue +++ b/src/layouts/DefaultLayout.vue @@ -9,6 +9,7 @@ const route = useRoute() const showNav = computed(() => { const noNavRoutes = [ + 'welcome', 'login', 'register', 'otp', @@ -34,7 +35,11 @@ const isWideGuest = computed(() => { }) const isImmersiveAuth = computed( - () => route.name === 'login' || route.name === 'register' || route.name === 'otp', + () => + route.name === 'welcome' || + route.name === 'login' || + route.name === 'register' || + route.name === 'otp', ) diff --git a/src/router/index.ts b/src/router/index.ts index d58a76b..a294d87 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -4,6 +4,12 @@ import { getCachedUser, isAuthenticated } from '@/services/authService' const router = createRouter({ history: createWebHistory(import.meta.env.BASE_URL), routes: [ + { + path: '/welcome', + name: 'welcome', + component: () => import('@/views/auth/WelcomeView.vue'), + meta: { guest: true, hideNav: true }, + }, { path: '/login', name: 'login', diff --git a/src/views/auth/LoginView.vue b/src/views/auth/LoginView.vue index 6900c65..9d8f054 100644 --- a/src/views/auth/LoginView.vue +++ b/src/views/auth/LoginView.vue @@ -17,6 +17,7 @@ import { type FieldErrors, } from '@/utils/formErrors' import fabricUrl from '@/assets/images/login-fabric.jpg' +import fabricUrl2 from '@/assets/images/login-fabric2.png' const router = useRouter() const auth = useAuthStore() @@ -89,6 +90,7 @@ onMounted(async () => {