1import{a as rt,b as lt,c as ct}from"./chunk-H7S2WQUF.js";import{a as ot,b as at,c as st}from"./chunk-R6X7VPJA.js";import"./chunk-YY6UWFDO.js";import{a as nt}from"./chunk-SQAABW5L.js";import{a as M,b as de,c as pe,d as me,e as ie,f as ue,g as ge}from"./chunk-BOHA7J2F.js";import{a as dt}from"./chunk-3EX6JQLW.js";import{a as et}from"./chunk-LFHPFMNJ.js";import"./chunk-YKP7EN3Z.js";import{c as it}from"./chunk-6KKC7O7C.js";import{a as tt}from"./chunk-UASJWRAE.js";import{a as te,c as Ze,e as We}from"./chunk-WVQMZZ7V.js";import{a as j,b as R}from"./chunk-SH3TVJ2X.js";import"./chunk-BYXBJQAS.js";import"./chunk-IS73VLGF.js";import{a as D}from"./chunk-7YTDFFNF.js";import{Ba as _,Fa as Xe,Ga as qe,Z as Qe,g as $e,h as Ye,i as Ke,j as ee,x as Je}from"./chunk-WJNJH67K.js";import"./chunk-ETY24YQI.js";import"./chunk-WTRIEQQR.js";import{c as ze,d as Ve,g as Be,p as Ue,r as q,t as W,u as Ge}from"./chunk-LX276OIG.js";import{j as He,k as je,l as Re,q as E,u as X,w as Ne}from"./chunk-VXYW7NLA.js";import{A as _e,Ac as ce,Cb as F,D as le,Db as H,F as Se,Fa as Y,Fb as K,Fc as Ie,Hb as S,Ib as y,Jc as Ae,Mc as Q,Nb as g,Ob as r,Pb as o,Qb as s,Rb as L,Sb as z,Sc as Fe,Tb as Z,Ub as ke,Vb as Ee,X as $,Ya as P,Yb as k,Zb as Me,aa as d,ab as c,dc as u,ec as J,fc as m,ga as v,ha as b,ia as f,j as he,ja as h,jb as we,jc as Oe,kc as Pe,lc as Le,mc as Te,nc as De,ob as w,p as ve,pa as ye,q as be,qc as l,rc as C,sc as T,ta as x,tb as N,ub as A,v as xe,ya as Ce}from"./chunk-NRGDV4PU.js";import{a as I,b as se}from"./chunk-C6Q5SG76.js";function ft(i,e){if(i&1&&(ke(0),s(1,"img",91),Ee()),i&2){let t,n=m(2);c(),g("src",n.authService.profileImageUrl(),P)("alt",((t=n.authService.currentUser())==null?null:t.name)||"Profile")}}function ht(i,e){if(i&1&&(r(0,"span",92),l(1),o()),i&2){let t,n=m(2);c(),C(((t=n.authService.currentUser())==null||t.name==null||(t=t.name.charAt(0))==null?null:t.toUpperCase())||"U")}}function vt(i,e){if(i&1&&N(0,ft,2,2,"ng-container",90)(1,ht,2,1,"ng-template",null,0,Ae),i&2){let t=Te(2),n=m();g("ngIf",n.authService.profileImageUrl())("ngIfElse",t)}}function bt(i,e){i&1&&(f(),r(0,"svg",12),s(1,"path",93),o())}var V="Select or search location",ne=class i{offcanvas=d(ee);locationService=d(We);marketing=d(j);router=d(W);ngZone=d(ye);cdr=d(Fe);authService=d(Je);locationSub;navSub;onMobileProfileOrLoginClick(){this.authService.openAccountPanel()}locations=["Kozhikode","Malappuram","Kochi"];selectedLocation="";selectedAddressDisplay=V;locationServiceable=null;ngOnInit(){let e=this.locationService.getSavedLocation(),t=this.getCityFromRoute();this.applyInitialLocation(e,t),this.locationSub=this.locationService.getCurrentLocationResult().subscribe(n=>{let a=n?.userChosen&&n?.address?n.address:V;this.selectedAddressDisplay=a,this.locationServiceable=n?.serviceable??null,this.selectedLocation=a,this.cdr.markForCheck()}),this.navSub=this.router.events.pipe(_e(n=>n instanceof Ue)).subscribe(()=>this.applyInitialLocation(this.locationService.getSavedLocation(),this.getCityFromRoute()))}applyInitialLocation(e,t){if(t){this.locationServiceable=!0;let a=e?.userChosen&&e?.city&&(e.city.id===t.id||e.city.city_name===t.city_name)&&e.address?e.address:V;this.selectedAddressDisplay=a,this.selectedLocation=a,this.cdr.markForCheck();return}e?.userChosen&&(this.selectedAddressDisplay=e.address,this.locationServiceable=e.serviceable,this.selectedLocation=e.address,this.cdr.markForCheck())}ngOnDestroy(){this.locationSub?.unsubscribe(),this.navSub?.unsubscribe()}getCityFromRoute(){return this.router.routerState.snapshot.root.firstChild?.data.city??null}openSelectLocationOffcanvas(){this.offcanvas.open(Qe,{position:"start"}).closed.subscribe(t=>{if(t&&typeof t=="object"&&"address"in t&&"serviceable"in t){let n=t;setTimeout(()=>{this.ngZone.run(()=>{this.applyLocationResult(n),this.cdr.detectChanges()})},0)}})}applyLocationResult(e){if(this.locationService.setSavedLocation(se(I({},e),{userChosen:!0})),this.marketing.trackEvent(R.LOCATION_SUCCESS,{address:e.address,latitude:e.lat,longitude:e.lng,city:e.city?.city_name??null,city_id:e.city?.id??null,city_name:e.city?.city_name??null,postal_code:e.postalCode??null},window.location.pathname),this.selectedAddressDisplay=e.address,this.locationServiceable=e.serviceable,this.selectedLocation=e.address,e.serviceable&&e.city)this.router.navigate([te(e.city.city_name)],{replaceUrl:!0});else if(e.serviceable&&!e.city)this.locationService.checkServiceable(e.lat,e.lng).pipe(Se(1)).subscribe(({serviceable:t,city:n})=>
1{t&&n&&(this.locationService.setSavedLocation(se(I({},e),{city:n,serviceable:!0,userChosen:!0})),this.router.navigate([te(n.city_name)],{replaceUrl:!0}))});else if(!e.serviceable){let t=Ze(this.router.url.split("?")[0]);this.router.navigateByUrl(t,{replaceUrl:!0})}this.cdr.markForCheck()}displayAddress(e){return!e||e===V?e||V:et(e)}navigateToSearch(){this.router.navigate(["/search"])}navigateToServices(){let e=this.locationService.getSavedLocation(),t=e?.serviceable&&e?.city?.city_name?te(e.city.city_name):null;t?this.router.navigate(["/services",t]):this.router.navigate(["/services"])}b2bAppUrl=D.b2bAppUrl;sparesAppUrl=D.sparesAppUrl;openSpares(){window.open(this.sparesAppUrl,"_blank","noopener,noreferrer")}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=w({type:i,selectors:[["app-hero"]],decls:137,vars:4,consts:[["profileInitial",""],[1,"max-w-[1280px]","mx-auto","sm:px-4","mt-0","md:mt-6","mb-4"],[1,"block","md:hidden","mobile-hero","-mx-4","px-4","pb-3","pt-3","text-white","relative","cursor-pointer",3,"click"],[1,"flex","justify-between","px-2","items-start","mb-3"],[1,"flex","flex-col"],["type","button",1,"flex","items-center","gap-1","text-sm","font-bold",3,"click"],["fill","currentColor","viewBox","0 0 24 24",1,"w-5","h-5"],["d","M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"],["fill","none","stroke","currentColor","viewBox","0 0 24 24",1,"w-4","h-4","ml-0.5"],["stroke-linecap","round","stroke-linejoin","round","stroke-width","2","d","M19 9l-7 7-7-7"],[1,"text-[11px]","opacity-80","mt-0.5","truncate","max-w-[200px]"],["type","button",1,"w-8","h-8","rounded-full","border","border-white/20","flex","items-center","justify-center","flex-shrink-0","overflow-hidden","bg-white/10","backdrop-blur-sm",3,"click"],["fill","none","stroke","currentColor","viewBox","0 0 24 24",1,"w-6","h-6","text-white"],["role","button","aria-label","Search for services",1,"bg-white","rounded-xl","h-10","px-3","mx-2","flex","items-center","mb-3","cursor-pointer","shadow-xl","shadow-blue-900/10",3,"click"],["fill","none","stroke","currentColor","viewBox","0 0 24 24","aria-hidden","true",1,"w-5","h-5","text-gray-400","mr-3"],["stroke-linecap","round","stroke-linejoin","round","stroke-width","2","d","M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"],[1,"text-gray-500","text-sm"],[1,"block","md:hidden","mt-4","relative","z-20","px-3"],["appScrollAnimate","stagger",1,"grid","grid-cols-2","gap-2","mb-2",2,"grid-template-rows","auto auto"],[1,"bg-white","rounded-2xl","p-2.5","hero-card-mobile","relative","row-span-2","h-full","min-h-[160px]","flex","flex-col","overflow-hidden","cursor-pointer",3,"click"],[1,"font-extrabold","text-[12px]","text-gray-900","leading-tight"],[1,"text-[9px]","text-gray-500","font-medium"],[1,"mt-2","w-max","relative","z-10"],[1,"hero-promo-badge","text-left","font-black"],[1,"hero-promo-line","hero-promo-line--a"],[1,"hero-promo-line","hero-promo-line--b","w-full","text-center"],[1,"absolute","right-0","bottom-0","w-[5.5rem]","h-[7rem]"],["ngSrc","/assets/icons/home-hero/fixail-man.webp","width","224","height","288","priority","","fetchpriority","high","alt","Service technician",1,"w-full","h-full","object-contain","object-bottom","translate-y-2"],[1,"bg-white","rounded-2xl","p-2.5","pb-0","hero-card-mobile","flex","flex-col","justify-between","overflow-hidden","cursor-pointer","relative",3,"click"],[1,"absolute","top-1.5","right-1.5","badge-new","bg-gradient-to-r","from-orange-500","to-red-500","text-white","text-[7px]","font-black","px-1.5","py-0.5","rounded-full","tracking-widest","z-10"],[1,"font-extrabold","text-[11px]","text-gray-900","leading-tight"],[1,"text-[9px]","text-gray-500","font-medium","leading-tight","mt-0.5"],[1,"flex","justify-end","pt-1"],["ngSrc","/assets/icons/home-hero/hero-spare-card.webp","width","224","height","288","priority","","alt","Fixail Spares",1,"w-12","h-12","object-contain"],[1,"bg-white","rounded-2xl","p-2.5","pb-0","hero-card-mobile","flex","flex-col","justify-between","overflow-hidden"],[1,"text-[9px]","text-gray-500","font-medium","mt-0.5"],["ngSrc","/assets/icons/home-hero/b2b-home-card.webp","width","224","height","288","priority","","alt","Fixail Business",1,"w-12","h-12","object-contain"],["appScrollAnimate","",1,"bg-white","rounded-2xl","p-2.5","hero-card-mobile","relative","h-24","flex","flex-col","overflow-hidden"],[1,"font-extrabold","text-[12px]","text-gray-900","mb-0.5"],[1,"text-[9px]","text-gray-500","font-medium","mb-2"],[1,"mt-1"],[1,"inline-flex","items-center","gap-1","border","border-blue-200","text-[#1d4ed8]","text-[10px]","font-bold","px-2","py-1","rounded-full","bg-blue-50/50"],["viewBox","0 0 24 24","fill","currentColor",1,"w-3","h-3"],["d","M13 10V3L4 14h7v7l9-11h-7z"],[1,"absolute","right-0","bottom-0","w-[60%]","h-full"],["ngSrc","/assets/icons/home-hero/fixail-quick-hero-card.webp","width","320","height","400","priority","","alt","Fixail Quick",1,"w-full","h-full","object-contain","object-bottom","translate-y-1"],[1,"hidden","md:block","desktop-hero","mt-6","rounded-[2.1rem]","py-7","px-4","sm:px-6","relative","overflow-hidden","text-center"],[1,"relative","z-10","text-white","max-w-4xl","mx-auto","mb-3"],[1,"text-2xl","lg:text-3xl","font-medium","mb-4","leading-snug"],[1,"flex","max-w-3xl","mx-auto","gap-3","mb-4"],["type","button",1,"flex-[0.32]","min-w-0","bg-white","rounded-2xl","h-12","flex","items-center","px-3","shadow-xl","hover:bg-gray-50","transition-all","text-left","group",3,"click"],[1,"flex","items-center","w-full","gap-2"],[1,"w-8","h-8","rounded-full","bg-blue-50","flex","items-center","justify-center","flex-shrink-0","group-hover:bg-blue-100","transition-colors"],["fill","currentColor","viewBox","0 0 24 24",1,"w-5","h-5","text-[#1F3E78]"],["d","M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5a2.5 2.5 0 010-5 2.5 2.5 0 010 5z"],[1,"flex","flex-col","min-w-0","flex-1"],[1,"flex","items-center","gap-1"],[1,"truncate","text-gray-900","font-medium","text-sm"],["fill","none","stroke","currentColor","viewBox","0 0 24 24","aria-hidden","true",1,"w-6","h-6","text-gray-400"],[1,"flex-[0.68]","min-w-0","bg-white","rounded-2xl","h-12","flex","items-center","px-4","shadow-xl","cursor-pointer","hover:bg-gray-50","transition-all","group",3,"click"],[1,"flex","items-center","w-full","gap-3"],["type","text","placeholder","Search for Services","aria-label","Search for services","readonly","",1,"flex-1","bg-transparent","text-gray-900","placeholder-gray-500","focus:outline-none","pointer-events-none"],["fill","none","stroke","currentColor","viewBox","0 0 24 24",1,"w-5","h-5","text-[#1F3E78]"],["appScrollAnimate","stagger",1,"grid","grid-cols-12","gap-4","mx-auto","text-left","max-w-5xl",2,"grid-template-rows","8.5rem 9rem"],[1,"hero-card-desktop","col-span-4","row-span-2","bg-white","rounded-[1.25rem]","p-4","relative","overflow-hidden","group","cursor-pointer",3,"click"],[1,"relative","z-10"],[1,"text-base","font-bold","text-gray-900"],[1,"text-gray-500","text-sm","font-medium","mb-3"],[1,"inline-block","bg-[#EEF2FF]","text-[#1d4ed8]","font-bold","px-3","py-1.5","rounded-full","text-[10px]","uppercase","tracking-wider"],[1,"absolute","bottom-4","left-5"],[1,"w-14","h-14","flex","items-center","justify-center","transition-opacity","hover:opacity-80"],["src","/assets/icons/uparrow-main.svg","alt","arrow",1,"w-full","h-full"],[1,"absolute","right-3","-bottom-4","w-36","h-44"],["ngSrc","/assets/icons/home-hero/fixail-man.webp","width","320","height","400","priority","","alt","Fixail Professional",1,"w-full","h-full","object-contain","object-bottom","transform","scale-105","origin-bottom","transition-transform","duration-500","group-hover:scale-110"],[1,"hero-card-desktop-strong","col-span-4","bg-white","rounded-[1.25rem]","p-4","relative","overflow-hidden","cursor-pointer",3,"click"],[1,"absolute","top-3","right-3","badge-new","bg-gradient-to-r","from-orange-500","to-red-500","text-white","text-[9px]","font-black","px-2","py-0.5","rounded-full","tracking-widest","shadow-sm","z-10"],[1,"relative","z-10","max-w-[60%]"],[1,"text-gray-500","text-[12px]","font-medium"],[1,"absolute","right-2","bottom-2","w-20","h-20"],["ngSrc","/assets/icons/home-hero/hero-spare-card.webp","width","320","height","400","priority","","alt","Fixail Spares",1,"w-full","h-full","object-contain","object-bottom"],[1,"hero-card-desktop-strong","col-span-4","block","bg-white","rounded-[1.25rem]","p-4","relative","overflow-hidden"],[1,"text-base","font-bold","text-gray-900","mb-1"],[1,"text-gray-500","text-sm","font-medium"],["ngSrc","/assets/icons/home-hero/b2b-home-card.webp","width","320","height","400","priority","","alt","Fixail Business",1,"w-full","h-full","object-contain","object-bottom"],[1,"hero-card-desktop","col-span-8","bg-white","rounded-[1.25rem]","p-4","relative","overflow-hidden","group","cursor-pointer"],[1,"text-gray-500","text-sm","font-medium","mb-2"],[1,"inline-flex","items-center","gap-1.5","bg-[#EEF2FF]","text-[#1d4ed8]","font-bold","px-3","py-1","rounded-full","text-[10px]","uppercase","tracking-wider"],[1,"w-6","h-6","flex","items-center","justify-center","transition-opacity","hover:opacity-80"],[1,"absolute","right-0","bottom-0","w-[45%]","h-full"],["ngSrc","/assets/icons/home-hero/fixail-quick-hero-card.webp","width","320","height","400","priority","","alt","Fixail Professional",1,"w-full","h-full","object-contain","object-bottom","transform","scale-105","origin-bottom","transition-transform","duration-500","group-hover:scale-110"],[4,"ngIf","ngIfElse"],[1,"w-full","h-full","object-cover",3,"src","alt"],[1,"text-white","font-bold","text-base"],["stroke-linecap","round","stroke-linejoin","round","stroke-width","2","d","M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"]],template:function(t,n){t&1&&(r(0,"div",1)(1,"div",2),u("click",function(){return n.navigateToServices()}),r(2,"div",3)(3,"div",4)(4,"button",5),u("click",function(p){return n.openSelectLocationOffcanvas(),p.stopPropagation()}),f(),r(5,"svg",6),s(6,"path",7),o(),h(),r(7,"span"),l(8,"Home"),o(),f(),r(9,"svg",8),s(10,"path",9),o()(),h(),r(11,"div",10),l(12),o()(),r(13,"button",11),u("click",function(p){return n.onMobileProfileOrLoginClick(),p.stopPropagation()}),S(14,vt,3,2)(15,bt,2,0,":svg:svg",12),o()(),r(16,"div",13),u("click",function(p){return n.navigateToSearch(),p.stopPropagation()}),f(),r(17,"svg",14),s(18,"path",15),o(),h(),r(19,"span",16),l(20,"Search for services"),o()()(),r(21,"div",17)(22,"div",18)(23,"div",19),u("click",function(){return n.navigateToServices()}),r(24,"p",20),l(25,"HOME SERVICES"),o(),r(26,"p",21),l(27,"On-Demand"),o(),r(28,"div",22)(29,"span",23)(30,"span",24),l(31,"UP TO 20% OFF"),o(),r(32,"span",25),l(33,"ON 1ST ORDER!"),o()()(),r(34,"div",26),s(35,"img",27),o()(),r(36,"div",28),u("click",function(){return n.openSpares()}),r(37,"span",29),l(38,"BETA"),o(),r(39,"div")(40,"p",30),l(41,"FIXAIL SPARES"),o(),r(42,"p",31),l(43,"Shop Spares by Model. Zero Compatibility Risk."),o()(),r(44,"div",32),s(45,"img",33),o()(),r(46,"div",34)(47,"div")(48,"p",30),l(49,"FIXAIL BUSINESS"),o(),r(50,"p",35),l(51,"Launc
1hing Soon..!"),o()(),r(52,"div",32),s(53,"img",36),o()()(),r(54,"div",37)(55,"p",38),l(56,"FIXAIL QUICK"),o(),r(57,"p",39),l(58,"Launching Soon..!"),o(),r(59,"div",40)(60,"span",41),f(),r(61,"svg",42),s(62,"path",43),o(),l(63," 30 mins "),o()(),h(),r(64,"div",44),s(65,"img",45),o()()(),r(66,"div",46)(67,"div",47)(68,"h1",48),l(69," Expert Care. Genuine Parts."),s(70,"br"),l(71,"One Trusted Platform. "),o(),r(72,"div",49)(73,"button",50),u("click",function(){return n.openSelectLocationOffcanvas()}),r(74,"div",51)(75,"div",52),f(),r(76,"svg",53),s(77,"path",54),o()(),h(),r(78,"div",55)(79,"div",56)(80,"span",57),l(81),o(),f(),r(82,"svg",58),s(83,"path",9),o()()()()(),h(),r(84,"div",59),u("click",function(){return n.navigateToSearch()}),r(85,"div",60),s(86,"input",61),r(87,"div",52),f(),r(88,"svg",62),s(89,"path",15),o()()()()(),h(),r(90,"div",63)(91,"div",64),u("click",function(){return n.navigateToServices()}),r(92,"div",65)(93,"p",66),l(94,"Home Services"),o(),r(95,"p",67),l(96,"On-Demand"),o(),r(97,"span",68),l(98," UP TO 20% OFF ON 1ST ORDER! "),o()(),r(99,"div",69)(100,"div",70),s(101,"img",71),o()(),r(102,"div",72),s(103,"img",73),o()(),r(104,"div",74),u("click",function(){return n.openSpares()}),r(105,"span",75),l(106,"BETA"),o(),r(107,"div",76)(108,"p",66),l(109,"Fixail Spares"),o(),r(110,"p",77),l(111,"Shop Spares by Model. Zero Compatibility Risk."),o()(),r(112,"div",78),s(113,"img",79),o()(),r(114,"div",80)(115,"div",65)(116,"p",81),l(117,"Fixail Business"),o(),r(118,"p",82),l(119,"Launching Soon..!"),o()(),r(120,"div",78),s(121,"img",83),o()(),r(122,"div",84)(123,"div",65)(124,"p",66),l(125,"Fixail Quick"),o(),r(126,"p",85),l(127,"Launc
1hing Soon..!"),o(),r(128,"span",86),f(),r(129,"svg",42),s(130,"path",43),o(),l(131," 30 mins "),o()(),h(),r(132,"div",69)(133,"div",87),s(134,"img",71),o()(),r(135,"div",88),s(136,"img",89),o()()()()()()),t&2&&(c(12),T(" ",n.displayAddress(n.selectedAddressDisplay)," "),c(),K("aria-label",n.authService.isLoggedIn()?"My Account":"Log in"),c(),y(n.authService.isLoggedIn()?14:15),c(67),C(n.displayAddress(n.selectedAddressDisplay)))},dependencies:[E,Re,Ne,_],styles:['@charset "UTF-8";.mobile-hero[_ngcontent-%COMP%]{background-image:url(/assets/icons/home-hero/mob-hero-bg.webp);background-size:cover;background-position:center;min-height:310px;border-radius:0 0 2.5rem 2.5rem}.deal-rush-title[_ngcontent-%COMP%]{font-family:Unbounded,system-ui,sans-serif;background:linear-gradient(180deg,#fff,#ffffffb3);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero-card-mobile[_ngcontent-%COMP%]{box-shadow:0 0 20px #00000008,0 8px 24px #0000000f;border:1px solid rgba(0,0,0,.015);transition:transform .65s cubic-bezier(.23,1,.32,1),box-shadow .65s cubic-bezier(.23,1,.32,1)}.hero-card-mobile[_ngcontent-%COMP%]:hover{will-change:transform;transform-style:preserve-3d;transform:perspective(700px) rotateX(9deg) rotateY(9deg) translateZ(10px);box-shadow:-10px -8px 48px #00000024,0 4px 12px #0000000f}.hero-card-desktop[_ngcontent-%COMP%]{position:relative;z-index:0;transition:transform .65s cubic-bezier(.23,1,.32,1),box-shadow .65s cubic-bezier(.23,1,.32,1)}.hero-card-desktop[_ngcontent-%COMP%]:hover{will-change:transform;transform-style:preserve-3d;z-index:10;transform:perspective(900px) rotateX(5deg) rotateY(4deg) translateZ(6px);box-shadow:-6px -5px 32px #00000026,0 4px 12px #00000014}.hero-card-desktop-strong[_ngcontent-%COMP%]{position:relative;z-index:0;transition:transform .65s cubic-bezier(.23,1,.32,1),box-shadow .65s cubic-bezier(.23,1,.32,1)}.hero-card-desktop-strong[_ngcontent-%COMP%]:hover{will-change:transform;transform-style:preserve-3d;z-index:10;transform:perspective(700px) rotateX(11deg) rotateY(10deg) translateZ(14px);box-shadow:-10px -8px 48px #0000002e,0 6px 16px #0000001a}.desktop-hero[_ngcontent-%COMP%]{background:radial-gradient(100% 225% at 0% 0%,#0a2e8f,#020617);position:relative}.special-font[_ngcontent-%COMP%]{font-family:Unbounded,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.hero-promo-badge[_ngcontent-%COMP%]{display:inline-block;position:relative;background:#eef2ff;color:#1d4ed8;font-size:9px;font-weight:900;border-radius:6px;text-transform:uppercase;letter-spacing:.02em;overflow:hidden;vertical-align:middle}.hero-promo-line[_ngcontent-%COMP%]{display:block;padding:4px 8px;white-space:nowrap}.hero-promo-line--a[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_hero-promo-a 3s ease-in-out infinite}.hero-promo-line--b[_ngcontent-%COMP%]{position:absolute;top:0;left:0;right:0;animation:_ngcontent-%COMP%_hero-promo-b 3s ease-in-out infinite}@keyframes _ngcontent-%COMP%_hero-promo-a{0%,40%{opacity:1}50%,90%{opacity:0}to{opacity:1}}@keyframes _ngcontent-%COMP%_hero-promo-b{0%,40%{opacity:0}50%,90%{opacity:1}to{opacity:0}}.badge-new[_ngcontent-%COMP%]{overflow:hidden;animation:_ngcontent-%COMP%_badge-glow 2.4s ease-in-out infinite}.badge-new[_ngcontent-%COMP%]:after{content:"";position:absolute;top:-50%;left:-60%;width:40%;height:200%;background:linear-gradient(to right,transparent 0%,rgba(255,255,255,.55) 50%,transparent 100%);transform:skew(-15deg);animation:_ngcontent-%COMP%_badge-shimmer 3.2s ease-in-out infinite}@keyframes _ngcontent-%COMP%_badge-glow{0%,to{transform:scale(1);box-shadow:0 0 5px #f9731659}50%{transform:scale(1.08);box-shadow:0 0 14px 4px #f97316b3}}@keyframes _ngcontent-%COMP%_badge-shimmer{0%{left:-60%;opacity:0}10%{opacity:1}45%,to{left:130%;opacity:0}
1}.location-dropdown-panel[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_locationDropdownIn .25s ease-out forwards}@keyframes _ngcontent-%COMP%_locationDropdownIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}']})};var xt=["carouselTrack"],_t=(i,e)=>({"row-span-2 min-h-[14rem]":i,"h-28":e});function St(i,e){i&1&&(r(0,"div",11),s(1,"div",12)(2,"div",13)(3,"div",13),o(),r(4,"div",14),s(5,"div",15)(6,"div",15)(7,"div",15),o())}function yt(i,e){if(i&1){let t=k();r(0,"a",20),u("click",function(){let a=v(t),p=a.$implicit,G=a.index,O=m(3);return b(O.onCategoryClick(p,G))}),r(1,"div",21)(2,"h3",22),l(3),o(),r(4,"p",23),l(5),o()(),r(6,"div",24)(7,"img",25),u("error",function(a){v(t);let p=m(3);return b(p.onImageError(a))}),o()()()}if(i&2){let t=e.$implicit,n=e.index,a=m(3);g("routerLink",a.getCategoryLink(t))("ngClass",Ie(10,_t,n===0,n!==0)),c(3),C(t.title),c(2),C(t.bookingsLabel),c(),g("ngClass",n===0?"w-24 h-24":"w-12 h-12"),c(),g("alt",ce(t.title))("src",t.image,P),K("width",n===0?128:64)("height",n===0?128:64)}}function Ct(i,e){if(i&1){let t=k();r(0,"a",26),u("click",function(){let a=v(t),p=a.$implicit,G=a.index,O=m(3);return b(O.onCategoryClick(p,G))}),r(1,"div")(2,"h3",27),l(3),o(),r(4,"p",28),l(5),o(),r(6,"span",29),l(7),o()(),r(8,"div",30)(9,"img",31),u("error",function(a){v(t);let p=m(3);return b(p.onImageError(a))}),o()()()}if(i&2){let t=e.$implicit,n=m(3);g("routerLink",n.getCategoryLink(t)),c(3),C(t.title),c(2),T("",t.bookingsLabel," completed this year"),c(2),T(" ",t.bookingsLabel," "),c(2),g("alt",ce(t.title))("src",t.image,P)}}function wt(i,e){if(i&1&&(r(0,"div",16),N(1,yt,8,13,"a",17),o(),r(2,"div",18,0),N(4,Ct,10,7,"a",19),o()),i&2){let t=m(2);c(),g("ngForOf",t.items),c(3),g("ngForOf",t.items)}}function kt(i,e){if(i&1){let t=k();r(0,"div",1)(1,"div",2)(2,"h2",3),l(3),s(4,"br",4),l(5),o(),r(6,"div",5)(7,"button",6),u("click",function(){v(t);let a=m();return b(a.scrollPrev())}),f(),r(8,"svg",7),s(9,"path",8),o()(),h(),r(10,"button",9),u("click",function(){v(t);let a=m();return b(a.scrollNext())}),f(),r(11,"svg",7),s(12,"path",10),o()()()(),S(13,St,8,0)(14,wt,5,2),o()}if(i&2){let t=m();c(3),T(" ",t.titleLine1),c(2),T("",t.titleLine2," "),c(8),y(t.loading?13:14)}}var re=class i{constructor(e){this.route=e}title="";items=[];loading=!1;carouselTrackRef;fallbackIcon="assets/icons/hero-expert-icon.svg";revealObserver;platformId=d(Y);analytics=d(it);marketing=d(j);ngAfterViewInit(){this.loading||this.setupCardsReveal()}ngOnChanges(e){e.loading&&!this.loading&&Promise.resolve().then(()=>this.setupCardsReveal())}ngOnDestroy(){this.revealObserver?.disconnect()}setupCardsReveal(){if(!X(this.platformId))return;let e=this.carouselTrackRef?.nativeElement;!e||e.classList.contains("cards-ready")||(e.classList.add("cards-ready"),this.revealObserver=new IntersectionObserver(t=>{t.forEach(n=>{n.isIntersecting&&(e.classList.add("cards-revealed"),setTimeout(()=>e.classList.add("reveal-done"),1400),this.revealObserver?.unobserve(n.target))})},{threshold:.15}),this.revealObserver.observe(e))}get titleLine1(){let e=this.title||"Find Your Home Service",t=e.indexOf("Service");return t!==-1?e.slice(0,t+7):e}get titleLine2(){let e=this.title||"Find Your Home Service",t=e.indexOf("Service");return t!==-1?e.slice(t+7):""}scrollPrev(){let e=this.carouselTrackRef?.nativeElement;e&&(e.scrollLeft=Math.max(0,e.scrollLeft-312))}scrollNext(){let e=this.carouselTrackRef?.nativeElement;e&&(e.scrollLeft+=312)}get citySlug(){return this.route.parent?.snapshot?.paramMap.get("city")??null}getCategoryLink(e){let t=e?.slug??"";return this.citySlug?["/services",t,this.citySlug]:["/services",t]}onImageError(e){let t=e.target;t?.src&&(t.src=this.fallbackIcon)}onCategoryClick(e,t){this.analytics.selectCategory({category_slug:e.slug,category_name:e.title,position:t,source_page_type:"home",source_page_path:typeof window<"u"?window.location.pathname:"/"}),this.marketing.trackEvent(R.HOME_CATEGORY_TAP,{category_id:e.id??null,category_name:e.title??""},typeof window<"u"?window.location.pathname:"/")}static \u0275fac=function(t){return new(t||i)(we(q))};static \u0275cmp=w({type:i,selectors:[["app-service-carousel"]],viewQuery:function(t,n){if(t&1&&Oe(xt,5),t&2){let a;Pe(a=Le())&&(n.carouselTrackRef=a.first)}},inputs:{title:"title",items:"items",loading:"loading"},features:[Ce],decls:1,vars:1,consts:[["carouselTrack",""],[1,"md:p-8","md:bg-[#F0F5FF]","md:rounded-[2rem]"],[1,"flex","justify-between","items-end","md:items-center","mb-6","md:mb-5"],[1,"text-base","md:text-2xl","font-extrabold","text-black-900","leading-tight","w-full","md:w-auto"],[1,"hidden","md:block"],[1,"hidden","md:flex","gap-3"],["type","button","aria-label","Previous",1,"p-2","rounded-full","bg-gray-200","hover:bg-gray-300","text-gray-600","transition-colors",3,"click"],["fill","none","stroke","currentColor","viewBox","0 0 24 24",1,"w-4","h-4"],["stroke-linecap","round","stroke-linejoin","round","stroke-width","2","d","M15 19l-7-7 7-7"],["type","button","aria-label","Next",1,"p-2","rounded-full","bg-gray-200","hover:bg-gray-300","text-gray-600","transition-colors",3,"click"],["stroke-linecap","round","stroke-linejoin","round","stroke-width","2","d","M9 5l7 7-7 7"],[1,"md:hidden","grid","grid-cols-2","gap-3"],[1,"row-span-2","min-h-[18rem]","rounded-[1rem]","bg-gray-200","animate-pulse"],[1,"h-36","rounded-[1rem]","bg-gray-200","animate-pulse"],[1,"hidden","md:flex","gap-4","overflow-hidden","pb-6"],[1,"flex-shrink-0","w-60","min-h-[15rem]","rounded-[1.25rem]","bg-gray-200","animate-pulse"],["appScrollAnimate","stagger",1,"category-card-grid","md:hidden","grid","grid-cols-2","gap-3"],["class","category-card-lift bg-white rounded-[1.25rem] p-3 relative overflow-hidden flex flex-col justify-between group cursor-pointer border border-transparent shadow-[0_4px_16px_rgba(0,0,0,0.06)] no-underline text-inherit",3,"routerLink","ngClass","click",4,"ngFor","ngForOf"],[1,"cards-reveal-track","hidden","md:flex","overflow-x-auto","gap-4","pb-8","scrollbar-hide","service-carousel-track",2,"overflow-y","visible","padding-top","6px"],["class","service-card-3d flex-shrink-0 w-60 bg-white rounded-[1.5rem] p-4 shadow-[0_8px_24px_rgb(0,0,0,0.08)] cursor-pointer flex flex-col justify-between min-h-[15rem] no-underline text-inherit",3,"routerLink","click",4,"ngFor","ngForOf"],[1,"category-card-lift","bg-white","rounded-[1.25rem]","p-3","relative","overflow-hidden","flex","flex-col","justify-between","group","cursor-pointer","border","border-transparent","shadow-[0_4px_16px_rgba(0,0,0,0.06)]","no-underline","text-inherit",3,"click","routerLink","ngClass"],[1,"relative","z-10"],[1,"font-bold","text-[13px]","text-gray-900","leading-tight","mb-0.5"],[1,"text-[10px]","font-medium","text-gray-500","pr-14"],[1,"absolute","right-2","bottom-2","flex","items-end","justify-end",3,"ngClass"],["loading","lazy",1,"w-full","h-full","object-contain","object-bottom","transition-transform","duration-300","group-hover:scale-110",3,"error","src","alt"],[1,"service-card-3d","flex-shrink-0","w-60","bg-white","rounded-[1.5rem]","p-4","shadow-[0_8px_24px_rgb(0,0,0,0.08)]","cursor-pointer","flex","flex-col","justify-between","min-h-[15rem]","
1no-underline","text-inherit",3,"click","routerLink"],[1,"font-bold","text-lg","text-gray-900","mb-1"],[1,"text-xs","font-semibold","text-gray-600","mb-2"],[1,"inline-block","w-4/5","bg-gradient-to-r","from-[#B0CEEF]","to-[#FFFFFF]","text-[rgb(9,49,161)]","text-xs","font-bold","px-3","py-1.5","rounded-full"],[1,"mt-3","flex","justify-end"],["width","96","height","96","loading","lazy",1,"w-24","h-24","object-contain","object-bottom","transition-transform","duration-300","hover:scale-105",3,"error","src","alt"]],template:function(t,n){t&1&&S(0,kt,15,3,"div",1),t&2&&y(n.loading||n.items.length>0?0:-1)},dependencies:[E,He,je,Ge,_],styles:["@keyframes _ngcontent-%COMP%_card-rise{0%{opacity:0;transform:translateY(44px) scale(.91)}to{opacity:1;transform:translateY(0) scale(1)}}.cards-reveal-track.cards-ready[_ngcontent-%COMP%]:not(.cards-revealed) .service-card-3d[_ngcontent-%COMP%]{opacity:0;transform:translateY(44px) scale(.91)}.cards-reveal-track.cards-revealed[_ngcontent-%COMP%]:not(.reveal-done) .service-card-3d[_ngcontent-%COMP%]:nth-child(1){animation:_ngcontent-%COMP%_card-rise .72s cubic-bezier(.16,1,.3,1) 0s both}.cards-reveal-track.cards-revealed[_ngcontent-%COMP%]:not(.reveal-done) .service-card-3d[_ngcontent-%COMP%]:nth-child(2){animation:_ngcontent-%COMP%_card-rise .72s cubic-bezier(.16,1,.3,1) .07s both}.cards-reveal-track.cards-revealed[_ngcontent-%COMP%]:not(.reveal-done) .service-card-3d[_ngcontent-%COMP%]:nth-child(3){animation:_ngcontent-%COMP%_card-rise .72s cubic-bezier(.16,1,.3,1) .14s both}.cards-reveal-track.cards-revealed[_ngcontent-%COMP%]:not(.reveal-done) .service-card-3d[_ngcontent-%COMP%]:nth-child(4){animation:_ngcontent-%COMP%_card-rise .72s cubic-bezier(.16,1,.3,1) .21s both}.cards-reveal-track.cards-revealed[_ngcontent-%COMP%]:not(.reveal-done) .service-card-3d[_ngcontent-%COMP%]:nth-child(5){animation:_ngcontent-%COMP%_card-rise .72s cubic-bezier(.16,1,.3,1) .28s both}.cards-reveal-track.cards-revealed[_ngcontent-%COMP%]:not(.reveal-done) .service-card-3d[_ngcontent-%COMP%]:nth-child(6){animation:_ngcontent-%COMP%_card-rise .72s cubic-bezier(.16,1,.3,1) .35s both}.cards-reveal-track.cards-revealed[_ngcontent-%COMP%]:not(.reveal-done) .service-card-3d[_ngcontent-%COMP%]:nth-child(7){animation:_ngcontent-%COMP%_card-rise .72s cubic-bezier(.16,1,.3,1) .42s both}.cards-reveal-track.cards-revealed[_ngcontent-%COMP%]:not(.reveal-done) .service-card-3d[_ngcontent-%COMP%]:nth-child(8){animation:_ngcontent-%COMP%_card-rise .72s cubic-bezier(.16,1,.3,1) .49s both}.cards-reveal-track.cards-revealed[_ngcontent-%COMP%]:not(.reveal-done) .service-card-3d[_ngcontent-%COMP%]:nth-child(n+9){opacity:1}.cards-reveal-track.reveal-done[_ngcontent-%COMP%] .service-card-3d[_ngcontent-%COMP%]{opacity:1;animation:none}.category-card-grid.sa-host.sa-stagger[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{transform:translate3d(0,52px,0) scale(.88);transition-timing-function:cubic-bezier(.16,1,.3,1);transition-duration:.75s}.category-card-grid.sa-host.in-view.sa-stagger[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{transform:translateZ(0) scale(1)}.category-card-lift[_ngcontent-%COMP%]{transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1)}.category-card-lift[_ngcontent-%COMP%]:hover{transform:translateY(-5px);box-shadow:0 12px 28px #0000001a}@media(prefers-reduced-motion:reduce){.cards-reveal-track[_ngcontent-%COMP%] .service-card-3d[_ngcontent-%COMP%], .cards-reveal-track.cards-revealed[_ngcontent-%COMP%]:not(.reveal-done) .service-card-3d[_ngcontent-%COMP%]{animation:none!important;opacity:1!important;transform:none!important}.category-card-grid.sa-host.sa-stagger[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{transform:none!important}.category-card-lift[_ngcontent-%COMP%]:hover{transform:none!important}}.service-carousel-track[_ngcontent-%COMP%]{scrollbar-width:none}.service-carousel-track[_ngcontent-%COMP%]::-webkit-scrollbar{display:none}.service-card-3d[_ngcontent-%COMP%]{transform-style:preserve-3d;backface-visibility:hidden;transition:transform .65s cubic-bezier(.23,1,.32,1),box-shadow .65s cubic-bezier(.23,1,.32,1);will-change:transform}.service-card-3d[_ngcontent-%COMP%]:hover{transform:perspective(700px) rotateX(9deg) rotateY(9deg) translateZ(10px);box-shadow:-10px -8px 48px #00000029,0 4px 12px #00000014}"]})};var oe=class i{http=d(Be);baseUrl=D.sparesApiUrl;formatErrors(e){return he(()=>e?.error??e)}get(e,t=new Ve){return this.http.get(`${this.baseUrl}/${e}`,{params:t}).pipe(le(this.formatErrors))}post(e,t={}){return this.http.post(`${this.baseUrl}/${e}`,JSON.stringify(t),{headers:new ze({"Content-Type":"application/json"})}).pipe(le(this.formatErrors))}static \u0275fac=function(t){return new(t||i)};static \u0275prov=$({token:i,factory:i.\u0275fac,providedIn:"root"})};var ae=class i{api=d(oe);getCategories(){return this.api.get("v2/categories").pipe(ve(e=>e.data??[]))}static \u0275fac=function(t){return new(t||i)};static \u0275prov=$({token:i,factory:i.\u0275fac,providedIn:"root"})};function Et(i){let e=`${M}
1/${i.toLowerCase().replace(/\s+/g,"-")}`;return{title:`Best Home Services App in ${i} | Home Repair Services`,description:`Fixail provides expert home services in ${i}, including electricians, plumbers, carpenters, AC servicing, and more. Download the app now!`,keywords:`home services in ${i}, home repairs in ${i}, appliance repairs, home services`,ogTitle:`Best home services in ${i} | Professional Repairs & Maintenance`,ogDescription:`Get trustworthy home services in ${i}, such as cleaning, appliance, and house repairs. Professional solutions are right at your door! Book Now.`,url:e,image:de}}function Mt(){return{title:"Trusted App for Home Services & Appliance Spares | Fixail",description:"Book expert home services, buy genuine appliance spares, and manage it all in one app. Fixail makes home care fast, easy, affordable, and reliable.",keywords:"home services, home repairs, home service App, Fixail spares",ogTitle:"Fixail | Book Home Services & Buy Spares Instantly",ogDescription:"From AC repairs to genuine appliance spares, Fixail brings all your home service needs into one easy-to-use app. Book instantly and enjoy seamless home care across India.",url:M+"/",image:de}}function pt(i){let e=(i??"").trim();return e?Et(e):Mt()}function Ot(i){return{"@context":"https://schema.org","@type":"LocalBusiness",name:"Fixail",image:pe,url:`${M}/${i}`,telephone:ie.telephone,email:ie.email,address:I({"@type":"PostalAddress"},ue),geo:{"@type":"GeoCoordinates",latitude:ge.latitude,longitude:ge.longitude},openingHours:"Mo-Su 07:00-19:00",aggregateRating:{"@type":"AggregateRating",ratingValue:"4.6",reviewCount:"126"},sameAs:[...me]}}function Pt(){return{"@context":"https://schema.org","@type":"Organization",name:"Fixail",url:M+"/",logo:pe,address:I({"@type":"PostalAddress"},ue),contactPoint:{"@type":"ContactPoint",telephone:ie.telephone,contactType:"customer service",availableLanguage:"en"},sameAs:[...me]}}function Lt(){return{"@context":"https://schema.org/","@type":"WebSite",name:"Fixail",url:M+"/",potentialAction:{"@type":"SearchAction",target:{"@type":"EntryPoint",urlTemplate:`${M}/search?q={search_term_string}`},"query-input":"required name=search_term_string"}}}function Tt(){return{"@context":"https://schema.org/","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:M+"/"}]}}function mt(i){let e=(i??"").trim();if(e){let t=e.toLowerCase().replace(/\s+/g,"-");return[Ot(t)]}return[Pt(),Lt(),Tt()]}function Dt(i,e){if(i&1){let t=k();L(0,"div",5)(1,"button",6),J("click",function(a){v(t);let p=m();return a.stopPropagation(),b(p.onCheckNow())}),L(2,"span"),l(3),z(),f(),L(4,"svg",7),Z(5,"path",8),z()()()}if(i&2){let t=m();c(),De("background-color",t.popup.button_color||"#0A3785"),c(2),C(t.popup.button_text)}}var U=class i{activeModal=d($e,{optional:!0});activeOffcanvas=d(Ke,{optional:!0});router=d(W);popup;dismiss(){this.activeModal?.dismiss(),this.activeOffcanvas?.dismiss()}onCheckNow(){this.dismiss(),this.popup.service_link&&this.router.navigateByUrl(this.popup.service_link)}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=w({type:i,selectors:[["app-popup-modal"]],decls:6,vars:3,consts:[[1,"relative","p-2","bg-white","rounded-2xl","overflow-hidden","cursor-pointer","flex","flex-col","max-h-[90dvh]",3,"click"],["type","button",1,"absolute","top-3","right-3","z-10","w-8","h-8","rounded-full","bg-black/30","hover:bg-black/50","flex","items-center","justify-center","transition-colors","border-none","cursor-pointer",3,"click"],["fill","none","stroke","currentColor","viewBox","0 0 24 24","stroke-width","2",1,"w-4","h-4","text-white"],["stroke-linecap","round","stroke-linejoin","round","d","M6 18L18 6M6 6l12 12"],["width","400","height","300",1,"w-full","flex-1","min-h-0","rounded-xl","mb-2","object-cover","object-top",3,"src","alt"],[1,"flex-shrink-0"],["type","button",1,"w-full","flex","items-center","justify-between","px-6","py-3","text-white","font-semibold","text-base","rounded-xl","transition-opacity","hover:opacity-90",3,"click"],["fill","none","stroke","currentColor","viewBox","0 0 24 24","stroke-width","2.5",1,"w-5","h-5"],["stroke-linecap","round","stroke-linejoin","round","d","M13.5 4.5L21 12m0 0l-7.5 7.5M21 12H3"]],template:function(t,n){t&1&&(L(0,"div",0),J("click",function(){return n.onCheckNow()}),L(1,"button",1),J("click",function(p){return p.stopPropagation(),n.dismiss()}),f(),L(2,"svg",2),Z(3,"path",3),z()(),h(),Z(4,"img",4),S(5,Dt,6,3,"div",5),z()),t&2&&(c(4),Me("src",n.popup.image,P)("alt",n.popup.title),c(),y(n.popup.button_text!=null&&n.popup.button_text.trim()?5:-1))},dependencies:[E],encapsulation:2})};var It=()=>[import("./chunk-ZEUFXU6J.js").then(i=>i.SparesCarousel),_],At=()=>[import("./chunk-SUAXQ35L.js").then(i=>i.AppPromotion),_],Ft=()=>[import("./chunk-6IOGERPC.js").then(i=>i.CommunityPromo),_],Ht=()=>[import("./chunk-C4VY2T5F.js").then(i=>i.InfoGrid),_],jt=()=>[import("./chunk-PTOKLFPQ.js").then(i=>i.SeasonalService),_];function Rt(i,e){if(i&1){let t=k();r(0,"app-section-error",4),u("retry",function(){v(t);let a=m();return b(a.onServicesRetry())}),o()}if(i&2){let t=m();g("message",t.loadError())("kind",t.loadErrorKind())}}function Nt(i,e){if(i&1&&(r(0,"div",3),s(1,"app-service-carousel",5),o()),i&2){let t=m();c(),g("title",t.serviceCarouselTitle())("items",t.categoryDisplayItems())("loading",t.loading())}}function zt(i,e){if(i&1&&(r(0,"div",3),s(1,"app-spares-carousel",6),o()),i&2){let t=m();c(),g("items",t.spares())("loading",t.sparesLoading())("sparesBaseUrl",t.sparesAppUrl)}}function Vt(i,e){i&1&&s(0,"div",7)}function Bt(i,e){if(i&1&&(r(0,"div",3),s(1,"app-seasonal-service",8),o()),i&2){let t=m(2);c(),g("items",t.recommendedDisplayItems())("loading",t.loading())}}function Ut(i,e){i&1&&s(0,"div",9)}function Gt(i,e){i&1&&(A(0,Bt,2,2)(1,Ut,1,0),F(2,0,jt,null,1),H(0,-1))}function $t(i,e){i&1&&(r(0,"div",10),s(1,"app-app-promotion"),o())}function Yt(i,e){i&1&&s(0,"div",11)}function Kt(i,e){i&1&&(r(0,"div",3),s(1,"app-community-promo"),o())}function Zt(i,e){i&1&&s(0,"div",12)}function Jt(i,e){i&1&&(r(0,"div",3),s(1,"app-info-grid"),o())}function Qt(i,e){i&1&&s(0,"div",13)}var ut=class i{catalogService=d(tt);sparesCatalogService=d(ae);slidesService=d(ct);effectiveCityService=d(rt);pageErrorService=d(qe);route=d(q);seoService=d(dt);platformId=d(Y);modal=d(Ye);offcanvas=d(ee);marketing=d(j);citySub;cityNameSub;previousCityId=void 0;_popupFired=!1;currentCityId=null;currentMicrozoneId=null;cityName=x(null);serviceCarouselTitle=Q(()=>{let e=this.cityName();return e?`Find Your Home Service in ${e}`:"Find Your Home Service"});bannerSlides=x([]);bannersLoading=x(!0);categories=x([]);recommendedServices=x([]);loading=x(!0);loadError=x(null);loadErrorKind=x("server");categoryDisplayItems=Q(()=>this.categories().filter(e=>e.available).map(ot));recommendedDisplayItems=Q(()=>this.recommendedServices().filter(e=>e.available).map(at));spares=x([]);sparesLoading=x(!0);sparesAppUrl=D.sparesAppUrl;ngOnInit(){let t=this.route.parent?.snapshot?.data.city?.city_name?.trim()??null;this.seoService.setPage(pt(t),mt(t)),X(this.platformId)&&(this.loading.set(!0),this.bannersLoading.set(!0),this.sparesLoading.set(!0),this.citySub=be([this.effectiveCityService.effectiveCityId$,this.effectiveCityService.effectiveMicrozoneId$]).subscribe(([n,a])=>{let p=this.previousCityId!==void 0&&this.previousCityId!==n;this.previousCityId=n,this.currentCityId=n,this.currentMicrozoneId=a,this.fetchData(n,a),this.fetchBanners(n,a),this.fetchAndShowPopup(n,a,p)}),this.cityNameSub=this.effectiveCityService.effectiveCityName$.subscribe(n=>this.cityName.set(n)),this.fetchSpares())}fetchBanners(e,t=null){let n=this.slidesService.getCached(e,t);n?(this.bannerSlides.set(n),this.bannersLoading.set(!1)):this.bannersLoading.set(!0),this.slidesService.getSlides(e,t).subscribe({next:a=>{this.bannerSlides.set(a),this.bannersLoading.set(!1)},error:()=>{n||(this.bannerSlides.set([]),this.bannersLoading.set(!1))}})}fetchSpares(){this.sparesLoading.set(!0),this.sparesCatalogService.getCategories().subscribe({next:e=>{this.spares.set(e.map(st)),this.sparesLoading.set(!1)},error:()=>{this.spares.set([]),this.sparesLoading.set(!1)}})}ngOnDestroy(){this.citySub?.unsubscribe(),this.cityNameSub?.unsubscribe()}fetchData(e,t=null){this.loading.set(!0),this.loadError.set(null),this.categories.set([]),this.recommendedServices.set([]),xe({categories:this.catalogService.getCategories(e??void 0,t),recommended:this.catalogService.getRecommendedServices(e??void 0,t)}).subscribe({next:({categories:n,recommended:a})=>{this.categories.set(n),this.recommendedServices.set(a),this.loading.set(!1),this.marketing.trackEvent(R.HOME_VIEWED,{},window.location.pathname)},error:n=>{let{kind:a,message:p}=Xe(n);if(this.loadErrorKind.set(a),this.loadError.set(p),this.loading.set(!1),a==="offline"){this.pageErrorService.showError("offline",p,()=>{this.pageErrorService.clearError(),this.fetchData(this.currentCityId,this.currentMicrozoneId),this.fetchSpares()});return}}})}fetchAndShowPopup(e,t=null,n=!1){let a="fixail_popup_shown";n&&(this._popupFired=!1),!this._popupFired&&(!n&&typeof sessionStorage<"u"&&sessionStorage.getItem(a)||(this._popupFired=!0,this.catalogService.getAppPopup(e,t).subscribe({next:p=>{if(!p.status||!p.data)return;if(sessionStorage.setItem(a,"1"),window.innerWidth<576){let O=this.offcanvas.open(U,{position:"bottom",panelClass:"app-popup-offcanvas"});O.componentInstance.popup=p.data}else{let O=this.modal.open(U,{centered:!0,backdrop:"static",size:"lg",windowClass:"app-popup-modal"});O.componentInstance.popup=p.data}},error:()=>{}})))}onServicesRetry(){this.loadError.set(null),this.fetchData(this.currentCityId,this.currentMicrozoneId)}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=w({type:i,selectors:[["app-home"]],decls:23,vars:4,consts:[[1,"max-w-[1280px]","mx-auto","px-3","sm:px-6","lg:px-8","space-y-6","pb-10"],[3,"slides","loading"],[3,"message","kind"],["appScrollAnimate",""],[3,"retry","message","kind"],[3,"title","items","loading"],[3,"items","loading","sparesBaseUrl"],[1,"min-h-[180px]"],[3,"items","loading"],[1,"min-h-[420px]"],["appScrollAnimate","",1,"hidden","md:block"],[1,"hidden","md:block","min-h-[320px]"],[1,"min-h-[480px]"],[1,"min-h-[280px]"]],template:function(t,n){t&1&&(s(0,"app-hero"),r(1,"div",0)(2,"div"),s(3,"app-banners-carousel",1),o(),S(4,Rt,1,2,"app-section-error",2)(5,Nt,2,3,"div",3),A(6,zt,2,3)(7,Vt,1,0),F(8,6,It,null,7),H(0,-1),S(10,Gt,4,0),A(11,$t,2,0)(12,Yt,1,0),F(13,11,At,null,12),H(0,-1),A(15,Kt,2,0)(16,Zt,1,0
1),F(17,15,Ft,null,16),H(0,-1),A(19,Jt,2,0)(20,Qt,1,0),F(21,19,Ht,null,20),H(0,-1),o()),t&2&&(c(3),g("slides",n.bannerSlides())("loading",n.bannersLoading()),c(),y(n.loadError()?4:5),c(6),y(n.loadError()?-1:10))},dependencies:[E,ne,lt,re,nt,_],encapsulation:2})};export{ut as Home};
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.