1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9023],{19146:(e,t,r)=>{r.d(t,{A:()=>v});var n=r(94622),a=r(29454),o=r(89099),l=r(67646),i=r(34356),s=r(66904),u=r(52220),d=r(50595),c=r(46725),f=r(63477),m=r(60114);function v(){let{updateErrorIntoModal:e}=(0,s.V4)(),t=(0,o.useRouter)();return(0,n.n)({mutationFn:async t=>{var r,n;let{email:a,code:o,isPasswordlessCheckout:l}=t;e({name:s.fx,error:""});let u=await i.kQ.validateAuthCode({email:a,code:o});if((0,f.g)(u),u.data.err||(null==(r=u.data)?void 0:r.errors)){let t=(null==(n=u.data)?void 0:n.errors[0])||"Something went wrong";throw e({name:s.fx,error:t}),Error(t)}return u.data},onSuccess:e=>{var r,n;let{authToken:o}=null!=(r=e.user)?r:{};a.A.get("new_user")&&a.A.remove("new_user");let i=null==e||null==(n=e.user)?void 0:n.firstName;(0,l.htToast)(i?"Welcome back, ".concat(i,"!"):"Welcome back!"),o&&(0,u.b)(e.user).then(async()=>{await (0,m.yy)(500),t.push((0,d.$A)())})},onError:t=>{e({name:s.fx,error:null==t?void 0:t.message}),(0,c.V)("useUserMutationValidateUserEmail")(t)}})}},25633:(e,t,r)=>{r.d(t,{A:()=>c});var n=r(70572),a=r(94251),o=r(23405),l=r(31063),i=r(74359),s=r(57146),u=r(88351);let d={config:null,treatment:l.YA.SEED_CONTROL,isReady:!1,isTimedout:!1,isLoaded:!1,isDestroyed:!1},c=(e,t)=>{try{let{client:r,isReady:c,lastUpdate:f,isTimedout:m,isDestroyed:v}=(0,a.V)({updateOnSdkReady:!0,updateOnSdkTimedout:!0,updateOnSdkUpdate:!0}),[{treatment:g,config:h},y]=(0,n.useState)(d),_=(0,o.Um)(),O=(0,s.yV)(h)?h:JSON.parse(h),p=(l.L3[e]||{}).config,E=!!(r&&f&&c&&!_),A=(0,s.oF)(O),k=(null==p?void 0:p.config)||{},{data:C}=(0,i.I)({retryDelay:400,queryKey:["split",e,f],queryFn:async()=>{let n=await (null==r?void 0:r.getTreatmentWithConfig(e,t));if(!n||(null==n?void 0:n.treatment)==="_control_")throw Error("Split treatment is _control_");return r?n:l.L3[e]||{treatment:l.YA.OFF,config:null}},retry:(e,t)=>e<5,enabled:E&&(0,u.Bd)()});(0,n.useEffect)(()=>{let e=C||d;y(e)},[c,e,t,C]),(0,n.useEffect)(()=>{m&&y({config:k,treatment:l.YA.CONTROL,isReady:!1,isTimedout:!0,isLoaded:!1,isDestroyed:!1})},[m,k]),(null==O?void 0:O.id)||!p||(k=p),A&&((null==O?void 0:O.id)&&g!==l.YA.OFF&&(k=O),(null==O?void 0:O.id)&&g!==l.YA.OFF||(k=p||null));let w=c&&r&&!(m||v),L=(m||w)&&g!==l.YA.SEED_CONTROL,S=(m||v)&&!c,T=g===l.YA.ON;return{treatment:g,treatmentConfig:k,isReady:c,isTimedout:m,isSplitLoaded:L,isLoaded:w,isError:S,isTreatmentOn:T}}catch(e){return{isError:!1,isLoaded:!1,isReady:!1,isSplitLoaded:!1,isTimedout:!1,isTreatmentOn:!1,treatment:"",treatmentConfig:void 0}}}},31063:(e,t,r)=>{r.d(t,{L3:()=>g,N6:()=>v,Rj:()=>i,YA:()=>a,aI:()=>f,te:()=>s,ur:()=>m});var n,a=((n={}).ON="on",n.OFF="off",n.CONTROL="control",n.SEED_CONTROL="_control_",n);let o="promo_bar",l="nav_phone_number",i="plan_pricing",s="customer_zip_entry",u="product_shop_version_test",d="homepage_iframe",c="navigation_v2",f="user_email_validator",m="passwordless_checkout",v="home-cleaning-category-a-b",g={[o]:{name:o,config:{id:!0,backgroundColor:"#133061",textColor:"#ffffff",icon:"",headline:"Get in-home services tailored to your home.",ctaText:"",ctaLink:"/services",ctaLinkExternal:"",default:!0}},[l]:{name:l,config:{link:"tel:18449864945",title:"1-844-986-4945",value:"18449864945"}},[d]:{name:d,config:{source:"homepage/1"}},[u]:{name:u,config:{path:""},treatment:"current"},[c]:{name:c,config:{path:"v2"},treatment:"on"},[v]:{name:v,config:{},treatment:"off"}}},63477:(e,t,r)=>{r.d(t,{g:()=>n});let n=e=>{if(e.status>=300)throw Error(JSON.stringify({message:e.error||e.err||"Unknown error occurred",status:e.status}))}},79023:(e,t,r)=>{r.d(t,{B2:()=>m,EH:()=>f,EW:()=>v,ZM:()=>g});var n=r(70572),a=r(66835),o=r(46725),l=r(89815),i=r(31063),s=r(25633),u=r(34356),d=r(66904),c=r(19146);let f=function(){var e;let t,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:l.xl,[a,o]=(0,n.useState)(0),i=(0,d.Tg)(d.fx),s=((t=null==(e=null==i?void 0:i.error)?void 0:e.match(/Please wait (\d+) seconds/))?1e3*parseInt(t[1],10):null)||r,u=(0,n.useCallback)(function(){let{startFromBeginning:e=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o(e?r:s)},[s,r]);(0,n.useEffect)(()=>{let e;return a>0&&(e=setInterval(()=>{o(e=>e-1e3)},1e3)),()=>{e&&clearInterval(e)}},[a]);let c=0===a;return{remainingTime:a,startTimer:u,canResend:c}},m=()=>{let{updateErrorIntoModal:e}=(0,d.V4)(),t=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";e({name:d.fx,error:t})};return async e=>{let{email:r="",onSuccess:n=a.lQ,onError:l=a.lQ}=e;t();try{var i,s,d,c,f;let e=await u.kQ.sendAuthCode({email:r});if((null==(i=e.data)?void 0:i.err)||(null==(s=e.data)?void 0:s.errors)){let r=(null==(c=e.data)||null==(d=c.errors)?void 0:d[0])||
1(null==(f=e.data)?void 0:f.err)||"An error occurred. Please try again.";r&&t(r)}n()}catch(e){t(null==e?void 0:e.message),(0,o.V)("sendAuthCode")(e),l(e)}finally{}}},v=e=>{let{onResendSuccess:t=a.lQ,onResendError:r=a.lQ}=e,{error:n,data:o={}}=(0,d.Tg)(d.fx)||{},{mutate:l,isPending:i}=(0,c.A)(),s=null==o?void 0:o.email,u=null==o?void 0:o.userInitials,f=null==o?void 0:o.phoneLastFour,v=m();return{verifyPasscode:async e=>{l({code:e,email:s,isPasswordlessCheckout:!1})},resendPasscode:async()=>{v({email:s,onSuccess:t,onError:r})},email:s,userInitials:u,phoneLastFour:f,loginPasscodeError:n,isPending:i}},g=()=>{let{treatment:e}=(0,s.A)(i.ur);return[i.YA.ON,i.YA.CONTROL,i.YA.SEED_CONTROL].includes(e)}},89815:(e,t,r)=>{r.d(t,{PS:()=>a,Ux:()=>n,xl:()=>o});let n=750,a=6,o=15e3}}]); 2//# sourceMappingURL=9023-1f95746adabb86a5.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.