1import{_ as xe}from"./CbDv1iDB.js";import{_ as ke}from"./DIRET5Z2.js";import{_ as qe}from"./CiBjqgvH.js";import{_ as Ce}from"./DxGQRkz6.js";import{_ as Fe}from"./G9sJvX5d.js";import se from"./uCL2O9b2.js";import{i as Pe}from"./0eSDL_yI.js";import{d as $e,a as Le,b as Ee,c as ae,m as b,a0 as Ne,a1 as oe,I as Be,u as Ie,R as F,w as Se,M as P,a2 as Oe,o as Ae,s as p,E as Re,y as o,k as c,v as M,t as s,D as ne,x as u,K as le,J as N,F as B,A as I,B as je,j as D,g as Ve,a3 as Te}from"./BXJ-i0A5.js";import"./BxoS-UJV.js";import"./DAOk6wa-.js";import"./DmS9l8l7.js";import"./C4MoHSi5.js";import"./CEfq6QFY.js";import"./k54bknTF.js";import"./C_ph4kBp.js";import"./DK-RAXnP.js";import"./rMuCKOrl.js";import"./Bqmk3lb0.js";import"./DiTyQX9r.js";import"./D4KLOwjz.js";import"./jyTQt8dV.js";import"./CGE79Tdg.js";import"./DIbOZblZ.js";import"./Ct_uy4jW.js";import"./Cqli9ZD5.js";const Me={key:0,class:"cms-section-sidebar max-w-screen-2xl mx-auto mb-8","data-testid":"search-results-container"},De={class:"container mx-auto relative z-[2px] py-8 md:py-10"},ze={class:"title text-left md:text-center inner-banner-width"},Qe={class:"text-2xl md:text-43px font-bold text-dark-bg mb-3 md:mb-4 leading-none"},He={key:0},Je={key:1},We={class:"px-4"},Ke={class:"container mx-auto py-0 md:py-12"},Ye={class:"grid grid-cols-12 gap-6"},Ge={class:"col-span-12 lg:col-span-3 w-full md:max-w-full lg:max-w-[203px]"},Ue={class:"cust-accordion-wrap grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-1 gap-0 sm:gap-x-8 lg:gap-0"},Xe={class:"col-span-12 lg:col-span-9 w-full max-w-[895px]"},Ze={class:"product-listing !m-0"},et={class:"flex justify-between items-center mb-6 pb-6 md:pb-0 border-b border-b-custom-grey md:border-0"},tt={class:"w-full md:w-auto text-sm md:text-base font-normal md:font-bold"},rt={class:"w-auto relative flex items-center gap-2 sort"},st={for:"sort",class:"font-bold hidden md:block"},at=["placeholder"],ot=["value","selected"],nt={key:0,class:"flex flex-col items-center justify-center py-16 px-4 text-center"},lt={key:1,class:"flex flex-col items-center justify-center py-16 px-4 text-center"},it={class:"mb-2 text-xl font-semibold text-gray-900"},ct={class:"text-gray-500"},ut=["disabled"],dt={key:0},pt={key:1},mt={class:"w-full bg-platinum h-[6px] rounded mb-5 relative"},gt={class:"progress-shown flex items-center justify-center text-sm font-semibold text-davy-grey space-x-2"},yt={id:"progress-text"},z=24,$=1,Q="name-asc",Qt=$e({name:"SearchResultPage",__name:"search",async setup(ht){var re;let L,H;const n=Le(),S=Ee(),{locale:w}=ae(),J=b(!1),{getCurrentListing:_,getCurrentPage:ie,getCurrentSortingOrder:W,getElements:K,getInitialFilters:Y,getCurrentFilters:O,getSortingOrders:ce,getTotalPagesCount:G,getTotal:x,loading:E,search:U,setInitialListing:k}=Ne(),{t:ue}=ae(),de=oe("productListElement"),{apiClient:A}=Be(),v=b(!1);Ie([{name:ue("breadcrumbs.search"),path:"/search"}]);const l=F(()=>K.value),pe=()=>{const t=[];me(t);for(const[e,r]of Object.entries(n.query)){if(e==="p"||e==="limit"||e==="order"||e==="search"||e==="min-price"||e==="max-price")continue;const d=r.split("|");for(const m of d)e==="manufacturer"&&t.push({type:"equals",field:"manufacturerId",value:m}),e==="properties"&&t.push({type:"multi",operator:"OR",queries:[{type:"equalsAny",field:"propertyIds",value:m},{type:"equalsAny",field:"optionIds",value:m}]}),e==="rating"&&t.push({type:"range",field:"ratingAverage",parameters:{gte:+m}}),e==="shipping-free"&&t.push({type:"equals",field:"shippingFree",value:!0})}return t},me=t=>{const e=isNaN(Number(n.query["min-price"]))?void 0:n.query["min-price"],r=isNaN(Number(n.query["max-price"]))?void 0:n.query["max-price"];e&&r&&(t==null||t.push({type:"range",field:"price",parameters:{gte:+e,lte:+r}})),e&&!r&&(t==null||t.push({type:"range",field:"price",parameters:{gte:+e}})),!e&&r&&(t==null||t.push({type:"range",field:"price",parameters:{lte:+r}}))},R=F(()=>{var e;const t=pe();return{search:n.query.search?n.query.search:"",filter:t,limit:y.value,p:h.value,properties:((e=O.value)==null?void 0:e.properties.length)>0?O.value.properties.join("|"):"",order:n.query.order?n.query.order:Q,aggregations:[{name:"manufacturer_ids_counter",type:"terms",field:"manufacturerId",aggregation:{name:"parent_childs",type:"terms",field:"parentId"}},{name:"option_ids_counter",type:"terms",field:"options.id",aggregation:{name:"parent_childs",type:"terms",field:"parentId"}},{name:"property_ids_counter",type:"terms",field:"propertyIds",aggregation:{name:"parent_childs",type:"terms",field:"parentId"}}]}}),y=b(n.query.limit?Number(n.query.limit):z),h=b($),j=F(()=>`productSearch-${w.value}-${JSON.stringify(h.value)}`);b(n.query.order?n.query.order:Q);const X=async t=>{try{const e={...n.query,p:h.value,limit:y.value},r={...R.value,...e},{data:a}=await Ve(t,async()=>
1{if(await U(r),_.value)return _.value;const{data:d}=await A.invoke("searchPage post /search",{headers:{"sw-include-seo-urls":!0,"sw-language-id":w.value},body:r});return d||{elements:[]}},"$FS6C8xp6JY");return a}catch(e){return console.error("Error loading products:",e),{value:{elements:[]}}}},g=([L,H]=Se(()=>X(j.value)),L=await L,H(),L);l.value=((re=g==null?void 0:g.value)==null?void 0:re.elements)||[],P(j,()=>{k(g.value),q()}),P(()=>n.query,async t=>{t.search&&C()},{deep:!0}),P(()=>w.value,async t=>{C()}),P(O,async()=>{n.query.search&&C()},{deep:!0});const ge=b(!1),ye=oe("dropdownElement");Oe(ye,()=>ge.value=!1);const Z=F({get:()=>W.value||"",set:async t=>{var r;delete n.query.page,h.value=$,l.value=[],await S.push({query:{...n.query,order:t}});const e=await X(j.value);l.value=((r=e==null?void 0:e.value)==null?void 0:r.elements)||[]}}),ee=async(t={})=>{if(v.value=!0,!E.value&&G.value>1&&ie.value!==G.value){h.value=t.page||h.value+1,y.value=t.limit||y.value;try{const e={...n.query,p:h.value,limit:y.value},r={...R.value,...e},{data:a}=await A.invoke("searchPage post /search",{headers:{"sw-include-seo-urls":!0,"sw-language-id":w.value},body:r});if(a&&Array.isArray(a==null?void 0:a.elements))l.value.push(...a.elements);else throw new Error("Failed to fetch products or data format is incorrect.");await S.push({query:{...n.query,page:h.value}})}catch(e){console.error("Failed to load more products:",e)}finally{v.value=!1}}};k(g.value),(async()=>{const{limit:t=z,page:e=$,order:r=Q}=n.query;if(!!(t&&y.value!==t||e&&Number(e)!==$||r&&r!==Z.value)){const d=t?Number(t):z,m=e?Number(e):$;if(m>1)for(let f=2;f<=m;f++)console.log("loading products for page",f),await ee({page:f,limit:d});console.warn("The current route does not match the initial listing. Changing the route to match the initial listing.")}})();const he=(t,e)=>{t.options.forEach(r=>{if(e.buckets){const a=e.buckets.find(d=>d.key.includes(r.id));a&&(r.count=a.count+(r.count??0),a.parent_childs&&a.parent_childs.buckets&&(r.count=te(a)))}})},fe=(t,e)=>{t.entities.forEach(r=>{if(e.buckets){const a=e.buckets.find(d=>d.key===r.id);a&&(r.count=a.count+(r.count??0),a.parent_childs&&a.parent_childs.buckets&&(r.count=te(a)))}})},te=t=>{let e=0;return t.parent_childs&&t.parent_childs.buckets&&t.parent_childs.buckets.forEach(r=>{r.key===""?e=e+r.count:e=e+1}),e},q=()=>{Y.value&&Y.value.forEach(t=>{const e=t;if(g.value&&g.value.aggregations)for(const r of Object.entries(g.value.aggregations)){const a=r[1];e.name==="manufacturer"&&r[0]==="manufacturer_ids_counter"&&fe(e,a),e.code==="properties"&&(r[0]==="option_ids_counter"||r[0]==="property_ids_counter")&&he(e,a)}})};q();const ve=()=>{var e,r,a;const t=S.currentRoute.value.query;for(const[d,m]of Object.entries(t)){const i=m.split("|")[0];(a=(r=(e=document.getElementById(`filter-mobile-${d}-${i}`))==null?void 0:e.closest("[selected-filters]"))==null?void 0:r.querySelector("button"))==null||a.click()}},V=b(!1),be=()=>{V.value=!V.value},_e=F(()=>({"background-image":"url("+Pe+")"})),C=async()=>{if(n.query.search){v.value=!0;try{const t={...n.query,p:h.value,limit:y.value},e={...R.value,...t};if(await U(e),_.value&&_.value.elements)l.value=_.value.elements,k(_.value),q();else{const{data:r}=await A.invoke("searchPage post /search",{headers:{"sw-include-seo-urls":!0,"sw-language-id":w.value},body:e});r&&Array.isArray(r.elements)&&(l.value=r.elements,k(r),q())}}catch(t){console.error("Error forcing reload of products:",t)}finally{v.value=!1,J.value=!0}}},we=()=>{g.value&&k(g.value),q()};return Te("handleFilterChange",async t=>{if(n.query.search){v.value=!0;try{await C()}finally{v.value=!1}}}),P(l,t=>{}),Ae(async()=>{await new Promise(t=>setTimeout(t,100)),ve(),we(),C()}),(t,e)=>{var f;const r=xe,a=ke,d=qe,m=Ce;return o(J)?(c(),p("div",Me,[M(r),s("div",{class:"inner-banner relative bg-c-light-grey bg-cover bg-center w-full px-4",style:le(o(_e))},[e[3]||(e[3]=s("div",{class:"absolute inset-0 bg-light-grey opacity-30"},null,-1)),s("div",De,[s("div",ze,[s("h2",Qe,[(f=o(K))!=null&&f.length||o(l).length?(c(),p("span",He,[ne(u(t.$t("search.resultsHeader"))+' "',1),s("strong",null,u(o(n).query.search),1),e[2]||(e[2]=ne('"'))])):(c(),p("span",Je,u(t.$t("search.noResults")),1))])])])],4),s("div",We,[s("div",Ke,[s("div",Ye,[s("div",Ge,[s("div",{class:N(["sidebar-filter",{"hidden md:block":!o(V)}])}
1,[s("div",Ue,[M(a)])],2)]),s("div",Xe,[s("div",Ze,[s("div",et,[s("div",tt,u(o(x))+" "+u(t.$t("product.results")),1),s("div",rt,[s("label",st,u(t.$t("product.sortBy"))+":",1),s("select",{id:"sort",class:"text-sm text-davy-grey form-select bg-gray-200 border border-custom-grey rounded-lg py-2 px-4 focus:outline-none bg-white",name:"sort-option",onChange:e[0]||(e[0]=i=>Z.value=i.target.value),placeholder:t.$t("product.sortBy")},[(c(!0),p(B,null,I(o(ce),i=>(c(),p("option",{key:i.key,value:i.key,selected:i.key===o(W)},u(i.label),9,ot))),128))],40,at),e[4]||(e[4]=s("i",{class:"fa-solid fa-chevron-down text-dark-bg text-xs absolute right-3 top-1/2 -translate-y-1/2"},null,-1))]),s("div",{class:"w-auto ml-4 block md:hidden"},[s("button",{class:"btn-w-icon text-sm text-davy-grey form-select bg-gray-200 border border-custom-grey rounded-lg py-2 pl-4 pr-8 focus:outline-none bg-white",onClick:be},e[5]||(e[5]=[s("span",{class:"mr-2"},"Filter",-1),s("img",{src:Fe,class:"w-4 h-4",alt:"filter icon"},null,-1)]))])]),M(m,null,{default:je(()=>[o(E)&&!o(l).length?(c(),p("div",nt,[(c(!0),p(B,null,I(o(y),i=>(c(),D(se,{key:i}))),128))])):!o(E)&&o(l).length===0?(c(),p("div",lt,[e[6]||(e[6]=s("svg",{class:"w-16 h-16 mb-4 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[s("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z"})],-1)),s("h3",it,u(t.$t("product.noProductsFound")),1),s("p",ct,u(t.$t("product.tryAdjustingFilters")),1)])):(c(),p("div",{key:2,ref_key:"productListElement",ref:de,id:"product-list",class:"cust-product-list-3 -mx-2 md:-mx-5"},[o(l).length>0?(c(!0),p(B,{key:0},I(o(l),(i,T)=>(c(),D(d,{key:i.id,product:i,class:N(["border-custom-grey px-5 border-0",{"sm:border-0 sm:border-r":T%2===0,"lg:border-0":T%3===2,"lg:border-r":T%3!==2}])},null,8,["product","class"]))),128)):(c(!0),p(B,{key:1},I(o(y),i=>(c(),D(se,{key:i}))),128))],512))]),_:1}),s("div",{class:N(["show-more text-center mb-5",{hidden:o(l).length==o(x)}])},[s("button",{id:"show-more",class:"btn-default btn-transprent-bg bg-transparent",onClick:e[1]||(e[1]=i=>ee()),disabled:o(E)},[o(v)?(c(),p("span",dt,u(t.$t("product.load.isLoading")),1)):(c(),p("span",pt,u(t.$t("product.load.more")),1))],8,ut)],2),s("div",{class:N(["progress shown w-full md:w-[360px] mx-auto",{hidden:o(l).length==o(x)}])},[s("div",mt,[s("div",{id:"progress-bar",class:"bg-arsenic h-[4px] rounded absolute top-1/2 inset-y-1/2 mt-[-2px]",style:le({width:`${o(l).length/o(x)*100}%`})},null,4)]),s("div",gt,[s("div",yt,u(o(l).length)+" "+u(t.$t("product.load.of"))+" "+u(o(x)),1),s("span",null,u(t.$t("product.load.shown")),1)])],2)])])])])])])):Re("",!0)}}});export{Qt as default}; 2//# sourceMappingURL=CQfSfhvS.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.