2 lines
10 KiB
JavaScript
2 lines
10 KiB
JavaScript
import{d as V,u as ae,o as ee,a as oe,b as a,c as i,e as u,F as T,r as F,n as A,f as G,g as R,h as S,i as E,_ as X,j as q,t as N,I as Y,k as le,l as ie,w as re,m as C,p as w,q as ce,s as te,v as ue,x as de,K,y as _e,z as ve,A as M,B as pe,C as fe,D as me}from"./index-DhakXDGI.js";import{R as ge}from"./RateStrip-Y5oNDHlM.js";import{P as he,L as W}from"./index-CKJ4yKZL.js";import"./filters-Vgn3Zr0m.js";const ye={key:0,class:"hero"},ke=["onClick"],Ie=["src","alt"],$e={key:1,class:"hero__artFallback","aria-hidden":"true"},Se={key:0,class:"hero__dots"},be=["aria-label","onClick"],J=46,Ce=.76,Pe=36.6,we=.75,xe=V({__name:"HeroCarousel",props:{slides:{},autoplay:{type:Boolean,default:!0}},emits:["select"],setup(d,{emit:g}){const h=d,b=g,c=S(0),v=S(null),r=S(!1),_=S(0);let $=0,p=null,y;const f=ae(),m=E(()=>h.slides.length);function P(n){let l=n-c.value;m.value>2&&(l>m.value/2&&(l-=m.value),l<-m.value/2&&(l+=m.value));const e=r.value?_.value:0,t=Math.abs(l),k=l*Pe+e,I=l===0?1:Ce,O=t>1?0:t===0?1:we;return{transform:`translate3d(${k}%, 0, 0) scale(${I})`,opacity:String(O),zIndex:String(10-t),pointerEvents:t>1?"none":"auto",transition:r.value?"none":"transform .42s cubic-bezier(.22,.61,.36,1), opacity .42s ease"}}function x(n){c.value=(n%m.value+m.value)%m.value,o()}function z(){x(c.value+1)}function D(){x(c.value-1)}function B(n){var l,e;m.value<2||(r.value=!0,$=n.clientX,_.value=0,p=n.pointerId,(e=(l=n.currentTarget).setPointerCapture)==null||e.call(l,n.pointerId),s())}function L(n){var e;if(!r.value||n.pointerId!==p)return;const l=((e=v.value)==null?void 0:e.clientWidth)||1;_.value=(n.clientX-$)/l*100}function H(n){if(!r.value)return;const l=n.clientX-$;r.value=!1,_.value=0,p=null,l>J?D():l<-J?z():o()}function U(n,l){if(!(Math.abs(_.value)>1)){if(n!==c.value){x(n);return}b("select",l)}}function s(){y&&clearInterval(y),y=void 0}function o(){s(),h.autoplay&&!f.isReducedMotion&&m.value>1&&(y=setInterval(z,6e3))}return ee(o),oe(s),(n,l)=>d.slides.length?(a(),i("section",ye,[u("div",{class:"hero__stage",ref_key:"stage",ref:v,onPointerdown:B,onPointermove:L,onPointerup:H,onPointercancel:H},[(a(!0),i(T,null,F(d.slides,(e,t)=>(a(),i("article",{key:e.key,class:G(["hero__card",{"is-active":t===c.value}]),style:A(P(t)),onClick:k=>U(t,e)},[e.image?(a(),i("img",{key:0,src:e.image,alt:e.title,class:"hero__art",draggable:"false"},null,8,Ie)):(a(),i("div",$e))],14,ke))),128))],544),d.slides.length>1?(a(),i("div",Se,[(a(!0),i(T,null,F(d.slides,(e,t)=>(a(),i("button",{key:e.key,type:"button",class:G(["hero__dot",{"is-active":t===c.value}]),"aria-label":e.title,onClick:k=>x(t)},null,10,be))),128))])):R("",!0)])):R("",!0)}}),Ee=X(xe,[["__scopeId","data-v-d3ac0cc7"]]),Re={class:"cats no-scrollbar"},He=["onClick"],Oe={class:"cats__mark","aria-hidden":"true"},ze=["src"],Be={class:"cats__title"},Le=V({__name:"CategoryGrid",props:{categories:{},activeId:{}},emits:["select"],setup(d,{emit:g}){const h=g;return(b,c)=>(a(),i("div",Re,[(a(!0),i(T,null,F(d.categories,v=>{var r;return a(),i("button",{key:v.id,type:"button",class:G(["cats__tile",{"is-active":v.id===d.activeId}]),onClick:_=>h("select",v)},[u("span",Oe,[(r=v.icon)!=null&&r.image?(a(),i("img",{key:0,src:v.icon.image,alt:""},null,8,ze)):(a(),q(Y,{key:1,icon:"vuesax-linear:3d-cube-scan",size:"27"}))]),u("span",Be,N(v.title),1)],10,He)}),128))]))}}),Me=X(Le,[["__scopeId","data-v-155beefb"]]),Ae={class:"panel__art"},Te=["alt"],De={class:"panel__title"},Ue={class:"panel__meta"},Ne={class:"panel__weight"},Fe={key:0,class:"panel__wageOld"},Ge={class:"panel__wage"},Ve=V({__name:"ProductPanel",props:{value:{},wageBefore:{}},emits:["open"],setup(d,{emit:g}){const h=d,b=g,{image:c,title:v,min_gram:r,wage:_}=le(h.value);function $(p){return p%1===0?String(p):p.toFixed(2)}return(p,y)=>{const f=ie("lazy");return a(),i("article",{class:"panel","data-product-origin":"",onClick:y[0]||(y[0]=m=>b("open",d.value))},[u("div",Ae,[re(u("img",{alt:C(v)},null,8,Te),[[f,C(c)]])]),u("h3",De,N(C(v)),1),u("div",Ue,[u("span",Ne,N(C(r))+" گرم",1),C(_)!=null?(a(),i(T,{key:0},[y[1]||(y[1]=u("span",{class:"panel__sep","aria-hidden":"true"},null,-1)),d.wageBefore!=null?(a(),i("span",Fe,"اجرت "+N($(d.wageBefore))+"٪",1)):R("",!0),u("span",Ge,N($(C(_)))+"٪ اجرت",1)],64)):R("",!0)])])}}}),ne=X(Ve,[["__scopeId","data-v-ccafc905"]]),Xe={class:"reel"},qe=["onClick"],We={class:"reel__allMark","aria-hidden":"true"},Q=46,Ye=.78,Z=92.5,je=.62,Ke=V({__name:"ProductCarousel",props:{products:{}},emits:["open","all"],setup(d,{emit:g}){const h=d,b=g,c=S(0),v=S(null),r=S(!1),_=S(0);let $=0,p=null;const y=E(()=>[...h.products.map(s=>({key:s.id,kind:"product",product:s})),{key:"__all__",kind:"all"}]),f=E(()=>y.value.length);function m(s){let o=s-c.value;f.value>2&&(o>f.value/2&&(o-=f.value),o<-f.value/2&&(o+=f.value));const n=r.value?_.value:0,l=o*Z+n,e=Math.min(Math.abs(o+n/Z),1),t=1-(1-Ye)*e,k=1-(1-je)*e,I=Math.abs(o)<=1,O=I?k:0;return{transform:`translate3d(${l}%, 0, 0) scale(${t})`,opacity:String(O),zIndex:String(10-Math.abs(o)),pointerEvents:I?"auto":"none",transition:r.value?"none":"transform .55s cubic-bezier(.21,1.02,.36,1), opacity .45s ease"}}function P(s){c.value=(s%f.value+f.value)%f.value}function x(){P(c.value+1)}function z(){P(c.value-1)}function D(s){var o,n;f.value<2||(r.value=!0,$=s.clientX,_.value=0,p=s.pointerId,(n=(o=s.currentTarget).setPointerCapture)==null||n.call(o,s.pointerId))}function B(s){var n;if(!r.value||s.pointerId!==p)return;const o=((n=v.value)==null?void 0:n.clientWidth)||1;_.value=(s.clientX-$)/o*100}function L(s){if(!r.value)return;const o=s.clientX-$;r.value=!1,_.value=0,p=null,o>Q?z():o<-Q&&x()}function H(s,o){if(!(Math.abs(_.value)>1)){if(s!==c.value){P(s);return}b("open",o)}}function U(s){if(!(Math.abs(_.value)>1)){if(s!==c.value){P(s);return}b("all")}}return(s,o)=>(a(),i("section",Xe,[u("div",{class:"reel__stage",ref_key:"stage",ref:v,onPointerdown:D,onPointermove:B,onPointerup:L,onPointercancel:L},[(a(!0),i(T,null,F(y.value,(n,l)=>(a(),i("div",{key:n.key,class:G(["reel__cell",{"is-active":l===c.value}]),style:A(m(l))},[n.kind==="product"?(a(),q(ne,{key:0,value:n.product,onOpen:e=>H(l,e)},null,8,["value","onOpen"])):(a(),i("button",{key:1,type:"button",class:"reel__all",onClick:e=>U(l)},[u("span",We,[w(Y,{icon:"vuesax-linear:arrow-left-2",size:"26"})]),o[0]||(o[0]=u("span",{class:"reel__allText"},"مشاهده همه محصولات جدید",-1))],8,qe))],6))),128))],544)]))}}),Je=X(Ke,[["__scopeId","data-v-9bb6595e"]]),Qe="/assets/shipping-and-delivery-CyUGL93q.png",Ze="/assets/sports-and-competition-ao926_SX.png",se="/assets/montzar-logo-05_bmbid.png",et=[{type:"popup",src:Qe,text:"ارسال سریع و مطمئن سفارشهای شما به سراسر کشور.",link:void 0},{type:"popup",src:Ze,text:"جدیدترین محصولات منتزر را در بخش محصولات جدید ببینید.",link:void 0},{type:"popup",src:se,text:"منتزر، همراه شما در خرید و فروش طلا.",link:void 0}],tt=ce("config",{state:()=>({config:{main_slider:et},cats:[],loaded:!1}),actions:{setCats(d){this.cats=d},async init(d=!1){try{const g=te();await g.load(d),this.cats=g.categories.map(h=>({...h,icon:{image:se}})),this.loaded=!0}catch(g){console.log(g)}}}}),nt={class:"home"},st={class:"home__bar"},at={class:"home__barInner"},ot={class:"home__list"},lt={key:3,class:"home__empty"},it=70,rt=6,ct=4,ut=V({__name:"HomeView",setup(d){let g=!1;const h=pe(),b=tt(),c=ue(),v=te(),r=de(),_=S(!v.loaded),$=S(!1),p=E(()=>v.products),y=S(r.peek(K.goldPrice)??null),f=S(r.peek(K.homeSlider)??null),m=S(g);function P(e){return{"--reveal-delay":`${e*it}ms`}}const x=E(()=>p.value),z=E(()=>p.value.slice(0,rt)),D=E(()=>p.value.slice(0,ct)),B=E(()=>{var e;return(e=f.value)!=null&&e.length?f.value.filter(t=>t.image).map((t,k)=>({key:`${k}-${t.image}`,title:"",image:t.image,link:t.link||void 0})):b.cats.slice(0,5).map(t=>({key:t.id,title:t.title,image:L(t.id),categoryId:t.id}))});function L(e){var k,I;const t=p.value.find(O=>{var j;return((j=O.category)==null?void 0:j.id)===e});return(I=(k=t==null?void 0:t.images)==null?void 0:k[0])==null?void 0:I.url}function H(e){me(e)}function U(e){c.query.cats=[e.id],h.push({name:"search"})}function s(e){if(e.link){/^https?:\/\//i.test(e.link)?window.open(e.link,"_blank","noopener"):h.push(e.link);return}e.categoryId&&(c.query.cats=[e.categoryId]),h.push({name:"search"})}function o(){h.push({name:"newestProduct"})}async function n(e=!1){const[t,k,I]=await Promise.allSettled([b.init(e),r.goldPrice({force:e}),r.homeSlider({force:e})]);t.status==="rejected"&&console.log(t.reason),y.value=k.status==="fulfilled"?k.value:null,f.value=I.status==="fulfilled"?I.value:null}async function l(){await n(!0),$.value=!1}return ee(async()=>{await n(),_.value=!1,!m.value&&(await _e(),requestAnimationFrame(()=>{m.value=!0,g=!0}))}),(e,t)=>{const k=fe("container");return a(),i("div",nt,[u("header",st,[u("div",at,[t[1]||(t[1]=u("img",{src:ve,alt:"منتزر",class:"home__logo"},null,-1)),w(ge,{quote:y.value,compact:"",class:"home__rate"},null,8,["quote"])])]),w(C(he),{modelValue:$.value,"onUpdate:modelValue":t[0]||(t[0]=I=>$.value=I),onRefresh:l},{pulling:M(()=>[w(C(W),{size:"18"})]),loosing:M(()=>[w(C(W),{size:"18"})]),loading:M(()=>[w(C(W),{size:"18"})]),success:M(()=>[...t[2]||(t[2]=[u("span",null,null,-1)])]),default:M(()=>[w(k,{class:G(["home__body",{"is-revealed":m.value}])},{default:M(()=>[B.value.length?(a(),q(Ee,{key:0,slides:B.value,class:"home__hero home__reveal",style:A(P(0)),onSelect:s},null,8,["slides","style"])):R("",!0),C(b).cats.length?(a(),i("section",{key:1,class:"home__section home__reveal",style:A(P(1))},[t[3]||(t[3]=u("h2",{class:"home__heading"},"دسته بندی ها",-1)),w(Me,{categories:C(b).cats,"active-id":null,onSelect:U},null,8,["categories"])],4)):R("",!0),x.value.length?(a(),i("section",{key:2,class:"home__section home__reveal",style:A(P(2))},[t[4]||(t[4]=u("h2",{class:"home__heading"},"محصولات جدید",-1)),w(Je,{products:z.value,onOpen:H,onAll:o},null,8,["products"]),u("div",ot,[(a(!0),i(T,null,F(D.value,(I,O)=>(a(),q(ne,{key:I.id,value:I,class:"home__reveal",style:A(P(3+O)),onOpen:H},null,8,["value","style"]))),128))])],4)):R("",!0),!_.value&&!p.value.length?(a(),i("section",lt,[w(Y,{icon:"vuesax-linear:box",size:"26"}),t[5]||(t[5]=u("p",null,"هنوز محصولی در مجموعه ثبت نشده است.",-1))])):R("",!0)]),_:1},8,["class"])]),_:1},8,["modelValue"])])}}}),ft=X(ut,[["__scopeId","data-v-dd18f553"]]);export{ft as default};
|