feat: add shipping address selection to checkout

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
2026-09-26 12:53:39 +03:30
co-authored by Copilot
parent c0815a931a
commit c332b99130
70 changed files with 336 additions and 102 deletions
@@ -1 +1 @@
import{F as e,G as t,K as n,M as r,Pt as i,_ as a,d as o,f as s,g as c,i as l,k as u,l as d,nt as f,t as p,u as m,v as h}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{s as g}from"./BasicIcon-Bzeb0Iwd.js";import{t as _}from"./http-CU_N-R2R.js";import{n as v}from"./index-C40q_iVH.js";import{t as y}from"./addresses-tV-zgZYG.js";import{t as b}from"./ProfileSubpageLayout-CxIRBosu.js";var x={key:0,class:`addr-error`},S={key:1,class:`addr-muted`},C={key:2,class:`addr-list`},w={key:0,class:`addr-badge`},T={class:`addr-actions`},E=[`onClick`],D=[`onClick`],O={key:3,class:`addr-muted`},k={class:`addr-field`},A={class:`addr-field`},j=p(h({__name:`AddressesView`,setup(p){let h=f([]),j=f(``),M=f(``),N=f(``),P=f(!0),F=f(!1);async function I(){P.value=!0,N.value=``;try{h.value=await y.list()}catch(e){N.value=e instanceof _||e instanceof Error?e.message:`دریافت آدرس‌ها ناموفق بود.`}finally{P.value=!1}}u(I);async function L(){let e=j.value.trim();if(e.length<3||F.value){N.value=`آدرس را کامل‌تر بنویسید.`;return}F.value=!0,N.value=``;try{await y.create({text:e,label:M.value.trim()||void 0}),j.value=``,M.value=``,h.value=await y.list()}catch(e){N.value=e instanceof _||e instanceof Error?e.message:`ذخیره آدرس ناموفق بود.`}finally{F.value=!1}}async function R(e){N.value=``;try{h.value=await y.makeDefault(e)}catch(e){N.value=e instanceof Error?e.message:`تغییر آدرس پیش‌فرض ناموفق بود.`}}async function z(e){N.value=``;try{h.value=await y.remove(e)}catch(e){N.value=e instanceof Error?e.message:`حذف آدرس ناموفق بود.`}}return(u,f)=>(r(),m(b,{title:`آدرس‌ها`,subtitle:`برای ارسال کالیته از آدرس پیش‌فرض استفاده می‌شود`},{default:t(()=>[N.value?(r(),s(`p`,x,i(N.value),1)):o(``,!0),P.value?(r(),s(`p`,S,`در حال دریافت…`)):h.value.length?(r(),s(`ul`,C,[(r(!0),s(l,null,e(h.value,e=>(r(),s(`li`,{key:e.id,class:`addr-item`},[d(`div`,null,[d(`strong`,null,i(e.label||`آدرس`),1),e.isDefault?(r(),s(`span`,w,`پیش‌فرض`)):o(``,!0),d(`p`,null,i(e.text),1)]),d(`div`,T,[e.isDefault?o(``,!0):(r(),s(`button`,{key:0,type:`button`,onClick:t=>R(e.id)},`پیش‌فرض`,8,E)),d(`button`,{type:`button`,class:`addr-remove`,onClick:t=>z(e.id)},`حذف`,8,D)])]))),128))])):(r(),s(`p`,O,`هنوز آدرسی ثبت نشده است.`)),d(`label`,k,[f[2]||=d(`span`,null,`عنوان (اختیاری)`,-1),n(d(`input`,{"onUpdate:modelValue":f[0]||=e=>M.value=e,type:`text`,maxlength:`40`,placeholder:`مثلاً فروشگاه`},null,512),[[g,M.value]])]),d(`label`,A,[f[3]||=d(`span`,null,`آدرس`,-1),n(d(`textarea`,{"onUpdate:modelValue":f[1]||=e=>j.value=e,rows:`3`,maxlength:`500`,placeholder:`آدرس کامل محل فعالیت`},null,512),[[g,j.value]])]),a(v,{loading:F.value,onClick:L},{default:t(()=>[...f[4]||=[c(`افزودن آدرس`,-1)]]),_:1},8,[`loading`])]),_:1}))}}),[[`__scopeId`,`data-v-fb759dd7`]]);export{j as default};
import{F as e,G as t,K as n,M as r,Pt as i,_ as a,d as o,f as s,g as c,i as l,k as u,l as d,nt as f,t as p,u as m,v as h}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{c as g}from"./BasicIcon-ZYxwF6Qc.js";import{t as _}from"./http-CU_N-R2R.js";import{n as v}from"./index-B6i70ocE.js";import{t as y}from"./addresses-tV-zgZYG.js";import{t as b}from"./ProfileSubpageLayout-DEIlfgki.js";var x={key:0,class:`addr-error`},S={key:1,class:`addr-muted`},C={key:2,class:`addr-list`},w={key:0,class:`addr-badge`},T={class:`addr-actions`},E=[`onClick`],D=[`onClick`],O={key:3,class:`addr-muted`},k={class:`addr-field`},A={class:`addr-field`},j=p(h({__name:`AddressesView`,setup(p){let h=f([]),j=f(``),M=f(``),N=f(``),P=f(!0),F=f(!1);async function I(){P.value=!0,N.value=``;try{h.value=await y.list()}catch(e){N.value=e instanceof _||e instanceof Error?e.message:`دریافت آدرس‌ها ناموفق بود.`}finally{P.value=!1}}u(I);async function L(){let e=j.value.trim();if(e.length<3||F.value){N.value=`آدرس را کامل‌تر بنویسید.`;return}F.value=!0,N.value=``;try{await y.create({text:e,label:M.value.trim()||void 0}),j.value=``,M.value=``,h.value=await y.list()}catch(e){N.value=e instanceof _||e instanceof Error?e.message:`ذخیره آدرس ناموفق بود.`}finally{F.value=!1}}async function R(e){N.value=``;try{h.value=await y.makeDefault(e)}catch(e){N.value=e instanceof Error?e.message:`تغییر آدرس پیش‌فرض ناموفق بود.`}}async function z(e){N.value=``;try{h.value=await y.remove(e)}catch(e){N.value=e instanceof Error?e.message:`حذف آدرس ناموفق بود.`}}return(u,f)=>(r(),m(b,{title:`آدرس‌ها`,subtitle:`برای ارسال کالیته از آدرس پیش‌فرض استفاده می‌شود`},{default:t(()=>[N.value?(r(),s(`p`,x,i(N.value),1)):o(``,!0),P.value?(r(),s(`p`,S,`در حال دریافت…`)):h.value.length?(r(),s(`ul`,C,[(r(!0),s(l,null,e(h.value,e=>(r(),s(`li`,{key:e.id,class:`addr-item`},[d(`div`,null,[d(`strong`,null,i(e.label||`آدرس`),1),e.isDefault?(r(),s(`span`,w,`پیش‌فرض`)):o(``,!0),d(`p`,null,i(e.text),1)]),d(`div`,T,[e.isDefault?o(``,!0):(r(),s(`button`,{key:0,type:`button`,onClick:t=>R(e.id)},`پیش‌فرض`,8,E)),d(`button`,{type:`button`,class:`addr-remove`,onClick:t=>z(e.id)},`حذف`,8,D)])]))),128))])):(r(),s(`p`,O,`هنوز آدرسی ثبت نشده است.`)),d(`label`,k,[f[2]||=d(`span`,null,`عنوان (اختیاری)`,-1),n(d(`input`,{"onUpdate:modelValue":f[0]||=e=>M.value=e,type:`text`,maxlength:`40`,placeholder:`مثلاً فروشگاه`},null,512),[[g,M.value]])]),d(`label`,A,[f[3]||=d(`span`,null,`آدرس`,-1),n(d(`textarea`,{"onUpdate:modelValue":f[1]||=e=>j.value=e,rows:`3`,maxlength:`500`,placeholder:`آدرس کامل محل فعالیت`},null,512),[[g,j.value]])]),a(v,{loading:F.value,onClick:L},{default:t(()=>[...f[4]||=[c(`افزودن آدرس`,-1)]]),_:1},8,[`loading`])]),_:1}))}}),[[`__scopeId`,`data-v-fb759dd7`]]);export{j as default};
@@ -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{k as l}from"./index-C40q_iVH.js";import{t as u}from"./IconChevronBack-CDeN0Cbu.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{k as l}from"./index-B6i70ocE.js";import{t as u}from"./IconChevronBack-nR86oNaE.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
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -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-Bzeb0Iwd.js";import{i as ne,n as re}from"./format-C72AoJ2H.js";import{t as ie}from"./catalog-DvXpKfLO.js";import{d as ae,k as oe,n as h}from"./index-C40q_iVH.js";import{t as se}from"./PageHeader-CNHiRdZv.js";import{t as ce}from"./useRequirePricedOrder-IPmVytkF.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=oe(),p=ae(),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-ZYxwF6Qc.js";import{i as ne,n as re}from"./format-C72AoJ2H.js";import{t as ie}from"./catalog-DvXpKfLO.js";import{d as ae,k as oe,n as h}from"./index-B6i70ocE.js";import{t as se}from"./PageHeader-DQ0BKTvM.js";import{t as ce}from"./useRequirePricedOrder-Dn3Aty_8.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=oe(),p=ae(),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 @@
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{O as g,S as _,k as v}from"./index-C40q_iVH.js";import{t as y}from"./EmptyState-D72g65G-.js";import{t as b}from"./PageHeader-CNHiRdZv.js";import{t as x}from"./SearchField-dVDn9y5S.js";import{t as S}from"./PageSkeleton-DYdjm4l9.js";import{t as C}from"./catalogNavigation-BwOBRghQ.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=g(),M=v(),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};
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{O as g,S as _,k as v}from"./index-B6i70ocE.js";import{t as y}from"./EmptyState-DfV1toiv.js";import{t as b}from"./PageHeader-DQ0BKTvM.js";import{t as x}from"./SearchField-dVDn9y5S.js";import{t as S}from"./PageSkeleton-DYdjm4l9.js";import{t as C}from"./catalogNavigation-BwOBRghQ.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=g(),M=v(),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 @@
import{M as e,_ as t,f as n,k as r,v as i}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{O as a,k as o}from"./index-C40q_iVH.js";import{t as s}from"./PageSkeleton-DYdjm4l9.js";import{t as c}from"./catalogNavigation-BwOBRghQ.js";var l={class:`page`},u=i({__name:`CatalogProductRedirectView`,setup(i){let u=a(),d=o();return r(()=>{c(d,String(u.params.catalogId??``))}),(r,i)=>(e(),n(`div`,l,[t(s,{variant:`detail`})]))}});export{u as default};
import{M as e,_ as t,f as n,k as r,v as i}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{O as a,k as o}from"./index-B6i70ocE.js";import{t as s}from"./PageSkeleton-DYdjm4l9.js";import{t as c}from"./catalogNavigation-BwOBRghQ.js";var l={class:`page`},u=i({__name:`CatalogProductRedirectView`,setup(i){let u=a(),d=o();return r(()=>{c(d,String(u.params.catalogId??``))}),(r,i)=>(e(),n(`div`,l,[t(s,{variant:`detail`})]))}});export{u as default};
@@ -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{k as p}from"./index-C40q_iVH.js";import{t as m}from"./PageHeader-CNHiRdZv.js";import{t as h}from"./catalogRequests-DmXxqAPC.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-C72AoJ2H.js";import{k as p}from"./index-B6i70ocE.js";import{t as m}from"./PageHeader-DQ0BKTvM.js";import{t as h}from"./catalogRequests-DmXxqAPC.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};
@@ -1 +1 @@
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{O as y,i as b,k as x}from"./index-C40q_iVH.js";import{t as S}from"./IconChevronBack-CDeN0Cbu.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-BwOBRghQ.js";import{t as E}from"./crm-Bj4T2PId.js";import{t as D}from"./IconSearch-CUp0Xr9R.js";import{t as O}from"./useGoBack-BMLMruUd.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=y(),U=x(),{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};
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{O as y,i as b,k as x}from"./index-B6i70ocE.js";import{t as S}from"./IconChevronBack-nR86oNaE.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-BwOBRghQ.js";import{t as E}from"./crm-Bj4T2PId.js";import{t as D}from"./IconSearch-IKfX85G0.js";import{t as O}from"./useGoBack-_x0UQRe3.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=y(),U=x(),{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};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -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{b as d,d as f,k as p}from"./index-C40q_iVH.js";import{t as m}from"./PageHeader-CNHiRdZv.js";import{t as h}from"./useRequirePricedOrder-IPmVytkF.js";import{t as g}from"./IconEditPen-DkMxper9.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=p(),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(d,{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-C72AoJ2H.js";import{b as d,d as f,k as p}from"./index-B6i70ocE.js";import{t as m}from"./PageHeader-DQ0BKTvM.js";import{t as h}from"./useRequirePricedOrder-Dn3Aty_8.js";import{t as g}from"./IconEditPen-D6bLj0ZA.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=p(),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(d,{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 @@
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-Bzeb0Iwd.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{c as x,n as S}from"./index-C40q_iVH.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-Bj4T2PId.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{d as g,n as _}from"./BasicIcon-ZYxwF6Qc.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{c as x,n as S}from"./index-B6i70ocE.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-Bj4T2PId.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(_,{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:g(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};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
import{I 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,v as u}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{t as d}from"./BasicIcon-Bzeb0Iwd.js";var f={class:`empty-state`},p={class:`empty-state__icon`,"aria-hidden":`true`},m={key:0,class:`empty-state__title`},h={key:1,class:`empty-state__message`},g={key:2,class:`empty-state__action`},_=l(u({__name:`EmptyState`,props:{message:{default:void 0},title:{default:void 0},variant:{default:`default`},icon:{default:void 0},iconSize:{default:72}},setup(l){let u=l,_={default:`vuesax-linear:clipboard-close`,products:`vuesax-linear:box-remove`,catalogs:`vuesax-linear:category`,orders:`vuesax-linear:document-text`,cart:`vuesax-linear:bag-cross`,checks:`vuesax-linear:card-receive`,search:`vuesax-linear:search-status`},v={default:``,products:`محصولی یافت نشد`,catalogs:`کالیته‌ای یافت نشد`,orders:`سفارشی یافت نشد`,cart:`سبد خرید خالی است`,checks:`چکی ثبت نشده است`,search:`نتیجه‌ای یافت نشد`},y=i(()=>u.icon??_[u.variant]??`vuesax-linear:clipboard-close`),b=i(()=>u.title??v[u.variant]??``),x=i(()=>u.message??``);return(i,u)=>(t(),o(`div`,f,[c(`div`,p,[e(i.$slots,`icon`,{},()=>[r(d,{icon:y.value,size:l.iconSize,"stroke-width":1.25},null,8,[`icon`,`size`])],!0)]),b.value||i.$slots.title?(t(),o(`h2`,m,[e(i.$slots,`title`,{},()=>[s(n(b.value),1)],!0)])):a(``,!0),x.value||i.$slots.message?(t(),o(`p`,h,[e(i.$slots,`message`,{},()=>[s(n(x.value),1)],!0)])):a(``,!0),i.$slots.default?(t(),o(`div`,g,[e(i.$slots,`default`,{},void 0,!0)])):a(``,!0)]))}}),[[`__scopeId`,`data-v-243a4fc7`]]);export{_ as t};
import{I 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,v as u}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{t as d}from"./BasicIcon-ZYxwF6Qc.js";var f={class:`empty-state`},p={class:`empty-state__icon`,"aria-hidden":`true`},m={key:0,class:`empty-state__title`},h={key:1,class:`empty-state__message`},g={key:2,class:`empty-state__action`},_=l(u({__name:`EmptyState`,props:{message:{default:void 0},title:{default:void 0},variant:{default:`default`},icon:{default:void 0},iconSize:{default:72}},setup(l){let u=l,_={default:`vuesax-linear:clipboard-close`,products:`vuesax-linear:box-remove`,catalogs:`vuesax-linear:category`,orders:`vuesax-linear:document-text`,cart:`vuesax-linear:bag-cross`,checks:`vuesax-linear:card-receive`,search:`vuesax-linear:search-status`},v={default:``,products:`محصولی یافت نشد`,catalogs:`کالیته‌ای یافت نشد`,orders:`سفارشی یافت نشد`,cart:`سبد خرید خالی است`,checks:`چکی ثبت نشده است`,search:`نتیجه‌ای یافت نشد`},y=i(()=>u.icon??_[u.variant]??`vuesax-linear:clipboard-close`),b=i(()=>u.title??v[u.variant]??``),x=i(()=>u.message??``);return(i,u)=>(t(),o(`div`,f,[c(`div`,p,[e(i.$slots,`icon`,{},()=>[r(d,{icon:y.value,size:l.iconSize,"stroke-width":1.25},null,8,[`icon`,`size`])],!0)]),b.value||i.$slots.title?(t(),o(`h2`,m,[e(i.$slots,`title`,{},()=>[s(n(b.value),1)],!0)])):a(``,!0),x.value||i.$slots.message?(t(),o(`p`,h,[e(i.$slots,`message`,{},()=>[s(n(x.value),1)],!0)])):a(``,!0),i.$slots.default?(t(),o(`div`,g,[e(i.$slots,`default`,{},void 0,!0)])):a(``,!0)]))}}),[[`__scopeId`,`data-v-243a4fc7`]]);export{_ as t};
@@ -1 +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-Bzeb0Iwd.js";import{o as _}from"./format-C72AoJ2H.js";import{k as v,l as y,o as b}from"./index-C40q_iVH.js";import{t as x}from"./PageHeader-CNHiRdZv.js";import{t as S}from"./PageSkeleton-DYdjm4l9.js";import{t as C}from"./crm-Bj4T2PId.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=y(),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(b,{size:14})],8,z)])],8,j))),128))])]))}}),[[`__scopeId`,`data-v-cc481a5f`]]);export{B as default};
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{d as g}from"./BasicIcon-ZYxwF6Qc.js";import{o as _}from"./format-C72AoJ2H.js";import{k as v,l as y,o as b}from"./index-B6i70ocE.js";import{t as x}from"./PageHeader-DQ0BKTvM.js";import{t as S}from"./PageSkeleton-DYdjm4l9.js";import{t as C}from"./crm-Bj4T2PId.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=y(),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(b,{size:14})],8,z)])],8,j))),128))])]))}}),[[`__scopeId`,`data-v-cc481a5f`]]);export{B as default};
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
import{M as e,u as t,v as n}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{t as r}from"./BasicIcon-Bzeb0Iwd.js";var i=n({__name:`IconChevronBack`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(n){return(i,a)=>(e(),t(r,{icon:`vuesax-linear:arrow-right-1`,size:n.size,"stroke-width":n.strokeWidth,color:n.color},null,8,[`size`,`stroke-width`,`color`]))}});export{i as t};
import{M as e,u as t,v as n}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{t as r}from"./BasicIcon-ZYxwF6Qc.js";var i=n({__name:`IconChevronBack`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(n){return(i,a)=>(e(),t(r,{icon:`vuesax-linear:arrow-right-1`,size:n.size,"stroke-width":n.strokeWidth,color:n.color},null,8,[`size`,`stroke-width`,`color`]))}});export{i as t};
@@ -1 +1 @@
import{M as e,u as t,v as n}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{t as r}from"./BasicIcon-Bzeb0Iwd.js";var i=n({__name:`IconClipboardEmpty`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(n){return(i,a)=>(e(),t(r,{icon:`vuesax-linear:clipboard-close`,size:n.size,"stroke-width":n.strokeWidth,color:n.color},null,8,[`size`,`stroke-width`,`color`]))}});export{i as t};
import{M as e,u as t,v as n}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{t as r}from"./BasicIcon-ZYxwF6Qc.js";var i=n({__name:`IconClipboardEmpty`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(n){return(i,a)=>(e(),t(r,{icon:`vuesax-linear:clipboard-close`,size:n.size,"stroke-width":n.strokeWidth,color:n.color},null,8,[`size`,`stroke-width`,`color`]))}});export{i as t};
@@ -1 +1 @@
import{M as e,u as t,v as n}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{t as r}from"./BasicIcon-Bzeb0Iwd.js";var i=n({__name:`IconLayoutGrid`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(n){return(i,a)=>(e(),t(r,{icon:`vuesax-linear:element-3`,size:n.size,"stroke-width":n.strokeWidth,color:n.color},null,8,[`size`,`stroke-width`,`color`]))}}),a=n({__name:`IconDiamond`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(n){return(i,a)=>(e(),t(r,{icon:`vuesax-linear:diamonds`,size:n.size,"stroke-width":n.strokeWidth,color:n.color},null,8,[`size`,`stroke-width`,`color`]))}});export{i as n,a as t};
import{M as e,u as t,v as n}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{t as r}from"./BasicIcon-ZYxwF6Qc.js";var i=n({__name:`IconLayoutGrid`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(n){return(i,a)=>(e(),t(r,{icon:`vuesax-linear:element-3`,size:n.size,"stroke-width":n.strokeWidth,color:n.color},null,8,[`size`,`stroke-width`,`color`]))}}),a=n({__name:`IconDiamond`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(n){return(i,a)=>(e(),t(r,{icon:`vuesax-linear:diamonds`,size:n.size,"stroke-width":n.strokeWidth,color:n.color},null,8,[`size`,`stroke-width`,`color`]))}});export{i as n,a as t};
@@ -1 +1 @@
import{M as e,u as t,v as n}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{t as r}from"./BasicIcon-Bzeb0Iwd.js";var i=n({__name:`IconEditPen`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(n){return(i,a)=>(e(),t(r,{icon:`vuesax-linear:edit-2`,size:n.size,"stroke-width":n.strokeWidth,color:n.color},null,8,[`size`,`stroke-width`,`color`]))}});export{i as t};
import{M as e,u as t,v as n}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{t as r}from"./BasicIcon-ZYxwF6Qc.js";var i=n({__name:`IconEditPen`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(n){return(i,a)=>(e(),t(r,{icon:`vuesax-linear:edit-2`,size:n.size,"stroke-width":n.strokeWidth,color:n.color},null,8,[`size`,`stroke-width`,`color`]))}});export{i as t};
@@ -1 +1 @@
import{M as e,u as t,v as n}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{t as r}from"./BasicIcon-Bzeb0Iwd.js";var i=n({__name:`IconFilter`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(n){return(i,a)=>(e(),t(r,{icon:`vuesax-linear:filter`,size:n.size,"stroke-width":n.strokeWidth,color:n.color},null,8,[`size`,`stroke-width`,`color`]))}});export{i as t};
import{M as e,u as t,v as n}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{t as r}from"./BasicIcon-ZYxwF6Qc.js";var i=n({__name:`IconFilter`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(n){return(i,a)=>(e(),t(r,{icon:`vuesax-linear:filter`,size:n.size,"stroke-width":n.strokeWidth,color:n.color},null,8,[`size`,`stroke-width`,`color`]))}});export{i as t};
@@ -1 +1 @@
import{M as e,u as t,v as n}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{t as r}from"./BasicIcon-Bzeb0Iwd.js";var i=n({__name:`IconMoreVertical`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(n){return(i,a)=>(e(),t(r,{icon:`vuesax-linear:more`,size:n.size,"stroke-width":n.strokeWidth,color:n.color},null,8,[`size`,`stroke-width`,`color`]))}});export{i as t};
import{M as e,u as t,v as n}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{t as r}from"./BasicIcon-ZYxwF6Qc.js";var i=n({__name:`IconMoreVertical`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(n){return(i,a)=>(e(),t(r,{icon:`vuesax-linear:more`,size:n.size,"stroke-width":n.strokeWidth,color:n.color},null,8,[`size`,`stroke-width`,`color`]))}});export{i as t};
@@ -1 +1 @@
import{M as e,u as t,v as n}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{t as r}from"./BasicIcon-Bzeb0Iwd.js";var i=n({__name:`IconPhone`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(n){return(i,a)=>(e(),t(r,{icon:`vuesax-linear:call`,size:n.size,"stroke-width":n.strokeWidth,color:n.color},null,8,[`size`,`stroke-width`,`color`]))}});export{i as t};
import{M as e,u as t,v as n}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{t as r}from"./BasicIcon-ZYxwF6Qc.js";var i=n({__name:`IconPhone`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(n){return(i,a)=>(e(),t(r,{icon:`vuesax-linear:call`,size:n.size,"stroke-width":n.strokeWidth,color:n.color},null,8,[`size`,`stroke-width`,`color`]))}});export{i as t};
@@ -1 +1 @@
import{M as e,u as t,v as n}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{t as r}from"./BasicIcon-Bzeb0Iwd.js";var i=n({__name:`IconProgressClock`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(n){return(i,a)=>(e(),t(r,{icon:`vuesax-linear:clock`,size:n.size,"stroke-width":n.strokeWidth,color:n.color},null,8,[`size`,`stroke-width`,`color`]))}});export{i as t};
import{M as e,u as t,v as n}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{t as r}from"./BasicIcon-ZYxwF6Qc.js";var i=n({__name:`IconProgressClock`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(n){return(i,a)=>(e(),t(r,{icon:`vuesax-linear:clock`,size:n.size,"stroke-width":n.strokeWidth,color:n.color},null,8,[`size`,`stroke-width`,`color`]))}});export{i as t};
@@ -1 +1 @@
import{M as e,u as t,v as n}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{t as r}from"./BasicIcon-Bzeb0Iwd.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};
import{M as e,u as t,v as n}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{t as r}from"./BasicIcon-ZYxwF6Qc.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 @@
import{M as e,u as t,v as n}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{t as r}from"./BasicIcon-Bzeb0Iwd.js";var i=n({__name:`IconShoppingBag`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(n){return(i,a)=>(e(),t(r,{icon:`vuesax-linear:shopping-bag`,size:n.size,"stroke-width":n.strokeWidth,color:n.color},null,8,[`size`,`stroke-width`,`color`]))}});export{i as t};
import{M as e,u as t,v as n}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{t as r}from"./BasicIcon-ZYxwF6Qc.js";var i=n({__name:`IconShoppingBag`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(n){return(i,a)=>(e(),t(r,{icon:`vuesax-linear:shopping-bag`,size:n.size,"stroke-width":n.strokeWidth,color:n.color},null,8,[`size`,`stroke-width`,`color`]))}});export{i as t};
@@ -1 +1 @@
import{M as e,Pt as t,_ as n,c as r,f as i,i as a,k as o,l as s,nt as c,t as l,u,ut as d,v as f}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{i as p,o as m}from"./format-C72AoJ2H.js";import{k as h}from"./index-C40q_iVH.js";import{t as g}from"./PageHeader-CNHiRdZv.js";import{t as _}from"./PageSkeleton-DYdjm4l9.js";import{t as v}from"./catalogRequests-DmXxqAPC.js";import{t as y}from"./SimpleStatusTimeline-BYp_nmbJ.js";var b=[{id:`registered`,label:`درخواست کالیته ثبت شد`},{id:`ready_to_ship`,label:`آماده ارسال`},{id:`shipped`,label:`ارسال شد`},{id:`returned`,label:`تحویل گرفته شد`}],x={new:0,approved:0,ready_to_ship:1,delivered:2,returned:3,cancelled:0};function S(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 C(e){return x[S(e)]??0}function w(e){let t=S(e),n=p(e.createdAt),r=e.updatedAt?p(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}}var T={class:`page latest-status-page`},E={class:`page__scroll page__scroll--with-nav body`},D={class:`summary-card`},O={class:`summary-card__value`},k={class:`summary-card__meta`},A=l(f({__name:`LatestCatalogRequestStatusView`,setup(l){let f=h(),p=v(),x=c(!0),S=r(()=>p.sorted.length?p.sorted[0]:null),A=r(()=>S.value?C(S.value):0),j=r(()=>S.value?w(S.value):{});o(async()=>{x.value=!0,await p.hydrate(),x.value=!1});function M(){f.push(`/categories`)}return(r,o)=>(e(),i(`div`,T,[n(g,{class:`mobile-only`,title:`آخرین درخواست کالیته`,"show-back":``,centered:``,onBack:o[0]||=e=>d(f).push(`/`)}),o[3]||=s(`header`,{class:`desktop-page__head desktop-only`},[s(`div`,null,[s(`h1`,{class:`desktop-page__title`},`آخرین درخواست کالیته`),s(`p`,{class:`desktop-page__subtitle`},`پیگیری مراحل آخرین درخواست کالیته`)])],-1),s(`div`,E,[x.value?(e(),u(_,{key:0})):S.value?(e(),i(a,{key:1},[s(`article`,D,[o[2]||=s(`p`,{class:`summary-card__label`},`درخواست`,-1),s(`strong`,O,t(S.value.id.slice(-8)),1),s(`p`,k,t(d(m)(S.value.items.length))+` قلم کالیته `,1)]),n(y,{steps:d(b),"current-index":A.value,timestamps:j.value},null,8,[`steps`,`current-index`,`timestamps`]),s(`button`,{type:`button`,class:`detail-link`,onClick:o[1]||=e=>d(f).push(`/catalog-requests`)},` مشاهده همه درخواست‌ها `)],64)):(e(),i(`button`,{key:2,type:`button`,class:`empty-cta`,onClick:M},` شما هیچ کالیته ای درخواست نکرده اید، جهت درخواست کالیته و مشاهده فیزیکی پارچه ها کلیک کنید `))])]))}}),[[`__scopeId`,`data-v-e09a36c6`]]);export{A as default};
import{M as e,Pt as t,_ as n,c as r,f as i,i as a,k as o,l as s,nt as c,t as l,u,ut as d,v as f}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{i as p,o as m}from"./format-C72AoJ2H.js";import{k as h}from"./index-B6i70ocE.js";import{t as g}from"./PageHeader-DQ0BKTvM.js";import{t as _}from"./PageSkeleton-DYdjm4l9.js";import{t as v}from"./catalogRequests-DmXxqAPC.js";import{t as y}from"./SimpleStatusTimeline-BYp_nmbJ.js";var b=[{id:`registered`,label:`درخواست کالیته ثبت شد`},{id:`ready_to_ship`,label:`آماده ارسال`},{id:`shipped`,label:`ارسال شد`},{id:`returned`,label:`تحویل گرفته شد`}],x={new:0,approved:0,ready_to_ship:1,delivered:2,returned:3,cancelled:0};function S(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 C(e){return x[S(e)]??0}function w(e){let t=S(e),n=p(e.createdAt),r=e.updatedAt?p(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}}var T={class:`page latest-status-page`},E={class:`page__scroll page__scroll--with-nav body`},D={class:`summary-card`},O={class:`summary-card__value`},k={class:`summary-card__meta`},A=l(f({__name:`LatestCatalogRequestStatusView`,setup(l){let f=h(),p=v(),x=c(!0),S=r(()=>p.sorted.length?p.sorted[0]:null),A=r(()=>S.value?C(S.value):0),j=r(()=>S.value?w(S.value):{});o(async()=>{x.value=!0,await p.hydrate(),x.value=!1});function M(){f.push(`/categories`)}return(r,o)=>(e(),i(`div`,T,[n(g,{class:`mobile-only`,title:`آخرین درخواست کالیته`,"show-back":``,centered:``,onBack:o[0]||=e=>d(f).push(`/`)}),o[3]||=s(`header`,{class:`desktop-page__head desktop-only`},[s(`div`,null,[s(`h1`,{class:`desktop-page__title`},`آخرین درخواست کالیته`),s(`p`,{class:`desktop-page__subtitle`},`پیگیری مراحل آخرین درخواست کالیته`)])],-1),s(`div`,E,[x.value?(e(),u(_,{key:0})):S.value?(e(),i(a,{key:1},[s(`article`,D,[o[2]||=s(`p`,{class:`summary-card__label`},`درخواست`,-1),s(`strong`,O,t(S.value.id.slice(-8)),1),s(`p`,k,t(d(m)(S.value.items.length))+` قلم کالیته `,1)]),n(y,{steps:d(b),"current-index":A.value,timestamps:j.value},null,8,[`steps`,`current-index`,`timestamps`]),s(`button`,{type:`button`,class:`detail-link`,onClick:o[1]||=e=>d(f).push(`/catalog-requests`)},` مشاهده همه درخواست‌ها `)],64)):(e(),i(`button`,{key:2,type:`button`,class:`empty-cta`,onClick:M},` شما هیچ کالیته ای درخواست نکرده اید، جهت درخواست کالیته و مشاهده فیزیکی پارچه ها کلیک کنید `))])]))}}),[[`__scopeId`,`data-v-e09a36c6`]]);export{A as default};
@@ -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{c as g,d as _,k as v}from"./index-C40q_iVH.js";import{t as y}from"./PageHeader-CNHiRdZv.js";import{t as b}from"./PageSkeleton-DYdjm4l9.js";import{t as x}from"./SimpleStatusTimeline-BYp_nmbJ.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=v(),m=_(),C=g(),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-C72AoJ2H.js";import{c as g,d as _,k as v}from"./index-B6i70ocE.js";import{t as y}from"./PageHeader-DQ0BKTvM.js";import{t as b}from"./PageSkeleton-DYdjm4l9.js";import{t as x}from"./SimpleStatusTimeline-BYp_nmbJ.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=v(),m=_(),C=g(),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-Bzeb0Iwd.js";import{d as _,l as v}from"./format-C72AoJ2H.js";import{a as y}from"./validation-Duyyve7l.js";import{c as b,k as x}from"./index-C40q_iVH.js";import{t as S}from"./AuthShell-D_JIc5Qr.js";import{t as C}from"./FormErrorBanner-Ud1D04xf.js";import{t as w}from"./IconPhone-DymoL1t0.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=x(),j=b(),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{d as g}from"./BasicIcon-ZYxwF6Qc.js";import{d as _,l as v}from"./format-C72AoJ2H.js";import{a as y}from"./validation-Duyyve7l.js";import{c as b,k as x}from"./index-B6i70ocE.js";import{t as S}from"./AuthShell-BG0maAl8.js";import{t as C}from"./FormErrorBanner-Ud1D04xf.js";import{t as w}from"./IconPhone-WKtLt9iS.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=x(),j=b(),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};
File diff suppressed because one or more lines are too long
@@ -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{O as p,d as m,k as h,n as g}from"./index-C40q_iVH.js";import{t as _}from"./PageHeader-CNHiRdZv.js";import{t as v}from"./useGoBack-BMLMruUd.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=p(),T=h(),{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-C72AoJ2H.js";import{O as p,d as m,k as h,n as g}from"./index-B6i70ocE.js";import{t as _}from"./PageHeader-DQ0BKTvM.js";import{t as v}from"./useGoBack-_x0UQRe3.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=p(),T=h(),{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-Bzeb0Iwd.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{O as w,c as T,h as E,k as ee}from"./index-C40q_iVH.js";import{t as te}from"./AuthShell-D_JIc5Qr.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=w(),I=ee(),L=T(),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?E():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{d as y}from"./BasicIcon-ZYxwF6Qc.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{O as w,c as T,h as E,k as ee}from"./index-B6i70ocE.js";import{t as te}from"./AuthShell-BG0maAl8.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=w(),I=ee(),L=T(),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?E():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};
@@ -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{i as d}from"./index-C40q_iVH.js";import{t as f}from"./IconChevronBack-CDeN0Cbu.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{i as d}from"./index-B6i70ocE.js";import{t as f}from"./IconChevronBack-nR86oNaE.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 +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-Bzeb0Iwd.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};
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{d as g}from"./BasicIcon-ZYxwF6Qc.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};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
import{t as e}from"./CheckListView-CY_LoCUs.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-CV7BHx2m.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 @@
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-Bzeb0Iwd.js";import{u as v}from"./dist-U-AqZ6hP.js";import{a as y,c as b,d as x,k as S,n as C}from"./index-C40q_iVH.js";import{t as w}from"./ProfileSubpageLayout-CxIRBosu.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=S(),B=b(),V=x(),H=y(),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-ZYxwF6Qc.js";import{u as v}from"./dist-U-AqZ6hP.js";import{a as y,c as b,d as x,k as S,n as C}from"./index-B6i70ocE.js";import{t as w}from"./ProfileSubpageLayout-DEIlfgki.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=S(),B=b(),V=x(),H=y(),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};
File diff suppressed because one or more lines are too long
@@ -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-Bzeb0Iwd.js";import{i as v}from"./format-C72AoJ2H.js";import{k as y,n as b,u as x}from"./index-C40q_iVH.js";import{t as S}from"./EmptyState-D72g65G-.js";import{t as C}from"./ProfileSubpageLayout-CxIRBosu.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=x(),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(b,{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(b,{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-ZYxwF6Qc.js";import{i as v}from"./format-C72AoJ2H.js";import{k as y,n as b,u as x}from"./index-B6i70ocE.js";import{t as S}from"./EmptyState-DfV1toiv.js";import{t as C}from"./ProfileSubpageLayout-DEIlfgki.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=x(),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(b,{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(b,{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 @@
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{n as d}from"./index-C40q_iVH.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-CxIRBosu.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{n as d}from"./index-B6i70ocE.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-DEIlfgki.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};
@@ -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{k as u}from"./index-C40q_iVH.js";import{t as d}from"./IconChevronBack-CDeN0Cbu.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{k as u}from"./index-B6i70ocE.js";import{t as d}from"./IconChevronBack-nR86oNaE.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};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
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{k as p}from"./index-C40q_iVH.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{k as p}from"./index-B6i70ocE.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 +1 @@
import{M as e,f as t,l as n,u as r,v as i}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{t as a}from"./BasicIcon-Bzeb0Iwd.js";import{E as o,S as s,_ as c}from"./index-C40q_iVH.js";import{n as l,t as u}from"./IconDiamond-Dn-fHb3u.js";import{t as d}from"./IconShoppingBag-BHoZiOex.js";var f=i({__name:`IconBolt`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(t){return(n,i)=>(e(),r(a,{icon:`vuesax-linear:flash`,size:t.size,"stroke-width":t.strokeWidth,color:t.color},null,8,[`size`,`stroke-width`,`color`]))}}),p=i({__name:`IconFeather`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(t){return(n,i)=>(e(),r(a,{icon:`vuesax-linear:pen-add`,size:t.size,"stroke-width":t.strokeWidth,color:t.color},null,8,[`size`,`stroke-width`,`color`]))}}),m=i({__name:`IconIdCard`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(t){return(n,i)=>(e(),r(a,{icon:`vuesax-linear:personalcard`,size:t.size,"stroke-width":t.strokeWidth,color:t.color},null,8,[`size`,`stroke-width`,`color`]))}}),h=[`width`,`height`],g=[`stroke`,`stroke-width`],_=[`stroke`,`stroke-width`],v=i({__name:`IconShirt`,props:{size:{default:24},color:{default:`currentColor`},strokeWidth:{default:1.5}},setup(r){return(i,a)=>(e(),t(`svg`,{width:r.size,height:r.size,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`},[n(`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:r.color,"stroke-width":r.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,g),n(`path`,{d:`M12 7.75V18.5`,stroke:r.color,"stroke-width":r.strokeWidth,"stroke-linecap":`round`},null,8,_)],8,h))}}),y=[`width`,`height`],b=[`stroke`,`stroke-width`],x=[`stroke`,`stroke-width`],S=[`stroke`,`stroke-width`],C=[`stroke`,`stroke-width`],w=i({__name:`IconSuit`,props:{size:{default:24},color:{default:`currentColor`},strokeWidth:{default:1.5}},setup(r){return(i,a)=>(e(),t(`svg`,{width:r.size,height:r.size,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`},[n(`path`,{d:`M7.5 5.5h9l2 3v10.5a1 1 0 0 1-1 1h-11a1 1 0 0 1-1-1V8.5l2-3Z`,stroke:r.color,"stroke-width":r.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,b),n(`path`,{d:`M12 5.5v13`,stroke:r.color,"stroke-width":r.strokeWidth,"stroke-linecap":`round`},null,8,x),n(`path`,{d:`M7.5 9 12 11.75 16.5 9`,stroke:r.color,"stroke-width":r.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,S),n(`path`,{d:`M10.25 5.5V4a1.75 1.75 0 0 1 3.5 0v1.5`,stroke:r.color,"stroke-width":r.strokeWidth,"stroke-linecap":`round`},null,8,C)],8,y))}}),T=[`width`,`height`],E=[`stroke`,`stroke-width`],D=[`stroke`,`stroke-width`],O=[`stroke`,`stroke-width`],k={bolt:f,feather:p,diamond:u,grid:l,bag:d,"id-card":m,catalog:s,headset:c,home:o,shirt:v,suit:w,trousers:i({__name:`IconTrousers`,props:{size:{default:24},color:{default:`currentColor`},strokeWidth:{default:1.5}},setup(r){return(i,a)=>(e(),t(`svg`,{width:r.size,height:r.size,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`},[n(`path`,{d:`M8 4.5h8v4.25l-1.75 11H13l-1-9.5-1 9.5H7.75L6 8.75V4.5Z`,stroke:r.color,"stroke-width":r.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,E),n(`path`,{d:`M12 8.75v11`,stroke:r.color,"stroke-width":r.strokeWidth,"stroke-linecap":`round`},null,8,D),n(`path`,{d:`M8 7.25h8`,stroke:r.color,"stroke-width":r.strokeWidth,"stroke-linecap":`round`},null,8,O)],8,T))}})},A={shirt:`shirt`,suit:`suit`,trousers:`trousers`};function j(e){return A[e.id]?A[e.id]:e.icon&&k[e.icon]?e.icon:e.icon??`grid`}function M(e,t=u){return e&&k[e]||t}export{j as n,M as t};
import{M as e,f as t,l as n,u as r,v as i}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{t as a}from"./BasicIcon-ZYxwF6Qc.js";import{E as o,S as s,_ as c}from"./index-B6i70ocE.js";import{n as l,t as u}from"./IconDiamond-CL19oaiE.js";import{t as d}from"./IconShoppingBag-aynURyDF.js";var f=i({__name:`IconBolt`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(t){return(n,i)=>(e(),r(a,{icon:`vuesax-linear:flash`,size:t.size,"stroke-width":t.strokeWidth,color:t.color},null,8,[`size`,`stroke-width`,`color`]))}}),p=i({__name:`IconFeather`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(t){return(n,i)=>(e(),r(a,{icon:`vuesax-linear:pen-add`,size:t.size,"stroke-width":t.strokeWidth,color:t.color},null,8,[`size`,`stroke-width`,`color`]))}}),m=i({__name:`IconIdCard`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(t){return(n,i)=>(e(),r(a,{icon:`vuesax-linear:personalcard`,size:t.size,"stroke-width":t.strokeWidth,color:t.color},null,8,[`size`,`stroke-width`,`color`]))}}),h=[`width`,`height`],g=[`stroke`,`stroke-width`],_=[`stroke`,`stroke-width`],v=i({__name:`IconShirt`,props:{size:{default:24},color:{default:`currentColor`},strokeWidth:{default:1.5}},setup(r){return(i,a)=>(e(),t(`svg`,{width:r.size,height:r.size,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`},[n(`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:r.color,"stroke-width":r.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,g),n(`path`,{d:`M12 7.75V18.5`,stroke:r.color,"stroke-width":r.strokeWidth,"stroke-linecap":`round`},null,8,_)],8,h))}}),y=[`width`,`height`],b=[`stroke`,`stroke-width`],x=[`stroke`,`stroke-width`],S=[`stroke`,`stroke-width`],C=[`stroke`,`stroke-width`],w=i({__name:`IconSuit`,props:{size:{default:24},color:{default:`currentColor`},strokeWidth:{default:1.5}},setup(r){return(i,a)=>(e(),t(`svg`,{width:r.size,height:r.size,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`},[n(`path`,{d:`M7.5 5.5h9l2 3v10.5a1 1 0 0 1-1 1h-11a1 1 0 0 1-1-1V8.5l2-3Z`,stroke:r.color,"stroke-width":r.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,b),n(`path`,{d:`M12 5.5v13`,stroke:r.color,"stroke-width":r.strokeWidth,"stroke-linecap":`round`},null,8,x),n(`path`,{d:`M7.5 9 12 11.75 16.5 9`,stroke:r.color,"stroke-width":r.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,S),n(`path`,{d:`M10.25 5.5V4a1.75 1.75 0 0 1 3.5 0v1.5`,stroke:r.color,"stroke-width":r.strokeWidth,"stroke-linecap":`round`},null,8,C)],8,y))}}),T=[`width`,`height`],E=[`stroke`,`stroke-width`],D=[`stroke`,`stroke-width`],O=[`stroke`,`stroke-width`],k={bolt:f,feather:p,diamond:u,grid:l,bag:d,"id-card":m,catalog:s,headset:c,home:o,shirt:v,suit:w,trousers:i({__name:`IconTrousers`,props:{size:{default:24},color:{default:`currentColor`},strokeWidth:{default:1.5}},setup(r){return(i,a)=>(e(),t(`svg`,{width:r.size,height:r.size,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`},[n(`path`,{d:`M8 4.5h8v4.25l-1.75 11H13l-1-9.5-1 9.5H7.75L6 8.75V4.5Z`,stroke:r.color,"stroke-width":r.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,E),n(`path`,{d:`M12 8.75v11`,stroke:r.color,"stroke-width":r.strokeWidth,"stroke-linecap":`round`},null,8,D),n(`path`,{d:`M8 7.25h8`,stroke:r.color,"stroke-width":r.strokeWidth,"stroke-linecap":`round`},null,8,O)],8,T))}})},A={shirt:`shirt`,suit:`suit`,trousers:`trousers`};function j(e){return A[e.id]?A[e.id]:e.icon&&k[e.icon]?e.icon:e.icon??`grid`}function M(e,t=u){return e&&k[e]||t}export{j as n,M as t};
+3
View File
File diff suppressed because one or more lines are too long
-2
View File
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
import{k as e}from"./index-C40q_iVH.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{k as e}from"./index-B6i70ocE.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};
@@ -1 +1 @@
import{U as e,c as t}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{O as n,d as r,k as i}from"./index-C40q_iVH.js";import{n as a}from"./orderInvoice-B0L1Aeuk.js";function o(){let o=n(),s=i(),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{O as n,d as r,k as i}from"./index-B6i70ocE.js";import{n as a}from"./orderInvoice-B0L1Aeuk.js";function o(){let o=n(),s=i(),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};
+2 -2
View File
@@ -11,9 +11,9 @@
<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-C40q_iVH.js"></script>
<script type="module" crossorigin src="/assets/index-B6i70ocE.js"></script>
<link rel="modulepreload" crossorigin href="/assets/_plugin-vue_export-helper-1xMDlcEE.js">
<link rel="modulepreload" crossorigin href="/assets/BasicIcon-Bzeb0Iwd.js">
<link rel="modulepreload" crossorigin href="/assets/BasicIcon-ZYxwF6Qc.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">
+60 -4
View File
@@ -3,6 +3,7 @@ import { useRouter } from 'vue-router'
import { useCartStore } from '@/stores/cart'
import { useOrderStore } from '@/stores/order'
import { confirm } from '@/composables/useConfirm'
import { addressesApi, type SavedAddress } from '@/services/addresses'
export function useCartPage() {
const router = useRouter()
@@ -11,6 +12,11 @@ export function useCartPage() {
const showFullDialog = ref(false)
const submitting = ref(false)
const submitError = ref('')
const addressPickerOpen = ref(false)
const addresses = ref<SavedAddress[]>([])
const selectedAddressId = ref('')
const newAddress = ref('')
const addressBusy = ref(false)
const items = computed(() => cartStore.activeCart?.items ?? [])
const isEmpty = computed(() => items.value.length === 0)
@@ -36,7 +42,51 @@ export function useCartPage() {
* ثبت سفارش بدون انتخاب تسویه؛ قیمت‌گذاری و انتخاب روش تسویه
* بعد از بررسی مدیریت انجام می‌شود.
*/
async function submitOrder() {
function chosenAddressText(): string {
const saved = addresses.value.find((row) => row.id === selectedAddressId.value)
return (saved?.text || newAddress.value).trim()
}
async function openAddressPicker() {
submitError.value = ''
addressPickerOpen.value = true
addressBusy.value = true
try {
addresses.value = await addressesApi.list()
selectedAddressId.value =
addresses.value.find((row) => row.isDefault)?.id ?? addresses.value[0]?.id ?? ''
} catch (e) {
submitError.value = e instanceof Error ? e.message : 'دریافت آدرس‌ها ناموفق بود.'
addressPickerOpen.value = false
} finally {
addressBusy.value = false
}
}
async function confirmAddressAndOrder() {
const text = chosenAddressText()
if (text.length < 3) {
submitError.value = 'یک آدرس انتخاب کنید یا آدرس جدید بنویسید.'
return
}
addressBusy.value = true
try {
if (!selectedAddressId.value) {
const created = await addressesApi.create({ text })
selectedAddressId.value = created.id
addresses.value = await addressesApi.list()
newAddress.value = ''
}
addressPickerOpen.value = false
await submitOrder(text)
} catch (e) {
submitError.value = e instanceof Error ? e.message : 'ذخیره آدرس ناموفق بود.'
} finally {
addressBusy.value = false
}
}
async function submitOrder(shippingAddress?: string) {
if (!cartStore.activeCart || items.value.length === 0 || submitting.value) return
submitting.value = true
submitError.value = ''
@@ -46,7 +96,7 @@ export function useCartPage() {
submitError.value = 'سبد خرید خالی است یا با سرور همگام نشد.'
return
}
const order = await orderStore.submitOrder(cartStore.activeCart)
const order = await orderStore.submitOrder(cartStore.activeCart, shippingAddress)
await cartStore.hydrate()
router.replace(`/orders/${order.id}/success`)
} catch (e) {
@@ -63,12 +113,12 @@ export function useCartPage() {
showFullDialog.value = true
return
}
void submitOrder()
void openAddressPicker()
}
function proceedAnyway() {
showFullDialog.value = false
void submitOrder()
void openAddressPicker()
}
async function createNewInvoice() {
@@ -90,6 +140,12 @@ export function useCartPage() {
showFullDialog,
submitting,
submitError,
addressPickerOpen,
addresses,
selectedAddressId,
newAddress,
addressBusy,
confirmAddressAndOrder,
removeItem,
proceedToCheckout,
proceedAnyway,
+7 -2
View File
@@ -119,7 +119,7 @@ export const useOrderStore = defineStore('order', () => {
* روش تسویه را انتخاب می‌کند.
* اقلام همه شرکت‌ها در یک فاکتور واحد ثبت می‌شوند.
*/
async function submitOrder(cart: Cart): Promise<Order> {
async function submitOrder(cart: Cart, shippingAddress?: string): Promise<Order> {
if (!cart.items.length) {
throw new Error('سبد خرید خالی است.')
}
@@ -134,12 +134,17 @@ export const useOrderStore = defineStore('order', () => {
throw new Error('شرکت سبد مشخص نیست. سبد را خالی کنید و دوباره اضافه کنید.')
}
const addressLine = shippingAddress?.trim()
? `آدرس ارسال: ${shippingAddress.trim()}`
: ''
const notes = [addressLine, cart.notes?.trim()].filter(Boolean).join('\n')
try {
const order = await apiRequest<Order>('/orders', {
method: 'POST',
body: {
companyId: companyIds[0],
notes: cart.notes,
notes: notes || undefined,
items: cart.items.map((item) => ({
productId: item.productId,
meterage: Number(item.meterage),
+158
View File
@@ -18,6 +18,12 @@ const {
showFullDialog,
submitting,
submitError,
addressPickerOpen,
addresses,
selectedAddressId,
newAddress,
addressBusy,
confirmAddressAndOrder,
removeItem,
proceedToCheckout,
proceedAnyway,
@@ -65,6 +71,49 @@ function goToOrdering() {
@back="goToOrdering"
/>
<div
v-if="addressPickerOpen"
class="dialog-overlay"
@click.self="addressPickerOpen = false"
>
<div class="dialog card">
<h3>آدرس ارسال</h3>
<p class="text-sm">یکی از آدرس‌های ذخیره‌شده را انتخاب کنید، یا آدرس تازه بنویسید.</p>
<ul v-if="addresses.length" class="address-pick">
<li v-for="row in addresses" :key="row.id">
<label class="address-card" :class="{ 'is-on': selectedAddressId === row.id && !newAddress.trim() }">
<input v-model="selectedAddressId" type="radio" :value="row.id" @change="newAddress = ''" />
<span class="address-card__body">
<span class="address-card__title">
<strong>{{ row.label || 'آدرس' }}</strong>
<em v-if="row.isDefault">پیش‌فرض</em>
</span>
<small>{{ row.text }}</small>
</span>
</label>
</li>
</ul>
<label class="address-new" :class="{ 'is-on': Boolean(newAddress.trim()) }">
<span>آدرس جدید</span>
<textarea
v-model="newAddress"
rows="3"
maxlength="500"
placeholder="خیابان، پلاک، واحد…"
@input="selectedAddressId = ''"
/>
</label>
<div class="dialog-actions">
<BaseButton variant="outline" :disabled="addressBusy" @click="addressPickerOpen = false">
انصراف
</BaseButton>
<BaseButton :loading="addressBusy || submitting" @click="confirmAddressAndOrder">
ثبت سفارش
</BaseButton>
</div>
</div>
</div>
<div v-if="showFullDialog" class="dialog-overlay" @click.self="showFullDialog = false">
<div class="dialog card">
<h3>سقف متراژ تکمیل شد</h3>
@@ -99,6 +148,115 @@ function goToOrdering() {
margin: 0 0 12px;
}
.address-pick {
list-style: none;
margin: 12px 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 8px;
min-width: 0;
}
.address-card {
display: flex;
align-items: flex-start;
gap: 10px;
min-width: 0;
padding: 10px 12px;
border: 1px solid #e7e5e4;
border-radius: 14px;
background: #fafaf9;
}
.address-card.is-on {
border-color: #1e293b;
background: #f8fafc;
}
.address-card input {
margin-top: 4px;
flex-shrink: 0;
}
.address-card__body {
display: flex;
flex-direction: column;
gap: 4px;
min-width: 0;
flex: 1;
}
.address-card__title {
display: flex;
align-items: center;
gap: 8px;
min-width: 0;
}
.address-card__title strong {
min-width: 0;
overflow-wrap: anywhere;
}
.address-card__title em {
flex-shrink: 0;
padding: 1px 8px;
border-radius: 999px;
background: #1e293b;
color: #fff;
font-style: normal;
font-size: 0.7rem;
}
.address-card small {
display: block;
color: var(--color-text-muted);
line-height: 1.7;
overflow-wrap: anywhere;
}
.address-new {
display: flex;
flex-direction: column;
gap: 8px;
margin-top: 4px;
padding: 12px;
border: 1px dashed #cbd5e1;
border-radius: 16px;
background: #f8fafc;
font-size: 0.875rem;
}
.address-new.is-on {
border-style: solid;
border-color: #1e293b;
background: #fff;
}
.address-new span {
font-weight: 700;
color: #1e293b;
}
.address-new textarea {
width: 100%;
box-sizing: border-box;
min-height: 88px;
padding: 10px 12px;
border: 1px solid #e2e8f0;
border-radius: 12px;
background: #fff;
font: inherit;
line-height: 1.7;
resize: vertical;
}
.address-new textarea:focus {
outline: none;
border-color: #1e293b;
}
@media (min-width: 768px) {
.cart-view {
flex: 1 0 auto;
+24 -11
View File
@@ -93,7 +93,7 @@ const emit = defineEmits<{
<span>حداکثر مجاز</span>
<strong>{{ formatMeterage(maxMeterage) }}</strong>
</div>
<div class="cart-mobile-summary__row">
<div class="cart-mobile-summary__row cart-mobile-summary__row--remain">
<span>باقی مانده</span>
<strong>{{ formatMeterage(remainingCapacity) }}</strong>
</div>
@@ -129,12 +129,15 @@ const emit = defineEmits<{
grid-template-columns: 40px 1fr 40px;
align-items: center;
margin-bottom: 12px;
padding-inline: 8px;
}
.cart-mobile-page__hint {
margin: 0 0 10px;
margin: 0 0 12px;
padding: 0 4px;
font-size: 0.75rem;
line-height: 1.6;
line-height: 1.7;
text-align: center;
color: var(--color-text-muted);
}
@@ -171,6 +174,7 @@ const emit = defineEmits<{
display: flex;
flex-direction: column;
min-height: 0;
padding-inline: 16px;
}
.cart-mobile-page__meta {
@@ -250,19 +254,23 @@ const emit = defineEmits<{
.cart-mobile-page__footer {
flex-shrink: 0;
margin: 0;
padding: 12px 0 calc(12px + env(safe-area-inset-bottom, 0));
position: absolute;
bottom: 0;
right: 0;
left: 0;
padding: 14px 16px calc(16px + env(safe-area-inset-bottom, 0));
border-top: 1px solid var(--color-border);
background: var(--color-bg);
background: #fff;
box-shadow: 0 -8px 24px rgba(15, 23, 42, 0.06);
}
.cart-mobile-summary {
margin-bottom: 12px;
padding: 14px 16px;
background: var(--color-elevated);
border: 1px solid var(--color-border);
border-radius: var(--radius-md);
padding: 4px 14px;
background: #f8fafc;
border: 1px solid #e8edf3;
border-radius: 16px;
color: var(--color-text);
box-shadow: var(--shadow-sm);
}
.cart-mobile-summary__row {
@@ -285,6 +293,11 @@ const emit = defineEmits<{
}
.cart-mobile-summary__row:not(:last-child) {
border-bottom: 1px solid var(--color-border);
border-bottom: 1px solid #e8edf3;
}
.cart-mobile-summary__row--remain strong {
color: #1e293b;
font-weight: 800;
}
</style>
@@ -65,6 +65,7 @@ const customerQuickActions: QuickAction[] = [
{ id: 'products', label: 'محصولات', to: '/products', icon: 'vuesax-linear:box-search' },
{ id: 'favorites', label: 'علاقه‌مندی‌ها', to: '/favorites', useHeart: true },
{ id: 'order-status', label: 'وضعیت سفارش', to: '/orders/latest-status', icon: 'vuesax-linear:timer-1' },
{ id: 'addresses', label: 'آدرس‌ها', to: '/profile/addresses', icon: 'vuesax-linear:location' },
{ id: 'catalog', label: 'درخواست کالیته', to: '/categories', icon: 'vuesax-linear:box-1' },
]
@@ -151,10 +152,7 @@ onMounted(async () => {
<template>
<div class="page profile-page">
<div class="page__scroll page__scroll--with-nav profile-scroll">
<header class="hero">
<div class="hero__pin">
<div class="hero__top mobile-only">
<div class="hero__top mobile-only">
<button
type="button"
class="icon-btn"
@@ -180,13 +178,15 @@ onMounted(async () => {
</span>
</button>
</div>
<div class="page__scroll page__scroll--with-nav profile-scroll">
<header class="hero">
<div class="hero__rest">
<UserAvatar
class="hero__avatar"
:src="auth.user?.avatarUrl"
:initials="displayName.charAt(0)"
:size="84"
/>
</div>
<div class="hero__meta">
<h2>{{ displayName }}</h2>
<p v-if="auth.isAgent">{{ codeLabel }}: {{ code }}</p>
@@ -200,6 +200,7 @@ onMounted(async () => {
سطح: {{ levelLabel }}
</span>
</div>
</div>
<div class="hero__desk-actions desktop-only-flex">
<button type="button" class="hero__desk-btn" @click="router.push('/profile/edit')">
ویرایش اطلاعات
@@ -386,29 +387,28 @@ onMounted(async () => {
);
}
.hero__pin {
position: sticky;
top: 0;
z-index: 3;
padding: 12px var(--page-padding) 10px;
background: linear-gradient(
145deg,
var(--color-primary) 0%,
color-mix(in srgb, var(--color-primary) 78%, #0a1f18) 100%
);
}
.hero__top {
position: relative;
z-index: 4;
flex-shrink: 0;
display: grid;
grid-template-columns: 40px 1fr 40px;
align-items: center;
margin-bottom: 12px;
padding: 12px var(--page-padding);
background: var(--color-primary);
color: #fff;
}
.hero__rest {
padding: 4px var(--page-padding) 0;
}
.hero__top h1 {
margin: 0;
font-size: 1rem;
font-weight: 700;
color: #fff;
text-align: center;
}
.icon-btn {
@@ -876,11 +876,12 @@ onMounted(async () => {
overflow: hidden;
}
.hero__pin {
position: static;
display: block;
padding: 0;
background: transparent;
.hero__top {
display: none;
}
.hero__rest {
display: contents;
}
.hero__avatar {