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