"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[759],{95651:function(e,t,a){a.d(t,{f:function(){return paymentMethodCodeFactory}});function paymentMethodCodeFactory(e){return{showTokenValidation:e.showTokenValidation||!1,tokenValidationSmsEnabled:e.tokenValidationSmsEnabled||!1}}},70862:function(e,t,a){a.d(t,{x:function(){return paymentMethodFactory}});var n=a(41801),r=a(84484);function paymentMethodFactory(){var e,t;let a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{availablePaymentModes:l,isTwoCreditCardsAvailable:o}=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=e.some(e=>e.code===r.G4.TWO_CREDIT_CARDS),a=e.filter(e=>e.code!==r.G4.TWO_CREDIT_CARDS);return{availablePaymentModes:a,isTwoCreditCardsAvailable:t}}(a.paymentModes);return{canSaveCards:a.canSaveCards||!1,isTwoCreditCardsAvailable:o,paymentModes:(null==l?void 0:l.map(n.w))||[],walletPaymentValue:{formattedValue:(null==a?void 0:null===(e=a.walletPaymentValue)||void 0===e?void 0:e.formattedValue)||"",value:(null==a?void 0:null===(t=a.walletPaymentValue)||void 0===t?void 0:t.value)||0}}}},40759:function(e,t,a){a.d(t,{oo:function(){return CheckoutProvider},Mg:function(){return useCheckout}});var n=a(85893),r=a(67294),l=a(11163),o=a(59492),i=a(43324),s=a(73403),d=a(73422),u=a(84484),c=a(95651),m={hasToCompleteRegister:function(e){let{cpf:t,phoneNumber:a,birthDate:n}=e;return!!(!t||!a||!n)}},v=a(75637),p=a(5121),y=a(71353),C=a(73866),g=a(85635);let h=p.Z.create({baseURL:"https://api.pagar.me/core/v5",timeout:Number("60000"),headers:{accept:"application/json","content-type":"application/json"}});async function getCardToken(e){var t;let{cardNumber:a,accountHolderName:n,expiryMonth:r,expiryYear:l,securityCode:o}=e,i=await h.post("/tokens",{type:"card",card:{number:a,holder_name:n,exp_month:r,exp_year:l,cvv:o}},{params:{appId:"pk_ongqE9LIYIMPDvlO"}});return function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{id:t,type:a,created_at:n,expires_at:r,card:l={}}=e,{first_six_digits:o,last_four_digits:i,holder_name:s,exp_month:d,exp_year:u}=l;return{id:t||"",type:a||"",createdAt:n||"",expiresAt:r||"",card:{firstSixDigits:o||"",lastFourDigits:i||"",holderName:s||"",expMonth:d||"",expYear:u||""}}}(null==i?void 0:null===(t=i.data)||void 0===t?void 0:t.data)}h.interceptors.response.use(e=>(0,g.v$)(e),e=>{var t;let a=e.response||{data:{errors:[]},status:0,config:{},headers:[],statusText:""},n=new y.R({hasError:!0,data:a.data,status:a.status,errors:null===(t=a.data)||void 0===t?void 0:t.errors});return C.vU({title:"Ocorreu um erro durante a chamada para API da Pagar.me",stack:[e]}),n});let f={getCardToken};var k=a(8930),S=a(67710),P=a(71009),E=a(23924),R=a(55090),b=a(11356),w=a(80490),I=a(69183),M=a(79560),A=a(95131);let V={cart:null,consignments:null,giftCardPayload:null,initializingStatus:A.Bk.NotStarted,currentStep:A.bN.NotStarted,placingOrderStatus:A.EV.NotStarted,goToStep:()=>void 0,getUpdatedCart:()=>Promise.resolve(null),placeOrder:()=>void 0,getGiftCardBalance:()=>Promise.resolve({hasError:!1}),removeGiftCardPayload:()=>void 0,getAdditionalPaymentMethods:()=>Promise.resolve({hasError:!1}),handleCreditCardPlaceOrder:()=>void 0,tokenValidation:(0,c.f)({}),setTokenValidation:()=>void 0,isCreditCodeValidated:!1,setIsCreditCodeValidated:()=>void 0,isLoadingPayment:!1,installmentsWallet:null,setInstallmentsWallet:()=>void 0,selectedPaymentMethod:null,setSelectedPaymentMethod:()=>void 0,setConsignments:()=>void 0,isWalletRedeemActive:!1,setIsWalletRedeemActive:()=>void 0,setShouldRenderCaptcha:()=>void 0,shouldRenderCaptcha:!1,setRecaptchaToken:()=>void 0,recaptchaToken:"",getIsAdyenIntegrationProvider:()=>!1},T=(0,r.createContext)(V),CheckoutProvider=e=>{var t;let{children:a}=e,c=(0,l.useRouter)(),{toast:p}=(0,I.pm)(),{getCurrentCart:y,setItems:C}=(0,w.jD)(),{getUpdatedUser:g}=(0,b.aC)(),{paymentMethodNewAdyenIntegrationWeb:h}=(0,M.m4)(),[D,U]=(0,r.useState)(V.initializingStatus),[N,L]=(0,r.useState)(V.cart),[O,_]=(0,r.useState)(V.placingOrderStatus),[x,F]=(0,r.useState)(V.giftCardPayload),[W,G]=(0,r.useState)(V.tokenValidation),[Z,B]=(0,r.useState)(!1),[j,q]=(0,r.useState)(V.isLoadingPayment),[H,Q]=(0,r.useState)(V.installmentsWallet),[K,Y]=(0,r.useState)(V.selectedPaymentMethod),[z,J]=(0,r.useState)(null),[$,X]=(0,r.useState)(V.isWalletRedeemActive),[ee,et]=(0,r.useState)(!1),[ea,en]=(0,r.useState)(""),er=(0,r.useCallback)(()=>{let e=(null==N?void 0:N.paymentMode)||K;if(!e||!h)return!1;let{provider:t}=null==N?void 0:N.paymentMode,a=h.split(";");return a.includes(t)},[K,null==N?void 0:N.paymentMode]),el=(0,r.useMemo)(()=>{let{step:e}=c.query,t=Array.isArray(e)?e[0]:e;return Number(t)||V.currentStep},[c.query]),eo=(0,r.useCallback)((e,t)=>{let{shouldReplaceRoute:a=!1}=t||{};e!==A.bN.Payment&&Y(null);let n="".concat(o.Z.CHECKOUT,"?step=").concat(e);a?c.replace(n):c.push(n)},[]),ei=(0,r.useCallback)(async()=>{let{result:e}=await v.Z.getUpdatedCart();return L(e),e},[]),es=(0,r.useCallback)(async e=>{let t=await f.getCardToken(e),a=!!(t&&t.id);if(!a)return _(A.EV.Error),q(!1),et(!0),p.error(i.G.CHECKOUT.InvalidPaymentCardData),null;let{cpf:n,defaultPayment:r,installments:l,saved:o}=e,s={cardToken:t.id,cpf:n,defaultPayment:r,installments:l,saved:o};return s},[K]),ed=(0,r.useCallback)(async e=>{let{result:t}=await k.N.postCartIdAnonymous({userId:s.l.USER,anonymousCartId:e});return t},[]),eu=(0,r.useCallback)(async()=>{let e=S.N.getCartId();(0,E.uh)(e)&&await ed(e);let{result:t}=await v.Z.getUpdatedCart();return{result:t}},[]),ec=(0,r.useCallback)(async()=>{try{var e,t;U(A.Bk.InProgress);let[{result:a},n]=await Promise.all([eu(),g({fields:d.Px.FULL_USER})]),r=null==n?void 0:n.result,l=!!r,i=!!(null==a?void 0:null===(e=a.entries)||void 0===e?void 0:e.length),s=!!(null==a?void 0:null===(t=a.address)||void 0===t?void 0:t.id);if(!l||!i){c.replace(o.Z.CART);return}r&&m.hasToCompleteRegister(r)?eo(A.bN.CompleteUserRegister,{shouldReplaceRoute:!0}):s?eo(A.bN.Delivery,{shouldReplaceRoute:!0}):eo(A.bN.Addresses,{shouldReplaceRoute:!0}),L(a),C(a.entries),S.N.setCartId(a.id)}catch(e){c.replace(o.Z.CART)}finally{U(A.Bk.Completed)}},[g,eo]);(0,r.useEffect)(()=>{ec()},[ec]);let em=(0,r.useCallback)(async e=>{if(null==N?void 0:N.code){_(A.EV.InProgress),q(!0),en(""),et(!1);let{provider:t}=K||{},{CREDIT_CARD_PAGARME:a}=u.PAYMENT_PROVIDERS,n=null==K?void 0:K.useNewPaymentApi,r=t===a&&n,l=r?await es(e):e;if(r&&!l)return;let{result:s,hasError:d,errors:m}=await P.p.postOrder({cartId:N.code,body:l,gRecaptchaToken:ea});if(d&&(0,R.s)(m[0].message)){_(A.EV.Error),q(!1),et(!0);return}if(d){_(A.EV.Error);let e=m.map(e=>({...e,message:i.G.CHECKOUT[e.type]||e.message}));p.allErrors(e,{isDismissible:!0}),q(!1);return}s&&(_(A.EV.Completed),await y({shouldDispatchLoading:!1}),q(!1),c.push("".concat(o.Z.ORDER_CONFIRMATION,"/").concat(s.code)))}},[N,c,p,ea,K]),ev=(0,r.useCallback)(async e=>{let{result:t,hasError:a,errors:n}=await v.Z.getCartWithGiftCardBalance(null==e?void 0:e.giftCardCode);return a?p.allErrors(n,{isDismissible:!0}):(L(t),F(e)),{hasError:a}},[p]),ep=(0,r.useCallback)(()=>{F(V.giftCardPayload)},[]),ey=(0,r.useCallback)(async()=>{let{result:e,hasError:t,errors:a}=await v.Z.getAdditionalPaymentMethods();return t?(p.allErrors(a,{isDismissible:!0}),{hasError:t}):{result:e,hasError:t}},[p]),eC=(0,r.useCallback)(e=>{var t;let a={...e},n=(null==N?void 0:null===(t=N.paymentMode)||void 0===t?void 0:t.code)===u.G4.GIFT_CARD_CREDIT_CARD;n&&x&&(a={...a,...x}),em(a)},[null==N?void 0:null===(t=N.paymentMode)||void 0===t?void 0:t.code,x,em]);return(0,n.jsx)(T.Provider,{value:{cart:N,giftCardPayload:x,initializingStatus:D,placingOrderStatus:O,currentStep:el,goToStep:eo,getUpdatedCart:ei,placeOrder:em,getGiftCardBalance:ev,removeGiftCardPayload:ep,getAdditionalPaymentMethods:ey,handleCreditCardPlaceOrder:eC,tokenValidation:W,setTokenValidation:G,isCreditCodeValidated:Z,setIsCreditCodeValidated:B,isLoadingPayment:j,installmentsWallet:H,setInstallmentsWallet:Q,selectedPaymentMethod:K,setSelectedPaymentMethod:Y,consignments:z,setConsignments:J,isWalletRedeemActive:$,setIsWalletRedeemActive:X,setShouldRenderCaptcha:et,shouldRenderCaptcha:ee,setRecaptchaToken:en,recaptchaToken:ea,getIsAdyenIntegrationProvider:er},children:a})},useCheckout=()=>(0,r.useContext)(T)},75637:function(e,t,a){a.d(t,{Z:function(){return m}});var n=a(84804),r=a(7057),l=a(95651),o=a(7606),i=a(70862),s=a(18187),d=a(22263),u=a(45613),c=a(23455);async function getDeliveryModes(e){let{executeSourcing:t=!1}=e,a=await u.hi.get("/users/current/carts/current/deliverymodes?fields=FULL&executeSourcing=".concat(t));return(0,c.m9)(a.data,e=>(function(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{adjustedEntries:function(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{changedEntries:(null===(e=t.changedEntries)||void 0===e?void 0:e.map(e=>(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{currentQuantity:e.currentQuantity||0,oldQuantity:e.oldQuantity||0,product:e.product||""}})(e)))||[],removedEntries:t.removedEntries||[]}}(t.adjustedEntries),consignments:(null===(e=t.consignments)||void 0===e?void 0:e.map(e=>(0,r.i)(e)))||[]}})(e),{isApiDataRequired:!0})}async function setDeliveryMode(e){let{consignmentId:t="",deliveryModeId:a=""}=e,n=await u.hi.put("/users/current/carts/current/consignments/".concat(t,"/deliverymode?deliveryModeId=").concat(a));return(0,c.m9)(n.data)}async function setPickUpInStore(e){let{consignmentId:t="",storeId:a=""}=e,n=await u.hi.put("/users/current/carts/current/consignments/".concat(t,"/pickupstore?storeId=").concat(a));return(0,c.m9)(n.data)}let setPaymentMethod=async e=>{let{codeMethod:t,isWalletRedeemActive:a=!1}=e,n=await u.hi.put("/users/current/carts/current/payment-method?paymentMethodCode=".concat(t,"&useWalletRedeem=").concat(a));return(0,c.m9)(n.data,e=>(0,l.f)(e))},getUpdatedCart=async function(){let{shouldResetCart:e=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=await u.hi.get("/users/current/carts/current?fields=FULL&reset=".concat(e));return(0,c.m9)(t.data,e=>(0,o.V)({...e,id:n.J0.USER}))},getInstallments=async()=>{let e=await u.hi.get("/users/current/carts/current/installments");return(0,c.m9)(e.data,e=>(function(e){var t;let a=e||{};return(null==a?void 0:null===(t=a.installments)||void 0===t?void 0:t.map(e=>(function(e){let t=e||{};return{formattedInstallmentValue:t.formattedInstallmentValue||"",formattedValue:t.formattedValue||"",installmentNumber:t.installmentNumber||0,installmentValue:t.installmentValue||""}})(e)))||[]})(e))},putPlannedAmount=async e=>{let t=await u.hi.post("/users/current/carts/current/plannedamount",{plannedAmount:e});return(0,c.m9)(t.data,e=>(function(e){var t,a,n,r;let l=e||[],o=(null===(a=l[0])||void 0===a?void 0:null===(t=a.installmentsCard)||void 0===t?void 0:t.entry.map(e=>({value:e.key,label:"".concat(e.key,"x ").concat(e.value)})))||[],i=(null===(r=l[1])||void 0===r?void 0:null===(n=r.installmentsCard)||void 0===n?void 0:n.entry.map(e=>({value:e.key,label:"".concat(e.key,"x ").concat(e.value)})))||[];return{card1:{amount:l[0].amountCard||"",installments:o},card2:{amount:l[1].amountCard||"",installments:i}}})(e.plannedAmounts),{isApiDataRequired:!0})},getCartWithGiftCardBalance=async e=>{let t=await u.hi.post("/users/current/carts/current/giftcard/".concat(e,"?fields=FULL"));return(0,c.m9)(t.data,e=>(0,o.V)(e))},getGiftCardBalance=async e=>{let t=await u.hi.post("/users/current/carts/current/giftcard/".concat(e,"?fields=FULL"));return(0,c.m9)(t.data,e=>d.W(e.giftCardAmount||0))},getAdditionalPaymentMethods=async()=>{let e=await u.hi.get("/users/current/carts/current/additionalpaymentmethods?fields=FULL");return(0,c.m9)(e.data,e=>(0,i.x)(e))},getOrderConfirmationSlots=async()=>{let e=await u.hi.get("/cms/pages/OrderSuccessPageHeadless?fields=FULL");return(0,c.m9)(e.data,e=>{var t;return(0,s.W)((null===(t=e.contentSlots)||void 0===t?void 0:t.contentSlot)||[])})},m={getDeliveryModes,setDeliveryMode,setPaymentMethod,getUpdatedCart,setPickUpInStore,getInstallments,putPlannedAmount,getCartWithGiftCardBalance,getAdditionalPaymentMethods,getGiftCardBalance,getOrderConfirmationSlots}}}]);