Files
hedena_gold/apps/user-app/dist/assets/HomeView-DYJr7XyH.js
T

2 lines
12 KiB
JavaScript

import{d as le,u as Ie,o as xe,a as Re,b as we,w as ce,c as Ae,e as n,f as r,g as d,F as j,r as U,n as N,h as $,i as te,j as O,k as E,s as Me,_ as ie,t as ee,l as Fe,m as De,p as Ee,q as s,v as Le,x as v,I as G,y as Be,z as Ve,A as Ne,B as ne,C as $e,D as Oe,E as Xe,G as qe,K as he,H as V,J as Te,L as ge,M as We,N as Z,O as ue}from"./index-Cu2VAQBj.js";import{R as He}from"./RateStrip-BlWw2lSm.js";import{P as ye}from"./ProductCard-w77j8EA9.js";import{S as be}from"./SectionHead-CpGrRHt8.js";import{u as je}from"./filtersStore-DKlUqmc5.js";import{u as Ue}from"./useReveal-C6_zxE5K.js";import{u as Ge}from"./catalogStore-DU2bF1aY.js";import{P as Ke}from"./index-zS7lUV1L.js";import"./filters-DYLoih7M.js";const Je={key:0,class:"carousel"},Ye=["data-index"],Qe=["src"],Ze={key:0,class:"carousel__dots",dir:"ltr"},et=["aria-label","onClick"],ke=.92,tt=le({__name:"Carousel",props:{slides:{},sideScale:{default:.72},gap:{default:3},borderRadius:{default:22},stiffness:{default:70},damping:{default:28},autoplay:{type:Boolean,default:!0},autoplayInterval:{default:7500}},setup(y){const a=y,h=Ie(),z=O(()=>{const e=a.slides.filter(t=>t.image);if(!e.length)return[];const o=[];let i=0;for(;o.length<Math.max(6,e.length*2);)for(const t of e)o.push({key:`${t.key}#${i++}`,image:t.image});return o}),x=E(null),_=E(null),g=E(!1),A=E(0),M=Me([]);let f=0,p=0,m=0,P=!1,C=0,I=0,S=0,L=0,X=0,q=0,R=null,b=null,K=0,T,B=null;function se(e,o,i){let t=(e-o)%i;return t<-i/2&&(t+=i),t>=i/2&&(t-=i),t}function J(){const e=a.slides.filter(o=>o.image).length||1;return(Math.round(p)%e+e)%e}function l(){A.value=J()}function c(){var pe;const o=z.value.length;if(!o){M.value=[];return}const t=(((pe=_.value)==null?void 0:pe.clientWidth)||380)*ke,w=a.sideScale,D=a.gap,H=t*.5+t*w*.5+D,fe=new Array(o);for(let oe=0;oe<o;oe++){const me=se(oe,f,o),re=Math.abs(me),Se=1-Math.min(re,1)*(1-w),Pe=me*H,ve=re<2.1;fe[oe]={opacity:ve?"1":"0",pointerEvents:ve?"auto":"none",zIndex:String(100-Math.round(re*20)),transform:`translate3d(calc(-50% + ${Pe.toFixed(2)}px), 0, 0) scale(${Se.toFixed(4)})`}}M.value=fe}function k(){if(h.isReducedMotion){f=p,m=0,c(),b=null;return}b!=null&&cancelAnimationFrame(b),K=performance.now();const e=o=>{const i=Math.min((o-K)/1e3,.064);K=o;const t=f-p,w=-a.stiffness*t,D=-a.damping*m,H=w+D;if(m+=H*i,f+=m*i,c(),Math.abs(m)<.002&&Math.abs(p-f)<.001){f=p,m=0,c(),b=null;return}b=requestAnimationFrame(e)};b=requestAnimationFrame(e)}function F(e){var i;if(z.value.length<2||R!==null||e.button!==void 0&&e.button!==0)return;const o=x.value;o&&(R=e.pointerId,P=!0,g.value=!0,ae(),b!=null&&(cancelAnimationFrame(b),b=null),C=e.clientX,S=e.clientX,I=f,m=0,X=0,q=0,L=performance.now(),(i=o.setPointerCapture)==null||i.call(o,e.pointerId))}function u(e){var H;if(!P||e.pointerId!==R)return;const o=performance.now(),i=Math.max(1,o-L),t=e.clientX-C,w=e.clientX-S;q=Math.abs(t);const D=(((H=_.value)==null?void 0:H.clientWidth)??0)*ke||320;f=I-t/D,X=-(w/D)/(i/1e3),S=e.clientX,L=o,c()}function W(e){if(!P||e.pointerId!==R)return;P=!1,g.value=!1,R=null;const o=z.value.length;if(q<6&&e.target instanceof Element){const t=e.target.closest(".carousel__card");if(t){const w=Number(t.dataset.index);if(!Number.isNaN(w)){const D=se(w,f,o);if(Math.abs(D)>.25){p=Math.round(f+D),k(),l(),a.autoplay&&Q();return}}}}m=X;const i=f+m*.16;p=Math.round(i),k(),l(),a.autoplay&&Q()}function ze(e){const o=a.slides.filter(w=>w.image).length;if(o<2)return;const i=J();let t=e-i;t>o/2&&(t-=o),t<-o/2&&(t+=o),p=Math.round(p)+t,k(),l()}let Y=!0;function Q(){ae(),Y&&(!a.autoplay||h.isReducedMotion||a.slides.length<2||(T=setInterval(()=>{!P&&Y&&(p=Math.round(p)+1,k(),l())},a.autoplayInterval)))}function ae(){T&&(clearInterval(T),T=void 0)}function de(){Y=!1,ae(),b!=null&&(cancelAnimationFrame(b),b=null),f=p,m=0,P=!1,g.value=!1,c(),l()}function Ce(){Y=!0,c(),a.autoplay&&Q()}function _e(){f=0,p=0,m=0,l(),c()}return xe(()=>{Y=!0,_e(),_.value&&typeof ResizeObserver<"u"&&(B=new ResizeObserver(()=>c()),B.observe(_.value)),a.autoplay&&Q()}),Re(de),we(Ce),ce(()=>a.slides,()=>{_e()}),ce(()=>[a.sideScale,a.gap,a.stiffness,a.damping],()=>c()),ce(()=>a.autoplay,e=>{e?Q():ae()}),Ae(()=>{if(de(),B==null||B.disconnect(),R!==null&&x.value)try{x.value.releasePointerCapture(R)}catch{}}),(e,o)=>y.slides.length?(n(),r("section",Je,[d("div",{ref_key:"viewport",ref:x,class:te(["carousel__viewport",{"is-dragging":g.value}]),style:N({"--carousel-radius":`${y.borderRadius}px`}),onPointerdown:F,onPointermove:u,onPointerup:W,onPointercancel:W},[d("div",{ref_key:"stage",ref:_,class:"carousel__stage"},[(n(!0),r(j,null,U(z.value,(i,t)=>(n(),r("article",{key:i.key,class:"carousel__card","data-index":t,style:N(M.value[t])},[i.image?(n(),r("img",{key:0,src:i.image,alt:"",class:"carousel__art",draggable:"false"},null,8,Qe)):$("",!0)],12,Ye))),128))],512)],38),y.slides.length>1?(n(),r("div",Ze,[(n(!0),r(j,null,U(y.slides,(i,t)=>(n(),r("button",{key:i.key,type:"button",class:te(["carousel__dot",{"is-active":t===A.value}]),"aria-label":`اسلاید ${t+1}`,onClick:w=>ze(t)},null,10,et))),128))])):$("",!0)])):$("",!0)}}),st=ie(tt,[["__scopeId","data-v-a34a8c37"]]),at={class:"rail no-scrollbar"},ot=["onClick"],nt={class:"rail__mark","aria-hidden":"true"},lt=["src"],it={class:"rail__title"},rt=le({__name:"CategoryRail",props:{categories:{},activeId:{}},emits:["select"],setup(y,{emit:a}){const h=a;return(z,x)=>(n(),r("div",at,[(n(!0),r(j,null,U(y.categories,_=>{var g;return n(),r("button",{key:_.id,type:"button",class:te(["rail__chip",{"is-active":_.id===y.activeId}]),onClick:A=>h("select",_)},[d("span",nt,[(g=_.icon)!=null&&g.image?(n(),r("img",{key:0,src:_.icon.image,alt:""},null,8,lt)):$("",!0)]),d("span",it,ee(_.title),1)],10,ot)}),128))]))}}),ct=ie(rt,[["__scopeId","data-v-b38bbeb0"]]),ut={class:"pr__art"},dt=["alt"],_t={key:1,class:"pr__artEmpty","aria-hidden":"true"},ft=["aria-label"],pt={key:2,class:"pr__flag"},mt={key:3,class:"pr__flag pr__flag--soft"},vt={class:"pr__body"},ht={class:"pr__title"},gt={class:"pr__meta"},yt={class:"pr__weight"},bt={key:0,class:"pr__wage"},kt=le({__name:"ProductRow",props:{value:{}},setup(y){const a=y,h=Fe(),{image:z,id:x,title:_,min_gram:g,wage:A,is_exist:M,qty:f,isPreOrder:p}=De(a.value),m=E(null);function P(){Ve(a.value,m.value)}const C=O(()=>{const I=A.value;return I==null?"":I%1===0?String(I):I.toFixed(2)});return(I,S)=>{const L=Ee("lazy");return n(),r("article",{ref_key:"root",ref:m,class:"pr","data-product-origin":"",onClick:P},[d("div",ut,[s(z)?Le((n(),r("img",{key:0,alt:s(_)},null,8,dt)),[[L,s(z)]]):(n(),r("div",_t,[v(G,{icon:"vuesax-linear:diamonds",size:"22"})])),d("button",{type:"button",class:te(["pr__fav",{"is-on":s(h).isFavorite(s(x))}]),"aria-label":s(h).isFavorite(s(x))?"حذف از علاقه‌مندی":"افزودن به علاقه‌مندی",onClick:S[0]||(S[0]=Be(X=>s(h).toggle(s(x)),["stop"]))},[v(G,{icon:s(h).isFavorite(s(x))?"vuesax-linear:heart-fill":"vuesax-linear:heart",size:"15"},null,8,["icon"])],10,ft),s(M)?s(p)&&s(f)===0?(n(),r("span",mt,"پیش‌سفارش")):$("",!0):(n(),r("span",pt,"ناموجود"))]),d("div",vt,[d("h3",ht,ee(s(_)),1),d("div",gt,[d("span",yt,ee(s(g))+" گرم",1),s(A)!=null?(n(),r("span",bt,"اجرت "+ee(C.value)+"٪",1)):$("",!0)]),S[1]||(S[1]=d("span",{class:"pr__cta"},"مشاهده",-1))]),v(G,{icon:"vuesax-linear:arrow-left-1",size:"18",class:"pr__chev","aria-hidden":"true"})],512)}}}),xt=ie(kt,[["__scopeId","data-v-b034f656"]]),wt="/assets/shipping-and-delivery-CyUGL93q.png",$t="/assets/sports-and-competition-ao926_SX.png",zt=[{type:"popup",src:wt,text:"ارسال سریع و مطمئن سفارش‌های شما به سراسر کشور.",link:void 0},{type:"popup",src:$t,text:`جدیدترین محصولات ${ne.name} را در بخش محصولات جدید ببینید.`,link:void 0},{type:"popup",src:$e,text:`${ne.name}، همراه شما در خرید و فروش طلا.`,link:void 0}],Ct=Ne("config",{state:()=>({config:{main_slider:zt},cats:[],loaded:!1}),actions:{setCats(y){this.cats=y},async init(y=!1){try{const{categories:a}=await Oe.getCatalogFacets();this.cats=a.map(h=>({...h,icon:{image:$e}})),this.loaded=!0}catch(a){console.log(a)}}}}),St={class:"home"},Pt={class:"home__bar"},It={class:"home__barInner"},Rt={key:0,class:"home__badge"},At=["alt"],Mt={class:"home__masonry"},Ft={class:"home__masonryCol"},Dt={class:"home__masonryCol"},Et={class:"home__rows"},Lt=le({__name:"HomeView",setup(y){const a=We(),h=Ct(),z=Xe(),x=je(),_=Ge(),g=qe(),A=E(!_.loaded),M=E(!1),f=O(()=>_.products),p=E(g.peek(he.goldPrice)??null),m=E(g.peek(he.homeSlider)??null),{revealed:P,revealDelay:C,reveal:I}=Ue("home"),S=O(()=>{const l=f.value.slice(0,8);return l.length%2===1?l.slice(0,-1):l}),L=O(()=>f.value.slice(-10).reverse()),X=[{col:"left",size:"short"},{col:"right",size:"hero"},{col:"left",size:"hero"},{col:"right",size:"short"},{col:"left",size:"tall"},{col:"right",size:"mid"},{col:"left",size:"mid"},{col:"right",size:"tall"}],q=O(()=>{const l=S.value,c=[],k=[];return l.forEach((F,u)=>{const W=X[u]??{col:u%2===0?"left":"right",size:"mid"};W.col==="left"?c.push({item:F,size:W.size}):k.push({item:F,size:W.size})}),{left:c,right:k}}),R=O(()=>(m.value??[]).filter(l=>l.image).map((l,c)=>({key:`${c}-${l.image}`,image:l.image})));function b(l){x.query.cats=[l.id],a.push({name:"search"})}function K(){a.push({name:"search"})}function T(){a.push({name:"newestProduct"})}async function B(l=!1){const[c,k,F,u]=await Promise.allSettled([_.load(l),h.init(l),g.goldPrice({force:l}),g.homeSlider({force:l})]);c.status==="rejected"&&console.log(c.reason),k.status==="rejected"&&console.log(k.reason),p.value=F.status==="fulfilled"?F.value:null,m.value=u.status==="fulfilled"?u.value:null}async function se(){await B(!0),M.value=!1}xe(async()=>{await B(),A.value=!1,I()});let J=!1;return we(async()=>{if(!J){J=!0;return}try{p.value=await g.goldPrice({force:!0})}catch(l){console.log(l)}}),(l,c)=>{const k=ge("router-link"),F=ge("container");return n(),r("div",St,[d("header",Pt,[d("div",It,[v(k,{to:{name:"cart"},class:"home__iconBtn","aria-label":"سبد خرید"},{default:V(()=>[v(G,{icon:"vuesax-linear:bag-2",size:"21"}),s(z).items.length?(n(),r("span",Rt,ee(s(z).items.length),1)):$("",!0)]),_:1}),d("img",{src:Te,alt:s(ne).name,class:"home__logo"},null,8,At),v(k,{to:{name:"search"},class:"home__iconBtn","aria-label":"جستجو"},{default:V(()=>[v(G,{icon:"vuesax-linear:search-normal-1",size:"21"})]),_:1})])]),v(s(Ke),{modelValue:M.value,"onUpdate:modelValue":c[0]||(c[0]=u=>M.value=u),onRefresh:se},{pulling:V(()=>[v(s(ue),{size:"18"})]),loosing:V(()=>[v(s(ue),{size:"18"})]),loading:V(()=>[v(s(ue),{size:"18"})]),success:V(()=>[...c[1]||(c[1]=[d("span",null,null,-1)])]),default:V(()=>[v(F,{class:te(["home__body",{"is-revealed":s(P)}])},{default:V(()=>[v(He,{quote:p.value,class:"home__rate reveal",style:N(s(C)(0))},null,8,["quote","style"]),R.value.length?(n(),Z(st,{key:0,slides:R.value,class:"home__hero reveal",style:N(s(C)(1))},null,8,["slides","style"])):$("",!0),s(h).cats.length?(n(),Z(ct,{key:1,categories:s(h).cats,"active-id":null,class:"home__rail reveal",style:N(s(C)(2)),onSelect:b},null,8,["categories","style"])):$("",!0),S.value.length?(n(),r("section",{key:2,class:"home__section reveal",style:N(s(C)(3))},[v(be,{title:`برگزیده ${s(ne).name}`,subtitle:"انتخاب‌شده از میان مجموعه‌های موجود","action-label":"همه محصولات",onAction:K},null,8,["title"]),d("div",Mt,[d("div",Ft,[(n(!0),r(j,null,U(q.value.left,u=>(n(),Z(ye,{key:u.item.id,value:u.item,size:u.size},null,8,["value","size"]))),128))]),d("div",Dt,[(n(!0),r(j,null,U(q.value.right,u=>(n(),Z(ye,{key:u.item.id,value:u.item,size:u.size},null,8,["value","size"]))),128))])])],4)):$("",!0),L.value.length?(n(),r("section",{key:3,class:"home__section reveal",style:N(s(C)(4))},[v(be,{title:"تازه‌ها",subtitle:"آخرین افزوده‌های مجموعه","action-label":"مشاهده همه",onAction:T}),d("div",Et,[(n(!0),r(j,null,U(L.value,u=>(n(),Z(xt,{key:u.id,value:u},null,8,["value"]))),128))])],4)):$("",!0),!A.value&&!f.value.length?(n(),r("section",{key:4,class:"home__empty reveal",style:N(s(C)(3))},[v(G,{icon:"vuesax-linear:box",size:"26"}),c[2]||(c[2]=d("p",null,"هنوز محصولی در مجموعه ثبت نشده است.",-1))],4)):$("",!0)]),_:1},8,["class"])]),_:1},8,["modelValue"])])}}}),Ut=ie(Lt,[["__scopeId","data-v-22e0033c"]]);export{Ut as default};