{"version":3,"sources":["pages/payment/resume/ResumeView.module.scss","pages/payment/deliverySelect/DeliverySelect.module.scss","pages/public/social/components/ProfileHeader/ProfileHeader.module.scss","pages/public/catalog/products/components/productListTour/productItem/ProductTourItem.module.scss","pages/public/schedule/pages/tour/presentation/components/reserveListCard/ReserveListCard.module.scss","pages/public/schedule/pages/tour/presentation/pages/moreDetails/MoreDetails.module.scss","pages/public/paymentLink/PaymentLink.module.scss","pages/public/catalog/productDetail/ProductDetail.module.scss","components/layout/Layout.module.scss","components/genericCart/Cart.module.scss","pages/payment/coupon/CouponInput.module.scss","pages/public/schedule/pages/tour/presentation/components/paymentCartResume/PaymentCartTourResume.module.scss","pages/private/wallet/pages/extract/Extract.module.scss","components/productComposition/components/boxProductCompositionItem/BoxProductCompositionItem.module.scss","components/cart/cartPage/cartItem/CartItem.module.scss","pages/public/schedule/pages/tour/presentation/components/paymentResume/PaymentResume.module.scss","pages/public/paymentLink/components/pix/Pix.module.scss","pages/public/schedule/components/buttonPickerAcordion/ButtonPickerAcordion.module.scss","pages/private/wallet/pages/recharge/components/pixRecharge/PixRecharge.module.scss","pages/private/wallet/Wallet.module.scss","pages/private/wallet/pages/profile/Profile.module.scss","pages/public/catalog/products/components/productList/productItem/ProductItem.module.scss","pages/payment/PaymentSelect/PaymentSelect.module.scss","pages/public/schedule/pages/tour/presentation/pages/formTour/FormTourPage.module.scss","pages/private/wallet/pages/tag/Tag.module.scss","pages/meepCardPayment/meepCardResume/MeepCardResume.module.scss","pages/public/social/components/socialMedias/SocialMedias.module.scss","pages/public/paymentLink/components/credit/Credit.module.scss","pages/public/paymentLink/components/creditForm/CreditForm.module.scss","pages/public/catalog/products/ProductsPage.module.scss","pages/public/auth/login/formLoginPhoneNumber/FormLoginPhoneNumber.module.scss","pages/public/schedule/pages/tour/presentation/pages/aboutProject/AboutProject.module.scss","components/productComposition/components/boxProductComposition/BoxProductComposition.module.scss","pages/private/wallet/pages/profile/dependents/Dependents.module.scss","models/alertApp/AlertApp.module.scss","pages/public/schedule/pages/schedules/_scheduledItem/ScheduledItem.module.scss","pages/public/schedule/pages/tour/presentation/pages/faq/faqCard/FaqCard.module.scss","pages/public/schedule/pages/tour/presentation/pages/tourItem/TourItem.module.scss","pages/public/catalog/products/components/productListTour/ProductList.module.scss","pages/public/paymentLink/components/footer/Footer.module.scss","pages/public/paymentLink/components/pixForm/PixForm.module.scss","pages/public/paymentLink/components/ticketForm/TicketForm.module.scss","pages/public/catalog/home/components/home/Home.module.scss","pages/public/catalog/stores/StoreItem/StoreItem.module.scss","pages/private/wallet/pages/tag/components/newTagForm/NewTagForm.module.scss","pages/public/catalog/products/components/productList/ProductList.module.scss","pages/public/catalog/products/components/_simpleHeader/SimpleHeader.module.scss","components/cart/cartPage/CartPage.module.scss","pages/public/social/components/previewPhotosProfile/PreviewPhotosProfile.module.scss","pages/public/schedule/components/Button/Button.module.scss","pages/public/schedule/pages/tour/presentation/pages/moreDetails/cardMoreDescription/CardMoreDescription.module.scss","pages/public/paymentLink/components/header/Header.module.scss","pages/public/paymentLink/components/ticket/Ticket.module.scss","components/cart/cartBar/CartBar.module.scss","pages/private/wallet/pages/recharge/components/paymentTypeSelect/PaymentTypeSelect.module.scss","pages/newAddress/NewAddress.module.scss","pages/private/privateLayout/PrivatePage.module.scss","pages/public/social/profile/ProfilePage.module.scss","pages/public/schedule/pages/tour/presentation/pages/faq/FaqPage.module.scss","pages/public/schedule/pages/tour/presentation/components/timeSelect/TimeSelect.module.scss","components/modal/Modal.module.scss","pages/public/catalog/products/components/Header/Header.module.scss","pages/public/catalog/stores/StoresPage.module.scss","pages/private/wallet/pages/tag/components/newPasswordForm/NewPasswordForm.module.scss","pages/private/wallet/pages/transfer/Transfer.module.scss","assets/icons/medal.svg","pages/public/auth/login/formLoginValidation/FormLoginValidationCode.module.scss","pages/newCard/NewCard.module.scss","pages/private/privateLayout/menu/Menu.module.scss","pages/payment/pixPage/PixPage.module.scss","pages/public/paymentGuest/PaymentGuestPage.module.scss","pages/public/social/components/profilePicture/ProfilePicture.module.scss","pages/public/schedule/pages/schedules/ScheduledPage.module.scss","pages/public/schedule/pages/tour/presentation/pages/TourPage.module.scss","components/layout/headerLayout/HeaderLayout.module.scss","components/ui/carousel/Carousel.module.scss","pages/payment/deliverySelect/findAddressPaymentLink/FindAddressPaymentLink.module.scss","pages/public/catalog/products/components/productListCategory/ProductListCategory.module.scss","pages/public/auth/login/LoginPage.module.scss","pages/payment/PaymentPage.module.scss","pages/public/social/components/_conquistasProfile/ConquistasProfile.module.scss","pages/public/social/components/_interessesProfile/InteressesProfile.module.scss","pages/public/schedule/pages/tour/presentation/components/installmentSelect/InstallmentSelect.module.scss","components/ui/_image/Image.module.scss","pages/public/schedule/pages/tour/presentation/pages/productsTour/ProductsTourPage.module.scss","pages/public/schedule/components/input/Input.module.scss","pages/public/paymentLink/components/payment/Payment.module.scss","pages/public/catalog/home/HomePage.module.scss","pages/private/wallet/pages/recharge/Recharge.module.scss","res/images/logos/meep-logo-nome.png","components/ui/backButton/BackButton.module.scss","pages/payment/confirmPlace/ConfirmPlace.module.scss","pages/private/orderTracking/mapOrderTracking/img/Estabelecimento.svg","pages/private/orderTracking/mapOrderTracking/img/Casa.svg","pages/private/orderTracking/mapOrderTracking/img/Moto.svg","res/images/icon-meep-app.svg","res/images/social/conquistas/1.svg","res/images/social/conquistas/2.svg","res/images/social/conquistas/3.svg","res/images/social/conquistas/4.svg","res/images/social/interesses/1.svg","res/images/social/interesses/2.svg","res/images/social/interesses/3.svg","res/images/social/interesses/4.svg","assets/image/serraGaucha.png","assets/icons/facebook.svg","assets/icons/instagram.svg","assets/icons/youtube.svg","assets/image/projeto.png","pages/public/schedule/components/inputMasked/InputMasked.module.scss","assets/image/aboutproject.png","res/images/paymentLink/meep-footer.png","assets/icons/facebook_round.svg","assets/icons/instagram_round.svg","assets/icons/youtube_round.svg","assets/icons/linkedin_round.svg","components/getTypeCard/images/master/master_white.png","components/getTypeCard/images/master/master_black.png","components/getTypeCard/images/master/master_color.png","components/getTypeCard/images/visa/visa_white.png","components/getTypeCard/images/visa/visa_black.png","components/getTypeCard/images/visa/visa_color.png","components/getTypeCard/images/amex/amex_white.png","components/getTypeCard/images/amex/amex_black.png","components/getTypeCard/images/amex/amex_color.png","components/getTypeCard/images/elo/elo_white.png","components/getTypeCard/images/elo/elo_black.png","components/getTypeCard/images/elo/elo_color.png","components/getTypeCard/images/hiper/hiper_white.png","components/getTypeCard/images/hiper/hiper_black.png","components/getTypeCard/images/hiper/hiper_color.png","res/images/logos/logo-meep-white.png","assets/fonts/Rainbow/Rainbow Paper.ttf","cross-cutting/masks/money.ts","models/coupon/ICoupon.ts","pages/payment/coupon/CalcCoupon.ts","pages/payment/resume/ResumeView.tsx","services/Api/Api.ts","cross-cutting/constants.ts","services/Api/address/AddressApi.ts","pages/payment/deliverySelect/deliveryAddressItem/DeliveryAddressItem.tsx","context/ui/toastFullScreen/ToastFullScreen.tsx","context/ui/UIContext.tsx","models/payment/IPay.ts","services/Api/delivery/DeliveryApi.tsx","services/Api/order/OrderApi.ts","services/Api/payment/PaymentApi.ts","models/delivery/deliveryFee.ts","context/payment/_securityCodeInput/SecurityCodeInput.tsx","context/paramsConfig/ParamsConfigContext.tsx","context/payment/UseMercadoPago.tsx","context/payment/UseFingerPrint.tsx","services/Api/orderPad/OrderPadApi.ts","pages/payment/UseLocalOrderPads.tsx","services/Api/coupon/CouponApi.ts","pages/payment/coupon/UseCoupon.tsx","context/payment/UseServiceFee.tsx","context/payment/PaymentContext.tsx","services/Api/account/_AccountApi.tsx","components/googleAutocomplete/GoogleAutoComplete.tsx","components/googleAutocomplete/_ConvertToAddress.ts","pages/newAddress/NewAddress.tsx","pages/payment/deliverySelect/DeliverySelect.tsx","models/payment/ICard.tsx","services/Api/card/CardApi.ts","components/CardItem/CardItem.tsx","components/getTypeCard/GetTypeCard.ts","pages/newCard/cardPreview/CardPreview.tsx","models/local/ILocalConfig.ts","services/Api/local/LocalApi.ts","services/Api/catalog/CatalogApi.tsx","context/local/LocalContext.tsx","services/Api/auth/AuthApi.ts","services/Api/user/UserApi.tsx","pages/public/auth/EtapasAuth.ts","pages/public/auth/AuthPageUseCase.tsx","cross-cutting/masks/cpf.ts","pages/public/auth/login/formCpf/FormCpf.tsx","pages/public/auth/login/formLoginEmail/Login.tsx","pages/public/auth/login/formLoginPhoneNumber/ddis.ts","pages/public/auth/login/formLoginPhoneNumber/FormLoginPhoneNumber.tsx","pages/public/auth/login/formLoginValidation/FormLoginValidationCode.tsx","pages/public/auth/login/formNewUser/FormNewUser.tsx","pages/public/auth/login/LoginPage.tsx","pages/public/auth/AuthPage.tsx","context/ui/UseOnErroApi.tsx","context/auth/AuthContext.tsx","pages/newCard/NewCard.tsx","pages/payment/PaymentSelect/verifyModal/VerifyModal.tsx","services/Api/wallet/WalletApi.tsx","utils/mask/NumberToMoney.tsx","pages/payment/PaymentSelect/PaymentSelect.tsx","components/ui/backButton/BackButton.tsx","components/header/Header.tsx","context/theme/themes/_DefaultTheme.ts","context/theme/ThemeContext.tsx","utils/useQuery.ts","context/catalog/UseCatalogContext.tsx","context/catalog/useCases/GetProductFromCatalogById.tsx","context/catalog/CatalogContext.tsx","pages/private/privateLayout/menu/Menu.tsx","pages/private/Components/privateHeader/PrivateHeader.tsx","pages/private/privateLayout/PrivatePage.tsx","pages/payment/coupon/CouponInput.tsx","models/payment/PaymentStatus.ts","pages/payment/pixPage/PixPage.tsx","pages/payment/confirmPlace/ConfirmPlace.tsx","pages/payment/PaymentPage.tsx","models/order/aggregates/progress/IOrderInProgress.ts","pages/private/orderHistory/ordersInProgressList/orderInProgressItem/productItemDetails/ProductItemDetail.tsx","models/order/aggregates/tracking/StatusOrder.ts","pages/private/orderTracking/timeLineStatus/statusItem/StatusItem.tsx","pages/private/orderTracking/timeLineStatus/TimeLineStatus.tsx","pages/private/orderTracking/OrderTracking.tsx","services/Api/order/OrderTrackingApi.ts","pages/private/orderHistory/ordersInProgressList/orderInProgressItem/OrderInProgressItem.tsx","pages/private/orderHistory/ordersInProgressList/OrdersInProgressList.tsx","utils/utils.ts","pages/private/orderHistory/oldOrdersList/OldOrderList.tsx","models/order/aggregates/history/IOrderHistory.ts","pages/private/orderHistory/OrderHistoryPage.tsx","services/Api/order/OrderHistoryApi.ts","pages/private/orderTracking/OrderTrackingPage.tsx","pages/private/orderTracking/mapOrderTracking/marker/Marker.tsx","pages/private/orderTracking/mapOrderTracking/MapOrderTracking.tsx","services/Api/order/OrderMapTracking.ts","context/meepCardPayment/confirmPasswordInput/ConfirmPasswordInput.tsx","context/meepCardPayment/_MeepCardPaymentContext.tsx","services/Api/meepCard/MeepCardApi.ts","pages/public/auth/loginAluno/LoginAlunoPage.tsx","components/box/Box.tsx","pages/meepCardPayment/meepCardResume/MeepCardResume.tsx","pages/meepCardPayment/_MeepCardPaymentPage.tsx","pages/payment/onSucessPayment/OnSucessPayment.tsx","components/productComposition/useCases/CalcTotalsAllCompositions.ts","context/cart/useCases/AddCartItemByProductUseCase.ts","context/cart/useCaseCart.tsx","context/cart/useCases/AddCartItemByIdUseCase copy.ts","context/cart/useCases/RemoveCartItemByIdUseCase.ts","context/cart/useCases/CalcTotalsCartUseCase.ts","context/cart/CartContext.tsx","pages/newAddress/NewAddressForm.tsx","utils/mask/cnpj.ts","pages/newCard/cardForm/PaymentGuestCardForm.tsx","services/Api/paymentLink/PaymentLinkApi.ts","pages/public/paymentGuest/UsePaymentGuestPage.tsx","pages/public/paymentGuest/PaymentGuestPage.tsx","models/alertApp/AlertApp.tsx","models/alertApp/UseDetectPlatform.ts","pages/public/social/components/_conquistasProfile/ConquistasProfile.tsx","pages/public/social/components/_interessesProfile/InteressesProfile.tsx","pages/public/social/components/previewPhotosProfile/PreviewPhotosProfile.tsx","pages/public/social/components/profilePicture/ProfilePicture.tsx","pages/public/social/components/socialMedias/SocialMedias.tsx","pages/public/social/components/ProfileHeader/ProfileHeader.tsx","pages/public/social/profile/UseProfilePage.tsx","services/Api/social/profile/ProfileApi.ts","pages/public/social/profile/ProfilePage.tsx","pages/public/social/profile/UsePhoto.tsx","services/Api/schedule/ScheduledApi.ts","pages/public/schedule/pages/schedules/_scheduledItem/ScheduledItem.tsx","pages/public/schedule/pages/schedules/ScheduledPage.tsx","pages/public/schedule/components/Button/Button.tsx","pages/public/schedule/pages/tour/presentation/pages/faq/faqCard/FaqCard.tsx","pages/public/schedule/pages/tour/presentation/pages/faq/UseFaqPage.tsx","pages/public/schedule/pages/tour/presentation/pages/faq/FaqPage.tsx","components/layout/headerLayout/HeaderLayout.tsx","components/layout/Layout.tsx","services/Api/schedule/ScheduleTourApi.ts","pages/public/schedule/pages/tour/presentation/pages/UseTourPage.tsx","pages/public/schedule/pages/tour/application/useCases/GetStoreToursByLocaldUseCase.ts","pages/public/schedule/pages/tour/application/useCases/CategoryServiceToStoreTourListResponseUseCase.ts","components/genericCart/CartContext.tsx","components/genericCart/Cart.tsx","pages/public/schedule/pages/tour/application/useCases/PostReserveTourScheduleUseCase.ts","pages/public/schedule/pages/tour/application/useCases/CartTourToAddDemandWithPaymentDTOUseCase.ts","pages/public/schedule/pages/tour/presentation/hooks/UseNavigationTour.tsx","pages/public/schedule/pages/tour/presentation/components/paymentCartResume/UsePaymentCartTourResume.tsx","pages/public/schedule/pages/tour/presentation/components/installmentSelect/InstallmentSelect.tsx","pages/public/schedule/pages/tour/presentation/components/paymentCartResume/PaymentCartTourResume.tsx","pages/public/schedule/pages/tour/presentation/components/cartTour/CartTour.tsx","components/ui/_image/Image.tsx","pages/public/schedule/pages/tour/presentation/pages/tourItem/TourItem.tsx","pages/public/schedule/pages/tour/presentation/pages/TourPage.tsx","pages/public/selecionarLogin/SelecionarLogin.tsx","pages/public/schedule/pages/tour/application/useCases/GetServicesTourCategoryByIdUseCase.ts","pages/public/schedule/pages/tour/presentation/pages/productsTour/UseProductsTourPage.tsx","pages/public/catalog/products/components/productListTour/productItem/ProductTourItem.tsx","pages/public/catalog/products/components/productListTour/_ProductTourList.tsx","pages/public/schedule/pages/tour/presentation/pages/productsTour/ProductsTourPage.tsx","pages/public/schedule/pages/tour/application/useCases/GetDiponibilityAndVancanciesUseCase.ts","pages/public/schedule/pages/tour/application/useCases/GetPlacesScheduleByServiceIdUseCase.ts","pages/public/schedule/pages/tour/application/useCases/GetServiceDetailsByServiceIdUseCase.ts","pages/public/schedule/pages/tour/presentation/pages/formTour/UseFormTour.tsx","pages/public/schedule/pages/tour/application/useCases/GetServiceScheduleByIdUseCase.ts","pages/public/schedule/pages/tour/application/useCases/GetValuesServiceScheduleUseCase.ts","pages/public/schedule/pages/tour/application/useCases/GetDataByDocumentUseCase.ts","pages/public/schedule/components/input/Input.tsx","pages/public/schedule/components/inputMasked/InputMasked.tsx","pages/public/schedule/pages/tour/presentation/components/paymentResume/UseScheduleTourPayment.tsx","pages/public/schedule/pages/tour/presentation/components/paymentResume/UsePaymentResume.tsx","pages/public/schedule/pages/tour/presentation/components/paymentResume/PaymentResume.tsx","pages/public/schedule/components/buttonPickerAcordion/ButtonPickerAcordion.tsx","pages/public/schedule/components/pickerDate/PickerDate.tsx","pages/public/schedule/pages/tour/presentation/components/timeSelect/TimeSelect.tsx","components/modal/Modal.tsx","components/ui/carousel/Carousel.tsx","pages/public/schedule/pages/tour/presentation/pages/formTour/FormTourPage.tsx","pages/public/schedule/pages/tour/presentation/pages/moreDetails/cardMoreDescription/CardMoreDescription.tsx","pages/public/schedule/pages/tour/presentation/pages/moreDetails/UseMoreDetails.tsx","pages/public/schedule/pages/tour/presentation/pages/moreDetails/MoreDetails.tsx","pages/public/schedule/pages/tour/presentation/pages/formTour/interface/IPlaceScheduleFormSchedule.ts","pages/public/schedule/pages/tour/presentation/components/reserveListCard/ReserveListCard.tsx","pages/public/schedule/pages/tour/presentation/pages/reserves/UseReservesPage.tsx","pages/public/schedule/pages/tour/presentation/pages/reserves/ReservesPage.tsx","pages/public/schedule/pages/tour/presentation/pages/aboutProject/AboutProject.tsx","pages/public/auth/externalLogin/ExternalAuthPage.tsx","pages/externalNewCard/ExternalNewCardPage.tsx","services/Api/survey/SurveyApi.ts","pages/customerSurveys/TrackWidget.tsx","assets/icons/boleto.svg","pages/customerSurveys/TrackScript.ts","assets/icons/credit.svg","assets/icons/Pix.svg","models/paymentLink/IPaymentLinkResponse.ts","models/catalog/enums/ProductType.ts","services/Api/order/SendOrderApi.ts","pages/public/paymentLink/_UsePaymentLink.tsx","pages/public/paymentLink/components/footer/Footer.tsx","pages/public/paymentLink/components/header/Header.tsx","assets/icons/copy.svg","assets/icons/check.svg","assets/icons/loading.svg","pages/payment/deliverySelect/findAddressPaymentLink/FindAddressPaymentLink.tsx","pages/public/paymentLink/components/pixForm/PixForm.tsx","pages/public/paymentLink/components/pixForm/validate.ts","pages/public/paymentLink/components/pix/Pix.tsx","assets/icons/print.svg","pages/public/paymentLink/components/ticketForm/TicketForm.tsx","pages/public/paymentLink/components/ticketForm/validate.ts","pages/public/paymentLink/components/ticket/Ticket.tsx","pages/public/paymentLink/components/creditForm/CreditForm.tsx","pages/public/paymentLink/components/credit/Credit.tsx","pages/public/paymentLink/components/credit/UseCredit.tsx","pages/public/paymentLink/components/creditForm/validate.ts","pages/public/paymentLink/components/payment/Payment.tsx","pages/public/paymentLink/PaymentLink.tsx","assets/icons/www.svg","assets/icons/whatsapp.svg","assets/icons/instagram_b.svg","assets/icons/facebook_b.svg","assets/icons/menu.svg","assets/icons/wallet.svg","assets/icons/wallet_blue.svg","pages/public/catalog/home/components/home/Home.tsx","components/ui/Container/Container.tsx","pages/public/catalog/products/components/Header/Header.tsx","pages/public/catalog/stores/StoreItem/StoreItem.tsx","pages/public/catalog/stores/StoresPage.tsx","pages/public/catalog/home/HomePage.tsx","assets/icons/contract.svg","assets/icons/groups.svg","assets/icons/money.svg","assets/icons/tag_plus.svg","assets/icons/transfer.svg","models/wallet/IWallet.ts","assets/icons/alert.svg","assets/icons/key.svg","assets/image/empty.svg","pages/private/wallet/pages/tag/components/newPasswordForm/NewPasswordForm.tsx","pages/private/wallet/pages/tag/components/newTagForm/NewTagForm.tsx","pages/private/wallet/pages/tag/Tag.tsx","pages/private/wallet/pages/transfer/Transfer.tsx","pages/private/wallet/Wallet.tsx","utils/mask/cpf.ts","pages/private/wallet/pages/profile/Profile.tsx","pages/public/catalog/products/components/productList/productItem/ProductItem.tsx","pages/public/catalog/products/components/productList/_ProductList.tsx","pages/public/catalog/products/components/tabMenu/_TabMenu.tsx","pages/public/catalog/products/components/_simpleHeader/SimpleHeader.tsx","pages/public/catalog/products/components/productListCategory/ProductListCategory.tsx","pages/public/catalog/productDetail/UseProductDetail.tsx","components/productComposition/useCases/BaseCompositionUseCase.tsx","components/productComposition/useCases/CalcTotalsComposition.ts","components/productComposition/useCases/AddOrderCompositionByProductCompositionItem.tsx","components/productComposition/useCases/RemoveOrderCompositionByCompositionItem.tsx","components/productComposition/useCases/ValidateCompositions.ts","components/productComposition/context/UseCompositionContext.tsx","components/productComposition/useCases/CalcTotalsOfCompositionItemByCompositionId.tsx","components/productComposition/context/CompositionContext.tsx","components/productComposition/components/boxProductCompositionItem/BoxProductCompositionItem.tsx","components/productComposition/components/boxProductComposition/BoxProductComposition.tsx","components/productComposition/components/productCompositionList/ProductCompositionList.tsx","components/productComposition/ProductCompositions.tsx","pages/public/catalog/productDetail/ProductDetail.tsx","components/cart/cartPage/cartItem/CartItem.tsx","components/cart/cartPage/UseCartPage.tsx","components/cart/cartPage/CartPage.tsx","components/cart/cartBar/CartBar.tsx","components/tracking/facebookPixel/FacebookPixel.tsx","pages/public/catalog/products/ProductsPage.tsx","pages/private/wallet/pages/profile/dependents/Dependents.tsx","assets/icons/pix_contained.svg","pages/private/wallet/pages/recharge/components/paymentTypeSelect/PaymentTypeSelect.tsx","utils/DefferedPromise.ts","pages/private/wallet/pages/recharge/components/pixRecharge/PixRecharge.tsx","pages/private/wallet/pages/recharge/Recharge.tsx","pages/private/wallet/pages/extract/Extract.tsx","routes/Routes.tsx","App.tsx","serviceWorker.ts","index.tsx"],"names":["module","exports","moneyMask","text","value","Number","parseInt","substr","replace","toString","length","slice","moneyMaskNumber","money","toLocaleString","style","currency","moneyToFloat","parseFloat","CouponValueType","CoupomType","CalcCoupon","totalWithoutDelivery","coupon","PaymentType","_coupon$id","error","ableTo","minOrderValue","valueType","percentage","maxValue","total","type","cashback","id","errorMessage","ResumeView","_ref","_ref2","_installment$price","_moneyMaskNumber","_orderDetailHandled$a","orderDetail","deliveryFee","installment","serviceFee","setAcceptServiceFee","openServiceFee","setOpenServiceFee","useState","acceptServiceFee","setCheckAcceptServiceFee","orderDetailHandled","setOrderDetailHandled","totalCart","itens","reduce","acc","item","unitValue","quantity","orderDetailHandler","useCallback","newOrderDetail","map","orderItem","additionalValue","composition","JSON","parse","compositionItem","Opcoes","Quantidade","ProdutoValor","totalValue","useEffect","React","createElement","className","styles","container","title","details","resumeItem","itemResume","key","productId","quantityContainer","quantityText","productName","name","productPrice","Icon","color","infoFeeButton","onClick","infoFeeIcon","totalRow","description","fontWeight","price","amount","Dialog","open","onClose","DialogContent","modalContent","DialogContentText","modalHeader","modalFeeTitle","closeButton","closeIcon","modalRow","prev","modalFeeDescription","modalConfirButton","useExternal","window","location","href","includes","toLowerCase","BASE_URL","process","api","axios","create","baseURL","headers","Authorization","localStorage","getItem","Api","AddressApi","getUserAdresses","async","get","setDefaultAddress","post","saveAddress","address","deleteAddress","addressId","DeliveryAddressItem","children","onClickRemove","removeButton","catchOnStore","loading","onClickMain","onClickEdit","ButtonBase","disabled","fontSize","Fragment","CircularProgress","size","street","number","neighborhood","city","state","IconButton","ToastFullScreen","icon","message","actionButton","onClickActionButton","iconSize","backgroundColor","selectColor","Button","UIContext","createContext","UIProvider","setloading","toastFullScreenProps","settoastFullScreenProps","openToastFullScreen","setopenToastFullScreen","isIframe","setIsIframe","countLoad","setCountLoad","dimensions","setDimensions","width","innerWidth","heigth","innerHeight","isMobile","setIsMobile","helpFixed","setHelpFixed","helpHeader","setHelpHeader","openTooltip","setOpenTooltip","getDimensions","addEventListener","removeEventListener","self","top","e","showLoading","hideLoading","toastFullScreen","time","arguments","undefined","callback","setTimeout","Provider","toast","position","toastify","autoClose","hideProgressBar","closeOnClick","pauseOnHover","draggable","progress","ToastContainer","newestOnTop","rtl","pauseOnFocusLoss","Backdrop","zIndex","Drawer","anchor","useUi","useContext","DeliveryApi","getDeliveryFee","localId","OrderApi","getOrderAndConfigs","orderId","PaymentApi","confirmarPagamentoPedido","paymentRequest","payOrRecharge","confirmarPagamentoPedidoMeepCard","getPaymentStatus","data","Id","getAddress","postalAddressCode","DeliveryType","SecurityCodeInput","onSubmit","isPassword","securityCode","setsecurityCode","event","preventDefault","TextField","autoFocus","inputProps","textAlign","inputMode","onChange","target","variant","fullWidth","ParamsConfigContext","ParamsProvider","queryParams","setQueryParams","useLocation","setParamsLocalId","query","URLSearchParams","search","queryPlace","queryDescription","queryTypeDelivery","accoutnId","operatorId","accountId","setItem","useParamsConfig","UseMercadoPago","deviceIdMercadoPago","setDeviceIdMercadoPago","script","document","src","setAttribute","body","appendChild","removeChild","timer","setInterval","deviceId","clearTimeout","UseFingerPrint","fingerPrint","setFingerPrint","getFingerPrint","fp","FingerprintJS","load","result","OrderPadApi","getOrderPads","Numero","status","Status","UseLocalOrderPads","storeConfig","orderPads","setOrderPads","selectedOrderPad","setSelectedOrderPad","storeId","selectedFromUrl","find","orderPad","_storagePlace","selected","service","response","filter","CouponApi","activate","code","getAll","UseCoupon","coupons","setCoupons","selectedCoupon","setSelectedCoupon","isLoadingCoupon","setIsLoadingCoupon","activateCoupon","couponSerivce","responseCoupon","getAllCoupons","UseServiceFee","setServiceFee","_serviceFee","PaymentContext","PaymentProvider","setOrderDetail","setStoreConfig","confimPlaceModal","setConfimPlaceModal","inPayment","setInPayment","paymentType","setPaymentType","NAO_INFORMADO","setAddress","deliveryType","setDeliveryType","other","card","setCard","change","setChange","setdeliveryFee","customDeliveryDescription","setCustomDeliveryDescription","setInstallment","wallet","setWallet","WalletId","errorPayment","setErrorPayment","paymentObject","setPaymentObject","securityCodeOpen","setSecurityCodeOpen","pixValues","setPixValues","history","useHistory","updateTableLocalStorage","table","sessionStorage","stringify","updatePaymentTypeLocalStorage","getOrderAndConfig","storageTable","storagePaymentType","orderApi","store","order","_error$response","_error$response$data","_error$response2","_error$response2$data","redirectSucess","parent","postMessage","command","_queryParams$queryDes","getAccountAndConfig","accountApi","AccountApi","accountToOrder","account","returnOrder","ammount","orders","flatMap","allowPaymentOnDelivery","allowOnlinePayment","showDeliveryStatus","allowCatchOnShop","allowDeliveryHome","allowCustomDelivery","isMeepCard","acceptInstallment","useMeepDelivery","acceptSlipPayment","getAccount","_error$response3","_error$response3$data","_error$response4","_error$response4$data","enviarMensagemDeConfirmacao","mensagem","_queryParams$queryDes2","_queryParams$queryPla","enviarPagamentoPedido","paymentApi","qrcodeBase64","qrcodeLink","qrCode","_error$response5","_error$response5$data","_error$response6","_error$response6$data","removeItem","enviarPagamentoConta","dadosCartaoCadastrado","_paymentRequest$dados","_paymentRequest$dados2","requestPayment","resumoPedido","valorPedido","creditCardId","cartaoId","CVV","codigoSeguranca","_error$response7","_error$response7$data","_error$response8","_error$response8$data","inserirCodigoDeSeguracaEEnviarPagamento","mesaId","sendWalletPayment","dadosWallet","enviarPagamentoOrderComSecurityCode","validatePaymentForm","delivery","enderecoEntregaId","allowTableDelivery","tipoPagamentoId","then","_response$data","catch","_error$response9","_error$response$data$","_error$response10","_error$response10$dat","object","confirmarPagamento","localClienteId","PIX","DEBITO","troco","parcelas","pedidoId","taxaEntrega","taxaServico","cupom","valor","canalVenda","deviceFingerPrint","visitorId","gerarPIX","WALLET","onClickConfirmarAndOpenPlaceAlert","closePlaceAlert","usePayment","Consumer","GoogleAutoComplete","onSelect","onReset","setaddress","onChangeAddress","onResetAddress","getDetails","geocodeByAddress","returnAddress","address_components","types","short_name","CEP","ConvertDetailToAddress","onSelectAddress","placeId","PlacesAutocomplete","searchOptions","getInputProps","suggestions","getSuggestionItemProps","label","placeholder","InputProps","startAdornment","InputAdornment","endAdornment","suggestion","active","cursor","Object","assign","NewAddress","onCancel","onSuccess","showCloseIcon","selectedAdress","setselectedAdress","values","setValues","complement","ev","_selectedAdress$numbe","_selectedAdress$numbe2","_error$reponse","_error$reponse$data","_error$reponse2","_error$reponse2$data","reponse","changeNumeroHandle","changeComplementoHandle","Container","maxWidth","modalContainer","CloseOutlined","Grid","spacing","xs","required","buttonsContainer","modalCancelButton","modalSubmitButton","DeliverySelect","localOrderPads","onChangeSelectedOrderPads","addresses","setaddresses","selectAdressOpen","setselectAdresOpen","newAdressOpen","setNewAdresOpen","loadingAddresses","setloadingAddresses","countDeliveryType","setCountDeliveryType","getAddresses","_response$data$find","default","onChangeType","onClickAdd","onPressDeleteAddress","_address","_error$response$data$2","count","Modal","addressModalContainer","padding","maxHeight","overflowY","index","deliveryAddressContainer","deliveryAddressButon","buttonIcon","buttonText","deliveryCatchMessage","Autocomplete","autoSelect","options","getOptionLabel","option","_value","renderInput","inputParams","marginLeft","CreditCardStatus","CardBrandType","CardApi","saverCard","userId","postObject","getCards","saveCreditCard","creditCard","deleteCard","checkCreditCard","initCheckCreditCard","cvv","CardItem","memo","autenticated","autenticateIcon","textTop","textBottom","imageUrl","imageSrc","iconName","opacity","alt","height","objectFit","Tooltip","GetCardType","creditCardType","imgs","brands","GetCardTypeImage","master","white","require","black","visa","amex","elo","hiper","CardPreview","_GetCardType$imgs$whi","_GetCardType$imgs","ownerName","brand","month","year","objectPosition","LocalType","StoreApi","getConfig","localType","restaurant","StoreId","DeliveryFee","AllowPaymentOnDelivery","AllowOnlinePayment","ShowDeliveryStatus","AllowCatchOnShop","AllowDeliveryHome","AllowCustomDelivery","AllowTableDelivery","CustomDeliveryDescription","acquirerType","AcquirerType","IsMeepCard","AcceptInstallment","Installment","UseMeepDelivery","AcceptSlipPayment","disableAutenticateCard","ServiceFee","getFacebookPixelId","facebookPixelId","CatalogApi","getCatalogByUrl","identificador","GetCatalogByListId","listId","LocalContext","LocalProvider","localLoading","setlocalLoading","url","useParams","setlocalId","path","useRouteMatch","getLocalConfig","LocalApi","responseLocalConfig","console","Error","finally","useLocal","AuthApi","login","username","password","smsValidationId","loginRequest","grant_type","Axios","querystring","requestValidationCode","validateSmsCode","UserApi","register","cpf","getEmailByCpf","getUserData","EtapasAuth","useAuthPage","onLogin","user","setUser","setSmsValidationId","updateToken","updateUser","useAuth","etapa","setEtapa","PhoneNumber","onSucessLogin","authValues","goto","loginWithUsername","authApi","_userFromLogin$id","_userFromLogin$cpf","_userFromLogin$name","_userFromLogin$email","_userFromLogin$phoneN","_userFromLogin$ddd","access_token","_userFromLogin","email","phoneNumber","ddd","token","ddi","SMSCode","isSecondAttempt","codeVerification","validationCode","_response$data$userId","_response$data$cpf","_response$data$name","_response$data$email","_response$data$phoneN","_response$data$ddd","Cpf","registerNewUser","userApi","_response$data$Id","_response$data$Cpf","_response$data$Name","_response$data$Email","_response$data$PhoneN","_response$data$Ddd","Token","Name","Email","Ddd","log","requestEmailByCpf","Username","NewUser","cpfMask","inputCpf","FormCpf","formObject","setformObject","Formik","initialValues","onsubmit","handleSubmit","handleChange","isValid","errors","touched","Form","onChangeCpf","Login","emailSugestion","changeNameHandle","yup","shape","min","changePasswordHandle","submitHandle","ddis","country","continent","FormLoginPhoneNumber","smsCode","onClickBack","onPressCancel","enableDdi","disabledDDD","setDisabledDDD","refDdd","useRef","refTel","selectedDDI","setSelectedDDI","onSubmitHandle","numberMask","newValue","substring","dddMask","_refTel$current","current","focus","changeDDDHandle","changeDDIHandle","_refDdd$current","_refTel$current2","_value$ddi","changePhoneNumberHandle","changecodeVerificationHandle","htmlFor","inputRef","boxShadow","borderRadius","FormLoginValitationCode","onResend","defaultValues","setValue","buttonVisible","setButtonVisible","resendCode","sendSms","handleClickSendSms","FormNewUser","newUser","userToRegister","LoginPage","content","bottom","right","AuthPage","enableDddi","UseOnErroApi","logout","onError","dismiss","Message","interceptors","use","AuthContext","AuthProvider","disableRedirect","locals","setLocals","currentLocal","setCurrentLocal","setToken","loadToken","setloadToken","isAuth","setIsAuth","modalLogin","setModalLogin","userValue","clear","push","storageToken","storageUser","defaults","tokenValue","redirectLogin","goToLogin","openModalLogin","onLoginModal","NewCard","onConfirm","customer","isOwner","loadingSave","setLoadingSave","cardSchema","max","when","is","_address$id","_address$id2","creditCardAddRequest","cardValue","addCard","display","flexDirection","justifyContent","alignItems","Paper","validationSchema","_values$customer","_touched$customer","_errors$customer","_touched$customer2","_errors$customer2","_touched$customer3","_errors$customer3","_touched$customer4","_errors$customer4","_values$customer2","_touched$customer5","_errors$customer5","_touched$customer6","_errors$customer6","_values$customer3","_touched$customer7","_errors$customer7","_touched$customer8","_errors$customer8","alignContent","autoComplete","helperText","Boolean","newEvent","select","MenuItem","cvvMask","FormControlLabel","control","Checkbox","checked","cancelButton","submitButton","marginRight","VerifyModal","onValidate","valorCobrado","setValorCobrado","setSecurityCode","setLoading","initCheckEnviado","setInitCheckEnviado","initCheck","onPressValidate","PENDING","prefix","fontSizeAdjust","marginTop","WalletApi","getWallet","getProfile","linkTag","put","params","deactiveTAG","TAG","editUser","getDependents","addDependent","creditRecharge","createPixRecharge","getPixStatus","getExtract","_params","hidePendingOrders","removeDependent","delete","transferBalance","NumberToMoneyString","minimumFractionDigits","PaymentSelect","_wallet$Balance","_wallet$Balance2","disabledTitle","setWalletToPay","cards","setcard","selectCardOpen","setselectCardOpen","openAddCard","setopenAddCard","openVerifyCard","setOpenVerifyCard","settroco","updateWallet","_storeConfig$storeId","_wallet$Id","onPressDeleteCard","_deletedCard","allowWalletPayment","onClickAddNewCard","onCloseAddNewCard","onCloseVerifyCard","VALIDATED","onClickSelectCard","onClickPix","onClickDinheiro","DINHEIRO","onClickCartao","CREDITO","onClickWallet","onClickCartaoNaEntrega","onChangeInstallment","isPixEnabled","useMemo","_storeConfig$storeId$","_storeConfig$storeId2","allowPixPayment","paddingTop","paddingBottom","margin","paymentFormTitle","whereToPayLabel","Balance","_wallet$Id2","finalNumber","brandDescription","emptyPaymentModalMessage","closePaymentModalButton","onBackdropClick","marginBottom","toFixed","changeTitle","changeDescription","BackButton","Header","start","center","end","MeepTheme","secondaryBackground","primaryDark","primaryColor","secondaryColor","accentColor","PalmeirasTheme","topImage","FoodHallDadoBierTheme","ArenaMRVTheme","MineiraoTheme","backgroundImageUrl","OutLandTheme","ThemeContext","ThemeProvider","theme","setTheme","ThemeMaterial","setThemeMaterial","createTheme","palette","background","paper","primary","main","secondary","typography","fontFamily","join","getColorOn","Color","isDark","updateCssVar","detectThemeByUrl","cssVar","documentElement","setProperty","ThemeMateriaPovider","minHeight","backgroundImage","backgroundSize","backgroundPosition","useTheme","useQuery","useCatalogContext","catalog","setCatalog","onLoading","setOnLoading","pathname","forcedChangeCatalog","hideCompositions","goToFirtsStore","stores","catalogApi","storesLengthRedirect","_catalog$stores","getProductFromCatalog","GetProductFromCatalogById","getProductFromCatalogById","seccionedProduct","section","products","product","CatalogContext","CatalogProvider","useCatalog","Menu","onClickOut","onClickLogin","menu","Link","to","enableShoppingCart","menuFaq","PrivateHeader","menuDisabled","confirmBack","openMenu","setopenMenu","dialogLogoutOpen","setdialogLogoutOpen","dialogSairOpen","setdialogSairOpen","onClickConfirmBack","onClickBackHandle","onClickMenu","DialogTitle","DialogActions","onClickLogout","minWidth","PrivatePage","props","isSmall","setisSmall","verificarTela","screen","private","CouponInput","isLoading","onSelectCoupon","onlinePayment","openCoupons","setOpenCoupons","rules","setRules","changeHandle","couponButton","drawerContainer","loadingContainer","couponItem","finishAt","format","Date","PaymentStatus","PixPage","onPaymentSuccess","paymentSuccess","veryfyPixPayment","PAGAMENTO_REALIZADO","clearInterval","onClickCopy","navigator","clipboard","writeText","delay","Intl","NumberFormat","ConfirmPlace","onClickConfirmar","onClickVoltar","PaymentPage","scrollTo","MAX_SAFE_INTEGER","behavior","goBack","localStore","flex","fixedPlace","info","InfoOutlined","EnumPrinterStatus","ProductItemDetail","productDetail","StatusOrder","StatusState","StatusItem","hidden","enabled","concluded","canceled","TimeLineStatus","statusOrder","statusMode","setstatusMode","pendente","recusado","aceito","preparo","transporte","retirar","entregue","Devolvido","devolvido","OrderTracking","orderTracking","Code","CriationDate","AcceptDate","KindPay","Amount","Duration","Items","NomeProduto","Valor","QRCode","CurrentState","TrackingKey","OrderTrackingApi","getStatusOrders","OrderInProgressItem","_orderInProgress$prin","_orderTracking$Curren","_orderInProgress$prin2","orderInProgress","openQrCode","setOpenQrCode","openTracking","setOpenTracking","orderTrackingApi","setorderTraking","getOrderTracking","storeName","printerStatus","Printed","createdAt","differenceInMinutes","addHours","created","productsDetails","productsDetail","toLocaleLowerCase","OrdersInProgressList","ordersInProgressList","Utils","date","adjustedDate","endsWith","toLocaleDateString","day","toLocaleTimeString","timeStyle","hour12","adjusteUTC","getTime","split","reverse","cardNumber","cardBrandRules","Unknown","prefixes","lengths","Visa","Mastercard","Elo","Amex","isMatchingBrand","rule","startsWith","matchesPrefix","some","matchesLength","OldOrderList","toDate","historyStore","toTime","historyOrderStatus","HistoryOrderStatusString","historyOrderItems","itemIndex","historyPayment","payment","PaymentTypeString","OrderHistory","orderHistoryApi","getByUser","clientId","page","pagesize","getInProgressOrders","setOrderInProgress","sectionOrders","setSectionOrders","isMounted","getOrderHistory","orderHistory","OrderTrackingPage","Marker","lat","lng","currentImg","clientImg","localImg","MapOrderTracking","orderMapTracking","getCurrent","cord","setCord","onGetPosition","notFound","setnotFound","getPositions","GoogleMapReact","debounced","bootstrapURLKeys","defaultCenter","currentDrivePosition","latitude","longitude","defaultZoom","client","coords","local","alignSelf","ConfirmPasswordInput","setPassword","MeepCardPaymentContext","MeepCardPaymentProvider","meepCardData","setMeepCardData","confirmPasswordOpen","setConfirmPasswordOpen","apelido","senha","meepCard","validacao","onClickEnviarPagamento","onPasswordConfirmado","CREDITOLOJA","dadosCartaoNominal","historicoAssociacaoId","associationId","Senha","MeepCardPaymentConsumer","useMeepCardPayment","LoginAlunoPage","setApelido","setSenha","sm","Box","MeepCardResume","cardData","holderName","dailyLimit","balance","MeepCardPaymentPage","left","OnSucessPayment","redirectDisabled","disabledRedirect","innerHTML","noscript","head","script2","noscript2","CalcTotalsAllCompositions","prevCompositions","_prevCompositions","_composition","compositionItems","_item","totalPrice","previousValue","currentValue","calcTotalsAllCompositions","AddCartItemByProductUseCase","prevCartItems","orderCompositions","productToCartItem","_product","_quantity","_orderCompositions","v4","category","productType","barcode","orderComposition","printerName","existProductInCart","_prevCartItems","cartItem","compareComposition","compositionToCopare","compositionString","addCartItem","existCartItem","dontHaveComposition","addQuantityInExitCartItem","_id","addNewCartItem","_orderComposition","useCaseCart","cartItems","setCartItems","totals","setTotals","totalQuantity","updateCartLocalStorage","cart","storageCart","addProductCart","cartItemOd","AddCartItemByIdUseCase","cartItemId","_cartItemId","prevCartItem","AddCartItem","removeCarItem","RemoveCartItemByIdUseCase","removeCartItem","clearCart","acumulado","atual","calcTotals","CartContext","CartProvider","caseCart","useCart","NewAddressForm","_selectedAdress$compl","cnpjMask","PaymentGuestCardForm","cardValues","pessoa","setPessoa","owner","setOwner","birthDay","openAddressForm","setOpenAddressForm","erros","setErros","validate","newCard","onSubmitAddress","onChangeHandle","persist","changeOwnerHandle","CardForm","FormControl","component","FormLabel","RadioGroup","aria-label","Radio","PaymentLinkApi","getPaymentProduct","paymentLinkId","getPaymentGuestSendPay","paymentGuestRequest","pixPayment","payRequest","pixPaymentStatus","paymentId","ticketPayment","Result","ticketPaymentStatus","getInstallments","UsePaymentGuestPage","paymentLink","setPaymentLink","paymentLinkToOrderDetail","responsePaymentLink","nome","paymentLinkApi","onClickSend","_card$owner$address$C","_installment$installm","newPaymentGuestPayRequest","mePayLinkId","isSinglePayment","monthYearValid","postalCode","installments","PaymentGuestPage","openCardForm","setOpenCardForm","logo","AlertApp","setOpen","platform","UseDetectPlatform","setPlatform","userAgent","PaperProps","iconApp","closeIconContainer","ConquistasProfile","img1","img2","img3","img4","InteressesProfile","PreviewPhotosProfile","photos","settings","slidesToShow","initialSlide","infinite","slidesToScroll","responsive","breakpoint","selectedPhoto","setselectedPhoto","Slider","photo","thumbnail","photoUrl","imgContainer","thumbnailUrl","ProfilePicture","img","SocialMedias","social","viewBox","fill","xmlns","d","stroke","whatsapp","ProfileHeader","profile","backgroundContainer","age","from","actions","medias","UseProfilePage","profileId","setProfile","profileApi","ProfileApi","ProfilePage","UsePhoto","buttonContainer","button","ScheduledApi","getDemandedSchedulesByUserService","getDemandedPlaceScheduleWithClientsByUser","ScheduledItem","_appointment$schedule","appointment","schedule","environment","peopleAmount","createdBy","procedure","unity","qrCodeContainer","ScheduledPage","appointments","setAppointments","items","list","ButtomMaterial","classes","root","contained","botao","outlined","botaoOutlined","botaoText","botaoDisabled","FaqCard","openAnswers","setOpenAnswers","containerCategory","containerQuestion","containerDescription","KeyboardArrowUp","KeyboardArrowDown","answers","mock","categories","questions","UseFaqPage","FaqPage","onClickFaq","titleHeader","Close","mainFaq","it","footerButtonContact","rel","TooltipStyle","withStyles","tooltip","pxToRem","border","arrow","HeaderLayout","KeyboardArrowLeft","HelpOutline","buttonHelp","Layout","plan","enableDescriptionImage","banner","isTopLayout","openFaq","setOpenFaq","onClickCloseHelpFixed","planName","imageGramado","ImageGramado","footer","footerContainer","header","FacebookImg","iconFacebook","YoutubeImg","iconYoutube","InstagramImg","iconInstagram","containerHelp","cancelBox","Cancel","helpBox","Help","fullScreen","containerFaqHelpFixed","faqHelpFixed","ScheduleTourApi","postReserveTourWithPayment","request","getServiceCategoryByLocalId","removeSubcategories","removePrincipalCategories","getPlacesByServiceId","serviceId","getServicesValuesByServiceId","postAddResevePlaceSchedule","getServiceCategoryByCategoryId","categoryId","getMainServiceCategoryByLocalId","getDataByDocument","getServiceDetailsByServiceId","getVacanciesAndDisponibilityService","serviceScheduledId","getReserveByUser","UseTourPage","storesTour","setStoresTour","aboutProject","bannerAboutProject","logoUrl","productTourCategory","scheduleTourApi","GetStoreToursByLocaldUseCase","onClickStoreTourHandle","onClickAboutProject","cartTourItems","setCartTourItems","addCart","removeCart","cartTourId","replaceCart","Cart","onClickConfirm","renderDescription","removeTourCart","clearTourCart","openCart","setOpenCart","sendTourCartToPayment","barVisible","barHide","cartTourItem","image","tourName","buttons","sendButton","PostReserveTourScheduleUseCase","CartTourToAddDemandWithPaymentDTOUseCase","cardId","fingerprint","services","customers","customerItem","_cartItem$startDate","_customerItem$value$l","_customerItem$value","startDate","listProductId","rg","note","phone","birthDate","UseNavigationTour","goToCurrentTourStore","goToTourStores","goToTourReserves","UsePaymentCartTourResume","cartTour","onSucess","setpaymentType","setInstallments","parcela","onClickItemEdit","cartId","sendScheduleTour","_installments$parcela","InstallmentSelect","parcelaMinima","gerarParcelas","parcelaMin","i","valorDaParcela","_gerarParcelas$find","newParcela","PaymentCartTourResume","openCustomers","setOpenCustomers","UseScheduleTourPayment","contractTerms","setContractTerms","toggleContractTerms","setToggleContractTerms","handleModalContractTerms","PaymentResumePage","resumeDown","infoHour","cartItemResume","headerInfoResumePayment","containerInfoResumePayment","showCustomersResume","showCustomers","hideCustomers","mainInfoResumePayment","editBox","Edit","footerInfoResumePayment","containerModal","containerTitle","CartTour","setCartTour","Image","onLoadImage","setonLoadImage","onLoad","showImage","hideImage","TourItem","StoreItem","descriptionContainer","TourPage","showModal","setShowModal","modalMessage","SelecionarPagamento","GetServicesTourCategoryByIdUseCase","_storeTour$productTou","storeTour","CategoryServiceToStoreTourResponseUseCase","responseServices","serviceItem","prices","Math","UseProductsTourPage","productsTour","setProductsTour","setStoreName","onClickProductHandle","ProductTourItem","prefixPrice","ProductItem","containerCard","headerCard","footerCard","favorite","Medal","viewMore","KeyboardArrowRight","Favorite","Star","viewMoreOnly","ProductListTour","forwardRef","ref","onClickProduct","simpleTitle","ProductList","simpletitle","ProductsTourPage","GetDiponibilityAndVancanciesUseCase","scheduledId","toISOString","addDays","GetServiceDetailsByServiceIdUseCase","UseFormTour","_time$vacancies","seller","setSeller","isId","setIsId","serviceDetails","setServiceDetails","setDate","setCustomers","setTotalValue","placeSchedule","setPlaceSchedule","openModalPayment","setOpenModalPayment","formScheduleTour","setService","valuesService","setValuesService","placeSchedulesList","setPlaceSchedulesList","dateInfo","setDateInfo","setTime","backOpenModal","setBackOpenModal","localVacancies","setLocalVacancies","vacancies","handleBackOpenModal","handleBackCloseModal","cartItemToEdit","responseService","duration","GetServiceScheduleByIdUseCase","responsePlace","GetPlacesScheduleByServiceIdUseCase","responseServiceDetail","places","detail","Promise","all","_placesEnabled","isEnabled","getAllInitialValues","GetValuesServiceScheduleUseCase","isValidate","_item$value$value","_item$value","autocompleteCPF","validateCPF","GetDataByDocumentUseCase","res","_index","birthday","handleCpf","customerIndex","addQuantity","newCustomer","removeQuantity","_pop","lastId","pop","handleChangeCustomers","customerId","changeForm","prevState","handleChangePlaceSchedule","placeScheduleName","handleChangeCustomersValue","selectedPrice","_cartItem$customers$l","vacancie","handleScheduleTour","hour","minutes","seconds","startDateTime","getFullYear","getMonth","getDate","_cartItem","createCartItemUseCase","_service","_formScheduleTour","_placeSchedule","_storeId","_formScheduleTour$dat","_totalPrice","_item$value$value2","_item$value2","_totalQuantity","removeCustomer","closeModalPayment","Input","InputLabelProps","multiline","testId","rows","rootStyle","textField","SelectProps","MuiSelect","MeepMaskedInput","mask","InputMask","shrink","localTour","setlocalTour","_queryParams$operator","_values$date","PaymentCartResume","handleChecked","UsePaymentResume","headerTitle","ButtonPickerAcordion","disabledAnimation","onClickHandle","containerSelected","containerUnselected","botaoContainer","iconContainer","botaoValue","botaoLabel","acordionOpen","acordionClose","PickerDate","disabledClick","openList","setopenList","openListHandle","onClickItem","tileClassName","activeStartDate","view","isDisabledTile","_ref3","Calendar","minDate","locale","tileDisabled","TimeSelect","times","lastVacancies","drawer","timeItem","Transition","Slide","direction","toggleModal","cancelTitle","confirmTitle","showButtons","centerTitle","keepMounted","TransitionComponent","ModalContainer","modalActions","SampleNextArrow","prevArrow","ArrowBackIos","SamplePrevArrow","nextArrow","ArrowForwardIos","dots","dotLimit","arrows","autoplay","autoplaySpeed","cssEase","Carousel","FormTourPage","_dateInfo$find$times","_dateInfo$find","calcuDisabledValueByAge","minAge","maxAge","differenceInYears","carousel","showcaseImages","containerPickerDate","availableDays","inputs","inputsHeader","Delete","containerInfoCustomer","otherValues","newValue1","newValue2","removePipe","addNewPeople","AddCircleOutline","containerTotal","containerButton","infoSchedule","CardMoreDescription","openDescription","setOpenDescription","ContainerDescription","showCard","hideCard","moreDescription","dangerouslySetInnerHTML","__html","MoreDetails","_values$showcaseImage","_values$moreDescripti","_values$availableDays","_values$otherValues","openDate","setOpenDate","openValue","setOpenValue","onClickGoBack","UseMoreDetails","tourLocation","nameTour","str","moreDescriptions","sort","a","b","dayOfWeek","dayOfWeekToString","startHour","endHour","containerAvailableDays","ReserveListCard","_value$participants","onDelete","openCustomersDetails","setOpenCustomersDetails","containerDetailsCustomer","customerContainer","responsable","participantsQuantity","dateTour","startAt","netValue","currentState","formPayment","formOfPayment","buttonOptions","customersDetailsClose","customersDetailsOpen","containerDetailsCustomers","participants","participant","containerCustomersList","nameParticipant","UseReservesPage","scheduleTour","pageSize","add","days","keyword","ReservesPage","AboutProject","aboutprojectImg","AboutprojectImg","aboutprojectVideo","ExternalAuthPage","_authValues$user","onCancelHandle","ExternalNewCardPage","closeHandle","onConfirmHandle","NODE_TLS_REJECT_UNAUTHORIZED","SurveyApi","getWdigetByLocalId","TrackWidget","_g","ownerId","setKey","addScript","CPF","interaction","scriptTrack","_window","_window$ReactNativeWe","getElementById","ReactNativeWebView","widgetKey","_extends","bind","n","t","r","hasOwnProperty","call","apply","SvgBoleto","svgRef","ForwardRef","SvgCredit","_defs","SvgPix","fillRule","PaymentTypeEnum","PaymentTypeForm","ProductType","SendOrderApi","orderToResume","compositionItemToOpcoes","orderCompositionItem","Descricao","ProdutoId","idReferencia","produtoId","quantidade","valorUnitario","opcoesDoConsumidor","sendPreOrder","Footer","icons","LinkedinImg","_path","imgMobile","descriptionMobile","SvgCopy","SvgCheck","SvgLoading","strokeWidth","strokeLinecap","strokeLinejoin","attributeType","attributeName","dur","repeatCount","FindAddressPaymentLink","handleChangeValues","enableField","setEnableField","setError","getAddressByCEP","cep","prevAddress","err","PixForm","errorsAddress","setErrorsAddress","formRef","holder","setHolder","PayerDocument","isFieldVisible","fieldType","_ticketPaymentType$fi","_ticketPaymentType$fi2","ticketPaymentType","paymentTypes","fields","field","showAddress","handleFocus","_formRef$current","scroll","row","DOCUMENT","onFocus","NAME","PayerFirstName","maxLength","EMAIL","PayerEmail","PHONE","PayerPhone","ADDRESS","ArrowRight","addressContainer","isFieldRequired","_pixPaymentType$field","_pixPaymentType$field2","pixPaymentType","requestDelayTimeout","Pix","_pix$value","pix","setPix","requestCounter","setRequestCounter","showPix","setShowPix","payerValues","setPayerValues","PayerAddress","setErrors","handleChangePayerValues","allowPooling","generatePix","payer","validForm","validEmail","test","_address$CEP","cliente","telefone","documento","endereco","rua","numero","complemento","bairro","cidade","estado","pais","_res$data$orderId","_res$data$orderId2","_res$data$qrcodeBase","_res$data$qrcodeLink","qrCodeBase64","qrCodeLink","isPaymentPending","_err","copyPixToClipboard","approved","Check","successMessage","toUpperCase","whatsAppContact","pixContainer","Skeleton","divisor","pixFooter","fullCode","copyCode","Copy","waitingMessage","Load","SvgPrint","TicketForm","TICKET","PayerDocumentNumber","defaultValue","Ticket","ticket","setTicket","PayerLastName","showBoleto","setShowBoleto","generateTicket","trim","customPayer","firstName","lastName","fullName","OwnerId","Description","ProductId","TransactionAmount","BoletoId","openNewTab","BarCode","Url","ticketFooter","Print","whiteSpace","CreditForm","changeDateOfBirth","inputError","Credit","_paymentLink$cardBran7","_paymentLink$cardBran8","_paymentLink$cardBran10","cardBrand","setApproved","setCardBrand","toCardBrand","_card$owner","_paymentLink$isVariab","_newCard$owner$addres","orderValue","isVariable","_res$data","UseCredit","renderOneInstallment","_paymentLink$cardBran","_paymentLink$cardBran2","_paymentLink$cardBran3","_paymentLink$cardBran4","_paymentLink$cardBran5","_paymentLink$cardBran6","cardBrandsInstallments","x","brandType","installmentContainer","infoCredit","Info","paymentDay","billingStartsInCurrentMonth","isRecurrenceLimit","amountOfCharges","ArrowDropDown","_paymentLink$cardBran9","Payment","selectedPaymentType","renderContent","CREDIT","overflow","PaymentLink","valueRef","handleChangeValue","handleBlurValue","inputMoneyMask","paymentLinkValue","setPaymentiLink","setPaymentLinkValue","cleanValue","generateOrderAndRedirect","sendOrderApi","newOrder","Produto","goToPayment","maskedValue","UsePaymentLink","setImageSrc","logoSrc","setLogoSrc","enableCredit","enablePix","enableTicket","setSelectedPaymentType","handleSelectType","disableButtons","isValidImage","resolve","onerror","onload","productImageUrl","loadImage","gap","variableValue","onBlur","paymentForm","creditIconActive","creditIconInactive","paymentInformation","pixIconActive","pixIconInactive","ticketIconActive","ticketIconInactive","SvgWww","clipPath","transform","SvgWhatsapp","SvgInstagramB","SvgFacebookB","SvgMenu","SvgWallet","SvgWalletBlue","Home","_catalog$profileConfi","_catalog$profileConfi6","_catalog$profileConfi7","_catalog$profileConfi8","_catalog$profileConfi9","_catalog$profileConfi10","_catalog$profileConfi11","goToCatalog","showKnowWallet","setShowKnowWallet","showStores","setShowStores","goToSite","link","fullLink","goToInstagram","goToWhatsApp","goToFacebook","goToWallet","_goToCatalog","profileConfiguration","Www","_catalog$profileConfi2","siteUrl","Whatsapp","_catalog$profileConfi3","Instagram","_catalog$profileConfi4","instagram","Facebook","_catalog$profileConfi5","facebook","LocationOnOutlined","addressLocal","uf","MenuIcon","ChevronRight","WalletIcon","modal","WalletBlueIcon","ContainerMaterial","defaultBackgroundImage","headerContainer","StoresPage","storesList","HomePage","showHomePage","setShowHomePage","showCatalog","setShowCatalog","showCustomHome","goToProducts","SvgContract","SvgGroups","SvgMoney","SvgTagPlus","SvgTransfer","TagStatus","TransactionType","SvgAlert","SvgKey","SvgEmpty","errorList","NewPasswordForm","handleSubmitNewPassword","confirmPassword","setConfirmPassword","validatePassword","newErrors","handlePasswordChange","handleConfirmPasswordChange","disableSubmit","CheckCircleOutline","input","NewTagForm","handleSubmitNewTag","nameInput","buttonTitle","tag","setTag","setName","tagError","setTagError","nameError","setNameError","validateTag","alphanumericValue","formattedValue","handleTagChange","handleNameChange","placement","Tag","_dependent$Name","walletId","dependent","cardName","refresh","showNewTagModal","setShowNewTagModal","showDeleteModal","setShowDeleteModal","showNewPasswordModal","setShowNewPasswordModal","_tag","closeModal","walletApi","CardName","IsCardReplacement","LocalClientId","Password","IsDependent","handleEditDependent","NewPassword","onConfirmCancel","disableAdd","enableAdd","AddCircle","tagContainer","Key","DeleteOutline","emptyTag","Empty","newTagModal","Alert","Transfer","transferValue","setTransferValue","origin","setOrigin","destiny","setDestiny","dependents","setDependents","firstLoad","makeStyles","selectRoot","useStyles","selectList","_selectList$find","UserName","forEach","handleChangeOrigin","_origin","handleChangeDestiny","_destiny","handleSubmitTransfer","DestinationWalletId","LocalId","OriginWalletId","TransferBalance","Select","transfer","Wallet","_catalog$name","_wallet$UserName","onLoadingCatalog","showTagModal","setShowTagModal","showTransferModal","setShowTransferModal","goToProfile","goToDependents","goToExtract","goToRecharge","_response$data2","Active","gridTemplateColumns","Money","TransferIcon","TagPlus","Group","Contract","tagModal","hideCPF","cleanCPF","Profile","_userProfile$Document","loadingCards","setLoadingCards","userProfile","setUserProfile","itemToDelete","setItemToDelete","Addresses","CreditCards","onClickDelete","onAddAdrress","onConfirmDelete","md","Document","Phone","listItem","StarRate","StarBorder","modalCardContainer","modalAdrressContainer","hasImageError","setHasImageError","imageFallback","mobilePrice","sectionedProducts","onChangeCategory","offset","refDiv","setRefDiv","refs","_","createRef","verificarPosicoes","debounce","_refDiv$index$current","_refDiv$index","_refDiv$index$current2","_refDiv$current$offse","_refDiv","_refDiv$current","last","offsetTop","next","pageYOffset","goToCagetory","useImperativeHandle","emptyListFallback","TabMenu","seccionedProducts","categoriaIndex","setcategoriaIndex","truncateText","lastIndexOf","Tabs","indicatorColor","Tab","aria-controls","fbq","content_ids","content_name","SimpleHeader","onClickTab","containerOpen","containerClose","backButton","tabWrapper","ProductListCategory","headerOpen","setHeaderOpen","indexTabMenu","setIndexTabMenu","refProductList","onScroll","onClickTabMenu","_refProductList$curre","onClickProductItemHandle","tab","useProductDetail","setProduct","setQuantity","observationField","setObservationField","compositions","setCompositions","onClickAddQuantityHandle","onClickRemoveQuantityHandle","onClickAddProduct","_observationField","content_type","contents","onChangeCompositionHandle","unvalidatedCompositions","handleChangeObservation","evt","calcPricFreeQuantity","freeQuantity","CalcTotalsOrderComposition","prevOrderCompositions","productComposition","calcTotalsOrderComposition","prevOrderComposition","AddOrderCompositionByProductCompositionItem","productCompositions","productCompositionItem","addNewCompositionItem","_prevOrderComposition","_productComposition","_productCompositionItem","newCompositionItem","productCompositionItemToOrderCompositionItem","newQuantityTotalCompositions","verifyIfExistComposition","__productComposition","newComposition","productCompositionToOrderComposition","quantityFree","orderCompositionItems","addProductAndClearOrderWhenMinMaxOne","orderCompositionsWithCompositionCleaned","veryfyIfExistCompositionItem","_prevOrderComposition2","_compositionItem","addQuantityInExistCompositionItem","newQuantityTotalComposition","newCompositionItems","newQuantity","addOrderCompositionByCompositionItem","RemoveOrderCompositionByCompositionItem","compositionId","_compositionId","removeOrderCompositionByCompositionItem","ValidateComposition","getNotValidateCompositonsByProductComposition","_productCompositions","naoAtendemOMinimo","verificarQuaisComposicoesNaoAtendemOMinimo","composicaoDeProduto","quantidadeDeItemsMarcados","cujoOsItemsNaoAtendemOMinimo","verificarQuaisComposicoesCujosOsSeusItemsNaoAtendemOMinimo","obterQuaisItemsNaoAtendemOMinimo","obterQuantidadeDeItemNoPedido","_itemComposition$quan","itemComposition","useCompositionsContext","setOrderComposition","unValidatedCompositions","setUnValidatedCompositions","addCompositionItem","removerCompositionItem","productCompositionId","getTotalsCompositionItem","productCompositionItemId","CalcTotalsOfCompositionItemByCompositionId","prevOrderConposition","calcTotalsOfCompositionItemByCompositionId","getTotalsComposition","validateComposition","CompositionContext","CompositionsProvider","onChangeOrderCompositions","useCaseCompositions","ProductCompositionsConsumer","useComposition","BoxProductCompositionItem","disabledAllAdd","totalsItem","setTotalsItems","disabledAdd","setDisabledAdd","newTotals","totalCompositionItems","maxCompositionItem","removeQuantityHandle","addQuantityHandle","onClickOption","isCheckbox","every","ProductCompositionItem","selector","quantitiy","buttonIcons","disabledIcon","totalPriceContainer","BoxProductComposition","setDisabledAllAdd","setTotal","totalComposition","maxComposition","descriptionText","obrigatorio","obrigatorioChecked","ProductCompositionList","ProductCompositions","ProductDetail","_compositions$totals$","opacityHeader","setOpacityHeader","disabledAddProduct","setDisabledAddProduct","hidePayButton","_sessionStorage$getIt","scrollTop","backButtonIcon","imageContainer","productGeneralObservation","obsLabel","max-length","obsInput","iconButton","CartItem","_cartItem$orderCompos","_cartItem$orderCompos2","compositionNameContent","totalContainer","UseCartPage","newOrderId","sendOrder","num_items","CartPage","onClickClose","CartView","clearCartContainer","CartBar","mount","setMount","cartContainer","badge","FacebookPixel","init","pixelId","autoConfig","debug","ProductsPage","_catalog$logoUrl","setStore","filtered","setFiltered","filterText","setFilterText","normalizedFilterText","normalize","y","_local","_store","getFacebookPixel","content_category","filterContainer","SearchOutlined","productsContainer","Dependents","_path2","_dependentToEdit$Id","_dependentToEdit$Name","dependentToEdit","setDependentToEdit","showAddDependent","setShowAddDependent","dependentToDelete","setDependentToDelete","edit","handleDelete","_dependentToDelete$Id","_dependentToDelete$TA","UserId","AttachMoney","EditOutlined","emptyList","newDependentModal","SvgPixContained","PaymentTypeSelect","handlePaymentType","selectPaymentType","_card","createDefferedPromise","reject","promise","rej","resolver","rejecter","expirationTimeout","PixRecharge","_pixStatus$Amount","deffered","visible","setVisible","showCancelModal","setShowCancelModal","pixStatus","setPixStatus","isActiveRequestTimer","setIsActiveRequestTimer","expirationCounter","setExpirationCounter","isActiveExpirationTimer","setIsActiveExpirationTimer","requestTimerDelayCounter","setRequestTimerDelayCounter","startRequestTimer","resetExpirationTimer","resetRequestTimer","successPix","cancelPixPayment","_deffered$current","_paymentId","StatusDescription","getPixPayment","payload","OrderId","parseResponse","StautsId","OrderStatusId","OrderStatusDescription","TransactionId","IsRechargeMade","WalletBalance","QrCodeLink","QrCodeBase64","PixPaymentOrderStatus","_response$data$messag","_ref2$response","_ref2$response$data","onClickCancel","minuteLeft","minuteRight","String","floor","padStart","secondLeft","secondRight","Recharge","pixRef","rechargeValue","setRechargeValue","handleSubmitPayment","_pixRef$current","rechargeOrder","CreditCardId","Extract","_extract$MeepUser","_extract$MeepUser2","_extract$MeepUser3","_filter$pageSize3","_filter$page2","period","setPeriod","extract","setExtract","setFilter","changeHandleDate","_ev$target","_ev$target2","_ev$target3","dateTimeInUTC","_ev$target4","_ev$target5","_filter","_filter$page","_filter$pageSize","endDate","handlePagination","handleChangePageSize","handleChangePeriod","_period","_endDate","_startDate","newFilter","handleFilter","getTransactionType","Consumption","Refund","getTransactionOrigin","_item$DataTransfer","_item$DataTransfer$Na","_item$DataTransfer2","_item$DataTransfer3","_item$DataTransfer4","Type","LocalName","DataTransfer","IsOrigin","getColor","_item$DataTransfer5","totalPages","_extract$TotalRecords","_filter$pageSize2","ceil","TotalRecords","MeepUser","unselected","toInputDateString","Records","toDateAndTime","textDecoration","Value","IconComponent","ExpandMore","Pagination","siblingCount","boundaryCount","Routes","Route","Switch","exact","Redirect","FormAluno","TourCartProvider","render","TransitionGroup","CSSTransition","classNames","timeout","App","BrowserRouter","hostname","match","ReactDOM","StrictMode","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.9d2e3409.chunk.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"ResumeView_container__15998\",\"title\":\"ResumeView_title__3V_ar\",\"details\":\"ResumeView_details__1i_B7\",\"deliveryFee\":\"ResumeView_deliveryFee___Hya0\",\"itemResume\":\"ResumeView_itemResume__3OiK9\",\"infoFeeButton\":\"ResumeView_infoFeeButton__hWuoa\",\"infoFeeIcon\":\"ResumeView_infoFeeIcon__28SQM\",\"quantityContainer\":\"ResumeView_quantityContainer__PGM0N\",\"quantityText\":\"ResumeView_quantityText__e5z67\",\"productName\":\"ResumeView_productName__2T5LY\",\"productPrice\":\"ResumeView_productPrice__2v_xT\",\"modalContent\":\"ResumeView_modalContent__2JtoX\",\"modalFeeTitle\":\"ResumeView_modalFeeTitle__RIgu6\",\"modalHeader\":\"ResumeView_modalHeader__2DXVn\",\"modalFeeDescription\":\"ResumeView_modalFeeDescription__2qmXW\",\"closeButton\":\"ResumeView_closeButton__3POSc\",\"modalRow\":\"ResumeView_modalRow__1FIno\",\"modalConfirButton\":\"ResumeView_modalConfirButton__11wHq\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"deliveryAddressContainer\":\"DeliverySelect_deliveryAddressContainer__1fr6y\",\"deliveryAddressButon\":\"DeliverySelect_deliveryAddressButon__gOk6m\",\"buttonText\":\"DeliverySelect_buttonText__2BqQf\",\"buttonIcon\":\"DeliverySelect_buttonIcon__2LSUe\",\"selected\":\"DeliverySelect_selected__1o5Gp\",\"contentDeliveryDescription\":\"DeliverySelect_contentDeliveryDescription__2dCYL\",\"title\":\"DeliverySelect_title__2BSFe\",\"modalContainer\":\"DeliverySelect_modalContainer__1gFIz\",\"addressModalContainer\":\"DeliverySelect_addressModalContainer__zi23q\",\"modalSubmitButton\":\"DeliverySelect_modalSubmitButton__tYsO2\",\"icon\":\"DeliverySelect_icon__1Aqf2\",\"text\":\"DeliverySelect_text__29qDg\",\"deliveryCatchMessage\":\"DeliverySelect_deliveryCatchMessage__3UT5n\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ProfileHeader\":\"ProfileHeader_ProfileHeader__YfGt0\",\"container\":\"ProfileHeader_container__3yRCE\",\"backgroundContainer\":\"ProfileHeader_backgroundContainer__kscMg\",\"info\":\"ProfileHeader_info__2sHiI\",\"icon\":\"ProfileHeader_icon__3sFjV\",\"actions\":\"ProfileHeader_actions__1HhcK\",\"actionButton\":\"ProfileHeader_actionButton__SwHD3\",\"data\":\"ProfileHeader_data__3ZedS\",\"item\":\"ProfileHeader_item__3SmvJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ProductItem\":\"ProductTourItem_ProductItem__1sfgx\",\"container\":\"ProductTourItem_container__3KeQT\",\"fadeIn\":\"ProductTourItem_fadeIn__2B7cN\",\"image\":\"ProductTourItem_image__25Iww\",\"img\":\"ProductTourItem_img__27HoQ\",\"content\":\"ProductTourItem_content__ciTVc\",\"containerCard\":\"ProductTourItem_containerCard__ECXSp\",\"headerCard\":\"ProductTourItem_headerCard__1gh_t\",\"price\":\"ProductTourItem_price__2xI0c\",\"name\":\"ProductTourItem_name__4ZBhD\",\"description\":\"ProductTourItem_description__k_Tx8\",\"footerCard\":\"ProductTourItem_footerCard__1vqMw\",\"favorite\":\"ProductTourItem_favorite__WBlu-\",\"viewMore\":\"ProductTourItem_viewMore__3T9xn\",\"viewMoreOnly\":\"ProductTourItem_viewMoreOnly__2Es70\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"containerDetailsCustomer\":\"ReserveListCard_containerDetailsCustomer__pvTMY\",\"checkAll\":\"ReserveListCard_checkAll__1ws7o\",\"customerContainer\":\"ReserveListCard_customerContainer__3iwPU\",\"customer\":\"ReserveListCard_customer__1fDUw\",\"customerList\":\"ReserveListCard_customerList__1JKEE\",\"customersDetailsClose\":\"ReserveListCard_customersDetailsClose__d-EmK\",\"customersDetailsOpen\":\"ReserveListCard_customersDetailsOpen__1we4x\",\"containerDetailsCustomers\":\"ReserveListCard_containerDetailsCustomers__3wkev\",\"headerTitle\":\"ReserveListCard_headerTitle__pbfk3\",\"title\":\"ReserveListCard_title__2mMhu\",\"titleAge\":\"ReserveListCard_titleAge__fAt4S\",\"titleDocument\":\"ReserveListCard_titleDocument__3k_vX\",\"titlePeople\":\"ReserveListCard_titlePeople__xyyXB\",\"containerCustomersList\":\"ReserveListCard_containerCustomersList__1d4s6\",\"text\":\"ReserveListCard_text__1mO_B\",\"birthDate\":\"ReserveListCard_birthDate__16fbl\",\"document\":\"ReserveListCard_document__1qT8d\",\"nameParticipant\":\"ReserveListCard_nameParticipant__3CyDg\",\"qrCode\":\"ReserveListCard_qrCode__3wiXl\",\"textCustomer\":\"ReserveListCard_textCustomer__2YMpw\",\"buttonOptions\":\"ReserveListCard_buttonOptions__1Zba_\",\"formPayment\":\"ReserveListCard_formPayment__2_NR7\",\"dateTour\":\"ReserveListCard_dateTour__3sTnB\",\"currentState\":\"ReserveListCard_currentState__TRBKG\",\"participantsQuantity\":\"ReserveListCard_participantsQuantity__6V2px\",\"service\":\"ReserveListCard_service__1ITK5\",\"netValue\":\"ReserveListCard_netValue__2zmVo\",\"tour\":\"ReserveListCard_tour__2xKZV\",\"name\":\"ReserveListCard_name__R_nMq\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"MoreDetails\":\"MoreDetails_MoreDetails__5y40D\",\"container\":\"MoreDetails_container__cxPwu\",\"containerDescription\":\"MoreDetails_containerDescription__2qzcT\",\"description\":\"MoreDetails_description__16kEh\",\"answers\":\"MoreDetails_answers__3xRE5\",\"cardDatails\":\"MoreDetails_cardDatails__2GzJV\",\"hideCard\":\"MoreDetails_hideCard__3sYqe\",\"showCard\":\"MoreDetails_showCard__23Xk9\",\"hideDescription\":\"MoreDetails_hideDescription__1XEh4\",\"textViewMore\":\"MoreDetails_textViewMore__3uREX\",\"nameTour\":\"MoreDetails_nameTour__d2ZOz\",\"tourLocation\":\"MoreDetails_tourLocation__3T3qq\",\"favorite\":\"MoreDetails_favorite__3p1q6\",\"containerButton\":\"MoreDetails_containerButton__2F4SA\",\"carousel\":\"MoreDetails_carousel__XFCIK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"form\":\"PaymentLink_form__3VP2v\",\"inputContainer\":\"PaymentLink_inputContainer__2ur5z\",\"inputRow\":\"PaymentLink_inputRow__ZWzsG\",\"buttonContainer\":\"PaymentLink_buttonContainer__2ou4P\",\"PaymentLink\":\"PaymentLink_PaymentLink__3fpPU\",\"content\":\"PaymentLink_content__3VMI_\",\"info\":\"PaymentLink_info__2eXBO\",\"name\":\"PaymentLink_name__163A6\",\"description\":\"PaymentLink_description__2mV1B\",\"value\":\"PaymentLink_value__2A-40\",\"paymentForm\":\"PaymentLink_paymentForm__3b6W_\",\"paymentInformation\":\"PaymentLink_paymentInformation__3zOso\",\"iconActive\":\"PaymentLink_iconActive__yH8y7\",\"ticketIconActive\":\"PaymentLink_ticketIconActive__12wKC\",\"creditIconActive\":\"PaymentLink_creditIconActive__1s5mR\",\"pixIconActive\":\"PaymentLink_pixIconActive__1DRaQ\",\"iconInactive\":\"PaymentLink_iconInactive__2BMza\",\"ticketIconInactive\":\"PaymentLink_ticketIconInactive__zkr0e\",\"creditIconInactive\":\"PaymentLink_creditIconInactive__1NTLf\",\"pixIconInactive\":\"PaymentLink_pixIconInactive__TebQv\",\"disabled\":\"PaymentLink_disabled__1zHm4\",\"variableValue\":\"PaymentLink_variableValue__1H4Q-\",\"divisor\":\"PaymentLink_divisor__2VFQr\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ProductDetail\":\"ProductDetail_ProductDetail__3j1BS\",\"backButton\":\"ProductDetail_backButton__3k4v9\",\"backButtonIcon\":\"ProductDetail_backButtonIcon__3KRot\",\"imageContainer\":\"ProductDetail_imageContainer__1-uLN\",\"imageFallback\":\"ProductDetail_imageFallback__C_7EQ\",\"icon\":\"ProductDetail_icon__1bzbC\",\"container\":\"ProductDetail_container__2BonB\",\"content\":\"ProductDetail_content__2ut3R\",\"name\":\"ProductDetail_name__1AE0N\",\"description\":\"ProductDetail_description__3tqt3\",\"obsLabel\":\"ProductDetail_obsLabel__aBJTz\",\"obsInput\":\"ProductDetail_obsInput__3l0Yh\",\"productComposition\":\"ProductDetail_productComposition__Zjpjp\",\"priceContainer\":\"ProductDetail_priceContainer__3wgw-\",\"quantityContainer\":\"ProductDetail_quantityContainer__2RpUq\",\"iconButton\":\"ProductDetail_iconButton__2dmSO\",\"quantityText\":\"ProductDetail_quantityText__1W9pq\",\"submitButton\":\"ProductDetail_submitButton__3A--j\",\"mobilePrice\":\"ProductDetail_mobilePrice__3m7Q4\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"form\":\"Layout_form__2QZdx\",\"inputContainer\":\"Layout_inputContainer__1ikqS\",\"inputRow\":\"Layout_inputRow__3hms4\",\"buttonContainer\":\"Layout_buttonContainer__p1XWA\",\"Layout\":\"Layout_Layout__3Vo6i\",\"top\":\"Layout_top__1WgLC\",\"headerIn\":\"Layout_headerIn__miBaQ\",\"imageGramado\":\"Layout_imageGramado__1wt9n\",\"content\":\"Layout_content__1WYaT\",\"contentIn\":\"Layout_contentIn__3mRZB\",\"footer\":\"Layout_footer__Z4XyE\",\"footerContainer\":\"Layout_footerContainer__3XeT7\",\"title\":\"Layout_title__EIGkq\",\"header\":\"Layout_header__1IkV6\",\"main\":\"Layout_main__2aJYX\",\"containerHelp\":\"Layout_containerHelp__3KYGA\",\"cancelBox\":\"Layout_cancelBox__25jVu\",\"helpBox\":\"Layout_helpBox__dVkaP\",\"containerFaqHelpFixed\":\"Layout_containerFaqHelpFixed__2ojsL\",\"faqHelpFixed\":\"Layout_faqHelpFixed__3DHM3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cart\":\"Cart_cart__77rNN\",\"barContainer\":\"Cart_barContainer__1DRbK\",\"barHide\":\"Cart_barHide__1ljU3\",\"barVisible\":\"Cart_barVisible__3IVLX\",\"title\":\"Cart_title__10tY6\",\"drawerContainer\":\"Cart_drawerContainer__1Xlt3\",\"header\":\"Cart_header__1Ke-p\",\"content\":\"Cart_content__pB8LD\",\"cartTourItem\":\"Cart_cartTourItem__1FD2H\",\"removeButton\":\"Cart_removeButton__39kq0\",\"image\":\"Cart_image__32t97\",\"info\":\"Cart_info__19fqZ\",\"price\":\"Cart_price__3uK_x\",\"footer\":\"Cart_footer__bQjxe\",\"totals\":\"Cart_totals__aOg01\",\"buttons\":\"Cart_buttons__16KPq\",\"sendButton\":\"Cart_sendButton__ZIL4I\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"CouponInput\":\"CouponInput_CouponInput__2SPIk\",\"loadingContainer\":\"CouponInput_loadingContainer__32yYg\",\"drawerContainer\":\"CouponInput_drawerContainer__3wr34\",\"alertMessage\":\"CouponInput_alertMessage__3kCb5\",\"couponButton\":\"CouponInput_couponButton__2cxg_\",\"item\":\"CouponInput_item__3CNhh\",\"coupon\":\"CouponInput_coupon__QlCiH\",\"modalContainer\":\"CouponInput_modalContainer__LCW4v\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"PaymentResumePage\":\"PaymentCartTourResume_PaymentResumePage__6JwRh\",\"cartItemResume\":\"PaymentCartTourResume_cartItemResume__2xoUu\",\"resumeDown\":\"PaymentCartTourResume_resumeDown__3SKJA\",\"infoHour\":\"PaymentCartTourResume_infoHour__35SsA\",\"headerInfoResumePayment\":\"PaymentCartTourResume_headerInfoResumePayment__1KHPy\",\"containerInfoResumePayment\":\"PaymentCartTourResume_containerInfoResumePayment__CVqfc\",\"footerInfoResumePayment\":\"PaymentCartTourResume_footerInfoResumePayment__3uvXQ\",\"total\":\"PaymentCartTourResume_total__1nuWi\",\"containerInput\":\"PaymentCartTourResume_containerInput__2HFNc\",\"dividedValue\":\"PaymentCartTourResume_dividedValue__2lBWf\",\"totalValue\":\"PaymentCartTourResume_totalValue__1vpqA\",\"mainInfoResumePayment\":\"PaymentCartTourResume_mainInfoResumePayment__t_OWV\",\"editBox\":\"PaymentCartTourResume_editBox__oUzhw\",\"contractTerms\":\"PaymentCartTourResume_contractTerms__3vujR\",\"showCustomersResume\":\"PaymentCartTourResume_showCustomersResume__3OS4L\",\"customersList\":\"PaymentCartTourResume_customersList__2HNM_\",\"hideCustomers\":\"PaymentCartTourResume_hideCustomers__30KMb\",\"showCustomers\":\"PaymentCartTourResume_showCustomers__1zvwq\",\"containerModal\":\"PaymentCartTourResume_containerModal__1N6gE\",\"containerTitle\":\"PaymentCartTourResume_containerTitle__3eT87\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Extract\":\"Extract_Extract__1X7kG\",\"container\":\"Extract_container__22yaW\",\"header\":\"Extract_header__3GyIx\",\"filter\":\"Extract_filter__v5386\",\"selected\":\"Extract_selected__2iVPe\",\"unselected\":\"Extract_unselected__VeyT2\",\"input\":\"Extract_input__23wdZ\",\"content\":\"Extract_content__1W8WV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ProductCompositionItem\":\"BoxProductCompositionItem_ProductCompositionItem__1Gm-o\",\"container\":\"BoxProductCompositionItem_container___UArU\",\"inAnimation\":\"BoxProductCompositionItem_inAnimation__afar1\",\"start\":\"BoxProductCompositionItem_start__2JItI\",\"description\":\"BoxProductCompositionItem_description__3uHHo\",\"quantitiy\":\"BoxProductCompositionItem_quantitiy__3S9Cm\",\"selector\":\"BoxProductCompositionItem_selector__GXeZf\",\"buttonIcons\":\"BoxProductCompositionItem_buttonIcons__1pN-e\",\"disabledIcon\":\"BoxProductCompositionItem_disabledIcon__2j-Te\",\"icon\":\"BoxProductCompositionItem_icon__33Je4\",\"end\":\"BoxProductCompositionItem_end__165kX\",\"totalPriceContainer\":\"BoxProductCompositionItem_totalPriceContainer__2aG4k\",\"totalPrice\":\"BoxProductCompositionItem_totalPrice__3V7Qq\",\"inAnimationPrice\":\"BoxProductCompositionItem_inAnimationPrice__1hhes\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"CartItem_container__2NrF6\",\"image\":\"CartItem_image__3Ot7T\",\"imageFallback\":\"CartItem_imageFallback__Ahj4A\",\"icon\":\"CartItem_icon__2F9_x\",\"content\":\"CartItem_content__2x40u\",\"name\":\"CartItem_name__3Wc6q\",\"description\":\"CartItem_description__38Of4\",\"price\":\"CartItem_price__1Ic62\",\"compositions\":\"CartItem_compositions__2xow9\",\"composition\":\"CartItem_composition__2hxLY\",\"compositionNameContent\":\"CartItem_compositionNameContent__2f466\",\"totalContainer\":\"CartItem_totalContainer__VUFCL\",\"quantityContainer\":\"CartItem_quantityContainer__34SQe\",\"iconButton\":\"CartItem_iconButton__2ohYY\",\"quantityText\":\"CartItem_quantityText__HM8Co\",\"total\":\"CartItem_total__2qYGI\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"PaymentResumePage\":\"PaymentResume_PaymentResumePage__21qtB\",\"headerInfoResumePayment\":\"PaymentResume_headerInfoResumePayment__REskI\",\"headerTitle\":\"PaymentResume_headerTitle__qC9wR\",\"resumeDown\":\"PaymentResume_resumeDown__1i8KL\",\"containerInfoResumePayment\":\"PaymentResume_containerInfoResumePayment__4Um35\",\"footerInfoResumePayment\":\"PaymentResume_footerInfoResumePayment__3IRw6\",\"containerInput\":\"PaymentResume_containerInput__CyB2T\",\"dividedValue\":\"PaymentResume_dividedValue__SlCYz\",\"totalValue\":\"PaymentResume_totalValue__24yFs\",\"mainInfoResumePayment\":\"PaymentResume_mainInfoResumePayment__1YVhD\",\"contractTerms\":\"PaymentResume_contractTerms__1raJM\",\"showCustomersResume\":\"PaymentResume_showCustomersResume__3ZEPn\",\"customersList\":\"PaymentResume_customersList__2iOKV\",\"hideCustomers\":\"PaymentResume_hideCustomers__UValp\",\"showCustomers\":\"PaymentResume_showCustomers__3cCw8\",\"containerModal\":\"PaymentResume_containerModal__1MtBK\",\"containerTitle\":\"PaymentResume_containerTitle__3QD9m\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Pix\":\"Pix_Pix__1F6tX\",\"title\":\"Pix_title__2oSzN\",\"description\":\"Pix_description__4Q4Kl\",\"pixContainer\":\"Pix_pixContainer__3hNrS\",\"img\":\"Pix_img__3xaTB\",\"divisor\":\"Pix_divisor__Ga1ZI\",\"pixFooter\":\"Pix_pixFooter__2_AxE\",\"code\":\"Pix_code__1Ahtq\",\"copyCode\":\"Pix_copyCode__1PEpf\",\"waitingMessage\":\"Pix_waitingMessage__1CR_5\",\"disabled\":\"Pix_disabled__2a44U\",\"approved\":\"Pix_approved__3LYap\",\"whatsAppContact\":\"Pix_whatsAppContact__3Qptt\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"ButtonPickerAcordion_container__1ouLw\",\"containerSelected\":\"ButtonPickerAcordion_containerSelected__2tc0B\",\"containerUnselected\":\"ButtonPickerAcordion_containerUnselected__3z9vG\",\"inAnimation\":\"ButtonPickerAcordion_inAnimation__1denf\",\"onSelect\":\"ButtonPickerAcordion_onSelect__2grTK\",\"content\":\"ButtonPickerAcordion_content__1pCNy\",\"botaoLabel\":\"ButtonPickerAcordion_botaoLabel__2b5sr\",\"botaoContainer\":\"ButtonPickerAcordion_botaoContainer__1-A5Q\",\"iconContainer\":\"ButtonPickerAcordion_iconContainer__3z9U2\",\"icon\":\"ButtonPickerAcordion_icon__mddyS\",\"acordion\":\"ButtonPickerAcordion_acordion__2iNJU\",\"acordionClose\":\"ButtonPickerAcordion_acordionClose__1ClBm\",\"acordionOpen\":\"ButtonPickerAcordion_acordionOpen__1tXMC\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Pix\":\"PixRecharge_Pix__1erOE\",\"container\":\"PixRecharge_container__3ElvA\",\"title\":\"PixRecharge_title__qqJMZ\",\"description\":\"PixRecharge_description__28XCk\",\"pixContainer\":\"PixRecharge_pixContainer__2kijO\",\"divisor\":\"PixRecharge_divisor__gw9Wg\",\"pixFooter\":\"PixRecharge_pixFooter__1rQwd\",\"code\":\"PixRecharge_code__10Uqz\",\"disabled\":\"PixRecharge_disabled__2Se7S\",\"approved\":\"PixRecharge_approved__3qUoQ\",\"timer\":\"PixRecharge_timer__3_YEE\",\"modal\":\"PixRecharge_modal__1oJvI\",\"paper\":\"PixRecharge_paper__1izpe\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Wallet\":\"Wallet_Wallet__3MOIw\",\"container\":\"Wallet_container__2OLeP\",\"header\":\"Wallet_header__kFkLM\",\"actions\":\"Wallet_actions__g77vQ\",\"tagModal\":\"Wallet_tagModal__3D96X\",\"disabled\":\"Wallet_disabled__2jzBe\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Profile\":\"Profile_Profile__OcGk2\",\"container\":\"Profile_container__1lGhl\",\"item\":\"Profile_item__23S74\",\"listItem\":\"Profile_listItem__34bii\",\"modal\":\"Profile_modal__2U8-x\",\"paper\":\"Profile_paper__7zPTU\",\"modalCardContainer\":\"Profile_modalCardContainer__2OrSu\",\"modalAdrressContainer\":\"Profile_modalAdrressContainer__3-OWR\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ProductItem\":\"ProductItem_ProductItem__3Alwb\",\"container\":\"ProductItem_container__2PxPv\",\"fadeIn\":\"ProductItem_fadeIn__QtPoA\",\"img\":\"ProductItem_img__q-G1h\",\"content\":\"ProductItem_content__1xerq\",\"containerCard\":\"ProductItem_containerCard__2CX-B\",\"name\":\"ProductItem_name__3jefi\",\"description\":\"ProductItem_description__3zmEr\",\"price\":\"ProductItem_price__3tfHX\",\"mobilePrice\":\"ProductItem_mobilePrice__oCjYn\",\"imageFallback\":\"ProductItem_imageFallback__313ts\",\"icon\":\"ProductItem_icon__1ADkO\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"title\":\"PaymentSelect_title__zY8p0\",\"modalContainer\":\"PaymentSelect_modalContainer__1LPWb\",\"modalContent\":\"PaymentSelect_modalContent__1nZK0\",\"whereToPayLabel\":\"PaymentSelect_whereToPayLabel__3UNKf\",\"changeTitle\":\"PaymentSelect_changeTitle__2cwiZ\",\"changeDescription\":\"PaymentSelect_changeDescription__2hoqr\",\"emptyPaymentModalMessage\":\"PaymentSelect_emptyPaymentModalMessage__2BsPw\",\"closePaymentModalButton\":\"PaymentSelect_closePaymentModalButton__1G5fv\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"FormTourPage\":\"FormTourPage_FormTourPage__H1iTy\",\"container\":\"FormTourPage_container__1UPdF\",\"infoTourSchedule\":\"FormTourPage_infoTourSchedule__1mfgf\",\"tourSchedule\":\"FormTourPage_tourSchedule__21h29\",\"addCustomers\":\"FormTourPage_addCustomers__2hldB\",\"line\":\"FormTourPage_line__3gQw9\",\"containerIcons\":\"FormTourPage_containerIcons__3xXrS\",\"addIcons\":\"FormTourPage_addIcons__2TM1p\",\"inputs\":\"FormTourPage_inputs__1B_kA\",\"addNewPeople\":\"FormTourPage_addNewPeople__1yMvF\",\"containerInfoCustomer\":\"FormTourPage_containerInfoCustomer__3WWNh\",\"inputsHeader\":\"FormTourPage_inputsHeader__QZWw2\",\"containerTotal\":\"FormTourPage_containerTotal__zohJX\",\"containerButton\":\"FormTourPage_containerButton__38DoZ\",\"infoSchedule\":\"FormTourPage_infoSchedule__3FOXV\",\"carousel\":\"FormTourPage_carousel__34kNM\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Tag\":\"Tag_Tag__16M-q\",\"disableAdd\":\"Tag_disableAdd__2WcI-\",\"enableAdd\":\"Tag_enableAdd__2Ug7B\",\"tagContainer\":\"Tag_tagContainer__uB59j\",\"emptyTag\":\"Tag_emptyTag__2O4nZ\",\"input\":\"Tag_input__lVz8C\",\"buttonsContainer\":\"Tag_buttonsContainer__naTAK\",\"newTagModal\":\"Tag_newTagModal__2tsVY\",\"modal\":\"Tag_modal__qPMtO\",\"paper\":\"Tag_paper__3yCAm\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"MeepCardResume_container__3J0Yw\",\"item\":\"MeepCardResume_item__3FaI1\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"form\":\"SocialMedias_form__2YqGC\",\"inputContainer\":\"SocialMedias_inputContainer__3Wi8c\",\"inputRow\":\"SocialMedias_inputRow__3UBeJ\",\"buttonContainer\":\"SocialMedias_buttonContainer__1z1Wg\",\"SocialMedias\":\"SocialMedias_SocialMedias__14kBe\",\"container\":\"SocialMedias_container__1LbUI\",\"item\":\"SocialMedias_item__3qRc-\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Credit\":\"Credit_Credit__3ExHd\",\"infoCredit\":\"Credit_infoCredit__3c0r7\",\"title\":\"Credit_title__3L1q7\",\"container\":\"Credit_container__3W_Hk\",\"installmentContainer\":\"Credit_installmentContainer__1RUGL\",\"disabled\":\"Credit_disabled__mkIc_\",\"approved\":\"Credit_approved__1elGI\",\"whatsAppContact\":\"Credit_whatsAppContact__3Ve84\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"CreditForm\":\"CreditForm_CreditForm___T_y1\",\"container\":\"CreditForm_container__3vNBk\",\"address\":\"CreditForm_address__1cs2g\",\"textField\":\"CreditForm_textField__1QFNj\",\"birthDay\":\"CreditForm_birthDay__1_oGf\",\"inputError\":\"CreditForm_inputError__3-NUn\",\"error\":\"CreditForm_error__2qrhl\",\"addressContainer\":\"CreditForm_addressContainer__3186p\",\"paper\":\"CreditForm_paper__3dkwD\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ProductsPage\":\"ProductsPage_ProductsPage__mtECh\",\"container\":\"ProductsPage_container__2yZ0E\",\"header\":\"ProductsPage_header__1Rw7h\",\"headerIn\":\"ProductsPage_headerIn__rQBcG\",\"content\":\"ProductsPage_content__1zeoN\",\"contentIn\":\"ProductsPage_contentIn__2wJx1\",\"headerContainer\":\"ProductsPage_headerContainer__hrV51\",\"filterContainer\":\"ProductsPage_filterContainer__2xStU\",\"productsContainer\":\"ProductsPage_productsContainer__1LPnS\",\"filter\":\"ProductsPage_filter__37eGw\",\"icon\":\"ProductsPage_icon__1xE7v\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"label\":\"FormLoginPhoneNumber_label__2D2Qc\",\"required\":\"FormLoginPhoneNumber_required__3u8lj\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"AboutProject\":\"AboutProject_AboutProject__ARrnP\",\"container\":\"AboutProject_container__jfzUO\",\"header\":\"AboutProject_header__srVRz\",\"aboutprojectImg\":\"AboutProject_aboutprojectImg__1mzyC\",\"bottom\":\"AboutProject_bottom__qiH-M\",\"aboutprojectVideo\":\"AboutProject_aboutprojectVideo__1LJn8\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"BoxProductComposition\":\"BoxProductComposition_BoxProductComposition__8Z-SJ\",\"container\":\"BoxProductComposition_container__VE8yi\",\"description\":\"BoxProductComposition_description__2ufOu\",\"descriptionText\":\"BoxProductComposition_descriptionText__3Ybg7\",\"obrigatorio\":\"BoxProductComposition_obrigatorio__11fiQ\",\"obrigatorioChecked\":\"BoxProductComposition_obrigatorioChecked__pd1OQ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Dependents\":\"Dependents_Dependents__3u8ex\",\"container\":\"Dependents_container__1ITts\",\"emptyList\":\"Dependents_emptyList__5XXKP\",\"listItem\":\"Dependents_listItem__3QOx7\",\"newDependentModal\":\"Dependents_newDependentModal__1wQBe\",\"tagModal\":\"Dependents_tagModal__3tDGY\",\"modal\":\"Dependents_modal__2jVdH\",\"paper\":\"Dependents_paper__3RTA-\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"AlertApp\":\"AlertApp_AlertApp__1J-N0\",\"container\":\"AlertApp_container__3cUWf\",\"iconApp\":\"AlertApp_iconApp__1HwES\",\"content\":\"AlertApp_content__1e1N-\",\"closeIconContainer\":\"AlertApp_closeIconContainer__oj0H7\",\"paper\":\"AlertApp_paper__1wo7H\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ScheduledItem\":\"ScheduledItem_ScheduledItem__3gRPV\",\"container\":\"ScheduledItem_container__1Zh-H\",\"top\":\"ScheduledItem_top__3b6ML\",\"icon\":\"ScheduledItem_icon__2jpHn\",\"content\":\"ScheduledItem_content__287gU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"FaqCard\":\"FaqCard_FaqCard__GJNac\",\"containerCategory\":\"FaqCard_containerCategory__53b87\",\"containerQuestion\":\"FaqCard_containerQuestion__e_QtW\",\"containerDescription\":\"FaqCard_containerDescription__1MdWi\",\"description\":\"FaqCard_description__tGEst\",\"answers\":\"FaqCard_answers__3uBF_\",\"faqAnswerCard\":\"FaqCard_faqAnswerCard__3v3q-\",\"hideCard\":\"FaqCard_hideCard__37oaI\",\"showCard\":\"FaqCard_showCard__1OCmW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"StoreItem\":\"TourItem_StoreItem__2RS83\",\"container\":\"TourItem_container__10MsB\",\"descriptionContainer\":\"TourItem_descriptionContainer__3kMXc\",\"description\":\"TourItem_description__3JB7x\",\"logo\":\"TourItem_logo__2NINV\",\"image\":\"TourItem_image__JWTyS\",\"simpleContainer\":\"TourItem_simpleContainer__1YicL\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ProductList\":\"ProductList_ProductList__1VgUv\",\"container\":\"ProductList_container__2koNO\",\"section\":\"ProductList_section__3yXoz\",\"title\":\"ProductList_title__2n0AT\",\"simpletitle\":\"ProductList_simpletitle__VCaAJ\",\"list\":\"ProductList_list__2SpvQ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Footer\":\"Footer_Footer__2EF7N\",\"icons\":\"Footer_icons__8Nbv-\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"PixForm\":\"PixForm_PixForm__8zogZ\",\"container\":\"PixForm_container__1HlYb\",\"addressContainer\":\"PixForm_addressContainer__wF-wy\",\"paper\":\"PixForm_paper__2-AvB\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"TicketForm\":\"TicketForm_TicketForm__2uRFH\",\"container\":\"TicketForm_container__vpmeS\",\"addressContainer\":\"TicketForm_addressContainer__3wmQT\",\"paper\":\"TicketForm_paper__2Uga6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Home\":\"Home_Home__sQj4E\",\"header\":\"Home_header__25j14\",\"description\":\"Home_description__3AMkT\",\"actions\":\"Home_actions__2ROJ7\",\"modal\":\"Home_modal__2YoHN\",\"paper\":\"Home_paper__Pbi-6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"StoreItem\":\"StoreItem_StoreItem__1PrSz\",\"container\":\"StoreItem_container__39FVN\",\"descriptionContainer\":\"StoreItem_descriptionContainer__1ULIu\",\"description\":\"StoreItem_description__16lvb\",\"logo\":\"StoreItem_logo__1H-Dl\",\"image\":\"StoreItem_image__2bx11\",\"simpleContainer\":\"StoreItem_simpleContainer__skBDL\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"NewTagForm\":\"NewTagForm_NewTagForm__3tnW2\",\"input\":\"NewTagForm_input__30WhL\",\"rules\":\"NewTagForm_rules__1UfFV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ProductList\":\"ProductList_ProductList__oz0wD\",\"container\":\"ProductList_container__2b56d\",\"section\":\"ProductList_section__2uMe_\",\"title\":\"ProductList_title__1YMa6\",\"list\":\"ProductList_list__22Rmt\",\"emptyListFallback\":\"ProductList_emptyListFallback__34s8m\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"SimpleHeader\":\"SimpleHeader_SimpleHeader__3Wj11\",\"container\":\"SimpleHeader_container__2OBYx\",\"containerClose\":\"SimpleHeader_containerClose__a9rOG\",\"containerOpen\":\"SimpleHeader_containerOpen__3xfwH\",\"title\":\"SimpleHeader_title__3lsot\",\"backButton\":\"SimpleHeader_backButton__2mFFG\",\"tabWrapper\":\"SimpleHeader_tabWrapper__SfQSp\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"form\":\"CartPage_form__2fnQB\",\"inputContainer\":\"CartPage_inputContainer__lZabu\",\"inputRow\":\"CartPage_inputRow__31pfs\",\"buttonContainer\":\"CartPage_buttonContainer__x7827\",\"CartView\":\"CartPage_CartView__2LolL\",\"container\":\"CartPage_container__24Ogn\",\"clearCartContainer\":\"CartPage_clearCartContainer__1aU5X\",\"content\":\"CartPage_content__3r1AF\",\"submitButton\":\"CartPage_submitButton__2qr-J\",\"backButton\":\"CartPage_backButton__2QdPi\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"form\":\"PreviewPhotosProfile_form__1dxvX\",\"inputContainer\":\"PreviewPhotosProfile_inputContainer__3kKzg\",\"inputRow\":\"PreviewPhotosProfile_inputRow__2GX7f\",\"buttonContainer\":\"PreviewPhotosProfile_buttonContainer__1GhbQ\",\"PreviewPhotosProfile\":\"PreviewPhotosProfile_PreviewPhotosProfile__3b2NW\",\"container\":\"PreviewPhotosProfile_container__1JqXF\",\"thumbnail\":\"PreviewPhotosProfile_thumbnail__2ywgZ\",\"imgContainer\":\"PreviewPhotosProfile_imgContainer__cf_6t\",\"photo\":\"PreviewPhotosProfile_photo__1aiNQ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Button_container__3f2YK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ContainerDescription\":\"CardMoreDescription_ContainerDescription__3TN57\",\"title\":\"CardMoreDescription_title__1CFBI\",\"moreDescription\":\"CardMoreDescription_moreDescription__cbeFv\",\"cardDatails\":\"CardMoreDescription_cardDatails__1kS1z\",\"hideCard\":\"CardMoreDescription_hideCard__1m4Y5\",\"showCard\":\"CardMoreDescription_showCard__x5nu9\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Header\":\"Header_Header__1PBQp\",\"img\":\"Header_img__Uwdtw\",\"imgMobile\":\"Header_imgMobile__351q3\",\"description\":\"Header_description__GR_AC\",\"descriptionMobile\":\"Header_descriptionMobile__3OFB-\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Ticket\":\"Ticket_Ticket__1c7zA\",\"title\":\"Ticket_title__3mBby\",\"description\":\"Ticket_description__1uOrm\",\"ticketContainer\":\"Ticket_ticketContainer__3s_EA\",\"barcode\":\"Ticket_barcode__3k-_j\",\"divisor\":\"Ticket_divisor__1EDJu\",\"ticketFooter\":\"Ticket_ticketFooter__1RLyu\",\"disabled\":\"Ticket_disabled__2NUiF\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"form\":\"CartBar_form__2wUeJ\",\"inputContainer\":\"CartBar_inputContainer__20WyX\",\"inputRow\":\"CartBar_inputRow__2BHvi\",\"buttonContainer\":\"CartBar_buttonContainer__2MVoP\",\"CartBar\":\"CartBar_CartBar__1ph7d\",\"container\":\"CartBar_container__3zrYS\",\"inVisible\":\"CartBar_inVisible__YIe-T\",\"visible\":\"CartBar_visible__3A0pw\",\"inAnimation\":\"CartBar_inAnimation__FSCSP\",\"outAnimation\":\"CartBar_outAnimation__wviSP\",\"cartContainer\":\"CartBar_cartContainer__11hmH\",\"icon\":\"CartBar_icon__smfRM\",\"title\":\"CartBar_title__3sjT2\",\"price\":\"CartBar_price__2fvxZ\",\"badge\":\"CartBar_badge__3ZWFh\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"PaymentTypeSelect\":\"PaymentTypeSelect_PaymentTypeSelect__1QHmy\",\"input\":\"PaymentTypeSelect_input__1IABY\",\"modalCardContainer\":\"PaymentTypeSelect_modalCardContainer__1u_MS\",\"modalContainer\":\"PaymentTypeSelect_modalContainer__NrmWG\",\"modalContent\":\"PaymentTypeSelect_modalContent__Z-fZX\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modalContainer\":\"NewAddress_modalContainer__3bsB8\",\"modalSubmitButton\":\"NewAddress_modalSubmitButton__1WKbc\",\"modalCancelButton\":\"NewAddress_modalCancelButton__1h0Fe\",\"buttonsContainer\":\"NewAddress_buttonsContainer__2LsnK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"private\":\"PrivatePage_private__fBNlM\",\"container\":\"PrivatePage_container__1Ga7L\",\"menu\":\"PrivatePage_menu__2HQQc\",\"content\":\"PrivatePage_content__3hkqc\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"form\":\"ProfilePage_form__kE-jy\",\"inputContainer\":\"ProfilePage_inputContainer__3yQuN\",\"inputRow\":\"ProfilePage_inputRow__3Md19\",\"buttonContainer\":\"ProfilePage_buttonContainer__2PnsM\",\"ProfilePage\":\"ProfilePage_ProfilePage__2LuEb\",\"container\":\"ProfilePage_container__1S27u\",\"button\":\"ProfilePage_button__2Vjok\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"FaqPage\":\"FaqPage_FaqPage__1vA8j\",\"footerButtonContact\":\"FaqPage_footerButtonContact__15Lju\",\"titleHeader\":\"FaqPage_titleHeader__1SvQ5\",\"mainFaq\":\"FaqPage_mainFaq__3s6J5\",\"containerCategory\":\"FaqPage_containerCategory__1WKhv\",\"containerQuestion\":\"FaqPage_containerQuestion__29Su6\",\"containerDescription\":\"FaqPage_containerDescription__y7Wsi\",\"description\":\"FaqPage_description__1wMh1\",\"answers\":\"FaqPage_answers__1AZnC\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"TimeSelect\":\"TimeSelect_TimeSelect__2lKFI\",\"lastVacancies\":\"TimeSelect_lastVacancies__fSHMO\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"form\":\"Modal_form__8FxPP\",\"inputContainer\":\"Modal_inputContainer__25inm\",\"inputRow\":\"Modal_inputRow__3PrB6\",\"buttonContainer\":\"Modal_buttonContainer__2QHBs\",\"ModalContainer\":\"Modal_ModalContainer__1okCQ\",\"modalContent\":\"Modal_modalContent__CrBhi\",\"modalActions\":\"Modal_modalActions__10Ef8\",\"paper\":\"Modal_paper__1nUY1\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Header\":\"Header_Header__1ywCB\",\"defaultBackground\":\"Header_defaultBackground__3198Q\",\"container\":\"Header_container__2Aqyg\",\"backButton\":\"Header_backButton__3R-Gu\",\"headerContainer\":\"Header_headerContainer__34l1u\",\"imgContainer\":\"Header_imgContainer__3wfmK\",\"content\":\"Header_content__g6olw\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"StoresPage\":\"StoresPage_StoresPage__1zIUl\",\"container\":\"StoresPage_container__3QU7E\",\"storesList\":\"StoresPage_storesList__1luOy\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"NewPasswordForm\":\"NewPasswordForm_NewPasswordForm__2FrGr\",\"input\":\"NewPasswordForm_input__1-DfG\",\"rules\":\"NewPasswordForm_rules__TMBYw\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Transfer\":\"Transfer_Transfer__2gOSu\",\"input\":\"Transfer_input__2Bx_M\",\"transfer\":\"Transfer_transfer__lww0o\"};","module.exports = __webpack_public_path__ + \"static/media/medal.c1153325.svg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"label\":\"FormLoginValidationCode_label__3Xf_q\",\"required\":\"FormLoginValidationCode_required__16Xtd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"addCard\":\"NewCard_addCard__1zoir\",\"submitButton\":\"NewCard_submitButton__2rThJ\",\"cancelButton\":\"NewCard_cancelButton__1BTS1\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Menu\":\"Menu_Menu__2jz5A\",\"menu\":\"Menu_menu__h_LVz\",\"menuFaq\":\"Menu_menuFaq__237Ww\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"PixPage\":\"PixPage_PixPage__8-HgF\",\"container\":\"PixPage_container__g2Cph\",\"closeButton\":\"PixPage_closeButton__3Um7_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"form\":\"PaymentGuestPage_form__1-xaH\",\"inputContainer\":\"PaymentGuestPage_inputContainer__2aMuR\",\"inputRow\":\"PaymentGuestPage_inputRow__2iNU8\",\"buttonContainer\":\"PaymentGuestPage_buttonContainer__1Gd0U\",\"PaymentGuestPage\":\"PaymentGuestPage_PaymentGuestPage__2MYX1\",\"logo\":\"PaymentGuestPage_logo__1Kw8z\",\"container\":\"PaymentGuestPage_container__32OJp\",\"installmentContainer\":\"PaymentGuestPage_installmentContainer__woyb3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"form\":\"ProfilePicture_form__Kwbv_\",\"inputContainer\":\"ProfilePicture_inputContainer__NHZfy\",\"inputRow\":\"ProfilePicture_inputRow__Qw2hs\",\"buttonContainer\":\"ProfilePicture_buttonContainer__SZzNH\",\"ProfilePicture\":\"ProfilePicture_ProfilePicture__3TfWt\",\"container\":\"ProfilePicture_container__3F641\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ScheduledPage\":\"ScheduledPage_ScheduledPage__3Ow1x\",\"container\":\"ScheduledPage_container__7QzsL\",\"list\":\"ScheduledPage_list__1Wgpm\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"TourPage\":\"TourPage_TourPage__1QV5D\",\"storesTour\":\"TourPage_storesTour__2GT6J\",\"modalMessage\":\"TourPage_modalMessage__p0okJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"form\":\"HeaderLayout_form__1pVaz\",\"inputContainer\":\"HeaderLayout_inputContainer__34JlJ\",\"inputRow\":\"HeaderLayout_inputRow__1uRmQ\",\"buttonContainer\":\"HeaderLayout_buttonContainer__2pv8T\",\"HeaderLayout\":\"HeaderLayout_HeaderLayout__1IahM\",\"buttonHelp\":\"HeaderLayout_buttonHelp__1BwaZ\",\"container\":\"HeaderLayout_container___748X\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Carousel\":\"Carousel_Carousel__1H6VB\",\"nextArrow\":\"Carousel_nextArrow__29qRu\",\"Modern-Slider\":\"Carousel_Modern-Slider__1RKQv\",\"NextArrow\":\"Carousel_NextArrow__e-887\",\"prevArrow\":\"Carousel_prevArrow__3hgPO\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"FindAddressPaymentLink\":\"FindAddressPaymentLink_FindAddressPaymentLink__39tG9\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"ProductListCategory_container__2owS-\",\"tab\":\"ProductListCategory_tab__1Xfzz\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"LoginPage_container__3ZTIU\",\"content\":\"LoginPage_content__1xkuD\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"submitButton\":\"PaymentPage_submitButton__3QlYf\",\"info\":\"PaymentPage_info__EuTXm\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"form\":\"ConquistasProfile_form__1B3Ie\",\"inputContainer\":\"ConquistasProfile_inputContainer__3sExk\",\"inputRow\":\"ConquistasProfile_inputRow__3vptT\",\"buttonContainer\":\"ConquistasProfile_buttonContainer__1zRGm\",\"ConquistasProfile\":\"ConquistasProfile_ConquistasProfile__32ino\",\"container\":\"ConquistasProfile_container__1oxfB\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"form\":\"InteressesProfile_form__X4P9B\",\"inputContainer\":\"InteressesProfile_inputContainer__2nJrB\",\"inputRow\":\"InteressesProfile_inputRow__HbzJj\",\"buttonContainer\":\"InteressesProfile_buttonContainer__2C6VU\",\"InteressesProfile\":\"InteressesProfile_InteressesProfile__lJJtW\",\"container\":\"InteressesProfile_container__irUWF\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"InstallmentSelect\":\"InstallmentSelect_InstallmentSelect__1gvgb\",\"container\":\"InstallmentSelect_container__2DuVn\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"img\":\"Image_img__6wh2j\",\"showImage\":\"Image_showImage__3Ia2r\",\"hideImage\":\"Image_hideImage__2hFhU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cart\":\"ProductsTourPage_cart__1Mgbn\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"underlineClass\":\"Input_underlineClass__2xWRx\",\"textField\":\"Input_textField__3mnX4\",\"MuiSelect\":\"Input_MuiSelect__2tAdZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Payment\":\"Payment_Payment__1H60H\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"HomePage\":\"HomePage_HomePage__1trFF\",\"container\":\"HomePage_container__2NoN9\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Recharge\":\"Recharge_Recharge__3RzWl\",\"container\":\"Recharge_container__3SMvW\"};","module.exports = __webpack_public_path__ + \"static/media/meep-logo-nome.260fab44.png\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"BackButton\":\"BackButton_BackButton__Ckse4\",\"container\":\"BackButton_container__1PBwt\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ConfirmPlace\":\"ConfirmPlace_ConfirmPlace__s2vNW\"};","module.exports = __webpack_public_path__ + \"static/media/Estabelecimento.c6589b0e.svg\";","module.exports = __webpack_public_path__ + \"static/media/Casa.04d80888.svg\";","module.exports = __webpack_public_path__ + \"static/media/Moto.19a9a8e7.svg\";","module.exports = __webpack_public_path__ + \"static/media/icon-meep-app.3a5223dd.svg\";","module.exports = __webpack_public_path__ + \"static/media/1.1368442a.svg\";","module.exports = __webpack_public_path__ + \"static/media/2.2bb2ee7b.svg\";","module.exports = __webpack_public_path__ + \"static/media/3.797f835e.svg\";","module.exports = __webpack_public_path__ + \"static/media/4.313ffc4e.svg\";","module.exports = __webpack_public_path__ + \"static/media/1.07e2d4a3.svg\";","module.exports = __webpack_public_path__ + \"static/media/2.d791408b.svg\";","module.exports = __webpack_public_path__ + \"static/media/3.84ec8e12.svg\";","module.exports = __webpack_public_path__ + \"static/media/4.b1e068b2.svg\";","module.exports = __webpack_public_path__ + \"static/media/serraGaucha.bc3f9559.png\";","module.exports = __webpack_public_path__ + \"static/media/facebook.79fe8037.svg\";","module.exports = __webpack_public_path__ + \"static/media/instagram.00bae294.svg\";","module.exports = __webpack_public_path__ + \"static/media/youtube.31fefe30.svg\";","module.exports = __webpack_public_path__ + \"static/media/projeto.70910604.png\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"underlineClass\":\"InputMasked_underlineClass__dFPax\",\"textField\":\"InputMasked_textField__2tyz4\",\"MuiSelect\":\"InputMasked_MuiSelect__3GjLj\"};","module.exports = __webpack_public_path__ + \"static/media/aboutproject.36962adb.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/facebook_round.895e6f1e.svg\";","module.exports = __webpack_public_path__ + \"static/media/instagram_round.3423397d.svg\";","module.exports = __webpack_public_path__ + \"static/media/youtube_round.505b8082.svg\";","module.exports = __webpack_public_path__ + \"static/media/linkedin_round.e8bf97ad.svg\";","module.exports = __webpack_public_path__ + \"static/media/master_white.268602da.png\";","module.exports = __webpack_public_path__ + \"static/media/master_black.84435054.png\";","module.exports = __webpack_public_path__ + \"static/media/master_color.e0a38292.png\";","module.exports = __webpack_public_path__ + \"static/media/visa_white.2b9e533e.png\";","module.exports = __webpack_public_path__ + \"static/media/visa_black.3698a054.png\";","module.exports = __webpack_public_path__ + \"static/media/visa_color.a50a103f.png\";","module.exports = __webpack_public_path__ + \"static/media/amex_white.bdcc87bf.png\";","module.exports = __webpack_public_path__ + \"static/media/amex_black.bdcc87bf.png\";","module.exports = __webpack_public_path__ + \"static/media/amex_color.20ba3f19.png\";","module.exports = __webpack_public_path__ + \"static/media/elo_white.d293530c.png\";","module.exports = __webpack_public_path__ + \"static/media/elo_black.6b2b2d07.png\";","module.exports = __webpack_public_path__ + \"static/media/elo_color.28542acb.png\";","module.exports = __webpack_public_path__ + \"static/media/hiper_white.5a7a5eda.png\";","module.exports = __webpack_public_path__ + \"static/media/hiper_black.a43bccfd.png\";","module.exports = __webpack_public_path__ + \"static/media/hiper_color.5cf99faa.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/Rainbow Paper.7d244db6.ttf\";","export const moneyMask = (text: string) => {\n var value = text ? Number.parseInt(text.substr(0, 14).replace(/[^0-9]/g, \"\")).toString() : \"0,00\"\n var returnValue: string = value.length > 2 ? value.slice(0, value.length - 2) + \",\" + value.slice(value.length - 2, value.length) : value.length === 2 ? \"0,\" + value : \"0,0\" + value\n return (\"R$\" + returnValue)\n}\nexport const moneyMaskNumber = (money: number) => {\n return money.toLocaleString('pt-br', { style: 'currency', currency: 'BRL' })\n}\n\nexport const moneyToFloat = (text: string) => {\n return Number.parseFloat(text.replace(/[^0-9]/g, \"\")) / 100;\n}","export enum CouponValueType {\n percentage = 1,\n currency = 2,\n}\n\nexport enum CoupomType {\n discount = 1,\n cashback = 2,\n}\n\nexport enum CouponAppliedInType {\n order = 1,\n delivery = 2,\n}\n\nexport interface ICoupon {\n id: string;\n couponId: string;\n name: string;\n description: string;\n code: string;\n value: number;\n locals: string[];\n finishAt?: Date;\n valueType: CouponValueType;\n type: CoupomType;\n maxValue?: number;\n minOrderValue?: number;\n appliedIn: CouponAppliedInType;\n createdAt?: string;\n imageUrl: string;\n startAt?: string;\n quantity?: number;\n rules: string[];\n}\n\nexport interface IDiscount {\n id: string;\n name: string;\n value: number;\n valueType: CouponValueType;\n}\n","import { CoupomType, CouponValueType, ICoupon } from \"models/coupon/ICoupon\"\nimport { PaymentType } from \"models/payment/IPay\";\n\nconst CalcCoupon = (totalWithoutDelivery: number, coupon?: ICoupon, PaymentType?: PaymentType) => {\n\n let value = 0;\n let error = \"\";\n let ableTo = true;\n if (coupon) {\n if (coupon.minOrderValue && totalWithoutDelivery < coupon.minOrderValue) {\n error = \"Não atingiu o valor mínimo\";\n ableTo = false;\n } else {\n if (CouponValueType.currency === coupon.valueType) {\n value = coupon.value;\n if (value > totalWithoutDelivery) {\n value = totalWithoutDelivery\n }\n } else if (CouponValueType.percentage === coupon.valueType) {\n value = (totalWithoutDelivery * coupon.value) / 100;\n if (coupon.maxValue && value > coupon.maxValue) {\n value = coupon.maxValue\n }\n }\n }\n }\n return ({\n total: totalWithoutDelivery - (coupon?.type === CoupomType.cashback ? 0 : value),\n value: value,\n id: coupon?.id ?? \"\",\n ableTo: ableTo,\n errorMessage: error\n })\n}\nexport default CalcCoupon","import React, { FC, useCallback, useEffect, useState } from 'react'\nimport './ResumeView.css'\nimport { Dialog, DialogContent, DialogContentText, Icon } from '@material-ui/core'\nimport { IOrderDetail, IOrderDetailItem } from '../../../models/order/aggregates/datail/IOrderDetail'\nimport { moneyMaskNumber } from 'cross-cutting/masks/money'\nimport { IPaymentLinkInstallments } from 'models/paymentLink/IPaymentLinkResponse'\nimport { CoupomType, CouponValueType, ICoupon } from 'models/coupon/ICoupon'\nimport CalcCoupon from '../coupon/CalcCoupon'\nimport styles from './ResumeView.module.scss'\n\ninterface resumeViewProps {\n orderDetail: IOrderDetail | null,\n installment?: IPaymentLinkInstallments,\n deliveryFee?: number | null,\n serviceFee?: number | null,\n coupon?: ICoupon,\n setAcceptServiceFee?: (value: boolean) => void\n}\n\ninterface Composition {\n Descricao: String;\n Id: string;\n Opcoes: Array\n}\n\ninterface CompositionOption {\n Descricao: string;\n Id: string;\n ProdutoId: string;\n ProdutoValor: number;\n Quantidade: number;\n}\n\nexport const ResumeView: FC = ({ orderDetail, deliveryFee, installment, coupon, serviceFee, setAcceptServiceFee }) => {\n const [openServiceFee, setOpenServiceFee] = useState(false);\n const [acceptServiceFee, setCheckAcceptServiceFee] = useState(true);\n const [orderDetailHandled, setOrderDetailHandled] = useState();\n\n const totalCart = orderDetail?.itens.reduce((acc, item) => acc + item.unitValue * item.quantity, 0)\n\n const orderDetailHandler = useCallback(() => {\n if (orderDetail) {\n const newOrderDetail = orderDetail.itens.map((orderItem: IOrderDetailItem) => {\n let additionalValue = 0;\n\n if (orderItem.composition.length !== 0) {\n const composition = JSON.parse(orderItem.composition);\n composition.map((compositionItem: Composition) => {\n additionalValue += compositionItem.Opcoes.reduce((acc: number, item: CompositionOption) => acc + (item.Quantidade * item.ProdutoValor), 0);\n })\n }\n\n return ({\n ...orderItem,\n totalValue: additionalValue + (orderItem.quantity * orderItem.unitValue)\n })\n })\n\n setOrderDetailHandled(() => ({\n ...orderDetail,\n itens: newOrderDetail,\n }))\n }\n }, [orderDetail]);\n\n useEffect(() => {\n orderDetailHandler();\n }, [orderDetailHandler])\n \n\n return (\n
\n
Pagamento
\n
\n {orderDetailHandled?.itens.map((resumeItem) => (\n
\n
\n {resumeItem.quantity}\n
\n
\n {resumeItem.name}\n
\n
\n {moneyMaskNumber(resumeItem.totalValue || 0)}\n
\n
\n ))}\n\n {(!!deliveryFee) &&\n
\n
\n place\n
\n\n
\n Taxa de entrega\n
\n
\n {moneyMaskNumber(deliveryFee)}\n
\n
\n }\n\n {(!!serviceFee) &&\n
\n
\n percent\n
\n\n
\n Taxa de servico\n
\n \n
\n {moneyMaskNumber(serviceFee)}\n
\n
\n }\n\n {(!!coupon && !!orderDetailHandled) &&\n
\n
\n local_activity\n
\n\n
\n {coupon.type === CoupomType.cashback ? `Cashback` : `Desconto`}\n {coupon.valueType === CouponValueType.percentage && `(${coupon.value}%)`}\n
\n
\n {moneyMaskNumber(CalcCoupon(totalCart || 0, coupon).value)}\n
\n
\n }\n\n
\n
\n
\n monetization_on\n
\n\n
\n Total{installment ? ` (${installment.description})` : ''}\n
\n
\n {\n installment ?\n moneyMaskNumber((installment.price ?? 0) + (deliveryFee ?? 0)) + (serviceFee ?? 0) ?? \"R$ 0,00\" :\n moneyMaskNumber(CalcCoupon(orderDetailHandled?.amount ?? 0, coupon).total + (deliveryFee ?? 0) + (serviceFee ?? 0)) ?? \"R$ 0,00\"\n }\n
\n
\n
\n
\n\n\n setOpenServiceFee(false)}>\n \n \n Taxa de serviço\n \n \n \n
\n setCheckAcceptServiceFee(prev => !prev)}>\n {acceptServiceFee ? 'check_box_outline' : 'check_box_outline_blank'}\n \n \n Incluir taxa de serviço\n \n
\n \n
\n
\n
\n
\n )\n}\n","import axios from \"axios\";\nimport { API_BASE_URL, API_EXTERNAL_URL } from \"../../cross-cutting/constants\";\n\n// const BASE_URL = \"https://meepserver.azurewebsites.net/api\";\n// const BASE_URL = \"https://meepserver-dev.azurewebsites.net/api\";\nlet useExternal = false;\nif (window.location.href.includes(\"externalAddNewCard\") || window.location.href.toLowerCase().includes(\"paymentlink\")){\n useExternal = true;\n}\nconst BASE_URL = useExternal ? API_EXTERNAL_URL : API_BASE_URL;\n\n// export interface IResponse {\n// data: T;\n// status: number;\n// statusText: string;\n// }\n// export interface IError extends AxiosResponse {\n// code?: string;\n// response?: IResponse;\n// }\n\nconst api = axios.create({\n baseURL: BASE_URL,\n headers: {\n Authorization: 'bearer ' + localStorage.getItem(`@Meep:token`)\n }\n});\n\nexport const Api = () => {\n return api;\n};\n\nexport default api;\n","\nexport const API_BASE_URL = process.env.REACT_APP_API_BASE_URL_MEEP;\nexport const API_EXTERNAL_URL = process.env.REACT_APP_API_EXTERNAL_URL_MEEP;\n// export const API_BASE_URL = \"http://192.168.32.18/Promptus.Meep.Server\";\nexport const IMAGE_URL = process.env.REACT_APP_IMAGE_URL;\n\nexport const getUserImageUrl = (id: string) => `${IMAGE_URL}usuarios-profile/${id}.png`;","import api from \"../Api\"\nimport { IAddress } from \"../../../models/address/IAddress\"\n\nconst AddressApi = () => {\n const getUserAdresses = async () => {\n const response = await api.get(\"/superapp/address/GetUserAddresses\")\n return response;\n }\n\n const setDefaultAddress = async (id: string) => {\n return await api.post('/superapp/Address/SetMainAddress', { id });\n }\n\n const saveAddress = async (address: IAddress) => {\n return await api.post('/superapp/Address/Save', address);\n }\n\n const deleteAddress = async (addressId: string) => {\n return await api.post('/superapp/address/Delete/' + addressId, {});\n }\n\n return {\n getUserAdresses,\n setDefaultAddress,\n saveAddress,\n deleteAddress\n }\n}\n\n\n\n\n///api/superapp/Address/Save'\n\nexport default AddressApi();","import React, { FC } from 'react'\nimport { ButtonBase, CircularProgress, Icon, IconButton } from '@material-ui/core'\nimport { IAddress } from '../../../../models/address/IAddress'\nimport './DeliveryAddressItem.css'\n\ninterface IDeliveryAddressItemProps {\n address?: IAddress | null\n onClickEdit?: () => void\n onClickRemove?: () => void\n onClick?: () => void\n onClickMain?: () => void\n select?: boolean,\n loading?: boolean,\n catchOnStore?: boolean,\n other?: boolean;\n children?: React.ReactNode;\n}\n\nexport const DeliveryAddressItem: FC = ({ children, address, onClickRemove: removeButton, catchOnStore, loading, onClick, onClickMain, onClickEdit }) => {\n return (\n \n
\n {\n catchOnStore ?\n store\n :\n place\n }\n
\n
\n {\n children ??\n <>\n {\n loading ?\n
\n \n
\n :\n address ?\n <>\n
\n {address.street} {address.number} - {address.neighborhood}\n
\n
\n {address.city} - {address.state}\n
\n :\n <>\n
\n Nenhum endereço selecionado\n
\n
\n\n
\n \n }\n \n }\n\n
\n
\n {/* {onClickMain && start} */}\n {removeButton && close}\n {onClickEdit && edit}\n
\n \n )\n}\n","import { Button, Icon } from '@material-ui/core'\nimport React, { FC } from 'react'\nimport './ToastFullScreen.css'\n\nexport interface ToastFullScreenProps {\n message: string,\n type: 'info' | 'success' | 'warning' | 'error' | 'default' | 'dark' | 'payment',\n icon: string,\n iconSize?: number,\n fontSize?: number,\n actionButton?: string\n onClickActionButton?: () => void;\n children?: React.ReactNode;\n}\n\nexport const ToastFullScreen: FC = ({ children, type, icon, message, actionButton, onClickActionButton, iconSize, fontSize }) => {\n\n\n const selectColor = (type: string) => {\n switch (type) {\n case 'info':\n return \"#19d\"\n case 'success':\n return \"#1a5\"\n case 'warning':\n return \"#f90\"\n case 'error':\n return \"#f55\"\n case 'default':\n return \"#1ac\"\n case 'dark':\n return \"#333\"\n default:\n return \"#1ac\"\n }\n }\n\n return (\n
\n
\n
\n {children ??\n <>\n {icon &&\n
\n {icon}\n
}\n {message &&\n
\n {message} \n
\n }\n {actionButton &&\n \n }\n \n }\n
\n
\n
\n )\n}\n","import React, { createContext, useContext, FC, useState, useCallback, useEffect } from 'react'\nimport { ToastContainer, toast as toastify } from 'react-toastify';\nimport Backdrop from '@material-ui/core/Backdrop';\nimport CircularProgress from '@material-ui/core/CircularProgress';\n\nimport 'react-toastify/dist/ReactToastify.css';\nimport { Drawer } from '@material-ui/core';\nimport { ToastFullScreen, ToastFullScreenProps } from './toastFullScreen/ToastFullScreen';\n\ninterface IUIcontext {\n toast: (message: string, type: 'info' | 'success' | 'warning' | 'error' | 'default' | 'dark', position?: \"top-right\" | \"top-center\" | \"top-left\" | \"bottom-right\" | \"bottom-center\" | \"bottom-left\") => void,\n showLoading: () => void,\n hideLoading: () => void,\n toastFullScreen: (message: string, icon: string, type: 'info' | 'success' | 'warning' | 'error' | 'default' | 'dark' | 'payment', timer?: number, callback?: () => void, actionButton?: string, iconSize?: number, fontSize?: number) => void\n isIframe: boolean,\n isMobile: boolean,\n dimensions: { width: number, heigth: number },\n helpFixed: boolean,\n helpHeader: boolean,\n setHelpFixed: React.Dispatch>,\n setHelpHeader: React.Dispatch>,\n setOpenTooltip: React.Dispatch>,\n openTooltip: boolean,\n}\nconst mobileSize = 600;\n\nconst UIContext = createContext({} as IUIcontext)\n\nexport const UIProvider: FC<{ children: React.ReactNode }> = ({ children }) => {\n\n const [loading, setloading] = useState(false);\n const [toastFullScreenProps, settoastFullScreenProps] = useState({} as ToastFullScreenProps)\n const [openToastFullScreen, setopenToastFullScreen] = useState(false)\n const [isIframe, setIsIframe] = useState(false)\n const [countLoad, setCountLoad] = useState(0)\n const [dimensions, setDimensions] = useState({ width: window.innerWidth, heigth: window.innerHeight });\n const [isMobile, setIsMobile] = useState(\n window.innerWidth <= mobileSize\n )\n const [helpFixed, setHelpFixed] = useState(true);\n const [helpHeader, setHelpHeader] = useState(false);\n const [openTooltip, setOpenTooltip] = useState(true)\n\n\n useEffect(() => {\n if (!helpFixed) {\n setHelpHeader(true)\n } else {\n setHelpHeader(false)\n }\n }, [helpFixed])\n\n const getDimensions = useCallback(() => {\n const { innerWidth } = window;\n\n setDimensions({ width: window.innerWidth, heigth: window.innerHeight });\n\n if (innerWidth <= mobileSize) {\n setIsMobile(true);\n } else {\n setIsMobile(false);\n }\n\n }, []);\n\n useEffect(() => {\n window.addEventListener(\"resize\", getDimensions)\n return () => window.removeEventListener(\"resize\", getDimensions)\n }, [getDimensions])\n\n useEffect(() => {\n function isIframe() {\n try {\n return window.self !== window.top;\n } catch (e) {\n return true;\n }\n }\n\n setIsIframe(isIframe)\n\n return () => {\n\n }\n }, [])\n\n const toast = (message: string, type: 'info' | 'success' | 'warning' | 'error' | 'default' | 'dark', position?: \"top-right\" | \"top-center\" | \"top-left\" | \"bottom-right\" | \"bottom-center\" | \"bottom-left\") => {\n toastify(message, {\n type: type,\n position: \"bottom-center\",\n autoClose: 2000,\n hideProgressBar: false,\n closeOnClick: true,\n pauseOnHover: true,\n draggable: true,\n progress: undefined,\n });\n }\n\n const showLoading = useCallback(() => {\n setloading(true)\n setCountLoad(prev => prev + 1)\n }, [])\n const hideLoading = useCallback(() => {\n setCountLoad(prev => !!prev ? prev - 1 : 0)\n setloading(false)\n }, [])\n\n useEffect(() => {\n return () => {\n\n }\n }, [countLoad])\n\n const toastFullScreen = useCallback(\n (message: string, icon: string, type: 'info' | 'success' | 'warning' | 'error' | 'default' | 'dark' | \"payment\", time: number = 3000, callback?: () => void, actionButton?: string, iconSize?: number, fontSize?: number) => {\n settoastFullScreenProps({ message, type, icon, actionButton, onClickActionButton: () => { setopenToastFullScreen(false); callback && callback() }, iconSize, fontSize })\n setopenToastFullScreen(true);\n if (time > 0) {\n setTimeout(() => {\n callback && callback();\n setopenToastFullScreen(false);\n }, time);\n }\n },\n [],\n )\n\n return (\n \n {children}\n \n \n \n \n \n \n \n \n )\n}\n\nexport const useUi = () => {\n const context = useContext(UIContext);\n return context\n}","export interface IComposition {\n id: string;\n description: string;\n productId: string;\n productValue: number;\n quantity: number;\n}\n\nexport interface ICompositionSection {\n id: string;\n description: string;\n options: IComposition[];\n}\n\nexport interface IRegisteredCreditCard {\n id: string;\n cvv: string;\n token: string;\n}\n\nexport interface IPaymentOrderItem {\n id: string;\n name: string;\n quantity: number;\n value: number;\n composition: string;\n}\n\nexport interface IPaymentCoupon {\n id: string;\n value: number;\n}\n\nexport interface IPaymentOrder {\n id: string;\n value: number;\n deliveryFee: number;\n items: IPaymentOrderItem[];\n discount?: number;\n coupon?: IPaymentCoupon;\n}\n\nexport interface IMeepWalletModel {\n id: string;\n}\n\nexport enum PaymentType {\n INDEFINIDO = -1,\n NAO_INFORMADO = 0,\n CREDITO = 1,\n DEBITO = 2,\n DINHEIRO = 3,\n CREDITOLOJA = 4,\n MEEPCOIN = 5,\n MISTO = 6,\n CHEQUE = 7,\n PENDENTE = 8,\n BOLETO = 9,\n REEMBOLSO = 10,\n CASHBACK = 11,\n PRODUCAO = 12,\n AJUSTE = 13,\n VOUCHER = 14,\n DELIVERY = 15,\n PERDA = 16,\n PIX = 18,\n WALLET = 22\n}\n\n\nexport const PaymentTypeString = (paymentType: PaymentType) => {\n switch (paymentType) {\n case (-1):\n return \"INDEFINIDO\"\n case (0):\n return \"NAO INFORMADO\"\n case (1):\n return \"Crédito\"\n case (2):\n return \"Débito\"\n case (3):\n return \"Dinheiro\"\n case (4):\n return \"CREDITOLOJA\"\n case (5):\n return \"MEEPCOIN\"\n case (6):\n return \"MISTO\"\n case (7):\n return \"CHEQUE\"\n case (8):\n return \"PENDENTE\"\n case (9):\n return \"BOLETO\"\n case (10):\n return \"REEMBOLSO\"\n case (11):\n return \"CASHBACK\"\n case (12):\n return \"PRODUCAO\"\n case (13):\n return \"AJUSTE\"\n case (14):\n return \"VOUCHER\"\n case (15):\n return \"DELIVERY\"\n case (16):\n return \"PERDA\"\n case (18):\n return \"PIX\"\n case (22):\n return \"WALLET\"\n }\n}\n\nexport interface IExternalAuthentication {\n cavv: string;\n xid: string;\n eci: string;\n version: string;\n referenceID: string;\n}\n\nexport interface IPay {\n localClientId: string;\n deliveryAddressId?: string;\n customDeliveryDescription?: string;\n paymentType: PaymentType;\n change?: number;\n installments: number;\n registeredCreditCard?: IRegisteredCreditCard;\n order: IPaymentOrder;\n meepWalletModel?: IMeepWalletModel;\n externalAuthentication?: IExternalAuthentication;\n}\n","import api from \"../Api\";\n\nconst DeliveryApi = () => {\n const getDeliveryFee = (localId: string, addressId:string)=> {\n return api.get(\n `/SimulateDeliveryCost?StoreId=${localId}&AddressId=${addressId}`,\n );\n };\n return { getDeliveryFee }\n}\n\nexport default DeliveryApi()\n","import { IOrderDetailWithStoreConfig } from \"models/order/aggregates/datail/IOrderDetailWithStoreConfig\"\nimport api from \"../Api\"\n\nexport const OrderApi = () => {\n // api/SuperApp/Order/GetOrderAndConfigs/{orderId}\n\n const getOrderAndConfigs = async (orderId: string) => {\n const response = await api.get(`/SuperApp/Order/GetOrderAndConfigs/${orderId}`)\n return response\n }\n\n\n\n\n return { getOrderAndConfigs }\n}\n\n","import { PaymentStatus } from \"models/payment/PaymentStatus\"\nimport { IConfirmarPagamento, IConfirmarPagamentoResponse } from \"../../../models/payment/IPaymentApi\"\nimport { IPayOrRecharge } from \"../../../models/payment/IPayOrRecharge\"\nimport api from \"../Api\"\nimport { IGetAddressResponse } from \"models/paymentLink/IGetAddressResponse\"\n\nexport const PaymentApi = () => {\n const confirmarPagamentoPedido = async (paymentRequest: IConfirmarPagamento) => {\n const response = await api.post(\"/vendas/confirmarPagamento\", paymentRequest)\n return response\n }\n const confirmarPagamentoPedidoMeepCard = async (paymentRequest: IConfirmarPagamento) => {\n const response = await api.post(\"/vendas/confirmarPagamento\", paymentRequest, { headers: { Authorization: \"\" } })\n return response\n }\n const payOrRecharge = async (payOrRecharge: IPayOrRecharge) => {\n const response = await api.post(\"/SuperApp/LiveUser/PayOrRecharge\", payOrRecharge)\n return response\n }\n const getPaymentStatus = async (orderId: string): Promise<{ id: PaymentStatus }> => {\n const response = await api.get<{ Id: PaymentStatus }>(\"/PedidoPOS/PaymentStatus/\" + orderId)\n return { id: response.data.Id }\n }\n const getAddress = async (postalAddressCode: string): Promise => {\n const response = await api.get(\"/address/postal-address-code/\" + postalAddressCode)\n return response.data\n }\n\n\n return { confirmarPagamentoPedido, payOrRecharge, confirmarPagamentoPedidoMeepCard, getPaymentStatus, getAddress }\n}","export interface DeliveryFee {\n price: number;\n}\n\nexport interface DeliveryFeeData {\n storeId: string;\n addressId: string;\n}\n\nexport enum DeliveryType {\n undefined = 0,\n delivery = 1,\n catch,\n other,\n localPlace,\n}\n","import { Button, CircularProgress, TextField } from '@material-ui/core'\nimport React, { FC, useState } from 'react'\nimport './SecurityCodeInput.css'\n\n\ninterface ISecurityCodeInput {\n onSubmit: (securityCode: string) => void\n loading?: boolean\n isPassword?: boolean\n}\nexport const SecurityCodeInput: FC = ({ onSubmit, loading, isPassword }) => {\n const [securityCode, setsecurityCode] = useState(\"\");\n const onsubmit = (event: React.FormEvent) => {\n event.preventDefault();\n if (!loading) {\n onSubmit(securityCode);\n }\n }\n\n\n return (\n
\n
\n
\n
\n
\n {\n isPassword \n ? \"Inserir senha Wallet\" \n : \"Insira o código de segurança do cartão selecionado\"\n }\n
\n
\n setsecurityCode(e.target.value.substr(0, isPassword ? 4 : 3).replace(\"-\", \"\").replace(\".\", \"\"))}\n >\n
\n
\n
\n \n
\n
\n
\n
\n )\n}\n","import { createContext, FC, useContext, useEffect, useState } from \"react\";\nimport React from 'react'\nimport { useLocation } from \"react-router-dom\";\n\ninterface IQueryParams {\n queryPlace?: string\n queryDescription?: string\n queryTypeDelivery?: string\n orderId?: string,\n localId?: string,\n accountId?: string,\n operatorId?: string\n}\ninterface IParamsConfigContext {\n queryParams: IQueryParams | undefined\n setParamsLocalId: React.Dispatch>\n}\nconst ParamsConfigContext = createContext({} as IParamsConfigContext)\n\nexport const ParamsProvider: FC<{ children: React.ReactNode }> = ({ children }) => {\n \n const [queryParams, setQueryParams] = useState();\n const location = useLocation();\n \n const [localId, setParamsLocalId] = useState()\n\n useEffect(() => {\n const query = new URLSearchParams(location.search);\n const queryPlace = query.get(\"pl\");\n const queryDescription = query.get(\"desc\");\n const queryTypeDelivery = query.get(\"td\");\n const orderId = query.get(\"orderId\");\n const accoutnId = query.get(\"accountId\");\n const localId = query.get(\"localId\");\n const operatorId = query.get(\"operatorId\");\n\n if (localId) {\n setParamsLocalId(localId);\n }\n setQueryParams(prev => ({\n queryPlace: queryPlace ?? prev?.queryPlace,\n queryDescription: queryDescription ?? prev?.queryDescription,\n queryTypeDelivery: queryTypeDelivery ?? prev?.queryTypeDelivery,\n orderId: orderId ?? prev?.orderId,\n accountId: accoutnId ?? prev?.accountId,\n localId: localId ?? prev?.localId,\n operatorId: operatorId ?? prev?.operatorId,\n }))\n\n return () => {\n\n }\n }, [location]);\n\n\n useEffect(() => {\n if (localId && queryParams?.queryPlace) {\n localStorage.setItem('@storagePlace-' + localId, queryParams?.queryPlace)\n }\n }, [localId, queryParams])\n\n\n return (\n \n {children}\n \n )\n}\n\n\n\nexport const useParamsConfig = () => {\n const context = useContext(ParamsConfigContext)\n return context\n}","import { useEffect, useState } from 'react'\n\ndeclare global {\n interface Window {\n deviceId: string;\n onGetFingerPrint: (value: any) => void\n }\n}\n\nexport const UseMercadoPago = () => {\n const [deviceIdMercadoPago, setDeviceIdMercadoPago] = useState(\"\")\n\n useEffect(() => {\n // window.onGetFingerPrint = onGetFingerPrint\n const script = document.createElement('script');\n script.src = \"https://www.mercadopago.com/v2/security.js\";\n script.setAttribute(\"output\", \"deviceId\");\n script.setAttribute(\"view\", \"checkout\");\n document.body.appendChild(script);\n return () => {\n document.body.removeChild(script);\n }\n }, []);\n\n useEffect(() => {\n const timer = setInterval(() => {\n if (window.deviceId) {\n clearTimeout(timer)\n setDeviceIdMercadoPago(window.deviceId)\n }\n\n }, 1000);\n\n return () => {\n clearTimeout(timer)\n }\n\n }, [])\n\n return ({deviceIdMercadoPago})\n}\n","import FingerprintJS, { GetResult } from '@fingerprintjs/fingerprintjs'\nimport { useCallback, useEffect, useState } from 'react'\n\n\nconst UseFingerPrint = () => {\n \n const [fingerPrint, setFingerPrint] = useState()\n\n const getFingerPrint = useCallback(\n async () => {\n const fp = await FingerprintJS.load()\n const result = await fp.get();\n setFingerPrint(result);\n },\n [],\n )\n\n useEffect(() => {\n getFingerPrint();\n return () => {\n \n }\n }, [])\n\n return (\n {fingerPrint}\n )\n}\n\nexport default UseFingerPrint\n","import { IOrderPads } from \"pages/payment/UseLocalOrderPads\";\nimport api from \"../Api\";\n\nconst OrderPadApi = () => {\n const getOrderPads = async (localId: string): Promise => {\n const response = await api.get<\n {\n AbertoEm: string;\n Id: string;\n Numero: string;\n ProprietarioId: string;\n Status: number;\n }[]\n >(\"/comandaseletronicas?localClienteId=\" + localId);\n return response.data.map((item) => ({\n number: item.Numero,\n id: item.Id,\n status: item.Status\n }));\n };\n return {\n getOrderPads,\n };\n};\nexport default OrderPadApi;\n","import { useParamsConfig } from \"context/paramsConfig/ParamsConfigContext\";\nimport { useUi } from \"context/ui/UIContext\";\nimport { IStoreConfig } from \"models/local/ILocalConfig\";\nimport { useEffect, useState } from \"react\";\nimport OrderPadApi from \"services/Api/orderPad/OrderPadApi\";\n\nexport interface IOrderPads {\n number: string;\n id: string;\n status: number;\n}\nconst UseLocalOrderPads = (storeConfig: IStoreConfig | null) => {\n const [orderPads, setOrderPads] = useState();\n const { showLoading, hideLoading } = useUi();\n const [selectedOrderPad, setSelectedOrderPad] = useState();\n const { queryParams } = useParamsConfig()\n\n useEffect(() => {\n if (storeConfig?.storeId && orderPads) {\n if (queryParams?.queryPlace) {\n const selectedFromUrl = orderPads?.find(orderPad => orderPad.number === queryParams.queryPlace);\n setSelectedOrderPad(selectedFromUrl);\n localStorage.setItem(`@storagePlace-${storeConfig?.storeId}`, queryParams?.queryPlace);\n } else {\n const _storagePlace = localStorage.getItem(`@storagePlace-${storeConfig?.storeId}`);\n if (_storagePlace) {\n const selected = orderPads?.find(orderPad => orderPad.number === _storagePlace);\n setSelectedOrderPad(selected);\n }\n }\n }\n }, [orderPads, queryParams, storeConfig])\n\n\n useEffect(() => {\n const getOrderPads = async () => {\n if (storeConfig?.storeId) {\n try {\n showLoading();\n const service = OrderPadApi();\n const response = await service.getOrderPads(storeConfig.storeId);\n setOrderPads(response.filter(item => item.status !== 0)); //Filtrando apenas comandas ativas\n } finally {\n hideLoading();\n }\n }\n };\n getOrderPads();\n }, [hideLoading, showLoading, storeConfig]);\n\n\n\n\n return {\n orderPads,\n selectedOrderPad,\n setSelectedOrderPad\n };\n};\n\nexport default UseLocalOrderPads;\n","import { ICoupon } from \"models/coupon/ICoupon\";\nimport api from \"../Api\";\n\nconst CouponApi = () => {\n const activate = async (code: string): Promise => {\n const response = await api.post('/CouponUser/AddCouponToUser', { code });\n return response.data\n };\n\n const getAll = async (): Promise => {\n const response = await api.get('/CouponUser/AvailableCoupons');\n return response.data\n };\n\n return { activate, getAll };\n\n}\nexport default CouponApi","import { ICoupon } from 'models/coupon/ICoupon';\nimport { useCallback, useEffect, useState } from 'react'\nimport CouponApi from 'services/Api/coupon/CouponApi'\nconst UseCoupon = () => {\n\n const [coupons, setCoupons] = useState();\n const [selectedCoupon, setSelectedCoupon] = useState();\n const [isLoadingCoupon, setIsLoadingCoupon] = useState(false)\n\n const activateCoupon = useCallback(async (code: string) => {\n\n try {\n setIsLoadingCoupon(true)\n const couponSerivce = CouponApi();\n const responseCoupon = await couponSerivce.activate(code);\n // setSelectedCoupon(responseCoupon);\n setCoupons(prev => ([...prev ?? [], responseCoupon]))\n } catch (error) {\n\n } finally {\n setIsLoadingCoupon(false)\n }\n\n }, [])\n\n const getAllCoupons = useCallback(async () => {\n\n try {\n setIsLoadingCoupon(true)\n const couponSerivce = CouponApi();\n const responseCoupon = await couponSerivce.getAll();\n setCoupons(responseCoupon);\n } catch (error) {\n\n } finally {\n setIsLoadingCoupon(false)\n }\n\n }, [])\n\n useEffect(() => {\n getAllCoupons();\n }, [getAllCoupons])\n\n\n return ({\n selectedCoupon,\n isLoadingCoupon,\n activateCoupon,\n getAllCoupons,\n coupons,\n setSelectedCoupon\n })\n}\n\nexport default UseCoupon","import { IStoreConfig } from 'models/local/ILocalConfig'\nimport { IOrderDetail } from 'models/order/aggregates/datail/IOrderDetail'\nimport { useEffect, useState } from 'react'\n\nconst UseServiceFee = (orderDetail?: IOrderDetail | null, storeConfig?: IStoreConfig | null) => {\n const [serviceFee, setServiceFee] = useState(0);\n const [acceptServiceFee, setAcceptServiceFee] = useState(true);\n\n useEffect(() => {\n\n if (orderDetail && storeConfig?.serviceFee) {\n if(acceptServiceFee){\n\n const _serviceFee = (orderDetail.amount * storeConfig.serviceFee) / 100\n setServiceFee(_serviceFee);\n }else{\n setServiceFee(0);\n }\n }\n\n\n }, [acceptServiceFee, orderDetail, serviceFee, storeConfig])\n\n\n\n\n return ({ serviceFee, setAcceptServiceFee })\n}\n\nexport default UseServiceFee","import React, {\n createContext,\n FC,\n useContext,\n useState,\n useEffect,\n useCallback,\n} from \"react\";\nimport { IAddress } from \"../../models/address/IAddress\";\nimport { ICardItem } from \"../../models/payment/ICard\";\nimport { PaymentType } from \"../../models/payment/IPay\";\nimport { IOrder } from \"../../models/order/IOrder\";\nimport DeliveryApi from \"../../services/Api/delivery/DeliveryApi\";\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport { IOrderDetail } from \"../../models/order/aggregates/datail/IOrderDetail\";\nimport { IStoreConfig } from \"../../models/local/ILocalConfig\";\nimport { OrderApi } from \"../../services/Api/order/OrderApi\";\nimport { useUi } from \"../ui/UIContext\";\nimport { PaymentApi } from \"../../services/Api/payment/PaymentApi\";\nimport { DadosWallet, IConfirmarPagamento } from \"../../models/payment/IPaymentApi\";\nimport { DeliveryType } from \"../../models/delivery/deliveryFee\";\nimport { Drawer } from \"@material-ui/core\";\nimport { SecurityCodeInput } from \"./_securityCodeInput/SecurityCodeInput\";\nimport { useParamsConfig } from \"../paramsConfig/ParamsConfigContext\";\nimport { AccountApi } from \"../../services/Api/account/_AccountApi\";\nimport { IPayOrRecharge } from \"../../models/payment/IPayOrRecharge\";\nimport { UseMercadoPago } from \"./UseMercadoPago\";\nimport UseFingerPrint from \"./UseFingerPrint\";\nimport UseLocalOrderPads, { IOrderPads } from \"pages/payment/UseLocalOrderPads\";\nimport UseCoupon from \"pages/payment/coupon/UseCoupon\";\nimport { ICoupon } from \"models/coupon/ICoupon\";\nimport CalcCoupon from \"pages/payment/coupon/CalcCoupon\";\nimport UseServiceFee from \"./UseServiceFee\";\n\ndeclare global {\n interface Window {\n deviceId: string;\n onGetFingerPrint: (value: any) => void;\n }\n}\n\nexport interface IPixValues {\n qrCode: string;\n key: string;\n}\ninterface IPaymentContext {\n orderDetail: IOrderDetail | null;\n address: IAddress | null;\n setAddress: (address: IAddress | null) => void;\n setPaymentType: (paymentType: PaymentType) => void;\n paymentType: PaymentType;\n setChange: (change: number) => void;\n change: number | null;\n setInstallment: (installment: number) => void;\n installment: number | null;\n card: ICardItem | null;\n setCard: (card: ICardItem | null) => void;\n setWallet: (wallet: DadosWallet) => void;\n deliveryFee: number | null;\n errorPayment: IErrorPayment;\n confirmarPagamento: () => void;\n storeConfig: IStoreConfig | null;\n deliveryType: DeliveryType;\n setDeliveryType: (deliveryType: DeliveryType) => void;\n setCustomDeliveryDescription: (value: string) => void;\n customDeliveryDescription: string;\n orderPads?: IOrderPads[];\n setSelectedOrderPad?: (orderPad: IOrderPads) => void\n selectedOrderPad?: IOrderPads,\n selectedCoupon: ICoupon | undefined,\n isLoadingCoupon: boolean,\n activateCoupon: (code: string) => void,\n coupons: ICoupon[] | undefined,\n setSelectedCoupon: (coupon: ICoupon | undefined) => void,\n serviceFee?: number\n setAcceptServiceFee: (value: boolean) => void\n pixValues?: IPixValues\n enviarMensagemDeConfirmacao: () => void\n confimPlaceModal: boolean,\n onClickConfirmarAndOpenPlaceAlert: () => void\n closePlaceAlert: () => void,\n updateTableLocalStorage: (table: IOrderPads) => void;\n updatePaymentTypeLocalStorage: (paymentType: PaymentType) => void\n}\n\nexport interface IErrorPayment {\n resume?: {\n message: string;\n object: IOrder | null;\n };\n address?: {\n message: string;\n object: IAddress | null;\n };\n paymentType?: {\n message: string;\n object: PaymentType;\n };\n change?: number | null;\n card?: {\n message: string;\n object: ICardItem | null;\n };\n deliveryFee?: {\n message: string;\n object: Number | null;\n };\n}\n\nexport interface IPayment {\n resume?: IOrder | null;\n address?: IAddress | null;\n paymentType?: PaymentType;\n change?: number | null;\n card?: ICardItem | null;\n deliveryFee?: number | null;\n}\n\nconst PaymentContext = createContext({} as IPaymentContext);\n\nexport const PaymentProvider: FC<{ children: React.ReactNode }> = ({ children }) => {\n const { showLoading, hideLoading, toastFullScreen, toast } = useUi();\n // const { orderId } = useParams<{ orderId: string }>();\n // const query = new URLSearchParams(useLocation().search);\n\n const { queryParams } = useParamsConfig();\n const { isIframe } = useUi();\n\n //dados do pedido e da configuração do pagamento\n const [orderDetail, setOrderDetail] = useState(null);\n const [storeConfig, setStoreConfig] = useState(null);\n\n //mesa e comanda\n const { orderPads, setSelectedOrderPad, selectedOrderPad } = UseLocalOrderPads(storeConfig);\n const [confimPlaceModal, setConfimPlaceModal] = useState(false)\n\n //Valores para montagem do objeto de pagamento\n const [inPayment, setInPayment] = useState(false);\n const [paymentType, setPaymentType] = useState(\n PaymentType.NAO_INFORMADO\n );\n const [address, setAddress] = useState(null);\n const [deliveryType, setDeliveryType] = useState(\n queryParams?.queryTypeDelivery === DeliveryType.other.toString()\n ? DeliveryType.other\n : DeliveryType.undefined\n );\n\n const [card, setCard] = useState(null);\n const [change, setChange] = useState(null);\n const [deliveryFee, setdeliveryFee] = useState(null);\n const [customDeliveryDescription, setCustomDeliveryDescription] =\n useState(\"\");\n const [installment, setInstallment] = useState(1);\n const [wallet, setWallet] = useState({ WalletId: \"\"});\n\n //Validação tela de pagamento\n const [errorPayment, setErrorPayment] = useState({});\n const [paymentObject, setPaymentObject] = useState(null);\n const [securityCodeOpen, setSecurityCodeOpen] = useState(false);\n\n //device Id pagseguro\n const { deviceIdMercadoPago } = UseMercadoPago();\n const { fingerPrint } = UseFingerPrint();\n\n //Pix values\n\n const [pixValues, setPixValues] = useState()\n\n //navegação\n const history = useHistory();\n const location = useLocation();\n\n const {\n selectedCoupon,\n isLoadingCoupon,\n activateCoupon,\n coupons,\n setSelectedCoupon\n } = UseCoupon()\n \n const { serviceFee, setAcceptServiceFee } = UseServiceFee(orderDetail, storeConfig)\n\n const updateTableLocalStorage = useCallback((table: IOrderPads) => {\n sessionStorage.setItem(`@Meep:table`, JSON.stringify(table));\n setSelectedOrderPad(table);\n }, [setSelectedOrderPad]);\n\n const updatePaymentTypeLocalStorage = useCallback((paymentType: PaymentType) => {\n sessionStorage.setItem(`@Meep:paymentType`, JSON.stringify(paymentType));\n setPaymentType(paymentType);\n }, []);\n\n const getOrderAndConfig = useCallback(async (orderId: string) => {\n showLoading();\n const storageTable = sessionStorage.getItem(`@Meep:table`);\n const storagePaymentType = sessionStorage.getItem(`@Meep:paymentType`);\n\n try {\n const orderApi = OrderApi();\n const response = await orderApi.getOrderAndConfigs(orderId);\n if (response) {\n setStoreConfig(response.data.store);\n setOrderDetail(response.data.order);\n storageTable && updateTableLocalStorage(JSON.parse(storageTable) as IOrderPads);\n storagePaymentType && updatePaymentTypeLocalStorage(JSON.parse(storagePaymentType) as PaymentType);\n }\n } catch (error: any) {\n if (error?.response?.data?.message) {\n toastFullScreen(\n error?.response?.data?.message,\n \"error\",\n \"error\",\n 3000,\n () => {\n history.replace(\"/\");\n }\n );\n } else {\n toastFullScreen(\"Pedido Não Encontrado\", \"error\", \"error\", 3000, () => {\n history.replace(\"/\");\n });\n }\n }\n hideLoading();\n\n }, [hideLoading, history, showLoading, toastFullScreen, updatePaymentTypeLocalStorage, updateTableLocalStorage]);\n\n const redirectSucess = useCallback(() => {\n if (isIframe) {\n window.open(`/payment/confirm-payment/${storeConfig?.storeId}`);\n window.parent.postMessage({ command: \"SUCESS_PAYMENT\" }, \"*\");\n } else {\n history.replace(`/payment/confirm-payment/${storeConfig?.storeId}`);\n }\n }, [history, isIframe, storeConfig]);\n\n useEffect(() => {\n if (queryParams?.queryPlace && !selectedOrderPad) {\n setDeliveryType(DeliveryType.other)\n setCustomDeliveryDescription(`${queryParams?.queryDescription ?? storeConfig?.customDeliveryDescription} ${queryParams?.queryPlace}`)\n }\n\n return () => {\n\n }\n }, [queryParams, selectedOrderPad, storeConfig])\n\n\n const getAccountAndConfig = useCallback(async (accountId: string) => {\n const accountApi = AccountApi();\n showLoading();\n try {\n const response = await accountApi.getAccount(accountId);\n if (response) {\n setStoreConfig(response.data.store);\n setOrderDetail(response.data.order);\n }\n } catch (error: any) {\n if (error?.response?.data?.message) {\n toastFullScreen(\n error?.response?.data?.message,\n \"error\",\n \"error\",\n 3000,\n () => {\n history.replace(\"/\");\n }\n );\n } else {\n toastFullScreen(\"Conta Não Encontrada\", \"error\", \"error\", 3000, () => {\n history.replace(\"/\");\n });\n }\n }\n hideLoading();\n }, [hideLoading, history, showLoading, toastFullScreen]);\n\n useEffect(() => {\n const query = new URLSearchParams(location.search);\n const orderId = query.get(\"orderId\");\n const accountId = query.get(\"orderId\");\n if (orderId) {\n getOrderAndConfig(orderId);\n } else if (accountId) {\n getAccountAndConfig(accountId);\n } else {\n if (queryParams) {\n if (queryParams.orderId) {\n getOrderAndConfig(queryParams.orderId);\n } else if (queryParams?.accountId) {\n getAccountAndConfig(queryParams.accountId);\n } else {\n history.replace(\"/\");\n }\n }\n }\n }, [getAccountAndConfig, getOrderAndConfig, history, location.search, queryParams]);\n\n const enviarMensagemDeConfirmacao = useCallback(() => {\n let mensagem = `Pedido Enviado \\n Acompanhe o status do pedido.`;\n let actionButton = `Ver Pedido`;\n setPixValues(undefined);\n if (queryParams?.queryTypeDelivery === \"3\") {\n // mensagem = `Pedido realizado com sucesso\\n ${queryParams?.queryDescription ?? \"\"} ${queryParams?.queryPlace ?? \"\"}\\n Sera um gerado um QrCode para se apresentado referente ao seu pedido.`\n mensagem = `PARABÉNS PELA SUA COMPRA!\\n\\n\\nÉ só fazer o seguinte:\\n\\n\\n1-Aguarde seu pedido ficar pronto.\\n\\n2-${queryParams?.queryDescription ?? \"\"\n } ${queryParams?.queryPlace ?? \"\"\n }\\n\\n3-No aplicativo entre no menu pedidos e clique no ícone do QRCode.\\n\\n4-Um QRCode será gerado. É só apresentar no ponto de venda!\\n\\n`;\n actionButton = \"Entendi\";\n }\n toastFullScreen(\n mensagem,\n \"check\",\n \"success\",\n 30000,\n redirectSucess,\n actionButton\n );\n }, [queryParams, toastFullScreen, redirectSucess]);\n\n const enviarPagamentoPedido = useCallback(\n async (paymentRequest: IConfirmarPagamento) => {\n try {\n showLoading();\n setInPayment(true);\n\n const paymentApi = PaymentApi();\n const response = await paymentApi.confirmarPagamentoPedido(\n paymentRequest\n );\n if (response) {\n if (response.data.qrcodeBase64 && response.data.qrcodeLink) {\n setPixValues({ qrCode: response.data.qrcodeBase64, key: response.data.qrcodeLink })\n } else {\n enviarMensagemDeConfirmacao();\n }\n }\n } catch (error: any) {\n if (error?.response?.data?.message) {\n toast(error?.response?.data?.message, \"error\");\n }\n } finally {\n hideLoading();\n setInPayment(false);\n sessionStorage.removeItem(`@Meep:cart`);\n }\n },\n [enviarMensagemDeConfirmacao, hideLoading, showLoading, toast]\n );\n\n const enviarPagamentoConta = useCallback(\n async (paymentRequest: IConfirmarPagamento) => {\n const paymentApi = PaymentApi();\n try {\n showLoading();\n setInPayment(true);\n if (paymentRequest.dadosCartaoCadastrado && queryParams?.accountId) {\n const requestPayment: IPayOrRecharge = {\n accountId: queryParams?.accountId,\n value: paymentRequest.resumoPedido.valorPedido,\n creditCardId: paymentRequest.dadosCartaoCadastrado?.cartaoId,\n CVV: paymentRequest.dadosCartaoCadastrado?.codigoSeguranca,\n deviceId: deviceIdMercadoPago,\n };\n const response = await paymentApi.payOrRecharge(requestPayment);\n\n if (response) {\n enviarMensagemDeConfirmacao();\n }\n }\n } catch (error: any) {\n if (error?.response?.data?.message) {\n toast(error?.response?.data?.message, \"error\");\n }\n } finally {\n hideLoading();\n setInPayment(false);\n }\n },\n [deviceIdMercadoPago, enviarMensagemDeConfirmacao, hideLoading, queryParams, showLoading, toast]\n );\n\n /**\n * Efetuar pagamento e insere o codigo de segurança contido no contexto atual\n */\n const inserirCodigoDeSeguracaEEnviarPagamento = useCallback(\n async (paymentObject: IConfirmarPagamento, securityCode?: string) => {\n if (paymentObject) {\n const paymentRequest: IConfirmarPagamento = securityCode\n ? {\n ...paymentObject,\n mesaId: selectedOrderPad?.id,\n dadosCartaoCadastrado: paymentObject.dadosCartaoCadastrado\n ? {\n ...paymentObject.dadosCartaoCadastrado,\n codigoSeguranca: securityCode,\n }\n : undefined,\n }\n : paymentObject;\n\n if (queryParams?.orderId) {\n await enviarPagamentoPedido(paymentRequest);\n } else if (queryParams?.accountId) {\n await enviarPagamentoConta(paymentRequest);\n }\n }\n },\n [queryParams, selectedOrderPad, enviarPagamentoPedido, enviarPagamentoConta]\n );\n\n const sendWalletPayment = useCallback(\n async () => {\n if (paymentObject) {\n const paymentRequest: IConfirmarPagamento = {\n ...paymentObject,\n mesaId: selectedOrderPad?.id,\n dadosWallet: {\n WalletId: wallet.WalletId,\n }\n }\n\n if (queryParams?.orderId) {\n await enviarPagamentoPedido(paymentRequest);\n } else if (queryParams?.accountId) {\n await enviarPagamentoConta(paymentRequest);\n }\n }\n },\n [queryParams, selectedOrderPad, enviarPagamentoPedido, enviarPagamentoConta, wallet, paymentObject]\n );\n\n const enviarPagamentoOrderComSecurityCode = useCallback(\n (securityCode?: string) => {\n if (paymentObject) {\n inserirCodigoDeSeguracaEEnviarPagamento(paymentObject, securityCode);\n }\n },\n [inserirCodigoDeSeguracaEEnviarPagamento, paymentObject]\n );\n\n const validatePaymentForm = useCallback(\n (paymentObject: IConfirmarPagamento) => {\n if (\n storeConfig?.allowDeliveryHome ||\n storeConfig?.allowCatchOnShop ||\n storeConfig?.allowCustomDelivery\n ) {\n if (deliveryType === 0) {\n toast(\"Informe o local de entrega\", \"error\");\n return false;\n }\n if (\n deliveryType === DeliveryType.delivery &&\n !paymentObject.enderecoEntregaId\n ) {\n toast(\"Informe o endereço de entrega\", \"error\");\n return false;\n }\n if (\n deliveryType === DeliveryType.other &&\n queryParams?.queryPlace + customDeliveryDescription === \"\"\n ) {\n toast(\"Informe o local de entrega\", \"error\");\n return false;\n }\n if (\n deliveryType === DeliveryType.other && storeConfig.allowTableDelivery && !selectedOrderPad\n ) {\n toast(\"Informe o local de entrega válido\", \"error\");\n return false;\n }\n }\n if (paymentObject.tipoPagamentoId === 0) {\n toast(\"selecione uma forma de pagamento\", \"error\");\n return false;\n }\n return true;\n },\n [storeConfig, deliveryType, queryParams, customDeliveryDescription, selectedOrderPad, toast]\n );\n\n useEffect(() => {\n if (\n storeConfig?.storeId &&\n address &&\n deliveryType === DeliveryType.delivery\n ) {\n DeliveryApi.getDeliveryFee(storeConfig.storeId, address?.id)\n .then((response) => {\n setOrderDetail((prev) =>\n prev ? { ...prev, deliveryFee: response?.data?.price || 0 } : null\n );\n setdeliveryFee(response.data.price);\n setErrorPayment((prev) => ({\n ...prev,\n address: undefined,\n }));\n })\n .catch((error) => {\n setAddress(null);\n setdeliveryFee(null);\n toast(error?.response?.data.message, \"warning\");\n setErrorPayment((prev) => ({\n ...prev,\n address: {\n object: address,\n message:\n error?.response?.data?.message ?? \"Endereço não é valido\",\n },\n }));\n });\n } else {\n setOrderDetail((prev) => (prev ? { ...prev, deliveryFee: 0 } : null));\n setdeliveryFee(0);\n }\n return () => { };\n }, [address, storeConfig, deliveryType, toast]);\n\n /**\n * Monta o pagamento e valida o formulario de pagamento, caso seja cartao abre modal do codigo de segurança.\n */\n const confirmarPagamento = useCallback(async () => {\n if (orderDetail && storeConfig) {\n const paymentObject: IConfirmarPagamento = {\n localClienteId: storeConfig.storeId,\n enderecoEntregaId:\n deliveryType === DeliveryType.delivery && address\n ? address.id\n : undefined,\n customDeliveryDescription: `${customDeliveryDescription}`,\n tipoPagamentoId: paymentType === PaymentType.PIX ? PaymentType.DEBITO : paymentType,\n mesaId: selectedOrderPad?.id,\n troco: change ?? 0,\n parcelas: installment,\n dadosCartaoCadastrado: card\n ? { cartaoId: card.id, codigoSeguranca: \"\" }\n : undefined,\n resumoPedido: {\n pedidoId: queryParams?.orderId,\n valorPedido: orderDetail?.amount,\n taxaEntrega: deliveryFee ?? undefined,\n taxaServico: serviceFee,\n cupom: selectedCoupon && {\n id: CalcCoupon(orderDetail?.amount, selectedCoupon).id,\n valor: CalcCoupon(orderDetail?.amount, selectedCoupon).value\n }\n },\n fingerPrint: deviceIdMercadoPago,\n canalVenda: 1,\n deviceFingerPrint: fingerPrint?.visitorId,\n gerarPIX: paymentType === PaymentType.PIX ? true : false,\n };\n setPaymentObject(paymentObject);\n if (validatePaymentForm(paymentObject)) {\n if (card) {\n // setSecurityCodeOpen(true);\n enviarPagamentoOrderComSecurityCode();\n } if (paymentType === PaymentType.WALLET) {\n sendWalletPayment() \n } else {\n inserirCodigoDeSeguracaEEnviarPagamento(paymentObject);\n }\n }\n }\n }, [orderDetail, storeConfig, deliveryType, address, customDeliveryDescription, paymentType, selectedOrderPad, change, installment, card, queryParams, deliveryFee, serviceFee, selectedCoupon, deviceIdMercadoPago, fingerPrint, validatePaymentForm, enviarPagamentoOrderComSecurityCode, inserirCodigoDeSeguracaEEnviarPagamento]);\n\n const onClickConfirmarAndOpenPlaceAlert = useCallback(() => {\n if (selectedOrderPad) {\n setConfimPlaceModal(true);\n } else {\n confirmarPagamento()\n }\n }, [confirmarPagamento, selectedOrderPad])\n\n const closePlaceAlert = useCallback(() => {\n setConfimPlaceModal(false)\n }, [])\n\n return (\n \n {children}\n <>\n setSecurityCodeOpen(false)}\n >\n \n \n \n \n );\n};\n\nexport const PaymnetConsumer = PaymentContext.Consumer;\n\nexport const usePayment = () => {\n return useContext(PaymentContext);\n};\n","import { IAccountDetailWithStoreConfig } from \"../../../models/order/aggregates/datail/IAccountDetailWithStoreConfig\"\nimport { IOrderDetail } from \"../../../models/order/aggregates/datail/IOrderDetail\"\nimport { IOrderDetailWithStoreConfig } from \"../../../models/order/aggregates/datail/IOrderDetailWithStoreConfig\"\nimport api from \"../Api\"\n\nexport const AccountApi = () => {\n\n const getAccount = async (accountId: string) => {\n const response = await api.get(`/SuperApp/Order/GetOrderAndConfigsByAccountId/${accountId}`)\n return { ...response, data: accountToOrder(response.data) }\n }\n\n const accountToOrder = (account: IAccountDetailWithStoreConfig): IOrderDetailWithStoreConfig => {\n const returnOrder: IOrderDetail = {\n id: account.id,\n amount: account.ammount * 1.1,\n itens: account.orders.flatMap((order) => (order.itens))\n }\n return {\n store: {\n ...account.store,\n deliveryFee: 0,\n allowPaymentOnDelivery: false,\n allowOnlinePayment: true,\n showDeliveryStatus: false,\n allowCatchOnShop: false,\n allowDeliveryHome: false,\n allowCustomDelivery: false,\n customDeliveryDescription: \"\",//Enum Adiquirente\n isMeepCard: false,\n acceptInstallment: false,\n useMeepDelivery: false,\n acceptSlipPayment: false,\n },\n order: returnOrder\n }\n }\n\n return {\n getAccount\n }\n}\n","import { CircularProgress, Icon, IconButton, InputAdornment, TextField } from '@material-ui/core';\nimport React, { FC, useCallback, useState } from 'react'\nimport { IAddress } from '../../models/address/IAddress';\nimport \"./GoogleAutoComplete.css\"\nimport { ConvertDetailToAddress } from './_ConvertToAddress';\nimport PlacesAutocomplete, { geocodeByAddress } from 'react-places-autocomplete';\n\ninterface substring {\n length: number,\n offset: number,\n value: string\n}\n\ninterface structured_formatting {\n main_text: string,\n main_text_matched_substrings: substring[],\n secondary_text: string\n}\n\nexport interface IPredication {\n description: string,\n distance_meters: number,\n id: string,\n matched_substrings: substring[],\n place_id: string,\n reference: string,\n terms: substring[],\n types: string[],\n structured_formatting: structured_formatting\n}\n\n// interface responJsonPlace {\n// status: string,\n// predictions: IPredication[]\n// }\n\ninterface IGoogleAutoCompleteProps {\n onSelect: (address: IAddress) => void;\n onReset?: () => void\n}\n\nexport const GoogleAutoComplete: FC = ({ onSelect, onReset }) => {\n // const [predications, setPredications] = useState([]);\n const [address, setaddress] = useState(\"\");\n\n const onChangeAddress = useCallback((address: string) => {\n setaddress(address);\n onReset && onReset();\n }, [onReset])\n\n const onResetAddress = useCallback(() => {\n setaddress(address);\n onReset && onReset();\n }, [address, onReset])\n\n const getDetails = useCallback(async (address: string) => {\n geocodeByAddress(address).then(\n (response: google.maps.GeocoderResult[]) => {\n const details = !!response.length && ConvertDetailToAddress(response[0]);\n if (details) {\n onSelect(details)\n }\n }\n )\n }, [onSelect])\n\n const onSelectAddress = useCallback((address: string, placeId: string) => {\n setaddress(address);\n getDetails(address)\n }, [getDetails])\n\n return (\n\n
\n \n {({ getInputProps, suggestions, getSuggestionItemProps, loading }) => (\n <>\n\n
\n \n place\n \n ),\n endAdornment: (\n \n {loading ? \n : !address ?\n search\n :\n \n close\n }\n \n )\n }}\n\n />\n
\n {/* */}\n {\n address && !!suggestions.length &&\n
\n {suggestions.map((suggestion) => {\n const style = suggestion.active\n ? { backgroundColor: '#8885', cursor: 'pointer' }\n : { cursor: 'pointer' };\n\n return (\n \n place\n
\n
{suggestion.description}
\n
\n
\n
\n )\n })\n }\n
\n }\n \n )}\n \n \n\n )\n}\n","import { IAddress } from \"../../models/address/IAddress\";\nimport { IDetails } from \"./interfaces/IDetailMaps\";\n\n\n// id: string;\n// CEP?: string;\n// description: string;\n// street: string;\n// number: string;\n// complement: string;\n// neighborhood: string;\n// city: string;\n// state: string;\n// default: boolean;\n\nexport const ConvertDetailToAddress = (details: google.maps.GeocoderResult): IAddress => {\n\n\n let returnAddress: IAddress = {} as IAddress;\n\n details.address_components.map((address_components) => {\n\n\n if (address_components.types.includes(\"street_number\")) {\n //numero\n returnAddress = { ...returnAddress, number: address_components.short_name }\n }\n if (address_components.types.includes(\"route\")) {\n //logradouro\n returnAddress = { ...returnAddress, street: address_components.short_name }\n }\n if (address_components.types.includes(\"sublocality_level_1\")) {\n //bairro\n returnAddress = { ...returnAddress, neighborhood: address_components.short_name }\n }\n if (address_components.types.includes(\"postal_code\")) {\n //cep\n returnAddress = { ...returnAddress, CEP: address_components.short_name }\n }\n if (address_components.types.includes(\"administrative_area_level_1\")) {\n //state\n returnAddress = { ...returnAddress, state: address_components.short_name }\n }\n if (address_components.types.includes(\"administrative_area_level_2\")) {\n //cidade\n returnAddress = { ...returnAddress, city: address_components.short_name }\n }\n })\n\n return returnAddress\n}\nexport const _ConvertDetailToAddress = (details: IDetails): IAddress => {\n\n\n let returnAddress: IAddress = {} as IAddress;\n\n details.address_components.map((address_components) => {\n\n\n if (address_components.types.includes(\"street_number\")) {\n //numero\n returnAddress = { ...returnAddress, number: address_components.short_name }\n }\n if (address_components.types.includes(\"route\")) {\n //logradouro\n returnAddress = { ...returnAddress, street: address_components.short_name }\n }\n if (address_components.types.includes(\"sublocality_level_1\")) {\n //bairro\n returnAddress = { ...returnAddress, neighborhood: address_components.short_name }\n }\n if (address_components.types.includes(\"postal_code\")) {\n //cep\n returnAddress = { ...returnAddress, CEP: address_components.short_name }\n }\n if (address_components.types.includes(\"administrative_area_level_1\")) {\n //state\n returnAddress = { ...returnAddress, state: address_components.short_name }\n }\n if (address_components.types.includes(\"administrative_area_level_2\")) {\n //cidade\n returnAddress = { ...returnAddress, city: address_components.short_name }\n }\n })\n\n return returnAddress\n}","import { Container, TextField, Grid, IconButton } from \"@material-ui/core\";\nimport React, { FC, FormEvent, useCallback, useState } from \"react\";\nimport { GoogleAutoComplete } from \"../../components/googleAutocomplete/GoogleAutoComplete\";\nimport { useUi } from \"../../context/ui/UIContext\";\nimport { IAddress } from \"../../models/address/IAddress\";\nimport AddressApi from \"../../services/Api/address/AddressApi\";\nimport { DeliveryAddressItem } from \"../payment/deliverySelect/deliveryAddressItem/DeliveryAddressItem\";\nimport { CloseOutlined } from \"@material-ui/icons\";\nimport styles from './NewAddress.module.scss';\n\ninterface INewAddress {\n onCancel?: () => void; \n onSuccess?: (address: IAddress) => void;\n showCloseIcon?: boolean;\n}\n\nexport const NewAddress: FC = ({ onCancel, onSuccess, showCloseIcon }) => {\n const { toast, showLoading, hideLoading } = useUi();\n const [selectedAdress, setselectedAdress] = useState(null);\n\n const [values, setValues] = useState({ number: \"\", complement: \"\" });\n\n const onSubmit = useCallback(\n async (ev: FormEvent) => {\n ev.preventDefault();\n if (selectedAdress) {\n try {\n showLoading();\n const response = await AddressApi.saveAddress({\n ...selectedAdress,\n number: selectedAdress.number ?? values.number,\n complement: values.complement,\n });\n const setDefaultResponse = await AddressApi.setDefaultAddress(response.data.id);\n onSuccess &&\n onSuccess({\n ...selectedAdress,\n number: selectedAdress.number ?? values.number,\n complement: values.complement,\n });\n // history.goBack();//todo: temporario\n\n toast(\"Endereço adicionado com sucesso\", \"success\");\n } catch (error: any) {\n if (error?.reponse?.data?.message) {\n toast(error?.reponse?.data?.message, \"error\");\n }\n } finally {\n hideLoading();\n }\n }\n },\n [hideLoading, onSuccess, selectedAdress, showLoading, toast, values]\n );\n\n const changeNumeroHandle = useCallback((values: string) => {\n setValues((prev) => ({ ...prev, number: values }));\n }, []);\n const changeComplementoHandle = useCallback((values: string) => {\n setValues((prev) => ({ ...prev, complement: values }));\n }, []);\n\n return (\n \n

\n Adicionar Endereço\n {showCloseIcon && (\n \n \n \n )}\n

\n \n \n {\n setselectedAdress(address);\n }}\n onReset={() => {\n setselectedAdress(null);\n setValues({ number: \"\", complement: \"\" });\n }}\n />\n {selectedAdress && }\n \n \n
\n \n \n {selectedAdress && !selectedAdress.number && (\n changeNumeroHandle(ev.target.value)}\n value={values.number}\n label={\"Numero\"}\n inputProps={{ inputMode: \"numeric\" }}\n />\n )}\n \n \n {selectedAdress && (\n changeComplementoHandle(ev.target.value)}\n value={values.complement}\n label={\"Complemento\"}\n />\n )}\n \n\n
\n {\n onCancel && onCancel();\n }}\n className={styles.modalCancelButton}\n >\n Voltar\n \n\n { }}\n type=\"submit\"\n disabled={!selectedAdress?.number && !values.number}\n className={styles.modalSubmitButton}\n >\n Salvar Endereço\n \n
\n
\n
\n
\n
\n \n );\n};\n","import React, { useEffect, useCallback, useState, FC } from \"react\";\nimport { Grid, Icon, Modal, TextField } from \"@material-ui/core\";\nimport AddressApi from \"../../../services/Api/address/AddressApi\";\nimport { IAddress } from \"../../../models/address/IAddress\";\nimport { DeliveryAddressItem } from \"./deliveryAddressItem/DeliveryAddressItem\";\nimport { useHistory, useRouteMatch } from \"react-router-dom\";\nimport { useUi } from \"../../../context/ui/UIContext\";\nimport { usePayment } from \"../../../context/payment/PaymentContext\";\nimport { DeliveryType } from \"../../../models/delivery/deliveryFee\";\nimport { NewAddress } from \"../../newAddress/NewAddress\";\nimport { IStoreConfig } from \"models/local/ILocalConfig\";\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\nimport { IOrderPads } from \"../UseLocalOrderPads\";\nimport styles from './DeliverySelect.module.scss';\n\ninterface IPlace {\n number: string;\n}\ninterface DeliverySelectProps {\n address: IAddress | null;\n setAddress: (address: IAddress | null) => void;\n storeConfig: IStoreConfig | null;\n deliveryType: DeliveryType;\n setDeliveryType?: (deliveryType: DeliveryType) => void;\n setCustomDeliveryDescription?: (value: string) => void;\n customDeliveryDescription?: string;\n title?: string;\n localOrderPads?: IOrderPads[];\n onChangeSelectedOrderPads?: (orderPad: IOrderPads) => void\n selectedOrderPad?: IOrderPads;\n fixedPlace?: boolean\n}\nexport const DeliverySelect: FC = ({\n setAddress,\n title,\n address,\n storeConfig,\n setDeliveryType,\n deliveryType,\n setCustomDeliveryDescription,\n customDeliveryDescription,\n localOrderPads,\n selectedOrderPad,\n onChangeSelectedOrderPads\n}) => {\n const [addresses, setaddresses] = useState([]);\n const [selectAdressOpen, setselectAdresOpen] = useState(false);\n const [newAdressOpen, setNewAdresOpen] = useState(false);\n const [loadingAddresses, setloadingAddresses] = useState(false);\n const { toast, showLoading, hideLoading } = useUi();\n const [countDeliveryType, setCountDeliveryType] = useState(0);\n\n const { updateTableLocalStorage } = usePayment();\n\n const getAddresses = useCallback(async () => {\n try {\n setloadingAddresses(true);\n const response = await AddressApi.getUserAdresses();\n if (response.status === 200) {\n setaddresses(response.data);\n setAddress(response.data.find((address) => address.default) ?? null);\n }\n } catch (error) {\n } finally {\n setloadingAddresses(false);\n }\n }, [setAddress]);\n useEffect(() => {\n getAddresses();\n }, [getAddresses]);\n\n const onChangeType = (type: DeliveryType.delivery | DeliveryType.catch | DeliveryType.other) => {\n setDeliveryType && setDeliveryType(type);\n };\n\n const onClickAdd = useCallback(() => {\n // history.replace(`${url}/newAddress`);\n setNewAdresOpen(true);\n }, []);\n\n const onPressDeleteAddress = useCallback(\n async (address: IAddress) => {\n try {\n showLoading();\n const responseDelete = await AddressApi.deleteAddress(address.id);\n setaddresses((prev) =>\n prev.filter((_address) => _address.id !== address.id)\n );\n } catch (error: any) {\n if (error?.response)\n toast(error?.response?.data?.message ?? \"Ops, não foi possivel excluir endereço\", \"error\");\n } finally {\n hideLoading();\n }\n },\n [hideLoading, showLoading, toast]\n );\n\n const onSelect = useCallback(\n async (address: IAddress) => {\n try {\n showLoading();\n const responseDelete = await AddressApi.setDefaultAddress(address.id);\n setselectAdresOpen(false);\n getAddresses();\n } catch (error: any) {\n toast(\n error?.response?.data?.message ??\n \"Ops, não foi possivel excluir endereço\",\n \"error\"\n );\n } finally {\n hideLoading();\n }\n },\n [getAddresses, hideLoading, showLoading, toast]\n );\n\n useEffect(() => {\n let count = 0;\n\n if (setDeliveryType) {\n if (storeConfig?.allowCustomDelivery) {\n setDeliveryType(DeliveryType.other);\n count++;\n }\n if (storeConfig?.allowCatchOnShop) {\n setDeliveryType(DeliveryType.catch);\n count++;\n }\n if (storeConfig?.allowDeliveryHome) {\n setDeliveryType(DeliveryType.delivery);\n count++;\n }\n }\n\n setCountDeliveryType(count);\n\n return () => { };\n }, [setDeliveryType, storeConfig]);\n\n return (\n \n {\n setNewAdresOpen(false);\n }}\n className={styles.modalContainer}\n >\n {\n getAddresses();\n setNewAdresOpen(false);\n }}\n onCancel={() => setNewAdresOpen(false)}\n />\n \n {\n setselectAdresOpen(false);\n }}\n className={styles.modalContainer}\n >\n
\n

Selecione o endereço

\n {addresses?.length > 0 && (\n \n {addresses.map((address, index) => (\n onPressDeleteAddress(address)}\n onClick={() => onSelect(address)}\n />\n ))}\n
\n )}\n \n \n \n\n {(storeConfig?.allowDeliveryHome ||\n storeConfig?.allowCatchOnShop ||\n storeConfig?.allowCustomDelivery) && (\n \n \n
{title}
\n
\n {countDeliveryType > 1 && (\n
\n {storeConfig?.allowDeliveryHome && (\n onChangeType(DeliveryType.delivery)}\n >\n store\n Na entrega\n \n )}\n\n {storeConfig?.allowCatchOnShop && (\n onChangeType(DeliveryType.catch)}\n >\n store\n Na retirada\n \n )}\n\n {storeConfig?.allowCustomDelivery && (\n onChangeType(DeliveryType.other)}\n >\n room_service\n Outro\n \n )}\n
\n )}\n
\n )}\n\n \n {deliveryType === DeliveryType.delivery && (\n {\n setselectAdresOpen(true);\n }}\n loading={loadingAddresses}\n onClick={() => setselectAdresOpen(true)}\n address={address}\n />\n )}\n\n\n {\n deliveryType === DeliveryType.catch && (\n
Retirar no balcão
\n )\n }\n\n {!storeConfig?.allowTableDelivery && deliveryType === DeliveryType.other && (\n { }}>\n {storeConfig?.customDeliveryDescription}\n \n setCustomDeliveryDescription &&\n setCustomDeliveryDescription(e.target.value)\n }\n value={customDeliveryDescription}\n >\n \n )}\n\n {/* {!storeConfig?.allowTableDelivery && deliveryType === DeliveryType.other && (\n
\n {storeConfig?.customDeliveryDescription}\n
\n )} */}\n\n {\n storeConfig?.allowTableDelivery && !!localOrderPads?.length && deliveryType === DeliveryType.other && (\n { }}>\n {storeConfig?.customDeliveryDescription}\n option.number}\n onChange={(e, _value) => {\n onChangeSelectedOrderPads &&\n _value &&\n onChangeSelectedOrderPads(_value)\n _value &&\n updateTableLocalStorage(_value)\n setCustomDeliveryDescription &&\n _value &&\n setCustomDeliveryDescription(_value.number);\n }}\n renderInput={(inputParams) => }\n />\n \n ) \n }\n
\n
\n );\n};\n","export enum CreditCardStatus {\n PENDING = 1,\n WAITING_VALIDATION = 2,\n VALIDATED = 3,\n}\n\n//VIEW MODEL\nexport interface ICardItem {\n id: string;\n finalNumber: string;\n cardColor?: string;\n brandId: number;\n brandDescription: string;\n acquirer: number;\n token: string;\n status: CreditCardStatus;\n}\n\n//ADICIONAR MODEL\nexport interface ICreditCardAddRequest {\n number: string,\n securityCode: string,\n ownerName: string,\n month: string;\n year: string;\n customer?: ICreditCardAddOwnerRequest;\n}\nexport interface ICreditCardAddOwnerRequest {\n name: string;\n cpf: string;\n email: string;\n phoneNumber: string;\n addressId: string;\n}\n\n//form/////////\nexport interface ICreditCardAddFormBase {\n number: string,\n securityCode: string,\n ownerName: string,\n month: string;\n year: string;\n}\n\nexport interface ICreditCardAddForm extends ICreditCardAddFormBase {\n customer: ICreditCardOwnerForm;\n isOwner?: boolean\n}\n//form PaymentGuest\nexport interface ICreditCardOwnerForm extends ICreditCardAddOwnerRequest {\n\n}\n\n//////////////\nexport interface INewCardPostObject extends ICreditCardAddRequest {\n userId: string\n}\n\n//CHECK MODELS\nexport interface ICheckCard {\n creditCardId: string\n value: number\n}\nexport interface IInitCheckCard {\n creditCardId: string\n cvv: string\n}\n\n//DELETE MODELS\nexport interface ICreditCardItem {\n id: string;\n finalNumber: string;\n cardColor?: string;\n brandId: number;\n brandDescription: string;\n acquirer: number;\n token: string;\n status: CreditCardStatus;\n customer?: ICreditCardAddOwnerRequest;\n type: number;\n}\n\nexport enum CardBrandType {\n Unknown = 0,\n Visa = 1,\n Mastercard = 2,\n Elo = 3,\n Amex = 4,\n}\n\nexport interface CardBrandRule {\n prefixes: string[];\n lengths: number[];\n}","\nimport api from \"../Api\";\nimport { ICardItem, ICreditCardAddRequest, INewCardPostObject } from \"../../../models/payment/ICard\";\n\nconst CardApi = () => {\n const { post, get } = api;\n\n // api.defaults.baseURL = \"https://meepserver-dev.azurewebsites.net/api\"\n\n // /api/superapp/CreditCard/Save\n\n\n const saverCard = async (card: ICreditCardAddRequest, userId: string) => {\n const postObject: INewCardPostObject = {\n ...card,\n userId: userId,\n };\n\n const response = await post(\"/Bot/CreditCard\", postObject);\n return response\n };\n\n const getCards = async () => {\n const response = await get(\"/superapp/creditcard/GetUserCreditCards\");\n return response\n };\n\n const saveCreditCard = (creditCard: ICreditCardAddRequest) => {\n return api.post('/superapp/CreditCard/Save', creditCard);\n };\n\n const deleteCard = (creditCardId: string) => {\n return api.post('/superapp/CreditCard/Delete/' + creditCardId);\n };\n\n const checkCreditCard = (creditCardId: string, value: number) => {\n return api.post(\"/superapp/Creditcard/CheckCreditCard\", { creditCardId, value })\n }\n const initCheckCreditCard = (creditCardId: string, cvv: string) => {\n return api.post(\"/superapp/Creditcard/InitCheckCreditCard\", { creditCardId, cvv })\n }\n\n\n ///api/superapp/CreditCard/Delete/\n\n return {\n saverCard,\n getCards,\n saveCreditCard,\n deleteCard,\n checkCreditCard,\n initCheckCreditCard\n };\n};\n\n\nexport default CardApi();","import { ButtonBase, Icon, IconButton, Tooltip } from '@material-ui/core'\nimport React, { FC, memo } from 'react'\nimport './CardItem.css'\n\ninterface CardItemProps {\n textTop?: string\n textBottom?: string\n imageUrl?: string\n iconName?: string\n imageSrc?: any\n onClickEdit?: () => void\n onClickRemove?: () => void\n onClick?: () => void\n onClickAdd?: () => void\n select?: boolean\n disabled?: boolean\n autenticated?: boolean\n autenticateIcon?: boolean\n}\n\nexport const CardItem: FC = memo(({ onClickRemove, onClickEdit, onClick, onClickAdd, autenticated, autenticateIcon, textTop, textBottom, imageUrl, imageSrc, iconName, disabled }) => {\n return (\n <>\n \n {\n iconName &&\n
\n {iconName}\n
\n }\n\n
\n
\n
\n {textTop}\n
\n
\n {textBottom}\n
\n
\n\n {\n imageSrc &&\n
\n \"\"\n\n
\n }\n\n {\n autenticateIcon && autenticated === true &&\n \n\n
\n verified\n
\n
\n }\n {\n autenticateIcon && autenticated === false &&\n \n\n
\n privacy_tip\n
\n
\n }\n
\n\n
\n {onClickRemove && close}\n {onClickEdit && edit}\n {onClickAdd && add}\n
\n \n \n )\n})\n","import creditCardType, {\n getTypeInfo,\n types as CardType,\n} from \"credit-card-type\";\n\nexport const GetCardType = (number: string) => {\n const type = creditCardType(number)\n \n let imgs: {\n white: any,\n black: any,\n color: any\n } | null = null;\n\n if (type.length > 0) {\n switch (type[0].type) {\n case 'mastercard':\n imgs = brands['master']\n break;\n case 'visa':\n imgs = brands['visa']\n break;\n case 'amex':\n imgs = brands['amex']\n break;\n case 'elo':\n imgs = brands['elo']\n break;\n case 'hiper':\n imgs = brands['hiper']\n break;\n }\n }\n \n return { ...type[0], imgs }\n}\n\nexport const GetCardTypeImage = (type: string) => {\n\n switch (type.toLowerCase()) {\n case 'mastercard':\n return brands['master'].color\n case 'visa':\n return brands['visa'].color\n case 'amex':\n return brands['amex'].color\n case 'elo':\n return brands['elo'].color\n case 'hiper':\n return brands['hiper'].color\n }\n return\n}\n\nexport const brands = {\n master: {\n white: require('./images/master/master_white.png'),\n black: require('./images/master/master_black.png'),\n color: require('./images/master/master_color.png'),\n },\n visa: {\n white: require('./images/visa/visa_white.png'),\n black: require('./images/visa/visa_black.png'),\n color: require('./images/visa/visa_color.png'),\n },\n amex: {\n white: require('./images/amex/amex_white.png'),\n black: require('./images/amex/amex_black.png'),\n color: require('./images/amex/amex_color.png'),\n },\n elo: {\n white: require('./images/elo/elo_white.png'),\n black: require('./images/elo/elo_black.png'),\n color: require('./images/elo/elo_color.png'),\n },\n hiper: {\n white: require('./images/hiper/hiper_white.png'),\n black: require('./images/hiper/hiper_black.png'),\n color: require('./images/hiper/hiper_color.png'),\n },\n};\n","import React, { FC } from 'react'\nimport { GetCardType } from '../../../components/getTypeCard/GetTypeCard'\nimport \"./CardPreview.css\"\n\ninterface CardPreviewProps {\n number: string,\n securityCode: string,\n ownerName: string,\n brand?: number\n month: string;\n year: string;\n}\n\nexport const CardPreview: FC = ({\n number,\n securityCode,\n ownerName,\n brand,\n month,\n year,\n\n}) => {\n return (\n
\n 10 ? number : \"0\").imgs?.white ?? require(\"../../../res/images/logos/logo-meep-white.png\")}\n alt=\"card imagem\"\n />\n\n
\n
\n
{number ?? \"0000 0000 0000 0000\"}
\n
{securityCode ?? \"CVV\"}
\n
\n
\n
\n {month ?? \"mm\"}/{year ?? \"aa\"}\n
\n
\n {ownerName ?? \"NOME NO CARTAO\"}\n
\n
\n
\n
\n )\n}\n","export enum EnumAcquirerType {\n MercadoPago = 8,\n}\n\nexport interface IStoreConfig {\n storeId: string;\n deliveryFee: number;\n allowPaymentOnDelivery: boolean;\n allowOnlinePayment: boolean;\n showDeliveryStatus: boolean;\n allowCatchOnShop: boolean;\n allowDeliveryHome: boolean;\n allowCustomDelivery: boolean;\n allowTableDelivery: boolean;\n customDeliveryDescription: string;\n acquirerType: EnumAcquirerType; //Enum Adiquirente\n isMeepCard: boolean;\n acceptInstallment: boolean;\n installment?: number;\n useMeepDelivery: boolean;\n acceptSlipPayment: boolean;\n disableAutenticateCard: boolean;\n localType?: LocalType\n serviceFee?: number\n allowPixPayment?: boolean\n allowWalletPayment?: boolean\n}\n\nexport interface IStoreConfigLocal {\n StoreId: string;\n DeliveryFee: number;\n AllowPaymentOnDelivery: boolean;\n AllowOnlinePayment: boolean;\n ShowDeliveryStatus: boolean;\n AllowCatchOnShop: boolean;\n AllowDeliveryHome: boolean;\n AllowCustomDelivery: boolean;\n CustomDeliveryDescription: string;\n AllowTableDelivery: boolean;\n AcquirerType: EnumAcquirerType; //Enum Adiquirente\n IsMeepCard: boolean;\n AcceptInstallment: boolean;\n Installment?: number;\n UseMeepDelivery: boolean;\n AcceptSlipPayment: boolean;\n DisableAutenticateCard: boolean;\n LocalType?: LocalType.restaurant;\n ServiceFee?: number\n}\n\nexport enum LocalType {\n restaurant = 1\n}","import axios from \"axios\";\nimport { IFacebookPixel } from \"models/local/IFacebookPixel\";\nimport { IStoreConfig, IStoreConfigLocal, LocalType } from \"../../../models/local/ILocalConfig\";\nimport { API_BASE_URL } from \"cross-cutting/constants\";\nimport api from \"../Api\";\n\n\nconst StoreApi = () => {\n const getConfig = async (localId: string): Promise => {\n const result = await api.get(`/Local/${localId}`);\n let localType: LocalType | undefined = undefined\n\n if (localId === \"2b5e694d-4ac0-dc94-0903-1edc5484758a\") {//uiki parracho\n localType = LocalType.restaurant\n }\n\n return {\n storeId: result.data.StoreId,\n deliveryFee: result.data.DeliveryFee,\n allowPaymentOnDelivery: result.data.AllowPaymentOnDelivery,\n allowOnlinePayment: result.data.AllowOnlinePayment,\n showDeliveryStatus: result.data.ShowDeliveryStatus,\n allowCatchOnShop: result.data.AllowCatchOnShop,\n allowDeliveryHome: result.data.AllowDeliveryHome,\n allowCustomDelivery: result.data.AllowCustomDelivery,\n allowTableDelivery: result.data.AllowTableDelivery,\n customDeliveryDescription: result.data.CustomDeliveryDescription,\n acquirerType: result.data.AcquirerType, //Enum Adiquirente\n isMeepCard: result.data.IsMeepCard,\n acceptInstallment: result.data.AcceptInstallment,\n installment: result.data.Installment,\n useMeepDelivery: result.data.UseMeepDelivery,\n acceptSlipPayment: result.data.AcceptSlipPayment,\n disableAutenticateCard: true,\n localType: localType,\n serviceFee: result.data.ServiceFee\n };\n }\n\n const getFacebookPixelId = async (localId: string) => {\n const result = await axios.get(`${API_BASE_URL}/Local/FacebookPixelId?localId=${localId}`);\n return result.data.facebookPixelId;\n }\n\n return { getConfig, getFacebookPixelId }\n}\n\nexport default StoreApi;","import { Catalog } from \"../../../models/catalog/aggregates/Catalog\";\nimport { Api } from \"../Api\";\n\nexport const CatalogApi = () => {\n const api = Api();\n // const criarPrePedidoMeep = async (resumoPedido: ResumoPedido, localClienteId: string) => {\n // const response = await api.post<{ pedidoId: string }>(\"/vendas/criarPrePedido\", {\n // resumoPedido,\n // localClienteId,\n // });\n // return response;\n // };\n\n // async function ObterProdutosMeep(localClienteId: string) {\n // const response = await api.get(\"/meepFoodWeb/productcatalog/\" + localClienteId);\n\n // return response;\n // }\n\n async function getCatalogByUrl(identificador: string) {\n const response = await api.get(\"/meepFoodWeb/productCatalogByUrl/\" + identificador + \"/\");\n\n return response;\n }\n\n async function GetCatalogByListId(identificador: string, listId: string) {\n const response = await api.get(\"/meepFoodWeb/productCatalogByList/\" + identificador + \"/\" + listId);\n\n return response;\n }\n\n return {\n getCatalogByUrl,\n GetCatalogByListId,\n };\n};\n","import React, { createContext, FC, useContext, useState, useEffect, useCallback } from 'react'\nimport LocalApi from '../../services/Api/local/LocalApi'\nimport { IStoreConfig } from '../../models/local/ILocalConfig'\nimport { useRouteMatch, useParams } from 'react-router-dom'\nimport { useParamsConfig } from '../paramsConfig/ParamsConfigContext'\nimport { useUi } from '../ui/UIContext'\nimport { CatalogApi } from 'services/Api/catalog/CatalogApi'\n\ninterface ILocalContext {\n localId?: string,\n localLoading: boolean,\n storeConfig: IStoreConfig | null\n}\n\nconst LocalContext = createContext({} as ILocalContext)\n\n\n\nexport const LocalProvider: FC<{ children: React.ReactNode }> = ({ children }) => {\n\n const [storeConfig, setStoreConfig] = useState(null);\n const { queryParams } = useParamsConfig();\n const [localLoading, setlocalLoading] = useState(true);\n const { showLoading, hideLoading, toast } = useUi();\n const { url } = useParams<{ url: string }>()\n const [localId, setlocalId] = useState();\n const { path } = useRouteMatch()\n\n const getLocalConfig = useCallback(\n (localId: string) => {\n\n setlocalId(localId)\n setlocalLoading(true);\n showLoading();\n const localApi = LocalApi();\n localApi.getConfig(localId).then(responseLocalConfig => {\n setStoreConfig(responseLocalConfig);\n setlocalLoading(false);\n }).catch((error: any) => {\n toast(\"localInvalido\", \"error\")\n console.error(Error);\n }).finally(() => {\n hideLoading();\n })\n\n }, [hideLoading, path, showLoading, toast])\n\n useEffect(() => {\n if (!url && queryParams) {\n if (queryParams?.localId) {\n getLocalConfig(queryParams?.localId)\n } else {\n toast(\"Informe um local\", \"error\")\n }\n }\n }, [getLocalConfig, queryParams, toast, url])\n\n\n useEffect(() => {\n if (url) {\n showLoading();\n const catalogApi = CatalogApi();\n catalogApi.getCatalogByUrl(url).then((response) => {\n setlocalId(response.data.id);\n getLocalConfig(response.data.id);\n }).finally(() =>\n hideLoading()\n )\n }\n }, [hideLoading, showLoading, url])\n\n return (\n \n {children}\n \n )\n}\n\nexport const LocalConsumer = LocalContext.Consumer;\n\nexport const useLocal = () => {\n return useContext(LocalContext)\n}\n","\nimport api from '../Api'\nimport { ILoginResponseString } from '../../../models/auth/ILogin';\nimport Axios from 'axios';\nimport querystring from \"querystring\";\nimport { IValidateCode, IValidateCodeResponse, ISendValidationCode } from '../../../models/auth/IValidationCode';\n\nconst AuthApi = () => {\n // const login = async (username: string, password: string) => {\n // const loginRequest: ILoginRequest = { username, password }\n // const responseLogin = await post(\"/Login/\", loginRequest);\n // return responseLogin\n // }\n const login = async (username: string, password: string, smsValidationId?: string) => {\n const loginRequest = {\n username,\n password,\n smsValidationId,\n grant_type: \"password\"\n }\n\n // const responseLogin = await post(\"/Login/\", loginRequest);\n const responseLogin = await Axios.post(process.env.REACT_APP_API_BASE_URL_MEEP?.replace(\"/api\", \"\") + \"/token\", querystring.stringify(loginRequest));\n return responseLogin\n }\n\n const requestValidationCode = (data: ISendValidationCode): Promise => {\n return api.post('/SuperApp/User/SendMessageValidate', data);\n }\n\n\n const validateSmsCode = (data: IValidateCode) => {\n return api.post(\n '/SuperApp/User/ValidatePhoneNumberWithVerificationCode/',\n data,\n );\n }\n\n return {\n login,\n requestValidationCode,\n validateSmsCode\n }\n}\n\nexport default AuthApi;\n","import { IUserRegisterResponse, IUserDocumentResponse, IUserRegisterRequest, IUser } from \"../../../models/user/IUser\";\nimport api from \"../Api\";\n\nconst UserApi = () => {\n\n const register = async (data: IUserRegisterRequest) => {\n return await api.post('/Account/Register', { ...data, cpf: data.cpf.replace(/[^0-9]/g, \"\") });\n }\n const getEmailByCpf = async (cpf: string) => {\n\n return await api.post('/SuperApp/User/GetByCpf', { cpf });\n }\n const getUserData = async (): Promise => {\n const response = await api.get('/Account/userbasicinfo');\n return response.data\n }\n return {\n register,\n getEmailByCpf,\n getUserData\n }\n}\nexport default UserApi;","export enum EtapasAuth {\n PhoneNumber,\n SMSCode,\n Cpf,\n Username,\n NewUser\n}\n","import { useAuth } from 'context/auth/AuthContext'\nimport { useParamsConfig } from 'context/paramsConfig/ParamsConfigContext'\nimport { useUi } from 'context/ui/UIContext'\nimport { ISendValidationCode, } from 'models/auth/IValidationCode'\nimport { IUser, IUserRegisterRequest } from 'models/user/IUser'\nimport { useCallback, useState } from 'react'\nimport { useHistory } from 'react-router'\nimport { useLocation, useParams } from 'react-router-dom'\nimport AuthApi from 'services/Api/auth/AuthApi'\nimport UserApi from 'services/Api/user/UserApi'\nimport { EtapasAuth } from './EtapasAuth'\n\n\nconst useAuthPage = (onLogin?: (authValues?: { token?: string, user?: IUser }) => void) => {\n const [user, setUser] = useState({} as IUser);\n const [smsValidationId, setSmsValidationId] = useState(\"\");\n\n const { showLoading, hideLoading, toast } = useUi();\n const { queryParams } = useParamsConfig();\n const { updateToken, updateUser } = useAuth();\n\n const [etapa, setEtapa] = useState(EtapasAuth.PhoneNumber);\n\n const history = useHistory();\n\n let query = new URLSearchParams(useLocation().search);\n\n const {\n url\n } = useParams<{ url: string }>();\n\n /**\n * login com usuario e senha - Será atualizado o user com os dados disponiveis no Sistema meep\n * @param username usuario Meep (e-mail) \n * @param password senha Meep\n */\n\n const onSucessLogin = useCallback(\n (authValues?: { token?: string, user?: IUser }) => {\n if (onLogin) {\n onLogin(authValues);\n } else {\n if (queryParams?.orderId || queryParams?.accountId) {\n history.replace(`/payment`);\n } else {\n const goto = query.get(\"goto\");\n if (goto) {\n history.replace(`${goto}`);\n } else {\n history.replace(`/`);\n }\n }\n }\n },\n [history, query, queryParams, onLogin],\n )\n\n const loginWithUsername = useCallback(\n async (username: string, password: string) => {\n try {\n // showLoading()\n const authApi = AuthApi();\n const response = await authApi.login(username, password, smsValidationId);\n if (response.status === 200) {\n // if (!onLogin) {\n updateToken(response.data.access_token);\n const _userFromLogin: IUser = JSON.parse(response.data.user);\n const user = {\n id: _userFromLogin.id ?? \"\",\n cpf: _userFromLogin.cpf ?? \"\",\n name: _userFromLogin.name ?? \"\",\n email: _userFromLogin.email ?? \"\",\n phoneNumber: _userFromLogin.phoneNumber ?? \"\",\n ddd: _userFromLogin.ddd ?? \"\",\n }\n setUser(user);\n updateUser(user);\n // }\n onSucessLogin({ token: response.data.access_token, user: user });\n } else {\n toast(\"Email ou senha não encontrados\", \"warning\");\n }\n } catch (error) {\n console.error(\"Error login: \", error);\n } finally {\n // hideLoading();\n }\n },\n [smsValidationId, onSucessLogin, updateToken, updateUser, toast]\n );\n\n const requestValidationCode = useCallback(\n async (data: ISendValidationCode) => {\n try {\n const authApi = AuthApi();\n showLoading();\n await authApi.requestValidationCode(data);\n setUser({ ddd: data.ddd, phoneNumber: data.phoneNumber, ddi: data.ddi } as IUser);\n setEtapa(EtapasAuth.SMSCode);\n if (data.isSecondAttempt) {\n toast('Código de confirmação enviado!', 'success')\n }\n } catch (error: any) {\n if (error?.response?.status === 400) {\n toast(\"Erro\", \"warning\");\n }\n } finally {\n hideLoading();\n }\n },\n [hideLoading, showLoading, toast]\n );\n\n\n\n /**\n * Validar codigo recebido por sms, caso de certo ele ira atualizar o usuario e setar o token alem de redirecionar para proxima pagina\n */\n const validateSmsCode = useCallback(\n async (validationCode: string) => {\n try {\n\n showLoading();\n const authApi = AuthApi();\n const response = await authApi.validateSmsCode({\n phoneNumber: user.phoneNumber,\n ddd: user.ddd,\n codeVerification: validationCode,\n });\n if (response.status === 200) {\n setSmsValidationId(response.data.smsValidationId);\n if (response.data.token) {\n // if (!onLogin) {\n updateToken(response.data.token);\n const user = {\n id: response.data.userId ?? \"\",\n cpf: response.data.cpf ?? \"\",\n name: response.data.name ?? \"\",\n email: response.data.email ?? \"\",\n phoneNumber: response.data.phoneNumber ?? \"\",\n ddd: response.data.ddd ?? \"\",\n }\n\n setUser(user);\n updateUser(user);\n // }\n onSucessLogin({ token: response.data.token, user: user });\n } else {\n setEtapa(EtapasAuth.Cpf);\n }\n }\n } catch (error: any) {\n if (error?.response?.status === 400) {\n // toast(error.response.data.message, \"warning\");\n }\n } finally {\n hideLoading();\n }\n },\n [hideLoading, onSucessLogin, showLoading, updateToken, updateUser, user]\n );\n\n\n const registerNewUser = useCallback(\n async (data: IUserRegisterRequest) => {\n try {\n showLoading();\n const userApi = UserApi()\n const response = await userApi.register(data);\n if (response?.status === 201) {\n // if (!onLogin) {\n updateToken(response.data.Token);\n const user = {\n id: response.data.Id ?? \"\",\n cpf: response.data.Cpf ?? \"\",\n name: response.data.Name ?? \"\",\n email: response.data.Email ?? \"\",\n phoneNumber: response.data.PhoneNumber ?? \"\",\n ddd: response.data.Ddd ?? \"\",\n }\n\n setUser(user);\n updateUser(user);\n // }\n onSucessLogin({ token: response.data.Token, user: user });\n }\n } catch (error) {\n console.log(error);\n } finally {\n hideLoading();\n }\n },\n [hideLoading, onSucessLogin, showLoading, updateToken, updateUser]\n );\n\n\n\n const requestEmailByCpf = useCallback(\n async (cpf: string) => {\n try {\n setUser({ ...user });\n const userApi = UserApi();\n const response = await userApi.getEmailByCpf(cpf);\n if (response.status === 200) {\n const email = response.data.email;\n if (email) {\n setUser({ ...user, email, cpf });\n setEtapa(EtapasAuth.Username);\n } else {\n setUser({ ...user, email: \"\" });\n setEtapa(EtapasAuth.NewUser);\n }\n } else {\n setUser({ ...user, cpf });\n setEtapa(EtapasAuth.NewUser);\n }\n } catch (error) {\n console.log(error);\n }\n },\n [user]\n );\n\n\n\n return (\n {\n loginWithUsername,\n validateSmsCode,\n requestValidationCode,\n registerNewUser,\n requestEmailByCpf,\n user,\n smsValidationId,\n etapa,\n setEtapa\n }\n )\n}\nexport default useAuthPage\n\n\n\n","\nexport const cpfMask = (inputCpf: string) => {\n const cpf = inputCpf.replace(/[^0-9]/g, \"\").replace(\"-\",\"\")\n let newValue = cpf.substr(0, 3) + (cpf.length > 3 ? \".\" + cpf.substr(3, 3) : \"\") + (cpf.length > 6 ? \".\" + cpf.substr(6, 3) : \"\") + (cpf.length > 9 ? \"-\" + cpf.substr(9, 2) : \"\")\n return newValue\n}\n","import { Button, Grid, TextField } from '@material-ui/core'\nimport { Formik, Form } from 'formik'\nimport React, { FC, useState } from 'react'\nimport { cpfMask } from '../../../../../cross-cutting/masks/cpf'\n\ninterface FormCpfProps {\n onSubmit: (cpf: string) => void\n}\nexport const FormCpf: FC = ({ onSubmit }) => {\n const [formObject, setformObject] = useState<{ cpf: string }>({} as { cpf: string })\n\n const onsubmit = () => {\n onSubmit(formObject.cpf);\n }\n\n\n const onChangeCpf = (cpf: string) => {\n setformObject(prev => ({ cpf: cpfMask(cpf) }))\n }\n\n\n return (\n {\n ({\n handleSubmit,\n handleChange,\n values,\n isValid,\n errors,\n touched\n }) =>\n
\n {\n \n \n onChangeCpf(e.target.value)}\n label=\"CPF\"\n inputProps={{\n type: \"tel\",\n }}\n >\n\n \n \n \n \n Cadastrar\n \n \n \n }\n
\n }\n \n )\n}\n","import React, { FC, FormEvent, useCallback, useState } from \"react\";\nimport { Grid, TextField, Button } from \"@material-ui/core\";\nimport * as yup from \"yup\"; // for everything\n\ninterface ILoginPostObject {\n email: string;\n password: string;\n}\n\ninterface ILoginProps {\n emailSugestion?: string;\n onSubmit: (username: string, password: string) => void\n}\n\nexport const Login: FC = ({ emailSugestion, onSubmit }) => {\n const [values, setValues] = useState({ email: \"\", password: \"\" });\n\n const cardSchema = yup.object().shape({\n email: yup.string().email(\"Insira um email válido\").required(\"Email é obrigatório\"),\n password: yup.string().min(4, \"A senha deve possui pelo menos 4 digitos\").required(\"Senha é obrigatório\"),\n });\n\n const changeNameHandle = useCallback((value: string) => {\n setValues((prev) => ({ ...prev, email: value }));\n }, []);\n const changePasswordHandle = useCallback((value: string) => {\n setValues((prev) => ({ ...prev, password: value }));\n }, []);\n\n const submitHandle = useCallback(\n (ev: FormEvent) => {\n ev.preventDefault();\n onSubmit(values.email, values.password);\n },\n [values, onSubmit]\n );\n\n return (\n
\n Utilize o email: {emailSugestion}\n \n \n changeNameHandle(ev.target.value)}\n value={values.email}\n name=\"email\"\n label=\"Email\"\n inputProps={{ inputMode: \"email\" }}\n />\n \n \n changePasswordHandle(ev.target.value)}\n required\n value={values.password}\n name=\"password\"\n label=\"Senha\"\n type=\"password\"\n />\n \n \n \n \n \n \n \n \n
\n );\n};\n// function setValues(arg0: (prev: any) => any) {\n// throw new Error(\"Function not implemented.\");\n// }\n","export interface IDDI {\n ddi: string,\n country: string,\n continent: string\n}\nexport const ddis: IDDI[] = [\n { ddi: \"55\", country: \"Brasil\", continent: \"América do Sul\" },\n { ddi: \"93\", country: \"Afeganistão\", continent: \"Ásia\" },\n { ddi: \"27\", country: \"África do Sul\", continent: \"África\" },\n { ddi: \"355\", country: \"Albânia\", continent: \"Europa\" },\n { ddi: \"49\", country: \"Alemanha\", continent: \"Europa\" },\n { ddi: \"376\", country: \"Andorra\", continent: \"Europa\" },\n { ddi: \"244\", country: \"Angola\", continent: \"África\" },\n { ddi: \"1\", country: \"Anguilla\", continent: \"América Central\" },\n { ddi: \"1\", country: \"Antígua e Barbuda\", continent: \"América Central\" },\n { ddi: \"599\", country: \"Antilhas Holandesas\", continent: \"América Central\" },\n { ddi: \"966\", country: \"Arábia Saudita\", continent: \"Ásia\" },\n { ddi: \"213\", country: \"Argélia\", continent: \"África\" },\n { ddi: \"54\", country: \"Argentina\", continent: \"América do Sul\" },\n { ddi: \"374\", country: \"Armênia\", continent: \"Ásia\" },\n { ddi: \"297\", country: \"Aruba\", continent: \"América Central\" },\n { ddi: \"247\", country: \"Ascensão\", continent: \"África\" },\n { ddi: \"61\", country: \"Austrália\", continent: \"Oceania\" },\n { ddi: \"43\", country: \"Áustria\", continent: \"Europa\" },\n { ddi: \"994\", country: \"Azerbaijão\", continent: \"Ásia\" },\n { ddi: \"1\", country: \"Bahamas\", continent: \"América Central\" },\n { ddi: \"880\", country: \"Bangladesh\", continent: \"Ásia\" },\n { ddi: \"1\", country: \"Barbados\", continent: \"América Central\" },\n { ddi: \"973\", country: \"Bahrein\", continent: \"Ásia\" },\n { ddi: \"32\", country: \"Bélgica\", continent: \"Europa\" },\n { ddi: \"501\", country: \"Belize\", continent: \"América Central\" },\n { ddi: \"229\", country: \"Benim\", continent: \"África\" },\n { ddi: \"1\", country: \"Bermudas\", continent: \"América Central\" },\n { ddi: \"375\", country: \"Bielorrússia\", continent: \"Europa\" },\n { ddi: \"591\", country: \"Bolívia\", continent: \"América do Sul\" },\n { ddi: \"387\", country: \"Bósnia e Herzegovina\", continent: \"Europa\" },\n { ddi: \"267\", country: \"Botswana\", continent: \"África\" },\n { ddi: \"673\", country: \"Brunei\", continent: \"Ásia\" },\n { ddi: \"359\", country: \"Bulgária\", continent: \"Europa\" },\n { ddi: \"226\", country: \"Burkina Faso\", continent: \"África\" },\n { ddi: \"257\", country: \"Burundi\", continent: \"África\" },\n { ddi: \"975\", country: \"Butão\", continent: \"Ásia\" },\n { ddi: \"238\", country: \"Cabo Verde\", continent: \"África\" },\n { ddi: \"237\", country: \"Camarões\", continent: \"África\" },\n { ddi: \"855\", country: \"Camboja\", continent: \"Ásia\" },\n { ddi: \"1\", country: \"Canadá\", continent: \"América do Norte\" },\n { ddi: \"7\", country: \"Cazaquistão\", continent: \"Ásia\" },\n { ddi: \"237\", country: \"Chade\", continent: \"África\" },\n { ddi: \"56\", country: \"Chile\", continent: \"América do Sul\" },\n { ddi: \"86\", country: \"República Popular da China\", continent: \"Ásia\" },\n { ddi: \"357\", country: \"Chipre\", continent: \"Europa\" },\n { ddi: \"57\", country: \"Colômbia\", continent: \"América do Sul\" },\n { ddi: \"269\", country: \"Comores\", continent: \"África\" },\n { ddi: \"242\", country: \"Congo-Brazzaville\", continent: \"África\" },\n { ddi: \"243\", country: \"Congo-Kinshasa\", continent: \"África\" },\n { ddi: \"850\", country: \"Coreia do Norte\", continent: \"Ásia\" },\n { ddi: \"82\", country: \"Coreia do Sul\", continent: \"Ásia\" },\n { ddi: \"225\", country: \"Costa do Marfim\", continent: \"África\" },\n { ddi: \"506\", country: \"Costa Rica\", continent: \"América Central\" },\n { ddi: \"385\", country: \"Croácia\", continent: \"Europa\" },\n { ddi: \"53\", country: \"Cuba\", continent: \"América Central\" },\n { ddi: \"45\", country: \"Dinamarca\", continent: \"Europa\" },\n { ddi: \"253\", country: \"Djibuti\", continent: \"África\" },\n { ddi: \"1\", country: \"Dominica\", continent: \"América Central\" },\n { ddi: \"20\", country: \"Egipto\", continent: \"África/Ásia\" },\n { ddi: \"503\", country: \"El Salvador\", continent: \"América Central\" },\n { ddi: \"971\", country: \"Emirados Árabes Unidos\", continent: \"Ásia\" },\n { ddi: \"593\", country: \"Equador\", continent: \"América do Sul\" },\n { ddi: \"291\", country: \"Eritreia\", continent: \"África\" },\n { ddi: \"421\", country: \"Eslováquia\", continent: \"Europa\" },\n { ddi: \"386\", country: \"Eslovénia\", continent: \"Europa\" },\n { ddi: \"34\", country: \"Espanha\", continent: \"Europa\" },\n { ddi: \"1\", country: \"Estados Unidos\", continent: \"América do Norte\" },\n { ddi: \"372\", country: \"Estónia\", continent: \"Europa\" },\n { ddi: \"251\", country: \"Etiópia\", continent: \"África\" },\n { ddi: \"679\", country: \"Fiji\", continent: \"Oceania\" },\n { ddi: \"63\", country: \"Filipinas\", continent: \"Ásia\" },\n { ddi: \"358\", country: \"Finlândia\", continent: \"Europa\" },\n { ddi: \"33\", country: \"França\", continent: \"Europa\" },\n { ddi: \"241\", country: \"Gabão\", continent: \"África\" },\n { ddi: \"220\", country: \"Gâmbia\", continent: \"África\" },\n { ddi: \"233\", country: \"Gana\", continent: \"África\" },\n { ddi: \"995\", country: \"Geórgia\", continent: \"Ásia\" },\n { ddi: \"350\", country: \"Gibraltar\", continent: \"Europa\" },\n { ddi: \"1\", country: \"Granada\", continent: \"América Central\" },\n { ddi: \"30\", country: \"Grécia\", continent: \"Europa\" },\n { ddi: \"299\", country: \"Groenlândia\", continent: \"América do Norte\" },\n { ddi: \"590\", country: \"Guadalupe\", continent: \"América Central\" },\n { ddi: \"671\", country: \"Guam\", continent: \"Oceania\" },\n { ddi: \"502\", country: \"Guatemala\", continent: \"América Central\" },\n { ddi: \"592\", country: \"Guiana\", continent: \"América do Sul\" },\n { ddi: \"594\", country: \"Guiana Francesa\", continent: \"América do Sul\" },\n { ddi: \"224\", country: \"Guiné\", continent: \"África\" },\n { ddi: \"245\", country: \"Guiné-Bissau\", continent: \"África\" },\n { ddi: \"240\", country: \"Guiné Equatorial\", continent: \"África\" },\n { ddi: \"509\", country: \"Haiti\", continent: \"América Central\" },\n { ddi: \"504\", country: \"Honduras\", continent: \"América Central\" },\n { ddi: \"852\", country: \"Hong Kong\", continent: \"Ásia\" },\n { ddi: \"36\", country: \"Hungria\", continent: \"Europa\" },\n { ddi: \"967\", country: \"Iêmen\", continent: \"Ásia\" },\n { ddi: \"1\", country: \"Ilhas Cayman\", continent: \"América Central\" },\n { ddi: \"672\", country: \"Ilha Christmas\", continent: \"Oceania\" },\n { ddi: \"672\", country: \"Ilhas Cocos\", continent: \"Oceania\" },\n { ddi: \"682\", country: \"Ilhas Cook\", continent: \"Oceania\" },\n { ddi: \"298\", country: \"Ilhas Féroe\", continent: \"Europa\" },\n { ddi: \"672\", country: \"Ilha Heard e Ilhas McDonald\", continent: \"Oceania\" },\n { ddi: \"960\", country: \"Maldivas\", continent: \"Ásia\" },\n { ddi: \"500\", country: \"Ilhas Malvinas\", continent: \"América do Sul\" },\n { ddi: \"1\", country: \"Ilhas Marianas do Norte\", continent: \"Oceania\" },\n { ddi: \"692\", country: \"Ilhas Marshall\", continent: \"Oceania\" },\n { ddi: \"672\", country: \"Ilha Norfolk\", continent: \"Oceania\" },\n { ddi: \"677\", country: \"Ilhas Salomão\", continent: \"Oceania\" },\n { ddi: \"1\", country: \"Ilhas Virgens Americanas\", continent: \"América Central\" },\n { ddi: \"1\", country: \"Ilhas Virgens Britânicas\", continent: \"América Central\" },\n { ddi: \"91\", country: \"Índia\", continent: \"Ásia\" },\n { ddi: \"62\", country: \"Indonésia\", continent: \"Ásia/Oceania\" },\n { ddi: \"98\", country: \"Irã\", continent: \"Ásia\" },\n { ddi: \"964\", country: \"Iraque\", continent: \"Ásia\" },\n { ddi: \"353\", country: \"Irlanda\", continent: \"Europa\" },\n { ddi: \"354\", country: \"Islândia\", continent: \"Europa\" },\n { ddi: \"972\", country: \" Israel\", continent: \"Ásia\" },\n { ddi: \"39\", country: \"Itália\", continent: \"Europa\" },\n { ddi: \"1\", country: \"Jamaica\", continent: \"América Central\" },\n { ddi: \"81\", country: \"Japão\", continent: \"Ásia\" },\n { ddi: \"962\", country: \"Jordânia\", continent: \"Ásia\" },\n { ddi: \"686\", country: \"Kiribati\", continent: \"Oceania\" },\n { ddi: \"383\", country: \"Kosovo\", continent: \"Europa\" },\n { ddi: \"965\", country: \"Kuwait\", continent: \"Ásia\" },\n { ddi: \"856\", country: \"Laos\", continent: \"Ásia\" },\n { ddi: \"266\", country: \"Lesoto\", continent: \"África\" },\n { ddi: \"371\", country: \"Letônia\", continent: \"Europa\" },\n { ddi: \"961\", country: \"Líbano\", continent: \"Ásia\" },\n { ddi: \"231\", country: \"Libéria\", continent: \"África\" },\n { ddi: \"218\", country: \"Líbia\", continent: \"África\" },\n { ddi: \"423\", country: \"Liechtenstein\", continent: \"Europa\" },\n { ddi: \"370\", country: \"Lituânia\", continent: \"Europa\" },\n { ddi: \"352\", country: \"Luxemburgo\", continent: \"Europa\" },\n { ddi: \"853\", country: \"Macau\", continent: \"Ásia\" },\n { ddi: \"389\", country: \"República da Macedônia\", continent: \"Europa\" },\n { ddi: \"261\", country: \"Madagascar\", continent: \"África\" },\n { ddi: \"60\", country: \"Malásia\", continent: \"Ásia\" },\n { ddi: \"265\", country: \"Malawi\", continent: \"África\" },\n { ddi: \"223\", country: \"Mali\", continent: \"África\" },\n { ddi: \"356\", country: \"Malta\", continent: \"Europa\" },\n { ddi: \"212\", country: \"Marrocos\", continent: \"África\" },\n { ddi: \"596\", country: \"Martinica\", continent: \"América Central\" },\n { ddi: \"230\", country: \"Maurícia\", continent: \"África\" },\n { ddi: \"222\", country: \"Mauritânia\", continent: \"África\" },\n { ddi: \"269\", country: \"Mayotte\", continent: \"África\" },\n { ddi: \"52\", country: \"México\", continent: \"América do Norte\" },\n { ddi: \"691\", country: \"Estados Federados da Micronésia\", continent: \"Oceania\" },\n { ddi: \"258\", country: \"Moçambique\", continent: \"África\" },\n { ddi: \"373\", country: \"Moldávia\", continent: \"Europa\" },\n { ddi: \"377\", country: \"Mônaco\", continent: \"Europa\" },\n { ddi: \"976\", country: \"Mongólia\", continent: \"Ásia\" },\n { ddi: \"382\", country: \"Montenegro\", continent: \"Europa\" },\n { ddi: \"1\", country: \"Montserrat\", continent: \"América Central\" },\n { ddi: \"95\", country: \"Myanmar\", continent: \"Ásia\" },\n { ddi: \"264\", country: \"Namíbia\", continent: \"África\" },\n { ddi: \"674\", country: \"Nauru\", continent: \"Oceania\" },\n { ddi: \"977\", country: \"Nepal\", continent: \"Ásia\" },\n { ddi: \"505\", country: \"Nicarágua\", continent: \"América Central\" },\n { ddi: \"227\", country: \"Níger\", continent: \"África\" },\n { ddi: \"234\", country: \"Nigéria\", continent: \"África\" },\n { ddi: \"683\", country: \"Niue\", continent: \"Oceania\" },\n { ddi: \"47\", country: \"Noruega\", continent: \"Europa\" },\n { ddi: \"687\", country: \"Nova Caledônia\", continent: \"Oceania\" },\n { ddi: \"64\", country: \"Nova Zelândia\", continent: \"Oceania\" },\n { ddi: \"968\", country: \"Omã\", continent: \"Ásia\" },\n { ddi: \"31\", country: \"Países Baixos\", continent: \"Europa\" },\n { ddi: \"680\", country: \"Palau\", continent: \"Oceania\" },\n { ddi: \"970\", country: \"Palestina\", continent: \"Ásia\" },\n { ddi: \"507\", country: \"Panamá\", continent: \"América Central\" },\n { ddi: \"675\", country: \"Papua-Nova Guiné\", continent: \"Oceania\" },\n { ddi: \"92\", country: \"Paquistão\", continent: \"Ásia\" },\n { ddi: \"595\", country: \"Paraguai\", continent: \"América do Sul\" },\n { ddi: \"51\", country: \"Peru\", continent: \"América do Sul\" },\n { ddi: \"689\", country: \"Polinésia Francesa\", continent: \"Oceania\" },\n { ddi: \"48\", country: \"Polônia\", continent: \"Europa\" },\n { ddi: \"1\", country: \"Porto Rico\", continent: \"América Central\" },\n { ddi: \"351\", country: \"Portugal\", continent: \"Europa\" },\n { ddi: \"974\", country: \"Qatar\", continent: \"Ásia\" },\n { ddi: \"254\", country: \"Quênia\", continent: \"África\" },\n { ddi: \"996\", country: \"Quirguistão\", continent: \"Ásia\" },\n { ddi: \"44\", country: \"Reino Unido\", continent: \"Europa\" },\n { ddi: \"236\", country: \"República Centro-Africana\", continent: \"África\" },\n { ddi: \"1\", country: \"República Dominicana\", continent: \"América Central\" },\n { ddi: \"420\", country: \"República Tcheca\", continent: \"Europa\" },\n { ddi: \"262\", country: \"Reunião\", continent: \"África\" },\n { ddi: \"40\", country: \"Romênia\", continent: \"Europa\" },\n { ddi: \"250\", country: \"Ruanda\", continent: \"África\" },\n { ddi: \"7\", country: \"Rússia\", continent: \"Europa/Ásia\" },\n { ddi: \"212\", country: \"Saara Ocidental\", continent: \"África\" },\n { ddi: \"685\", country: \"Samoa\", continent: \"Oceania\" },\n { ddi: \"1\", country: \"Samoa Americana\", continent: \"Oceania\" },\n { ddi: \"290\", country: \"Santa Helena (território)\", continent: \"África\" },\n { ddi: \"1\", country: \"Santa Lúcia\", continent: \"América Central\" },\n { ddi: \"1\", country: \"São Cristóvão e Nevis\", continent: \"América Central\" },\n { ddi: \"378\", country: \"São Marinho\", continent: \"Europa\" },\n { ddi: \"508\", country: \"Saint-Pierre e Miquelon\", continent: \"América do Norte\" },\n { ddi: \"239\", country: \"São Tomé e Príncipe\", continent: \"África\" },\n { ddi: \"1\", country: \"São Vicente e Granadinas\", continent: \"América Central\" },\n { ddi: \"248\", country: \"Seicheles\", continent: \"África\" },\n { ddi: \"221\", country: \"Senegal\", continent: \"África\" },\n { ddi: \"232\", country: \"Serra Leoa\", continent: \"África\" },\n { ddi: \"381\", country: \"Sérvia\", continent: \"Europa\" },\n { ddi: \"65\", country: \"Singapura\", continent: \"Ásia\" },\n { ddi: \"963\", country: \"Síria\", continent: \"Ásia\" },\n { ddi: \"252\", country: \"Somália\", continent: \"África\" },\n { ddi: \"94\", country: \"Sri Lanka\", continent: \"Ásia\" },\n { ddi: \"268\", country: \"Suazilândia\", continent: \"África\" },\n { ddi: \"249\", country: \"Sudão\", continent: \"África\" },\n { ddi: \"211\", country: \"Sudão do Sul\", continent: \"África\" },\n { ddi: \"46\", country: \"Suécia\", continent: \"Europa\" },\n { ddi: \"41\", country: \"Suíça\", continent: \"Europa\" },\n { ddi: \"597\", country: \"Suriname\", continent: \"América do Sul\" },\n { ddi: \"992\", country: \"Tadjiquistão\", continent: \"Ásia\" },\n { ddi: \"66\", country: \"Tailândia\", continent: \"Ásia\" },\n { ddi: \"886\", country: \"República da China\", continent: \"Ásia\" },\n { ddi: \"255\", country: \"Tanzânia\", continent: \"África\" },\n { ddi: \"246\", country: \"Território Britânico do Oceano Índico\", continent: \"África\" },\n { ddi: \"670\", country: \"Timor-Leste\", continent: \"Ásia\" },\n { ddi: \"228\", country: \"Togo\", continent: \"África\" },\n { ddi: \"690\", country: \"Tokelau\", continent: \"Oceania\" },\n { ddi: \"676\", country: \"Tonga\", continent: \"Oceania\" },\n { ddi: \"1\", country: \"Trinidad e Tobago\", continent: \"América Central\" },\n { ddi: \"216\", country: \"Tunísia\", continent: \"África\" },\n { ddi: \"1\", country: \"Turcas e Caicos\", continent: \"América Central\" },\n { ddi: \"993\", country: \"Turquemenistão\", continent: \"Ásia\" },\n { ddi: \"90\", country: \"Turquia\", continent: \"Ásia//Europa\" },\n { ddi: \"688\", country: \"Tuvalu\", continent: \"Oceania\" },\n { ddi: \"380\", country: \"Ucrânia\", continent: \"Europa\" },\n { ddi: \"256\", country: \"Uganda\", continent: \"África\" },\n { ddi: \"598\", country: \"Uruguai\", continent: \"América do Sul\" },\n { ddi: \"998\", country: \"Uzbequistão\", continent: \"Ásia\" },\n { ddi: \"678\", country: \"Vanuatu\", continent: \"Oceania\" },\n { ddi: \"379\", country: \"Vaticano\", continent: \"Europa\" },\n { ddi: \"58\", country: \"Venezuela\", continent: \"América do Sul\" },\n { ddi: \"84\", country: \"Vietnã\", continent: \"Ásia\" },\n { ddi: \"681\", country: \"Wallis e Futuna\", continent: \"Oceania\" },\n { ddi: \"260\", country: \"Zâmbia\", continent: \"África\" },\n { ddi: \"263\", country: \"Zimbábue\", continent: \"África\" }]","import React, { FC, FormEvent, useCallback, useRef, useState } from \"react\";\nimport { Grid, TextField, Button } from \"@material-ui/core\";\nimport { useUi } from \"../../../../../context/ui/UIContext\";\nimport { ddis, IDDI } from \"./ddis\";\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\nimport styles from './FormLoginPhoneNumber.module.scss';\n\ninterface ILoginPostObject {\n ddd: string;\n ddi?: string;\n phoneNumber: string;\n codeVerification: string;\n isSecondAttempt: boolean;\n}\n\ninterface FormLoginPhoneNumberProps {\n onSubmit: (values: ILoginPostObject) => void\n onClickBack?: () => void,\n smsCode?: boolean,\n onPressCancel?: () => void\n enableDdi?: boolean\n}\n\nexport const FormLoginPhoneNumber: FC = ({\n onSubmit,\n smsCode,\n onClickBack,\n onPressCancel,\n enableDdi\n}) => {\n\n const { toast } = useUi();\n const { isIframe } = useUi();\n\n var [disabledDDD, setDisabledDDD] = useState(false)\n\n\n const refDdd = useRef(null);\n const refTel = useRef(null);\n\n const [values, setValues] = useState({\n ddd: \"\",\n ddi: \"55\",\n phoneNumber: \"\",\n codeVerification: \"\",\n isSecondAttempt: false,\n });\n\n const [selectedDDI, setSelectedDDI] = useState({ ddi: \"55\", country: \"Brasil\", continent: \"América do Sul\" })\n\n const onSubmitHandle = useCallback(\n (ev: FormEvent) => {\n ev.preventDefault();\n\n if (values.ddi === \"55\") {\n if (values.phoneNumber.length !== 9 || values.ddd.length !== 2) {\n toast(\"Insira um numero valido\", \"warning\");\n return;\n }\n } else {\n if (values.phoneNumber.length < 6 || values.phoneNumber.length > 15) {\n toast(\"Insira um numero valido.\", \"warning\");\n return;\n }\n }\n\n if (!smsCode) {\n onSubmit(values);\n } else {\n if (values.codeVerification.length !== 6) {\n toast(\"Insira um codigo valido\", \"warning\");\n return;\n }\n onSubmit({ ...values });\n }\n },\n [values, smsCode, toast, onSubmit]\n );\n\n const numberMask = useCallback((value: string) => {\n let newValue = value.replace(/[^0-9]/g, \"\");\n if (values.ddi === \"55\") {\n newValue.substring(0, 9);\n }\n return newValue;\n }, [values.ddi]);\n\n const dddMask = useCallback((value: string) => {\n var max = 2\n // var max = 2\n const newValue = value.replace(/[^0-9]/g, \"\").substring(0, max);\n if (newValue.length === max) {\n if (refTel) {\n refTel.current?.focus();\n }\n }\n return newValue;\n }, []);\n\n const changeDDDHandle = useCallback((value: string) => {\n setValues((prev) => ({ ...prev, ddd: value }));\n }, []);\n\n const changeDDIHandle = useCallback((value?: IDDI | null) => {\n setSelectedDDI(value ?? undefined);\n setValues(prev => ({ ...prev, ddi: value?.ddi ?? undefined, ddd: \"\" }))\n if (value?.ddi === \"55\") {\n setDisabledDDD(false)\n refDdd.current?.focus();\n\n } else {\n setDisabledDDD(true)\n refTel.current?.focus();\n }\n\n }, []);\n\n const changePhoneNumberHandle = useCallback((value: string) => {\n setValues((prev) => ({ ...prev, phoneNumber: value }));\n }, []);\n const changecodeVerificationHandle = useCallback((value: string) => {\n setValues((prev) => ({ ...prev, codeVerification: value }));\n }, []);\n\n return (\n
\n \n {!smsCode && (\n <>\n \n
\n Insira o número do seu telefone\n
\n
\n {enableDdi &&\n \n \n changeDDIHandle(value)}\n value={selectedDDI}\n // renderOption={(option) => option.country + \" (+\" + option.ddi + \")\"}\n getOptionLabel={(option) => option.country + \" (+\" + option.ddi + \")\"}\n renderInput={(inputParams) => }\n options={ddis}\n size=\"small\"\n />\n \n }\n {!disabledDDD &&\n \n \n changeDDDHandle(dddMask(e.target.value))}\n value={values.ddd}\n name=\"ddd\"\n type=\"phone\"\n placeholder=\"XXX\"\n inputProps={{\n // maxLength: 2,\n type: \"tel\",\n }}\n variant=\"outlined\"\n size=\"small\"\n />\n \n }\n \n \n changePhoneNumberHandle(numberMask(e.target.value))}\n value={values.phoneNumber}\n name=\"phoneNumber\"\n type=\"tel\"\n inputRef={refTel}\n size=\"small\"\n variant=\"outlined\"\n placeholder=\"XXXXX-XXXX\"\n />\n \n \n )}\n {smsCode && (\n <>\n \n
\n Digite o código que foi enviado para seu telefone\n
\n
\n \n \n changecodeVerificationHandle(e.target.value)}\n value={values.codeVerification}\n name=\"codeVerification\"\n type=\"number\"\n variant=\"outlined\"\n placeholder=\"XXXXXX\"\n size=\"small\"\n />\n \n \n )}\n\n {(isIframe || onPressCancel) && (\n \n {\n onPressCancel ? onPressCancel() : window.parent.postMessage({ command: \"CLOSE\" }, \"*\");\n }}\n fullWidth\n size=\"large\"\n variant=\"contained\"\n style={{ height: 49, boxShadow: 'none', borderRadius: 8 }}\n >\n {\"VOLTAR\"}\n \n \n )}\n \n \n \n {smsCode && (\n \n \n Voltar\n \n \n )}\n
\n
\n );\n};\n","import React, { FC, FormEvent, useCallback, useEffect, useRef, useState } from \"react\";\nimport { Grid, TextField, Button } from \"@material-ui/core\";\nimport { useUi } from \"../../../../../context/ui/UIContext\";\nimport styles from './FormLoginValidationCode.module.scss'\nimport { ISendValidationCode } from \"models/auth/IValidationCode\";\n\ninterface ILoginPostObject {\n ddd: string;\n ddi?: string;\n phoneNumber: string;\n // codeVerification?: string;\n}\n\ninterface FormLoginPhoneNumberProps {\n onSubmit: (valitationCode: string) => void\n onClickBack?: () => void\n onResend: (data: ISendValidationCode) => Promise\n defaultValues: ILoginPostObject\n}\n\nexport const FormLoginValitationCode: FC = ({\n onSubmit,\n onClickBack,\n onResend,\n defaultValues\n}) => {\n\n const { toast } = useUi();\n const { isIframe } = useUi();\n const [value, setValue] = useState(\"\");\n const [buttonVisible, setButtonVisible] = useState(true);\n\n const onSubmitHandle = useCallback(\n (ev: FormEvent) => {\n ev.preventDefault();\n if (value.length !== 6) {\n toast(\"Insira um código valido\", \"warning\");\n return;\n }\n onSubmit(value);\n },\n [onSubmit, toast, value]\n );\n\n const resendCode = useCallback(() => {\n onResend({ ddd: defaultValues.ddd, ddi: defaultValues.ddi, phoneNumber: defaultValues.phoneNumber, isSecondAttempt: true })\n }, [defaultValues.ddd, defaultValues.ddi, defaultValues.phoneNumber, onResend])\n\n useEffect(() => {\n const timer = setTimeout(() => {\n setButtonVisible(false);\n }, 15000);\n\n return () => clearTimeout(timer);\n }, []);\n\n const handleClickSendSms = () => {\n setButtonVisible(true);\n resendCode();\n\n setTimeout(() => {\n setButtonVisible(false);\n }, 15000);\n };\n\n\n return (\n
\n \n \n
\n Digite o código que foi enviado para seu telefone\n
\n
\n \n \n setValue(e.target.value)}\n value={value}\n name=\"codeVerification\"\n type=\"number\"\n variant=\"outlined\"\n placeholder=\"XXXXXX\"\n size=\"small\"\n />\n \n\n \n {\n !buttonVisible &&\n \n }\n \n\n \n \n \n\n \n \n Voltar\n \n \n\n
\n
\n );\n};\n","import { Button, Grid, TextField } from '@material-ui/core'\nimport { Form, Formik } from 'formik'\nimport React, { FC } from 'react'\nimport { IUser, IUserRegisterRequest } from '../../../../../models/user/IUser'\nimport \"./FormNewUser.css\"\n\ninterface FormNewUserProps {\n smsValidationId: string,\n onSubmit: (values: IUserRegisterRequest) => void,\n defaultValues?: IUser,\n}\nexport const FormNewUser: FC = ({ smsValidationId, onSubmit, defaultValues }) => {\n\n\n const onsubmit = (newUser: IUser) => {\n const userToRegister: IUserRegisterRequest = {\n name: newUser.name,\n email: newUser.email,\n phoneNumber: newUser.phoneNumber,\n ddd: newUser.ddd,\n cpf: newUser.cpf,\n smsValidationId: smsValidationId,\n }\n onSubmit(userToRegister);\n }\n\n return (\n {\n ({\n handleSubmit,\n handleChange,\n values,\n isValid,\n errors,\n touched\n }) =>\n
\n {\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Cadastrar\n \n \n\n \n }\n
\n\n }\n \n )\n}\n","import React from \"react\";\nimport { Container } from \"@material-ui/core\";\nimport styles from './LoginPage.module.scss';\n\nexport const LoginPage = ({ children }: { children: React.ReactNode }) => {\n return (\n
\n \n
\n {children}\n
\n
0.1.8
\n
\n
\n );\n};\n","import { IUser } from 'models/user/IUser'\nimport React, { FC } from 'react'\nimport styles from './AuthPage.module.scss'\nimport useAuthPage from './AuthPageUseCase'\nimport { EtapasAuth } from './EtapasAuth'\nimport { FormCpf } from './login/formCpf/FormCpf'\nimport { Login } from './login/formLoginEmail/Login'\nimport { FormLoginPhoneNumber } from './login/formLoginPhoneNumber/FormLoginPhoneNumber'\nimport { FormLoginValitationCode } from './login/formLoginValidation/FormLoginValidationCode'\nimport { FormNewUser } from './login/formNewUser/FormNewUser'\nimport { LoginPage } from './login/LoginPage'\n\nexport interface IAuthPageProps {\n //propertys\n onLogin?: (authValues?: { token?: string, user?: IUser }) => void,\n onPressCancel?: () => void\n enableDddi?: boolean\n}\n\n\nconst AuthPage: FC = ({ onLogin, onPressCancel, enableDddi }) => {\n\n const {\n loginWithUsername,\n validateSmsCode,\n requestValidationCode,\n registerNewUser,\n requestEmailByCpf,\n user,\n smsValidationId,\n etapa,\n setEtapa\n } = useAuthPage(onLogin);\n\n return (\n
\n
\n \n\n {\n etapa === EtapasAuth.Cpf &&\n \n }\n {\n etapa === EtapasAuth.Username &&\n \n }\n {\n etapa === EtapasAuth.NewUser &&\n \n }\n {\n etapa === EtapasAuth.PhoneNumber &&\n \n }\n {\n etapa === EtapasAuth.SMSCode &&\n setEtapa(EtapasAuth.PhoneNumber)} defaultValues={user} onResend={requestValidationCode}/>\n }\n \n
\n
\n )\n}\nexport default AuthPage\n\n","import { useAuth } from 'context/auth/AuthContext';\nimport { toast as toastify } from 'react-toastify';\nimport React, { useCallback, useEffect } from 'react'\nimport { useUi } from './UIContext';\nimport Api from 'services/Api/Api';\n\nexport const UseOnErroApi = () => {\n const { logout } = useAuth();\n const { toast } = useUi();\n const onError = useCallback(\n (error: any) => {\n toastify.dismiss();\n if (error?.response?.status === 401) {\n toast(\"Faça login novamente\", 'error');\n logout();\n throw error;\n }\n if (error?.response?.data?.message) {\n toast(error?.response?.data?.message, 'error');\n return\n } else if (error?.response?.data?.Message) {\n toast(error?.response?.data?.Message, 'error');\n return\n } else if (error?.response?.data) {\n toast(error?.response?.data, 'error');\n return\n }\n throw error;\n },\n [logout, toast],\n );\n\n useEffect(() => {\n Api.interceptors.response.use(value => value, onError);\n }, [onError]);\n \n return (\n <>\n )\n}\n","import React, { createContext, useContext, useState, FC, useCallback, useEffect } from \"react\";\nimport { useUi } from \"../ui/UIContext\";\nimport api from \"../../services/Api/Api\";\nimport { useHistory, useLocation, useParams, useRouteMatch } from \"react-router-dom\";\nimport { ILocal } from \"../../models/local/ILocal\";\nimport { IUser } from \"../../models/user/IUser\";\nimport { useLocal } from \"../local/LocalContext\";\nimport { Dialog } from \"@material-ui/core\";\nimport AuthPage from \"pages/public/auth/AuthPage\";\nimport { UseOnErroApi } from \"context/ui/UseOnErroApi\";\n\ninterface IAuthContext {\n isAuth: boolean;\n logout: () => void;\n locals: ILocal[] | null;\n currentLocal: ILocal | null;\n user: IUser;\n loadToken: boolean;\n updateToken: (token: string) => void\n updateUser: (user: IUser) => void\n goToLogin: () => void\n openModalLogin: () => void;\n}\n\nconst AuthContext = createContext({} as IAuthContext);\nexport const AuthProvider: FC<{ disableRedirect?: boolean, children: React.ReactNode }> = ({ children, disableRedirect }) => {\n const { toast } = useUi();\n const [locals, setLocals] = useState(null);\n const [currentLocal, setCurrentLocal] = useState(null);\n const [token, setToken] = useState(\"\");\n const history = useHistory();\n const [loadToken, setloadToken] = useState(false);\n const { path } = useRouteMatch();\n const { url } = useParams<{ url: string }>();\n const [user, setUser] = useState({} as IUser);\n\n const { localId } = useLocal();\n\n const [isAuth, setIsAuth] = useState(false);\n\n const [modalLogin, setModalLogin] = useState(false);\n\n let query = new URLSearchParams(useLocation().search);\n\n const updateUser = useCallback((userValue: IUser) => {\n localStorage.setItem(`@Meep:user`, JSON.stringify(userValue));\n setUser(userValue);\n }, []);\n\n const logout = useCallback(async () => {\n setLocals(null);\n setCurrentLocal(null);\n updateUser({} as IUser);\n setToken(\"\");\n localStorage.clear();\n setIsAuth(false);\n\n if (!disableRedirect) {\n if (!path.includes(\"/login\")) {\n const address = (`/login?goto=${path}`).replace(\":url\", url).replace(\":token\", \"\");\n history.push(address);\n }\n }\n\n }, [disableRedirect, history, path, updateUser, url]);\n\n useEffect(() => {\n const storageToken = localStorage.getItem(`@Meep:token`);\n const storageUser = localStorage.getItem(`@Meep:user`);\n try {\n\n if (storageToken) {\n setToken(storageToken);\n api.defaults.headers = { Authorization: `bearer ${storageToken}` };\n setIsAuth(true);\n } else {\n logout();\n }\n if (storageUser) {\n updateUser(JSON.parse(storageUser) as IUser);\n }\n } catch (error) {\n logout();\n } finally {\n setloadToken(true);\n }\n }, [history, localId, logout, updateUser]);\n\n\n const updateToken = useCallback(\n (tokenValue: string) => {\n api.defaults.headers = { Authorization: `bearer ${tokenValue}` };\n localStorage.setItem(`@Meep:token`, tokenValue);\n setToken(tokenValue);\n },\n []\n );\n\n const redirectLogin = useCallback(() => {\n if (!path.includes(\"/login\") && !disableRedirect) {\n const address = (`/login?goto=${path}`).replace(\":url\", url).replace(\":token\", \"\");\n history.push(address);\n }\n }, [path, disableRedirect, history, url])\n\n const goToLogin = useCallback(() => {\n if (!path.includes(\"/login\")) {\n const address = (`/login?goto=${path}`).replace(\":url\", url).replace(\":token\", \"\");\n history.push(address);\n }\n }, [path, history, url])\n\n useEffect(() => {\n if (!isAuth && loadToken) {\n redirectLogin();\n }\n if (isAuth && loadToken) {\n const goto = query.get(\"goto\");\n if (goto) {\n history.replace(`${goto}`);\n }\n }\n return () => {\n\n }\n }, [history, isAuth, loadToken, path, query, redirectLogin, url])\n\n\n const openModalLogin = useCallback(() => {\n setModalLogin(true);\n }, [])\n\n const onLoginModal = useCallback(() => {\n setModalLogin(false);\n toast(\"Autenticado com sucesso\", \"success\");\n }, [toast])\n\n return (\n \n {children}\n \n setModalLogin(false)}>\n \n \n \n );\n};\n\nexport const useAuth = () => {\n const context = useContext(AuthContext);\n return context;\n};\n","import React, { FC, useCallback, useState } from 'react';\nimport Container from '@material-ui/core/Container';\nimport Grid from '@material-ui/core/Grid';\nimport { TextField, MenuItem, CircularProgress, Checkbox, FormControlLabel, Paper, IconButton } from '@material-ui/core';\nimport { Formik, Form } from 'formik';\n\nimport * as yup from 'yup'; // for everything \nimport { useUi } from '../../context/ui/UIContext';\nimport { ICreditCardAddRequest, ICreditCardAddForm, ICreditCardOwnerForm } from '../../models/payment/ICard';\nimport CardApi from '../../services/Api/card/CardApi';\nimport { CardPreview } from './cardPreview/CardPreview';\nimport { useLocal } from '../../context/local/LocalContext';\nimport { DeliverySelect } from 'pages/payment/deliverySelect/DeliverySelect';\nimport { DeliveryType } from 'models/delivery/deliveryFee';\nimport { IAddress } from 'models/address/IAddress';\nimport { useAuth } from 'context/auth/AuthContext';\nimport styles from './NewCard.module.scss';\nimport { CloseOutlined } from '@material-ui/icons';\n\ninterface INewCardProps {\n onCancel?: () => void\n onConfirm?: () => void\n title?: string;\n}\n\nexport const NewCard: FC = ({ onCancel, onConfirm, title }) => {\n\n const { hideLoading, toast } = useUi();\n const [card, setCard] = useState({ ...{} as ICreditCardAddForm, customer: {} as ICreditCardOwnerForm, isOwner: true })\n // const { userId } = useParams<{ userId: string }>();\n const { storeConfig } = useLocal();\n const { user } = useAuth();\n const [loadingSave, setLoadingSave] = useState(false);\n const [address, setAddress] = useState(null)\n\n const cardSchema = yup.object().shape({\n number: yup\n .string()\n .required()\n .max(16)\n .min(16, \"Insira um cartão válido\"),\n\n securityCode: yup\n .string()\n .min(3, \"Código de Segurança Inválido\")\n .max(4)\n .required(),\n ownerName: yup\n .string()\n .required()\n .min(5, \"Insira um nome válido\"),\n customer: yup.object().when(\"isOwner\",\n {\n is: false,\n then: yup.object().shape({\n name: yup.string().required(),\n cpf: yup.string().required().length(11, \"Insira um CPF valido\"),\n phoneNumber: yup.string().required(),\n email: yup.string().email().required(),\n })\n }\n )\n });\n\n const onsubmit = useCallback(async (cardValue: ICreditCardAddForm) => {\n try {\n setLoadingSave(true)\n\n const creditCardAddRequest: ICreditCardAddRequest = {\n number: cardValue.number,\n securityCode: cardValue.securityCode,\n ownerName: cardValue.ownerName,\n month: cardValue.month,\n year: cardValue.year,\n customer:\n cardValue.isOwner ?\n {\n name: cardValue.ownerName,\n cpf: user.cpf,\n email: user.email,\n phoneNumber: user.ddd + user.phoneNumber,\n addressId: address?.id ?? \"\"\n }\n :\n {\n ...cardValue.customer,\n addressId: address?.id ?? \"\"\n }\n }\n\n const response = await CardApi.saveCreditCard(creditCardAddRequest);\n if (response) {\n if (response.status === 201 || response.status === 200) {\n toast(\"Cartao adicionado com sucesso\", \"success\");\n onConfirm && onConfirm();\n }\n\n }\n }\n catch (error: any) {\n hideLoading();\n if (error.response.status === 400) {\n if (error.response.data.message) {\n // toast(error.response.data.message, \"error\");\n }\n }\n } finally {\n setLoadingSave(false)\n }\n\n }, [address, hideLoading, onConfirm, toast, user.cpf, user.ddd, user.email, user.phoneNumber])\n\n const numberMask = (e: React.ChangeEvent) => {\n const newEvent: React.ChangeEvent = e;\n newEvent.target.value = e.target.value.replace(/[^0-9]/g, '').substr(0, 16)\n return newEvent\n }\n const cvvMask = (e: React.ChangeEvent) => {\n const newEvent: React.ChangeEvent = e;\n newEvent.target.value = e.target.value.replace(/[^0-9]/g, '').substr(0, 4)\n return newEvent\n }\n\n return (\n \n \n {title && (\n

\n {title}\n \n \n \n

\n )}\n {\n ({ handleSubmit, handleChange, values, isValid, errors, touched }) =>\n
\n \n \n \n \n \n handleChange(numberMask(e))}\n value={values.number}\n name=\"number\"\n label=\"Número\"\n inputProps={{ inputMode: 'numeric' }}\n size='small'\n />\n \n\n \n \n 01\n 02\n 03\n 04\n 05\n 06\n 07\n 08\n 09\n 10\n 11\n 12\n \n \n\n \n \n 24\n 25\n 26\n 27\n 28\n 29\n 30\n 31\n 32\n 33\n 34\n 35\n 36\n 37\n 38\n \n \n\n \n handleChange(cvvMask(e))}\n value={values.securityCode}\n helperText={touched.securityCode && errors.securityCode}\n error={touched.securityCode && Boolean(errors.securityCode)}\n name=\"securityCode\"\n label=\"CVV\"\n inputProps={{ inputMode: 'numeric' }}\n size='small'\n />\n \n \n \n \n \n \n }\n label=\"Sou o titular do cartão\"\n />\n \n\n {!values.isOwner &&\n <>\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n \n }\n \n\n {\n { }}\n >\n }\n \n\n \n \n onCancel && onCancel()}\n className={styles.cancelButton}\n >\n Cancelar\n \n \n \n \n {\n loadingSave ?\n <>Salvando Cartão\n :\n \"Salvar\"\n }\n \n \n \n \n \n }\n \n
\n \n )\n}\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport { Button, CircularProgress, Grid, Icon, TextField } from '@material-ui/core'\nimport React, { FC, memo, useCallback, useState } from 'react'\nimport { useUi } from '../../../../context/ui/UIContext';\nimport { moneyMask, moneyToFloat } from '../../../../cross-cutting/masks/money'\nimport { CreditCardStatus, ICardItem } from '../../../../models/payment/ICard';\nimport CardApi from '../../../../services/Api/card/CardApi';\n\ninterface IVerifyModalProps {\n open: boolean;\n card: ICardItem;\n onValidate: () => void\n}\n\nexport const VerifyModal: FC = memo(({ open, card, onValidate }) => {\n const { toast, showLoading, hideLoading } = useUi()\n const [valorCobrado, setValorCobrado] = useState(\"\");\n const [securityCode, setSecurityCode] = useState(\"\");\n const [loading, setLoading] = useState(false);\n const [initCheckEnviado, setInitCheckEnviado] = useState(false);\n\n const initCheck = useCallback(async () => {\n try {\n setLoading(true)\n showLoading();\n await CardApi.initCheckCreditCard(card.id, securityCode);\n setInitCheckEnviado(true);\n } catch (error: any) {\n if (error?.response?.data?.message) {\n // toast(error.response.data.message, \"error\")\n }\n } finally {\n setLoading(false);\n hideLoading();\n }\n\n }, [card, toast, securityCode])\n\n const onPressValidate = useCallback(async () => {\n try {\n setLoading(true)\n showLoading()\n await CardApi.checkCreditCard(card.id, moneyToFloat(valorCobrado));\n onValidate && onValidate()\n toast(\"Cartão validado com sucesso\", \"success\")\n } catch (error) {\n // if (error?.response?.data?.message) {\n // toast(error.response.data.message, \"error\")\n // }\n } finally {\n setLoading(false);\n hideLoading();\n }\n\n }, [card.id, onValidate, toast, valorCobrado])\n\n\n // useEffect(() => {\n // if (securityCode.length === 3) {\n // initCheck(securityCode);\n // }\n // return () => {\n\n // }\n // }, [initCheck, securityCode])\n\n\n return (\n
\n \n \n
verified_user VERIFICAR CARTAO
\n
\n {\n !initCheckEnviado && card.status === CreditCardStatus.PENDING ?\n <>\n \n
Codigo de segurança
\n
\n \n setSecurityCode(e.target.value.substr(0, 4).replace(\"-\", \"\").replace(\".\", \"\").replace(/[^0-9]/g, \"\"))}\n >\n \n \n !loading && initCheck()}\n fullWidth color=\"primary\"\n size=\"large\"\n >\n {\n loading ?\n \n : \"VALIDAR\"\n }\n \n\n \n \n :\n <>\n \n
Informe o valor cobrado
\n
Foi efetuada uma cobrança de valor aleatório em seu cartão.
\n
\n
\n \n setValorCobrado(moneyMask(e.target.value))}\n value={valorCobrado}\n placeholder=\"R$0,00\"\n inputProps={{ prefix: \"R$\", inputMode: \"numeric\", style: { textAlign: \"center\", fontSize: 32 } }}\n >\n \n
*Não se preocupe esse valor será estornado
\n\n \n !loading && onPressValidate()}\n fullWidth color=\"primary\"\n size=\"large\"\n >\n {\n loading ?\n \n : \"VALIDAR\"\n\n }\n\n \n \n \n }\n\n
\n
\n )\n})\n","import {\n EditUserRequest,\n CreditRechargeRequest,\n CreditRechargeResponse,\n IUserProfile,\n IUserWallet,\n IWalletDependents,\n LinkTagRequest,\n LinkTagResponse,\n NewDependentRequest,\n NewDependentResponse,\n PixRechargeRequest,\n PixRechargeResponse,\n PixStatusResponse,\n IExtractParams,\n IWalletExtract,\n RemoveDependentRequest,\n TransferBalanceRequest,\n} from \"models/wallet/IWallet\";\nimport { Api } from \"../Api\";\nimport { AxiosResponse } from \"axios\";\n\nexport interface IWalletService {\n getWallet(localId: string): Promise>;\n getProfile(): Promise>;\n linkTag(params: LinkTagRequest): Promise>;\n deactiveTAG: (tag: string) => Promise>;\n editUser(params: EditUserRequest): Promise>;\n getDependents(walletId: string): Promise>;\n addDependent(\n params: NewDependentRequest\n ): Promise>;\n creditRecharge: (\n params: CreditRechargeRequest\n ) => Promise>;\n createPixRecharge: (\n params: PixRechargeRequest\n ) => Promise>;\n getPixStatus(id: string): Promise>;\n getExtract: (\n params: IExtractParams\n ) => Promise>;\n removeDependent: (\n params: RemoveDependentRequest\n ) => Promise>;\n transferBalance: (\n params: TransferBalanceRequest\n ) => Promise>;\n}\n\nexport const WalletApi = (): IWalletService => {\n const api = Api();\n\n const getWallet = async (\n localId: string\n ): Promise> => {\n const response = await api.get(\n `EstablishmentWallet/ByLocalId/${localId}`\n );\n\n return response;\n };\n\n const getProfile = async (): Promise> => {\n const response = await api.get(`EstablishmentWallet/Profile`);\n return response;\n };\n\n const getDependents = async (\n WalletId: string\n ): Promise> => {\n const response = await api.get(\n `EstablishmentWallet/Dependents`,\n { params: { WalletId } }\n );\n\n return response;\n };\n\n const linkTag = async (\n params: LinkTagRequest\n ): Promise> => {\n const response = await api.put(\n \"EstablishmentWallet/LinkCashlessCard\",\n params\n );\n\n return response;\n };\n\n const addDependent = async (\n params: NewDependentRequest\n ): Promise> => {\n const response = await api.post(\"EstablishmentWallet/Dependent\", params);\n\n return response;\n };\n\n const removeDependent = async (\n params: RemoveDependentRequest\n ): Promise> => {\n const response = await api.delete(\n \"EstablishmentWallet/Dependent\",\n {params}\n );\n\n return response;\n };\n\n const editUser = async (\n params: EditUserRequest\n ): Promise> => {\n const response = await api.put(\"EstablishmentWallet/WalletCard\", params);\n\n return response;\n };\n\n const deactiveTAG = async (TAG: string) => {\n return await api.put(\"EstablishmentWallet/WalletCard/ChangeStatus\", {\n TAG,\n status: 0,\n });\n };\n\n const creditRecharge = async (\n params: CreditRechargeRequest\n ): Promise> => {\n const response = await api.post(\n \"EstablishmentWallet/RechargeByCreditCard\",\n params\n );\n\n return response;\n };\n\n const createPixRecharge = async (\n params: PixRechargeRequest\n ): Promise> => {\n const response = await api.post(\n \"EstablishmentWallet/RechargeByPix\",\n params\n );\n\n return response;\n };\n\n const getPixStatus = async (\n id: string\n ): Promise> => {\n const response = await api.get(\n `EstablishmentWallet/PixOrder/${id}`\n );\n return response;\n };\n\n const getExtract = async (\n _params: IExtractParams\n ): Promise> => {\n const params = {\n ..._params,\n hidePendingOrders: true,\n };\n const response = await api.get(\n `EstablishmentWallet/Extract`,\n { params }\n );\n\n return response;\n };\n\n const transferBalance = async (\n params: TransferBalanceRequest\n ): Promise> => {\n const response = await api.post(\n \"EstablishmentWallet/Dependent/BalanceTransfer\",\n params\n );\n\n return response;\n };\n\n return {\n getWallet,\n getProfile,\n linkTag,\n deactiveTAG,\n editUser,\n getDependents,\n addDependent,\n creditRecharge,\n createPixRecharge,\n getPixStatus,\n getExtract,\n removeDependent,\n transferBalance,\n };\n};\n","function NumberToMoneyString(value: number) {\n return value.toLocaleString(\"pt-BR\", {\n style: \"currency\",\n currency: \"BRL\",\n minimumFractionDigits: 2,\n })\n}\n\nexport default NumberToMoneyString\n","import React, { useCallback, useEffect, useState, FC, useMemo, useRef } from \"react\";\nimport { Grid, Drawer, Button, Icon, ButtonGroup, TextField, MenuItem, Modal } from \"@material-ui/core\";\nimport { CreditCardStatus, ICardItem } from \"../../../models/payment/ICard\";\nimport CardApi from \"../../../services/Api/card/CardApi\";\nimport { PaymentType } from \"../../../models/payment/IPay\";\nimport { usePayment } from \"../../../context/payment/PaymentContext\";\nimport { moneyMask, moneyToFloat } from \"../../../cross-cutting/masks/money\";\nimport { useUi } from \"../../../context/ui/UIContext\";\nimport { CardItem } from \"../../../components/CardItem/CardItem\";\nimport { GetCardTypeImage } from \"../../../components/getTypeCard/GetTypeCard\";\nimport { NewCard } from \"../../newCard/NewCard\";\nimport { VerifyModal } from \"./verifyModal/VerifyModal\";\nimport { IOrderDetail } from \"models/order/aggregates/datail/IOrderDetail\";\nimport { IStoreConfig } from \"models/local/ILocalConfig\";\nimport styles from './PaymentSelect.module.scss';\nimport { DadosWallet } from \"models/payment/IPaymentApi\";\nimport { IUserWallet } from \"models/wallet/IWallet\";\nimport { WalletApi } from \"services/Api/wallet/WalletApi\";\nimport NumberToMoneyString from \"utils/mask/NumberToMoney\";\n\nexport interface PaymentSelectProps {\n orderDetail?: IOrderDetail | null;\n setPaymentType: (paymentType: PaymentType) => void;\n paymentType: PaymentType;\n setChange?: (change: number) => void;\n change?: number | null;\n setInstallment?: (installment: number) => void;\n installment?: number | null;\n card?: ICardItem | null;\n setCard?: (card: ICardItem | null) => void;\n setWallet?: (wallet: DadosWallet) => void;\n storeConfig?: IStoreConfig | null;\n disabledTitle?: boolean\n}\n\n\nexport const PaymentSelect: FC = ({\n orderDetail,\n setPaymentType,\n paymentType,\n setChange,\n setInstallment,\n installment,\n card,\n setCard,\n storeConfig,\n disabledTitle,\n setWallet: setWalletToPay\n}) => {\n const [cards, setcard] = useState([]);\n const [selectCardOpen, setselectCardOpen] = useState(false);\n const [openAddCard, setopenAddCard] = useState(false);\n const [openVerifyCard, setOpenVerifyCard] = useState(false);\n const [troco, settroco] = useState(\"\");\n const [wallet, setWallet] = useState(null);\n\n const { showLoading, hideLoading, toast } = useUi();\n const { updatePaymentTypeLocalStorage } = usePayment();\n\n const updateWallet = useRef(true);\n\n const getWallet = useCallback(() => {\n const walletApi = WalletApi();\n walletApi.getWallet(storeConfig?.storeId ?? \"\").then((response) => {\n if (response.status === 200) {\n setWallet(response.data);\n }\n });\n }, [storeConfig]);\n\n useEffect(() => {\n if (updateWallet.current && paymentType === PaymentType.WALLET && wallet?.Id) {\n updateWallet.current = false;\n setWalletToPay && setWalletToPay({WalletId: wallet?.Id ?? \"\"})\n }\n }, [paymentType, setWalletToPay, wallet])\n \n\n const getCards = useCallback(() => {\n const response = CardApi.getCards().then((response) => {\n if (response.status === 200) {\n setcard(response.data);\n }\n });\n }, []);\n\n const onPressDeleteCard = useCallback(\n async (_deletedCard: ICardItem) => {\n try {\n showLoading();\n const responseDelete = await CardApi.deleteCard(_deletedCard.id);\n if (_deletedCard.id === card?.id) {\n setCard && setCard(null);\n setPaymentType(PaymentType.NAO_INFORMADO);\n }\n getCards();\n } catch (error: any) {\n toast(error?.response?.data?.message ?? \"Ops, não foi possivel excluir cartao\", \"error\");\n } finally {\n hideLoading();\n }\n },\n [showLoading, card, getCards, setCard, setPaymentType, toast, hideLoading]\n );\n\n useEffect(() => {\n getCards();\n if (storeConfig?.allowWalletPayment) {\n getWallet();\n }\n }, [getCards, getWallet, storeConfig]);\n\n const onChangeType = (type: PaymentType) => {\n setPaymentType(type);\n if (type === PaymentType.DEBITO || type === PaymentType.CREDITO) {\n settroco(\"R$0,00\");\n } else if (type === PaymentType.DINHEIRO) {\n setCard && setCard(null);\n }\n };\n\n const onClickAddNewCard = useCallback(() => {\n setopenAddCard(true);\n // history.push(url + \"/newCard\")\n }, []);\n const onCloseAddNewCard = useCallback(() => {\n setopenAddCard(false);\n getCards();\n // history.push(url + \"/newCard\")\n }, [getCards]);\n const onCloseVerifyCard = useCallback(() => {\n setOpenVerifyCard(false);\n getCards();\n if (card) {\n setCard && setCard({ ...card, status: CreditCardStatus.VALIDATED });\n }\n // history.push(url + \"/newCard\")\n }, [getCards, card, setCard]);\n\n useEffect(() => {\n const newChange = moneyToFloat(troco);\n setChange && setChange(moneyToFloat(troco));\n }, [setChange, troco]);\n\n const onClickSelectCard = useCallback(\n (card: ICardItem | null) => {\n setCard && setCard(card);\n setselectCardOpen(false);\n settroco(\"R$0,00\");\n },\n [setCard]\n );\n\n const onClickPix = useCallback(() => {\n updatePaymentTypeLocalStorage(PaymentType.PIX)\n setPaymentType(PaymentType.PIX);\n setCard && setCard(null);\n setselectCardOpen(false);\n }, [updatePaymentTypeLocalStorage, setPaymentType, setCard]);\n\n const onClickDinheiro = useCallback(() => {\n updatePaymentTypeLocalStorage(PaymentType.DINHEIRO)\n setPaymentType(PaymentType.DINHEIRO);\n setCard && setCard(null);\n setselectCardOpen(false);\n }, [updatePaymentTypeLocalStorage, setPaymentType, setCard]);\n \n const onClickCartao = useCallback((card: ICardItem) => {\n updatePaymentTypeLocalStorage(PaymentType.CREDITO)\n onClickSelectCard(card);\n setPaymentType(PaymentType.CREDITO);\n setChange && setChange(0);\n },\n [updatePaymentTypeLocalStorage, onClickSelectCard, setPaymentType, setChange]\n );\n\n const onClickWallet = useCallback((wallet: DadosWallet) => {\n updateWallet.current = false;\n updatePaymentTypeLocalStorage(PaymentType.WALLET)\n settroco(\"R$0,00\");\n setPaymentType(PaymentType.WALLET);\n setChange && setChange(0);\n setCard && setCard(null);\n setWalletToPay && setWalletToPay(wallet);\n setselectCardOpen(false);\n },\n [updatePaymentTypeLocalStorage, setPaymentType, setChange, setCard, setWalletToPay]\n );\n\n const onClickCartaoNaEntrega = useCallback(() => {\n updatePaymentTypeLocalStorage(PaymentType.CREDITO)\n onClickSelectCard(null);\n setCard && setCard(null);\n setPaymentType(PaymentType.CREDITO);\n }, [onClickSelectCard, setCard, setPaymentType, updatePaymentTypeLocalStorage]);\n\n const onChangeInstallment = useCallback((installment: string) => {\n setInstallment && setInstallment(parseInt(installment));\n }, [setInstallment]);\n\n\n const isPixEnabled = useMemo(() => {\n const fixedEnabledIds = [\n \"1f3d32dd-9f1e-042a-dbb4-09ecb64a1427\",\n \"03dcdd76-1450-c832-0913-518cef45cdab\" ,\n \"455b3e22-d335-4336-7884-d97522f97ed3\" ,\n \"53e5e585-6f4d-eab7-f739-516988cbdaf3\" ,\n \"189c358b-b76c-7336-f922-192722626df9\" ,\n \"2325cad0-bda1-c2bd-0e78-cd8f1707f2e5\" ,\n \"682b8ff7-55ed-1939-69e4-e4421f70698b\" ,\n \"d643e88f-5457-6024-483c-d25b048ee927\" ,\n \"34899fab-ed6c-0697-897a-69bd4525741a\" ,\n \"80ecc4fb-a318-d3b9-a337-88af75b8a459\" ,\n \"511d6f49-b48b-5649-eb53-6debe54ac8d6\" ,\n \"9b79e304-6f10-21e7-5300-360b1d43e218\" ,\n \"fe77413a-30a5-785f-2406-d285cd393d24\" ,\n \"bdb366cd-8775-240c-5522-ebb01a66fb65\" ,\n \"ff200210-b47e-f2b3-6e36-12cfe745cce6\" ,\n \"cda62d23-34ff-56d2-c229-0d959a06ebb5\" ,\n \"ad25be8d-2d8c-35b5-566d-5610037ab454\" ,\n \"8c78cf78-e8f2-9884-4151-6f2fb12e05e5\" ,\n \"14431512-0a23-7903-4c9b-646e0bdaceb1\" ,\n \"e3d4376a-7c48-d7bc-9531-e16e81c2229d\" ,\n \"67a233c4-a71e-542a-bab1-ce874f6ef388\" ,\n \"1e4d5c49-3823-e623-d702-89ab1b9cfc1f\" ,\n \"9f2728a7-8e30-b60c-df8c-1773656f699a\" ,\n \"82518b03-0a0c-407c-b569-f7ac7bc54b47\" ,\n \"c00cf7e8-ad63-1203-610e-7f10b9dc0f00\" ,\n \"e2f82bd9-a314-cbc2-7bc1-e4b185f95329\" ,\n \"2a765cd0-e0ee-4dad-932c-337d3edbdb70\" ,\n \"33ba2661-6511-eaa7-4db4-6a35376de628\" ,\n \"2da74e9f-c1de-95bb-5922-fbe9e47c20ed\" ,\n \"0e1f8a20-ac41-3d28-2186-7d52ac56e5d1\" ,\n \"4df121a1-144e-5ef6-369e-54e10d7cc551\" ,\n \"5f1a5c83-782e-df53-0c45-723812a7673a\" ,\n \"675c1487-0598-ae49-7649-c7a81f2ff079\" ,\n \"5c46c44e-a783-6a8a-2c05-35209a4f6243\" ,\n \"656b7bfc-fc9b-f0a0-7ab7-5ca239ebfd3a\" ,\n \"a6e2a09a-4e8a-b691-da56-78d4cecb20f8\" ,\n \"eeaed35c-ea2c-8605-5849-e5ab9c59ef80\" ,\n \"2e089771-8454-5114-29f5-d4daa33a8e26\" ,\n \"475171a4-882e-9ee4-a224-af0cef1c1e18\" ,\n \"bfefc07a-41f8-ae28-c470-426539b06704\" ,\n \"12f2e104-5204-eef1-5ff8-f637bba464c6\" ,\n \"f7b65d64-b5d8-799c-c342-da742d78904a\" ,\n \"8ebf5c46-fab6-7886-e8ef-f26eb86be550\" ,\n \"1b06bdc0-6cd4-fcb8-ce50-18240f36764b\" ,\n \"4ba3560a-26d7-0e96-54ae-b59a7a1e8527\" ,\n \"2525eb60-7f8e-146a-05c0-1ca46d085fb4\" ,\n \"c626510b-5bef-f532-2dbd-0127a0952321\" ,\n \"0f6eb883-1b08-f5ea-2567-5a8e8cd3c7a1\" ,\n \"add7ba88-3356-993a-e4c8-dd573eb81452\", ]\n\n return fixedEnabledIds.includes(storeConfig?.storeId?.toLowerCase() ?? \"\") || storeConfig?.allowPixPayment === true;\n }, [storeConfig]);\n\n return (\n \n {\n setselectCardOpen(false);\n }}\n className={styles.modalContainer}\n >\n
\n
\n {(storeConfig?.allowOnlinePayment) && (\n <>\n

Escolha uma forma de pagamento

\n Pagar online\n {storeConfig?.allowWalletPayment && (\n <>\n onClickWallet({WalletId: wallet?.Id ?? \"\"})} \n />\n \n )}\n {cards?.length > 0 &&\n cards.map((card) => (\n onClickCartao(card)}\n autenticated={card.status === CreditCardStatus.VALIDATED ? true : false}\n autenticateIcon={!storeConfig?.disableAutenticateCard}\n key={card.id}\n onClickRemove={() => {\n onPressDeleteCard(card);\n }}\n iconName=\"credit_card\"\n />\n ))}\n \n \n )}\n {isPixEnabled && (\n <>\n \n \n )}\n {storeConfig?.acceptSlipPayment && (\n <>\n \n \n )}\n\n {storeConfig?.allowPaymentOnDelivery && (\n <>\n Pagar na entrega\n \n \n \n )}\n\n {!storeConfig?.allowOnlinePayment && !storeConfig?.acceptSlipPayment && !storeConfig?.allowPaymentOnDelivery && !isPixEnabled && (\n
\n
Não existe nenhuma forma de pagamento disponível no momento!
\n \n
\n )}\n
\n
\n\n {/*
\n \n
*/}\n \n setopenAddCard(false)} className={styles.modalContainer}>\n onCloseAddNewCard()} onConfirm={() => onCloseAddNewCard()}>\n \n {card && (\n setOpenVerifyCard(false)}>\n onCloseVerifyCard()} />\n \n )}\n\n \n \n {!disabledTitle &&\n \n
Forma de pagamento
\n
\n }\n {(paymentType === PaymentType.DEBITO || paymentType === PaymentType.CREDITO) &&\n (card ? (\n \n {\n setselectCardOpen(true);\n setopenAddCard(false);\n }}\n onClick={() => {\n setselectCardOpen(true);\n setopenAddCard(false);\n }}\n />\n {!storeConfig?.disableAutenticateCard && card.status !== CreditCardStatus.VALIDATED && (\n \n
Cartão não Verificado
\n \n
\n )}\n\n {storeConfig?.acceptInstallment && orderDetail && orderDetail?.amount > 100 && (\n \n
Parcelas
\n onChangeInstallment(ev.target.value)} select>\n 1x A vista (R${orderDetail?.amount.toFixed(2)}) \n 2x R${(orderDetail?.amount / 2).toFixed(2)}\n 3x R${(orderDetail?.amount / 3).toFixed(2)}\n \n
\n )}\n
\n ) : (\n \n {\n setselectCardOpen(true);\n setopenAddCard(false);\n }}\n onClick={() => {\n setselectCardOpen(true);\n setopenAddCard(false);\n }}\n />\n \n ))}\n {paymentType === PaymentType.DINHEIRO && (\n \n {\n setselectCardOpen(true);\n setopenAddCard(false);\n }}\n onClick={() => {\n setselectCardOpen(true);\n setopenAddCard(false);\n }}\n />\n \n )}\n\n {paymentType === PaymentType.PIX && (\n \n {\n setselectCardOpen(true);\n setopenAddCard(false);\n }}\n onClick={() => {\n setselectCardOpen(true);\n setopenAddCard(false);\n }}\n />\n )}\n\n {paymentType === PaymentType.NAO_INFORMADO && (\n \n {\n setselectCardOpen(true);\n setopenAddCard(false);\n }}\n onClick={() => {\n setselectCardOpen(true);\n setopenAddCard(false);\n }}\n />\n \n )}\n\n {paymentType === PaymentType.WALLET && (\n \n {\n setselectCardOpen(true);\n setopenAddCard(false);\n }}\n onClick={() => {\n setselectCardOpen(true);\n setopenAddCard(false);\n }}\n />\n \n )}\n\n\n {paymentType === PaymentType.DINHEIRO && (\n \n \n
Troco
\n
\n \n
Pra qual valor deseja troco?
\n
\n settroco(moneyMask(e.target.value))}\n value={troco}\n size=\"small\"\n inputProps={{ prefix: \"R$\", inputMode: \"numeric\", style: { textAlign: \"center\", fontSize: \"larger\" } }}\n style={{ width: \"100%\", maxWidth: 400 }}\n >\n
\n )}\n {\n false && (\n \n \n onChangeType(PaymentType.CREDITO)}\n color=\"primary\"\n variant={paymentType === PaymentType.CREDITO ? \"contained\" : \"outlined\"}\n size=\"small\"\n >\n
\n
\n credit_card\n
\n
Credito
\n
\n \n onChangeType(PaymentType.DEBITO)}\n color=\"primary\"\n variant={paymentType === PaymentType.DEBITO ? \"contained\" : \"outlined\"}\n size=\"small\"\n >\n
\n
\n credit_card\n
\n
Debito
\n
\n \n
\n
\n )\n }\n
\n
\n
\n );\n};\n","import { Icon, IconButton } from '@material-ui/core'\nimport React, { FC } from 'react'\nimport styles from './BackButton.module.scss'\n\nexport interface IBackButtonProps {\n //propertys\n onClick?: () => void,\n className?: string\n}\n\nconst BackButton: FC = ({ onClick, className }) => {\n return (\n \n arrow_back_ios_new\n \n )\n}\nexport default BackButton","import React, { FC } from 'react'\nimport './Header.css'\n\ninterface IHearder {\n start?: JSX.Element\n center?: JSX.Element\n end?: JSX.Element\n title?: string;\n children?: React.ReactNode;\n}\n\nexport const Header: FC = ({ children, start, center, end, title }) => {\n return (\n
\n {children ??\n
\n
\n {start}\n
\n
\n {center ??\n
{title}
\n }\n
\n
\n {end}\n
\n
\n }\n
\n )\n}\n","import { ITheme } from \"../interfaces/ITheme\";\n\nexport const MeepTheme: ITheme = {\n backgroundColor: \"#FFF\",\n secondaryBackground: \"#F0F0F0\",\n text: \"#222\",\n primaryDark: \"#001537\",\n primaryColor: \"#32008E\",\n secondaryColor: \"#955CFF\",\n accentColor: \"#FF1744\",\n};\n\nexport const PalmeirasTheme: ITheme = {\n backgroundColor: \"#fff\",\n text: \"#222\",\n primaryColor: \"#000\",\n secondaryColor: \"rgb(0,100,55)\",\n accentColor: \"rgb(0,100,55)\",\n topImage: \"https://meepblob.blob.core.windows.net/clientes-profile/f96c1dbc-46dd-77ee-fe76-2e0040392c1f.png\",\n};\n\nexport const FoodHallDadoBierTheme: ITheme = {\n backgroundColor: \"#222\",\n text: \"#ddd\",\n primaryColor: \"#f00\",\n secondaryColor: \"#f00\",\n accentColor: \"#f00\",\n topImage: \"/img/dado-bg.png\",\n type: `dark`\n};\n\nexport const ArenaMRVTheme: ITheme = {\n backgroundColor: \"#242424\",\n text: \"#888\",\n primaryDark: \"#F8DA13\",\n primaryColor: \"#F8DA13\",\n secondaryColor: \"#000\",\n accentColor: \"#F8DA13\",\n type: `dark`\n // backgroundImageUrl: '/img/arena-mrv-bg.jpeg'\n};\n\nexport const MineiraoTheme: ITheme = {\n backgroundColor: \"#fff\",\n text: \"#222\",\n primaryColor: \"#471e6b\",\n secondaryColor: \"#471e6b\",\n accentColor: \"#471e6b\",\n backgroundImageUrl: '/img/purple-bg.png'\n};\n\nexport const OutLandTheme: ITheme = {\n backgroundColor: \"#fff\",\n text: \"#222\",\n primaryColor: \"#083847\",\n secondaryColor: \"#083847\",\n accentColor: \"#083847\",\n};\n\nexport const Minastenisclube: ITheme = {\n backgroundColor: \"#fff\",\n text: \"#222\",\n primaryColor: \"#2252A6\",\n secondaryColor: \"#2252A6\",\n accentColor: \"#2252A6\",\n};\n\n\n/**\n *\n * background: #242424\n\ntítulo: #F5F5F5\n\nlabel: #E0E0E0\n\nbutton bg: #F8DA13\n\nbutton txt: #000000\n */\n\n// colors: {\n// primary: \"\",\n// secondary: \"#f00\",\n// background: \"#222\",\n// text: \"#ddd\",\n// toolbar: \"#f00\",\n// },\n// topBackgroundUrl: \"/imgs/dado/top-bg.png\",\n// hideLogo: true,\n// type: \"dark\",","import React, { createContext, useCallback, useContext, useEffect, useState } from \"react\";\nimport { ITheme } from \"./interfaces/ITheme\";\nimport { ArenaMRVTheme, FoodHallDadoBierTheme, MeepTheme, MineiraoTheme, OutLandTheme, PalmeirasTheme } from 'context/theme/themes/_DefaultTheme';\nimport { createTheme, Theme, ThemeProvider as ThemeMateriaPovider } from \"@material-ui/core\";\nimport Color from 'color'\n\ninterface IThemeContext extends ITheme {\n setTheme: React.Dispatch>;\n getColorOn: (color: string) => string;\n detectThemeByUrl: (url?: string) => void\n}\n\nconst ThemeContext = createContext({} as IThemeContext);\n\nexport const ThemeProvider = ({ children }: { children: React.ReactNode }) => {\n const [theme, setTheme] = useState(MeepTheme);\n\n const [ThemeMaterial, setThemeMaterial] = useState(\n createTheme({\n palette: {\n background: {\n default: MeepTheme.backgroundColor,\n paper: MeepTheme.backgroundColor,\n },\n primary: {\n main: MeepTheme.primaryColor,\n },\n secondary: {\n main: MeepTheme.secondaryColor,\n },\n },\n typography: {\n fontFamily: [\"Roboto\", \"Arial\"].join(\",\"),\n },\n })\n );\n\n const getColorOn = useCallback((color: string) => {\n if (Color(color, \"rgb\").isDark()) {\n return \"#fff\"\n } else {\n return \"#000\"\n }\n }, [])\n\n\n\n useEffect(() => {\n theme.backgroundColor && updateCssVar(\"background\", theme.backgroundColor);\n\n theme.text && updateCssVar(\"text\", getColorOn(theme.backgroundColor));\n\n\n if (theme.primaryDark) \n updateCssVar(\"primaryDark\", theme.primaryDark);\n else\n updateCssVar(\"primaryDark\", theme.primaryColor);\n\n if (theme.secondaryBackground) \n updateCssVar(\"secondaryBackground\", theme.secondaryBackground);\n else\n updateCssVar(\"secondaryBackground\", theme.backgroundColor);\n\n theme.primaryColor && updateCssVar(\"primary\", theme.primaryColor);\n theme.primaryColor && updateCssVar(\"onPrimary\", getColorOn(theme.primaryColor));\n\n\n theme.secondaryColor && updateCssVar(\"secondary\", theme.secondaryColor);\n theme.secondaryColor && updateCssVar(\"onSecondary\", getColorOn(theme.secondaryColor));\n\n theme.accentColor && updateCssVar(\"accent\", theme.accentColor);\n theme.accentColor && updateCssVar(\"onAccent\", getColorOn(theme.accentColor));\n\n setThemeMaterial(\n createTheme({\n palette: {\n type: theme.type,\n background: {\n default: theme.backgroundColor,\n paper: theme.backgroundColor,\n },\n primary: {\n main: theme.primaryColor,\n },\n secondary: {\n main: theme.secondaryColor,\n },\n },\n typography: {\n fontFamily: [\"Roboto\", \"Arial\"].join(\",\"),\n },\n })\n );\n\n return () => { };\n }, [getColorOn, theme]);\n\n\n const detectThemeByUrl = useCallback((url?: string) => {\n if (url) {\n\n switch (url) {\n case \"palmeiras\":\n setTheme(PalmeirasTheme);\n break\n case \"foodhalldadobier\":\n setTheme(FoodHallDadoBierTheme);\n break\n // case 'arenamrv':\n // setTheme(ArenaMRVTheme);\n // break\n case 'mineirao':\n setTheme(MineiraoTheme);\n break\n case 'outland':\n setTheme(OutLandTheme);\n break\n case 'arenamrv':\n setTheme(ArenaMRVTheme);\n break \n default:\n setTheme(MeepTheme);\n break\n }\n }\n\n return () => {\n\n }\n }, [setTheme])\n\n\n const updateCssVar = (cssVar: string, value: string) => {\n document.documentElement.style.setProperty(`--${cssVar}`, value);\n };\n\n return (\n \n \n
\n {children}\n
\n
\n
\n );\n};\n\nexport const useTheme = () => {\n const context = useContext(ThemeContext);\n return context;\n};\n","import { useLocation } from \"react-router-dom\";\n\nfunction useQuery() {\n const query = new URLSearchParams(useLocation().search)\n\n return {\n query\n }\n}\n\nexport default useQuery","/* eslint-disable react-hooks/exhaustive-deps */\nimport { useTheme } from 'context/theme/ThemeContext';\nimport { Catalog } from 'models/catalog/aggregates/Catalog';\nimport { useCallback, useEffect, useState } from 'react'\nimport { useParams, useLocation, useHistory } from 'react-router-dom';\nimport { CatalogApi } from 'services/Api/catalog/CatalogApi';\nimport useQuery from 'utils/useQuery';\nimport { GetProductFromCatalogById } from './useCases/GetProductFromCatalogById';\n\nconst useCatalogContext = () => {\n const [catalog, setCatalog] = useState();\n const [onLoading, setOnLoading] = useState(false);\n\n const { url } = useParams<{ url: string }>();\n const { pathname } = useLocation();\n const { replace } = useHistory();\n const { detectThemeByUrl } = useTheme();\n const { query } = useQuery();\n\n const forcedChangeCatalog = useCallback(\n (catalog: Catalog) => {\n if (catalog.id === \"615fec29-5c8c-8f99-d431-55ec25f1aa26\") { //Casa Cor\n return { ...catalog, hideCompositions: true }\n } else {\n return catalog;\n }\n },\n [],\n )\n\n const goToFirtsStore = useCallback(\n (catalog: Catalog, listId?: string) => {\n if (pathname !== `${pathname}/${catalog.stores[0].id}}`) {\n // replace(`/${url}/${catalog.stores[0].id}`)\n replace(`/${url}/${catalog.stores[0].id}${listId ? \"?listId=\" + listId : \"\"}`)\n }\n },\n [pathname, replace, url],\n )\n\n useEffect(() => {\n const catalogApi = CatalogApi();\n setOnLoading(true);\n const listId = query?.get(\"listId\");\n if (listId) {\n sessionStorage.setItem(\"@listid\", listId.toLowerCase());\n catalogApi.GetCatalogByListId(url, listId).then((response) => {\n setCatalog(forcedChangeCatalog(response.data));\n }).finally(() => {\n setOnLoading(false);\n });\n } else {\n catalogApi.getCatalogByUrl(url).then((response) => {\n setCatalog(forcedChangeCatalog(response.data));\n\n }).finally(() => {\n setOnLoading(false);\n });\n }\n\n return () => { };\n }, [url]);\n\n const storesLengthRedirect = useCallback(() => {\n if (catalog && catalog?.stores?.length === 1) {\n const listId = query?.get(\"listId\");\n goToFirtsStore(catalog, listId ?? undefined)\n }\n }, [catalog, goToFirtsStore])\n\n const getProductFromCatalog = useCallback((productId: string) => {\n if (catalog) {\n return GetProductFromCatalogById(catalog, productId)\n }\n }, [catalog]);\n\n\n\n useEffect(() => {\n\n detectThemeByUrl(url)\n\n }, [detectThemeByUrl, url])\n\n\n return (\n {\n catalog,\n onLoading,\n storesLengthRedirect,\n getProductFromCatalog\n }\n )\n}\n\nexport default useCatalogContext\n","import { Catalog } from \"models/catalog/aggregates/Catalog\"\n\nexport const GetProductFromCatalogById = (catalog: Catalog, productId: string) => {\n\n const getProductFromCatalogById = (catalog: Catalog, productId: string) => {\n return catalog.stores.flatMap(store => store.seccionedProduct.flatMap(section => section.products)).find(product => product.id === productId)\n }\n\n return (\n getProductFromCatalogById(catalog, productId)\n )\n}\n","import { Product } from \"models/catalog/aggregates/Product\";\nimport React, { createContext, FC, useContext } from \"react\";\nimport { Catalog } from \"../../models/catalog/aggregates/Catalog\";\nimport useCatalogContext from \"./UseCatalogContext\";\n\ninterface ICatalogContext {\n catalog: Catalog | undefined;\n onLoading?: boolean;\n getProductFromCatalog: (produtoId: string) => Product | undefined\n storesLengthRedirect: () => void\n}\n\nconst CatalogContext = createContext({} as ICatalogContext);\n\nexport const CatalogProvider: FC<{ children: React.ReactNode }> = ({ children }) => {\n\n const catalog = useCatalogContext();\n\n return (\n \n {children}\n \n );\n};\n\nexport const useCatalog = () => {\n const context = useContext(CatalogContext);\n return context;\n};\n","import React, { FC } from 'react'\nimport { Link, useParams } from 'react-router-dom'\nimport styles from './Menu.module.scss'\nimport { useCatalog } from 'context/catalog/CatalogContext'\n\nexport interface IMenuProps {\n //propertys\n onClickOut?: () => void\n onClickLogin?: () => void\n}\nconst Menu: FC = ({ onClickOut, onClickLogin }) => {\n const { storeId, url } = useParams<{ storeId: string; url: string }>();\n const { catalog } = useCatalog();\n\n return (\n
\n
\n
    \n {url &&
  • Início
  • }\n {url && storeId &&
  • Cardápio
  • }\n {catalog?.enableShoppingCart !== false && (\n
  • Pedidos
  • \n )}\n {/*
  • Reservas
  • */}\n {onClickLogin &&
  • Entrar
  • }\n {onClickOut &&
  • Sair
  • }\n
\n
\n
\n {/* \"Logo\n
    \n
  • Ajuda
  • \n
*/}\n
\n
\n )\n}\nexport default Menu","import { Button, Dialog, DialogActions, DialogContent, DialogTitle, Drawer, Icon, IconButton } from '@material-ui/core'\nimport BackButton from 'components/ui/backButton/BackButton'\nimport React, { FC, useCallback, useState } from 'react'\nimport { Header } from '../../../../components/header/Header'\nimport { useAuth } from '../../../../context/auth/AuthContext'\nimport { useUi } from '../../../../context/ui/UIContext'\nimport Menu from '../../privateLayout/menu/Menu'\nimport './PrivateHeader.css'\n\ninterface PrivateHeaderProps {\n // onClickMenu?: () => void\n menuDisabled?: boolean;\n confirmBack?: boolean;\n onClickBack?: () => void;\n title?: string\n}\nexport const PrivateHeader: FC = ({ menuDisabled, onClickBack, confirmBack, title }) => {\n const { logout, isAuth, openModalLogin } = useAuth();\n const { isIframe } = useUi();\n const [openMenu, setopenMenu] = useState(false);\n\n const [dialogLogoutOpen, setdialogLogoutOpen] = useState(false);\n const [dialogSairOpen, setdialogSairOpen] = useState(false);\n\n const onClickLogout = () => {\n logout();\n setdialogLogoutOpen(false);\n }\n\n const onClickConfirmBack = useCallback(() => {\n if (isIframe) {\n window.parent.postMessage({ command: \"CLOSE\" }, \"*\")\n } else {\n onClickBack && onClickBack();\n }\n }, [isIframe, onClickBack])\n\n const onClickBackHandle = useCallback(\n () => {\n if (confirmBack) {\n setdialogSairOpen(true);\n } else {\n onClickConfirmBack();\n }\n },\n [confirmBack, onClickConfirmBack],\n )\n\n\n const onClickLogin = useCallback(() => {\n openModalLogin();\n }, [openModalLogin])\n\n const onClickMenu = useCallback(() => {\n setopenMenu(prev => !prev);\n }, [])\n\n return (\n
\n \n {\n (isIframe || onClickBack) &&\n \n }\n
\n }\n center={\n

{title}

\n }\n end={\n <>\n {\n menuDisabled ?\n
\n {/* account_circle */}\n { setdialogLogoutOpen(true) }}>logout\n
\n :\n
\n menu\n
\n }\n \n }\n />\n { setdialogLogoutOpen(false) }} >\n Sair?\n \n Você tem certeza que deseja sair?\n \n \n \n \n \n \n\n { setdialogSairOpen(false) }} >\n Pedido em andamento\n \n Seu pedido ainda não foi concluído tem certeza que deseja voltar?\n \n \n \n \n \n \n\n setopenMenu(false)}>\n setdialogLogoutOpen(true) : undefined}\n onClickLogin={!isAuth ? () => onClickLogin() : undefined} />\n\n \n \n )\n}\n","import { Container } from '@material-ui/core'\nimport React, { FC, HTMLProps, useEffect, useState } from 'react'\nimport { PrivateHeader } from '../Components/privateHeader/PrivateHeader'\nimport Menu from './menu/Menu'\nimport styles from './PrivatePage.module.scss'\n\ninterface PrivatePageProps extends HTMLProps {\n onClickBack?: () => void;\n title?:string;\n children: React.ReactNode;\n}\n\nexport const PrivatePage: FC = ({ children, onClickBack, title, ...props }) => {\n const [isSmall, setisSmall] = useState(false);\n\n useEffect(() => {\n const verificarTela = () => {\n if (window.screen.width > 1000) {\n setisSmall(false);\n } else {\n setisSmall(true)\n }\n }\n verificarTela()\n window.addEventListener(\"resize\", () => verificarTela())\n }, [])\n\n return (\n
\n \n \n
\n
\n \n
\n
\n
\n {children}\n
\n
\n
\n
\n
\n )\n}\n","import { Button, ButtonBase, CircularProgress, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, Icon, IconButton, Modal, TextField } from '@material-ui/core'\nimport { useUi } from 'context/ui/UIContext'\nimport { ICoupon } from 'models/coupon/ICoupon'\nimport { PaymentType } from 'models/payment/IPay'\nimport React, { FC, FormEvent, useCallback, useEffect, useState } from 'react'\n\nimport CalcCoupon from './CalcCoupon'\nimport styles from './CouponInput.module.scss'\nimport { format } from 'date-fns'\n\nexport interface ICouponInputProps {\n //propertys\n selectedCoupon?: ICoupon\n onSelectCoupon?: (coupon: ICoupon | undefined) => void\n onSubmit: (code: string) => void\n coupons?: ICoupon[]\n isLoading?: boolean;\n total: number;\n paymentType: PaymentType;\n onlinePayment: boolean;\n}\n\nconst CouponInput: FC = ({ onSubmit, isLoading, selectedCoupon, coupons, onSelectCoupon, total, paymentType, onlinePayment }) => {\n\n const [values, setValues] = useState({ code: \"\" });\n const [openCoupons, setOpenCoupons] = useState(false);\n const { toast } = useUi();\n const [rules, setRules] = useState()\n\n const changeHandle = useCallback((value: string) => {\n setValues((prev) => ({ ...prev, code: value }));\n }, []);\n\n const submitHandle = useCallback((ev: FormEvent) => {\n ev.preventDefault();\n onSubmit(values.code)\n }, [onSubmit, values.code])\n\n useEffect(() => {\n\n if (selectedCoupon && (paymentType !== PaymentType.CREDITO || !onlinePayment)) {\n onSelectCoupon?.(undefined);\n toast(\"Cupom disponivel apenas para pagamento no aplicativo\", \"warning\")\n }\n }, [onSelectCoupon, onlinePayment, paymentType, selectedCoupon, toast])\n\n return (\n
\n

Cupom

\n {\n selectedCoupon ?\n \n
setOpenCoupons(true)} className={styles.item}>\n
{selectedCoupon.code}
\n
{selectedCoupon.name}
\n
{selectedCoupon.description}
\n
\n onSelectCoupon?.(undefined)} >close\n
\n :\n <>\n setOpenCoupons(true)} className={styles.couponButton} >\n addAdicionar Cupom\n \n\n \n }\n setOpenCoupons(false)} className={styles.modalContainer}>\n
\n {\n isLoading &&
\n \n
\n }\n

Cupom

\n
\n changeHandle(ev.target.value)}\n disabled={isLoading}\n size='small'\n fullWidth\n />\n \n check\n \n \n {coupons?.map((couponItem) => (\n \n { onSelectCoupon?.(couponItem); setOpenCoupons?.(false) }}\n >\n
{couponItem.code}
\n
{couponItem.name}
\n
{couponItem.description}
\n
{couponItem.finishAt ? format(new Date(couponItem.finishAt), 'dd/MM/aaaa HH:mm') : ''}
\n
{CalcCoupon(total, couponItem).ableTo}
\n
\n
setRules(couponItem.rules)}>Ver regras
\n \n ))\n }\n
\n \n setRules(undefined)}>\n \n Termos\n \n \n \n {rules?.map((item) =>
{item}
)}\n
\n
\n \n
\n\n )\n}\nexport default CouponInput","\nexport enum PaymentStatus {\n PAGAMENTO_REALIZADO = 3,\n CANCELADO = 4,\n}","import React, { FC, useCallback, useEffect } from 'react'\nimport styles from './PixPage.module.scss'\nimport { Button, Icon, IconButton } from '@material-ui/core'\nimport { IPixValues } from 'context/payment/PaymentContext';\nimport { toast } from 'react-toastify';\nimport { PaymentApi } from 'services/Api/payment/PaymentApi';\nimport { PaymentStatus } from 'models/payment/PaymentStatus';\n\nexport interface IPixPageProps {\n //propertys\n orderId: string,\n data: IPixValues,\n total: number,\n onClose?: () => void,\n onPaymentSuccess: (orderId: string) => void,\n}\nconst PixPage: FC = ({ data, onPaymentSuccess: paymentSuccess, orderId, total, onClose }) => {\n\n const veryfyPixPayment = useCallback(async () => {\n const response = await PaymentApi().getPaymentStatus(orderId)\n if (response.id === PaymentStatus.PAGAMENTO_REALIZADO) {\n paymentSuccess?.(orderId)\n }\n }, [orderId, paymentSuccess])\n\n\n useEffect(() => {\n const timer = setInterval(() => {\n veryfyPixPayment();\n }, 5000)\n\n return () => {\n clearInterval(timer)\n }\n }, [veryfyPixPayment])\n\n const onClickCopy = useCallback(() => {\n window.navigator.clipboard.writeText(data.key);\n toast(\"Codigo copiado com sucesso\", { type: \"info\", delay: 2000 })\n }, [data.key])\n\n\n return (\n
\n

PIX

\n {onClose && close}\n
\n {/* */}\n Ler QRCode para efeturar o pagmento \n

{new Intl.NumberFormat(\"pt-BR\", {\n style: \"currency\",\n currency: \"BRL\",\n }).format(total)}

\n {\"QRCode\n Ou clique em copiar chave\n {/*
{data.key}
*/}\n \n
\n
\n )\n}\nexport default PixPage;","import { Button } from '@material-ui/core'\nimport React, { FC } from 'react'\nimport styles from './ConfirmPlace.module.scss'\nexport interface IConfirmPlaceProps {\n //propertys\n onClickConfirmar: () => void,\n onClickVoltar: () => void,\n table?: string;\n}\nconst ConfirmPlace: FC = ({ onClickConfirmar, onClickVoltar, table }) => {\n return (\n
\n

\n Confirmação de local\n

\n \n Você confirma que o pedido realizado é referente a {table}\n \n \n \n
\n )\n}\nexport default ConfirmPlace","import React, { useEffect, useMemo } from \"react\";\nimport { Container, Dialog, Drawer, Grid } from \"@material-ui/core\";\nimport { InfoOutlined } from '@material-ui/icons'\nimport { ResumeView } from \"./resume/ResumeView\";\nimport { DeliverySelect } from \"./deliverySelect/DeliverySelect\";\nimport { PaymentSelect } from \"./PaymentSelect/PaymentSelect\";\nimport { usePayment } from \"../../context/payment/PaymentContext\";\nimport { DeliveryAddressItem } from \"./deliverySelect/deliveryAddressItem/DeliveryAddressItem\";\nimport { useParamsConfig } from \"../../context/paramsConfig/ParamsConfigContext\";\nimport { PrivatePage } from \"pages/private/privateLayout/PrivatePage\";\nimport { useHistory } from \"react-router-dom\";\nimport CouponInput from \"./coupon/CouponInput\";\nimport PixPage from \"./pixPage/PixPage\";\nimport ConfirmPlace from \"./confirmPlace/ConfirmPlace\";\nimport { PaymentType } from \"models/payment/IPay\";\nimport styles from './PaymentPage.module.scss';\n\nexport const PaymentPage = () => {\n const {\n confirmarPagamento,\n orderDetail,\n setPaymentType,\n card,\n deliveryType,\n deliveryFee,\n paymentType,\n setChange,\n change,\n setInstallment,\n installment,\n setCard,\n storeConfig,\n setAddress,\n address,\n setDeliveryType,\n setCustomDeliveryDescription,\n customDeliveryDescription,\n orderPads,\n setSelectedOrderPad,\n selectedOrderPad,\n selectedCoupon,\n isLoadingCoupon,\n activateCoupon,\n setSelectedCoupon,\n coupons,\n serviceFee,\n setAcceptServiceFee,\n pixValues,\n enviarMensagemDeConfirmacao,\n confimPlaceModal,\n onClickConfirmarAndOpenPlaceAlert,\n closePlaceAlert,\n setWallet,\n } = usePayment();\n\n useEffect(() => {\n window.scrollTo({ top: Number.MAX_SAFE_INTEGER, behavior: \"smooth\" });\n return () => { };\n }, [setPaymentType, card, deliveryType]);\n\n const { queryParams } = useParamsConfig();\n const { goBack } = useHistory();\n\n const localStore = useMemo(() => localStorage.getItem('@storagePlace-' + storeConfig?.storeId), [storeConfig])\n \n return (\n \n \n {orderDetail ? (\n \n \n \n \n\n \n {queryParams?.queryPlace || localStore ? (\n <>\n
Local de Entrega
\n \n
{queryParams?.queryDescription && queryParams?.queryDescription !== \"\" ? queryParams?.queryDescription : storeConfig?.customDeliveryDescription}
\n
\n {queryParams?.queryPlace || localStore}\n
\n
\n \n ) : (\n \n )}\n
\n\n {orderDetail.amount > 0 && (\n <>\n \n \n\n \n {\n (paymentType === PaymentType.CREDITO || paymentType === PaymentType.DEBITO || paymentType === PaymentType.WALLET) &&\n \n \n \n }\n\n

Para realizar o cancelamento do consumo entre em contato com o estabelecimento.

\n\n \n Finalizar Pagamento\n \n \n )}\n \n ) : (\n
\n )}\n \n \n {pixValues && orderDetail?.id &&\n }\n \n \n \n \n \n );\n};\n","import { IOrderInProgressProduct } from \"./IInProgressOrder\";\n\n\nexport enum EnumPrinterStatus {\n InQueue = 1,\n Printed = 2\n};\n\nexport interface printerStatus {\n status: EnumPrinterStatus;\n createdAt: string;\n id: string;\n message?: string;\n pedidoId: string;\n printOrder: string;\n updatedAt: string;\n}\n\nexport interface IOrderInProgress {\n total: number;\n created: Date;\n productsDetails: IOrderInProgressProduct[];\n storeId: string;\n storeName: string;\n deliveryTime: number;\n estimatedTime: Date;\n id: string;\n status: string;\n printerStatus?: printerStatus[]\n}\n","import React, { FC } from 'react'\nimport { IOrderInProgressProduct } from '../../../../../../models/order/aggregates/progress/IInProgressOrder'\nimport \"./ProductItemDetail.css\"\ninterface IProductDetailsProps {\n productDetail: IOrderInProgressProduct\n}\nexport const ProductItemDetail: FC = ({ productDetail }) => {\n return (\n
\n
\n
\n {productDetail.quantity}\n
\n
\n {productDetail.name}\n
\n
\n
\n R${productDetail.total.toFixed(2)}\n
\n
\n )\n}\n","export enum StatusOrder {\n pendente = \"Pendente\",\n recusado = \"Recusado\",\n aceito = \"Aceito\",\n aceitoENaoImpresso = \"aceitoSemImpressora\",\n atraso = \"Atraso\",\n preparo = \"Em preparo\",\n transporte = \"Em transporte\",\n retirar = \"Retirar no estabelecimento\",\n entregue = \"Entregue\",\n devolvido = \"Devolvido\"\n}\n","import { Icon } from '@material-ui/core'\nimport React, { FC } from 'react'\nimport './StatusItem.css'\n\nexport enum StatusState {\n disabled = 1,\n enabled,\n concluded,\n hidden,\n canceled,\n}\n\n\ninterface StatusItemProps {\n state: StatusState,\n index: number;\n children?: React.ReactNode;\n}\nexport const StatusItem: FC = ({ state, children, index }) => {\n return (\n
\n\n {state === StatusState.disabled &&\n
\n {index}\n
\n }\n {state === StatusState.enabled &&\n
\n \n check\n \n
\n }\n {state === StatusState.concluded &&\n
\n \n check\n \n
\n }\n {state === StatusState.canceled &&\n
\n \n close\n \n
\n }\n {children}\n
\n )\n}\n","import { StatusOrder } from 'models/order/aggregates/tracking/StatusOrder'\nimport React, { FC, useEffect, useState } from 'react'\nimport { StatusItem, StatusState } from './statusItem/StatusItem'\n\n\nexport interface IStatusMode {\n pendente: StatusState\n recusado: StatusState\n aceito: StatusState\n preparo: StatusState\n transporte: StatusState\n retirar: StatusState\n entregue: StatusState\n Devolvido: StatusState\n}\n\n\ninterface ITimeLineStatusProps {\n statusOrder: StatusOrder\n}\n\n\nexport const TimeLineStatus: FC = ({ statusOrder }) => {\n\n const [statusMode, setstatusMode] = useState(\n\n {\n pendente: StatusState.disabled,\n recusado: StatusState.disabled,\n aceito: StatusState.disabled,\n preparo: StatusState.disabled,\n transporte: StatusState.disabled,\n retirar: StatusState.hidden,\n entregue: StatusState.hidden,\n Devolvido: StatusState.hidden\n }\n\n )\n\n useEffect(() => {\n\n\n switch (statusOrder) {\n case StatusOrder.pendente:\n\n setstatusMode(\n {\n pendente: StatusState.enabled,\n aceito: StatusState.disabled,\n preparo: StatusState.disabled,\n transporte: StatusState.disabled,\n retirar: StatusState.hidden,\n entregue: StatusState.hidden,\n recusado: StatusState.hidden,\n Devolvido: StatusState.hidden\n }\n )\n\n break;\n case StatusOrder.recusado:\n setstatusMode(\n {\n pendente: StatusState.enabled,\n aceito: StatusState.hidden,\n preparo: StatusState.hidden,\n transporte: StatusState.hidden,\n retirar: StatusState.hidden,\n entregue: StatusState.hidden,\n recusado: StatusState.hidden,\n Devolvido: StatusState.canceled\n }\n )\n break;\n case StatusOrder.aceito:\n setstatusMode(\n {\n pendente: StatusState.concluded,\n aceito: StatusState.enabled,\n preparo: StatusState.disabled,\n transporte: StatusState.disabled,\n retirar: StatusState.hidden,\n entregue: StatusState.hidden,\n recusado: StatusState.hidden,\n Devolvido: StatusState.hidden\n }\n )\n break;\n case StatusOrder.preparo:\n setstatusMode(\n {\n pendente: StatusState.concluded,\n aceito: StatusState.concluded,\n preparo: StatusState.enabled,\n transporte: StatusState.disabled,\n retirar: StatusState.hidden,\n entregue: StatusState.hidden,\n recusado: StatusState.hidden,\n Devolvido: StatusState.hidden\n }\n )\n break;\n case StatusOrder.transporte:\n setstatusMode(\n {\n pendente: StatusState.concluded,\n aceito: StatusState.concluded,\n preparo: StatusState.concluded,\n transporte: StatusState.enabled,\n retirar: StatusState.hidden,\n entregue: StatusState.hidden,\n recusado: StatusState.hidden,\n Devolvido: StatusState.hidden\n }\n )\n break;\n case StatusOrder.retirar:\n setstatusMode(\n {\n pendente: StatusState.concluded,\n aceito: StatusState.concluded,\n preparo: StatusState.concluded,\n transporte: StatusState.concluded,\n retirar: StatusState.enabled,\n entregue: StatusState.hidden,\n recusado: StatusState.hidden,\n Devolvido: StatusState.hidden\n }\n )\n break;\n case StatusOrder.entregue:\n setstatusMode(\n {\n pendente: StatusState.concluded,\n aceito: StatusState.concluded,\n preparo: StatusState.concluded,\n transporte: StatusState.concluded,\n retirar: StatusState.hidden,\n entregue: StatusState.enabled,\n recusado: StatusState.hidden,\n Devolvido: StatusState.hidden\n }\n )\n break;\n case StatusOrder.devolvido:\n setstatusMode(\n {\n pendente: StatusState.concluded,\n aceito: StatusState.concluded,\n preparo: StatusState.concluded,\n transporte: StatusState.concluded,\n retirar: StatusState.hidden,\n entregue: StatusState.hidden,\n recusado: StatusState.hidden,\n Devolvido: StatusState.enabled\n }\n )\n break;\n }\n\n return () => {\n\n }\n }, [statusOrder])\n\n\n return (\n
\n {StatusOrder.pendente}\n Pronto! Seu pedido foi aceito\n Estamos preparando seu pedido.\n Oba! seu pedido já saiu para entrega.\n Oba! Seu pedido já está pronto.\n Entregue\n Pedido cancelado.\n
\n )\n}\n\n\n","import { format } from 'date-fns'\nimport React, { FC } from 'react'\nimport { IOrderTracking } from 'models/order/aggregates/tracking/IOrderTracking'\nimport \"./OrderTracking.css\"\nimport { TimeLineStatus } from './timeLineStatus/TimeLineStatus'\nimport { Button, Icon } from '@material-ui/core'\nimport QRCode from \"qrcode.react\";\n\n\ninterface IOrderTrackingProps {\n orderTracking: IOrderTracking;\n}\n\nexport const OrderTracking: FC = ({ orderTracking }) => {\n\n return (\n\n
\n
PEDIDO: #{orderTracking.Code}
\n
\n
\n\n {/*
{orderTracking.Id}
*/}\n
Criado em: {format(new Date(orderTracking.CriationDate), \"HH:mm dd/MM/yyyy\")}
\n {\n orderTracking.AcceptDate &&\n
Aceito em: {format(new Date(orderTracking.AcceptDate), \"HH:mm dd/MM/yyyy\")}
\n }\n
Tipo de pagamento: {orderTracking.KindPay}
\n
Valor do Pedido: R${orderTracking.Amount.toFixed(2).replace(\".\", \",\")}
\n {!!orderTracking.Duration &&\n
Tempo estimado: {orderTracking.Duration}
\n }\n\n\n
\n
\n Pedido:\n
\n\n
\n {orderTracking.Items.map((item) => (\n
{item.Quantidade} {item.NomeProduto} {item.Valor.toFixed(2).replace(\".\", \",\")}
\n ))}\n
\n
\n
\n\n
\n \n
\n
\n {}\n {\n !!orderTracking.TrackingKey &&\n \n }\n
\n
\n
\n )\n}\n","import { IOrderTracking } from \"models/order/aggregates/tracking/IOrderTracking\";\nimport api from \"../Api\";\n\nexport const OrderTrackingApi = () => {\n\n const getStatusOrders = async (orderId: string) => {\n const response = await api.get(`MeepFood/Order/${orderId}`);\n return response\n };\n\n return {\n getStatusOrders\n }\n}","import React, { FC, useCallback, useEffect, useMemo, useState } from \"react\";\nimport { EnumPrinterStatus, IOrderInProgress } from \"models/order/aggregates/progress/IOrderInProgress\";\nimport \"./OrderInProgressItem.css\";\nimport QRCode from \"qrcode.react\";\nimport { format, addHours, differenceInMinutes } from \"date-fns\";\nimport { ProductItemDetail } from \"./productItemDetails/ProductItemDetail\";\nimport { Button, CircularProgress, Drawer, Icon } from \"@material-ui/core\";\nimport { OrderTracking } from \"../../../orderTracking/OrderTracking\";\nimport { OrderTrackingApi } from \"services/Api/order/OrderTrackingApi\";\nimport { IOrderTracking } from \"models/order/aggregates/tracking/IOrderTracking\";\n\ninterface IOrderInProgressItemProps {\n orderInProgress: IOrderInProgress;\n}\nexport const OrderInProgressItem: FC = ({ orderInProgress }) => {\n const [openQrCode, setOpenQrCode] = useState(false);\n const [openTracking, setOpenTracking] = useState(false);\n\n const orderTrackingApi = useMemo(OrderTrackingApi, []);\n const [orderTracking, setorderTraking] = useState();\n\n const getOrderTracking = useCallback(async () => {\n const response = await orderTrackingApi.getStatusOrders(orderInProgress.id);\n if (response.data) {\n setorderTraking(response.data);\n }\n }, [orderInProgress.id, orderTrackingApi]);\n\n useEffect(() => {\n const time = setInterval(() => {\n getOrderTracking();\n }, 30000);\n return () => {\n clearInterval(time);\n };\n }, [getOrderTracking]);\n\n useEffect(() => {\n getOrderTracking();\n return () => { };\n }, [getOrderTracking]);\n\n const calcTime = (time: string) => {\n const difference = differenceInMinutes(new Date(), addHours(new Date(time), -3))\n return difference\n }\n\n return (\n <>\n
\n
\n
\n
{orderInProgress.storeName}
\n {\n orderInProgress.printerStatus?.length\n && orderInProgress.printerStatus[0].status !== EnumPrinterStatus.Printed ? (\n calcTime(orderInProgress.printerStatus[0].createdAt) < 5 ?\n
\n \n Enviando pedido aguarde\n
:\n
\n {\"Pedido esta demorando mais do que o esperado \\n Solicite um garçom\"}\n
\n )\n :\n orderInProgress.status &&
{orderTracking?.CurrentState ?? orderInProgress.status}
\n }\n
Realizado em: {format(addHours(new Date(orderInProgress.created), -3), \"HH:mm dd/MM/yyyy\")}
\n Pedido:\n
\n
\n {orderInProgress.productsDetails.map((productsDetail, index) => (\n \n ))}\n
\n
\n
\n
Total:
\n
R${orderInProgress.total.toFixed(2)}
\n
\n {/*
\n qr_code_2\n
*/}\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n setOpenQrCode(false)}>\n
\n \n
{orderInProgress.storeName}
\n
{format(new Date(orderInProgress.created), \"HH:mm dd/MM/yyyy\").toLocaleLowerCase(\"pt-BR\")}
\n
R${orderInProgress.total.toFixed(2)}
\n
\n
\n {orderTracking && (\n setOpenTracking(false)}>\n \n \n )}\n \n );\n};\n","\nimport React, { FC } from 'react'\nimport { IOrderInProgress } from \"../../../../models/order/aggregates/progress/IOrderInProgress\"\nimport { OrderInProgressItem } from './orderInProgressItem/OrderInProgressItem'\nimport \"./OrdersInProgressList.css\"\ninterface IOrdersInProgressListProps {\n ordersInProgressList: IOrderInProgress[]\n}\n\nexport const OrdersInProgressList: FC = ({ ordersInProgressList }) => {\n return (\n
\n
\n {!!ordersInProgressList.length ?\n
\n {ordersInProgressList.map((orderInProgress, index) => ())}\n
\n :\n
\n Nenhum Pedido em andamento\n
\n }\n
\n
\n )\n}\n","import { CardBrandRule, CardBrandType } from \"models/payment/ICard\";\n\nexport default class Utils {\n public static toDateAndTime(date: string) {\n const adjustedDate = !date.endsWith(\"Z\") ? `${date}Z` : date;\n return `${new Date(adjustedDate).toLocaleDateString([], {\n year: \"2-digit\",\n month: \"2-digit\",\n day: \"2-digit\",\n })} - ${new Date(adjustedDate).toLocaleTimeString([], {\n timeStyle: \"short\",\n hour12: false,\n })}`;\n }\n\n public static toDate(date: Date | string, adjusteUTC?: boolean) {\n date = date instanceof Date ? date : new Date(date);\n const adjustedDate = new Date(\n new Date(date.getTime() - 3 * 60 * 60 * 1000).toLocaleString(\"pt-BR\")\n );\n return `${(adjusteUTC ? adjustedDate : date).toLocaleDateString([], {\n year: \"numeric\",\n month: \"2-digit\",\n day: \"2-digit\",\n })}`;\n }\n\n public static toTime(date: Date | string, adjusteUTC?: boolean) {\n date = date instanceof Date ? date : new Date(date);\n const adjustedDate = new Date(\n new Date(date.getTime() - 3 * 60 * 60 * 1000).toLocaleString(\"pt-BR\")\n );\n return `${(adjusteUTC ? adjustedDate : date).toLocaleTimeString([\"pt-br\"], {\n timeStyle: \"short\",\n hour12: false,\n })}`;\n }\n\n public static toInputDateString(date: Date | string) {\n date = date instanceof Date ? date : new Date(date);\n return `${date\n .toLocaleDateString(\"pt-BR\", {\n year: \"numeric\",\n month: \"2-digit\",\n day: \"2-digit\",\n })\n .split(\"/\")\n .reverse()\n .join(\"-\")}T${date.toLocaleTimeString([], {\n timeStyle: \"short\",\n hour12: false,\n })}`;\n }\n\n public static toCardBrand(cardNumber: string): CardBrandType {\n const cardBrandRules: { [key in CardBrandType]: CardBrandRule } = {\n [CardBrandType.Unknown]: { prefixes: [], lengths: [] },\n [CardBrandType.Visa]: { prefixes: [\"4\"], lengths: [13, 16, 19] },\n [CardBrandType.Mastercard]: {\n prefixes: [\"51\", \"52\", \"53\", \"54\", \"55\"],\n lengths: [16],\n },\n [CardBrandType.Elo]: {\n prefixes: [\n \"4011\",\n \"4312\",\n \"4389\",\n \"4576\",\n \"5041\",\n \"5067\",\n \"5078\",\n \"5080\",\n \"6500\",\n ],\n lengths: [16, 19],\n },\n [CardBrandType.Amex]: { prefixes: [\"34\", \"37\"], lengths: [15] },\n };\n\n const isMatchingBrand = (\n cardNumber: string,\n rule: CardBrandRule\n ): boolean => {\n const matchesPrefixss = rule.prefixes.find((prefix) =>\n cardNumber.startsWith(prefix)\n );\n const matchesPrefix = rule.prefixes.some((prefix) =>\n cardNumber.startsWith(prefix)\n );\n const matchesLength = rule.lengths.includes(cardNumber.length);\n return matchesPrefix && matchesLength;\n };\n\n for (const brand in cardBrandRules) {\n const rule = cardBrandRules[brand as unknown as CardBrandType];\n if (isMatchingBrand(cardNumber, rule)) {\n return brand as unknown as CardBrandType;\n }\n }\n\n return CardBrandType.Unknown;\n }\n}\n","import React, { FC } from 'react'\nimport { HistoryOrderStatusString, IHistorySectionOrder } from '../../../../models/order/aggregates/history/IOrderHistory'\nimport \"./OldOrderList.css\"\nimport { PaymentTypeString } from '../../../../models/payment/IPay'\nimport Utils from 'utils/utils'\ninterface OldOrderListProps {\n orders: IHistorySectionOrder\n}\nconst OldOrderList: FC = ({ orders }) => {\n\n return (\n
\n
\n
\n {Utils.toDate(orders.date, true)}\n
\n
\n {orders.orders.map((order,index) =>\n (\n
\n
\n
\n {order.historyStore.name}\n
\n
\n {Utils.toTime(order.createdAt, true)}\n
\n
\n
\n {HistoryOrderStatusString(order.status)}\n
\n
\n Pedido:\n
\n {order.historyOrderItems.map((orderItem, itemIndex) => (\n
\n
\n {orderItem.quantity}x {orderItem.name}\n
\n
\n R${orderItem.value.toFixed(2).replace(\".\", \",\")}\n
\n
\n ))}\n
\n
\n
\n {\n !!order.historyPayment.length &&\n
\n Pagamento:\n {order.historyPayment.map((payment) => (PaymentTypeString(payment.type) + \" \"))}\n
\n }\n
\n Total:\n R${order.amount.toFixed(2).replace(\".\", \",\")}\n
\n
\n
\n )\n )}\n
\n
\n
\n )\n}\n\nexport default OldOrderList\n","import { IAddress } from \"../../../address/IAddress\";\nimport { CoupomType, CouponAppliedInType, CouponValueType } from \"../../../coupon/ICoupon\";\nimport { IComposition, PaymentType } from \"../../../payment/IPay\";\n\nexport interface IHistoryStore {\n id: string;\n name: string;\n imageUrl: string;\n}\n\nexport interface IHistoryPaymentCreditCard {\n id: string;\n brand: string;\n finalNumber: string;\n value: number;\n}\n\nexport interface IHistoryPaymentMeepCard {\n id: string;\n value: number;\n}\n\nexport interface IHistoryOrderItems {\n id: string;\n name: string;\n quantity: number;\n value: number;\n composition?: IComposition[];\n}\n\n\nexport interface IHistoryPayment {\n type: PaymentType;\n creditCard?: IHistoryPaymentCreditCard;\n meepCard?: IHistoryPaymentMeepCard;\n}\n\n\nexport interface IHistoryOrderDiscount {\n percent: number;\n amount: number;\n}\n\n\nexport interface IHistoryOrderCoupon {\n code: string;\n valueType: CouponValueType;\n type: CoupomType;\n appliedIn: CouponAppliedInType;\n value: number;\n amount: number;\n}\n\n\nexport interface IHistoryOrder {\n id: string;\n historyStore: IHistoryStore;\n historyPayment: IHistoryPayment[];\n historyOrderItems: IHistoryOrderItems[];\n historyOrderCoupon?: IHistoryOrderCoupon;\n historyOrderDiscount: IHistoryOrderDiscount;\n deliveryFee: number;\n address: IAddress;\n createdAt: string;\n amount: number;\n status: HistoryOrderStatus;\n \n}\n\nexport interface IHistorySectionOrder {\n date: string;\n orders: IHistoryOrder[];\n}\n\nexport enum HistoryOrderStatus {\n PAGAMENTO_REALIZADO = 3,\n CANCELADO = 4,\n}\nexport const HistoryOrderStatusString = (historyOrderStatus: HistoryOrderStatus) => {\n switch (historyOrderStatus) {\n case (3):\n return \"Pagamento Realizado\"\n case (4):\n return \"Cancelado\"\n }\n}\n\n\n\n// export interface PrinterStatus {\n// Id: string;\n// PedidoId: string;\n// Status: StatusDeImpressaoEnum;\n// LastUpdate: string;\n// CreatedAt: string;\n// Message?: string;\n// PrintedOrders?: string;\n// }","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\nimport { useAuth } from '../../../context/auth/AuthContext'\nimport './OrderHistoryPage.css'\nimport { IOrderInProgress } from \"../../../models/order/aggregates/progress/IOrderInProgress\";\nimport { IHistorySectionOrder } from '../../../models/order/aggregates/history/IOrderHistory'\nimport { OrderHistoryApi } from '../../../services/Api/order/OrderHistoryApi';\nimport { OrdersInProgressList } from './ordersInProgressList/OrdersInProgressList';\nimport { useUi } from '../../../context/ui/UIContext';\nimport OldOrderList from './oldOrdersList/OldOrderList';\n\nexport const OrderHistory = () => {\n\n const orderHistoryApi = OrderHistoryApi();\n const [orderInProgress, setOrderInProgress] = useState()\n const [sectionOrders, setSectionOrders] = useState([])\n const { user } = useAuth()\n const { showLoading, hideLoading } = useUi()\n const isMounted = useRef(true);\n\n const getInProgressOrders = useCallback(\n async () => {\n try {\n showLoading()\n const response = await orderHistoryApi.getInProgressOrders();\n if (response && isMounted.current) { \n setOrderInProgress(response.data);\n }\n } finally {\n hideLoading()\n }\n },\n [],\n )\n\n const getOrderHistory = useCallback(\n async (userId: string) => {\n const response = await orderHistoryApi.getByUser(userId);\n if (response && isMounted.current) { \n setSectionOrders(response.data);\n }\n },\n [],\n )\n\n useEffect(() => {\n isMounted.current = true;\n getOrderHistory(user.id);\n getInProgressOrders();\n return () => {\n isMounted.current = false; \n };\n }, [user])\n\n return (\n
\n
Pedidos em Andamento
\n { orderInProgress && }\n
Pedidos finalizados
\n {sectionOrders.map((orderHistory, index) => (\n \n ))}\n
\n )\n}\n","import { IHistorySectionOrder } from \"models/order/aggregates/history/IOrderHistory\"\nimport { IOrderInProgress } from \"../../../models/order/aggregates/progress/IOrderInProgress\"\nimport api from \"../Api\"\n\nexport const OrderHistoryApi = () => {\n\n const getByUser = (clientId: string, page: number = 1, pagesize: number = 10) => {\n const response = api.get(`/SuperApp/HistoryOrder/ByLocalClient?localClientId=null&filterByStatus=true&page=${page}&pageSize=${pagesize}`)\n return response;\n }\n const getInProgressOrders = async () => {\n const response = await api.get('/SuperApp/Order/GetOrderInProgressByUser');\n return response\n };\n\n\n const getStatusOrders = async (orderId: string) => {\n const response = await api.get(`/Order/${orderId}`);\n return response\n };\n\n // await post(base + \"Order/Cancel\", { id: pedidoPOSId });\n\n\n return { getByUser, getInProgressOrders, getStatusOrders }\n}","import { Icon, IconButton } from '@material-ui/core'\nimport React, { useCallback, useEffect, useState } from 'react'\nimport { useParams } from 'react-router-dom'\nimport { useUi } from '../../../context/ui/UIContext'\nimport { IOrderTracking } from '../../../models/order/aggregates/tracking/IOrderTracking'\nimport { OrderTrackingApi } from '../../../services/Api/order/OrderTrackingApi'\nimport { OrderTracking } from './OrderTracking'\n\nexport const OrderTrackingPage = () => {\n\n\n const { orderId } = useParams<{ orderId: string }>()\n const { showLoading, hideLoading } = useUi();\n const orderTrackingApi = OrderTrackingApi()\n const [orderTracking, setorderTraking] = useState()\n const { isIframe } = useUi()\n\n const getOrderTracking = useCallback(\n async (orderId: string) => {\n showLoading()\n const response = await orderTrackingApi.getStatusOrders(orderId)\n if (response.data) {\n setorderTraking(response.data)\n }\n hideLoading()\n },\n [],\n )\n\n useEffect(() => {\n getOrderTracking(orderId)\n return () => {\n\n }\n }, [orderId])\n\n const onClickConfirmBack = () => {\n window.parent.postMessage({ command: \"CLOSE\" }, \"*\")\n\n }\n\n return (\n <>\n {isIframe &&\n keyboard_backspace\n }\n {\n orderTracking ?\n \n : null\n }\n )\n}\n","import React, { FC } from 'react'\nimport localImg from \"../img/Estabelecimento.svg\"\nimport clientImg from \"../img/Casa.svg\"\nimport currentImg from \"../img/Moto.svg\"\nimport \"./Marker.scss\"\n\ninterface IMarkerProps {\n icon?: string\n lat: number,\n lng: number,\n text: string,\n type: \"current\" | \"client\" | \"local\"\n}\n\nexport const Marker: FC = ({ icon, lat, lng, text, type }) => {\n return (\n
\n {\n type === 'current' &&\n \"\"\n }\n {\n type === 'client' &&\n \"\"\n }\n {\n type === 'local' &&\n \"\"\n }\n {/* {icon ?? \"place\"} */}\n
{text}
\n
\n )\n}\n","import React, { useCallback, useEffect, useRef, useState } from 'react'\nimport GoogleMapReact from 'google-map-react';\nimport { Marker } from './marker/Marker';\nimport { OrderMapTracking } from '../../../../services/Api/order/OrderMapTracking';\nimport { useUi } from '../../../../context/ui/UIContext';\nimport { useParams } from 'react-router-dom';\nimport { IOrderMapTracking } from '../../../../models/order/aggregates/map/IOrderMapTracking';\n\nexport const MapOrderTracking = () => {\n\n const orderMapTracking = OrderMapTracking();\n const { showLoading, hideLoading } = useUi()\n\n const { orderId }: { orderId: string } = useParams()\n const [cord, setCord] = useState()\n\n const onGetPosition= useRef(false)\n const [notFound, setnotFound] = useState(false)\n\n\n const getPositions = useCallback(\n async () => {\n if (!onGetPosition?.current) {\n onGetPosition.current = true;\n try {\n if (!cord) {\n showLoading();\n }\n const response = await orderMapTracking.getCurrent(orderId)\n\n hideLoading();\n\n setCord(response.data)\n } catch (error) {\n setnotFound(true)\n } finally {\n onGetPosition.current =false;\n hideLoading();\n }\n }\n },\n [onGetPosition, cord, orderMapTracking, orderId, hideLoading, showLoading],\n )\n\n\n\n\n useEffect(() => {\n if (cord) {\n\n const timer = setInterval(() => {\n getPositions();\n }, 20000);\n return () => {\n clearTimeout(timer)\n }\n }\n }, [cord])\n\n useEffect(() => {\n getPositions();\n\n }, [])\n\n\n return (\n
\n {\n cord ?\n \n \n \n \n :\n\n notFound &&\n
Pedido não encontrado!
\n\n }\n
\n )\n}\n\n\n","import { IOrderMapTracking } from \"../../../models/order/aggregates/map/IOrderMapTracking\"\nimport api from \"../Api\"\n\nexport const OrderMapTracking = () => {\n\n const getCurrent = async (orderId: string) => {\n const reponse = await api.get(\"/driveapp/Ride/GetById?orderId=\" + orderId)\n return reponse\n }\n\n return {\n getCurrent\n }\n}","import { Button, CircularProgress, TextField } from '@material-ui/core'\nimport React, { FC, useState } from 'react'\nimport './ConfirmPasswordInput.css'\n\n\ninterface IConfirmPasswordInput {\n onSubmit: (password: string) => void\n loading?: boolean\n}\nexport const ConfirmPasswordInput: FC = ({ onSubmit, loading }) => {\n const [password, setPassword] = useState(\"\");\n\n const onsubmit = (event: React.FormEvent) => {\n event.preventDefault();\n if (!loading) {\n onSubmit(password);\n }\n }\n\n return (\n
\n
\n
\n
\n
\n Confirme sua senha\n
\n
\n setPassword(e.target.value.substr(0, 6).replace(\"-\", \"\").replace(\".\", \"\"))}\n >\n
\n
\n
\n \n
\n
\n
\n
\n )\n}\n","import { Drawer } from '@material-ui/core';\nimport React, { createContext, FC, useCallback, useContext, useEffect, useState } from 'react'\nimport { useHistory } from 'react-router-dom';\nimport { IStoreConfig } from '../../models/local/ILocalConfig';\nimport { IMeepCardData } from '../../models/meepCard/ILoginMeepCard'\nimport { IOrderDetail } from '../../models/order/aggregates/datail/IOrderDetail';\nimport { PaymentType } from '../../models/payment/IPay';\nimport { IConfirmarPagamento } from '../../models/payment/IPaymentApi';\nimport { MeepCardApi } from '../../services/Api/meepCard/MeepCardApi';\nimport { OrderApi } from '../../services/Api/order/OrderApi';\nimport { PaymentApi } from '../../services/Api/payment/PaymentApi';\nimport { useParamsConfig } from '../paramsConfig/ParamsConfigContext';\nimport { useUi } from '../ui/UIContext';\nimport { ConfirmPasswordInput } from './confirmPasswordInput/ConfirmPasswordInput';\n\ninterface IMeepCardPaymentContext {\n meepCardData: IMeepCardData | undefined,\n setMeepCardData: React.Dispatch>,\n login: (apelido: string, senha: string) => void,\n orderDetail: IOrderDetail | null,\n storeConfig: IStoreConfig | null,\n setCustomDeliveryDescription: (text: string) => void,\n customDeliveryDescription: string,\n onClickEnviarPagamento: () => void\n}\n\nconst MeepCardPaymentContext = createContext({} as IMeepCardPaymentContext)\n\nexport const MeepCardPaymentProvider: FC<{ children: React.ReactNode }> = ({ children }) => {\n\n const [meepCardData, setMeepCardData] = useState();\n const { showLoading, hideLoading, toastFullScreen, toast } = useUi();\n\n\n const { queryParams } = useParamsConfig();\n //dados do pedido e da configuração do pagamento\n const [orderDetail, setOrderDetail] = useState(null);\n const [storeConfig, setStoreConfig] = useState(null);\n const [customDeliveryDescription, setCustomDeliveryDescription] = useState(\"\");\n\n const [confirmPasswordOpen, setConfirmPasswordOpen] = useState(false)\n\n const history = useHistory();\n\n const [inPayment, setInPayment] = useState(false);\n\n const getOrderAndConfig = useCallback(\n async (orderId: string) => {\n showLoading()\n try {\n const orderApi = OrderApi();\n const response = await orderApi.getOrderAndConfigs(orderId);\n if (response) {\n setStoreConfig(response.data.store);\n setOrderDetail(response.data.order);\n }\n } catch (error: any) {\n if (error?.response?.data?.message) {\n toastFullScreen(error?.response?.data?.message, \"error\", \"error\", 3000, () => { history.replace(\"/\") });\n } else {\n toastFullScreen(\"Pedido Não Encontrado\", \"error\", \"error\", 3000, () => { history.replace(\"/\") });\n }\n } finally {\n hideLoading()\n }\n },\n [hideLoading, history, showLoading, toastFullScreen],\n )\n\n\n const login = useCallback(async (apelido: string, senha: string) => {\n if (queryParams?.localId) {\n try {\n showLoading();\n const meepCard = MeepCardApi()\n const response = await meepCard.login(apelido, senha, queryParams.localId);\n // toast(\"login realizado com sucesso\", \"success\");\n setMeepCardData(response.data)\n } catch (error:any) {\n if (error?.response?.data?.message) {\n toast(error?.response?.data?.message, \"error\");\n } else {\n toast(\"Não foi possivel efetuar\", \"error\");\n }\n } finally {\n hideLoading();\n }\n }\n\n\n }, [hideLoading, showLoading, toast, queryParams]);\n\n const enviarMensagemDeConfirmacao = useCallback((orderId: string) => {\n let mensagem = `Pedido realizado com sucesso`\n let actionButton = `Concluir`\n if (queryParams?.queryTypeDelivery === \"3\") {\n // mensagem = `Pedido realizado com sucesso\\n ${queryParams?.queryDescription ?? \"\"} ${queryParams?.queryPlace ?? \"\"}\\n Sera um gerado um QrCode para se apresentado referente ao seu pedido.`\n mensagem = `PARABÉNS PELA SUA COMPRA!\\n\\n\\nÉ só fazer o seguinte:\\n\\n\\n1-Aguarde seu pedido ficar pronto.\\n\\n2-${queryParams?.queryDescription ?? \"\"} ${queryParams?.queryPlace ?? \"\"}\\n\\n3-No aplicativo entre no menu pedidos e clique no ícone do QRCode.\\n\\n4-Um QRCode será gerado. É só apresentar no ponto de venda!\\n\\n`\n actionButton = \"Entendi\"\n }\n toastFullScreen(\n mensagem,\n \"check\",\n \"success\",\n 15000,\n () => {\n window.open(\"/tracking/\" + orderId);\n // window.open(\"/tracking/\" + orderId);\n // history.replace(`/payment/confirm-payment/${storeConfig?.storeId}`);\n window.parent.postMessage({ command: \"SUCESS_PAYMENT\" }, \"*\")\n },\n actionButton\n );\n }, [queryParams, toastFullScreen])\n\n\n\n const enviarPagamentoPedido = useCallback(async (paymentRequest: IConfirmarPagamento) => {\n try {\n showLoading();\n setInPayment(true)\n\n const paymentApi = PaymentApi();\n const response = await paymentApi.confirmarPagamentoPedidoMeepCard(paymentRequest);\n if (response) {\n enviarMensagemDeConfirmacao(response.data.pedidoId);\n }\n } catch (error:any) {\n if (error?.response?.data?.message) {\n toast(error?.response?.data?.message, \"error\")\n }\n } finally {\n hideLoading();\n setInPayment(false)\n }\n }, [enviarMensagemDeConfirmacao, hideLoading, showLoading, toast])\n\n const validacao = useCallback(\n () => {\n if (customDeliveryDescription) {\n return true\n } else {\n toast(\"Preencha todos os campos\", \"warning\")\n return false\n }\n },\n [customDeliveryDescription, toast],\n )\n\n\n const onClickEnviarPagamento = useCallback(() => {\n if (validacao()) {\n setConfirmPasswordOpen(true)\n }\n }, [validacao])\n const onPasswordConfirmado = useCallback((password: string) => {\n\n if (meepCardData && orderDetail && queryParams?.localId) {\n const paymentRequest: IConfirmarPagamento = {\n localClienteId: queryParams.localId,\n enderecoEntregaId: \"\",\n customDeliveryDescription: customDeliveryDescription,\n tipoPagamentoId: PaymentType.CREDITOLOJA,\n resumoPedido: {\n pedidoId: queryParams?.orderId,\n valorPedido: orderDetail?.amount,\n taxaEntrega: 0\n },\n dadosCartaoNominal: {\n historicoAssociacaoId: meepCardData.associationId,\n Senha: password,\n }\n }\n enviarPagamentoPedido(paymentRequest)\n }\n\n\n }, [customDeliveryDescription, enviarPagamentoPedido, meepCardData, orderDetail, queryParams])\n\n\n\n\n useEffect(() => {\n if (meepCardData && queryParams?.orderId) {\n getOrderAndConfig(queryParams?.orderId);\n }\n return () => {\n }\n }, [getOrderAndConfig, meepCardData, queryParams])\n\n useEffect(() => {\n if (orderDetail && storeConfig) {\n }\n\n }, [orderDetail, storeConfig])\n\n return (\n \n {children}\n setConfirmPasswordOpen(false)}>\n \n \n \n )\n}\n\nexport const MeepCardPaymentConsumer = MeepCardPaymentContext.Consumer\n\nexport const useMeepCardPayment = () => {\n const context = useContext(MeepCardPaymentContext)\n return context\n}\n","import { IMeepCardData } from \"../../../models/meepCard/ILoginMeepCard\";\nimport api from \"../Api\";\n\nexport const MeepCardApi = () => {\n\n const login = async (apelido: string, senha: string, localClienteId: string) => {\n const loginRequest = {\n apelido,\n senha,\n localClienteId\n }\n const responseLogin = await api.post(\"/dispositivo/cartaonominal/autenticar\", loginRequest);\n return responseLogin\n }\n\n return {\n login\n }\n}","import { Button, Grid,TextField } from '@material-ui/core'\nimport React, { FormEvent, useCallback, useState } from 'react'\nimport { useMeepCardPayment } from '../../../../context/meepCardPayment/_MeepCardPaymentContext';\n\nconst LoginAlunoPage = () => {\n\n const [apelido, setApelido] = useState(\"\");\n const [senha, setSenha] = useState(\"\");\n const { login } = useMeepCardPayment()\n\n const onSubmit = useCallback(\n (event: FormEvent) => {\n event.preventDefault();\n if (apelido && senha) {\n login(apelido, senha)\n }\n },\n [apelido, login, senha],\n )\n\n\n return (\n
\n \n \n setApelido(e.target.value)}\n >\n \n \n \n setSenha(e.target.value)}\n >\n\n \n \n \n \n \n \n
\n )\n}\n\nexport default LoginAlunoPage\n","import { ButtonBase, CircularProgress, Icon, IconButton } from '@material-ui/core'\nimport React, { FC } from 'react'\nimport './Box.css'\n\ninterface IBoxProps {\n icon?: string,\n onClickEdit?: () => void\n onClickRemove?: () => void\n onClick?: () => void\n select?: boolean,\n loading?: boolean\n children?: React.ReactNode;\n}\n\nexport const Box: FC = ({ children, onClickRemove, loading, onClick, onClickEdit, icon }) => {\n return (\n \n {\n icon &&\n
\n {\n\n {icon}\n }\n
\n }\n
\n {\n loading ?\n
\n \n
:\n children\n }\n\n
\n
\n {/* {onClickMain && start} */}\n {onClickRemove && close}\n {onClickEdit && edit}\n
\n \n )\n}\n","import React, { FC } from 'react'\nimport { Box } from '../../../components/box/Box'\nimport { IMeepCardData } from '../../../models/meepCard/ILoginMeepCard'\nimport styles from './MeepCardResume.module.scss'\n\ninterface MeepCardResumeProps {\n cardData?: IMeepCardData\n}\n\nconst MeepCardResume: FC = ({ cardData }) => {\n return (\n \n {\n cardData &&\n
\n
\n
\n Nome\n
\n
\n {cardData.holderName}\n
\n
\n {cardData.dailyLimit < cardData.balance &&\n
\n
\n Saldo Diario\n
\n
\n {cardData.dailyLimit}\n
\n
}\n
\n
\n Saldo\n
\n
\n R${cardData.balance.toFixed(2).replace(\".\",\",\")}\n
\n
\n\n
\n }\n
\n )\n}\n\nexport default MeepCardResume\n","import { Button, Container, Grid, TextField } from '@material-ui/core'\nimport React from 'react'\nimport { useMeepCardPayment } from '../../context/meepCardPayment/_MeepCardPaymentContext'\nimport { DeliveryAddressItem } from '../payment/deliverySelect/deliveryAddressItem/DeliveryAddressItem'\nimport { ResumeView } from '../payment/resume/ResumeView'\nimport MeepCardResume from './meepCardResume/MeepCardResume'\n\nconst MeepCardPaymentPage = () => {\n\n const { orderDetail, storeConfig, meepCardData, setCustomDeliveryDescription, customDeliveryDescription, onClickEnviarPagamento } = useMeepCardPayment();\n\n return (\n //
\n\n \n\n \n \"Logo\n \n \n \n \n {\n\n \n \n \n }\n\n \n {\n { }}\n >\n {storeConfig?.customDeliveryDescription}\n setCustomDeliveryDescription(e.target.value)}\n value={customDeliveryDescription}\n >\n \n }\n \n\n \n \n \n\n \n //
\n )\n}\n\nexport default MeepCardPaymentPage\n","import { ToastFullScreen } from 'context/ui/toastFullScreen/ToastFullScreen'\nimport React, { FC, useEffect, useState } from 'react'\nimport { useParams } from 'react-router'\nimport { useHistory } from 'react-router-dom'\nimport styles from './OnSucessPayment.module.scss'\nexport interface IOnSucessPaymentProps {\n //propertys\n redirectDisabled?: boolean\n}\nconst OnSucessPayment: FC = ({ redirectDisabled }) => {\n const { storeId } = useParams<{ storeId: string }>()\n const { replace } = useHistory();\n const [disabledRedirect] = useState(redirectDisabled);\n\n // useEffect(() => {\n // const query = new URLSearchParams(location.search);\n // const message = query.get(\"disabledRedirect\");\n\n // }, [location.search])\n\n useEffect(() => {\n\n if (storeId === \"1f3d32dd-9f1e-042a-dbb4-09ecb64a1427\") { //comercial\n const script = document.createElement('script');\n script.type = \"text/javascript\"\n script.innerHTML = `!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, document,'script','https://connect.facebook.net/en_US/fbevents.js');fbq('init', '2992812370785665');fbq('track', 'PageView');`\n script.async = true;\n\n const noscript = document.createElement('noscript');\n noscript.innerHTML = ``;\n\n document.head.appendChild(script);\n document.head.appendChild(noscript);\n return () => {\n document.head.removeChild(script);\n document.head.removeChild(noscript);\n }\n } else if (storeId === \"24a61c18-f709-5b24-67cc-b9e900095dfe\") { //the mexican\n //facebook\n const script = document.createElement('script');\n script.type = \"text/javascript\"\n script.innerHTML = `!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, document,'script','https://connect.facebook.net/en_US/fbevents.js');fbq('init', '712704685797670');fbq('track', 'PageView');`\n script.async = true;\n\n const noscript = document.createElement('noscript');\n noscript.innerHTML = ``;\n\n document.head.appendChild(script);\n document.head.appendChild(noscript);\n\n //google\n const script2 = document.createElement('script');\n script.type = \"text/javascript\"\n script.innerHTML = `(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','GTM-KQL657X');`\n script.async = true;\n\n const noscript2 = document.createElement('noscript');\n noscript.innerHTML = ``;\n\n document.head.appendChild(script2);\n document.head.appendChild(noscript2);\n\n\n return () => {\n document.head.removeChild(script);\n document.head.removeChild(noscript);\n document.head.removeChild(script2);\n document.head.removeChild(noscript2);\n }\n\n } else {\n if (!disabledRedirect) {\n replace(\"/\");\n }\n }\n }, [storeId]);\n\n\n return (\n
\n
\n { replace(\"/\") }}\n />\n
\n
\n )\n}\nexport default OnSucessPayment\n\n\n","import { IOrderComposition } from 'models/order/IOrderComposition'\n\nexport const CalcTotalsAllCompositions = (prevCompositions: IOrderComposition[]): { quantity: number, price: number } => {\n\n const calcTotalsAllCompositions = (_prevCompositions: IOrderComposition[]) => {\n const price = _prevCompositions\n .flatMap((_composition) => _composition.compositionItems)\n .map(_item => (_item.totalPrice))\n .reduce((previousValue, currentValue) => previousValue + currentValue, 0);\n\n const quantity = _prevCompositions\n .flatMap((_composition) => _composition.compositionItems)\n .map(_item => (_item.quantity))\n .reduce((previousValue, currentValue) => previousValue + currentValue, 0);\n return { quantity, price }\n }\n\n return calcTotalsAllCompositions(prevCompositions)\n\n}\n","\nimport { CalcTotalsAllCompositions } from 'components/productComposition/useCases/CalcTotalsAllCompositions';\nimport { Product } from 'models/catalog/aggregates/Product';\nimport { IOrderComposition } from 'models/order/IOrderComposition';\nimport { v4 } from 'uuid';\nimport { ICartItem } from '../models/ICart';\n\nexport const AddCartItemByProductUseCase = (prevCartItems: ICartItem[], product: Product, quantity: number, orderCompositions?: IOrderComposition[]): ICartItem[] => {\n\n const compareComposition = (composition?: IOrderComposition[], compositionToCopare?: IOrderComposition[]) => {\n try {\n const compositionString = JSON.stringify(composition);\n const compositionToCopareString = JSON.stringify(compositionToCopare);\n return compositionString === compositionToCopareString;\n } catch (error) {\n return false;\n }\n };\n\n const productToCartItem = (_product: Product, _quantity: number, _orderCompositions?: IOrderComposition[]) => {\n const newCartItem: ICartItem = {\n id: v4(),\n name: _product.name,\n category: _product.category,\n price: _product.price,\n totalPrice: _quantity * (_product.price + (_orderCompositions ? CalcTotalsAllCompositions(_orderCompositions).price : 0)),\n description: _product.description,\n productPrice: _product.type,\n productId: _product.id,\n productType: _product.type,\n quantity: _quantity,\n imageUrl: _product.imageUrl,\n barcode: _product.barcode,\n orderComposition: _orderCompositions,\n printerName: _product.printerName,\n };\n return newCartItem;\n };\n\n const addQuantityInExitCartItem = (_prevCartItems: ICartItem[], _id: string, _quantity: number) => {\n const newCartItems = _prevCartItems.map((cartItem) => {\n if (cartItem.id === _id) {\n return { ...cartItem, quantity: cartItem.quantity + _quantity, totalPrice: cartItem.price * (cartItem.quantity + _quantity) };\n } else {\n return cartItem;\n }\n });\n return newCartItems;\n };\n\n const addNewCartItem = (_prevCartItems: ICartItem[], _product: Product, _quantity: number, _orderComposition?: IOrderComposition[]) => {\n const newCartItems = [..._prevCartItems, productToCartItem(_product, _quantity, _orderComposition)];\n return newCartItems;\n };\n\n const existProductInCart = (_prevCartItems: ICartItem[], _product: Product, _quantity: number, _orderCompositions?: IOrderComposition[]) => {\n const existCartItem = _prevCartItems.find((cartItem) => cartItem.productId === _product.id && compareComposition(cartItem.orderComposition, _orderCompositions));\n return existCartItem;\n };\n\n const addCartItem = (_prevCartItems: ICartItem[], _product: Product, _quantity: number, _orderCompositions?: IOrderComposition[]) => {\n const existCartItem = existProductInCart(_prevCartItems, _product, _quantity, _orderCompositions);\n const dontHaveComposition = !_orderCompositions?.length;\n\n if (existCartItem && dontHaveComposition) {\n const newCartItems = addQuantityInExitCartItem(_prevCartItems, existCartItem.id, _quantity);\n return newCartItems;\n } else {\n const newCartItems = addNewCartItem(_prevCartItems, _product, _quantity, _orderCompositions);\n return newCartItems;\n }\n };\n\n const execute = () => {\n return addCartItem(prevCartItems, product, quantity, orderCompositions);\n };\n\n return execute();\n};","\n\nimport { Product } from 'models/catalog/aggregates/Product';\nimport { IOrderComposition } from 'models/order/IOrderComposition';\nimport { useCallback, useEffect, useState } from 'react';\nimport { IUseCaseCart } from './interfaces/IUseCaseCart';\nimport { ICartItem } from './models/ICart';\nimport { AddCartItemByIdUseCase } from './useCases/AddCartItemByIdUseCase copy';\nimport { AddCartItemByProductUseCase } from './useCases/AddCartItemByProductUseCase';\nimport { CalcTotalsCartUseCase } from './useCases/CalcTotalsCartUseCase';\nimport { RemoveCartItemByIdUseCase } from './useCases/RemoveCartItemByIdUseCase';\n\nconst useCaseCart = (): IUseCaseCart => {\n\n const [cartItems, setCartItems] = useState([]);\n const [totals, setTotals] = useState<{ totalQuantity: number, totalPrice: number }>({ totalQuantity: 0, totalPrice: 0 });\n\n /**\n * Adicionar produto no carrinho caso ja exista adiciona na quantidade\n */\n\n const updateCartLocalStorage = useCallback((cart: ICartItem[]) => {\n sessionStorage.setItem(`@Meep:cart`, JSON.stringify(cart));\n setCartItems(cart);\n }, []);\n\n useEffect(() => {\n const storageCart = sessionStorage.getItem(`@Meep:cart`);\n storageCart && updateCartLocalStorage(JSON.parse(storageCart) as ICartItem[]);\n }, [updateCartLocalStorage])\n\n const addProductCart = useCallback((product: Product, quantity: number, orderCompositions?: IOrderComposition[]) => {\n setCartItems(prev => AddCartItemByProductUseCase(prev, product, quantity, orderCompositions));\n }, []);\n\n /**\n * Adiciona produto no carrinho caso ja exista adiciona na quantidade\n */\n const addCartItem = useCallback((cartItemOd: string, quantity: number) => {\n setCartItems(prev => AddCartItemByIdUseCase(prev, cartItemOd, quantity));\n }, []);\n\n /**\n * Remove quantidade de items do carrinho\n */\n const removeCarItem = useCallback((cartItemId: string, quantity: number) => {\n setCartItems(prev => RemoveCartItemByIdUseCase(prev, cartItemId, quantity));\n }, []);\n\n /**\n * Limpar carrinho\n */\n const clearCart = useCallback(() => {\n setCartItems([]);\n }, []);\n\n useEffect(() => {\n setTotals(CalcTotalsCartUseCase(cartItems));\n }, [cartItems]);\n\n return (\n {\n cartItems,\n totals,\n addProductCart,\n removeCarItem,\n addCartItem,\n clearCart,\n setCartItems,\n updateCartLocalStorage\n }\n );\n};\n\nexport default useCaseCart;\n\n","import { CalcTotalsAllCompositions } from 'components/productComposition/useCases/CalcTotalsAllCompositions';\nimport { ICartItem } from '../models/ICart';\n\n// export const RemoveProductCartUseCase = (): IAddCartItemUseCase => {\nexport const AddCartItemByIdUseCase = (prevCartItems: ICartItem[], cartItemId: string, quantity: number): ICartItem[] => {\n\n const AddCartItem = (_prevCartItems: ICartItem[], _cartItemId: string, _quantity: number) => {\n const newCartItemsRemovedQuantitys = _prevCartItems.map((prevCartItem) => {\n if (prevCartItem.id === _cartItemId) {\n return {\n ...prevCartItem,\n quantity: prevCartItem.quantity + _quantity,\n totalPrice: (prevCartItem.quantity + _quantity) * (prevCartItem.price + (prevCartItem.orderComposition ? CalcTotalsAllCompositions(prevCartItem.orderComposition).price : 0)),\n };\n } else {\n return { ...prevCartItem };\n }\n });\n return newCartItemsRemovedQuantitys;\n };\n\n\n return AddCartItem(prevCartItems, cartItemId, quantity);\n};\n\n","import { CalcTotalsAllCompositions } from 'components/productComposition/useCases/CalcTotalsAllCompositions';\nimport { ICartItem } from '../models/ICart';\n\n// export const RemoveProductCartUseCase = (): IRemoveCartItemUseCase => {\nexport const RemoveCartItemByIdUseCase = (prevCartItems: ICartItem[], cartItemId: string, quantity: number): ICartItem[] => {\n\n const removeCartItem = (_prevCartItems: ICartItem[], _cartItemId: string, _quantity: number) => {\n const newCartItemsRemovedQuantitys = _prevCartItems.map((prevCartItem) => {\n if (prevCartItem.id === _cartItemId) {\n return {\n ...prevCartItem,\n quantity: prevCartItem.quantity - _quantity,\n totalPrice: ( prevCartItem.quantity - _quantity) * (prevCartItem.price + (prevCartItem.orderComposition ? CalcTotalsAllCompositions(prevCartItem.orderComposition).price : 0)),\n };\n } else {\n return { ...prevCartItem };\n }\n });\n const newCartItems = newCartItemsRemovedQuantitys.filter((cartItem) => (cartItem?.quantity > 0));\n return newCartItems;\n };\n\n return removeCartItem(prevCartItems, cartItemId, quantity);\n};\n\n","import { ICartItem } from '../models/ICart';\n\nexport const CalcTotalsCartUseCase = (prevCartItems: ICartItem[]) => {\n\n const calcTotals = (_prevCartItems: ICartItem[]) => {\n const totalPrice = _prevCartItems.map(item => item.totalPrice).reduce((acumulado, atual) => atual + acumulado, 0);\n const totalQuantity = _prevCartItems.map(item => item.quantity).reduce((acumulado, atual) => atual + acumulado, 0);\n return { totalQuantity: totalQuantity, totalPrice: totalPrice };\n };\n\n return calcTotals(prevCartItems);\n}\n","import React, { createContext, FC, useContext } from 'react';\nimport { IUseCaseCart } from './interfaces/IUseCaseCart';\nimport useCaseCart from './useCaseCart';\n\nconst CartContext = createContext({} as IUseCaseCart);\n\nexport const CartProvider: FC<{ children: React.ReactNode }> = ({ children }) => {\n const caseCart = useCaseCart();\n return (\n \n {children}\n \n );\n};\n\nexport const CartConsumer = CartContext.Consumer;\n\nexport const useCart = () => {\n const context = useContext(CartContext);\n return context;\n};\n","import { Button, Container, TextField, Grid } from \"@material-ui/core\";\nimport React, { FC, FormEvent, useCallback, useState } from \"react\";\nimport { GoogleAutoComplete } from \"../../components/googleAutocomplete/GoogleAutoComplete\";\nimport { IAddress } from \"../../models/address/IAddress\";\nimport { DeliveryAddressItem } from \"../payment/deliverySelect/deliveryAddressItem/DeliveryAddressItem\";\n\nexport interface INewAddressFormProps {\n //propertys\n onSubmit: (address: IAddress) => void\n onClose: () => void\n}\nconst NewAddressForm: FC = ({ onSubmit, onClose }) => {\n const [selectedAdress, setselectedAdress] = useState(null);\n const [values, setValues] = useState({ number: \"\", complement: \"\" });\n\n const onSubmitHandle = useCallback(\n async (ev: FormEvent) => {\n ev.preventDefault();\n if (selectedAdress) {\n\n onSubmit({\n ...selectedAdress,\n number: selectedAdress.number ? selectedAdress.number : values.number,\n complement: selectedAdress.complement ?? values.complement,\n });\n }\n },\n [selectedAdress, onSubmit, values]\n );\n\n const changeNumeroHandle = useCallback((values: string) => {\n setValues((prev) => ({ ...prev, number: values }));\n }, []);\n const changeComplementoHandle = useCallback((values: string) => {\n setValues((prev) => ({ ...prev, complement: values }));\n }, []);\n\n return (\n \n

Adicionar Endereço

\n \n \n {\n setselectedAdress(address);\n }}\n onReset={() => {\n setselectedAdress(null);\n setValues({ number: \"\", complement: \"\" });\n }}\n />\n {selectedAdress && }\n \n \n
\n \n \n {selectedAdress && !selectedAdress.number && (\n changeNumeroHandle(ev.target.value)}\n value={values.number}\n label={\"Numero\"}\n inputProps={{ inputMode: \"numeric\" }}\n />\n )}\n \n \n {selectedAdress && (\n changeComplementoHandle(ev.target.value)}\n value={values.complement}\n label={\"Complemento\"}\n />\n )}\n \n\n \n \n {\n onClose && onClose();\n }}\n variant=\"outlined\"\n color={\"primary\"}\n fullWidth\n >\n Voltar\n \n \n \n \n \n \n \n
\n
\n
\n \n );\n\n\n}\nexport default NewAddressForm","\nexport const cnpjMask = (value: string) => {\n return value\n .replace(/\\D/g, '') // substitui qualquer caracter que nao seja numero por nada\n .replace(/(\\d{2})(\\d)/, '$1.$2') // captura 2 grupos de numero o primeiro de 3 e o segundo de 1, apos capturar o primeiro grupo ele adiciona um ponto antes do segundo grupo de numero\n .replace(/(\\d{3})(\\d)/, '$1.$2')\n .replace(/(\\d{3})(\\d)/, '$1/$2')\n .replace(/(\\d{4})(\\d)/, '$1-$2')\n .replace(/(-\\d{2})\\d+?$/, '$1') // captura 2 numeros seguidos de um traço e não deixa ser digitado mais nada\n}\n\n// 00.000.000 / 0001 - 00","import React, { ChangeEvent, FC, FormEvent, useCallback, useEffect, useState } from 'react'\nimport Container from '@material-ui/core/Container';\nimport Grid from '@material-ui/core/Grid';\nimport { TextField, Button, MenuItem, CircularProgress, FormControlLabel, Drawer, FormLabel, Radio, RadioGroup, FormControl } from '@material-ui/core';\nimport { CardPreview } from '../cardPreview/CardPreview';\nimport styles from './PaymentGuestCardForm.module.scss'\nimport { IAddress } from 'models/address/IAddress';\nimport { IStoreConfig } from 'models/local/ILocalConfig';\nimport NewAddressForm from 'pages/newAddress/NewAddressForm';\nimport { DeliveryAddressItem } from 'pages/payment/deliverySelect/deliveryAddressItem/DeliveryAddressItem';\nimport { toast } from 'react-toastify';\nimport { ICardPaymentGuestRequest, IOwnerAddressPaymentGuest, IOwnerPaymentGuest } from 'models/paymentGuest/IPaymentGuestForm';\nimport { cpfMask } from 'cross-cutting/masks/cpf';\nimport { v4 } from 'uuid';\nimport { cnpjMask } from 'utils/mask/cnpj';\n\nexport interface ICardFormProps {\n //propertys\n onSubmit: (cardValues: ICardPaymentGuestRequest) => void,\n cardValues?: ICardPaymentGuestRequest,\n onClose?: () => void,\n loading?: boolean,\n storeConfig?: IStoreConfig\n}\n\nconst PaymentGuestCardForm: FC = ({ cardValues, onSubmit, onClose, loading, storeConfig }) => {\n const [pessoa, setPessoa] = useState(\"fisica\")\n const [card, setCard] = useState({\n number: \"\",\n securityCode: \"\",\n ownerName: \"\",\n month: \"\",\n year: \"\",\n owner: {} as IOwnerPaymentGuest,\n });\n\n const [owner, setOwner] = useState({\n name: \"\",\n document: \"\",\n email: \"\",\n phoneNumber: \"\",\n birthDay: \"\",\n address: {} as IOwnerAddressPaymentGuest\n });\n const [address, setAddress] = useState({\n CEP: \"\",\n description: \"\",\n street: \"\",\n number: \"\",\n complement: \"\",\n neighborhood: \"\",\n city: \"\",\n state: \"\",\n });\n const [openAddressForm, setOpenAddressForm] = useState(false);\n\n const [erros, setErros] = useState({\n number: \"\",\n securityCode: \"\",\n ownerName: \"\",\n month: \"\",\n year: \"\",\n owner: {\n name: \"\",\n document: \"\",\n email: \"\",\n phoneNumber: \"\",\n address: \"\",\n }\n });\n\n const validate = useCallback(\n (card: ICardPaymentGuestRequest) => {\n setErros({\n number: \"\",\n securityCode: \"\",\n ownerName: \"\",\n month: \"\",\n year: \"\",\n owner: {\n name: \"\",\n document: \"\",\n email: \"\",\n phoneNumber: \"\",\n address: \"\",\n }\n })\n \n if (!card.number || card.number.length < 14) {\n setErros(prev => ({ ...prev, number: \"Numero invalido\" }));\n return false;\n }\n if (!card.month) {\n setErros(prev => ({ ...prev, month: \"mes inválido\" }));\n return false;\n }\n if (!card.year) {\n setErros(prev => ({ ...prev, year: \"ano inválido\" }));\n return false;\n }\n if (!card.ownerName || card.ownerName.length < 3) {\n setErros(prev => ({ ...prev, ownerName: \"nome inválido\" }));\n return false;\n }\n if (!card.securityCode || card.securityCode.length < 3) {\n setErros(prev => ({ ...prev, securityCode: \"codigo inválido\" }));\n return false;\n }\n if (!card.owner.name || card.owner.name.length < 3) {\n setErros(prev => ({ ...prev, owner: { ...prev.owner, name: \"nome inválido\" } }));\n return false;\n }\n if (!card.owner.document || card.owner.document.length < 11) {\n setErros(prev => ({ ...prev, owner: { ...prev.owner, document: \"Documento inválido\" } }));\n return false;\n }\n\n if (\n !card.owner.address.street ||\n !card.owner.address.number ||\n !card.owner.address.city ||\n !card.owner.address.state\n ) {\n setErros(prev => ({ ...prev, owner: { ...prev.owner, address: \"Endereço não informado\" } }));\n toast.error(\"Informe um endereço\");\n return false;\n }\n\n return true;\n }, []\n )\n\n const onSubmitHandle = useCallback(\n (ev: FormEvent) => { \n ev.preventDefault();\n\n const newCard: ICardPaymentGuestRequest = {\n ...card,\n owner: {\n ...owner,\n address: address\n }\n }\n\n if (validate(newCard)) {\n onSubmit(newCard);\n }\n\n },\n [card, address, owner],\n )\n\n const numberMask = (value: string) => {\n return value.replace(/[^0-9]/g, '').substr(0, 16);\n }\n\n const cvvMask = (value: string) => {\n return value.replace(/[^0-9]/g, '').substr(0, 4);\n }\n\n const onSubmitAddress = useCallback(\n (address: IAddress) => {\n setAddress(address);\n setOpenAddressForm(false);\n },\n [],\n )\n\n const onChangeHandle = useCallback((ev: ChangeEvent) => {\n ev.persist()\n\n if (ev.target.name === \"number\") {\n setCard((prev) => ({ ...prev, [ev.target.name]: numberMask(ev.target.value) }));\n } else if (ev.target.name === \"securityCode\") {\n setCard((prev) => ({ ...prev, [ev.target.name]: cvvMask(ev.target.value) }));\n } else {\n setCard((prev) => ({ ...prev, [ev.target.name]: ev.target.value }));\n }\n }, []);\n\n const changeOwnerHandle = useCallback((ev: ChangeEvent) => {\n ev.persist()\n if (ev.target.name === \"document\") {\n if (pessoa === \"fisica\") {\n setOwner((prev) => ({ ...prev, [ev.target.name]: cpfMask(ev.target.value) }));\n } else {\n setOwner((prev) => ({ ...prev, [ev.target.name]: cnpjMask(ev.target.value) }));\n }\n } else {\n setOwner((prev) => ({ ...prev, [ev.target.name]: ev.target.value }));\n }\n }, [pessoa]);\n\n useEffect(() => {\n setOwner((prev) => ({ ...prev, document: \"\" }));\n\n return () => {\n\n }\n }, [pessoa])\n\n return (\n
\n
\n\n \n\n
\n {/* */}\n {/* */}\n \n \n \n \n \n \n \n\n \n \n \n\n \n \n 01\n 02\n 03\n 04\n 05\n 06\n 07\n 08\n 09\n 10\n 11\n 12\n \n \n\n \n \n 20\n 21\n 22\n 23\n 24\n 25\n 26\n 27\n 28\n 29\n 30\n 31\n 32\n 33\n 34\n 35\n 36\n \n \n\n \n \n \n\n <>\n \n \n \n\n \n \n Documento\n setPessoa(value)}>\n } label=\"Pessoa fisica\" />\n } label=\"Pessoa Juridica\" />\n \n \n \n\n\n \n \n \n\n \n \n \n\n \n \n \n \n\n \n

Endereço do titular

\n { setOpenAddressForm(true); }}\n // loading={loadingAddresses}\n onClick={() => setOpenAddressForm(true)}\n address={{ ...address, id: v4() }} />\n
\n\n\n\n {onClose && \n onClose && onClose()}\n fullWidth\n >\n cancelar\n \n }\n \n \n {loading ?\n <>Salvando Cartão\n :\n \"Salvar\"}\n \n \n\n
\n {/*
*/}\n
\n \n
\n setOpenAddressForm(false)}>\n setOpenAddressForm(false)} />\n \n
\n )\n}\nexport default PaymentGuestCardForm","import { IPaymentGuestRequest } from \"models/paymentGuest/IPaymentGestRequest\";\nimport {\n ICardBrandsInstallments,\n IPaymentLinkResponse,\n PixPaymentRequest,\n PixPaymentResponse,\n TicketGetResponse,\n TicketPostResponse,\n TicketRequest,\n} from \"models/paymentLink/IPaymentLinkResponse\";\nimport { Api } from \"../Api\";\n\nconst PaymentLinkApi = () => {\n const api = Api();\n\n const getPaymentProduct = (paymentLinkId: string) => {\n return api.get(\n `/mepaylink/GetLinkById/${paymentLinkId}`\n );\n };\n\n const getPaymentGuestSendPay = (\n paymentGuestRequest: IPaymentGuestRequest\n ) => {\n return api.post(`/PayLink`, paymentGuestRequest);\n };\n\n const pixPayment = async (payRequest: PixPaymentRequest) => {\n const response = await api.post(\"/public/Pix/\", payRequest);\n return response.data;\n };\n\n const pixPaymentStatus = async (paymentId: string) => {\n const response = await api.get(`/public/Pix/${paymentId}`);\n return response.data;\n };\n\n const ticketPayment = async (payRequest: TicketRequest): Promise => {\n const response = await api.post(\n `/third/pay/boleto`, payRequest\n );\n return response.data.Result;\n };\n\n const ticketPaymentStatus = async (paymentId: string): Promise => {\n const response = await api.get(\n `/third/pay/boleto/${paymentId}`\n );\n return response.data[0];\n };\n\n const getInstallments = (paymentLinkId: string, value: number) => {\n return api.get(\n `/mepaylink/${paymentLinkId}/installments?value=${value}`\n );\n };\n\n return {\n getPaymentProduct,\n getPaymentGuestSendPay,\n pixPayment,\n pixPaymentStatus,\n ticketPayment,\n ticketPaymentStatus,\n getInstallments,\n };\n};\n\nexport default PaymentLinkApi;\n","import { UseMercadoPago } from 'context/payment/UseMercadoPago';\nimport { useUi } from 'context/ui/UIContext';\nimport { IOrderDetail } from 'models/order/aggregates/datail/IOrderDetail';\nimport { IPaymentGuestRequest } from 'models/paymentGuest/IPaymentGestRequest';\nimport { ICardPaymentGuestRequest } from 'models/paymentGuest/IPaymentGuestForm';\nimport { IPaymentLinkInstallments, IPaymentLinkResponse } from 'models/paymentLink/IPaymentLinkResponse';\nimport { useCallback, useEffect, useState } from 'react'\nimport { useHistory, useLocation } from 'react-router-dom';\nimport PaymentLinkApi from 'services/Api/paymentLink/PaymentLinkApi';\nimport { v4 } from 'uuid';\n\nexport interface IUsePaymentGuestPageProps {\n //propertys\n}\nconst UsePaymentGuestPage = () => {\n const [card, setCard] = useState();\n const [orderDetail, setOrderDetail] = useState();\n const { showLoading, hideLoading, toast } = useUi();\n const [paymentLink, setPaymentLink] = useState()\n const location = useLocation();\n const { deviceIdMercadoPago } = UseMercadoPago();\n const { replace } = useHistory();\n const [installment, setInstallment] = useState();\n\n const paymentLinkToOrderDetail = useCallback(\n (responsePaymentLink: IPaymentLinkResponse) => {\n const newOrderDetail = {\n id: v4(),\n amount: responsePaymentLink.price,\n itens: [{\n productId: responsePaymentLink.productId,\n name: responsePaymentLink.product.nome,\n quantity: 1,\n unitValue: responsePaymentLink.price,\n composition: \"\",\n }]\n }\n return newOrderDetail\n },\n [],\n )\n\n useEffect(() => {\n const query = new URLSearchParams(location.search);\n const paymentLinkId = query.get(\"paymentLinkId\");\n\n if (paymentLinkId) {\n const paymentLinkApi = PaymentLinkApi();\n showLoading();\n paymentLinkApi.getPaymentProduct(paymentLinkId).then((response) => {\n setOrderDetail(paymentLinkToOrderDetail(response.data));\n setPaymentLink(response.data);\n }).finally(() => {\n hideLoading();\n })\n }\n return () => {\n\n }\n }, [location]);\n\n const onClickSend = useCallback(\n () => {\n const paymentLinkApi = PaymentLinkApi();\n if (paymentLink && card) {\n const newPaymentGuestPayRequest: IPaymentGuestRequest = {\n mePayLinkId: paymentLink?.id,\n isSinglePayment: paymentLink?.isSinglePayment === true,\n creditCard: {\n number: card.number,\n name: card.ownerName,\n securityCode: card.securityCode,\n fingerPrint: deviceIdMercadoPago,\n monthYearValid: card.month + \"/\" + card.year\n },\n order: {\n value: installment?.price ?? paymentLink?.price,\n itens: [{\n name: paymentLink?.product.nome,\n productId: paymentLink?.product.id,\n value: paymentLink?.product.valor,\n quantity: 1,\n }]\n },\n customer: {\n name: card?.owner.name,\n document: card?.owner.document,\n email: card?.owner.email,\n phoneNumber: card?.owner.phoneNumber,\n birthDay: card?.owner.birthDay,\n address: {\n postalCode: card.owner.address.CEP ?? \"\",\n street: card.owner.address.street,\n number: card.owner.address.number,\n complement: card.owner.address.complement,\n neighborhood: card.owner.address.neighborhood,\n city: card.owner.address.city,\n state: card.owner.address.state,\n country: \"\",\n }\n },\n installments: installment?.installment ?? 1,\n storeId: paymentLink.localId,\n }\n\n showLoading()\n paymentLinkApi.getPaymentGuestSendPay(newPaymentGuestPayRequest).then((response) => {\n replace(\"/PaymentGuest/onSucessPayment\");\n }).catch((error) => {\n toast(error?.response.data.Message, \"error\");\n }).finally(() => {\n hideLoading();\n });\n }\n\n },\n [card, deviceIdMercadoPago, hideLoading, installment, paymentLink, replace, showLoading, toast],\n )\n\n return (\n {\n card,\n setCard,\n orderDetail,\n onClickSend,\n paymentLink,\n installment,\n setInstallment\n }\n )\n}\nexport default UsePaymentGuestPage","import { Button, Container, Drawer, MenuItem, TextField } from '@material-ui/core';\nimport { CardItem } from 'components/CardItem/CardItem';\nimport { moneyMaskNumber } from 'cross-cutting/masks/money';\nimport PaymentGuestCardForm from 'pages/newCard/cardForm/PaymentGuestCardForm';\nimport { ResumeView } from 'pages/payment/resume/ResumeView';\nimport React, { FC, useState } from 'react'\nimport styles from './PaymentGuestPage.module.scss'\nimport UsePaymentGuestPage from './UsePaymentGuestPage'\n\nexport interface IPaymentGuestPageProps {\n //propertys\n}\nconst PaymentGuestPage: FC = () => {\n\n const { card, setCard, orderDetail, onClickSend, paymentLink, installment, setInstallment } = UsePaymentGuestPage();\n\n const [openCardForm, setOpenCardForm] = useState(false);\n\n return (\n \n
\n
\n \"Logo\n
\n {\n orderDetail &&\n \n }\n
\n

Dados do cartão

\n {\n card ?\n setOpenCardForm(true)}\n iconName=\"credit_card\"\n >\n :\n setOpenCardForm(true)} textTop={\"Inserir Cartão\"}\n onClickAdd={() => setOpenCardForm(true)}\n >\n }\n\n {/*

Parcelas

\n setInstallment(paymentLink?.installments.find(item => item.installment === Number.parseInt(ev.target.value)))} \n select\n >\n {\n paymentLink?.installments.map((installment) =>\n {installment.description} - Total {moneyMaskNumber(installment.price)}\n )\n }\n */}\n\n \n
\n setOpenCardForm(false)}>\n { setCard(card); setOpenCardForm(false) }}\n onClose={() => setOpenCardForm(false)}\n />\n \n
\n
\n )\n}\nexport default PaymentGuestPage","import React, { FC, useState } from 'react'\nimport styles from './AlertApp.module.scss'\nimport iconApp from '../../res/images/icon-meep-app.svg'\nimport { Drawer, Icon } from '@material-ui/core'\nimport { UseDetectPlatform } from './UseDetectPlatform'\n\nexport interface IAlertAppProps {\n //propertys\n}\nconst AlertApp: FC = () => {\n const [open, setOpen] = useState(true);\n\n const { platform } = UseDetectPlatform();\n\n return (\n { setOpen(false) }} >\n
\n
\n
\n \"Ícone\n
\n
\n

Meep App

\n {platform === \"ios\" &&\n \n

Obter na Apple Store

\n \n }\n {platform === \"android\" &&\n

Obter na Play Store

\n \n }\n {platform === \"windows\" &&\n <>\n \n

Obter na Apple Store

\n \n \n

Obter na Play Store

\n \n \n }\n
\n
{ setOpen(false) }}>\n close\n
\n
\n
\n
\n )\n}\nexport default AlertApp","import { useEffect, useState } from 'react'\n\nexport const UseDetectPlatform = () => {\n const [platform, setPlatform] = useState<\"windows\" | \"android\" | \"ios\" | null>(null)\n\n useEffect(() => {\n const userAgent = navigator.userAgent.toLowerCase();\n\n if (userAgent.includes(\"iphone\")) {\n setPlatform(\"ios\");\n }\n\n if (userAgent.includes(\"android\")) {\n setPlatform(\"android\")\n }\n if (userAgent.includes(\"windows\")) {\n setPlatform(\"windows\");\n }\n return () => {\n\n }\n }, [])\n\n\n return (\n { platform }\n )\n}\n","\nimport React, { FC } from 'react'\nimport styles from './ConquistasProfile.module.scss'\n\nimport img1 from '../../../../../res/images/social/conquistas/1.svg'\nimport img2 from '../../../../../res/images/social/conquistas/2.svg'\nimport img3 from '../../../../../res/images/social/conquistas/3.svg'\nimport img4 from '../../../../../res/images/social/conquistas/4.svg'\nexport interface IConquistasProfileProps {\n //propertys\n}\nconst ConquistasProfile: FC = () => {\n return (\n
\n

Conquistas

\n
\n \"imagem\n \"imagem\n \"imagem\n \"imagem\n
\n
\n )\n}\nexport default ConquistasProfile","\nimport React, { FC } from 'react'\nimport styles from './InteressesProfile.module.scss'\n\nimport img1 from '../../../../../res/images/social/interesses/1.svg'\nimport img2 from '../../../../../res/images/social/interesses/2.svg'\nimport img3 from '../../../../../res/images/social/interesses/3.svg'\nimport img4 from '../../../../../res/images/social/interesses/4.svg'\nexport interface IInteressesProfileProps {\n //propertys\n}\nconst InteressesProfile: FC = () => {\n return (\n
\n

Interesses

\n
\n \"imagem\n \"imagem\n \"imagem\n \"imagem\n
\n
\n )\n}\nexport default InteressesProfile","import React, { FC, useState } from 'react'\nimport styles from './PreviewPhotosProfile.module.scss'\nimport Slider, { Settings } from \"react-slick\";\nimport { IPhoto } from '../../profile/interfaces/IPhotos';\nimport { Dialog } from '@material-ui/core';\nexport interface IPreviewPhotosProfileProps {\n //propertys\n photos: IPhoto[]\n}\nconst PreviewPhotosProfile: FC = ({ photos }) => {\n\n var settings: Settings = {\n slidesToShow: photos.length < 5 ? photos.length : 5,\n initialSlide: 0,\n infinite: false,\n slidesToScroll: 2,\n responsive: [\n {\n breakpoint: 800,\n settings: {\n slidesToShow: 3,\n }\n },\n {\n breakpoint: 600,\n settings: {\n slidesToShow: 3,\n }\n },\n {\n breakpoint: 480,\n settings: {\n slidesToShow: 3,\n }\n }\n ]\n };\n\n const [selectedPhoto, setselectedPhoto] = useState(null);\n\n\n return (\n
\n

Fotos

\n
\n \n {photos.map((photo) => (\n
{ photo.photoUrl && setselectedPhoto(photo) }}>\n
\n \"\"\n
\n
\n ))}\n
\n
\n { setselectedPhoto(null) }}>\n
\n \"\n
\n
\n
\n )\n}\nexport default PreviewPhotosProfile","import React, { FC } from 'react'\nimport styles from './ProfilePicture.module.scss'\nexport interface IProfilePictureProps {\n //propertys\n photoUrl: string;\n onPress?: () => void;\n}\nconst ProfilePicture: FC = ({ photoUrl }) => {\n return (\n
\n
\n \n
\n
\n )\n}\nexport default ProfilePicture","import React, { FC } from 'react'\nimport styles from './SocialMedias.module.scss'\nexport interface ISocialMediasProps {\n //propertys\n social: {\n whatsapp?: string;\n }\n}\nconst SocialMedias: FC = ({ social }) => {\n return (\n
\n
\n
\n \n \n \n
\n
\n \n \n \n \n \n
\n
\n \n \n \n \n
\n
{ social.whatsapp && window.open(\"http://wa.me/\" + social.whatsapp) }}>\n \n \n \n \n \n
\n
\n
\n )\n}\nexport default SocialMedias","import { Button, Icon } from '@material-ui/core'\nimport React, { FC } from 'react'\nimport { IProfile } from '../../profile/interfaces/IProfile'\nimport ProfilePicture from '../profilePicture/ProfilePicture'\nimport SocialMedias from '../socialMedias/SocialMedias'\nimport styles from './ProfileHeader.module.scss'\nexport interface IProfileHeaderProps {\n //propertys\n profile: IProfile;\n}\nconst ProfileHeader: FC = ({ profile }) => {\n return (\n
\n
\n
\n \n
\n
\n

{profile.name}

\n
\n
\n {!!profile.age &&

{profile.age} anos

}\n {profile.from && <> circle\n

{profile.from}

}\n
\n
\n
\n
\n

95

\n
\n
\n Seguidores\n
\n
\n
\n
\n

12

\n
\n
\n Lugares Visitados\n
\n
\n
\n
\n

6

\n
\n
\n Eventos\n
\n
\n
\n
\n \n \n
\n
\n \n
\n\n
\n
\n )\n}\nexport default ProfileHeader","import { useUi } from 'context/ui/UIContext'\nimport { useEffect, useState } from 'react'\nimport { useParams } from 'react-router-dom'\nimport { ProfileApi } from 'services/Api/social/profile/ProfileApi'\nimport { IProfile } from './interfaces/IProfile'\n// const mock={\n// name: \"Thiago José\",\n// photoUrl: \"https://scontent.fplu3-1.fna.fbcdn.net/v/t1.6435-9/30531539_1650813321640868_1665317893362941952_n.jpg?_nc_cat=111&ccb=1-3&_nc_sid=09cbfe&_nc_eui2=AeEUPwFk0Rk2ir4VP8OqLk6gPeMQUNygcRA94xBQ3KBxECNUx-6p_uFAPrDIU07Hekuhp1krHi24ImmXzS4fr3tw&_nc_ohc=aSUU20apvnYAX8IO4ww&_nc_oc=AQlJ3nunhsPKxX_S3E_J0v_6SxoHTjbOKFx9s8t2ZAIMIaas4XVROckLx3WaGzH6M8sD3dplXDtRGbUGQbp0Ay1j&_nc_ht=scontent.fplu3-1.fna&oh=de6d232ec2f99b3237e1f832d2bdf2cd&oe=60E15156\",\n// age: 29,\n// from: \"Belo horizonte-MG\",\n// social: {\n// whatsapp: \"5531994770583\"\n// }\n// }\nexport interface IUseProfilePageProps {\n //propertys\n}\nconst UseProfilePage = () => {\n\n const { profileId } = useParams<{ profileId: string }>();\n\n const [profile, setProfile] = useState(null);\n\n const { showLoading, hideLoading, toast } = useUi();\n\n useEffect(() => {\n const profileApi = ProfileApi();\n if (profileId) {\n showLoading();\n profileApi.getProfile(profileId).then((response) => {\n setProfile(response.data);\n }).catch((error) => {\n if (error?.response?.data?.message) {\n //toast(error?.response?.data?.message, \"error\");\n } else {\n toast(\"Perfil não encontrado\", \"error\");\n }\n setProfile(null);\n }).finally(() => {\n hideLoading()\n })\n }\n }, [profileId])\n\n return (\n { profile }\n )\n}\nexport default UseProfilePage","import { Api } from 'services/Api/Api';\n\nexport const ProfileApi = () => {\n const api = Api();\n // /api/superApp/User/Profile\n const getProfile = (id: string) => {\n const response = api.get(\"/superApp/User/Profile/\" + id)\n return response\n }\n return { getProfile }\n}\n","\nimport { Button, Icon } from '@material-ui/core'\nimport AlertApp from 'models/alertApp/AlertApp'\nimport React, { FC } from 'react'\nimport ConquistasProfile from '../components/_conquistasProfile/ConquistasProfile'\nimport InteressesProfile from '../components/_interessesProfile/InteressesProfile'\nimport PreviewPhotosProfile from '../components/previewPhotosProfile/PreviewPhotosProfile'\nimport ProfileHeader from '../components/ProfileHeader/ProfileHeader'\nimport styles from './ProfilePage.module.scss'\nimport { UsePhoto } from './UsePhoto'\nimport UseProfilePage from './UseProfilePage'\nexport interface IProfilePageProps {\n //propertys\n}\nconst ProfilePage: FC = () => {\n\n const { profile } = UseProfilePage();\n const { photos } = UsePhoto();\n\n return (\n
\n \n {profile &&\n
\n \n \n \n \n\n
\n \n
\n
\n }\n
\n )\n}\nexport default ProfilePage","import { useState } from 'react'\nimport { IPhoto } from './interfaces/IPhotos'\n\nexport const UsePhoto = () => {\n\n const [photos] = useState([\n {\n thumbnailUrl: \"/demo/social/1.png\",\n photoUrl: \"/demo/social/1.png\",\n },\n {\n thumbnailUrl: \"/demo/social/2.png\",\n photoUrl: \"/demo/social/2.png\",\n },\n {\n thumbnailUrl: \"/demo/social/3.png\",\n photoUrl: \"/demo/social/3.png\",\n },\n {\n thumbnailUrl: \"/demo/social/4.png\",\n photoUrl: \"/demo/social/4.png\",\n },\n ])\n\n\n return (\n {\n photos\n }\n )\n}\n","import { IAppointments } from \"pages/public/schedule/interfaces/IScheduled\";\nimport api from \"../Api\";\nimport { IDemandedPlaceScheduleResponse } from \"../../../pages/public/schedule/interfaces/api/IDemandedPlaceScheduleResponse\";\n\nexport const ScheduledApi = () => {\n \n const getDemandedSchedulesByUserService = async () => {\n return await api.get<{ items: IAppointments[] }>(\"/DemandSchedule/DemandedSchedulesByUserService\")\n }\n\n const getDemandedPlaceScheduleWithClientsByUser = async (clientId: string): Promise<{ items: IDemandedPlaceScheduleResponse[] }> => {\n const response = await api.get<{ items: IDemandedPlaceScheduleResponse[] }>(\"/DemandSchedule/GetDemandedPlaceScheduleWithClientsByUser\");\n return response.data\n }\n\n return {\n getDemandedSchedulesByUserService,\n getDemandedPlaceScheduleWithClientsByUser\n }\n}\n\nexport default ScheduledApi\n\n\n","import { Icon } from '@material-ui/core'\nimport { IAppointments } from 'pages/public/schedule/interfaces/IScheduled'\nimport React, { FC } from 'react'\nimport styles from './ScheduledItem.module.scss'\nimport QRCode from \"qrcode.react\";\nexport interface IScheduledItemProps {\n //propertys\n appointment: IAppointments\n}\nconst ScheduledItem: FC = ({ appointment }) => {\n return (\n
\n
\n
\n event\n
\n {new Date(appointment.schedule.date).toLocaleDateString(\"pt-BR\")}\n
\n
\n
\n {appointment.store.name &&
{appointment.store.name}
}\n {appointment.schedule.environment &&
{appointment.schedule.environment}
}\n {appointment.schedule.peopleAmount &&
{appointment.schedule.peopleAmount}
}\n {appointment.schedule.table &&
{appointment.schedule.table}
}\n {/* {appointment.schedule.professional &&
{appointment.schedule.professional}
} */}\n {
Nome: {appointment.client.name}
}\n {
Documento: {appointment.client.document}
}\n {
Criado por: {appointment.createdBy.name}
}\n {appointment.schedule.procedure &&
{appointment.schedule.procedure}
}\n {appointment.schedule.unity &&
{appointment.schedule.unity}
}\n {appointment.schedule.value &&
{appointment.schedule.value?.toFixed(2).replace(\".\", \",\")}
}\n
\n \n
\n
\n
\n
\n )\n}\nexport default ScheduledItem","import { useUi } from 'context/ui/UIContext'\nimport React, { FC, useEffect, useState } from 'react'\nimport ScheduledApi from 'services/Api/schedule/ScheduledApi'\nimport { IAppointments } from '../../interfaces/IScheduled'\nimport styles from './ScheduledPage.module.scss'\nimport ScheduledItem from './_scheduledItem/ScheduledItem'\nexport interface IScheduledPageProps {\n //propertys\n}\nconst ScheduledPage: FC = () => {\n const [appointments, setAppointments] = useState()\n const { showLoading, hideLoading } = useUi()\n\n useEffect(() => {\n const { getDemandedSchedulesByUserService } = ScheduledApi();\n showLoading()\n getDemandedSchedulesByUserService().then((response) => {\n setAppointments(response.data.items)\n }).finally(() => {\n hideLoading()\n })\n return () => {\n }\n }, [])\n\n return (\n
\n

Minhas reservas

\n
\n
\n {appointments?.map((appointment) => (\n
\n

{appointment.store.name}

\n \n
\n ))}\n
\n
\n
\n )\n}\nexport default ScheduledPage\n","import React, { FC } from \"react\";\nimport styles from \"./Button.module.scss\";\nimport { Button as ButtomMaterial } from \"@material-ui/core\";\nexport interface IButtonProps {\n //propertys\n id?: string;\n fullWidth?: boolean;\n variant?: \"outlined\" | \"text\" | \"contained\";\n disabled?: boolean;\n type?: \"button\" | \"submit\" | \"reset\";\n className?: string;\n onClick?: () => void;\n autoFocus?: boolean;\n href?: string;\n color?: \"primary\" | \"secondary\";\n children?: React.ReactNode;\n}\nconst Button: FC = ({\n children,\n fullWidth = true,\n variant = \"contained\",\n disabled,\n type,\n className,\n onClick,\n autoFocus,\n id,\n href,\n color = \"primary\"\n}) => {\n return (\n \n {children}\n \n );\n};\nexport default Button;\n","import { IconButton } from '@material-ui/core';\nimport { KeyboardArrowDown, KeyboardArrowUp } from '@material-ui/icons';\nimport React, { useState } from 'react'\nimport { IQuestion } from '../IFaq';\nimport styles from './FaqCard.module.scss'\n\ninterface IFaqCardProps {\n value: IQuestion;\n}\n\nexport const FaqCard: React.FC = ({ value }) => {\n\n const [openAnswers, setOpenAnswers] = useState(false);\n\n\n return (\n
\n
\n {\n // value.map(item => (\n <>\n\n {/*

{item.title}

*/}\n

\n

\n
setOpenAnswers((prev) => !prev)}>\n

{value.description}

\n \n {!openAnswers ? (\n \n ) : (\n \n )}\n \n
\n \n\n {openAnswers && (\n

{value.answers}

\n )}\n
\n
\n

\n \n // ))\n }\n
\n
\n )\n}\n","import { useState } from 'react'\nimport { IFaq } from './IFaq';\n\nconst mock: IFaq =\n{\n categories: [\n {\n title: \"Pergunta 1\",\n questions: [\n {\n description: \"Fiz minha compra, e agora?\",\n answers: \"Show!! Agora basta retirar seu comprovante no totem de autoatendimento e aguardar. Nossa equipe entrará em contato para encaminhar seu voucher de confirmação.\"\n },\n {\n description: \"O passeio é realizado por quem?\",\n answers: \"O passeio é realizado pela Gramado Receptivo. A agência passou a operar os próprios serviços em 2017, um ano após a sua fundação. A experiência de 20 anos no mercado turístico do nosso diretor, aliado à dedicação de uma equipe competente, faz da Gramado Receptivo uma empresa de sucesso. O sorriso no rosto de cada vendedor, agentes de viagens, operadores, guias e motoristas é reflexo do prazer que temos em receber e atender nossos clientes.\" },\n {\n description: \"Que horário vocês irão me buscar para o passeio?\",\n answers: \"Relaxa … Você será contatado pela nossa equipe operacional no dia anterior ao seu passeio, que vai te passar todos os detalhes sobre os horários, ponto de encontro etc! \"\n },\n {\n description: \"Que horário vocês irão me buscar para o passeio?\",\n answers: \"Relaxa … Você será contatado pela nossa equipe operacional no dia anterior ao seu passeio, que vai te passar todos os detalhes sobre os horários, ponto de encontro etc! \"\n },\n {\n description: \"Quais são as formas de pagamento?\",\n answers: \"O pagamento é realizado através do cartão de crédito, com a parcela mínima de R$100,00.\"\n },\n {\n description: \"Onde será o ponto de encontro?\",\n answers: \"Buscamos em todos os hotéis e pousadas de Gramado e Canela. Nosso motorista irá chamar por você e sua família na recepção.\"\n },\n {\n description: \"Onde retiro meu comprovante?\",\n answers: \"Nos totens de autoatendimento. Nós também entraremos em contato para encaminhar o seu voucher.\"\n },\n {\n description: \"O que acontece em caso de chuva no dia do passeio?\",\n answers: \"Fique tranquilo (a)! Todos os nossos passeios tem estrutura para os dias chuvosos!\"\n },\n {\n description: \"Quero cancelar, o que eu faço?\",\n answers: \"No caso de desistência dos serviços em até 48 horas de antecedência, serão cobradas taxas administrativas de 50% do valor total. A devolução dos outros 50% será feita de acordo com a forma de pagamento. Em caso de desistência antes do prazo(até 48h antes), não será possível realizar a devolução.\"\n },\n\n ]\n }\n ]\n}\n\n\nconst UseFaqPage = () => {\n const [values, setValues] = useState(mock)\n\n return (\n {\n values\n }\n )\n}\n\nexport default UseFaqPage\n","import React, { FC } from 'react'\nimport styles from './FaqPage.module.scss'\nimport Button from 'pages/public/schedule/components/Button/Button'\nimport { FaqCard } from './faqCard/FaqCard'\nimport UseFaqPage from './UseFaqPage'\nimport { Close } from '@material-ui/icons'\n\ninterface IFaqPageProps {\n onClickFaq: () => void;\n}\n\nconst FaqPage: FC = ({ onClickFaq }) => {\n const { values } = UseFaqPage();\n\n return (\n
\n\n
\n

Ajuda

\n \n
\n
\n {\n values.categories.map((item, index) => (\n
\n {/*

{item.title}

*/}\n {\n item.questions.map((it, key) => (\n \n ))\n }\n
\n\n ))\n }\n
\n
\n

Não encontrou sua dúvida por aqui?

\n \n \n \n
\n
\n\n )\n}\n\nexport default FaqPage\n","import { Icon, IconButton, Theme, Tooltip, withStyles } from '@material-ui/core'\nimport { HelpOutline, KeyboardArrowLeft } from '@material-ui/icons'\nimport React, { FC } from 'react'\nimport styles from './HeaderLayout.module.scss'\nexport interface IHeaderLayoutProps {\n //propertys\n name?: string,\n description?: string,\n onClickBack?: () => void,\n onClickMenu?: () => void,\n helpHeader?: boolean,\n onClickFaq?: () => void;\n openTooltip?: boolean\n}\n\nconst TooltipStyle = withStyles((theme: Theme) => ({\n tooltip: {\n backgroundColor: '#32008E',\n color: '#FFF',\n maxWidth: 221,\n maxHeight: 40,\n fontSize: theme.typography.pxToRem(16),\n borderRadius: 8,\n border: '1px solid #dadde9',\n padding: 8,\n },\n arrow: {\n color: '#32008E',\n\n }\n}))(Tooltip);\n\nconst HeaderLayout: FC = ({\n name,\n description,\n onClickBack,\n onClickMenu,\n helpHeader,\n onClickFaq,\n openTooltip\n}) => {\n return (\n
\n {onClickBack && }\n
\n

{name}

\n {description}\n
\n {\n helpHeader &&\n \n \n \n }\n menu\n
\n )\n}\nexport default HeaderLayout","import { Button, Dialog, DialogActions, DialogContent, DialogTitle, Drawer } from '@material-ui/core'\nimport { Cancel, Help } from '@material-ui/icons'\nimport { useAuth } from 'context/auth/AuthContext'\nimport { useUi } from 'context/ui/UIContext'\nimport Menu from 'pages/private/privateLayout/menu/Menu'\nimport { ISubscribedPlan } from 'pages/public/schedule/interfaces/plansAndSubscription/ISubscribedPlan'\nimport FaqPage from 'pages/public/schedule/pages/tour/presentation/pages/faq/FaqPage'\nimport React, { FC, useCallback, useEffect, useState } from 'react'\nimport HeaderLayout from './headerLayout/HeaderLayout'\nimport styles from './Layout.module.scss'\nimport ImageGramado from 'assets/image/serraGaucha.png'\nimport FacebookImg from 'assets/icons/facebook.svg'\nimport InstagramImg from 'assets/icons/instagram.svg'\nimport YoutubeImg from 'assets/icons/youtube.svg'\n\nexport interface ILayoutProps {\n //propertys\n plan?: ISubscribedPlan,\n confirmBack?: boolean,\n onClickBack?: () => void,\n enableDescriptionImage?: boolean,\n banner?: string,\n isTopLayout?: boolean;\n children: React.ReactNode;\n}\n\nconst Layout: FC = ({ children, plan, confirmBack, onClickBack, enableDescriptionImage, banner, isTopLayout }) => {\n const { logout, isAuth, user, openModalLogin } = useAuth();\n const { isIframe, helpFixed, helpHeader, setHelpFixed, setHelpHeader, openTooltip, setOpenTooltip } = useUi();\n const [openMenu, setopenMenu] = useState(false);\n\n const [dialogLogoutOpen, setdialogLogoutOpen] = useState(false);\n const [dialogSairOpen, setdialogSairOpen] = useState(false);\n\n const [openFaq, setOpenFaq] = useState(false)\n\n const { isMobile } = useUi();\n\n const onClickLogout = () => {\n logout();\n setdialogLogoutOpen(false);\n }\n\n useEffect(() => {\n if (!helpFixed) {\n const timer = setTimeout(() => {\n setOpenTooltip(false)\n }, 5000);\n return () => clearTimeout(timer);\n }\n }, [helpFixed, setOpenTooltip])\n\n\n const onClickConfirmBack = useCallback(() => {\n if (isIframe) {\n window.parent.postMessage({ command: \"CLOSE\" }, \"*\")\n } else {\n onClickBack && onClickBack();\n }\n }, [isIframe, onClickBack])\n\n const onClickBackHandle = useCallback(\n () => {\n if (confirmBack) {\n setdialogSairOpen(true);\n } else {\n onClickConfirmBack();\n }\n },\n [confirmBack, onClickConfirmBack],\n )\n\n\n const onClickLogin = useCallback(() => {\n openModalLogin();\n }, [openModalLogin])\n\n const onClickFaq = useCallback(() => {\n setOpenFaq(prev => !prev);\n }, [])\n\n const onClickMenu = useCallback(() => {\n setopenMenu(prev => !prev);\n }, [])\n\n const onClickCloseHelpFixed = useCallback(() => {\n setHelpFixed(false);\n\n }, [setHelpFixed]);\n\n useEffect(() => {\n if (!helpFixed) {\n setHelpHeader(true)\n } else {\n setHelpHeader(false)\n }\n }, [helpFixed, setHelpHeader])\n\n return (\n <>\n
\n
\n \n\n {\n !isTopLayout ?\n\n
\"Experimente
\n :\n ''\n }\n\n
\n
\n {children}\n
\n
\n\n
\n
\n

Endereço - Gramado Receptivo

\n

Rua João Fisch Sobrinho, nº 115 | Centro, Gramado Cep: 95670-000

\n\n
\n
\n

Siga-nos nas redes sociais

\n \n
\n
\n\n
\n\n {\n helpFixed &&\n
\n
\n \n
\n
\n
\n \n

Ajuda

\n
\n
\n
\n }\n\n {\n isMobile ?\n { setOpenFaq(false) }} >\n \n \n :\n openFaq &&\n
\n
\n \n
\n
\n }\n\n\n\n
\n setopenMenu(false)}>\n setdialogLogoutOpen(true) : undefined}\n onClickLogin={!isAuth ? () => onClickLogin() : undefined} />\n \n\n { setdialogLogoutOpen(false) }} >\n Sair?\n \n Você tem certeza que deseja sair?\n \n \n \n \n \n \n \n\n )\n};\nexport default Layout","import { GetPlacesScheduleByServiceIdResponseDTO } from \"pages/public/schedule/pages/tour/_domain/dto/ReservePlaceSchedule/GetPlacesScheduleByServiceIdResponse\";\nimport { IGetMainServicesCategoryByLocalIdResponse, IGetServicesCategoryByLocalIdResponse } from \"pages/public/schedule/pages/tour/_domain/dto/ReservePlaceSchedule/GetServicesByLocalIdResponseDTO\";\nimport { AddPlaceDemandScheduleRequestDTO } from \"pages/public/schedule/pages/tour/_domain/dto/ReservePlaceSchedule/IAddReseveScheduleWithouPaymentRequest\";\nimport { GetProductValuesByServiceIdResponseDTO } from \"pages/public/schedule/pages/tour/_domain/dto/ReservePlaceSchedule/IGetProductValuesByServiceIdResponse\";\nimport api from \"../Api\";\nimport { AddPlaceDemandScheduleWithPaymentRequest } from \"pages/public/schedule/pages/tour/_domain/dto/ReservePlaceSchedule/IAddPlaceDemandScheduleWithPaymentRequest\";\nimport { IGetDataByDocumentResponse } from \"pages/public/schedule/pages/tour/_domain/dto/ReservePlaceSchedule/IGetDataByDocumentResponse\";\nimport { IGetServiceDetailsByServiceIdResponse } from \"pages/public/schedule/pages/tour/_domain/dto/ReservePlaceSchedule/IGetServiceDetailsByServiceIdResponse\";\nimport { GetVancaciesAndDiponibilityResponseDto } from \"pages/public/schedule/pages/tour/_domain/dto/ReservePlaceSchedule/GetVacanciesAndDisponibilityByServiceIdResponseDTO\";\nimport { IGetReserveListByUseResponse } from \"pages/public/schedule/pages/tour/_domain/dto/ReservePlaceSchedule/GetReserversByUserResponse\";\nimport { GetReserverListRequest } from \"pages/public/schedule/pages/tour/_domain/dto/ReservePlaceSchedule/GetReserverListRequest\";\n/*\nByLocalId/{localId}\nPrincipals/ByLocalId/{localId}\nSubcategories/ByLocalId/{localId}\n */\nexport const ScheduleTourApi = () => {\n\n const postReserveTourWithPayment = async (request: AddPlaceDemandScheduleWithPaymentRequest): Promise => {\n const response = await api.post(`DemandSchedule/Place/WithPaymentAndMultipleReservation`, request);\n return\n }\n\n const getServiceCategoryByLocalId = async (localId: string): Promise => {\n const response = await api.get(`/Schedule/ServiceCategory/ByLocalId/${localId}`, { params: { removeSubcategories: false, removePrincipalCategories: true } });\n return (response.data);\n }\n\n const getServiceCategoryByCategoryId = async (categoryId: string): Promise => {\n const response = await api.get(`/Schedule/ServiceCategory/ByCategoryId/${categoryId}`);\n return (response.data);\n }\n\n const getMainServiceCategoryByLocalId = async (localId: string): Promise => {\n const response = await api.get(`/Schedule/ServiceCategory/ByLocalId/${localId}`, { params: { removeSubcategories: true, removePrincipalCategories: false } });\n return (response.data);\n }//obter \n\n\n const getDataByDocument = async (localId: string, cpf: string): Promise => {\n const response = await api.get(`/Schedule/${localId}/Client/Cpf/${cpf}`);\n return (response.data);\n }\n\n const getPlacesByServiceId = async (serviceId: string): Promise => {\n const response = await api.get(`/PlaceSchedule/GetPlacesScheduleByServiceId/${serviceId}`);\n return (response.data);\n }\n\n const getServicesValuesByServiceId = async (serviceId: string): Promise => {\n const response = await api.get(`/ServiceSchedule/GetProductValuesByServiceId/${serviceId}`);\n return (response.data);\n }\n\n const getServiceDetailsByServiceId = async (serviceId: string): Promise => {\n const response = await api.get(`/ServiceSchedule/GetServiceDetails/${serviceId}`);\n return (response.data);\n }\n\n const postAddResevePlaceSchedule = async (request: AddPlaceDemandScheduleRequestDTO): Promise => {\n const response = await api.post(`DemandSchedule/Place/WithoutPayment`, request);\n return\n }\n\n\n const getVacanciesAndDisponibilityService = async (serviceScheduledId: string, start: string, end: string): Promise => {\n const response = await api.get(`/PlaceSchedule/Vacancies`,\n {\n params: {\n serviceScheduledId,\n start,\n end,\n }\n });\n return response.data;\n }\n\n const getReserveByUser = async (request: GetReserverListRequest): Promise => {\n const response = await api.get(`/DemandSchedule/ReservationListByUser`, { params: request });\n return (response.data);\n }\n\n return {\n postReserveTourWithPayment,\n getServiceCategoryByLocalId,\n getPlacesByServiceId,\n getServicesValuesByServiceId,\n postAddResevePlaceSchedule,\n getServiceCategoryByCategoryId,\n getMainServiceCategoryByLocalId,\n getDataByDocument,\n getServiceDetailsByServiceId,\n getVacanciesAndDisponibilityService,\n getReserveByUser\n }\n}\n\n// const storeTourMock: IStoreTour[] = [\n// {\n// id: '001',\n// name: 'Passeios',\n// imageUrl: 'https://malaprontagramado.com.br/wp-content/uploads/2020/02/cidade-de-gramado.jpg',\n// logoUrl: '',\n// productTourCategory: [\n// {\n// id: '001',\n// title: 'Tour nova Petrópolis',\n// imageUrl: '',\n// products: [],\n// },\n// {\n// id: '002',\n// title: 'Tour uva e vinho + Trem',\n// imageUrl: '',\n// products: [],\n// },\n// {\n// id: '003',\n// title: 'Tour vinhedos Especiais',\n// imageUrl: '',\n// products: [],\n// },\n// {\n// id: '004',\n// title: 'Passeio com cerveja',\n// imageUrl: '',\n// products: [],\n// }\n// ]\n// },\n// {\n// id: '002',\n// name: 'Jantares',\n// imageUrl: 'https://malaprontagramado.com.br/wp-content/uploads/2020/02/cidade-de-gramado.jpg',\n// logoUrl: '',\n// productTourCategory: []\n// },\n// {\n// id: '003',\n// name: 'Transfers',\n// imageUrl: 'https://malaprontagramado.com.br/wp-content/uploads/2020/02/cidade-de-gramado.jpg',\n// logoUrl: '',\n// productTourCategory: []\n// },\n\n// ];\n\n\n// const productTourMock: IProductTourCategory[] = [\n// {\n// id: '001',\n// title: 'Passeio com almoço',\n// imageUrl: 'https://malaprontagramado.com.br/wp-content/uploads/2020/02/cidade-de-gramado.jpg',\n// products: [\n// {\n// id: \"000-001\",\n// name: \"Tour nova Petrópolis\",\n// description: \"Lindo passeio pelas montanhas de gramado, além de um excelente almoço!\",\n// thumbnailUrl: 'https://malaprontagramado.com.br/wp-content/uploads/2020/02/cidade-de-gramado.jpg',\n// imageUrl: 'https://malaprontagramado.com.br/wp-content/uploads/2020/02/cidade-de-gramado.jpg',\n// price: 50\n// },\n// {\n// id: \"000-002\",\n// name: \"Tour uva e vinho\",\n// description: \"Lindo passeio pelas montanhas de gramado, além de um excelente almoço!\",\n// thumbnailUrl: 'https://malaprontagramado.com.br/wp-content/uploads/2020/02/cidade-de-gramado.jpg',\n// imageUrl: 'https://malaprontagramado.com.br/wp-content/uploads/2020/02/cidade-de-gramado.jpg',\n// price: 50\n// },\n// {\n// id: \"000-003\",\n// name: \"Tour vinhedos especiais\",\n// description: \"Lindo passeio pelas montanhas de gramado, além de um excelente almoço!\",\n// thumbnailUrl: 'https://malaprontagramado.com.br/wp-content/uploads/2020/02/cidade-de-gramado.jpg',\n// imageUrl: 'https://malaprontagramado.com.br/wp-content/uploads/2020/02/cidade-de-gramado.jpg',\n// price: 50\n// },\n// ],\n// },\n// {\n// id: '004',\n// title: 'Passeio com cerveja',\n// imageUrl: 'https://malaprontagramado.com.br/wp-content/uploads/2020/02/cidade-de-gramado.jpg',\n// products: [\n// {\n// id: \"000-004\",\n// name: \"Tour vinhedos especiais\",\n// description: \"Lindo passeio pelas montanhas de gramado, além de um excelente almoço!\",\n// thumbnailUrl: 'https://malaprontagramado.com.br/wp-content/uploads/2020/02/cidade-de-gramado.jpg',\n// imageUrl: 'https://malaprontagramado.com.br/wp-content/uploads/2020/02/cidade-de-gramado.jpg',\n// price: 50\n// },\n// {\n// id: \"000-005\",\n// name: \"Tour vinhedos especiais\",\n// description: \"Lindo passeio pelas montanhas de gramado, além de um excelente almoço!\",\n// thumbnailUrl: 'https://malaprontagramado.com.br/wp-content/uploads/2020/02/cidade-de-gramado.jpg',\n// imageUrl: 'https://malaprontagramado.com.br/wp-content/uploads/2020/02/cidade-de-gramado.jpg',\n// price: 50\n// }\n// ],\n// },\n\n\n// ];\n","import { useLocal } from 'context/local/LocalContext'\nimport { useUi } from 'context/ui/UIContext';\nimport { useCallback, useEffect, useState } from 'react'\nimport { useHistory, useParams } from 'react-router-dom';\nimport { v4 } from 'uuid';\nimport { GetStoreToursByLocaldUseCase } from '../../application/useCases/GetStoreToursByLocaldUseCase';\nimport { IStoreTour } from '../../_domain/_models/IStoreTour';\nimport bannerAboutProject from '../../../../../../../assets/image/projeto.png'\n\n\nconst UseTourPage = () => {\n const [storesTour, setStoresTour] = useState()\n const { localId } = useLocal();\n const { url } = useParams<{ url: string }>();\n const { showLoading, hideLoading } = useUi();\n const { push } = useHistory();\n\n\n const onClickBackHandle = useCallback(() => {\n push(`/${url}/schedule/tour/`)\n }, [])\n\n const aboutProject: IStoreTour = {\n id: v4(),\n name: 'Conheça o projeto',\n imageUrl: bannerAboutProject,\n logoUrl: '',\n productTourCategory: [],\n }\n\n\n useEffect(() => {\n if (localId) {\n showLoading();\n GetStoreToursByLocaldUseCase(localId)\n .then((response) => {\n if (response.items.length === 1) {\n // replace(`/${url}/schedule/tour/${response.items[0].id}`);\n }\n setStoresTour(response.items);\n })\n .finally(() => {\n hideLoading();\n })\n }\n\n return () => {\n\n }\n\n }, [localId, url])\n\n\n const onClickStoreTourHandle = useCallback(\n (storeId: string) => {\n push(`/${url}/schedule/tour/${storeId}`)\n },\n [url],\n )\n const onClickAboutProject = useCallback(\n () => {\n push(`/${url}/schedule/tour/aboutProject`)\n },\n [url],\n )\n\n\n\n return ({ storesTour, onClickStoreTourHandle, onClickBackHandle, aboutProject, onClickAboutProject })\n}\n\nexport default UseTourPage","import { ScheduleTourApi } from 'services/Api/schedule/ScheduleTourApi';\nimport { IStoreTourListResponse } from '../../_domain/_models/IStoreTourListResponse'\nimport { CategoryMainServiceToStoreTourListResponseUseCase } from './CategoryServiceToStoreTourListResponseUseCase';\n\nexport const GetStoreToursByLocaldUseCase = async (localId: string): Promise => {\n const scheduleTourApi = ScheduleTourApi();\n const response = await scheduleTourApi.getMainServiceCategoryByLocalId(localId);\n return CategoryMainServiceToStoreTourListResponseUseCase(response)\n}\n","import { IGetMainServicesCategoryByLocalIdResponse, IGetServicesCategoryByLocalIdResponse } from \"../../_domain/dto/ReservePlaceSchedule/GetServicesByLocalIdResponseDTO\";\nimport { IProductTourCategory } from \"../../_domain/_models/IProductTourCategory\";\nimport { IStoreTour } from \"../../_domain/_models/IStoreTour\";\nimport { IStoreTourListResponse } from \"../../_domain/_models/IStoreTourListResponse\";\n\n\n\nexport const CategoryServiceToStoreTourListResponseUseCase = (localId: string, responseServices: IGetServicesCategoryByLocalIdResponse): IStoreTourListResponse => {\n const data: IStoreTourListResponse = {\n items: [{\n id: localId,\n name: \"\",\n imageUrl: \"\",\n logoUrl: \"\",\n productTourCategory: responseServices.items.map((item) => ({\n id: item.id,\n title: item.name,\n imageUrl: \"\",\n products: item.services.map((serviceItem) => ({\n id: serviceItem.id,\n name: serviceItem.name,\n description: \"\",\n thumbnailUrl: serviceItem.imageUrl,\n imageUrl: serviceItem.imageUrl,\n price: !!serviceItem.prices.length ? Math.min(...serviceItem.prices.map((item) => item.price)) : 0\n })),\n }))\n }]\n };\n return data;\n};\n\n\nexport const CategoryMainServiceToStoreTourListResponseUseCase = (responseMainServices: IGetMainServicesCategoryByLocalIdResponse): IStoreTourListResponse => {\n const data: IStoreTourListResponse = {\n items: responseMainServices.items.map((item) => ({\n id: item.id,\n name: item.name,\n imageUrl: item.imageUrl,\n logoUrl: \"\",\n }))\n };\n return data;\n};\n\n\n\n\nexport const CategoryServiceToStoreTourResponseUseCase = (storeId: string, responseServices: IGetServicesCategoryByLocalIdResponse): IStoreTour => {\n const data: IStoreTour = {\n\n id: storeId,\n name: \"\",\n imageUrl: \"\",\n logoUrl: \"\",\n productTourCategory: responseServices.items.map((item) => ({\n id: item.id,\n title: item.name,\n imageUrl: \"\",\n products: item.services.map((serviceItem) => ({\n id: serviceItem.id,\n name: serviceItem.name,\n description: serviceItem.description,\n thumbnailUrl: serviceItem.imageUrl,\n imageUrl: serviceItem.imageUrl,\n price: !!serviceItem.prices.length ? Math.max(...serviceItem.prices.map((item) => item.price)) : 0\n })),\n }))\n }\n\n return data;\n};\n","\nimport React, { useContext, createContext, useCallback, useEffect, useState, PropsWithChildren, Context } from 'react'\nimport { v4 } from 'uuid'\nimport { ICartItem } from './ICartItem'\n\ninterface ICartContext {\n cartTourItems: T[]\n totals: { price: number, quantity: number }\n addCart: (cartItem: T) => void\n removeCart: (cartTourId: string) => void\n clearCart: () => void,\n replaceCart: (cartItem: T) => void\n}\n\ninterface ICartProviderProps {\n isEqual?: (cartItem: ICartItem) => boolean\n}\n\nconst CartContext: Context = createContext({} as ICartContext)\n\nconst CartProvider = ({ children }: PropsWithChildren) => {\n\n const [cartTourItems, setCartTourItems] = useState([])\n const [totals, setTotals] = useState({ price: 0, quantity: 0 })\n\n const addCart = useCallback((cartItem: { name: string, totalPrice: number, imageUrl: string, quantity: number, [key: string]: any; } & T) => {\n setCartTourItems(prev => (\n [\n ...prev,\n {\n id: v4(),\n ...cartItem\n }\n ]))\n },\n [],\n )\n const removeCart = useCallback(\n (cartTourId: string) => {\n setCartTourItems(prev => (prev.filter(item => item.id !== cartTourId)))\n },\n [],\n )\n\n const clearCart = useCallback(\n () => {\n setCartTourItems([])\n },\n [],\n )\n\n const replaceCart = useCallback((cartItem: { id: string, name: string, totalPrice: number, imageUrl: string, quantity: number, [key: string]: any; } & T) => {\n removeCart(cartItem.id);\n addCart(cartItem)\n\n },[addCart, removeCart]);\n\n\n useEffect(() => {\n const totalPrice = cartTourItems.flatMap(item => item.totalPrice).reduce((prev, current) => (prev + current), 0);\n const totalQuantity = cartTourItems.flatMap(item => item.quantity).reduce((prev, current) => (prev + current), 0);\n setTotals({ price: totalPrice, quantity: totalQuantity });\n return () => {\n\n }\n }, [cartTourItems])\n\n return (\n \n {children}\n \n )\n}\n\n\n\nexport default CartProvider\n\n\nexport const useCart = () => {\n const context = useContext>(CartContext);\n return context;\n};","import React, { ReactNode, useCallback, useState } from 'react'\nimport { Drawer, Icon, IconButton } from '@material-ui/core'\n\nimport styles from './Cart.module.scss'\nimport { useCart } from './CartContext'\nimport { ICartItem } from './ICartItem'\nimport { ICart } from './ICart'\n\nexport interface ITourCartProps {\n onClickConfirm(cart: ICart): void,\n renderDescription?(cartItem: T): ReactNode\n confirmLabel?: string\n}\n\nconst Cart = ({ onClickConfirm, renderDescription }: ITourCartProps) => {\n\n const { cartTourItems, totals, removeCart: removeTourCart, clearCart: clearTourCart } = useCart()\n\n const [openCart, setOpenCart] = useState(false);\n\n const sendTourCartToPayment = useCallback(() => {\n onClickConfirm({ cartItems: cartTourItems, totalPrice: totals.price })\n }, [cartTourItems, onClickConfirm, totals])\n\n return (\n
\n setOpenCart(true)}\n className={!!totals.quantity ? styles.barVisible : styles.barHide}\n // className={styles.barVisible}\n >\n
\n {totals.quantity} Reservas\n
\n
\n Carrinho\n
\n
\n R${totals.price.toFixed(2)}\n
\n
\n setOpenCart(false)}>\n
\n
\n setOpenCart(false)}>keyboard_arrow_down

Carrinho

Limpar
\n
\n
\n {cartTourItems.map((cartItem) => (\n
\n
\n removeTourCart(cartItem.id)}>close\n
\n
\n {\"Imagem\n
\n
\n
\n {cartItem.name}\n
\n
\n {renderDescription && renderDescription(cartItem)}\n
\n {/*
\n {cartItem.date} - {cartItem.reserveTour.time}\n
\n
\n {cartItem.reserveTour.customers.length} pessoas\n
\n
\n R${cartItem.reserveTour.totalPrice.toFixed(2)}\n
*/}\n
\n
\n )\n )}\n
\n
\n
\n
SubTotal:
R${totals.price.toFixed(2)}
\n
\n
\n
Realizar Pagamento
\n
\n
\n
\n
\n \n )\n}\n\nexport default Cart\n","import { ScheduleTourApi } from 'services/Api/schedule/ScheduleTourApi';\nimport { AddPlaceDemandScheduleWithPaymentRequest } from '../../_domain/dto/ReservePlaceSchedule/IAddPlaceDemandScheduleWithPaymentRequest';\n\nexport const PostReserveTourScheduleUseCase = async (request: AddPlaceDemandScheduleWithPaymentRequest) => {\n const scheduleTourApi = ScheduleTourApi();\n await scheduleTourApi.postReserveTourWithPayment(request);\n return\n}\n","import { ICartItemTour } from \"../../presentation/interfaces/ICartTour\";\nimport { AddPlaceDemandScheduleWithPaymentRequest } from \"../../_domain/dto/ReservePlaceSchedule/IAddPlaceDemandScheduleWithPaymentRequest\";\n\nconst CartTourToAddDemandWithPaymentDTOUseCase = (localId: string, cardId: string, deviceIdMercadoPago: string, userId: string, cartItems: ICartItemTour[], installments?: number, operatorId?: string) => {\n const request: AddPlaceDemandScheduleWithPaymentRequest = {\n localId: localId,\n creditCardId: cardId,\n quantity: 1,\n cvv: \"\",\n operatorId: operatorId ?? \"\",\n fingerprint: deviceIdMercadoPago,\n userId: userId,\n installments: installments ?? 1,\n services: cartItems.map((cartItem) => (cartItem.customers.map((customerItem) => ({\n serviceScheduledId: cartItem.serviceScheduledId,\n start: cartItem.startDate ?? \"\",\n listProductId: customerItem.value?.listId ?? \"\",\n client: {\n name: customerItem.name,\n document: customerItem.document,\n rg: customerItem.rg,\n note: customerItem.note,\n phone: customerItem.phone,\n birthDate: customerItem.birthDate,\n }\n })))).flatMap(item => item)\n };\n return (request);\n};\nexport default CartTourToAddDemandWithPaymentDTOUseCase;\n","import { useCallback } from 'react';\nimport { useHistory, useParams } from 'react-router';\n\n\nexport const UseNavigationTour = () => {\n\n const { url, storeId } = useParams<{ url?: string, storeId?: string, serviceId?: string, }>();\n const { replace } = useHistory();\n\n const goToCurrentTourStore = useCallback(() => {\n replace(`/${url}/schedule/tour/${storeId}`);\n }, [replace, storeId, url])\n\n const goToTourStores = useCallback(() => {\n replace(`/${url}/schedule/tour/`);\n }, [replace, url])\n\n const goToTourReserves = useCallback(() => {\n replace(`/${url}/schedule/tour/reserves`);\n }, [replace, url])\n\n\n return (\n { goToCurrentTourStore, goToTourStores, goToTourReserves }\n );\n};\n","import { useAuth } from 'context/auth/AuthContext'\nimport { useLocal } from 'context/local/LocalContext'\nimport { useParamsConfig } from 'context/paramsConfig/ParamsConfigContext'\nimport { UseMercadoPago } from 'context/payment/UseMercadoPago'\nimport { useUi } from 'context/ui/UIContext'\nimport { ICardItem } from 'models/payment/ICard'\nimport { PaymentType } from 'models/payment/IPay'\nimport { useCallback, useState } from 'react'\nimport { useHistory, useParams } from 'react-router-dom'\nimport { PostReserveTourScheduleUseCase } from '../../../application/useCases/PostReserveTourScheduleUseCase'\nimport { ICartTour } from '../../interfaces/ICartTour'\nimport CartTourToAddDemandWithPaymentDTOUseCase from '../../../application/useCases/CartTourToAddDemandWithPaymentDTOUseCase'\nimport { UseNavigationTour } from '../../hooks/UseNavigationTour'\nimport { Parcela } from '../installmentSelect/InstallmentSelect'\n\nconst UsePaymentCartTourResume = (cartTour: ICartTour, onSucess: () => void) => {\n // const [localTour, setlocalTour] = useState();\n const [paymentType, setpaymentType] = useState(0);\n const [card, setCard] = useState(null);\n const [totalValue] = useState(0);\n\n const [installments, setInstallments] = useState({ label: `A vista por R$ ${cartTour.totalPrice.toFixed(2)}`, parcela: 1, value: cartTour.totalPrice });\n\n const { url } = useParams<{ url: string }>();\n\n\n const { goToTourReserves } = UseNavigationTour()\n\n // const { serviceId } = useParams<{ serviceId: string; }>();\n\n const { localId, storeConfig } = useLocal();\n const { user } = useAuth()\n const { queryParams } = useParamsConfig()\n const { toastFullScreen, showLoading, hideLoading } = useUi();\n const { deviceIdMercadoPago } = UseMercadoPago();\n const { push } = useHistory();\n\n // useEffect(() => {\n // if (serviceId) {\n // showLoading();\n // GetServiceDetailsByServiceIdUseCase(serviceId)\n // .then((response) => {\n // setlocalTour(response);\n // })\n // .finally(() => {\n // hideLoading();\n // })\n // }\n // }, [serviceId])\n\n const onClickItemEdit = useCallback(\n (cartId: string) => {\n console.clear()\n const cartItem = cartTour.cartItems.find(item => item.id === cartId)\n\n push(`/${url}/schedule/tour/${cartItem?.storeId}/form/${cartItem?.serviceId}/${cartId}`);\n },\n [cartTour, push, url],\n )\n\n\n const sendScheduleTour = useCallback(() => {\n if (localId && card) {\n const request = CartTourToAddDemandWithPaymentDTOUseCase(localId, card.id, deviceIdMercadoPago, user.id, cartTour.cartItems, installments?.parcela ?? 1, queryParams?.operatorId)\n showLoading();\n PostReserveTourScheduleUseCase(request).then(() => {\n toastFullScreen(\"Reserva Realizada com Sucesso\", \"check\", \"success\", 3000, () => { goToTourReserves() });\n onSucess();\n }).finally(() => {\n hideLoading()\n })\n }\n }\n , [localId, card, deviceIdMercadoPago, user.id, cartTour.cartItems, installments, queryParams, showLoading, toastFullScreen, onSucess, goToTourReserves, hideLoading])\n\n return ({\n paymentType,\n setpaymentType,\n // localTour,\n storeConfig: storeConfig ? {\n ...storeConfig,\n allowOnlinePayment: true,\n allowPaymentOnDelivery: false,\n disableAutenticateCard: true,\n } : null,\n card,\n setCard,\n sendScheduleTour,\n totalValue,\n installments,\n setInstallments,\n onClickItemEdit\n })\n}\n\nexport default UsePaymentCartTourResume","import { MenuItem, TextField } from '@material-ui/core'\nimport React, { FC, useCallback } from 'react'\nimport styles from './InstallmentSelect.module.scss'\nexport interface Parcela {\n label: string\n value: number\n parcela: number\n}\nexport interface IInstallmentSelectProps {\n //propertys\n total: number,\n parcelaMinima: number\n max: number,\n min: number,\n description: string,\n onChange: (value: Parcela) => void\n onCancel?: () => void,\n value: Parcela\n variant?: \"standard\" | \"outlined\" | \"filled\"; \n}\nconst InstallmentSelect: FC = ({\n total,\n onChange,\n parcelaMinima,\n max,\n min,\n value,\n variant\n}) => {\n\n // const [value, setValue] = useState({ label: `A vista por R$ ${total.toFixed(2)}`, parcela: 1, value: total });\n\n const gerarParcelas = useCallback((total: number, parcelaMin: number, max: number, min: number,) => {\n var parcelas: Parcela[] = []\n for (var i = max; i >= min; i--) {\n const valorDaParcela = total / i;\n if (valorDaParcela >= parcelaMin) {\n parcelas.push({ label: `${i} vezes de R$ ${valorDaParcela.toFixed(2)}`, parcela: i, value: valorDaParcela })\n }\n }\n parcelas.push({ label: `A vista por R$ ${total.toFixed(2)}`, parcela: 1, value: total });\n return parcelas\n }, [])\n\n\n // useEffect(() => {\n // setValue(defaultValue ?? { label: `A vista por R$ ${total.toFixed(2)}`, parcela: 1, value: total });\n // }, [defaultValue, total])\n\n return (\n
\n
\n {\n const newParcela = gerarParcelas(total, parcelaMinima, max, min).find(item => item.parcela.toString() === ev.target.value.toString()) ?? { label: `A vista por R$ ${total.toFixed(2)}`, parcela: 1, value: total }\n onChange(newParcela);\n }}\n >\n {gerarParcelas(total, parcelaMinima, max, min).map((parcela) => ( {parcela.label} ))}\n \n
\n
\n )\n}\nexport default InstallmentSelect","import React, { ChangeEvent, useState } from 'react'\nimport styles from './PaymentCartTourResume.module.scss';\nimport { Checkbox, Dialog, Drawer, IconButton } from '@material-ui/core';\nimport Button from 'pages/public/schedule/components/Button/Button';\nimport UseScheduleTourPayment from './UsePaymentCartTourResume';\nimport { PaymentSelect } from 'pages/payment/PaymentSelect/PaymentSelect';\nimport { Close, Edit, KeyboardArrowDown, KeyboardArrowUp } from '@material-ui/icons';\nimport { addHours, format } from 'date-fns';\nimport { ICartTour } from '../../interfaces/ICartTour';\nimport InstallmentSelect from '../installmentSelect/InstallmentSelect';\n\ninterface PaymentCartTourResumeProps {\n open: boolean;\n onClose: () => void;\n cartTour: ICartTour;\n onSucess: () => void;\n}\n\nexport const PaymentCartTourResume: React.FC = ({ open, onClose, cartTour, onSucess }) => {\n const [openCustomers, setOpenCustomers] = useState(false)\n const {\n paymentType,\n setpaymentType,\n storeConfig,\n card,\n setCard,\n sendScheduleTour,\n installments,\n setInstallments,\n onClickItemEdit\n } = UseScheduleTourPayment(cartTour, onSucess);\n\n\n\n const [contractTerms, setContractTerms] = useState(false)\n const [toggleContractTerms, setToggleContractTerms] = useState(false)\n\n const handleModalContractTerms = () => {\n setToggleContractTerms(!toggleContractTerms)\n }\n\n const handleChecked = (event: ChangeEvent) => {\n setContractTerms(event.target.checked);\n }\n\n\n return (\n \n
\n
\n

Confira seus dados

\n \n \n \n
\n
\n

O horário exato da sua reserva será avisado na véspera até as 18 horas por mensagem de Whatsapp.

\n\n

Em caso de dúvida: (54) 99204-6916

\n
\n {cartTour.cartItems.map((cartItem) =>
\n
\n
\n
\n

Local do passeio:

\n

{cartItem.name}

\n
\n
\n

Data do passeio:

\n

{cartItem.startDate && new Date(cartItem.startDate).toLocaleDateString()}

\n
\n
\n
\n
\n

Participantes:

\n
\n

Reservas para {cartItem.customers.length} pessoas

\n\n setOpenCustomers((prev) => !prev)}>\n {openCustomers ? (\n \n ) : (\n \n )}\n \n
\n\n
\n\n \n
\n {\n cartItem?.customers.map(item => (\n
\n
\n

Nome: {item.name}

\n onClickItemEdit(cartItem.id)} />\n
\n

CPF: {item.document !== \"\" ? item.document : 'Não preenchido'}

\n

Nascimento: {format(addHours(new Date(item.birthDate), 3), 'dd-MM-yyyy')}

\n

RG: {item.rg !== \"\" ? item.rg : 'Não preenchido'}

\n

Telefone: {item.phone}

\n

Hotel: {item.note}

\n
\n ))\n }\n
\n
\n
)\n }\n\n\n
\n
\n {/*

{formScheduleTour?.customers.length} Reservas

*/}\n

Valor Total: {new Intl.NumberFormat(\"pt-BR\", {\n style: \"currency\",\n currency: \"BRL\",\n }).format(cartTour.totalPrice)}

\n
\n\n \n setInstallments(value)}\n parcelaMinima={100}\n description={\"Selecione o numero de parcelas\"}\n total={cartTour.totalPrice}\n />\n\n
\n \n

Declaro que li o Termo de Cancelamento, e estou ciente que tenho o prazo de 48 horas antes do passeio para cancelar sem cobrança de taxas.

\n
\n \n
\n \n \n
\n
\n

Termos da reserva

\n \n
\n

\n

LEIA COM ATENÇÃO:

\n

- Plantão 08h30 às 24h

\n

Operações - (54) 99204-6916

\n

- Os dias de realização dos passeios serão agendados de acordo com a programação interna da agência.

\n

- Os horários dos passeios serão informados pela agência sempre no dia que \"antecede\" o passeio e através de mensagens de WhatsApp.

\n

- Traslados de chegada pode haver a necessidade de espera de saída do transfer em cerca de 1:20 horas, de acordo com os horários dos voos.

\n

- O traslado de saída do hotel é marcado cerca de até 5 horas antes do horário de saída do vôo, de acordo com a programação interna da agência.

\n

- Não nos responsabilizamos por objetos deixados nos veículos utilizados nos passeios e transfers.

\n

- No caso de desistência dos serviços, serão cobradas taxas administrativas de 50% do valor total. A devolução dos 50% do valor, será de acordo a

\n

- forma de pagamento. Caso a desistência ocorra há 48 horas antes da saída do passeio/translado/serviço, não haverá devolução.

\n

- Observe o horário do início dos passeios/transfers no seu diário de viagem, no recibo de compras ou pela mensagem recebida via WhatsApp no dia

\n anterior ao serviço. Pois, não haverá tolerância no horário marcado para saída dos passeios/transfers.\n

- Por favor, aguarde na recepção do hotel, conforme o horário programado. Caso contrário, entenderemos que não irá ao passeio/transfer, configurando NO SHOW. Em consideração aos demais clientes, daremos continuidade ao passeio/transfer. Guias e Motoristas não são autorizados a circular pelas dependências dos Hotéis/Pousadas

\n

- Os passeios opcionais poderão ser cancelados ou remarcados devido a condições climáticas, formação mínima de pessoas, cancelamento do

\n

- fornecedor, entre outros. No caso de cancelamento desta natureza, será restituído ao passageiro o valor pago integral.

\n

\n
\n
\n\n
\n )\n}\n","import Cart from 'components/genericCart/Cart'\nimport { useCart } from 'components/genericCart/CartContext'\nimport { format } from 'date-fns'\nimport React, { FC, useState } from 'react'\nimport { ICartItemTour, ICartTour } from '../../interfaces/ICartTour'\nimport { PaymentCartTourResume } from '../paymentCartResume/PaymentCartTourResume'\nimport styles from './CartTour.module.scss'\n\nexport interface ICartTourProps {\n //propertys\n}\nconst CartTour: FC = () => {\n const [cartTour, setCartTour] = useState()\n const { clearCart } = useCart();\n const renderDescription = (cartItem: ICartItemTour) => {\n\n return (\n
\n
\n
\n Reservas: {cartItem.customers.length} pessoas\n
\n
\n Data: {format(new Date(cartItem.startDate), \"dd/MM/yyyy\")}\n
\n
\n
\n )\n }\n return (\n\n <>\n \n {\n cartTour &&\n setCartTour(undefined)}\n onSucess={clearCart}\n cartTour={cartTour}\n />\n }\n\n \n )\n}\nexport default CartTour","import React, { FC, useState } from 'react'\nimport styles from \"./Image.module.scss\"\ninterface ImageProps extends React.DetailedHTMLProps, HTMLImageElement> {\n fade?: boolean\n}\nconst Image: FC = (props) => {\n const [onLoadImage, setonLoadImage] = useState(false)\n return (\n { setonLoadImage(true) }} {...props} className={`${props.className} ${onLoadImage ? styles.showImage : styles.hideImage}`} alt=\"\" />\n )\n}\n\nexport default Image\n","import React, { FC } from 'react'\nimport styles from './TourItem.module.scss'\nimport { ITourItem } from './ITourtem'\nimport Image from '../../../../../../../../components/ui/_image/Image'\n\nexport interface ITourItemProps {\n //propertys\n values: ITourItem\n onClick: (store: ITourItem) => void\n onClickAboutProject?: () => void\n}\nconst TourItem: FC = ({ values, onClick }) => {\n return (\n
\n {/* `/${url}/${store.id}`}> */}\n
onClick(values)} className={styles.container} style={{ backgroundImage: `url(${values.imageUrl})` }} >\n
\n {values.logoUrl &&\n
\n {values.imageUrl && }\n
\n }\n
\n

{values.name}

\n
\n
\n
\n {/* */}\n
\n )\n}\nexport default TourItem","\nimport React, { FC, useEffect, useState } from 'react'\nimport styles from './TourPage.module.scss'\nimport Layout from 'components/layout/Layout'\nimport UseTourPage from './UseTourPage'\nimport { useLocation } from 'react-router-dom'\nimport CartTour from '../components/cartTour/CartTour'\nimport { Button, Dialog } from '@material-ui/core'\nimport TourItem from './tourItem/TourItem'\n\nexport interface ITourPageProps {\n //propertys\n}\nconst TourPage: FC = () => {\n\n const { storesTour, onClickStoreTourHandle, aboutProject, onClickAboutProject } = UseTourPage();\n\n const query = new URLSearchParams(useLocation().search)\n const [showModal, setShowModal] = useState(false);\n\n\n useEffect(() => {\n const operatorId = query.get(\"operatorId\");\n\n if (operatorId) {\n setShowModal(true);\n }\n return () => {\n\n }\n }, [])\n\n return (\n storesTour ?\n \n
\n
\n\n {storesTour.map((item) => (\n !item.name.includes(\"**\") &&\n onClickStoreTourHandle(item.id)}>\n ))}\n \n
\n\n \n\n
\n setShowModal(false)}>\n
setShowModal(false)}>\n\n Experimente a Serra Gaúcha do seu jeito! \n

Tour Aproveite Gramado e Canela\n De R$ 89,00 por R$ 20,00\n Acesse a aba de passeios e garanta sua reserva!

\n \n
\n
\n
\n :\n
\n )\n}\nexport default TourPage","import { Button, Grid } from '@material-ui/core'\nimport React, { useEffect } from 'react'\nimport { useHistory } from 'react-router-dom'\nimport { useLocal } from '../../../context/local/LocalContext'\nimport { useUi } from '../../../context/ui/UIContext'\nimport './SelecionarLogin.css'\n\nconst SelecionarPagamento = () => {\n const { push, replace } = useHistory();\n const { isIframe } = useUi();\n const { localLoading, storeConfig } = useLocal();\n\n useEffect(() => {\n if (storeConfig) {\n if (!storeConfig.isMeepCard) {\n replace(\"/payment\")\n }\n }\n return () => {\n\n }\n }, [replace, storeConfig])\n\n return (\n \n {\n !localLoading &&\n <>\n \n \n \n {\n (storeConfig?.allowOnlinePayment || storeConfig?.allowPaymentOnDelivery) &&\n \n \n \n }\n \n }\n {isIframe && \n { window.parent.postMessage({ command: \"CLOSE\" }, \"*\") }}\n fullWidth size=\"large\"\n variant=\"contained\"\n >\n {\"VOLTAR\"}\n \n }\n \n )\n}\n\nexport default SelecionarPagamento\n","import { ScheduleTourApi } from 'services/Api/schedule/ScheduleTourApi';\nimport { IProductsTourResponse } from '../../_domain/_models/IProductsTourResponse';\nimport { CategoryServiceToStoreTourResponseUseCase } from './CategoryServiceToStoreTourListResponseUseCase';\n\nexport const GetServicesTourCategoryByIdUseCase = async (storeId: string, localId: string): Promise => {\n const scheduleTourApi = ScheduleTourApi();\n const response = await scheduleTourApi.getServiceCategoryByCategoryId(storeId);\n const storeTour = CategoryServiceToStoreTourResponseUseCase(localId, response);\n\n return { storeName: storeTour.name, items: storeTour.productTourCategory ?? [] }\n}","import { useLocal } from 'context/local/LocalContext';\nimport { useUi } from 'context/ui/UIContext';\nimport { IProductItem } from 'pages/public/catalog/products/components/productList/interfaces/IProductItem';\nimport { useCallback, useEffect, useState } from 'react'\nimport { useHistory, useParams } from 'react-router-dom';\nimport { GetServicesTourCategoryByIdUseCase } from '../../../application/useCases/GetServicesTourCategoryByIdUseCase';\nimport { IProductTourCategory } from '../../../_domain/_models/IProductTourCategory';\n\nconst UseProductsTourPage = () => {\n const { url, storeId } = useParams<{ url: string, storeId: string }>();\n const { localId } = useLocal()\n const { push } = useHistory();\n const { showLoading, hideLoading } = useUi();\n const [productsTour, setProductsTour] = useState([]);\n const [storeName, setStoreName] = useState(\"\");\n\n useEffect(() => {\n if (storeId && localId) {\n showLoading();\n GetServicesTourCategoryByIdUseCase(storeId, localId)\n .then((response) => {\n setProductsTour(response.items);\n setStoreName(response.storeName)\n\n })\n .finally(() => {\n hideLoading();\n })\n }\n\n }, [storeId, localId, showLoading, hideLoading])\n\n const onClickBackHandle = useCallback(() => {\n push(`/${url}/schedule/tour`)\n }, [])\n\n\n\n const onClickProductHandle = useCallback(\n (product: IProductItem) => {\n push(`/${url}/schedule/tour/${storeId}/moreDetails/${product.id}`)\n },\n [url, storeId, push],\n )\n\n return ({\n productsTour,\n storeName,\n onClickProductHandle,\n onClickBackHandle,\n\n })\n}\nexport default UseProductsTourPage","import React, { FC } from 'react'\nimport styles from './ProductTourItem.module.scss'\nimport Image from '../../../../../../../components/ui/_image/Image'\nimport { IProductItem } from '../interfaces/IProductItem'\nimport { Favorite, KeyboardArrowRight, Star } from '@material-ui/icons'\nimport Medal from 'assets/icons/medal.svg'\n\nexport interface IProductItemProps {\n product: IProductItem,\n onClick: () => void,\n prefixPrice?: string\n}\nconst ProductTourItem: FC = ({ product, onClick, prefixPrice }) => {\n\n return (\n
\n
\n
\n \n
\n
\n
\n
\n
\n

{product.name}

\n
\n
\n a partir de\n

\n {prefixPrice}\n R${product.price.toFixed(2).replace(\".\", \",\")}

\n
\n
\n
\n

{product.description}

\n
\n
\n {\n product.id === \"72c36fe2-358e-4f73-9ce9-ea185d25ad1e\" ?\n
\n
\n \"Medalha\n

Mais vendido

\n
\n
\n

Ver mais

\n \n
\n
\n :\n product.id === '8a17f4d2-3aef-4e11-8530-c057abe5f551' ?\n
\n
\n \n

Mais procurado

\n
\n
\n

Ver mais

\n \n
\n
\n :\n product.id === '1debb996-0c1c-4942-851f-f990900dc2ae' ?\n
\n
\n \n

Destaque

\n
\n
\n

Ver mais

\n \n
\n
\n :\n
\n

Ver mais

\n \n
\n }\n\n
\n\n
\n
\n )\n}\nexport default ProductTourItem","\nimport React, { forwardRef } from 'react'\nimport { IProductItem } from './interfaces/IProductItem'\nimport { ISeccionedProduct } from './interfaces/ISeccionedProduct'\nimport ProductTourItem from './productItem/ProductTourItem'\nimport styles from './ProductList.module.scss'\n\nexport interface IProductListTourProps {\n seccionedProduct: ISeccionedProduct[];\n simpleTitle?: boolean,\n onClickProduct: (product: IProductItem) => void\n prefixPrice?:string\n}\nexport interface IProductListRef {\n goToCagetory: (index: number) => void;\n}\n\nconst ProductListTour = forwardRef(({ seccionedProduct, onClickProduct, prefixPrice, simpleTitle }, ref) => {\n return (\n
\n
\n {\n seccionedProduct.map((section, index) => (\n !!section.products.length &&
\n
{section.title}
\n\n
\n {section.products.map((product) =>\n // \n onClickProduct(product)} product={product}>\n // \n )}\n
\n
\n ))\n }\n
\n
\n )\n})\nexport default ProductListTour","import Layout from 'components/layout/Layout'\nimport React, { FC } from 'react'\nimport styles from './ProductsTourPage.module.scss'\nimport UseProductsTourPage from './UseProductsTourPage'\nimport CartTour from '../../components/cartTour/CartTour'\nimport ProductListTour from 'pages/public/catalog/products/components/productListTour/_ProductTourList'\n\nexport interface IProductsTourPageProps {\n //propertys\n}\n\nconst ProductsTourPage: FC = () => {\n const { productsTour, onClickProductHandle, onClickBackHandle } = UseProductsTourPage();\n\n return (\n \n
\n
\n !!item.products.length)}\n simpleTitle\n onClickProduct={onClickProductHandle}\n />\n
\n
\n \n
\n )\n}\nexport default ProductsTourPage","import { addDays } from 'date-fns'\nimport { GetVancaciesAndDiponibilityResponseDto } from '../../_domain/dto/ReservePlaceSchedule/GetVacanciesAndDisponibilityByServiceIdResponseDTO'\nimport { ScheduleTourApi } from 'services/Api/schedule/ScheduleTourApi';\n\n// import { ScheduleTourApi } from 'services/Api/schedule/ScheduleTourApi';\n\n\nconst GetDiponibilityAndVancanciesUseCase = async ( scheduledId: string): Promise => {\n const response = await ScheduleTourApi().getVacanciesAndDisponibilityService(scheduledId, new Date().toISOString(), addDays(new Date(), 90).toISOString())\n return response\n}\n\nexport default GetDiponibilityAndVancanciesUseCase\n","import { ScheduleTourApi } from 'services/Api/schedule/ScheduleTourApi';\nimport { IPlaceScheduleFormSchedule } from '../../presentation/pages/formTour/interface/IPlaceScheduleFormSchedule';\n\nexport const GetPlacesScheduleByServiceIdUseCase = async (serviceId: string): Promise => {\n\n const scheduleTourApi = ScheduleTourApi();\n const response = await scheduleTourApi.getPlacesByServiceId(serviceId);\n return (\n response.items\n )\n}\n","import { ScheduleTourApi } from 'services/Api/schedule/ScheduleTourApi';\nimport { IGetServiceDetailsByServiceIdResponse } from '../../_domain/dto/ReservePlaceSchedule/IGetServiceDetailsByServiceIdResponse';\n\nexport const GetServiceDetailsByServiceIdUseCase = async (serviceId: string): Promise => {\n\n const scheduleTourApi = ScheduleTourApi();\n const response = await scheduleTourApi.getServiceDetailsByServiceId(serviceId);\n return response;\n}\n","\nimport { useAuth } from \"context/auth/AuthContext\";\nimport { useLocal } from \"context/local/LocalContext\";\nimport { useUi } from \"context/ui/UIContext\";\nimport { DateInfo } from \"pages/public/schedule/components/pickerDate/interfaces/PickerDate.type\";\nimport { useCallback, useEffect, useState } from \"react\";\nimport { useHistory, useParams } from \"react-router-dom\";\nimport { v4 } from \"uuid\";\nimport { IMoreDetails } from \"../../../application/interfaces/IMoreDetails\";\nimport { GetDataByDocumentUseCase } from \"../../../application/useCases/GetDataByDocumentUseCase\";\nimport GetDiponibilityAndVancanciesUseCase from \"../../../application/useCases/GetDiponibilityAndVancanciesUseCase\";\nimport { GetPlacesScheduleByServiceIdUseCase } from \"../../../application/useCases/GetPlacesScheduleByServiceIdUseCase\";\nimport { GetServiceDetailsByServiceIdUseCase } from \"../../../application/useCases/GetServiceDetailsByServiceIdUseCase\";\nimport { GetServiceScheduleByIdUseCase } from \"../../../application/useCases/GetServiceScheduleByIdUseCase\";\nimport { GetValuesServiceScheduleUseCase } from \"../../../application/useCases/GetValuesServiceScheduleUseCase\";\nimport { useCart } from \"../../../../../../../../components/genericCart/CartContext\";\nimport { UseNavigationTour } from \"../../hooks/UseNavigationTour\";\nimport { ICartItemTour } from \"../../interfaces/ICartTour\";\nimport { ICustomerForm, IValuesCustomerForm } from \"./interface/ICustomersFormSchedule\";\nimport { IFormScheduleTour } from \"./interface/IFormScheduleTour\";\nimport { IPlaceScheduleFormSchedule } from \"./interface/IPlaceScheduleFormSchedule\";\nimport { IServiceScheduleForm } from \"./interface/IServiceScheduleForm\";\nimport { IValueServiceSchedule } from \"./interface/IValuesServiceSchedule\";\n\nconst UseFormTour = () => {\n\n const [seller, setSeller] = useState();\n const [isId, setIsId] = useState();\n const [serviceDetails, setServiceDetails] = useState()\n\n const [date, setDate] = useState(null);\n const { openModalLogin, isAuth } = useAuth();\n const [customers, setCustomers] = useState([\n {\n id: v4(),\n name: \"\",\n document: \"\",\n rg: \"\",\n phone: \"\",\n note: \"\",\n birthDate: \"\",\n value: { description: \"\", listId: \"\" } as IValuesCustomerForm\n }\n ]);\n\n const [totalValue, setTotalValue] = useState(0)\n\n const [placeSchedule, setPlaceSchedule] = useState();\n\n const [openModalPayment, setOpenModalPayment] = useState(false);\n\n\n const [formScheduleTour] = useState(null);\n\n const [service, setService] = useState();\n const [valuesService, setValuesService] = useState();\n const [placeSchedulesList, setPlaceSchedulesList] = useState();\n\n const { serviceId, cartId, storeId } = useParams<{ serviceId: string, cartId?: string, storeId: string }>();\n const { localId } = useLocal();\n\n const { showLoading, hideLoading } = useUi();\n\n const [modalLogin] = useState(false);\n\n const { url } = useParams<{ url: string }>();\n const { push } = useHistory();\n\n const [dateInfo, setDateInfo] = useState([]);\n const [time, setTime] = useState<{ start: string, end: string, vacancies: number }>();\n const [backOpenModal, setBackOpenModal] = useState(false);\n\n\n const { addCart, cartTourItems, replaceCart } = useCart();\n\n const { goToTourStores } = UseNavigationTour()\n const [localVacancies, setLocalVacancies] = useState(time?.vacancies ?? 0)\n const handleBackOpenModal = useCallback(() => {\n setBackOpenModal(true);\n }, []);\n\n const handleBackCloseModal = useCallback(() => {\n setBackOpenModal(false);\n }, []);\n\n\n useEffect(() => {\n if (cartId) {\n const cartItemToEdit = cartTourItems.find(item => item.id === cartId)\n cartItemToEdit?.serviceScheduledId && setPlaceSchedule(placeSchedulesList?.find(item => item.serviceScheduledId === cartItemToEdit?.serviceScheduledId))\n cartItemToEdit?.totalPrice && setTotalValue(cartItemToEdit?.totalPrice);\n cartItemToEdit?.id && setIsId(cartItemToEdit?.id);\n cartItemToEdit?.startDate && setDate(new Date(cartItemToEdit?.startDate));\n cartItemToEdit?.customers && setCustomers(cartItemToEdit?.customers);\n }\n\n return () => {\n\n }\n }, [cartId, cartTourItems, placeSchedulesList])\n\n\n //GETS\n useEffect(() => {\n if (placeSchedule) {\n showLoading();\n GetDiponibilityAndVancanciesUseCase(placeSchedule?.serviceScheduledId).then(response => {\n setDateInfo(response);\n }).finally(() => {\n hideLoading()\n })\n }\n }, [placeSchedule]);\n\n useEffect(() => {\n if (localId && serviceId) {\n const getAllInitialValues = async (localId: string, serviceId: string) => {\n showLoading();\n const responseService = GetServiceScheduleByIdUseCase(serviceId, localId);\n const responsePlace = GetPlacesScheduleByServiceIdUseCase(serviceId);\n const responseServiceDetail = GetServiceDetailsByServiceIdUseCase(serviceId);\n\n const [service, places, detail] = await Promise.all([responseService, responsePlace, responseServiceDetail])\n\n const _placesEnabled = places.filter((item) => item.isEnabled);\n\n setService(service);\n setPlaceSchedulesList(_placesEnabled);\n setServiceDetails(detail)\n if (places.length > 0) {\n setPlaceSchedule(places[0]);\n }\n hideLoading();\n }\n getAllInitialValues(localId, serviceId)\n }\n }, [hideLoading, localId, serviceId, showLoading])\n\n // useEffect(() => {\n // if (localId && serviceId) {\n // showLoading();\n // const responseService = GetServiceScheduleByIdUseCase(serviceId, localId);\n // const responsePlace = GetPlacesScheduleByServiceIdUseCase(serviceId);\n // const responseServiceDetail = GetServiceDetailsByServiceIdUseCase(serviceId);\n\n // Promise.all([responseService, responsePlace, responseServiceDetail]).then(([service, places, detail]) => {\n // setService(service);\n // setPlaceSchedulesList(places);\n // setServiceDetails(detail)\n // if (places.length === 1) {\n // setPlaceSchedule(places[0])\n // }\n // }).finally(() => {\n // hideLoading();\n // });\n // }\n // }, [serviceId, localId])\n\n\n\n //NO LoadingFeedback\n useEffect(() => {\n if (serviceId) {\n GetValuesServiceScheduleUseCase(serviceId).then(response => {\n setValuesService(response);\n })\n }\n }, [serviceId])\n\n\n const validate = useCallback(() => {\n\n let isValidate = true;\n\n if (!date) {\n isValidate = false\n }\n if (!customers.length) {\n isValidate = false\n }\n\n customers.map((customer) => {\n if (customer.name === \"\" || customer.name === null || customer.name === undefined) {\n isValidate = false;\n }\n if (customer.birthDate === \"\" || customer.birthDate === null || customer.birthDate === undefined) {\n isValidate = false;\n }\n\n if (customer.note === \"\" || customer.note === null || customer.note === undefined) {\n isValidate = false;\n }\n if (customer.document.length < 12) {\n isValidate = false;\n }\n if (customer.rg.length < 3) {\n isValidate = false;\n }\n if (!customer.value) {\n isValidate = false\n }\n })\n\n return isValidate;\n }, [date, customers]);\n\n const onClickBackHandle = useCallback(() => {\n push(`/${url}/schedule/tour/${storeId}/moreDetails/${serviceId}`)\n }, [])\n\n\n useEffect(() => {\n const total = customers.map(item => item.value?.value ?? 0).reduce((prev, current) => prev + current, 0)\n setTotalValue(total)\n }, [customers])\n\n const validateCPF = (document: string) => ((document.replace(/[^0-9]/g, \"\").length === 11))\n\n const autocompleteCPF = useCallback((document: string, index: number, localId: string) => {\n if (validateCPF(document)) {\n GetDataByDocumentUseCase(localId, document).then((res) => {\n setCustomers(prev => prev.map((_item: ICustomerForm, _index: number) => {\n if (_index === index) {\n return {\n ..._item,\n name: res.name,\n birthDate: res.birthday.substr(0, 10),\n value: null\n }\n } else {\n return _item\n }\n }))\n });\n }\n }, [])\n\n const handleCpf = useCallback((document: string, customerIndex: number) => {\n setCustomers(\n prev => prev.map((_item, _index) => {\n if (_index === customerIndex) {\n return {\n ..._item,\n document\n }\n } else {\n return _item\n }\n })\n\n );\n if (localId) {\n autocompleteCPF(document, customerIndex, localId);\n }\n }, [localId])\n\n const addQuantity = useCallback(() => {\n const newCustomer: ICustomerForm = {\n id: v4(),\n name: \"\",\n document: \"\",\n rg: \"\",\n phone: \"\",\n note: \"\",\n birthDate: \"\",\n value: null\n };\n setCustomers((prev) => [...prev, newCustomer]);\n }, []);\n\n const removeQuantity = useCallback(() => {\n const lastId = [...customers].pop()?.id;\n setCustomers(prev => prev.filter(item => item.id !== lastId));\n }, [customers]);\n\n\n const removeCustomer = (customerId: string) => {\n setCustomers(prev => prev.filter(item => item.id !== customerId));\n };\n\n const handleChangeCustomers = useCallback((name: string, value: string, customerId: string) => {\n const changeForm = (prevState: ICustomerForm[], name: string, value: string, customerId: string) =>\n prevState.map((item) => {\n if (item.id === customerId) {\n return { ...item, [name]: value, value: name === \"birthDate\" ? null : item.value };\n }\n return item;\n });\n setCustomers(prev => changeForm(prev, name, value, customerId))\n }, []);\n\n const handleChangePlaceSchedule = useCallback((placeScheduleName: string) => {\n setPlaceSchedule(placeSchedulesList?.find(item => item.name === placeScheduleName));\n }, [placeSchedulesList]);\n\n const handleChangeCustomersValue = useCallback((description: string, customerId: string) => {\n const changeForm = (prevState: ICustomerForm[], description: string, customerId: string) =>\n prevState.map((item) => {\n if (item.id === customerId) {\n const selectedPrice = valuesService?.find(item => item.description === description);\n if (selectedPrice) {\n return { ...item, value: selectedPrice };\n } else {\n return item;\n }\n }\n return item;\n });\n\n setCustomers(prev => changeForm(prev, description, customerId));\n }, [valuesService]);\n\n useEffect(() => {\n if (time) {\n const cartItem = cartTourItems.find(item => item.serviceScheduledId === placeSchedule?.serviceScheduledId)\n const vacancie = time.vacancies - (cartItem?.customers.length ?? 0)\n setLocalVacancies(vacancie);\n }\n }, [cartTourItems, placeSchedule, time])\n\n\n const handleScheduleTour = useCallback(() => {\n if (isAuth) {\n if (time && date && customers) {\n const [hour, minutes, seconds] = time.start.split(\":\")\n const startDateTime = new Date(date.getFullYear(), date.getMonth(), date.getDate(), Number(hour), Number(minutes), Number(seconds)).toISOString();\n const schedule: IFormScheduleTour = {\n seller: seller,\n date: startDateTime,\n customers: customers\n }\n // setOpenModalPayment(true);\n\n if (service && schedule && placeSchedule && schedule.date) {\n const createCartItemUseCase = (_service: IServiceScheduleForm, _formScheduleTour: IFormScheduleTour, _placeSchedule: IPlaceScheduleFormSchedule, _storeId: string) => {\n const _totalPrice = _formScheduleTour.customers.map(item => item.value?.value ?? 0).reduce((prev, atual) => prev + atual, 0)\n const _totalQuantity = _formScheduleTour.customers.length\n const _cartItem: ICartItemTour = {\n id: isId ?? v4(),\n imageUrl: _service.imageUrl,\n name: _service.name,\n totalPrice: _totalPrice,\n quantity: _totalQuantity,\n description: _service.description,\n customers: _formScheduleTour.customers,\n serviceScheduledId: _placeSchedule.serviceScheduledId,\n startDate: _formScheduleTour.date ?? \"\",\n storeId: _storeId,\n serviceId: _service.id\n }\n\n return _cartItem\n\n }\n const _cartItem = createCartItemUseCase(service, schedule, placeSchedule, storeId);\n if (isId) {\n replaceCart(_cartItem)\n } else {\n\n addCart(_cartItem);\n }\n goToTourStores();\n\n\n }\n }\n } else {\n openModalLogin();\n }\n }, [isAuth, time, date, customers, seller, service, placeSchedule, storeId, isId, goToTourStores, replaceCart, addCart, openModalLogin])\n\n const closeModalPayment = () => {\n setOpenModalPayment(false)\n }\n\n return {\n seller,\n setSeller,\n date,\n setDate,\n customers,\n setCustomers,\n handleChangeCustomers,\n addQuantity,\n removeQuantity,\n removeCustomer,\n handleScheduleTour,\n closeModalPayment,\n formScheduleTour,\n handleChangeCustomersValue,\n service,\n valuesService,\n placeSchedulesList,\n handleChangePlaceSchedule,\n placeSchedule,\n validate,\n modalLogin,\n openModalPayment,\n onClickBackHandle,\n totalValue,\n handleCpf,\n dateInfo,\n time,\n setTime,\n backOpenModal,\n handleBackOpenModal,\n handleBackCloseModal,\n serviceDetails,\n localVacancies\n };\n};\nexport default UseFormTour;\n","import { ScheduleTourApi } from 'services/Api/schedule/ScheduleTourApi';\nimport { IServiceScheduleForm } from '../../presentation/pages/formTour/interface/IServiceScheduleForm';\n\nexport const GetServiceScheduleByIdUseCase = async (serviceId: string, localId: string): Promise => {\n const scheduleTourApi = ScheduleTourApi();\n const response = await scheduleTourApi.getServiceCategoryByLocalId(localId);\n const service = response.items.flatMap(item => item.services).find(item => item.id === serviceId)\n if (service) {\n\n return {\n id: service.id,\n name: service.name,\n duration: service.duration,\n imageUrl: service.imageUrl,\n prices: service.prices,\n description: service.description,\n productId: service.productId,\n productName: service.productName,\n }\n } else {\n throw (Error(\"not found service\"))\n }\n}\n","import { ScheduleTourApi } from 'services/Api/schedule/ScheduleTourApi';\nimport { IValueServiceSchedule } from '../../presentation/pages/formTour/interface/IValuesServiceSchedule';\n\nexport const GetValuesServiceScheduleUseCase = async (serviceId: string): Promise => {\n\n const scheduleTourApi = ScheduleTourApi();\n const response = await scheduleTourApi.getServicesValuesByServiceId(serviceId);\n\n return (response.values.map((item) => ({\n listId: item.listId,\n description: item.description,\n value: item.value,\n })))\n}\n","import { ScheduleTourApi } from 'services/Api/schedule/ScheduleTourApi';\nimport { IGetDataByDocumentResponse } from '../../_domain/dto/ReservePlaceSchedule/IGetDataByDocumentResponse';\n\nexport const GetDataByDocumentUseCase = async (localId: string, cpf: string): Promise => {\n\n const scheduleTourApi = ScheduleTourApi();\n const response = await scheduleTourApi.getDataByDocument(localId, cpf.replace(/[^0-9]/g, \"\"));\n return response;\n}\n","import { InputLabelProps, TextField } from \"@material-ui/core\";\nimport React, { FC, InputHTMLAttributes } from \"react\";\nimport styles from \"./Input.module.scss\";\n\ninterface InputProps {\n inputProps?: InputHTMLAttributes;\n InputLabelProps?: Partial;\n multiline?: boolean;\n endAdornmentText?: string;\n value?: any;\n onChange?: (event: React.ChangeEvent) => void;\n type?: string;\n className?: string;\n fullwidth?: boolean;\n name?: string;\n required?: boolean;\n fullWidth?: boolean;\n placeholder?: string;\n variant?: \"standard\" | \"outlined\" | \"filled\";\n select?: boolean;\n disabled?: boolean;\n testId?: string;\n label?: string;\n rows?: string | number;\n rootStyle?: string;\n children?: React.ReactNode;\n}\n\nconst Input: FC = ({\n inputProps,\n InputLabelProps,\n children,\n multiline,\n onChange,\n value,\n type,\n className,\n variant,\n fullWidth = true,\n name,\n required,\n placeholder,\n select,\n disabled,\n testId,\n label,\n rows,\n rootStyle\n}) => {\n return (\n {endAdornmentText}\n }}\n InputLabelProps={InputLabelProps}\n >\n { children}\n \n );\n};\n\nexport default Input;\n","import React from \"react\";\nimport { TextField } from \"@material-ui/core\";\nimport InputMask from \"react-input-mask\";\nimport styles from './InputMasked.module.scss';\n\nexport interface ParametersInputProps {\n mask: string | (string | RegExp)[] /* \"999.999.999-99\" | \"(31)3333-4444\"*/;\n disabled?: boolean;\n placeholder?: string;\n value: string | number | undefined;\n onChange?: any;\n name: string;\n label: string;\n variant?: \"standard\" | \"filled\" | \"outlined\" | undefined;\n fullWidth?: boolean;\n className?: string | undefined;\n}\n\nconst MeepMaskedInput: React.FC = ({\n mask,\n disabled,\n placeholder,\n value,\n onChange,\n name,\n label,\n variant,\n fullWidth = true,\n className,\n}) => {\n return ( \n \n \n \n \n );\n};\n\nexport default MeepMaskedInput;\n","import { useAuth } from 'context/auth/AuthContext'\nimport { useLocal } from 'context/local/LocalContext'\nimport { useParamsConfig } from 'context/paramsConfig/ParamsConfigContext'\nimport { UseMercadoPago } from 'context/payment/UseMercadoPago'\nimport { useUi } from 'context/ui/UIContext'\nimport { ICardItem } from 'models/payment/ICard'\nimport { PaymentType } from 'models/payment/IPay'\nimport { useCallback, useEffect, useState } from 'react'\nimport { useHistory, useParams } from 'react-router-dom'\nimport { GetServiceDetailsByServiceIdUseCase } from '../../../application/useCases/GetServiceDetailsByServiceIdUseCase'\nimport { PostReserveTourScheduleUseCase } from '../../../application/useCases/PostReserveTourScheduleUseCase'\nimport { AddPlaceDemandScheduleWithPaymentRequest } from '../../../_domain/dto/ReservePlaceSchedule/IAddPlaceDemandScheduleWithPaymentRequest'\nimport { IFormScheduleTour } from '../../pages/formTour/interface/IFormScheduleTour'\nimport { IPlaceScheduleFormSchedule } from '../../pages/formTour/interface/IPlaceScheduleFormSchedule'\nimport { IServiceScheduleForm } from '../../pages/formTour/interface/IServiceScheduleForm'\nimport { IMoreDetails } from '../../../application/interfaces/IMoreDetails'\nimport { Parcela } from '../installmentSelect/InstallmentSelect'\n\nconst UseScheduleTourPayment = (values: IFormScheduleTour, service: IServiceScheduleForm, placeSchedule: IPlaceScheduleFormSchedule) => {\n const [localTour, setlocalTour] = useState()\n const [paymentType, setpaymentType] = useState(0);\n const [card, setCard] = useState(null);\n const [totalValue, setTotalValue] = useState(0);\n\n const { serviceId } = useParams<{ serviceId: string; }>();\n\n const { localId, storeConfig } = useLocal();\n\n const { user } = useAuth()\n\n const { queryParams } = useParamsConfig()\n\n const { toastFullScreen, showLoading, hideLoading } = useUi();\n\n const { deviceIdMercadoPago } = UseMercadoPago();\n\n const { url } = useParams<{ url: string }>()\n\n const { replace } = useHistory();\n\n const [installments, setInstallments] = useState();\n\n\n useEffect(() => {\n const total = values.customers.map(item => item.value?.value ?? 0).reduce((prev, current) => (prev + current), 0)\n setTotalValue(total)\n\n }, [values])\n\n useEffect(() => {\n if (serviceId) {\n showLoading();\n GetServiceDetailsByServiceIdUseCase(serviceId)\n .then((response) => {\n setlocalTour(response);\n })\n .finally(() => {\n hideLoading();\n })\n }\n }, [serviceId])\n\n const sendScheduleTour = useCallback((\n cvv: string,\n ) => {\n //\n\n if (localId && card) {\n\n const request: AddPlaceDemandScheduleWithPaymentRequest = {\n localId: localId,\n creditCardId: card?.id,\n quantity: 1,\n cvv: cvv,\n operatorId: queryParams?.operatorId ?? \"\",\n fingerprint: deviceIdMercadoPago,\n userId: user.id,\n installments: installments?.parcela ?? 1,\n services: values.customers.map((customerItem) => ({\n serviceScheduledId: placeSchedule.serviceScheduledId,\n start: values.date ?? \"\",\n listProductId: customerItem.value?.listId ?? \"\",//TODO: REVER\n client: {\n name: customerItem.name,\n document: customerItem.document,\n rg: customerItem.rg,\n note: customerItem.note,\n phone: customerItem.phone,\n birthDate: customerItem.birthDate,\n }\n }))\n }\n showLoading();\n PostReserveTourScheduleUseCase(request).then(() => {\n toastFullScreen(\"Reserva Realizada com Sucesso\", \"check\", \"success\", 3000, () => { replace(`/${url}/schedule/reserves`) });\n replace(\"\")\n }).finally(() => {\n hideLoading()\n })\n }\n },\n [localId, card, queryParams, deviceIdMercadoPago, user, values, placeSchedule, url],\n )\n\n return ({\n paymentType,\n setpaymentType,\n localTour,\n storeConfig: storeConfig ? {\n ...storeConfig,\n allowOnlinePayment: true,\n allowPaymentOnDelivery: false,\n disableAutenticateCard: true,\n } : null,\n card,\n setCard,\n sendScheduleTour,\n totalValue,\n installments,\n setInstallments\n })\n}\n\nexport default UseScheduleTourPayment","import { ChangeEvent, useState } from 'react'\n\nexport const UsePaymentResume = () => {\n\n const [contractTerms, setContractTerms] = useState(false)\n const [toggleContractTerms, setToggleContractTerms] = useState(false)\n\n const handleModalContractTerms = () => {\n setToggleContractTerms(!toggleContractTerms)\n }\n\n function handleChecked(event: ChangeEvent) {\n setContractTerms(event.target.checked);\n }\n\n return (\n {\n handleChecked,\n contractTerms,\n handleModalContractTerms,\n toggleContractTerms\n }\n )\n}\n","import React, { useState } from 'react'\nimport styles from './PaymentResume.module.scss';\nimport { Checkbox, Dialog, Drawer, IconButton } from '@material-ui/core';\nimport Button from 'pages/public/schedule/components/Button/Button';\nimport UseScheduleTourPayment from './UseScheduleTourPayment';\nimport { PaymentSelect } from 'pages/payment/PaymentSelect/PaymentSelect';\nimport { Close, KeyboardArrowDown, KeyboardArrowUp } from '@material-ui/icons';\nimport { IFormScheduleTour } from '../../pages/formTour/interface/IFormScheduleTour';\nimport { IServiceScheduleForm } from '../../pages/formTour/interface/IServiceScheduleForm';\nimport { IPlaceScheduleFormSchedule } from '../../pages/formTour/interface/IPlaceScheduleFormSchedule';\nimport { UsePaymentResume } from './UsePaymentResume';\nimport { addHours, format } from 'date-fns';\n\ninterface IPaymentResume {\n open: boolean;\n onClose: () => void;\n formScheduleTour: IFormScheduleTour;\n service: IServiceScheduleForm;\n placeSchedule: IPlaceScheduleFormSchedule\n}\n\nexport const PaymentCartResume: React.FC = ({ open, onClose, formScheduleTour, service, placeSchedule }) => {\n\n const [openCustomers, setOpenCustomers] = useState(false)\n\n const {\n paymentType,\n setpaymentType,\n localTour,\n storeConfig,\n card,\n setCard,\n sendScheduleTour,\n totalValue,\n } = UseScheduleTourPayment(formScheduleTour, service, placeSchedule)\n\n const { handleChecked, contractTerms, toggleContractTerms, handleModalContractTerms } = UsePaymentResume();\n\n return (\n \n
\n
\n
\n \n

Confira seus dados

\n \n
\n
\n
\n

Confira os dados da sua reserva

\n
\n

Local do passeio:

\n

{localTour?.name}

\n
\n
\n

Data do passeio:

\n

{formScheduleTour.date && new Date(formScheduleTour.date).toLocaleDateString()}

\n

O horário exato da sua reserva será avisado na véspera até as 18 horas por mensagem de Whatsapp. Em caso de dúvida (54) 99204-6916

\n
\n
\n
\n
\n

Reservas para {formScheduleTour?.customers.length} pessoas

\n\n setOpenCustomers((prev) => !prev)}>\n {openCustomers ? (\n \n ) : (\n \n )}\n \n\n
\n\n \n
\n {\n formScheduleTour && formScheduleTour?.customers.map(item => (\n
\n

CPF: {item.document !== \"\" ? item.document : 'Não preenchido'}

\n

Nome: {item.name}

\n

Nascimento: {format(addHours(new Date(item.birthDate), 3), 'dd-MM-yyyy')}

\n

RG: {item.rg !== \"\" ? item.rg : 'Não preenchido'}

\n

Telefone: {item.phone}

\n

Hotel: {item.note}

\n
\n ))\n }\n
\n
\n
\n
\n

{formScheduleTour?.customers.length} Reservas

\n

Valor Total: {new Intl.NumberFormat(\"pt-BR\", {\n style: \"currency\",\n currency: \"BRL\",\n }).format(totalValue)}

\n
\n \n {/* */}\n \n \n
\n\n \n
\n
\n

Termos da reserva

\n \n
\n

\n

LEIA COM ATENÇÃO:

\n

- Plantão 08h30 às 24h

\n

Operações - (54) 99204-6916

\n

- Os dias de realização dos passeios serão agendados de acordo com a programação interna da agência.

\n

- Os horários dos passeios serão informados pela agência sempre no dia que \"antecede\" o passeio e através de mensagens de WhatsApp.

\n

- Traslados de chegada pode haver a necessidade de espera de saída do transfer em cerca de 1:20 horas, de acordo com os horários dos voos.

\n

- O traslado de saída do hotel é marcado cerca de até 5 horas antes do horário de saída do vôo, de acordo com a programação interna da agência.

\n

- Não nos responsabilizamos por objetos deixados nos veículos utilizados nos passeios e transfers.

\n

- No caso de desistência dos serviços, serão cobradas taxas administrativas de 50% do valor total. A devolução dos 50% do valor, será de acordo a

\n

- forma de pagamento. Caso a desistência ocorra há 48 horas antes da saída do passeio/translado/serviço, não haverá devolução.

\n

- Observe o horário do início dos passeios/transfers no seu diário de viagem, no recibo de compras ou pela mensagem recebida via WhatsApp no dia

\n anterior ao serviço. Pois, não haverá tolerância no horário marcado para saída dos passeios/transfers.\n

- Por favor, aguarde na recepção do hotel, conforme o horário programado. Caso contrário, entenderemos que não irá ao passeio/transfer, configurando NO SHOW. Em consideração aos demais clientes, daremos continuidade ao passeio/transfer. Guias e Motoristas não são autorizados a circular pelas dependências dos Hotéis/Pousadas

\n

- Os passeios opcionais poderão ser cancelados ou remarcados devido a condições climáticas, formação mínima de pessoas, cancelamento do

\n

- fornecedor, entre outros. No caso de cancelamento desta natureza, será restituído ao passageiro o valor pago integral.

\n

\n
\n
\n {/* setSecurityCodeOpen(false)}>\n { sendScheduleTour(cvv); setSecurityCodeOpen(false) }} />\n */}\n \n
\n )\n}\n","import { Icon } from '@material-ui/core';\nimport React, { FC, useCallback } from 'react'\nimport styles from './ButtonPickerAcordion.module.scss'\n\nexport interface IButtonPickerAcordionProps {\n //propertys\n onClick: () => void\n label: string,\n value?: string,\n icon?: string,\n selected?: boolean,\n open?: boolean,\n disabledAnimation?: boolean;\n children?: React.ReactNode;\n}\nconst ButtonPickerAcordion: FC = ({ onClick, children, selected, icon, label, open, value, disabledAnimation }) => {\n\n const onClickHandle = useCallback(\n () => {\n onClick();\n },\n [onClick],\n )\n return (\n
\n
\n
\n
\n
\n {icon &&\n
\n {icon}\n
\n }\n
\n {value &&\n
\n {label}\n
\n }\n
\n {value ?? label}\n
\n
\n
\n {open ? \"expand_more\" : \"chevron_right\"}\n
\n
\n {children}\n
\n\n
\n
\n
\n )\n}\nexport default ButtonPickerAcordion","import { Drawer } from '@material-ui/core'\nimport React, { FC, useCallback, useEffect, useState } from 'react'\nimport './PickerDate.scss'\nimport Calendar, { CalendarTileProperties } from 'react-calendar';\nimport { format, getDay } from 'date-fns'\nimport { AvailableDay } from './interfaces/IAvailableDays';\nimport ButtonPickerAcordion from '../buttonPickerAcordion/ButtonPickerAcordion';\nimport { DateInfo } from './interfaces/PickerDate.type';\n// import 'react-calendar/dist/Calendar.css'\n\nexport interface IPickerDateProps {\n //propertys\n disabledClick?: boolean\n everOpen?: boolean,\n availableDays?: AvailableDay[];\n value: Date | null;\n onChange: (Date: Date) => void;\n dateInfo?: DateInfo[]\n}\nconst PickerDate: FC = ({\n disabledClick,\n value,\n onChange,\n dateInfo\n}) => {\n const [openList, setopenList] = useState(false)\n\n\n const closeListHandle = () => {\n setopenList(false)\n }\n\n const openListHandle = useCallback(() => {\n !disabledClick && setopenList(prev => !prev)\n }, [disabledClick])\n\n const onClickItem = (Date: Date) => {\n onChange(Date);\n closeListHandle();\n }\n\n // const disabledDayOfWeek = useCallback(\n // ((availableDays: AvailableDay[], date: Date) => {\n // return !availableDays.find((availableDay) => availableDay.dayOfWeek === getDay(date))\n // }),\n // [],\n // )\n\n useEffect(() => {\n if (!disabledClick) {\n setopenList(true)\n }\n return () => {\n\n }\n }, [disabledClick])\n\n\n\n const tileClassName = useCallback(\n ({ activeStartDate, date, view }: CalendarTileProperties) => {\n if (view === \"month\") {\n if (dateInfo?.find(item => item.day === format(date, \"dd/MM/yyyy\"))) {\n return \"availabeDay\"\n } else {\n return \"busyDay\"\n }\n } else {\n return \"availabeDay\"\n }\n },[dateInfo]\n )\n const isDisabledTile = useCallback(\n ({ activeStartDate, date, view }: CalendarTileProperties): boolean => {\n if (view === \"month\") {\n if (dateInfo?.find(item => item.day === format(date, \"dd/MM/yyyy\"))) {\n return false\n } else {\n return true\n }\n } else {\n return false\n }\n },\n [dateInfo],\n )\n\n\n return (\n <>\n
\n
\n \n\n\n onClickItem(date as Date)}\n tileClassName={tileClassName}\n tileDisabled={isDisabledTile}\n // tileDisabled={({ activeStartDate, date, view }) => !!availableDays ? disabledDayOfWeek(availableDays, date) : false}\n />\n\n\n\n\n \n
\n\n
\n {\n false &&
\n\n \n
\n

Selecione uma Data

\n
\n {\n onClickItem(date as Date)}\n // tileDisabled={({ activeStartDate, date, view }) => !!availableDays ? disabledDayOfWeek(availableDays, date) : false}\n // tileContent={\n // ({ view, activeStartDate, date }) =>
close
\n // }\n // tileClassName={\n // ({ view, activeStartDate, date }) => \"busyDay\"\n // }\n\n />\n }\n
\n
\n
\n\n
\n }\n \n )\n}\nexport default PickerDate","import { Drawer, Icon } from '@material-ui/core';\nimport ButtonPickerAcordion from 'pages/public/schedule/components/buttonPickerAcordion/ButtonPickerAcordion';\nimport React, { FC, useState, memo, useEffect } from 'react'\nimport styles from \"./TimeSelect.module.scss\"\n\ninterface TimeSelectProps {\n times: { start: string, end: string, vacancies: number }[]\n value?: { start: string, end: string, vacancies: number }\n onChange?: (values: { start: string, end: string, vacancies: number }) => void\n localVacancies: number\n}\n\nconst TimeSelect: FC = memo(({ times, value, onChange, localVacancies }) => {\n const [open, setOpen] = useState(false);\n\n useEffect(() => {\n if (times.length === 1) {\n onChange && onChange(times[0])\n }\n }, [times, onChange])\n return (\n
\n setOpen(true)} /*className={styles.container}*/\n value={\n value ? `A partir de ${value.start.substr(0, 5)} até às ${(value.end.substr(0, 5))}`\n :\n \"Selecione um horário\"\n }\n />\n {\n value &&\n (
error_outline {localVacancies === 1 ? \"Ultimas vagas disponíveis\" : localVacancies === 0 ? \"Não há vagas disponíveis\" : \"Ultimas vagas restantes\"}
)\n }\n 1} onClose={() => setOpen(false)}>\n
\n

Selecione um horário

\n {times.map((item, index) => (\n
{ onChange && onChange(item); setOpen(false) }} className={styles.timeItem}>{item.start}
\n ))}\n
\n
\n
\n )\n})\n\nexport default TimeSelect\n","import {\n Dialog,\n DialogActions,\n DialogContent,\n IconButton,\n Slide,\n} from \"@material-ui/core\";\nimport { TransitionProps } from \"@material-ui/core/transitions\";\nimport { Close } from \"@material-ui/icons\";\nimport Button from \"pages/public/schedule/components/Button/Button\";\nimport React from \"react\";\nimport styles from \"./Modal.module.scss\";\n\nconst Transition = React.forwardRef(function Transition(\n props: TransitionProps & { children?: React.ReactElement },\n ref: React.Ref\n) {\n return ;\n});\n\ninterface IModalProps {\n open: boolean;\n toggleModal: () => void;\n onConfirm?: () => void;\n title: string;\n cancelTitle?: string;\n confirmTitle?: string;\n centerTitle?: boolean;\n showButtons?: boolean;\n keepMounted?: boolean;\n onClose? :()=>void;\n children?: React.ReactNode;\n}\n\nexport const Modal: React.FC = ({\n title,\n open,\n toggleModal,\n onConfirm,\n cancelTitle = \"Cancelar\",\n confirmTitle = \"Confirmar\",\n showButtons = true,\n centerTitle,\n children,\n keepMounted = true,\n onClose\n}) => {\n return (\n \n
\n
\n {centerTitle &&
}\n

{title}

\n \n \n \n
\n \n {children}\n \n {showButtons && (\n \n \n {cancelTitle}\n \n {onConfirm && (\n \n )}\n \n )}\n
\n \n );\n};\n","import { ArrowBackIos, ArrowForwardIos } from '@material-ui/icons';\nimport React from 'react'\nimport Slider from \"react-slick\";\n\nimport styles from './Carousel.module.scss'\ninterface ICarouselProps {\n values: string[];\n}\n\nfunction SampleNextArrow(props: any) {\n const { onClick } = props;\n return (\n \n \n \n );\n}\n\nfunction SamplePrevArrow(props: any) {\n const { onClick } = props;\n return (\n \n \n \n );\n}\n\nvar settings = {\n dots: false,\n infinite: true,\n slidesToShow: 1,\n slidesToScroll: 1,\n initialSlide: 0, \n dotLimit: 3,\n arrows: true,\n nextArrow: ,\n prevArrow: ,\n autoplay: true,\n autoplaySpeed: 6000,\n cssEase: \"linear\",\n};\nexport const Carousel: React.FC = ({ values }) => {\n return (\n
\n\n \n\n {\n values.map(item => (\n\n \"Imagens\n\n ))\n }\n \n
\n )\n}\n","import React, { useCallback } from \"react\";\nimport Layout from \"components/layout/Layout\";\nimport styles from \"./FormTourPage.module.scss\";\nimport UseFormTour from \"./UseFormTour\";\nimport { IconButton, MenuItem } from \"@material-ui/core\";\nimport Input from \"pages/public/schedule/components/input/Input\";\nimport { AddCircleOutline, Delete } from \"@material-ui/icons\";\nimport MeepMaskedInput from \"pages/public/schedule/components/inputMasked/InputMasked\";\nimport Button from \"pages/public/schedule/components/Button/Button\";\nimport { PaymentCartResume } from \"../../components/paymentResume/PaymentResume\";\nimport PickerDate from \"pages/public/schedule/components/pickerDate/PickerDate\";\nimport { differenceInYears, format } from \"date-fns\";\nimport TimeSelect from \"../../components/timeSelect/TimeSelect\";\nimport { Modal } from \"components/modal/Modal\";\nimport { Carousel } from \"components/ui/carousel/Carousel\";\n\nexport const FormTourPage = () => {\n const {\n date,\n setDate,\n customers,\n handleChangeCustomers,\n addQuantity,\n removeCustomer,\n handleScheduleTour,\n formScheduleTour,\n handleChangeCustomersValue,\n closeModalPayment,\n openModalPayment,\n service,\n placeSchedule,\n validate,\n onClickBackHandle,\n totalValue,\n handleCpf,\n dateInfo,\n time,\n setTime,\n backOpenModal,\n handleBackOpenModal,\n handleBackCloseModal,\n serviceDetails,\n localVacancies\n } = UseFormTour();\n\n const removePipe = (value: string) => {\n if (value.includes(\"|\")) {\n const [newValue1, newValue2] = value.split(\"|\");\n return newValue2\n } else {\n return value\n }\n }\n\n\n const calcuDisabledValueByAge = useCallback((birthday: string, minAge?: number, maxAge?: number) => {\n if (maxAge && maxAge !== 0 && differenceInYears(new Date(), new Date(birthday)) > maxAge) {\n return { disabled: true, message: `(Idade máxima é ${maxAge} anos)` }\n }\n if (minAge && minAge !== 0 && differenceInYears(new Date(), new Date(birthday)) < minAge) {\n return { disabled: true, message: `(Idade mínima é ${minAge} anos)` }\n }\n return { disabled: false }\n }, []);\n\n\n return (\n \n
\n {\n !!serviceDetails?.showcaseImages.length &&\n item.url)} />\n\n }\n
\n
\n
\n {/* {placeSchedulesList && placeSchedulesList?.length > 1 &&\n <>\n

Selecione um local

\n\n handleChangePlaceSchedule(ev.target.value)}\n label=\"local\"\n InputLabelProps={{\n shrink: true,\n }}\n >\n {placeSchedulesList?.map((item) => ({item.name}))}\n \n \n } */}\n\n

{serviceDetails?.name}

\n\n {placeSchedule &&\n <>\n
\n setDate(date)}\n availableDays={placeSchedule?.availableDays}\n />\n
\n {\n date &&\n item.day === format(date, \"dd/MM/yyyy\"))?.times ?? []}\n value={time}\n onChange={setTime}\n localVacancies={localVacancies}\n />\n }\n {\n date ?\n <>\n
\n {localVacancies > 0 && customers?.map((item, index) => (\n <>\n
\n

Cliente {index + 1}

\n {\n index > 0 &&\n removeCustomer(item.id)}>\n \n \n }\n
\n\n
\n ) =>\n handleCpf(\n event.target.value,\n index\n )\n }\n name=\"document\"\n mask=\"999.999.999-99\"\n placeholder=\"000.000.000-00\"\n />\n\n \n handleChangeCustomers(\n event.target.name,\n event.target.value,\n item.id\n )\n }\n label=\"Nome\"\n placeholder=\"Nome completo\"\n InputLabelProps={{\n shrink: true,\n }}\n />\n {\n handleChangeCustomers(\n event.target.name,\n event.target.value,\n item.id\n )\n }}\n label=\"Data de nascimento\"\n InputLabelProps={{\n shrink: true,\n }}\n />\n\n ) =>\n handleChangeCustomers(\n event.target.name,\n event.target.value.replace(/([^\\d\\s/-])/g, ''),\n item.id\n )\n }\n InputLabelProps={{\n shrink: true,\n }}\n name=\"rg\"\n />\n\n
\n ) =>\n handleChangeCustomers(\n event.target.name,\n event.target.value,\n item.id\n )\n }\n name=\"phone\"\n mask=\"(99) 99999-9999\"\n placeholder=\"(00) 00000-0000\"\n />\n\n ) =>\n handleChangeCustomers(\n event.target.name,\n event.target.value,\n item.id\n )\n }\n InputLabelProps={{\n shrink: true,\n }}\n name=\"note\"\n />\n \n handleChangeCustomersValue(\n event.target.value,\n item.id\n )}\n label=\"Preço\"\n InputLabelProps={{\n shrink: true,\n }}\n >\n \n Selecionar\n \n {serviceDetails?.otherValues.map((_item) => (\n \n {removePipe(_item.description)} - {new Intl.NumberFormat(\"pt-BR\", { style: \"currency\", currency: \"BRL\", }).format(_item.price)} {\n calcuDisabledValueByAge(item.birthDate, _item.minAge, _item.maxAge).message\n }\n \n ))}\n \n \n ))\n\n }\n\n {localVacancies > 1 &&
\n addQuantity()}\n >\n Adicionar nova pessoa \n \n
}\n
\n\n\n
\n {\n \n }\n
\n {\n customers.length > 0 &&\n
\n\n

\n Pessoas: {customers.length}\n

\n

Total: {new Intl.NumberFormat(\"pt-BR\", {\n style: \"currency\",\n currency: \"BRL\",\n }).format(totalValue)}\n

\n\n
\n }\n
\n\n
\n
\n {\n service && formScheduleTour &&\n \n }\n
\n \n :\n
\n }\n \n }\n\n
\n \n

Deseja sair do cadastro de reserva?

\n

Os dados cadastrados serão perdidos.

\n
\n
\n
\n );\n};\n","import { IconButton } from '@material-ui/core'\nimport { KeyboardArrowDown, KeyboardArrowUp } from '@material-ui/icons'\nimport React, { FC, useState } from 'react'\nimport { IMoreDescription } from '../../../../application/interfaces/IMoreDetails'\nimport styles from './CardMoreDescription.module.scss'\n\n\ninterface ICardMoreDescriptionProps {\n value: IMoreDescription\n}\n\nexport const CardMoreDescription: FC = ({ value }) => {\n\n\n const [openDescription, setOpenDescription] = useState(false)\n\n return (\n
\n
setOpenDescription((prev) => !prev)}>\n

{value.title}

\n \n {!openDescription ? (\n \n ) : (\n \n )}\n \n
\n \n
\n {/*

{value.description.split('\\n').map((str: any) =>

{str}

)}

*/}\n

/g, '') }}>

\n
\n
\n\n \n )\n}\n","import { useUi } from 'context/ui/UIContext';\nimport { useCallback, useEffect, useState } from 'react'\nimport { useHistory, useParams } from 'react-router-dom';\nimport { GetServiceDetailsByServiceIdUseCase } from '../../../application/useCases/GetServiceDetailsByServiceIdUseCase';\nimport { IMoreDetails } from '../../../application/interfaces/IMoreDetails';\n\n\nexport const UseMoreDetails = () => {\n const [values, setValues] = useState()\n const { url, storeId, serviceId } = useParams<{ url: string, storeId: string, serviceId: string; }>();\n\n const { push } = useHistory();\n const { showLoading, hideLoading } = useUi();\n\n const onClickProductHandle = useCallback(\n () => {\n push(`/${url}/schedule/tour/${storeId}/form/${serviceId}`)\n push({\n pathname: `/${url}/schedule/tour/${storeId}/form/${serviceId}`,\n state: {\n values\n },\n });\n },\n [url, storeId, push, serviceId],\n )\n\n const onClickGoBack = () => {\n push(`/${url}/schedule/tour/${storeId}`)\n }\n\n useEffect(() => {\n if (serviceId) {\n showLoading();\n GetServiceDetailsByServiceIdUseCase(serviceId)\n .then((response) => {\n setValues(response);\n })\n .finally(() => {\n hideLoading();\n })\n }\n }, [serviceId])\n\n return (\n {\n onClickProductHandle,\n onClickGoBack,\n values,\n serviceId\n }\n )\n}\n","\nimport { IconButton } from '@material-ui/core'\nimport { Favorite, KeyboardArrowDown, Star, KeyboardArrowUp } from '@material-ui/icons'\nimport Medal from 'assets/icons/medal.svg'\nimport Layout from 'components/layout/Layout'\nimport { Carousel } from 'components/ui/carousel/Carousel'\nimport Button from 'pages/public/schedule/components/Button/Button'\nimport React, { useState } from 'react'\nimport { dayOfWeekToString } from '../formTour/interface/IPlaceScheduleFormSchedule'\nimport { CardMoreDescription } from './cardMoreDescription/CardMoreDescription'\nimport styles from './MoreDetails.module.scss'\nimport { UseMoreDetails } from './UseMoreDetails'\n\nexport const MoreDetails = () => {\n\n const [openDate, setOpenDate] = useState(false);\n const [openValue, setOpenValue] = useState(false);\n const { onClickProductHandle, onClickGoBack, values, serviceId } = UseMoreDetails();\n\n return (\n <>\n \n
\n {\n !!values?.showcaseImages?.length &&\n item.url)} />\n }\n
\n
\n
\n {\n serviceId === '1debb996-0c1c-4942-851f-f990900dc2ae' ?\n
\n

\n {values?.name}\n

\n
\n \n

Destaque

\n
\n
\n :\n\n serviceId === '8a17f4d2-3aef-4e11-8530-c057abe5f551' ?\n
\n

\n {values?.name}\n

\n
\n \n

Mais procurado

\n
\n
\n :\n\n serviceId === '72c36fe2-358e-4f73-9ce9-ea185d25ad1e' ?\n
\n

\n {values?.name}\n

\n
\n \"Medalha\n

Mais vendido

\n
\n
\n :\n
\n\n

\n {values?.name}\n

\n
\n\n }\n
\n
\n {/*
*/}\n
\n {values?.description && values?.description.split('\\n').map(str =>

{str}

)}\n\n
\n {/*
*/}\n
\n {/*
setOpenViewMore((prev) => !prev)}>\n {\n !openViewMore ?\n

Ver mais

\n :\n

Ver menos

\n }\n
*/}\n
\n
\n {\n values?.moreDescriptions?.map((item, index) => (\n \n ))\n }\n
\n
\n
setOpenDate((prev) => !prev)}>\n Horários do passeio\n \n {!openDate ? (\n \n ) : (\n \n )}\n \n
\n \n {\n values?.availableDays?.sort((a, b) => a.dayOfWeek - b.dayOfWeek).map((item) => {\n\n return (\n

{dayOfWeekToString(item.dayOfWeek)}: {(item.startHour.substr(0, 5))}h às {(item.endHour.substr(0, 5))}h

\n )\n })\n }\n
\n
\n
\n
\n
\n
\n
setOpenValue((prev) => !prev)}>\n Valores\n \n {!openValue ? (\n \n ) : (\n \n )}\n \n
\n \n
\n {\n values?.otherValues?.map((item) => (\n

{item.description} - {new Intl.NumberFormat(\"pt-BR\", {\n style: \"currency\",\n currency: \"BRL\",\n }).format(item.price)}

\n ))\n }\n
\n
\n
\n
\n\n \n
\n\n \n\n
\n \n
\n \n )\n}\n","\nexport interface IPlaceScheduleFormSchedule {\n serviceScheduledId: string;\n isEnabled: boolean;\n name: string;\n availableDays: AvailableDayPlaceSchedule[];\n}\n\nexport interface AvailableDayPlaceSchedule {\n dayOfWeek: number;\n start: string;\n end: string;\n}\n\nexport const dayOfWeekToString = (dayOfWeek: number) => {\n switch (dayOfWeek) {\n case 0:\n return \"Domingo\"\n case 1:\n return \"Segunda-feira\"\n case 2:\n return \"Terça-feira\"\n case 3:\n return \"Quarta-feira\"\n case 4:\n return \"Quinta-feira\"\n case 5:\n return \"Sexta-feira\"\n case 6:\n return \"Sábado\"\n default:\n return \"\"\n }\n}","import { IconButton } from '@material-ui/core';\nimport { KeyboardArrowDown, KeyboardArrowRight } from '@material-ui/icons';\nimport { addHours, format } from 'date-fns';\nimport React, { useState } from 'react'\nimport { IReserveItem } from '../../../_domain/dto/ReservePlaceSchedule/GetReserversByUserResponse';\nimport styles from './ReserveListCard.module.scss';\nimport QRCode from \"qrcode.react\";\n\nexport interface IReserveListCardProps {\n value: IReserveItem;\n onDelete?: () => void;\n}\n\nexport const ReserveListCard: React.FC = ({ value, onDelete }) => {\n\n const [openCustomersDetails, setOpenCustomersDetails] = useState(false);\n\n return (\n
\n
\n
\n
Nome: {value.responsable.name}
\n
Serviço: {value.service.name}
\n
Qtd: {value.participantsQuantity}
\n
\n
\n Data do passeio: {new Date(value.startAt).toLocaleDateString()}\n
\n
\n
Valor: {Intl.NumberFormat(\"pt-BR\", {\n style: \"currency\",\n currency: \"BRL\",\n }).format(value.netValue)}
\n {\n value.currentState.name === 'confirmed'\n ?\n
Status: Confirmado
\n :\n
Status: Não Confirmado
\n\n\n }\n
Pagamento: {value.formOfPayment.name }
\n\n
\n setOpenCustomersDetails((prev) => !prev)}>\n {!openCustomersDetails ? (\n \n ) : (\n \n )}\n \n
\n
\n \n
\n {/*
\n

Pessoas na reserva

\n

Documento

\n

Idade

\n
*/}\n\n {value.participants?.map((participant) => (\n
\n
{participant.name}
\n
{participant.document}
\n
\n
{participant.age} anos
\n
{`(${format(addHours(new Date(participant.birthday), 3), 'dd/MM/yyyy')})`}
\n
\n
\n \n
\n
\n \n ))}\n
\n
\n
\n \n )\n}\n","import { useAuth } from 'context/auth/AuthContext';\nimport { useLocal } from 'context/local/LocalContext';\nimport { useUi } from 'context/ui/UIContext';\nimport { add } from 'date-fns';\nimport { useCallback, useEffect, useState } from 'react'\nimport { useHistory } from 'react-router';\nimport { ScheduleTourApi } from 'services/Api/schedule/ScheduleTourApi';\nimport { GetReserverListRequest } from '../../../_domain/dto/ReservePlaceSchedule/GetReserverListRequest';\nimport { IGetReserveListByUseResponse } from '../../../_domain/dto/ReservePlaceSchedule/GetReserversByUserResponse';\n\nconst UseReservesPage = () => {\n const date = new Date(new Date().setDate(new Date().getDate() - 7));\n const { localId } = useLocal();\n const [values, setValues] = useState()\n // } as IReserveFilter);\n const { goBack } = useHistory();\n const { openModalLogin, isAuth } = useAuth()\n const { showLoading, hideLoading } = useUi()\n\n useEffect(() => {\n if (isAuth) {\n showLoading();\n const scheduleTour = ScheduleTourApi();\n const request: GetReserverListRequest = {\n localClienteId: localId,\n page: 0,\n pageSize: 200,\n start: add(new Date(), { days: -7 }).toISOString(),\n keyword: \"\"\n }\n scheduleTour.getReserveByUser(request).then((response) => {\n setValues(response)\n }).catch((error) => {\n if (error.response.status) {\n openModalLogin()\n }\n }).finally(() => {\n hideLoading()\n })\n }\n }, [hideLoading, showLoading, localId, isAuth, openModalLogin])\n\n\n const onClickBackHandle = useCallback(() => {\n goBack();\n }, [])\n\n return (\n {\n values,\n onClickBackHandle\n }\n )\n}\n\nexport default UseReservesPage\n","import Layout from 'components/layout/Layout'\nimport React from 'react'\nimport { ReserveListCard } from '../../components/reserveListCard/ReserveListCard'\nimport UseReservesPage from './UseReservesPage'\n\nconst ReservesPage = () => {\n const { values, onClickBackHandle } = UseReservesPage();\n\n return (\n \n

Reservas

\n {values && values.details.length && values.details.map(item =>\n )\n }\n
\n )\n}\n\nexport default ReservesPage\n","import Layout from 'components/layout/Layout'\nimport React from 'react'\nimport { useHistory, useParams } from 'react-router-dom'\nimport styles from './AboutProject.module.scss'\nimport AboutprojectImg from '../../../../../../../../assets/image/aboutproject.png'\n\n\nexport const AboutProject = () => {\n\n\n const { url } = useParams<{ url: string }>();\n\n const { push } = useHistory();\n\n const onClickGoBack = () => {\n push(`/${url}/schedule/tour`)\n }\n\n return (\n\n \n
\n
\n
\n
\n \"Imagem\n
\n
\n

A Gramado Receptivo vem realizando sonhos desde 2016!\n O prazer em receber e bem atender é visível no sorriso dos nossos vendedores, agentes de viagens, operadores, guias e motoristas.\n

\n

Nós, da Gramado Receptivo, trabalhamos com o objetivo de encantar nossos clientes e turistas que vêm para a Serra Gaúcha.

\n

Inovando sempre e pensando em melhorar ainda mais a sua experiência, investimos pesado no mercado online através dos nosso site, app e totens de auto atendimento que possibilitam que você possa ter mais segurança e comodidade na hora de escolher a sua próxima experiência.\n

\n
\n
\n
\n
\n

Com operação própria, dispomos de serviços regulares e privativos como: locações de veículos, transfers, passeios, pacotes, hospedagem, elaboração de roteiros personalizados para particulares e/ou grupos, guias de turismo credenciados pela Embratur, guias bilíngues e muito mais! Tudo para poder oferecer o melhor a você e sua família!\n

\n

Os melhores passeios da Serra Gaúcha você encontra com a Gramado Receptivo.\n Experimente do seu jeito!\n

\n
\n
\n \n
\n
\n
\n
\n
\n\n )\n}\n","\nimport { useTheme } from \"context/theme/ThemeContext\"\nimport { useUi } from \"context/ui/UIContext\"\nimport { IUser } from \"models/user/IUser\"\nimport React, { FC, useCallback, useEffect } from \"react\"\nimport { useParams } from \"react-router-dom\"\nimport AuthPage from \"../AuthPage\"\n\nimport styles from \"./ExternalAuthPage.module.scss\"\n\nexport interface IAuthPageProps {\n //propertys\n onLogin?: () => void,\n}\nconst ExternalAuthPage: FC = () => {\n\n const { toastFullScreen } = useUi();\n const { detectThemeByUrl } = useTheme()\n const { url } = useParams<{ url: string }>()\n\n const onSucessLogin = useCallback((authValues?: { token?: string, user?: IUser }) => {\n window.parent.postMessage({ command: \"LOGIN_SUCCESS\", token: authValues?.token, userId: authValues?.user?.id }, \"*\");\n toastFullScreen(\"Login realizado com sucesso\", \"check\", \"success\", 10000)\n }, [toastFullScreen])\n\n const onCancelHandle = useCallback(() => {\n window.parent.postMessage({ command: \"LOGIN_CANCEL\" }, \"*\");\n }, [])\n\n useEffect(() => {\n detectThemeByUrl(url)\n }, [detectThemeByUrl, url])\n\n\n return (\n
\n \n
\n )\n}\nexport default ExternalAuthPage","import { CircularProgress } from '@material-ui/core'\nimport { useAuth } from 'context/auth/AuthContext'\nimport { useTheme } from 'context/theme/ThemeContext'\nimport { useUi } from 'context/ui/UIContext'\nimport { IUser } from 'models/user/IUser'\nimport { NewCard } from 'pages/newCard/NewCard'\nimport React, { FC, useCallback, useEffect } from 'react'\nimport { useParams } from 'react-router-dom'\nimport UserApi from 'services/Api/user/UserApi'\nimport styles from './ExternalNewCardPage.module.scss'\nexport interface IExternalNewCardPageProps {\n //propertys\n}\nconst ExternalNewCardPage: FC = () => {\n const { token, url } = useParams<{ token: string, url?: string, userId?: string }>();\n const { updateToken, isAuth, updateUser } = useAuth()\n const { toastFullScreen } = useUi();\n const { showLoading, hideLoading } = useUi()\n\n const { detectThemeByUrl } = useTheme();\n\n // useEffect(() => {\n // window.addEventListener('message', (event: MessageEvent<{ user: IUser }>) => {\n // updateUser(event.data.user);\n // })\n // }, [updateUser])\n\n\n useEffect(() => {\n if (token) {\n updateToken(token)\n }\n }, [token, updateToken])\n\n\n const getUserData = useCallback(async () => {\n try {\n showLoading()\n const response = await UserApi().getUserData()\n updateUser(response as IUser)\n } finally {\n hideLoading()\n }\n }, [hideLoading, showLoading, updateUser])\n\n useEffect(() => {\n getUserData()\n }, [getUserData])\n\n const closeHandle = useCallback(() => {\n window.parent.postMessage({ command: \"ADD_CARD_CANCEL\" }, \"*\");\n }, [])\n\n const onConfirmHandle = useCallback(() => {\n window.parent.postMessage({ command: \"ADD_CARD_SUCCESS\" }, \"*\");\n toastFullScreen(\"Cartao adicionado com sucesso\", \"check\", \"success\", 10000);\n }, [toastFullScreen])\n\n useEffect(() => {\n detectThemeByUrl(url)\n\n return () => {\n\n }\n }, [detectThemeByUrl, url])\n\n\n return (\n isAuth ?\n
\n
\n \n
\n
\n :\n
\n \n
\n )\n}\nexport default ExternalNewCardPage","import { ITrackSurveyWidget } from \"models/surveys/ITrackSurveyWidget\"\nimport api from \"../Api\"\n\nprocess.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';\nconst baseUrl = \"https://127.0.0.1:7236\"\n\nconst SurveyApi = () => {\n\n const getWdigetByLocalId = async (localId: string): Promise => {\n // const token = localStorage.getItem(`@token`)\n const response = await api.get(`${baseUrl}/api/customerSurveys/getMeepWidget/${localId}`)\n return response.data;\n }\n\n return ({ getWdigetByLocalId })\n}\nexport default SurveyApi","import React, { FC, useCallback, useEffect, useState } from 'react'\nimport { useLocation, useParams } from 'react-router-dom';\nimport { scriptTrack } from './TrackScript';\nimport SurveyApi from 'services/Api/survey/SurveyApi';\nexport interface ITrackWidgetProps {\n //propertys\n}\n\ndeclare global {\n interface Window {\n ReactNativeWebView: { postMessage: (value: string, targe?: string) => void }\n he: () => void\n }\n interface he { }\n}\n\nexport interface TrackCustomer {\n name?: string,\n email?: string,\n phone?: string,\n CPF?: string\n}\nconst TrackWidget: FC = () => {\n\n const { ownerId } = useParams<{ ownerId: string }>();\n const [key, setKey] = useState(\"B8spJ2OF\");\n const { search } = useLocation();\n const query = React.useMemo(() => new URLSearchParams(search), [search]);\n const addScript = useCallback(() => {\n const user = {\n name: query.get(\"name\") || \"\",\n email: query.get(\"email\") || \"\",\n phone: query.get(\"phone\") || \"\",\n CPF: query.get(\"document\") || \"\",\n }\n const interaction = {\n ownerId: query.get(\"ownerId\") || \"\",\n }\n if (key) {\n const script = document.createElement(\"script\");\n script.innerHTML = scriptTrack(key, user, interaction);\n document.head.appendChild(script);\n }\n }, [query, key])\n // http://localhost:3001/survey/1f3d32dd-9f1e-042a-dbb4-09ecb64a1427/90a7e052-0f1f-40b2-8f57-25f44a85032d?name=Thiago&document=11136397680\n\n\n useEffect(() => {\n addScript();\n setTimeout(() => {\n setInterval(() => {\n const value = document.getElementById(\"track__widget\");\n // const value = document.getElement(\"track__widget\");\n if (!value) {\n window.parent.postMessage(\"{action: 'CLOSE'}\", \"*\");\n window?.ReactNativeWebView?.postMessage(\"{action: 'CLOSE'}\");\n\n }\n }, 500);\n }, 2000);\n\n }, [addScript])\n\n\n useEffect(() => {\n SurveyApi().getWdigetByLocalId(ownerId).then((response) => {\n setKey(response.widgetKey);\n })\n }, [ownerId])\n\n\n return (\n <>\n
\n
\n
\n
\n \n )\n}\nexport default TrackWidget","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgBoleto = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 50,\n height: 50,\n viewBox: \"0 0 41 40\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"mdi:invoice-list-outline\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M25.833 14V16H23.833V14H25.833ZM21.833 14V16H15.833V14H21.833ZM21.833 18H15.833V20H21.833V18ZM23.833 18V20H25.833V18H23.833ZM29.833 29L26.833 27L23.833 29L20.833 27L17.833 29L14.833 27L11.833 29V10H29.833V29ZM27.833 25.26V12H13.833V25.26L14.833 24.6L17.833 26.6L20.833 24.6L23.833 26.6L26.833 24.6L27.833 25.26Z\",\n fill: \"#955CFF\"\n }))));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgBoleto, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/boleto.c1cc0f80.svg\";\nexport { ForwardRef as ReactComponent };","import { TrackCustomer } from \"./TrackWidget\";\n\nexport const scriptTrack = (key: string, customer?: TrackCustomer, interaction?: object) => {\n\n const script = `(function (f, b, g) {\n\n var a = {\n key: '${key}',\n appendTo: 'trackElement',\n ${customer ? `customer: {\n 'name': '${customer.name}',\n 'phone': '${customer.phone}',\n 'email': '${customer.email}',\n 'CPF': '${customer.CPF}'\n }` : ``},\n ${interaction ? `interaction:` + JSON.stringify(interaction) : ``}\n };\n var e;\n var c = f.getElementsByTagName(b)[0];\n if (f.getElementById(g)) { return };\n e = f.createElement(b);\n e.id = g;\n e.src = 'https://app.track.co/widget.min.js';\n e.type = 'text/javascript';\n e.async = true;\n e.onload = e.onreadystatechange = function () {\n var h = this.readyState;\n if (h && h !== 'complete' && h !== 'loaded') { return };\n try {\n var c = new TrackWidget();\n c.createWidget(a);\n } catch (i) { }\n };\n c.parentNode.insertBefore(e, c);}(document, 'script', 'trackwidget-js'))`;\n return script\n};\n","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgCredit = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 50,\n height: 50,\n viewBox: \"0 0 41 40\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icons/Finance \\xE2\\x80\\xA2 \\xF0\\x9F\\x92\\xB5/credit-card\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Icon Artwork\",\n d: \"M28.9665 15.5H11.3665V13.25H28.9665V15.5ZM28.9665 26.75H11.3665V20H28.9665V26.75ZM28.9665 11H11.3665C10.1455 11 9.1665 12.0013 9.1665 13.25V26.75C9.1665 27.3467 9.39829 27.919 9.81087 28.341C10.2234 28.7629 10.783 29 11.3665 29H28.9665C29.55 29 30.1096 28.7629 30.5221 28.341C30.9347 27.919 31.1665 27.3467 31.1665 26.75V13.25C31.1665 12.0013 30.1765 11 28.9665 11Z\",\n fill: \"white\"\n }))));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgCredit, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/credit.fedac6b7.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgPix = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 512 512\",\n width: 35,\n height: 35,\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null)), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#955CFF\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M393.072 391.897c-20.082 0-38.969-7.81-53.176-22.02l-77.069-77.067c-5.375-5.375-14.773-5.395-20.17 0l-76.784 76.786c-14.209 14.207-33.095 22.019-53.179 22.019h-9.247l97.521 97.52c30.375 30.375 79.614 30.375 109.988 0l97.239-97.238h-15.123zm-105.049 74.327c-8.55 8.53-19.93 13.25-32.05 13.25h-.02c-12.12 0-23.522-4.721-32.05-13.25l-56.855-56.855c7.875-4.613 15.165-10.248 21.758-16.84l63.948-63.948 64.23 64.23c7.637 7.66 16.188 14.013 25.478 18.952l-54.439 54.46zM310.958 22.78c-30.374-30.374-79.613-30.374-109.988 0l-97.52 97.52h9.247c20.082 0 38.97 7.834 53.178 22.02l76.784 76.785c5.57 5.592 14.622 5.57 20.17 0l77.069-77.068c14.207-14.187 33.094-22.02 53.176-22.02h15.123l-97.239-97.237zm6.028 96.346l-64.23 64.23-63.97-63.97c-6.593-6.592-13.86-12.206-21.736-16.818l56.853-56.877c17.69-17.645 46.476-17.668 64.121 0l54.44 54.461c-9.292 4.961-17.842 11.315-25.479 18.974h.001z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M489.149 200.97l-58.379-58.377h-37.706c-13.838 0-27.394 5.635-37.185 15.426l-77.068 77.069c-7.202 7.18-16.623 10.77-26.067 10.77-9.443 0-18.885-3.59-26.066-10.77l-76.785-76.785c-9.792-9.814-23.346-15.427-37.207-15.427h-31.81L22.78 200.97c-30.374 30.375-30.374 79.614 0 109.988l58.095 58.074 31.81.021c13.86 0 27.416-5.635 37.208-15.426l76.784-76.764c13.925-13.947 38.208-13.924 52.133-.02l77.068 77.066c9.791 9.792 23.346 15.405 37.185 15.405h37.706l58.379-58.356c30.374-30.374 30.374-79.613 0-109.988zm-362.19 129.724c-3.763 3.786-8.942 5.917-14.273 5.917H94.302l-48.59-48.564c-17.689-17.69-17.689-46.476 0-64.143L94.3 175.296h18.385c5.331 0 10.51 2.154 14.295 5.918l74.74 74.74-74.761 74.74zm339.257-42.647l-48.848 48.87h-24.305c-5.309 0-10.508-2.155-14.251-5.92l-75.023-75.043 75.023-75.023c3.743-3.764 8.942-5.918 14.252-5.918h24.304l48.847 48.891c8.573 8.551 13.273 19.93 13.273 32.05 0 12.141-4.7 23.52-13.273 32.093z\"\n }))));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgPix, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/Pix.a77e1e9a.svg\";\nexport { ForwardRef as ReactComponent };","import { CardBrandType } from \"models/payment/ICard\";\n\nexport interface IPaymentLinkResponse {\n id: string;\n orderId?: string;\n productId: string;\n localId: string;\n description: string;\n successMessage: string;\n price: number;\n expirationDate: string;\n maximumInstallments: number;\n allowPaymentSlip: boolean;\n isVariable?: boolean;\n product: IPaymentLinkProduct;\n name: string;\n cardBrandsInstallments: ICardBrandsInstallments[];\n interestPerInstallment: number;\n paymentTypes: IPaymentType[];\n paymentDay: string;\n isSinglePayment: boolean;\n billingStartsInCurrentMonth: boolean;\n isRecurrenceLimit: boolean;\n amountOfCharges: number;\n}\nexport interface IPaymentLinkProduct {\n id: string;\n nome: string;\n valor: number;\n}\n\nexport interface ICardBrandsInstallments {\n brandType: number;\n installments: IPaymentLinkInstallments[];\n}\n\nexport interface IPaymentLinkInstallments {\n installment: number;\n description: string;\n price: number;\n}\n\nexport interface IPaymentType {\n type: PaymentTypeEnum;\n name: string;\n fields: IFields[];\n}\n\nexport interface IFields {\n type?: PaymentTypeForm; // Agora usa o enum\n required?: boolean;\n}\nexport enum PaymentTypeEnum {\n CREDIT = 1,\n TICKET = 9,\n PIX = 18,\n}\n\nexport enum PaymentTypeForm {\n DOCUMENT = 1,\n NAME = 2,\n PHONE = 3,\n EMAIL = 4,\n ADDRESS = 5,\n}\n\nexport interface PixPaymentResponse {\n paymentId: string;\n qrCodeBase64: string;\n qrCodeLink: string;\n ownerId: string;\n status: PixStatus;\n value: number;\n createdAt?: string;\n approvedAt?: Date;\n acquirerType?: number;\n}\n\nexport type PixStatus = \"approved\" | \"cancelled\" | \"pending\";\n\nexport interface PixPaymentRequest {\n Value: number;\n PixPaymentOrderId: string;\n LocalClientId: string;\n}\n\nexport interface TicketRequest {\n OwnerId: string;\n ProductId: string;\n TransactionAmount: number;\n Description: string;\n PayerFirstName: string;\n PayerLastName: string;\n PayerDocumentNumber: string;\n PayerEmail: string;\n PayerAddress: {\n postalCode?: string;\n street: string;\n number: string;\n complement: string;\n neighborhood: string;\n city: string;\n state: string;\n description: string;\n }\n\n}\n\nexport type TicketStatus = PixStatus;\n\nexport interface TicketPostResponse {\n BoletoId: string;\n MeepPedidoPOSId: string;\n Url: string;\n Valor: number;\n Erro: any;\n DataExpiracao: string;\n TransactionGateway: any;\n}\n\nexport interface TicketGetResponse {\n Id: string;\n Amount: number;\n Expiration: string;\n Status: TicketStatus;\n BarCode: string;\n Url: string;\n}\n","\nexport enum ProductType {\n Produto = 1,\n Recarga = 2,\n Variavel = 3,\n Promocao = 4,\n\n AtivacaoCashless = 5,\n DesativacaoCashless = 6,\n\n AtivacaoCashlessPosPago = 7,\n DesativacaoCashlessPosPago = 8,\n\n AtivacaoCashlessComanda = 9,\n DesativacaoCashlessComanda = 10,\n TaxaServico = 11,\n Kilo = 12,\n Ajuste = 13,\n TaxaEntrega = 14,\n Agendamento = 50\n}\n\n","import { IResumoPedido } from \"models/order/aggregates/IResumoPedido/IResumoPedido\"\nimport { IOrder } from \"models/order/IOrder\"\nimport { IOrderComposition } from \"models/order/IOrderComposition\"\nimport { IOrderCompositionItem } from \"models/order/IOrderCompositionItem\"\nimport { IOpcoes, IOpcoesDoConsumidor } from \"models/resumoPedido/resumoPedido\"\nimport api from \"../Api\"\n\nconst SendOrderApi = () => {\n\n const sendPreOrder = async (order: IOrder, localId: string) => {\n const response = await api.post<{ pedidoId: string }>(\"/vendas/criarPrePedido\", {\n resumoPedido: orderToResume(order),\n localClienteId: localId,\n })\n return response;\n }\n\n const orderToResume = (order: IOrder): IResumoPedido => {\n\n const compositionToOpcoesDoConsumidor = (orderCompositions: IOrderComposition[]): IOpcoesDoConsumidor[] => {\n return orderCompositions.map((composition) => ({\n Id: composition.id,\n Descricao: composition.description,\n Opcoes: compositionItemToOpcoes(composition.compositionItems),\n }))\n }\n const compositionItemToOpcoes = (orderCompositionItem: IOrderCompositionItem[]): IOpcoes[] => {\n return orderCompositionItem.map((item) => ({\n Id: item.id,\n Descricao: item.description,\n ProdutoId: \"\",\n ProdutoValor: item.price,\n Quantidade: item.quantity,\n }))\n }\n\n const newResumo: IResumoPedido = {\n idReferencia: \"\",\n valorPedido: order.total,\n id: order.id,\n itens: order.items.map((item) => (\n {\n produtoId: item.productId,\n nome: item.name,\n quantidade: item.quantity,\n valorUnitario: item.price,\n opcoesDoConsumidor: item.orderComposition ? JSON.stringify(compositionToOpcoesDoConsumidor(item.orderComposition)) : \"\",\n // opcoesDoConsumidorObject: item.orderComposition ? compositionToOpcoesDoConsumidor(item.orderComposition) : [],\n }\n )),\n }\n\n return newResumo\n }\n\n\n return {\n sendPreOrder\n }\n\n}\n\nexport default SendOrderApi\n","import { useUi } from 'context/ui/UIContext';\nimport { ProductType } from 'models/catalog/enums/ProductType';\nimport { IOrder } from 'models/order/IOrder';\nimport { ICardBrandsInstallments, IPaymentLinkResponse } from 'models/paymentLink/IPaymentLinkResponse';\nimport { ChangeEvent, useCallback, useEffect, useState } from 'react'\nimport { useHistory, useParams } from 'react-router-dom';\nimport SendOrderApi from 'services/Api/order/SendOrderApi';\nimport PaymentLinkApi from 'services/Api/paymentLink/PaymentLinkApi';\nimport { v4 } from 'uuid';\n\nconst paymentLinkApi = PaymentLinkApi();\n\nexport const UsePaymentLink = (\n valueRef?: React.RefObject\n) => {\n const [paymentLink, setPaymentiLink] = useState();\n const [paymentLinkValue, setPaymentLinkValue] = useState(\"\");\n\n const { paymentLinkId } = useParams<{ paymentLinkId: string }>();\n \n const { showLoading, hideLoading } = useUi();\n const { push } = useHistory();\n\n const getInstallments = useCallback(async (value: number) => {\n var installments: ICardBrandsInstallments[] = [];\n if (paymentLinkId) {\n const installmentsResponse = await paymentLinkApi.getInstallments(paymentLinkId, value);\n return installmentsResponse.data;\n }\n\n return installments;\n }, [paymentLinkId]);\n\n const cleanValue = useCallback((value: string) => {\n value = value.replace(/[^\\d]/g, \"\");\n value = value.slice(0, -2) + \",\" + value.slice(-2);\n value = value.split(\",\")[0].length === 0 ? \"0\" + value : value;\n\n return parseFloat(value.replace(\",\", \".\"));\n }, []);\n\n const handleBlurValue = useCallback(\n async (ev: ChangeEvent) => {\n let value = ev.target.value;\n const price = cleanValue(value);\n\n const installments = await getInstallments(price);\n setPaymentiLink((prev) => {\n if (prev) {\n return {\n ...prev,\n cardBrandsInstallments: installments\n };\n }\n });\n }, [cleanValue, getInstallments]);\n\n const handleChangeValue = useCallback(\n (ev: ChangeEvent) => {\n let value = inputMoneyMask(ev.target.value) || \"\";\n const price = cleanValue(value);\n setPaymentLinkValue(price === 0 ? \"\" : value);\n setPaymentiLink((prev) => {\n if (prev) {\n return {\n ...prev,\n price,\n };\n }\n });\n }, [cleanValue]);\n\n const generateOrderAndRedirect = useCallback(() => {\n const sendOrderApi = SendOrderApi();\n if (paymentLink) {\n const newOrder: IOrder = {\n id: v4(),\n total: paymentLink.price,\n items: [\n {\n id: paymentLink.productId,\n name: paymentLink.product.nome,\n category: \"\",\n price: paymentLink.price,\n totalPrice: paymentLink.price,\n description: \"\",\n productPrice: paymentLink.price,\n productId: paymentLink.productId,\n productType: ProductType.Produto,\n quantity: 1,\n imageUrl: \"\",\n },\n ],\n };\n\n showLoading();\n sendOrderApi\n .sendPreOrder(newOrder, paymentLink.localId)\n .then((response) => {\n push(`/payment?orderId=${response.data.pedidoId}`);\n })\n .finally(() => {\n hideLoading();\n });\n }\n }, [hideLoading, paymentLink, push, showLoading]);\n\n const goToPayment = useCallback(() => {\n if (paymentLink) {\n push(`/paymentguest?paymentLinkId=${paymentLink.id}`);\n }\n }, [paymentLink, push]);\n\n const inputMoneyMask = useCallback(\n (value?: string) => {\n if (!value) {\n return undefined;\n }\n value = value.replace(/\\D/g, \"\");\n while (value.length < 3) {\n value = \"0\" + value;\n }\n value = value.replace(/^0+(?=\\d{3,})/, \"\");\n\n let maskedValue = \"R$ \" + value.slice(0, -2) + \",\" + value.slice(-2);\n if (value === \"000\") {\n if (valueRef && valueRef.current) {\n valueRef.current.value = \"\";\n }\n return undefined;\n }\n return maskedValue;\n },\n [valueRef]\n );\n\n useEffect(() => {\n if (paymentLinkId) {\n showLoading();\n paymentLinkApi\n .getPaymentProduct(paymentLinkId)\n .then((response) => {\n setPaymentiLink(response.data);\n setPaymentLinkValue(\n response.data.price.toLocaleString(\"pt-BR\", {\n style: \"currency\",\n currency: \"BRL\",\n minimumFractionDigits: 2,\n })\n );\n })\n .finally(() => {\n hideLoading();\n });\n }\n return () => {};\n }, [hideLoading, inputMoneyMask, paymentLinkId, showLoading]);\n\n return {\n paymentLink,\n generateOrderAndRedirect,\n goToPayment,\n handleChangeValue,\n inputMoneyMask,\n paymentLinkValue,\n handleBlurValue,\n };\n};\n","import React, { FC } from \"react\";\nimport styles from \"./Footer.module.scss\";\nimport logo from \"../../../../../res/images/paymentLink/meep-footer.png\";\nimport FacebookImg from 'assets/icons/facebook_round.svg'\nimport InstagramImg from 'assets/icons/instagram_round.svg'\nimport YoutubeImg from 'assets/icons/youtube_round.svg'\nimport LinkedinImg from 'assets/icons/linkedin_round.svg'\nimport { useUi } from \"context/ui/UIContext\";\n\nexport interface IFooter {}\n\nconst Footer: FC = () => {\n const { isMobile } = useUi();\n return (\n
\n \"logo_meep\"\n
\n \n \"\"\n \n \n \"\"\n \n \n \"\"\n \n \n \"\"\n \n
\n © 2024 – Meep Soluções S.A – CNPJ: 28.302.604/0001-01\n
\n );\n};\n\nexport default Footer;\n","import React, { FC } from \"react\";\nimport styles from \"./Header.module.scss\";\nimport { useUi } from \"context/ui/UIContext\";\n\nexport interface IHeader {\n image?: string;\n name: string;\n}\n\nconst Header: FC = ({ image, name }) => {\n const { isMobile } = useUi();\n return (\n
\n {image ? (\n \n ) : (\n
\n )}\n
\n {name}\n
\n
\n
\n );\n};\n\nexport default Header;\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgCopy = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 25,\n height: 24,\n viewBox: \"0 0 25 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.5 8.94C21.4896 8.84813 21.4695 8.75763 21.44 8.67V8.58C21.3919 8.47718 21.3278 8.38267 21.25 8.3L15.25 2.3C15.1673 2.22222 15.0728 2.15808 14.97 2.11C14.9402 2.10576 14.9099 2.10576 14.88 2.11C14.7784 2.05174 14.6662 2.01434 14.55 2H10.5C9.70435 2 8.94129 2.31607 8.37868 2.87868C7.81607 3.44129 7.5 4.20435 7.5 5V6H6.5C5.70435 6 4.94129 6.31607 4.37868 6.87868C3.81607 7.44129 3.5 8.20435 3.5 9V19C3.5 19.7956 3.81607 20.5587 4.37868 21.1213C4.94129 21.6839 5.70435 22 6.5 22H14.5C15.2956 22 16.0587 21.6839 16.6213 21.1213C17.1839 20.5587 17.5 19.7956 17.5 19V18H18.5C19.2956 18 20.0587 17.6839 20.6213 17.1213C21.1839 16.5587 21.5 15.7956 21.5 15V9C21.5 9 21.5 9 21.5 8.94ZM15.5 5.41L18.09 8H16.5C16.2348 8 15.9804 7.89464 15.7929 7.70711C15.6054 7.51957 15.5 7.26522 15.5 7V5.41ZM15.5 19C15.5 19.2652 15.3946 19.5196 15.2071 19.7071C15.0196 19.8946 14.7652 20 14.5 20H6.5C6.23478 20 5.98043 19.8946 5.79289 19.7071C5.60536 19.5196 5.5 19.2652 5.5 19V9C5.5 8.73478 5.60536 8.48043 5.79289 8.29289C5.98043 8.10536 6.23478 8 6.5 8H7.5V15C7.5 15.7956 7.81607 16.5587 8.37868 17.1213C8.94129 17.6839 9.70435 18 10.5 18H15.5V19ZM19.5 15C19.5 15.2652 19.3946 15.5196 19.2071 15.7071C19.0196 15.8946 18.7652 16 18.5 16H10.5C10.2348 16 9.98043 15.8946 9.79289 15.7071C9.60536 15.5196 9.5 15.2652 9.5 15V5C9.5 4.73478 9.60536 4.48043 9.79289 4.29289C9.98043 4.10536 10.2348 4 10.5 4H13.5V7C13.5 7.79565 13.8161 8.55871 14.3787 9.12132C14.9413 9.68393 15.7044 10 16.5 10H19.5V15Z\",\n fill: \"white\"\n })));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgCopy, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/copy.9eb208f0.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgCheck = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 185,\n height: 184,\n viewBox: \"0 0 185 184\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M161.975 93.7749C161.975 111.863 154.79 129.21 142 142C129.21 154.79 111.863 161.975 93.7754 161.975C75.6876 161.975 58.3407 154.79 45.5507 142C32.7607 129.21 25.5754 111.863 25.5754 93.7749C25.5754 75.6871 32.7607 58.3402 45.5507 45.5502C58.3407 32.7602 75.6876 25.5749 93.7754 25.5749C100.254 25.5749 106.563 26.5127 112.53 28.2177L125.915 14.8334C116.026 10.7414 105.199 8.5249 93.7754 8.5249C82.5802 8.5249 71.4946 10.73 61.1516 15.0142C50.8086 19.2984 41.4107 25.5779 33.4945 33.4941C17.5071 49.4815 8.52539 71.1652 8.52539 93.7749C8.52539 116.385 17.5071 138.068 33.4945 154.056C41.4107 161.972 50.8086 168.251 61.1516 172.536C71.4946 176.82 82.5802 179.025 93.7754 179.025C116.385 179.025 138.069 170.043 154.056 154.056C170.044 138.068 179.025 116.385 179.025 93.7749H161.975ZM58.9081 77.4069L46.8879 89.5124L85.2504 127.875L170.5 42.6249L158.48 30.5194L85.2504 103.749L58.9081 77.4069Z\",\n fill: \"#399C54\"\n })));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgCheck, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/check.bc0186bb.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgLoading = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 25,\n height: 24,\n viewBox: \"0 0 25 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.5 18V22\",\n stroke: \"white\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.7402 16.24L19.5702 19.07\",\n stroke: \"white\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.42969 19.07L8.25969 16.24\",\n stroke: \"white\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.5 12H22.5\",\n stroke: \"white\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.5 12H6.5\",\n stroke: \"white\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.7402 7.75993L19.5702 4.92993\",\n stroke: \"white\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.42969 4.92993L8.25969 7.75993\",\n stroke: \"white\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.5 2V6\",\n stroke: \"white\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"animateTransform\", {\n attributeType: \"XML\",\n attributeName: \"transform\",\n type: \"rotate\",\n from: \"0 12.5 12\",\n to: \"360 12.5 12\",\n dur: \"2s\",\n repeatCount: \"indefinite\"\n }))));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgLoading, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/loading.61fa3563.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useState, useEffect, useCallback } from \"react\";\nimport { TextField, Button, CircularProgress, Grid } from \"@material-ui/core\";\nimport { IAddress } from \"models/address/IAddress\";\nimport { v4 } from \"uuid\";\nimport styles from \"./FindAddressPaymentLink.module.scss\";\nimport { IOwnerAddressPaymentGuest } from \"models/paymentGuest/IPaymentGuestForm\";\nimport { PaymentApi } from \"services/Api/payment/PaymentApi\";\n\nexport interface IFindAddressPaymentLinkProps {\n onSubmitAddress: (address: IAddress) => void;\n address: IOwnerAddressPaymentGuest;\n setAddress: React.Dispatch>;\n handleChangeValues?: (name: string, value: string) => void;\n}\n\nconst FindAddressPaymentLink: React.FC = ({\n onSubmitAddress,\n address,\n setAddress,\n handleChangeValues\n}) => {\n const [loading, setLoading] = useState(false);\n const [enableField, setEnableField] = useState(false);\n const [error, setError] = useState(null);\n\n const handleChange = (e: React.ChangeEvent) => {\n handleChangeValues?.(e.target.name, e.target.value);\n setAddress({\n ...address,\n [e.target.name]: e.target.value,\n });\n };\n\n const getAddressByCEP = useCallback(async (cep: string) => {\n const paymentApi = PaymentApi();\n\n if (cep.length !== 8) return;\n\n try {\n setLoading(true);\n const response = await paymentApi.getAddress(cep);\n\n if (!response.street) {\n setEnableField(true);\n setError(\"CEP não encontrado\");\n setAddress((prevAddress) => ({\n ...prevAddress,\n street: \"\",\n neighborhood: \"\",\n city: \"\",\n state: \"\",\n }));\n } else {\n setEnableField(false);\n setAddress((prevAddress) => ({\n ...prevAddress,\n street: response.street,\n neighborhood: response.neighborhood,\n city: response.city,\n state: response.state, \n }));\n setError(null);\n }\n } catch (err) {\n setEnableField(true);\n setError(\"Erro ao buscar o CEP\");\n } finally {\n setLoading(false);\n }\n }, [setAddress]);\n\n useEffect(() => {\n if (address.CEP && address.CEP.length === 8) {\n getAddressByCEP(address.CEP);\n }\n }, [address.CEP, getAddressByCEP]);\n\n const handleSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n onSubmitAddress({ ...address, id: v4() });\n };\n\n return (\n \n
\n \n \n \n \n\n {loading && }\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n
\n
\n \n \n {loading ? \"Salvando...\" : \"Salvar endereço\"}\n \n \n \n
\n );\n};\n\nexport default FindAddressPaymentLink;\n","import React, {\n ChangeEvent,\n FC,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport styles from \"./PixForm.module.scss\";\nimport {\n Container,\n FormControl,\n FormControlLabel,\n Grid,\n IconButton,\n InputAdornment,\n Modal,\n Paper,\n Radio,\n RadioGroup,\n TextField,\n} from \"@material-ui/core\";\nimport { IPayerErrors } from \"./validate\";\nimport { cpfMask } from \"cross-cutting/masks/cpf\";\nimport {\n IPaymentLinkResponse,\n IFields,\n PaymentTypeEnum,\n PaymentTypeForm,\n} from \"models/paymentLink/IPaymentLinkResponse\";\nimport { ArrowRight } from \"@material-ui/icons\";\nimport FindAddressPaymentLink from \"pages/payment/deliverySelect/findAddressPaymentLink/FindAddressPaymentLink\";\nimport { IAddress } from \"models/address/IAddress\";\nimport {\n IOwnerAddressPaymentGuest,\n IOwnerPaymentGuest,\n} from \"models/paymentGuest/IPaymentGuestForm\";\nimport { cnpjMask } from \"utils/mask/cnpj\";\n\nexport interface IPixFormValues {\n PayerFirstName: string;\n PayerEmail: string;\n PayerPhone: string;\n PayerDocument: string;\n PayerAddress: IOwnerAddressPaymentGuest;\n}\n\nexport interface IPixForm {\n values: IPixFormValues;\n handleChangeValues: (name: string, value: string) => void;\n errors: IPayerErrors;\n paymentLink: IPaymentLinkResponse;\n address: IOwnerAddressPaymentGuest;\n formRef: React.RefObject;\n setAddress: React.Dispatch>;\n setErrorsAddress: React.Dispatch<\n React.SetStateAction<{\n number: string;\n securityCode: string;\n ownerName: string;\n month: string;\n year: string;\n owner: {\n name: string;\n document: string;\n email: string;\n phoneNumber: string;\n address: string;\n };\n }>\n >;\n errorsAddress: {\n number: string;\n securityCode: string;\n ownerName: string;\n month: string;\n year: string;\n owner: {\n name: string;\n document: string;\n email: string;\n phoneNumber: string;\n address: string;\n };\n };\n setValues: React.Dispatch>\n}\n\nconst PixForm: FC = ({\n values,\n handleChangeValues,\n errors,\n paymentLink,\n address,\n setAddress,\n errorsAddress,\n setErrorsAddress,\n formRef,\n setValues\n}) => {\n const [openAddressForm, setOpenAddressForm] = useState(false);\n const [holder, setHolder] = useState(\"fisica\");\n\n const onChangeHandle = useCallback(\n (ev: ChangeEvent) => {\n ev.persist();\n handleChangeValues(\n ev.target.name,\n ev.target.name === \"PayerDocument\"\n ? holder === \"fisica\"\n ? cpfMask(ev.target.value)\n : cnpjMask(ev.target.value)\n : ev.target.value\n );\n },\n [handleChangeValues, holder]\n ); \n\n useEffect(() => {\n setValues((prev) => ({ ...prev, PayerDocument: \"\" }));\n }, [holder, setValues]);\n\n const isFieldVisible = (fieldType: PaymentTypeForm): boolean => {\n const ticketPaymentType = paymentLink.paymentTypes.find(\n (paymentType) => paymentType.type === PaymentTypeEnum.PIX\n );\n return (\n ticketPaymentType?.fields?.some((field) => field.type === fieldType) ??\n false\n );\n };\n\n const onSubmitAddress = useCallback(\n (address: IAddress) => {\n setAddress(address);\n setOpenAddressForm(false);\n },\n [setAddress]\n );\n\n const showAddress = useMemo(\n () =>\n address.street\n ? `${address.street}, ${address.number} - ${address.neighborhood}, ${address.city}/${address.state}`\n : null,\n [address]\n );\n\n const handleFocus = useCallback(() => {\n formRef?.current?.scroll({ top: 300, behavior: \"smooth\" });\n }, [formRef]);\n\n return (\n
\n \n \n \n \n setHolder(value)}\n row\n >\n }\n label=\"CPF\"\n />\n }\n label=\"CNPJ\"\n />\n \n \n \n {isFieldVisible(PaymentTypeForm.DOCUMENT) && (\n \n \n \n )}\n {isFieldVisible(PaymentTypeForm.NAME) && (\n \n \n \n )}\n\n {isFieldVisible(PaymentTypeForm.EMAIL) && (\n \n \n \n )}\n {isFieldVisible(PaymentTypeForm.PHONE) && (\n \n \n \n )}\n {isFieldVisible(PaymentTypeForm.ADDRESS) && (\n \n {\n setOpenAddressForm(true);\n }}\n >\n \n \n \n \n \n ),\n }}\n />\n
\n \n )}\n \n \n setOpenAddressForm(false)}\n className={styles.addressContainer}\n >\n \n \n \n \n
\n );\n};\n\nexport default PixForm;\n","import { IPaymentLinkResponse, PaymentTypeEnum, PaymentTypeForm } from \"models/paymentLink/IPaymentLinkResponse\";\nimport { IPixFormValues } from \"./PixForm\";\n\nexport interface IPayerErrors {\n PayerFirstName?: string;\n PayerLastName?: string;\n PayerDocument?: string;\n PayerEmail?: string;\n PayerPhone?: string;\n}\n\nconst isFieldRequired = (paymentLink: IPaymentLinkResponse, fieldType: PaymentTypeForm): boolean => {\n const pixPaymentType = paymentLink.paymentTypes.find(\n (paymentType) => paymentType.type === PaymentTypeEnum.PIX\n );\n return pixPaymentType?.fields?.some((field) => field.type === fieldType) ?? false;\n};\n\nexport const validate = (\n paymentLink: IPaymentLinkResponse,\n payer: IPixFormValues,\n setErrors: React.Dispatch>\n) => {\n setErrors({\n PayerFirstName: \"\",\n PayerEmail: \"\",\n PayerDocument: \"\",\n });\n\n let validForm = true;\n\n if (isFieldRequired(paymentLink, PaymentTypeForm.NAME)) {\n if (!payer.PayerFirstName || payer.PayerFirstName.length < 3) {\n setErrors((prev) => ({ ...prev, PayerFirstName: \"Nome obrigatório\" }));\n validForm = false;\n }\n }\n\n if (isFieldRequired(paymentLink, PaymentTypeForm.DOCUMENT)) {\n if (!payer.PayerDocument || payer.PayerDocument.length < 14) {\n setErrors((prev) => ({ ...prev, PayerDocument: \"CPF obrigatório\" }));\n validForm = false;\n }\n }\n\n const validEmail = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/;\n if (isFieldRequired(paymentLink, PaymentTypeForm.EMAIL)) {\n if (!payer.PayerEmail) {\n setErrors((prev) => ({ ...prev, PayerEmail: \"Email obrigatório\" }));\n validForm = false;\n } else if (!validEmail.test(payer.PayerEmail)) {\n setErrors((prev) => ({ ...prev, PayerEmail: \"Email inválido\" }));\n validForm = false;\n }\n }\n\n return validForm;\n};\n","import { Button, Container, Skeleton } from \"@mui/material\";\nimport { ReactComponent as Copy } from \"assets/icons/copy.svg\";\nimport { ReactComponent as Check } from \"assets/icons/check.svg\";\nimport { ReactComponent as Load } from \"assets/icons/loading.svg\";\nimport { useUi } from \"context/ui/UIContext\";\nimport {\n IPaymentLinkResponse,\n PixPaymentResponse,\n} from \"models/paymentLink/IPaymentLinkResponse\";\nimport React, { FC, useCallback, useEffect, useRef, useState } from \"react\";\nimport PaymentLinkApi from \"services/Api/paymentLink/PaymentLinkApi\";\nimport NumberToMoneyString from \"utils/mask/NumberToMoney\";\nimport styles from \"./Pix.module.scss\";\nimport { PaymentApi } from \"services/Api/payment/PaymentApi\";\nimport { PaymentType } from \"models/payment/IPay\";\nimport PixForm, { IPixFormValues } from \"../pixForm/PixForm\";\nimport { IPayerErrors, validate } from \"../pixForm/validate\";\nimport { IOwnerAddressPaymentGuest } from \"models/paymentGuest/IPaymentGuestForm\";\n\nconst REQUEST_TIMER_DELAY = 20;\n\nlet requestDelayTimeout: NodeJS.Timeout;\n\nexport interface IPix {\n paymentLink: IPaymentLinkResponse;\n}\n\nconst Pix: FC = ({ paymentLink }) => {\n const { toast, isMobile } = useUi();\n\n const paymentId = useRef(null);\n\n const [loading, setLoading] = useState(false);\n const [pix, setPix] = useState(null);\n const [requestCounter, setRequestCounter] = useState(REQUEST_TIMER_DELAY);\n const [showPix, setShowPix] = useState(false);\n const [payerValues, setPayerValues] = useState({\n PayerEmail: \"\",\n PayerPhone: \"\",\n PayerFirstName: \"\",\n PayerDocument: \"\",\n PayerAddress: {} as IOwnerAddressPaymentGuest,\n });\n const [errors, setErrors] = useState({\n PayerEmail: \"\",\n PayerPhone: \"\",\n PayerFirstName: \"\",\n PayerDocument: \"\",\n });\n\n const formRef = useRef(null);\n\n const [address, setAddress] = useState({\n CEP: \"\",\n description: \"\",\n street: \"\",\n number: \"\",\n complement: \"\",\n neighborhood: \"\",\n city: \"\",\n state: \"\",\n });\n\n const [errorsAddress, setErrorsAddress] = useState({\n number: \"\",\n securityCode: \"\",\n ownerName: \"\",\n month: \"\",\n year: \"\",\n owner: {\n name: \"\",\n document: \"\",\n email: \"\",\n phoneNumber: \"\",\n address: \"\",\n },\n });\n\n const handleChangePayerValues = useCallback((name: string, value: string) => {\n setPayerValues((prev) => ({\n ...prev,\n [name]: value,\n }));\n }, []);\n\n const allowPooling = useRef(true);\n\n const generatePix = useCallback(() => {\n if (paymentLink && validate(paymentLink, payerValues, setErrors)) {\n setShowPix(true);\n const paymentApi = PaymentApi();\n setLoading(true);\n paymentApi\n .confirmarPagamentoPedido({\n localClienteId: paymentLink.localId,\n tipoPagamentoId: PaymentType.DEBITO,\n customDeliveryDescription: paymentLink.description,\n cliente: {\n nome: payerValues.PayerFirstName,\n email: payerValues.PayerEmail,\n telefone: payerValues.PayerPhone,\n documento: payerValues.PayerDocument.replace(/[^0-9]/g, \"\"),\n endereco: {\n cep: address.CEP ?? \"\",\n rua: address.street,\n numero: address.number,\n complemento: address.complement,\n bairro: address.complement,\n cidade: address.city,\n estado: address.state,\n pais: \"\",\n },\n },\n resumoPedido: {\n valorPedido: paymentLink.price,\n itens: [\n {\n nome: paymentLink.product.nome,\n produtoId: paymentLink.product.id,\n quantidade: 1,\n valorUnitario: paymentLink.price,\n },\n ],\n },\n gerarPIX: true,\n canalVenda: 1,\n })\n .then((res) => {\n paymentId.current = res.data.orderId ?? \"\";\n setPix({\n ownerId: \"\",\n paymentId: res.data.orderId ?? \"\",\n qrCodeBase64: res.data.qrcodeBase64 ?? \"\",\n qrCodeLink: res.data.qrcodeLink ?? \"\",\n status: res.data.isPaymentPending ? \"pending\" : \"approved\",\n value: paymentLink.price,\n });\n })\n .catch((_err) => {\n setShowPix(false);\n toast(\"Falha ao obter dados do Pix\", \"error\");\n })\n .finally(() => {\n setLoading(false);\n });\n }\n return () => {\n paymentId.current = null;\n };\n }, [payerValues, paymentLink, toast, address]);\n\n useEffect(() => {\n requestDelayTimeout = setTimeout(() => {\n if (pix?.status !== \"approved\") {\n setRequestCounter(requestCounter - 1);\n }\n }, 1000);\n return () => {\n clearTimeout(requestDelayTimeout);\n };\n }, [pix, requestCounter]);\n\n useEffect(() => {\n if (\n requestCounter <= 0 &&\n paymentId.current &&\n pix?.status === \"pending\" &&\n allowPooling.current\n ) {\n allowPooling.current = false;\n const paymentLinkApi = PaymentLinkApi();\n paymentLinkApi\n .pixPaymentStatus(paymentId.current)\n .then((res) => {\n setPix(res);\n })\n .finally(() => {\n setRequestCounter(REQUEST_TIMER_DELAY);\n allowPooling.current = true;\n });\n }\n }, [pix, requestCounter]);\n\n const copyPixToClipboard = useCallback(() => {\n if (pix?.qrCodeLink) {\n navigator.clipboard.writeText(pix.qrCodeLink);\n toast(\"Código copiado para área de transferência\", \"success\");\n }\n }, [pix, toast]);\n\n if (pix?.status === \"approved\") {\n return (\n
\n \n

\n {paymentLink.successMessage\n ? paymentLink.successMessage\n : \"Pagamento aprovado!\"}\n

\n

\n Valor pago: {NumberToMoneyString(Number(pix?.value))}\n

\n

\n Pedido: {pix?.paymentId}\n

\n {/* \n PODER DO NETWORK BRASILIA - VENDA ONLINE\n */}\n {(paymentLink.id.toUpperCase() === \"C81FFB14-85F6-4093-A303-F9EFD8D17D85\") && (\n
\n \n \n \n\n
\n

\n Clique no link abaixo para entrar no grupo do Whatsapp do{\" \"}\n Home Experience - Brasília.\n

\n

Todas as informações estarão no grupo.

\n

\n \n Clique aqui!\n \n

\n
\n
\n )}\n
\n );\n }\n\n return (\n \n
\n
Realize o pagamento através do PIX
\n
\n Faça o pagamento pelo seu banco favorito e não se preocupe, seu pedido\n será validado automaticamente\n
\n {showPix && (\n
\n {loading || !pix ? (\n \n \n \n ) : (\n \n )}\n
\n
\n {loading || !pix ? (\n \n ) : (\n NumberToMoneyString(Number(pix?.value ?? \"0\"))\n )}\n
\n
\n
\n {loading || !pix ? (\n \n ) : (\n <>\n Expira em: 15min\n \n )}\n
\n
\n
\n )}\n \n {showPix &&\n (loading || !pix ? (\n \n \n \n ) : (\n

{pix?.qrCodeLink}

\n ))}\n {!pix ? (\n
\n {!loading && (\n \n )}\n
\n ) : (\n
\n \n \n Copiar código\n
\n
\n Aguardando confirmação!\n
\n
\n )}\n
\n {\n !showPix &&\n {\n if (!loading) generatePix();\n }}\n disabled={loading}\n >\n {loading ? : \"Gerar pix\"}\n \n }\n
\n
\n );\n};\n\nexport default Pix;\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgPrint = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 25,\n viewBox: \"0 0 24 25\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.6 2.15991H5.4V6.60436H18.6V2.15991ZM19.7 12.1599C19.4083 12.1599 19.1285 12.0428 18.9222 11.8345C18.7159 11.6261 18.6 11.3435 18.6 11.0488C18.6 10.7541 18.7159 10.4715 18.9222 10.2631C19.1285 10.0548 19.4083 9.93769 19.7 9.93769C19.9917 9.93769 20.2715 10.0548 20.4778 10.2631C20.6841 10.4715 20.8 10.7541 20.8 11.0488C20.8 11.3435 20.6841 11.6261 20.4778 11.8345C20.2715 12.0428 19.9917 12.1599 19.7 12.1599ZM16.4 19.9377H7.6V14.3821H16.4V19.9377ZM19.7 7.71547H4.3C3.42479 7.71547 2.58542 8.06666 1.96655 8.69178C1.34768 9.3169 1 10.1647 1 11.0488V17.7155H5.4V22.1599H18.6V17.7155H23V11.0488C23 10.1647 22.6523 9.3169 22.0335 8.69178C21.4146 8.06666 20.5752 7.71547 19.7 7.71547Z\",\n fill: \"#32008E\"\n })));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgPrint, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/print.ec50af27.svg\";\nexport { ForwardRef as ReactComponent };","import React, {\n ChangeEvent,\n FC,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport styles from \"./TicketForm.module.scss\";\nimport {\n Container,\n FormControl,\n FormControlLabel,\n Grid,\n IconButton,\n InputAdornment,\n Modal,\n Paper,\n Radio,\n RadioGroup,\n TextField,\n} from \"@material-ui/core\";\nimport { IPayerErrors } from \"./validate\";\nimport { cpfMask } from \"cross-cutting/masks/cpf\";\nimport {\n IPaymentLinkResponse,\n PaymentTypeEnum,\n PaymentTypeForm,\n} from \"models/paymentLink/IPaymentLinkResponse\"; // Assumindo que já tem essa interface\nimport FindAddressPaymentLink from \"pages/payment/deliverySelect/findAddressPaymentLink/FindAddressPaymentLink\";\nimport { IAddress } from \"models/address/IAddress\";\nimport { IOwnerAddressPaymentGuest } from \"models/paymentGuest/IPaymentGuestForm\";\nimport { ArrowRight } from \"@material-ui/icons\";\nimport { cnpjMask } from \"utils/mask/cnpj\";\n\nexport interface ITicketFormValues {\n PayerFirstName: string;\n PayerLastName: string;\n PayerDocumentNumber: string;\n PayerEmail: string;\n PayerPhone?: string;\n PayerAddress: IOwnerAddressPaymentGuest;\n}\n\nexport interface ITicketForm {\n values: ITicketFormValues;\n handleChangeValues: (name: string, value: string) => void;\n errors: IPayerErrors;\n paymentLink: IPaymentLinkResponse;\n address: IOwnerAddressPaymentGuest;\n formRef: React.RefObject;\n setHolder: React.Dispatch>\n holder: string\n setAddress: React.Dispatch>;\n setErrorsAddress: React.Dispatch<\n React.SetStateAction<{\n number: string;\n securityCode: string;\n ownerName: string;\n month: string;\n year: string;\n owner: {\n name: string;\n document: string;\n email: string;\n phoneNumber: string;\n address: string;\n };\n }>\n >;\n errorsAddress: {\n number: string;\n securityCode: string;\n ownerName: string;\n month: string;\n year: string;\n owner: {\n name: string;\n document: string;\n email: string;\n phoneNumber: string;\n address: string;\n };\n };\n setValues: React.Dispatch>\n}\n\nconst TicketForm: FC = ({\n values,\n handleChangeValues,\n errors,\n paymentLink,\n address,\n errorsAddress,\n setAddress,\n formRef,\n setErrorsAddress,\n setValues,\n holder,\n setHolder\n}) => {\n const [openAddressForm, setOpenAddressForm] = useState(false);\n\n const isFieldVisible = (fieldType: PaymentTypeForm): boolean => {\n const ticketPaymentType = paymentLink.paymentTypes.find(\n (paymentType) => paymentType.type === PaymentTypeEnum.TICKET\n );\n return (\n ticketPaymentType?.fields?.some((field) => field.type === fieldType) ??\n false\n );\n };\n\n const onChangeHandle = useCallback(\n (ev: ChangeEvent) => {\n ev.persist();\n handleChangeValues(\n ev.target.name,\n ev.target.name === \"PayerDocumentNumber\"\n ? holder === \"fisica\"\n ? cpfMask(ev.target.value)\n : cnpjMask(ev.target.value)\n : ev.target.value\n );\n },\n [handleChangeValues, holder]\n );\n\n useEffect(() => {\n setValues((prev) => ({ ...prev, PayerDocumentNumber: \"\" }));\n }, [holder, setValues]);\n\n const onSubmitAddress = useCallback(\n (address: IAddress) => {\n setAddress(address);\n setOpenAddressForm(false);\n },\n [setAddress]\n );\n\n const showAddress = useMemo(\n () =>\n address.street\n ? `${address.street}, ${address.number} - ${address.neighborhood}, ${address.city}/${address.state}`\n : null,\n [address]\n );\n\n const handleFocus = useCallback(() => {\n formRef?.current?.scroll({ top: 300, behavior: \"smooth\" });\n }, [formRef]);\n\n return (\n
\n \n \n {isFieldVisible(PaymentTypeForm.DOCUMENT) && (\n <>\n \n \n setHolder(value)}\n row\n >\n }\n label=\"CPF\"\n />\n }\n label=\"CNPJ\"\n />\n \n \n \n \n \n \n \n )}\n\n {isFieldVisible(PaymentTypeForm.NAME) && (\n \n \n \n )}\n {isFieldVisible(PaymentTypeForm.EMAIL) && (\n \n \n \n )}\n {isFieldVisible(PaymentTypeForm.PHONE) && (\n \n \n \n )}\n {isFieldVisible(PaymentTypeForm.ADDRESS) && (\n \n {\n setOpenAddressForm(true);\n }}\n >\n \n \n \n \n \n ),\n }}\n />\n
\n \n )}\n \n \n setOpenAddressForm(false)}\n className={styles.addressContainer}\n >\n \n \n \n \n \n );\n};\n\nexport default TicketForm;\n","import { validateCPF } from \"utils/mask/cpf\";\nimport { ITicketFormValues } from \"./TicketForm\";\nimport { IPaymentLinkResponse, PaymentTypeEnum, PaymentTypeForm } from \"models/paymentLink/IPaymentLinkResponse\";\n\nexport interface IPayerErrors {\n PayerFirstName?: string;\n PayerLastName?: string;\n PayerDocumentNumber?: string;\n PayerEmail?: string;\n PayerPhone?: string;\n}\n\nconst isFieldRequired = (paymentLink: IPaymentLinkResponse, fieldType: PaymentTypeForm): boolean => {\n const ticketPaymentType = paymentLink.paymentTypes.find(\n (paymentType) => paymentType.type === PaymentTypeEnum.TICKET\n );\n return ticketPaymentType?.fields?.some((field) => field.type === fieldType) ?? false;\n};\n\nexport const validate = (\n paymentLink: IPaymentLinkResponse,\n payer: ITicketFormValues,\n holder: string,\n setErrors: React.Dispatch>\n) => {\n setErrors({\n PayerFirstName: \"\",\n PayerLastName: \"\",\n PayerDocumentNumber: \"\",\n PayerEmail: \"\",\n });\n\n let validForm = true;\n\n if (isFieldRequired(paymentLink, PaymentTypeForm.NAME)) {\n if (!payer.PayerFirstName || payer.PayerFirstName.length < 3) {\n setErrors((prev) => ({ ...prev, PayerFirstName: \"Nome obrigatório\" }));\n validForm = false;\n } else if (holder === \"fisica\" && (!payer.PayerFirstName.includes(\" \") || payer.PayerFirstName.trim().split(\" \").length < 2)) {\n setErrors((prev) => ({ ...prev, PayerFirstName: \"Nome completo obrigatório (nome e sobrenome)\" }));\n validForm = false;\n } else if (holder === \"juridica\" && !payer.PayerFirstName.includes(\" \")) {\n payer.PayerFirstName = `${payer.PayerFirstName}.`;\n }\n }\n\n if (isFieldRequired(paymentLink, PaymentTypeForm.DOCUMENT)) {\n if (!payer.PayerDocumentNumber || payer.PayerDocumentNumber.length < 14) {\n setErrors((prev) => ({ ...prev, PayerDocumentNumber: \"CPF ou CNPJ obrigatório\" }));\n validForm = false;\n }\n }\n\n const validEmail = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/;\n if (isFieldRequired(paymentLink, PaymentTypeForm.EMAIL)) {\n if (!payer.PayerEmail) {\n setErrors((prev) => ({ ...prev, PayerEmail: \"Email obrigatório\" }));\n validForm = false;\n } else if (!validEmail.test(payer.PayerEmail)) {\n setErrors((prev) => ({ ...prev, PayerEmail: \"Email inválido\" }));\n validForm = false;\n }\n }\n\n return validForm;\n};\n","import { Button, Container, Skeleton } from \"@mui/material\";\nimport { ReactComponent as Print } from \"assets/icons/print.svg\";\nimport { useUi } from \"context/ui/UIContext\";\nimport {\n IPaymentLinkResponse,\n TicketGetResponse,\n} from \"models/paymentLink/IPaymentLinkResponse\";\nimport React, { FC, useCallback, useRef, useState } from \"react\";\nimport PaymentLinkApi from \"services/Api/paymentLink/PaymentLinkApi\";\nimport styles from \"./Ticket.module.scss\";\nimport TicketForm, { ITicketFormValues } from \"../ticketForm/TicketForm\";\nimport { IPayerErrors, validate } from \"../ticketForm/validate\";\nimport { ReactComponent as Load } from \"assets/icons/loading.svg\";\nimport { IOwnerAddressPaymentGuest } from \"models/paymentGuest/IPaymentGuestForm\";\n\nexport interface ITicket {\n paymentLink: IPaymentLinkResponse;\n}\n\nconst Ticket: FC = ({ paymentLink }) => {\n const { toast, isMobile } = useUi();\n\n const [ticket, setTicket] = useState(null);\n const formRef = useRef(null);\n const [holder, setHolder] = useState(\"fisica\");\n\n const [payerValues, setPayerValues] = useState({\n PayerDocumentNumber: \"\",\n PayerEmail: \"\",\n PayerFirstName: \"\",\n PayerLastName: \"\",\n PayerAddress: {} as IOwnerAddressPaymentGuest,\n });\n\n const [errors, setErrors] = useState({\n PayerDocumentNumber: \"\",\n PayerEmail: \"\",\n PayerFirstName: \"\",\n PayerLastName: \"\",\n });\n\n const [address, setAddress] = useState({\n CEP: \"\",\n description: \"\",\n street: \"\",\n number: \"\",\n complement: \"\",\n neighborhood: \"\",\n city: \"\",\n state: \"\",\n });\n\n const [errorsAddress, setErrorsAddress] = useState({\n number: \"\",\n securityCode: \"\",\n ownerName: \"\",\n month: \"\",\n year: \"\",\n owner: {\n name: \"\",\n document: \"\",\n email: \"\",\n phoneNumber: \"\",\n address: \"\",\n },\n });\n\n const [loading, setLoading] = useState(false);\n\n const [showBoleto, setShowBoleto] = useState(false);\n\n const handleChangePayerValues = useCallback((name: string, value: string) => {\n setPayerValues((prev) => ({\n ...prev,\n [name]: value,\n }));\n }, []);\n\n const generateTicket = useCallback(() => {\n if (paymentLink && validate(paymentLink, payerValues, holder, setErrors)) {\n setShowBoleto(true);\n const paymentLinkApi = PaymentLinkApi();\n setLoading(true);\n\n const customPayer = {...payerValues};\n let firstName = customPayer.PayerFirstName;\n let lastName = \"\";\n const fullName = customPayer.PayerFirstName.split(\" \");\n if (fullName.length > 1) {\n firstName = fullName[0];\n lastName = fullName[1];\n } else {\n lastName = \".\"; \n }\n\n customPayer.PayerFirstName = firstName;\n customPayer.PayerLastName = lastName;\n\n paymentLinkApi\n .ticketPayment({\n OwnerId: paymentLink.localId,\n Description: paymentLink.description,\n ProductId: paymentLink.productId,\n TransactionAmount: paymentLink.price,\n ...customPayer,\n PayerAddress: {\n postalCode: address.CEP ?? \"\",\n city: address.city,\n complement: address.complement,\n neighborhood: address.neighborhood,\n number: address.number,\n state: address.state,\n street: address.street,\n description: address.description,\n },\n })\n .then((response) => {\n paymentLinkApi\n .ticketPaymentStatus(response.BoletoId)\n .then((res) => {\n setTicket(res);\n })\n .catch(() => {\n paymentLinkApi\n .ticketPaymentStatus(response.BoletoId)\n .then((res) => {\n setTicket(res);\n })\n .catch(() => {\n toast(\"A emissão do boleto falhou, tente novamente\", \"error\");\n });\n });\n })\n .catch(() => {\n setShowBoleto(false);\n toast(\"A emissão do boleto falhou, tente novamente\", \"error\");\n })\n .finally(() => {\n setLoading(false);\n });\n }\n }, [\n paymentLink,\n payerValues,\n holder,\n address,\n toast,\n ]);\n\n const copyBarCodeToClipboard = useCallback(() => {\n if (ticket?.BarCode) {\n navigator.clipboard.writeText(ticket?.BarCode);\n toast(\"Código copiado para área de transferência\", \"success\");\n }\n }, [ticket, toast]);\n\n const openNewTab = useCallback(() => {\n if (ticket?.Url) {\n window.open(ticket.Url, \"_blank\");\n }\n }, [ticket]);\n\n return (\n \n
\n
\n Realize o pagamento através do boleto\n
\n {ticket ? (\n <>\n
\n {/* Realize a leitura do código de barras abaixo ou imprima seu boleto. */}\n Realize o pagamento do boleto abaixo\n
\n {/*
\n {!ticket?.BarCode ? (\n \n ) : (\n
\n \n
\n )}\n
*/}\n \n
\n {/* \n \n Copiar código\n
\n

ou

*/}\n \n \n Imprimir boleto\n
\n \n

\n O pagamento via boleto pode demorar até 2 dias uteis para\n confirmação\n

\n \n \n ) : (\n
\n \n
\n )}\n {!showBoleto && (\n {\n if (!loading) generateTicket();\n }}\n disabled={loading}\n >\n {loading ? : \"Gerar boleto\"}\n \n )}\n \n
\n );\n};\n\nexport default Ticket;\n","import {\n Container,\n FormControl,\n FormControlLabel,\n Grid,\n IconButton,\n InputAdornment,\n MenuItem,\n Modal,\n Paper,\n Radio,\n RadioGroup,\n TextField,\n} from \"@material-ui/core\";\nimport { cpfMask } from \"cross-cutting/masks/cpf\";\nimport { IAddress } from \"models/address/IAddress\";\nimport {\n ICardPaymentGuestRequest,\n IOwnerAddressPaymentGuest,\n IOwnerPaymentGuest,\n} from \"models/paymentGuest/IPaymentGuestForm\";\nimport NewAddressForm from \"pages/newAddress/NewAddressForm\";\nimport { DeliveryAddressItem } from \"pages/payment/deliverySelect/deliveryAddressItem/DeliveryAddressItem\";\nimport React, {\n ChangeEvent,\n FC,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport { cnpjMask } from \"utils/mask/cnpj\";\nimport { v4 } from \"uuid\";\nimport styles from \"./CreditForm.module.scss\";\nimport FindAddressPaymentLink from \"pages/payment/deliverySelect/findAddressPaymentLink/FindAddressPaymentLink\";\nimport { ArrowRight } from \"@material-ui/icons\";\nimport PickerDate from \"pages/public/schedule/components/pickerDate/PickerDate\";\nimport Input from \"pages/public/schedule/components/input/Input\";\n\nexport interface ICreditForm {\n formRef: React.RefObject;\n card: ICardPaymentGuestRequest;\n setCard: (value: React.SetStateAction) => void;\n errors: any;\n owner: IOwnerPaymentGuest;\n setOwner: React.Dispatch>;\n address: IOwnerAddressPaymentGuest;\n setAddress: React.Dispatch>;\n}\n\nconst CreditForm: FC = ({\n card,\n setCard,\n formRef,\n errors,\n address,\n owner,\n setAddress,\n setOwner,\n}) => {\n const [holder, setHolder] = useState(\"fisica\");\n const [openAddressForm, setOpenAddressForm] = useState(false);\n\n const numberMask = (value: string) => {\n return value.replace(/[^0-9]/g, \"\").substr(0, 16);\n };\n const cvvMask = (value: string) => {\n return value.replace(/[^0-9]/g, \"\").substr(0, 4);\n };\n\n const onSubmitAddress = useCallback(\n (address: IAddress) => {\n setAddress(address);\n setOpenAddressForm(false);\n },\n [setAddress]\n );\n\n const onChangeHandle = useCallback(\n (ev: ChangeEvent) => {\n ev.persist();\n\n if (ev.target.name === \"number\") {\n setCard((prev) => ({\n ...prev,\n [ev.target.name]: numberMask(ev.target.value),\n }));\n } else if (ev.target.name === \"securityCode\") {\n setCard((prev) => ({\n ...prev,\n [ev.target.name]: cvvMask(ev.target.value),\n }));\n } else {\n setCard((prev) => ({ ...prev, [ev.target.name]: ev.target.value }));\n }\n },\n [setCard]\n );\n\n const changeOwnerHandle = useCallback(\n (ev: ChangeEvent) => {\n ev.persist();\n if (ev.target.name === \"document\") {\n if (holder === \"fisica\") {\n setOwner((prev) => ({\n ...prev,\n [ev.target.name]: cpfMask(ev.target.value),\n }));\n } else {\n setOwner((prev) => ({\n ...prev,\n [ev.target.name]: cnpjMask(ev.target.value),\n }));\n }\n } else {\n setOwner((prev) => ({ ...prev, [ev.target.name]: ev.target.value }));\n }\n },\n [holder, setOwner]\n );\n\n const changeDateOfBirth = useCallback(\n (date: string) => {\n setOwner((prev) => ({\n ...prev,\n birthDay: date,\n }));\n },\n [setOwner]\n );\n\n useEffect(() => {\n setOwner((prev) => ({ ...prev, document: \"\" }));\n\n return () => {};\n }, [holder, setOwner]);\n\n const showAddress = useMemo(\n () =>\n address.street\n ? `${address.street}, ${address.number} - ${address.neighborhood}, ${address.city}/${address.state}`\n : null,\n [address]\n );\n\n const handleFocus = useCallback(() => {\n formRef?.current?.scroll({ top: 300, behavior: \"smooth\" });\n }, [formRef]);\n\n return (\n
\n \n
\n \n \n \n \n\n \n \n \n\n \n \n \n 01\n \n 02\n 03\n 04\n 05\n 06\n 07\n 08\n 09\n 10\n 11\n 12\n \n \n\n \n \n 24\n 25\n 26\n 27\n 28\n 29\n 30\n 31\n 32\n 33\n 34\n 35\n 36\n \n \n\n \n \n \n\n \n \n \n\n \n \n setHolder(value)}\n row\n >\n }\n label=\"CPF\"\n />\n }\n label=\"CNPJ\"\n />\n \n \n \n\n \n \n \n\n \n \n \n\n \n changeDateOfBirth(event.target.value)}\n label=\"Data de nascimento\"\n InputLabelProps={{\n shrink: true,\n }}\n />\n {errors.owner.birthDay && (\n {errors.owner.birthDay}\n )}\n \n\n \n \n \n\n \n {\n setOpenAddressForm(true);\n }}\n >\n \n \n \n \n \n ),\n }}\n />\n
\n\n {/* {\n setOpenAddressForm(true);\n }}\n onClick={() => setOpenAddressForm(true)}\n address={{ ...address, id: v4() }}\n /> */}\n \n \n \n \n setOpenAddressForm(false)}\n className={styles.addressContainer}\n >\n \n \n \n \n \n );\n};\n\nexport default CreditForm;\n","import {\n Button,\n Container,\n Grid,\n IconButton,\n InputAdornment,\n MenuItem,\n TextField,\n} from \"@material-ui/core\";\nimport { moneyMaskNumber } from \"cross-cutting/masks/money\";\nimport { IPaymentLinkResponse } from \"models/paymentLink/IPaymentLinkResponse\";\nimport React, { FC, useMemo, useRef } from \"react\";\nimport CreditForm from \"../creditForm/CreditForm\";\nimport styles from \"./Credit.module.scss\";\nimport { UseCredit } from \"./UseCredit\";\nimport { useUi } from \"context/ui/UIContext\";\nimport { ReactComponent as Check } from \"assets/icons/check.svg\";\nimport { ReactComponent as Load } from \"assets/icons/loading.svg\";\nimport NumberToMoneyString from \"utils/mask/NumberToMoney\";\nimport { ArrowDropDown, Info } from \"@material-ui/icons\";\n\nexport interface ICredit {\n paymentLink: IPaymentLinkResponse;\n}\n\nconst Credit: FC = ({ paymentLink }) => {\n const {\n card,\n setCard,\n onClickSend,\n installment,\n setInstallment,\n approved,\n loading,\n errors,\n address,\n setAddress,\n owner,\n setOwner,\n cardBrand,\n } = UseCredit(paymentLink);\n\n const { isMobile } = useUi();\n\n const formRef = useRef(null);\n\n const renderOneInstallment = useMemo(() => {\n setInstallment(\n paymentLink.cardBrandsInstallments.find((x) => x.brandType === cardBrand)\n ?.installments[0]\n );\n return (\n x.brandType === cardBrand\n )?.installments[0]?.description\n } - Total ${moneyMaskNumber(\n paymentLink.cardBrandsInstallments.find(\n (x) => x.brandType === cardBrand\n )?.installments[0]?.price ?? 0\n )}`}\n label=\"Número de parcelas\"\n disabled\n />\n );\n }, [cardBrand, paymentLink.cardBrandsInstallments, setInstallment]);\n\n if (approved.length) {\n return (\n
\n \n

\n {paymentLink.successMessage\n ? paymentLink.successMessage\n : \"Transação aprovada!\"}\n

\n

\n Valor pago: {NumberToMoneyString(Number(paymentLink.price))}\n

\n

\n Pedido: {approved}\n

\n\n {/* \n PODER DO NETWORK BRASILIA - VENDA ONLINE \n */}\n {paymentLink.id.toUpperCase() ===\n \"C81FFB14-85F6-4093-A303-F9EFD8D17D85\" && (\n
\n \n \n \n\n
\n

\n Clique no link abaixo para entrar no grupo do Whatsapp do{\" \"}\n Home Experience - Brasília.\n

\n

Todas as informações estarão no grupo.

\n

\n \n Clique aqui!\n \n

\n
\n
\n )}\n
\n );\n }\n\n return (\n \n \n
\n Realize o pagamento através do Cartão de crédito\n
\n\n {!paymentLink.isSinglePayment && (\n
\n \n
\n \n A cobrança será realizada todo o dia{\" \"}\n {paymentLink.paymentDay}.\n \n \n A primeira cobrança será feita no mês{\" \"}\n \n {paymentLink.billingStartsInCurrentMonth\n ? \"atual\"\n : \"seguinte\"}\n \n .\n \n
\n
\n )}\n\n \n \n\n {!paymentLink.isRecurrenceLimit ? (\n \n {(paymentLink.cardBrandsInstallments.find(\n (x) => x.brandType === cardBrand\n )?.installments.length ?? 0) === 1 ? (\n renderOneInstallment\n ) : (\n \n setInstallment(\n paymentLink?.cardBrandsInstallments\n .find((x) => x.brandType === cardBrand)\n ?.installments.find(\n (item) =>\n item.installment ===\n Number.parseInt(ev.target.value)\n )\n )\n }\n select\n >\n {paymentLink?.cardBrandsInstallments\n .find((x) => x.brandType === cardBrand)\n ?.installments.map((installment) => (\n \n {installment.description} - Total{\" \"}\n {moneyMaskNumber(installment.price)}\n \n ))}\n \n )}\n \n ) : (\n \n \n \n \n \n \n ),\n }}\n />\n \n )}\n \n {\n if (!loading) onClickSend();\n }}\n >\n {loading ? : \"Finalizar pagamento\"}\n \n \n
\n );\n};\n\nexport default Credit;\n","import { UseMercadoPago } from \"context/payment/UseMercadoPago\";\nimport { useUi } from \"context/ui/UIContext\";\nimport { IPaymentGuestRequest } from \"models/paymentGuest/IPaymentGestRequest\";\nimport {\n ICardPaymentGuestRequest,\n IOwnerAddressPaymentGuest,\n IOwnerPaymentGuest,\n} from \"models/paymentGuest/IPaymentGuestForm\";\nimport {\n IPaymentLinkInstallments,\n IPaymentLinkResponse,\n} from \"models/paymentLink/IPaymentLinkResponse\";\nimport { useCallback, useEffect, useState } from \"react\";\nimport PaymentLinkApi from \"services/Api/paymentLink/PaymentLinkApi\";\nimport { validate } from \"../creditForm/validate\";\nimport Utils from \"utils/utils\";\nimport { CardBrandType } from \"models/payment/ICard\";\n\nexport const UseCredit = (paymentLink: IPaymentLinkResponse) => {\n const { toast } = useUi();\n const { deviceIdMercadoPago } = UseMercadoPago();\n const [installment, setInstallment] = useState();\n const [approved, setApproved] = useState('');\n const [loading, setLoading] = useState(false);\n const [cardBrand, setCardBrand] = useState(CardBrandType.Unknown);\n const [card, setCard] = useState({\n number: \"\",\n securityCode: \"\",\n ownerName: \"\",\n month: \"\",\n year: \"\",\n owner: {} as IOwnerPaymentGuest,\n });\n const [owner, setOwner] = useState({\n name: \"\",\n document: \"\",\n email: \"\",\n phoneNumber: \"\",\n birthDay: \"\",\n address: {} as IOwnerAddressPaymentGuest,\n });\n const [address, setAddress] = useState({\n CEP: \"\",\n description: \"\",\n street: \"\",\n number: \"\",\n complement: \"\",\n neighborhood: \"\",\n city: \"\",\n state: \"\",\n });\n\n const [errors, setErrors] = useState({\n number: \"\",\n securityCode: \"\",\n ownerName: \"\",\n month: \"\",\n year: \"\",\n owner: {\n name: \"\",\n document: \"\",\n email: \"\",\n phoneNumber: \"\",\n address: \"\",\n },\n });\n\n useEffect(() => {\n const brand = Utils.toCardBrand(card.number);\n setCardBrand(Number.parseInt(brand.toString()));\n }, [card]);\n\n const onClickSend = useCallback(() => {\n const paymentLinkApi = PaymentLinkApi();\n const newCard: ICardPaymentGuestRequest = {\n ...card,\n owner: {\n ...owner,\n address: address,\n },\n };\n if (paymentLink && validate(newCard, setErrors)) {\n const orderValue = installment?.price ?? paymentLink?.price;\n const newPaymentGuestPayRequest: IPaymentGuestRequest = {\n mePayLinkId: paymentLink?.id,\n isSinglePayment: paymentLink?.isSinglePayment === true,\n creditCard: {\n number: newCard.number,\n name: newCard.ownerName,\n securityCode: newCard.securityCode,\n fingerPrint: deviceIdMercadoPago,\n monthYearValid: newCard.month + \"/\" + newCard.year,\n },\n order: {\n value: orderValue,\n itens: [\n {\n name: paymentLink?.product.nome,\n productId: paymentLink?.product.id,\n value: (paymentLink?.isVariable ?? false) === true ? orderValue : paymentLink?.product.valor,\n quantity: 1,\n },\n ],\n },\n customer: {\n name: newCard?.owner.name,\n document: newCard?.owner.document,\n email: newCard?.owner.email,\n phoneNumber: newCard?.owner.phoneNumber,\n birthDay: newCard?.owner.birthDay,\n address: {\n postalCode: newCard.owner.address.CEP ?? \"\",\n street: newCard.owner.address.street,\n number: newCard.owner.address.number,\n complement: newCard.owner.address.complement,\n neighborhood: newCard.owner.address.neighborhood,\n city: newCard.owner.address.city,\n state: newCard.owner.address.state,\n country: \"\",\n },\n },\n installments: installment?.installment ?? 1,\n storeId: paymentLink.localId,\n };\n\n setLoading(true);\n paymentLinkApi\n .getPaymentGuestSendPay(newPaymentGuestPayRequest)\n .then((res) => {\n setApproved(res?.data?.orderId ?? \"-\");\n })\n .catch((error) => {\n toast(error?.response?.data?.Message, \"error\");\n })\n .finally(() => {\n setLoading(false);\n });\n }\n }, [\n address,\n card,\n deviceIdMercadoPago,\n installment,\n owner,\n paymentLink,\n toast,\n ]);\n\n return {\n card,\n setCard,\n owner,\n setOwner,\n address,\n setAddress,\n approved,\n onClickSend,\n installment,\n setInstallment,\n loading,\n errors,\n cardBrand,\n };\n};\n","import { ICardPaymentGuestRequest } from \"models/paymentGuest/IPaymentGuestForm\";\n\nexport const validate = (\n card: ICardPaymentGuestRequest,\n setErrors: React.Dispatch<\n React.SetStateAction<{\n number: string;\n securityCode: string;\n ownerName: string;\n month: string;\n year: string;\n owner: {\n name: string;\n document: string;\n email: string;\n phoneNumber: string;\n address: string;\n };\n }>\n >\n) => {\n setErrors({\n number: \"\",\n securityCode: \"\",\n ownerName: \"\",\n month: \"\",\n year: \"\",\n owner: {\n name: \"\",\n document: \"\",\n email: \"\",\n phoneNumber: \"\",\n address: \"\",\n },\n });\n let validForm = true\n if (!card.number || card.number.length < 14) {\n setErrors((prev) => ({ ...prev, number: \"Número inválido\" }));\n validForm = false;\n }\n if (!card.month) {\n setErrors((prev) => ({ ...prev, month: \"Mês inválido\" }));\n validForm = false;\n }\n if (!card.year || !card.year.length) {\n setErrors((prev) => ({ ...prev, year: \"Ano inválido\" }));\n validForm = false;\n }\n if (!card.ownerName || card.ownerName.length < 3) {\n setErrors((prev) => ({ ...prev, ownerName: \"Nome inválido\" }));\n validForm = false;\n }\n if (!card.securityCode || card.securityCode.length < 3) {\n setErrors((prev) => ({ ...prev, securityCode: \"Código inválido\" }));\n validForm = false;\n }\n if (!card.owner.name || card.owner.name.length < 3) {\n setErrors((prev) => ({\n ...prev,\n owner: { ...prev.owner, name: \"Nome inválido\" },\n }));\n validForm = false;\n }\n if (!card.owner.document || card.owner.document.length < 11) {\n setErrors((prev) => ({\n ...prev,\n owner: { ...prev.owner, document: \"Documento inválido\" },\n }));\n validForm = false;\n }\n if (!card.owner.birthDay || card.owner.birthDay.length < 10) {\n setErrors((prev) => ({\n ...prev,\n owner: { ...prev.owner, birthDay: \"Data de nascimento obrigatório\" },\n }));\n validForm = false;\n }\n if (!card.owner.email || card.owner.email.length < 11) {\n setErrors((prev) => ({\n ...prev,\n owner: { ...prev.owner, email: \"Email inválido\" },\n }));\n validForm = false;\n }\n if (!card.owner.phoneNumber || card.owner.phoneNumber.length < 11) {\n setErrors((prev) => ({\n ...prev,\n owner: { ...prev.owner, phoneNumber: \"Telefone inválido\" },\n }));\n validForm = false;\n }\n\n if (\n !card.owner?.address ||\n !card.owner.address.street ||\n !card.owner.address.number ||\n !card.owner.address.city ||\n !card.owner.address.state\n ) {\n setErrors((prev) => ({\n ...prev,\n owner: { ...prev.owner, address: \"Endereço inválido\" },\n }));\n validForm = false;\n }\n\n return validForm;\n};\n","import {\n IPaymentLinkResponse,\n PaymentTypeEnum,\n} from \"models/paymentLink/IPaymentLinkResponse\";\nimport React, { FC, useMemo } from \"react\";\nimport Pix from \"../pix/Pix\";\nimport Ticket from \"../ticket/Ticket\";\nimport styles from \"./Payment.module.scss\";\nimport Credit from \"../credit/Credit\";\nimport { useUi } from \"context/ui/UIContext\";\n\nexport interface IPayment {\n selectedPaymentType: PaymentTypeEnum | null;\n paymentLink: IPaymentLinkResponse;\n}\n\nconst Payment: FC = ({ selectedPaymentType, paymentLink }) => {\n const { isMobile } = useUi();\n const renderContent = useMemo(() => {\n switch (selectedPaymentType) {\n case PaymentTypeEnum.CREDIT:\n return ;\n case PaymentTypeEnum.PIX:\n return ;\n case PaymentTypeEnum.TICKET:\n return ;\n default:\n return (\n
Selecione a forma de pagameto
\n );\n }\n }, [paymentLink, selectedPaymentType]);\n\n return (\n \n {renderContent}\n \n );\n};\n\nexport default Payment;\n","import { ReactComponent as Ticket } from \"assets/icons/boleto.svg\";\nimport { ReactComponent as Credit } from \"assets/icons/credit.svg\";\nimport { ReactComponent as Pix } from \"assets/icons/Pix.svg\";\nimport { useUi } from \"context/ui/UIContext\";\nimport { moneyMaskNumber } from \"cross-cutting/masks/money\";\nimport { PaymentTypeEnum } from \"models/paymentLink/IPaymentLinkResponse\";\nimport React, {\n FC,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { UsePaymentLink } from \"./_UsePaymentLink\";\nimport Footer from \"./components/footer/Footer\";\nimport Header from \"./components/header/Header\";\nimport Payment from \"./components/payment/Payment\";\nimport styles from \"./PaymentLink.module.scss\";\nimport { TextField } from \"@material-ui/core\";\nimport Tooltip from \"@mui/material/Tooltip\";\n\nexport interface IPaymentLinkProps {}\n\nconst PaymentLink: FC = () => {\n const valueRef = useRef(null);\n const { \n paymentLink, \n handleChangeValue,\n handleBlurValue,\n inputMoneyMask,\n paymentLinkValue,\n } = UsePaymentLink(valueRef);\n const { isMobile } = useUi();\n const [imageSrc, setImageSrc] = useState();\n const [logoSrc, setLogoSrc] = useState();\n\n const { enableCredit, enablePix, enableTicket } = useMemo(\n () => ({\n enableCredit: paymentLink?.paymentTypes.find(\n (it) => it.type === PaymentTypeEnum.CREDIT\n ),\n enableTicket: paymentLink?.paymentTypes.find(\n (it) => it.type === PaymentTypeEnum.TICKET\n ),\n enablePix: paymentLink?.paymentTypes.find(\n (it) => it.type === PaymentTypeEnum.PIX\n ),\n }),\n [paymentLink]\n );\n\n const [selectedPaymentType, setSelectedPaymentType] =\n useState(null);\n\n useEffect(() => {\n if (enableCredit) {\n setSelectedPaymentType(PaymentTypeEnum.CREDIT);\n } else if (enablePix) {\n setSelectedPaymentType(PaymentTypeEnum.PIX);\n } else if (enableTicket) {\n setSelectedPaymentType(PaymentTypeEnum.TICKET);\n }\n }, [enableCredit, enablePix, enableTicket]);\n\n const handleSelectType = useCallback((type: PaymentTypeEnum) => {\n setSelectedPaymentType(type);\n }, []);\n\n const disableButtons = useMemo(\n () =>\n paymentLink?.isVariable &&\n (!paymentLinkValue ||\n parseFloat(\n paymentLinkValue.replace(/[R$\\s.]/g, \"\").replace(\",\", \".\")\n ) < 1),\n [paymentLink, paymentLinkValue]\n );\n\n useEffect(() => {\n if (disableButtons) {\n setSelectedPaymentType(null);\n }\n }, [disableButtons]);\n\n const isValidImage = useCallback((url: string) => {\n const img = new Image();\n img.src = url;\n return new Promise((resolve) => {\n img.onerror = () => resolve(false);\n img.onload = () => resolve(true);\n });\n }, []);\n\n useEffect(() => {\n const loadImage = async () => {\n if (paymentLink?.id === undefined) return;\n\n const productImageUrl = `${process.env.REACT_APP_IMAGE_URL}mepay-link/${paymentLink?.id}.png`;\n const resultProductImage = await isValidImage(productImageUrl);\n if (resultProductImage) {\n setImageSrc(productImageUrl);\n }\n\n const logoUrl = `${process.env.REACT_APP_IMAGE_URL}clientes-profile/${paymentLink?.localId}.png`;\n const resultLogo = await isValidImage(logoUrl);\n if (resultLogo) {\n setLogoSrc(logoUrl);\n }\n };\n\n loadImage();\n }, [isValidImage, paymentLink]);\n\n return (\n
\n {paymentLink ? (\n <>\n
\n \n \n {imageSrc && (\n \n )}\n
{paymentLink?.product.nome}
\n
\n {paymentLink?.description}\n
\n {paymentLink.isVariable ? (\n
\n \n \n
\n ) : (\n
\n {moneyMaskNumber(paymentLink.price)}\n
\n )}\n
\n

Forma de pagamento:

\n
\n {enableCredit && (\n \n \n \n handleSelectType(PaymentTypeEnum.CREDIT)\n }\n className={\n disableButtons || paymentLink.price < 1\n ? styles.disabled\n : \"\"\n }\n style={{ height: isMobile ? 106 : undefined }}\n >\n \n

Crédito

\n {!paymentLink.isSinglePayment && Recorrente}\n
\n
\n \n )}\n {enablePix && (\n \n \n handleSelectType(PaymentTypeEnum.PIX)}\n className={\n disableButtons || paymentLink.price < 1\n ? styles.disabled\n : \"\"\n }\n style={{ height: isMobile ? 106 : undefined }}\n >\n \n

PIX

\n
\n \n \n )}\n {enableTicket && (\n \n \n \n handleSelectType(PaymentTypeEnum.TICKET)\n }\n className={\n disableButtons || paymentLink.price < 5\n ? styles.disabled\n : \"\"\n }\n style={{ height: isMobile ? 106 : undefined }}\n >\n \n

Boleto

\n \n \n
\n )}\n \n \n \n {!isMobile &&
}\n \n
\n \n ) : (\n
\n )}\n
\n
\n );\n};\nexport default PaymentLink;\n","var _g, _defs;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgWww = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 26,\n height: 25,\n viewBox: \"0 0 26 25\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_1527_5202)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.71631 17.7067C4.63062 19.2903 5.94574 20.6053 7.52944 21.5195C9.11315 22.4336 10.9096 22.9147 12.7382 22.9144C14.5669 22.9147 16.3633 22.4336 17.947 21.5195C19.5307 20.6053 20.8459 19.2903 21.7602 17.7067M3.71631 7.29114C4.63062 5.70751 5.94574 4.39251 7.52944 3.47834C9.11315 2.56417 10.9096 2.08305 12.7382 2.08337C14.5669 2.08305 16.3633 2.56417 17.947 3.47834C19.5307 4.39251 20.8459 5.70751 21.7602 7.29114\",\n stroke: \"#001537\",\n strokeWidth: 1.56233,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.7799 22.8624C13.7799 22.8624 15.2464 20.9324 16.1702 17.7067M13.7799 2.1355C13.7799 2.1355 15.2464 4.06445 16.1702 7.29118M11.6968 22.8624C11.6968 22.8624 10.2303 20.9334 9.30641 17.7067M11.6968 2.1355C11.6968 2.1355 10.2303 4.06445 9.30641 7.29118M9.61367 10.4158L11.176 15.6236L12.7383 10.4158L14.3007 15.6236L15.863 10.4158M1.28125 10.4158L2.84358 15.6236L4.40591 10.4158L5.96824 15.6236L7.53057 10.4158M17.9461 10.4158L19.5084 15.6236L21.0708 10.4158L22.6331 15.6236L24.1954 10.4158\",\n stroke: \"#001537\",\n strokeWidth: 1.56233,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_1527_5202\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 24.9973,\n height: 24.9973,\n fill: \"white\",\n transform: \"translate(0.239258 0.000366211)\"\n })))));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgWww, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/www.308e6527.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgWhatsapp = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 26,\n height: 25,\n viewBox: \"0 0 26 25\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.4105 5.11435C19.4555 4.14998 18.318 3.38534 17.0645 2.86497C15.811 2.34461 14.4664 2.07893 13.1092 2.08343C7.42233 2.08343 2.78743 6.71834 2.78743 12.4052C2.78743 14.2279 3.26654 15.9986 4.16228 17.5609L2.7041 22.9145L8.17225 21.4771C9.6825 22.3 11.3802 22.7374 13.1092 22.7374C18.7961 22.7374 23.431 18.1025 23.431 12.4156C23.431 9.65552 22.3582 7.06205 20.4105 5.11435ZM13.1092 20.9876C11.5677 20.9876 10.0575 20.571 8.73469 19.7898L8.42223 19.6023L5.17258 20.4564L6.03707 17.2901L5.82876 16.9672C4.97213 15.5997 4.51737 14.0189 4.5164 12.4052C4.5164 7.67657 8.37015 3.82282 13.0988 3.82282C15.3902 3.82282 17.5462 4.71856 19.1606 6.34338C19.9601 7.13898 20.5937 8.08542 21.0246 9.12779C21.4555 10.1702 21.6751 11.2877 21.6708 12.4156C21.6916 17.1443 17.8379 20.9876 13.1092 20.9876ZM17.817 14.5716C17.5566 14.4467 16.2859 13.8217 16.0568 13.728C15.8172 13.6447 15.6506 13.603 15.4735 13.853C15.2965 14.1134 14.8069 14.6966 14.6611 14.8633C14.5153 15.0403 14.3591 15.0612 14.0987 14.9258C13.8383 14.8008 13.0051 14.5196 12.026 13.6447C11.2552 12.9572 10.7449 12.1136 10.5887 11.8532C10.4428 11.5928 10.5678 11.4574 10.7032 11.322C10.8178 11.2074 10.9636 11.02 11.0886 10.8741C11.2136 10.7283 11.2657 10.6137 11.349 10.4471C11.4323 10.27 11.3907 10.1242 11.3282 9.99923C11.2657 9.87424 10.7449 8.60355 10.5366 8.08277C10.3283 7.58283 10.1095 7.64532 9.95331 7.63491H9.45336C9.2763 7.63491 9.0055 7.6974 8.76594 7.95779C8.5368 8.21818 7.8702 8.84311 7.8702 10.1138C7.8702 11.3845 8.79718 12.6135 8.92217 12.7802C9.04716 12.9572 10.7449 15.5611 13.3279 16.6756C13.9425 16.9464 14.4216 17.1026 14.7965 17.2172C15.411 17.4151 15.9735 17.3838 16.4214 17.3213C16.9213 17.2484 17.9524 16.6964 18.1607 16.0923C18.3795 15.4882 18.3795 14.9779 18.3066 14.8633C18.2337 14.7487 18.0774 14.6966 17.817 14.5716Z\",\n fill: \"#001537\"\n })));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgWhatsapp, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/whatsapp.5e2392cf.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgInstagramB = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 26,\n height: 25,\n viewBox: \"0 0 26 25\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.02245 2.08337H17.7715C21.1045 2.08337 23.8125 4.79141 23.8125 8.12438V16.8734C23.8125 18.4756 23.176 20.0122 22.0431 21.1451C20.9102 22.278 19.3737 22.9144 17.7715 22.9144H9.02245C5.68948 22.9144 2.98145 20.2064 2.98145 16.8734V8.12438C2.98145 6.52221 3.61791 4.98565 4.75082 3.85274C5.88372 2.71984 7.42028 2.08337 9.02245 2.08337ZM8.81414 4.16648C7.81969 4.16648 6.86597 4.56152 6.16278 5.26471C5.4596 5.96789 5.06455 6.92162 5.06455 7.91607V17.0817C5.06455 19.1544 6.74145 20.8313 8.81414 20.8313H17.9798C18.9743 20.8313 19.928 20.4363 20.6312 19.7331C21.3344 19.0299 21.7294 18.0762 21.7294 17.0817V7.91607C21.7294 5.84338 20.0525 4.16648 17.9798 4.16648H8.81414ZM18.8651 5.72881C19.2104 5.72881 19.5416 5.86598 19.7857 6.11014C20.0299 6.3543 20.1671 6.68545 20.1671 7.03075C20.1671 7.37605 20.0299 7.7072 19.7857 7.95136C19.5416 8.19552 19.2104 8.33269 18.8651 8.33269C18.5198 8.33269 18.1887 8.19552 17.9445 7.95136C17.7004 7.7072 17.5632 7.37605 17.5632 7.03075C17.5632 6.68545 17.7004 6.3543 17.9445 6.11014C18.1887 5.86598 18.5198 5.72881 18.8651 5.72881ZM13.397 7.29114C14.7782 7.29114 16.1028 7.83981 17.0794 8.81646C18.0561 9.7931 18.6047 11.1177 18.6047 12.4989C18.6047 13.8801 18.0561 15.2047 17.0794 16.1813C16.1028 17.158 14.7782 17.7067 13.397 17.7067C12.0158 17.7067 10.6912 17.158 9.71453 16.1813C8.73788 15.2047 8.18921 13.8801 8.18921 12.4989C8.18921 11.1177 8.73788 9.7931 9.71453 8.81646C10.6912 7.83981 12.0158 7.29114 13.397 7.29114ZM13.397 9.37424C12.5683 9.37424 11.7735 9.70345 11.1875 10.2894C10.6015 10.8754 10.2723 11.6702 10.2723 12.4989C10.2723 13.3276 10.6015 14.1224 11.1875 14.7084C11.7735 15.2944 12.5683 15.6236 13.397 15.6236C14.2257 15.6236 15.0205 15.2944 15.6064 14.7084C16.1924 14.1224 16.5216 13.3276 16.5216 12.4989C16.5216 11.6702 16.1924 10.8754 15.6064 10.2894C15.0205 9.70345 14.2257 9.37424 13.397 9.37424Z\",\n fill: \"#001537\"\n })));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgInstagramB, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/instagram_b.afe2a5f2.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgFacebookB = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 26,\n height: 25,\n viewBox: \"0 0 26 25\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.1426 12.4989C23.1426 6.74953 18.4764 2.08337 12.7271 2.08337C6.97768 2.08337 2.31152 6.74953 2.31152 12.4989C2.31152 17.54 5.89446 21.7375 10.6439 22.7061V15.6236H8.56084V12.4989H10.6439V9.89502C10.6439 7.88482 12.2792 6.24959 14.2894 6.24959H16.8933V9.37424H14.8102C14.2373 9.37424 13.7686 9.84294 13.7686 10.4158V12.4989H16.8933V15.6236H13.7686V22.8624C19.0284 22.3416 23.1426 17.9046 23.1426 12.4989Z\",\n fill: \"#001537\"\n })));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgFacebookB, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/facebook_b.72a42742.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgMenu = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 154,\n height: 121,\n viewBox: \"0 0 154 121\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_1664_4427)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M44.0739 60.0997C43.4597 60.3958 42.7378 60.4364 42.0926 60.2138C41.4458 59.9878 40.9063 59.5064 40.6086 58.8888C40.3126 58.2747 40.272 57.5531 40.4979 56.906C40.7239 56.2591 41.2054 55.7197 41.8195 55.4236C42.4336 55.1275 43.1586 55.0854 43.8024 55.3129C44.4492 55.5389 44.9887 56.0204 45.2847 56.6345C45.5823 57.2517 45.623 57.9736 45.3971 58.6208C45.1725 59.2627 44.688 59.8036 44.0739 60.0997Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M70.5877 47.3175C69.9739 47.6134 69.252 47.654 68.6068 47.4314C67.96 47.2054 67.4205 46.724 67.1228 46.1064C66.8267 45.4923 66.7862 44.7707 67.0121 44.1236C67.2381 43.4767 67.7195 42.9373 68.3333 42.6413C68.9478 42.3451 69.6725 42.3031 70.3196 42.529C70.9637 42.7564 71.5025 43.2381 71.7986 43.8522C72.0961 44.4695 72.1371 45.1912 71.9144 45.8369C71.6864 46.4804 71.2018 47.0214 70.5877 47.3175Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M97.1012 34.5353C96.4868 34.8315 95.7652 34.8721 95.1197 34.6496C94.4731 34.4234 93.9337 33.942 93.636 33.3244C93.3399 32.7103 93.2994 31.9887 93.5249 31.3417C93.751 30.6949 94.2324 30.1554 94.8468 29.8592C95.4641 29.5616 96.186 29.521 96.8297 29.7485C97.4762 29.9747 98.016 30.456 98.3121 31.0701C98.6096 31.6873 98.65 32.4094 98.4244 33.0564C98.2002 33.6981 97.7188 34.2376 97.1012 34.5353Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M52.3434 41.5904C51.7293 41.8865 51.0074 41.9272 50.3619 41.7039C49.7152 41.4782 49.1757 40.9968 48.8782 40.3796C48.5821 39.7654 48.5399 39.0404 48.7674 38.3967C48.9904 37.7514 49.4749 37.2104 50.089 36.9143C50.7063 36.6168 51.4282 36.5761 52.0719 36.8036C52.7172 37.0265 53.2582 37.5111 53.5543 38.1252C53.8518 38.7424 53.8925 39.4643 53.6663 40.1109C53.4421 40.7534 52.9606 41.2929 52.3434 41.5904Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M77.4698 29.477C76.8554 29.7732 76.1338 29.8138 75.488 29.5907C74.8416 29.3648 74.3022 28.8834 74.0046 28.2662C73.7085 27.652 73.6664 26.927 73.8936 26.2834C74.1196 25.6366 74.6011 25.0971 75.2155 24.8009C75.8327 24.5033 76.5546 24.4627 77.1984 24.6902C77.8434 24.9133 78.3847 25.3977 78.6807 26.0118C78.9783 26.629 79.0187 27.3511 78.7928 27.9975C78.5688 28.6399 78.0874 29.1793 77.4698 29.477Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M134.486 62.9439C134.679 61.1608 134.397 59.3061 133.563 57.575C132.077 54.4937 129.2 52.5258 126.047 52.0591C126.831 49.524 126.7 46.6998 125.46 44.1264C124.376 41.8787 122.615 40.1742 120.54 39.1351C124.189 35.1814 125.267 29.2427 122.793 24.1099C118.588 15.3875 109.167 9.93421 96.2676 8.75428C83.85 7.6186 69.5583 10.5864 56.0263 17.1102C42.4937 23.6343 31.2706 32.9671 24.4252 43.3896C17.3139 54.2168 15.7133 64.9832 19.9185 73.7057C22.393 78.8385 27.7111 81.6933 33.0767 81.3011C32.5971 83.572 32.8341 86.0111 33.9176 88.2588C35.1583 90.8322 37.2873 92.6919 39.7588 93.6576C38.1593 96.4154 37.9066 99.8928 39.3924 102.975C40.227 104.706 41.5025 106.081 43.0181 107.041C40.5737 109.108 38.5841 112.423 41.0272 117.491C44.0068 123.671 50.905 126.542 56.4047 123.891L139.331 83.9118C144.831 81.2604 146.881 74.0754 143.901 67.8948C141.458 62.8268 137.626 62.3191 134.486 62.9439ZM38.5938 86.0044C37.2311 83.1779 38.4224 79.7693 41.2493 78.4065L113.185 43.7261C116.012 42.3635 119.42 43.5543 120.783 46.3809C121.04 46.9143 121.206 47.4685 121.287 48.0253C119.275 48.6812 117.774 48.3935 115.958 48.0418C113.454 47.557 110.337 46.9531 106.048 49.0206C101.76 51.0881 100.291 53.9019 99.111 56.1636C98.0759 58.1464 97.2585 59.7126 94.5211 61.0323C91.7837 62.352 90.0493 62.016 87.8534 61.5909C85.349 61.1059 82.2326 60.5022 77.9439 62.5697C73.6553 64.6373 72.1865 67.4511 71.0063 69.7129C69.9713 71.6956 69.1542 73.2617 66.4165 74.5816C63.6785 75.9016 61.944 75.5656 59.7478 75.1406C57.2434 74.6556 54.1267 74.052 49.8377 76.1197C45.5488 78.1874 44.0797 81.0015 42.8994 83.2629C42.0436 84.9026 41.3331 86.2571 39.5655 87.4231C39.1813 87.0128 38.8509 86.5378 38.5938 86.0044ZM118.775 53.6072C118.569 53.7422 118.356 53.8696 118.129 53.9791L101.635 61.9305C102.556 60.7761 103.168 59.6116 103.714 58.5653C104.749 56.5825 105.566 55.0164 108.304 53.6966C111.041 52.3769 112.776 52.7129 114.971 53.138C116.098 53.3565 117.35 53.5958 118.775 53.6072ZM90.7944 67.1573L73.5308 75.4801C74.4511 74.3257 75.0631 73.1612 75.6094 72.1148C76.6444 70.1321 77.4615 68.566 80.1992 67.2461C82.9366 65.9264 84.6714 66.2623 86.8673 66.6874C88.0254 66.9117 89.318 67.1583 90.7944 67.1573ZM62.6894 80.7067L46.1928 88.6598C45.9643 88.77 45.7311 88.8578 45.4966 88.9347C46.3768 87.8119 46.9712 86.6828 47.5026 85.6652C48.5379 83.6823 49.3553 82.116 52.0933 80.796C54.8314 79.476 56.5662 79.8118 58.762 80.237C59.9204 80.4611 61.2131 80.7077 62.6894 80.7067ZM46.2855 94.378L122.544 57.6137C124.904 56.476 127.749 57.4698 128.887 59.8297C130.025 62.1895 129.031 65.035 126.67 66.1729L50.4119 102.937C48.052 104.075 45.2065 103.081 44.0687 100.721C42.931 98.3607 43.9256 95.5157 46.2855 94.378ZM24.5946 71.4514C21.2124 64.436 22.6933 55.4822 28.7639 46.2394C35.1006 36.5921 45.5829 27.9079 58.2804 21.7864C70.9772 15.6653 84.3 12.873 95.7946 13.9238C106.807 14.9306 114.735 19.3489 118.117 26.3643C120.106 30.4899 118.367 35.4649 114.242 37.4537L35.6836 75.3268C31.558 77.3157 26.5837 75.5772 24.5946 71.4514ZM137.077 79.2357L54.1503 119.215C51.229 120.623 47.4399 118.838 45.7033 115.236C44.6951 113.145 44.4031 111.597 49.332 109.22L132.259 69.2413C137.188 66.8651 138.217 68.058 139.225 70.1491C140.962 73.7513 139.998 77.8275 137.077 79.2357Z\",\n fill: \"white\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_1664_4427\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 114.205,\n height: 114.205,\n fill: \"white\",\n transform: \"translate(0.711914 33.8666) rotate(-25.7387)\"\n })))));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgMenu, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/menu.1a62312f.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgWallet = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 184,\n height: 121,\n viewBox: \"0 0 184 121\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_1545_5355)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.70966 47.4289C4.72829 47.3862 4.76958 47.3374 4.76391 47.2973C4.02759 39.8101 6.04472 36.285 12.8616 33.1493C48.6545 16.6847 84.4475 0.220131 120.242 -16.2409C125.631 -18.7198 131.377 -17.1964 134.842 -12.3717C135.316 -11.7111 135.661 -10.9527 136.006 -10.2116C141.283 1.24276 146.564 12.6955 151.805 24.1711C152.235 25.1161 152.713 25.4978 153.794 25.5933C156.368 25.8208 158.297 27.1769 159.405 29.5759C161.976 35.1483 164.531 40.7288 167.102 46.3013C168.285 48.8622 168.041 51.2987 166.383 53.5244C165.863 54.2241 165.863 54.7231 166.205 55.4571C168.996 61.4615 171.762 67.4737 174.515 73.4958C177.327 79.6446 174.864 86.3046 168.721 89.1304C132.493 105.804 96.2594 122.467 60.0298 139.128C54.718 141.571 49.4093 140.315 45.6422 135.758C45.5273 135.619 45.3448 135.536 45.1961 135.426C31.6965 106.097 18.2039 76.7645 4.70966 47.4289ZM13.6354 55.7806C13.956 56.4776 14.1373 56.8718 14.317 57.2626C25.6092 81.811 36.8997 106.356 48.1919 130.904C50.266 135.413 54.0302 136.795 58.5561 134.713C94.4489 118.207 130.34 101.697 166.226 85.1858C170.731 83.1136 172.118 79.3453 170.041 74.8205C167.458 69.1975 164.872 63.576 162.283 57.9562C162.089 57.5338 161.857 57.1327 161.606 56.6512C161.013 56.9239 160.54 57.1418 160.063 57.3613C152.27 60.9457 144.485 64.5355 136.688 68.1093C131.68 70.4087 126.408 68.4665 124.101 63.48C122.232 59.4439 120.378 55.4049 118.527 51.3607C116.144 46.1619 118.053 40.9508 123.212 38.5733C131.001 34.9819 138.793 31.4061 146.585 27.8218C147.052 27.6071 147.522 27.3909 148.104 27.123C147.824 26.514 147.607 26.0423 147.389 25.5671C144.884 20.1217 142.379 14.6763 139.874 9.23085C137.588 4.26061 134.012 2.94582 129.033 5.23589C93.6225 21.5245 58.2106 37.801 22.8147 54.1213C19.9691 55.4388 17.1486 56.5059 13.6354 55.7806ZM131.511 -8.74546C129.391 -12.5978 125.754 -13.6842 121.733 -11.8347C85.7563 4.71027 49.7809 21.2588 13.8106 37.8091C13.5054 37.9495 13.1934 38.0845 12.8979 38.2461C8.93311 40.411 7.93662 45.4157 10.7729 48.8833C12.8782 51.4547 16.209 52.0422 19.7034 50.4348C54.5401 34.4143 89.3772 18.3852 124.214 2.36474C127.722 0.750878 131.106 -1.34714 135.392 -0.290728C133.695 -3.4166 130.884 -4.81464 127.803 -4.11844C126.691 -3.86675 125.631 -3.36206 124.569 -2.91634C122.967 -2.23938 121.75 -2.54915 121.128 -3.85404C120.5 -5.17301 121.048 -6.32051 122.564 -7.10776C125.319 -8.54096 128.16 -9.44277 131.511 -8.74546ZM138.296 36.7309C133.921 38.7434 129.538 40.7383 125.178 42.7738C122.441 44.0499 121.468 46.6471 122.707 49.3867C124.52 53.3931 126.356 57.3848 128.218 61.3687C129.533 64.1888 132.104 65.1213 134.947 63.8176C143.702 59.8032 152.447 55.7764 161.194 51.7444C163.194 50.8245 163.585 49.715 162.649 47.6718C160.294 42.5329 157.933 37.4007 155.563 32.2683C154.582 30.1438 153.516 29.7387 151.423 30.697C147.045 32.7025 142.671 34.7185 138.296 36.7309Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.2091 22.5039C72.2147 16.0614 86.2204 9.61886 100.23 3.17473C100.622 2.99398 101.008 2.78697 101.417 2.64142C102.606 2.22251 103.788 2.73206 104.299 3.86169C104.808 4.98779 104.414 6.20114 103.312 6.83608C102.979 7.02753 102.619 7.1678 102.268 7.32919C74.1691 20.2546 46.0666 33.1815 17.9676 46.1069C17.5291 46.3087 17.0997 46.5488 16.6409 46.6788C15.5209 46.9978 14.3756 46.4116 13.9344 45.3138C13.4788 44.1756 13.7887 43.2228 14.7632 42.5229C15.1505 42.2466 15.6239 42.0929 16.0589 41.8927C30.1101 35.4293 44.1614 28.9658 58.2091 22.5039Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M111.782 -2.13108C112.526 -2.47322 113.254 -2.85922 114.019 -3.14694C115.2 -3.5921 116.39 -3.06495 116.901 -1.93532C117.412 -0.805696 117.044 0.455312 115.915 1.03042C114.458 1.77292 112.962 2.4569 111.454 3.08676C110.215 3.60101 108.983 3.03778 108.476 1.83379C107.994 0.694776 108.412 -0.495247 109.553 -1.10115C110.279 -1.48201 111.039 -1.78895 111.782 -2.13108Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M141.044 55.8998C137.512 57.5458 133.428 56.0596 131.798 52.5358C130.209 49.1 131.622 44.9445 134.906 43.4166C136.275 42.7786 137.506 43.0992 138.148 44.2541C138.806 45.4354 138.484 46.6287 137.186 47.4476C136.129 48.117 135.463 49.0716 135.943 50.2071C136.241 50.9102 137.177 51.6991 137.889 51.7682C138.588 51.8352 139.528 51.1722 140.052 50.5645C140.384 50.1772 140.289 49.2783 140.155 48.6535C139.799 47.0215 140.217 45.9423 141.535 45.481C142.82 45.0307 143.947 45.651 144.576 47.1571C145.932 50.4014 144.33 54.3668 141.044 55.8998Z\",\n fill: \"white\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_1545_5355\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 148,\n height: 116,\n fill: \"white\",\n transform: \"translate(0.711914 38.738) rotate(-24.7022)\"\n })))));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgWallet, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/wallet.029d4c7a.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgWalletBlue = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 148,\n height: 125,\n viewBox: \"0 0 148 125\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_1762_4947)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M33.7816 49.4197C28.4858 50.5004 25.201 48.329 24.1203 43.0332C23.0396 37.7374 25.211 34.4526 30.5068 33.3719L113.956 16.343C113.956 16.343 117.165 15.6881 117.82 18.8976L120.44 31.7359L33.7816 49.4197Z\",\n fill: \"#4D13B7\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M120.768 33.3406L34.1092 51.0245C27.8506 52.3016 23.7928 49.6193 22.5157 43.3606C21.2385 37.102 23.9208 33.0442 30.1795 31.7671L113.628 14.7382C115.554 14.3452 118.705 15.0396 119.425 18.5701L122.045 31.4084C122.241 32.3713 121.57 33.1769 120.768 33.3406ZM114.283 17.9478L30.8344 34.9766C26.341 35.8936 24.8083 38.2123 25.7252 42.7057C26.6422 47.1991 28.9609 48.7318 33.4543 47.8149L118.508 30.4586L116.215 19.2251C115.953 17.9412 114.925 17.8168 114.283 17.9478Z\",\n fill: \"#001537\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M124.553 56.8066C125.234 58.5063 124.438 60.3404 122.771 61.182L50.4899 91.9794C48.7901 92.6606 46.9561 91.8647 46.1144 90.1977L27.5063 46.5212C26.8251 44.8215 27.621 42.9875 29.288 42.1458L101.569 11.3484C103.269 10.6672 105.103 11.4631 105.944 13.1301L124.553 56.8066Z\",\n fill: \"#F3EDFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M50.1756 93.7151C47.9289 94.1736 45.6756 92.9618 44.7357 90.8133L26.1276 47.1369C25.5447 45.9185 25.6037 44.5692 26.0163 43.3149C26.429 42.0605 27.4214 41.1894 28.6397 40.6065L100.921 9.80905C103.39 8.80365 106.285 9.88447 107.291 12.3539L125.899 56.0304C126.904 58.4998 125.823 61.3949 123.354 62.4003L51.0729 93.1977C50.8175 93.5842 50.4965 93.6496 50.1756 93.7151ZM102.539 12.8221L102.218 12.8876L29.9366 43.685C29.1669 44.0092 28.6888 44.9426 29.0457 45.8727L47.6538 89.5492C47.9781 90.3189 48.9114 90.797 49.8416 90.4401L122.123 59.6427C122.571 59.384 122.859 59.158 122.954 58.8043C123.049 58.4506 123.112 57.9364 122.853 57.4877L104.245 13.8112C104.081 13.0088 103.341 12.6584 102.539 12.8221Z\",\n fill: \"#001537\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M112.721 29.1321C113.11 30.2227 112.249 31.7357 110.549 32.4169L38.2682 63.2143C36.5684 63.8955 34.8327 63.581 34.4429 62.4904L32.2389 57.4239C31.8492 56.3333 32.7106 54.8202 34.4103 54.1391L106.691 23.3417C108.391 22.6605 110.127 22.9749 110.517 24.0655L112.721 29.1321Z\",\n fill: \"#DFCDFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M37.6654 65.1761C35.5791 65.6018 33.5846 64.8387 32.9035 63.1389L30.7322 58.2329C29.825 56.2449 31.1646 53.7985 33.7945 52.7603L106.075 21.9629C108.545 20.9575 111.181 21.5896 112.088 23.5776L114.293 28.6442C115.2 30.6321 113.86 33.0786 111.23 34.1167L38.9492 64.9141L37.6654 65.1761ZM107.982 24.75L107.34 24.881L35.0586 55.6784C34.1285 56.0354 33.7453 56.6151 33.8108 56.936L35.982 61.8421C36.1753 61.9698 36.8499 61.9993 37.6196 61.6751L109.901 30.8777C110.831 30.5207 111.214 29.941 111.181 29.7806L109.01 24.8745C108.977 24.714 108.623 24.619 107.982 24.75ZM74.8184 65.4946L88.3731 59.7013L89.6617 62.7147L76.105 68.5067L74.8184 65.4946ZM68.3372 75.3557L99.9672 61.8386L101.254 64.8523L69.6242 78.3694L68.3372 75.3557Z\",\n fill: \"#001537\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M120.96 82.6139C120.838 84.4774 119.27 85.8005 117.373 85.5188L34.1805 77.5885C32.4774 77.4345 31.1543 75.8657 31.2756 74.0022L35.999 25.0631C36.1202 23.1996 37.689 21.8765 39.5853 22.1582L122.939 30.0558C124.642 30.2098 125.965 31.7785 125.844 33.642L120.96 82.6139Z\",\n fill: \"#F3EDFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M118.729 87.2481C118.248 87.3464 117.767 87.4446 117.252 87.3824L34.0268 79.2916C32.6775 79.2326 31.5182 78.4662 30.647 77.4738C29.7759 76.4815 29.5139 75.1977 29.5728 73.8483L34.2963 24.9092C34.5747 22.1778 36.8477 20.2096 39.5791 20.488L122.932 28.3856C125.664 28.664 127.504 31.1302 127.354 33.6683L122.63 82.6074C122.571 83.9568 121.965 85.0834 120.973 85.9545C120.269 86.5997 119.532 87.0844 118.729 87.2481ZM38.9174 23.7991C38.2755 23.9301 37.7319 24.5425 37.7024 25.2172L32.9789 74.1562C32.9167 74.6704 32.9822 74.9914 33.4014 75.4073C33.6273 75.6955 34.0138 75.951 34.528 76.0132L117.721 83.9436C118.075 84.0386 118.523 83.7798 118.811 83.5539C119.1 83.3279 119.355 82.9414 119.417 82.4272L124.141 33.4882C124.298 32.6203 123.62 31.7556 122.785 31.7589L39.2711 23.8941C39.0779 23.7663 39.0779 23.7663 38.9174 23.7991Z\",\n fill: \"#001537\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M114.135 70.4666L116.667 44.3742C113.1 44.0991 110.582 40.7683 110.857 37.2018L49.8361 31.4334C49.5609 34.9999 46.2629 37.6788 42.8569 37.3709L40.3248 63.4633C43.8913 63.7384 46.4098 67.0692 46.1346 70.6357L106.995 76.4369C107.431 72.8376 110.568 70.1914 114.135 70.4666Z\",\n fill: \"#F3EDFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M108.511 78.1334L44.4053 71.9916L44.5592 70.2885C44.6182 68.9392 44.3562 67.6554 43.4851 66.663C42.6139 65.6707 41.4873 65.0648 40.2985 64.9731L38.5954 64.8191L41.4682 35.4812L43.1712 35.6351C45.7421 35.9463 48.1755 33.9453 48.4539 31.2139L48.6079 29.5109L112.714 35.6527L112.56 37.3557C112.501 38.7051 112.763 39.9889 113.634 40.9812C114.505 41.9736 115.632 42.5795 116.821 42.6712L118.524 42.8252L115.651 72.1631L113.948 72.0091C111.377 71.698 108.944 73.699 108.665 76.4304L108.511 78.1334ZM47.831 69.1194L105.799 74.6749C106.654 71.4916 109.376 69.2646 112.651 68.9306L114.937 45.7301C113.49 45.1897 112.137 44.2956 111.073 43.1755C109.976 41.8949 109.52 40.4834 109.353 38.8458L51.3851 33.2903C50.5302 36.4737 47.6481 38.7334 44.5335 39.0347L42.2144 62.0747C43.662 62.6151 45.0146 63.5092 46.0789 64.6293C47.0156 65.9426 47.664 67.4819 47.831 69.1194Z\",\n fill: \"#001537\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M76.2399 76.7305C81.7747 77.2604 87.3131 75.3637 91.6366 71.4577C95.9601 67.5517 98.7146 61.9564 99.2941 55.9027C99.8737 49.849 98.2308 43.8327 94.7268 39.1774C91.2229 34.5221 86.145 31.6091 80.6101 31.0792C75.0753 30.5494 69.5369 32.4461 65.2134 36.352C60.8899 40.258 58.1354 45.8533 57.5559 51.907C56.9763 57.9608 58.6192 63.977 62.1232 68.6323C65.6271 73.2876 70.705 76.2006 76.2399 76.7305Z\",\n fill: \"#DFCDFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M82.2357 77.9791C80.3099 78.3721 78.1582 78.4768 76.1015 78.2279C70.1245 77.6088 64.6519 74.5465 60.7776 69.4865C57.0638 64.3937 55.2724 58.0728 55.9538 51.5817C56.6351 45.0905 59.4386 39.1693 64.1122 35.0395C68.7531 30.7493 74.6875 28.7025 80.6645 29.3215C93.0998 30.4615 102.077 42.504 100.812 55.9678C99.9244 67.1815 92.0248 75.9815 82.2357 77.9791ZM75.218 32.9404C72.0084 33.5954 68.9953 35.2132 66.3065 37.6006C62.2093 41.2785 59.7562 46.4596 59.2321 52.0828C58.708 57.7061 60.1751 63.2573 63.4043 67.6132C66.6334 71.9691 71.1726 74.5532 76.2817 75.0151C86.8535 76.0338 96.4561 67.3878 97.5666 55.6271C98.677 43.8664 90.8957 33.5858 80.3238 32.5671C78.814 32.5409 76.9832 32.5802 75.218 32.9404Z\",\n fill: \"#001537\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M74.6151 76.5736L78.9659 30.9201L82.2271 31.2308L77.8763 76.8844L74.6151 76.5736Z\",\n fill: \"#001537\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M79.6091 71.6614C78.6462 71.8579 77.8111 71.8612 76.7827 71.7367C74.0513 71.4583 71.6049 70.1187 69.9903 67.9408C68.569 65.8906 67.9173 63.5162 68.1007 61.1385L71.3463 61.4791C71.1923 63.1822 71.6803 64.7542 72.6169 66.0675C73.7468 67.5086 75.2926 68.5304 77.1561 68.6516C80.7226 68.9268 83.8602 66.2806 84.1354 62.714C84.4105 59.1475 81.9248 55.9772 78.3255 55.5416C73.0232 54.952 69.0539 50.2456 69.6108 44.7829C69.922 42.2119 71.101 39.7982 73.1185 38.2164C75.1032 36.4741 77.6381 35.7897 80.1763 35.9404C82.7472 36.2516 85.1609 37.4306 86.7427 39.4481C88.3245 41.4655 89.1694 43.9677 88.891 46.6991L85.6454 46.3584C85.7994 44.6554 85.2787 42.9229 84.1816 41.6423C83.0844 40.3618 81.5714 39.5004 79.8684 39.3464C78.1653 39.1925 76.4328 39.7132 75.1522 40.8103C73.8717 41.9074 73.0103 43.4205 72.8891 45.284C72.6139 48.8505 75.0997 52.0208 78.6989 52.4565C84.0012 53.0461 87.9705 57.7524 87.4137 63.2152C86.9158 67.3286 83.621 70.8427 79.6091 71.6614Z\",\n fill: \"#001537\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M137.698 91.7353C138.058 93.5005 136.909 95.2395 135.144 95.5998L42.0662 114.594C40.3009 114.954 38.5619 113.804 38.2017 112.039L24.1201 43.0332C25.1026 47.8476 28.9671 50.4022 33.7814 49.4197L122.045 31.4084C123.81 31.0482 125.549 32.1978 125.909 33.963L137.698 91.7353Z\",\n fill: \"#955CFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M135.471 97.2046L42.3938 116.198C39.6657 116.755 37.1537 115.095 36.597 112.366L22.5155 43.3608C22.319 42.3979 22.8299 41.625 23.7928 41.4285C24.7556 41.232 25.5285 41.7429 25.725 42.7058C26.511 46.5573 29.6026 48.601 33.4541 47.815L121.717 29.8037C124.445 29.247 126.957 30.9075 127.514 33.6356L139.303 91.4078C139.86 94.136 138.039 96.6807 135.471 97.2046ZM27.2314 50.0878L39.8066 111.711C40.0031 112.674 40.776 113.185 41.7389 112.989L134.816 93.9951C135.779 93.7986 136.29 93.0257 136.094 92.0628L124.304 34.2906C124.108 33.3277 123.335 32.8168 122.372 33.0133L34.109 51.0246C31.5414 51.5486 29.1309 51.2046 27.2314 50.0878Z\",\n fill: \"#001537\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M133.441 70.8731L114.665 74.7046C110.814 75.4906 107.175 73.2242 106.455 69.6936L105.8 66.4841C105.079 62.9536 107.539 59.4427 111.39 58.6568L130.327 54.7925L133.602 70.8404L133.441 70.8731Z\",\n fill: \"#4D13B7\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M133.768 72.4777L114.992 76.3092C110.338 77.2589 105.766 74.5144 104.849 70.021L104.195 66.8114C103.278 62.318 106.409 58.0015 111.062 57.0518L129.999 53.1876C130.962 52.9911 131.735 53.502 131.931 54.4649L135.206 70.5127C135.242 71.5084 134.731 72.2813 133.768 72.4777ZM111.717 60.2614C108.829 60.8509 106.847 63.4283 107.404 66.1564L108.059 69.366C108.616 72.0941 111.449 73.6891 114.337 73.0997L131.669 69.5629L129.049 56.7246L111.717 60.2614Z\",\n fill: \"#001537\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M35.4126 55.7734L43.1156 54.2015L43.7705 57.4111L36.0676 58.983L35.4126 55.7734Z\",\n fill: \"#001537\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M48.2505 53.1534L55.9534 51.5815L56.6084 54.7911L48.9054 56.363L48.2505 53.1534Z\",\n fill: \"#001537\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M61.0889 50.5337L68.7918 48.9618L69.4468 52.1714L61.7438 53.7433L61.0889 50.5337Z\",\n fill: \"#001537\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M73.9272 47.9139L81.6302 46.342L82.2852 49.5516L74.5822 51.1235L73.9272 47.9139Z\",\n fill: \"#001537\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M86.7651 45.2941L94.4681 43.7222L95.1231 46.9317L87.4201 48.5036L86.7651 45.2941Z\",\n fill: \"#001537\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M99.6035 42.6742L107.306 41.1023L107.961 44.3119L100.258 45.8838L99.6035 42.6742Z\",\n fill: \"#001537\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M112.442 40.0544L120.145 38.4825L120.8 41.6921L113.097 43.264L112.442 40.0544Z\",\n fill: \"#001537\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.2363 103.917L52.9393 102.345L53.5942 105.555L45.8913 107.126L45.2363 103.917Z\",\n fill: \"#001537\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.0747 101.297L65.7777 99.7251L66.4326 102.935L58.7297 104.507L58.0747 101.297Z\",\n fill: \"#001537\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M70.9131 98.6772L78.616 97.1054L79.271 100.315L71.568 101.887L70.9131 98.6772Z\",\n fill: \"#001537\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M83.7515 96.0574L91.4544 94.4855L92.1094 97.695L84.4064 99.2669L83.7515 96.0574Z\",\n fill: \"#001537\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M96.5898 93.4375L104.293 91.8656L104.948 95.0752L97.2448 96.6471L96.5898 93.4375Z\",\n fill: \"#001537\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M109.428 90.8177L117.131 89.2459L117.786 92.4554L110.083 94.0273L109.428 90.8177Z\",\n fill: \"#001537\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M122.266 88.1979L129.969 86.626L130.624 89.8355L122.921 91.4074L122.266 88.1979Z\",\n fill: \"#001537\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M110.942 67.1064C111.115 67.9576 111.62 68.705 112.345 69.1841C113.069 69.6632 113.955 69.8347 114.806 69.661C115.657 69.4873 116.405 68.9826 116.884 68.2578C117.363 67.5331 117.534 66.6477 117.361 65.7965C117.187 64.9453 116.682 64.1979 115.958 63.7188C115.233 63.2397 114.347 63.0682 113.496 63.2419C112.645 63.4156 111.898 63.9203 111.419 64.6451C110.939 65.3698 110.768 66.2552 110.942 67.1064Z\",\n fill: \"#001537\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_1762_4947\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 130.357,\n height: 100.357,\n fill: \"white\",\n transform: \"translate(0.104492 26.0641) rotate(-11.5336)\"\n })))));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgWalletBlue, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/wallet_blue.715c4c4e.svg\";\nexport { ForwardRef as ReactComponent };","import React, { FC, useCallback, useState } from \"react\";\nimport styles from \"./Home.module.scss\";\nimport { Catalog } from \"models/catalog/aggregates/Catalog\";\nimport {\n LocationOnOutlined,\n ChevronRight,\n CloseOutlined,\n KeyboardArrowDown,\n KeyboardArrowUp,\n} from \"@material-ui/icons\";\nimport { ReactComponent as Www } from \"assets/icons/www.svg\";\nimport { ReactComponent as Whatsapp } from \"assets/icons/whatsapp.svg\";\nimport { ReactComponent as Instagram } from \"assets/icons/instagram_b.svg\";\nimport { ReactComponent as Facebook } from \"assets/icons/facebook_b.svg\";\nimport { ReactComponent as MenuIcon } from \"assets/icons/menu.svg\";\nimport { ReactComponent as WalletIcon } from \"assets/icons/wallet.svg\";\nimport { ReactComponent as WalletBlueIcon } from \"assets/icons/wallet_blue.svg\";\nimport { Button, IconButton, Modal, Paper } from \"@material-ui/core\";\nimport { useHistory, useParams } from \"react-router-dom\";\nimport { useUi } from \"context/ui/UIContext\";\n\nexport interface IHome {\n catalog: Catalog;\n goToCatalog: () => void;\n}\n\nconst Home: FC = ({ catalog, goToCatalog }) => {\n const [showKnowWallet, setShowKnowWallet] = useState(false);\n const [showStores, setShowStores] = useState(false);\n const history = useHistory();\n const { url } = useParams<{ storeId: string; url: string }>();\n const { toast, isMobile } = useUi();\n\n const goToSite = useCallback(\n (link: string | null) => {\n if (!link) {\n toast(\"Sem site cadastrado no momento\", \"error\");\n } else {\n const fullLink = link.startsWith(\"http\") ? link : `https://${link}`;\n window.open(fullLink, \"_blank\");\n }\n },\n [toast]\n );\n\n const goToInstagram = useCallback(\n (link: string | null) => {\n if (!link) {\n toast(\"Sem instagram cadastrado no momento\", \"error\");\n } else {\n window.open(\n `https://www.instagram.com/${link.replace(/^@/, \"\")}`,\n \"_blank\"\n );\n }\n },\n [toast]\n );\n\n const goToWhatsApp = useCallback(\n (link: string | null) => {\n if (!link) {\n toast(\"Sem whatsapp cadastrado no momento\", \"error\");\n } else {\n window.open(`https://wa.me/${link}`, \"_blank\");\n }\n },\n [toast]\n );\n\n const goToFacebook = useCallback(\n (link: string | null) => {\n if (!link) {\n toast(\"Sem facebook cadastrado no momento\", \"error\");\n } else {\n window.open(\n `https://www.facebook.com/${link.replace(/^@/, \"\")}`,\n \"_blank\"\n );\n }\n },\n [toast]\n );\n\n const goToWallet = useCallback(() => {\n history.push(`/${url}/${catalog.id}/wallet`);\n }, [catalog, history, url]);\n\n const _goToCatalog = useCallback(() => {\n history.push(`/${url}/${catalog.id}`);\n goToCatalog();\n }, [catalog.id, goToCatalog, history, url]);\n\n return (\n
\n
\n \n
\n \n
\n {catalog.name}\n
\n\n
\n goToSite(catalog.profileConfiguration?.siteUrl)}\n />\n \n goToWhatsApp(catalog.profileConfiguration?.whatsapp)\n }\n />\n \n goToInstagram(catalog.profileConfiguration?.instagram)\n }\n />\n \n goToFacebook(catalog.profileConfiguration?.facebook)\n }\n />\n
\n
\n \n \n {`${catalog.profileConfiguration?.addressLocal.street}, ${catalog.profileConfiguration?.addressLocal.number} - ${catalog.profileConfiguration?.addressLocal.neighborhood}, ${catalog.profileConfiguration?.addressLocal.city} - ${catalog.profileConfiguration?.addressLocal.uf}`}\n
\n
\n \n

\n {catalog.profileConfiguration?.description}\n

\n
\n

Clique em uma das opções

\n
\n
\n \n Cardápio digital\n \n
\n
\n \n Wallet \n \n
\n
\n setShowKnowWallet(true)}>Conheça a wallet\n
\n setShowKnowWallet(false)}\n className={styles.modal}\n style={{ padding: isMobile ? \"0 24px\" : undefined }}\n >\n \n
\n Conheça a Wallet\n setShowKnowWallet(false)}>\n \n \n
\n \n
\n

\n Com a Wallet, todo o saldo que você recarregar ficará armazenado\n na sua conta, ela pode ser vinculada a uma tag física, facilitando\n ainda mais suas transações.\n

\n

\n Assim, você pode utilizar a Wallet para suas compras, seja em\n maquininhas, nos totens de autoatendimento ou através do cardápio\n digital. Caso sobre algum valor, ele permanecerá disponível.\n

\n setShowStores((prev) => !prev)}>\n Ver estabelecimentos\n {showStores ? : }\n \n {showStores && catalog.stores.map((it) =>
{it.name}
)}\n
\n \n
\n \n \n );\n};\n\nexport default Home;\n","import React, { FC, ReactNode } from 'react'\nimport styles from './Container.module.scss'\nimport { Container as ContainerMaterial } from '@material-ui/core'\nexport interface IContainerProps {\n //propertys\n style?: React.CSSProperties | undefined;\n children: ReactNode\n}\nconst Container: FC = ({ children, style }) => {\n return (\n
\n \n <>\n {children}\n \n \n
\n )\n}\nexport default Container","import React, { FC } from 'react'\nimport styles from './Header.module.scss'\nimport { Store } from 'models/catalog/aggregates/Store';\n\nexport interface IHeaderProps {\n defaultBackgroundImage?: string;\n backgroundImage?: string;\n store?: Store;\n}\n\nconst Header: FC = ({ backgroundImage, defaultBackgroundImage, store }) => {\n return (\n
\n
\n
\n
\n\n
\n

{store?.name}

\n {store?.description}\n
\n
\n )\n}\nexport default Header","import React, { FC } from 'react'\nimport styles from './StoreItem.module.scss'\nimport Image from '../../../../../components/ui/_image/Image'\nimport { IStoreItem } from './IStoreItem'\n\nexport interface IStoreItemProps {\n //propertys\n store: IStoreItem\n onClick: (store: IStoreItem) => void\n}\n\nconst StoreItem: FC = ({ store, onClick }) => {\n return (\n
\n {/* `/${url}/${store.id}`}> */}\n
onClick(store)} className={styles.container} style={{ backgroundImage: `url(${store.imageUrl})` }} >\n
\n {store.logoUrl &&\n
\n {store.imageUrl && }\n
\n }\n
\n

{store.name}

\n
\n
\n
\n {/* */}\n
\n )\n}\nexport default StoreItem","import Container from \"components/ui/Container/Container\";\nimport { PrivateHeader } from \"pages/private/Components/privateHeader/PrivateHeader\";\nimport React, { FC, useCallback, useEffect } from \"react\";\nimport { useCatalog } from \"../../../../context/catalog/CatalogContext\";\nimport Header from \"../products/components/Header/Header\";\nimport { useHistory, useParams } from \"react-router-dom\";\nimport { IStoreItem } from \"./StoreItem/IStoreItem\";\nimport StoreItem from \"./StoreItem/StoreItem\";\nimport styles from \"./StoresPage.module.scss\";\nimport { useTheme } from \"context/theme/ThemeContext\";\nimport { useParamsConfig } from \"context/paramsConfig/ParamsConfigContext\";\nexport interface IStoresPageProps {\n //propertys\n}\nconst StoresPage: FC = () => {\n\n\n const { catalog, onLoading, storesLengthRedirect } = useCatalog();\n const { url } = useParams<{ url: string }>();\n const { push } = useHistory();\n const { topImage } = useTheme();\n const { setParamsLocalId } = useParamsConfig()\n\n\n\n useEffect(() => {\n storesLengthRedirect();\n }, [storesLengthRedirect])\n\n const onClickHandle = useCallback(\n (store: IStoreItem) => {\n setParamsLocalId(store.id);\n push(`/${url}/${store.id}`)\n },\n [push, setParamsLocalId, url],\n )\n\n return (\n
\n \n {\n onLoading ?
Carregando catalogo
\n :\n (\n catalog &&\n <> \n
\n
\n
\n
\n
\n {\n catalog?.stores?.map((store) => )\n }\n
\n
\n \n )\n }\n
\n
\n );\n};\nexport default StoresPage;\n","import React, { FC, useCallback, useEffect, useState } from \"react\";\nimport styles from \"./HomePage.module.scss\";\nimport { PrivateHeader } from \"pages/private/Components/privateHeader/PrivateHeader\";\nimport useCatalogContext from \"context/catalog/UseCatalogContext\";\nimport ProductsPage from \"../products/ProductsPage\";\nimport Home from \"./components/home/Home\";\nimport StoresPage from \"../stores/StoresPage\";\n\nexport interface IHomePage {}\n\nconst HomePage: FC = ({}) => {\n const { catalog, onLoading } = useCatalogContext();\n const [showHomePage, setShowHomePage] = useState(false);\n const [showCatalog, setShowCatalog] = useState(false);\n\n useEffect(() => {\n if (catalog) {\n if (catalog.showCustomHome) {\n setShowHomePage(true);\n setShowCatalog(false);\n } else {\n setShowHomePage(false);\n setShowCatalog(true);\n }\n }\n }, [catalog]);\n\n const goToProducts = useCallback(() => {\n setShowHomePage(false);\n setShowCatalog(true);\n }, []);\n\n return (\n
\n \n
\n {showHomePage && catalog && }\n {!onLoading && showCatalog && }\n
\n
\n );\n};\n\nexport default HomePage;\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgContract = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 25,\n height: 24,\n viewBox: \"0 0 25 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.5 22C5.66667 22 4.95833 21.7083 4.375 21.125C3.79167 20.5417 3.5 19.8333 3.5 19V16H6.5V2H21.5V19C21.5 19.8333 21.2083 20.5417 20.625 21.125C20.0417 21.7083 19.3333 22 18.5 22H6.5ZM18.5 20C18.7833 20 19.021 19.904 19.213 19.712C19.405 19.52 19.5007 19.2827 19.5 19V4H8.5V16H17.5V19C17.5 19.2833 17.596 19.521 17.788 19.713C17.98 19.905 18.2173 20.0007 18.5 20ZM9.5 9V7H18.5V9H9.5ZM9.5 12V10H18.5V12H9.5Z\",\n fill: \"#32008E\"\n })));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgContract, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/contract.816cccc0.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgGroups = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 18V16.425C0 15.7083 0.366667 15.125 1.1 14.675C1.83333 14.225 2.8 14 4 14C4.21667 14 4.425 14.0043 4.625 14.013C4.825 14.0217 5.01667 14.0423 5.2 14.075C4.96667 14.425 4.79167 14.7917 4.675 15.175C4.55833 15.5583 4.5 15.9583 4.5 16.375V18H0ZM6 18V16.375C6 15.8417 6.146 15.354 6.438 14.912C6.73 14.47 7.14233 14.0827 7.675 13.75C8.20767 13.4173 8.84533 13.1673 9.588 13C10.3307 12.8327 11.1347 12.7493 12 12.75C12.8833 12.75 13.696 12.8333 14.438 13C15.18 13.1667 15.8173 13.4167 16.35 13.75C16.8827 14.0833 17.291 14.471 17.575 14.913C17.859 15.355 18.0007 15.8423 18 16.375V18H6ZM19.5 18V16.375C19.5 15.9417 19.446 15.5333 19.338 15.15C19.23 14.7667 19.0673 14.4083 18.85 14.075C19.0333 14.0417 19.221 14.021 19.413 14.013C19.605 14.005 19.8007 14.0007 20 14C21.2 14 22.1667 14.221 22.9 14.663C23.6333 15.105 24 15.6923 24 16.425V18H19.5ZM4 13C3.45 13 2.97933 12.8043 2.588 12.413C2.19667 12.0217 2.00067 11.5507 2 11C2 10.4333 2.196 9.95833 2.588 9.575C2.98 9.19167 3.45067 9 4 9C4.56667 9 5.04167 9.19167 5.425 9.575C5.80833 9.95833 6 10.4333 6 11C6 11.55 5.80833 12.021 5.425 12.413C5.04167 12.805 4.56667 13.0007 4 13ZM20 13C19.45 13 18.9793 12.8043 18.588 12.413C18.1967 12.0217 18.0007 11.5507 18 11C18 10.4333 18.196 9.95833 18.588 9.575C18.98 9.19167 19.4507 9 20 9C20.5667 9 21.0417 9.19167 21.425 9.575C21.8083 9.95833 22 10.4333 22 11C22 11.55 21.8083 12.021 21.425 12.413C21.0417 12.805 20.5667 13.0007 20 13ZM12 12C11.1667 12 10.4583 11.7083 9.875 11.125C9.29167 10.5417 9 9.83333 9 9C9 8.15 9.29167 7.43767 9.875 6.863C10.4583 6.28833 11.1667 6.00067 12 6C12.85 6 13.5627 6.28767 14.138 6.863C14.7133 7.43833 15.0007 8.15067 15 9C15 9.83333 14.7127 10.5417 14.138 11.125C13.5633 11.7083 12.8507 12 12 12Z\",\n fill: \"#32008E\"\n })));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgGroups, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/groups.b5c5361b.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgMoney = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 25,\n height: 24,\n viewBox: \"0 0 25 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.5252 21V18.85C10.6419 18.65 9.87953 18.2667 9.2382 17.7C8.59686 17.1333 8.12586 16.3333 7.8252 15.3L9.6752 14.55C9.9252 15.35 10.2962 15.9583 10.7882 16.375C11.2802 16.7917 11.9259 17 12.7252 17C13.4085 17 13.9879 16.846 14.4632 16.538C14.9385 16.23 15.1759 15.7507 15.1752 15.1C15.1752 14.5167 14.9919 14.0543 14.6252 13.713C14.2585 13.3717 13.4085 12.984 12.0752 12.55C10.6419 12.1 9.65853 11.5627 9.1252 10.938C8.59186 10.3133 8.3252 9.55067 8.3252 8.65C8.3252 7.56667 8.6752 6.725 9.3752 6.125C10.0752 5.525 10.7919 5.18333 11.5252 5.1V3H13.5252V5.1C14.3585 5.23333 15.0462 5.53767 15.5882 6.013C16.1302 6.48833 16.5259 7.06733 16.7752 7.75L14.9252 8.55C14.7252 8.01667 14.4419 7.61667 14.0752 7.35C13.7085 7.08333 13.2085 6.95 12.5752 6.95C11.8419 6.95 11.2835 7.11267 10.9002 7.438C10.5169 7.76333 10.3252 8.16733 10.3252 8.65C10.3252 9.2 10.5752 9.63333 11.0752 9.95C11.5752 10.2667 12.4419 10.6 13.6752 10.95C14.8252 11.2833 15.6962 11.8127 16.2882 12.538C16.8802 13.2633 17.1759 14.1007 17.1752 15.05C17.1752 16.2333 16.8252 17.1333 16.1252 17.75C15.4252 18.3667 14.5585 18.75 13.5252 18.9V21H11.5252Z\",\n fill: \"#32008E\"\n })));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgMoney, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/money.30bd3634.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgTagPlus = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 25,\n height: 24,\n viewBox: \"0 0 25 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_1519_11980)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.5 12H20.5V8H4.5V12ZM19.5 22V19H16.5V17H19.5V14H21.5V17H24.5V19H21.5V22H19.5ZM4.5 20C3.95 20 3.47933 19.8043 3.088 19.413C2.69667 19.0217 2.50067 18.5507 2.5 18V6C2.5 5.45 2.696 4.97933 3.088 4.588C3.48 4.19667 3.95067 4.00067 4.5 4H20.5C21.05 4 21.521 4.196 21.913 4.588C22.305 4.98 22.5007 5.45067 22.5 6V12H19.5C18.1167 12 16.9377 12.4877 15.963 13.463C14.9883 14.4383 14.5007 15.6173 14.5 17V20H4.5Z\",\n fill: \"#32008E\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_1519_11980\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 24,\n height: 24,\n fill: \"white\",\n transform: \"translate(0.5)\"\n })))));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgTagPlus, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/tag_plus.00e9b6de.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgTransfer = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 25,\n height: 24,\n viewBox: \"0 0 25 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.5 9L17.5 5V8H10.5V10H17.5V13M7.5 11L3.5 15L7.5 19V16H14.5V14H7.5V11Z\",\n fill: \"#32008E\"\n })));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgTransfer, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/transfer.56936577.svg\";\nexport { ForwardRef as ReactComponent };","import { IAddress } from \"models/address/IAddress\";\nimport { ICardItem } from \"models/payment/ICard\";\n\nexport interface IUserWallet {\n Id: string;\n Balance: number;\n UserName: string;\n TAG?: string;\n Status?: TagStatus;\n}\n\nexport interface IUserProfile {\n Name: string;\n Document: string;\n Email: string;\n Phone: string;\n CreditCards: ICardItem[];\n Addresses: IAddress[];\n}\n\nexport enum TagStatus {\n Bloqued = 0,\n Active,\n Cancelled,\n Pending\n}\n\nexport interface IWalletDependents {\n Id: string;\n TAG?: string;\n Name: string;\n Balance: number;\n Status: TagStatus;\n}\n\nexport enum TransactionType {\n Pending = 0,\n Recharge,\n Consumption,\n Refund,\n Transfer,\n}\n\nexport interface IExtractParams {\n pageSize: number;\n page: number;\n LocalClientId: string;\n WalletId: string;\n startDate?: string;\n endDate?: string;\n hidePendingOrders?: boolean;\n}\n\nexport interface UserTransfer {\n IsOrigin: boolean;\n Name: string;\n TAG: string;\n IsDependent: boolean;\n}\n\nexport interface IExtractItem {\n DataTransfer?: UserTransfer;\n Date: string,\n LocalId: string,\n LocalName: string,\n OrderId: string,\n OrderStatus: string,\n OrderStatusId: number,\n PaymentType: string,\n PaymentTypeId: PaymentTypeEnum,\n PixStatus: null,\n QrCodeBase64: null,\n QrCodeLink: null,\n Type: TransactionType,\n Value: number,\n}\n\nexport interface IMeepUser {\n UserName: string;\n CPF: string;\n IsDependent?: boolean;\n}\n\nexport interface IWalletExtract {\n Balance: number;\n Status?: TagStatus; //TODO: Remover nullable após atualização da api\n TotalRecords: number;\n TAG: string;\n IsDependent: boolean;\n MeepUser: IMeepUser;\n Records: IExtractItem[]\n}\n\nexport interface LinkTagRequest {\n LocalClientId: string;\n WalletId: string;\n Tag: String;\n Password: String;\n CardName: String;\n IsCardReplacement: boolean;\n IsDependent?: boolean;\n}\n\nexport interface EditUserRequest {\n TAG: string;\n NewPassword?: String;\n CardName: string;\n WalletId: string;\n}\nexport interface LinkTagResponse {\n Balance: number;\n}\n\nexport interface NewDependentRequest {\n LocalId: string;\n WalletId: string;\n TAG: string;\n Password: string;\n CardName: string;\n}\n\nexport interface RemoveDependentRequest {\n LocalId: string;\n WalletId: string;\n UserId: string;\n TAG: string;\n}\n\nexport interface NewDependentResponse {}\n\nexport interface CreditRechargeRequest {\n CreditCardId: string;\n Amount: number;\n WalletId: string;\n LocalClientId: string;\n}\n\nexport interface CreditRechargeResponse {\n NewBalance: number;\n OrderId: string;\n}\n\nexport interface PixRechargeRequest {\n Amount: number;\n LocalClientId: string;\n WalletId: string;\n}\n\nexport interface PixRechargeResponse {\n OrderId: string;\n OrderStatusId: number;\n OrderStatusDescription: MeepPIXEnum;\n QrCodeLink: string;\n QrCodeBase64: string;\n QrCodeExpirationDate: null;\n QrCodeExpirationTimeInSeconds: number;\n}\n\nexport interface PixStatusResponse {\n OrderId: string;\n Amount: number;\n StautsId: number;\n StatusDescription: MeepPIXEnum;\n TransactionId: string;\n IsRechargeMade: false;\n WalletBalance: number;\n QrCodeLink: string;\n QrCodeBase64: string;\n PixPaymentOrderStatus: string;\n}\n\nexport interface TransferBalanceRequest {\n LocalId: string;\n OriginWalletId: string;\n DestinationWalletId: string;\n TransferBalance: number;\n}\n\nexport interface IOrderWalletItem {\n ProductId: string,\n Quantity: number,\n Value: number,\n Composition: null\n}\n\nexport interface WalletPaymentRequest {\n LocalClientId: string,\n WalletId: string,\n DeliveryFee: number,\n ServiceFee: number,\n Discount: number,\n Coupon: null,\n Items: IOrderWalletItem[];\n}\n\nexport type MeepPIXEnum = \"approved\" | \"cancelled\" | \"pending\";\n\nexport enum PaymentTypeEnum {\n INDEFINIDO = -1,\n NAO_INFORMADO = 0,\n CREDITO = 1,\n DEBITO = 2,\n DINHEIRO = 3,\n CREDITOLOJA = 4,\n MEEPCOIN = 5,\n MISTO = 6,\n CHEQUE = 7,\n PENDENTE = 8,\n BOLETO = 9,\n REEMBOLSO = 10,\n CASHBACK = 11,\n PRODUCAO = 12,\n AJUSTE = 13,\n VOUCHER = 14,\n DELIVERY = 15,\n PERDA = 16,\n EM_ABERTO = 17,\n PIX = 18,\n FIDELITY_COIN = 19,\n PRE_RECARGA = 20,\n PERMUTA = 21,\n WALLET = 22,\n CUSTOMIZADO_1 = 101,\n CUSTOMIZADO_2 = 102,\n CUSTOMIZADO_3 = 103,\n CUSTOMIZADO_4 = 104,\n CUSTOMIZADO_5 = 105,\n CUSTOMIZADO_6 = 106,\n CUSTOMIZADO_7 = 107,\n CUSTOMIZADO_8 = 108,\n CUSTOMIZADO_9 = 109,\n CUSTOMIZADO_10 = 110,\n CUSTOMIZADO_11 = 111,\n CUSTOMIZADO_12 = 112,\n CUSTOMIZADO_13 = 113,\n CUSTOMIZADO_14 = 114,\n CUSTOMIZADO_15 = 115,\n CUSTOMIZADO_16 = 116,\n CUSTOMIZADO_17 = 117,\n CUSTOMIZADO_18 = 118,\n CUSTOMIZADO_19 = 119,\n CUSTOMIZADO_20 = 120,\n CUSTOMIZADO_21 = 121,\n CUSTOMIZADO_22 = 122,\n CUSTOMIZADO_23 = 123,\n CUSTOMIZADO_24 = 124,\n CUSTOMIZADO_25 = 125,\n CUSTOMIZADO_26 = 126,\n CUSTOMIZADO_27 = 127,\n CUSTOMIZADO_28 = 128,\n CUSTOMIZADO_29 = 129,\n CUSTOMIZADO_30 = 130\n}\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgAlert = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 185,\n height: 185,\n viewBox: \"0 0 185 185\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M92.4993 169.583C49.9262 169.583 15.416 135.073 15.416 92.5C15.416 49.9268 49.9262 15.4166 92.4993 15.4166C135.072 15.4166 169.583 49.9268 169.583 92.5C169.583 135.073 135.072 169.583 92.4993 169.583ZM92.4993 154.167C108.854 154.167 124.54 147.67 136.104 136.105C147.669 124.54 154.166 108.855 154.166 92.5C154.166 76.1449 147.669 60.4598 136.104 48.895C124.54 37.3303 108.854 30.8333 92.4993 30.8333C76.1443 30.8333 60.4592 37.3303 48.8944 48.895C37.3297 60.4598 30.8327 76.1449 30.8327 92.5C30.8327 108.855 37.3297 124.54 48.8944 136.105C60.4592 147.67 76.1443 154.167 92.4993 154.167ZM92.4993 53.9583C94.5437 53.9583 96.5044 54.7704 97.95 56.216C99.3956 57.6616 100.208 59.6222 100.208 61.6666V100.208C100.208 102.253 99.3956 104.213 97.95 105.659C96.5044 107.104 94.5437 107.917 92.4993 107.917C90.455 107.917 88.4943 107.104 87.0487 105.659C85.6031 104.213 84.791 102.253 84.791 100.208V61.6666C84.791 59.6222 85.6031 57.6616 87.0487 56.216C88.4943 54.7704 90.455 53.9583 92.4993 53.9583ZM92.4993 131.042C90.455 131.042 88.4943 130.229 87.0487 128.784C85.6031 127.338 84.791 125.378 84.791 123.333C84.791 121.289 85.6031 119.328 87.0487 117.883C88.4943 116.437 90.455 115.625 92.4993 115.625C94.5437 115.625 96.5044 116.437 97.95 117.883C99.3956 119.328 100.208 121.289 100.208 123.333C100.208 125.378 99.3956 127.338 97.95 128.784C96.5044 130.229 94.5437 131.042 92.4993 131.042Z\",\n fill: \"#FFB300\"\n })));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgAlert, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/alert.85cfa8c6.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgKey = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 25,\n viewBox: \"0 0 24 25\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7 15.5C7.83333 15.5 8.54167 15.2083 9.125 14.625C9.70833 14.0417 10 13.3333 10 12.5C10 11.6667 9.70833 10.9583 9.125 10.375C8.54167 9.79167 7.83333 9.5 7 9.5C6.16667 9.5 5.45833 9.79167 4.875 10.375C4.29167 10.9583 4 11.6667 4 12.5C4 13.3333 4.29167 14.0417 4.875 14.625C5.45833 15.2083 6.16667 15.5 7 15.5ZM7 18.5C5.33333 18.5 3.91667 17.9167 2.75 16.75C1.58333 15.5833 1 14.1667 1 12.5C1 10.8333 1.58333 9.41667 2.75 8.25C3.91667 7.08333 5.33333 6.5 7 6.5C8.35 6.5 9.52933 6.88333 10.538 7.65C11.5467 8.41667 12.2507 9.36667 12.65 10.5H21.025L23 12.475L19.5 16.475L17 14.5L15 16.5L13 14.5H12.65C12.2333 15.7 11.5083 16.6667 10.475 17.4C9.44167 18.1333 8.28333 18.5 7 18.5Z\",\n fill: \"#955CFF\"\n })));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgKey, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/key.0cb2a006.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgEmpty = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 125,\n height: 128,\n viewBox: \"0 0 125 128\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"undraw_xmas_surprise_-57-p1 1\",\n clipPath: \"url(#clip0_2098_722)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M115.787 0L114.631 1.10975L102.05 13.1894L80.7224 33.6678L81.727 121.326L0.605469 101.426V43.4081L31.2072 8.25852L115.787 0Z\",\n fill: \"#BDBDBD\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_2\",\n opacity: 0.1,\n d: \"M115.787 0L114.631 1.10975L102.05 13.1894L80.7224 33.6678L81.727 121.326L0.605469 101.426V43.4081L31.2072 8.25852L115.787 0Z\",\n fill: \"#F8FAFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_3\",\n d: \"M124.499 55.6895L122.163 115.189L38.4324 127.894L0.605469 101.426V44.2546L80.7224 33.6678L124.499 55.6895Z\",\n fill: \"#BDBDBD\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_4\",\n d: \"M124.394 55.6895L122.056 115.189L38.327 127.894L0.5 101.426V44.2546L80.6169 33.6678L124.394 55.6895Z\",\n fill: \"#A2A2A2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_5\",\n opacity: 0.1,\n d: \"M114.631 1.10974L102.051 13.1893L41.409 19.9046L30.5703 9.31624L114.631 1.10974Z\",\n fill: \"#F8FAFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_6\",\n opacity: 0.1,\n d: \"M80.7227 33.6678L81.5722 121.966L122.163 115.189L124.5 55.6895L80.7227 33.6678Z\",\n fill: \"#F8FAFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_7\",\n d: \"M124.499 55.6895L108.136 54.2062L68.8301 34.8154L80.7224 33.6678L124.499 55.6895Z\",\n fill: \"#BDBDBD\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_8\",\n d: \"M31.207 8.25852L42.0457 18.8453L114.724 10.7996L115.787 0L31.207 8.25852Z\",\n fill: \"#BDBDBD\"\n }), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group 7528\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_9\",\n d: \"M65.9245 50.447H65.0925C64.3472 50.4462 63.6327 50.1496 63.1057 49.6223C62.5787 49.095 62.2823 48.3801 62.2814 47.6344V46.9355C62.2814 45.2045 62.6092 43.7551 63.2557 42.6277C64.0392 41.3162 64.9533 40.0874 65.984 38.9599C66.6682 38.2715 67.2891 37.5227 67.839 36.7227C68.2336 36.1013 68.4373 35.3776 68.4249 34.6415C68.4249 32.905 67.2942 32.0609 64.9682 32.0609C63.678 32.0755 62.3959 32.268 61.1582 32.6331C60.6809 32.7694 60.1785 32.793 59.6905 32.7021C59.2025 32.6111 58.7423 32.4081 58.346 32.109C57.9498 31.8099 57.6283 31.4228 57.407 30.9783C57.1856 30.5337 57.0704 30.0438 57.0703 29.5472V28.1324C57.0676 27.5234 57.2415 26.9267 57.5709 26.4146C57.9004 25.9025 58.3712 25.4969 58.9263 25.2472C61.1122 24.3138 63.4695 23.8498 65.8459 23.8852C68.3353 23.8852 70.5826 24.3036 72.5255 25.1286C74.4719 25.9555 76.0097 27.1216 77.096 28.5944C78.1791 30.0569 78.7548 31.8334 78.7353 33.6535C78.7353 35.608 78.202 37.3103 77.1503 38.7132C76.11 40.1017 74.6188 41.6219 72.718 43.2316C71.7164 44.065 70.7674 44.9596 69.8763 45.9102C69.3007 46.5305 68.8939 47.2883 68.6949 48.1109C68.584 48.7653 68.2447 49.3592 67.7375 49.7869C67.2303 50.2146 66.5879 50.4485 65.9245 50.447Z\",\n fill: \"#8D4FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_10\",\n d: \"M65.4609 63.6736H65.3512C63.97 63.6728 62.6457 63.1231 61.6693 62.1456C60.693 61.1681 60.1445 59.8427 60.1445 58.4607C60.1445 57.0787 60.693 55.7532 61.6693 54.7757C62.6457 53.7982 63.97 53.2486 65.3512 53.2477H65.4609C66.1454 53.2472 66.8232 53.3817 67.4557 53.6435C68.0882 53.9053 68.663 54.2892 69.1471 54.7733C69.6313 55.2575 70.0154 55.8323 70.2774 56.465C70.5394 57.0976 70.6743 57.7758 70.6743 58.4607C70.6743 59.1455 70.5394 59.8237 70.2774 60.4564C70.0154 61.0891 69.6313 61.6639 69.1471 62.148C68.663 62.6321 68.0882 63.016 67.4557 63.2778C66.8232 63.5396 66.1454 63.6741 65.4609 63.6736Z\",\n fill: \"#8D4FFF\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group 7529\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_11\",\n d: \"M51.4369 44.0853L51.1083 44.1923C50.8139 44.2878 50.4937 44.2626 50.2178 44.1222C49.942 43.9819 49.7331 43.7377 49.6371 43.4434L49.5473 43.1675C49.325 42.4841 49.2684 41.8697 49.3789 41.3413C49.5199 40.7228 49.7231 40.12 49.9853 39.5423C50.1671 39.1824 50.3162 38.807 50.4306 38.4204C50.5066 38.1242 50.4942 37.8123 50.3947 37.5233C50.1718 36.8377 49.6169 36.6499 48.6983 36.9491C48.1907 37.1208 47.7091 37.3618 47.2672 37.6651C47.0962 37.7804 46.9008 37.8543 46.6964 37.8812C46.492 37.9081 46.2842 37.8871 46.0893 37.82C45.8944 37.7529 45.7178 37.6414 45.5733 37.4944C45.4288 37.3473 45.3204 37.1687 45.2566 36.9726L45.0749 36.4141C44.9957 36.174 44.9877 35.916 45.052 35.6714C45.1164 35.4269 45.2502 35.2062 45.4374 35.0362C46.1808 34.3865 47.0521 33.9 47.9951 33.6083C48.9782 33.288 49.9194 33.1641 50.7926 33.2399C51.6674 33.316 52.4244 33.5786 53.0425 34.0203C53.658 34.4584 54.1135 35.0858 54.3395 35.8069C54.5905 36.5785 54.5985 37.3192 54.3633 38.0084C54.1308 38.6905 53.7371 39.4825 53.1932 40.3626C52.9047 40.8204 52.6447 41.2957 52.4149 41.7857C52.2673 42.1046 52.2039 42.4561 52.2309 42.8065C52.2712 43.0792 52.2135 43.3573 52.0681 43.5914C51.9227 43.8255 51.699 44.0005 51.4369 44.0853Z\",\n fill: \"#DFCDFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_12\",\n d: \"M52.9538 49.3676L52.9105 49.3817C52.3649 49.559 51.7714 49.5124 51.2603 49.252C50.7492 48.9917 50.3625 48.5389 50.185 47.9933C50.0075 47.4477 50.0539 46.8539 50.314 46.3423C50.574 45.8308 51.0264 45.4434 51.5717 45.2654L51.6151 45.2513C51.8853 45.1631 52.1703 45.129 52.4536 45.1509C52.737 45.1729 53.0133 45.2506 53.2667 45.3794C53.52 45.5083 53.7455 45.6858 53.9302 45.9019C54.1149 46.118 54.2553 46.3684 54.3432 46.6388C54.4312 46.9092 54.465 47.1943 54.4427 47.4778C54.4205 47.7613 54.3426 48.0376 54.2136 48.291C54.0846 48.5444 53.9069 48.7699 53.6908 48.9547C53.4746 49.1394 53.2242 49.2797 52.9538 49.3676Z\",\n fill: \"#DFCDFF\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group 7530\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_13\",\n d: \"M82.1791 56.9869L81.8556 56.8654C81.5659 56.7562 81.3314 56.5366 81.2033 56.2546C81.0753 55.9727 81.0643 55.6515 81.1727 55.3615L81.2746 55.0898C81.527 54.4169 81.8657 53.9014 82.2815 53.5576C82.7773 53.1622 83.3119 52.818 83.877 52.5303C84.2434 52.3626 84.594 52.1622 84.9244 51.9316C85.1685 51.7476 85.3532 51.4961 85.4557 51.2081C85.7088 50.5331 85.3923 50.0398 84.4879 49.7001C83.9841 49.5174 83.4576 49.4049 82.9231 49.3661C82.7177 49.3494 82.5189 49.2852 82.3424 49.1785C82.1659 49.0719 82.0166 48.9258 81.9061 48.7516C81.7957 48.5775 81.7271 48.3801 81.7058 48.1749C81.6846 47.9698 81.7112 47.7625 81.7836 47.5695L81.9899 47.0195C82.0776 46.7824 82.2322 46.5758 82.435 46.4249C82.6377 46.2739 82.8799 46.1851 83.1322 46.1691C84.1182 46.1255 85.1024 46.2894 86.0212 46.6502C86.9891 47.0138 87.8019 47.5047 88.437 48.1091C89.0732 48.7149 89.5011 49.3927 89.7088 50.1239C89.9167 50.8506 89.8815 51.6253 89.6086 52.3299C89.3236 53.0897 88.8681 53.6735 88.2546 54.0652C87.6477 54.4531 86.8462 54.8262 85.8725 55.1743C85.3616 55.352 84.8621 55.5611 84.3771 55.8005C84.0628 55.9576 83.7942 56.1927 83.5968 56.4834C83.4583 56.7216 83.2398 56.9029 82.9803 56.9951C82.7207 57.0873 82.4368 57.0844 82.1791 56.9869Z\",\n fill: \"#CAAEFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_14\",\n d: \"M80.0704 62.0619L80.0278 62.0458C79.4909 61.8438 79.0561 61.4367 78.819 60.9141C78.5819 60.3916 78.5619 59.7962 78.7634 59.259C78.9649 58.7218 79.3714 58.2867 79.8935 58.0493C80.4156 57.8119 81.0107 57.7917 81.5478 57.9931L81.5905 58.0091C81.8567 58.1089 82.1006 58.2602 82.3084 58.4543C82.5161 58.6485 82.6836 58.8817 82.8013 59.1405C82.9189 59.3994 82.9845 59.679 82.9941 59.9632C83.0037 60.2474 82.9573 60.5307 82.8575 60.7969C82.7576 61.0631 82.6063 61.307 82.4122 61.5147C82.2181 61.7224 81.9849 61.8897 81.7261 62.0072C81.4673 62.1247 81.1878 62.19 80.9037 62.1993C80.6197 62.2087 80.3365 62.162 80.0704 62.0619Z\",\n fill: \"#CAAEFF\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_15\",\n d: \"M124.395 56.0063L123.428 76.6944L123.038 85.0538L121.633 115.083L37.9023 128V66.3819L124.395 56.0063Z\",\n fill: \"#BDBDBD\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_16\",\n d: \"M0.605469 44.2546L16.7409 42.1218L50.7582 60.3476L38.4324 66.4875L0.605469 44.2546Z\",\n fill: \"#BDBDBD\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_17\",\n opacity: 0.05,\n d: \"M0.605469 44.2546L16.7409 42.1218L50.7582 60.3476L38.4324 66.4875L0.605469 44.2546Z\",\n fill: \"#F8FAFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_18\",\n d: \"M123.427 76.6944L123.036 85.0538L37.9009 93.7758L0.605469 76.8489V68.7117L37.9009 84.9324L123.427 76.6944Z\",\n fill: \"#E0E0E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_19\",\n opacity: 0.1,\n d: \"M37.7954 81.5052V90.3486L0.5 73.4217V65.2845L37.7954 81.5052Z\",\n fill: \"#F8FAFF\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_2098_722\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 124,\n height: 128,\n fill: \"white\",\n transform: \"translate(0.5)\"\n })))));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgEmpty, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/empty.ae0c9847.svg\";\nexport { ForwardRef as ReactComponent };","import React, { FC, useCallback, useMemo, useState } from \"react\";\nimport styles from \"./NewPasswordForm.module.scss\";\nimport { Button, IconButton, TextField } from \"@material-ui/core\";\nimport {\n CloseOutlined,\n InfoOutlined,\n CheckCircleOutline,\n} from \"@material-ui/icons\";\n\nconst errorList = [\n \"A senha deve ter exatamente 4 caracteres numéricos.\",\n \"A senha não deve conter pares do mesmo número repetidos.\",\n \"A senha não deve conter números sequenciais.\",\n];\n\nexport interface INewPasswordForm {\n onCancel: () => void;\n handleSubmitNewPassword: (\n password: string,\n closeModal: () => void\n ) => void;\n}\n\nconst NewPasswordForm: FC = ({ onCancel, handleSubmitNewPassword }) => {\n const [password, setPassword] = useState(\"\");\n const [confirmPassword, setConfirmPassword] = useState(\"\");\n const [errors, setErrors] = useState([]);\n\n const validatePassword = useCallback((value: string) => {\n const newErrors: string[] = [];\n\n if (!/^\\d{4}$/.test(value)) {\n newErrors.push(errorList[0]);\n }\n if (/(\\d)\\1/.test(value)) {\n newErrors.push(errorList[1]);\n }\n if (\n /(0123|1234|2345|3456|4567|5678|6789|7890|0987|9876|8765|7654|6543|5432|4321)/.test(\n value\n )\n ) {\n newErrors.push(errorList[2]);\n }\n setErrors(newErrors);\n }, []);\n\n const handlePasswordChange = useCallback(\n (e: React.ChangeEvent) => {\n const value = e.target.value;\n setPassword(value);\n validatePassword(value);\n },\n [validatePassword]\n );\n\n const handleConfirmPasswordChange = useCallback(\n (e: React.ChangeEvent) => {\n setConfirmPassword(e.target.value);\n },\n []\n );\n\n const disableSubmit = useMemo(\n () => !!errors.length || !password.length || (confirmPassword !== password),\n [confirmPassword, errors.length, password]\n );\n\n const onSubmit = useCallback(() => {\n handleSubmitNewPassword(password, onCancel);\n }, [handleSubmitNewPassword, onCancel, password]);\n\n return (\n
\n

\n Alterar senha da TAG\n \n \n \n

\n\n
\n
\n
Regras da senha:
\n

\n {errors.find((it) => (it === errorList[0] ? true : false)) ? (\n \n ) : (\n \n )}\n Ter 4 caracteres numéricos\n

\n

\n {errors.find((it) => (it === errorList[1] ? true : false)) ? (\n \n ) : (\n \n )}\n Não repetir pares do mesmo número, Ex.: 1122\n

\n

\n {errors.find((it) => (it === errorList[2] ? true : false)) ? (\n \n ) : (\n \n )}\n Não utilizar números sequenciais, Ex.: 1234 ou 4321\n

\n
\n
\n

\n Senha (4 dígitos numéricos) *\n

\n \n
\n
\n

\n Confirmar senha *\n

\n \n
\n
\n \n Salvar\n \n \n Cancelar\n \n
\n );\n};\n\nexport default NewPasswordForm;\n","import React, { FC, useCallback, useEffect, useMemo, useState } from \"react\";\nimport styles from \"./NewTagForm.module.scss\";\nimport { Button, IconButton, TextField, Tooltip } from \"@material-ui/core\";\nimport {\n CloseOutlined,\n InfoOutlined,\n CheckCircleOutline,\n} from \"@material-ui/icons\";\n\nconst errorList = [\n \"A senha deve ter exatamente 4 caracteres numéricos.\",\n \"A senha não deve conter pares do mesmo número repetidos.\",\n \"A senha não deve conter números sequenciais.\",\n \"Número da TAG inválido. Deve estar no formato A1-B2-C3-E4.\",\n \"Nome inválido\",\n];\n\nexport interface INewTagForm {\n onCancel: () => void;\n nameInput?: boolean;\n title: string;\n buttonTitle: string;\n handleSubmitNewTag: (\n password: string,\n tag: string,\n closeModal: () => void,\n name?: string\n ) => void;\n}\n\nconst NewTagForm: FC = ({\n onCancel,\n handleSubmitNewTag,\n title,\n nameInput,\n buttonTitle\n}) => {\n const [password, setPassword] = useState(\"\");\n const [tag, setTag] = useState(\"\");\n const [name, setName] = useState(\"\");\n const [confirmPassword, setConfirmPassword] = useState(\"\");\n const [errors, setErrors] = useState([]);\n const [tagError, setTagError] = useState(\"\");\n const [nameError, setNameError] = useState(\"\");\n\n const validatePassword = useCallback((value: string) => {\n const newErrors: string[] = [];\n\n if (!/^\\d{4}$/.test(value)) {\n newErrors.push(errorList[0]);\n }\n if (/(\\d)\\1/.test(value)) {\n newErrors.push(errorList[1]);\n }\n if (\n /(0123|1234|2345|3456|4567|5678|6789|7890|0987|9876|8765|7654|6543|5432|4321)/.test(\n value\n )\n ) {\n newErrors.push(errorList[2]);\n }\n setErrors(newErrors);\n }, []);\n\n const validateTag = useCallback((value: string) => {\n // Remover caracteres não alfanuméricos para manipular o valor\n const alphanumericValue = value.replace(/[^A-Za-z0-9]/g, \"\").toUpperCase();\n let formattedValue = \"\";\n\n // Adicionar hífens a cada 2 caracteres\n for (let i = 0; i < alphanumericValue.length; i++) {\n if (i > 0 && i % 2 === 0) {\n formattedValue += \"-\";\n }\n formattedValue += alphanumericValue[i];\n }\n\n // Validar se o formato é \"A1-B2-C3-E4\"\n if (\n /^[A-Z0-9][A-Z0-9]-[A-Z0-9][A-Z0-9]-[A-Z0-9][A-Z0-9]-[A-Z0-9][A-Z0-9]$/.test(\n formattedValue\n )\n ) {\n setTagError(\"\");\n } else {\n setTagError(errorList[3]);\n }\n\n setTag(formattedValue);\n }, []);\n\n const handlePasswordChange = useCallback(\n (e: React.ChangeEvent) => {\n const value = e.target.value;\n setPassword(value);\n validatePassword(value);\n },\n [validatePassword]\n );\n\n const handleTagChange = useCallback(\n (e: React.ChangeEvent) => {\n const value = e.target.value;\n validateTag(value);\n },\n [validateTag]\n );\n\n const handleNameChange = useCallback(\n (e: React.ChangeEvent) => {\n const value = e.target.value;\n if (nameInput) {\n if (value.length < 3) {\n setNameError(errorList[4]);\n } else {\n setNameError(\"\");\n }\n }\n setName(value);\n },\n [nameInput]\n );\n\n const handleConfirmPasswordChange = useCallback(\n (e: React.ChangeEvent) => {\n setConfirmPassword(e.target.value);\n },\n []\n );\n\n const disableSubmit = useMemo(\n () =>\n !!errors.length ||\n confirmPassword !== password ||\n !!tagError.length ||\n !!nameError.length ||\n !password.length ||\n !tag?.length ||\n (nameInput && !name.length),\n [\n confirmPassword,\n errors.length,\n name.length,\n nameError.length,\n nameInput,\n password,\n tag,\n tagError.length,\n ]\n );\n\n const onSubmit = useCallback(() => {\n handleSubmitNewTag(password, tag, onCancel, name);\n }, [handleSubmitNewTag, name, onCancel, password, tag]);\n\n return (\n
\n

\n {title}\n \n \n \n

\n\n
\n {nameInput && (\n
\n

\n Nome *\n

\n \n
\n )}\n
\n

\n Número da TAG *\n \n \n \n

\n \n
\n
\n
Regras da senha:
\n

\n {errors.find((it) => (it === errorList[0] ? true : false)) ? (\n \n ) : (\n \n )}\n Ter 4 caracteres numéricos\n

\n

\n {errors.find((it) => (it === errorList[1] ? true : false)) ? (\n \n ) : (\n \n )}\n Não repetir pares do mesmo número, Ex.: 1122\n

\n

\n {errors.find((it) => (it === errorList[2] ? true : false)) ? (\n \n ) : (\n \n )}\n Não utilizar números sequenciais, Ex.: 1234 ou 4321\n

\n
\n
\n

\n Senha (4 dígitos numéricos) *\n

\n \n
\n
\n

\n Confirmar senha *\n

\n \n
\n
\n \n {buttonTitle}\n \n
\n );\n};\n\nexport default NewTagForm;\n","import { Button, IconButton, Modal, Paper, TextField } from \"@material-ui/core\";\nimport { AddCircle, CloseOutlined, DeleteOutline } from \"@material-ui/icons\";\nimport { ReactComponent as Alert } from \"assets/icons/alert.svg\";\nimport { ReactComponent as Key } from \"assets/icons/key.svg\";\nimport { ReactComponent as Empty } from \"assets/image/empty.svg\";\nimport { useUi } from \"context/ui/UIContext\";\nimport {\n EditUserRequest,\n IWalletDependents,\n LinkTagRequest,\n} from \"models/wallet/IWallet\";\nimport React, { FC, useCallback, useState } from \"react\";\nimport { WalletApi } from \"services/Api/wallet/WalletApi\";\nimport NewPasswordForm from \"./components/newPasswordForm/NewPasswordForm\";\nimport NewTagForm from \"./components/newTagForm/NewTagForm\";\nimport styles from \"./Tag.module.scss\";\n\nexport interface ITags {\n onCancel: () => void;\n tag?: string;\n walletId: string;\n storeId: string;\n dependent?: IWalletDependents | null;\n cardName: string;\n refresh?: () => Promise;\n}\n\nconst Tag: FC = ({\n onCancel,\n tag,\n walletId,\n storeId,\n dependent,\n cardName,\n refresh,\n}) => {\n const [showNewTagModal, setShowNewTagModal] = useState(false);\n const [showDeleteModal, setShowDeleteModal] = useState(false);\n const [showNewPasswordModal, setShowNewPasswordModal] = useState(false);\n const [name, setName] = useState(dependent?.Name ?? \"\");\n const [nameError, setNameError] = useState(\"\");\n\n const { toast, showLoading, hideLoading, isMobile } = useUi();\n\n const handleSubmitNewTag = useCallback(\n (password: string, _tag: string, closeModal: () => void) => {\n const walletApi = WalletApi();\n showLoading();\n const params: LinkTagRequest = {\n CardName: cardName,\n IsCardReplacement: true,\n LocalClientId: storeId,\n WalletId: walletId,\n Password: password,\n Tag: _tag.replace(/-/g, \"\"),\n IsDependent: dependent ? true : false,\n };\n walletApi\n .linkTag(params)\n .then((response) => {\n if (response.status === 200) {\n closeModal();\n onCancel();\n refresh && refresh();\n toast(\n dependent\n ? \"Dependente editado com sucesso!\"\n : \"Dependente criado com sucesso!\",\n \"success\"\n );\n }\n })\n .finally(() => {\n hideLoading();\n });\n },\n [\n cardName,\n hideLoading,\n onCancel,\n refresh,\n showLoading,\n storeId,\n toast,\n walletId,\n dependent,\n ]\n );\n\n const handleEditDependent = useCallback(() => {\n const walletApi = WalletApi();\n showLoading();\n const params: EditUserRequest = {\n WalletId: walletId,\n CardName: name,\n TAG: tag ?? \"\",\n };\n walletApi\n .editUser(params)\n .then((response) => {\n if (response.status === 200) {\n onCancel();\n toast(\"Dependente editado com sucesso!\", \"success\");\n refresh && refresh();\n }\n })\n .finally(() => {\n hideLoading();\n });\n }, [hideLoading, name, onCancel, refresh, showLoading, tag, toast, walletId]);\n\n const handleSubmitNewPassword = useCallback(\n (password: string, closeModal: () => void) => {\n const walletApi = WalletApi();\n showLoading();\n const params: EditUserRequest = {\n WalletId: walletId,\n NewPassword: password,\n CardName: cardName,\n TAG: tag ?? \"\",\n };\n walletApi\n .editUser(params)\n .then((response) => {\n if (response.status === 200) {\n closeModal();\n onCancel();\n toast(\"Senha alterada com sucesso\", \"success\");\n }\n })\n .finally(() => {\n hideLoading();\n });\n },\n [cardName, hideLoading, onCancel, showLoading, tag, toast, walletId]\n );\n\n const onConfirmCancel = useCallback(async () => {\n if (tag) {\n try {\n showLoading();\n const walletApi = WalletApi();\n const response = await walletApi.deactiveTAG(tag);\n if (response.status === 200) {\n toast(\"TAG cancelada com sucesso\", \"success\");\n refresh && refresh();\n onCancel();\n }\n } finally {\n hideLoading();\n }\n }\n }, [hideLoading, onCancel, refresh, showLoading, tag, toast]);\n\n const handleNameChange = useCallback(\n (e: React.ChangeEvent) => {\n const value = e.target.value;\n if (dependent) {\n if (value.length < 3) {\n setNameError(\"Nome inválido\");\n } else {\n setNameError(\"\");\n }\n }\n setName(value);\n },\n [dependent]\n );\n\n return (\n
\n

\n {dependent ? \"Editar dependente\" : \"Vinculo de TAG\"}\n \n \n \n

\n\n {dependent && (\n
\n

\n Nome *\n

\n \n
\n )}\n\n setShowNewTagModal(true)}\n >\n Vincular TAG\n \n \n\n {tag ? (\n
\n
\n

\n Tag atual:{\" \"}\n {tag.replace(/([A-Za-z0-9]{2})(?=[A-Za-z0-9])/g, `$1-`)}\n

\n setShowNewPasswordModal(true)}>\n \n Redefinir senha\n \n
\n setShowDeleteModal(true)}>\n \n \n
\n ) : (\n
\n \n

Nenhuma tag encontrada

\n
\n )}\n {dependent && (\n
\n \n Salvar\n \n \n
\n )}\n\n setShowNewTagModal(false)}\n className={styles.newTagModal}\n >\n setShowNewTagModal(false)}\n handleSubmitNewTag={handleSubmitNewTag}\n />\n \n setShowNewPasswordModal(false)}\n className={styles.newTagModal}\n >\n setShowNewPasswordModal(false)}\n handleSubmitNewPassword={handleSubmitNewPassword}\n />\n \n setShowDeleteModal(false)}\n className={styles.modal}\n style={{ padding: isMobile ? \"0 8px\" : undefined }}\n >\n \n
\n Cancelar TAG\n setShowDeleteModal(false)}>\n \n \n
\n \n

A TAG será bloqueada!

\n

\n Para utilizá-la novamente será necessário entrar em contato com o\n estabelecimento.\n

\n \n setShowDeleteModal(false)}\n >\n Cancelar\n \n \n \n
\n );\n};\n\nexport default Tag;\n","import {\n Button,\n IconButton,\n makeStyles,\n MenuItem,\n Select,\n TextField,\n} from \"@material-ui/core\";\nimport { CloseOutlined } from \"@material-ui/icons\";\nimport { useUi } from \"context/ui/UIContext\";\nimport {\n IUserWallet,\n IWalletDependents,\n TransferBalanceRequest,\n} from \"models/wallet/IWallet\";\nimport React, {\n ChangeEvent,\n FC,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { WalletApi } from \"services/Api/wallet/WalletApi\";\nimport NumberToMoneyString from \"utils/mask/NumberToMoney\";\nimport styles from \"./Transfer.module.scss\";\n\ninterface ISelectUser {\n Name: string;\n Id: string;\n Balance: number;\n IsDependent: boolean;\n}\n\nexport interface ITransfer {\n onCancel: () => void;\n refresh?: () => Promise;\n wallet: IUserWallet | null;\n localId: string;\n}\n\nconst Transfer: FC = ({ onCancel, refresh, wallet, localId }) => {\n const valueRef = useRef(null);\n const { showLoading, hideLoading, toast, isMobile } = useUi();\n\n const [transferValue, setTransferValue] = useState(\"0.00\");\n const [origin, setOrigin] = useState(\"\");\n const [destiny, setDestiny] = useState(\"\");\n const [dependents, setDependents] = useState(\n null\n );\n\n const firstLoad = useRef(true);\n\n const useStyles = makeStyles({\n selectRoot: {\n fontSize: isMobile ? \"12px !important\" : undefined,\n },\n });\n\n const classes = useStyles();\n\n const getDependents = useCallback(async () => {\n const walletApi = WalletApi();\n firstLoad.current = false;\n walletApi.getDependents(wallet?.Id ?? \"\").then((response) => {\n setDependents(response.data);\n });\n }, [wallet]);\n\n useEffect(() => {\n if (firstLoad.current) {\n getDependents();\n }\n }, [getDependents]);\n\n const { selectList, maxValue } = useMemo(() => {\n let selectList: ISelectUser[] = [];\n if (wallet && dependents) {\n selectList = [\n {\n Balance: wallet.Balance,\n Id: wallet.Id,\n Name: wallet.UserName,\n IsDependent: false,\n },\n ];\n\n dependents.forEach((it) => {\n selectList.push({\n Balance: it.Balance,\n Id: it.Id,\n Name: it.Name,\n IsDependent: true,\n });\n });\n }\n const maxValue = selectList.find((it) => it.Id === origin)?.Balance;\n return { selectList, maxValue };\n }, [dependents, origin, wallet]);\n\n const inputMoneyMask = useCallback(\n (value?: string) => {\n if (!value) {\n return undefined;\n }\n value = value.replace(/\\D/g, \"\");\n while (value.length < 3) {\n value = \"0\" + value;\n }\n value = value.replace(/^0+(?=\\d{3,})/, \"\");\n const formatWithThousandSeparator = (val: string) => {\n return val.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \".\");\n };\n const maskedValue =\n \"R$ \" +\n formatWithThousandSeparator(value.slice(0, -2)) +\n \",\" +\n value.slice(-2);\n\n if (value === \"000\") {\n if (valueRef && valueRef.current) {\n valueRef.current.value = \"\";\n }\n return undefined;\n }\n return maskedValue;\n },\n [valueRef]\n );\n\n const handleChangeValue = useCallback(\n (ev: ChangeEvent) => {\n let value = ev.target.value;\n value = value.replace(/[^\\d]/g, \"\");\n value =\n value.slice(0, -2) +\n (value.length === 1 ? \",0\" : \",\") +\n value.slice(-2);\n value = value.split(\",\")[0].length === 0 ? \"0\" + value : value;\n\n const price = parseFloat(value.replace(\",\", \".\"));\n\n if (maxValue && price > maxValue) {\n setTransferValue(\n maxValue.toLocaleString(\"pt-BR\", {\n style: \"currency\",\n currency: \"BRL\",\n minimumFractionDigits: 2,\n })\n );\n } else {\n setTransferValue(price === 0 ? \"\" : value);\n }\n },\n [maxValue]\n );\n\n const handleChangeOrigin = useCallback((ev: ChangeEvent<{ value: any }>) => {\n const _origin = ev.target.value;\n setOrigin(_origin);\n setTransferValue(\"\");\n if (valueRef && valueRef.current) {\n valueRef.current.value = \"\";\n }\n }, []);\n\n const handleChangeDestiny = useCallback((ev: ChangeEvent<{ value: any }>) => {\n const _destiny = ev.target.value;\n setDestiny(_destiny);\n }, []);\n\n const handleSubmitTransfer = useCallback(() => {\n const walletApi = WalletApi();\n showLoading();\n const params: TransferBalanceRequest = {\n DestinationWalletId: destiny,\n LocalId: localId,\n OriginWalletId: origin,\n TransferBalance: parseFloat(transferValue.replace(\",\", \".\")),\n };\n walletApi\n .transferBalance(params)\n .then((response) => {\n if (response.status === 200) {\n refresh && refresh();\n onCancel();\n toast(\"Transferência realizada com sucesso\", \"success\");\n }\n })\n .finally(() => {\n hideLoading();\n });\n }, [\n destiny,\n hideLoading,\n localId,\n onCancel,\n origin,\n refresh,\n showLoading,\n toast,\n transferValue,\n ]);\n\n const disableSubmit = useMemo(\n () => !origin || !destiny || !transferValue,\n [destiny, origin, transferValue]\n );\n\n return (\n
\n

\n Transferência de saldo\n \n \n \n

\n\n
\n

\n De *\n

\n \n {selectList.map((it, key) => (\n {`${it.Name} • ${NumberToMoneyString(it.Balance)} (${\n it.IsDependent ? \"Dependente\" : \"Titular\"\n })`}\n ))}\n \n
\n\n
\n

\n Para *\n

\n \n {selectList.map((it, key) => (\n {`${it.Name} • ${NumberToMoneyString(it.Balance)} (${\n it.IsDependent ? \"Dependente\" : \"Titular\"\n })`}\n ))}\n \n
\n\n
\n

Valor da transferência

\n \n
\n\n \n Transferir\n \n \n
\n );\n};\n\nexport default Transfer;\n","import { Modal } from \"@material-ui/core\";\nimport { ChevronRight } from \"@material-ui/icons\";\nimport { Skeleton } from \"@mui/material\";\nimport { ReactComponent as Contract } from \"assets/icons/contract.svg\";\nimport { ReactComponent as Group } from \"assets/icons/groups.svg\";\nimport { ReactComponent as Money } from \"assets/icons/money.svg\";\nimport { ReactComponent as TagPlus } from \"assets/icons/tag_plus.svg\";\nimport { ReactComponent as TransferIcon } from \"assets/icons/transfer.svg\";\nimport { useCatalog } from \"context/catalog/CatalogContext\";\nimport { IUserWallet, TagStatus } from \"models/wallet/IWallet\";\nimport React, { FC, useCallback, useEffect, useMemo, useState } from \"react\";\nimport { useHistory, useParams } from \"react-router-dom\";\nimport { WalletApi } from \"services/Api/wallet/WalletApi\";\nimport NumberToMoneyString from \"utils/mask/NumberToMoney\";\nimport { PrivateHeader } from \"../Components/privateHeader/PrivateHeader\";\nimport Tag from \"./pages/tag/Tag\";\nimport Transfer from \"./pages/transfer/Transfer\";\nimport styles from \"./Wallet.module.scss\";\nimport { useUi } from \"context/ui/UIContext\";\n\nconst Wallet: FC = () => {\n const { storeId, url } = useParams<{ storeId: string; url: string }>();\n const history = useHistory();\n const { catalog, onLoading: onLoadingCatalog } = useCatalog();\n const { isMobile } = useUi();\n\n const [onLoading, setOnLoading] = useState(true);\n const [wallet, setWallet] = useState(null);\n const [showTagModal, setShowTagModal] = useState(false);\n const [showTransferModal, setShowTransferModal] = useState(false);\n\n const goToProfile = useCallback(() => {\n history.push(`/${url}/${storeId}/wallet/profile/${wallet?.Id}`);\n }, [history, storeId, url, wallet]);\n\n const goToDependents = useCallback(() => {\n history.push(`/${url}/${storeId}/wallet/dependents/${wallet?.Id}`);\n }, [history, storeId, url, wallet]);\n\n const goToExtract = useCallback(() => {\n history.push(`/${url}/${storeId}/wallet/extract/${wallet?.Id}`);\n }, [history, storeId, url, wallet]);\n\n const goToRecharge = useCallback(() => {\n history.push(`/${url}/${storeId}/wallet/recharge/${wallet?.Id}`);\n }, [history, storeId, url, wallet]);\n\n const getWallet = useCallback(async () => {\n const walletApi = WalletApi();\n setOnLoading(true);\n walletApi\n .getWallet(storeId)\n .then((response) => {\n const TAG = response.data?.TAG\n ? response.data.TAG.length !== 8\n ? \"\"\n : response.data.TAG\n : undefined;\n setWallet({\n ...response.data,\n TAG: response.data?.Status === TagStatus.Active ? TAG : undefined,\n });\n })\n .catch(() => {\n history.goBack();\n })\n .finally(() => {\n setOnLoading(false);\n });\n }, [history, storeId]);\n\n useEffect(() => {\n getWallet();\n }, [getWallet]);\n\n const disableButtons = useMemo(\n () => onLoading || !storeId || onLoadingCatalog,\n [onLoading, onLoadingCatalog, storeId]\n );\n\n return (\n
\n \n \n
\n
\n
\n Bem-vindo(a), {\" \"}\n \n {onLoading ? (\n \n ) : (\n wallet?.UserName\n )}\n \n
\n \n Meus dados \n
\n
\n

\n Tag vinculada: {\" \"}\n \n {onLoading ? (\n \n ) : wallet?.TAG ? (\n wallet.TAG.replace(/([A-Za-z0-9]{2})(?=[A-Za-z0-9])/g, `$1-`)\n ) : (\n \"Sem Tag\"\n )}\n \n

\n
\n\n
\n
\n

Saldo atual

\n \n {onLoading ? (\n \n ) : (\n NumberToMoneyString(wallet?.Balance ?? 0)\n )}\n \n
\n \n \n \n Recarga\n
\n setShowTransferModal(true)}\n >\n \n Transferência\n
\n setShowTagModal(true)}\n >\n \n Vinculo de TAG\n \n \n \n Dependentes\n \n \n \n Extrato\n \n \n \n \n setShowTagModal(false)}\n className={styles.tagModal}\n >\n setShowTagModal(false)}\n tag={wallet?.TAG}\n walletId={wallet?.Id ?? \"\"}\n cardName={wallet?.UserName ?? \"\"}\n refresh={getWallet}\n />\n \n setShowTransferModal(false)}\n className={styles.tagModal}\n >\n setShowTransferModal(false)}\n refresh={getWallet}\n wallet={wallet}\n localId={storeId}\n />\n \n \n );\n};\n\nexport default Wallet;\n","export const cpfMask = (cpf: string) => {\n return cpf\n .replace(/(\\d{3})(\\d)/, \"$1.$2\")\n .replace(/(\\d{3})(\\d)/, \"$1.$2\")\n .replace(/(\\d{3})(\\d{1,2})$/, \"$1-$2\");\n};\n\nexport const hideCPF = (cpf: string): string => {\n const cleanCPF = cpf.replace(/\\D/g, '');\n\n if (cleanCPF.length !== 11) {\n return '';\n }\n\n return `***.***.*${cleanCPF.slice(7, 9)}-${cleanCPF.slice(9, 11)}`;\n}\n\nexport const validateCPF = (strCPF: string) => {\n var Soma;\n var Resto;\n Soma = 0;\n\n if (strCPF.length !== 11) return false;\n if (strCPF === \"00000000000\") return false;\n if (strCPF === \"11111111111\") return false;\n if (strCPF === \"22222222222\") return false;\n if (strCPF === \"33333333333\") return false;\n if (strCPF === \"44444444444\") return false;\n if (strCPF === \"55555555555\") return false;\n if (strCPF === \"66666666666\") return false;\n if (strCPF === \"77777777777\") return false;\n if (strCPF === \"88888888888\") return false;\n if (strCPF === \"99999999999\") return false;\n\n for (let i = 1; i <= 9; i++)\n Soma = Soma + parseInt(strCPF.substring(i - 1, i)) * (11 - i);\n Resto = (Soma * 10) % 11;\n\n if (Resto === 10 || Resto === 11) Resto = 0;\n if (Resto !== parseInt(strCPF.substring(9, 10))) return false;\n\n Soma = 0;\n for (let i = 1; i <= 10; i++)\n Soma = Soma + parseInt(strCPF.substring(i - 1, i)) * (12 - i);\n Resto = (Soma * 10) % 11;\n\n if (Resto === 10 || Resto === 11) Resto = 0;\n if (Resto !== parseInt(strCPF.substring(10, 11))) return false;\n return true;\n};","import { Button, Grid, IconButton, Modal, Paper } from \"@material-ui/core\";\nimport {\n AddCircle,\n DeleteOutline,\n InfoOutlined,\n CloseOutlined,\n StarBorder,\n StarRate,\n} from \"@material-ui/icons\";\nimport { Skeleton } from \"@mui/material\";\nimport { useCatalog } from \"context/catalog/CatalogContext\";\nimport { useUi } from \"context/ui/UIContext\";\nimport { IUserProfile } from \"models/wallet/IWallet\";\nimport { PrivateHeader } from \"pages/private/Components/privateHeader/PrivateHeader\";\nimport React, { FC, useCallback, useEffect, useState } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { WalletApi } from \"services/Api/wallet/WalletApi\";\nimport { hideCPF } from \"utils/mask/cpf\";\nimport { ReactComponent as Alert } from \"assets/icons/alert.svg\";\nimport styles from \"./Profile.module.scss\";\nimport CardApi from \"services/Api/card/CardApi\";\nimport AddressApi from \"services/Api/address/AddressApi\";\nimport { NewCard } from \"pages/newCard/NewCard\";\nimport { NewAddress } from \"pages/newAddress/NewAddress\";\n\nexport interface IProfile {}\n\nconst Profile: FC = ({}) => {\n const { catalog, onLoading: onLoadingCatalog } = useCatalog();\n const history = useHistory();\n const { isMobile, toast, showLoading, hideLoading } = useUi();\n\n const [onLoading, setOnLoading] = useState(false);\n const [loadingAddresses, setloadingAddresses] = useState(false);\n const [loadingCards, setLoadingCards] = useState(false);\n const [userProfile, setUserProfile] = useState(null);\n const [showDeleteModal, setShowDeleteModal] = useState(false);\n const [openAddCard, setopenAddCard] = useState(false);\n const [newAdressOpen, setNewAdresOpen] = useState(false);\n const [itemToDelete, setItemToDelete] = useState<{\n type: \"CARD\" | \"ADRRESS\";\n id: string;\n } | null>(null);\n\n const getAddresses = useCallback(async () => {\n try {\n setloadingAddresses(true);\n const response = await AddressApi.getUserAdresses();\n if (response.status === 200) {\n setUserProfile((prev) => {\n if (prev) {\n return {\n ...prev,\n Addresses: response.data,\n };\n } else {\n return null;\n }\n });\n }\n } finally {\n setloadingAddresses(false);\n }\n }, []);\n\n const getCards = useCallback(async () => {\n try {\n setLoadingCards(true);\n const response = await CardApi.getCards();\n if (response.status === 200) {\n setUserProfile((prev) => {\n if (prev) {\n return {\n ...prev,\n CreditCards: response.data,\n };\n } else {\n return null;\n }\n });\n }\n } finally {\n setLoadingCards(false);\n }\n }, []);\n\n const setDefaultAddress = useCallback(\n async (addressId: string) => {\n try {\n setloadingAddresses(true);\n await AddressApi.setDefaultAddress(addressId);\n getAddresses();\n } finally {\n setloadingAddresses(false);\n }\n },\n [getAddresses]\n );\n\n useEffect(() => {\n const walletApi = WalletApi();\n setOnLoading(true);\n walletApi\n .getProfile()\n .then((response) => {\n setUserProfile(response.data);\n })\n .catch(() => {\n history.goBack();\n })\n .finally(() => {\n setOnLoading(false);\n });\n }, [history]);\n\n const onClickDelete = useCallback((type: \"CARD\" | \"ADRRESS\", id: string) => {\n setItemToDelete({ type, id });\n setShowDeleteModal(true);\n }, []);\n\n const closeModal = useCallback(() => {\n setItemToDelete(null);\n setShowDeleteModal(false);\n }, []);\n\n const onCloseAddNewCard = useCallback(() => {\n setopenAddCard(false);\n getCards();\n }, [getCards]);\n\n const onAddAdrress = useCallback(() => {\n getAddresses();\n setNewAdresOpen(false);\n }, [getAddresses]);\n\n const onConfirmDelete = useCallback(async () => {\n if (itemToDelete?.type === \"CARD\") {\n try {\n showLoading();\n const response = await CardApi.deleteCard(itemToDelete.id);\n console.log(response);\n if (response.status === 200) {\n getCards();\n toast(\"Cartão excluído com sucesso\", \"success\");\n setShowDeleteModal(false);\n }\n } finally {\n hideLoading();\n }\n }\n if (itemToDelete?.type === \"ADRRESS\") {\n try {\n showLoading();\n const response = await AddressApi.deleteAddress(itemToDelete.id);\n console.log(response);\n if (response.status === 200) {\n getAddresses();\n toast(\"Endereço excluído com sucesso\", \"success\");\n setShowDeleteModal(false);\n }\n } finally {\n hideLoading();\n }\n }\n }, [getAddresses, getCards, hideLoading, itemToDelete, showLoading, toast]);\n\n return (\n
\n \n
\n

Meus dados

\n

\n \n Caso necessite de alguma alteração entre em contato com o suporte\n

\n \n \n Nome\n {onLoading ? (\n \n ) : (\n

{userProfile?.Name}

\n )}\n
\n \n CPF\n {onLoading ? (\n \n ) : (\n

{hideCPF(userProfile?.Document ?? \"\")}

\n )}\n
\n \n E-mail\n {onLoading ? (\n \n ) : (\n

{userProfile?.Email}

\n )}\n
\n \n Telefone\n {onLoading ? (\n \n ) : (\n

{userProfile?.Phone}

\n )}\n \n \n\n

Cartões

\n\n \n\n {onLoading || loadingCards ? (\n \n ) : (\n userProfile?.CreditCards.map((it, key) => (\n
\n
{`${it.brandDescription} **** ${it.finalNumber}`}
\n
\n onClickDelete(\"CARD\", it.id)}>\n \n \n
\n
\n ))\n )}\n\n

Endereços

\n\n \n\n {onLoading || loadingAddresses ? (\n \n ) : (\n userProfile?.Addresses.map((it, key) => (\n
\n
{`${it.street} ${it?.number ? `, ${it.number}` : \"\"} - ${\n it.neighborhood\n }, ${it.city} - ${it.state}`}
\n
\n {!!it.default ? (\n \n \n \n ) : (\n setDefaultAddress(it.id)}>\n \n \n )}\n onClickDelete(\"ADRRESS\", it.id)}>\n \n \n
\n
\n ))\n )}\n
\n \n \n
\n {`Excluir ${\n itemToDelete?.type === \"ADRRESS\" ? \"endereço\" : \"cartão\"\n }`}\n \n \n \n
\n \n

{`Deseja realmente excluir o ${\n itemToDelete?.type === \"ADRRESS\" ? \"endereço\" : \"cartão\"\n }`}

\n \n \n \n \n setopenAddCard(false)}\n className={styles.modalCardContainer}\n >\n onCloseAddNewCard()}\n onConfirm={() => onCloseAddNewCard()}\n title=\"Adicionar cartão\"\n />\n \n setNewAdresOpen(false)}\n className={styles.modalAdrressContainer}\n >\n setNewAdresOpen(false)}\n />\n \n
\n );\n};\n\nexport default Profile;\n","import React, { FC, useState } from 'react'\nimport styles from './ProductItem.module.scss'\nimport Image from '../../../../../../../components/ui/_image/Image'\nimport { IProductItem } from '../interfaces/IProductItem'\nimport { ChevronRight } from '@material-ui/icons';\nimport { Icon } from '@material-ui/core';\n\nexport interface IProductItemProps {\n product: IProductItem,\n onClick: () => void,\n prefixPrice?: string\n}\n\nconst ProductItem: FC = ({ product, onClick }) => {\n const [hasImageError, setHasImageError] = useState(false);\n\n return (\n
\n
\n
\n {\n !hasImageError ?\n setHasImageError(true)} /> :\n
\n no_photography\n
\n }\n
\n\n
\n
\n
\n

{product.name}

\n
\n
\n

{product.description}

\n
\n
\n R$\n

\n {product.price.toFixed(2).replace(\".\", \",\")}\n

\n
\n
\n
\n\n
\n R$\n

\n {product.price.toFixed(2).replace(\".\", \",\")}\n

\n
\n\n \n
\n
\n )\n}\nexport default ProductItem","import { debounce } from '@material-ui/core'\nimport React, { createRef, forwardRef, RefObject, useCallback, useEffect, useImperativeHandle, useState } from 'react'\nimport { IProductItem } from './interfaces/IProductItem'\nimport { ISeccionedProduct } from './interfaces/ISeccionedProduct'\nimport ProductItem from './productItem/ProductItem'\nimport styles from './ProductList.module.scss'\n\nexport interface IProductListProps {\n sectionedProducts: ISeccionedProduct[];\n onChangeCategory?: (index: number) => void;\n offset?: number;\n onClickProduct: (product: IProductItem) => void\n simpleTitle?: boolean,\n prefixPrice?: string\n}\n\nexport interface IProductListRef {\n goToCagetory: (index: number) => void;\n}\n\nconst ProductList = forwardRef(({ sectionedProducts, onChangeCategory, offset = 50, onClickProduct, simpleTitle, prefixPrice }, ref) => {\n const [refDiv, setRefDiv] = useState[]>([]);\n\n useEffect(() => {\n let refs = sectionedProducts.map((_, index) => { return createRef() });\n setRefDiv(refs);\n }, [sectionedProducts])\n\n const verificarPosicoes = useCallback(() => {\n window.addEventListener(\"scroll\", debounce(() => {\n refDiv.map((_ref, index) => {\n let last = refDiv[index]?.current?.offsetTop ?? 0\n let next = refDiv[index + 1]?.current?.offsetTop ?? 0\n if (window.pageYOffset >= last && window.pageYOffset < next) {\n onChangeCategory && onChangeCategory(index)\n }\n })\n }, 100))\n }, [onChangeCategory, refDiv])\n\n useEffect(() => {\n if (!!refDiv.length) {\n verificarPosicoes();\n }\n return () => {\n }\n }, [refDiv, verificarPosicoes]);\n\n const goToCagetory = useCallback(\n (index: number) => {\n if (refDiv.length > 0) {\n let _ref = refDiv[index].current\n if (_ref) {\n window.scrollTo(0, _ref.offsetTop + offset)\n }\n }\n },\n [refDiv, offset],\n )\n\n useImperativeHandle(ref, () => {\n return {\n goToCagetory\n }\n }, [goToCagetory])\n\n return (\n
\n
\n {\n sectionedProducts.map((section, index) => (\n !!section.products.length &&
\n
\n {section.title.toLowerCase()}\n
\n\n
\n {section.products.map((product) =>\n onClickProduct(product)} product={product}>\n )}\n
\n
\n ))\n }\n\n {sectionedProducts.length === 0 &&
Não encontramos resultados para sua busca. Que tal tentar outro produto?
}\n
\n
\n )\n})\n\nexport default ProductList","import React, { FC, useState, useEffect } from 'react';\nimport { ISeccionedProduct } from '../productList/interfaces/ISeccionedProduct';\nimport './TabMenu.css';\nimport { Tab, Tabs } from '@material-ui/core';\n\ninterface TabMenuProps {\n seccionedProducts: ISeccionedProduct[],\n onClick: (index: number) => void\n position?: number\n}\n\nexport const TabMenu: FC = ({ position, seccionedProducts, onClick }) => {\n const [categoriaIndex, setcategoriaIndex] = useState(position);\n\n useEffect(() => {\n setcategoriaIndex(position)\n }, [position])\n\n function truncateText(text: string, maxLength: number) {\n if (text.length <= maxLength) {\n return text;\n }\n\n var index = text.substr(0, maxLength).lastIndexOf(\" \");\n return text.substr(0, index) + \"...\";\n }\n\n return (\n { onClick(newValue); setcategoriaIndex(newValue) }}\n aria-label=\"simple tabs example\"\n variant=\"scrollable\"\n className=\"tabContainer\"\n >\n {\n seccionedProducts.length > 1 &&\n seccionedProducts.map((section, index) =>\n {\n if (window.fbq) {\n window.fbq(\"trackCustom\", \"CategoryClicked\", {\n content_ids: section.id,\n content_name: section.title,\n });\n }\n }}\n />\n )\n }\n \n )\n}\n\nexport default TabMenu\n","import BackButton from 'components/ui/backButton/BackButton'\nimport React, { FC } from 'react'\nimport { ISeccionedProduct } from '../productList/interfaces/ISeccionedProduct'\nimport { TabMenu } from '../tabMenu/_TabMenu'\nimport styles from './SimpleHeader.module.scss'\n\nexport interface ISimpleHeaderProps {\n //propertys\n open: boolean;\n title: string;\n categories: ISeccionedProduct[];\n onClickTab: (index: number) => void;\n position: number;\n onClickBack?: () => void\n}\nconst SimpleHeader: FC = ({ open, categories, onClickBack, title, onClickTab, position }) => {\n return (\n
\n
\n {onClickBack && }\n\n
onClickTab(0)} className={styles.title}>

{title}

\n {categories.length > 1 && (\n
\n \n
\n )}\n
\n
\n )\n}\nexport default SimpleHeader","import React, { FC, useCallback, useEffect, useRef, useState } from 'react'\nimport { IProductItem } from '../productList/interfaces/IProductItem';\nimport { ISeccionedProduct } from '../productList/interfaces/ISeccionedProduct';\nimport ProductList, { IProductListRef } from '../productList/_ProductList';\nimport TabMenu from '../tabMenu/_TabMenu';\nimport SimpleHeader from '../_simpleHeader/SimpleHeader';\nimport styles from './ProductListCategory.module.scss';\n\nexport interface IProductListCategoryProps {\n seccionedProduct: ISeccionedProduct[],\n title: string,\n onClickProduct: (product: IProductItem) => void,\n prefixPrice?: string\n onClickBack?: () => void\n}\n\nconst ProductListCategory: FC = ({ seccionedProduct, onClickBack, title, onClickProduct, prefixPrice }) => {\n const [headerOpen, setHeaderOpen] = useState(true);\n const [indexTabMenu, setIndexTabMenu] = useState(0);\n\n const refProductList = useRef(null)\n\n const onScroll = useCallback(() => {\n const offset = window.pageYOffset\n if (offset > 230) {\n setHeaderOpen(true);\n } else {\n setHeaderOpen(false);\n }\n }, [])\n\n useEffect(() => {\n onScroll();\n window.addEventListener(\"scroll\", onScroll)\n return () => {\n window.removeEventListener(\"scroll\", onScroll)\n }\n }, [onScroll]);\n\n const onClickTabMenu = useCallback((index: number) => {\n setIndexTabMenu(index);\n if (index === 0) {\n window.scrollTo(0, 0);\n } else {\n refProductList.current?.goToCagetory(index);\n }\n }, []);\n\n const onClickProductItemHandle = useCallback((product: IProductItem) => {\n onClickProduct(product);\n }, [onClickProduct]);\n\n return (\n
\n
\n !!item.products.length)}\n title={title}\n position={indexTabMenu}\n onClickTab={onClickTabMenu}\n onClickBack={onClickBack}\n />\n {seccionedProduct.length > 1 && (\n
\n \n
\n )}\n setIndexTabMenu(index)}\n prefixPrice={prefixPrice}\n sectionedProducts={seccionedProduct}\n />\n
\n
\n )\n}\nexport default ProductListCategory","import { ITotalsComposition } from 'components/productComposition/interfaces/ITotalsComposition';\nimport { useCart } from 'context/cart/CartContext';\nimport { IProductComposition } from 'models/catalog/aggregates/Composition';\nimport { Product } from 'models/catalog/aggregates/Product';\nimport { IOrderComposition } from 'models/order/IOrderComposition';\nimport React, { useCallback, useEffect, useState } from 'react'\nimport { useParams } from 'react-router';\nimport { useHistory } from 'react-router-dom';\nimport { v4 } from 'uuid';\nimport { useCatalog } from '../../../../context/catalog/CatalogContext'\n\ninterface useProductDetailProps {\n productId: string;\n}\n\nconst useProductDetail = ({ productId }: useProductDetailProps) => {\n const { replace } = useHistory();\n const { url, storeId } = useParams<{ url: string, storeId: string }>();\n\n const { getProductFromCatalog } = useCatalog();\n const [product, setProduct] = useState()\n const [quantity, setQuantity] = useState(1);\n const [observationField, setObservationField] = useState()\n const [compositions, setCompositions] = useState<{ orderComposition: IOrderComposition[], totals: ITotalsComposition, unvalidatedCompositions: IProductComposition[] }>();\n const { addProductCart } = useCart();\n\n\n useEffect(() => {\n if (productId) {\n const _product = getProductFromCatalog(productId);\n setProduct(_product);\n }\n return () => {\n\n }\n }, [getProductFromCatalog, productId])\n\n const onClickAddQuantityHandle = useCallback(() => {\n setQuantity(prev => prev + 1);\n }, [])\n const onClickRemoveQuantityHandle = useCallback(() => {\n setQuantity(prev => prev > 1 ? prev - 1 : 1);\n }, [])\n\n const onClickBack = useCallback(() => {\n replace(`/${url}/${storeId}`)\n }, [replace, url, storeId]);\n\n const onClickAddProduct = useCallback(() => {\n if (product) {\n const _composition: IOrderComposition[] = [...(compositions?.orderComposition ? compositions.orderComposition : [])]\n\n const _observationField = observationField ? {\n id: v4(),\n description: 'Observação',\n compositionItems: [\n {\n id: v4(),\n description: observationField,\n price: 0,\n totalPrice: 0,\n quantity: 1,\n }\n ]\n } : null\n\n addProductCart(product, quantity, _observationField ? [..._composition, _observationField] : _composition);\n if (window.fbq) {\n window.fbq(\"track\", \"AddToCart\", {\n content_ids: product.id,\n content_type: product.category,\n value: product.price,\n contents: [{ id: product.id, quantity: quantity, name: product.name }]\n });\n }\n\n onClickBack();\n }\n }, [product, compositions, observationField, quantity, addProductCart, onClickBack]);\n\n const onChangeCompositionHandle = useCallback(\n (orderComposition: IOrderComposition[], totals: ITotalsComposition, unvalidatedCompositions: IProductComposition[]) => {\n setCompositions({ orderComposition, totals, unvalidatedCompositions })\n },\n [],\n )\n\n const handleChangeObservation = (evt: React.ChangeEvent) => {\n const { value } = evt.target;\n setObservationField(value);\n };\n\n return (\n {\n product,\n compositions,\n quantity,\n onClickAddQuantityHandle,\n onClickRemoveQuantityHandle,\n onClickAddProduct,\n onChangeCompositionHandle,\n onClickBack,\n handleChangeObservation\n }\n )\n}\nexport default useProductDetail\n","import { IProductComposition } from \"models/catalog/aggregates/Composition\"\n\nexport const calcPricFreeQuantity = (price: number, quantity: number, freeQuantity?: number) => {\n if (freeQuantity) {\n if ((quantity - freeQuantity) > 0) {\n return (quantity - freeQuantity) * price\n } else {\n return 0\n }\n } else {\n return quantity * price\n }\n}\n\nexport const getProductCompositionOfCompositionItemId = (productCompositions: IProductComposition[], compositionItemId: string) => {\n const composition = productCompositions.find((_productComposition) => {\n return _productComposition.compositionItems.find((_compositionItem) => _compositionItem.id === compositionItemId);\n })\n if (!composition) {\n console.error(\"composition Id not found\");\n }\n return composition as IProductComposition;\n}","import { IProductComposition } from 'models/catalog/aggregates/Composition'\nimport { IOrderComposition } from 'models/order/IOrderComposition'\n\nexport const CalcTotalsOrderComposition = (prevOrderCompositions: IOrderComposition[], productComposition: IProductComposition): { quantity: number, price: number } => {\n\n const calcTotalsOrderComposition = () => {\n const orderComposition = prevOrderCompositions.find(prevOrderComposition => prevOrderComposition.id === productComposition.id)\n if (orderComposition) {\n const price = orderComposition.compositionItems.map(_item => (_item.totalPrice)).reduce((previousValue, currentValue) => previousValue + currentValue, 0)\n const quantity = orderComposition.compositionItems.map(_item => (_item.quantity)).reduce((previousValue, currentValue) => previousValue + currentValue, 0)\n return { quantity, price }\n } else {\n return { quantity: 0, price: 0 }\n }\n }\n\n return (\n calcTotalsOrderComposition()\n )\n}\n","import { IProductComposition, IProductCompositionItem } from 'models/catalog/aggregates/Composition'\nimport { IOrderComposition } from 'models/order/IOrderComposition'\nimport { IOrderCompositionItem } from 'models/order/IOrderCompositionItem'\nimport { calcPricFreeQuantity } from './BaseCompositionUseCase'\nimport { CalcTotalsOrderComposition } from './CalcTotalsComposition'\n\nexport const AddOrderCompositionByProductCompositionItem = (prevOrderComposition: IOrderComposition[], productCompositions: IProductComposition, productCompositionItem: IProductCompositionItem, quantity: number): IOrderComposition[] => {\n\n const verifyIfExistComposition = (prevOrderComposition: IOrderComposition[], __productComposition: IProductComposition): IOrderComposition | undefined => {\n const orderComposition = prevOrderComposition.find(_composition => _composition.id === __productComposition.id);\n return orderComposition\n }\n\n const veryfyIfExistCompositionItem = (_prevOrderComposition: IOrderComposition[], __productComposition: IProductComposition, _productCompositionItem: IProductCompositionItem): IOrderCompositionItem | undefined => {\n const orderCompositionItem = _prevOrderComposition.find(_composition => _composition.id === __productComposition.id)?.compositionItems.find(_compositionItem => _productCompositionItem.id === _compositionItem.id);\n return orderCompositionItem\n }\n\n\n\n /**\n * Adiciona um novo Item da composição\n * @param _productCompositionItem \n * @param _quantity \n */\n const addNewCompositionItem = (_prevOrderComposition: IOrderComposition[], _productComposition: IProductComposition, _productCompositionItem: IProductCompositionItem, _quantity: number) => {\n const newCompositionItem = productCompositionItemToOrderCompositionItem(_productCompositionItem, _quantity);\n const newQuantityTotalCompositions = CalcTotalsOrderComposition(_prevOrderComposition, _productComposition).quantity + _quantity;\n if (!_productComposition.max || newQuantityTotalCompositions <= _productComposition.max) {\n if (verifyIfExistComposition(_prevOrderComposition, _productComposition)) {\n return _prevOrderComposition.map(_composition => {\n if (_composition.id === _productComposition.id) {\n return {\n ..._composition,\n compositionItems: [..._composition.compositionItems, { ...newCompositionItem, quantity: _quantity }]\n }\n } else {\n return _composition;\n }\n })\n } else {\n const newComposition: IOrderComposition = productCompositionToOrderComposition(_productComposition, [newCompositionItem]);\n return [..._prevOrderComposition, newComposition]\n }\n } else {\n return [..._prevOrderComposition]\n }\n }\n\n const addQuantityInExistCompositionItem = (_prevOrderComposition: IOrderComposition[], _productComposition: IProductComposition, _productCompositionItem: IProductCompositionItem, _quantity: number) => {\n const newQuantityTotalComposition = CalcTotalsOrderComposition(_prevOrderComposition, _productComposition).quantity + _quantity\n if (!_productComposition.max || newQuantityTotalComposition <= _productComposition.max) {\n const newOrderComposition = _prevOrderComposition.map((_composition) => {\n if (_composition.id === _productComposition.id) {\n const newCompositionItems = _composition.compositionItems.map(_compositionItem => {\n if (_compositionItem.id === _productCompositionItem.id) {\n const newQuantity = _compositionItem.quantity + _quantity\n if (!_productCompositionItem.max || newQuantity <= _productCompositionItem.max) {\n return {\n ..._compositionItem,\n quantity: newQuantity,\n totalPrice: calcPricFreeQuantity(_productCompositionItem.price, newQuantity, _productCompositionItem.quantityFree)\n }\n } else {\n console.error(\"CompositionItem overflow max\");\n }\n return _compositionItem\n } else {\n return _compositionItem\n }\n })\n return { ..._composition, compositionItems: newCompositionItems }\n } else {\n return _composition;\n }\n })\n return newOrderComposition\n } else {\n console.error(\"Composition overflow max\");\n }\n return _prevOrderComposition;\n }\n\n\n const addProductAndClearOrderWhenMinMaxOne = (_prevOrderComposition: IOrderComposition[], _productComposition: IProductComposition, _productCompositionItem: IProductCompositionItem) => {\n const orderCompositionsWithCompositionCleaned = _prevOrderComposition.map((orderComposition) => {\n if (orderComposition.id === _productComposition.id) {\n return { ...orderComposition, compositionItems: [] }\n } else {\n return orderComposition\n }\n })\n\n return addNewCompositionItem(orderCompositionsWithCompositionCleaned, _productComposition, _productCompositionItem, 1);\n\n }\n\n const productCompositionItemToOrderCompositionItem = (productCompositionItem: IProductCompositionItem, quantity: number): IOrderCompositionItem => {\n return {\n id: productCompositionItem.id,\n description: productCompositionItem.description,\n price: productCompositionItem.price,\n totalPrice: calcPricFreeQuantity(productCompositionItem.price, quantity, productCompositionItem.quantityFree),\n imageUrl: productCompositionItem.imageUrl,\n quantity: quantity,\n quantityFree: productCompositionItem.quantityFree,\n }\n }\n const productCompositionToOrderComposition = (productComposition: IProductComposition, orderCompositionItems: IOrderCompositionItem[]): IOrderComposition => {\n return {\n id: productComposition.id,\n description: productComposition.description,\n imageUrl: productComposition.imageUrl,\n compositionItems: orderCompositionItems\n }\n }\n\n\n const addOrderCompositionByCompositionItem = (_prevOrderComposition: IOrderComposition[], _productComposition: IProductComposition, _productCompositionItem: IProductCompositionItem, _quantity: number) => {\n if (_productComposition.min === 1 && _productComposition.max === 1) {\n //se o minimo e maximo for igual a 1 limpar e adicionar novo item\n return addProductAndClearOrderWhenMinMaxOne(_prevOrderComposition, _productComposition, _productCompositionItem)\n } else {\n if (veryfyIfExistCompositionItem(_prevOrderComposition, _productComposition, _productCompositionItem)) {\n return addQuantityInExistCompositionItem(_prevOrderComposition, _productComposition, _productCompositionItem, _quantity)\n } else {\n return addNewCompositionItem(_prevOrderComposition, _productComposition, _productCompositionItem, _quantity)\n }\n }\n\n }\n\n return (\n addOrderCompositionByCompositionItem(prevOrderComposition, productCompositions, productCompositionItem, quantity)\n );\n}\n","import { IProductCompositionItem } from 'models/catalog/aggregates/Composition'\nimport { IOrderComposition } from 'models/order/IOrderComposition'\nimport { calcPricFreeQuantity } from './BaseCompositionUseCase'\n\nexport const RemoveOrderCompositionByCompositionItem = (prevOrderComposition: IOrderComposition[], compositionId: string, productCompositionItem: IProductCompositionItem, quantity: number): IOrderComposition[] => {\n \n const removeOrderCompositionByCompositionItem = (_prevOrderComposition: IOrderComposition[], _compositionId: string, _productCompositionItem: IProductCompositionItem, _quantity: number) => {\n const newOrderCompositions = _prevOrderComposition.map(_composition => {\n if (_composition.id === _compositionId) {\n const newCompositionItems = _composition.compositionItems.map((_compositionItem) => {\n if (_productCompositionItem.id === _compositionItem.id) {\n const newQuantity = _compositionItem.quantity - _quantity;\n return {\n ..._compositionItem,\n quantity: newQuantity,\n totalPrice: calcPricFreeQuantity(_productCompositionItem.price, newQuantity,\n _productCompositionItem.quantityFree)\n }\n } else {\n return _compositionItem\n }\n }).filter(_compositionItem => _compositionItem.quantity > 0);\n\n return { ..._composition, compositionItems: newCompositionItems }\n } else {\n return _composition\n }\n\n }).filter(_orderComposition => _orderComposition.compositionItems.length > 0);\n\n return newOrderCompositions\n }\n\n return (\n removeOrderCompositionByCompositionItem(prevOrderComposition, compositionId, productCompositionItem, quantity)\n )\n}\n","import { IProductComposition, IProductCompositionItem } from 'models/catalog/aggregates/Composition'\nimport { IOrderComposition } from 'models/order/IOrderComposition'\nimport { CalcTotalsOrderComposition } from './CalcTotalsComposition'\n\nexport const ValidateComposition = () => {\n\n const obterQuantidadeDeItemNoPedido = (_orderCompositions: IOrderComposition[], _productCompositionItem: IProductCompositionItem) => {\n const itemComposition = _orderCompositions.flatMap((_orderComposition) => _orderComposition.compositionItems).find((item) => item.id === _productCompositionItem.id)\n return itemComposition?.quantity ?? 0\n }\n\n const obterQuaisItemsNaoAtendemOMinimo = (_orderCompositions: IOrderComposition[], _productComposition: IProductComposition) => {\n const itemsCompositionQueNaoAtendemOMinimo = _productComposition.compositionItems.filter((item) => {\n const quantidadeDeComposicaoItemsNoPedido = obterQuantidadeDeItemNoPedido(_orderCompositions, item)\n if (quantidadeDeComposicaoItemsNoPedido - item.min < 0) {\n //item não atendeu o minimo\n return true\n } else {\n return false\n }\n })\n return itemsCompositionQueNaoAtendemOMinimo\n }\n\n\n const verificarQuaisComposicoesCujosOsSeusItemsNaoAtendemOMinimo = (_orderCompositions: IOrderComposition[], _productCompositions: IProductComposition[]) => {\n const composicaoCujoOsItemsNaoAtendemOMinimo = _productCompositions.filter(productComposition => !!obterQuaisItemsNaoAtendemOMinimo(_orderCompositions, productComposition).length)\n return composicaoCujoOsItemsNaoAtendemOMinimo\n }\n\n const verificarQuaisComposicoesNaoAtendemOMinimo = (_orderCompositions: IOrderComposition[], _productCompositions: IProductComposition[]) => {\n const composicaoDeProdutosQuePossuemMinimos = _productCompositions.filter(_productComposition => _productComposition.min);\n const composicoesQueNaoAtendemOminimo = composicaoDeProdutosQuePossuemMinimos.filter(\n (composicaoDeProduto) => {\n // const composicaoQueEstaNoPedido = _orderCompositions.find(orderComposition => orderComposition.id === composicaoDeProduto.id);\n\n const quantidadeDeItemsMarcados = CalcTotalsOrderComposition(_orderCompositions, composicaoDeProduto);\n\n if (composicaoDeProduto.min - quantidadeDeItemsMarcados.quantity <= 0) {\n return false;\n } else {\n //não atendeu o minimo\n return true;\n }\n\n });\n return composicoesQueNaoAtendemOminimo\n }\n\n const getNotValidateCompositonsByProductComposition = (_orderCompositions: IOrderComposition[], _productCompositions: IProductComposition[]) => {\n const naoAtendemOMinimo = verificarQuaisComposicoesNaoAtendemOMinimo(_orderCompositions, _productCompositions);\n const cujoOsItemsNaoAtendemOMinimo = verificarQuaisComposicoesCujosOsSeusItemsNaoAtendemOMinimo(_orderCompositions, _productCompositions);\n const observacoesDeProdutosQueEstaoEmAlgumaDasDuasListas = _productCompositions.filter((item) => naoAtendemOMinimo.includes(item) || cujoOsItemsNaoAtendemOMinimo.includes(item));\n return observacoesDeProdutosQueEstaoEmAlgumaDasDuasListas;\n }\n\n return {\n getNotValidateCompositonsByProductComposition,\n }\n}\n\n\n\n","import { IProductComposition, IProductCompositionItem } from \"models/catalog/aggregates/Composition\"\nimport { IOrderComposition } from \"models/order/IOrderComposition\"\nimport { useCallback, useEffect, useState } from \"react\"\nimport { IProductCompositionContext } from \"../interfaces/IProductCompositionContext\"\nimport { AddOrderCompositionByProductCompositionItem } from \"../useCases/AddOrderCompositionByProductCompositionItem\"\nimport { CalcTotalsAllCompositions } from \"../useCases/CalcTotalsAllCompositions\"\nimport { CalcTotalsOrderComposition } from \"../useCases/CalcTotalsComposition\"\nimport { CalcTotalsOfCompositionItemByCompositionId } from \"../useCases/CalcTotalsOfCompositionItemByCompositionId\"\nimport { RemoveOrderCompositionByCompositionItem } from \"../useCases/RemoveOrderCompositionByCompositionItem\"\nimport { ValidateComposition } from \"../useCases/ValidateCompositions\"\n\nconst useCompositionsContext = (productCompositions: IProductComposition[]): IProductCompositionContext => {\n\n const [orderCompositions, setOrderComposition] = useState([]);\n const [unValidatedCompositions, setUnValidatedCompositions] = useState([])\n const [totals, setTotals] = useState<{ quantity: number, price: number }>({ quantity: 0, price: 0 });\n\n const addCompositionItem = useCallback(\n (productComposition: IProductComposition, productCompositionItem: IProductCompositionItem, quantity: number = 1) => {\n setOrderComposition(prev => AddOrderCompositionByProductCompositionItem(prev, productComposition, productCompositionItem, quantity))\n },\n [],\n )\n const removerCompositionItem = useCallback(\n (productCompositionId: string, productCompositionItem: IProductCompositionItem, quantity: number = 1) => {\n setOrderComposition(prev => RemoveOrderCompositionByCompositionItem(prev, productCompositionId, productCompositionItem, quantity))\n },\n [],\n )\n const getTotalsCompositionItem = useCallback(\n (productCompositionItemId: string) => {\n return CalcTotalsOfCompositionItemByCompositionId(orderCompositions, productCompositionItemId);\n },\n [orderCompositions],\n )\n const getTotalsComposition = useCallback(\n (productComposition: IProductComposition) => {\n return CalcTotalsOrderComposition(orderCompositions, productComposition);\n },\n [orderCompositions],\n )\n\n useEffect(\n () => {\n const validateComposition = ValidateComposition();\n setUnValidatedCompositions(validateComposition.getNotValidateCompositonsByProductComposition(orderCompositions, productCompositions));\n },\n [orderCompositions, productCompositions],\n )\n\n useEffect(() => {\n setTotals(CalcTotalsAllCompositions(orderCompositions));\n },\n [orderCompositions],\n )\n\n return (\n {\n orderCompositions,\n totals,\n addCompositionItem,\n removerCompositionItem,\n getTotalsCompositionItem,\n getTotalsComposition,\n unValidatedCompositions\n }\n )\n}\n\nexport default useCompositionsContext\n\n","import { IOrderComposition } from \"models/order/IOrderComposition\";\n\nexport const CalcTotalsOfCompositionItemByCompositionId = (prevOrderConposition: IOrderComposition[], productCompositionItemId: string): { quantity: number, price: number } => {\n\n const calcTotalsOfCompositionItemByCompositionId = (prevOrderComposition: IOrderComposition[], productCompositionItemId: string) => {\n\n const composition = prevOrderComposition.flatMap(_composition => _composition.compositionItems).find(_item => _item.id === productCompositionItemId)\n if (composition) {\n return { quantity: composition.quantity, price: composition.totalPrice }\n }\n return { quantity: 0, price: 0 }\n }\n\n return calcTotalsOfCompositionItemByCompositionId(prevOrderConposition, productCompositionItemId);\n}","import React, { createContext, FC, useContext, useEffect } from 'react';\nimport { IProductCompositionContext as ICompositionContext } from '../interfaces/IProductCompositionContext';\nimport { ICompositionsProviderProps } from '../interfaces/ICompositionsProviderProps';\nimport useCaseCompositions from './UseCompositionContext';\n\nconst CompositionContext = createContext({} as ICompositionContext);\n\nexport const CompositionsProvider: FC = ({ children, onChangeOrderCompositions, productCompositions, disabled }) => {\n\n const {\n orderCompositions,\n totals,\n addCompositionItem,\n removerCompositionItem,\n getTotalsCompositionItem,\n unValidatedCompositions,\n getTotalsComposition\n } = useCaseCompositions(productCompositions);\n\n useEffect(() => {\n if (onChangeOrderCompositions) {\n onChangeOrderCompositions(orderCompositions, totals, unValidatedCompositions);\n }\n }, [onChangeOrderCompositions, orderCompositions, totals, unValidatedCompositions])\n\n return (\n \n <>{children}\n \n );\n};\nexport const ProductCompositionsConsumer = CompositionContext.Consumer\n\nexport const useComposition = () => {\n const context = useContext(CompositionContext);\n return context;\n};","import React, { FC, useCallback, useEffect, useMemo, useState } from 'react'\nimport { Checkbox, Icon, Radio } from '@material-ui/core'\n\nimport { useComposition } from 'components/productComposition/context/CompositionContext'\nimport { ITotalsComposition } from 'components/productComposition/interfaces/ITotalsComposition'\nimport { IProductComposition, IProductCompositionItem } from 'models/catalog/aggregates/Composition'\nimport NumberToMoneyString from 'utils/mask/NumberToMoney'\nimport styles from './BoxProductCompositionItem.module.scss'\n\nexport interface IProductCompositionItemProps {\n productCompositionItem: IProductCompositionItem;\n productComposition: IProductComposition;\n disabledAllAdd?: boolean\n}\n\nconst BoxProductCompositionItem: FC = ({ productCompositionItem, productComposition, disabledAllAdd }) => {\n const {\n getTotalsCompositionItem,\n orderCompositions,\n addCompositionItem,\n removerCompositionItem,\n disabled\n } = useComposition();\n\n const [totalsItem, setTotalsItems] = useState({ price: 0, quantity: 0 });\n const [disabledAdd, setDisabledAdd] = useState(false)\n\n useEffect(() => {\n const newTotals = getTotalsCompositionItem(productCompositionItem.id);\n setTotalsItems(newTotals);\n }, [getTotalsCompositionItem, orderCompositions, productCompositionItem]);\n\n useEffect(() => {\n const totalCompositionItems = getTotalsCompositionItem(productCompositionItem.id);\n const maxCompositionItem = !!productCompositionItem.max && (totalCompositionItems.quantity >= productCompositionItem.max)\n if (disabledAllAdd || maxCompositionItem) {\n setDisabledAdd(true);\n } else {\n setDisabledAdd(false)\n }\n\n }, [disabledAllAdd, productCompositionItem, orderCompositions, getTotalsCompositionItem])\n\n\n const removeQuantityHandle = useCallback(\n () => {\n removerCompositionItem(productComposition.id, productCompositionItem, 1);\n },\n [removerCompositionItem, productComposition.id, productCompositionItem],\n )\n\n const addQuantityHandle = useCallback(\n () => {\n addCompositionItem(productComposition, productCompositionItem, 1);\n },\n [addCompositionItem, productComposition, productCompositionItem],\n )\n\n const onClickOption = useCallback(() => {\n if (!!totalsItem.quantity) {\n removeQuantityHandle()\n } else {\n addQuantityHandle()\n }\n }, [addQuantityHandle, removeQuantityHandle, totalsItem.quantity])\n\n const isCheckbox = useMemo(() => {\n return productComposition.compositionItems.every((item) => item.max === 1);\n }, [productComposition.compositionItems]);\n\n return (\n
\n
\n
\n {\n !disabled && (\n (productComposition.min === 1 && productComposition.max === 1) ?\n
\n \n
\n :\n isCheckbox ?\n
\n \n
\n :\n
\n \n remove\n \n {totalsItem.quantity}\n \n add\n \n
\n )\n }\n\n
\n {productCompositionItem.description}\n {!!productCompositionItem.price && ({NumberToMoneyString(productCompositionItem.price)})}\n
\n
\n
\n\n
\n {!!totalsItem.price &&
+{NumberToMoneyString(totalsItem.price)}
}\n
\n\n
\n
\n
\n )\n}\nexport default BoxProductCompositionItem","import { useComposition } from 'components/productComposition/context/CompositionContext'\nimport { IProductComposition } from 'models/catalog/aggregates/Composition'\nimport React, { FC, useEffect, useState } from 'react'\nimport BoxProductCompositionItem from '../boxProductCompositionItem/BoxProductCompositionItem'\nimport styles from './BoxProductComposition.module.scss'\n\nexport interface IBoxProductCompositionProps {\n productComposition: IProductComposition\n}\n\nconst BoxProductComposition: FC = ({ productComposition }) => {\n const { orderCompositions, getTotalsComposition } = useComposition();\n\n const [disabledAllAdd, setDisabledAllAdd] = useState(false);\n const [total, setTotal] = useState(0);\n\n useEffect(() => {\n const totalComposition = getTotalsComposition(productComposition);\n const maxComposition = !!productComposition.max && (totalComposition.quantity >= productComposition.max);\n setTotal(totalComposition.quantity);\n if (maxComposition) {\n setDisabledAllAdd(true)\n } else {\n setDisabledAllAdd(false)\n }\n }, [getTotalsComposition, orderCompositions, productComposition])\n\n return (\n
\n
\n
\n \n {productComposition.description}\n\n {!!productComposition.min &&\n 0 ? styles.obrigatorio : styles.obrigatorioChecked}>(Obrigatório)\n }\n \n \n
\n \n
\n {\n productComposition.compositionItems.map((productCompositionItem) =>\n \n )\n }\n
\n
\n
\n )\n}\nexport default BoxProductComposition","import { IProductComposition } from 'models/catalog/aggregates/Composition'\nimport React, { FC, memo } from 'react'\nimport BoxProductComposition from '../boxProductComposition/BoxProductComposition'\nimport styles from './ProductCompositionList.module.scss'\nexport interface IProductCompositionListProps {\n productCompositions: IProductComposition[]\n}\n\nconst ProductCompositionList: FC = memo(({ productCompositions }) => {\n return (\n
\n
\n {\n productCompositions.map((productComposition) => (\n \n ))\n }\n
\n
\n )\n})\n\nexport default ProductCompositionList","import { IProductComposition } from 'models/catalog/aggregates/Composition'\nimport { IOrderComposition } from 'models/order/IOrderComposition'\nimport React, { FC } from 'react'\nimport ProductCompositionList from './components/productCompositionList/ProductCompositionList'\nimport { CompositionsProvider, ProductCompositionsConsumer } from './context/CompositionContext'\nimport { ITotalsComposition } from './interfaces/ITotalsComposition'\nimport styles from './ProductCompositions.module.scss'\n\nexport interface IProductCompositionsListProps {\n onChangeOrderCompositions: (orderComposition: IOrderComposition[], totals: ITotalsComposition, unvalidatedCompositions: IProductComposition[]) => void;\n productCompositions: IProductComposition[];\n disabled?: boolean\n}\n\nconst ProductCompositions: FC = ({ onChangeOrderCompositions, productCompositions, disabled }) => {\n return (\n \n \n {\n ({ orderCompositions: orderComposition }) => (\n
\n
\n \n
\n
\n )\n }\n
\n
\n )\n}\nexport default ProductCompositions","import React, { FC, useCallback, useEffect, useMemo, useState } from 'react';\nimport { moneyMaskNumber } from 'cross-cutting/masks/money';\nimport { Close } from '@material-ui/icons';\nimport { Icon } from '@material-ui/core';\n\nimport { useCatalog } from 'context/catalog/CatalogContext';\nimport styles from './ProductDetail.module.scss';\nimport useProductDetail from './UseProductDetail';\nimport ProductCompositions from 'components/productComposition/ProductCompositions';\n\nexport interface IProductProps {\n productId: string;\n}\n\nconst ProductDetail: FC = ({ productId }) => {\n const {\n product,\n compositions,\n quantity,\n onClickAddQuantityHandle,\n onClickRemoveQuantityHandle,\n onClickAddProduct,\n onChangeCompositionHandle,\n onClickBack,\n handleChangeObservation\n } = useProductDetail({ productId });\n\n const { catalog } = useCatalog()\n\n const [hasImageError, setHasImageError] = useState(false);\n const [opacityHeader, setOpacityHeader] = useState(1);\n const [disabledAddProduct, setDisabledAddProduct] = useState(true);\n\n const hidePayButton = useMemo(() => {\n //Garden Cidade Nova\n return sessionStorage.getItem(\"@listid\")?.toString() === \"b798440e-bc00-4d82-a978-7ab7a0fe4cd6\";\n }, []);\n\n useEffect(() => {\n return () => {\n window.scrollTo({ top: document.documentElement.scrollTop - 1 });\n }\n }, [])\n\n const onScroll = useCallback(\n () => {\n const opacity = (200 - window.pageYOffset) / 200;\n if (opacity > 0) {\n setOpacityHeader(opacity);\n } else {\n setOpacityHeader(0);\n }\n },\n [],\n )\n\n useEffect(() => {\n onScroll();\n window.addEventListener(\"scroll\", onScroll);\n return () => {\n window.removeEventListener(\"scroll\", onScroll)\n }\n }, [onScroll]);\n\n useEffect(() => {\n if (!!compositions?.unvalidatedCompositions.length) {\n setDisabledAddProduct(true)\n } else {\n setDisabledAddProduct(false)\n }\n return () => {\n\n }\n }, [compositions])\n\n return (\n product ?\n
\n
\n \n\n {\n !hasImageError ?\n setHasImageError(true)}\n className={styles.imageContainer}\n /> :\n
\n no_photography\n
\n }\n\n
\n
\n {product?.name}\n
\n\n
\n {product?.description}\n
\n\n
\n {moneyMaskNumber(product?.price)}\n
\n
\n\n {product.compositions && !catalog?.hideCompositions &&\n
\n \n\n
\n {\n !!product.productGeneralObservation &&\n <>\n \n \n \n }\n
\n
\n }\n {\n (!(catalog?.enableShoppingCart === false) && !hidePayButton) &&\n
\n
\n 1)}\n onClick={onClickRemoveQuantityHandle}\n >\n remove\n \n \n {quantity}\n \n \n add\n \n
\n \n
\n }\n
\n
\n :\n
\n Carregando Produto\n
\n )\n}\nexport default ProductDetail\n","import { useCart } from 'context/cart/CartContext'\nimport { ICartItem } from 'context/cart/models/ICart'\nimport React, { FC, useState } from 'react'\nimport NumberToMoneyString from 'utils/mask/NumberToMoney'\nimport styles from './CartItem.module.scss'\nimport { Icon } from '@material-ui/core'\n\nexport interface ICartItemProps {\n cartItem: ICartItem\n totals: number\n}\n\nconst CartItem: FC = ({ cartItem, totals }) => {\n const { removeCarItem, addCartItem } = useCart();\n const [hasImageError, setHasImageError] = useState(false);\n\n return (\n
\n {\n !hasImageError ?\n \"\" setHasImageError(true)} /> :\n
\n no_photography\n
\n }\n\n
\n {cartItem.name}\n {cartItem.description &&

{cartItem.description}

}\n\n {\n !!cartItem.orderComposition?.length &&\n
\n {cartItem.orderComposition?.map((composition) => (\n
\n {composition.description.toLowerCase()}\n
\n {composition.compositionItems.map(item => (\n {item.quantity}x {item.description.toLowerCase()}
\n ))}\n
\n
\n ))}\n
\n }\n\n {NumberToMoneyString(cartItem.totalPrice)}\n
\n\n
\n
\n removeCarItem(cartItem.id, 1)}\n >\n remove\n \n \n {cartItem.quantity}\n \n addCartItem(cartItem.id, 1)}\n >\n add\n \n
\n
\n
\n )\n}\nexport default CartItem","import { useCart } from \"context/cart/CartContext\";\nimport { useCatalog } from \"context/catalog/CatalogContext\";\nimport { useUi } from \"context/ui/UIContext\";\nimport { useCallback, } from \"react\"\nimport { useHistory, useParams } from \"react-router\";\nimport SendOrderApi from \"services/Api/order/SendOrderApi\"\nimport { v4 } from \"uuid\";\n\nconst UseCartPage = () => {\n const { cartItems, totals, updateCartLocalStorage } = useCart();\n const { showLoading, hideLoading } = useUi();\n \n const { catalog } = useCatalog();\n const { push } = useHistory();\n const { url } = useParams<{ url: string }>()\n\n\n const sendPreOrder = useCallback(() => { \n const storageCart = sessionStorage.getItem(`@Meep:cart`);\n const newOrderId = v4();\n const newOrder = {\n id: newOrderId,\n items: cartItems,\n total: totals.totalPrice,\n }\n const sendOrder = SendOrderApi();\n if (catalog) {\n showLoading();\n updateCartLocalStorage(cartItems)\n sendOrder.sendPreOrder(newOrder, catalog?.id).then((response) => {\n if (window.fbq) {\n window.fbq(\"track\", \"InitiateCheckout\", {\n content_ids: newOrderId,\n num_items: cartItems.reduce((acc, item) => acc + item.quantity, 0),\n value: totals.totalPrice,\n contents: [cartItems.map(item => ({ id: item.productId, quantity: item.quantity, name: item.name }))]\n });\n }\n\n if (catalog.isMeepCard) {\n push(`/${url}/selecionarPagamento?localId=${catalog.id}&orderId=${response.data.pedidoId}`);\n } else {\n push(`/${url}/payment?orderId=${response.data.pedidoId}`);\n }\n }).finally(() => {\n hideLoading();\n })\n\n }\n },\n [cartItems, totals.totalPrice, catalog, showLoading, updateCartLocalStorage, push, url, hideLoading],\n )\n\n return {\n sendPreOrder\n }\n}\nexport default UseCartPage","import { useCart } from 'context/cart/CartContext';\nimport React, { FC } from 'react';\nimport CartItem from './cartItem/CartItem';\nimport styles from './CartPage.module.scss';\nimport UseCartPage from './UseCartPage';\nimport { Close, DeleteOutline } from '@material-ui/icons';\nimport NumberToMoneyString from 'utils/mask/NumberToMoney';\n\nexport interface ICartViewProps {\n onClickClose?: () => void\n}\n\nconst CartPage: FC = ({ onClickClose }) => {\n const { cartItems, clearCart, totals } = useCart();\n const { sendPreOrder } = UseCartPage();\n\n // const totalCart = cartItems.reduce((acc, item) => acc + item.price * item.quantity, 0)\n\n return (\n
\n
\n
\n

Carrinho

\n \n
\n
\n
\n \n
\n {cartItems.map((cartItem) => )}\n
\n
\n Total: {NumberToMoneyString(totals.totalPrice)}\n \n\n \n
\n
\n
\n )\n}\nexport default CartPage","\nimport { Icon, Modal } from '@material-ui/core';\nimport { useCart } from 'context/cart/CartContext';\nimport React, { FC, useEffect, useState } from 'react';\nimport CartPage from '../cartPage/CartPage';\nimport styles from './CartBar.module.scss';\nimport './CartBar.css';\nimport NumberToMoneyString from 'utils/mask/NumberToMoney';\n\nexport interface ICartBarProps {\n disabledSales?: boolean\n}\n\nconst CartBar: FC = () => {\n const { totals, cartItems } = useCart();\n const [mount, setMount] = useState(false);\n const [openCart, setOpenCart] = useState(false);\n\n useEffect(() => {\n if (totals?.totalQuantity) {\n setMount(true);\n } else {\n setOpenCart(false);\n }\n return () => {\n\n }\n }, [totals]);\n\n const totalCart = cartItems.reduce((acc, item) => acc + item.price * item.quantity, 0)\n\n if (!mount) return <>;\n\n return (\n <>\n \n setOpenCart(false)}>\n setOpenCart(false)} />\n \n \n )\n}\nexport default CartBar","const FacebookPixel = (() => {\n const init = (pixelId: string) => {\n const script = document.createElement('script');\n script.type = \"text/javascript\"\n script.innerHTML = `!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, document,'script','https://connect.facebook.net/en_US/fbevents.js');`\n script.async = true;\n\n document.head.appendChild(script);\n\n if (window.fbq) {\n window.fbq(\"init\", pixelId, { autoConfig: true, debug: false });\n window.fbq(\"track\", \"PageView\");\n }\n };\n\n return {\n init: init\n };\n})();\n\nexport default FacebookPixel;","import { Store } from 'models/catalog/aggregates/Store'\nimport React, { useCallback, useEffect, useState } from 'react'\nimport { useHistory, useParams } from 'react-router-dom'\nimport { useCatalog } from '../../../../context/catalog/CatalogContext'\nimport Header from './components/Header/Header'\nimport styles from './ProductsPage.module.scss'\nimport { PrivateHeader } from 'pages/private/Components/privateHeader/PrivateHeader'\nimport { IProductItem } from './components/productList/interfaces/IProductItem'\nimport ProductListCategory from './components/productListCategory/ProductListCategory'\nimport { useParamsConfig } from 'context/paramsConfig/ParamsConfigContext'\nimport { SearchOutlined } from '@material-ui/icons'\nimport { SeccionedProduct } from 'models/catalog/aggregates/SeccionedProduct'\nimport { Modal } from '@material-ui/core'\nimport ProductDetail from '../productDetail/ProductDetail'\nimport CartBar from 'components/cart/cartBar/CartBar'\nimport FacebookPixel from 'components/tracking/facebookPixel/FacebookPixel'\nimport StoreApi from \"../../../../services/Api/local/LocalApi\";\n\nconst ProductsPage = () => {\n const { catalog, onLoading } = useCatalog();\n const { storeId, url, productId } = useParams<{ storeId: string, url: string, productId?: string }>()\n const { setParamsLocalId } = useParamsConfig()\n const { replace } = useHistory();\n const [store, setStore] = useState();\n const [filtered, setFiltered] = useState([]);\n const [filterText, setFilterText] = useState('');\n const { goBack } = useHistory();\n\n useEffect(() => {\n if (!filterText.trim()) {\n setFiltered(store?.seccionedProduct || []);\n } else {\n const normalizedFilterText = filterText\n .normalize(\"NFD\")\n .replace(/[\\u0300-\\u036f]/g, \"\")\n .toLowerCase();\n\n setFiltered(store?.seccionedProduct.map(x => ({\n ...x,\n products: x.products.filter(y => {\n const normalizedProductName = y.name\n .normalize(\"NFD\")\n .replace(/[\\u0300-\\u036f]/g, \"\")\n .toLowerCase();\n\n return normalizedProductName.toLowerCase().includes(normalizedFilterText)\n })\n })) || [])\n }\n }, [filterText, store]);\n\n useEffect(() => {\n if (catalog && storeId) {\n const _local = catalog.stores.find(_store => _store.id === storeId)\n setStore(_local);\n setParamsLocalId(_local?.id);\n\n if (!window.fbq) {\n getFacebookPixel(catalog.id);\n }\n }\n }, [catalog, setParamsLocalId, storeId]);\n\n const onClickBack = useCallback(() => {\n goBack(); \n }, [goBack]);\n\n const onClickProductItemHandle = useCallback((product: IProductItem) => {\n if (window.fbq) {\n window.fbq(\"trackCustom\", \"ProductClicked\", {\n content_ids: product.id,\n content_name: product.name,\n value: product.price,\n content_category: product.category || ''\n });\n }\n replace(`/${url}/${storeId}/product/${product.id}`)\n }, [replace, url, storeId]);\n\n const getFacebookPixel = async (storeId: string) => {\n const pixelId = await StoreApi().getFacebookPixelId(storeId);\n if (pixelId) {\n FacebookPixel.init(pixelId);\n }\n }\n\n return (\n
\n 1 ? onClickBack : undefined}>\n {\n onLoading ?\n
Carregando
\n :\n (\n store &&\n
\n
\n \n
\n\n
\n
\n setFilterText(e.target.value)} />\n \n
\n
\n\n
\n
\n !!item.products.length)}\n title={store.name}\n onClickBack={onClickBack}\n onClickProduct={onClickProductItemHandle}\n />\n
\n
\n
\n )\n }\n\n \n \n <>\n {\n !!productId && \n }\n \n \n
\n )\n}\nexport default ProductsPage","import { Button, IconButton, Modal, Paper, Tooltip } from \"@material-ui/core\";\nimport {\n AddCircle,\n AttachMoney,\n CloseOutlined,\n DeleteOutline,\n EditOutlined,\n} from \"@material-ui/icons\";\nimport { Skeleton } from \"@mui/material\";\nimport { ReactComponent as Alert } from \"assets/icons/alert.svg\";\nimport { ReactComponent as Contract } from \"assets/icons/contract.svg\";\nimport { ReactComponent as Empty } from \"assets/image/empty.svg\";\nimport { useCatalog } from \"context/catalog/CatalogContext\";\nimport { useUi } from \"context/ui/UIContext\";\nimport {\n IWalletDependents,\n NewDependentRequest,\n RemoveDependentRequest,\n TagStatus,\n} from \"models/wallet/IWallet\";\nimport { PrivateHeader } from \"pages/private/Components/privateHeader/PrivateHeader\";\nimport React, { FC, useCallback, useEffect, useState } from \"react\";\nimport { useHistory, useParams } from \"react-router-dom\";\nimport { WalletApi } from \"services/Api/wallet/WalletApi\";\nimport NumberToMoneyString from \"utils/mask/NumberToMoney\";\nimport NewTagForm from \"../../tag/components/newTagForm/NewTagForm\";\nimport Tag from \"../../tag/Tag\";\nimport styles from \"./Dependents.module.scss\";\n\nexport interface IDependents {}\n\nconst Dependents: FC = ({}) => {\n const { walletId, storeId, url } = useParams<{\n storeId: string;\n walletId: string;\n url: string;\n }>();\n const { isMobile, toast, showLoading, hideLoading } = useUi();\n const { catalog } = useCatalog();\n const history = useHistory();\n\n const [onLoading, setOnLoading] = useState(false);\n const [dependents, setDependents] = useState(\n null\n );\n const [dependentToEdit, setDependentToEdit] =\n useState(null);\n const [showAddDependent, setShowAddDependent] = useState(false);\n const [showDeleteModal, setShowDeleteModal] = useState(false);\n const [dependentToDelete, setDependentToDelete] =\n useState(null);\n\n const getDependents = useCallback(async () => {\n const walletApi = WalletApi();\n setOnLoading(true);\n walletApi\n .getDependents(walletId)\n .then((response) => {\n setDependents(response.data);\n })\n .catch(() => {\n history.goBack();\n })\n .finally(() => {\n setOnLoading(false);\n });\n }, [history, walletId]);\n\n useEffect(() => {\n getDependents();\n }, [getDependents]);\n\n const handleSubmitNewTag = useCallback(\n (password: string, tag: string, closeModal: () => void, name?: string) => {\n const walletApi = WalletApi();\n showLoading();\n const params: NewDependentRequest = {\n CardName: name!,\n Password: password,\n TAG: tag,\n LocalId: storeId,\n WalletId: walletId,\n };\n walletApi\n .addDependent(params)\n .then((response) => {\n if (response.status === 200) {\n closeModal();\n setShowAddDependent(false);\n toast(\"Tag vinculada com sucesso\", \"success\");\n getDependents();\n }\n })\n .finally(() => {\n hideLoading();\n });\n },\n [getDependents, hideLoading, showLoading, storeId, toast, walletId]\n );\n\n const handleEditDependent = useCallback((edit: IWalletDependents) => {\n setDependentToEdit(edit);\n }, []);\n\n const closeModal = useCallback(() => {\n setDependentToDelete(null);\n setShowDeleteModal(false);\n }, []);\n\n const handleDelete = useCallback((dependent: IWalletDependents) => {\n setDependentToDelete(dependent);\n setShowDeleteModal(true);\n }, []);\n\n const onConfirmDelete = useCallback(() => {\n const walletApi = WalletApi();\n showLoading();\n const params: RemoveDependentRequest = {\n LocalId: storeId,\n WalletId: walletId,\n UserId: dependentToDelete?.Id ?? \"\",\n TAG: dependentToDelete?.TAG ?? \"\",\n };\n walletApi\n .removeDependent(params)\n .then((response) => {\n if (response.status === 200) {\n closeModal();\n setShowDeleteModal(false);\n toast(\"Dependente removido com sucesso\", \"success\");\n getDependents();\n }\n })\n .finally(() => {\n hideLoading();\n });\n }, [\n closeModal,\n dependentToDelete,\n getDependents,\n hideLoading,\n showLoading,\n storeId,\n toast,\n walletId,\n ]);\n\n const goToRecharge = useCallback(\n (walletId: string) => {\n history.push(`/${url}/${storeId}/wallet/recharge/${walletId}`);\n },\n [history, storeId, url]\n );\n\n const goToExtract = useCallback(\n (walletId: string) => {\n history.push(`/${url}/${storeId}/wallet/extract/${walletId}`);\n },\n [history, storeId, url]\n );\n\n return (\n
\n \n \n \n \n Dependentes\n \n setShowAddDependent(true)}\n fullWidth={isMobile}\n style={{ fontSize: isMobile ? \"14px\" : undefined }}\n >\n Adicionar dependentes\n \n \n
\n\n
\n {onLoading ? (\n \n ) : dependents?.length ? (\n dependents.map((it, key) => (\n
\n
\n \n {it.Name}\n \n
\n \n goToRecharge(it.Id)}>\n \n \n \n\n \n \n goToExtract(it.Id)}\n style={{\n width: isMobile ? \"18px\" : undefined,\n height: isMobile ? \"18px\" : undefined,\n }}\n />\n \n \n\n \n handleEditDependent(it)}>\n \n \n \n\n \n handleDelete(it)}>\n \n \n \n
\n
\n {`Tag atual: ${\n it?.TAG &&\n it.TAG.length === 8 &&\n it.Status === TagStatus.Active\n ? it.TAG.replace(/([A-Za-z0-9]{2})(?=[A-Za-z0-9])/g, `$1-`)\n : \"Sem Tag\"\n }`}

\n
{`${NumberToMoneyString(it.Balance)}`}
\n
\n ))\n ) : (\n
\n \n

Nenhum dependente encontrado

\n
\n )}\n
\n \n setShowAddDependent(false)}\n className={styles.newDependentModal}\n >\n setShowAddDependent(false)}\n handleSubmitNewTag={handleSubmitNewTag}\n />\n \n setDependentToEdit(null)}\n className={styles.tagModal}\n >\n setDependentToEdit(null)}\n tag={\n dependentToEdit?.Status === TagStatus.Active\n ? dependentToEdit?.TAG\n : undefined\n }\n walletId={dependentToEdit?.Id ?? \"\"}\n dependent={dependentToEdit}\n cardName={dependentToEdit?.Name ?? \"\"}\n refresh={getDependents}\n />\n \n \n \n
\n {`Excluir dependente`}\n \n \n \n
\n \n

{`Deseja realmente excluir o dependente`}

\n \n \n \n \n \n );\n};\n\nexport default Dependents;\n","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgPixContained = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 26,\n height: 26,\n viewBox: \"0 0 26 26\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.366 19.0287C18.9271 19.0297 18.4923 18.9438 18.0868 18.7759C17.6813 18.608 17.313 18.3614 17.0033 18.0505L13.5907 14.638C13.4699 14.5232 13.3097 14.4592 13.1431 14.4592C12.9764 14.4592 12.8162 14.5232 12.6954 14.638L9.26988 18.0635C8.96022 18.3746 8.59197 18.6212 8.18642 18.7891C7.78087 18.957 7.34606 19.0429 6.90713 19.0417H6.23438L10.5569 23.3642C11.9056 24.713 14.0945 24.713 15.4433 23.3642L19.7771 19.0287H19.366ZM6.90713 6.95824C7.80088 6.95824 8.63937 7.30599 9.26988 7.93649L12.6954 11.362C12.7542 11.4209 12.8241 11.4677 12.9011 11.4996C12.9781 11.5316 13.0606 11.548 13.1439 11.548C13.2272 11.548 13.3097 11.5316 13.3866 11.4996C13.4636 11.4677 13.5335 11.4209 13.5924 11.362L17.0049 7.94949C17.3143 7.6386 17.6823 7.39208 18.0876 7.22418C18.4928 7.05627 18.9273 6.97031 19.366 6.97124H19.7771L15.4433 2.63736C14.7951 1.98968 13.9163 1.62585 13.0001 1.62585C12.0838 1.62585 11.205 1.98968 10.5569 2.63736L6.23438 6.95986L6.90713 6.95824Z\",\n fill: \"#32BCAD\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.3618 10.556L20.7423 7.93648C20.6835 7.96063 20.6206 7.97332 20.5571 7.97386H19.3659C18.7501 7.97386 18.1472 8.22411 17.7133 8.65961L14.3008 12.0721C14.1491 12.2247 13.9686 12.3457 13.7699 12.4283C13.5712 12.5109 13.3582 12.5535 13.143 12.5535C12.9278 12.5535 12.7148 12.5109 12.5161 12.4283C12.3174 12.3457 12.1369 12.2247 11.9852 12.0721L8.55969 8.64499C8.1202 8.20731 7.52568 7.96085 6.90544 7.95923H5.44294C5.38231 7.95875 5.32228 7.94719 5.26581 7.92511L2.63656 10.556C1.28781 11.9047 1.28781 14.0936 2.63656 15.444L5.26581 18.0732C5.32166 18.0508 5.38113 18.0386 5.44131 18.0375H6.90544C7.52294 18.0375 8.12419 17.7889 8.55969 17.3534L11.9836 13.9262C12.296 13.6288 12.7108 13.4629 13.1422 13.4629C13.5736 13.4629 13.9884 13.6288 14.3008 13.9262L17.7133 17.3387C18.1472 17.7742 18.7501 18.0229 19.3659 18.0229H20.5571C20.6221 18.0229 20.6854 18.0391 20.7423 18.0619L23.3618 15.4424C24.7106 14.0936 24.7106 11.9047 23.3618 10.556Z\",\n fill: \"#32BCAD\"\n })));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgPixContained, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/pix_contained.37a861fd.svg\";\nexport { ForwardRef as ReactComponent };","import React, { FC, useCallback, useEffect, useRef, useState } from \"react\";\nimport styles from \"./PaymentTypeSelect.module.scss\";\nimport { CreditCardStatus, ICardItem } from \"models/payment/ICard\";\nimport { AddCircle, ChevronRight, CloseOutlined } from \"@material-ui/icons\";\nimport { Button, IconButton, Modal } from \"@material-ui/core\";\nimport CardApi from \"services/Api/card/CardApi\";\nimport { CardItem } from \"components/CardItem/CardItem\";\nimport { GetCardTypeImage } from \"components/getTypeCard/GetTypeCard\";\nimport { NewCard } from \"pages/newCard/NewCard\";\nimport { ReactComponent as Pix } from \"assets/icons/pix_contained.svg\";\nimport { useUi } from \"context/ui/UIContext\";\n\nexport interface IPaymentTypeSelect {\n type?: \"Pix\" | \"Credit\" | null;\n card?: ICardItem | null;\n handlePaymentType: (type: \"Pix\" | \"Credit\", _card: ICardItem | null) => void;\n}\n\nconst PaymentTypeSelect: FC = ({\n type,\n card,\n handlePaymentType,\n}) => {\n const [selectCardOpen, setselectCardOpen] = useState(false);\n const [openAddCard, setopenAddCard] = useState(false);\n const [cards, setcard] = useState([]);\n const { isMobile } = useUi();\n\n const firstLoad = useRef(true);\n\n const getCards = useCallback(() => {\n CardApi.getCards().then((response) => {\n if (response.status === 200) {\n setcard(response.data);\n }\n });\n }, []);\n\n useEffect(() => {\n if (firstLoad.current) {\n firstLoad.current = false;\n getCards();\n }\n }, [getCards]);\n\n const onCloseAddNewCard = useCallback(() => {\n setopenAddCard(false);\n getCards();\n }, [getCards]);\n\n const selectPaymentType = useCallback(\n (type: \"Pix\" | \"Credit\", _card: ICardItem | null) => {\n handlePaymentType(type, _card);\n setselectCardOpen(false);\n },\n [handlePaymentType]\n );\n\n return (\n \n setselectCardOpen(true)}\n >\n {type === \"Credit\" ? (\n
\n Cartão de crédito:{\" \"}\n {`${card?.brandDescription} **** ${card?.finalNumber}`}\n
\n ) : type === \"Pix\" ? (\n
Pix
\n ) : (\n
\n Selecione uma forma de pagamento\n
\n )}\n \n \n {\n setselectCardOpen(false);\n }}\n className={styles.modalContainer}\n >\n
\n
\n

\n Forma de pagamento\n

\n setselectCardOpen(false)}>\n \n \n
\n
\n setopenAddCard(true)}\n >\n Adicionar cartão\n \n \n {cards?.length > 0 &&\n cards.map((card) => (\n selectPaymentType(\"Credit\", card)}\n autenticated={\n card.status === CreditCardStatus.VALIDATED ? true : false\n }\n key={card.id}\n iconName=\"credit_card\"\n />\n ))}\n selectPaymentType(\"Pix\", null)}\n >\n \n PIX\n \n
\n
\n \n setopenAddCard(false)}\n className={styles.modalCardContainer}\n >\n onCloseAddNewCard()}\n onConfirm={() => onCloseAddNewCard()}\n title=\"Adicionar cartão\"\n />\n \n \n );\n};\n\nexport default PaymentTypeSelect;\n","export interface ICreateDefferedPromise {\n promise: Promise;\n resolver: (value: T) => void;\n rejecter: (error: any) => void;\n}\n\nexport function createDefferedPromise(): ICreateDefferedPromise {\n let resolve: (value: T) => void = () => {};\n let reject: (error: any) => void = () => {};\n\n const promise = new Promise((res, rej) => {\n resolve = res;\n reject = rej;\n });\n\n return {\n promise,\n resolver: resolve,\n rejecter: reject,\n };\n}\n","import { Button, IconButton, Modal, Paper } from \"@material-ui/core\";\nimport { CloseOutlined } from \"@material-ui/icons\";\nimport { Skeleton } from \"@mui/material\";\nimport { ReactComponent as Copy } from \"assets/icons/copy.svg\";\nimport { ReactComponent as Alert } from \"assets/icons/alert.svg\";\nimport { useUi } from \"context/ui/UIContext\";\nimport {\n MeepPIXEnum,\n PixRechargeRequest,\n PixStatusResponse,\n} from \"models/wallet/IWallet\";\nimport React, {\n forwardRef,\n ForwardRefRenderFunction,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { WalletApi } from \"services/Api/wallet/WalletApi\";\nimport { createDefferedPromise } from \"utils/DefferedPromise\";\nimport NumberToMoneyString from \"utils/mask/NumberToMoney\";\nimport styles from \"./PixRecharge.module.scss\";\n\nconst walletApi = WalletApi();\n\nconst REQUEST_TIMER_DELAY = 5;\nconst PIX_EXPIRATION_TIMER = 360;\n\nlet requestDelayTimeout: NodeJS.Timeout;\nlet expirationTimeout: NodeJS.Timeout;\n\nexport interface IPixHandler {\n open(amount: number, walletId: string, localId: string): Promise;\n}\n\nexport interface IPix {}\n\nconst PixRecharge: ForwardRefRenderFunction = ({}, ref) => {\n const deffered = useRef(createDefferedPromise());\n\n const { toast, isMobile } = useUi();\n\n const [visible, setVisible] = useState(false);\n const [loading, setLoading] = useState(false);\n const [showCancelModal, setShowCancelModal] = useState(false);\n const [pixStatus, setPixStatus] = useState(null);\n const [isActiveRequestTimer, setIsActiveRequestTimer] = useState(false);\n const [expirationCounter, setExpirationCounter] =\n useState(PIX_EXPIRATION_TIMER);\n const [isActiveExpirationTimer, setIsActiveExpirationTimer] = useState(true);\n const [requestTimerDelayCounter, setRequestTimerDelayCounter] =\n useState(REQUEST_TIMER_DELAY);\n\n const pixPaymentStatus = useRef(null);\n const paymentId = useRef(null);\n\n const startRequestTimer = useCallback(() => {\n setIsActiveExpirationTimer(true);\n setExpirationCounter(PIX_EXPIRATION_TIMER);\n setRequestTimerDelayCounter(REQUEST_TIMER_DELAY);\n setIsActiveRequestTimer(true);\n }, []);\n\n const resetExpirationTimer = useCallback(() => {\n setPixStatus(null);\n clearTimeout(expirationTimeout);\n setIsActiveExpirationTimer(false);\n }, []);\n\n const resetRequestTimer = useCallback(() => {\n clearTimeout(requestDelayTimeout);\n setIsActiveRequestTimer(false);\n setRequestTimerDelayCounter(REQUEST_TIMER_DELAY);\n }, []);\n\n useEffect(() => {\n if (isActiveRequestTimer && requestTimerDelayCounter > 0 && visible) {\n requestDelayTimeout = setTimeout(() => {\n setRequestTimerDelayCounter((prev) => prev - 1);\n }, 1000);\n } else if (isActiveRequestTimer && requestTimerDelayCounter === 0) {\n setRequestTimerDelayCounter(REQUEST_TIMER_DELAY);\n }\n\n return () => {\n clearTimeout(requestDelayTimeout);\n };\n }, [requestTimerDelayCounter, isActiveRequestTimer, visible]);\n\n const successPix = useCallback(() => {\n setVisible(false);\n resetExpirationTimer();\n setPixStatus(null);\n paymentId.current = null;\n pixPaymentStatus.current = null;\n deffered.current.resolver(\"Recarga aprovada\");\n }, [resetExpirationTimer]);\n\n const cancelPixPayment = useCallback(\n async (message: string) => {\n paymentId.current = null;\n pixPaymentStatus.current = null;\n setVisible(false);\n resetExpirationTimer();\n setShowCancelModal(false);\n setPixStatus(null);\n deffered.current?.rejecter(message);\n },\n [resetExpirationTimer]\n );\n\n const getPixStatus = useCallback(\n async (_paymentId: string) => {\n try {\n const response = await walletApi.getPixStatus(_paymentId);\n\n if (response.data.StatusDescription === \"pending\") {\n setRequestTimerDelayCounter(REQUEST_TIMER_DELAY);\n } else if (response.data.StatusDescription === \"cancelled\") {\n resetRequestTimer();\n\n cancelPixPayment(\"QRCode cancelado\");\n } else if (response.data.StatusDescription === \"approved\") {\n resetRequestTimer();\n\n successPix();\n }\n } catch (error) {\n pixPaymentStatus.current = \"pending\";\n }\n },\n [cancelPixPayment, resetRequestTimer, successPix]\n );\n\n useEffect(() => {\n if (isActiveExpirationTimer && expirationCounter > 0 && visible) {\n expirationTimeout = setTimeout(() => {\n setExpirationCounter((prev) => prev - 1);\n }, 1000);\n } else if (isActiveExpirationTimer && expirationCounter === 0) {\n cancelPixPayment(\"Tempo de pagamento esgotado\");\n }\n\n return () => {\n clearTimeout(expirationTimeout);\n };\n }, [\n cancelPixPayment,\n expirationCounter,\n isActiveExpirationTimer,\n resetExpirationTimer,\n visible,\n ]);\n\n useEffect(() => {\n if (!isActiveExpirationTimer && visible) {\n cancelPixPayment(\"Tempo de pagamento esgotado\");\n }\n }, [cancelPixPayment, isActiveExpirationTimer, visible]);\n\n useEffect(() => {\n if (\n isActiveRequestTimer &&\n requestTimerDelayCounter === 0 &&\n paymentId.current &&\n visible\n ) {\n getPixStatus(paymentId.current);\n }\n }, [\n requestTimerDelayCounter,\n isActiveRequestTimer,\n pixStatus,\n visible,\n getPixStatus,\n ]);\n\n const getPixPayment = useCallback(\n async (amount: number, walletId: string, localId: string) => {\n try {\n setLoading(true);\n setPixStatus(null);\n pixPaymentStatus.current = null;\n const payload: PixRechargeRequest = {\n Amount: amount,\n LocalClientId: localId,\n WalletId: walletId,\n };\n\n const result = await walletApi.createPixRecharge(payload);\n\n if (result.status !== 200) {\n cancelPixPayment(\"Falha ao obter os dados do pix\");\n }\n\n paymentId.current = result.data.OrderId;\n\n pixPaymentStatus.current = \"pending\";\n // pixPaymentStatus.current = result.data.OrderStatusDescription;\n\n const parseResponse: PixStatusResponse = {\n OrderId: result.data.OrderId,\n Amount: amount,\n StautsId: result.data.OrderStatusId,\n StatusDescription: result.data.OrderStatusDescription,\n TransactionId: \"\",\n IsRechargeMade: false,\n WalletBalance: 0,\n QrCodeLink: result.data.QrCodeLink,\n QrCodeBase64: result.data.QrCodeBase64,\n PixPaymentOrderStatus: result.data.OrderStatusDescription,\n };\n\n setPixStatus(parseResponse);\n } catch (error) {\n cancelPixPayment(\n (error as any)?.response?.data?.message ??\n \"Falha ao obter os dados do pix\"\n );\n } finally {\n setLoading(false);\n }\n },\n [cancelPixPayment]\n );\n\n const open = useCallback(\n (amount: number, walletId: string, localId: string) => {\n pixPaymentStatus.current = null;\n setPixStatus(null);\n getPixPayment(amount, walletId, localId);\n\n startRequestTimer();\n setVisible(true);\n\n deffered.current = createDefferedPromise();\n return deffered.current.promise;\n },\n [getPixPayment, startRequestTimer]\n );\n\n useImperativeHandle(ref, () => ({ open }));\n\n const copyPixToClipboard = useCallback(() => {\n if (pixStatus?.QrCodeLink) {\n navigator.clipboard.writeText(pixStatus.QrCodeLink);\n toast(\"Código copiado para área de transferência\", \"success\");\n }\n }, [pixStatus, toast]);\n\n const closeModal = useCallback(() => {\n setShowCancelModal(false);\n }, []);\n\n const onClickCancel = useCallback(() => {\n setShowCancelModal(true);\n }, []);\n\n const [minuteLeft, minuteRight] = useMemo(\n () =>\n String(Math.floor(expirationCounter / 60))\n .padStart(2, \"0\")\n .split(\"\"),\n [expirationCounter]\n );\n const [secondLeft, secondRight] = useMemo(\n () =>\n String(expirationCounter % 60)\n .padStart(2, \"0\")\n .split(\"\"),\n [expirationCounter]\n );\n\n return (\n \n
\n
\n Recarga via PIX\n \n \n \n
\n
\n Faça o pagamento pelo seu banco favorito e não se preocupe, seu\n pagamento será validado automaticamente\n
\n
\n {loading || !pixStatus ? (\n \n \n \n ) : (\n \n )}\n
\n
\n {loading || !pixStatus ? (\n \n ) : (\n NumberToMoneyString(Number(pixStatus?.Amount ?? \"0\"))\n )}\n
\n
\n
\n Expira em:\n \n
\n {minuteLeft}\n {minuteRight}\n
\n :\n
\n {secondLeft}\n {secondRight}\n
\n
\n
\n
\n
\n \n {loading || !pixStatus ? (\n \n \n \n ) : (\n

{pixStatus?.QrCodeLink}

\n )}\n\n \n \n Copiar código\n \n \n Cancelar\n \n
\n \n \n
\n Cancelar recarga\n \n \n \n
\n \n

Deseja realmente cancelar a recarga?

\n cancelPixPayment(\"Cancelado pelo usuário\")}\n >\n Cancelar\n \n \n
\n \n
\n
\n );\n};\n\nexport default forwardRef(PixRecharge);\n","import { Button, TextField } from \"@material-ui/core\";\nimport { useCatalog } from \"context/catalog/CatalogContext\";\nimport { useUi } from \"context/ui/UIContext\";\nimport { ICardItem } from \"models/payment/ICard\";\nimport { CreditRechargeRequest } from \"models/wallet/IWallet\";\nimport { PrivateHeader } from \"pages/private/Components/privateHeader/PrivateHeader\";\nimport React, { ChangeEvent, FC, useCallback, useRef, useState } from \"react\";\nimport { useHistory, useParams } from \"react-router-dom\";\nimport { WalletApi } from \"services/Api/wallet/WalletApi\";\nimport PaymentTypeSelect from \"./components/paymentTypeSelect/PaymentTypeSelect\";\nimport styles from \"./Recharge.module.scss\";\nimport PixRecharge, { IPixHandler } from \"./components/pixRecharge/PixRecharge\";\n\nexport interface IRecharge {}\n\nconst Recharge: FC = ({}) => {\n const { storeId, walletId } = useParams<{\n storeId: string;\n walletId: string;\n }>();\n const { catalog, onLoading } = useCatalog();\n const history = useHistory();\n const { toast, showLoading, hideLoading, toastFullScreen, isMobile } =\n useUi();\n\n const pixRef = useRef(null);\n\n const valueRef = useRef(null);\n\n const [rechargeValue, setRechargeValue] = useState(\"\");\n const [paymentType, setpaymentType] = useState<\"Pix\" | \"Credit\" | null>(null);\n const [card, setCard] = useState(null);\n\n const handlePaymentType = useCallback(\n (type: \"Pix\" | \"Credit\", _card: ICardItem | null) => {\n setpaymentType(type);\n setCard(_card);\n },\n []\n );\n\n const inputMoneyMask = useCallback(\n (value?: string) => {\n if (!value) {\n return undefined;\n }\n value = value.replace(/\\D/g, \"\");\n while (value.length < 3) {\n value = \"0\" + value;\n }\n value = value.replace(/^0+(?=\\d{3,})/, \"\");\n const formatWithThousandSeparator = (val: string) => {\n return val.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \".\");\n };\n const maskedValue =\n \"R$ \" +\n formatWithThousandSeparator(value.slice(0, -2)) +\n \",\" +\n value.slice(-2);\n\n if (value === \"000\") {\n if (valueRef && valueRef.current) {\n valueRef.current.value = \"\";\n }\n return undefined;\n }\n return maskedValue;\n },\n [valueRef]\n );\n\n const handleChangeValue = useCallback(\n (ev: ChangeEvent) => {\n let value = ev.target.value;\n value = value.replace(/[^\\d]/g, \"\");\n value = value.slice(0, -2) + \",\" + value.slice(-2);\n value = value.split(\",\")[0].length === 0 ? \"0\" + value : value;\n\n const price = parseFloat(value.replace(\",\", \".\"));\n\n setRechargeValue(price === 0 ? \"\" : value);\n },\n []\n );\n\n const handleSubmitPayment = useCallback(async () => {\n const value = rechargeValue.length\n ? parseFloat(rechargeValue.replace(\",\", \".\"))\n : 0;\n\n if (value < 1) {\n toast(\"Recarga mínima R$1,00\", \"error\");\n } else if (!paymentType) {\n toast(\"Selecione uma forma de pagamento\", \"error\");\n } else {\n if (paymentType === \"Pix\") {\n try {\n await pixRef.current?.open(value, walletId, storeId);\n toastFullScreen(\n \"Recarga efetuada com sucesso!\",\n \"check_circle_outline\",\n \"success\",\n 3000,\n () => history.goBack(),\n undefined,\n isMobile ? 150 : 250,\n isMobile ? 24 : 36\n );\n } catch (error) {\n if (!(error as string)?.includes(\"Cancelado pelo usuário\")) {\n toast(error as string, \"error\");\n }\n }\n } else if (paymentType === \"Credit\") {\n if (!card) {\n toast(\"Selecione um cartão de crédito\", \"error\");\n } else {\n const walletApi = WalletApi();\n showLoading();\n const rechargeOrder: CreditRechargeRequest = {\n Amount: value,\n CreditCardId: card.id,\n LocalClientId: storeId,\n WalletId: walletId,\n };\n walletApi\n .creditRecharge(rechargeOrder)\n .then((response) => {\n if (response.status === 200) {\n toastFullScreen(\n \"Recarga efetuada com sucesso!\",\n \"check_circle_outline\",\n \"success\",\n 3000,\n () => history.goBack(),\n undefined,\n isMobile ? 150 : 250,\n isMobile ? 24 : 36\n );\n }\n })\n .finally(() => {\n hideLoading();\n });\n }\n }\n }\n }, [\n card,\n hideLoading,\n history,\n isMobile,\n paymentType,\n rechargeValue,\n showLoading,\n storeId,\n toast,\n toastFullScreen,\n walletId,\n ]);\n\n return (\n
\n \n \n

Recarga

\n
\n

Valor da recarga

\n \n
\n
\n

\n Forma de pagamento\n

\n \n \n
\n
\n \n \n );\n};\n\nexport default Recharge;\n","import { Button, Select } from \"@material-ui/core\";\nimport { ExpandMore } from \"@material-ui/icons\";\nimport { MenuItem, Pagination, TextField } from \"@mui/material\";\nimport { useCatalog } from \"context/catalog/CatalogContext\";\nimport { useUi } from \"context/ui/UIContext\";\nimport {\n IExtractItem,\n IExtractParams,\n IWalletExtract,\n TagStatus,\n TransactionType,\n} from \"models/wallet/IWallet\";\nimport { PrivateHeader } from \"pages/private/Components/privateHeader/PrivateHeader\";\nimport React, {\n ChangeEvent,\n FC,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { useHistory, useParams } from \"react-router-dom\";\nimport { WalletApi } from \"services/Api/wallet/WalletApi\";\nimport Utils from \"utils/utils\";\nimport styles from \"./Extract.module.scss\";\nimport NumberToMoneyString from \"utils/mask/NumberToMoney\";\nimport { hideCPF } from \"utils/mask/cpf\";\n\ntype Period = \"15\" | \"30\" | \"60\" | \"90\";\n\ninterface ExtractFilter {\n startDate?: string;\n endDate?: string;\n page?: number;\n pageSize?: number;\n}\n\nexport interface IExtract {}\n\nconst Extract: FC = ({}) => {\n const history = useHistory();\n const { catalog, onLoading: onLoadingCatalog } = useCatalog();\n const { showLoading, hideLoading, isMobile, toast } = useUi();\n const { storeId, walletId } = useParams<{\n storeId: string;\n walletId: string;\n }>();\n\n const [period, setPeriod] = useState(null);\n const [extract, setExtract] = useState();\n const [filter, setFilter] = useState({});\n\n const firstLoad = useRef(true);\n\n const changeHandleDate = useCallback((ev: ChangeEvent) => {\n if (!!ev.target?.name) {\n const selectedDateTime = ev.target?.value.length\n ? new Date(ev.target?.value)\n : new Date();\n const dateTimeInUTC = selectedDateTime.toISOString();\n setFilter((prev) => ({\n ...prev,\n [ev.target?.name]: ev.target?.value.length ? dateTimeInUTC : \"\",\n }));\n setPeriod(null);\n }\n }, []);\n\n const getExtract = useCallback(\n (_filter: ExtractFilter) => {\n const walletApi = WalletApi();\n\n if (_filter.startDate && _filter.endDate) {\n const startDate = new Date(_filter.startDate);\n const endDate = new Date(_filter.endDate);\n const diffInDays = (endDate.getTime() - startDate.getTime()) / (1000 * 60 * 60 * 24);\n\n if (diffInDays > 90) {\n toast(\"O período máximo permitido é de 90 dias.\", \"error\");\n return;\n }\n }\n\n showLoading();\n const payload: IExtractParams = {\n LocalClientId: storeId,\n page: _filter.page ?? 0,\n pageSize: _filter.pageSize ?? 10,\n WalletId: walletId,\n endDate: _filter.endDate,\n startDate: _filter.startDate,\n };\n\n firstLoad.current = false;\n\n walletApi\n .getExtract(payload)\n .then((response) => {\n const TAG = response.data?.TAG;\n setExtract({\n ...response.data,\n TAG:\n response.data?.Status === TagStatus.Active\n ? TAG.length === 8\n ? TAG\n : \"\"\n : \"\",\n });\n })\n .catch(() => {\n history.goBack();\n })\n .finally(() => {\n hideLoading();\n });\n },\n [hideLoading, history, showLoading, storeId, walletId]\n );\n\n useEffect(() => {\n if (firstLoad.current) {\n getExtract({});\n }\n }, [getExtract, hideLoading, history, showLoading, storeId, walletId]);\n\n const handlePagination = useCallback(\n (page: number) => {\n setFilter((prev) => {\n getExtract({ ...prev, page });\n return { ...prev, page };\n });\n },\n [getExtract]\n );\n\n const handleChangePageSize = useCallback(\n (ev: ChangeEvent<{ value: any }>) => {\n const pageSize = ev.target.value;\n setFilter((prev) => {\n getExtract({ ...prev, pageSize, page: 0 });\n return { ...prev, pageSize, page: 0 };\n });\n },\n [getExtract]\n );\n\n const handleChangePeriod = useCallback(\n (_period: Period) => {\n setPeriod(_period);\n const _endDate = new Date();\n const _startDate = new Date(\n new Date().setDate(_endDate.getDate() - Number(_period))\n );\n setFilter((prev) => {\n const newFilter = {\n ...prev,\n startDate: _startDate.toISOString(),\n endDate: _endDate.toISOString(),\n };\n getExtract(newFilter);\n return newFilter;\n });\n },\n [getExtract]\n );\n\n const handleFilter = useCallback(() => {\n getExtract(filter);\n }, [filter, getExtract]);\n\n const getTransactionType = useCallback((type: TransactionType) => {\n switch (type) {\n case TransactionType.Consumption:\n return \"Consumo:\";\n case TransactionType.Recharge:\n return \"Recarga:\";\n case TransactionType.Refund:\n return \"Cancelada:\";\n case TransactionType.Transfer:\n return \"Transferência:\";\n }\n }, []);\n\n const getTransactionOrigin = useCallback((item: IExtractItem) => {\n switch (item.Type) {\n case TransactionType.Consumption:\n return `Local: ${item.LocalName}`;\n case TransactionType.Recharge:\n return `Local: ${item.LocalName}`;\n case TransactionType.Refund:\n return `Local: ${item.LocalName}`;\n case TransactionType.Transfer:\n return `${!item.DataTransfer?.IsOrigin ? \"Origem\" : \"Destino\"}: ${\n item?.DataTransfer?.Name ?? \"-\"\n } ${\n !!item?.DataTransfer?.Name\n ? item?.DataTransfer?.IsDependent\n ? \"(Dependente)\"\n : \"(Titular)\"\n : \"\"\n }`;\n }\n }, []);\n\n const getColor = useCallback((item: IExtractItem) => {\n if (item.Type === TransactionType.Recharge) {\n return \"#399C54\";\n } else if (item.Type === TransactionType.Transfer) {\n if (!item.DataTransfer?.IsOrigin) {\n return \"#399C54\";\n } else {\n return \"#F44336\";\n }\n } else if (item.Type === TransactionType.Refund) {\n return \"#A2A2A2\";\n } else {\n return \"#F44336\";\n }\n }, []);\n\n const totalPages = useMemo(\n () =>\n Math.max(\n Math.ceil((extract?.TotalRecords ?? 1) / (filter?.pageSize ?? 10)),\n 1\n ),\n [extract, filter]\n );\n\n return (\n
\n \n {!!extract && (\n \n \n Extrato\n \n\n \n
\n

\n {extract?.MeepUser?.UserName} \n \n {extract?.MeepUser?.UserName\n ? extract?.IsDependent\n ? \"(Dependente)\"\n : \"(Titular)\"\n : \"\"}\n \n

\n

\n {extract?.MeepUser?.CPF && hideCPF(extract.MeepUser.CPF)}\n

\n

\n Tag atual:{\" \"}\n \n {extract?.TAG &&\n extract.TAG.replace(\n /([A-Za-z0-9]{2})(?=[A-Za-z0-9])/g,\n `$1-`\n )}\n \n

\n
\n \n

Saldo atual

\n

\n {NumberToMoneyString(extract?.Balance)}\n

\n
\n \n\n \n
\n

Período

\n
\n handleChangePeriod(\"15\")\n }\n className={\n period === \"15\" ? styles.selected : styles.unselected\n }\n >\n 15 dias\n
\n handleChangePeriod(\"30\")\n }\n className={\n period === \"30\" ? styles.selected : styles.unselected\n }\n >\n 30 dias\n
\n handleChangePeriod(\"60\")\n }\n className={\n period === \"60\" ? styles.selected : styles.unselected\n }\n >\n 60 dias\n \n handleChangePeriod(\"90\")\n }\n className={\n period === \"90\" ? styles.selected : styles.unselected\n }\n >\n 90 dias\n \n \n \n \n \n Inicio\n \n \n \n Fim\n \n \n \n \n \n Buscar\n \n \n \n\n \n {extract.Records.map((it, key) => (\n
\n

\n {Utils.toDateAndTime(it.Date)}\n

\n

\n {getTransactionOrigin(it)}\n

\n
\n \n {getTransactionType(it.Type)}\n \n \n {NumberToMoneyString(it.Value)}\n \n
\n
\n ))}\n \n\n \n \n Exibir\n \n 10\n 20\n 30\n 50\n \n \n handlePagination(page - 1)}\n />\n \n \n )}\n \n );\n};\n\nexport default Extract;\n","import React from \"react\";\nimport { Redirect, Route, Switch, useHistory } from \"react-router-dom\";\nimport { PaymentPage } from \"../pages/payment/PaymentPage\";\nimport { PaymentProvider } from \"../context/payment/PaymentContext\";\nimport { AuthProvider } from \"../context/auth/AuthContext\";\nimport { LocalProvider } from \"../context/local/LocalContext\";\nimport { LoginPage } from \"../pages/public/auth/login/LoginPage\";\nimport { PrivatePage } from \"../pages/private/privateLayout/PrivatePage\";\nimport { OrderHistory } from \"../pages/private/orderHistory/OrderHistoryPage\";\nimport { OrderTrackingPage } from \"../pages/private/orderTracking/OrderTrackingPage\";\nimport { MapOrderTracking } from \"../pages/private/orderTracking/mapOrderTracking/MapOrderTracking\";\nimport FormAluno from \"../pages/public/auth/loginAluno/LoginAlunoPage\";\nimport {\n MeepCardPaymentConsumer,\n MeepCardPaymentProvider,\n} from \"../context/meepCardPayment/_MeepCardPaymentContext\";\nimport MeepCardPaymentPage from \"../pages/meepCardPayment/_MeepCardPaymentPage\";\nimport { CatalogProvider } from \"../context/catalog/CatalogContext\";\nimport AuthPage from \"pages/public/auth/AuthPage\";\nimport StoresPage from \"pages/public/catalog/stores/StoresPage\";\nimport OnSucessPayment from \"pages/payment/onSucessPayment/OnSucessPayment\";\nimport \"./Routes.css\";\nimport { TransitionGroup, CSSTransition } from \"react-transition-group\";\nimport { CartProvider } from \"context/cart/CartContext\";\nimport PaymentGuestPage from \"pages/public/paymentGuest/PaymentGuestPage\";\nimport ProfilePage from \"pages/public/social/profile/ProfilePage\";\nimport ScheduledPage from \"pages/public/schedule/pages/schedules/ScheduledPage\";\nimport TourPage from \"pages/public/schedule/pages/tour/presentation/pages/TourPage\";\nimport SelecionarPagamento from \"pages/public/selecionarLogin/SelecionarLogin\";\nimport ProductsTourPage from \"pages/public/schedule/pages/tour/presentation/pages/productsTour/ProductsTourPage\";\nimport { FormTourPage } from \"pages/public/schedule/pages/tour/presentation/pages/formTour/FormTourPage\";\nimport { MoreDetails } from \"pages/public/schedule/pages/tour/presentation/pages/moreDetails/MoreDetails\";\nimport ReservesPage from \"pages/public/schedule/pages/tour/presentation/pages/reserves/ReservesPage\";\nimport TourCartProvider from \"components/genericCart/CartContext\";\nimport { AboutProject } from \"pages/public/schedule/pages/tour/presentation/pages/aboutProject/AboutProject\";\nimport ExternalAuthPage from \"pages/public/auth/externalLogin/ExternalAuthPage\";\nimport ExternalNewCardPage from \"pages/externalNewCard/ExternalNewCardPage\";\nimport TrackWidget from \"pages/customerSurveys/TrackWidget\";\nimport PaymentLink from \"pages/public/paymentLink/PaymentLink\";\nimport HomePage from \"pages/public/catalog/home/HomePage\";\nimport Wallet from \"pages/private/wallet/Wallet\";\nimport Profile from \"pages/private/wallet/pages/profile/Profile\";\nimport ProductsPage from \"pages/public/catalog/products/ProductsPage\";\nimport Dependents from \"pages/private/wallet/pages/profile/dependents/Dependents\";\nimport Recharge from \"pages/private/wallet/pages/recharge/Recharge\";\nimport Extract from \"pages/private/wallet/pages/extract/Extract\";\n\n// import { PaymentResume } from \"./pages/public/schedule/pages/tour/paymentResume/PaymentResumePage\";\nexport const Routes = () => {\n const { goBack } = useHistory();\n // return !loadToken ? (\n // \n // )\n // :\n return (\n \n \n \n \n \n \n \n \n\n \n \n \n\n \n \n \n {({ meepCardData }) =>\n meepCardData ? (\n \n ) : (\n \n \n \n )\n }\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n {/* private */}\n\n \n \n {\n goBack();\n }}\n >\n \n \n \n \n\n \n \n {\n goBack();\n }}\n >\n \n \n \n \n\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {/* \n \n */}\n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n\n {/* \n \n */}\n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n\n (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )}\n />\n\n (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )}\n />\n\n 404 not found\n \n \n );\n};\n","import React from \"react\";\nimport { Routes } from \"./routes/Routes\";\nimport { UIProvider } from \"./context/ui/UIContext\";\nimport { BrowserRouter } from \"react-router-dom\";\nimport { ParamsProvider } from \"./context/paramsConfig/ParamsConfigContext\";\nimport { ThemeProvider } from \"context/theme/ThemeContext\";\nimport \"./styles/globals.scss\";\n\ndeclare global {\n interface Window {\n fbq: (...args: any[]) => void;\n }\n}\n\nfunction App() {\n return (\n \n \n \n \n \n \n \n \n \n );\n}\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\ntype Config = {\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nexport function register(config?: Config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(\n process.env.PUBLIC_URL,\n window.location.href\n );\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl: string, config?: Config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' }\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport \"./index.scss\";\nimport App from \"./App\";\nimport './assets/fonts/Rainbow/Rainbow Paper.ttf';\nimport * as serviceWorker from \"./serviceWorker\";\nimport \"./styles/vars.scss\";\n\nReactDOM.render(\n \n \n ,\n document.getElementById(\"root\")\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""}