import{an as H,aE as B,aF as M,aG as q,ak as h,_ as E,u as d,aA as P,e as A,r as c,o as g,h as b,w as O,U as V,f as F,g as l,j as f,i as T,O as U}from"./index.14beaf26.js";import{u as L}from"./testDriveModel.4ff8225b.js";import{F as N,ag as z,S as j,ah as G,ai as Q,aj as J,ak as K}from"./main.8d283eec.js";import{u as W}from"./submenu.04207641.js";import{u as X}from"./currentCar.e653cec6.js";import"./lodash.35813511.js";import"./_commonjsHelpers.4e997714.js";function w(e,{value:t,oldValue:r}){if(typeof t!="function"){e.scrollTarget.removeEventListener("scroll",e.scroll,h.passive);return}e.handler=t,typeof r!="function"&&e.scrollTarget.addEventListener("scroll",e.scroll,h.passive)}var Y=H({name:"scroll",mounted(e,t){const r={scrollTarget:B(e),scroll(){r.handler(M(r.scrollTarget),q(r.scrollTarget))}};w(r,t),e.__qscroll=r},updated(e,t){e.__qscroll!==void 0&&t.oldValue!==t.value&&w(e.__qscroll,t)},beforeUnmount(e){const t=e.__qscroll;t.scrollTarget.removeEventListener("scroll",t.scroll,h.passive),delete e.__qscroll}});let p=[];const Z={name:"ComparisonPage",components:{FooterDisclaimer:N,ModelPageConstructorAction:z,ServicesActionButtons:j,DescriptionDifferenceCheckbox:G,DescriptionIntroCarCards:Q,DescriptionTabs:J,DescriptionCardsContainer:K},data(){return{activeTabIndex:0,isMounted:!1,showDifference:!1,isScrolled:!1,cardsTop:"-100"}},computed:{dataIsLoaded(){return d().dataIsLoaded},pageData(){return d().pageData}},methods:{toggleShowDifference(e){this.showDifference=e},handleTabClick(e){this.activeTabIndex=e},shouldShowDropdown(e,t){for(let r of this.getUniqueSpecs(t,e))if(this.haveSpecsDifference(0,e,t,e===0?r.id:r.title))return!0;return!1},onScroll(){var t;const e=(t=document.querySelector("#cards"))==null?void 0:t.getBoundingClientRect();if(e){this.isScrolled=e.bottom<200||e.top-window.innerHeight>=0,this.cardsTop=-100;let r,o,i=".cards-top";this.$mode==="main-site"?(o=".header-sub-menu",r=this.$device.desktop?".navigation-header":".mobile-main-navigation-header"):(o=this.$device.desktop?".navigation-container-wrapper":null,r=this.$device.desktop?".navigation":".navbar");const a=this.getClientHeight(i),s=this.getClientHeight(r),n=this.getClientHeight(o);if(this.cardsTop=-(a-(s+n)),!this.isScrolled)return!1;const u=this.$mode==="main-site"?0:this.getClientHeight(".dealers-platform-submenu");this.cardsTop=s+n+u}},getClientHeight(e){const t=document.querySelector(e);return t?t.clientHeight:0},toggleSubmenu(){W().toggleSubmenuVisible()},handleSwiper(e){p.push(e),this.linksSwiper()},linksSwiper(){p.forEach((e,t)=>{const r=p.filter((i,a)=>a!==t);(Array.isArray(e)?e:[e]).forEach(i=>{i.on("slideChange",()=>{r.forEach(a=>{if(!a.slideTo)return!1;a.slideTo(i.activeIndex)})})})})},getUniqueSpecs(e,t){const r=[];return this.pageData.car.variants.forEach(o=>{o.categorized_specifications[t].childs[e].specifications.forEach(i=>r.push(i))}),t===0?r.filter((o,i,a)=>a.findIndex(s=>s.title===o.title)===i):r.filter((o,i,a)=>a.findIndex(s=>s.id===o.id)===i)},getVariantSpecifications(e,t,r){var i;return(i=this.pageData.car.variants[e].categorized_specifications[t].childs[r])==null?void 0:i.specifications},findSpecInVariantById(e,t,r,o){return this.getVariantSpecifications(e,t,r).find(a=>t===0?a.id==o:a.title==o)},haveSpecsDifference(e,t,r,o){if(!this.showDifference)return!0;const i=this.findSpecInVariantById(0,t,r,o);return this.pageData.car.variants.some((a,s)=>{const n=this.findSpecInVariantById(s,t,r,o);return(i==null?void 0:i.id)!=(n==null?void 0:n.id)||(i==null?void 0:i.title)!=(n==null?void 0:n.title)})}},async preFetch({ssrContext:e,urlPath:t,currentRoute:r}){if(r.params.slug==="tank-300"||r.params.slug==="tank-500"||r.params.slug==="tank-700"){const o=d();await o.fetchData(t,e,`/api/pages/specificationsPage/${r.params.slug}`,!0),X().setCurrentCar(o.pageData.car),L().updateTestDriveModel(r.params.slug)}else{const o=P();setTimeout(()=>{o.updateErrorState("notFoundError",!0),e&&e.res.status(404)},0)}},beforeMount(){p=[]},mounted(){setTimeout(()=>{this.isMounted=!0,this.linksSwiper()},0)},setup(){var r,o;const t={...d().pageData.meta_data};t.title=(o=(r=t.meta)==null?void 0:r.title)!=null&&o.content?t.meta.title.content:t.title,A(t)}},R={key:0,class:"comparison-page w-fluid"},$={class:"container"},ee={class:"bg-dark-3 q-py-lg"},te={class:"container"};function ae(e,t,r,o,i,a){const s=c("DescriptionIntroCarCards"),n=c("DescriptionCardsContainer"),u=c("DescriptionDifferenceCheckbox"),k=c("DescriptionTabs"),y=c("ModelPageConstructorAction"),I=c("ServicesActionButtons"),x=c("FooterDisclaimer");return g(),b(U,null,{default:O(()=>{var m,S,D,_,v,C;return[a.dataIsLoaded?V((g(),F("div",R,[l(s,{cardsTop:i.cardsTop,pageData:a.pageData,onOnSwiper:a.handleSwiper},null,8,["cardsTop","pageData","onOnSwiper"]),f("div",$,[l(n,{isMounted:i.isMounted,pageData:a.pageData,onOnScroll:a.onScroll,onOnSwiper:a.handleSwiper},null,8,["isMounted","pageData","onOnScroll","onOnSwiper"]),l(u,{onToggleShowDifference:a.toggleShowDifference},null,8,["onToggleShowDifference"]),l(k,{pageData:a.pageData,activeTabIndex:i.activeTabIndex,onTabClick:a.handleTabClick,findSpecInVariantById:a.findSpecInVariantById,getUniqueSpecs:a.getUniqueSpecs,haveSpecsDifference:a.haveSpecsDifference,shouldShowDropdown:a.shouldShowDropdown,onHandleSwiper:a.handleSwiper},null,8,["pageData","activeTabIndex","onTabClick","findSpecInVariantById","getUniqueSpecs","haveSpecsDifference","shouldShowDropdown","onHandleSwiper"])]),f("div",ee,[f("div",te,[l(y,{title:(m=a.pageData.footer_banner)==null?void 0:m.text1,text:(S=a.pageData.footer_banner)==null?void 0:S.text2,image:(D=a.pageData.footer_banner)==null?void 0:D.image,buttons:(_=a.pageData.footer_banner)==null?void 0:_.buttons,mobileImage:(v=a.pageData.footer_banner)==null?void 0:v.mobile_image},null,8,["title","text","image","buttons","mobileImage"])])]),l(I,{buttonsData:a.pageData.footer_widgets},null,8,["buttonsData"]),a.pageData&&((C=a.pageData.footer_disclaimer)==null?void 0:C.text)?(g(),b(x,{key:0,text:a.pageData.footer_disclaimer.text,class:"bg-dark-3 pt-64 container text-grey-2 footer-disclaimer"},null,8,["text"])):T("",!0)])),[[Y,a.onScroll]]):T("",!0)]}),_:1})}var de=E(Z,[["render",ae]]);export{de as default};
