2 lines
10 KiB
JavaScript
2 lines
10 KiB
JavaScript
import{d as N,u as oe,o as ae,a as Z,b as a,c as l,e as n,n as x,F as O,r as X,f as B,g as f,h as $,i as L,_ as U,t as F,j as le,k as ie,l as re,w as ce,m as t,p as ue,q as _,I as M,s as de,v as ne,x as H,y as _e,z as P,A as ve,B as ee,C as me,D as E,L as J,E as ge}from"./index-bXlTbVTS.js";import{R as he}from"./RateStrip-BDI54nLA.js";import{S as te}from"./SectionHead-CORorW5_.js";import{u as pe}from"./filtersStore-CWHhT9BO.js";import{u as fe}from"./useReveal-1j4deG5p.js";import{P as ye}from"./index---5KSPeS.js";import"./filters-OJMKQzcb.js";const ke={key:0,class:"showcase"},be=["onClick"],we=["src"],Ce={key:0,class:"showcase__dots"},Se=["aria-label","onClick"],se=.18,Ie=6,$e=N({__name:"ShowcaseSlider",props:{slides:{}},emits:["select"],setup(i,{emit:h}){const c=i,z=h,u=$(0);let v;const y=oe();function k(o){u.value=o,C()}function C(){v&&clearInterval(v),c.slides.length>1&&!y.isReducedMotion&&(v=setInterval(()=>{u.value=(u.value+1)%c.slides.length},6e3))}ae(C),Z(()=>{v&&clearInterval(v)});const b=$(null),w=$(!1),r=$(0);let g=null,R=0,A=0,D=0,p=!1;function q(o){var e;if(c.slides.length<2||g!==null)return;const m=b.value;m&&(g=o.pointerId,R=o.clientX,A=o.clientY,D=m.getBoundingClientRect().width||1,r.value=0,w.value=!0,p=!1,(e=m.setPointerCapture)==null||e.call(m,o.pointerId))}function Y(o){if(!w.value||o.pointerId!==g)return;const m=o.clientX-R,e=o.clientY-A;!p&&Math.abs(m)>Math.abs(e)&&Math.abs(m)>Ie&&(p=!0),p&&(r.value=m)}function V(){if(!w.value)return;const m=r.value/D;w.value=!1,g=null,r.value=0,m<=-se&&u.value<c.slides.length-1?u.value++:m>=se&&u.value>0&&u.value--,p&&C(),p=!1}function G(o){o.pointerId===g&&V()}function T(o){o.pointerId===g&&(w.value=!1,g=null,r.value=0,p=!1)}function j(o){p||z("select",o)}const W=L(()=>{const o=-u.value*100,m=D?r.value/D*100:0;return{transform:`translate3d(${o+m}%, 0, 0)`,transition:w.value?"none":void 0}});return Z(()=>{if(g!==null&&b.value)try{b.value.releasePointerCapture(g)}catch{}}),(o,m)=>i.slides.length?(a(),l("section",ke,[n("div",{ref_key:"root",ref:b,class:B(["showcase__frame",{"is-dragging":w.value}]),onPointerdown:q,onPointermove:Y,onPointerup:G,onPointercancel:T},[n("div",{class:"showcase__track",style:x(W.value)},[(a(!0),l(O,null,X(i.slides,(e,s)=>(a(),l("article",{key:e.key,class:B(["showcase__slide",{"is-active":s===u.value}]),onClick:d=>j(e)},[e.image?(a(),l("img",{key:0,src:e.image,alt:"",class:"showcase__art",draggable:"false"},null,8,we)):f("",!0)],10,be))),128))],4)],34),i.slides.length>1?(a(),l("div",Ce,[(a(!0),l(O,null,X(i.slides,(e,s)=>(a(),l("button",{key:e.key,type:"button",class:B(["showcase__dot",{"is-active":s===u.value}]),"aria-label":e.title,onClick:d=>k(s)},null,10,Se))),128))])):f("",!0)])):f("",!0)}}),Pe=U($e,[["__scopeId","data-v-90ab1328"]]),xe={class:"rail no-scrollbar"},ze=["onClick"],Re={class:"rail__mark","aria-hidden":"true"},Ae=["src"],De={class:"rail__title"},Me=N({__name:"CategoryRail",props:{categories:{},activeId:{}},emits:["select"],setup(i,{emit:h}){const c=h;return(z,u)=>(a(),l("div",xe,[(a(!0),l(O,null,X(i.categories,v=>{var y;return a(),l("button",{key:v.id,type:"button",class:B(["rail__chip",{"is-active":v.id===i.activeId}]),onClick:k=>c("select",v)},[n("span",Re,[(y=v.icon)!=null&&y.image?(a(),l("img",{key:0,src:v.icon.image,alt:""},null,8,Ae)):f("",!0)]),n("span",De,F(v.title),1)],10,ze)}),128))]))}}),Be=U(Me,[["__scopeId","data-v-b38bbeb0"]]),Le={class:"card__art"},Fe=["alt"],Ve={key:0,class:"card__badge"},Oe={class:"card__body"},Xe={class:"card__title"},qe={class:"card__meta"},Ee={class:"card__weight"},He={key:0,class:"card__wage"},Ne=N({__name:"ShowcaseCard",props:{value:{},wide:{type:Boolean},badge:{}},emits:["open"],setup(i,{emit:h}){const c=i,z=h,u=le(),{image:v,id:y,title:k,min_gram:C,wage:b}=ie(c.value),w=L(()=>{const r=b.value;return r==null?"":r%1===0?String(r):r.toFixed(2)});return(r,g)=>{const R=re("lazy");return a(),l("article",{class:B(["card",{"card--wide":i.wide}]),"data-product-origin":"",onClick:g[1]||(g[1]=A=>z("open",i.value))},[n("div",Le,[ce(n("img",{alt:t(k)},null,8,Fe),[[R,t(v)]]),n("button",{type:"button",class:B(["card__fav",{"is-on":t(u).isFavorite(t(y))}]),onClick:g[0]||(g[0]=ue(A=>t(u).toggle(t(y)),["stop"]))},[_(M,{icon:t(u).isFavorite(t(y))?"vuesax-linear:heart-fill":"vuesax-linear:heart",size:"17"},null,8,["icon"])],2),i.badge?(a(),l("span",Ve,F(i.badge),1)):f("",!0)]),n("div",Oe,[n("h3",Xe,F(t(k)),1),n("div",qe,[n("span",Ee,F(t(C))+" گرم",1),t(b)!=null?(a(),l("span",He,"اجرت "+F(w.value)+"٪",1)):f("",!0)])])],2)}}}),K=U(Ne,[["__scopeId","data-v-bd6d18a4"]]),Ue="/assets/shipping-and-delivery-CyUGL93q.png",Ye="/assets/sports-and-competition-ao926_SX.png",Ge=[{type:"popup",src:Ue,text:"ارسال سریع و مطمئن سفارشهای شما به سراسر کشور.",link:void 0},{type:"popup",src:Ye,text:"جدیدترین محصولات منتزر را در بخش محصولات جدید ببینید.",link:void 0},{type:"popup",src:ne,text:"منتزر، همراه شما در خرید و فروش طلا.",link:void 0}],Te=de("config",{state:()=>({config:{main_slider:Ge},cats:[],loaded:!1}),actions:{setCats(i){this.cats=i},async init(){try{const i=await H.listProducts(),h=new Map;for(const c of i)c.category&&!h.has(c.category.id)&&h.set(c.category.id,{id:c.category.id,title:c.category.title,icon:{image:ne}});this.cats=[...h.values()],this.loaded=!0}catch(i){console.log(i)}}}}),je={class:"home"},We={class:"home__bar"},Je={class:"home__barInner"},Ke={key:0,class:"home__badge"},Qe={key:0,class:"home__grid"},Ze={class:"home__reel no-scrollbar"},et={class:"home__trustItem"},tt={class:"home__trustItem"},st={class:"home__trustItem"},at=N({__name:"HomeView",setup(i){const h=me(),c=Te(),z=_e(),u=pe(),v=$(!0),y=$(!1),k=$([]),C=$(null),b=$(null),{revealed:w,revealDelay:r,reveal:g}=fe("home"),R=L(()=>k.value[0]??null),A=L(()=>k.value.slice(1,5)),D=L(()=>k.value.slice(5,13)),p=[{eyebrow:"مجموعه منتزر",cta:"دیدن مجموعه"},{eyebrow:"انتخاب سردبیر",cta:"مشاهده"},{eyebrow:"پیشنهاد این هفته",cta:"بررسی کنید"}],q=L(()=>{var s;if((s=b.value)!=null&&s.length)return b.value.filter(d=>d.image).map((d,S)=>({key:`${S}-${d.image}`,eyebrow:"مجموعه منتزر",title:"",subtitle:"",cta:"",image:d.image,link:d.link||void 0}));const e=c.cats.slice(0,3);return e.length?e.map((d,S)=>({key:d.id,eyebrow:p[S%p.length].eyebrow,title:d.title,subtitle:"ساختهشده از طلای ۱۸ عیار، با اجرت شفاف و اصالت تضمینشده.",cta:p[S%p.length].cta,image:Y(d.id),categoryId:d.id})):[]});function Y(e){var d,S;const s=k.value.find(I=>{var Q;return((Q=I.category)==null?void 0:Q.id)===e});return(S=(d=s==null?void 0:s.images)==null?void 0:d[0])==null?void 0:S.url}function V(e){ge(e)}function G(e){u.query.cats=[e.id],h.push({name:"search"})}function T(e){if(e.link){/^https?:\/\//i.test(e.link)?window.open(e.link,"_blank","noopener"):h.push(e.link);return}e.categoryId&&(u.query.cats=[e.categoryId]),h.push({name:"search"})}function j(){h.push({name:"search"})}function W(){h.push({name:"newestProduct"})}async function o(){try{const[e]=await Promise.all([H.listProducts(),c.init()]);k.value=e}catch(e){console.log(e)}try{C.value=await H.getLatestGoldPrice()}catch{C.value=null}try{b.value=await H.getHomeSlider()}catch{b.value=null}}async function m(){await o(),y.value=!1}return ae(async()=>{await o(),v.value=!1,g()}),(e,s)=>{const d=ee("router-link"),S=ee("container");return a(),l("div",je,[n("header",We,[n("div",Je,[_(d,{to:{name:"cart"},class:"home__iconBtn","aria-label":"سبد خرید"},{default:P(()=>[_(M,{icon:"vuesax-linear:bag-2",size:"21"}),t(z).items.length?(a(),l("span",Ke,F(t(z).items.length),1)):f("",!0)]),_:1}),s[1]||(s[1]=n("img",{src:ve,alt:"منتزر",class:"home__logo"},null,-1)),_(d,{to:{name:"search"},class:"home__iconBtn","aria-label":"جستجو"},{default:P(()=>[_(M,{icon:"vuesax-linear:search-normal-1",size:"21"})]),_:1})])]),_(t(ye),{modelValue:y.value,"onUpdate:modelValue":s[0]||(s[0]=I=>y.value=I),onRefresh:m},{pulling:P(()=>[_(t(J),{size:"18"})]),loosing:P(()=>[_(t(J),{size:"18"})]),loading:P(()=>[_(t(J),{size:"18"})]),success:P(()=>[...s[2]||(s[2]=[n("span",null,null,-1)])]),default:P(()=>[_(S,{class:B(["home__body",{"is-revealed":t(w)}])},{default:P(()=>[_(he,{quote:C.value,class:"home__rate reveal",style:x(t(r)(0))},null,8,["quote","style"]),q.value.length?(a(),E(Pe,{key:0,slides:q.value,class:"home__hero reveal",style:x(t(r)(1)),onSelect:T},null,8,["slides","style"])):f("",!0),t(c).cats.length?(a(),E(Be,{key:1,categories:t(c).cats,"active-id":null,class:"home__rail reveal",style:x(t(r)(2)),onSelect:G},null,8,["categories","style"])):f("",!0),R.value?(a(),l("section",{key:2,class:"home__section reveal",style:x(t(r)(3))},[_(te,{title:"برگزیده منتزر",subtitle:"انتخابشده از میان مجموعههای موجود","action-label":"همه محصولات",onAction:j}),_(K,{value:R.value,wide:"",badge:"برگزیده",onOpen:V},null,8,["value"]),A.value.length?(a(),l("div",Qe,[(a(!0),l(O,null,X(A.value,I=>(a(),E(K,{key:I.id,value:I,onOpen:V},null,8,["value"]))),128))])):f("",!0)],4)):f("",!0),D.value.length?(a(),l("section",{key:3,class:"home__section reveal",style:x(t(r)(4))},[_(te,{title:"تازهها",subtitle:"آخرین افزودههای مجموعه","action-label":"مشاهده همه",onAction:W}),n("div",Ze,[(a(!0),l(O,null,X(D.value,I=>(a(),E(K,{key:I.id,value:I,class:"home__reelItem",onOpen:V},null,8,["value"]))),128))])],4)):f("",!0),!v.value&&!k.value.length?(a(),l("section",{key:4,class:"home__empty reveal",style:x(t(r)(3))},[_(M,{icon:"vuesax-linear:box",size:"26"}),s[3]||(s[3]=n("p",null,"هنوز محصولی در مجموعه ثبت نشده است.",-1))],4)):f("",!0),n("div",{class:"home__trust reveal",style:x(t(r)(5))},[n("div",et,[_(M,{icon:"vuesax-linear:shield-tick",size:"18"}),s[4]||(s[4]=n("span",null,"خرید امن",-1))]),n("div",tt,[_(M,{icon:"vuesax-linear:verify",size:"18"}),s[5]||(s[5]=n("span",null,"اصالت کالا",-1))]),n("div",st,[_(M,{icon:"vuesax-linear:box-tick",size:"18"}),s[6]||(s[6]=n("span",null,"ارسال بیمهشده",-1))])],4)]),_:1},8,["class"])]),_:1},8,["modelValue"])])}}}),dt=U(at,[["__scopeId","data-v-49c5c622"]]);export{dt as default};
|