(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6384],{10187:(e,r,a)=>{"use strict";a.d(r,{j:()=>n,y:()=>s});var t=a(23915),l=a(16203);let s=0===(0,t.Dk)().length?(0,t.Wp)({apiKey:"AIzaSyArzhmSuVQNCvq60YIBINwemRcnqoO0E08",appId:"1:260774426049:web:997394d794ae66c8392b40",authDomain:"canyon-ranch-app.firebaseapp.com",measurementId:"G-6VPD0953GG",messagingSenderId:"260774426049",projectId:"canyon-ranch-app",storageBucket:"canyon-ranch-app.firebasestorage.ap"}):(0,t.Sx)(),n=(0,l.xI)(s)},18934:(e,r,a)=>{"use strict";a.d(r,{CardProvider:()=>d,f:()=>i});var t=a(95155),l=a(12115),s=a(97255);let n=(0,l.createContext)(void 0),d=e=>{let{children:r}=e,{cards:a,loading:d,refetchCards:i}=(0,s.QZ)(),[c,o]=(0,l.useState)([]),[u,h]=(0,l.useState)(!1),[g,f]=(0,l.useState)(!1),[m,y]=(0,l.useState)(null);(0,l.useEffect)(()=>{a.length>0&&o(a)},[a]);let p=async()=>{try{await i()}catch(e){throw Error("Error refetching card details")}};return(0,t.jsx)(n.Provider,{value:{cardDetails:c,isCardAdded:u,loading:d,refetchCardDetails:p,selectedCardId:m,setIsCardAdded:h,setSelectedCardId:y,setShowCardInputs:f,showCardInputs:g,updateCardDetails:e=>{o(r=>r.map(r=>r.id===e.id?e:r))}},children:r})};function i(){let e=(0,l.useContext)(n);if(!e)throw Error("useCardContext must be used within a CardProvider");return e}},43404:(e,r,a)=>{"use strict";a.d(r,{s:()=>n});var t=a(12115),l=a(86864),s=a(10187);let n=()=>{let[e,r]=(0,t.useState)(null);return(0,t.useEffect)(()=>{(0,l.TT)().then(e=>{e&&r((0,l.P5)(s.y))}).catch(e=>{throw Error("Analytics initialization failed:",e)})},[]),{logAnalyticsEvent:(r,a)=>{if(!e)return;let{error:t,...s}=a,n={success:+!t,...s};try{(0,l.$s)(e,r,n)}catch(e){throw Error("Error logging event")}}}}},69269:(e,r,a)=>{Promise.resolve().then(a.bind(a,18934))},83075:(e,r,a)=>{"use strict";a.d(r,{W:()=>t});var t=function(e){return e.WARNING="warning",e.EXPIRED="expired",e}({})},97255:(e,r,a)=>{"use strict";a.d(r,{F8:()=>o,Gi:()=>h,QZ:()=>d,V6:()=>c,WS:()=>i,Yr:()=>u});var t=a(12115),l=a(83075),s=a(41709),n=a(43404);let d=()=>{let{data:e,loading:r,error:a,refetch:t}=(0,s.OKY)(),l=async()=>{try{await t()}catch(e){throw Error("Error refetching cards")}};return{cards:(null==e?void 0:e.getCardDetails.data)||[],error:a,loading:r,refetchCards:l}},i=()=>{let{logAnalyticsEvent:e}=(0,n.s)(),[r,{loading:a,error:t}]=(0,s.DqI)();return{changePaymentDetails:async(a,t)=>{let l=!1,s=null;try{let{data:e}=await r({variables:{billingAddress:t,cardId:a}});return(null==e?void 0:e.changePaymentDetails.success)||(l=!0,s=(null==e?void 0:e.changePaymentDetails.message)||"Failed to change default card details"),e}catch(e){throw l=!0,s=e instanceof Error?e.message:"Failed to change default card details",Error()}finally{e("web_appts_update_card",{error:l,error_msg:s})}},error:t,loading:a}},c=()=>{let{logAnalyticsEvent:e}=(0,n.s)(),[r,{loading:a,error:t}]=(0,s.sWk)();return{deleteCard:async a=>{let t=!1,l=null;try{let{data:e}=await r({variables:{cardId:a}});return(null==e?void 0:e.deleteCard.success)||(t=!0,l=(null==e?void 0:e.deleteCard.message)||"Failed to delete card data"),e}catch(e){throw t=!0,l=e instanceof Error?e.message:"Failed to delete card data",Error("Failed to delete card")}finally{e("web_appts_delete_card",{error:t,error_msg:l})}},mutationError:t,mutationLoading:a}},o=()=>{let{logAnalyticsEvent:e}=(0,n.s)(),[r,{loading:a,error:t}]=(0,s.yHQ)();return{changeDefaultPayment:async a=>{let t=!1,l=null;try{let{data:e}=await r({variables:{cardId:a}});return(null==e?void 0:e.changeDefaultPayment.success)||(t=!0,l=(null==e?void 0:e.changeDefaultPayment.message)||"Failed to change default card payment"),e}catch(e){throw t=!0,l=e instanceof Error?e.message:"Failed to change default card payment",Error("Failed to change default payment")}finally{e("web_appts_default_card",{error:t,error_msg:l})}},mutationError:t,mutationLoading:a}},u=()=>{let{logAnalyticsEvent:e}=(0,n.s)(),[r,{loading:a,error:t}]=(0,s.t3y)({awaitRefetchQueries:!0,refetchQueries:[{query:s.ekE}]});return{error:t,loading:a,sendCardData:async(a,t,l,s)=>{let n=!1,d=null;try{let{data:e}=await r({variables:{billingAddress:s,isDefault:l,paymentKey:t,sessionToken:a}});return(null==e?void 0:e.sendCardData.success)||(n=!0,d=(null==e?void 0:e.sendCardData.message)||"Failed to send card data"),e}catch(e){throw n=!0,d=e instanceof Error?e.message:"Failed to send card data",Error("Failed to send card data")}finally{e("web_appts_add_card",{error:n,error_msg:d})}}}},h=()=>{let[e,r]=(0,t.useState)(""),[a,n]=(0,t.useState)(null),{data:d,loading:i,refetch:c}=(0,s.cNZ)({variables:{styles:"input{border-radius:0px;border-color:#D7D7D7;padding:30px}"}});(0,t.useEffect)(()=>{let e,a;return clearTimeout(e),clearTimeout(a),e=setTimeout(()=>{r(l.W.WARNING)},15e5),a=setTimeout(()=>{let e="Session expired.";r(l.W.EXPIRED),n(e),console.error(e)},174e4),()=>{clearTimeout(e),clearTimeout(a)}},[d,174e4,15e5]),(0,t.useEffect)(()=>{let e;return d&&"Session expired."===a&&(e=setTimeout(()=>{console.clear()},5e3)),()=>{clearTimeout(e)}},[d,a]);let{iframeHtml:o,sessionKey:u}=(null==d?void 0:d.getIframe.data)||{};return{error:a,expiryStatus:e,iframeHtml:o,loading:i,refetch:c,sessionKey:u,setExpiryStatus:r}}}},e=>{var r=r=>e(e.s=r);e.O(0,[1794,3704,1137,685,485,1709,8441,1684,7358],()=>r(69269)),_N_E=e.O()}]);