1 line
7.4 KiB
JavaScript
1 line
7.4 KiB
JavaScript
import{At as e,D as t,F as ee,G as n,K as r,M as i,Pt as a,U as o,_ as s,d as c,f as l,g as u,i as d,k as te,l as f,nt as p,o as m,t as ne,u as h,ut as g,v as _}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{n as re,s as v,t as y,u as b}from"./BasicIcon-ba1FsUKx.js";import{n as ie}from"./dist-Bc4P4ngC.js";import{t as x}from"./http-CU_N-R2R.js";import{S as ae,r as S,t as oe}from"./index-BSpFi5xB.js";import{t as C}from"./addresses-tV-zgZYG.js";import{t as se}from"./IconTrash-v0i8XrOh.js";import{t as ce}from"./ProfileSubpageLayout-CBTu0mQq.js";var w=_({__name:`IconMapPin`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,ee)=>(i(),h(y,{icon:`vuesax-linear:location`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),T=_({__name:`IconVerified`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,ee)=>(i(),h(y,{icon:`vuesax-linear:verify`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),le={class:`addresses-page`},ue={class:`addresses-page__toolbar`},de={key:0,class:`addr-error`,role:`alert`},fe={key:1,class:`addr-muted`},pe={key:2,class:`addr-list`},E={class:`addr-card__main`},D={class:`addr-card__icon`,"aria-hidden":`true`},O={class:`addr-card__body`},k={class:`addr-card__head`},A={key:0,class:`addr-default-badge`},j={class:`addr-card__label`},M={class:`addr-card__text`},N={class:`addr-card__actions`},P=[`onClick`],F=[`onClick`],I={key:3,class:`addr-empty`},L={class:`addr-add-sheet`},R={class:`addr-field`},z={class:`addr-field`},B={key:0,class:`addr-error`,role:`alert`},me={class:`dialog card addr-add-modal`},he={class:`addr-field`},ge={class:`addr-field`},_e={key:0,class:`addr-error`,role:`alert`},ve={class:`dialog-actions addr-add-modal__actions`},V=ne(_({__name:`AddressesView`,setup(ne){let _=ie(`(min-width: 768px)`),y=oe(),V=p([]),H=p(``),U=p(``),W=p(``),G=p(``),K=p(!0),q=p(!1),J=p(!1);async function ye(){K.value=!0,W.value=``;try{V.value=await C.list()}catch(e){W.value=e instanceof x||e instanceof Error?e.message:`دریافت آدرسها ناموفق بود.`}finally{K.value=!1}}te(ye);function Y(){H.value=``,U.value=``,G.value=``}function X(){Y(),J.value=!0}function Z(){q.value||(J.value=!1,Y())}function Q(e){e.key===`Escape`&&J.value&&Z()}o(J,e=>{document.body.style.overflow=e?`hidden`:``,e?window.addEventListener(`keydown`,Q):window.removeEventListener(`keydown`,Q)}),t(()=>{document.body.style.overflow=``,window.removeEventListener(`keydown`,Q)});async function $(){let e=H.value.trim();if(e.length<3||q.value){G.value=`آدرس را کاملتر بنویسید.`;return}q.value=!0,G.value=``;try{await C.create({text:e,label:U.value.trim()||void 0}),V.value=await C.list(),Z(),y.show(`آدرس با موفقیت ثبت شد.`,{tone:`success`})}catch(e){G.value=e instanceof x||e instanceof Error?e.message:`ذخیره آدرس ناموفق بود.`}finally{q.value=!1}}async function be(e){W.value=``;try{V.value=await C.makeDefault(e),y.show(`آدرس پیشفرض بهروزرسانی شد.`,{tone:`success`})}catch(e){W.value=e instanceof Error?e.message:`تغییر آدرس پیشفرض ناموفق بود.`}}async function xe(e){W.value=``;try{V.value=await C.remove(e),y.show(`آدرس حذف شد.`,{tone:`success`})}catch(e){W.value=e instanceof Error?e.message:`حذف آدرس ناموفق بود.`}}return(t,o)=>(i(),l(`div`,le,[s(ce,{title:`آدرسها`,subtitle:`برای ارسال کالیته از آدرس پیشفرض استفاده میشود`},{default:n(()=>[f(`div`,ue,[o[5]||=f(`p`,{class:`addresses-page__hint`},`آدرسهای محل فعالیت برای ارسال کالیته`,-1),s(S,{class:`addresses-page__new-btn`,size:`sm`,onClick:X},{default:n(()=>[s(ae,{size:18}),o[4]||=u(` آدرس جدید `,-1)]),_:1})]),W.value?(i(),l(`p`,de,a(W.value),1)):c(``,!0),K.value?(i(),l(`p`,fe,`در حال دریافت…`)):V.value.length?(i(),l(`ul`,pe,[(i(!0),l(d,null,ee(V.value,t=>(i(),l(`li`,{key:t.id,class:e([`addr-card`,{"addr-card--default":t.isDefault}])},[f(`div`,E,[f(`div`,D,[s(w,{size:20})]),f(`div`,O,[f(`div`,k,[t.isDefault?(i(),l(`span`,A,[s(T,{size:16}),o[6]||=u(` پیشفرض ارسال `,-1)])):c(``,!0),f(`strong`,j,a(t.label||`آدرس`),1)]),f(`p`,M,a(t.text),1)])]),f(`div`,N,[t.isDefault?c(``,!0):(i(),l(`button`,{key:0,type:`button`,class:`addr-icon-btn`,"aria-label":`انتخاب بهعنوان آدرس پیشفرض`,title:`پیشفرض`,onClick:e=>be(t.id)},[s(T,{size:20})],8,P)),f(`button`,{type:`button`,class:`addr-icon-btn addr-icon-btn--danger`,"aria-label":`حذف آدرس`,title:`حذف`,onClick:e=>xe(t.id)},[s(se,{size:20})],8,F)])],2))),128))])):(i(),l(`div`,I,[s(w,{size:40,class:`addr-empty__icon`}),o[8]||=f(`p`,{class:`addr-muted`},`هنوز آدرسی ثبت نشده است.`,-1),s(S,{size:`sm`,variant:`outline`,onClick:X},{default:n(()=>[...o[7]||=[u(`افزودن اولین آدرس`,-1)]]),_:1})]))]),_:1}),(i(),h(m,{to:`body`},[s(re,{name:`addr-sheet`},{default:n(()=>[J.value&&!g(_)?(i(),l(`div`,{key:0,class:`addr-add-panel`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`addr-add-title-mobile`,onClick:b(Z,[`self`])},[f(`div`,L,[o[13]||=f(`div`,{class:`addr-add-sheet__handle`,"aria-hidden":`true`},null,-1),f(`header`,{class:`addr-add-sheet__head`},[o[9]||=f(`h2`,{id:`addr-add-title-mobile`},`آدرس جدید`,-1),f(`button`,{type:`button`,class:`addr-add-sheet__close`,"aria-label":`بستن`,onClick:Z},` × `)]),f(`form`,{class:`addr-form`,onSubmit:b($,[`prevent`])},[f(`label`,R,[o[10]||=f(`span`,null,`عنوان (اختیاری)`,-1),r(f(`input`,{"onUpdate:modelValue":o[0]||=e=>U.value=e,type:`text`,maxlength:`40`,placeholder:`مثلاً فروشگاه`},null,512),[[v,U.value]])]),f(`label`,z,[o[11]||=f(`span`,null,`آدرس`,-1),r(f(`textarea`,{"onUpdate:modelValue":o[1]||=e=>H.value=e,rows:`3`,maxlength:`500`,placeholder:`آدرس کامل محل فعالیت`},null,512),[[v,H.value]])]),G.value?(i(),l(`p`,B,a(G.value),1)):c(``,!0),s(S,{type:`submit`,class:`addr-form__submit`,loading:q.value},{default:n(()=>[...o[12]||=[u(` افزودن آدرس `,-1)]]),_:1},8,[`loading`])],32)])])):c(``,!0)]),_:1})])),(i(),h(m,{to:`body`},[J.value&&g(_)?(i(),l(`div`,{key:0,class:`dialog-overlay addr-add-overlay`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`addr-add-title-desktop`,onClick:b(Z,[`self`])},[f(`div`,me,[o[18]||=f(`h2`,{id:`addr-add-title-desktop`,class:`addr-add-modal__title`},`آدرس جدید`,-1),o[19]||=f(`p`,{class:`addr-add-modal__hint`},`آدرس کامل محل فعالیت را وارد کنید.`,-1),f(`form`,{class:`addr-form`,onSubmit:b($,[`prevent`])},[f(`label`,he,[o[14]||=f(`span`,null,`عنوان (اختیاری)`,-1),r(f(`input`,{"onUpdate:modelValue":o[2]||=e=>U.value=e,type:`text`,maxlength:`40`,placeholder:`مثلاً فروشگاه`},null,512),[[v,U.value]])]),f(`label`,ge,[o[15]||=f(`span`,null,`آدرس`,-1),r(f(`textarea`,{"onUpdate:modelValue":o[3]||=e=>H.value=e,rows:`3`,maxlength:`500`,placeholder:`آدرس کامل محل فعالیت`},null,512),[[v,H.value]])]),G.value?(i(),l(`p`,_e,a(G.value),1)):c(``,!0),f(`div`,ve,[s(S,{type:`button`,variant:`outline`,disabled:q.value,onClick:Z},{default:n(()=>[...o[16]||=[u(` انصراف `,-1)]]),_:1},8,[`disabled`]),s(S,{type:`submit`,loading:q.value},{default:n(()=>[...o[17]||=[u(`افزودن آدرس`,-1)]]),_:1},8,[`loading`])])],32)])])):c(``,!0)]))]))}}),[[`__scopeId`,`data-v-c10ac267`]]);export{V as default}; |