change nademitex2
This commit is contained in:
Vendored
+1
-1
@@ -1 +1 @@
|
||||
import{D as e,G as t,K as n,M as r,Pt as i,U as a,_ as o,d as s,f as c,g as l,l as u,nt as d,o as f,t as p,u as m,v as h}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{s as g,u as _}from"./BasicIcon-ba1FsUKx.js";import{t as v}from"./http-CU_N-R2R.js";import{r as y,t as b}from"./index-BPUhS8CY.js";import{t as x}from"./addresses-tV-zgZYG.js";import{t as S}from"./catalogRequests-COPPKp3x.js";var C=`درخواست دریافت فیزیکی کالیته برای شما ثبت شد و به زودی همکاران ما برای شما خواهند آورد`;function w(){let e=S(),t=b(),n=d(!1),r=d(!1),i=d(null),a=d(``);function o(){r.value=!1,i.value=null,a.value=``}async function s(n,r){let i=await e.create({items:[{productId:n.id,productName:n.name,productCode:n.code,quantity:1}],note:`آدرس: ${r}`});return i.success?(t.show(C),!0):(a.value=i.message,!1)}async function c(e){a.value=``;let t=``;try{let e=await x.list();t=(e.find(e=>e.isDefault)??e[0])?.text.trim()??``}catch{t=``}if(t){n.value=!0;try{await s(e,t)}finally{n.value=!1}return}i.value=e,r.value=!0}async function l(e){let t=e.trim();if(!t)return a.value=`آدرس الزامی است.`,!1;let r=i.value;if(!r)return!1;a.value=``,n.value=!0;try{await x.create({text:t});let e=await s(r,t);return e&&o(),e}catch(e){return a.value=e instanceof v||e instanceof Error?e.message:`ذخیره آدرس ناموفق بود.`,!1}finally{n.value=!1}}return{requesting:n,addressModalOpen:r,addressError:a,requestCatalog:c,submitAddressAndRequest:l,closeAddressModal:o}}var T={class:`dialog card address-modal`},E={class:`address-modal__field`},D={key:0,class:`address-modal__error`},O={class:`dialog-actions address-modal__actions`},k=p(h({__name:`AddressCompletionModal`,props:{open:{type:Boolean},loading:{type:Boolean},error:{}},emits:[`close`,`submit`],setup(p,{emit:h}){let v=p,b=h,x=d(``);a(()=>v.open,e=>{e&&(x.value=``)});function S(e){e.key===`Escape`&&v.open&&b(`close`)}a(()=>v.open,e=>{document.body.style.overflow=e?`hidden`:``,e?window.addEventListener(`keydown`,S):window.removeEventListener(`keydown`,S)},{immediate:!0}),e(()=>{document.body.style.overflow=``,window.removeEventListener(`keydown`,S)});function C(){b(`submit`,x.value)}return(e,a)=>(r(),m(f,{to:`body`},[p.open?(r(),c(`div`,{key:0,class:`dialog-overlay address-modal-overlay`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`address-modal-title`,onClick:a[2]||=_(e=>b(`close`),[`self`])},[u(`div`,T,[a[5]||=u(`h3`,{id:`address-modal-title`,class:`address-modal__title`},`تکمیل آدرس`,-1),a[6]||=u(`p`,{class:`address-modal__hint`},` برای ارسال کالیته فیزیکی، آدرس محل فعالیت خود را وارد کنید. این آدرس در اطلاعات کاربری شما ذخیره میشود. `,-1),u(`label`,E,[a[3]||=u(`span`,{class:`form-label`},`آدرس`,-1),n(u(`textarea`,{"onUpdate:modelValue":a[0]||=e=>x.value=e,class:`address-modal__textarea`,rows:`3`,maxlength:`500`,placeholder:`آدرس کامل محل فعالیت`},null,512),[[g,x.value]])]),p.error?(r(),c(`p`,D,i(p.error),1)):s(``,!0),u(`div`,O,[o(y,{variant:`outline`,disabled:p.loading,onClick:a[1]||=e=>b(`close`)},{default:t(()=>[...a[4]||=[l(` انصراف `,-1)]]),_:1},8,[`disabled`]),o(y,{disabled:p.loading,onClick:C},{default:t(()=>[l(i(p.loading?`در حال ثبت...`:`ثبت درخواست`),1)]),_:1},8,[`disabled`])])])])):s(``,!0)]))}}),[[`__scopeId`,`data-v-0a7c2418`]]);export{w as n,k as t};
|
||||
import{D as e,G as t,K as n,M as r,Pt as i,U as a,_ as o,d as s,f as c,g as l,l as u,nt as d,o as f,t as p,u as m,v as h}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{s as g,u as _}from"./BasicIcon-ba1FsUKx.js";import{t as v}from"./http-CU_N-R2R.js";import{r as y,t as b}from"./index-CpQ4kL4n.js";import{t as x}from"./addresses-tV-zgZYG.js";import{t as S}from"./catalogRequests-COPPKp3x.js";var C=`درخواست دریافت فیزیکی کالیته برای شما ثبت شد و به زودی همکاران ما برای شما خواهند آورد`;function w(){let e=S(),t=b(),n=d(!1),r=d(!1),i=d(null),a=d(``);function o(){r.value=!1,i.value=null,a.value=``}async function s(n,r){let i=await e.create({items:[{productId:n.id,productName:n.name,productCode:n.code,quantity:1}],note:`آدرس: ${r}`});return i.success?(t.show(C),!0):(a.value=i.message,!1)}async function c(e){a.value=``;let t=``;try{let e=await x.list();t=(e.find(e=>e.isDefault)??e[0])?.text.trim()??``}catch{t=``}if(t){n.value=!0;try{await s(e,t)}finally{n.value=!1}return}i.value=e,r.value=!0}async function l(e){let t=e.trim();if(!t)return a.value=`آدرس الزامی است.`,!1;let r=i.value;if(!r)return!1;a.value=``,n.value=!0;try{await x.create({text:t});let e=await s(r,t);return e&&o(),e}catch(e){return a.value=e instanceof v||e instanceof Error?e.message:`ذخیره آدرس ناموفق بود.`,!1}finally{n.value=!1}}return{requesting:n,addressModalOpen:r,addressError:a,requestCatalog:c,submitAddressAndRequest:l,closeAddressModal:o}}var T={class:`dialog card address-modal`},E={class:`address-modal__field`},D={key:0,class:`address-modal__error`},O={class:`dialog-actions address-modal__actions`},k=p(h({__name:`AddressCompletionModal`,props:{open:{type:Boolean},loading:{type:Boolean},error:{}},emits:[`close`,`submit`],setup(p,{emit:h}){let v=p,b=h,x=d(``);a(()=>v.open,e=>{e&&(x.value=``)});function S(e){e.key===`Escape`&&v.open&&b(`close`)}a(()=>v.open,e=>{document.body.style.overflow=e?`hidden`:``,e?window.addEventListener(`keydown`,S):window.removeEventListener(`keydown`,S)},{immediate:!0}),e(()=>{document.body.style.overflow=``,window.removeEventListener(`keydown`,S)});function C(){b(`submit`,x.value)}return(e,a)=>(r(),m(f,{to:`body`},[p.open?(r(),c(`div`,{key:0,class:`dialog-overlay address-modal-overlay`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`address-modal-title`,onClick:a[2]||=_(e=>b(`close`),[`self`])},[u(`div`,T,[a[5]||=u(`h3`,{id:`address-modal-title`,class:`address-modal__title`},`تکمیل آدرس`,-1),a[6]||=u(`p`,{class:`address-modal__hint`},` برای ارسال کالیته فیزیکی، آدرس محل فعالیت خود را وارد کنید. این آدرس در اطلاعات کاربری شما ذخیره میشود. `,-1),u(`label`,E,[a[3]||=u(`span`,{class:`form-label`},`آدرس`,-1),n(u(`textarea`,{"onUpdate:modelValue":a[0]||=e=>x.value=e,class:`address-modal__textarea`,rows:`3`,maxlength:`500`,placeholder:`آدرس کامل محل فعالیت`},null,512),[[g,x.value]])]),p.error?(r(),c(`p`,D,i(p.error),1)):s(``,!0),u(`div`,O,[o(y,{variant:`outline`,disabled:p.loading,onClick:a[1]||=e=>b(`close`)},{default:t(()=>[...a[4]||=[l(` انصراف `,-1)]]),_:1},8,[`disabled`]),o(y,{disabled:p.loading,onClick:C},{default:t(()=>[l(i(p.loading?`در حال ثبت...`:`ثبت درخواست`),1)]),_:1},8,[`disabled`])])])])):s(``,!0)]))}}),[[`__scopeId`,`data-v-0a7c2418`]]);export{w as n,k as t};
|
||||
+1
-1
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
import{I as e,M as t,_ as n,d as r,f as i,l as a,t as o,ut as s,v as c}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{A as l}from"./index-BPUhS8CY.js";import{t as u}from"./IconChevronBack-DytWz6TD.js";import{t as d}from"./nademitex-auth-logo-CQhPwje_.js";var f={class:`auth-shell`},p={class:`auth-shell__body`},m={class:`auth-shell__brand`},h=[`src`],g=o(c({__name:`AuthShell`,props:{backTo:{}},setup(o){let c=l();return(l,g)=>(t(),i(`div`,f,[o.backTo?(t(),i(`button`,{key:0,type:`button`,class:`auth-shell__back`,"aria-label":`بازگشت`,onClick:g[0]||=e=>s(c).push(o.backTo)},[n(u,{size:22,color:`#1e293b`})])):r(``,!0),a(`div`,p,[a(`div`,m,[a(`img`,{class:`auth-shell__logo`,src:s(d),alt:`Nademi Tex`,draggable:`false`},null,8,h)]),e(l.$slots,`default`,{},void 0,!0)])]))}}),[[`__scopeId`,`data-v-3dfa06a5`]]);export{g as t};
|
||||
import{I as e,M as t,_ as n,d as r,f as i,l as a,t as o,ut as s,v as c}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{A as l}from"./index-CpQ4kL4n.js";import{t as u}from"./IconChevronBack-DytWz6TD.js";import{t as d}from"./nademitex-auth-logo-CQhPwje_.js";var f={class:`auth-shell`},p={class:`auth-shell__body`},m={class:`auth-shell__brand`},h=[`src`],g=o(c({__name:`AuthShell`,props:{backTo:{}},setup(o){let c=l();return(l,g)=>(t(),i(`div`,f,[o.backTo?(t(),i(`button`,{key:0,type:`button`,class:`auth-shell__back`,"aria-label":`بازگشت`,onClick:g[0]||=e=>s(c).push(o.backTo)},[n(u,{size:22,color:`#1e293b`})])):r(``,!0),a(`div`,p,[a(`div`,m,[a(`img`,{class:`auth-shell__logo`,src:s(d),alt:`Nademi Tex`,draggable:`false`},null,8,h)]),e(l.$slots,`default`,{},void 0,!0)])]))}}),[[`__scopeId`,`data-v-3dfa06a5`]]);export{g as t};
|
||||
File diff suppressed because one or more lines are too long
+1
-1
@@ -1 +1 @@
|
||||
import{F as e,G as t,M as n,Pt as r,U as i,_ as a,c as o,f as s,g as c,i as l,l as u,nt as ee,t as te,u as d,ut as f,v as p}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{t as m}from"./BasicIcon-ba1FsUKx.js";import{i as ne,n as re}from"./format-C72AoJ2H.js";import{t as ie}from"./catalog-DvXpKfLO.js";import{A as ae,f as oe,r as h}from"./index-BPUhS8CY.js";import{t as se}from"./PageHeader-CG1ktltl.js";import{t as ce}from"./useRequirePricedOrder-XmwhrUqA.js";var g=p({__name:`IconSuccessCircle`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,r)=>(n(),d(m,{icon:`vuesax-linear:tick-circle`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),le={class:`page cash-mobile-page mobile-only`},ue={class:`cash-page__scroll page__scroll`},_={class:`cash-page__success cash-page__success--done`},v={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`},F={class:`accounts-panel`},I={class:`accounts-panel__title`},de={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=te(p({__name:`CashSettlementView`,setup(te){let d=ae(),p=oe(),m=ie(),U=ee([]),{orderId:W,order:G}=ce(),K=o(()=>G.value?.companyName??``);i(W,async e=>{e&&!p.getOrderById(e)&&await p.fetchOrder(e)},{immediate:!0}),i(()=>G.value?.id,async e=>{if(!e||!G.value){U.value=[];return}m.companies.length||await m.loadCompanies(),U.value=await p.getBankAccountsForOrder(G.value)},{immediate:!0});let q=o(()=>G.value?.finalAmount?re(G.value.finalAmount):`—`),J=o(()=>{let e=G.value?.cashInvoiceExpiresAt;return e?`مهلت پرداخت این فاکتور تا ${ne(e)} است.`:`مبلغ فاکتور را به یکی از حسابهای زیر واریز و رسید را ثبت کنید.`}),Y=o(()=>{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(i,o)=>(n(),s(l,null,[u(`div`,le,[a(se,{title:`تسویه نقدی`,"show-back":``,centered:``,onBack:o[0]||=e=>f(d).push(`/orders/${f(W)}`)}),u(`div`,ue,[u(`div`,_,[a(g,{size:56}),u(`p`,v,`مبلغ قابل پرداخت `+r(q.value),1),u(`p`,y,r(J.value),1)]),u(`section`,b,[u(`h2`,x,r(Y.value),1),(n(!0),s(l,null,e(U.value,e=>(n(),s(`article`,{key:e.id,class:`bank-card`},[u(`div`,S,[u(`span`,C,r(e.bankName),1),u(`span`,w,r(e.bankName.charAt(0)),1)]),u(`div`,T,[o[1]||=u(`span`,{class:`bank-card__label`},`شماره کارت`,-1),u(`strong`,E,r(X(e.cardNumber)),1)]),u(`div`,D,[o[2]||=u(`span`,{class:`bank-card__label`},`شماره شبا`,-1),u(`strong`,O,r(Z(e.iban)),1)])]))),128))])]),u(`div`,k,[a(h,{variant:`outline`,block:``,onClick:Q},{default:t(()=>[...o[3]||=[c(`مشاهده سفارش`,-1)]]),_:1}),a(h,{block:``,class:`cash-page__submit`,onClick:$},{default:t(()=>[...o[4]||=[c(` ثبت رسید پرداخت `,-1)]]),_:1})])]),u(`div`,A,[u(`header`,j,[o[5]||=u(`h1`,{class:`desktop-page__title`},`تسویه نقدی`,-1),u(`p`,M,r(J.value),1)]),u(`div`,N,[a(g,{size:56}),u(`p`,P,`مبلغ قابل پرداخت `+r(q.value),1)]),u(`section`,F,[u(`h2`,I,r(Y.value),1),u(`div`,de,[(n(!0),s(l,null,e(U.value,e=>(n(),s(`article`,{key:e.id,class:`bank-card`},[u(`div`,L,[u(`span`,R,r(e.bankName),1),u(`span`,z,r(e.bankName.charAt(0)),1)]),u(`div`,B,[o[6]||=u(`span`,{class:`bank-card__label`},`شماره کارت`,-1),u(`strong`,V,r(X(e.cardNumber)),1)]),u(`div`,H,[o[7]||=u(`span`,{class:`bank-card__label`},`شماره شبا`,-1),u(`strong`,fe,r(Z(e.iban)),1)])]))),128))])]),u(`div`,pe,[a(h,{variant:`outline`,class:`desktop-btn-compact`,onClick:Q},{default:t(()=>[...o[8]||=[c(` مشاهده سفارش `,-1)]]),_:1}),a(h,{class:`desktop-btn-compact`,onClick:$},{default:t(()=>[...o[9]||=[c(` ثبت رسید پرداخت `,-1)]]),_:1})])])],64))}}),[[`__scopeId`,`data-v-c299caf6`]]);export{U as default};
|
||||
import{F as e,G as t,M as n,Pt as r,U as i,_ as a,c as o,f as s,g as c,i as l,l as u,nt as ee,t as te,u as d,ut as f,v as p}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{t as m}from"./BasicIcon-ba1FsUKx.js";import{i as ne,n as re}from"./format-BHJptHdF.js";import{t as ie}from"./catalog-DvXpKfLO.js";import{A as ae,f as oe,r as h}from"./index-CpQ4kL4n.js";import{t as se}from"./PageHeader-BZqQYya4.js";import{t as ce}from"./useRequirePricedOrder-BNJcABKi.js";var g=p({__name:`IconSuccessCircle`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,r)=>(n(),d(m,{icon:`vuesax-linear:tick-circle`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),le={class:`page cash-mobile-page mobile-only`},ue={class:`cash-page__scroll page__scroll`},_={class:`cash-page__success cash-page__success--done`},v={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`},F={class:`accounts-panel`},I={class:`accounts-panel__title`},de={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=te(p({__name:`CashSettlementView`,setup(te){let d=ae(),p=oe(),m=ie(),U=ee([]),{orderId:W,order:G}=ce(),K=o(()=>G.value?.companyName??``);i(W,async e=>{e&&!p.getOrderById(e)&&await p.fetchOrder(e)},{immediate:!0}),i(()=>G.value?.id,async e=>{if(!e||!G.value){U.value=[];return}m.companies.length||await m.loadCompanies(),U.value=await p.getBankAccountsForOrder(G.value)},{immediate:!0});let q=o(()=>G.value?.finalAmount?re(G.value.finalAmount):`—`),J=o(()=>{let e=G.value?.cashInvoiceExpiresAt;return e?`مهلت پرداخت این فاکتور تا ${ne(e)} است.`:`مبلغ فاکتور را به یکی از حسابهای زیر واریز و رسید را ثبت کنید.`}),Y=o(()=>{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(i,o)=>(n(),s(l,null,[u(`div`,le,[a(se,{title:`تسویه نقدی`,"show-back":``,centered:``,onBack:o[0]||=e=>f(d).push(`/orders/${f(W)}`)}),u(`div`,ue,[u(`div`,_,[a(g,{size:56}),u(`p`,v,`مبلغ قابل پرداخت `+r(q.value),1),u(`p`,y,r(J.value),1)]),u(`section`,b,[u(`h2`,x,r(Y.value),1),(n(!0),s(l,null,e(U.value,e=>(n(),s(`article`,{key:e.id,class:`bank-card`},[u(`div`,S,[u(`span`,C,r(e.bankName),1),u(`span`,w,r(e.bankName.charAt(0)),1)]),u(`div`,T,[o[1]||=u(`span`,{class:`bank-card__label`},`شماره کارت`,-1),u(`strong`,E,r(X(e.cardNumber)),1)]),u(`div`,D,[o[2]||=u(`span`,{class:`bank-card__label`},`شماره شبا`,-1),u(`strong`,O,r(Z(e.iban)),1)])]))),128))])]),u(`div`,k,[a(h,{variant:`outline`,block:``,onClick:Q},{default:t(()=>[...o[3]||=[c(`مشاهده سفارش`,-1)]]),_:1}),a(h,{block:``,class:`cash-page__submit`,onClick:$},{default:t(()=>[...o[4]||=[c(` ثبت رسید پرداخت `,-1)]]),_:1})])]),u(`div`,A,[u(`header`,j,[o[5]||=u(`h1`,{class:`desktop-page__title`},`تسویه نقدی`,-1),u(`p`,M,r(J.value),1)]),u(`div`,N,[a(g,{size:56}),u(`p`,P,`مبلغ قابل پرداخت `+r(q.value),1)]),u(`section`,F,[u(`h2`,I,r(Y.value),1),u(`div`,de,[(n(!0),s(l,null,e(U.value,e=>(n(),s(`article`,{key:e.id,class:`bank-card`},[u(`div`,L,[u(`span`,R,r(e.bankName),1),u(`span`,z,r(e.bankName.charAt(0)),1)]),u(`div`,B,[o[6]||=u(`span`,{class:`bank-card__label`},`شماره کارت`,-1),u(`strong`,V,r(X(e.cardNumber)),1)]),u(`div`,H,[o[7]||=u(`span`,{class:`bank-card__label`},`شماره شبا`,-1),u(`strong`,fe,r(Z(e.iban)),1)])]))),128))])]),u(`div`,pe,[a(h,{variant:`outline`,class:`desktop-btn-compact`,onClick:Q},{default:t(()=>[...o[8]||=[c(` مشاهده سفارش `,-1)]]),_:1}),a(h,{class:`desktop-btn-compact`,onClick:$},{default:t(()=>[...o[9]||=[c(` ثبت رسید پرداخت `,-1)]]),_:1})])])],64))}}),[[`__scopeId`,`data-v-c299caf6`]]);export{U as default};
|
||||
-1
@@ -1 +0,0 @@
|
||||
import{F as e,M as t,Pt as n,U as r,_ as i,c as a,f as o,i as s,k as c,l,nt as u,t as d,u as f,ut as p,v as m}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{t as h}from"./catalog-DvXpKfLO.js";import{A as g,C as _,k as v}from"./index-BPUhS8CY.js";import{t as y}from"./EmptyState-DYhkpGhZ.js";import{t as b}from"./PageHeader-CG1ktltl.js";import{t as x}from"./SearchField-dVDn9y5S.js";import{t as S}from"./PageSkeleton-DYdjm4l9.js";import{t as C}from"./catalogNavigation--EF0Gjvi.js";var w={class:`page catalog-list-page`},T={class:`catalog-list-page__desk-head desktop-only`},E={class:`page__scroll page__scroll--with-nav catalog-list-page__scroll`},D={key:1,class:`catalog-list`},O=[`onClick`],k={class:`catalog-card__icon`},A={class:`catalog-card__info`},j={class:`catalog-card__count`},M=d(m({__name:`CatalogListView`,setup(d){let m=v(),M=g(),N=h(),P=u(!0),F=a(()=>m.params.companyId),I=a(()=>N.getCompany(F.value)),L=u(``),R=a(()=>N.fetchCatalogs(F.value,L.value));async function z(){P.value=!0,N.getCompany(F.value)||await N.loadCompanies(),await N.loadCatalogs(F.value),P.value=!1}c(z),r(F,z);function B(e){C(M,e)}function V(e){let t=N.getCatalog(e);return t?.productCount==null?N.fetchProducts(e).length:t.productCount}return(r,a)=>(t(),o(`div`,w,[i(b,{class:`mobile-only`,title:I.value?.name??`کالیتهها`,subtitle:`کالیته مورد نظر را انتخاب کنید`,"show-back":``,centered:``,onBack:a[0]||=e=>p(M).push(`/catalogs`)},null,8,[`title`]),l(`header`,T,[l(`h1`,null,n(I.value?.name??`کالیتهها`),1),a[2]||=l(`p`,null,`کالیته مورد نظر را انتخاب کنید`,-1)]),i(x,{modelValue:L.value,"onUpdate:modelValue":a[1]||=e=>L.value=e,placeholder:`جستجو بر اساس کد یا نام کالیته...`,class:`catalog-list-page__search`},null,8,[`modelValue`]),l(`div`,E,[P.value?(t(),f(S,{key:0,variant:`cards`,rows:5})):R.value.length>0?(t(),o(`div`,D,[(t(!0),o(s,null,e(R.value,e=>(t(),o(`button`,{key:e.id,type:`button`,class:`catalog-card`,onClick:t=>B(e.id)},[l(`span`,k,[i(_,{size:22})]),l(`div`,A,[l(`h3`,null,`کالیته کد `+n(e.code),1),l(`p`,null,n(e.name),1)]),l(`span`,j,n(V(e.id))+` محصول`,1)],8,O))),128))])):(t(),f(y,{key:2,variant:L.value?`search`:`catalogs`,message:L.value?`با این جستجو کالیتهای پیدا نشد`:`برای این شرکت هنوز کالیتهای ثبت نشده است`},null,8,[`variant`,`message`]))])]))}}),[[`__scopeId`,`data-v-a8edb49d`]]);export{M as default};
|
||||
-1
@@ -1 +0,0 @@
|
||||
.catalog-list-page[data-v-a8edb49d]{background:var(--color-bg);color:var(--color-text);padding:12px 0 0}.catalog-list-page__desk-head[data-v-a8edb49d]{margin-bottom:16px}.catalog-list-page__desk-head h1[data-v-a8edb49d]{margin:0 0 6px;font-size:1.375rem;font-weight:700}.catalog-list-page__desk-head p[data-v-a8edb49d]{color:var(--color-text-muted);margin:0;font-size:.875rem}.catalog-list-page__search[data-v-a8edb49d]{margin-bottom:16px}.catalog-list-page__scroll[data-v-a8edb49d]{flex-direction:column;flex:1;min-height:0;display:flex}.catalog-list[data-v-a8edb49d]{flex-direction:column;gap:12px;display:flex}.catalog-card[data-v-a8edb49d]{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-elevated);width:100%;box-shadow:var(--shadow-sm);color:var(--color-text);text-align:right;cursor:pointer;align-items:center;gap:12px;padding:14px 16px;font-family:inherit;display:flex}.catalog-card[data-v-a8edb49d]:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.catalog-card__icon[data-v-a8edb49d]{background:var(--color-primary-light);border-radius:var(--radius-sm);width:40px;height:40px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.catalog-card__info[data-v-a8edb49d]{flex:1;min-width:0}.catalog-card__info h3[data-v-a8edb49d]{color:var(--color-text);margin:0 0 4px;font-size:.9375rem}.catalog-card__info p[data-v-a8edb49d]{color:var(--color-text-muted);margin:0;font-size:.8125rem}.catalog-card__count[data-v-a8edb49d]{color:var(--color-primary);flex-shrink:0;font-size:.8125rem;font-weight:600}@media (width>=768px){.catalog-list-page[data-v-a8edb49d]{background:0 0;padding:8px 0 28px}.catalog-list-page__scroll[data-v-a8edb49d]{overflow:visible}.catalog-list[data-v-a8edb49d]{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.catalog-card[data-v-a8edb49d]{flex-direction:column;align-items:flex-start;min-height:148px;padding:20px}}
|
||||
@@ -1 +0,0 @@
|
||||
import{M as e,_ as t,f as n,k as r,v as i}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{A as a,k as o}from"./index-BPUhS8CY.js";import{t as s}from"./PageSkeleton-DYdjm4l9.js";import{t as c}from"./catalogNavigation--EF0Gjvi.js";var l={class:`page`},u=i({__name:`CatalogProductRedirectView`,setup(i){let u=o(),d=a();return r(()=>{c(d,String(u.params.catalogId??``))}),(r,i)=>(e(),n(`div`,l,[t(s,{variant:`detail`})]))}});export{u as default};
|
||||
@@ -0,0 +1 @@
|
||||
.body[data-v-90b3d301]{padding:12px var(--page-padding) 24px;flex-direction:column;gap:10px;display:flex}.new-btn[data-v-90b3d301]{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:12px;min-height:48px;font-weight:700}.empty[data-v-90b3d301]{text-align:center;color:var(--color-text-muted)}.card[data-v-90b3d301]{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:14px}.card__top[data-v-90b3d301]{justify-content:space-between;align-items:center;gap:8px;display:flex}.badge[data-v-90b3d301]{background:var(--color-primary-soft);color:var(--color-primary);border-radius:999px;padding:4px 10px;font-size:.72rem;font-weight:700}.card p[data-v-90b3d301]{color:var(--color-text-muted);margin:6px 0 0;font-size:.82rem}.card ul[data-v-90b3d301]{margin:8px 0 0;padding-inline-start:18px;font-size:.85rem}.note[data-v-90b3d301]{color:var(--color-text)!important}.catalog-requests-desk-head[data-v-90b3d301]{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.desk-new-btn[data-v-90b3d301]{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:12px;flex-shrink:0;padding:10px 16px;font-family:inherit;font-size:.875rem;font-weight:700}@media (width>=768px){.catalog-requests-page[data-v-90b3d301]{max-width:var(--content-max-width);padding:20px var(--page-padding) 28px;box-sizing:border-box;margin-inline:auto}.body[data-v-90b3d301]{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:12px;padding:0;display:grid}.empty[data-v-90b3d301]{grid-column:1/-1;padding:48px 0}.card[data-v-90b3d301]{box-shadow:var(--shadow-card);border:1px solid var(--color-border)}}@media (width>=1200px){.body[data-v-90b3d301]{grid-template-columns:repeat(3,minmax(0,1fr))}}
|
||||
@@ -1 +0,0 @@
|
||||
.body[data-v-9ea8c789]{padding:12px var(--page-padding) 24px;flex-direction:column;gap:10px;display:flex}.new-btn[data-v-9ea8c789]{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:12px;min-height:48px;font-weight:700}.empty[data-v-9ea8c789]{text-align:center;color:var(--color-text-muted)}.card[data-v-9ea8c789]{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:14px}.card__top[data-v-9ea8c789]{justify-content:space-between;align-items:center;gap:8px;display:flex}.badge[data-v-9ea8c789]{background:var(--color-primary-soft);color:var(--color-primary);border-radius:999px;padding:4px 10px;font-size:.72rem;font-weight:700}.card p[data-v-9ea8c789]{color:var(--color-text-muted);margin:6px 0 0;font-size:.82rem}.card ul[data-v-9ea8c789]{margin:8px 0 0;padding-inline-start:18px;font-size:.85rem}.note[data-v-9ea8c789]{color:var(--color-text)!important}.catalog-requests-desk-head[data-v-9ea8c789]{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.desk-new-btn[data-v-9ea8c789]{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:12px;flex-shrink:0;padding:10px 16px;font-family:inherit;font-size:.875rem;font-weight:700}@media (width>=768px){.catalog-requests-page[data-v-9ea8c789]{max-width:var(--content-max-width);padding:20px var(--page-padding) 28px;box-sizing:border-box;margin-inline:auto}.body[data-v-9ea8c789]{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:12px;padding:0;display:grid}.empty[data-v-9ea8c789]{grid-column:1/-1;padding:48px 0}.card[data-v-9ea8c789]{box-shadow:var(--shadow-card);border:1px solid var(--color-border)}}@media (width>=1200px){.body[data-v-9ea8c789]{grid-template-columns:repeat(3,minmax(0,1fr))}}
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{F as e,M as t,Pt as n,_ as r,d as i,f as a,i as o,k as s,l as c,t as l,ut as u,v as d}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{o as f}from"./format-C72AoJ2H.js";import{A as p}from"./index-BPUhS8CY.js";import{t as m}from"./PageHeader-CG1ktltl.js";import{t as h}from"./catalogRequests-COPPKp3x.js";var g={class:`page catalog-requests-page`},_={class:`desktop-page__head desktop-only catalog-requests-desk-head`},v={class:`page__scroll page__scroll--with-nav body`},y={key:0,class:`empty`},b={class:`card__top`},x={class:`badge`},S={key:0,class:`note`},C=l(d({__name:`CatalogRequestsView`,setup(l){let d=p(),C=h();return s(()=>C.hydrate()),(s,l)=>(t(),a(`div`,g,[r(m,{class:`mobile-only`,title:`وضعیت کالیتهها`,"show-back":``,centered:``,onBack:l[0]||=e=>u(d).push(`/catalogs`)}),c(`header`,_,[l[3]||=c(`div`,null,[c(`h1`,{class:`desktop-page__title`},`وضعیت کالیتهها`),c(`p`,{class:`desktop-page__subtitle`},`پیگیری درخواستهای کالیته ثبتشده`)],-1),c(`button`,{type:`button`,class:`desk-new-btn`,onClick:l[1]||=e=>u(d).push(`/categories`)},` درخواست کالیته جدید `)]),c(`div`,v,[c(`button`,{type:`button`,class:`new-btn mobile-only`,onClick:l[2]||=e=>u(d).push(`/categories`)},` درخواست کالیته جدید `),u(C).sorted.length?i(``,!0):(t(),a(`p`,y,`هنوز درخواستی ثبت نکردهاید.`)),(t(!0),a(o,null,e(u(C).sorted,r=>(t(),a(`article`,{key:r.id,class:`card`},[c(`div`,b,[c(`strong`,null,`درخواست `+n(r.id.slice(-6)),1),c(`span`,x,n(u(C).statusLabel(r.status)),1)]),c(`p`,null,n(r.createdAt.slice(0,10)),1),c(`p`,null,n(u(f)(r.items.length))+` قلم`,1),c(`ul`,null,[(t(!0),a(o,null,e(r.items,e=>(t(),a(`li`,{key:e.productId},n(e.productName)+` × `+n(u(f)(e.quantity)),1))),128))]),r.note?(t(),a(`p`,S,n(r.note),1)):i(``,!0)]))),128))])]))}}),[[`__scopeId`,`data-v-9ea8c789`]]);export{C as default};
|
||||
import{F as e,M as t,Pt as n,_ as r,d as i,f as a,i as o,k as s,l as c,t as l,ut as u,v as d}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{o as f}from"./format-BHJptHdF.js";import{A as p}from"./index-CpQ4kL4n.js";import{t as m}from"./PageHeader-BZqQYya4.js";import{t as h}from"./catalogRequests-COPPKp3x.js";var g={class:`page catalog-requests-page`},_={class:`desktop-page__head desktop-only catalog-requests-desk-head`},v={class:`page__scroll page__scroll--with-nav body`},y={key:0,class:`empty`},b={class:`card__top`},x={class:`badge`},S={key:0,class:`note`},C=l(d({__name:`CatalogRequestsView`,setup(l){let d=p(),C=h();return s(()=>C.hydrate()),(s,l)=>(t(),a(`div`,g,[r(m,{class:`mobile-only`,title:`وضعیت کالیتهها`,"show-back":``,centered:``,onBack:l[0]||=e=>u(d).push(`/products`)}),c(`header`,_,[l[3]||=c(`div`,null,[c(`h1`,{class:`desktop-page__title`},`وضعیت کالیتهها`),c(`p`,{class:`desktop-page__subtitle`},`پیگیری درخواستهای کالیته ثبتشده`)],-1),c(`button`,{type:`button`,class:`desk-new-btn`,onClick:l[1]||=e=>u(d).push(`/categories`)},` درخواست کالیته جدید `)]),c(`div`,v,[c(`button`,{type:`button`,class:`new-btn mobile-only`,onClick:l[2]||=e=>u(d).push(`/categories`)},` درخواست کالیته جدید `),u(C).sorted.length?i(``,!0):(t(),a(`p`,y,`هنوز درخواستی ثبت نکردهاید.`)),(t(!0),a(o,null,e(u(C).sorted,r=>(t(),a(`article`,{key:r.id,class:`card`},[c(`div`,b,[c(`strong`,null,`درخواست `+n(r.id.slice(-6)),1),c(`span`,x,n(u(C).statusLabel(r.status)),1)]),c(`p`,null,n(r.createdAt.slice(0,10)),1),c(`p`,null,n(u(f)(r.items.length))+` قلم`,1),c(`ul`,null,[(t(!0),a(o,null,e(r.items,e=>(t(),a(`li`,{key:e.productId},n(e.productName)+` × `+n(u(f)(e.quantity)),1))),128))]),r.note?(t(),a(`p`,S,n(r.note),1)):i(``,!0)]))),128))])]))}}),[[`__scopeId`,`data-v-90b3d301`]]);export{C as default};
|
||||
-1
@@ -1 +0,0 @@
|
||||
.calite-hub[data-v-daa79410]{background:var(--color-bg);color:var(--color-text)}.calite-hub__nav[data-v-daa79410]{background:var(--color-bg);grid-template-columns:40px 1fr auto;align-items:center;padding:6px 12px 0;display:grid}.calite-hub__nav-end[data-v-daa79410]{align-items:center;display:flex}.calite-hub__nav h1[data-v-daa79410]{text-align:center;margin:0;font-size:1.125rem;font-weight:700}.calite-hub__scroll[data-v-daa79410]{flex-direction:column;gap:12px;padding:2px 16px 28px;display:flex}.calite-hub__lead[data-v-daa79410]{text-align:center;color:var(--color-text-muted);margin:0;font-size:.78rem;line-height:1.7}.calite-hub__search[data-v-daa79410]{width:100%}.icon-btn[data-v-daa79410]{width:40px;height:40px;color:inherit;cursor:pointer;background:0 0;border:none;place-items:center;display:grid}.calite-hub__chips[data-v-daa79410]{scrollbar-width:none;gap:8px;padding:2px 0 4px;display:flex}.calite-hub__chips[data-v-daa79410]::-webkit-scrollbar{display:none}.calite-chip[data-v-daa79410]{border:1px solid var(--color-border);background:var(--color-surface);height:36px;color:var(--color-text-muted);font:inherit;cursor:pointer;border-radius:999px;flex-shrink:0;padding:0 16px;font-size:.78rem;font-weight:600}.calite-chip.is-on[data-v-daa79410]{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.calite-hub__list[data-v-daa79410]{flex-direction:column;gap:12px;display:flex}.calite-card[data-v-daa79410]{cursor:pointer;text-align:start;color:#2c2824;background:#e7ddd4;border:none;border-radius:22px;width:100%;min-height:132px;padding:0;display:block;position:relative;overflow:hidden}.calite-card__photo[data-v-daa79410]{z-index:0;background:linear-gradient(160deg,#c4b7a8,#8a7b6c) 50%/cover;position:absolute;inset:0}.calite-card__photo[data-v-daa79410]:after{content:"";background:linear-gradient(90deg,#0000 28%,#e7ddd46b 58%,#e7ddd4e0 100%);position:absolute;inset:0}.calite-card__badge[data-v-daa79410]{z-index:2;color:#000;background:#e7ddd4;border-radius:999px;padding:5px 12px;font-size:1rem;font-weight:500;line-height:1.2;position:absolute;top:12px;left:12px}.calite-card__copy[data-v-daa79410]{z-index:1;align-items:center;gap:4px;min-height:132px;padding:16px 16px 16px 42%;display:flex;position:relative}.calite-card__copy strong[data-v-daa79410]{color:#2c2824;font-size:1.0625rem;font-weight:700;line-height:1.4}.calite-card__sub[data-v-daa79410]{color:#5c5752;justify-content:flex-start;align-items:center;gap:2px;display:flex}.calite-card__arrow[data-v-daa79410]{flex-shrink:0;display:block}.calite-card__copy em[data-v-daa79410]{color:#5c5752;font-size:.75rem;font-style:normal;font-weight:500;line-height:1.45}.calite-card__copy small[data-v-daa79410]{color:#7a746c;font-size:.6875rem;font-weight:500;line-height:1.45}.calite-hub__empty[data-v-daa79410]{text-align:center;color:var(--color-text-muted);margin:16px 0 0}html.dark .calite-card[data-v-daa79410]{color:#eef2f8;background:#1a2230}html.dark .calite-card__photo[data-v-daa79410]{background:linear-gradient(160deg,#3a4454,#151b24)}html.dark .calite-card__photo[data-v-daa79410]:after{background:linear-gradient(90deg,#0000 22%,#0b0f146b 55%,#0b0f14e0 100%)}html.dark .calite-card__badge[data-v-daa79410]{color:#121821;background:#e8e4df}html.dark .calite-card__copy strong[data-v-daa79410],html.dark .calite-card__sub[data-v-daa79410],html.dark .calite-card__copy em[data-v-daa79410],html.dark .calite-card__copy small[data-v-daa79410]{color:#eef2f8}html.dark .calite-card__copy small[data-v-daa79410]{color:#c5d0de}@media (width>=768px){.calite-hub[data-v-daa79410]{background:0 0;max-width:none;min-height:auto;margin:0;padding:0;overflow:visible}.calite-hub__nav[data-v-daa79410]{background:0 0}.calite-hub__scroll[data-v-daa79410]{gap:16px;width:100%;max-width:1120px;margin-inline:auto;padding:8px 28px 40px}.calite-hub__nav[data-v-daa79410]{grid-template-columns:1fr auto;width:100%;max-width:1120px;margin-inline:auto;padding:28px 28px 0}.calite-hub__nav h1[data-v-daa79410]{text-align:start;font-size:1.5rem}.calite-hub__lead[data-v-daa79410]{text-align:start;font-size:.9375rem}.calite-hub__chips[data-v-daa79410]{flex-wrap:wrap}.calite-chip[data-v-daa79410]{height:40px;padding:0 18px;font-size:.8125rem}.calite-hub__list[data-v-daa79410]{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.calite-card[data-v-daa79410],.calite-card__copy[data-v-daa79410]{min-height:176px}.calite-card__copy[data-v-daa79410]{padding:20px 20px 20px 38%}}@media (width>=1200px){.calite-hub__nav[data-v-daa79410],.calite-hub__scroll[data-v-daa79410]{padding-inline:40px}.calite-hub__scroll[data-v-daa79410]{padding-bottom:48px}.calite-hub__list[data-v-daa79410]{gap:20px}.calite-card[data-v-daa79410],.calite-card__copy[data-v-daa79410]{min-height:200px}}
|
||||
-1
@@ -1 +0,0 @@
|
||||
import{At as e,F as t,M as n,Nt as r,Pt as i,_ as a,c as o,d as s,f as c,i as l,k as u,l as d,nt as f,t as p,u as m,ut as h,v as g}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{o as _}from"./format-C72AoJ2H.js";import{t as v}from"./catalog-DvXpKfLO.js";import{A as y,a as b,k as x}from"./index-BPUhS8CY.js";import{t as S}from"./IconChevronBack-DytWz6TD.js";import{t as ee}from"./SearchField-dVDn9y5S.js";import{t as te}from"./PageSkeleton-DYdjm4l9.js";import{i as ne,n as C,r as w,t as T}from"./catalogNavigation--EF0Gjvi.js";import{t as E}from"./crm-BKPKhzCX.js";import{t as D}from"./IconSearch-BS6uiAhj.js";import{t as O}from"./useGoBack-BkqOD93C.js";var k={class:`page calite-hub`},A={class:`calite-hub__nav`},j={class:`calite-hub__nav-end`},M={class:`page__scroll page__scroll--with-nav calite-hub__scroll`},N={class:`calite-hub__chips`,role:`tablist`,"aria-label":`مرتبسازی کالیتهها`},P=[`onClick`],F={key:1,class:`calite-hub__empty`},I={key:2,class:`calite-hub__list`},L=[`onClick`],R={key:0,class:`calite-card__badge`},re={class:`calite-card__copy`,dir:`rtl`},z={class:`mr-4 text-white`},B={class:`text-lg font-bold`},V={class:`text-md`},H={class:`text-xs mt-4`},U=p(g({__name:`CatalogsHubView`,setup(p){let g=x(),U=y(),{goBack:W}=O(`/`),G=v(),K=E(),q=f([]),J=f([]),Y=f(!0),X=f(``),Z=f(null),Q=f(`all`),ie=[{id:`all`,label:`همه`},{id:`newest`,label:`جدیدترین`},{id:`popular`,label:`محبوبترین`},{id:`season`,label:`بر اساس فصل`}],ae=o(()=>{let e=C(q.value,J.value);return e.length?e:ne}),$=o(()=>w(ae.value,Q.value,X.value));u(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(g.query.id??``);r&&q.value.some(e=>e.id===r)&&await T(U,r,J.value)}catch{q.value=[]}finally{Y.value=!1}});function oe(e){T(U,e,J.value)}function se(){Z.value?.focus()}function ce(e){let t=e.season===`winter`?`مناسب زمستان`:e.season===`summer`?`مناسب تابستان`:`مناسب چهار فصل`;return`${_(e.patternCount)} طرح • ${t}`}return(o,u)=>(n(),c(`div`,k,[d(`header`,A,[d(`button`,{type:`button`,class:`icon-btn mobile-only`,"aria-label":`بازگشت`,onClick:u[0]||=(...e)=>h(W)&&h(W)(...e)},[a(S,{size:20})]),u[2]||=d(`h1`,null,`کالیتهها`,-1),d(`div`,j,[a(b,{variant:`inline`,class:`mobile-only`}),d(`button`,{type:`button`,class:`icon-btn mobile-only`,"aria-label":`جستجو`,onClick:se},[a(D,{size:20})])])]),d(`div`,M,[u[4]||=d(`p`,{class:`calite-hub__lead`},`مجموعهای از بهترین پارچهها، در یک نگاه`,-1),a(ee,{ref_key:`searchFieldRef`,ref:Z,modelValue:X.value,"onUpdate:modelValue":u[1]||=e=>X.value=e,class:`calite-hub__search`,placeholder:`جستجوی نام کالیته...`},null,8,[`modelValue`]),d(`div`,N,[(n(),c(l,null,t(ie,t=>d(`button`,{key:t.id,type:`button`,class:e([`calite-chip`,{"is-on":Q.value===t.id}]),onClick:e=>Q.value=t.id},i(t.label),11,P)),64))]),Y.value?(n(),m(te,{key:0,variant:`cards`,rows:4})):$.value.length?(n(),c(`div`,I,[(n(!0),c(l,null,t($.value,e=>(n(),c(`button`,{key:e.id,type:`button`,class:`calite-card`,dir:`ltr`,onClick:t=>oe(e.id)},[d(`span`,{class:`calite-card__photo`,style:r(e.imageUrl?{backgroundImage:`url(${e.imageUrl})`}:void 0)},null,4),e.badge?(n(),c(`span`,R,i(e.badge===`new`?`جدید`:`پرفروش`),1)):s(``,!0),d(`div`,re,[u[3]||=d(`svg`,{class:`calite-card__arrow`,width:`12`,height:`16`,viewBox:`0 0 8 12`,fill:`none`,"aria-hidden":`true`},[d(`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),d(`div`,z,[d(`div`,B,i(e.title),1),d(`div`,V,i(e.subtitle),1),d(`div`,H,i(ce(e)),1)])])],8,L))),128))])):(n(),c(`p`,F,`کالیتهای یافت نشد.`))])]))}}),[[`__scopeId`,`data-v-daa79410`]]);export{U as default};
|
||||
-1
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
-1
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
@@ -1 +1 @@
|
||||
import{M as e,Pt as t,U as n,_ as r,c as i,f as a,l as o,t as s,ut as c,v as l}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{n as u}from"./format-C72AoJ2H.js";import{A as d,f,x as p}from"./index-BPUhS8CY.js";import{t as m}from"./PageHeader-CG1ktltl.js";import{t as h}from"./useRequirePricedOrder-XmwhrUqA.js";import{t as g}from"./IconEditPen-Dwk_zEXe.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=s(l({__name:`CheckModeSelectView`,setup(s){let l=d(),w=f(),{orderId:T,order:E}=h(),D=i(()=>E.value?.finalAmount?u(E.value.finalAmount):`—`);n(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(n,i)=>(e(),a(`div`,_,[r(m,{title:`تسویه چکی`,subtitle:`بر اساس مبلغ فاکتور، نحوه ثبت چک را انتخاب کنید`,"show-back":``,centered:``,onBack:i[0]||=e=>c(l).push(`/orders/${c(T)}`)}),o(`div`,v,[o(`div`,y,[i[3]||=o(`span`,{class:`check-mode-invoice__label`},`مبلغ فاکتور`,-1),o(`strong`,b,t(D.value),1)]),o(`div`,x,[o(`button`,{type:`button`,class:`mode-card`,onClick:i[1]||=e=>O(`full`)},[o(`span`,S,[r(p,{size:36})]),i[4]||=o(`h3`,{class:`mode-card__title`},`ثبت کامل (پیشنهادی)`,-1),i[5]||=o(`p`,{class:`mode-card__desc`},`وارد کردن همه اطلاعات چک`,-1)]),o(`button`,{type:`button`,class:`mode-card`,onClick:i[2]||=e=>O(`brief`)},[o(`span`,C,[r(g,{size:36})]),i[6]||=o(`h3`,{class:`mode-card__title`},`ثبت مختصر`,-1),i[7]||=o(`p`,{class:`mode-card__desc`},`وارد کردن حداقل اطلاعات`,-1)])])])]))}}),[[`__scopeId`,`data-v-680065b0`]]);export{w as default};
|
||||
import{M as e,Pt as t,U as n,_ as r,c as i,f as a,l as o,t as s,ut as c,v as l}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{n as u}from"./format-BHJptHdF.js";import{A as d,f,x as p}from"./index-CpQ4kL4n.js";import{t as m}from"./PageHeader-BZqQYya4.js";import{t as h}from"./useRequirePricedOrder-BNJcABKi.js";import{t as g}from"./IconEditPen-Dwk_zEXe.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=s(l({__name:`CheckModeSelectView`,setup(s){let l=d(),w=f(),{orderId:T,order:E}=h(),D=i(()=>E.value?.finalAmount?u(E.value.finalAmount):`—`);n(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(n,i)=>(e(),a(`div`,_,[r(m,{title:`تسویه چکی`,subtitle:`بر اساس مبلغ فاکتور، نحوه ثبت چک را انتخاب کنید`,"show-back":``,centered:``,onBack:i[0]||=e=>c(l).push(`/orders/${c(T)}`)}),o(`div`,v,[o(`div`,y,[i[3]||=o(`span`,{class:`check-mode-invoice__label`},`مبلغ فاکتور`,-1),o(`strong`,b,t(D.value),1)]),o(`div`,x,[o(`button`,{type:`button`,class:`mode-card`,onClick:i[1]||=e=>O(`full`)},[o(`span`,S,[r(p,{size:36})]),i[4]||=o(`h3`,{class:`mode-card__title`},`ثبت کامل (پیشنهادی)`,-1),i[5]||=o(`p`,{class:`mode-card__desc`},`وارد کردن همه اطلاعات چک`,-1)]),o(`button`,{type:`button`,class:`mode-card`,onClick:i[2]||=e=>O(`brief`)},[o(`span`,C,[r(g,{size:36})]),i[6]||=o(`h3`,{class:`mode-card__title`},`ثبت مختصر`,-1),i[7]||=o(`p`,{class:`mode-card__desc`},`وارد کردن حداقل اطلاعات`,-1)])])])]))}}),[[`__scopeId`,`data-v-680065b0`]]);export{w as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{At as e,M as t,Pt as n,U as r,d as i,f as a,l as o,nt as s,t as c,v as l}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{o as u,t as d}from"./format-C72AoJ2H.js";var f={class:`form-group`},p={key:0,class:`form-label`},m=[`value`,`placeholder`,`disabled`],h={key:1,class:`input-error-text`},g={key:2,class:`form-hint`},_=c(l({__name:`CurrencyInput`,props:{modelValue:{},label:{},placeholder:{},hint:{},error:{},disabled:{type:Boolean}},emits:[`update:modelValue`],setup(c,{emit:l}){let _=c,v=l,y=s(``);r(()=>_.modelValue,e=>{let t=d(e??``);y.value=t?u(Number(t)):``},{immediate:!0});function b(e){let t=e.target,n=d(t.value);y.value=n?u(Number(n)):``,v(`update:modelValue`,n)}return(r,s)=>(t(),a(`div`,f,[c.label?(t(),a(`label`,p,n(c.label),1)):i(``,!0),o(`input`,{class:e([`input`,{"input-error":c.error}]),type:`text`,inputmode:`numeric`,dir:`ltr`,value:y.value,placeholder:c.placeholder,disabled:c.disabled,onInput:b},null,42,m),c.error?(t(),a(`p`,h,n(c.error),1)):c.hint?(t(),a(`p`,g,n(c.hint),1)):i(``,!0)]))}}),[[`__scopeId`,`data-v-1becf1bc`]]);export{_ as t};
|
||||
import{At as e,M as t,Pt as n,U as r,d as i,f as a,l as o,nt as s,t as c,v as l}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{o as u,t as d}from"./format-BHJptHdF.js";var f={class:`form-group`},p={key:0,class:`form-label`},m=[`value`,`placeholder`,`disabled`],h={key:1,class:`input-error-text`},g={key:2,class:`form-hint`},_=c(l({__name:`CurrencyInput`,props:{modelValue:{},label:{},placeholder:{},hint:{},error:{},disabled:{type:Boolean}},emits:[`update:modelValue`],setup(c,{emit:l}){let _=c,v=l,y=s(``);r(()=>_.modelValue,e=>{let t=d(e??``);y.value=t?u(Number(t)):``},{immediate:!0});function b(e){let t=e.target,n=d(t.value);y.value=n?u(Number(n)):``,v(`update:modelValue`,n)}return(r,s)=>(t(),a(`div`,f,[c.label?(t(),a(`label`,p,n(c.label),1)):i(``,!0),o(`input`,{class:e([`input`,{"input-error":c.error}]),type:`text`,inputmode:`numeric`,dir:`ltr`,value:y.value,placeholder:c.placeholder,disabled:c.disabled,onInput:b},null,42,m),c.error?(t(),a(`p`,h,n(c.error),1)):c.hint?(t(),a(`p`,g,n(c.hint),1)):i(``,!0)]))}}),[[`__scopeId`,`data-v-1becf1bc`]]);export{_ as t};
|
||||
Vendored
+1
-1
@@ -1 +1 @@
|
||||
import{D as e,G as t,M as n,Pt as r,U as i,_ as a,c as o,d as s,f as c,g as l,l as u,nt as d,o as f,t as p,u as m,v as h}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{n as g,u as _}from"./BasicIcon-ba1FsUKx.js";import{l as v}from"./format-C72AoJ2H.js";import{a as y}from"./validation-Duyyve7l.js";import{t as b}from"./http-CU_N-R2R.js";import{l as x,r as S}from"./index-BPUhS8CY.js";import{t as C}from"./FormErrorBanner-Ud1D04xf.js";import{n as w,r as T,t as E}from"./formErrors-DglFjYkZ.js";import{t as D}from"./crm-BKPKhzCX.js";import{t as O}from"./BaseInput-CpE3bVJZ.js";var k={class:`customer-create-form`},A={key:0,class:`customer-create-form__intro`},j={class:`customer-create-form__fields`},M=p(h({__name:`CustomerCreateForm`,props:{customerId:{},initial:{}},emits:[`success`],setup(e,{expose:o,emit:f}){let p=e,m=f,h=x(),g=D(),_=d(``),M=d(``),N=d(``),P=d(``),F=d({}),I=d(``),L=d(!1),R=()=>!!p.customerId;function z(e){_.value=e?.firstName??``,M.value=e?.lastName??``,N.value=e?.phone??``,P.value=e?.businessName??``,F.value={},I.value=``}i(()=>p.initial,e=>z(e),{immediate:!0});function B(e){F.value=w(F.value,e),T(F.value)||(I.value=``)}async function V(){if(F.value={},I.value=``,!h.isAgent){I.value=`فقط واسطه میتواند مشتری به لیست خود اضافه کند.`;return}let e=v(N.value),t={};if(_.value.trim()||(t.firstName=`نام الزامی است.`),M.value.trim()||(t.lastName=`نام خانوادگی الزامی است.`),y(e)||(t.phone=`شماره موبایل معتبر نیست.`),T(t)){F.value=t,I.value=E;return}let n={firstName:_.value.trim(),lastName:M.value.trim(),phone:e,businessName:P.value.trim()||void 0};L.value=!0;try{if(R()&&p.customerId){let e=await g.updateCustomer(p.customerId,n);m(`success`,e?.id??p.customerId);return}let e=await g.registerCustomer(n);m(`success`,e?.id)}catch(e){I.value=e instanceof b||e instanceof Error?e.message:R()?`ویرایش مشتری ناموفق بود.`:`ثبت مشتری ناموفق بود.`}finally{L.value=!1}}return o({submit:V,saving:L}),(e,i)=>(n(),c(`div`,k,[R()?s(``,!0):(n(),c(`p`,A,` مشتری به لیست شما اضافه میشود و بعد از ورود با همین شماره، سفارشهایش به حساب شما وصل میماند. `)),a(C,{message:I.value},null,8,[`message`]),u(`div`,j,[a(O,{modelValue:_.value,"onUpdate:modelValue":[i[0]||=e=>_.value=e,i[1]||=e=>B(`firstName`)],label:`نام`,placeholder:`نام مشتری`,error:F.value.firstName},null,8,[`modelValue`,`error`]),a(O,{modelValue:M.value,"onUpdate:modelValue":[i[2]||=e=>M.value=e,i[3]||=e=>B(`lastName`)],label:`نام خانوادگی`,placeholder:`نام خانوادگی`,error:F.value.lastName},null,8,[`modelValue`,`error`]),a(O,{modelValue:N.value,"onUpdate:modelValue":[i[4]||=e=>N.value=e,i[5]||=e=>B(`phone`)],label:`شماره موبایل`,type:`tel`,inputmode:`tel`,dir:`ltr`,placeholder:`۰۹۱۲۳۴۵۶۷۸۹`,error:F.value.phone},null,8,[`modelValue`,`error`]),a(O,{modelValue:P.value,"onUpdate:modelValue":i[6]||=e=>P.value=e,label:`نام فروشگاه یا برند (اختیاری)`,placeholder:`مثلاً بوتیک رز`},null,8,[`modelValue`])]),a(S,{block:``,loading:L.value,disabled:L.value,onClick:V},{default:t(()=>[l(r(R()?`ذخیره تغییرات`:`ثبت مشتری`),1)]),_:1},8,[`loading`,`disabled`])]))}}),[[`__scopeId`,`data-v-4f911c6f`]]),N={class:`customer-create-sheet`},P={class:`customer-create-sheet__head`},F={id:`customer-create-title`},I=p(h({__name:`CustomerCreateOverlay`,props:{open:{type:Boolean},customerId:{},initial:{},title:{}},emits:[`close`,`success`],setup(l,{emit:d}){let p=l,h=o(()=>p.title??(p.customerId?`ویرایش مشتری`:`افزودن مشتری`)),v=d;function y(){v(`close`)}function b(e){v(`success`,e)}function x(e){e.key===`Escape`&&p.open&&y()}return i(()=>p.open,e=>{document.body.style.overflow=e?`hidden`:``,e?window.addEventListener(`keydown`,x):window.removeEventListener(`keydown`,x)},{immediate:!0}),e(()=>{document.body.style.overflow=``,window.removeEventListener(`keydown`,x)}),(e,i)=>(n(),m(f,{to:`body`},[a(g,{name:`customer-create-sheet`},{default:t(()=>[l.open?(n(),c(`div`,{key:0,class:`customer-create-overlay`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`customer-create-title`,onClick:_(y,[`self`])},[u(`div`,N,[i[0]||=u(`div`,{class:`customer-create-sheet__handle`,"aria-hidden":`true`},null,-1),u(`header`,P,[u(`h2`,F,r(h.value),1),u(`button`,{type:`button`,class:`customer-create-sheet__close`,"aria-label":`بستن`,onClick:y},` × `)]),a(M,{"customer-id":l.customerId,initial:l.initial,onSuccess:b},null,8,[`customer-id`,`initial`])])])):s(``,!0)]),_:1})]))}}),[[`__scopeId`,`data-v-ac91feb8`]]);export{I as t};
|
||||
import{D as e,G as t,M as n,Pt as r,U as i,_ as a,c as o,d as s,f as c,g as l,l as u,nt as d,o as f,t as p,u as m,v as h}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{n as g,u as _}from"./BasicIcon-ba1FsUKx.js";import{c as v}from"./format-BHJptHdF.js";import{a as y}from"./validation-BD7oi-2I.js";import{t as b}from"./http-CU_N-R2R.js";import{l as x,r as S}from"./index-CpQ4kL4n.js";import{t as C}from"./FormErrorBanner-Ud1D04xf.js";import{n as w,r as T,t as E}from"./formErrors-DglFjYkZ.js";import{t as D}from"./crm-BPBlQFWp.js";import{t as O}from"./BaseInput-CpE3bVJZ.js";var k={class:`customer-create-form`},A={key:0,class:`customer-create-form__intro`},j={class:`customer-create-form__fields`},M=p(h({__name:`CustomerCreateForm`,props:{customerId:{},initial:{}},emits:[`success`],setup(e,{expose:o,emit:f}){let p=e,m=f,h=x(),g=D(),_=d(``),M=d(``),N=d(``),P=d(``),F=d({}),I=d(``),L=d(!1),R=()=>!!p.customerId;function z(e){_.value=e?.firstName??``,M.value=e?.lastName??``,N.value=e?.phone??``,P.value=e?.businessName??``,F.value={},I.value=``}i(()=>p.initial,e=>z(e),{immediate:!0});function B(e){F.value=w(F.value,e),T(F.value)||(I.value=``)}async function V(){if(F.value={},I.value=``,!h.isAgent){I.value=`فقط واسطه میتواند مشتری به لیست خود اضافه کند.`;return}let e=v(N.value),t={};if(_.value.trim()||(t.firstName=`نام الزامی است.`),M.value.trim()||(t.lastName=`نام خانوادگی الزامی است.`),y(e)||(t.phone=`شماره موبایل معتبر نیست.`),T(t)){F.value=t,I.value=E;return}let n={firstName:_.value.trim(),lastName:M.value.trim(),phone:e,businessName:P.value.trim()||void 0};L.value=!0;try{if(R()&&p.customerId){let e=await g.updateCustomer(p.customerId,n);m(`success`,e?.id??p.customerId);return}let e=await g.registerCustomer(n);m(`success`,e?.id)}catch(e){I.value=e instanceof b||e instanceof Error?e.message:R()?`ویرایش مشتری ناموفق بود.`:`ثبت مشتری ناموفق بود.`}finally{L.value=!1}}return o({submit:V,saving:L}),(e,i)=>(n(),c(`div`,k,[R()?s(``,!0):(n(),c(`p`,A,` مشتری به لیست شما اضافه میشود و بعد از ورود با همین شماره، سفارشهایش به حساب شما وصل میماند. `)),a(C,{message:I.value},null,8,[`message`]),u(`div`,j,[a(O,{modelValue:_.value,"onUpdate:modelValue":[i[0]||=e=>_.value=e,i[1]||=e=>B(`firstName`)],label:`نام`,placeholder:`نام مشتری`,error:F.value.firstName},null,8,[`modelValue`,`error`]),a(O,{modelValue:M.value,"onUpdate:modelValue":[i[2]||=e=>M.value=e,i[3]||=e=>B(`lastName`)],label:`نام خانوادگی`,placeholder:`نام خانوادگی`,error:F.value.lastName},null,8,[`modelValue`,`error`]),a(O,{modelValue:N.value,"onUpdate:modelValue":[i[4]||=e=>N.value=e,i[5]||=e=>B(`phone`)],label:`شماره موبایل`,type:`tel`,inputmode:`tel`,dir:`ltr`,placeholder:`۰۹۱۲۳۴۵۶۷۸۹`,error:F.value.phone},null,8,[`modelValue`,`error`]),a(O,{modelValue:P.value,"onUpdate:modelValue":i[6]||=e=>P.value=e,label:`نام فروشگاه یا برند (اختیاری)`,placeholder:`مثلاً بوتیک رز`},null,8,[`modelValue`])]),a(S,{block:``,loading:L.value,disabled:L.value,onClick:V},{default:t(()=>[l(r(R()?`ذخیره تغییرات`:`ثبت مشتری`),1)]),_:1},8,[`loading`,`disabled`])]))}}),[[`__scopeId`,`data-v-4f911c6f`]]),N={class:`customer-create-sheet`},P={class:`customer-create-sheet__head`},F={id:`customer-create-title`},I=p(h({__name:`CustomerCreateOverlay`,props:{open:{type:Boolean},customerId:{},initial:{},title:{}},emits:[`close`,`success`],setup(l,{emit:d}){let p=l,h=o(()=>p.title??(p.customerId?`ویرایش مشتری`:`افزودن مشتری`)),v=d;function y(){v(`close`)}function b(e){v(`success`,e)}function x(e){e.key===`Escape`&&p.open&&y()}return i(()=>p.open,e=>{document.body.style.overflow=e?`hidden`:``,e?window.addEventListener(`keydown`,x):window.removeEventListener(`keydown`,x)},{immediate:!0}),e(()=>{document.body.style.overflow=``,window.removeEventListener(`keydown`,x)}),(e,i)=>(n(),m(f,{to:`body`},[a(g,{name:`customer-create-sheet`},{default:t(()=>[l.open?(n(),c(`div`,{key:0,class:`customer-create-overlay`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`customer-create-title`,onClick:_(y,[`self`])},[u(`div`,N,[i[0]||=u(`div`,{class:`customer-create-sheet__handle`,"aria-hidden":`true`},null,-1),u(`header`,P,[u(`h2`,F,r(h.value),1),u(`button`,{type:`button`,class:`customer-create-sheet__close`,"aria-label":`بستن`,onClick:y},` × `)]),a(M,{"customer-id":l.customerId,initial:l.initial,onSuccess:b},null,8,[`customer-id`,`initial`])])])):s(``,!0)]),_:1})]))}}),[[`__scopeId`,`data-v-ac91feb8`]]);export{I as t};
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
@@ -0,0 +1 @@
|
||||
.body[data-v-859a8068]{padding:12px var(--page-padding) 24px;flex-direction:column;gap:12px;display:flex}.empty[data-v-859a8068]{text-align:center;color:var(--color-text-muted);padding:32px 0}.product-item[data-v-859a8068]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;grid-template-columns:112px 1fr;align-items:stretch;gap:12px;padding:12px;display:grid}.product-item__image[data-v-859a8068]{background:linear-gradient(145deg,#2a3544,#111827) 50%/cover;border-radius:12px;min-height:112px}.product-item__body[data-v-859a8068]{flex-direction:column;gap:6px;min-width:0;display:flex}.product-item__head[data-v-859a8068]{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.product-item__title[data-v-859a8068]{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.product-item__title strong[data-v-859a8068]{color:var(--color-text);font-size:.9375rem;font-weight:700;line-height:1.4}.new-tag[data-v-859a8068]{background:var(--color-primary);color:#fff;white-space:nowrap;border-radius:6px;padding:2px 8px;font-size:.65rem;font-weight:700}.bookmark[data-v-859a8068]{cursor:pointer;background:0 0;border:none;flex-shrink:0;place-items:center;width:28px;height:28px;margin-inline-start:auto;padding:0;display:grid}.product-item__specs[data-v-859a8068]{color:var(--color-text-muted);text-align:start;flex-direction:column;gap:2px;margin:0;padding:0;font-size:.75rem;line-height:1.55;list-style:none;display:flex}.swatches[data-v-859a8068]{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.swatch[data-v-859a8068]{background-position:50%;background-size:cover;border:1px solid #00000014;border-radius:999px;width:14px;height:14px}.details-link[data-v-859a8068]{color:var(--color-info);cursor:pointer;background:0 0;border:none;align-self:flex-end;align-items:center;gap:2px;margin-top:auto;padding:0;font-size:.75rem;display:inline-flex}@media (width>=768px){.favorites-page[data-v-859a8068]{max-width:var(--content-max-width);padding:20px var(--page-padding) 28px;box-sizing:border-box;margin-inline:auto}.body[data-v-859a8068]{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:0;display:grid}.empty[data-v-859a8068]{grid-column:1/-1;padding:48px 0}.product-item[data-v-859a8068]{grid-template-columns:120px 1fr;min-height:140px}.product-item__image[data-v-859a8068]{min-height:116px}}@media (width>=1200px){.body[data-v-859a8068]{grid-template-columns:repeat(3,minmax(0,1fr))}}
|
||||
+1
@@ -0,0 +1 @@
|
||||
import{F as e,M as t,Nt as n,Pt as r,_ as i,d as a,f as o,g as s,i as c,k as l,l as u,nt as d,t as f,u as p,ut as m,v as h}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{u as g}from"./BasicIcon-ba1FsUKx.js";import{o as _}from"./format-BHJptHdF.js";import{A as v,s as y,u as b}from"./index-CpQ4kL4n.js";import{t as x}from"./PageHeader-BZqQYya4.js";import{t as S}from"./PageSkeleton-DYdjm4l9.js";import{t as C}from"./crm-BPBlQFWp.js";import{t as w}from"./IconBookmark-CQq-TOS-.js";import{n as T,r as E,t as D}from"./colorSwatch-CCSfH9o4.js";var O={class:`page favorites-page`},k={class:`page__scroll page__scroll--with-nav body`},A={key:1},j={key:2,class:`empty`},M=[`onClick`],N={class:`product-item__body`},P={class:`product-item__head`},F={class:`product-item__title`},I={key:0,class:`new-tag`},L=[`onClick`],R={class:`product-item__specs`},z={key:0,class:`swatches`},B=[`onClick`],V=f(h({__name:`FavoritesView`,setup(f){let h={summer:`تابستانه`,winter:`زمستانه`,all_season:`چهارفصل`},V=v(),H=b(),U=C(),W=d([]),G=d(!0),K=d(null);l(async()=>{G.value=!0;try{await H.hydrate();let e=await U.loadBrowseProducts(),t=new Set(H.ids);W.value=e.filter(e=>t.has(e.id))}catch(e){K.value=e instanceof Error?e.message:`بارگذاری علاقهمندیها ناموفق بود.`}finally{G.value=!1}});function q(e){return h[e]??`—`}function J(e){return E(e.imageUrls,e.colorImages,e.imageUrl)}function Y(e){V.push({path:`/product`,query:{id:e}})}async function X(e){await H.toggle(e),W.value=W.value.filter(t=>t.id!==e)}return(l,d)=>(t(),o(`div`,O,[i(x,{class:`mobile-only`,title:`علاقهمندیها`,"show-back":``,centered:``,onBack:d[0]||=e=>m(V).back()}),d[2]||=u(`header`,{class:`desktop-page__head desktop-only`},[u(`h1`,{class:`desktop-page__title`},`علاقهمندیها`),u(`p`,{class:`desktop-page__subtitle`},`محصولات ذخیرهشده برای دسترسی سریع`)],-1),u(`div`,k,[G.value?(t(),p(S,{key:0,variant:`grid`})):K.value?(t(),o(`p`,A,r(K.value),1)):W.value.length?a(``,!0):(t(),o(`p`,j,`هنوز محصولی ذخیره نکردهاید.`)),(t(!0),o(c,null,e(W.value,l=>(t(),o(`article`,{key:l.id,class:`product-item`,onClick:e=>Y(l.id)},[u(`div`,{class:`product-item__image`,style:n(J(l)?{backgroundImage:`url(${J(l)})`}:m(D)(l.colors[0]??``))},null,4),u(`div`,N,[u(`div`,P,[u(`div`,F,[u(`strong`,null,r(l.name),1),l.isNew?(t(),o(`span`,I,`جدید`)):a(``,!0)]),u(`button`,{type:`button`,class:`bookmark`,"aria-label":`حذف از علاقهمندیها`,onClick:g(e=>X(l.id),[`stop`])},[i(w,{size:18,filled:``,color:`var(--color-primary)`})],8,L)]),u(`ul`,R,[u(`li`,null,`عرض: `+r(m(_)(l.widthCm))+` سانتیمتر`,1),u(`li`,null,`ترکیب: `+r(l.composition||`—`),1),u(`li`,null,`مناسب: `+r(q(l.season)),1)]),l.colors.length?(t(),o(`div`,z,[(t(!0),o(c,null,e(l.colors.slice(0,6),(e,r)=>(t(),o(`span`,{key:r,class:`swatch`,style:n(m(D)(e,m(T)(l.colorImages,l.colorVariantImages,r)))},null,4))),128))])):a(``,!0),u(`button`,{type:`button`,class:`details-link`,onClick:g(e=>Y(l.id),[`stop`])},[d[1]||=s(` مشاهده جزئیات `,-1),i(y,{size:14})],8,B)])],8,M))),128))])]))}}),[[`__scopeId`,`data-v-859a8068`]]);export{V as default};
|
||||
-1
@@ -1 +0,0 @@
|
||||
.body[data-v-cc481a5f]{padding:12px var(--page-padding) 24px;flex-direction:column;gap:12px;display:flex}.empty[data-v-cc481a5f]{text-align:center;color:var(--color-text-muted);padding:32px 0}.product-item[data-v-cc481a5f]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;grid-template-columns:112px 1fr;align-items:stretch;gap:12px;padding:12px;display:grid}.product-item__image[data-v-cc481a5f]{background:linear-gradient(145deg,#2a3544,#111827) 50%/cover;border-radius:12px;min-height:112px}.product-item__body[data-v-cc481a5f]{flex-direction:column;gap:6px;min-width:0;display:flex}.product-item__head[data-v-cc481a5f]{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.product-item__title[data-v-cc481a5f]{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.product-item__title strong[data-v-cc481a5f]{color:var(--color-text);font-size:.9375rem;font-weight:700;line-height:1.4}.new-tag[data-v-cc481a5f]{background:var(--color-primary);color:#fff;white-space:nowrap;border-radius:6px;padding:2px 8px;font-size:.65rem;font-weight:700}.bookmark[data-v-cc481a5f]{cursor:pointer;background:0 0;border:none;flex-shrink:0;place-items:center;width:28px;height:28px;margin-inline-start:auto;padding:0;display:grid}.product-item__specs[data-v-cc481a5f]{color:var(--color-text-muted);text-align:start;flex-direction:column;gap:2px;margin:0;padding:0;font-size:.75rem;line-height:1.55;list-style:none;display:flex}.swatches[data-v-cc481a5f]{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.swatch[data-v-cc481a5f]{background-position:50%;background-size:cover;border:1px solid #00000014;border-radius:999px;width:14px;height:14px}.details-link[data-v-cc481a5f]{color:var(--color-info);cursor:pointer;background:0 0;border:none;align-self:flex-end;align-items:center;gap:2px;margin-top:auto;padding:0;font-size:.75rem;display:inline-flex}@media (width>=768px){.favorites-page[data-v-cc481a5f]{max-width:var(--content-max-width);padding:20px var(--page-padding) 28px;box-sizing:border-box;margin-inline:auto}.body[data-v-cc481a5f]{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:0;display:grid}.empty[data-v-cc481a5f]{grid-column:1/-1;padding:48px 0}.product-item[data-v-cc481a5f]{grid-template-columns:120px 1fr;min-height:140px}.product-item__image[data-v-cc481a5f]{min-height:116px}}@media (width>=1200px){.body[data-v-cc481a5f]{grid-template-columns:repeat(3,minmax(0,1fr))}}
|
||||
-1
@@ -1 +0,0 @@
|
||||
import{F as e,M as t,Nt as n,Pt as r,_ as i,d as a,f as o,g as s,i as c,k as l,l as u,nt as d,t as f,u as p,ut as m,v as h}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{u as g}from"./BasicIcon-ba1FsUKx.js";import{o as _}from"./format-C72AoJ2H.js";import{A as v,s as y,u as b}from"./index-BPUhS8CY.js";import{t as x}from"./PageHeader-CG1ktltl.js";import{t as S}from"./PageSkeleton-DYdjm4l9.js";import{t as C}from"./crm-BKPKhzCX.js";import{t as w}from"./IconBookmark-CQq-TOS-.js";import{n as T,t as E}from"./colorSwatch-BgOH1LE5.js";var D={class:`page favorites-page`},O={class:`page__scroll page__scroll--with-nav body`},k={key:1},A={key:2,class:`empty`},j=[`onClick`],M={class:`product-item__body`},N={class:`product-item__head`},P={class:`product-item__title`},F={key:0,class:`new-tag`},I=[`onClick`],L={class:`product-item__specs`},R={key:0,class:`swatches`},z=[`onClick`],B=f(h({__name:`FavoritesView`,setup(f){let h={summer:`تابستانه`,winter:`زمستانه`,all_season:`چهارفصل`},B=v(),V=b(),H=C(),U=d([]),W=d(!0),G=d(null);l(async()=>{W.value=!0;try{await V.hydrate();let e=await H.loadBrowseProducts(),t=new Set(V.ids);U.value=e.filter(e=>t.has(e.id))}catch(e){G.value=e instanceof Error?e.message:`بارگذاری علاقهمندیها ناموفق بود.`}finally{W.value=!1}});function K(e){return h[e]??`—`}function q(e){return E(e.colors,e.colorImages,e.imageUrls,0,e.imageUrl)}function J(e){B.push({path:`/product`,query:{id:e}})}async function Y(e){await V.toggle(e),U.value=U.value.filter(t=>t.id!==e)}return(l,d)=>(t(),o(`div`,D,[i(x,{class:`mobile-only`,title:`علاقهمندیها`,"show-back":``,centered:``,onBack:d[0]||=e=>m(B).back()}),d[2]||=u(`header`,{class:`desktop-page__head desktop-only`},[u(`h1`,{class:`desktop-page__title`},`علاقهمندیها`),u(`p`,{class:`desktop-page__subtitle`},`محصولات ذخیرهشده برای دسترسی سریع`)],-1),u(`div`,O,[W.value?(t(),p(S,{key:0,variant:`grid`})):G.value?(t(),o(`p`,k,r(G.value),1)):U.value.length?a(``,!0):(t(),o(`p`,A,`هنوز محصولی ذخیره نکردهاید.`)),(t(!0),o(c,null,e(U.value,l=>(t(),o(`article`,{key:l.id,class:`product-item`,onClick:e=>J(l.id)},[u(`div`,{class:`product-item__image`,style:n(q(l)?{backgroundImage:`url(${q(l)})`}:m(T)(l.colors[0]??``))},null,4),u(`div`,M,[u(`div`,N,[u(`div`,P,[u(`strong`,null,r(l.name),1),l.isNew?(t(),o(`span`,F,`جدید`)):a(``,!0)]),u(`button`,{type:`button`,class:`bookmark`,"aria-label":`حذف از علاقهمندیها`,onClick:g(e=>Y(l.id),[`stop`])},[i(w,{size:18,filled:``,color:`var(--color-primary)`})],8,I)]),u(`ul`,L,[u(`li`,null,`عرض: `+r(m(_)(l.widthCm))+` سانتیمتر`,1),u(`li`,null,`ترکیب: `+r(l.composition||`—`),1),u(`li`,null,`مناسب: `+r(K(l.season)),1)]),l.colors.length?(t(),o(`div`,R,[(t(!0),o(c,null,e(l.colors.slice(0,6),(e,r)=>(t(),o(`span`,{key:r,class:`swatch`,style:n(m(T)(e,l.colorImages?.[r]||l.imageUrls?.[r]))},null,4))),128))])):a(``,!0),u(`button`,{type:`button`,class:`details-link`,onClick:g(e=>J(l.id),[`stop`])},[d[1]||=s(` مشاهده جزئیات `,-1),i(y,{size:14})],8,z)])],8,j))),128))])]))}}),[[`__scopeId`,`data-v-cc481a5f`]]);export{B as default};
|
||||
Vendored
-1
File diff suppressed because one or more lines are too long
Vendored
+1
File diff suppressed because one or more lines are too long
Vendored
+1
File diff suppressed because one or more lines are too long
Vendored
-1
File diff suppressed because one or more lines are too long
Vendored
-1
@@ -1 +0,0 @@
|
||||
import{M as e,u as t,v as n}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{t as r}from"./BasicIcon-ba1FsUKx.js";var i=n({__name:`IconSearch`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(n){return(i,a)=>(e(),t(r,{icon:`vuesax-linear:search-normal`,size:n.size,"stroke-width":n.strokeWidth,color:n.color},null,8,[`size`,`stroke-width`,`color`]))}});export{i as t};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{M as e,Pt as t,_ as n,c as r,f as i,g as a,i as o,k as s,l as c,nt as l,t as u,u as d,ut as f,v as p}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{i as m,o as h}from"./format-C72AoJ2H.js";import{A as g}from"./index-BPUhS8CY.js";import{t as _}from"./PageHeader-CG1ktltl.js";import{t as v}from"./PageSkeleton-DYdjm4l9.js";import{t as y}from"./catalogRequests-COPPKp3x.js";import{t as b}from"./SimpleStatusTimeline-C5IzJmCG.js";var x=[{id:`registered`,label:`درخواست کالیته ثبت شد`},{id:`ready_to_ship`,label:`آماده ارسال`},{id:`shipped`,label:`ارسال شد`},{id:`returned`,label:`تحویل گرفته شد`},{id:`cancelled`,label:`درخواست لغو شد`}],S={new:0,approved:0,ready_to_ship:1,delivered:2,returned:3,cancelled:4};function C(e){return e.serverStatus?e.serverStatus:{submitted:`new`,reviewing:`approved`,preparing:`ready_to_ship`,shipped:`delivered`,delivered:`returned`,new:`new`,approved:`approved`,ready_to_ship:`ready_to_ship`,returned:`returned`,cancelled:`cancelled`}[e.status]??`new`}function w(e){return S[C(e)]??0}function T(e){let t=C(e),n=m(e.createdAt),r=e.updatedAt?m(e.updatedAt):null;return{registered:n,ready_to_ship:[`ready_to_ship`,`delivered`,`returned`].includes(t)?r:null,shipped:[`delivered`,`returned`].includes(t)?r:null,returned:t===`returned`?r:null,cancelled:t===`cancelled`?r:null}}var E={class:`page latest-status-page`},D={class:`page__scroll page__scroll--with-nav body`},O={class:`summary-card`},k={class:`summary-card__value`},A={class:`summary-card__meta`},j={key:2,class:`empty-cta`},M=u(p({__name:`LatestCatalogRequestStatusView`,setup(u){let p=g(),m=y(),S=l(!0),C=r(()=>m.sorted.length?m.sorted[0]:null),M=r(()=>C.value?w(C.value):0),N=r(()=>C.value?T(C.value):{});s(async()=>{S.value=!0,await m.hydrate(),S.value=!1});function P(){p.push(`/categories`)}return(r,s)=>(e(),i(`div`,E,[n(_,{class:`mobile-only`,title:`آخرین درخواست کالیته`,"show-back":``,centered:``,onBack:s[0]||=e=>f(p).push(`/`)}),s[4]||=c(`header`,{class:`desktop-page__head desktop-only`},[c(`div`,null,[c(`h1`,{class:`desktop-page__title`},`آخرین درخواست کالیته`),c(`p`,{class:`desktop-page__subtitle`},`پیگیری مراحل آخرین درخواست کالیته`)])],-1),c(`div`,D,[S.value?(e(),d(v,{key:0})):C.value?(e(),i(o,{key:1},[c(`article`,O,[s[2]||=c(`p`,{class:`summary-card__label`},`درخواست`,-1),c(`strong`,k,t(C.value.id.slice(-8)),1),c(`p`,A,t(f(h)(C.value.items.length))+` قلم کالیته `,1)]),n(b,{steps:f(x),"current-index":M.value,timestamps:N.value},null,8,[`steps`,`current-index`,`timestamps`]),c(`button`,{type:`button`,class:`detail-link`,onClick:s[1]||=e=>f(p).push(`/catalog-requests`)},` مشاهده همه درخواستها `)],64)):(e(),i(`div`,j,[s[3]||=a(` شما هیچ کالیته ای درخواست نکرده اید، جهت درخواست کالیته و مشاهده فیزیکی پارچه ها کلیک کنید `,-1),c(`button`,{type:`button`,class:`desk-new-btn`,onClick:P},` مشاهده محصولات `)]))])]))}}),[[`__scopeId`,`data-v-ceeabf36`]]);export{M as default};
|
||||
import{M as e,Pt as t,_ as n,c as r,f as i,g as a,i as o,k as s,l as c,nt as l,t as u,u as d,ut as f,v as p}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{i as m,o as h}from"./format-BHJptHdF.js";import{A as g}from"./index-CpQ4kL4n.js";import{t as _}from"./PageHeader-BZqQYya4.js";import{t as v}from"./catalogRequests-COPPKp3x.js";import{t as y}from"./PageSkeleton-DYdjm4l9.js";import{t as b}from"./SimpleStatusTimeline-C5IzJmCG.js";var x=[{id:`registered`,label:`درخواست کالیته ثبت شد`},{id:`ready_to_ship`,label:`آماده ارسال`},{id:`shipped`,label:`ارسال شد`},{id:`returned`,label:`تحویل گرفته شد`},{id:`cancelled`,label:`درخواست لغو شد`}],S={new:0,approved:0,ready_to_ship:1,delivered:2,returned:3,cancelled:4};function C(e){return e.serverStatus?e.serverStatus:{submitted:`new`,reviewing:`approved`,preparing:`ready_to_ship`,shipped:`delivered`,delivered:`returned`,new:`new`,approved:`approved`,ready_to_ship:`ready_to_ship`,returned:`returned`,cancelled:`cancelled`}[e.status]??`new`}function w(e){return S[C(e)]??0}function T(e){let t=C(e),n=m(e.createdAt),r=e.updatedAt?m(e.updatedAt):null;return{registered:n,ready_to_ship:[`ready_to_ship`,`delivered`,`returned`].includes(t)?r:null,shipped:[`delivered`,`returned`].includes(t)?r:null,returned:t===`returned`?r:null,cancelled:t===`cancelled`?r:null}}var E={class:`page latest-status-page`},D={class:`page__scroll page__scroll--with-nav body`},O={class:`summary-card`},k={class:`summary-card__value`},A={class:`summary-card__meta`},j={key:2,class:`empty-cta`},M=u(p({__name:`LatestCatalogRequestStatusView`,setup(u){let p=g(),m=v(),S=l(!0),C=r(()=>m.sorted.length?m.sorted[0]:null),M=r(()=>C.value?w(C.value):0),N=r(()=>C.value?T(C.value):{});s(async()=>{S.value=!0,await m.hydrate(),S.value=!1});function P(){p.push(`/categories`)}return(r,s)=>(e(),i(`div`,E,[n(_,{class:`mobile-only`,title:`آخرین درخواست کالیته`,"show-back":``,centered:``,onBack:s[0]||=e=>f(p).push(`/`)}),s[4]||=c(`header`,{class:`desktop-page__head desktop-only`},[c(`div`,null,[c(`h1`,{class:`desktop-page__title`},`آخرین درخواست کالیته`),c(`p`,{class:`desktop-page__subtitle`},`پیگیری مراحل آخرین درخواست کالیته`)])],-1),c(`div`,D,[S.value?(e(),d(y,{key:0})):C.value?(e(),i(o,{key:1},[c(`article`,O,[s[2]||=c(`p`,{class:`summary-card__label`},`درخواست`,-1),c(`strong`,k,t(C.value.id.slice(-8)),1),c(`p`,A,t(f(h)(C.value.items.length))+` قلم کالیته `,1)]),n(b,{steps:f(x),"current-index":M.value,timestamps:N.value},null,8,[`steps`,`current-index`,`timestamps`]),c(`button`,{type:`button`,class:`detail-link`,onClick:s[1]||=e=>f(p).push(`/catalog-requests`)},` مشاهده همه درخواستها `)],64)):(e(),i(`div`,j,[s[3]||=a(` شما هیچ کالیته ای درخواست نکرده اید، جهت درخواست کالیته و مشاهده فیزیکی پارچه ها کلیک کنید `,-1),c(`button`,{type:`button`,class:`desk-new-btn`,onClick:P},` مشاهده محصولات `)]))])]))}}),[[`__scopeId`,`data-v-ceeabf36`]]);export{M as default};
|
||||
Vendored
+1
-1
@@ -1 +1 @@
|
||||
import{M as e,Pt as t,_ as n,c as r,d as i,f as a,i as o,k as s,l as c,nt as l,t as u,u as d,ut as f,v as p}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{i as m,n as h}from"./format-C72AoJ2H.js";import{A as g,f as _,l as v}from"./index-BPUhS8CY.js";import{t as y}from"./PageHeader-CG1ktltl.js";import{t as b}from"./PageSkeleton-DYdjm4l9.js";import{t as x}from"./SimpleStatusTimeline-C5IzJmCG.js";var S=[{id:`registered`,label:`سفارش ثبت شد`},{id:`priced`,label:`قیمت گذاری انجام شد`},{id:`proforma_sent`,label:`پیش فاکتور ارسال شد`},{id:`proforma_confirmed`,label:`پیش فاکتور تایید شد`},{id:`invoice_sent`,label:`فاکتور ارسال شد`},{id:`shipped`,label:`بار ارسال شد`},{id:`delivered`,label:`بار توسط شما تحویل گرفته شد`}],C={submitted:0,awaiting_review:1,pricing:1,needs_correction:1,awaiting_settlement:2,awaiting_settlement_fix:2,cash_in_progress:2,cash_invoice_issued:2,awaiting_cash_payment:2,cash_payment_submitted:2,check_in_progress:2,awaiting_cash_confirmation:3,awaiting_check_review:3,check_needs_fix:3,check_rejected:3,checks_approved:3,cash_confirmed:3,final_approved:4,preparing:4,ready_to_ship:4,shipped:5,delivered:6,expired:2,cancelled:0,rejected:1},w={registered:[`submitted`],priced:[`pricing`,`awaiting_review`,`needs_correction`],proforma_sent:[`awaiting_settlement`,`awaiting_settlement_fix`,`cash_in_progress`,`cash_invoice_issued`,`awaiting_cash_payment`,`cash_payment_submitted`,`check_in_progress`],proforma_confirmed:[`awaiting_cash_confirmation`,`awaiting_check_review`,`check_needs_fix`,`check_rejected`,`checks_approved`,`cash_confirmed`],invoice_sent:[`final_approved`,`preparing`,`ready_to_ship`],shipped:[`shipped`],delivered:[`delivered`]};function T(e){return C[e]??0}function E(e){let t={};for(let n of S){if(n.id===`registered`){t[n.id]=m(e.createdAt);continue}let r=w[n.id]??[],i=[...e.statusHistory].reverse().find(e=>r.includes(e.toStatus));t[n.id]=i?m(i.changedAt):null}return t}var D={class:`page latest-status-page`},O={class:`page__scroll page__scroll--with-nav body`},k={class:`summary-card`},A={class:`summary-card__value`},j={key:0,class:`summary-card__meta`},M=u(p({__name:`LatestOrderStatusView`,setup(u){let p=g(),m=_(),C=v(),w=l(!0),M=r(()=>{let e=m.userOrders(C.user?.id??``);return e.length?e[0]:null}),N=r(()=>M.value?T(M.value.status):0),P=r(()=>M.value?E(M.value):{});s(async()=>{w.value=!0,await m.hydrate(),w.value=!1});function F(){p.push(`/categories`)}return(r,s)=>(e(),a(`div`,D,[n(y,{class:`mobile-only`,title:`آخرین وضعیت سفارش`,"show-back":``,centered:``,onBack:s[0]||=e=>f(p).push(`/`)}),s[3]||=c(`header`,{class:`desktop-page__head desktop-only`},[c(`div`,null,[c(`h1`,{class:`desktop-page__title`},`آخرین وضعیت سفارش`),c(`p`,{class:`desktop-page__subtitle`},`پیگیری مراحل آخرین سفارش ثبتشده`)])],-1),c(`div`,O,[w.value?(e(),d(b,{key:0})):M.value?(e(),a(o,{key:1},[c(`article`,k,[s[2]||=c(`p`,{class:`summary-card__label`},`سفارش شماره`,-1),c(`strong`,A,t(M.value.orderNumber),1),M.value.finalAmount?(e(),a(`p`,j,t(f(h)(M.value.finalAmount)),1)):i(``,!0)]),n(x,{steps:f(S),"current-index":N.value,timestamps:P.value},null,8,[`steps`,`current-index`,`timestamps`]),c(`button`,{type:`button`,class:`detail-link`,onClick:s[1]||=e=>f(p).push(`/orders/${M.value.id}`)},` مشاهده جزئیات سفارش `)],64)):(e(),a(`button`,{key:2,type:`button`,class:`empty-cta`,onClick:F},` سفارشی ثبت نکرده اید. لطفا جهت مشاهده محصولات کلیک کنید `))])]))}}),[[`__scopeId`,`data-v-030bc575`]]);export{M as default};
|
||||
import{M as e,Pt as t,_ as n,c as r,d as i,f as a,i as o,k as s,l as c,nt as l,t as u,u as d,ut as f,v as p}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{i as m,n as h}from"./format-BHJptHdF.js";import{A as g,f as _,l as v}from"./index-CpQ4kL4n.js";import{t as y}from"./PageHeader-BZqQYya4.js";import{t as b}from"./PageSkeleton-DYdjm4l9.js";import{t as x}from"./SimpleStatusTimeline-C5IzJmCG.js";var S=[{id:`registered`,label:`سفارش ثبت شد`},{id:`priced`,label:`قیمت گذاری انجام شد`},{id:`proforma_sent`,label:`پیش فاکتور ارسال شد`},{id:`proforma_confirmed`,label:`پیش فاکتور تایید شد`},{id:`invoice_sent`,label:`فاکتور ارسال شد`},{id:`shipped`,label:`بار ارسال شد`},{id:`delivered`,label:`بار توسط شما تحویل گرفته شد`}],C={submitted:0,awaiting_review:1,pricing:1,needs_correction:1,awaiting_settlement:2,awaiting_settlement_fix:2,cash_in_progress:2,cash_invoice_issued:2,awaiting_cash_payment:2,cash_payment_submitted:2,check_in_progress:2,awaiting_cash_confirmation:3,awaiting_check_review:3,check_needs_fix:3,check_rejected:3,checks_approved:3,cash_confirmed:3,final_approved:4,preparing:4,ready_to_ship:4,shipped:5,delivered:6,expired:2,cancelled:0,rejected:1},w={registered:[`submitted`],priced:[`pricing`,`awaiting_review`,`needs_correction`],proforma_sent:[`awaiting_settlement`,`awaiting_settlement_fix`,`cash_in_progress`,`cash_invoice_issued`,`awaiting_cash_payment`,`cash_payment_submitted`,`check_in_progress`],proforma_confirmed:[`awaiting_cash_confirmation`,`awaiting_check_review`,`check_needs_fix`,`check_rejected`,`checks_approved`,`cash_confirmed`],invoice_sent:[`final_approved`,`preparing`,`ready_to_ship`],shipped:[`shipped`],delivered:[`delivered`]};function T(e){return C[e]??0}function E(e){let t={};for(let n of S){if(n.id===`registered`){t[n.id]=m(e.createdAt);continue}let r=w[n.id]??[],i=[...e.statusHistory].reverse().find(e=>r.includes(e.toStatus));t[n.id]=i?m(i.changedAt):null}return t}var D={class:`page latest-status-page`},O={class:`page__scroll page__scroll--with-nav body`},k={class:`summary-card`},A={class:`summary-card__value`},j={key:0,class:`summary-card__meta`},M=u(p({__name:`LatestOrderStatusView`,setup(u){let p=g(),m=_(),C=v(),w=l(!0),M=r(()=>{let e=m.userOrders(C.user?.id??``);return e.length?e[0]:null}),N=r(()=>M.value?T(M.value.status):0),P=r(()=>M.value?E(M.value):{});s(async()=>{w.value=!0,await m.hydrate(),w.value=!1});function F(){p.push(`/categories`)}return(r,s)=>(e(),a(`div`,D,[n(y,{class:`mobile-only`,title:`آخرین وضعیت سفارش`,"show-back":``,centered:``,onBack:s[0]||=e=>f(p).push(`/`)}),s[3]||=c(`header`,{class:`desktop-page__head desktop-only`},[c(`div`,null,[c(`h1`,{class:`desktop-page__title`},`آخرین وضعیت سفارش`),c(`p`,{class:`desktop-page__subtitle`},`پیگیری مراحل آخرین سفارش ثبتشده`)])],-1),c(`div`,O,[w.value?(e(),d(b,{key:0})):M.value?(e(),a(o,{key:1},[c(`article`,k,[s[2]||=c(`p`,{class:`summary-card__label`},`سفارش شماره`,-1),c(`strong`,A,t(M.value.orderNumber),1),M.value.finalAmount?(e(),a(`p`,j,t(f(h)(M.value.finalAmount)),1)):i(``,!0)]),n(x,{steps:f(S),"current-index":N.value,timestamps:P.value},null,8,[`steps`,`current-index`,`timestamps`]),c(`button`,{type:`button`,class:`detail-link`,onClick:s[1]||=e=>f(p).push(`/orders/${M.value.id}`)},` مشاهده جزئیات سفارش `)],64)):(e(),a(`button`,{key:2,type:`button`,class:`empty-cta`,onClick:F},` سفارشی ثبت نکرده اید. لطفا جهت مشاهده محصولات کلیک کنید `))])]))}}),[[`__scopeId`,`data-v-030bc575`]]);export{M as default};
|
||||
@@ -1 +1 @@
|
||||
import{At as e,G as t,L as n,M as r,Pt as i,_ as a,c as o,d as s,f as c,g as l,l as u,nt as d,t as f,u as p,ut as m,v as h}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{u as g}from"./BasicIcon-ba1FsUKx.js";import{d as _,l as v}from"./format-C72AoJ2H.js";import{a as y}from"./validation-Duyyve7l.js";import{A as b,l as x}from"./index-BPUhS8CY.js";import{t as S}from"./AuthShell-CmEncS1b.js";import{t as C}from"./FormErrorBanner-Ud1D04xf.js";import{t as w}from"./IconPhone-Jt4M7S8Q.js";import{n as T,r as E,t as D}from"./formErrors-DglFjYkZ.js";var O=[`value`,`aria-invalid`],k={key:0,class:`auth-error`},A=[`disabled`],j=f(h({__name:`LoginView`,setup(f){let h=b(),j=x(),M=d(``),N=d({}),P=d(``),F=o(()=>M.value?_(M.value):``);function I(e){return e?y(e)?``:`شماره موبایل معتبر نیست. (مثال: ۰۹۱۲۱۲۳۴۵۶۷)`:`شماره موبایل را وارد کنید.`}function L(){N.value=T(N.value,`phone`),E(N.value)||(P.value=``)}function R(e){M.value=v(e),L()}function z(){if(!M.value)return;let e=I(M.value);e&&(N.value={...N.value,phone:e})}async function B(){N.value={},P.value=``;let e=v(M.value);M.value=e;let t=I(e);if(t){N.value={phone:t},P.value=D;return}let n=await j.requestOtp(e,{isRegister:!1});n.success?h.push({name:`otp`,query:{phone:e,mode:`login`}}):P.value=n.message??`خطا در ارسال کد تأیید.`}return(o,d)=>{let f=n(`RouterLink`);return r(),p(S,{"back-to":`/welcome`},{default:t(()=>[d[3]||=u(`h1`,{class:`auth-title`},`به نادمی تکس خوش آمدید`,-1),d[4]||=u(`p`,{class:`auth-lead`},`برای ادامه، وارد حساب کاربری خود شوید`,-1),u(`form`,{class:`auth-form`,onSubmit:g(B,[`prevent`])},[a(C,{message:P.value},null,8,[`message`]),u(`label`,{class:e([`auth-field`,{"is-invalid":!!N.value.phone}])},[a(w,{size:18,color:`#64748b`}),u(`input`,{value:F.value,type:`tel`,inputmode:`numeric`,autocomplete:`tel`,maxlength:`11`,placeholder:`شماره موبایل`,"aria-invalid":!!N.value.phone,"aria-label":`شماره موبایل`,onInput:d[0]||=e=>R(e.target.value),onBlur:z},null,40,O)],2),N.value.phone?(r(),c(`p`,k,i(N.value.phone),1)):s(``,!0),u(`button`,{class:`auth-submit`,type:`submit`,disabled:m(j).loading},i(m(j).loading?`در حال ارسال…`:`ورود`),9,A),d[2]||=u(`p`,{class:`auth-or`},[u(`span`,null,`یا`)],-1),a(f,{class:`auth-outline`,to:`/register`},{default:t(()=>[...d[1]||=[l(`ثبتنام در نادمی تکس`,-1)]]),_:1})],32)]),_:1})}}}),[[`__scopeId`,`data-v-5764ebe1`]]);export{j as default};
|
||||
import{At as e,G as t,L as n,M as r,Pt as i,_ as a,c as o,d as s,f as c,g as l,l as u,nt as d,t as f,u as p,ut as m,v as h}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{u as g}from"./BasicIcon-ba1FsUKx.js";import{c as _,u as v}from"./format-BHJptHdF.js";import{a as y}from"./validation-BD7oi-2I.js";import{A as b,l as x}from"./index-CpQ4kL4n.js";import{t as S}from"./AuthShell-CL1BsTQD.js";import{t as C}from"./FormErrorBanner-Ud1D04xf.js";import{t as w}from"./IconPhone-Jt4M7S8Q.js";import{n as T,r as E,t as D}from"./formErrors-DglFjYkZ.js";var O=[`value`,`aria-invalid`],k={key:0,class:`auth-error`},A=[`disabled`],j=f(h({__name:`LoginView`,setup(f){let h=b(),j=x(),M=d(``),N=d({}),P=d(``),F=o(()=>M.value?v(M.value):``);function I(e){return e?y(e)?``:`شماره موبایل معتبر نیست. (مثال: ۰۹۱۲۱۲۳۴۵۶۷)`:`شماره موبایل را وارد کنید.`}function L(){N.value=T(N.value,`phone`),E(N.value)||(P.value=``)}function R(e){M.value=_(e),L()}function z(){if(!M.value)return;let e=I(M.value);e&&(N.value={...N.value,phone:e})}async function B(){N.value={},P.value=``;let e=_(M.value);M.value=e;let t=I(e);if(t){N.value={phone:t},P.value=D;return}let n=await j.requestOtp(e,{isRegister:!1});n.success?h.push({name:`otp`,query:{phone:e,mode:`login`}}):P.value=n.message??`خطا در ارسال کد تأیید.`}return(o,d)=>{let f=n(`RouterLink`);return r(),p(S,{"back-to":`/welcome`},{default:t(()=>[d[3]||=u(`h1`,{class:`auth-title`},`به نادمی تکس خوش آمدید`,-1),d[4]||=u(`p`,{class:`auth-lead`},`برای ادامه، وارد حساب کاربری خود شوید`,-1),u(`form`,{class:`auth-form`,onSubmit:g(B,[`prevent`])},[a(C,{message:P.value},null,8,[`message`]),u(`label`,{class:e([`auth-field`,{"is-invalid":!!N.value.phone}])},[a(w,{size:18,color:`#64748b`}),u(`input`,{value:F.value,type:`tel`,inputmode:`numeric`,autocomplete:`tel`,maxlength:`11`,placeholder:`شماره موبایل`,"aria-invalid":!!N.value.phone,"aria-label":`شماره موبایل`,onInput:d[0]||=e=>R(e.target.value),onBlur:z},null,40,O)],2),N.value.phone?(r(),c(`p`,k,i(N.value.phone),1)):s(``,!0),u(`button`,{class:`auth-submit`,type:`submit`,disabled:m(j).loading},i(m(j).loading?`در حال ارسال…`:`ورود`),9,A),d[2]||=u(`p`,{class:`auth-or`},[u(`span`,null,`یا`)],-1),a(f,{class:`auth-outline`,to:`/register`},{default:t(()=>[...d[1]||=[l(`ثبتنام در نادمی تکس`,-1)]]),_:1})],32)]),_:1})}}}),[[`__scopeId`,`data-v-5764ebe1`]]);export{j as default};
|
||||
-1
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
+1
-1
@@ -1 +1 @@
|
||||
import{G as e,M as t,Pt as n,_ as r,c as i,d as a,f as o,g as s,l as c,t as l,ut as u,v as d}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{a as f}from"./format-C72AoJ2H.js";import{A as p,f as m,k as h,r as g}from"./index-BPUhS8CY.js";import{t as _}from"./PageHeader-CG1ktltl.js";import{t as v}from"./useGoBack-BkqOD93C.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=l(d({__name:`OrderSuccessView`,setup(l){let d=h(),T=p(),{goBack:E}=v(`/orders`),D=m(),O=i(()=>D.getOrderById(d.params.id));return(i,l)=>(t(),o(`div`,y,[r(_,{title:`ثبت موفق`,"show-back":``,centered:``,onBack:u(E)},null,8,[`onBack`]),c(`div`,b,[l[8]||=c(`div`,{class:`success-icon`},`✓`,-1),l[9]||=c(`h1`,{class:`page-title text-center`},`سفارش ثبت شد`,-1),l[10]||=c(`p`,{class:`text-center text-muted mb-4`},` سفارش شما با موفقیت ثبت شد. کارشناسان ما سفارش را بررسی و قیمتگذاری میکنند و بهمحض صدور فاکتور، از طریق پیامک و پنل کاربری به شما اطلاع میدهیم تا روش تسویه را انتخاب کنید. `,-1),O.value?(t(),o(`div`,x,[c(`div`,S,[l[2]||=c(`span`,null,`شماره سفارش:`,-1),c(`strong`,null,n(O.value.orderNumber),1)]),c(`div`,C,[l[3]||=c(`span`,null,`تأمینکننده:`,-1),c(`span`,null,n(O.value.companyName),1)]),c(`div`,w,[l[4]||=c(`span`,null,`متراژ:`,-1),c(`span`,null,n(u(f)(O.value.totalMeterage)),1)]),l[5]||=c(`div`,{class:`info-row`},[c(`span`,null,`وضعیت:`),c(`span`,null,`در انتظار قیمتگذاری`)],-1)])):a(``,!0),r(g,{block:``,onClick:l[0]||=e=>u(T).replace(`/orders/${O.value?.id}`)},{default:e(()=>[...l[6]||=[s(` مشاهده جزئیات سفارش `,-1)]]),_:1}),r(g,{block:``,variant:`outline`,class:`mt-2`,onClick:l[1]||=e=>u(T).replace(`/`)},{default:e(()=>[...l[7]||=[s(` بازگشت به خانه `,-1)]]),_:1})])]))}}),[[`__scopeId`,`data-v-bb2e861d`]]);export{T as default};
|
||||
import{G as e,M as t,Pt as n,_ as r,c as i,d as a,f as o,g as s,l as c,t as l,ut as u,v as d}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{a as f}from"./format-BHJptHdF.js";import{A as p,f as m,k as h,r as g}from"./index-CpQ4kL4n.js";import{t as _}from"./PageHeader-BZqQYya4.js";import{t as v}from"./useGoBack-CmDcQElX.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=l(d({__name:`OrderSuccessView`,setup(l){let d=h(),T=p(),{goBack:E}=v(`/orders`),D=m(),O=i(()=>D.getOrderById(d.params.id));return(i,l)=>(t(),o(`div`,y,[r(_,{title:`ثبت موفق`,"show-back":``,centered:``,onBack:u(E)},null,8,[`onBack`]),c(`div`,b,[l[8]||=c(`div`,{class:`success-icon`},`✓`,-1),l[9]||=c(`h1`,{class:`page-title text-center`},`سفارش ثبت شد`,-1),l[10]||=c(`p`,{class:`text-center text-muted mb-4`},` سفارش شما با موفقیت ثبت شد. کارشناسان ما سفارش را بررسی و قیمتگذاری میکنند و بهمحض صدور فاکتور، از طریق پیامک و پنل کاربری به شما اطلاع میدهیم تا روش تسویه را انتخاب کنید. `,-1),O.value?(t(),o(`div`,x,[c(`div`,S,[l[2]||=c(`span`,null,`شماره سفارش:`,-1),c(`strong`,null,n(O.value.orderNumber),1)]),c(`div`,C,[l[3]||=c(`span`,null,`تأمینکننده:`,-1),c(`span`,null,n(O.value.companyName),1)]),c(`div`,w,[l[4]||=c(`span`,null,`متراژ:`,-1),c(`span`,null,n(u(f)(O.value.totalMeterage)),1)]),l[5]||=c(`div`,{class:`info-row`},[c(`span`,null,`وضعیت:`),c(`span`,null,`در انتظار قیمتگذاری`)],-1)])):a(``,!0),r(g,{block:``,onClick:l[0]||=e=>u(T).replace(`/orders/${O.value?.id}`)},{default:e(()=>[...l[6]||=[s(` مشاهده جزئیات سفارش `,-1)]]),_:1}),r(g,{block:``,variant:`outline`,class:`mt-2`,onClick:l[1]||=e=>u(T).replace(`/`)},{default:e(()=>[...l[7]||=[s(` بازگشت به خانه `,-1)]]),_:1})])]))}}),[[`__scopeId`,`data-v-bb2e861d`]]);export{T as default};
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
import{At as e,E as t,F as n,G as r,M as i,Pt as a,_ as o,c as s,d as c,f as l,g as u,i as d,k as f,l as p,nt as m,t as h,u as g,ut as _,v}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{u as y}from"./BasicIcon-ba1FsUKx.js";import{l as b}from"./dist-U-AqZ6hP.js";import{d as x,l as S,t as C}from"./format-C72AoJ2H.js";import{A as w,g as T,k as E,l as ee}from"./index-BPUhS8CY.js";import{t as te}from"./AuthShell-CmEncS1b.js";import{t as ne}from"./FormErrorBanner-Ud1D04xf.js";import{n as re,r as D,t as O}from"./formErrors-DglFjYkZ.js";var k={class:`auth-lead`},A={dir:`ltr`},ie={class:`otp-row`,dir:`ltr`,role:`group`,"aria-label":`کد تأیید`},ae=[`id`,`value`,`aria-label`,`onInput`,`onKeydown`,`onPaste`],j={key:0,class:`auth-error`},M=[`disabled`],N=[`disabled`],P=4,F=60,I=h(v({__name:`OtpView`,setup(h){let v=E(),I=w(),L=ee(),R=s(()=>{let e=v.query.phone,t=Array.isArray(e)?e[0]:e;return S(typeof t==`string`?t:``)}),z=s(()=>v.query.mode===`register`),B=m(Array.from({length:P},()=>``)),V=m([]),H=m({}),U=m(``),W=m(F),G=s(()=>B.value.join(``)),K=s(()=>W.value<=0&&!L.loading),q=s(()=>x(String(W.value))),{pause:oe,resume:se}=b(()=>{if(W.value<=1){W.value=0,oe();return}--W.value},1e3,{immediate:!1});function J(){H.value=re(H.value,`code`),D(H.value)||(U.value=``)}function ce(e,t){V.value[t]=e}function Y(e){let n=Math.max(0,Math.min(3,e));t(()=>V.value[n]?.focus())}function X(){W.value=F,se()}function Z(e,t=0){let n=C(e).slice(0,P-t);if(!n)return t;let r=[...B.value],i=t;for(let e of n){if(i>=P)break;r[i]=e,i+=1}return B.value=r,J(),Math.min(i,3)}function Q(){G.value.length===P&&!L.loading&&$()}function le(e,t){let n=t.target,r=C(n.value);if(r.length>1){let t=Z(r,e);n.value=B.value[e]??``,Y(t),Q();return}let i=r.slice(-1);B.value[e]=i,n.value=i,J(),i&&e<3?Y(e+1):i&&Q()}function ue(e,t){if(t.key===`Backspace`){if(B.value[e]){B.value[e]=``,J();return}e>0&&(B.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 de(e,t){t.preventDefault(),Y(Z(t.clipboardData?.getData(`text`)??``,e)),Q()}function fe(e){return e?x(e):``}async function $(){if(L.loading)return;H.value={},U.value=``;let e={};if(G.value.length<P&&(e.code=`کد تأیید را کامل وارد کنید.`),D(e)){H.value=e,U.value=O;return}let t=await L.confirmOtp(R.value,C(G.value));t.success?I.replace(`/`):(U.value=t.message??`کد تأیید نامعتبر است.`,B.value=Array.from({length:P},()=>``),Y(0))}async function pe(){if(!K.value)return;U.value=``,H.value={};let e=z.value?T():null;if(z.value&&!e){U.value=`برای ارسال مجدد کد، نام و نام خانوادگی لازم است. لطفاً دوباره ثبتنام را شروع کنید.`;return}let t=await L.requestOtp(R.value,{isRegister:z.value,firstName:e?.firstName,lastName:e?.lastName});t.success?(B.value=Array.from({length:P},()=>``),X(),Y(0)):U.value=t.message??`خطا در ارسال مجدد کد.`}function me(){I.replace({name:z.value?`register`:`login`})}return f(()=>{if(!R.value){I.replace({name:`login`});return}X(),Y(0)}),(t,s)=>(i(),g(te,{"back-to":z.value?`/register`:`/login`},{default:r(()=>[s[2]||=p(`h1`,{class:`auth-title`},`کد تأیید`,-1),p(`p`,k,[s[0]||=u(` کد ارسالشده به `,-1),p(`span`,A,a(_(x)(R.value)),1),s[1]||=u(` را وارد کنید `,-1)]),p(`form`,{class:`auth-form`,onSubmit:y($,[`prevent`])},[o(ne,{message:U.value},null,8,[`message`]),p(`div`,ie,[(i(!0),l(d,null,n(B.value,(t,n)=>(i(),l(`input`,{id:`otp-${n}`,key:n,ref_for:!0,ref:e=>ce(e,n),class:e([`otp-box`,{"is-invalid":H.value.code}]),type:`text`,inputmode:`numeric`,autocomplete:`one-time-code`,maxlength:`1`,value:fe(t),"aria-label":`رقم ${_(x)(String(n+1))}`,onInput:e=>le(n,e),onKeydown:e=>ue(n,e),onPaste:e=>de(n,e)},null,42,ae))),128))]),H.value.code?(i(),l(`p`,j,a(H.value.code),1)):c(``,!0),p(`button`,{class:`otp-resend`,type:`button`,disabled:!K.value,onClick:pe},[K.value?(i(),l(d,{key:0},[u(`ارسال مجدد کد`)],64)):(i(),l(d,{key:1},[u(`ارسال مجدد کد (`+a(q.value)+` ثانیه)`,1)],64))],8,M),p(`button`,{class:`auth-submit`,type:`submit`,disabled:_(L).loading},a(_(L).loading?`در حال بررسی…`:`تأیید`),9,N),p(`button`,{type:`button`,class:`otp-edit`,onClick:me},`ویرایش شماره`)],32)]),_:1},8,[`back-to`]))}}),[[`__scopeId`,`data-v-27df1667`]]);export{I as default};
|
||||
import{At as e,E as t,F as n,G as r,M as i,Pt as a,_ as o,c as s,d as c,f as l,g as u,i as d,k as f,l as p,nt as m,t as h,u as g,ut as _,v}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{u as y}from"./BasicIcon-ba1FsUKx.js";import{l as b}from"./dist-U-AqZ6hP.js";import{c as x,t as S,u as C}from"./format-BHJptHdF.js";import{A as w,g as T,k as E,l as ee}from"./index-CpQ4kL4n.js";import{t as te}from"./AuthShell-CL1BsTQD.js";import{t as ne}from"./FormErrorBanner-Ud1D04xf.js";import{n as re,r as D,t as O}from"./formErrors-DglFjYkZ.js";var k={class:`auth-lead`},A={dir:`ltr`},ie={class:`otp-row`,dir:`ltr`,role:`group`,"aria-label":`کد تأیید`},ae=[`id`,`value`,`aria-label`,`onInput`,`onKeydown`,`onPaste`],j={key:0,class:`auth-error`},M=[`disabled`],N=[`disabled`],P=4,F=60,I=h(v({__name:`OtpView`,setup(h){let v=E(),I=w(),L=ee(),R=s(()=>{let e=v.query.phone,t=Array.isArray(e)?e[0]:e;return x(typeof t==`string`?t:``)}),z=s(()=>v.query.mode===`register`),B=m(Array.from({length:P},()=>``)),V=m([]),H=m({}),U=m(``),W=m(F),G=s(()=>B.value.join(``)),K=s(()=>W.value<=0&&!L.loading),q=s(()=>C(String(W.value))),{pause:oe,resume:se}=b(()=>{if(W.value<=1){W.value=0,oe();return}--W.value},1e3,{immediate:!1});function J(){H.value=re(H.value,`code`),D(H.value)||(U.value=``)}function ce(e,t){V.value[t]=e}function Y(e){let n=Math.max(0,Math.min(3,e));t(()=>V.value[n]?.focus())}function X(){W.value=F,se()}function Z(e,t=0){let n=S(e).slice(0,P-t);if(!n)return t;let r=[...B.value],i=t;for(let e of n){if(i>=P)break;r[i]=e,i+=1}return B.value=r,J(),Math.min(i,3)}function Q(){G.value.length===P&&!L.loading&&$()}function le(e,t){let n=t.target,r=S(n.value);if(r.length>1){let t=Z(r,e);n.value=B.value[e]??``,Y(t),Q();return}let i=r.slice(-1);B.value[e]=i,n.value=i,J(),i&&e<3?Y(e+1):i&&Q()}function ue(e,t){if(t.key===`Backspace`){if(B.value[e]){B.value[e]=``,J();return}e>0&&(B.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 de(e,t){t.preventDefault(),Y(Z(t.clipboardData?.getData(`text`)??``,e)),Q()}function fe(e){return e?C(e):``}async function $(){if(L.loading)return;H.value={},U.value=``;let e={};if(G.value.length<P&&(e.code=`کد تأیید را کامل وارد کنید.`),D(e)){H.value=e,U.value=O;return}let t=await L.confirmOtp(R.value,S(G.value));t.success?I.replace(`/`):(U.value=t.message??`کد تأیید نامعتبر است.`,B.value=Array.from({length:P},()=>``),Y(0))}async function pe(){if(!K.value)return;U.value=``,H.value={};let e=z.value?T():null;if(z.value&&!e){U.value=`برای ارسال مجدد کد، نام و نام خانوادگی لازم است. لطفاً دوباره ثبتنام را شروع کنید.`;return}let t=await L.requestOtp(R.value,{isRegister:z.value,firstName:e?.firstName,lastName:e?.lastName});t.success?(B.value=Array.from({length:P},()=>``),X(),Y(0)):U.value=t.message??`خطا در ارسال مجدد کد.`}function me(){I.replace({name:z.value?`register`:`login`})}return f(()=>{if(!R.value){I.replace({name:`login`});return}X(),Y(0)}),(t,s)=>(i(),g(te,{"back-to":z.value?`/register`:`/login`},{default:r(()=>[s[2]||=p(`h1`,{class:`auth-title`},`کد تأیید`,-1),p(`p`,k,[s[0]||=u(` کد ارسالشده به `,-1),p(`span`,A,a(_(C)(R.value)),1),s[1]||=u(` را وارد کنید `,-1)]),p(`form`,{class:`auth-form`,onSubmit:y($,[`prevent`])},[o(ne,{message:U.value},null,8,[`message`]),p(`div`,ie,[(i(!0),l(d,null,n(B.value,(t,n)=>(i(),l(`input`,{id:`otp-${n}`,key:n,ref_for:!0,ref:e=>ce(e,n),class:e([`otp-box`,{"is-invalid":H.value.code}]),type:`text`,inputmode:`numeric`,autocomplete:`one-time-code`,maxlength:`1`,value:fe(t),"aria-label":`رقم ${_(C)(String(n+1))}`,onInput:e=>le(n,e),onKeydown:e=>ue(n,e),onPaste:e=>de(n,e)},null,42,ae))),128))]),H.value.code?(i(),l(`p`,j,a(H.value.code),1)):c(``,!0),p(`button`,{class:`otp-resend`,type:`button`,disabled:!K.value,onClick:pe},[K.value?(i(),l(d,{key:0},[u(`ارسال مجدد کد`)],64)):(i(),l(d,{key:1},[u(`ارسال مجدد کد (`+a(q.value)+` ثانیه)`,1)],64))],8,M),p(`button`,{class:`auth-submit`,type:`submit`,disabled:_(L).loading},a(_(L).loading?`در حال بررسی…`:`تأیید`),9,N),p(`button`,{type:`button`,class:`otp-edit`,onClick:me},`ویرایش شماره`)],32)]),_:1},8,[`back-to`]))}}),[[`__scopeId`,`data-v-27df1667`]]);export{I as default};
|
||||
@@ -1 +1 @@
|
||||
import{I as e,M as t,Pt as n,T as r,_ as i,d as a,f as o,i as s,l as c,t as l,v as u}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{a as d}from"./index-BPUhS8CY.js";import{t as f}from"./IconChevronBack-DytWz6TD.js";var p={key:1,class:`nav-btn`},m={class:`page-nav__title`},h={class:`page-nav__trailing`},g={key:0,class:`page-nav__subtitle`},_={class:`header-text`},v={class:`page-title`},y={key:0,class:`page-subtitle`},b={class:`page-header__trailing`},x=l(u({inheritAttrs:!1,__name:`PageHeader`,props:{title:{},subtitle:{},showBack:{type:Boolean},centered:{type:Boolean}},emits:[`back`],setup(l){return(u,x)=>l.centered?(t(),o(s,{key:0},[c(`header`,r({class:`page-nav`},u.$attrs),[l.showBack?(t(),o(`button`,{key:0,type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:x[0]||=e=>u.$emit(`back`)},[i(f,{size:20})])):(t(),o(`span`,p)),c(`h1`,m,n(l.title),1),c(`div`,h,[e(u.$slots,`trailing`,{},void 0,!0),i(d,{variant:`inline`,class:`mobile-only`})])],16),l.subtitle?(t(),o(`p`,g,n(l.subtitle),1)):a(``,!0)],64)):(t(),o(`header`,r({key:1,class:`page-header`},u.$attrs),[l.showBack?(t(),o(`button`,{key:0,type:`button`,class:`back-btn`,"aria-label":`بازگشت`,onClick:x[1]||=e=>u.$emit(`back`)},[i(f,{size:20})])):a(``,!0),c(`div`,_,[c(`h1`,v,n(l.title),1),l.subtitle?(t(),o(`p`,y,n(l.subtitle),1)):a(``,!0)]),c(`div`,b,[e(u.$slots,`trailing`,{},void 0,!0),i(d,{variant:`inline`,class:`mobile-only`})])],16))}}),[[`__scopeId`,`data-v-c4a68159`]]);export{x as t};
|
||||
import{I as e,M as t,Pt as n,T as r,_ as i,d as a,f as o,i as s,l as c,t as l,v as u}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{a as d}from"./index-CpQ4kL4n.js";import{t as f}from"./IconChevronBack-DytWz6TD.js";var p={key:1,class:`nav-btn`},m={class:`page-nav__title`},h={class:`page-nav__trailing`},g={key:0,class:`page-nav__subtitle`},_={class:`header-text`},v={class:`page-title`},y={key:0,class:`page-subtitle`},b={class:`page-header__trailing`},x=l(u({inheritAttrs:!1,__name:`PageHeader`,props:{title:{},subtitle:{},showBack:{type:Boolean},centered:{type:Boolean}},emits:[`back`],setup(l){return(u,x)=>l.centered?(t(),o(s,{key:0},[c(`header`,r({class:`page-nav`},u.$attrs),[l.showBack?(t(),o(`button`,{key:0,type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:x[0]||=e=>u.$emit(`back`)},[i(f,{size:20})])):(t(),o(`span`,p)),c(`h1`,m,n(l.title),1),c(`div`,h,[e(u.$slots,`trailing`,{},void 0,!0),i(d,{variant:`inline`,class:`mobile-only`})])],16),l.subtitle?(t(),o(`p`,g,n(l.subtitle),1)):a(``,!0)],64)):(t(),o(`header`,r({key:1,class:`page-header`},u.$attrs),[l.showBack?(t(),o(`button`,{key:0,type:`button`,class:`back-btn`,"aria-label":`بازگشت`,onClick:x[1]||=e=>u.$emit(`back`)},[i(f,{size:20})])):a(``,!0),c(`div`,_,[c(`h1`,v,n(l.title),1),l.subtitle?(t(),o(`p`,y,n(l.subtitle),1)):a(``,!0)]),c(`div`,b,[e(u.$slots,`trailing`,{},void 0,!0),i(d,{variant:`inline`,class:`mobile-only`})])],16))}}),[[`__scopeId`,`data-v-c4a68159`]]);export{x as t};
|
||||
+1
@@ -0,0 +1 @@
|
||||
import{At as e,D as t,F as n,M as r,Pt as i,U as a,c as o,d as s,f as c,i as l,k as u,l as d,nt as f,t as p,ut as m,v as h}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{u as g}from"./BasicIcon-ba1FsUKx.js";import{d as _,f as v,g as y,h as b,m as x,p as S,u as C,y as w}from"./format-BHJptHdF.js";var T={key:0,class:`form-label`},E=[`disabled`],D={class:`persian-date-input__header`},O={class:`persian-date-input__month`},k={class:`persian-date-input__weekdays`},A={class:`persian-date-input__grid`},j={key:0,class:`persian-date-input__cell persian-date-input__cell--empty`},M=[`onClick`],N={key:2,class:`input-error-text`},P={key:3,class:`form-hint`},F=p(h({__name:`PersianDateInput`,props:{modelValue:{},label:{},placeholder:{},hint:{},error:{},disabled:{type:Boolean}},emits:[`update:modelValue`],setup(p,{emit:h}){let F=p,I=h,L=f(null),R=f(!1),z=f(w().jy),B=f(w().jm),V=o(()=>b(F.modelValue??``)),H=o(()=>{if(!V.value)return``;let{jy:e,jm:t,jd:n}=V.value;return x(e,t,n)}),U=o(()=>S(z.value,B.value)),W=o(()=>`${_[B.value-1]} ${C(String(z.value))}`);a(()=>F.modelValue,e=>{let t=b(e??``);t&&(z.value=t.jy,B.value=t.jm)},{immediate:!0});function G(){F.disabled||(R.value=!R.value)}function K(){R.value=!1}function q(e){I(`update:modelValue`,y(z.value,B.value,e)),K()}function J(e){let t=B.value+e,n=z.value;t>12?(t=1,n+=1):t<1&&(t=12,--n),B.value=t,z.value=n}function Y(){let e=w();z.value=e.jy,B.value=e.jm,I(`update:modelValue`,y(e.jy,e.jm,e.jd)),K()}function X(e){if(!V.value)return!1;let{jy:t,jm:n,jd:r}=V.value;return t===z.value&&n===B.value&&r===e}function Z(e){let t=w();return t.jy===z.value&&t.jm===B.value&&t.jd===e}function Q(e){L.value?.contains(e.target)||K()}return u(()=>{document.addEventListener(`click`,Q)}),t(()=>{document.removeEventListener(`click`,Q)}),(t,a)=>(r(),c(`div`,{ref_key:`rootRef`,ref:L,class:`form-group persian-date-input`},[p.label?(r(),c(`label`,T,i(p.label),1)):s(``,!0),d(`button`,{type:`button`,class:e([`input persian-date-input__trigger`,{"input-error":p.error,"is-open":R.value}]),disabled:p.disabled,onClick:g(G,[`stop`])},[d(`span`,{class:e({"persian-date-input__placeholder":!H.value})},i(H.value||p.placeholder||`انتخاب تاریخ`),3),a[3]||=d(`span`,{class:`persian-date-input__icon`,"aria-hidden":`true`},[d(`svg`,{width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`none`},[d(`rect`,{x:`3`,y:`5`,width:`18`,height:`16`,rx:`2`,stroke:`currentColor`,"stroke-width":`1.5`}),d(`path`,{d:`M8 3v4M16 3v4M3 10h18`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`})])],-1)],10,E),R.value?(r(),c(`div`,{key:1,class:`persian-date-input__panel`,onClick:a[2]||=g(()=>{},[`stop`])},[d(`div`,D,[d(`button`,{type:`button`,class:`persian-date-input__nav`,onClick:a[0]||=e=>J(-1)},`‹`),d(`strong`,O,i(W.value),1),d(`button`,{type:`button`,class:`persian-date-input__nav`,onClick:a[1]||=e=>J(1)},`›`)]),d(`div`,k,[(r(!0),c(l,null,n(m(v),e=>(r(),c(`span`,{key:e},i(e),1))),128))]),d(`div`,A,[(r(!0),c(l,null,n(U.value,(t,n)=>(r(),c(l,{key:n},[t===null?(r(),c(`span`,j)):(r(),c(`button`,{key:1,type:`button`,class:e([`persian-date-input__cell`,{"persian-date-input__cell--selected":X(t),"persian-date-input__cell--today":Z(t)}]),onClick:e=>q(t)},i(m(C)(String(t))),11,M))],64))),128))]),d(`button`,{type:`button`,class:`persian-date-input__today`,onClick:Y},`امروز`)])):s(``,!0),p.error?(r(),c(`p`,N,i(p.error),1)):p.hint?(r(),c(`p`,P,i(p.hint),1)):s(``,!0)],512))}}),[[`__scopeId`,`data-v-f02e5adc`]]);export{F as t};
|
||||
-1
@@ -1 +0,0 @@
|
||||
import{At as e,D as t,F as n,M as r,Pt as i,U as a,c as o,d as s,f as c,i as l,k as u,l as d,nt as f,t as p,ut as m,v as h}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{u as g}from"./BasicIcon-ba1FsUKx.js";import{_,b as v,d as y,f as b,g as x,h as S,m as C,p as w}from"./format-C72AoJ2H.js";var T={key:0,class:`form-label`},E=[`disabled`],D={class:`persian-date-input__header`},O={class:`persian-date-input__month`},k={class:`persian-date-input__weekdays`},A={class:`persian-date-input__grid`},j={key:0,class:`persian-date-input__cell persian-date-input__cell--empty`},M=[`onClick`],N={key:2,class:`input-error-text`},P={key:3,class:`form-hint`},F=p(h({__name:`PersianDateInput`,props:{modelValue:{},label:{},placeholder:{},hint:{},error:{},disabled:{type:Boolean}},emits:[`update:modelValue`],setup(p,{emit:h}){let F=p,I=h,L=f(null),R=f(!1),z=f(v().jy),B=f(v().jm),V=o(()=>x(F.modelValue??``)),H=o(()=>{if(!V.value)return``;let{jy:e,jm:t,jd:n}=V.value;return S(e,t,n)}),U=o(()=>C(z.value,B.value)),W=o(()=>`${b[B.value-1]} ${y(String(z.value))}`);a(()=>F.modelValue,e=>{let t=x(e??``);t&&(z.value=t.jy,B.value=t.jm)},{immediate:!0});function G(){F.disabled||(R.value=!R.value)}function K(){R.value=!1}function q(e){I(`update:modelValue`,_(z.value,B.value,e)),K()}function J(e){let t=B.value+e,n=z.value;t>12?(t=1,n+=1):t<1&&(t=12,--n),B.value=t,z.value=n}function Y(){let e=v();z.value=e.jy,B.value=e.jm,I(`update:modelValue`,_(e.jy,e.jm,e.jd)),K()}function X(e){if(!V.value)return!1;let{jy:t,jm:n,jd:r}=V.value;return t===z.value&&n===B.value&&r===e}function Z(e){let t=v();return t.jy===z.value&&t.jm===B.value&&t.jd===e}function Q(e){L.value?.contains(e.target)||K()}return u(()=>{document.addEventListener(`click`,Q)}),t(()=>{document.removeEventListener(`click`,Q)}),(t,a)=>(r(),c(`div`,{ref_key:`rootRef`,ref:L,class:`form-group persian-date-input`},[p.label?(r(),c(`label`,T,i(p.label),1)):s(``,!0),d(`button`,{type:`button`,class:e([`input persian-date-input__trigger`,{"input-error":p.error,"is-open":R.value}]),disabled:p.disabled,onClick:g(G,[`stop`])},[d(`span`,{class:e({"persian-date-input__placeholder":!H.value})},i(H.value||p.placeholder||`انتخاب تاریخ`),3),a[3]||=d(`span`,{class:`persian-date-input__icon`,"aria-hidden":`true`},[d(`svg`,{width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`none`},[d(`rect`,{x:`3`,y:`5`,width:`18`,height:`16`,rx:`2`,stroke:`currentColor`,"stroke-width":`1.5`}),d(`path`,{d:`M8 3v4M16 3v4M3 10h18`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`})])],-1)],10,E),R.value?(r(),c(`div`,{key:1,class:`persian-date-input__panel`,onClick:a[2]||=g(()=>{},[`stop`])},[d(`div`,D,[d(`button`,{type:`button`,class:`persian-date-input__nav`,onClick:a[0]||=e=>J(-1)},`‹`),d(`strong`,O,i(W.value),1),d(`button`,{type:`button`,class:`persian-date-input__nav`,onClick:a[1]||=e=>J(1)},`›`)]),d(`div`,k,[(r(!0),c(l,null,n(m(w),e=>(r(),c(`span`,{key:e},i(e),1))),128))]),d(`div`,A,[(r(!0),c(l,null,n(U.value,(t,n)=>(r(),c(l,{key:n},[t===null?(r(),c(`span`,j)):(r(),c(`button`,{key:1,type:`button`,class:e([`persian-date-input__cell`,{"persian-date-input__cell--selected":X(t),"persian-date-input__cell--today":Z(t)}]),onClick:e=>q(t)},i(m(y)(String(t))),11,M))],64))),128))]),d(`button`,{type:`button`,class:`persian-date-input__today`,onClick:Y},`امروز`)])):s(``,!0),p.error?(r(),c(`p`,N,i(p.error),1)):p.hint?(r(),c(`p`,P,i(p.hint),1)):s(``,!0)],512))}}),[[`__scopeId`,`data-v-f02e5adc`]]);export{F as t};
|
||||
-1
File diff suppressed because one or more lines are too long
-1
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
Vendored
-1
File diff suppressed because one or more lines are too long
Vendored
+1
File diff suppressed because one or more lines are too long
-1
File diff suppressed because one or more lines are too long
+1
-1
@@ -1 +1 @@
|
||||
import{t as e}from"./CheckListView-CdyymO5t.js";import{M as t,u as n,v as r}from"./_plugin-vue_export-helper-1xMDlcEE.js";var i=r({__name:`ProfileChecksView`,setup(r){return(r,i)=>(t(),n(e))}});export{i as default};
|
||||
import{t as e}from"./CheckListView-BAgR3fYG.js";import{M as t,u as n,v as r}from"./_plugin-vue_export-helper-1xMDlcEE.js";var i=r({__name:`ProfileChecksView`,setup(r){return(r,i)=>(t(),n(e))}});export{i as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{At as e,F as t,G as n,M as r,Pt as i,_ as a,c as o,d as s,f as c,g as l,i as u,l as d,nt as f,t as p,u as m,ut as h,v as g}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{t as _}from"./BasicIcon-ba1FsUKx.js";import{u as v}from"./dist-U-AqZ6hP.js";import{A as y,f as b,l as x,o as S,r as C}from"./index-BPUhS8CY.js";import{t as w}from"./ProfileSubpageLayout-Bj7iaKP1.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=p(g({__name:`ProfileDisplayView`,setup(p){let g=y(),B=x(),V=b(),H=S(),U=f(!1),{start:W}=v(()=>{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=o(()=>V.draftChecks.length);function q(){U.value=!0,W()}function J(){B.logout(),g.replace(`/welcome`)}return(o,f)=>(r(),m(w,{title:`تنظیمات`,subtitle:`نمایش، حساب کاربری و خروج`},{default:n(()=>[d(`div`,T,[d(`nav`,E,[d(`button`,{type:`button`,class:`settings-link`,onClick:f[0]||=e=>h(g).push(`/profile/edit`)},[d(`span`,D,[a(_,{icon:`vuesax-linear:profile-circle`,size:20,"stroke-width":1.5})]),f[2]||=d(`span`,{class:`settings-link__label`},`اطلاعات کاربری`,-1),a(_,{class:`settings-link__chevron`,icon:`vuesax-linear:arrow-left-1`,size:16,"stroke-width":1.5})]),d(`button`,{type:`button`,class:`settings-link`,onClick:f[1]||=e=>h(g).push(`/profile/checks`)},[d(`span`,O,[a(_,{icon:`vuesax-linear:card`,size:20,"stroke-width":1.5})]),d(`span`,k,[f[3]||=l(` لیست چکها `,-1),K.value?(r(),c(`em`,A,`(`+i(K.value)+`)`,1)):s(``,!0)]),a(_,{class:`settings-link__chevron`,icon:`vuesax-linear:arrow-left-1`,size:16,"stroke-width":1.5})])]),d(`fieldset`,j,[f[4]||=d(`legend`,{class:`display-fieldset__legend`},`حالت نمایش`,-1),d(`div`,M,[(r(),c(u,null,t(G,t=>d(`button`,{key:t.value,type:`button`,class:e([`theme-card`,{"theme-card--active":h(H).preference===t.value}]),role:`radio`,"aria-checked":h(H).preference===t.value,onClick:e=>h(H).preference=t.value},[d(`span`,P,[a(_,{icon:t.icon,size:26,"stroke-width":1.5},null,8,[`icon`])]),d(`span`,F,[d(`strong`,I,i(t.label),1),d(`span`,L,i(t.description),1)]),d(`span`,R,[h(H).preference===t.value?(r(),m(_,{key:0,icon:`vuesax-linear:tick-circle`,size:20,"stroke-width":1.75})):s(``,!0)])],10,N)),64))])]),a(C,{block:``,onClick:q},{default:n(()=>[...f[5]||=[l(`ذخیره تنظیمات`,-1)]]),_:1}),U.value?(r(),c(`p`,z,`تنظیمات نمایش ذخیره شد ✓`)):s(``,!0),d(`button`,{type:`button`,class:`settings-logout`,onClick:J},`خروج`)])]),_:1}))}}),[[`__scopeId`,`data-v-f16dc950`]]);export{B as default};
|
||||
import{At as e,F as t,G as n,M as r,Pt as i,_ as a,c as o,d as s,f as c,g as l,i as u,l as d,nt as f,t as p,u as m,ut as h,v as g}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{t as _}from"./BasicIcon-ba1FsUKx.js";import{u as v}from"./dist-U-AqZ6hP.js";import{A as y,f as b,l as x,o as S,r as C}from"./index-CpQ4kL4n.js";import{t as w}from"./ProfileSubpageLayout-CKyfOxv2.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=p(g({__name:`ProfileDisplayView`,setup(p){let g=y(),B=x(),V=b(),H=S(),U=f(!1),{start:W}=v(()=>{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=o(()=>V.draftChecks.length);function q(){U.value=!0,W()}function J(){B.logout(),g.replace(`/welcome`)}return(o,f)=>(r(),m(w,{title:`تنظیمات`,subtitle:`نمایش، حساب کاربری و خروج`},{default:n(()=>[d(`div`,T,[d(`nav`,E,[d(`button`,{type:`button`,class:`settings-link`,onClick:f[0]||=e=>h(g).push(`/profile/edit`)},[d(`span`,D,[a(_,{icon:`vuesax-linear:profile-circle`,size:20,"stroke-width":1.5})]),f[2]||=d(`span`,{class:`settings-link__label`},`اطلاعات کاربری`,-1),a(_,{class:`settings-link__chevron`,icon:`vuesax-linear:arrow-left-1`,size:16,"stroke-width":1.5})]),d(`button`,{type:`button`,class:`settings-link`,onClick:f[1]||=e=>h(g).push(`/profile/checks`)},[d(`span`,O,[a(_,{icon:`vuesax-linear:card`,size:20,"stroke-width":1.5})]),d(`span`,k,[f[3]||=l(` لیست چکها `,-1),K.value?(r(),c(`em`,A,`(`+i(K.value)+`)`,1)):s(``,!0)]),a(_,{class:`settings-link__chevron`,icon:`vuesax-linear:arrow-left-1`,size:16,"stroke-width":1.5})])]),d(`fieldset`,j,[f[4]||=d(`legend`,{class:`display-fieldset__legend`},`حالت نمایش`,-1),d(`div`,M,[(r(),c(u,null,t(G,t=>d(`button`,{key:t.value,type:`button`,class:e([`theme-card`,{"theme-card--active":h(H).preference===t.value}]),role:`radio`,"aria-checked":h(H).preference===t.value,onClick:e=>h(H).preference=t.value},[d(`span`,P,[a(_,{icon:t.icon,size:26,"stroke-width":1.5},null,8,[`icon`])]),d(`span`,F,[d(`strong`,I,i(t.label),1),d(`span`,L,i(t.description),1)]),d(`span`,R,[h(H).preference===t.value?(r(),m(_,{key:0,icon:`vuesax-linear:tick-circle`,size:20,"stroke-width":1.75})):s(``,!0)])],10,N)),64))])]),a(C,{block:``,onClick:q},{default:n(()=>[...f[5]||=[l(`ذخیره تنظیمات`,-1)]]),_:1}),U.value?(r(),c(`p`,z,`تنظیمات نمایش ذخیره شد ✓`)):s(``,!0),d(`button`,{type:`button`,class:`settings-logout`,onClick:J},`خروج`)])]),_:1}))}}),[[`__scopeId`,`data-v-f16dc950`]]);export{B as default};
|
||||
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
@@ -1 +1 @@
|
||||
import{At as e,F as t,G as n,M as r,Pt as i,_ as a,c as o,d as s,f as c,g as l,i as u,k as d,l as f,t as p,u as m,ut as h,v as g}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{t as _}from"./BasicIcon-ba1FsUKx.js";import{i as v}from"./format-C72AoJ2H.js";import{A as y,d as b,r as x}from"./index-BPUhS8CY.js";import{t as S}from"./EmptyState-DYhkpGhZ.js";import{t as C}from"./ProfileSubpageLayout-Bj7iaKP1.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=p(g({__name:`ProfileNotificationsView`,setup(p){let g=y(),F=b(),I=o(()=>F.items),L=o(()=>F.hasUnread),R={info:`vuesax-linear:information`,success:`vuesax-linear:tick-circle`,warning:`vuesax-linear:timer`,danger:`vuesax-linear:close-circle`};d(()=>{F.hydrate()});async function z(e){await F.markRead(e.id),e.link&&g.push(e.link)}return(o,d)=>(r(),m(C,{title:`اعلانها`,subtitle:`سفارشها، پیشنهاد محصول و سایر اعلانها`},{default:n(()=>[I.value.length?(r(),c(`div`,w,[f(`div`,T,[f(`span`,E,i(L.value?`${h(F).unreadCount} اعلان خواندهنشده`:`همه خوانده شده`),1),L.value?(r(),m(x,{key:0,variant:`outline`,class:`notif-box__mark`,onClick:d[0]||=e=>h(F).markAllRead()},{default:n(()=>[...d[2]||=[l(` خواندن همه `,-1)]]),_:1})):s(``,!0)]),(r(!0),c(u,null,t(I.value,t=>(r(),c(`button`,{key:t.id,type:`button`,class:e([`notif-row`,[`notif-row--${t.tone}`,{"notif-row--unread":!t.isRead}]]),onClick:e=>z(t)},[f(`span`,O,[a(_,{icon:R[t.tone],size:22,"stroke-width":1.5},null,8,[`icon`])]),f(`span`,k,[f(`span`,A,[f(`strong`,j,i(t.title),1),t.isRead?s(``,!0):(r(),c(`span`,M))]),f(`span`,N,i(t.body),1),f(`span`,P,i(h(v)(t.sentAt)),1)])],10,D))),128))])):(r(),m(S,{key:1,icon:`vuesax-linear:notification-bing`,title:`اعلانی ندارید`,message:`وقتی فاکتور سفارشتان صادر شود، پیشنهاد محصولی برایتان ثبت شود یا وضعیت پرداخت تغییر کند، همینجا خبردار میشوید.`},{default:n(()=>[a(x,{variant:`outline`,onClick:d[1]||=e=>h(g).push(`/orders`)},{default:n(()=>[...d[3]||=[l(`سفارشهای من`,-1)]]),_:1})]),_:1}))]),_:1}))}}),[[`__scopeId`,`data-v-7e884b50`]]);export{F as default};
|
||||
import{At as e,F as t,G as n,M as r,Pt as i,_ as a,c as o,d as s,f as c,g as l,i as u,k as d,l as f,t as p,u as m,ut as h,v as g}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{t as _}from"./BasicIcon-ba1FsUKx.js";import{i as v}from"./format-BHJptHdF.js";import{A as y,d as b,r as x}from"./index-CpQ4kL4n.js";import{t as S}from"./EmptyState-DYhkpGhZ.js";import{t as C}from"./ProfileSubpageLayout-CKyfOxv2.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=p(g({__name:`ProfileNotificationsView`,setup(p){let g=y(),F=b(),I=o(()=>F.items),L=o(()=>F.hasUnread),R={info:`vuesax-linear:information`,success:`vuesax-linear:tick-circle`,warning:`vuesax-linear:timer`,danger:`vuesax-linear:close-circle`};d(()=>{F.hydrate()});async function z(e){await F.markRead(e.id),e.link&&g.push(e.link)}return(o,d)=>(r(),m(C,{title:`اعلانها`,subtitle:`سفارشها، پیشنهاد محصول و سایر اعلانها`},{default:n(()=>[I.value.length?(r(),c(`div`,w,[f(`div`,T,[f(`span`,E,i(L.value?`${h(F).unreadCount} اعلان خواندهنشده`:`همه خوانده شده`),1),L.value?(r(),m(x,{key:0,variant:`outline`,class:`notif-box__mark`,onClick:d[0]||=e=>h(F).markAllRead()},{default:n(()=>[...d[2]||=[l(` خواندن همه `,-1)]]),_:1})):s(``,!0)]),(r(!0),c(u,null,t(I.value,t=>(r(),c(`button`,{key:t.id,type:`button`,class:e([`notif-row`,[`notif-row--${t.tone}`,{"notif-row--unread":!t.isRead}]]),onClick:e=>z(t)},[f(`span`,O,[a(_,{icon:R[t.tone],size:22,"stroke-width":1.5},null,8,[`icon`])]),f(`span`,k,[f(`span`,A,[f(`strong`,j,i(t.title),1),t.isRead?s(``,!0):(r(),c(`span`,M))]),f(`span`,N,i(t.body),1),f(`span`,P,i(h(v)(t.sentAt)),1)])],10,D))),128))])):(r(),m(S,{key:1,icon:`vuesax-linear:notification-bing`,title:`اعلانی ندارید`,message:`وقتی فاکتور سفارشتان صادر شود، پیشنهاد محصولی برایتان ثبت شود یا وضعیت پرداخت تغییر کند، همینجا خبردار میشوید.`},{default:n(()=>[a(x,{variant:`outline`,onClick:d[1]||=e=>h(g).push(`/orders`)},{default:n(()=>[...d[3]||=[l(`سفارشهای من`,-1)]]),_:1})]),_:1}))]),_:1}))}}),[[`__scopeId`,`data-v-7e884b50`]]);export{F as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{G as e,M as t,_ as n,d as r,f as i,g as a,l as o,nt as s,t as c,u as l,v as u}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{r as d}from"./index-BPUhS8CY.js";import{t as f}from"./FormErrorBanner-Ud1D04xf.js";import{n as p,r as m,t as h}from"./formErrors-DglFjYkZ.js";import{t as g}from"./BaseInput-CpE3bVJZ.js";import{t as _}from"./ProfileSubpageLayout-Bj7iaKP1.js";var v={class:`settings-form`},y={key:0,class:`settings-form__saved`},b=c(u({__name:`ProfileSecurityView`,setup(c){let u=s(``),b=s(``),x=s(``),S=s({}),C=s(``),w=s(!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(u.value||(e.currentPassword=`رمز فعلی الزامی است.`),b.value.length<6&&(e.newPassword=`رمز جدید باید حداقل ۶ کاراکتر باشد.`),x.value!==b.value&&(e.confirmPassword=`تکرار رمز با رمز جدید یکسان نیست.`),m(e)){S.value=e,C.value=h;return}u.value=``,b.value=``,x.value=``,w.value=!0,setTimeout(()=>{w.value=!1},2e3)}return(s,c)=>(t(),l(_,{title:`امنیت حساب`,subtitle:`تغییر رمز عبور و تنظیمات ورود`},{default:e(()=>[n(f,{message:C.value},null,8,[`message`]),o(`div`,v,[n(g,{modelValue:u.value,"onUpdate:modelValue":[c[0]||=e=>u.value=e,c[1]||=e=>T(`currentPassword`)],type:`password`,label:`رمز عبور فعلی`,error:S.value.currentPassword},null,8,[`modelValue`,`error`]),n(g,{modelValue:b.value,"onUpdate:modelValue":[c[2]||=e=>b.value=e,c[3]||=e=>T(`newPassword`)],type:`password`,label:`رمز عبور جدید`,error:S.value.newPassword},null,8,[`modelValue`,`error`]),n(g,{modelValue:x.value,"onUpdate:modelValue":[c[4]||=e=>x.value=e,c[5]||=e=>T(`confirmPassword`)],type:`password`,label:`تکرار رمز عبور جدید`,error:S.value.confirmPassword},null,8,[`modelValue`,`error`]),n(d,{block:``,onClick:E},{default:e(()=>[...c[6]||=[a(`ذخیره رمز جدید`,-1)]]),_:1}),w.value?(t(),i(`p`,y,`رمز عبور با موفقیت تغییر کرد ✓`)):r(``,!0)])]),_:1}))}}),[[`__scopeId`,`data-v-074827a2`]]);export{b as default};
|
||||
import{G as e,M as t,_ as n,d as r,f as i,g as a,l as o,nt as s,t as c,u as l,v as u}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{r as d}from"./index-CpQ4kL4n.js";import{t as f}from"./FormErrorBanner-Ud1D04xf.js";import{n as p,r as m,t as h}from"./formErrors-DglFjYkZ.js";import{t as g}from"./BaseInput-CpE3bVJZ.js";import{t as _}from"./ProfileSubpageLayout-CKyfOxv2.js";var v={class:`settings-form`},y={key:0,class:`settings-form__saved`},b=c(u({__name:`ProfileSecurityView`,setup(c){let u=s(``),b=s(``),x=s(``),S=s({}),C=s(``),w=s(!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(u.value||(e.currentPassword=`رمز فعلی الزامی است.`),b.value.length<6&&(e.newPassword=`رمز جدید باید حداقل ۶ کاراکتر باشد.`),x.value!==b.value&&(e.confirmPassword=`تکرار رمز با رمز جدید یکسان نیست.`),m(e)){S.value=e,C.value=h;return}u.value=``,b.value=``,x.value=``,w.value=!0,setTimeout(()=>{w.value=!1},2e3)}return(s,c)=>(t(),l(_,{title:`امنیت حساب`,subtitle:`تغییر رمز عبور و تنظیمات ورود`},{default:e(()=>[n(f,{message:C.value},null,8,[`message`]),o(`div`,v,[n(g,{modelValue:u.value,"onUpdate:modelValue":[c[0]||=e=>u.value=e,c[1]||=e=>T(`currentPassword`)],type:`password`,label:`رمز عبور فعلی`,error:S.value.currentPassword},null,8,[`modelValue`,`error`]),n(g,{modelValue:b.value,"onUpdate:modelValue":[c[2]||=e=>b.value=e,c[3]||=e=>T(`newPassword`)],type:`password`,label:`رمز عبور جدید`,error:S.value.newPassword},null,8,[`modelValue`,`error`]),n(g,{modelValue:x.value,"onUpdate:modelValue":[c[4]||=e=>x.value=e,c[5]||=e=>T(`confirmPassword`)],type:`password`,label:`تکرار رمز عبور جدید`,error:S.value.confirmPassword},null,8,[`modelValue`,`error`]),n(d,{block:``,onClick:E},{default:e(()=>[...c[6]||=[a(`ذخیره رمز جدید`,-1)]]),_:1}),w.value?(t(),i(`p`,y,`رمز عبور با موفقیت تغییر کرد ✓`)):r(``,!0)])]),_:1}))}}),[[`__scopeId`,`data-v-074827a2`]]);export{b as default};
|
||||
Vendored
+1
-1
@@ -1 +1 @@
|
||||
import{I as e,M as t,Pt as n,_ as r,d as i,f as a,i as o,l as s,t as c,v as l}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{A as u}from"./index-BPUhS8CY.js";import{t as d}from"./IconChevronBack-DytWz6TD.js";var f={class:`page profile-subpage mobile-only`},p={class:`page__scroll page__scroll--with-nav`},m={class:`profile-subpage__card card`},h={class:`profile-subpage__nav`},g={class:`profile-subpage__title`},_={type:`button`,class:`nav-btn nav-btn--ghost`,"aria-hidden":`true`,tabindex:`-1`},v={class:`desktop-page profile-subpage-desktop desktop-only`},y={class:`desktop-page__head profile-subpage-desktop__head`},b={class:`desktop-page__title`},x={key:0,class:`desktop-page__subtitle`},S={class:`profile-subpage-desktop__panel card`},C=c(l({__name:`ProfileSubpageLayout`,props:{title:{},subtitle:{}},setup(c){let l=u();function C(){l.push(`/profile`)}return(l,u)=>(t(),a(o,null,[s(`div`,f,[s(`div`,p,[s(`div`,m,[s(`header`,h,[s(`button`,{type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:C},[r(d,{size:20})]),s(`h1`,g,n(c.title),1),s(`button`,_,[r(d,{size:18,class:`nav-btn__flip`})])]),e(l.$slots,`default`,{},void 0,!0)])])]),s(`div`,v,[s(`header`,y,[s(`h1`,b,n(c.title),1),c.subtitle?(t(),a(`p`,x,n(c.subtitle),1)):i(``,!0)]),s(`section`,S,[e(l.$slots,`default`,{},void 0,!0)])])],64))}}),[[`__scopeId`,`data-v-e7684fde`]]);export{C as t};
|
||||
import{I as e,M as t,Pt as n,_ as r,d as i,f as a,i as o,l as s,t as c,v as l}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{A as u}from"./index-CpQ4kL4n.js";import{t as d}from"./IconChevronBack-DytWz6TD.js";var f={class:`page profile-subpage mobile-only`},p={class:`page__scroll page__scroll--with-nav`},m={class:`profile-subpage__card card`},h={class:`profile-subpage__nav`},g={class:`profile-subpage__title`},_={type:`button`,class:`nav-btn nav-btn--ghost`,"aria-hidden":`true`,tabindex:`-1`},v={class:`desktop-page profile-subpage-desktop desktop-only`},y={class:`desktop-page__head profile-subpage-desktop__head`},b={class:`desktop-page__title`},x={key:0,class:`desktop-page__subtitle`},S={class:`profile-subpage-desktop__panel card`},C=c(l({__name:`ProfileSubpageLayout`,props:{title:{},subtitle:{}},setup(c){let l=u();function C(){l.push(`/profile`)}return(l,u)=>(t(),a(o,null,[s(`div`,f,[s(`div`,p,[s(`div`,m,[s(`header`,h,[s(`button`,{type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:C},[r(d,{size:20})]),s(`h1`,g,n(c.title),1),s(`button`,_,[r(d,{size:18,class:`nav-btn__flip`})])]),e(l.$slots,`default`,{},void 0,!0)])])]),s(`div`,v,[s(`header`,y,[s(`h1`,b,n(c.title),1),c.subtitle?(t(),a(`p`,x,n(c.subtitle),1)):i(``,!0)]),s(`section`,S,[e(l.$slots,`default`,{},void 0,!0)])])],64))}}),[[`__scopeId`,`data-v-e7684fde`]]);export{C as t};
|
||||
Vendored
-1
File diff suppressed because one or more lines are too long
Vendored
+1
File diff suppressed because one or more lines are too long
Vendored
+1
File diff suppressed because one or more lines are too long
Vendored
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
-1
@@ -1 +0,0 @@
|
||||
.stock-alerts-error[data-v-c1c726c4]{color:var(--color-danger);margin:0 0 12px;font-size:.8125rem}.stock-alerts-empty[data-v-c1c726c4]{text-align:center;color:var(--color-text-muted);flex-direction:column;align-items:center;gap:10px;padding:32px 16px;display:flex}.stock-alerts-empty__hint[data-v-c1c726c4]{max-width:280px;margin:0;font-size:.8125rem;line-height:1.6}.stock-alerts-section[data-v-c1c726c4]{margin-bottom:20px}.stock-alerts-section__title[data-v-c1c726c4]{color:var(--color-text-muted);margin:0 0 10px;font-size:.875rem;font-weight:700}.stock-alerts-list[data-v-c1c726c4]{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.stock-alert-card[data-v-c1c726c4]{border:1px solid var(--color-border);background:var(--color-elevated);border-radius:14px;align-items:stretch;gap:8px;padding:10px;display:flex}.stock-alert-card--muted[data-v-c1c726c4]{opacity:.88}.stock-alert-card__main[data-v-c1c726c4]{text-align:start;cursor:pointer;min-width:0;color:inherit;font:inherit;background:0 0;border:none;flex:1;gap:12px;padding:0;display:flex}.stock-alert-card__thumb[data-v-c1c726c4]{background:var(--color-bg) center / cover no-repeat;border:1px solid var(--color-border);border-radius:10px;flex-shrink:0;width:56px;height:56px}.stock-alert-card__thumb--empty[data-v-c1c726c4]{background:var(--color-primary-soft)}.stock-alert-card__body[data-v-c1c726c4]{flex-direction:column;gap:4px;min-width:0;display:flex}.stock-alert-card__badge[data-v-c1c726c4]{background:var(--color-bg);color:var(--color-text-muted);border-radius:999px;align-self:flex-start;padding:2px 8px;font-size:.6875rem;font-weight:700}.stock-alert-card__badge--active[data-v-c1c726c4]{background:var(--color-primary-soft);color:var(--color-primary)}.stock-alert-card__badge--done[data-v-c1c726c4]{color:var(--color-success-dark,#15803d);background:#22c55e26}.stock-alert-card__name[data-v-c1c726c4]{font-size:.9375rem;line-height:1.35}.stock-alert-card__meta[data-v-c1c726c4]{color:var(--color-text-muted);margin:0;font-size:.75rem;line-height:1.5}.stock-alert-card__cancel[data-v-c1c726c4]{color:var(--color-danger);font:inherit;cursor:pointer;background:0 0;border:none;flex-shrink:0;align-self:center;padding:8px;font-size:.8125rem;font-weight:600}
|
||||
-1
@@ -1 +0,0 @@
|
||||
import{At as e,F as t,G as n,M as r,Nt as i,Pt as a,_ as ee,c as o,d as s,f as c,g as l,i as u,k as d,l as f,nt as p,t as m,u as h,ut as g,v as _}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{i as v,o as y}from"./format-C72AoJ2H.js";import{t as b}from"./http-CU_N-R2R.js";import{A as x,r as S,t as C}from"./index-BPUhS8CY.js";import{t as te}from"./PageSkeleton-DYdjm4l9.js";import{a as ne,i as re,n as w,t as ie}from"./useStockNotify-DeMc7Vja.js";import{t as ae}from"./ProfileSubpageLayout-Bj7iaKP1.js";var T={key:0,class:`stock-alerts-error`},E={key:0,class:`stock-alerts-empty`},D={key:0,class:`stock-alerts-section`},O={class:`stock-alerts-section__title`},k={class:`stock-alerts-list`},A=[`onClick`],j={class:`stock-alert-card__body`},M={class:`stock-alert-card__badge stock-alert-card__badge--active`},N={class:`stock-alert-card__name`},P={class:`stock-alert-card__meta`},F={dir:`ltr`},I={class:`stock-alert-card__meta`},L={key:0},R=[`disabled`,`onClick`],z={key:1,class:`stock-alerts-section`},B={class:`stock-alerts-list`},V=[`onClick`],H={class:`stock-alert-card__body`},U={class:`stock-alert-card__name`},W={class:`stock-alert-card__meta`},G=m(_({__name:`StockAlertsView`,setup(m){let _=x(),G=C(),K=p([]),q=p(!0),J=p(``),Y=p(null),X=o(()=>K.value.filter(e=>e.active)),Z=o(()=>K.value.filter(e=>!e.active));async function Q(){q.value=!0,J.value=``;try{K.value=await ne()}catch(e){J.value=e instanceof b||e instanceof Error?e.message:`بارگذاری درخواستها ناموفق بود.`}finally{q.value=!1}}d(Q);function $(e){_.push({path:`/product`,query:{id:e.productId}})}async function oe(e){if(!(!e.active||Y.value)){Y.value=e.id;try{await re(e.productId),G.show(`درخواست خبر موجودی لغو شد.`,{tone:`success`}),await Q()}catch(e){G.show(e instanceof b||e instanceof Error?e.message:`لغو درخواست ناموفق بود.`,{tone:`error`})}finally{Y.value=null}}}return(o,d)=>(r(),h(ae,{title:`خبر موجودی`,subtitle:`وقتی محصول ناموجود دوباره موجود شود، در اعلانها مطلع میشوید`},{default:n(()=>[J.value?(r(),c(`p`,T,a(J.value),1)):s(``,!0),q.value?(r(),h(te,{key:1,variant:`list`})):(r(),c(u,{key:2},[K.value.length?(r(),c(u,{key:1},[X.value.length?(r(),c(`section`,D,[f(`h2`,O,`فعال (`+a(g(y)(X.value.length))+`)`,1),f(`ul`,k,[(r(!0),c(u,null,t(X.value,t=>(r(),c(`li`,{key:t.id,class:`stock-alert-card`},[f(`button`,{type:`button`,class:`stock-alert-card__main`,onClick:e=>$(t)},[f(`span`,{class:e([`stock-alert-card__thumb`,{"stock-alert-card__thumb--empty":!t.imageUrl}]),style:i(t.imageUrl?{backgroundImage:`url(${t.imageUrl})`}:void 0)},null,6),f(`div`,j,[f(`span`,M,a(g(w)(t)),1),f(`strong`,N,a(t.productName),1),f(`p`,P,[l(` کالیته `+a(t.catalogCode)+` · `+a(t.color)+` `,1),f(`span`,F,`(`+a(t.productCode)+`)`,1)]),f(`p`,I,[l(` ثبت: `+a(g(v)(t.createdAt))+` `,1),g(ie)(t.stock)?(r(),c(`span`,L,` · موجودی: ۰`)):s(``,!0)])])],8,A),f(`button`,{type:`button`,class:`stock-alert-card__cancel`,disabled:Y.value===t.id,onClick:e=>oe(t)},` لغو `,8,R)]))),128))])])):s(``,!0),Z.value.length?(r(),c(`section`,z,[d[4]||=f(`h2`,{class:`stock-alerts-section__title`},`تاریخچه`,-1),f(`ul`,B,[(r(!0),c(u,null,t(Z.value,t=>(r(),c(`li`,{key:t.id,class:`stock-alert-card stock-alert-card--muted`},[f(`button`,{type:`button`,class:`stock-alert-card__main`,onClick:e=>$(t)},[f(`span`,{class:e([`stock-alert-card__thumb`,{"stock-alert-card__thumb--empty":!t.imageUrl}]),style:i(t.imageUrl?{backgroundImage:`url(${t.imageUrl})`}:void 0)},null,6),f(`div`,H,[f(`span`,{class:e([`stock-alert-card__badge`,{"stock-alert-card__badge--done":!!t.notifiedAt}])},a(g(w)(t)),3),f(`strong`,U,a(t.productName),1),f(`p`,W,a(t.notifiedAt?`اطلاع: ${g(v)(t.notifiedAt)}`:g(v)(t.createdAt)),1)])],8,V)]))),128))])])):s(``,!0)],64)):(r(),c(`div`,E,[d[2]||=f(`p`,null,`هنوز درخواستی ثبت نکردهاید.`,-1),d[3]||=f(`p`,{class:`stock-alerts-empty__hint`},` در صفحهٔ محصول ناموجود، دکمه «خبرم کن» را بزنید. `,-1),ee(S,{size:`sm`,variant:`outline`,onClick:d[0]||=e=>g(_).push(`/products`)},{default:n(()=>[...d[1]||=[l(` مشاهده محصولات `,-1)]]),_:1})]))],64))]),_:1}))}}),[[`__scopeId`,`data-v-c1c726c4`]]);export{G as default};
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
import{At as e,D as t,F as n,M as r,Pt as i,f as a,i as o,k as s,l as c,nt as l,t as u,ut as d,v as f}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{A as p}from"./index-BPUhS8CY.js";import{t as m}from"./nademitex-auth-logo-CQhPwje_.js";var h=`/assets/login-fabric-CSZOoxR9.jpg`,g=`/assets/fabric-slide-2-BWGo09Th.jpg`,_=`/assets/fabric-slide-3-CyMWKjFB.jpg`,v=`/assets/fabric-slide-4-UycLZic-.jpg`,y=[`src`],b={class:`welcome__brand`},x=[`src`],S={class:`welcome__copy`},C={class:`welcome__dots`,role:`tablist`,"aria-label":`اسلایدها`},w=[`aria-label`,`onClick`],T=u(f({__name:`WelcomeView`,setup(u){let f=p(),T=[{image:h,title:`پارچه، برای ایدههای بزرگ`,lead:`انتخاب بهتر، تأمین سریعتر، همراه حرفهای شما در مسیر تولید پوشاک`},{image:g,title:`پارچه، برای ایدههای بزرگ`,lead:`از کت و شلوار تا مانتو؛ بافتی که طرح شما را کامل میکند`},{image:_,title:`پارچه، برای ایدههای بزرگ`,lead:`کتان، پنبه و فاستونی؛ موجودی عمده برای مزون و تولیدکننده`},{image:v,title:`پارچه، برای ایدههای بزرگ`,lead:`کالیته را ببینید، رنگ را لمس کنید، بعد سفارش دهید`}],E=l(0),D=0,O=0;function k(e){E.value=(e+T.length)%T.length}function A(e){O=e.changedTouches[0]?.clientX??0}function j(e){let t=(e.changedTouches[0]?.clientX??0)-O;Math.abs(t)<40||k(E.value+(t<0?1:-1))}return s(()=>{D=window.setInterval(()=>k(E.value+1),4500)}),t(()=>window.clearInterval(D)),(t,s)=>(r(),a(`div`,{class:`welcome`,onTouchstartPassive:A,onTouchendPassive:j},[(r(),a(o,null,n(T,(t,n)=>c(`img`,{key:t.lead,class:e([`welcome__photo`,{"is-on":n===E.value}]),src:t.image,alt:``},null,10,y)),64)),s[1]||=c(`div`,{class:`welcome__shade`},null,-1),c(`header`,b,[c(`img`,{class:`welcome__logo`,src:d(m),alt:`Nademi Tex`,draggable:`false`},null,8,x)]),c(`div`,S,[c(`h1`,null,i(T[E.value]?.title),1),c(`p`,null,i(T[E.value]?.lead),1),c(`div`,C,[(r(),a(o,null,n(T,(t,n)=>c(`button`,{key:t.lead,type:`button`,class:e({"is-on":n===E.value}),"aria-label":`اسلاید ${n+1}`,onClick:e=>k(n)},null,10,w)),64))])]),c(`button`,{type:`button`,class:`welcome__cta`,onClick:s[0]||=e=>d(f).push(`/login`)},`ورود / ثبتنام`)],32))}}),[[`__scopeId`,`data-v-34e03d54`]]);export{T as default};
|
||||
import{At as e,D as t,F as n,M as r,Pt as i,f as a,i as o,k as s,l as c,nt as l,t as u,ut as d,v as f}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{A as p}from"./index-CpQ4kL4n.js";import{t as m}from"./nademitex-auth-logo-CQhPwje_.js";var h=`/assets/login-fabric-CSZOoxR9.jpg`,g=`/assets/fabric-slide-2-BWGo09Th.jpg`,_=`/assets/fabric-slide-3-CyMWKjFB.jpg`,v=`/assets/fabric-slide-4-UycLZic-.jpg`,y=[`src`],b={class:`welcome__brand`},x=[`src`],S={class:`welcome__copy`},C={class:`welcome__dots`,role:`tablist`,"aria-label":`اسلایدها`},w=[`aria-label`,`onClick`],T=u(f({__name:`WelcomeView`,setup(u){let f=p(),T=[{image:h,title:`پارچه، برای ایدههای بزرگ`,lead:`انتخاب بهتر، تأمین سریعتر، همراه حرفهای شما در مسیر تولید پوشاک`},{image:g,title:`پارچه، برای ایدههای بزرگ`,lead:`از کت و شلوار تا مانتو؛ بافتی که طرح شما را کامل میکند`},{image:_,title:`پارچه، برای ایدههای بزرگ`,lead:`کتان، پنبه و فاستونی؛ موجودی عمده برای مزون و تولیدکننده`},{image:v,title:`پارچه، برای ایدههای بزرگ`,lead:`کالیته را ببینید، رنگ را لمس کنید، بعد سفارش دهید`}],E=l(0),D=0,O=0;function k(e){E.value=(e+T.length)%T.length}function A(e){O=e.changedTouches[0]?.clientX??0}function j(e){let t=(e.changedTouches[0]?.clientX??0)-O;Math.abs(t)<40||k(E.value+(t<0?1:-1))}return s(()=>{D=window.setInterval(()=>k(E.value+1),4500)}),t(()=>window.clearInterval(D)),(t,s)=>(r(),a(`div`,{class:`welcome`,onTouchstartPassive:A,onTouchendPassive:j},[(r(),a(o,null,n(T,(t,n)=>c(`img`,{key:t.lead,class:e([`welcome__photo`,{"is-on":n===E.value}]),src:t.image,alt:``},null,10,y)),64)),s[1]||=c(`div`,{class:`welcome__shade`},null,-1),c(`header`,b,[c(`img`,{class:`welcome__logo`,src:d(m),alt:`Nademi Tex`,draggable:`false`},null,8,x)]),c(`div`,S,[c(`h1`,null,i(T[E.value]?.title),1),c(`p`,null,i(T[E.value]?.lead),1),c(`div`,C,[(r(),a(o,null,n(T,(t,n)=>c(`button`,{key:t.lead,type:`button`,class:e({"is-on":n===E.value}),"aria-label":`اسلاید ${n+1}`,onClick:e=>k(n)},null,10,w)),64))])]),c(`button`,{type:`button`,class:`welcome__cta`,onClick:s[0]||=e=>d(f).push(`/login`)},`ورود / ثبتنام`)],32))}}),[[`__scopeId`,`data-v-34e03d54`]]);export{T as default};
|
||||
-1
File diff suppressed because one or more lines are too long
Vendored
BIN
Binary file not shown.
|
Before Width: | Height: | Size: 178 KiB |
@@ -1 +1 @@
|
||||
function e(e){let t=e.trim();return!t||/[\u0600-\u06FF]/.test(t)?!1:t.startsWith(`#`)||/^(rgb|hsl)a?\(/i.test(t)||/^(transparent|currentcolor|black|white|navy|beige|gray|grey|red|blue|green|brown|gold|silver|ivory|khaki|olive|teal|maroon|purple|orange|pink|cyan|magenta|lime|aqua|fuchsia|indigo|violet|tan|wheat|snow)$/i.test(t)}function t(t,n){return n?{backgroundImage:`url(${n})`,backgroundSize:`cover`,backgroundPosition:`center`,backgroundRepeat:`no-repeat`}:e(t)?{background:t}:{background:`#c5cdc9`}}function n(e,t,n,r,i){return t?.[r]||n?.[r]||i||``}export{t as n,n as t};
|
||||
function e(e){let t=e.trim();return!t||/[\u0600-\u06FF]/.test(t)?!1:t.startsWith(`#`)||/^(rgb|hsl)a?\(/i.test(t)||/^(transparent|currentcolor|black|white|navy|beige|gray|grey|red|blue|green|brown|gold|silver|ivory|khaki|olive|teal|maroon|purple|orange|pink|cyan|magenta|lime|aqua|fuchsia|indigo|violet|tan|wheat|snow)$/i.test(t)}function t(t,n){return n?{backgroundImage:`url(${n})`,backgroundSize:`cover`,backgroundPosition:`center`,backgroundRepeat:`no-repeat`}:e(t)?{background:t}:{background:`#c5cdc9`}}function n(e,t,n){return e?.[0]||t?.find(Boolean)||n||``}function r(e,t,n){let r=t?.[n];return r?.length?r[0]:e?.[n]||``}export{r as n,n as r,t};
|
||||
Vendored
-1
@@ -1 +0,0 @@
|
||||
import{nt as e}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{n as t}from"./pinia-BK9B9Wwf.js";import{n,t as r}from"./http-CU_N-R2R.js";var i=[{id:`trousers`,title:`پارچههای شلواری`,subtitle:`مشاهده محصولات`},{id:`suit`,title:`پارچههای کتشلواری`,subtitle:`مشاهده محصولات`},{id:`shirt`,title:`پارچههای پیراهنی`,subtitle:`مشاهده محصولات`}],a=[{id:`summer`,title:`تابستانه`,description:`سبک، خنک و مناسب فصل گرم`},{id:`winter`,title:`زمستانه`,description:`گرم و مناسب فصل سرد`},{id:`all_season`,title:`چهارفصل`,description:`مناسب استفاده در بیشتر فصلهای سال`}];function o(){return{usage:i,seasons:a}}var s=`سرویس واسطه روی سرور فعال نیست. پس از migrate و deploy سرور دوباره تلاش کنید.`;async function c(e,t){try{return await n(e,t)}catch(e){throw e instanceof r&&(e.status===404||e.status===501)?new r(e.status,s):e}}async function l(){try{return await n(`/catalog/categories`)}catch{try{return await n(`/products/meta/categories`)}catch{return o()}}}async function u(e){return n(`/products`,{query:{activeOnly:!0,categoryId:e?.categoryId,season:e?.season,catalogId:e?.catalogId,companyId:e?.companyId}})}async function d(e){return n(`/banners`,{query:{slot:e}})}async function f(){return c(`/agent/profile`)}async function p(e){return c(`/agent/customers`,{query:e})}async function m(e){return c(`/agent/customers`,{method:`POST`,body:e})}async function h(e,t){return c(`/agent/customers/${e}`,{method:`PATCH`,body:t})}async function g(e){return c(`/agent/customers/${e}`)}async function _(e){return c(`/agent/meetings`,{method:`POST`,body:e})}async function v(e){return c(`/agent/reminders`,{query:{filter:e}})}async function y(e){return c(`/agent/reminders/${e}`)}async function b(e,t=!0){return c(`/agent/reminders/${e}/complete`,{method:`PATCH`,body:{completed:t}})}async function x(e){return c(`/agent/reminders`,{method:`POST`,body:e})}function S(e){return{id:e.id,name:e.name,code:e.code,categoryId:e.categoryId||e.usageCategory||`other`,season:e.season||`all_season`,widthCm:e.widthCm??150,composition:e.composition??``,weightGrams:e.weightGrams,weaveType:e.weaveType,colors:e.colors?.length?e.colors:[`#6b7280`],colorImages:e.colorImages,tags:e.tags??[],isNew:!!e.isNew,imageUrl:e.imageUrl||e.colorImages?.find(Boolean)||e.imageUrls?.[0],imageUrls:e.imageUrls,subtitle:e.subtitle,rollMeters:e.rollMeters??50,companyId:e.companyId,catalogId:e.catalogId,catalogCode:e.catalogCode,catalogName:e.catalogName,color:e.color,minMeterage:e.minMeterage??30,orderMultiplier:e.orderMultiplier??10,basePrice:e.basePrice??void 0,stock:e.stock??null}}var C=t(`crm`,()=>{let t=e(!1),r=e(null),i=e(null),a=e([]),o=e([]),s=e([]),c=e([]),d=e([]);async function C(){let e=await l();return s.value=e.usage,c.value=e.seasons,e}async function w(e){let t=await u(e);return d.value=t.map(S),d.value}async function T(e){return S(await n(`/products/${e}`))}async function E(){return i.value=await f(),i.value}async function D(e){return a.value=await p(e),a.value}async function O(e){return await g(e)}async function k(e){return _(e)}async function A(e){return m(e)}async function j(e,t){return h(e,t)}async function M(e){return o.value=await v(e),o.value}async function N(e){return y(e)}async function P(e){return b(e,!0)}async function F(e){return x(e)}return{loading:t,error:r,agentProfile:i,customers:a,reminders:o,usageCategories:s,seasonCategories:c,browseProducts:d,loadCategories:C,loadBrowseProducts:w,loadProductById:T,loadAgentProfile:E,loadCustomers:D,loadCustomerDetail:O,submitMeeting:k,registerCustomer:A,updateCustomer:j,loadReminders:M,loadReminderDetail:N,markReminderComplete:P,createReminder:F}});export{a,v as i,f as n,i as o,d as r,C as t};
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
import{nt as e}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{n as t}from"./pinia-BK9B9Wwf.js";import{n,t as r}from"./http-CU_N-R2R.js";var i=[{id:`trousers`,title:`پارچههای شلواری`,subtitle:`مشاهده محصولات`},{id:`suit`,title:`پارچههای کتشلواری`,subtitle:`مشاهده محصولات`},{id:`shirt`,title:`پارچههای پیراهنی`,subtitle:`مشاهده محصولات`}],a=[{id:`summer`,title:`تابستانه`,description:`سبک، خنک و مناسب فصل گرم`},{id:`winter`,title:`زمستانه`,description:`گرم و مناسب فصل سرد`},{id:`all_season`,title:`چهارفصل`,description:`مناسب استفاده در بیشتر فصلهای سال`}];function o(){return{usage:i,seasons:a}}var s=`سرویس واسطه روی سرور فعال نیست. پس از migrate و deploy سرور دوباره تلاش کنید.`;async function c(e,t){try{return await n(e,t)}catch(e){throw e instanceof r&&(e.status===404||e.status===501)?new r(e.status,s):e}}async function l(){try{return await n(`/catalog/categories`)}catch{try{return await n(`/products/meta/categories`)}catch{return o()}}}async function u(e){return n(`/products`,{query:{activeOnly:!0,categoryId:e?.categoryId,season:e?.season,companyId:e?.companyId}})}async function d(e){return n(`/banners`,{query:{slot:e}})}async function f(){return c(`/agent/profile`)}async function p(e){return c(`/agent/customers`,{query:e})}async function m(e){return c(`/agent/customers`,{method:`POST`,body:e})}async function h(e,t){return c(`/agent/customers/${e}`,{method:`PATCH`,body:t})}async function g(e){return c(`/agent/customers/${e}`)}async function _(e){return c(`/agent/meetings`,{method:`POST`,body:e})}async function v(e){return c(`/agent/reminders`,{query:{filter:e}})}async function y(e){return c(`/agent/reminders/${e}`)}async function b(e,t=!0){return c(`/agent/reminders/${e}/complete`,{method:`PATCH`,body:{completed:t}})}async function x(e){return c(`/agent/reminders`,{method:`POST`,body:e})}function S(e){return{id:e.id,name:e.name,code:e.code,categoryId:e.categoryId||e.usageCategory||`other`,season:e.season||`all_season`,widthCm:e.widthCm??150,composition:e.composition??``,weightGrams:e.weightGrams,weaveType:e.weaveType,colors:e.colors?.length?e.colors:[`#6b7280`],colorImages:e.colorImages,colorVariantImages:e.colorVariantImages,tags:e.tags??[],isNew:!!e.isNew,imageUrl:e.imageUrls?.[0]||e.imageUrl||e.colorImages?.find(Boolean)||void 0,imageUrls:e.imageUrls,subtitle:e.subtitle,rollMeters:e.rollMeters??50,companyId:e.companyId,catalogId:e.catalogId,catalogCode:e.catalogCode,catalogName:e.catalogName,color:e.color,minMeterage:e.minMeterage??30,orderMultiplier:e.orderMultiplier??10,basePrice:e.basePrice??void 0,stock:e.stock??null}}var C=t(`crm`,()=>{let t=e(!1),r=e(null),i=e(null),a=e([]),o=e([]),s=e([]),c=e([]),d=e([]);async function C(){let e=await l();return s.value=e.usage,c.value=e.seasons,e}async function w(e){let t=await u(e);return d.value=t.map(S),d.value}async function T(e){return S(await n(`/products/${e}`))}async function E(){return i.value=await f(),i.value}async function D(e){return a.value=await p(e),a.value}async function O(e){return await g(e)}async function k(e){return _(e)}async function A(e){return m(e)}async function j(e,t){return h(e,t)}async function M(e){return o.value=await v(e),o.value}async function N(e){return y(e)}async function P(e){return b(e,!0)}async function F(e){return x(e)}return{loading:t,error:r,agentProfile:i,customers:a,reminders:o,usageCategories:s,seasonCategories:c,browseProducts:d,loadCategories:C,loadBrowseProducts:w,loadProductById:T,loadAgentProfile:E,loadCustomers:D,loadCustomerDetail:O,submitMeeting:k,registerCustomer:A,updateCustomer:j,loadReminders:M,loadReminderDetail:N,markReminderComplete:P,createReminder:F}});export{a,v as i,f as n,i as o,d as r,C as t};
|
||||
Vendored
BIN
Binary file not shown.
|
Before Width: | Height: | Size: 112 KiB |
@@ -1 +1 @@
|
||||
var e=[-61,9,38,199,426,686,756,818,1111,1181,1210,1635,2060,2097,2192,2262,2324,2394,2456,3178],t=e[0],n=e[e.length-1]-1;function r(e,t,n){return e instanceof Date?u(d(e.getFullYear(),e.getMonth()+1,e.getDate())):u(d(e,t,n))}function i(e,t,n){return f(l(e,t,n))}function a(e){return h(e)===0}function o(e,t){return t<=6?31:t<=11||a(e)?30:29}function s(e){let{gy:t,march:n,jump:r,n:i}=p(e);return{leap:m(r,i),gy:t,march:n}}function c(e){let{gy:t,march:n}=p(e);return{gy:t,march:n}}function l(e,t,n){let r=c(e);return d(r.gy,3,r.march)+(t-1)*31-g(t,7)*(t-7)+n-1}function u(e){let t=f(e).gy,n=t-621,r=s(n),i=e-d(t,3,r.march);if(i>=0){if(i<=185)return{jy:n,jm:1+g(i,31),jd:_(i,31)+1};i-=186}else--n,i+=179,r.leap===1&&(i+=1);return{jy:n,jm:7+g(i,30),jd:_(i,30)+1}}function d(e,t,n){let r=g((e+g(t-8,6)+100100)*1461,4)+g(153*_(t+9,12)+2,5)+n-34840408;return r=r-g(g(e+100100+g(t-8,6),100)*3,4)+752,r}function f(e){let t=4*e+139361631;t=t+g(g(4*e+183187720,146097)*3,4)*4-3908;let n=g(_(t,1461),4)*5+308,r=g(_(n,153),5)+1,i=_(g(n,153),12)+1;return{gy:g(t,1461)-100100+g(8-i,6),gm:i,gd:r}}function p(r){if(!Number.isFinite(r)||r<t||r>n)throw RangeError(`Invalid Jalaali year ${r}: must be a finite number between ${t} and ${n} (inclusive)`);let i=r+621,a=-14,o=e[0],s=0,c=0;for(let t=1;t<e.length&&(s=e[t],c=s-o,!(r<s));t+=1)a=a+g(c,33)*8+g(_(c,33),4),o=s;let l=r-o;a=a+g(l,33)*8+g(_(l,33)+3,4),_(c,33)===4&&c-l===4&&(a+=1);let u=g(i,4)-g((g(i,100)+1)*3,4)-150;return{gy:i,march:20+a-u,jump:c,n:l}}function m(e,t){let n=t;e-t<6&&(n=t-e+g(e+4,33)*33);let r=_(_(n+1,33)-1,4);return r===-1&&(r=4),r}function h(r){if(!Number.isFinite(r)||r<t||r>n)throw RangeError(`Invalid Jalaali year ${r}: must be a finite number between ${t} and ${n} (inclusive)`);let i=e[0],a=0,o=0;for(let t=1;t<e.length&&(a=e[t],o=a-i,!(r<a));t+=1)i=a;return m(o,r-i)}function g(e,t){return~~(e/t)}function _(e,t){return e-~~(e/t)*t}var v=`۰۱۲۳۴۵۶۷۸۹`;function y(e){return e.replace(/\d/g,e=>v[Number(e)])}var b=[`فروردین`,`اردیبهشت`,`خرداد`,`تیر`,`مرداد`,`شهریور`,`مهر`,`آبان`,`آذر`,`دی`,`بهمن`,`اسفند`],x=[`ش`,`ی`,`د`,`س`,`چ`,`پ`,`ج`];function S(e){let t=e.trim().match(/^(\d{4})-(\d{2})-(\d{2})/);if(t)return new Date(Number(t[1]),Number(t[2])-1,Number(t[3]));let n=new Date(e);return Number.isNaN(n.getTime())?new Date(NaN):new Date(n.getFullYear(),n.getMonth(),n.getDate())}function C(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`}function w(e){let{jy:t,jm:n,jd:i}=r(e.getFullYear(),e.getMonth()+1,e.getDate());return{jy:t,jm:n,jd:i}}function T(e,t,n){let{gy:r,gm:a,gd:o}=i(e,t,n);return new Date(r,a-1,o)}function E(e){return e?w(S(e)):null}function D(e,t,n){return C(T(e,t,n))}function O(e,t,n){return`${y(String(n))} ${b[t-1]} ${y(String(e))}`}function k(e,t,n){let{gy:r,gm:a,gd:o}=i(e,t,n);return(new Date(r,a-1,o).getDay()+1)%7}function A(e,t){return o(e,t)}function j(e,t){let n=A(e,t),r=k(e,t,1),i=Array.from({length:r},()=>null);for(let e=1;e<=n;e+=1)i.push(e);for(;i.length%7!=0;)i.push(null);return i}function M(){return w(new Date)}var N=`۰۱۲۳۴۵۶۷۸۹`,P=new Intl.NumberFormat(`fa-IR`,{useGrouping:!0});function F(e){return e.replace(/[۰-۹]/g,e=>String(N.indexOf(e)))}function I(e){return F(e).replace(/[^\d]/g,``)}function L(e){let t=I(e);return t?Number(t):0}function R(e){return Number.isFinite(e)?P.format(e):`—`}function z(e){return`${R(e)} تومان`}function B(e){return`${R(e)} متر`}var V=new Intl.DateTimeFormat(`fa-IR-u-ca-persian`,{year:`numeric`,month:`2-digit`,day:`2-digit`}),H=new Intl.DateTimeFormat(`fa-IR-u-ca-persian`,{year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`});function U(e){let t=F(e.trim()).replace(/-/g,`/`).match(/^(\d{4})\/(\d{1,2})\/(\d{1,2})/);if(!t)return!1;let n=Number(t[1]);return n>=1300&&n<=1500}function W(e){if(typeof e!=`string`)return e;let t=e.trim();if(/^\d{4}-\d{2}-\d{2}$/.test(t))return S(t);let n=new Date(t);return Number.isNaN(n.getTime())?new Date(NaN):n}function G(e){if(!e)return`—`;if(typeof e==`string`&&U(e)){let t=F(e.trim()).replace(/-/g,`/`),n=t.match(/^(\d{4})\/(\d{1,2})\/(\d{1,2})/);if(!n)return q(t);let[,r,i,a]=n;return q(`${r}/${i.padStart(2,`0`)}/${a.padStart(2,`0`)}`)}let t=W(e);return Number.isNaN(t.getTime())?`—`:V.format(t)}function K(e){if(!e)return`—`;if(typeof e==`string`&&U(e)&&!/[T\s]\d/.test(e))return G(e);let t=W(e);return Number.isNaN(t.getTime())?`—`:H.format(t)}function q(e){return e.replace(/\d/g,e=>N[Number(e)])}function J(e){let t=I(e);return t.startsWith(`98`)?t=`0`+t.slice(2):t.startsWith(`9`)&&t.length===10&&(t=`0`+t),t.slice(0,11)}function Y(){return crypto.randomUUID()}export{D as _,B as a,M as b,F as c,q as d,b as f,E as g,O as h,K as i,J as l,j as m,z as n,R as o,x as p,G as r,Y as s,I as t,L as u,S as v,C as y};
|
||||
var e=[-61,9,38,199,426,686,756,818,1111,1181,1210,1635,2060,2097,2192,2262,2324,2394,2456,3178],t=e[0],n=e[e.length-1]-1;function r(e,t,n){return e instanceof Date?u(d(e.getFullYear(),e.getMonth()+1,e.getDate())):u(d(e,t,n))}function i(e,t,n){return f(l(e,t,n))}function a(e){return h(e)===0}function o(e,t){return t<=6?31:t<=11||a(e)?30:29}function s(e){let{gy:t,march:n,jump:r,n:i}=p(e);return{leap:m(r,i),gy:t,march:n}}function c(e){let{gy:t,march:n}=p(e);return{gy:t,march:n}}function l(e,t,n){let r=c(e);return d(r.gy,3,r.march)+(t-1)*31-g(t,7)*(t-7)+n-1}function u(e){let t=f(e).gy,n=t-621,r=s(n),i=e-d(t,3,r.march);if(i>=0){if(i<=185)return{jy:n,jm:1+g(i,31),jd:_(i,31)+1};i-=186}else--n,i+=179,r.leap===1&&(i+=1);return{jy:n,jm:7+g(i,30),jd:_(i,30)+1}}function d(e,t,n){let r=g((e+g(t-8,6)+100100)*1461,4)+g(153*_(t+9,12)+2,5)+n-34840408;return r=r-g(g(e+100100+g(t-8,6),100)*3,4)+752,r}function f(e){let t=4*e+139361631;t=t+g(g(4*e+183187720,146097)*3,4)*4-3908;let n=g(_(t,1461),4)*5+308,r=g(_(n,153),5)+1,i=_(g(n,153),12)+1;return{gy:g(t,1461)-100100+g(8-i,6),gm:i,gd:r}}function p(r){if(!Number.isFinite(r)||r<t||r>n)throw RangeError(`Invalid Jalaali year ${r}: must be a finite number between ${t} and ${n} (inclusive)`);let i=r+621,a=-14,o=e[0],s=0,c=0;for(let t=1;t<e.length&&(s=e[t],c=s-o,!(r<s));t+=1)a=a+g(c,33)*8+g(_(c,33),4),o=s;let l=r-o;a=a+g(l,33)*8+g(_(l,33)+3,4),_(c,33)===4&&c-l===4&&(a+=1);let u=g(i,4)-g((g(i,100)+1)*3,4)-150;return{gy:i,march:20+a-u,jump:c,n:l}}function m(e,t){let n=t;e-t<6&&(n=t-e+g(e+4,33)*33);let r=_(_(n+1,33)-1,4);return r===-1&&(r=4),r}function h(r){if(!Number.isFinite(r)||r<t||r>n)throw RangeError(`Invalid Jalaali year ${r}: must be a finite number between ${t} and ${n} (inclusive)`);let i=e[0],a=0,o=0;for(let t=1;t<e.length&&(a=e[t],o=a-i,!(r<a));t+=1)i=a;return m(o,r-i)}function g(e,t){return~~(e/t)}function _(e,t){return e-~~(e/t)*t}var v=`۰۱۲۳۴۵۶۷۸۹`;function y(e){return e.replace(/\d/g,e=>v[Number(e)])}var b=[`فروردین`,`اردیبهشت`,`خرداد`,`تیر`,`مرداد`,`شهریور`,`مهر`,`آبان`,`آذر`,`دی`,`بهمن`,`اسفند`],x=[`ش`,`ی`,`د`,`س`,`چ`,`پ`,`ج`];function S(e){let t=e.trim().match(/^(\d{4})-(\d{2})-(\d{2})/);if(t)return new Date(Number(t[1]),Number(t[2])-1,Number(t[3]));let n=new Date(e);return Number.isNaN(n.getTime())?new Date(NaN):new Date(n.getFullYear(),n.getMonth(),n.getDate())}function C(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`}function w(e){let{jy:t,jm:n,jd:i}=r(e.getFullYear(),e.getMonth()+1,e.getDate());return{jy:t,jm:n,jd:i}}function T(e,t,n){let{gy:r,gm:a,gd:o}=i(e,t,n);return new Date(r,a-1,o)}function E(e){return e?w(S(e)):null}function D(e,t,n){return C(T(e,t,n))}function O(e,t,n){return`${y(String(n))} ${b[t-1]} ${y(String(e))}`}function k(e,t,n){let{gy:r,gm:a,gd:o}=i(e,t,n);return(new Date(r,a-1,o).getDay()+1)%7}function A(e,t){return o(e,t)}function j(e,t){let n=A(e,t),r=k(e,t,1),i=Array.from({length:r},()=>null);for(let e=1;e<=n;e+=1)i.push(e);for(;i.length%7!=0;)i.push(null);return i}function M(){return w(new Date)}var N=`۰۱۲۳۴۵۶۷۸۹`,P=new Intl.NumberFormat(`fa-IR`,{useGrouping:!0});function F(e){return e.replace(/[۰-۹]/g,e=>String(N.indexOf(e)))}function I(e){return F(e).replace(/[^\d]/g,``)}function L(e){let t=I(e);return t?Number(t):0}function R(e){return Number.isFinite(e)?P.format(e):`—`}function z(e){return`${R(e)} تومان`}function B(e){return`${R(e)} متر`}var V=new Intl.DateTimeFormat(`fa-IR-u-ca-persian`,{year:`numeric`,month:`2-digit`,day:`2-digit`}),H=new Intl.DateTimeFormat(`fa-IR-u-ca-persian`,{year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`});function U(e){let t=F(e.trim()).replace(/-/g,`/`).match(/^(\d{4})\/(\d{1,2})\/(\d{1,2})/);if(!t)return!1;let n=Number(t[1]);return n>=1300&&n<=1500}function W(e){if(typeof e!=`string`)return e;let t=e.trim();if(/^\d{4}-\d{2}-\d{2}$/.test(t))return S(t);let n=new Date(t);return Number.isNaN(n.getTime())?new Date(NaN):n}function G(e){if(!e)return`—`;if(typeof e==`string`&&U(e)){let t=F(e.trim()).replace(/-/g,`/`),n=t.match(/^(\d{4})\/(\d{1,2})\/(\d{1,2})/);if(!n)return q(t);let[,r,i,a]=n;return q(`${r}/${i.padStart(2,`0`)}/${a.padStart(2,`0`)}`)}let t=W(e);return Number.isNaN(t.getTime())?`—`:V.format(t)}function K(e){if(!e)return`—`;if(typeof e==`string`&&U(e)&&!/[T\s]\d/.test(e))return G(e);let t=W(e);return Number.isNaN(t.getTime())?`—`:H.format(t)}function q(e){return e.replace(/\d/g,e=>N[Number(e)])}function J(e){let t=I(e);return t.startsWith(`98`)?t=`0`+t.slice(2):t.startsWith(`9`)&&t.length===10&&(t=`0`+t),t.slice(0,11)}function Y(){return crypto.randomUUID()}export{S as _,B as a,J as c,b as d,x as f,D as g,E as h,K as i,L as l,O as m,z as n,R as o,j as p,G as r,Y as s,I as t,q as u,C as v,M as y};
|
||||
Vendored
-3
File diff suppressed because one or more lines are too long
Vendored
-1
File diff suppressed because one or more lines are too long
Vendored
+1
File diff suppressed because one or more lines are too long
Vendored
+3
File diff suppressed because one or more lines are too long
Vendored
BIN
Binary file not shown.
|
Before Width: | Height: | Size: 144 KiB |
Vendored
BIN
Binary file not shown.
|
Before Width: | Height: | Size: 109 KiB |
Vendored
BIN
Binary file not shown.
|
Before Width: | Height: | Size: 218 KiB |
Vendored
BIN
Binary file not shown.
|
Before Width: | Height: | Size: 89 KiB |
@@ -1 +1 @@
|
||||
import{A as e}from"./index-BPUhS8CY.js";function t(t=`/`){let n=e();function r(){if(window.history.length>1){n.back();return}n.push(t)}return{goBack:r}}export{t};
|
||||
import{A as e}from"./index-CpQ4kL4n.js";function t(t=`/`){let n=e();function r(){if(window.history.length>1){n.back();return}n.push(t)}return{goBack:r}}export{t};
|
||||
Vendored
+1
-1
@@ -1 +1 @@
|
||||
import{U as e,c as t}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{A as n,f as r,k as i}from"./index-BPUhS8CY.js";import{n as a}from"./orderInvoice-DPYzRyAs.js";function o(){let o=i(),s=n(),c=r(),l=t(()=>o.params.id),u=t(()=>c.getOrderById(l.value)),d=t(()=>a(u.value));function f(e){e&&(a(e)||s.replace(`/orders/${e.id}`))}return e(l,async e=>{e&&f(c.getOrderById(e)??await c.fetchOrder(e))},{immediate:!0}),e(u,e=>{f(e)}),{orderId:l,order:u,invoiceReady:d}}export{o as t};
|
||||
import{U as e,c as t}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{A as n,f as r,k as i}from"./index-CpQ4kL4n.js";import{n as a}from"./orderInvoice-DPYzRyAs.js";function o(){let o=i(),s=n(),c=r(),l=t(()=>o.params.id),u=t(()=>c.getOrderById(l.value)),d=t(()=>a(u.value));function f(e){e&&(a(e)||s.replace(`/orders/${e.id}`))}return e(l,async e=>{e&&f(c.getOrderById(e)??await c.fetchOrder(e))},{immediate:!0}),e(u,e=>{f(e)}),{orderId:l,order:u,invoiceReady:d}}export{o as t};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{M as e,f as t,k as n,l as r,nt as i,u as a,v as o}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{t as s}from"./BasicIcon-ba1FsUKx.js";import{C as c,D as l,v as u}from"./index-BPUhS8CY.js";import{n as d,t as f}from"./IconDiamond-CCzZ7nPM.js";import{r as p}from"./crm-BKPKhzCX.js";import{n as m,r as h,t as g}from"./IconWeave-CTypFxhM.js";var _=o({__name:`IconBolt`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(t){return(n,r)=>(e(),a(s,{icon:`vuesax-linear:flash`,size:t.size,"stroke-width":t.strokeWidth,color:t.color},null,8,[`size`,`stroke-width`,`color`]))}}),v=o({__name:`IconFeather`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(t){return(n,r)=>(e(),a(s,{icon:`vuesax-linear:pen-add`,size:t.size,"stroke-width":t.strokeWidth,color:t.color},null,8,[`size`,`stroke-width`,`color`]))}}),y=o({__name:`IconIdCard`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(t){return(n,r)=>(e(),a(s,{icon:`vuesax-linear:personalcard`,size:t.size,"stroke-width":t.strokeWidth,color:t.color},null,8,[`size`,`stroke-width`,`color`]))}}),b=[`width`,`height`],x=[`stroke`,`stroke-width`],S=[`stroke`,`stroke-width`],C=o({__name:`IconShirt`,props:{size:{default:24},color:{default:`currentColor`},strokeWidth:{default:1.5}},setup(n){return(i,a)=>(e(),t(`svg`,{width:n.size,height:n.size,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`},[r(`path`,{d:`M8.25 5.25 12 7.75l3.75-2.5 2.25 2.75L16 9.5V18.5a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V9.5L6 8l2.25-2.75Z`,stroke:n.color,"stroke-width":n.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,x),r(`path`,{d:`M12 7.75V18.5`,stroke:n.color,"stroke-width":n.strokeWidth,"stroke-linecap":`round`},null,8,S)],8,b))}}),w=[`width`,`height`],T=[`stroke`,`stroke-width`],E=[`stroke`,`stroke-width`],D=[`stroke`,`stroke-width`],O=[`stroke`,`stroke-width`],k=o({__name:`IconSuit`,props:{size:{default:24},color:{default:`currentColor`},strokeWidth:{default:1.5}},setup(n){return(i,a)=>(e(),t(`svg`,{width:n.size,height:n.size,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`},[r(`path`,{d:`M7.5 5.5h9l2 3v10.5a1 1 0 0 1-1 1h-11a1 1 0 0 1-1-1V8.5l2-3Z`,stroke:n.color,"stroke-width":n.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,T),r(`path`,{d:`M12 5.5v13`,stroke:n.color,"stroke-width":n.strokeWidth,"stroke-linecap":`round`},null,8,E),r(`path`,{d:`M7.5 9 12 11.75 16.5 9`,stroke:n.color,"stroke-width":n.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,D),r(`path`,{d:`M10.25 5.5V4a1.75 1.75 0 0 1 3.5 0v1.5`,stroke:n.color,"stroke-width":n.strokeWidth,"stroke-linecap":`round`},null,8,O)],8,w))}}),A=[`width`,`height`],j=[`stroke`,`stroke-width`],M=[`stroke`,`stroke-width`],N=[`stroke`,`stroke-width`],P=o({__name:`IconTrousers`,props:{size:{default:24},color:{default:`currentColor`},strokeWidth:{default:1.5}},setup(n){return(i,a)=>(e(),t(`svg`,{width:n.size,height:n.size,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`},[r(`path`,{d:`M8 4.5h8v4.25l-1.75 11H13l-1-9.5-1 9.5H7.75L6 8.75V4.5Z`,stroke:n.color,"stroke-width":n.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,j),r(`path`,{d:`M12 8.75v11`,stroke:n.color,"stroke-width":n.strokeWidth,"stroke-linecap":`round`},null,8,M),r(`path`,{d:`M8 7.25h8`,stroke:n.color,"stroke-width":n.strokeWidth,"stroke-linecap":`round`},null,8,N)],8,A))}}),F=[`width`,`height`,`stroke`,`stroke-width`],I={bolt:_,feather:v,diamond:f,grid:d,bag:h,"id-card":y,catalog:c,headset:u,home:l,shirt:C,suit:k,trousers:P,ruler:m,composition:o({__name:`IconComposition`,props:{size:{default:22},color:{default:`currentColor`},strokeWidth:{default:1.6}},setup(n){return(i,a)=>(e(),t(`svg`,{width:n.size,height:n.size,viewBox:`0 0 24 24`,fill:`none`,stroke:n.color,"stroke-width":n.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[...a[0]||=[r(`path`,{d:`M12 3.5 20 8v8l-8 4.5L4 16V8l8-4.5Z`},null,-1)]],8,F))}}),weight:h,weave:g},L={shirt:`shirt`,suit:`suit`,trousers:`trousers`};function R(e){return L[e.id]?L[e.id]:e.icon&&I[e.icon]?e.icon:e.icon??`grid`}function z(e,t=f){return e&&I[e]||t}function B(e){let t=i([]),r=i(!0);async function a(){r.value=!0;try{t.value=await p(e)}catch{t.value=[]}finally{r.value=!1}}return n(()=>{a()}),{banners:t,loading:r,reload:a}}export{z as n,R as r,B as t};
|
||||
import{M as e,f as t,k as n,l as r,nt as i,u as a,v as o}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{t as s}from"./BasicIcon-ba1FsUKx.js";import{C as c,D as l,v as u}from"./index-CpQ4kL4n.js";import{n as d,t as f}from"./IconDiamond-CCzZ7nPM.js";import{r as p}from"./crm-BPBlQFWp.js";import{n as m,r as h,t as g}from"./IconWeave-CTypFxhM.js";var _=o({__name:`IconBolt`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(t){return(n,r)=>(e(),a(s,{icon:`vuesax-linear:flash`,size:t.size,"stroke-width":t.strokeWidth,color:t.color},null,8,[`size`,`stroke-width`,`color`]))}}),v=o({__name:`IconFeather`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(t){return(n,r)=>(e(),a(s,{icon:`vuesax-linear:pen-add`,size:t.size,"stroke-width":t.strokeWidth,color:t.color},null,8,[`size`,`stroke-width`,`color`]))}}),y=o({__name:`IconIdCard`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(t){return(n,r)=>(e(),a(s,{icon:`vuesax-linear:personalcard`,size:t.size,"stroke-width":t.strokeWidth,color:t.color},null,8,[`size`,`stroke-width`,`color`]))}}),b=[`width`,`height`],x=[`stroke`,`stroke-width`],S=[`stroke`,`stroke-width`],C=o({__name:`IconShirt`,props:{size:{default:24},color:{default:`currentColor`},strokeWidth:{default:1.5}},setup(n){return(i,a)=>(e(),t(`svg`,{width:n.size,height:n.size,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`},[r(`path`,{d:`M8.25 5.25 12 7.75l3.75-2.5 2.25 2.75L16 9.5V18.5a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V9.5L6 8l2.25-2.75Z`,stroke:n.color,"stroke-width":n.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,x),r(`path`,{d:`M12 7.75V18.5`,stroke:n.color,"stroke-width":n.strokeWidth,"stroke-linecap":`round`},null,8,S)],8,b))}}),w=[`width`,`height`],T=[`stroke`,`stroke-width`],E=[`stroke`,`stroke-width`],D=[`stroke`,`stroke-width`],O=[`stroke`,`stroke-width`],k=o({__name:`IconSuit`,props:{size:{default:24},color:{default:`currentColor`},strokeWidth:{default:1.5}},setup(n){return(i,a)=>(e(),t(`svg`,{width:n.size,height:n.size,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`},[r(`path`,{d:`M7.5 5.5h9l2 3v10.5a1 1 0 0 1-1 1h-11a1 1 0 0 1-1-1V8.5l2-3Z`,stroke:n.color,"stroke-width":n.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,T),r(`path`,{d:`M12 5.5v13`,stroke:n.color,"stroke-width":n.strokeWidth,"stroke-linecap":`round`},null,8,E),r(`path`,{d:`M7.5 9 12 11.75 16.5 9`,stroke:n.color,"stroke-width":n.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,D),r(`path`,{d:`M10.25 5.5V4a1.75 1.75 0 0 1 3.5 0v1.5`,stroke:n.color,"stroke-width":n.strokeWidth,"stroke-linecap":`round`},null,8,O)],8,w))}}),A=[`width`,`height`],j=[`stroke`,`stroke-width`],M=[`stroke`,`stroke-width`],N=[`stroke`,`stroke-width`],P=o({__name:`IconTrousers`,props:{size:{default:24},color:{default:`currentColor`},strokeWidth:{default:1.5}},setup(n){return(i,a)=>(e(),t(`svg`,{width:n.size,height:n.size,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`},[r(`path`,{d:`M8 4.5h8v4.25l-1.75 11H13l-1-9.5-1 9.5H7.75L6 8.75V4.5Z`,stroke:n.color,"stroke-width":n.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,j),r(`path`,{d:`M12 8.75v11`,stroke:n.color,"stroke-width":n.strokeWidth,"stroke-linecap":`round`},null,8,M),r(`path`,{d:`M8 7.25h8`,stroke:n.color,"stroke-width":n.strokeWidth,"stroke-linecap":`round`},null,8,N)],8,A))}}),F=[`width`,`height`,`stroke`,`stroke-width`],I={bolt:_,feather:v,diamond:f,grid:d,bag:h,"id-card":y,catalog:c,headset:u,home:l,shirt:C,suit:k,trousers:P,ruler:m,composition:o({__name:`IconComposition`,props:{size:{default:22},color:{default:`currentColor`},strokeWidth:{default:1.6}},setup(n){return(i,a)=>(e(),t(`svg`,{width:n.size,height:n.size,viewBox:`0 0 24 24`,fill:`none`,stroke:n.color,"stroke-width":n.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[...a[0]||=[r(`path`,{d:`M12 3.5 20 8v8l-8 4.5L4 16V8l8-4.5Z`},null,-1)]],8,F))}}),weight:h,weave:g},L={shirt:`shirt`,suit:`suit`,trousers:`trousers`};function R(e){return L[e.id]?L[e.id]:e.icon&&I[e.icon]?e.icon:e.icon??`grid`}function z(e,t=f){return e&&I[e]||t}function B(e){let t=i([]),r=i(!0);async function a(){r.value=!0;try{t.value=await p(e)}catch{t.value=[]}finally{r.value=!1}}return n(()=>{a()}),{banners:t,loading:r,reload:a}}export{z as n,R as r,B as t};
|
||||
-1
@@ -1 +0,0 @@
|
||||
import{nt as e}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{n as t,t as n}from"./http-CU_N-R2R.js";async function r(){return t(`/stock-alerts`)}async function i(e){return t(`/stock-alerts`,{body:{productId:e}})}async function a(e){return t(`/stock-alerts/${e}/cancel`,{method:`POST`})}function o(e){return e!=null&&e<=0}function s(t){let o=e(!1),s=e(!1),c=e(``);async function l(){let e=t();if(!e){o.value=!1;return}try{let t=await r();o.value=t.some(t=>t.productId===e&&t.active)}catch{o.value=!1}}async function u(){let e=t();if(!(!e||s.value)){s.value=!0,c.value=``;try{return await i(e),o.value=!0,!0}catch(e){return c.value=e instanceof n||e instanceof Error?e.message:`ثبت درخواست خبر موجودی ناموفق بود.`,!1}finally{s.value=!1}}}async function d(){let e=t();if(!(!e||s.value)){s.value=!0,c.value=``;try{return await a(e),o.value=!1,!0}catch(e){return c.value=e instanceof n||e instanceof Error?e.message:`لغو درخواست ناموفق بود.`,!1}finally{s.value=!1}}}return{subscribed:o,loading:s,error:c,refreshSubscription:l,subscribe:u,unsubscribe:d}}function c(e){return e.active?`در انتظار موجودی`:e.notifiedAt?`اطلاع داده شد`:`لغو شده`}export{r as a,a as i,c as n,s as r,o as t};
|
||||
+1
@@ -0,0 +1 @@
|
||||
function e(e){let t=0,n=0;function r(r){if(!e.enabled())return;let i=r.touches[0];i&&(t=i.clientX,n=i.clientY)}function i(r){if(!e.enabled())return;let i=r.changedTouches[0];if(!i)return;let a=i.clientX-t,o=i.clientY-n,s=e.thresholdPx??40;Math.abs(a)<s||Math.abs(o)>Math.abs(a)||e.onSwipe(a<0?1:-1)}return{onTouchStart:r,onTouchEnd:i}}export{e as t};
|
||||
@@ -1 +1 @@
|
||||
import{l as e}from"./format-C72AoJ2H.js";function t(e){if(!/^\d{10}$/.test(e)||/^(\d)\1{9}$/.test(e))return!1;let t=Number(e[9]),n=0;for(let t=0;t<9;t++)n+=Number(e[t])*(10-t);let r=n%11;return r<2?t===r:t===11-r}function n(e){return/^\d{16}$/.test(e.replace(/\s/g,``))}function r(t){return/^09\d{9}$/.test(e(t))}function i(e,t,n,r,i=0){if(!Number.isFinite(e)||e<=0)return{valid:!1,message:`متراژ باید عددی بزرگتر از صفر باشد.`};if(e<t.minMeterage)return{valid:!1,message:`حداقل متراژ سفارش برای این محصول ${t.minMeterage} متر است.`};if(e%t.orderMultiplier!==0)return{valid:!1,message:`متراژ باید مضربی از ${t.orderMultiplier} باشد.`};if(n-i+e>r){let e=r-(n-i);return{valid:!1,message:`حداکثر متراژ قابل ثبت در هر فاکتور ${r} متر است. شما فقط میتوانید ${Math.max(0,e)} متر دیگر به این سفارش اضافه کنید.`}}return{valid:!0}}function a(e){return[`image/jpeg`,`image/png`,`image/webp`].includes(e.type)?e.size>5242880?{valid:!1,message:`حجم تصویر نباید بیشتر از ۵ مگابایت باشد.`}:{valid:!0}:{valid:!1,message:`فرمت تصویر مجاز نیست. (JPG, PNG, WEBP)`}}async function o(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(r.result),r.onerror=n,r.readAsDataURL(e)})}export{r as a,t as i,a as n,n as o,i as r,o as t};
|
||||
import{c as e}from"./format-BHJptHdF.js";function t(e){if(!/^\d{10}$/.test(e)||/^(\d)\1{9}$/.test(e))return!1;let t=Number(e[9]),n=0;for(let t=0;t<9;t++)n+=Number(e[t])*(10-t);let r=n%11;return r<2?t===r:t===11-r}function n(e){return/^\d{16}$/.test(e.replace(/\s/g,``))}function r(t){return/^09\d{9}$/.test(e(t))}function i(e,t,n,r,i=0){if(!Number.isFinite(e)||e<=0)return{valid:!1,message:`متراژ باید عددی بزرگتر از صفر باشد.`};if(e<t.minMeterage)return{valid:!1,message:`حداقل متراژ سفارش برای این محصول ${t.minMeterage} متر است.`};if(e%t.orderMultiplier!==0)return{valid:!1,message:`متراژ باید مضربی از ${t.orderMultiplier} باشد.`};if(n-i+e>r){let e=r-(n-i);return{valid:!1,message:`حداکثر متراژ قابل ثبت در هر فاکتور ${r} متر است. شما فقط میتوانید ${Math.max(0,e)} متر دیگر به این سفارش اضافه کنید.`}}return{valid:!0}}function a(e){return[`image/jpeg`,`image/png`,`image/webp`].includes(e.type)?e.size>5242880?{valid:!1,message:`حجم تصویر نباید بیشتر از ۵ مگابایت باشد.`}:{valid:!0}:{valid:!1,message:`فرمت تصویر مجاز نیست. (JPG, PNG, WEBP)`}}async function o(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(r.result),r.onerror=n,r.readAsDataURL(e)})}export{r as a,t as i,a as n,n as o,i as r,o as t};
|
||||
Vendored
+4
-4
@@ -11,18 +11,18 @@
|
||||
<meta name="mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<title>سامانه سفارش عمده پارچه</title>
|
||||
<script type="module" crossorigin src="/assets/index-BPUhS8CY.js"></script>
|
||||
<script type="module" crossorigin src="/assets/index-CpQ4kL4n.js"></script>
|
||||
<link rel="modulepreload" crossorigin href="/assets/_plugin-vue_export-helper-1xMDlcEE.js">
|
||||
<link rel="modulepreload" crossorigin href="/assets/BasicIcon-ba1FsUKx.js">
|
||||
<link rel="modulepreload" crossorigin href="/assets/pinia-BK9B9Wwf.js">
|
||||
<link rel="modulepreload" crossorigin href="/assets/dist-U-AqZ6hP.js">
|
||||
<link rel="modulepreload" crossorigin href="/assets/dist-Bc4P4ngC.js">
|
||||
<link rel="modulepreload" crossorigin href="/assets/format-C72AoJ2H.js">
|
||||
<link rel="modulepreload" crossorigin href="/assets/validation-Duyyve7l.js">
|
||||
<link rel="modulepreload" crossorigin href="/assets/format-BHJptHdF.js">
|
||||
<link rel="modulepreload" crossorigin href="/assets/validation-BD7oi-2I.js">
|
||||
<link rel="modulepreload" crossorigin href="/assets/http-CU_N-R2R.js">
|
||||
<link rel="modulepreload" crossorigin href="/assets/catalog-DvXpKfLO.js">
|
||||
<link rel="stylesheet" crossorigin href="/assets/BasicIcon-QF_b9Svq.css">
|
||||
<link rel="stylesheet" crossorigin href="/assets/index-BXHY06kj.css">
|
||||
<link rel="stylesheet" crossorigin href="/assets/index-CAEFQyc9.css">
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
import { computed, ref } from 'vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { useSlotBanners } from '@/composables/useSlotBanners'
|
||||
import { useTouchSwipe } from '@/composables/useTouchSwipe'
|
||||
|
||||
const props = withDefaults(
|
||||
defineProps<{
|
||||
@@ -38,6 +39,13 @@ function setSlide(i: number) {
|
||||
if (!banners.value.length) return
|
||||
index.value = ((i % banners.value.length) + banners.value.length) % banners.value.length
|
||||
}
|
||||
|
||||
const { onTouchStart, onTouchEnd } = useTouchSwipe({
|
||||
enabled: () => banners.value.length > 1,
|
||||
onSwipe(dir) {
|
||||
setSlide(index.value + dir)
|
||||
},
|
||||
})
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@@ -48,6 +56,8 @@ function setSlide(i: number) {
|
||||
:class="{ 'slot-banner--photo': !!banner?.imageUrl }"
|
||||
:style="bannerStyle"
|
||||
:aria-label="banner?.title || 'بنر'"
|
||||
@touchstart.passive="onTouchStart"
|
||||
@touchend.passive="onTouchEnd"
|
||||
>
|
||||
<template v-if="banner">
|
||||
<div class="slot-banner__content">
|
||||
@@ -93,6 +103,7 @@ function setSlide(i: number) {
|
||||
<style scoped>
|
||||
.slot-banner {
|
||||
position: relative;
|
||||
touch-action: pan-y;
|
||||
isolation: isolate;
|
||||
flex-shrink: 0;
|
||||
display: flex;
|
||||
@@ -210,4 +221,32 @@ function setSlide(i: number) {
|
||||
background: #fff;
|
||||
width: 18px;
|
||||
}
|
||||
|
||||
/* دسکتاپ: همان نسبت و اندازه بنر صفحهٔ خانه */
|
||||
@media (min-width: 768px) {
|
||||
.slot-banner--photo {
|
||||
max-height: none;
|
||||
min-height: 0;
|
||||
aspect-ratio: 2.1 / 1;
|
||||
border-radius: 20px;
|
||||
}
|
||||
|
||||
.slot-banner__content {
|
||||
padding: 24px 28px 24px 36px;
|
||||
}
|
||||
|
||||
.slot-banner__title {
|
||||
font-size: 1.15rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 1200px) {
|
||||
.slot-banner--photo {
|
||||
aspect-ratio: 2.2 / 1;
|
||||
}
|
||||
|
||||
.slot-banner__title {
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
import { computed, onBeforeUnmount, ref, watch } from 'vue'
|
||||
import type { CatalogProductCard } from '@/types/crm'
|
||||
import { formatNumber } from '@/utils/format'
|
||||
import { colorSwatchStyle } from '@/utils/colorSwatch'
|
||||
import { colorSwatchStyle, colorVariantThumb } from '@/utils/colorSwatch'
|
||||
import BaseButton from '@/components/ui/BaseButton.vue'
|
||||
|
||||
const props = defineProps<{
|
||||
@@ -94,7 +94,7 @@ function submit() {
|
||||
|
||||
<div class="product-order-modal__table-head" aria-hidden="true">
|
||||
<span>رنگ</span>
|
||||
<span>تعداد</span>
|
||||
<span>طاقه</span>
|
||||
</div>
|
||||
|
||||
<ul class="product-order-modal__rows">
|
||||
@@ -102,7 +102,12 @@ function submit() {
|
||||
<div class="product-order-row__color">
|
||||
<span
|
||||
class="product-order-row__swatch"
|
||||
:style="colorSwatchStyle(color, product.colorImages?.[idx] || product.imageUrls?.[idx])"
|
||||
:style="
|
||||
colorSwatchStyle(
|
||||
color,
|
||||
colorVariantThumb(product.colorImages, product.colorVariantImages, idx),
|
||||
)
|
||||
"
|
||||
:title="color"
|
||||
/>
|
||||
<span v-if="color" class="product-order-row__label">{{ color }}</span>
|
||||
@@ -134,15 +139,19 @@ function submit() {
|
||||
<p v-if="error" class="product-order-modal__error">{{ error }}</p>
|
||||
|
||||
<footer class="product-order-modal__footer">
|
||||
<div class="product-order-modal__price">
|
||||
<span>قیمت</span>
|
||||
<strong v-if="estimatedPrice != null">
|
||||
{{ formatNumber(estimatedPrice) }} تومان
|
||||
</strong>
|
||||
<strong v-else-if="totalRolls > 0">
|
||||
{{ formatNumber(totalMeters) }} متر
|
||||
</strong>
|
||||
<strong v-else>—</strong>
|
||||
<div class="product-order-modal__prices">
|
||||
<div v-if="basePrice && basePrice > 0" class="product-order-modal__price">
|
||||
<span>قیمت هر متر</span>
|
||||
<strong>{{ formatNumber(basePrice) }} تومان</strong>
|
||||
</div>
|
||||
<div class="product-order-modal__price">
|
||||
<span>جمع تقریبی</span>
|
||||
<strong v-if="estimatedPrice != null">{{ formatNumber(estimatedPrice) }} تومان</strong>
|
||||
<strong v-else-if="totalRolls > 0 && (!basePrice || basePrice <= 0)">
|
||||
{{ formatNumber(totalMeters) }} متر
|
||||
</strong>
|
||||
<strong v-else>—</strong>
|
||||
</div>
|
||||
</div>
|
||||
<p v-if="minRolls > 0" class="product-order-modal__hint">
|
||||
حداقل سفارش: {{ formatNumber(minRolls) }} طاقه
|
||||
@@ -288,6 +297,12 @@ function submit() {
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.product-order-modal__prices {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 6px;
|
||||
}
|
||||
|
||||
.product-order-modal__price {
|
||||
display: flex;
|
||||
align-items: baseline;
|
||||
|
||||
@@ -1,80 +0,0 @@
|
||||
import { ref } from 'vue'
|
||||
import {
|
||||
cancelStockAlert,
|
||||
fetchMyStockAlerts,
|
||||
subscribeStockAlert,
|
||||
type StockAlertRequest,
|
||||
} from '@/services/stockAlerts'
|
||||
import { ApiError } from '@/services/http'
|
||||
|
||||
export function isProductOutOfStock(stock: number | null | undefined): boolean {
|
||||
return stock != null && stock <= 0
|
||||
}
|
||||
|
||||
export function useStockNotify(productId: () => string) {
|
||||
const subscribed = ref(false)
|
||||
const loading = ref(false)
|
||||
const error = ref('')
|
||||
|
||||
async function refreshSubscription() {
|
||||
const id = productId()
|
||||
if (!id) {
|
||||
subscribed.value = false
|
||||
return
|
||||
}
|
||||
try {
|
||||
const rows = await fetchMyStockAlerts()
|
||||
subscribed.value = rows.some((r) => r.productId === id && r.active)
|
||||
} catch {
|
||||
subscribed.value = false
|
||||
}
|
||||
}
|
||||
|
||||
async function subscribe() {
|
||||
const id = productId()
|
||||
if (!id || loading.value) return
|
||||
loading.value = true
|
||||
error.value = ''
|
||||
try {
|
||||
await subscribeStockAlert(id)
|
||||
subscribed.value = true
|
||||
return true
|
||||
} catch (e) {
|
||||
error.value =
|
||||
e instanceof ApiError || e instanceof Error
|
||||
? e.message
|
||||
: 'ثبت درخواست خبر موجودی ناموفق بود.'
|
||||
return false
|
||||
} finally {
|
||||
loading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
async function unsubscribe() {
|
||||
const id = productId()
|
||||
if (!id || loading.value) return
|
||||
loading.value = true
|
||||
error.value = ''
|
||||
try {
|
||||
await cancelStockAlert(id)
|
||||
subscribed.value = false
|
||||
return true
|
||||
} catch (e) {
|
||||
error.value =
|
||||
e instanceof ApiError || e instanceof Error
|
||||
? e.message
|
||||
: 'لغو درخواست ناموفق بود.'
|
||||
return false
|
||||
} finally {
|
||||
loading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
return { subscribed, loading, error, refreshSubscription, subscribe, unsubscribe }
|
||||
}
|
||||
|
||||
export function stockAlertStatusLabel(row: StockAlertRequest): string {
|
||||
if (row.active) return 'در انتظار موجودی'
|
||||
if (row.notifiedAt) return 'اطلاع داده شد'
|
||||
return 'لغو شده'
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
/**
|
||||
* اسلاید با سوایپ افقی (موبایل). سوایپ عمودی نادیده گرفته میشود تا اسکرول صفحه مختل نشود.
|
||||
*/
|
||||
export function useTouchSwipe(options: {
|
||||
enabled: () => boolean
|
||||
onSwipe: (direction: 1 | -1) => void
|
||||
thresholdPx?: number
|
||||
}) {
|
||||
let startX = 0
|
||||
let startY = 0
|
||||
|
||||
function onTouchStart(event: TouchEvent) {
|
||||
if (!options.enabled()) return
|
||||
const touch = event.touches[0]
|
||||
if (!touch) return
|
||||
startX = touch.clientX
|
||||
startY = touch.clientY
|
||||
}
|
||||
|
||||
function onTouchEnd(event: TouchEvent) {
|
||||
if (!options.enabled()) return
|
||||
const touch = event.changedTouches[0]
|
||||
if (!touch) return
|
||||
const dx = touch.clientX - startX
|
||||
const dy = touch.clientY - startY
|
||||
const threshold = options.thresholdPx ?? 40
|
||||
if (Math.abs(dx) < threshold) return
|
||||
if (Math.abs(dy) > Math.abs(dx)) return
|
||||
options.onSwipe(dx < 0 ? 1 : -1)
|
||||
}
|
||||
|
||||
return { onTouchStart, onTouchEnd }
|
||||
}
|
||||
+10
-20
@@ -59,15 +59,14 @@ const router = createRouter({
|
||||
},
|
||||
{
|
||||
path: '/catalogs',
|
||||
name: 'catalogs',
|
||||
component: () => import('@/views/catalogs/CatalogsHubView.vue'),
|
||||
meta: { requiresAuth: true },
|
||||
redirect: '/products',
|
||||
},
|
||||
{
|
||||
path: '/catalogs/:catalogId',
|
||||
name: 'catalog-detail',
|
||||
component: () => import('@/views/catalogs/CatalogProductRedirectView.vue'),
|
||||
meta: { requiresAuth: true },
|
||||
redirect: (to) => ({
|
||||
path: '/product',
|
||||
query: { id: String(to.params.catalogId ?? '') },
|
||||
}),
|
||||
},
|
||||
{
|
||||
path: '/catalog-requests',
|
||||
@@ -131,19 +130,16 @@ const router = createRouter({
|
||||
},
|
||||
{
|
||||
path: '/companies/:companyId/catalogs',
|
||||
name: 'company-catalogs',
|
||||
component: () => import('@/views/catalogs/CatalogListView.vue'),
|
||||
meta: { requiresAuth: true },
|
||||
redirect: (to) => ({
|
||||
path: '/products',
|
||||
query: { companyId: String(to.params.companyId ?? '') },
|
||||
}),
|
||||
},
|
||||
{
|
||||
path: '/companies/:companyId/catalogs/:catalogId/products',
|
||||
name: 'company-products',
|
||||
redirect: (to) => ({
|
||||
path: '/products',
|
||||
query: {
|
||||
catalogId: String(to.params.catalogId ?? ''),
|
||||
companyId: String(to.params.companyId ?? ''),
|
||||
},
|
||||
query: { companyId: String(to.params.companyId ?? '') },
|
||||
}),
|
||||
},
|
||||
{
|
||||
@@ -233,12 +229,6 @@ const router = createRouter({
|
||||
component: () => import('@/views/profile/AddressesView.vue'),
|
||||
meta: { requiresAuth: true },
|
||||
},
|
||||
{
|
||||
path: '/profile/stock-alerts',
|
||||
name: 'profile-stock-alerts',
|
||||
component: () => import('@/views/profile/StockAlertsView.vue'),
|
||||
meta: { requiresAuth: true },
|
||||
},
|
||||
{
|
||||
path: '/profile/security',
|
||||
name: 'profile-security',
|
||||
|
||||
@@ -122,7 +122,6 @@ export async function fetchCatalogCategories() {
|
||||
export async function fetchBrowseProducts(query?: {
|
||||
categoryId?: string
|
||||
season?: string
|
||||
catalogId?: string
|
||||
companyId?: string
|
||||
}) {
|
||||
return apiRequest<BrowseProductDto[]>('/products', {
|
||||
@@ -130,7 +129,6 @@ export async function fetchBrowseProducts(query?: {
|
||||
activeOnly: true,
|
||||
categoryId: query?.categoryId,
|
||||
season: query?.season,
|
||||
catalogId: query?.catalogId,
|
||||
companyId: query?.companyId,
|
||||
},
|
||||
})
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
import { apiRequest } from './http'
|
||||
|
||||
export type StockAlertRequest = {
|
||||
id: string
|
||||
productId: string
|
||||
productName: string
|
||||
productCode: string
|
||||
catalogCode: string
|
||||
color: string
|
||||
stock: number | null
|
||||
imageUrl: string
|
||||
active: boolean
|
||||
createdAt: string
|
||||
notifiedAt: string | null
|
||||
}
|
||||
|
||||
export async function fetchMyStockAlerts() {
|
||||
return apiRequest<StockAlertRequest[]>('/stock-alerts')
|
||||
}
|
||||
|
||||
export async function subscribeStockAlert(productId: string) {
|
||||
return apiRequest<StockAlertRequest>('/stock-alerts', {
|
||||
body: { productId },
|
||||
})
|
||||
}
|
||||
|
||||
export async function cancelStockAlert(productId: string) {
|
||||
return apiRequest<{ productId: string; active: boolean }>(
|
||||
`/stock-alerts/${productId}/cancel`,
|
||||
{ method: 'POST' },
|
||||
)
|
||||
}
|
||||
+5
-1
@@ -40,6 +40,7 @@ function mapProduct(p: {
|
||||
weaveType?: string
|
||||
colors?: string[]
|
||||
colorImages?: Array<string | null>
|
||||
colorVariantImages?: string[][]
|
||||
tags?: string[]
|
||||
isNew?: boolean
|
||||
subtitle?: string
|
||||
@@ -60,9 +61,11 @@ function mapProduct(p: {
|
||||
weaveType: p.weaveType,
|
||||
colors: p.colors?.length ? p.colors : ['#6b7280'],
|
||||
colorImages: p.colorImages,
|
||||
colorVariantImages: p.colorVariantImages,
|
||||
tags: p.tags ?? [],
|
||||
isNew: !!p.isNew,
|
||||
imageUrl: p.imageUrl || p.colorImages?.find(Boolean) || p.imageUrls?.[0],
|
||||
imageUrl:
|
||||
p.imageUrls?.[0] || p.imageUrl || p.colorImages?.find(Boolean) || undefined,
|
||||
imageUrls: p.imageUrls,
|
||||
subtitle: p.subtitle,
|
||||
rollMeters: p.rollMeters ?? 50,
|
||||
@@ -128,6 +131,7 @@ export const useCrmStore = defineStore('crm', () => {
|
||||
weaveType?: string
|
||||
colors?: string[]
|
||||
colorImages?: Array<string | null>
|
||||
colorVariantImages?: string[][]
|
||||
tags?: string[]
|
||||
isNew?: boolean
|
||||
subtitle?: string
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user