{"version":3,"sources":["utils/history.js","utils/masks.js","utils/chartjs.js","utils/getInitials.js","utils/toISODateFormat.js","utils/formatCurrency.js","utils/validateDates.js","utils/toLocalDateFormat.js","utils/errorsUploadImage.js","utils/getMonthByNumber.js","utils/useSearchQuery.tsx","utils/useDidMountEffect.jsx","utils/useDebouncedEffect.jsx","utils/getCurrentDateTime.js","utils/getRandomColorsChart.js","utils/getGenderFull.ts","utils/getStatusIngressoColor.ts","utils/getLabelGatewayColor.ts","utils/getStatusPedidoColor.ts","utils/getStatusCancelamentoIngressoColor.ts","_services/firebaseDynamicLinks.js","utils/genericOnShare.ts","utils/getImageUrls.ts","utils/getPeriodicityString.ts","theme/palette.ts","theme/typography.js","theme/overrides/index.js","theme/overrides/MuiButton.js","theme/overrides/MuiIconButton.js","theme/overrides/MuiPaper.js","theme/overrides/MuiTableCell.js","theme/overrides/MuiTableHead.js","theme/overrides/MuiTypography.js","theme/index.js","common/validators.js","components/SearchInput/SearchInput.js","components/StatusBullet/StatusBullet.js","components/SkeletonTable/SkeletonTable.tsx","components/RouteWithLayout/RouteWithLayout.js","_actions/global.actions.js","_services/errorHandler.js","_services/auth.service.js","_services/cep.service.js","_services/crud.service.js","_services/uploadImage.service.js","_actions/auth.actions.js","_actions/evento.actions.js","_actions/usuario.actions.js","_actions/tipoIngresso.actions.js","_actions/estabelecimento.actions.js","_actions/cupomDesconto.actions.js","_actions/lote.actions.js","_actions/ingresso.actions.js","_actions/categoria.actions.js","_actions/hashtag.actions.js","_actions/conquista.actions.js","_actions/taxa.actions.js","_actions/usuarioEstabelecimento.actions.js","_actions/contaBancaria.actions.js","_actions/cidade.actions.js","_actions/estado.actions.js","_actions/dashboard.actions.js","_actions/permissaoUsuario.actions.js","_actions/permissaoTipoUsuario.actions.js","_actions/tipoUsuario.actions.js","_actions/parametro.actions.js","_actions/movimentacaoFinanceira.actions.js","_actions/statusMovimentacaoFinanceira.actions.js","_actions/avaliacao.actions.js","_actions/comentario.actions.js","_actions/album.actions.js","components/PrivateRouteWithLayout/PrivateRouteWithLayout.js","components/Utils/Mensagens.jsx","components/Utils/AccessControl.js","utils/useRouter.js","components/Page/Page.js","components/Label/Label.js","components/LabelWithValue/LabelWithValue.jsx","components/Share/Share.js","components/SearchBar/components/Filter/Filter.js","components/SearchBar/components/Search/Search.js","components/SearchBar/SearchBar.js","components/MessageData/MessageData.jsx","components/Header/Header.tsx","components/PickbusBanner/PickbusBanner.jsx","components/HelperToolTip/HelperToolTip.tsx","components/ValidatedDatePicker/ValidatedDatePicker.jsx","components/ImageCrop/ImgDialog.js","components/ImageCrop/canvasUtils.js","components/ImageCrop/styles.js","components/ImageCrop/ImageCrop.js","layouts/Main/components/Footer/Footer.js","layouts/Main/components/Sidebar/components/Profile/Profile.js","layouts/Main/components/Sidebar/components/SidebarNav/SidebarNav.js","layouts/Main/components/Sidebar/Sidebar.js","layouts/Main/components/Topbar/components/SelectEstabelecimento/SelectEstabelecimento.tsx","layouts/Main/components/Topbar/Topbar.js","layouts/Main/Main.js","layouts/Minimal/components/Topbar/Topbar.js","layouts/Minimal/Minimal.js","theme/constants.ts","hooks-querys/members/useMemberSubscription.ts","hooks-querys/members/useMemberPlanDetails.ts","hooks-querys/members/useMembershipPayment.ts","hooks-querys/members/useMutationMemberCreate.ts","hooks-querys/members/useMutationPlanPriceDelete.ts","hooks-querys/members/useMutationPlanPriceEdit.ts","hooks-querys/members/useMutationPlanPriceCreate.ts","hooks-querys/members/useMutationMemberPlanDelete.ts","hooks-querys/members/useMemberById.ts","hooks-querys/members/useMutationMemberEdit.ts","hooks-querys/members/useMemberList.ts","hooks-querys/members/useStatusMembroPlanoSelect.ts","hooks-querys/members/useEstablishmentPlansSelect.ts","hooks-querys/useEvents.ts","hooks-querys/useTickets.ts","hooks-querys/useStatusIngressoSelect.ts","hooks-querys/useOrdersCancel.ts","hooks-querys/useOrderCancel.ts","hooks-querys/useOrder.ts","hooks-querys/useStatusCancelamentoIngressoSelect.ts","hooks-querys/useOrderCancelReasonsSelect.ts","hooks-querys/useMutationFinishOrderCancel.ts","hooks-querys/useMutationCreateOrderCancel.ts","hooks-querys/useOrders.ts","hooks-querys/useLotesByEvent.ts","hooks-querys/useUserSearch.ts","hooks-querys/useUserInfo.ts","hooks-querys/useUserOrders.ts","hooks-querys/useUserConnections.ts","hooks-querys/useUserReviews.ts","hooks-querys/useUserLogs.ts","hooks-querys/useMutationCreateFreeTicket.ts","hooks-querys/useMutationDrawTicket.ts","hooks-querys/useUsersDrawTicket.ts","hooks-querys/useStatusPedidoSelect.ts","hooks-querys/useFormaPagamentoSelect.ts","hooks-querys/useEventDashboard.ts","hooks-querys/useEstablishmentDashboard.ts","hooks-querys/useEstablishments.ts","hooks-querys/useUsers.ts","hooks-querys/useEvent.ts","hooks-querys/usePhotoAlbumList.ts","hooks-querys/useMutationPhotoAlbumCreate.ts","hooks-querys/useMutationPhotoAlbumEdit.ts","hooks-querys/useMutationPhotoAlbumDelete.ts","hooks-querys/usePhotoAlbumId.ts","hooks-querys/useIngressosMovimentacaoFinanceira.ts","hooks-querys/useMembershipPlanList.ts","hooks-querys/useMutationMembershipPlanDelete.ts","hooks-querys/useMembershipPlanId.ts","hooks-querys/useMutationMembershipPlanCreate.ts","hooks-querys/useMutationMembershipPlanEdit.ts","hooks-querys/useMutationEditEstablishment.ts","hooks-querys/useLotesByEventSelect.ts","hooks-querys/useTipoIngressoSelect.ts","views/Dashboard/components/Budget/Budget.tsx","views/Dashboard/components/VendasPorEvento/options.js","views/Dashboard/components/LatestOrders/data.js","views/Dashboard/components/LatestOrders/LatestOrders.jsx","views/Dashboard/components/VendasPorEvento/VendasPorEvento.tsx","views/Dashboard/components/EventosFuturos/EventosFuturos.tsx","views/Dashboard/components/IngressosRecebidos/IngressosRecebidos.tsx","views/Dashboard/components/TotalEventos/TotalEventos.tsx","views/Dashboard/components/ReceitaUltimos6Meses/ReceitaUltimos6Meses.tsx","views/Dashboard/components/Filters/Filters.tsx","views/Eventos/components/EventoDashboard/components/PedidosPendentes/PedidosPendentes.tsx","views/Eventos/components/EventoDashboard/components/GraficoVendasPorDia/components/Chart/Chart.jsx","views/Eventos/components/EventoDashboard/components/GraficoVendasPorDia/GraficoVendasPorDia.tsx","views/Eventos/components/EventoDashboard/components/IngressosDisponiveis/IngressosDisponiveis.tsx","views/Eventos/components/EventoDashboard/components/IngressosVendidos/IngressosVendidos.tsx","views/Eventos/components/EventoDashboard/components/CuponsAtivos/CuponsAtivos.tsx","views/Eventos/components/EventoDashboard/components/GraficoIngressosTipoIngresso/GraficoIngressosTipoIngresso.tsx","views/Eventos/components/EventoDashboard/components/LatestOrders/data.js","views/Eventos/components/EventoDashboard/components/LatestOrders/LatestOrders.jsx","views/Eventos/components/EventoDashboard/components/EventoDashboard/EventoDashboard.tsx","views/Dashboard/Dashboard.tsx","views/DashboardAdmin/components/Header/Header.js","views/DashboardAdmin/components/MostProfitableOrganizes/components/CircularProgress/CircularProgress.jsx","views/DashboardAdmin/components/MostProfitableOrganizes/MostProfitableOrganizes.jsx","views/DashboardAdmin/components/Overview/Overview.jsx","views/DashboardAdmin/components/CustomerActivity/CustomerActivity.js","views/DashboardAdmin/components/PlatformSales/components/Chart/Chart.js","views/DashboardAdmin/components/PlatformSales/PlatformSales.jsx","views/DashboardAdmin/components/TypeInteractions/components/Chart/Chart.js","views/DashboardAdmin/components/TypeInteractions/TypeInteractions.jsx","views/DashboardAdmin/components/PaymentTypeSales/components/Chart/Chart.js","views/DashboardAdmin/components/PaymentTypeSales/PaymentTypeSales.jsx","views/Errors/AccessDenied/AccessDenied.jsx","views/DashboardAdmin/DashboardAdmin.jsx","utils/gradients.js","views/Cadastro/components/CadastroForm/CadastroForm.jsx","views/Cadastro/components/SocialButtons/SocialButtons.jsx","views/Cadastro/Cadastro.jsx","utils/stringTimeHello.js","views/Home/components/Header/Header.jsx","views/Home/components/Statistics/Statistics.jsx","views/Home/components/Notifications/Notifications.jsx","views/Home/components/FirstEstabelecimento/FirstEstabelecimento.jsx","views/Home/components/Summary/Summary.jsx","views/Home/Home.jsx","views/Carteira/components/CardSaldo/CardSaldo.jsx","views/Carteira/components/Notifications/Notifications.jsx","views/Carteira/components/IngressosLiberados/components/TableIngressosLiberados/components/SortSwitches/SortSwitches.jsx","views/Carteira/components/IngressosLiberados/components/TableIngressosLiberados/TableIngressosLiberados.jsx","views/Carteira/components/IngressosLiberados/components/ModalSolicitarRetirada/components/CardContaBancaria/CardContaBancaria.jsx","views/Carteira/components/IngressosLiberados/components/ModalSolicitarRetirada/components/SuccessMessage/SuccessMessage.jsx","views/Carteira/components/IngressosLiberados/components/ModalSolicitarRetirada/ModalSolicitarRetirada.jsx","views/Carteira/components/IngressosLiberados/IngressosLiberados.jsx","views/Carteira/components/IngressosNaoLiberados/components/TableIngressosNaoLiberados/components/SortSwitches/SortSwitches.jsx","views/Carteira/components/IngressosNaoLiberados/components/TableIngressosNaoLiberados/TableIngressosNaoLiberados.jsx","views/Carteira/components/IngressosNaoLiberados/IngressosNaoLiberados.jsx","views/Carteira/components/Retiradas/components/CardRetiradas/CardRetiradas.jsx","views/Carteira/components/Retiradas/Retiradas.jsx","views/Carteira/components/Navigation/Navigation.jsx","views/Carteira/components/ContasBancaria/components/EmptyFirstContaBancaria/EmptyFirstContaBancaria.jsx","views/Carteira/components/ContasBancaria/components/ContaBancariaList/ContaBancariaList.jsx","views/Carteira/components/ContasBancaria/components/ContaBancariaEdit/ContaBancariaEdit.jsx","views/Carteira/components/ContasBancaria/components/PixEdit/PixEdit.jsx","views/Carteira/components/ContasBancaria/ContasBancaria.jsx","views/Carteira/Carteira.jsx","views/Errors/Error404/Error404.jsx","views/Ajuda/Ajuda.jsx","views/Tickets/components/TicketsList/components/TableIngressos/TableIngressos.tsx","views/Tickets/components/TicketsList/components/SelectFilters/SelectFilters.tsx","views/Tickets/components/TicketsList/TicketsList.tsx","views/Tickets/components/Generate/Generate.tsx","views/Tickets/components/Draw/components/ModalDrawTicket/components/DrawingAnimation/DrawingAnimation.tsx","views/Tickets/components/Draw/components/ModalDrawTicket/components/WinnerAnimation/WinnerAnimation.tsx","views/Tickets/components/Draw/components/ModalDrawTicket/ModalDrawTicket.tsx","views/Tickets/components/Draw/Draw.tsx","views/Tickets/Tickets.tsx","components/Utils/Uploads/services/api.js","components/Utils/Uploads/styles/global.js","components/Utils/Uploads/styles.js","components/Utils/Uploads/components/Upload/styles.js","components/Utils/Uploads/components/Upload/index.js","components/Utils/Uploads/components/FileList/styles.js","components/Utils/Uploads/components/FileList/index.js","components/Utils/Uploads/uploadField.component.js","views/MovimentacoesFinanceiras/components/MovimentacoesFinanceirasDetails/components/Summary/components/CardMovimentacaoFinanceira/CardMovimentacaoFinanceira.jsx","views/MovimentacoesFinanceiras/components/MovimentacoesFinanceirasDetails/components/Summary/components/CardContaBancaria/CardContaBancaria.jsx","views/MovimentacoesFinanceiras/components/MovimentacoesFinanceirasDetails/components/Summary/components/CardEstabelecimento/CardEstabelecimento.jsx","views/MovimentacoesFinanceiras/components/MovimentacoesFinanceirasDetails/components/Summary/components/OtherActions/OtherActions.jsx","views/MovimentacoesFinanceiras/components/MovimentacoesFinanceirasDetails/components/Summary/Summary.jsx","views/MovimentacoesFinanceiras/components/MovimentacoesFinanceirasDetails/components/Tickets/components/SortSwitches/SortSwitches.jsx","views/MovimentacoesFinanceiras/components/MovimentacoesFinanceirasDetails/components/Tickets/Tickets.tsx","views/MovimentacoesFinanceiras/components/MovimentacoesFinanceirasDetails/MovimentacoesFinanceirasDetails.jsx","views/MovimentacoesFinanceiras/components/MovimentacoesFinanceirasList/components/TableMovimentacoesFinanceiras/TableMovimentacoesFinanceiras.jsx","views/MovimentacoesFinanceiras/components/MovimentacoesFinanceirasList/MovimentacoesFinanceirasList.jsx","views/MovimentacoesFinanceiras/MovimentacoesFinanceiras.jsx","views/CancelamentosIngressos/components/CancelamentosIngressosList/components/TableCancelamentosIngressos/components/RowTableCancelamentosIngressos/RowTableCancelamentosIngressos.tsx","views/CancelamentosIngressos/components/CancelamentosIngressosList/components/TableCancelamentosIngressos/TableCancelamentosIngressos.tsx","views/CancelamentosIngressos/components/CancelamentosIngressosList/components/Filters/Filters.tsx","views/CancelamentosIngressos/components/CancelamentosIngressosList/CancelamentosIngressosList.tsx","views/OrderCancelDetails/components/OrderCancelInfo/OrderCancelInfo.tsx","views/OrderManagementDetails/components/OrderInfo/OrderInfo.tsx","views/OrderManagementDetails/components/OrderItems/OrderItems.tsx","views/OrderManagementDetails/components/OrderTickets/OrderTickets.tsx","views/OrderCancelDetails/OrderCancelDetails.tsx","views/CancelamentosIngressos/CancelamentosIngressos.tsx","views/OrderManagementList/components/TableOrderManagementList/components/RowTableOrderManagementList/RowTableOrderManagementList.tsx","views/OrderManagementList/components/TableOrderManagementList/TableOrderManagementList.tsx","views/OrderManagementList/components/Filters/Filters.tsx","views/OrderManagementList/components/Header/Header.tsx","views/OrderManagementList/OrderManagementList.tsx","views/OrderManagementDetails/OrderManagementDetails.tsx","views/CustomerManagementDetails/components/Header/Header.tsx","views/CustomerManagementDetails/components/Info/components/UserInfo/components/UserEdit/UserEdit.tsx","views/CustomerManagementDetails/components/Info/components/UserInfo/UserInfo.tsx","views/CustomerManagementDetails/components/Info/components/ExtraInfo/ExtraInfo.tsx","views/CustomerManagementDetails/components/Info/components/OtherActions/OtherActions.tsx","views/CustomerManagementDetails/components/Info/Info.tsx","views/CustomerManagementDetails/components/Orders/Orders.tsx","views/CustomerManagementDetails/components/Connections/Connections.tsx","views/CustomerManagementDetails/components/Reviews/components/OverallReviews/OverallReviews.tsx","views/CustomerManagementDetails/components/Reviews/components/ReviewCard/ReviewCard.tsx","views/CustomerManagementDetails/components/Reviews/Reviews.tsx","views/CustomerManagementDetails/components/Logs/Logs.tsx","views/CustomerManagementDetails/CustomerManagementDetails.tsx","views/CustomerManagementList/components/TableUsers/components/RowTableUsers/RowTableUsers.tsx","views/CustomerManagementList/components/TableUsers/TableUsers.tsx","views/CustomerManagementList/components/Filters/Filters.tsx","views/CustomerManagementList/CustomerManagementList.tsx","views/Settings/components/General/components/ProfileDetails/ProfileDetails.jsx","views/Settings/components/General/components/GeneralSettings/GeneralSettings.jsx","views/Settings/components/General/General.jsx","views/Settings/components/Notifications/Notifications.jsx","views/Settings/Settings.jsx","views/Settings/components/Security/Security.jsx","views/Settings/components/Parametros/Parametros.jsx","views/Login/ModalRequestPasswordReset.jsx","views/Login/login.component.jsx","views/Login/emailVerification.component.jsx","views/Login/passwordReset.component.jsx","views/TitleContent.jsx","views/TiposIngresso/EmptyFirstTiposIngresso/EmptyFirstTiposIngresso.jsx","views/TiposIngresso/tipoIngresso.component.jsx","views/TiposIngresso/tipoIngressoEdit.component.jsx","utils/linkShare.ts","views/Eventos/components/Steppers/Steppers.jsx","views/TitleContentEvent.jsx","views/Eventos/components/EventoList/components/FutureEvents/FutureEvents.jsx","views/Eventos/components/EventoList/components/PastEvents/PastEvents.jsx","views/Eventos/components/EventoList/EventoList.jsx","views/Eventos/components/LoteList/LoteList.jsx","views/Eventos/components/LoteEdit/components/ModalAddTipoDeIngresso/ModalAddTipoDeIngresso.jsx","views/Eventos/components/LoteEdit/LoteEdit.jsx","utils/validateDatesLote.js","views/Eventos/components/EventoEditLocale/EventoEditLocale.jsx","views/Eventos/components/EventoEditForm/EventoEditForm.jsx","views/Eventos/components/EventoSummary/EventoSummary.jsx","views/Eventos/components/EventoSummary/EventoCard/EventoCard.jsx","views/Eventos/components/EventoDashboard/EventoDashboard.tsx","views/Estabelecimentos/EstabelecimentosList/components/TableEstabelecimentos/components/RowTableEstabelecimentos/RowTableEstabelecimentos.tsx","views/Estabelecimentos/EstabelecimentosList/components/TableEstabelecimentos/TableEstabelecimentos.tsx","views/Estabelecimentos/EstabelecimentosList/components/Filters/Filters.tsx","views/Estabelecimentos/EstabelecimentosList/EstabelecimentosList.tsx","utils/abbreviateNumber.js","views/Estabelecimentos/EstabelecimentoEdit/components/General/components/ProfileDetails/EstabelecimentoDetails.jsx","views/Estabelecimentos/EstabelecimentoEdit/components/General/components/EstabelecimentoForm/EstabelecimentoForm.jsx","views/Estabelecimentos/EstabelecimentoEdit/components/General/General.jsx","views/Estabelecimentos/EstabelecimentoEdit/components/Header/Header.jsx","views/Estabelecimentos/EstabelecimentoEdit/components/Usuarios/Usuarios.jsx","views/Estabelecimentos/EstabelecimentoEdit/components/Location/map.jsx","views/Estabelecimentos/EstabelecimentoEdit/components/Location/Location.jsx","views/Estabelecimentos/EstabelecimentoEdit/components/Level/Level.jsx","views/Estabelecimentos/EstabelecimentoEdit/components/Integrations/index.tsx","views/Estabelecimentos/EstabelecimentoEdit/EstabelecimentoEdit.jsx","views/CuponsDesconto/components/EmptyFirstCupomDesconto/EmptyFirstCupomDesconto.jsx","views/CuponsDesconto/CuponsDescontoList.jsx","views/CuponsDesconto/CupomDescontoEdit.jsx","views/CuponsDesconto/CuponsDescontoUtilizacao/components/TableUtilizacao/TableUtilizacao.jsx","views/CuponsDesconto/CuponsDescontoUtilizacao/CuponsDescontoUtilizacao.jsx","views/CuponsDesconto/CuponsDesconto.jsx","views/Categorias/categoria.component.jsx","views/Categorias/categoriaEdit.component.jsx","views/Hashtags/hashtag.component.jsx","views/Hashtags/hashtagEdit.component.jsx","views/Conquistas/conquista.component.jsx","views/Conquistas/conquistaEdit.component.jsx","views/Taxas/taxa.component.jsx","views/Taxas/taxaEdit.component.jsx","views/Parametros/components/EmptyFirstParametro/EmptyFirstParametro.jsx","views/Parametros/parametro.component.jsx","views/Parametros/parametroEdit.component.jsx","views/Permissao/components/TablePermissoes/TablePermissoes.jsx","views/Permissao/components/PermissaoTipoUsuario/PermissaoTipoUsuario.jsx","views/Permissao/components/PermissaoUsuario/PermissaoUsuario.jsx","views/Permissao/Permissao.jsx","views/Avaliacoes/components/EventRating/components/SelectEvent/SelectEvent.jsx","views/Avaliacoes/components/DetailAndComment/DetailAndComment.jsx","views/Avaliacoes/components/AnswerRating/AnswerRating.jsx","views/Avaliacoes/components/EventRating/components/TableEventRating/TableEventRating.jsx","views/Avaliacoes/components/EventRating/EventRating.jsx","views/Avaliacoes/components/PlaceRating/PlaceRating.jsx","components/Utils/TitleContentWithoutButton.jsx","views/Avaliacoes/Avaliacoes.jsx","views/PhotoAlbum/components/EmptyFirstPhotoAlbum/EmptyFirstPhotoAlbum.tsx","views/PhotoAlbum/PhotoAlbumList.tsx","views/PhotoAlbum/components/PhotoList/styles/global.ts","views/PhotoAlbum/components/PhotoList/components/Upload/styles.ts","views/PhotoAlbum/components/PhotoList/components/Upload/index.tsx","views/PhotoAlbum/components/PhotoEditDialog/PhotoEditDialog.tsx","views/PhotoAlbum/components/PhotoList/components/ImageItem/ImageItem.tsx","views/PhotoAlbum/components/PhotoList/PhotoList.tsx","views/PhotoAlbum/PhotoAlbumEdit.tsx","views/PhotoAlbum/PhotoAlbum.tsx","views/Members/components/EmptyFirstMembershipPlan/EmptyFirstMembershipPlan.tsx","views/Members/MembershipPlanList.tsx","views/Members/MembershipPlanEdit.tsx","views/Members/MemberList/components/Filters/index.tsx","views/Members/MemberList/components/Table/index.tsx","views/Members/MemberList/index.tsx","hooks-querys/city/useCityInfo.ts","hooks-querys/countryState/useCountryStateInfo.ts","hooks-querys/countryState/useCountryStates.ts","hooks-querys/city/useCities.ts","hooks-querys/city/useCitiesByStateId.ts","views/Members/MemberEdit.tsx","views/Members/Members.tsx","views/Members/components/MemberPlanDetails/components/Info/components/UserInfo/components/UserEdit/UserEdit.tsx","views/Members/components/MemberPlanDetails/components/Info/components/UserInfo/components/MembershipCard/styles.tsx","views/Members/components/MemberPlanDetails/components/Info/components/UserInfo/components/MembershipCard/index.tsx","views/Members/components/MemberPlanDetails/components/Info/components/UserInfo/UserInfo.tsx","views/Members/components/MemberPlanDetails/components/Info/components/ExtraInfo/ExtraInfo.tsx","views/Members/components/MemberPlanDetails/components/Info/components/OtherActions/OtherActions.tsx","views/Members/components/MemberPlanDetails/components/Info/Info.tsx","views/Members/components/MemberPlanDetails/components/Financial/components/TableMemberFinancial/components/RowTableMemberFinancial/components/TableFinancialTransactionHistory/index.tsx","views/Members/components/MemberPlanDetails/components/Financial/components/TableMemberFinancial/components/RowTableMemberFinancial/RowTableMemberFinancial.tsx","views/Members/components/MemberPlanDetails/components/Financial/components/TableMemberFinancial/TableMemberFinancial.tsx","views/Members/components/MemberPlanDetails/components/Financial/components/Filters/Filters.tsx","views/Members/components/MemberPlanDetails/components/Financial/components/Header/Header.tsx","views/Members/components/MemberPlanDetails/components/Financial/Financial.tsx","views/Members/components/MemberPlanDetails/MemberPlanDetails.tsx","Routes.js","App.js","_reducers/global.reducer.js","_reducers/auth.reducer.js","_reducers/evento.reducer.js","_reducers/usuario.reducer.js","_reducers/tipoIngresso.reducer.js","_reducers/estabelecimento.reducer.js","_reducers/cupomDesconto.reducer.js","_reducers/lote.reducer.js","_reducers/ingresso.reducer.js","_reducers/categoria.reducer.js","_reducers/hashtag.reducer.js","_reducers/conquista.reducer.js","_reducers/taxa.reducer.js","_reducers/usuarioEstabelecimento.reducer.js","_reducers/contaBancaria.reducer.js","_reducers/cidade.reducer.js","_reducers/estado.reducer.js","_reducers/promoter.reducer.js","_reducers/dashboard.reducer.js","_reducers/instituicaoBancaria.reducer.js","_reducers/permissao.reducer.js","_reducers/permissaoTipoUsuario.reducer.js","_reducers/permissaoUsuario.reducer.js","_reducers/tipoUsuario.reducer.js","_reducers/parametro.reducer.js","_reducers/movimentacaoFinanceira.reducer.js","_reducers/statusMovimentacaoFinanceira.reducer.js","_reducers/avaliacao.reducer.js","_reducers/comentario.reducer.js","_reducers/album.reducer.js","_reducers/index.js","registerServiceWorker.js","index.js","config/config.js","img/logo_progress.png"],"names":["history","createBrowserHistory","slugMask","value","undefined","normalize","replace","toLowerCase","cpfCnpjMask","length","includes","cpfMask","cnpjMask","phoneMask","cepMask","draw","left","right","top","bottom","signX","signY","borderSkipped","radius","ctx","this","_chart","vm","_view","borderWidth","cornerRadius","config","options","horizontal","base","x","y","height","width","barSize","Math","min","abs","halfStroke","borderLeft","borderRight","borderTop","borderBottom","beginPath","fillStyle","backgroundColor","strokeStyle","borderColor","lineWidth","corners","startCorner","indexOf","cornerAt","index","corner","moveTo","i","nextCornerId","floor","xTl","xTr","yTl","yTr","xBl","xBr","yBl","yBr","lineTo","quadraticCurveTo","fill","stroke","name","split","slice","map","v","toUpperCase","join","toISODateFormat","dateTimeString","date","time","DD","MM","YYYY","HH","mm","formatCurrency","valueToFormat","Intl","NumberFormat","style","currency","format","validateDates","dataInicio","dataFim","isValid","isAfter","Date","isBefore","isPast","toLocalDateFormat","isoDateTime","ErrorsUploadImage","erros","acceptType","toast","error","maxFileSize","maxNumber","resolution","getMonthByNumber","monthNumber","useSearchQuery","search","useLocation","React","useMemo","URLSearchParams","useDidMountEffect","effect","dependencies","mounted","useRef","useEffect","current","unmount","useDebouncedEffect","delay","deps","callback","useCallback","handler","setTimeout","clearTimeout","getCurrentDateTime","today","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","GetRandomColorsChart","numberOfColors","colorsArray","Object","keys","colors","splice","colorsArrayRandom","randomColor","random","some","color","push","getGenderFull","abbreviation","getStatusIngressoColor","statusIngresso","pago","green","cancelado","red","transferido","liberadoCarteira","orange","grey","getLabelGatewayColor","gateway","lightGreen","yellow","blue","getStatusPedidoColor","statusPedido","finalizado","pendente","getStatusCancelamentoIngressoColor","statusCancelamentoIngresso","headers","Accept","createDynamicLink","params","axios","post","then","res","data","catch","response","shortLink","genericOnShare","url","title","message","socialImageLink","dynamicLinkInfo","domainUriPrefix","link","androidInfo","androidPackageName","androidMinPackageVersionCode","iosInfo","iosBundleId","iosAppStoreId","iosFallbackLink","navigationInfo","enableForcedRedirect","socialMetaTagInfo","socialTitle","socialDescription","suffix","option","dynamicLink","getImageUrls","imageUrl","imageName","pop","environment","at","originalUrl","compressedUrl","thumbnailUrl","white","black","primary","contrastText","dark","main","light","secondary","success","info","warning","text","blueGrey","background","default","paper","icon","divider","h1","palette","fontWeight","fontSize","letterSpacing","lineHeight","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","body3","button","caption","overline","textTransform","fontFamily","MuiButton","contained","boxShadow","MuiIconButton","root","MuiPaper","elevation1","MuiTableCell","typography","MuiTableHead","MuiTypography","gutterBottom","marginBottom","theme","createTheme","overrides","zIndex","appBar","drawer","ptBR","checked","makeStyles","borderRadius","alignItems","padding","spacing","display","flexBasis","marginRight","input","flexGrow","useStyles","flexShrink","sm","md","lg","neutral","danger","StatusBullet","props","className","size","rest","classes","clsx","defaultProps","SkeletonTable","count","customStyle","skeletonStyles","paddingTop","Array","from","_","Skeleton","key","animation","RouteWithLayout","Layout","layout","Component","component","render","matchProps","globalActions","setShowValues","type","setIsVisibleButtonShowValues","isVisible","errorHandler","status","toastId","autoClose","Promise","reject","localStorage","removeItem","authServices","apiEndpoint","payload","baseUrl","setItem","JSON","stringify","usuario","token","expires","logout","cepService","get","cep","erro","crudService","getOptions","postWithToken","Authorization","put","deleteDetail","delete","getItem","uploadImage","FormData","append","file","console","log","authActions","login","username","password","dispatch","user","err","facebookLogin","facebookToken","createUser","auth","refresh","request","eventoAction","getEventoByEstabelecimento","estabelecimentoId","pastEvents","events","getEventoById","getEvento","evento","getAllEvents","onChangeProps","event","handleOnChangeProps","target","onChangeDetails","editEventoInfo","id","createEvento","setNextStep","deleteEventoById","clear","onChangeData","prop","newValue","copyEstabelecimentoAddress","estabelecimento","duplicateEvento","lote","lotes","forEach","loteItem","uniqueId","eventoId","carrinhoItem","tipoIngresso","taxa","cupomDesconto","cuponsDesconto","cupomDescontoItem","promoter","eventoHashtag","eventosHashtags","row","hashtagId","hashtag","excluido","estadoId","cidade","generateDate","addLoteLocale","position","deleteLoteLocaleById","editLoteLocale","loteId","prepareStateToNewEvento","prepareStateToEditEvento","clearAddress","setPrevStep","changeCoordinates","coordinates","latLon","handleOnChangeHashtag","hashtags","getAllEventosByEstabelecimento","setStep","step","generateTicketsToMembers","eventId","tipoLocalizacao","nome","categoriaId","detalhes","dataHoraInicio","dataHoraFim","imagem","endereco","disponivel","prioridadeExibicao","slug","bairro","categoria","nomeLocal","complemento","numero","editEventoOnlineDetails","estadoIdDiff","cidadeId","editEventoDetails","usuarioAction","getUsuario","changeUsuariosList","getUsuarioSelect","getUsuarioById","_id","email","senha","telefone","telefoneVerificado","emailVerificado","emailVendas","editUsuarioInfo","createUsuario","deleteUsuarioById","getUsuarioByEstabelecimento","emailVerification","requestEmailVerification","requestPasswordReset","warn","passwordReset","openModalRequestPasswordReset","open","tipoIngressoAction","getTipoIngresso","changeTipoIngressosList","getTipoIngressoById","descricao","getTipoIngressoByEstabelecimento","failure","editTipoIngressoInfo","createTipoIngresso","redirect","createTipoDeIngressoInfo","deleteTipoIngressoById","tipoDeIngresso","estabelecimentoAction","getEstabelecimento","changeEstabelecimentosList","getEstabelecimentoById","getEstabelecimentoByUser","usuarioId","editEstabelecimentoInfo","createEstabelecimento","bAddPlace","responseData","usuarioEstabelecimento","deleteEstabelecimentoById","editEstabelecimentosDetails","getEnderecoByCep","cepData","logradouro","ibge","estado","paisId","pais","clearFields","cupomDescontoAction","getUtilizacaoCupomDesconto","utilizacaoCuponsDesconto","getCupomDesconto","changeCuponsDescontosList","getCupomDescontoById","codigo","percentualDesconto","quantidadeMinima","quantidade","valorDesconto","dataInicioValidade","dataTerminoValidade","promoterId","getCupomDescontoByEstabelecimento","getCupomDescontoByEvento","valorFormatado","editCupomDescontoInfo","createCupomDesconto","deleteCupomDescontoById","selectValidOnAllEventos","getListCupomDesconto","loteAction","getLote","addLote","getLoteById","editLotesDetails","editLoteInfo","getLotesByEvento","createLote","deleteLoteById","clearAll","openModalTipoDeIngresso","onSwitchValor","setRepassarTaxaByEstabelecimento","repassarTaxaDefault","repassarTaxa","tipoIngressoId","valor","limiteQuantidadePedido","genero","dataHoraTermino","checkIn","planoId","ingressoAction","getIngresso","ingresso","getIngressoById","editIngressoInfo","createIngresso","deleteIngressoById","getIngressoByEstabelecimento","ingressosList","searchIngressos","lista","getIngressosLiberadosByEstabelecimento","ingressos","getIngressosNaoLiberadosByEstabelecimento","categoriaAction","getCategoria","addCategoria","getCategoriaById","editCategoriasDetails","editCategoriaInfo","createCategoria","deleteCategoriaById","hashtagAction","createHashtag","deleteHashtagById","getHashtags","addHashtag","getHashtagById","editHashtagsDetails","hashtagMask","editHashtagInfo","page","limitItems","searchName","orderName","direction","items","banner","conquistaAction","createConquista","deleteConquistaById","getConquistas","addConquista","conquista","getConquistaById","editConquistasDetails","editConquistaInfo","duplicateConquista","experiencia","exp","findConquistas","textSearch","changeConquistasList","taxaAction","getTaxa","addTaxa","getTaxaById","editTaxasDetails","editTaxaInfo","createTaxa","deleteTaxaById","percentual","usuarioEstabelecimentoAction","changeDetailsUsuarioEstabelecimento","onChangeDetailsUsuarioEstabelecimento","getUsuarioEstabelecimento","editUsuarioEstabelecimentosDetails","getUsuarioEstabelecimentos","changeUsuarioEstabelecimentosList","addUsuarioByEmail","getUsuarioEstabelecimentoByEstabelecimento","usuarioEstabelecimentoId","setIsAddPlace","isAddPlace","backupId","listUserPlace","contaBancariaAction","getContaBancaria","changeContasBancariasList","getContaBancariaById","contaBancariaId","contaBancaria","instituicaoBancaria","instituicaoBancariaId","agencia","conta","cpfCnpjTitular","nomeTitular","chavePix","tipoChavePix","padrao","editContasBancariasDetails","getContaBancariaByEstabelecimento","getContaBancariaByInstituicaoBancaria","editContaBancariaInfo","createContaBancaria","deleteContaBancariaById","cidadeAction","getCidade","getCidadeSelect","unshift","changeCidadesList","getCidadeByUf","addCidade","getCidadeById","editCidadesDetails","editCidadeInfo","createCidade","deleteCidadeById","estadoAction","getEstado","dashboardAction","getDashboardHome","dashboardHome","getDashboardEstabelecimento","dashboardEstabelecimento","getDashboardEvento","dashboardEvento","getDashboardAdmin","dataInicial","dataFinal","dashboardAdmin","permissaoUsuarioAction","getPermissaoUsuario","permissaoUsuario","totalPages","getPermissaoUsuarioByChave","chave","idPermissao","idUsuario","permitido","onChangePropsList","handleOnChangePropsList","createPermissaoUsuario","responseJSON","parse","responseText","handleCheckedPermitido","idPermissaoUsuario","handleCheckAllPermissaoUsuario","handleChangeCheckAll","permissaoTipoUsuarioAction","getPermissaoTipoUsuario","permissaoTipoUsuario","tipoUsuarioId","getPermissaoTipoUsuarioByChave","idTipoUsuario","createPermissaoTipoUsuario","idPermissaoTipoUsuario","handleCheckAllPermissaoTipoUsuario","tipoUsuarioAction","getTipoUsuario","getTipoUsuarioSelect","changeTiposUsuariosList","addTipoUsuario","tipoUsuario","getTipoUsuarioById","editTiposUsuariosDetails","editTipoUsuarionfo","createTipoUsuario","deleteTipoUsuarioById","parametroAction","getParametro","parametro","getParametroById","editParametroInfo","createParametro","createParametroInfo","deleteParametroById","movimentacaoFinanceiraAction","createMovimentacaoFinanceira","movimentacaoFinanceira","finishMovimentacaoFinanceira","cancelMovimentacaoFinanceira","getMovimentacaoFinanceiraByEstabelecimento","getAllMovimentacaoFinanceira","getMovimentacaoFinanceiraById","movimentacaoFinanceiraId","statusMovimentacaoFinanceiraAction","getStatusMovimentacaoFinanceiraSelect","statusMovimentacaoFinanceiraSelect","avaliacaoAction","getAvaliacaoByEstabelecimento","avaliacoes","searchAvaliacaoByEventId","SearchText","EventoId","setAnswerRatingOpen","answerOpen","avaliacao","mensagem","setDetailOpen","detailOpen","nota","likeRating","avaliacaoId","ratingId","comentarioAction","changeAnswer","answer","sendAnswer","getComentarioByAvaliacao","comentarios","deleteComment","commentId","reload","likeComment","albumAction","addFoto","foto","deleteFoto","deleteAllFoto","updateFoto","shortFoto","setFotoCapaId","fotoCapaId","toggleEnabledSortableContext","PrivateRouteWithLayout","useDispatch","useSelector","state","global","showValues","isVisibleButtonShowValues","Fragment","Tooltip","placement","SpeedDial","ariaLabel","margin","hidden","FabProps","onClick","to","pathname","location","AccessControl","rule","itemPermissaoUsuario","find","item","permissao","check","yes","no","propTypes","PropTypes","string","isRequired","connectedAccessControlPage","connect","authentication","useContext","__RouterContext","Page","children","router","useRouter","window","gtag","process","page_path","page_name","Helmet","justifyContent","shape","minWidth","whiteSpace","rounded","Label","variant","rootClassName","finalStyle","border","Typography","LabelWithValue","oldValue","isCurrency","isPercentage","toLocaleString","maximumFractionDigits","shareIcons","transform","SocialShare","place","useTheme","linkWhatsApp","useMediaQuery","breakpoints","down","actions","href","speedDial","action","SpeedDialAction","tooltipTitle","tooltipPlacement","navigator","clipboard","writeText","flexDirection","maxWidth","header","buttonIcon","content","contentSection","contentSectionHeader","cursor","contentSectionContent","formGroup","fieldGroup","field","marginTop","addButton","marginLeft","tags","minAmount","maxAmount","radioGroup","searchIcon","searchInput","searchButton","flexWrap","filterButton","filterIcon","noResultText","paddingBottom","textAlign","image","webkitTransition","transition","MessageData","buttonText","buttonHref","srcImage","Grid","container","justify","alignContent","wrap","disableTransition","src","aspectRatio","Button","Header","subtitle","onBack","onRefresh","isRefreshing","IconButton","aria-label","goBack","xs","disabled","card","learnMore","minHeight","img","img2","shell","useOfferInfoStyles","memo","styles","shadowStyles","useSoftRiseShadowStyles","Card","cx","gap","mr","mt","rel","Hidden","smDown","alt","paddingLeft","HelperToolTip","arrow","enterTouchDelay","leaveTouchDelay","ValidatedDatePicker","helperText","errorMessages","validators","requiredError","validatorListener","getErrorMessage","ValidatorComponent","Transition","Slide","ImgDialog","handleClickOpen","setState","handleClose","Dialog","fullScreen","onClose","TransitionComponent","AppBar","Toolbar","flex","imgContainer","withStyles","maxHeight","createImage","resolve","Image","addEventListener","setAttribute","getRadianAngle","degreeValue","PI","rotateSize","rotation","rotRad","cos","sin","getCroppedImg","imageSrc","pixelCrop","flip","vertical","canvas","document","createElement","getContext","bBoxWidth","bBoxHeight","translate","rotate","scale","drawImage","getImageData","putImageData","toBlob","URL","createObjectURL","cropContainer","up","cropButton","cancelButton","controls","sliderContainer","sliderLabel","slider","cardMedia","ImageCrop","confirm","useConfirm","useState","setImageSrc","crop","setCrop","zoom","setZoom","croppedAreaPixels","setCroppedAreaPixels","images","setImages","isUploading","setIsUploading","croppedImage","setCroppedImage","removeImage","description","confirmationText","cancellationText","onCropComplete","croppedArea","showCroppedImage","uploadImageClick","fetch","r","blob","blobFile","File","lastModified","aspect","onCropChange","onZoomChange","Slider","max","aria-labelledby","onChange","e","endIcon","onError","errors","errorsUploadImage","imageList","data_url","dataURLKey","onImageUpload","isDragging","dragProps","backgroundImage","backgroundSize","backgroundRepeat","backgroundPosition","CardContent","Footer","getYear","avatar","Profile","Avatar","getInitials","RouterLink","align","noWrap","fontWeightMedium","active","tooltipText","expandIcon","CustomRouterLink","forwardRef","ref","SidebarNav","pages","List","disableFocusListener","disableHoverListener","disableTouchListener","ListItem","disableGutters","activeClassName","Divider","connectedSidebarPage","withRouter","pure","nav","isDisabled","Drawer","anchor","formControl","dialogActions","SelectEstabelecimento","setOpen","setDisabled","estabelecimentoInputValue","setEstabelecimentoInputValue","hasEstabelecimentoSelected","setInitialUsuarioEstabelecimento","getUsuarioEstabelecimentoId","getBackupIndex","findIndex","handleAddPlace","mdUp","disableBackdropClick","disableEscapeKeyDown","fullWidth","DialogTitle","DialogContent","FormControl","Autocomplete","reason","establishment","getOptionLabel","placeholder","onInputChange","newInputValue","inputValue","renderInput","TextField","label","DialogActions","TopbarPage","signOutButton","selectEstabelecimento","onSidebarOpen","mdDown","lgUp","shiftContent","Main","isDesktop","defaultMatches","openSidebar","setOpenSidebar","shouldOpenSidebar","Topbar","Minimal","webkitBorderRadius","mozBorderRadius","getMemberSubscription","limit","membroPlanoId","order","term","Error","useMemberSubscription","useQuery","enabled","staleTime","getMemberPlanDetails","memberPlanId","useMemberPlanDetails","getMembershipPayment","membershipId","postCreateMember","deletePlanPrice","idPlanPrice","putEditPlanPrice","postCreatePlanPrice","deleteMemberPlan","idMemberPlan","statusMembroPlanoId","getMemberById","putEditMember","getMemberList","queryParams","String","queryString","toString","getStatusMembroPlanoSelect","getEstablishmentPlansSelect","useEstablishmentPlansSelect","cacheTime","Infinity","refetchOnWindowFocus","getEvents","showFinishedEvents","showAll","stringPendentes","useEvents","getTickets","statusIngressoId","validados","getStatusIngressoSelect","getOrdersCancel","statusCancelamentoIngressoId","motivoCancelamentoIngressoId","getOrderCancel","orderCancelId","getOrder","orderId","getStatusCancelamentoIngressoSelect","getOrderCancelReasonsSelect","postFinishOrderCancel","orderCancel","useMutationFinishOrderCancel","queryClient","useQueryClient","useMutation","onSuccess","cancelQueries","invalidateQueries","postCreateOrderCancel","getOrders","statusPedidoId","formaPagamentoId","getLotesByEvent","useLotesByEvent","getUserSearch","useUserSearch","getUserInfo","useUserInfo","getUserOrders","userId","getUserConnections","selectedChip","getUserReviews","getUserLogs","postCreateFreeTicket","postDrawTicket","postUsersDrawTicket","getStatusPedidoSelect","getFormaPagamentoSelect","useFormaPagamentoSelect","getEventDashboard","useEventDashboard","getEstablishmentDashboard","establishmentId","useEstablishmentDashboard","getEstablishments","getUsers","getEvent","getPhotoAlbums","placeId","result","postCreatePhotoAlbum","putEditPhotoAlbum","deletePhotoAlbum","idPhotoAlbum","getPhotoAlbumId","getIngressosMovimentacaoFinanceira","getMembershipPlans","useMembershipPlanList","deleteMembershipPlan","idMembershipPlan","getMembershipPlanId","useMembershipPlanId","postCreateMembershipPlan","putEditMembershipPlan","editEstablishment","getLotesByEventAndTicketTypeSelect","getTipoIngressoSelect","pluralize","require","constants","difference","differenceIcon","differenceValue","Budget","Number","isFetching","quantidadeIngressosNaoTransferidos","valorIngressosNaoTransferidos","uuid","inner","statusContainer","responsive","maintainAspectRatio","legend","tooltips","mode","intersect","titleFontColor","bodyFontColor","footerFontColor","callbacks","tooltipItems","dataset","datasets","datasetIndex","yAxisID","yLabel","scales","xAxes","barThickness","maxBarThickness","barPercentage","categoryPercentage","ticks","fontColor","gridLines","drawBorder","yAxes","beginAtZero","stepSize","borderDash","borderDashOffset","zeroLineBorderDash","zeroLineBorderDashOffset","zeroLineColor","chartContainer","VendasPorEvento","graficoIngressosEvento","CardHeader","labels","series","progress","EventosFuturos","eventosFuturos","eventosPassados","percentage","parseFloat","toFixed","isNaN","LinearProgress","IngressosRecebidos","quantidadeIngressosTransferidos","valorIngressosTransferidos","TotalEventos","stats","meses","ReceitaUltimos6Meses","graficoIngressosMes","tooltipItem","total","_meta","currentValue","monthWithName","deepPurple","teal","brown","lightBlue","hoverBorderColor","generateStrings","SelectFilters","isMobile","selectedEvento","setSelectedEvento","eventoInputValue","setEventoInputValue","showPastEvents","setShowPastEvents","useParams","isLoadingEvents","isLoading","isFetchingEvents","loading","InputProps","endAdornment","InputAdornment","Switch","inputProps","Chip","PedidosPendentes","quantidadePedidosPendentes","valorPedidosPendentes","Chart","dataProp","userCallback","maxTicksLimit","caretSize","locale","gradient","createLinearGradient","addColorStop","fade","gradientPrimary","pointBorderColor","pointBorderWidth","pointRadius","pointBackgroundColor","buttons","chart","GraficoVendasPorDia","queryData","graficoIngressosDia","IngressosDisponiveis","quantidadeIngressosDisponiveis","quantidadeIngressosTotal","IngressosVendidos","quantidadeIngressos","valorIngressos","startIcon","CuponsAtivos","cuponsAtivos","quantity","GraficoIngressosTipoIngresso","graficoIngressosTipoIngresso","EventoDashboard","xl","Dashboard","isLoadingEventDashboard","isFetchingEventDashboard","refetchEventDashboard","isError","refetch","dataUpdatedAtEventDashboard","dataUpdatedAt","isLoadingEstablishmentDashboard","isFetchingEstablishmentDashboard","refetchEstablishmentDashboard","dataUpdatedAtEstablishmentDashboard","scrollTo","behavior","Box","mb","brLocale","chipOptions","dates","calendarTodayIcon","chip","calendarTodayGroup","selectEdge","setSelectEdge","calendarDate","setCalendarDate","startDate","startOfDay","endDate","endOfDay","dateRange","setDateRange","yesterday","setDate","handleCalendarOpen","edge","Boolean","clickable","startOfYesterday","endOfYesterday","subDays","differenceInDays","ButtonGroup","DatePicker","disableFuture","onAccept","cancelLabel","okLabel","circle1","strokeWidth","circle2","strokeDasharray","CircularProgress","viewBox","d","emptyContent","textEmptyContent","details","subscriptions","price","conversion","conversionStats","arrowForwardIcon","MostProfitableOrganizes","dashboard","estabelecimentosMaisRentaveis","TableBody","estabelecimentoObject","TableRow","hover","TableCell","valorTotal","percentualLucroLiquido","valueContainer","Overview","receitaBruta","valorAtual","percentualComparativo","valorAnterior","lucroLiquido","valorATransferir","tarifaMedia","eventosRealizados","statsItem","CustomerActivity","interacoesUsuarios","totalInteracoes","totalComentarios","totalConexoes","totalAvaliacoes","novosUsuarios","usuariosAtivos","disablePadding","atividades","activity","isUser","ListItemAvatar","ListItemText","disableTypography","titulo","formatDistance","dataHora","usePointStyle","statsContainer","PlatformSales","graficoVendasPorPlataforma","getRandomColorsChart","plataforma","reduce","a","b","TypeInteractions","graficoInteracoesPorTipo","PaymentTypeSales","graficoVendasPorFormaPagamento","imageContainer","buttonContainer","AccessDenied","mobileDevice","DashboardAdmin","buildGradient","start","end","indigo","schema","presence","allowEmpty","maximum","termosDeUso","fields","termosDeUsoCheckbox","submitButton","CadastroForm","values","touched","formState","setFormState","showPassword","setShowPassword","validate","handleChange","persist","handleSubmit","preventDefault","hasError","onSubmit","required","startAdornment","textField","InputLabel","htmlFor","OutlinedInput","onMouseDown","labelWidth","FormHelperText","Checkbox","underline","facebook","google","SocialButtons","submitted","appId","disableMobileRedirect","autoLoad","accessToken","renderProps","tagManagerArgs","dataLayer","dataLayerName","overflow","media","gradients","registerForm","person","Cadastro","TagManager","animationDuration","curHr","messageTime","titleWrapper","Statistics","quantidadePagamentos7Dias","valorPagamentos7Dias","eventosAtivos","CircularProgressWithLabel","Notifications","useTimer","initialTime","endTime","timerType","isRunning","Alert","paddingRight","severity","AlertTitle","FirstEstabelecimento","dividers","autoFocus","statistics","notifications","summary","Home","tab","divMiddlePaper","middlePaper","CardSaldo","saldo","saldoALiberar","ingressoALiberar","visible","setVisible","Paper","match","hasContaBancaria","moreRef","sortByEvento","setSortByEvento","sortByLote","setSortByLote","openMenu","setOpenMenu","anchorEl","anchorOrigin","menu","transformOrigin","MenuItem","FormControlLabel","control","StyledBadge","badge","Badge","statusColors","5","2","headCells","numeric","EnhancedTableHead","onSelectAllClick","orderBy","numSelected","rowCount","TableHead","checkedIcon","indeterminate","headCell","sortDirection","useToolbarStyles","highlight","buttonRetirar","TableIngressosLiberados","Row","openLote","setOpenLote","labelId","haveRowEvento","ingressosSortedByEvento","sizeIngressoByEvento","filter","c","sizeSelectedIngressoByEvento","selectedIngressos","allIngressosSelectedByEvento","isItemSelected","n","totalValueRowLote","ingressosSortedByLote","totalValueRow","haveRowLote","valorTaxa","totalValueRowEvento","role","aria-checked","tabIndex","selected","newSelecteds","setSelectedIngressos","selectedIngressosExcludeEvento","handleSelectAllRowEvento","handleClick","badgeContent","scope","colSpan","Collapse","in","timeout","unmountOnExit","hasLote","sizeIngressoByLote","sizeSelectedIngressoByLote","allIngressosSelectedByLote","selectedIngressosExcludeLote","handleSelectAllRowLote","EnhancedTableToolbar","inline","valorTotalARetirar","handleClickSubmit","handleClickDelete","table","visuallyHidden","clip","openModal","setOpenModal","newSelected","TableContainer","ingressosSorted","ingressosSortedByEventoFindIndex","arrayIngressos","rowArrayEvento","indexArrayEvento","ingressosSortedByLoteFindIndex","ingressosSortByEventoAndLote","ModalSolicitarRetirada","totalLabel","radio","CardContaBancaria","DialogContentText","CheckCircleTwoTone","SuccessMessage","closeButton","contaBancariaSelecionada","setContaBancariaSelecionada","showRadioSelect","setShowRadioSelect","createObjectIngressos","ingressosFormatted","ingressoNew","ingressoId","Zoom","FormLabel","RadioGroup","contaBancariaNew","Radio","statusMovimentacaoFinanceiraId","dataHoraProcessamento","anexo","motivoCancelamento","movimentacaoFinanceiraIngresso","IngressosLiberados","1","3","TableIngressosNaoLiberados","IngressosNaoLiberados","tableCell","toolbar","CardRetiradas","movimentacoesFinanceiras","setPage","rowsPerPage","setRowsPerPage","stickyHeader","statusMovimentacaoFinanceira","TablePagination","labelRowsPerPage","rowsPerPageOptions","onChangePage","newPage","onChangeRowsPerPage","Retiradas","movimentacaoFinanceiraEmAndamento","movimentacaoFinanceiraConcluido","tabs","Navigation","Tabs","indicatorColor","textColor","Tab","EmptyFirstContaBancaria","ContaBancariaList","handleDeleteClick","strFrom","thereIsPix","element","thereIsContaBancaria","ContaBancariaEdit","idContaBancaria","instituicoes","setInstituicoes","instituicaoSelecionada","setInstituicaoSelecionada","instituicaoSelecionadaInputValue","setInstituicaoSelecionadaInputValue","ValidatorForm","addValidationRule","cpf","cnpj","removeValidationRule","form","subheader","instituicao","InputLabelProps","shrink","maxlength","autoComplete","CardActions","PixEdit","tipo","ContasBancaria","path","cardSaldo","ingressosLiberados","Carteira","Error404","Ajuda","frameBorder","rootToolbarStyles","titleToolbarStyles","backdrop","nameCell","statusCell","enableSort","onRequestSort","TableSortLabel","property","TableIngressos","refTable","querySearch","keepPreviousData","csvData","ticket","cpfCnpj","valorPago","dataHoraValidacao","marginY","Backdrop","totalRows","filename","trigger","isAsc","set","onPageChange","onRowsPerPageChange","searchText","setSearchText","statusId","statusIngressoSelect","isLoadingStatusIngressoSelect","useLotesByEventSelect","isLoadingLotesByEventSelect","lotesByEventSelect","isLoadingTipoIngressoSelect","tipoIngressoSelect","handleRemoveFilter","handleChangeSelectFilter","handleChangeValidatedTickets","showValidatedTickets","Fade","sanitizedSearchText","trim","opacity","orientation","Select","isArray","selectItem","TicketsList","selectedUserModalContainer","selectedUserItem","Generate","selectedUser","setSelectedUser","setQuantity","setLoteId","searchTextValue","setSearchTextValue","searchTextValueToSubmit","setSearchTextValueToSubmit","totalTicketsToGenerate","isLoadingLotes","resultUserSearch","isLoadingUserSearch","mutationCreateFreeTicket","useMutationCreateFreeTicket","showMaxUserQuantityToastError","loteDetails","confirmationButtonProps","payloadArray","mutateAsync","getOptionDisabled","multiple","userItem","onFocus","renderTags","getTagProps","onDelete","noOptionsText","renderOption","DrawingAnimation","defaultOptions","loop","autoplay","animationData","rendererSettings","preserveAspectRatio","segments","avatarContainer","WinnerAnimation","showUser","setShowUser","overflowY","overflowX","apelido","eventListeners","eventName","speed","dialog","segueEstabelecimento","favoritouEvento","isDrawingAnimation","setIsDrawingAnimation","mutationDrawTicket","mountOnEnter","isSuccess","Draw","selectedDrawRules","setSelectedDrawRules","retry","numberOfUsers","isLoadingNumberOfUsers","isSuccessNumberOfUsers","handleDrawRulesChange","errorDrawRules","_event","FormGroup","paddingX","Tickets","refreshing","setRefreshing","t","refetchQueries","getTitle","scrollButtons","api","create","baseURL","createGlobalStyle","Container","styled","div","Content","dragActive","css","dragReject","DropContainer","attrs","isDragActive","isDragReject","messageColors","UploadMessage","p","Upload","renderDragMessage","onUpload","accept","onDropAccepted","getRootProps","getInputProps","ul","FileInfo","Preview","FileList","files","uploadedFile","preview","readableSize","uploaded","textSize","strokeLinecap","UploadField","uploadedFiles","new","sendURLToParent","parentCallback","handleUpload","filesize","processUpload","updateFile","onUploadProgress","parseInt","round","loaded","handleDelete","nextProps","revokeObjectURL","labelText","CardMovimentacaoFinanceira","openEdit","setOpenEdit","isFetchingStatusMovimentacaoFinanceira","handleEditOpen","handleEditClose","autoWidth","isEmpty","multiline","rows","getNameTipoPix","CardEstabelecimento","sendButton","mailIcon","cell","OtherActions","setOption","select","SelectProps","native","Summary","useIngressosMovimentacaoFinanceira","ingressosListOfObject","ingressosReturn","organizeIngressos","MovimentacoesFinanceirasDetails","handleTabsChange","StyledTableCell","head","common","body","MovimentacoesFinanceirasList","setStatusMovimentacaoFinanceiraId","TableMovimentacoesFinanceiras","MovimentacoesFinanceiras","RowTableCancelamentosIngressos","orderCancelItem","mutationFinishOrderCancel","pedido","motivoCancelamentoIngresso","mutate","TableCancelamentosIngressos","ordersCancel","selectEmpty","Filters","selectedStatusOrderCancelId","selectedReasonOrderCancelId","filters","setFilters","statusOrderCancelSelect","reasonOrderCancelSelect","runQuery","handleChangeText","prev","reasonOrderCancel","CancelamentosIngressosList","statusOrderCancelId","reasonOrderCancelId","OrderCancelInfo","OrderInfo","mutationCreateOrderCancel","finishOrderCancel","uf","nomePt","transacao","formaPagamento","parcelas","valorParcelamento","linhaDigitavelBoleto","pixBase64","dataHoraValidade","pedidoId","OrderItems","carrinhoItens","textLoteFormatted","textDecoration","getTotalWithDiscount","OrderTickets","tickets","OrderCancelDetails","initialData","useOrderCancel","CancelamentosIngressos","RowTableOrderManagementList","orderItem","TableOrderManagementList","orders","selectedStatusPedidoId","selectedFormaPagamentoId","statusPedidoSelect","isLoadingstatusPedidoSelect","formaPagamentoSelect","isLoadingFormaPagamentoSelect","results","OrderManagementList","OrderManagementDetails","useOrder","cover","visibility","outline","shadows","UserEdit","dataNascimento","handleFieldChange","Modal","debounceTime","maxLength","autoOk","inputVariant","invalidDateMessage","invalidLabel","maxDateMessage","minDateMessage","clearable","clearLabel","todayLabel","openTo","KeyboardButtonProps","views","InputAdornmentProps","minlength","displayEmpty","displayName","UserInfo","substring","ExtraInfo","extractedUserHashtag","usuarioHashtag","usuarioHashtagItem","extractedUserCities","usuarioCidade","usuarioCidadeItem","dataHoraCadastro","dataHoraUltimoAcesso","formatRelative","aceiteEmails","atividadesPrivadas","aceiteTermosUso","usuarioDispositivo","totalSeguidores","totalSeguindo","mainActions","notice","deleteButton","Orders","userOrders","useUserOrders","list","listItem","listItemText","unconnectedButton","connectedButton","cardHeaderAction","Connections","setSelectedChip","useUserConnections","userConnections","getSubheaderText","Input","disableUnderline","connection","usuarioSegue","disableElevation","disableRipple","disableTouchRipple","disableFocusRipple","stars","rating","OverallReviews","reviews","acc","review","Rating","precision","readOnly","noMessage","ReviewCard","reviewItem","addSuffix","Reviews","useUserReviews","userReviews","Logs","useUserLogs","userLogs","suppressScrollY","tabela","campo","valorAntigo","valorNovo","CustomerManagementDetails","Info","RowTableUsers","TableUsers","users","CustomerManagementList","connectedProfileDetailsPage","textAlgin","uploadButton","GeneralSettings","setValues","editable","setEditable","buttonProgress","General","setEmailVendas","connectedSettingsPage","ModalRequestPasswordReset","setEmail","Copyright","Login","handleChangeBox","responseFacebook","handleClickopenModalRequestPasswordReset","loggingIn","CssBaseline","elevation","square","backButton","submit","connectedLoginPage","backButtom","EmailVerification","refreshed","loggedIn","verificaEmail","query","substr","decodeURIComponent","PasswordReset","repeatPassword","handleChangePassword","handleChangeRepeatPassword","connectedPasswordResetPage","TitleContent","subTitle","EmptyFirstTiposIngresso","connectedTipoIngressoPage","TipoIngressoEdit","dateFormatted","isSameDay","onShare","shareEventCouponCode","couponCode","androidFallbackLink","onShareEstablishment","ColorlibConnector","alternativeLabel","completed","line","StepConnector","useColorlibStepIconStyles","ColorlibStepIcon","icons","instructions","imageGooglePlay","imageAppStore","containerAppValidate","Steppers","steps","activeStep","setLink","generateLink","generatePayload","appFrame","Stepper","nonLinear","connector","Step","StepButton","StepLabel","StepIconComponent","stepIndex","EventoEditForm","getStepContent","TitleContentEvent","FutureEvents","eventos","PastEvents","connectedEventoPage","handleClickNewEvento","centered","connectedLoteListPage","convertGenero","getPlanNameById","planId","plans","getQueryData","plan","findDescricaoTipoIngresso","htmlColor","ControlPointDuplicate","ModalAddTipoDeIngresso","contentRoot","mixins","gutters","unit","drawerPaper","LoteEdit","repassarTaxaEstabelecimento","isLoadingPlans","handleChangeData","repassarTaxaEstabecimento","add","validateDatesLote","titleTypographyProps","buttonAddTipoDeIngresso","lines","la","ampm","defaultValue","disablePast","minDate","initialFocusedDate","my","EventoEditLocale","Geocode","setApiKey","setLanguage","setRegion","EventoEdit","eventoHashtagLength","generateSlug","prepareAddressFromState","estadoSelected","cidadeSelected","fromAddress","geometry","latLonResult","lat","lng","dispatchAfterGeneratePayload","getHashtagObjectById","hashtagObject","hashtagItem","instantValidate","animateYearScrolling","getHashtagsObjects","readyEventoHashtag","hashtagPrepareData","filterSelectedOptions","limitTags","groupBy","categoriaItem","getCategoriaName","language","removePlugins","editor","ClassicEditor","onInit","getData","onBlur","CardMedia","dense","justifyItems","estabelecimentoItem","ListItemIcon","estabelecimentoItemIcon","EventoSummary","estados","cidades","getHashtagNameById","hashtagName","dangerouslySetInnerHTML","__html","nameEstado","getNameEstadoById","nameCidade","getNameCidadeById","RowTableEstabelecimentos","TableEstabelecimentos","estabelecimentos","EstabelecimentoList","abbreviateNumber","number","tier","log10","pow","connectedEstabelecimentoDetailsPage","mediaAvaliacoes","EstabelecimentoForm","hashtagLength","estabelecimentoHashtag","generateUsername","usernameGenerate","capacidade","isSearchingCep","numerosCep","readyEstabelecimentoHashtag","coverDragging","changeButton","addPhotoIcon","pendingButton","personAddIcon","connectedUsuarioPage","validator","isEmail","mapStyles","containerStyle","GoogleApiWrapper","apiKey","LoadingContainer","showingInfoWindow","setShowingInfoWindow","activeMarker","setActiveMarker","setSelectedPlace","coord","latLng","initialCenter","draggable","onDragend","marker","enableDebug","Location","listNiveis","beneficios","listBeneficiosNivel","rewardContent","cardNivel","cardNextNiveis","cardBeneficio","alignContentCenter","Level","gridContainer","inputField","connectedMessage","Integrations","__","variables","useMutationEditEstablishment","pixelId","facebookPixelId","inputPixelId","setInputPixelId","isEditing","setIsEditing","isEdition","localeCompare","isSameString","isConnected","showInput","showCardActions","showConnectButton","showRemoveButton","showCancelButton","buttonTitle","handlePressRemoveButton","finally","handleSavePixelId","handlePressEdit","handleChangePixelId","handlePressConnectButton","handlePressCancelEditButton","gridGap","connectedEstabelecimentoEditPage","box","bottomLeftBox","EmptyFirstCupomDesconto","connectedCupomDescontoPage","CupomDescontoEdit","idCupomDesconto","validOnAllEventos","TableUtilizacao","cuponsDescontoResult","quantidadeUtilizacao","prepareDataForCSV","CuponsDescontoUtilizacao","CuponsDesconto","connectedCategoriaPage","CategoriaEdit","InsertText","EditText","SegHeader","connectedCategoriaEditPage","connectedHashtagPage","setText","searchForHashtag","handleSubmitSearch","clearTextSearch","iconButton","HashtagEdit","getURL","HeaderSelection","connectedHashtagEditPage","setTextSearch","searchForConquista","ConquistaEdit","handleCancel","Taxa","getEstabelecimentoNameById","eventoObject","getEventoNameById","loteObject","getLoteNameById","TaxaEdit","EmptyFirstParametro","connectedParametroPage","ParametroEdit","connectedParametroEditPage","TablePermissoes","permissoes","onCheckedPermissao","buttonSubmit","PermissaoTipoUsuario","isEmptyPermissaoTipoUsuario","checkedAll","handleChangePermissaoTipoUsuario","handleSubmitPermissaoTipoUsuario","handleChangeCheckedAll","PermissaoUsuario","isEmptyPermissaoUsuario","handleChangePermissaoUsuario","handleSubmitPermissaoUsuario","Permissao","SelectEvent","setEventoId","texto","setTexto","DetailAndComment","comentario","getUsuarioNameById","numeroCurtidas","usuarioCurtiu","AnswerRating","TableEventRating","EventRating","ratings","PlaceRating","TitleContentWithoutButton","EmptyFirstPhotoAlbum","connectedphotoAlbumPage","photoAlbum","mutationDeletePhotoAlbum","setQueryData","oldData","useMutationPhotoAlbumDelete","fotoCapa","totalFotos","album","useDropzone","onDrop","acceptedFiles","replaceAll","onDropRejected","fileRejections","draggedFiles","formDialog","PhotoEditDialog","photo","isSmallScreen","setTitle","setDescription","isCover","setCover","textLoadingProgress","encodeURI","actionsContainer","borderTopLeftRadius","borderTopRightRadius","editButton","textName","textOverflow","WebkitLineClamp","WebkitBoxOrient","loadingContainer","errorContainer","ImageItem","imagePreview","useSortable","attributes","listeners","setNodeRef","setProgress","setIsLoading","openEditModal","setOpenEditModal","enabledSortableContext","CSS","Transform","listContainer","PhotoList","sensors","useSensors","useSensor","PointerSensor","activationConstraint","distance","collisionDetection","closestCenter","onDragEnd","over","oldIndex","newIndex","arrayMove","onDragStart","strategy","rectSortingStrategy","containerPhotos","fabButton","helperContainer","PhotoAlbumEdit","mutationCreatePhotoAlbum","mutationEditPhotoAlbum","eventoEditId","setEventoEditId","photoAlbumId","eventQuery","useEvent","photoAlbumEdit","fotoEdit","LoadEditDetails","hasNotUploaded","fotoPayload","albumId","ordem","capa","albumCapa","editPhotoAlbum","createPhotoAlbum","pb","Fab","PhotoAlbum","EmptyFirstMembershipPlan","connectedMembershipPlanPage","membershipPlan","mutationMembershipPlanDelete","useMutationMembershipPlanDelete","numeroIngressos","diaVencimento","diasInadimplencia","totalMembros","limiteMembros","buttonAddPrice","MembershipPlanEdit","membershipPlanId","membershipPlanEdit","setName","setImage","setStartDate","setEndDate","membersLimit","setMembersLimit","ticketsNumber","setTicketsNumber","billingDay","setBillingDay","paymentDeadlineDays","setPaymentDeadlineDays","daysOfDefault","setDaysOfDefault","periodicity","setPeriodicity","setPrice","planPrices","setPlanPrices","isEditPlanPrice","setIsEditPlanPrice","planPriceEditIndex","setPlanPriceEditIndex","mutationCreateMembershipPlan","mutationEditMembershipPlan","mutationEditPlanPrice","mutationDeletePlanPrice","mutationPlanPriceCreate","isMutatingMembershipPlan","numeroDiasVencimento","planoValor","createMembershipPlan","editMembershipPlan","periodicidade","handleEditPlanPriceFinal","handleAddPlanPrice","planPriceItem","indexOfPlanPriceEdit","handleEditPlanPrice","indexOfPlanPriceItem","handleDeletePlanPrice","statusMembroPlanoList","isLoadingStatusMembroPlano","establishmentPlansSelectList","isLoadingEstablishmentPlansSelect","selectStatusMembroPlano","selectEstablishmentPlanId","handleChangeSelectStatus","handleChangeSelectEstablishmentPlan","selectEstablishmentPlan","establishmentPlanItem","Table","matricula","membroPlano","phone","plano","statusMembroPlano","ativo","MemberList","getCityInfo","useCityInfo","getCountryStateInfo","getStates","getCities","getCitiesByStateId","MemberEdit","memberId","memberEdit","setCpfCnpj","setPhone","birthDate","setBirthDate","setCep","setBairro","cityId","setCityId","stateId","setStateId","setComplemento","address","setAddress","numberAddress","setNumberAddress","gender","setGender","setMatricula","setPlanId","planPriceId","setPlanPriceId","paymentMethod","setPaymentMethod","initialDatePayment","setInitialDatePayment","mutationMemberCreate","mutationEditMember","membro","isLoadingPlanPrice","userInfo","cityInfo","cityInfoForEdit","useCountryStateInfo","states","citiesByStateId","useCitiesByStateId","handleAlreadyUser","createMember","handleEdit","editMemberPlan","planoValorId","dataInicioCobranca","handleOnChangeState","planPrice","Members","dialogContent","hole","logo","MembershipCard","setOpenDialogMembershipCard","openDialogMembershipCard","memberPlan","refMembershipCard","imgProps","sx","qrCode","bgColor","fgColor","level","wordBreak","getPeriodicityString","parseISO","months","differenceInMonths","weeks","differenceInWeeks","calculateMembershipTime","toISOString","controlLabel","mutationDeleteMemberPlan","contentEditable","memberPlanDetails","RowTableMemberFinancial","totalItems","payment","statusPagamento","linkBoleto","membershipItem","TableFinancialTransactionHistory","TableMemberFinancial","selectValue","Financial","memberSubscriptions","MemberPlanDetails","isLoadingMemberPlanDetails","isFetchingMemberPlanDetails","refetchMemberPlanDetails","isLoadingMemberSubscriptions","isFetchingMemberSubscriptions","refetchMemberSubscriptions","Routes","DashboardView","exact","MainLayout","CarteiraView","HomeView","EstabelecimentosListView","CustomerManagementListView","EstabelecimentoEditView","CustomerManagementDetailsView","MovimentacoesFinanceirasView","CancelamentosIngressosView","OrderCancelDetailsView","OrderManagementListView","OrderManagementDetailsView","TicketsView","AvaliacoesView","CupomDescontoView","PhotoAlbumView","MemberPlanDetailsView","MembersView","TipoIngressoView","TipoIngressoEditView","CategoriaView","CategoriaEditView","HashtagView","HashtagEditView","ConquistaView","ConquistaEditView","TaxaView","TaxaEditView","PermissaoView","ParametroView","ParametroEditView","EventosView","EventosEditView","EventoDashboardView","LoginView","EmailVerificationView","SettingsView","f","AjudaView","Error404View","MinimalLayout","CadastroView","PasswordResetView","DashboardAdminView","helpers","extend","elements","Rectangle","prototype","chartjs","App","QueryClient","useLayoutEffect","client","utils","DateFnsUtils","ThemeProvider","Mensagens","initialIsOpen","initialState","clienteId","dataHoraCompra","dataHoraCancelamento","validado","qrcode","cupomDescontoId","ddd","graficoIngressosEventos","pedidos","valorATranferir","permissaoId","solicitado","privada","comentarioId","privado","appReducer","combineReducers","newRatingArray","newCommentsReview","comment","fotoItem","formReducer","rootReducer","routing","hostname","initialize","gtmId","persistConfig","storage","blacklist","persistedReducer","persistReducer","reducer","devTools","__REDUX_DEVTOOLS_EXTENSION__","store","applyMiddleware","thunk","multi","createStore","persistor","persistStore","ReactDOM","getElementById","serviceWorker","ready","registration","unregister","module","exports"],"mappings":"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","file":"static/js/main.b4c02ce7.chunk.js","sourcesContent":["import { createBrowserHistory } from 'history'\nexport const history = createBrowserHistory()\n","export const slugMask = (value) => {\n if (value !== null && value !== undefined) {\n return value\n .normalize('NFD')\n .replace(/(^-+|-+$)/, '') // Remove hífens extras do final ou do inicio da string\n .replace(/[\\u0300-\\u036f]/g, '') // Remove acentos\n .replace(/([^\\w]+|\\s+)/g, '-') // Substitui espaço e outros caracteres por hífen\n .replace(/\\-\\-+/g, '-') // Substitui multiplos hífens por um único hífen\n .toLowerCase() //tudo em letra minuscula\n }\n}\n\nexport const cpfCnpjMask = (value) => {\n if (value !== null && value !== undefined) {\n if (value.length === 14 && value.includes('-')) {\n return cpfMask(value)\n }\n if (value.length >= 14) {\n return cnpjMask(value)\n } else {\n return cpfMask(value)\n }\n }\n}\n\nexport const cpfMask = (value) => {\n if (value !== null && value !== undefined) {\n return value\n .replace(/\\D/g, '') // substitui qualquer caracter que nao seja numero por nada\n .replace(/(\\d{3})(\\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})/, '$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}\nexport const cnpjMask = (value) => {\n if (value !== null && value !== undefined) {\n return value\n .replace(/\\D/g, '')\n .replace(/(\\d{2})(\\d)/, '$1.$2')\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')\n }\n}\n\nexport const phoneMask = (value) => {\n if (value !== null && value !== undefined) {\n return value\n .replace(/\\D/g, '')\n .replace(/(\\d{2})(\\d)/, '($1) $2')\n .replace(/(\\d{4})(\\d)/, '$1-$2')\n .replace(/(\\d{4})-(\\d)(\\d{4})/, '$1$2-$3')\n .replace(/(-\\d{4})\\d+?$/, '$1')\n }\n}\n\nexport const cepMask = (value) => {\n if (value !== null && value !== undefined) {\n return value\n .replace(/\\D/g, '')\n .replace(/(\\d{5})(\\d)/, '$1-$2')\n .replace(/(-\\d{3})\\d+?$/, '$1')\n }\n}\n\nexport const pisMask = (value) => {\n if (value !== null && value !== undefined) {\n return value\n .replace(/\\D/g, '')\n .replace(/(\\d{3})(\\d)/, '$1.$2')\n .replace(/(\\d{5})(\\d)/, '$1.$2')\n .replace(/(\\d{5}\\.)(\\d{2})(\\d)/, '$1$2-$3')\n .replace(/(-\\d{1})\\d+?$/, '$1')\n }\n}\n\nexport const dataMask = (value) => {\n if (value !== null && value !== undefined) {\n return value\n .replace(/\\D/g, '')\n .replace(/(\\d{2})(\\d)/, '$1/$2')\n .replace(/(\\d{2})(\\d)/, '$1/$2')\n .replace(/(\\d{2})(\\d{2})$/, '$1$2')\n }\n}\n\nexport const hashtagMask = (value) => {\n if (value !== null && value !== undefined) {\n return value\n .normalize('NFD')\n .replace(/(^-+|-+$)/, '') // Remove hífens extras do final ou do inicio da string\n .replace(/([^\\w]+|\\s+)/g, '') // Remove espaço e outros\n //.toLowerCase() //tudo em letra minuscula\n }\n}\n","// ChartJS extension rounded bar chart\n// https://codepen.io/jedtrow/full/ygRYgo\nfunction draw() {\n const { ctx } = this._chart\n const vm = this._view\n let { borderWidth } = vm\n\n let left\n let right\n let top\n let bottom\n let signX\n let signY\n let borderSkipped\n let radius\n\n // If radius is less than 0 or is large enough to cause drawing errors a max\n // radius is imposed. If cornerRadius is not defined set it to 0.\n let { cornerRadius } = this._chart.config.options\n if (cornerRadius < 0) {\n cornerRadius = 0\n }\n\n if (typeof cornerRadius === 'undefined') {\n cornerRadius = 0\n }\n\n if (!vm.horizontal) {\n // bar\n left = vm.x - vm.width / 2\n right = vm.x + vm.width / 2\n top = vm.y\n bottom = vm.base\n signX = 1\n signY = bottom > top ? 1 : -1\n borderSkipped = vm.borderSkipped || 'bottom'\n } else {\n // horizontal bar\n left = vm.base\n right = vm.x\n top = vm.y - vm.height / 2\n bottom = vm.y + vm.height / 2\n signX = right > left ? 1 : -1\n signY = 1\n borderSkipped = vm.borderSkipped || 'left'\n }\n\n // Canvas doesn't allow us to stroke inside the width so we can\n // adjust the sizes to fit if we're setting a stroke on the line\n if (borderWidth) {\n // borderWidth shold be less than bar width and bar height.\n const barSize = Math.min(Math.abs(left - right), Math.abs(top - bottom))\n borderWidth = borderWidth > barSize ? barSize : borderWidth\n const halfStroke = borderWidth / 2\n // Adjust borderWidth when bar top position is near vm.base(zero).\n const borderLeft =\n left + (borderSkipped !== 'left' ? halfStroke * signX : 0)\n const borderRight =\n right + (borderSkipped !== 'right' ? -halfStroke * signX : 0)\n const borderTop = top + (borderSkipped !== 'top' ? halfStroke * signY : 0)\n const borderBottom =\n bottom + (borderSkipped !== 'bottom' ? -halfStroke * signY : 0)\n // not become a vertical line?\n if (borderLeft !== borderRight) {\n top = borderTop\n bottom = borderBottom\n }\n // not become a horizontal line?\n if (borderTop !== borderBottom) {\n left = borderLeft\n right = borderRight\n }\n }\n\n ctx.beginPath()\n ctx.fillStyle = vm.backgroundColor\n ctx.strokeStyle = vm.borderColor\n ctx.lineWidth = borderWidth\n\n // Corner points, from bottom-left to bottom-right clockwise\n // | 1 2 |\n // | 0 3 |\n const corners = [\n [left, bottom],\n [left, top],\n [right, top],\n [right, bottom]\n ]\n\n // Find first (starting) corner with fallback to 'bottom'\n const borders = ['bottom', 'left', 'top', 'right']\n let startCorner = borders.indexOf(borderSkipped, 0)\n if (startCorner === -1) {\n startCorner = 0\n }\n\n function cornerAt(index) {\n return corners[(startCorner + index) % 4]\n }\n\n // Draw rectangle from 'startCorner'\n let corner = cornerAt(0)\n ctx.moveTo(corner[0], corner[1])\n\n for (let i = 1; i < 4; i += 1) {\n corner = cornerAt(i)\n let nextCornerId = i + 1\n if (nextCornerId === 4) {\n nextCornerId = 0\n }\n\n const width = corners[2][0] - corners[1][0]\n const height = corners[0][1] - corners[1][1]\n const x = corners[1][0]\n const y = corners[1][1]\n\n radius = cornerRadius\n // Fix radius being too large\n if (radius > Math.abs(height) / 2) {\n radius = Math.floor(Math.abs(height) / 2)\n }\n if (radius > Math.abs(width) / 2) {\n radius = Math.floor(Math.abs(width) / 2)\n }\n\n if (height < 0) {\n // Negative values in a standard bar chart\n const xTl = x\n const xTr = x + width\n const yTl = y + height\n const yTr = y + height\n\n const xBl = x\n const xBr = x + width\n const yBl = y\n const yBr = y\n\n // Draw\n ctx.moveTo(xBl + radius, yBl)\n ctx.lineTo(xBr - radius, yBr)\n ctx.quadraticCurveTo(xBr, yBr, xBr, yBr - radius)\n ctx.lineTo(xTr, yTr + radius)\n ctx.quadraticCurveTo(xTr, yTr, xTr - radius, yTr)\n ctx.lineTo(xTl + radius, yTl)\n ctx.quadraticCurveTo(xTl, yTl, xTl, yTl + radius)\n ctx.lineTo(xBl, yBl - radius)\n ctx.quadraticCurveTo(xBl, yBl, xBl + radius, yBl)\n } else if (width < 0) {\n // Negative values in a horizontal bar chart\n const xTl = x + width\n const xTr = x\n const yTl = y\n const yTr = y\n\n const xBl = x + width\n const xBr = x\n const yBl = y + height\n const yBr = y + height\n\n // Draw\n ctx.moveTo(xBl + radius, yBl)\n ctx.lineTo(xBr - radius, yBr)\n ctx.quadraticCurveTo(xBr, yBr, xBr, yBr - radius)\n ctx.lineTo(xTr, yTr + radius)\n ctx.quadraticCurveTo(xTr, yTr, xTr - radius, yTr)\n ctx.lineTo(xTl + radius, yTl)\n ctx.quadraticCurveTo(xTl, yTl, xTl, yTl + radius)\n ctx.lineTo(xBl, yBl - radius)\n ctx.quadraticCurveTo(xBl, yBl, xBl + radius, yBl)\n } else {\n // Positive Value\n ctx.moveTo(x + radius, y)\n ctx.lineTo(x + width - radius, y)\n ctx.quadraticCurveTo(x + width, y, x + width, y + radius)\n ctx.lineTo(x + width, y + height - radius)\n ctx.quadraticCurveTo(\n x + width,\n y + height,\n x + width - radius,\n y + height\n )\n ctx.lineTo(x + radius, y + height)\n ctx.quadraticCurveTo(x, y + height, x, y + height - radius)\n ctx.lineTo(x, y + radius)\n ctx.quadraticCurveTo(x, y, x + radius, y)\n }\n }\n\n ctx.fill()\n if (borderWidth) {\n ctx.stroke()\n }\n}\n\nexport default {\n draw\n}\n","export default (name = '') =>\n name\n .replace(/\\s+/, ' ')\n .split(' ')\n .slice(0, 2)\n .map((v) => v && v[0].toUpperCase())\n .join('')\n","export default function toISODateFormat(dateTimeString) {\r\n if (dateTimeString !== null && dateTimeString !== undefined) {\r\n const [date, time] = dateTimeString.split(' ')\r\n const [DD, MM, YYYY] = date.split('/')\r\n const [HH, mm] = time.split(':')\r\n return `${YYYY}-${MM}-${DD}T${HH}:${mm}`\r\n }\r\n}\r\n","export default function formatCurrency(valueToFormat) {\n if (\n valueToFormat !== null &&\n valueToFormat !== undefined &&\n valueToFormat >= 0\n ) {\n return Intl.NumberFormat('pt-BR', {\n style: 'currency',\n currency: 'BRL'\n }).format(valueToFormat)\n } else {\n return ''\n }\n}\n","import { isPast, isAfter, isBefore } from 'date-fns'\nimport toISODateFormat from './toISODateFormat'\n\nexport default function validateDates(dataInicio, dataFim) {\n var isValid = true\n if (\n isAfter(\n new Date(toISODateFormat(dataInicio)),\n new Date(toISODateFormat(dataFim))\n ) ||\n isBefore(\n new Date(toISODateFormat(dataFim)),\n new Date(toISODateFormat(dataInicio))\n )\n ) {\n isValid = false\n } else if (\n isPast(new Date(toISODateFormat(dataFim))) ||\n isPast(new Date(toISODateFormat(dataInicio)))\n ) {\n isValid = false\n }\n return isValid\n}\n","import { format } from 'date-fns'\n\nexport default function toLocalDateFormat(isoDateTime) {\n if (isoDateTime !== null && isoDateTime !== undefined && isoDateTime !== '') {\n const date = new Date(isoDateTime)\n return format(date, 'dd/MM/yyyy HH:mm')\n } else {\n return null\n }\n}\n","import { toast } from 'react-toastify'\n\nexport default function ErrorsUploadImage(erros) {\n if (erros.acceptType === true) {\n toast.error(`Opss! Tipo de arquivo inválido! 😥`)\n } else if (erros.maxFileSize === true) {\n toast.error(`Opss! A imagem é muito grande! 😥`)\n } else if (erros.maxNumber === true) {\n toast.error(`Opss! Quantidade de imagens excedida! 😥`)\n } else if (erros.resolution === true) {\n toast.error(`Opss! A resolução da imagem é incorreta! 😥`)\n }\n}\n","export default function getMonthByNumber(monthNumber) {\n if (monthNumber !== undefined) {\n var monthNumberSplit = monthNumber.split('/', 2)\n var meses = [\n 'Janeiro',\n 'Fevereiro',\n 'Março',\n 'Abril',\n 'Maio',\n 'Junho',\n 'Julho',\n 'Agosto',\n 'Setembro',\n 'Outubro',\n 'Novembro',\n 'Dezembro'\n ]\n return meses[monthNumberSplit[1] - 1]\n } else return null\n}\n","import React from 'react'\r\nimport { useLocation } from 'react-router-dom'\r\n\r\nfunction useSearchQuery() {\r\n const { search } = useLocation()\r\n return React.useMemo(() => new URLSearchParams(search), [search])\r\n}\r\n\r\nexport default useSearchQuery\r\n","import React from 'react'\n\nexport const useDidMountEffect = (effect, dependencies) => {\n const mounted = React.useRef(false)\n React.useEffect(() => {\n if (mounted.current) {\n const unmount = effect()\n return () => unmount && unmount()\n } else {\n mounted.current = true\n }\n }, dependencies)\n\n React.useEffect(() => {\n return () => (mounted.current = false)\n }, [])\n}\n\n// hook usado para renderizar o componente somente quando state sofre alguma mudança,\n// não dispara na criação do componente como o useEffect() padrão\n","import { useCallback } from 'react'\nimport { useDidMountEffect } from './useDidMountEffect'\n\nexport const useDebouncedEffect = (effect, delay, deps) => {\n const callback = useCallback(effect, deps)\n\n useDidMountEffect(() => {\n const handler = setTimeout(() => {\n callback()\n }, delay)\n return () => {\n clearTimeout(handler)\n }\n }, [callback, delay])\n}\n","export default function getCurrentDateTime() {\n let today = new Date()\n let date =\n today.getFullYear() + '-' + (today.getMonth() + 1) + '-' + today.getDate()\n let time =\n today.getHours() + ':' + today.getMinutes() + ':' + today.getSeconds()\n return date + ' ' + time\n}\n","import { colors } from '@material-ui/core'\n\nexport default function GetRandomColorsChart(numberOfColors) {\n const colorsArray = Object.keys(colors)\n\n //remove o index 'grey' and 'black'\n colorsArray.splice(colorsArray.indexOf('grey' || 'black'), 1)\n\n const colorsArrayRandom = []\n for (let i = 0; i < numberOfColors; i++) {\n const randomColor =\n colorsArray[Math.floor(Math.random() * colorsArray.length)]\n if (!colorsArrayRandom.some((color) => color === colors[randomColor])) {\n colorsArrayRandom.push(colors[randomColor])\n } else {\n i--\n }\n }\n return colorsArrayRandom\n}\n","export const getGenderFull = (abbreviation?: 'M' | 'F' | 'U') => {\n switch (abbreviation) {\n case 'M':\n return 'Masculino'\n case 'F':\n return 'Feminino'\n case 'U':\n return 'Unissex'\n default:\n return 'Não informado'\n }\n}\n","import { colors } from '@material-ui/core'\nimport { StatusIngresso } from 'types/api'\n\nexport const getStatusIngressoColor = (statusIngresso: StatusIngresso) => {\n if (statusIngresso.pago) {\n return colors.green[500]\n }\n if (statusIngresso.cancelado) {\n return colors.red[500]\n }\n if (statusIngresso.transferido) {\n return colors.green[800]\n }\n if (statusIngresso.liberadoCarteira) {\n return colors.orange[500]\n }\n return colors.grey[500]\n}\n","import { colors } from '@material-ui/core'\nimport { Gateway } from 'types/api'\n\nexport const getLabelGatewayColor = (gateway: Gateway) => {\n if (gateway === 'pagarMe') {\n return colors.lightGreen[800]\n }\n if (gateway === 'mercadopago') {\n return colors.yellow[500]\n }\n if (gateway === 'juno') {\n return colors.blue[800]\n }\n if (gateway === 'transferência') {\n return colors.orange[500]\n }\n return colors.grey[500]\n}\n","import { colors } from '@material-ui/core'\nimport { StatusPedido } from 'types/api'\n\nexport const getStatusPedidoColor = (statusPedido: StatusPedido) => {\n if (statusPedido.finalizado) {\n return colors.green[500]\n }\n if (statusPedido.cancelado) {\n return colors.red[500]\n }\n if (statusPedido.pendente) {\n return colors.orange[500]\n }\n return colors.grey[500]\n}\n","import { colors } from '@material-ui/core'\nimport { StatusCancelamentoIngresso } from 'types/api'\n\nexport const getStatusCancelamentoIngressoColor = (\n statusCancelamentoIngresso: StatusCancelamentoIngresso\n) => {\n if (statusCancelamentoIngresso.finalizado) {\n return colors.green[500]\n }\n if (statusCancelamentoIngresso.cancelado) {\n return colors.red[500]\n }\n if (statusCancelamentoIngresso.pendente) {\n return colors.orange[500]\n }\n return colors.grey[500]\n}\n","import axios from 'axios'\n\nconst GOOGLE_DYNAMIC_LINKS_API_KEY = 'AIzaSyAhOv-A1oSKYiezpqnlEqZxB9HkoSO3ufY'\nconst options = {\n headers: {\n Accept: 'application/json'\n }\n}\n\nexport const createDynamicLink = async (params) => {\n const response = await axios\n .post(\n `https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=${GOOGLE_DYNAMIC_LINKS_API_KEY}`,\n {\n ...params\n },\n options\n )\n .then((res) => res.data)\n .catch(() => {\n return ''\n })\n return response.shortLink\n}\n","import { createDynamicLink } from '_services/firebaseDynamicLinks'\n\nexport const genericOnShare = async (\n url: string,\n title: string,\n message: string,\n socialImageLink?: string\n) => {\n const dynamicLink = await createDynamicLink({\n dynamicLinkInfo: {\n domainUriPrefix: 'corujas.page.link',\n link: url,\n androidInfo: {\n androidPackageName: 'com.quintos.corujas',\n androidMinPackageVersionCode: '1'\n },\n iosInfo: {\n iosBundleId: 'com.quintos.corujas',\n iosAppStoreId: '1593667736',\n iosFallbackLink: url\n },\n navigationInfo: {\n enableForcedRedirect: true\n },\n socialMetaTagInfo: {\n socialTitle: title,\n socialDescription: message,\n socialImageLink:\n socialImageLink ||\n 'https://corujas.s3.us-east-2.amazonaws.com/images/general/splash.png'\n }\n },\n suffix: {\n option: 'SHORT'\n }\n })\n\n const link = dynamicLink || url\n\n return link\n}\n","export function getImageUrls(imageUrl: string | undefined) {\n if (!imageUrl) return undefined\n const imageName = imageUrl.split('/').pop()\n const environment = imageUrl.split('/').at(-2)\n const originalUrl = `https://corujasimg.s3.amazonaws.com/images/${environment}/${imageName}`\n const compressedUrl = `https://corujasimg-compressed.s3.amazonaws.com/compressed-images/${environment}/${imageName}`\n const thumbnailUrl = `https://corujasimg-thumbnail.s3.amazonaws.com/thumb-compressed-images/${environment}/${imageName}`\n\n return { originalUrl, compressedUrl, thumbnailUrl }\n}\n","export const getPeriodicityString = (periodicity: string): string => {\r\n switch (periodicity) {\r\n case 'M':\r\n return 'Mensal'\r\n case 'A':\r\n return 'Anual'\r\n default:\r\n return 'Não identificado'\r\n }\r\n}\r\n","import { colors } from '@material-ui/core'\n\ndeclare module '@material-ui/core/styles/createPalette' {\n interface Palette {\n white: { main: string }\n black: Palette['primary']\n }\n interface PaletteOptions {\n white: { main: string }\n black: PaletteOptions['primary']\n }\n}\n\nconst white = '#FFFFFF'\nconst black = '#000000'\n//palette Corujas' brand\nexport const OXFORD_BLUE = '#0B1D35'\nexport const MIKADO_YELLOW = '#FFC20A'\nexport const DAVYS_GREY = '#4A4A4A'\nexport const CHROME_YELLOW = '#F7A400'\nexport const DIM_GREY = '#666666'\nexport const BLACK = '#000000'\n\nexport default {\n black,\n white,\n primary: {\n contrastText: white,\n dark: CHROME_YELLOW,\n main: MIKADO_YELLOW,\n light: colors.grey[200]\n },\n secondary: {\n contrastText: white,\n dark: '#030518',\n main: '#030517',\n light: DAVYS_GREY\n },\n success: {\n contrastText: white,\n dark: colors.green[900],\n main: colors.green[600],\n light: colors.green[400]\n },\n info: {\n contrastText: white,\n dark: colors.blue[900],\n main: colors.blue[600],\n light: colors.blue[400]\n },\n warning: {\n contrastText: white,\n dark: colors.orange[900],\n main: colors.orange[600],\n light: colors.orange[400]\n },\n error: {\n contrastText: white,\n dark: colors.red[900],\n main: colors.red[600],\n light: colors.red[400]\n },\n text: {\n primary: colors.blueGrey[900],\n secondary: colors.blueGrey[600],\n link: CHROME_YELLOW,\n white: white\n },\n background: {\n default: '#F4F6F8',\n paper: white\n },\n icon: colors.blueGrey[600],\n divider: colors.grey[200]\n}\n","import palette from './palette'\n\nexport default {\n h1: {\n color: palette.text.primary,\n fontWeight: 500,\n fontSize: '35px',\n letterSpacing: '-0.24px',\n lineHeight: '40px'\n },\n h2: {\n color: palette.text.primary,\n fontWeight: 500,\n fontSize: '29px',\n letterSpacing: '-0.24px',\n lineHeight: '32px'\n },\n h3: {\n color: palette.text.primary,\n fontWeight: 500,\n fontSize: '24px',\n letterSpacing: '-0.06px',\n lineHeight: '28px'\n },\n h4: {\n color: palette.text.primary,\n fontWeight: 500,\n fontSize: '20px',\n letterSpacing: '-0.06px',\n lineHeight: '24px'\n },\n h5: {\n color: palette.text.primary,\n fontWeight: 500,\n fontSize: '16px',\n letterSpacing: '-0.05px',\n lineHeight: '20px'\n },\n h6: {\n color: palette.text.primary,\n fontWeight: 500,\n fontSize: '14px',\n letterSpacing: '-0.05px',\n lineHeight: '20px'\n },\n subtitle1: {\n color: palette.text.primary,\n fontSize: '16px',\n letterSpacing: '-0.05px',\n lineHeight: '25px'\n },\n subtitle2: {\n color: palette.text.secondary,\n fontWeight: 400,\n fontSize: '14px',\n letterSpacing: '-0.05px',\n lineHeight: '21px'\n },\n body1: {\n color: palette.text.primary,\n fontSize: '14px',\n letterSpacing: '-0.05px',\n lineHeight: '21px'\n },\n body2: {\n color: palette.text.secondary,\n fontSize: '12px',\n letterSpacing: '-0.04px',\n lineHeight: '18px'\n },\n body3: {\n color: palette.text.secondary,\n fontSize: '13px',\n letterSpacing: '-0.04px',\n lineHeight: '15px'\n },\n button: {\n color: palette.text.primary,\n fontSize: '14px'\n },\n caption: {\n color: palette.text.secondary,\n fontSize: '11px',\n letterSpacing: '0.33px',\n lineHeight: '13px'\n },\n overline: {\n color: palette.text.secondary,\n fontSize: '11px',\n fontWeight: 500,\n letterSpacing: '0.33px',\n lineHeight: '13px',\n textTransform: 'uppercase'\n },\n fontFamily: [\n 'Poppins',\n '-apple-system',\n 'BlinkMacSystemFont',\n '\"Segoe UI\"',\n 'Roboto',\n '\"Helvetica Neue\"',\n 'Arial',\n 'sans-serif',\n '\"Open Sans\"',\n 'Cantarell',\n 'Ubuntu',\n 'Oxygen',\n '\"Apple Color Emoji\"',\n '\"Segoe UI Emoji\"',\n '\"Segoe UI Symbol\"'\n ].join(',')\n}\n","import MuiButton from './MuiButton'\nimport MuiIconButton from './MuiIconButton'\nimport MuiPaper from './MuiPaper'\nimport MuiTableCell from './MuiTableCell'\nimport MuiTableHead from './MuiTableHead'\nimport MuiTypography from './MuiTypography'\n\nexport default {\n MuiButton,\n MuiIconButton,\n MuiPaper,\n MuiTableCell,\n MuiTableHead,\n MuiTypography\n}\n","export default {\n contained: {\n boxShadow:\n '0 1px 1px 0 rgba(0,0,0,0.14), 0 2px 1px -1px rgba(0,0,0,0.12), 0 1px 3px 0 rgba(0,0,0,0.20)',\n backgroundColor: '#FFFFFF'\n }\n}\n","import palette from '../palette'\n\nexport default {\n root: {\n color: palette.icon,\n '&:hover': {\n backgroundColor: 'rgba(0, 0, 0, 0.03)'\n }\n }\n}\n","export default {\n elevation1: {\n boxShadow: '0 0 0 1px rgba(63,63,68,0.05), 0 1px 3px 0 rgba(63,63,68,0.15)'\n }\n}\n","import palette from '../palette'\nimport typography from '../typography'\n\nexport default {\n root: {\n ...typography.body3,\n borderBottom: `1px solid ${palette.divider}`\n }\n}\n","import { colors } from '@material-ui/core'\n\nexport default {\n root: {\n backgroundColor: colors.grey[50]\n }\n}\n","export default {\n gutterBottom: {\n marginBottom: 8\n }\n}\n","import { ptBR } from '@material-ui/core/locale'\nimport palette from './palette'\nimport typography from './typography'\nimport overrides from './overrides'\nimport { createTheme } from '@material-ui/core/styles'\n\nconst theme = createTheme(\n {\n palette,\n typography,\n overrides,\n zIndex: {\n appBar: 1200,\n drawer: 1100\n }\n },\n ptBR\n)\n\nexport default theme\n","const checked = (value, options) => {\n if (value !== true) {\n return options.message || 'must be checked'\n }\n}\n\nexport default {\n checked\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport clsx from 'clsx'\nimport { makeStyles } from '@material-ui/styles'\nimport { Paper, Input } from '@material-ui/core'\nimport SearchIcon from '@material-ui/icons/Search'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n borderRadius: '4px',\n alignItems: 'center',\n padding: theme.spacing(1),\n display: 'flex',\n flexBasis: 420\n },\n icon: {\n marginRight: theme.spacing(1),\n color: theme.palette.text.secondary\n },\n input: {\n flexGrow: 1,\n fontSize: '14px',\n lineHeight: '16px',\n letterSpacing: '-0.05px'\n }\n}))\n\nconst SearchInput = (props) => {\n const { className, onChange, style, ...rest } = props\n\n const classes = useStyles()\n\n return (\n \n \n \n \n )\n}\n\nSearchInput.propTypes = {\n className: PropTypes.string,\n onChange: PropTypes.func,\n style: PropTypes.object\n}\n\nexport default SearchInput\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport clsx from 'clsx'\nimport { makeStyles } from '@material-ui/styles'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'inline-block',\n borderRadius: '50%',\n flexGrow: 0,\n flexShrink: 0\n },\n sm: {\n height: theme.spacing(1),\n width: theme.spacing(1)\n },\n md: {\n height: theme.spacing(2),\n width: theme.spacing(2)\n },\n lg: {\n height: theme.spacing(3),\n width: theme.spacing(3)\n },\n neutral: {\n backgroundColor: theme.palette.neutral\n },\n primary: {\n backgroundColor: theme.palette.primary.main\n },\n info: {\n backgroundColor: theme.palette.info.main\n },\n warning: {\n backgroundColor: theme.palette.warning.main\n },\n danger: {\n backgroundColor: theme.palette.error.main\n },\n success: {\n backgroundColor: theme.palette.success.main\n }\n}))\n\nconst StatusBullet = (props) => {\n const { className, size, color, ...rest } = props\n\n const classes = useStyles()\n\n return (\n \n )\n}\n\nStatusBullet.propTypes = {\n className: PropTypes.string,\n color: PropTypes.oneOf([\n 'neutral',\n 'primary',\n 'info',\n 'success',\n 'warning',\n 'danger'\n ]),\n size: PropTypes.oneOf(['sm', 'md', 'lg'])\n}\n\nStatusBullet.defaultProps = {\n size: 'md',\n color: 'default'\n}\n\nexport default StatusBullet\n","import React from 'react'\r\nimport { Skeleton } from '@material-ui/lab'\r\n\r\ntype SkeletonTableProps = {\r\n count?: number\r\n style?: React.CSSProperties\r\n}\r\n\r\nconst SkeletonTable: React.FC = ({\r\n count = 4,\r\n style: customStyle = {}\r\n}) => {\r\n const skeletonStyles: React.CSSProperties = {\r\n paddingTop: 20,\r\n lineHeight: '25px',\r\n ...customStyle\r\n }\r\n\r\n return (\r\n
\r\n {Array.from({ length: count }).map((_, index) => (\r\n \r\n ))}\r\n
\r\n )\r\n}\r\n\r\nexport default SkeletonTable\r\n","import React from 'react'\nimport { Route } from 'react-router-dom'\nimport PropTypes from 'prop-types'\n\nconst RouteWithLayout = (props) => {\n const { layout: Layout, component: Component, ...rest } = props\n\n return (\n (\n \n \n \n )}\n />\n )\n}\n\nRouteWithLayout.propTypes = {\n component: PropTypes.any.isRequired,\n layout: PropTypes.any.isRequired,\n path: PropTypes.string\n}\n\nexport default RouteWithLayout\n","export const globalActions = {\n setShowValues,\n setIsVisibleButtonShowValues\n}\n\nfunction setShowValues() {\n return {\n type: 'SET_SHOW_VALUES'\n }\n}\n\nfunction setIsVisibleButtonShowValues(isVisible) {\n return {\n type: 'SET_IS_VISIBLE_BUTTON_SHOW_VALUES',\n isVisible\n }\n}\n","import { toast } from 'react-toastify'\nimport { history } from '../utils'\n\nexport function errorHandler(error) {\n if (error.response.status === 400) {\n if (error.response.data !== undefined) {\n toast.error(`Opss! ${error.response.data}`, {\n toastId: error.response.data || 'errorHandler'\n })\n } else {\n toast.error(`Opss! Algo deu errado 😥`, {\n toastId: error.response.data || 'errorHandler',\n autoClose: 6600\n })\n }\n return Promise.reject(error.response || error.message)\n }\n if (error.response.status === 403) {\n toast.error(`Sem permissão para realizar essa operação! 🔐`, {\n toastId: 'accessDenied'\n })\n return Promise.reject(error.response || error.message)\n }\n if (error.response.status === 401) {\n localStorage.removeItem('token')\n localStorage.removeItem('user')\n localStorage.removeItem('expires')\n history.push('/login')\n return Promise.reject(error)\n }\n if (error.response.status === 404) {\n toast.error(`Opss! ${error.response.data} 😥`, {\n toastId: error.response.data || 'error 404'\n })\n return Promise.reject(error.response || error.message)\n }\n return Promise.reject(error.response || error.message)\n}\n","import axios from 'axios'\nimport config from '../config/config'\nimport { errorHandler } from './errorHandler'\nimport { toast } from 'react-toastify'\n\nexport const authServices = {\n post,\n logout\n}\n\nfunction post(apiEndpoint, payload) {\n return axios\n .post(config.baseUrl + apiEndpoint, payload)\n .then((response) => {\n localStorage.setItem('user', JSON.stringify(response.data.usuario))\n localStorage.setItem('token', response.data.token)\n localStorage.setItem('expires', response.data.expires)\n return response\n })\n .catch((error) => {\n if (error.response.data === '') {\n toast.error('Opss! Problema ao autenticar usuário! 😥')\n } else {\n return errorHandler(error)\n }\n })\n}\n\nfunction logout() {\n // remove user from local storage to log user out\n localStorage.removeItem('token')\n localStorage.removeItem('user')\n localStorage.removeItem('expires')\n}\n","import axios from 'axios'\nimport { toast } from 'react-toastify'\nimport { errorHandler } from './errorHandler'\n\nexport const cepService = {\n get\n}\nfunction get(cep) {\n return axios\n .get(`https://viacep.com.br/ws/${cep}/json`)\n .then((response) => {\n if (response.data.erro === true) {\n return Promise.reject(response)\n } else {\n return response\n }\n })\n .catch((error) => {\n if (error.data.erro === true) {\n toast.error('CEP Inválido!😥 Preencha novamente com atenção.')\n return Promise.reject(error)\n } else {\n return errorHandler(error)\n }\n })\n}\n","import axios from 'axios'\nimport config from '../config/config'\nimport { toast } from 'react-toastify'\nimport { errorHandler } from './errorHandler'\n\nexport const crudService = {\n get,\n post,\n postWithToken,\n put,\n deleteDetail\n}\n\nfunction get(apiEndpoint) {\n return axios\n .get(config.baseUrl + apiEndpoint, getOptions())\n .then((response) => {\n return response\n })\n .catch((error) => {\n return errorHandler(error)\n })\n}\n\nfunction post(apiEndpoint, payload) {\n return axios\n .post(config.baseUrl + apiEndpoint, payload, getOptions())\n .then((response) => {\n return response\n })\n .catch((error) => {\n return errorHandler(error)\n })\n}\n\nfunction postWithToken(apiEndpoint, payload, token) {\n let options = {}\n if (token) {\n options.headers = { Authorization: 'Bearer ' + token }\n }\n\n return axios\n .post(config.baseUrl + apiEndpoint, payload, options)\n .then((response) => {\n return response\n })\n .catch((error) => {\n return errorHandler(error)\n })\n}\n\nfunction put(apiEndpoint, payload) {\n return axios\n .put(config.baseUrl + apiEndpoint, payload, getOptions())\n .then((response) => {\n toast.success('Feito! Dados alterados com sucesso! 😎')\n return response\n })\n .catch((error) => {\n return errorHandler(error)\n })\n}\n\nfunction deleteDetail(apiEndpoint) {\n return axios\n .delete(config.baseUrl + apiEndpoint, getOptions())\n .then((response) => {\n toast.success('Feito! Registro excluído com sucesso! 😎')\n return response\n })\n .catch((error) => {\n return errorHandler(error)\n })\n}\n\nfunction getOptions() {\n let options = {}\n if (localStorage.getItem('token')) {\n options.headers = {\n Authorization: 'Bearer ' + localStorage.getItem('token')\n }\n }\n return options\n}\n","import axios from 'axios'\nimport { errorHandler } from './errorHandler'\nimport config from '../config/config'\n\nexport function uploadImage(payload) {\n const data = new FormData()\n data.append('file', payload.file, payload.name)\n\n return axios\n .post(config.baseUrl + 'uploads/S3/', data, getOptions())\n .then((response) => {\n return response.data.url\n })\n .catch((error) => {\n console.log('error', error)\n return errorHandler(error)\n })\n}\n\nfunction getOptions() {\n let options = {}\n if (localStorage.getItem('token')) {\n options.headers = {\n Authorization: 'Bearer ' + localStorage.getItem('token')\n }\n }\n return options\n}\n","import { authServices, crudService } from '../_services/'\nimport { history } from '../utils'\nimport { toast } from 'react-toastify'\n\nexport const authActions = {\n login,\n facebookLogin,\n refresh,\n logout\n}\n\nfunction login(username, password) {\n return (dispatch) => {\n dispatch(request({ username }))\n let apiEndpoint = 'authentication/request'\n let payload = {\n username: username,\n password: password\n }\n authServices\n .post(apiEndpoint, payload)\n .then((response) => {\n dispatch(success(response.data))\n history.push('/home')\n })\n .catch((err) => {\n dispatch(failure(err))\n })\n }\n\n function request(user) {\n return { type: 'LOGIN_REQUEST', user }\n }\n\n function success(user) {\n return {\n type: 'LOGIN_SUCCESS',\n token: user.token,\n expires: user.expires,\n user: user.usuario\n }\n }\n\n function failure(error) {\n return { type: 'LOGIN_FAILURE', error }\n }\n}\n\nfunction refresh() {\n return (dispatch) => {\n const token = localStorage.getItem('token')\n if (token !== null && token !== undefined) {\n dispatch(request(token))\n let apiEndpoint = 'authentication/refresh'\n crudService\n .post(apiEndpoint)\n .then((response) => {\n dispatch(success(response.data))\n })\n .catch((err) => {\n dispatch(failure(err))\n dispatch(logout())\n })\n }\n }\n\n function request(token) {\n return { type: 'AUTHENTICATION_REFRESH_REQUEST', token }\n }\n\n function success(user) {\n return {\n type: 'AUTHENTICATION_REFRESH_SUCCESS',\n user: user.usuario\n }\n }\n\n function failure(error) {\n return { type: 'AUTHENTICATION_REFRESH_FAILURE', error }\n }\n}\n\nfunction facebookLogin(facebookToken, createUser) {\n return (dispatch) => {\n dispatch(request({ createUser }))\n let apiEndpoint = 'authentication/facebook'\n let payload = {\n facebookToken: facebookToken,\n createUser: createUser\n }\n authServices\n .post(apiEndpoint, payload)\n .then((response) => {\n dispatch(success(response.data))\n history.push('/home')\n })\n .catch((err) => {\n dispatch(failure(err))\n toast.error('Opss! Problema ao autenticar usuário! 😥')\n })\n }\n\n function request(user) {\n return { type: 'LOGIN_REQUEST', user }\n }\n\n function success(user) {\n return {\n type: 'LOGIN_SUCCESS',\n auth: user.auth,\n token: user.token,\n expires: user.expires,\n user: user.usuario\n }\n }\n\n function failure(error) {\n return { type: 'LOGIN_FAILURE', error }\n }\n}\n\nfunction logout() {\n return (dispatch) => {\n authServices.logout()\n dispatch(logoutUser())\n history.push('/login')\n }\n}\nexport function setUserDetails(user) {\n return {\n type: 'LOGIN_SUCCESS',\n auth: user.auth,\n token: user.token,\n expires: user.expires,\n user: user.usuario\n }\n}\nexport function logoutUser() {\n return {\n type: 'LOGOUT_SUCCESS'\n }\n}\n","import { crudService } from '../_services/'\nimport { history, slugMask } from 'utils/'\nimport { toast } from 'react-toastify'\nimport { uniqueId } from 'lodash'\n\nexport const eventoAction = {\n getEventoByEstabelecimento,\n getEventoById,\n getEvento,\n getAllEvents,\n onChangeProps,\n onChangeDetails,\n editEventoInfo,\n createEvento,\n deleteEventoById,\n clear,\n onChangeData,\n copyEstabelecimentoAddress,\n duplicateEvento,\n addLoteLocale,\n deleteLoteLocaleById,\n editLoteLocale,\n prepareStateToNewEvento,\n prepareStateToEditEvento,\n clearAddress,\n setNextStep,\n setPrevStep,\n changeCoordinates,\n handleOnChangeHashtag,\n getAllEventosByEstabelecimento,\n setStep,\n generateTicketsToMembers\n}\nfunction getEvento() {\n return (dispatch) => {\n let apiEndpoint = 'eventos'\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(changeEventoList(response.data))\n })\n .catch((err) => {\n console.log(err)\n })\n }\n}\n\n// Retorna todos eventos independente de estabelecimento\nfunction getAllEvents() {\n return (dispatch) => {\n let apiEndpoint = 'eventos/allEvents'\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(success(response.data))\n })\n .catch((err) => {\n console.log(err)\n })\n }\n\n function success(events) {\n return {\n type: 'REQUEST_ALL_EVENTS_SUCCESS',\n events: events\n }\n }\n}\n\nfunction getEventoByEstabelecimento(estabelecimentoId, pastEvents) {\n return (dispatch) => {\n let apiEndpoint = `eventos/${pastEvents ? 'realizados' : 'pendentes'\n }/estabelecimento/${estabelecimentoId}`\n dispatch(request())\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(success(response.data))\n })\n .catch((err) => {\n dispatch(failure(err))\n })\n }\n\n function request() {\n return { type: 'REQUEST_ALL_EVENTS_REQUEST' }\n }\n\n function success(events) {\n return {\n type: 'REQUEST_ALL_EVENTS_SUCCESS',\n events: events\n }\n }\n\n function failure(error) {\n return { type: 'REQUEST_ALL_EVENTS_FAILURE', error }\n }\n}\nfunction getAllEventosByEstabelecimento(estabelecimentoId) {\n return (dispatch) => {\n let apiEndpoint = `eventos/estabelecimento/${estabelecimentoId}`\n dispatch(request())\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(success(response.data))\n })\n .catch((err) => {\n dispatch(failure(err))\n })\n }\n\n function request() {\n return { type: 'REQUEST_ALL_EVENTS_REQUEST' }\n }\n\n function success(events) {\n return {\n type: 'REQUEST_ALL_EVENTS_SUCCESS',\n events: events\n }\n }\n\n function failure(error) {\n return { type: 'REQUEST_ALL_EVENTS_FAILURE', error }\n }\n}\n\nfunction createEvento(payload) {\n return (dispatch) => {\n let apiEndpoint = 'eventos/'\n crudService.post(apiEndpoint, payload).then((response) => {\n toast.success('Aeee! Seu evento foi criado com sucesso! 🎉🧡')\n dispatch(createEventoInfo(response.data))\n dispatch(eventoAction.setNextStep())\n })\n }\n}\nfunction getEventoById(id) {\n return (dispatch) => {\n let apiEndpoint = 'eventos/' + id\n crudService.get(apiEndpoint).then((response) => {\n if (response.data.tipoLocalizacao === 'O') {\n dispatch(editEventoOnlineDetails(response.data))\n } else {\n dispatch(editEventoDetails(response.data))\n }\n })\n }\n}\n\nfunction duplicateEvento(id) {\n return (dispatch) => {\n dispatch(request(id))\n let apiEndpoint = 'eventos/' + id\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(success(generateDate(response.data)))\n history.push('/evento')\n })\n .catch((err) => {\n dispatch(failure(err))\n })\n }\n\n function request(id) {\n return { type: 'DUPLICATE_EVENTO_REQUEST', id }\n }\n\n function success(evento) {\n return {\n type: 'DUPLICATE_EVENTO_SUCCESS',\n event: evento\n }\n }\n\n function failure(error) {\n return { type: 'DUPLICATE_EVENTO_FAILURE', error }\n }\n\n function generateDate(evento) {\n let lote = evento.lotes\n lote.forEach((loteItem) => {\n loteItem.id = uniqueId()\n delete loteItem.eventoId\n delete loteItem.carrinhoItem\n //delete loteItem.ingresso\n delete loteItem.tipoIngresso\n delete loteItem.taxa\n })\n\n let cupomDesconto = evento.cuponsDesconto\n cupomDesconto.forEach((cupomDescontoItem) => {\n delete cupomDescontoItem.id\n delete cupomDescontoItem.eventoId\n delete cupomDescontoItem.estabelecimento\n delete cupomDescontoItem.promoter\n })\n\n let eventoHashtag = []\n evento.eventosHashtags.map((row) => {\n eventoHashtag.push({\n id: 0,\n eventoId: 0,\n hashtagId: row.hashtag.id,\n excluido: false\n })\n })\n\n let payload = {\n ...evento,\n id: 0,\n estadoId: evento.evento.cidade ? evento.evento.cidade.estadoId : '',\n lote: lote,\n eventoHashtag: eventoHashtag,\n cupomDesconto: cupomDesconto\n }\n return payload\n }\n}\n\nfunction addLoteLocale(lote) {\n toast.success('Lote inserido com sucesso! 👍', {\n position: 'bottom-right'\n })\n return [\n {\n type: 'ADD_LOTE_LOCALE',\n lote: lote\n },\n { type: 'LOTE_CLEAR' }\n ]\n}\nfunction deleteLoteLocaleById(id) {\n toast.success('Lote exclúido com sucesso! 👍', {\n position: 'bottom-right'\n })\n return {\n type: 'DELETE_LOTE_LOCALE',\n id: id\n }\n}\nfunction editLoteLocale(loteId, lote) {\n toast.success('Alterações realizadas! 👍', {\n position: 'bottom-right'\n })\n return [\n {\n type: 'EDIT_LOTE_LOCALE',\n id: loteId,\n lote: lote\n },\n { type: 'LOTE_CLEAR' }\n ]\n}\n\nfunction onChangeProps(props, event) {\n return (dispatch) => {\n if (props === 'imagem' || props === 'banner') {\n dispatch(handleOnChangeProps(props, event))\n } else if (typeof event === 'object') {\n if (event.target.type === 'checkbox') {\n dispatch(handleOnChangeProps(props, event.target.checked))\n } else {\n dispatch(handleOnChangeProps(props, event.target.value))\n }\n } else {\n dispatch(handleOnChangeProps(props, event))\n }\n if (props === 'generate-slug') {\n dispatch(handleOnChangeProps('slug', slugMask(event)))\n } else if (props === 'slug') {\n dispatch(handleOnChangeProps(props, slugMask(event.target.value)))\n }\n }\n}\n\nfunction onChangeDetails(data) {\n return (dispatch) => {\n dispatch(handleOnChangeProps('detalhes', data))\n }\n}\nfunction changeCoordinates(coordinates) {\n return {\n type: 'EVENTO_CHANGE_COORDINATES',\n latLon: coordinates\n }\n}\n\nfunction copyEstabelecimentoAddress(estabelecimento) {\n return {\n type: 'COPY_ESTABELECIMENTO_ADDRESS',\n estabelecimento: estabelecimento\n }\n}\n\nfunction clearAddress() {\n return {\n type: 'CLEAR_ADDRESS'\n }\n}\n\nexport function createEventoInfo(evento) {\n return {\n type: 'EVENTO_CREATED_SUCCESSFULLY',\n id: evento.id\n }\n}\nfunction editEventoInfo(id, payload) {\n return (dispatch) => {\n let apiEndpoint = 'eventos/' + id\n crudService.put(apiEndpoint, payload).then(() => {\n dispatch(updatedEventoInfo())\n // dispatch(setNextStep())\n })\n }\n}\nfunction deleteEventoById(id) {\n return (dispatch) => {\n let apiEndpoint = 'eventos/' + id\n crudService.deleteDetail(apiEndpoint).then((response) => {\n dispatch(deleteEventoDetails())\n dispatch(\n eventoAction.getEventoByEstabelecimento(response.data.estabelecimentoId)\n )\n })\n }\n}\n\nfunction onChangeData(prop, newValue) {\n return (dispatch) => {\n dispatch(handleOnChangeProps(prop, newValue))\n }\n}\n\nexport function changeEventoList(evento) {\n return {\n type: 'FETCHED_ALL_EVENTO',\n evento: evento\n }\n}\nexport function clear() {\n return {\n type: 'EVENTO_CLEAR'\n }\n}\nfunction prepareStateToNewEvento() {\n return [{ type: 'EVENTO_CLEAR' }, history.push('/evento')]\n}\nfunction prepareStateToEditEvento(eventoId) {\n return (dispatch) => {\n dispatch(getEventoById(eventoId))\n history.push(`/evento/${eventoId}`)\n }\n}\nexport function handleOnChangeProps(props, value) {\n return {\n type: 'EVENTO_HANDLE_ON_CHANGE',\n props: props,\n value: value\n }\n}\n\nexport function handleOnChangeHashtag(hashtags) {\n return {\n type: 'EVENTO_HANDLE_ON_CHANGE_HASHTAG',\n hashtags: hashtags\n }\n}\n\nexport function editEventoDetails(evento) {\n let estadoIdDiff = ''\n if (evento.evento.cidade !== null) {\n estadoIdDiff = evento.evento.cidade.estadoId\n } else {\n estadoIdDiff = ''\n }\n\n let eventosHashtags = []\n evento.eventosHashtags.map((row) => {\n eventosHashtags.push({\n id: 0,\n eventoId: evento.evento.id,\n hashtagId: row.hashtag.id,\n excluido: false\n })\n })\n\n return {\n type: 'EVENTO_DETAIL',\n id: evento.evento.id,\n nome: evento.evento.nome,\n estabelecimentoId: evento.evento.estabelecimentoId,\n categoriaId: evento.evento.categoriaId,\n detalhes: evento.evento.detalhes,\n dataHoraInicio: evento.evento.dataHoraInicio,\n dataHoraFim: evento.evento.dataHoraFim,\n imagem: evento.evento.imagem,\n cidadeId: evento.evento.cidadeId,\n cidade: evento.evento.cidade,\n estadoId: estadoIdDiff,\n endereco: evento.evento.endereco,\n latLon: evento.evento.latLon,\n excluido: evento.evento.excluido,\n disponivel: evento.evento.disponivel,\n prioridadeExibicao: evento.evento.prioridadeExibicao,\n slug: evento.evento.slug,\n cep: evento.evento.cep,\n bairro: evento.evento.bairro,\n tipoLocalizacao: evento.evento.tipoLocalizacao,\n categoria: evento.evento.categoria,\n nomeLocal: evento.evento.nomeLocal,\n complemento: evento.evento.complemento,\n numero: evento.evento.numero,\n lote: evento.lotes,\n cupomDesconto: evento.cuponsDesconto,\n eventoHashtag: eventosHashtags\n }\n}\n\nexport function editEventoOnlineDetails(evento) {\n let eventosHashtags = []\n evento.eventosHashtags.map((row) => {\n eventosHashtags.push({\n id: 0,\n eventoId: evento.evento.id,\n hashtagId: row.hashtag.id,\n excluido: false\n })\n })\n\n return {\n type: 'EVENTO_DETAIL',\n id: evento.evento.id,\n nome: evento.evento.nome,\n estabelecimentoId: evento.evento.estabelecimentoId,\n categoriaId: evento.evento.categoriaId,\n detalhes: evento.evento.detalhes,\n dataHoraInicio: evento.evento.dataHoraInicio,\n dataHoraFim: evento.evento.dataHoraFim,\n imagem: evento.evento.imagem,\n endereco: evento.evento.endereco,\n latLon: evento.evento.latLon,\n excluido: evento.evento.excluido,\n disponivel: evento.evento.disponivel,\n prioridadeExibicao: evento.evento.prioridadeExibicao,\n slug: evento.evento.slug,\n cep: evento.evento.cep,\n bairro: evento.evento.bairro,\n tipoLocalizacao: evento.evento.tipoLocalizacao,\n categoria: evento.evento.categoria,\n nomeLocal: evento.evento.nomeLocal,\n complemento: evento.evento.complemento,\n numero: evento.evento.numero,\n lote: evento.lotes,\n cupomDesconto: evento.cuponsDesconto,\n eventoHashtag: eventosHashtags\n }\n}\n\nexport function setNextStep() {\n return {\n type: 'NEXT_STEP_EVENTO_EDIT'\n }\n}\n\nexport function setStep(step) {\n return {\n type: 'SET_STEP_EVENTO_EDIT',\n step: step\n }\n}\n\nexport function setPrevStep() {\n return {\n type: 'PREV_STEP_EVENTO_EDIT'\n }\n}\n\nexport function updatedEventoInfo() {\n return {\n type: 'EVENTO_UPDATED'\n }\n}\nexport function deleteEventoDetails() {\n return {\n type: 'DELETED_EVENTO_DETAILS'\n }\n}\n\nfunction generateTicketsToMembers(eventId) {\n return (dispatch) => {\n let apiEndpoint = 'ingressos/gerar/membros'\n let payload = { eventoId: eventId }\n crudService.post(apiEndpoint, payload).then((response) => {\n toast.success('Aeee! Os ingressos foram gerados com sucesso!')\n })\n }\n}\n","import { crudService } from '../_services/'\nimport { history } from '../utils'\nimport { authActions } from './auth.actions'\nimport { toast } from 'react-toastify'\nimport { slugMask } from 'utils/masks'\n\nexport const usuarioAction = {\n getUsuario,\n getUsuarioSelect,\n getUsuarioById,\n onChangeProps,\n editUsuarioInfo,\n createUsuario,\n deleteUsuarioById,\n getUsuarioByEstabelecimento,\n emailVerification,\n requestEmailVerification,\n requestPasswordReset,\n passwordReset,\n openModalRequestPasswordReset\n}\nfunction getUsuario() {\n return (dispatch) => {\n let apiEndpoint = 'usuarios'\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(changeUsuariosList(response.data))\n })\n .catch((err) => {\n console.log(err)\n })\n }\n}\n\nfunction getUsuarioSelect() {\n return (dispatch) => {\n let apiEndpoint = 'usuarios/select'\n crudService\n .get(apiEndpoint)\n .then((response) => {\n if (response.data) {\n // response.data.unshift({ value: '', text: ' SELECIONE ...' })\n dispatch(changeUsuariosList(response.data))\n }\n })\n .catch((err) => {\n console.log(err)\n })\n }\n}\n\nfunction requestEmailVerification(email) {\n let payload = {\n email: email\n }\n return (dispatch) => {\n dispatch(request(payload))\n let apiEndpoint = 'usuarios/request-email-verification'\n crudService\n .post(apiEndpoint, payload)\n .then(() => {\n dispatch(success())\n })\n .catch((err) => {\n dispatch(failure(err))\n })\n }\n\n function request(payload) {\n return { type: 'REQUEST_EMAIL_VERIFICATION_REQUEST', payload }\n }\n\n function success() {\n return {\n type: 'REQUEST_EMAIL_VERIFICATION_SUCCESS'\n }\n }\n\n function failure(error) {\n return { type: 'REQUEST_EMAIL_VERIFICATION_FAILURE', error }\n }\n}\n\nfunction createUsuario(payload) {\n return (dispatch) => {\n dispatch(request(payload))\n let apiEndpoint = 'usuarios'\n crudService\n .post(apiEndpoint, payload)\n .then((response) => {\n dispatch(success(response.data))\n dispatch(authActions.login(payload.email, payload.senha))\n })\n .catch((err) => {\n dispatch(failure(err))\n })\n }\n\n function request(payload) {\n return { type: 'CREATE_USER_REQUEST', payload }\n }\n\n function success(user) {\n return {\n type: 'CREATE_USER_SUCCESS',\n user: user\n }\n }\n\n function failure(error) {\n return { type: 'CREATE_USER_FAILURE', error }\n }\n}\n\nfunction requestPasswordReset(email) {\n let payload = {\n email: email\n }\n return (dispatch) => {\n dispatch(request(email))\n let apiEndpoint = 'usuarios/request-reset-password'\n crudService\n .post(apiEndpoint, payload)\n .then((response) => {\n dispatch(success(response.data))\n if (response && response.request.status === 200) {\n toast.success('E-mail de recuperação enviado! 😎')\n } else if (response && response.request.status == 404) {\n toast.warn('Não existe nenhum usuário com este e-mail')\n } else {\n toast.error('Erro ao recuperar senha do usuário')\n }\n })\n .catch((err) => {\n console.log('err', err)\n dispatch(failure(err))\n toast.error('Erro ao recuperar senha do usuário')\n })\n }\n function request(payload) {\n return { type: 'REQUEST_RESET_PASSWORD_REQUEST', payload }\n }\n\n function success() {\n return {\n type: 'REQUEST_RESET_PASSWORD_SUCCESS'\n }\n }\n\n function failure(error) {\n return { type: 'REQUEST_RESET_PASSWORD_FAILURE', error }\n }\n}\n\nfunction passwordReset(payload, token) {\n return (dispatch) => {\n dispatch(request(payload))\n let apiEndpoint = 'usuarios/reset-password'\n crudService\n .postWithToken(apiEndpoint, payload, token)\n .then((response) => {\n if (response && response.request.status === 200) {\n dispatch(success(response.data))\n toast.success('Senha redefinida com sucesso! 😎')\n history.push('/')\n } else if (response && response.request.status === 404) {\n toast.success('Não existe nenhum usuário com o e-mail informado!')\n } else {\n toast.error('Erro ao recuperar senha do usuário')\n }\n })\n .catch((err) => {\n dispatch(failure(err))\n })\n }\n function request(payload) {\n return { type: 'RESET_PASSWORD_REQUEST', payload }\n }\n\n function success() {\n return {\n type: 'RESET_PASSWORD_SUCCESS'\n }\n }\n\n function failure(error) {\n return { type: 'RESET_PASSWORD_FAILURE', error }\n }\n}\n\nfunction emailVerification(payload, token) {\n return (dispatch) => {\n let apiEndpoint = 'usuarios/email-verification'\n crudService\n .postWithToken(apiEndpoint, payload, token)\n .then((response) => {\n if (response && response.request.status === 200) {\n toast.success('E-mail verificado com sucesso! 😎')\n history.push('/')\n dispatch(success())\n } else if (response && response.request.status === 404) {\n toast.success('Não existe nenhum usuário com o e-mail informado!')\n } else {\n toast.error('Erro ao verificar e-mail do usuário')\n }\n })\n .catch(() => {\n toast.error('Erro ao verificar e-mail do usuário')\n })\n }\n\n function success() {\n return {\n type: 'VERIFICATION_USER_SUCCESS'\n }\n }\n}\n\nfunction editUsuarioInfo(id, payload) {\n return (dispatch) => {\n dispatch(request(payload))\n let apiEndpoint = 'usuarios/' + id\n crudService\n .put(apiEndpoint, payload)\n .then(() => {\n dispatch(success(payload))\n })\n .catch((err) => {\n dispatch(failure(err))\n })\n }\n\n function request(payload) {\n return { type: 'EDIT_USER_REQUEST', payload }\n }\n\n function success(user) {\n return {\n type: 'EDIT_USER_SUCCESS',\n user: user\n }\n }\n\n function failure(error) {\n return { type: 'EDIT_USER_FAILURE', error }\n }\n}\n\nfunction getUsuarioById(id) {\n return (dispatch) => {\n let apiEndpoint = 'usuarios/' + id\n crudService.get(apiEndpoint).then((response) => {\n dispatch(editUsuariosDetails(response.data))\n })\n }\n}\nfunction getUsuarioByEstabelecimento(id) {\n return (dispatch) => {\n let apiEndpoint = 'usuarios/estabelecimento/' + id\n crudService.get(apiEndpoint).then((response) => {\n dispatch(changeUsuariosList(response.data))\n })\n }\n}\nexport function openModalRequestPasswordReset(open) {\n return {\n type: 'OPEN_MODAL_REQUEST_PASSWORD_RESET',\n open: open\n }\n}\n\nfunction onChangeProps(props, event) {\n return (dispatch) => {\n if (props === 'imagem') {\n dispatch(handleOnChangeProps(props, event))\n } else if (props === 'username') {\n dispatch(handleOnChangeProps(props, slugMask(event.target.value)))\n } else {\n dispatch(handleOnChangeProps(props, event.target.value))\n }\n }\n}\n\nfunction deleteUsuarioById(id) {\n return (dispatch) => {\n let apiEndpoint = 'usuarios/' + id\n crudService.deleteDetail(apiEndpoint).then((response) => {\n dispatch(deleteUsuariosDetails())\n dispatch(\n usuarioAction.getUsuarioByEstabelecimento(\n response.data.estabelecimentoId\n )\n )\n })\n }\n}\nexport function changeUsuariosList(usuario) {\n return {\n type: 'FETCHED_ALL_USUARIO',\n usuario: usuario\n }\n}\nexport function handleOnChangeProps(props, value) {\n return {\n type: 'USUARIO_HANDLE_ON_CHANGE',\n props: props,\n value: value\n }\n}\nexport function editUsuariosDetails(usuario) {\n return {\n type: 'USUARIO_DETAIL',\n id: usuario._id,\n email: usuario.email,\n nome: usuario.nome,\n senha: usuario.senha,\n telefone: usuario.telefone,\n telefoneVerificado: usuario.telefoneVerificado,\n emailVerificado: usuario.emailVerificado,\n emailVendas: usuario.emailVendas\n }\n}\nexport function createUserInfo() {\n return {\n type: 'USUARIO_CREATED_SUCCESSFULLY'\n }\n}\nexport function deleteUsuariosDetails() {\n return {\n type: 'DELETED_USUARIO_DETAILS'\n }\n}\n","import { crudService } from '../_services/'\nimport { history } from '../utils'\nimport { toast } from 'react-toastify'\n\nexport const tipoIngressoAction = {\n getTipoIngresso,\n getTipoIngressoById,\n getTipoIngressoByEstabelecimento,\n onChangeProps,\n editTipoIngressoInfo,\n createTipoIngresso,\n deleteTipoIngressoById,\n clear\n}\nfunction getTipoIngresso() {\n return (dispatch) => {\n let apiEndpoint = 'tiposIngressos'\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(changeTipoIngressosList(response.data))\n })\n .catch((error) => {\n console.log(error)\n })\n }\n}\nfunction getTipoIngressoByEstabelecimento(estabelecimentoId) {\n return (dispatch) => {\n dispatch(request({ estabelecimentoId }))\n let apiEndpoint = 'tiposIngressos/estabelecimento/' + estabelecimentoId\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(success(response.data))\n dispatch(changeTipoIngressosList(response.data))\n })\n .catch((error) => {\n dispatch(failure(error))\n })\n }\n function request(estabelecimentoId) {\n return { type: 'FETCHED_ALL_TIPOINGRESSO_REQUEST', estabelecimentoId }\n }\n\n function success() {\n return {\n type: 'FETCHED_ALL_TIPOINGRESSO_SUCCESS'\n }\n }\n\n function failure(error) {\n return { type: 'FETCHED_ALL_TIPOINGRESSO_FAILURE', error }\n }\n}\n\nfunction createTipoIngresso(payload, redirect = false) {\n return (dispatch) => {\n let apiEndpoint = 'tiposIngressos/'\n crudService.post(apiEndpoint, payload).then((response) => {\n dispatch(createTipoDeIngressoInfo(response.data))\n toast.success('Feito! Tipo de Ingresso criado! 😁')\n if (redirect) {\n history.push('/tipoIngressos')\n }\n })\n }\n}\nfunction getTipoIngressoById(id) {\n return (dispatch) => {\n let apiEndpoint = 'tiposIngressos/' + id\n crudService.get(apiEndpoint).then((response) => {\n dispatch(editTipoIngressosDetails(response.data))\n })\n }\n}\nfunction onChangeProps(props, event) {\n return (dispatch) => {\n dispatch(handleOnChangeProps(props, event.target.value))\n }\n}\nfunction editTipoIngressoInfo(id, payload) {\n return (dispatch) => {\n let apiEndpoint = 'tiposIngressos/' + id\n crudService.put(apiEndpoint, payload).then(() => {\n dispatch(updatedUserInfo())\n history.push('/tipoIngressos')\n })\n }\n}\nfunction deleteTipoIngressoById(id) {\n return (dispatch) => {\n let apiEndpoint = 'tiposIngressos/' + id\n crudService.deleteDetail(apiEndpoint).then((response) => {\n dispatch(deleteTipoIngressosDetails())\n dispatch(\n tipoIngressoAction.getTipoIngressoByEstabelecimento(\n response.data.estabelecimentoId\n )\n )\n })\n }\n}\nexport function changeTipoIngressosList(tipoIngresso) {\n return {\n type: 'FETCHED_ALL_TIPOINGRESSO',\n tipoIngresso: tipoIngresso\n }\n}\nexport function handleOnChangeProps(props, value) {\n return {\n type: 'TIPOINGRESSO_HANDLE_ON_CHANGE',\n props: props,\n value: value\n }\n}\nexport function editTipoIngressosDetails(tipoIngresso) {\n return {\n type: 'TIPOINGRESSO_DETAIL',\n id: tipoIngresso._id,\n descricao: tipoIngresso.descricao,\n estabelecimentoId: tipoIngresso.estabelecimentoId,\n excluido: tipoIngresso.excluido,\n estabelecimento: tipoIngresso.estabelecimento,\n lote: tipoIngresso.lote\n }\n}\n\nexport function clear() {\n return {\n type: 'TIPOINGRESSO_CLEAR'\n }\n}\n\nexport function updatedUserInfo() {\n return {\n type: 'TIPOINGRESSO_UPDATED'\n }\n}\nexport function createTipoDeIngressoInfo(tipoDeIngresso) {\n return {\n type: 'TIPOINGRESSO_CREATED_SUCCESSFULLY',\n tipoIngresso: tipoDeIngresso\n }\n}\nexport function deleteTipoIngressosDetails() {\n return {\n type: 'DELETED_TIPOINGRESSO_DETAILS'\n }\n}\n","import { crudService, cepService } from '_services/'\r\nimport { history } from 'utils/'\r\nimport { toast } from 'react-toastify'\r\nimport { slugMask } from 'utils/masks'\r\n\r\nexport const estabelecimentoAction = {\r\n getEstabelecimento,\r\n getEstabelecimentoById,\r\n getEstabelecimentoByUser,\r\n onChangeProps,\r\n editEstabelecimentoInfo,\r\n createEstabelecimento,\r\n deleteEstabelecimentoById,\r\n editEstabelecimentosDetails,\r\n getEnderecoByCep,\r\n changeCoordinates,\r\n clearFields,\r\n handleOnChangeHashtag\r\n}\r\n\r\nfunction getEstabelecimento() {\r\n return (dispatch) => {\r\n let apiEndpoint = 'estabelecimentos'\r\n crudService\r\n .get(apiEndpoint)\r\n .then((response) => {\r\n dispatch(clearEstabelecimento())\r\n dispatch(changeEstabelecimentosList(response.data))\r\n })\r\n .catch((error) => {\r\n console.log(error)\r\n })\r\n }\r\n}\r\n\r\nfunction getEstabelecimentoByUser(usuarioId) {\r\n return (dispatch) => {\r\n let apiEndpoint = 'estabelecimentos/usuario/' + usuarioId\r\n crudService\r\n .get(apiEndpoint)\r\n .then((response) => {\r\n // dispatch(clearEstabelecimento())\r\n dispatch(changeEstabelecimentosList(response.data))\r\n })\r\n .catch((error) => {\r\n console.log(error)\r\n })\r\n }\r\n}\r\n\r\nfunction createEstabelecimento(payload, bAddPlace) {\r\n return (dispatch) => {\r\n dispatch(request(payload))\r\n let apiEndpoint = 'estabelecimentos/'\r\n if (!bAddPlace) {\r\n crudService\r\n .post(apiEndpoint, payload)\r\n .then((response) => {\r\n dispatch(success(response.data))\r\n history.push('/home')\r\n toast.success('Cadastro realizado com sucesso! 🎉', {\r\n autoClose: 4000\r\n })\r\n toast('Plataforma desbloqueada! Use sem moderação 😎', {\r\n autoClose: 6000\r\n })\r\n })\r\n .catch((error) => {\r\n dispatch(failure(error))\r\n history.push('/estabelecimento/general')\r\n })\r\n } else {\r\n crudService\r\n .post(apiEndpoint, payload)\r\n .then((response) => {\r\n dispatch(success(response.data))\r\n history.push('/home')\r\n toast.success('Estabelecimento adicionado com sucesso! 🎉', {\r\n autoClose: 4000\r\n })\r\n toast('Use sem moderação 😎', {\r\n autoClose: 6000\r\n })\r\n })\r\n .catch((error) => {\r\n dispatch(failure(error))\r\n history.push('/estabelecimento/general')\r\n })\r\n }\r\n }\r\n\r\n function request(payload) {\r\n return { type: 'CREATE_ESTABELECIMENTO_REQUEST', payload }\r\n }\r\n\r\n function success(responseData) {\r\n let estabelecimento = {\r\n ...responseData\r\n }\r\n delete estabelecimento.usuarioEstabelecimento\r\n let usuarioEstabelecimento = {\r\n ...responseData.usuarioEstabelecimento[0],\r\n estabelecimento: estabelecimento\r\n }\r\n return {\r\n type: 'CREATE_ESTABELECIMENTO_SUCCESS',\r\n estabelecimento: estabelecimento,\r\n usuarioEstabelecimento: usuarioEstabelecimento\r\n }\r\n }\r\n\r\n function failure(error) {\r\n return { type: 'CREATE_ESTABELECIMENTO_FAILURE', error }\r\n }\r\n}\r\n\r\nfunction editEstabelecimentoInfo(id, payload) {\r\n return (dispatch) => {\r\n if (payload.slug === '') {\r\n payload.slug = slugMask(payload.nome)\r\n }\r\n dispatch(request(id))\r\n let apiEndpoint = 'estabelecimentos/' + id\r\n crudService\r\n .put(apiEndpoint, payload)\r\n .then((response) => {\r\n dispatch(success(response.data))\r\n dispatch(getEstabelecimentoById(id))\r\n })\r\n .catch((error) => {\r\n dispatch(failure(error))\r\n })\r\n }\r\n\r\n function request(payload) {\r\n return { type: 'EDIT_ESTABELECIMENTO_REQUEST', payload }\r\n }\r\n\r\n function success() {\r\n return {\r\n type: 'EDIT_ESTABELECIMENTO_SUCCESS'\r\n }\r\n }\r\n\r\n function failure(error) {\r\n return { type: 'EDIT_ESTABELECIMENTO_FAILURE', error }\r\n }\r\n}\r\n\r\nexport function getEstabelecimentoById(id) {\r\n return (dispatch) => {\r\n let apiEndpoint = 'estabelecimentos/' + id\r\n crudService.get(apiEndpoint).then((response) => {\r\n dispatch(editEstabelecimentosDetails(response.data))\r\n })\r\n }\r\n}\r\n\r\nfunction onChangeProps(props, event) {\r\n return (dispatch) => {\r\n if (props === 'imagem' || props === 'banner') {\r\n dispatch(handleOnChangeProps(props, event))\r\n } else if (props === 'username') {\r\n dispatch(handleOnChangeProps(props, slugMask(event.target.value)))\r\n } else if (event.target.type === 'checkbox') {\r\n dispatch(handleOnChangeProps(props, event.target.checked))\r\n } else {\r\n dispatch(handleOnChangeProps(props, event.target.value))\r\n }\r\n }\r\n}\r\n\r\nfunction changeCoordinates(coordinates) {\r\n return {\r\n type: 'ESTABELECIMENTO_CHANGE_COORDINATES',\r\n latLon: coordinates\r\n }\r\n}\r\n\r\nfunction deleteEstabelecimentoById(id) {\r\n return (dispatch) => {\r\n let apiEndpoint = 'estabelecimentos/' + id\r\n crudService.deleteDetail(apiEndpoint).then(() => {\r\n dispatch(deleteEstabelecimentosDetails())\r\n dispatch(clearEstabelecimento())\r\n dispatch(estabelecimentoAction.getEstabelecimento())\r\n })\r\n }\r\n}\r\n\r\nexport function getEnderecoByCep(cep) {\r\n return (dispatch) => {\r\n dispatch(request(cep))\r\n cepService\r\n .get(cep)\r\n .then((response) => {\r\n if (response.data) {\r\n dispatch(success(response.data))\r\n dispatch(getCidadeByIbge(response.data.ibge))\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch(failure(error))\r\n })\r\n }\r\n\r\n function request(payload) {\r\n return { type: 'SEARCH_ENDERECO_BY_CEP_REQUEST', payload }\r\n }\r\n\r\n function success(cepData) {\r\n return {\r\n type: 'SEARCH_ENDERECO_BY_CEP_SUCCESS',\r\n endereco: cepData.logradouro,\r\n complemento: cepData.complemento,\r\n bairro: cepData.bairro,\r\n ibge: cepData.ibge\r\n }\r\n }\r\n\r\n function failure(error) {\r\n return { type: 'SEARCH_ENDERECO_BY_CEP_FAILURE', error }\r\n }\r\n}\r\n\r\nfunction getCidadeByIbge(id) {\r\n return (dispatch) => {\r\n dispatch(request(id))\r\n let apiEndpoint = 'cidades/ibge/' + id\r\n crudService\r\n .get(apiEndpoint)\r\n .then((response) => {\r\n dispatch(success(response.data))\r\n })\r\n .catch((error) => {\r\n dispatch(failure(error))\r\n })\r\n }\r\n function request(payload) {\r\n return { type: 'SEARCH_CIDADE_BY_IBGE_REQUEST', payload }\r\n }\r\n\r\n function success(cidade) {\r\n return {\r\n type: 'SEARCH_CIDADE_BY_IBGE_SUCCESS',\r\n cidadeId: cidade ? cidade.id : null,\r\n estadoId: cidade ? (cidade.estado ? cidade.estado.id : null) : null,\r\n paisId: cidade\r\n ? cidade.estado\r\n ? cidade.estado.pais\r\n ? cidade.estado.pais.id\r\n : null\r\n : null\r\n : null\r\n }\r\n }\r\n\r\n function failure(error) {\r\n return { type: 'SEARCH_CIDADE_BY_IBGE_FAILURE', error }\r\n }\r\n}\r\n\r\nexport function changeEstabelecimentosList(estabelecimento) {\r\n return {\r\n type: 'FETCHED_ALL_ESTABELECIMENTO',\r\n estabelecimento: estabelecimento\r\n }\r\n}\r\n\r\nexport function handleOnChangeProps(props, value) {\r\n return {\r\n type: 'ESTABELECIMENTO_HANDLE_ON_CHANGE',\r\n props: props,\r\n value: value\r\n }\r\n}\r\n\r\nexport function editEstabelecimentosDetails(estabelecimento) {\r\n return [\r\n { type: 'ESTABELECIMENTO_DETAIL', estabelecimento },\r\n {\r\n type: 'ESTABELECIMENTO_ESTADO_DETAIL',\r\n estadoId: estabelecimento.cidade.estadoId\r\n }\r\n ]\r\n}\r\n\r\nexport function clearEstabelecimento() {\r\n return {\r\n type: 'ESTABELECIMENTO_CLEAR'\r\n }\r\n}\r\n\r\nexport function deleteEstabelecimentosDetails() {\r\n return {\r\n type: 'DELETED_ESTABELECIMENTO_DETAILS'\r\n }\r\n}\r\n\r\nexport function clearFields() {\r\n return {\r\n type: 'ESTABELECIMENTO_CLEAR'\r\n }\r\n}\r\n\r\nexport function handleOnChangeHashtag(hashtags) {\r\n return {\r\n type: 'ESTABELECIMENTO_HASHTAG_CHANGE',\r\n hashtags: hashtags\r\n }\r\n}\r\n","import { crudService } from '../_services'\nimport { history, slugMask } from '../utils'\nimport { toast } from 'react-toastify'\n\nexport const cupomDescontoAction = {\n getUtilizacaoCupomDesconto,\n getCupomDesconto,\n getCupomDescontoById,\n getCupomDescontoByEstabelecimento,\n getCupomDescontoByEvento,\n onChangeProps,\n onChangeData,\n editCupomDescontoInfo,\n createCupomDesconto,\n deleteCupomDescontoById,\n selectValidOnAllEventos,\n clear,\n getListCupomDesconto\n}\n\nfunction getUtilizacaoCupomDesconto(loteId, eventoId, estabelecimentoId) {\n return (dispatch) => {\n let apiEndpoint = `cuponsDesconto/utilizacao?LoteId=${loteId}&EventoId=${eventoId}&EstabelecimentoId=${estabelecimentoId}`\n dispatch(request())\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(success(response.data))\n })\n .catch((err) => {\n dispatch(failure(err))\n })\n }\n\n function request() {\n return { type: 'REQUEST_UTILIZACAO_CUPOM_DESCONTO' }\n }\n\n function success(utilizacaoCuponsDesconto) {\n return {\n type: 'REQUEST_UTILIZACAO_CUPOM_DESCONTO_SUCCESS',\n utilizacaoCuponsDesconto: utilizacaoCuponsDesconto\n }\n }\n\n function failure(error) {\n return { type: 'REQUEST_UTILIZACAO_CUPOM_DESCONTO_FAILURE', error }\n }\n}\n\nfunction getListCupomDesconto(loteId, eventoId, estabelecimentoId) {\n return (dispatch) => {\n let apiEndpoint = `cuponsDesconto/lista?LoteId=${loteId}&EventoId=${eventoId}&EstabelecimentoId=${estabelecimentoId}`\n dispatch(request())\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(success(response.data))\n })\n .catch((err) => {\n dispatch(failure(err))\n })\n }\n\n function request() {\n return { type: 'REQUEST_LISTA_CUPOM_DESCONTO' }\n }\n\n function success(listaCupomDesconto) {\n return {\n type: 'REQUEST_LISTA_CUPOM_DESCONTO_SUCCESS',\n cupomDesconto: listaCupomDesconto\n }\n }\n\n function failure(error) {\n return { type: 'REQUEST_LISTA_CUPOM_DESCONTO_FAILURE', error }\n }\n}\n\nfunction getCupomDesconto() {\n return (dispatch) => {\n let apiEndpoint = 'cuponsDescontos'\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(changeCuponsDescontosList(response.data))\n })\n .catch((err) => {\n console.log(err)\n })\n }\n}\n\nfunction getCupomDescontoByEstabelecimento(estabelecimentoId) {\n return (dispatch) => {\n let apiEndpoint = 'cuponsDesconto/estabelecimento/' + estabelecimentoId\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(changeCuponsDescontosList(response.data))\n })\n .catch((err) => {\n console.log(err)\n })\n }\n}\nfunction getCupomDescontoByEvento(eventoId) {\n return (dispatch) => {\n let apiEndpoint = 'cuponsDesconto/evento/' + eventoId\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(changeCuponsDescontosListByEvento(response.data))\n })\n .catch((err) => {\n console.log(err)\n })\n }\n}\n\nfunction createCupomDesconto(payload) {\n return (dispatch) => {\n let apiEndpoint = 'cuponsDesconto/'\n crudService.post(apiEndpoint, payload).then((response) => {\n dispatch(createUserInfo())\n toast.success('Feito! Cupom de desconto cadastrado! 😁')\n history.push('/cupomDescontos')\n })\n }\n}\n\nfunction getCupomDescontoById(id) {\n return (dispatch) => {\n let apiEndpoint = 'cuponsDesconto/' + id\n crudService.get(apiEndpoint).then((response) => {\n dispatch(editCuponsDescontosDetails(response.data))\n })\n }\n}\n\nfunction onChangeProps(props, event) {\n return (dispatch) => {\n if (event.target.type === 'checkbox') {\n dispatch(handleOnChangeProps(props, event.target.checked))\n } else {\n if (props === 'codigo') {\n var valorFormatado = slugMask(event.target.value)\n dispatch(handleOnChangeProps(props, valorFormatado.toUpperCase()))\n } else {\n dispatch(handleOnChangeProps(props, event.target.value))\n }\n }\n }\n}\n\nfunction selectValidOnAllEventos(event) {\n return (dispatch) => {\n dispatch(handleOnChangeProps('validOnAllEventos', event.target.checked))\n if (event.target.checked) {\n dispatch(handleOnChangeProps('eventoId', ''))\n dispatch(handleOnChangeProps('loteId', ''))\n }\n }\n}\n\nfunction editCupomDescontoInfo(id, payload) {\n return (dispatch) => {\n let apiEndpoint = 'cuponsDesconto/' + id\n crudService.put(apiEndpoint, payload).then(() => {\n dispatch(updatedUserInfo())\n history.push('/cupomDescontos')\n })\n }\n}\n\nfunction deleteCupomDescontoById(id) {\n return (dispatch) => {\n let apiEndpoint = 'cuponsDesconto/' + id\n crudService.deleteDetail(apiEndpoint).then((response) => {\n dispatch(deleteCuponsDescontosDetails())\n dispatch(\n cupomDescontoAction.getCupomDescontoByEstabelecimento(\n response.data.estabelecimentoId\n )\n )\n })\n }\n}\n\nfunction onChangeData(prop, newValue) {\n return (dispatch) => {\n dispatch(handleOnChangeProps(prop, newValue))\n }\n}\n\nexport function changeCuponsDescontosList(cupomDesconto) {\n return {\n type: 'FETCHED_ALL_CUPOMDESCONTO',\n cupomDesconto: cupomDesconto\n }\n}\nexport function changeCuponsDescontosListByEvento(cupomDesconto) {\n return {\n type: 'FETCHED_ALL_CUPOMDESCONTO_BY_EVENTO',\n cupomDesconto: cupomDesconto\n }\n}\nexport function handleOnChangeProps(props, value) {\n return {\n type: 'CUPOMDESCONTO_HANDLE_ON_CHANGE',\n props: props,\n value: value\n }\n}\n\nexport function editCuponsDescontosDetails(cupomDesconto) {\n return {\n type: 'CUPOMDESCONTO_DETAIL',\n id: cupomDesconto._id,\n codigo: cupomDesconto.codigo,\n percentualDesconto: cupomDesconto.percentualDesconto,\n quantidadeMinima: cupomDesconto.quantidadeMinima,\n quantidade: cupomDesconto.quantidade,\n valorDesconto: cupomDesconto.valorDesconto,\n dataInicioValidade: cupomDesconto.dataInicioValidade,\n dataTerminoValidade: cupomDesconto.dataTerminoValidade,\n estabelecimentoId: cupomDesconto.estabelecimentoId,\n promoterId: cupomDesconto.promoterId,\n eventoId: cupomDesconto.eventoId,\n loteId: cupomDesconto.loteId,\n excluido: cupomDesconto.excluido\n }\n}\n\nexport function clear() {\n return {\n type: 'CUPOMDESCONTO_CLEAR'\n }\n}\nexport function updatedUserInfo() {\n return {\n type: 'CUPOMDESCONTO_UPDATED'\n }\n}\nexport function createUserInfo() {\n return {\n type: 'CUPOMDESCONTO_CREATED_SUCCESSFULLY'\n }\n}\nexport function deleteCuponsDescontosDetails() {\n return {\n type: 'DELETED_CUPOMDESCONTO_DETAILS'\n }\n}\n","import { crudService } from '../_services/'\nimport { toast } from 'react-toastify'\n\nexport const loteAction = {\n getLote,\n addLote,\n getLoteById,\n onChangeProps,\n editLoteInfo,\n editLotesDetails,\n createLote,\n deleteLoteById,\n clear,\n clearAll,\n getLotesByEvento,\n onChangeData,\n openModalTipoDeIngresso,\n onSwitchValor,\n setRepassarTaxaByEstabelecimento\n}\nfunction getLote() {\n return (dispatch) => {\n let apiEndpoint = 'lotes'\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(changeLotesList(response.data))\n })\n .catch((err) => {\n console.log(err)\n })\n }\n}\nfunction createLote(payload) {\n return (dispatch) => {\n let apiEndpoint = 'lotes/'\n crudService.post(apiEndpoint, payload).then(() => {\n dispatch(createLoteInfo())\n dispatch(clear())\n dispatch(getLotesByEvento(payload.eventoId))\n })\n }\n}\nfunction getLoteById(id) {\n return (dispatch) => {\n let apiEndpoint = 'lotes/' + id\n crudService.get(apiEndpoint).then((response) => {\n dispatch(editLotesDetails(response.data))\n })\n }\n}\n\nfunction getLotesByEvento(eventoId) {\n return (dispatch) => {\n let apiEndpoint = 'lotes/evento/' + eventoId\n crudService.get(apiEndpoint).then((response) => {\n dispatch(changeLotesListEvento(response.data))\n })\n }\n}\n\nfunction onChangeProps(props, event) {\n return (dispatch) => {\n if (event.target.type === 'checkbox') {\n dispatch(handleOnChangeProps(props, event.target.checked))\n } else {\n dispatch(handleOnChangeProps(props, event.target.value))\n }\n }\n}\n\nfunction onSwitchValor(event) {\n return (dispatch) => {\n if (event.target.checked) {\n dispatch(handleOnChangeProps('valor', 0))\n } else {\n dispatch(handleOnChangeProps('valor', ''))\n }\n }\n}\n\nfunction setRepassarTaxaByEstabelecimento(repassarTaxaDefault) {\n return (dispatch) => {\n if (repassarTaxaDefault !== null) {\n dispatch(handleOnChangeProps('repassarTaxa', repassarTaxaDefault))\n }\n }\n}\n\nfunction editLoteInfo(id, payload) {\n return (dispatch) => {\n let apiEndpoint = 'lotes/' + id\n crudService.put(apiEndpoint, payload).then(() => {\n dispatch(updatedLoteInfo())\n dispatch(clear())\n dispatch(getLotesByEvento(payload.eventoId))\n })\n }\n}\nfunction deleteLoteById(id, eventoId) {\n return (dispatch) => {\n let apiEndpoint = 'lotes/' + id\n crudService.deleteDetail(apiEndpoint).then(() => {\n dispatch(deleteLotesDetails())\n dispatch(getLotesByEvento(eventoId))\n })\n }\n}\nfunction onChangeData(prop, newValue) {\n return (dispatch) => {\n dispatch(handleOnChangeProps(prop, newValue))\n }\n}\n\nexport function addLote(payload) {\n return [{ type: 'ADD_LOTE', lote: payload }, clear()]\n}\nexport function changeLotesList(lote) {\n return {\n type: 'FETCHED_ALL_LOTE',\n lote: lote\n }\n}\nexport function openModalTipoDeIngresso(open) {\n return {\n type: 'OPEN_MODAL_TIPO_DE_INGRESSO',\n open: open\n }\n}\nexport function changeLotesListEvento(lote) {\n return {\n type: 'FETCHED_ALL_LOTE_EVENTO',\n lote: lote\n }\n}\nexport function clear(repassarTaxa) {\n return {\n type: 'LOTE_CLEAR',\n repassarTaxa: repassarTaxa\n }\n}\nexport function clearAll() {\n return {\n type: 'LOTE_CLEAR_ALL'\n }\n}\nexport function handleOnChangeProps(props, value) {\n return {\n type: 'LOTE_HANDLE_ON_CHANGE',\n props: props,\n value: value\n }\n}\nexport function editLotesDetails(lote) {\n return {\n type: 'LOTE_DETAIL',\n id: lote.id,\n descricao: lote.descricao,\n tipoIngressoId: lote.tipoIngressoId,\n eventoId: lote.eventoId,\n valor: lote.valor,\n quantidade: lote.quantidade,\n limiteQuantidadePedido: lote.limiteQuantidadePedido,\n repassarTaxa: lote.repassarTaxa,\n genero: lote.genero,\n dataHoraTermino: lote.dataHoraTermino,\n dataHoraInicio: lote.dataHoraInicio,\n disponivel: lote.disponivel,\n excluido: lote.excluido,\n checkIn: lote.checkIn,\n planoId: lote.planoId\n }\n}\nexport function updatedLoteInfo() {\n return {\n type: 'LOTE_UPDATED'\n }\n}\nexport function createLoteInfo() {\n toast.success('Lote inserido com sucesso! 👍', {\n position: 'bottom-right'\n })\n return {\n type: 'LOTE_CREATED_SUCCESSFULLY'\n }\n}\nexport function deleteLotesDetails() {\n return {\n type: 'DELETED_LOTE_DETAILS'\n }\n}\n","import { crudService } from '../_services/'\nimport { history } from '../utils'\n\nexport const ingressoAction = {\n getIngresso,\n getIngressoById,\n onChangeProps,\n editIngressoInfo,\n createIngresso,\n deleteIngressoById,\n getIngressoByEstabelecimento,\n searchIngressos,\n getIngressosLiberadosByEstabelecimento,\n getIngressosNaoLiberadosByEstabelecimento,\n clearAll\n}\nfunction getIngressoByEstabelecimento(estabelecimentoId) {\n return (dispatch) => {\n dispatch(request({ estabelecimentoId }))\n let apiEndpoint = 'ingressos/estabelecimento/' + estabelecimentoId\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(success(response.data))\n })\n .catch((error) => {\n dispatch(failure(error))\n })\n }\n function request(estabelecimentoId) {\n return {\n type: 'FETCHED_INGRESSOS_ESTABELECIMENTO_REQUEST',\n estabelecimentoId\n }\n }\n\n function success(ingressosList) {\n return {\n type: 'FETCHED_INGRESSOS_ESTABELECIMENTO_SUCCESS',\n ingressosList: ingressosList\n }\n }\n\n function failure(error) {\n return { type: 'FETCHED_INGRESSOS_ESTABELECIMENTO_FAILURE', error }\n }\n}\n\nfunction searchIngressos(payload) {\n return (dispatch) => {\n dispatch(request(payload))\n let apiEndpoint = 'ingressos/search/'\n crudService\n .post(apiEndpoint, payload)\n .then((response) => {\n dispatch(success(response.data))\n })\n .catch((error) => {\n dispatch(failure(error))\n })\n }\n\n function request(payload) {\n return {\n type: 'SEARCH_INGRESSOS_REQUEST',\n payload\n }\n }\n\n function success(ingressosList) {\n return {\n type: 'SEARCH_INGRESSOS_SUCCESS',\n ingressosList: ingressosList.lista\n }\n }\n\n function failure(error) {\n return { type: 'SEARCH_INGRESSOS_FAILURE', error }\n }\n}\n\nfunction getIngressosNaoLiberadosByEstabelecimento(estabelecimentoId) {\n return (dispatch) => {\n dispatch(request(estabelecimentoId))\n let apiEndpoint = `ingressos/naoliberados/estabelecimento/${estabelecimentoId}`\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(success(response.data))\n })\n .catch((error) => {\n dispatch(failure(error))\n })\n }\n\n function request(payload) {\n return {\n type: 'GET_INGRESSOS_NAO_LIBERADOS_BY_ESTABELECIMENTO_REQUEST',\n payload\n }\n }\n\n function success(ingressos) {\n return {\n type: 'GET_INGRESSOS_NAO_LIBERADOS_BY_ESTABELECIMENTO_SUCCESS',\n ingressos: ingressos\n }\n }\n\n function failure(error) {\n return {\n type: 'GET_INGRESSOS_NAO_LIBERADOS_BY_ESTABELECIMENTO_FAILURE',\n error\n }\n }\n}\nfunction getIngressosLiberadosByEstabelecimento(estabelecimentoId) {\n return (dispatch) => {\n dispatch(request(estabelecimentoId))\n let apiEndpoint = `ingressos/liberados/estabelecimento/${estabelecimentoId}`\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(success(response.data))\n })\n .catch((error) => {\n dispatch(failure(error))\n })\n }\n\n function request(payload) {\n return {\n type: 'GET_INGRESSOS_LIBERADOS_BY_ESTABELECIMENTO_REQUEST',\n payload\n }\n }\n\n function success(ingressos) {\n return {\n type: 'GET_INGRESSOS_LIBERADOS_BY_ESTABELECIMENTO_SUCCESS',\n ingressos: ingressos\n }\n }\n\n function failure(error) {\n return { type: 'GET_INGRESSOS_LIBERADOS_BY_ESTABELECIMENTO_FAILURE', error }\n }\n}\n\nfunction getIngresso() {\n return (dispatch) => {\n let apiEndpoint = 'ingressos'\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(changeIngressosList(response.data))\n })\n .catch((err) => {\n console.log(err)\n })\n }\n}\nexport function clearAll() {\n return {\n type: 'INGRESSO_CLEAR_ALL'\n }\n}\nfunction createIngresso(payload) {\n return (dispatch) => {\n let apiEndpoint = 'ingressos/'\n crudService.post(apiEndpoint, payload).then(() => {\n dispatch(createUserInfo())\n history.push('/ingressos')\n })\n }\n}\nfunction getIngressoById(id) {\n return (dispatch) => {\n let apiEndpoint = 'ingressos/' + id\n crudService.get(apiEndpoint).then((response) => {\n dispatch(editIngressosDetails(response.data))\n })\n }\n}\nfunction onChangeProps(props, event) {\n return (dispatch) => {\n dispatch(handleOnChangeProps(props, event.target.value))\n }\n}\nfunction editIngressoInfo(id, payload) {\n return (dispatch) => {\n let apiEndpoint = 'ingressos/' + id\n crudService.put(apiEndpoint, payload).then(() => {\n dispatch(updatedUserInfo())\n history.push('/ingressos')\n })\n }\n}\nfunction deleteIngressoById(id) {\n return (dispatch) => {\n let apiEndpoint = 'ingressos/' + id\n crudService.deleteDetail(apiEndpoint).then(() => {\n dispatch(deleteIngressosDetails())\n dispatch(ingressoAction.getIngresso())\n })\n }\n}\nexport function changeIngressosList(ingresso) {\n return {\n type: 'FETCHED_ALL_INGRESSO',\n ingresso: ingresso\n }\n}\nexport function handleOnChangeProps(props, value) {\n return {\n type: 'INGRESSO_HANDLE_ON_CHANGE',\n props: props,\n value: value\n }\n}\nexport function editIngressosDetails(ingresso) {\n return {\n type: 'INGRESSO_DETAIL',\n id: ingresso._id,\n descricao: ingresso.descricao,\n estabelecimentoId: ingresso.estabelecimentoId,\n excluido: ingresso.excluido,\n estabelecimento: ingresso.estabelecimento,\n lote: ingresso.lote\n }\n}\nexport function updatedUserInfo() {\n return {\n type: 'INGRESSO_UPDATED'\n }\n}\nexport function createUserInfo() {\n return {\n type: 'INGRESSO_CREATED_SUCCESSFULLY'\n }\n}\nexport function deleteIngressosDetails() {\n return {\n type: 'DELETED_INGRESSO_DETAILS'\n }\n}\n","import { history } from 'utils'\nimport { crudService } from '../_services/'\n\nexport const categoriaAction = {\n getCategoria,\n addCategoria,\n getCategoriaById,\n onChangeProps,\n editCategoriaInfo,\n editCategoriasDetails,\n createCategoria,\n deleteCategoriaById,\n clear,\n clearAll\n}\n\nfunction getCategoria() {\n return (dispatch) => {\n let apiEndpoint = 'categorias'\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(changeCategoriasList(response.data))\n })\n .catch((err) => {\n console.log(err)\n })\n }\n}\n\nfunction createCategoria(payload) {\n return (dispatch) => {\n let apiEndpoint = 'categorias/'\n crudService.post(apiEndpoint, payload).then(() => {\n dispatch(createCategoriaInfo())\n dispatch(clear())\n history.push('/categorias')\n })\n }\n}\n\nfunction getCategoriaById(id) {\n return (dispatch) => {\n let apiEndpoint = 'categorias/' + id\n crudService.get(apiEndpoint).then((response) => {\n dispatch(editCategoriasDetails(response.data))\n })\n }\n}\n\nfunction onChangeProps(props, event) {\n return (dispatch) => {\n dispatch(handleOnChangeProps(props, event.target.value))\n }\n}\n\nfunction editCategoriaInfo(id, payload) {\n return (dispatch) => {\n let apiEndpoint = 'categorias/' + id\n crudService.put(apiEndpoint, payload).then(() => {\n dispatch(updatedCategoriaInfo())\n dispatch(clear())\n history.push('/categorias')\n })\n }\n}\n\nfunction deleteCategoriaById(id) {\n return (dispatch) => {\n let apiEndpoint = 'categorias/' + id\n crudService.deleteDetail(apiEndpoint).then(() => {\n dispatch(deleteCategoriasDetails())\n dispatch(getCategoria())\n })\n }\n}\n\nexport function addCategoria(payload) {\n return [{ type: 'ADD_CATEGORIA', categoria: payload }, clear()]\n}\n\nexport function changeCategoriasList(categoria) {\n return {\n type: 'FETCHED_ALL_CATEGORIA',\n categoria: categoria\n }\n}\n\nexport function clear() {\n return {\n type: 'CATEGORIA_CLEAR'\n }\n}\n\nexport function clearAll() {\n return {\n type: 'CATEGORIA_CLEAR_ALL'\n }\n}\n\nexport function handleOnChangeProps(props, value) {\n return {\n type: 'CATEGORIA_HANDLE_ON_CHANGE',\n props: props,\n value: value\n }\n}\n\nexport function editCategoriasDetails(categoria) {\n return {\n type: 'CATEGORIA_DETAIL',\n id: categoria.id,\n descricao: categoria.descricao\n }\n}\n\nexport function updatedCategoriaInfo() {\n return {\n type: 'CATEGORIA_UPDATED'\n }\n}\n\nexport function createCategoriaInfo() {\n return {\n type: 'CATEGORIA_CREATED_SUCCESSFULLY'\n }\n}\n\nexport function deleteCategoriasDetails() {\n return {\n type: 'DELETED_CATEGORIA_DETAILS'\n }\n}\n","import { toast } from 'react-toastify'\nimport { hashtagMask, history } from 'utils'\nimport { crudService } from '../_services/'\n\nexport const hashtagAction = {\n createHashtag,\n deleteHashtagById,\n getHashtags,\n addHashtag,\n getHashtagById,\n onChangeProps,\n editHashtagInfo,\n editHashtagsDetails,\n clear,\n clearAll\n}\n\nfunction getHashtags(page, limitItems, searchName, orderName, direction) {\n return (dispatch) => {\n if (page == '') {\n page = 1\n }\n if (limitItems == '') {\n limitItems = 100\n }\n let apiEndpoint = `hashtags/pagination?Page=${page}&Limit=${limitItems}&Term=${searchName}&Order=${orderName}&Direction=${direction}`\n //hashtags/pagination?Page=1&Limit=10&Term&Order=descricao&Direction=asc\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(changeHashtagsList(response.data.items))\n })\n .catch((err) => {\n console.log(err)\n })\n }\n}\n\nfunction createHashtag(payload) {\n return (dispatch) => {\n let apiEndpoint = 'hashtags/'\n crudService.post(apiEndpoint, payload).then(() => {\n dispatch(createHashtagInfo())\n dispatch(clear())\n toast.success('Hashtag cadastrada com sucesso! 👍', {\n position: 'top-right'\n })\n history.push('/hashtags')\n })\n }\n}\n\nfunction getHashtagById(id) {\n return (dispatch) => {\n let apiEndpoint = 'hashtags/' + id\n crudService.get(apiEndpoint).then((response) => {\n dispatch(editHashtagsDetails(response.data))\n })\n }\n}\n\nfunction onChangeProps(props, event) {\n return (dispatch) => {\n if (typeof event === 'object') {\n dispatch(handleOnChangeProps(props, event.target.value))\n } else {\n dispatch(handleOnChangeProps(props, event))\n }\n if (props === 'descricao') {\n dispatch(handleOnChangeProps(props, hashtagMask(event.target.value)))\n }\n }\n}\n\nfunction editHashtagInfo(id, payload) {\n return (dispatch) => {\n let apiEndpoint = 'hashtags/' + id\n crudService.put(apiEndpoint, payload).then(() => {\n dispatch(updatedHashtagInfo())\n dispatch(clear())\n history.push('/hashtags')\n })\n }\n}\n\nfunction deleteHashtagById(id) {\n return (dispatch) => {\n let apiEndpoint = 'hashtags/' + id\n crudService.deleteDetail(apiEndpoint).then(() => {\n dispatch(deleteHashtagsDetails())\n dispatch(getHashtags('', '', '', '', ''))\n })\n }\n}\n\nexport function addHashtag(payload) {\n return [{ type: 'HASHTAG_ADD', hashtag: payload }, clear()]\n}\n\nexport function changeHashtagsList(hashtag) {\n return {\n type: 'HASHTAG_FETCHED_ALL',\n hashtag: hashtag\n }\n}\n\nexport function clear() {\n return {\n type: 'HASHTAG_CLEAR'\n }\n}\n\nexport function clearAll() {\n return {\n type: 'HASHTAG_CLEAR_ALL'\n }\n}\n\nexport function handleOnChangeProps(props, value) {\n return {\n type: 'HASHTAG_HANDLE_ON_CHANGE',\n props: props,\n value: value\n }\n}\n\nexport function editHashtagsDetails(hashtag) {\n return {\n type: 'HASHTAG_DETAIL',\n id: hashtag.id,\n descricao: hashtag.descricao,\n imagem: hashtag.imagem,\n banner: hashtag.banner,\n categoriaId: hashtag.categoriaId\n }\n}\n\nexport function updatedHashtagInfo() {\n return {\n type: 'HASHTAG_UPDATED'\n }\n}\n\nexport function createHashtagInfo() {\n return {\n type: 'HASHTAG_CREATED_SUCCESSFULLY'\n }\n}\n\nexport function deleteHashtagsDetails() {\n return {\n type: 'HASHTAG_DELETED_DETAILS'\n }\n}\n","import { toast } from 'react-toastify'\nimport { history } from 'utils'\nimport { crudService } from '../_services/'\n\nexport const conquistaAction = {\n createConquista,\n deleteConquistaById,\n getConquistas,\n addConquista,\n getConquistaById,\n onChangeProps,\n editConquistaInfo,\n editConquistasDetails,\n clear,\n clearAll,\n duplicateConquista,\n findConquistas\n}\n\nfunction getConquistas() {\n return (dispatch) => {\n let apiEndpoint = 'conquistas/'\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(changeConquistasList(response.data))\n })\n .catch((err) => {\n console.log(err)\n })\n }\n}\n\nfunction createConquista(payload) {\n return (dispatch) => {\n let apiEndpoint = 'conquistas/'\n crudService.post(apiEndpoint, payload).then(() => {\n dispatch(createConquistaInfo())\n dispatch(clear())\n toast.success('Conquista cadastrada com sucesso! 👍', {\n position: 'top-right'\n })\n history.push('/conquistas')\n })\n }\n}\n\nfunction duplicateConquista(id) {\n return (dispatch) => {\n dispatch(request(id))\n let apiEndpoint = 'conquistas/' + id\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(success(generateDate(response.data)))\n history.push('/conquista')\n })\n .catch((err) => {\n dispatch(failure(err))\n })\n }\n\n function request(id) {\n return { type: 'DUPLICATE_CONQUISTA_REQUEST', id }\n }\n\n function success(conquista) {\n return {\n type: 'DUPLICATE_CONQUISTA_SUCCESS',\n conquista: conquista\n }\n }\n\n function failure(error) {\n return { type: 'DUPLICATE_CONQUISTA_FAILURE', error }\n }\n\n function generateDate(conquista) {\n let payload = {\n ...conquista,\n id: 0,\n nome: conquista.nome,\n descricao: conquista.descricao,\n experiencia: conquista.exp,\n imagem: conquista.imagem\n }\n return payload\n }\n}\n\nfunction findConquistas(textSearch) {\n return (dispatch) => {\n let apiEndpoint = `conquistas/find?Term=${textSearch}`\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(changeConquistasList(response.data.items))\n })\n .catch((err) => {\n console.log(err)\n })\n }\n}\n\nfunction getConquistaById(id) {\n return (dispatch) => {\n let apiEndpoint = 'conquistas/' + id\n crudService.get(apiEndpoint).then((response) => {\n dispatch(editConquistasDetails(response.data))\n })\n }\n}\n\nfunction onChangeProps(props, event) {\n return (dispatch) => {\n if (typeof event === 'object') {\n dispatch(handleOnChangeProps(props, event.target.value))\n } else {\n dispatch(handleOnChangeProps(props, event))\n }\n }\n}\n\nfunction editConquistaInfo(id, payload) {\n return (dispatch) => {\n let apiEndpoint = 'conquistas/' + id\n crudService.put(apiEndpoint, payload).then(() => {\n dispatch(updatedConquistaInfo())\n dispatch(clear())\n history.push('/conquistas')\n })\n }\n}\n\nfunction deleteConquistaById(id) {\n return (dispatch) => {\n let apiEndpoint = 'conquistas/' + id\n crudService.deleteDetail(apiEndpoint).then(() => {\n dispatch(deleteConquistasDetails())\n dispatch(getConquistas())\n })\n }\n}\n\nexport function addConquista(payload) {\n return [{ type: 'CONQUISTA_ADD', conquista: payload }, clear()]\n}\n\nexport function changeConquistasList(conquista) {\n return {\n type: 'CONQUISTA_FETCHED_ALL',\n conquista: conquista\n }\n}\n\nexport function clear() {\n return {\n type: 'CONQUISTA_CLEAR'\n }\n}\n\nexport function clearAll() {\n return {\n type: 'CONQUISTA_CLEAR_ALL'\n }\n}\n\nexport function handleOnChangeProps(props, value) {\n return {\n type: 'CONQUISTA_HANDLE_ON_CHANGE',\n props: props,\n value: value\n }\n}\n\nexport function editConquistasDetails(conquista) {\n return {\n type: 'CONQUISTA_DETAIL',\n id: conquista.id,\n nome: conquista.nome,\n descricao: conquista.descricao,\n experiencia: conquista.exp,\n imagem: conquista.imagem\n }\n}\n\nexport function updatedConquistaInfo() {\n return {\n type: 'CONQUISTA_UPDATED'\n }\n}\n\nexport function createConquistaInfo() {\n return {\n type: 'CONQUISTA_CREATED_SUCCESSFULLY'\n }\n}\n\nexport function deleteConquistasDetails() {\n return {\n type: 'CONQUISTA_DELETED_DETAILS'\n }\n}\n","import { history } from 'utils'\nimport { crudService } from '../_services/'\n\nexport const taxaAction = {\n getTaxa,\n addTaxa,\n getTaxaById,\n onChangeProps,\n editTaxaInfo,\n editTaxasDetails,\n createTaxa,\n deleteTaxaById,\n clear,\n clearAll\n}\n\nfunction getTaxa() {\n return (dispatch) => {\n let apiEndpoint = 'taxas'\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(changeTaxasList(response.data))\n })\n .catch((err) => {\n console.log(err)\n })\n }\n}\n\nfunction createTaxa(payload) {\n return (dispatch) => {\n let apiEndpoint = 'taxas/'\n crudService.post(apiEndpoint, payload).then(() => {\n dispatch(createTaxaInfo())\n dispatch(clear())\n history.push('/taxas')\n })\n }\n}\n\nfunction getTaxaById(id) {\n return (dispatch) => {\n let apiEndpoint = 'taxas/' + id\n crudService.get(apiEndpoint).then((response) => {\n dispatch(editTaxasDetails(response.data))\n })\n }\n}\n\nfunction onChangeProps(props, event) {\n return (dispatch) => {\n if (props == 'repassarCliente') {\n dispatch(handleOnChangeProps(props, event.target.checked))\n } else {\n dispatch(handleOnChangeProps(props, event.target.value))\n }\n }\n}\n\nfunction editTaxaInfo(id, payload) {\n return (dispatch) => {\n let apiEndpoint = 'taxas/' + id\n crudService.put(apiEndpoint, payload).then(() => {\n dispatch(updatedTaxaInfo())\n dispatch(clear())\n history.push('/taxas')\n })\n }\n}\n\nfunction deleteTaxaById(id) {\n return (dispatch) => {\n let apiEndpoint = 'taxas/' + id\n crudService.deleteDetail(apiEndpoint).then(() => {\n dispatch(deleteTaxasDetails())\n dispatch(getTaxa())\n })\n }\n}\n\nexport function addTaxa(payload) {\n return [{ type: 'ADD_TAXA', taxa: payload }, clear()]\n}\n\nexport function changeTaxasList(taxa) {\n return {\n type: 'FETCHED_ALL_TAXA',\n taxa: taxa\n }\n}\n\nexport function clear() {\n return {\n type: 'TAXA_CLEAR'\n }\n}\n\nexport function clearAll() {\n return {\n type: 'TAXA_CLEAR_ALL'\n }\n}\n\nexport function handleOnChangeProps(props, value) {\n return {\n type: 'TAXA_HANDLE_ON_CHANGE',\n props: props,\n value: value\n }\n}\n\nexport function editTaxasDetails(taxa) {\n return {\n type: 'TAXA_DETAIL',\n id: taxa.id,\n percentual: taxa.percentual,\n valor: taxa.valor,\n estabelecimentoId: taxa.estabelecimentoId,\n eventoId: taxa.eventoId,\n loteId: taxa.loteId\n }\n}\n\nexport function updatedTaxaInfo() {\n return {\n type: 'TAXA_UPDATED'\n }\n}\n\nexport function createTaxaInfo() {\n return {\n type: 'TAXA_CREATED_SUCCESSFULLY'\n }\n}\n\nexport function deleteTaxasDetails() {\n return {\n type: 'DELETED_TAXA_DETAILS'\n }\n}\n","import { crudService } from '../_services/'\nimport { estabelecimentoAction } from '_actions'\nimport { toast } from 'react-toastify'\n\nexport const usuarioEstabelecimentoAction = {\n changeDetailsUsuarioEstabelecimento,\n getUsuarioEstabelecimento,\n getUsuarioEstabelecimentos,\n addUsuarioByEmail,\n editUsuarioEstabelecimentosDetails,\n deleteUsuarioById,\n setIsAddPlace,\n getUsuarioEstabelecimentoByEstabelecimento\n}\n\nfunction addUsuarioByEmail(payload) {\n return (dispatch) => {\n dispatch(request({ payload }))\n let apiEndpoint = 'usuariosEstabelecimentos/email'\n crudService\n .post(apiEndpoint, payload)\n .then((response) => {\n dispatch(success(response.data))\n toast.success('Usuário adicionado com sucesso! 😎')\n dispatch(\n getUsuarioEstabelecimentoByEstabelecimento(payload.estabelecimentoId)\n )\n })\n .catch((err) => {\n dispatch(failure(err))\n dispatch(\n getUsuarioEstabelecimentoByEstabelecimento(payload.estabelecimentoId)\n )\n })\n }\n\n function request(data) {\n return { type: 'USUARIO_ESTABELECIMENTO_ADD_REQUEST', data }\n }\n\n function success(data) {\n return {\n type: 'USUARIO_ESTABELECIMENTO_ADD_SUCCESS',\n data: data\n }\n }\n\n function failure(error) {\n return { type: 'USUARIO_ESTABELECIMENTO_ADD_FAILURE', error }\n }\n}\n\nfunction deleteUsuarioById(id) {\n return (dispatch) => {\n dispatch(request(id))\n let apiEndpoint = 'usuariosEstabelecimentos/' + id\n crudService\n .deleteDetail(apiEndpoint)\n .then((response) => {\n dispatch(success(id))\n })\n .catch((err) => {\n dispatch(failure(err))\n })\n }\n\n function request(id) {\n return { type: 'USUARIO_ESTABELECIMENTO_DELETE_REQUEST', id }\n }\n\n function success(id) {\n return {\n type: 'USUARIO_ESTABELECIMENTO_DELETE_SUCCESS',\n usuarioEstabelecimentoId: id\n }\n }\n\n function failure(error) {\n return { type: 'USUARIO_ESTABELECIMENTO_DELETE_FAILURE', error }\n }\n}\n\nfunction changeDetailsUsuarioEstabelecimento(usuarioEstabelecimento) {\n return (dispatch) => {\n dispatch(onChangeDetailsUsuarioEstabelecimento(usuarioEstabelecimento))\n }\n}\n\nfunction getUsuarioEstabelecimentos(usuarioEstabelecimento) {\n return (dispatch) => {\n dispatch(changeUsuarioEstabelecimentosList(usuarioEstabelecimento))\n if (\n undefined !== usuarioEstabelecimento &&\n usuarioEstabelecimento.length === 1\n ) {\n dispatch(editUsuarioEstabelecimentosDetails(usuarioEstabelecimento[0]))\n }\n }\n}\n\nfunction getUsuarioEstabelecimentoByEstabelecimento(id) {\n return (dispatch) => {\n let apiEndpoint = 'usuariosEstabelecimentos/estabelecimento/' + id\n crudService.get(apiEndpoint).then((response) => {\n dispatch(changeUserPlaceList(response.data))\n })\n }\n}\n\nfunction getUsuarioEstabelecimento(usuarioEstabelecimento) {\n return (dispatch) => {\n dispatch(editUsuarioEstabelecimentosDetails(usuarioEstabelecimento))\n }\n}\n\nfunction setIsAddPlace(isAddPlace, backupId) {\n return {\n type: 'SET_IS_ADD_PLACE',\n isAddPlace: isAddPlace,\n backupId: backupId\n }\n}\n\nexport function addUsuarioEstabelecimento(payload) {\n return [\n { type: 'ADD_USUARIOESTABELECIMENTO', usuarioEstabelecimento: payload },\n clear()\n ]\n}\n\nexport function changeUsuarioEstabelecimentosList(usuarioEstabelecimento) {\n return {\n type: 'FETCHED_ALL_USUARIOESTABELECIMENTO',\n usuarioEstabelecimento: usuarioEstabelecimento\n }\n}\n\nexport function changeUserPlaceList(usuarioEstabelecimento) {\n return {\n type: 'FETCHED_ALL_USERPLACE',\n listUserPlace: usuarioEstabelecimento\n }\n}\n\nexport function clear() {\n return {\n type: 'USUARIOESTABELECIMENTO_CLEAR'\n }\n}\n\nexport function clearAll() {\n return {\n type: 'USUARIOESTABELECIMENTO_CLEAR_ALL'\n }\n}\n\nexport function onChangeDetailsUsuarioEstabelecimento(usuarioEstabelecimento) {\n return [\n {\n type: 'CHANGE_DETAILS_USUARIOESTABELECIMENTO',\n id: usuarioEstabelecimento.id,\n usuarioId: usuarioEstabelecimento.usuarioId,\n estabelecimentoId: usuarioEstabelecimento.estabelecimentoId,\n excluido: usuarioEstabelecimento.excluido,\n estabelecimento: usuarioEstabelecimento.estabelecimento\n },\n estabelecimentoAction.getEstabelecimentoById(\n usuarioEstabelecimento.estabelecimentoId\n )\n ]\n}\n\nexport function editUsuarioEstabelecimentosDetails(usuarioEstabelecimento) {\n return {\n type: 'USUARIOESTABELECIMENTO_DETAIL',\n id: usuarioEstabelecimento.id,\n usuarioId: usuarioEstabelecimento.usuarioId,\n estabelecimentoId: usuarioEstabelecimento.estabelecimentoId,\n excluido: usuarioEstabelecimento.excluido,\n estabelecimento: usuarioEstabelecimento.estabelecimento\n }\n}\n\nexport function updatedUsuarioEstabelecimentoInfo() {\n return {\n type: 'USUARIOESTABELECIMENTO_UPDATED'\n }\n}\n\nexport function createUsuarioEstabelecimentoInfo() {\n return {\n type: 'USUARIOESTABELECIMENTO_CREATED_SUCCESSFULLY'\n }\n}\n","import { crudService } from '../_services'\nimport { history } from '../utils'\n\nexport const contaBancariaAction = {\n getContaBancaria,\n getContaBancariaById,\n getContaBancariaByEstabelecimento,\n getContaBancariaByInstituicaoBancaria,\n onChangeProps,\n editContaBancariaInfo,\n createContaBancaria,\n deleteContaBancariaById,\n clear\n}\nfunction getContaBancaria() {\n return (dispatch) => {\n let apiEndpoint = 'contasBancarias'\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(changeContasBancariasList(response.data))\n })\n .catch((err) => {\n console.log(err)\n })\n }\n}\n\nfunction getContaBancariaByEstabelecimento(estabelecimentoId) {\n return (dispatch) => {\n dispatch(request({ estabelecimentoId }))\n let apiEndpoint = 'contasBancarias/estabelecimento/' + estabelecimentoId\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(success(response.data))\n })\n .catch((error) => {\n dispatch(failure(error))\n })\n }\n function request(estabelecimentoId) {\n return {\n type: 'FETCHED_CONTABANCARIA_BY_ESTABELECIMENTO_REQUEST',\n estabelecimentoId\n }\n }\n\n function success(contaBancaria) {\n return {\n type: 'FETCHED_CONTABANCARIA_BY_ESTABELECIMENTO_SUCCESS',\n contaBancaria: contaBancaria\n }\n }\n\n function failure(error) {\n return { type: 'FETCHED_CONTABANCARIA_BY_ESTABELECIMENTO_FAILURE', error }\n }\n}\n\nfunction getContaBancariaByInstituicaoBancaria(instituicaoBancariaId) {\n return (dispatch) => {\n let apiEndpoint =\n 'contasBancarias/instituicaoBancaria/' + instituicaoBancariaId\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(changeContasBancariasList(response.data))\n })\n .catch((err) => {\n console.log(err)\n })\n }\n}\n\nfunction createContaBancaria(payload) {\n return (dispatch) => {\n let apiEndpoint = 'contasBancarias/'\n crudService.post(apiEndpoint, payload).then((response) => {\n dispatch(createUserInfo())\n history.push('/carteira/contasBancarias')\n })\n }\n}\n\nfunction getContaBancariaById(contaBancariaId) {\n return (dispatch) => {\n dispatch(request({ contaBancariaId }))\n let apiEndpoint = 'contasBancarias/' + contaBancariaId\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(success(response.data))\n dispatch(editContasBancariasDetails(response.data))\n })\n .catch((error) => {\n dispatch(failure(error))\n })\n }\n function request(contaBancariaId) {\n return {\n type: 'GET_CONTABANCARIA_BY_ID_REQUEST',\n contaBancariaId\n }\n }\n\n function success(contaBancaria) {\n return {\n type: 'GET_CONTABANCARIA_BY_ID_SUCCESS',\n contaBancaria: contaBancaria\n }\n }\n\n function failure(error) {\n return { type: 'GET_CONTABANCARIA_BY_ID_FAILURE', error }\n }\n}\n\nfunction onChangeProps(props, event) {\n return (dispatch) => {\n if (event.target.type === 'checkbox') {\n dispatch(handleOnChangeProps(props, event.target.checked))\n } else {\n dispatch(handleOnChangeProps(props, event.target.value))\n }\n }\n}\nfunction editContaBancariaInfo(id, payload) {\n return (dispatch) => {\n let apiEndpoint = 'contasBancarias/' + id\n crudService.put(apiEndpoint, payload).then((response) => {\n dispatch(updatedUserInfo())\n history.push('/carteira/contasBancarias')\n })\n }\n}\nfunction deleteContaBancariaById(id) {\n return (dispatch) => {\n let apiEndpoint = 'contasBancarias/' + id\n crudService.deleteDetail(apiEndpoint).then((response) => {\n dispatch(deleteContasBancariasDetails())\n dispatch(\n contaBancariaAction.getContaBancariaByEstabelecimento(\n response.data.estabelecimentoId\n )\n )\n })\n }\n}\nexport function changeContasBancariasList(contaBancaria) {\n return {\n type: 'FETCHED_ALL_CONTABANCARIA',\n contaBancaria: contaBancaria\n }\n}\nexport function handleOnChangeProps(props, value) {\n return {\n type: 'CONTABANCARIA_HANDLE_ON_CHANGE',\n props: props,\n value: value\n }\n}\nexport function editContasBancariasDetails(contaBancaria) {\n return {\n type: 'CONTABANCARIA_DETAIL',\n id: contaBancaria._id,\n estabelecimentoId: contaBancaria.estabelecimentoId,\n instituicaoBancaria: contaBancaria.instituicaoBancaria,\n instituicaoBancariaId: contaBancaria.instituicaoBancariaId,\n descricao: contaBancaria.descricao,\n agencia: contaBancaria.agencia,\n conta: contaBancaria.conta,\n cpfCnpjTitular: contaBancaria.cpfCnpjTitular,\n nomeTitular: contaBancaria.nomeTitular,\n chavePix: contaBancaria.chavePix,\n tipoChavePix: contaBancaria.tipoChavePix,\n padrao: contaBancaria.padrao\n }\n}\n\nexport function clear() {\n return {\n type: 'CONTABANCARIA_CLEAR'\n }\n}\n\nexport function updatedUserInfo() {\n return {\n type: 'CONTABANCARIA_UPDATED'\n }\n}\nexport function createUserInfo() {\n return {\n type: 'CONTABANCARIA_CREATED_SUCCESSFULLY'\n }\n}\nexport function deleteContasBancariasDetails() {\n return {\n type: 'DELETED_CONTABANCARIA_DETAILS'\n }\n}\n","import { crudService } from '../_services/'\n\nexport const cidadeAction = {\n getCidade,\n getCidadeSelect,\n getCidadeByUf,\n addCidade,\n getCidadeById,\n onChangeProps,\n editCidadeInfo,\n editCidadesDetails,\n createCidade,\n deleteCidadeById,\n clear,\n clearAll\n}\n\nfunction getCidade() {\n return (dispatch) => {\n let apiEndpoint = 'cidades'\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(changeCidadesList(response.data))\n })\n .catch((err) => {\n console.log(err)\n })\n }\n}\n\nfunction getCidadeSelect() {\n return (dispatch) => {\n let apiEndpoint = 'cidades/select'\n crudService\n .get(apiEndpoint)\n .then((response) => {\n if (response.data) {\n response.data.unshift({ value: '', text: ' SELECIONE ...' })\n dispatch(changeCidadesList(response.data))\n }\n })\n .catch((err) => {\n console.log(err)\n })\n }\n}\n\nfunction getCidadeByUf(estadoId) {\n return (dispatch) => {\n let apiEndpoint = 'cidades/estado/' + estadoId\n crudService\n .get(apiEndpoint)\n .then((response) => {\n if (response.data) {\n dispatch(changeCidadesList(response.data))\n }\n })\n .catch((err) => {\n console.log(err)\n })\n }\n}\n\nfunction createCidade(payload) {\n return (dispatch) => {\n let apiEndpoint = 'cidades/'\n crudService.post(apiEndpoint, payload).then(() => {\n dispatch(createCidadeInfo())\n dispatch(clear())\n })\n }\n}\n\nfunction getCidadeById(id) {\n return (dispatch) => {\n let apiEndpoint = 'cidades/' + id\n crudService.get(apiEndpoint).then((response) => {\n dispatch(editCidadesDetails(response.data))\n })\n }\n}\n\nfunction onChangeProps(props, event) {\n return (dispatch) => {\n dispatch(handleOnChangeProps(props, event.target.value))\n }\n}\n\nfunction editCidadeInfo(id, payload) {\n return (dispatch) => {\n let apiEndpoint = 'cidades/' + id\n crudService.put(apiEndpoint, payload).then(() => {\n dispatch(updatedCidadeInfo())\n dispatch(clear())\n })\n }\n}\n\nfunction deleteCidadeById(id) {\n return (dispatch) => {\n let apiEndpoint = 'cidades/' + id\n crudService.deleteDetail(apiEndpoint).then(() => {\n dispatch(deleteCidadesDetails())\n dispatch(getCidade())\n })\n }\n}\n\nexport function addCidade(payload) {\n return [{ type: 'ADD_CIDADE', cidade: payload }, clear()]\n}\n\nexport function changeCidadesList(cidade) {\n return {\n type: 'FETCHED_ALL_CIDADE',\n cidade: cidade\n }\n}\n\nexport function clear() {\n return {\n type: 'CIDADE_CLEAR'\n }\n}\n\nexport function clearAll() {\n return {\n type: 'CIDADE_CLEAR_ALL'\n }\n}\n\nexport function handleOnChangeProps(props, value) {\n return {\n type: 'CIDADE_HANDLE_ON_CHANGE',\n props: props,\n value: value\n }\n}\n\nexport function editCidadesDetails(cidade) {\n return {\n type: 'CIDADE_DETAIL',\n id: cidade.id,\n nome: cidade.nome,\n estadoId: cidade.estadoId,\n ibge: cidade.ibge,\n latLon: cidade.latLon,\n estado: cidade.estado\n }\n}\n\nexport function updatedCidadeInfo() {\n return {\n type: 'CIDADE_UPDATED'\n }\n}\n\nexport function createCidadeInfo() {\n return {\n type: 'CIDADE_CREATED_SUCCESSFULLY'\n }\n}\n\nexport function deleteCidadesDetails() {\n return {\n type: 'DELETED_CIDADE_DETAILS'\n }\n}\n","import { crudService } from '../_services/'\n\nexport const estadoAction = {\n getEstado\n}\nfunction getEstado() {\n return (dispatch) => {\n let apiEndpoint = 'estados/'\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(changeEstadosList(response.data))\n })\n .catch((err) => {\n console.log(err)\n })\n }\n}\nexport function changeEstadosList(estado) {\n return {\n type: 'FETCHED_ALL_ESTADO',\n estado: estado\n }\n}\nexport function handleOnChangeProps(props, value) {\n return {\n type: 'HANDLE_ON_CHANGE',\n props: props,\n value: value\n }\n}\n","import { crudService } from '../_services'\n\nexport const dashboardAction = {\n getDashboardHome,\n getDashboardEstabelecimento,\n getDashboardEvento,\n getDashboardAdmin\n}\n\nfunction getDashboardAdmin(dataInicial, dataFinal) {\n const payload = {\n dataInicial,\n dataFinal\n }\n return (dispatch) => {\n dispatch(request())\n let apiEndpoint = 'dashboardAdmin/all'\n crudService\n .post(apiEndpoint, payload)\n .then((response) => {\n dispatch(success(response.data))\n })\n .catch((error) => {\n dispatch(failure(error))\n })\n }\n function request() {\n return {\n type: 'FETCHED_DASHBOARD_ADMIN_REQUEST'\n }\n }\n function success(dashboardAdminResponse) {\n return {\n type: 'FETCHED_DASHBOARD_ADMIN_SUCCESS',\n dashboardAdmin: dashboardAdminResponse\n }\n }\n function failure(error) {\n return {\n type: 'FETCHED_DASHBOARD_ADMIN_FAILURE',\n error: error\n }\n }\n}\n\nfunction getDashboardHome(estabelecimentoId) {\n return (dispatch) => {\n dispatch(request({ estabelecimentoId }))\n let apiEndpoint = 'dashboard/estabelecimento/home/' + estabelecimentoId\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(success(response.data))\n })\n .catch((error) => {\n dispatch(failure(error))\n })\n }\n function request(estabelecimentoId) {\n return { type: 'FETCHED_DASHBOARD_HOME_REQUEST', estabelecimentoId }\n }\n\n function success(dashboardHomeResponse) {\n return {\n type: 'FETCHED_DASHBOARD_HOME_SUCCESS',\n dashboardHome: dashboardHomeResponse\n }\n }\n\n function failure(error) {\n return { type: 'FETCHED_DASHBOARD_HOME_FAILURE', error }\n }\n}\n\nfunction getDashboardEstabelecimento(estabelecimentoId) {\n return (dispatch) => {\n dispatch(request({ estabelecimentoId }))\n let apiEndpoint = 'dashboard/estabelecimento/' + estabelecimentoId\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(success(response.data))\n })\n .catch((error) => {\n dispatch(failure(error))\n })\n }\n function request(estabelecimentoId) {\n return {\n type: 'FETCHED_DASHBOARD_ESTABELECIMENTO_REQUEST',\n estabelecimentoId\n }\n }\n\n function success(dashboardEstabelecimentoResponse) {\n return {\n type: 'FETCHED_DASHBOARD_ESTABELECIMENTO_SUCCESS',\n dashboardEstabelecimento: dashboardEstabelecimentoResponse\n }\n }\n\n function failure(error) {\n return { type: 'FETCHED_DASHBOARD_ESTABELECIMENTO_FAILURE', error }\n }\n}\n\nfunction getDashboardEvento(eventoId) {\n return (dispatch) => {\n dispatch(request({ eventoId }))\n let apiEndpoint = 'dashboard/evento/' + eventoId\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(success(response.data))\n })\n .catch((error) => {\n dispatch(failure(error))\n })\n }\n function request(eventoId) {\n return {\n type: 'FETCHED_DASHBOARD_EVENTO_REQUEST',\n eventoId\n }\n }\n\n function success(dashboardEventoResponse) {\n return {\n type: 'FETCHED_DASHBOARD_EVENTO_SUCCESS',\n dashboardEvento: dashboardEventoResponse\n }\n }\n\n function failure(error) {\n return { type: 'FETCHED_DASHBOARD_EVENTO_FAILURE', error }\n }\n}\n","import { crudService } from '../_services'\nimport { toast } from 'react-toastify'\n\nexport const permissaoUsuarioAction = {\n getPermissaoUsuario,\n getPermissaoUsuarioByChave,\n onChangePropsList,\n createPermissaoUsuario,\n clear,\n handleCheckedPermitido,\n handleCheckAllPermissaoUsuario,\n handleChangeCheckAll\n}\nfunction getPermissaoUsuario(id) {\n return (dispatch) => {\n let apiEndpoint = 'permissoesUsuarios/' + id\n crudService\n .get(apiEndpoint)\n .then((response) => {\n if (response.data) {\n dispatch(changePermissaoUsuariosList(response.data, 1, id))\n }\n })\n .catch((err) => {\n console.log(err)\n })\n }\n}\nfunction getPermissaoUsuarioByChave(chave) {\n return (dispatch) => {\n let apiEndpoint = 'permissoesUsuarios/' + chave\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(editPermissaoUsuariosDetails(response.data))\n })\n .catch((err) => {\n console.log(err)\n })\n }\n}\n\nfunction createPermissaoUsuario(payload) {\n return (dispatch) => {\n dispatch(request(payload))\n let apiEndpoint = 'permissoesUsuarios'\n crudService\n .post(apiEndpoint, payload)\n .then((response) => {\n if (response.request.status === 200) {\n var responseJSON = JSON.parse(response.request.responseText)\n dispatch(success(responseJSON))\n toast.success('Permissões alteradas com sucesso! 👍', {})\n } else {\n dispatch(failure(response))\n }\n })\n .catch((err) => {\n dispatch(failure(err))\n return err\n })\n }\n\n function request(payload) {\n return { type: 'PERMISSAO_USUARIO_CREATE_REQUEST', payload }\n }\n\n function success(responseJSON) {\n return {\n type: 'PERMISSAO_USUARIO_CREATE_SUCCESS',\n response: responseJSON\n }\n }\n\n function failure(error) {\n return { type: 'PERMISSAO_USUARIO_CREATE_FAILURE', error }\n }\n}\nfunction onChangePropsList(props, event, position) {\n return (dispatch) => {\n dispatch(handleOnChangePropsList(props, event.target.checked, position))\n }\n}\nexport function changePermissaoUsuariosList(\n permissaoUsuario,\n totalPages,\n usuarioId\n) {\n return {\n type: 'FETCHED_ALL_PERMISSAO_USUARIO',\n permissaoUsuario: permissaoUsuario,\n totalPages: totalPages,\n usuarioId: usuarioId\n }\n}\nexport function clear() {\n return {\n type: 'PERMISSAO_USUARIO_CLEAR'\n }\n}\n\nexport function handleCheckedPermitido(idPermissaoUsuario) {\n return {\n type: 'HANDLE_CHECKED_PERMITIDO_PERMISSAO_USUARIO',\n id: idPermissaoUsuario\n }\n}\nexport function handleChangeCheckAll() {\n return {\n type: 'HANDLE_CHANGE_CHECK_ALL_PERMISSAO_USUARIO'\n }\n}\nexport function handleCheckAllPermissaoUsuario(checked) {\n return {\n type: 'HANDLE_CHECK_ALL_PERMISSAO_USUARIO',\n checked: checked\n }\n}\n\nexport function handleOnChangePropsList(props, value, position) {\n return {\n type: 'HANDLE_ON_CHANGE_LIST_PERMISSAO_USUARIO',\n props: props,\n value: value,\n position: position\n }\n}\nexport function editPermissaoUsuariosDetails(permissaoUsuario) {\n return {\n type: 'PERMISSAO_USUARIO_DETAIL',\n id: permissaoUsuario.id,\n idPermissao: permissaoUsuario.idPermissao,\n idUsuario: permissaoUsuario.idUsuario,\n permitido: permissaoUsuario.permitido\n }\n}\nexport function createUserInfo() {\n return {\n type: 'PERMISSAO_USUARIO_CREATED_SUCCESSFULLY'\n }\n}\nexport function deletePermissaoUsuariosDetails() {\n return {\n type: 'DELETED_PERMISSAO_USUARIO_DETAILS'\n }\n}\n","import { crudService } from '../_services'\nimport { toast } from 'react-toastify'\n\nexport const permissaoTipoUsuarioAction = {\n getPermissaoTipoUsuario,\n getPermissaoTipoUsuarioByChave,\n onChangePropsList,\n createPermissaoTipoUsuario,\n clear,\n handleCheckedPermitido,\n handleCheckAllPermissaoTipoUsuario,\n handleChangeCheckAll\n}\nfunction getPermissaoTipoUsuario(id) {\n return (dispatch) => {\n let apiEndpoint = 'permissoesTiposUsuarios/' + id\n crudService\n .get(apiEndpoint)\n .then((response) => {\n if (response.data) {\n dispatch(changePermissaoTipoUsuariosList(response.data, 1, id))\n }\n })\n .catch((err) => {\n console.log(err)\n })\n }\n}\nfunction getPermissaoTipoUsuarioByChave(chave) {\n return (dispatch) => {\n let apiEndpoint = 'permissoesTiposUsuarios/' + chave\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(editPermissaoTipoUsuariosDetails(response.data))\n })\n .catch((err) => {\n console.log(err)\n })\n }\n}\n\nfunction createPermissaoTipoUsuario(payload) {\n return (dispatch) => {\n dispatch(request(payload))\n let apiEndpoint = 'permissoesTiposUsuarios'\n crudService\n .post(apiEndpoint, payload)\n .then((response) => {\n if (response.request.status === 200) {\n var responseJSON = JSON.parse(response.request.responseText)\n dispatch(success(responseJSON))\n toast.success('Permissões alteradas com sucesso! 👍', {})\n } else {\n dispatch(failure(response))\n }\n })\n .catch((err) => {\n dispatch(failure(err))\n return err\n })\n }\n\n function request(payload) {\n return { type: 'PERMISSAO_TIPO_USUARIO_CREATE_REQUEST', payload }\n }\n\n function success(responseJSON) {\n return {\n type: 'PERMISSAO_TIPO_USUARIO_CREATE_SUCCESS',\n response: responseJSON\n }\n }\n\n function failure(error) {\n return { type: 'PERMISSAO_TIPO_USUARIO_CREATE_FAILURE', error }\n }\n}\nfunction onChangePropsList(props, event, position) {\n return (dispatch) => {\n dispatch(handleOnChangePropsList(props, event.target.checked, position))\n }\n}\nexport function changePermissaoTipoUsuariosList(\n permissaoTipoUsuario,\n totalPages,\n tipoUsuarioId\n) {\n return {\n type: 'FETCHED_ALL_PERMISSAO_TIPO_USUARIO',\n permissaoTipoUsuario: permissaoTipoUsuario,\n totalPages: totalPages,\n tipoUsuarioId: tipoUsuarioId\n }\n}\nexport function clear() {\n return {\n type: 'PERMISSAO_TIPO_USUARIO_CLEAR'\n }\n}\n\nexport function handleCheckedPermitido(idPermissaoTipoUsuario) {\n return {\n type: 'HANDLE_CHECKED_PERMITIDO_PERMISSAO_TIPO_USUARIO',\n id: idPermissaoTipoUsuario\n }\n}\nexport function handleChangeCheckAll() {\n return {\n type: 'HANDLE_CHANGE_CHECK_ALL_PERMISSAO_TIPO_USUARIO'\n }\n}\nexport function handleCheckAllPermissaoTipoUsuario(checked) {\n return {\n type: 'HANDLE_CHECK_ALL_PERMISSAO_TIPO_USUARIO',\n checked: checked\n }\n}\n\nexport function handleOnChangePropsList(props, value, position) {\n return {\n type: 'HANDLE_ON_CHANGE_LIST_PERMISSAO_TIPO_USUARIO',\n props: props,\n value: value,\n position: position\n }\n}\nexport function editPermissaoTipoUsuariosDetails(permissaoTipoUsuario) {\n return {\n type: 'PERMISSAO_TIPO_USUARIO_DETAIL',\n id: permissaoTipoUsuario.id,\n idPermissao: permissaoTipoUsuario.idPermissao,\n idTipoUsuario: permissaoTipoUsuario.idTipoUsuario,\n permitido: permissaoTipoUsuario.permitido\n }\n}\nexport function createUserInfo() {\n return {\n type: 'PERMISSAO_TIPO_USUARIO_CREATED_SUCCESSFULLY'\n }\n}\nexport function deletePermissaoTipoUsuariosDetails() {\n return {\n type: 'DELETED_PERMISSAO_TIPO_USUARIO_DETAILS'\n }\n}\n","import { crudService } from '../_services'\n\nexport const tipoUsuarioAction = {\n getTipoUsuario,\n getTipoUsuarioSelect,\n addTipoUsuario,\n getTipoUsuarioById,\n onChangeProps,\n editTipoUsuarionfo,\n editTiposUsuariosDetails,\n createTipoUsuario,\n deleteTipoUsuarioById,\n clear,\n clearAll\n}\n\nfunction getTipoUsuario() {\n return (dispatch) => {\n let apiEndpoint = 'tiposUsuarios'\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(changeTiposUsuariosList(response.data))\n })\n .catch((err) => {\n console.log(err)\n })\n }\n}\n\nfunction getTipoUsuarioSelect() {\n return (dispatch) => {\n let apiEndpoint = 'tiposUsuarios/select'\n crudService\n .get(apiEndpoint)\n .then((response) => {\n if (response.data) {\n // response.data.unshift({ value: '', text: ' SELECIONE ...' })\n dispatch(changeTiposUsuariosList(response.data))\n }\n })\n .catch((err) => {\n console.log(err)\n })\n }\n}\n\nfunction createTipoUsuario(payload) {\n return (dispatch) => {\n let apiEndpoint = 'tiposUsuarios/'\n crudService.post(apiEndpoint, payload).then(() => {\n dispatch(createTipoUsuarioInfo())\n dispatch(clear())\n })\n }\n}\n\nfunction getTipoUsuarioById(id) {\n return (dispatch) => {\n let apiEndpoint = 'tiposUsuarios/' + id\n crudService.get(apiEndpoint).then((response) => {\n dispatch(editTiposUsuariosDetails(response.data))\n })\n }\n}\n\nfunction onChangeProps(props, event) {\n return (dispatch) => {\n dispatch(handleOnChangeProps(props, event.target.value))\n }\n}\n\nfunction editTipoUsuarionfo(id, payload) {\n return (dispatch) => {\n let apiEndpoint = 'tiposUsuarios/' + id\n crudService.put(apiEndpoint, payload).then(() => {\n dispatch(updatedTipoUsuarioInfo())\n dispatch(clear())\n })\n }\n}\n\nfunction deleteTipoUsuarioById(id) {\n return (dispatch) => {\n let apiEndpoint = 'tiposUsuarios/' + id\n crudService.deleteDetail(apiEndpoint).then(() => {\n dispatch(deleteTipoUsuarioById())\n dispatch(getTipoUsuario())\n })\n }\n}\n\nexport function addTipoUsuario(payload) {\n return [{ type: 'ADD_TIPOUSUARIO', tipoUsuario: payload }, clear()]\n}\n\nexport function changeTiposUsuariosList(tipoUsuario) {\n return {\n type: 'FETCHED_ALL_TIPOUSUARIO',\n tipoUsuario: tipoUsuario\n }\n}\n\nexport function clear() {\n return {\n type: 'TIPOUSUARIO_CLEAR'\n }\n}\n\nexport function clearAll() {\n return {\n type: 'TIPOUSUARIO_CLEAR_ALL'\n }\n}\n\nexport function handleOnChangeProps(props, value) {\n return {\n type: 'TIPOUSUARIO_HANDLE_ON_CHANGE',\n props: props,\n value: value\n }\n}\n\nexport function editTiposUsuariosDetails(tipoUsuario) {\n return {\n type: 'TIPOUSUARIO_DETAIL',\n id: tipoUsuario.id,\n descricao: tipoUsuario.descricao\n }\n}\n\nexport function updatedTipoUsuarioInfo() {\n return {\n type: 'TIPOUSUARIO_UPDATED'\n }\n}\n\nexport function createTipoUsuarioInfo() {\n return {\n type: 'TIPOUSUARIO_CREATED_SUCCESSFULLY'\n }\n}\n\nexport function deleteTiposUsuariosDetails() {\n return {\n type: 'DELETED_TIPOUSUARIO_DETAILS'\n }\n}\n","import { crudService } from '../_services'\nimport { history } from '../utils'\nimport { toast } from 'react-toastify'\n\nexport const parametroAction = {\n getParametro,\n getParametroById,\n onChangeProps,\n editParametroInfo,\n createParametro,\n deleteParametroById,\n clear\n}\n\nfunction getParametro() {\n return (dispatch) => {\n let apiEndpoint = 'parametros'\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(changeParametrosList(response.data))\n })\n .catch((error) => {\n console.log(error)\n })\n }\n}\n\nfunction createParametro(payload, redirect = false) {\n return (dispatch) => {\n let apiEndpoint = 'parametros/'\n crudService.post(apiEndpoint, payload).then((response) => {\n dispatch(createParametroInfo(response.data))\n toast.success('Feito! Parâmetro criado! 😁')\n if (redirect) {\n history.push('/parametros')\n }\n })\n }\n}\n\n//function getParametroById(id) {\n// return (dispatch) => {\n// let apiEndpoint = 'parametros/' + id\n// crudService.get(apiEndpoint).then((response) => {\n// dispatch(editParametrosDetails(response.data))\n// })\n// }\n//}\n\nfunction getParametroById(id) {\n return (dispatch) => {\n dispatch(request({ id }))\n let apiEndpoint = 'parametros/' + id\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(success(response.data))\n dispatch(editParametrosDetails(response.data))\n })\n .catch((error) => {\n dispatch(failure(error))\n })\n }\n function request(id) {\n return { type: 'FETCHED_ALL_TIPOINGRESSO_REQUEST', id }\n }\n\n function success() {\n return {\n type: 'FETCHED_ALL_TIPOINGRESSO_SUCCESS'\n }\n }\n\n function failure(error) {\n return { type: 'FETCHED_ALL_TIPOINGRESSO_FAILURE', error }\n }\n}\n\nfunction onChangeProps(props, event) {\n return (dispatch) => {\n dispatch(handleOnChangeProps(props, event.target.value))\n }\n}\n\nfunction editParametroInfo(id, payload) {\n return (dispatch) => {\n let apiEndpoint = 'parametros/' + id\n crudService.put(apiEndpoint, payload).then(() => {\n dispatch(updatedUserInfo())\n history.push('/parametros')\n })\n }\n}\n\nfunction deleteParametroById(id) {\n return (dispatch) => {\n let apiEndpoint = 'parametros/' + id\n crudService.deleteDetail(apiEndpoint).then((response) => {\n dispatch(deleteParametrosDetails())\n })\n }\n}\n\nexport function changeParametrosList(parametro) {\n return {\n type: 'FETCHED_ALL_PARAMETRO',\n parametro: parametro\n }\n}\nexport function handleOnChangeProps(props, value) {\n return {\n type: 'PARAMETRO_HANDLE_ON_CHANGE',\n props: props,\n value: value\n }\n}\nexport function editParametrosDetails(parametro) {\n return {\n type: 'PARAMETRO_DETAIL',\n id: parametro._id,\n chave: parametro.chave,\n valor: parametro.valor,\n descricao: parametro.descricao\n }\n}\n\nexport function clear() {\n return {\n type: 'PARAMETRO_CLEAR'\n }\n}\n\nexport function updatedUserInfo() {\n return {\n type: 'PARAMETRO_UPDATED'\n }\n}\nexport function createParametroInfo(parametro) {\n return {\n type: 'PARAMETRO_CREATED_SUCCESSFULLY',\n parametro: parametro\n }\n}\nexport function deleteParametrosDetails() {\n return {\n type: 'DELETED_PARAMETRO_DETAILS'\n }\n}\n","import { toast } from 'react-toastify'\nimport { crudService } from '../_services'\n\nexport const movimentacaoFinanceiraAction = {\n createMovimentacaoFinanceira,\n finishMovimentacaoFinanceira,\n cancelMovimentacaoFinanceira,\n getMovimentacaoFinanceiraByEstabelecimento,\n getAllMovimentacaoFinanceira,\n getMovimentacaoFinanceiraById,\n onChangeProps,\n clear\n}\n\nfunction cancelMovimentacaoFinanceira(payload) {\n return (dispatch) => {\n dispatch(request(payload))\n let apiEndpoint = 'movimentacoesFinanceiras/cancel'\n crudService\n .post(apiEndpoint, payload)\n .then((response) => {\n toast.success('Feito! Movimentação financeira cancelada com sucesso!')\n dispatch(success(response.data))\n })\n .catch((err) => {\n dispatch(failure(err))\n })\n }\n\n function request(payload) {\n return { type: 'MOVIMENTACAO_FINANCEIRA_CANCEL_REQUEST', payload }\n }\n\n function success(response) {\n return [\n {\n type: 'MOVIMENTACAO_FINANCEIRA_CANCEL_SUCCESS',\n movimentacaoFinanceira: response\n },\n {\n type: 'MOVIMENTACAO_FINANCEIRA_DETAIL',\n movimentacaoFinanceira: response\n }\n ]\n }\n\n function failure(error) {\n return { type: 'MOVIMENTACAO_FINANCEIRA_CANCEL_FAILURE', error }\n }\n}\n\nfunction finishMovimentacaoFinanceira(payload) {\n return (dispatch) => {\n dispatch(request(payload))\n let apiEndpoint = 'movimentacoesFinanceiras/finish'\n crudService\n .post(apiEndpoint, payload)\n .then((response) => {\n toast.success('Feito! Movimentação financeira finalizada com sucesso!')\n dispatch(success(response.data))\n })\n .catch((err) => {\n dispatch(failure(err))\n })\n }\n\n function request(payload) {\n return { type: 'MOVIMENTACAO_FINANCEIRA_FINISH_REQUEST', payload }\n }\n\n function success(response) {\n return [\n {\n type: 'MOVIMENTACAO_FINANCEIRA_FINISH_SUCCESS',\n movimentacaoFinanceira: response\n },\n {\n type: 'MOVIMENTACAO_FINANCEIRA_DETAIL',\n movimentacaoFinanceira: response\n }\n ]\n }\n\n function failure(error) {\n return { type: 'MOVIMENTACAO_FINANCEIRA_FINISH_FAILURE', error }\n }\n}\n\nfunction createMovimentacaoFinanceira(payload) {\n return (dispatch) => {\n dispatch(request(payload))\n let apiEndpoint = 'movimentacoesFinanceiras/request'\n crudService\n .post(apiEndpoint, payload)\n .then((response) => {\n dispatch(success(response.data))\n })\n .catch((err) => {\n dispatch(failure(err))\n return err\n })\n }\n\n function request(payload) {\n return { type: 'MOVIMENTACAO_FINANCEIRA_CREATE_REQUEST', payload }\n }\n\n function success(response) {\n return [\n {\n type: 'MOVIMENTACAO_FINANCEIRA_CREATE_SUCCESS',\n movimentacaoFinanceira: response\n },\n {\n type: 'MOVIMENTACAO_FINANCEIRA_DETAIL',\n movimentacaoFinanceira: response\n }\n ]\n }\n\n function failure(error) {\n return { type: 'MOVIMENTACAO_FINANCEIRA_CREATE_FAILURE', error }\n }\n}\n\nfunction getMovimentacaoFinanceiraByEstabelecimento(estabelecimentoId) {\n return (dispatch) => {\n dispatch(request(estabelecimentoId))\n let apiEndpoint = `movimentacoesFinanceiras/estabelecimento/${estabelecimentoId}`\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(success(response.data))\n })\n .catch((err) => {\n dispatch(failure(err))\n return err\n })\n }\n\n function request(estabelecimentoId) {\n return {\n type: 'GET_MOVIMENTACAO_FINANCEIRA_BY_ESTABELECIMENTO_REQUEST',\n estabelecimentoId\n }\n }\n\n function success(response) {\n return {\n type: 'GET_MOVIMENTACAO_FINANCEIRA_BY_ESTABELECIMENTO_SUCCESS',\n movimentacaoFinanceira: response\n }\n }\n\n function failure(error) {\n return {\n type: 'GET_MOVIMENTACAO_FINANCEIRA_BY_ESTABELECIMENTO_FAILURE',\n error\n }\n }\n}\nfunction getMovimentacaoFinanceiraById(movimentacaoFinanceiraId) {\n return (dispatch) => {\n dispatch(request(movimentacaoFinanceiraId))\n let apiEndpoint = `movimentacoesFinanceiras/${movimentacaoFinanceiraId}`\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(success(response.data))\n })\n .catch((err) => {\n dispatch(failure(err))\n return err\n })\n }\n\n function request(movimentacaoFinanceiraId) {\n return {\n type: 'GET_MOVIMENTACAO_FINANCEIRA_BY_ID_REQUEST',\n movimentacaoFinanceiraId\n }\n }\n\n function success(response) {\n return {\n type: 'GET_MOVIMENTACAO_FINANCEIRA_BY_ID_SUCCESS',\n movimentacaoFinanceira: response\n }\n }\n\n function failure(error) {\n return {\n type: 'GET_MOVIMENTACAO_FINANCEIRA_BY_ID_FAILURE',\n error\n }\n }\n}\n\nfunction getAllMovimentacaoFinanceira(payload) {\n return (dispatch) => {\n dispatch(request())\n let apiEndpoint = `movimentacoesFinanceiras/search`\n crudService\n .post(apiEndpoint, payload)\n .then((response) => {\n dispatch(success(response.data))\n })\n .catch((err) => {\n dispatch(failure(err))\n return err\n })\n }\n\n function request(payload) {\n return {\n type: 'GET_ALL_MOVIMENTACAO_FINANCEIRA_REQUEST',\n payload\n }\n }\n\n function success(response) {\n return {\n type: 'GET_ALL_MOVIMENTACAO_FINANCEIRA_SUCCESS',\n movimentacaoFinanceira: response\n }\n }\n\n function failure(error) {\n return {\n type: 'GET_ALL_MOVIMENTACAO_FINANCEIRA_FAILURE',\n error\n }\n }\n}\n\nexport function clear() {\n return {\n type: 'MOVIMENTACAO_FINANCEIRA_CLEAR_ALL'\n }\n}\n\nfunction onChangeProps(props, event) {\n return (dispatch) => {\n if (typeof event === 'object') {\n if (event.target.type === 'checkbox') {\n dispatch(handleOnChangeProps(props, event.target.checked))\n } else {\n dispatch(handleOnChangeProps(props, event.target.value))\n }\n } else {\n dispatch(handleOnChangeProps(props, event))\n }\n }\n}\nexport function handleOnChangeProps(props, value) {\n return {\n type: 'MOVIMENTACAO_FINANCEIRA_HANDLE_ON_CHANGE',\n props: props,\n value: value\n }\n}\n","import { crudService } from '../_services'\n\nexport const statusMovimentacaoFinanceiraAction = {\n getStatusMovimentacaoFinanceiraSelect\n}\n\nfunction getStatusMovimentacaoFinanceiraSelect() {\n return (dispatch) => {\n dispatch(request())\n let apiEndpoint = 'statusMovimentacoesFinanceiras/select'\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(success(response.data))\n })\n .catch((error) => {\n dispatch(failure(error))\n })\n }\n function request() {\n return {\n type: 'FETCHED_STATUS_MOVIMENTACAO_FINANCEIRA_SELECT_REQUEST'\n }\n }\n\n function success(statusMovimentacaoFinanceiraSelect) {\n return {\n type: 'FETCHED_STATUS_MOVIMENTACAO_FINANCEIRA_SELECT_SUCCESS',\n statusMovimentacaoFinanceiraSelect: statusMovimentacaoFinanceiraSelect\n }\n }\n\n function failure(error) {\n return {\n type: 'FETCHED_STATUS_MOVIMENTACAO_FINANCEIRA_SELECT_FAILURE',\n error\n }\n }\n}\n","import { crudService } from '../_services/'\n\nexport const avaliacaoAction = {\n getAvaliacaoByEstabelecimento,\n searchAvaliacaoByEventId,\n clearAll,\n setAnswerRatingOpen,\n setDetailOpen,\n likeRating\n}\n\nfunction getAvaliacaoByEstabelecimento(estabelecimentoId) {\n return (dispatch) => {\n let apiEndpoint = `avaliacoes/estabelecimento/${estabelecimentoId}`\n dispatch(request())\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(success(response.data))\n })\n .catch((err) => {\n dispatch(failure(err))\n })\n }\n\n function request() {\n return { type: 'REQUEST_ALL_AVALIACOES_REQUEST' }\n }\n\n function success(data) {\n return {\n type: 'REQUEST_ALL_AVALIACOES_SUCCESS',\n avaliacoes: data.avaliacoes\n }\n }\n\n function failure(error) {\n return { type: 'REQUEST_ALL_AVALIACOES_FAILURE', error }\n }\n}\n\nfunction searchAvaliacaoByEventId(payload, eventoId) {\n let apiEndpoint = ''\n return (dispatch) => {\n dispatch(request(payload))\n if (payload.SearchText === '') {\n apiEndpoint = `avaliacoes/evento/${payload.EventoId}`\n } else {\n apiEndpoint = `avaliacoes/evento/search/${payload.EventoId}/${payload.SearchText}`\n }\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(success(response.data, eventoId))\n })\n .catch((error) => {\n dispatch(failure(error))\n })\n }\n\n function request(payload) {\n return {\n type: 'SEARCH_AVALIACOES_REQUEST',\n payload\n }\n }\n\n function success(data, eventoId) {\n return {\n type: 'SEARCH_AVALIACOES_SUCCESS',\n avaliacoes: data.avaliacoes,\n eventoId: eventoId\n }\n }\n\n function failure(error) {\n return { type: 'SEARCH_AVALIACOES_FAILURE', error }\n }\n}\n\nfunction clearAll() {\n return {\n type: 'AVALIACAO_CLEAR_ALL'\n }\n}\n\nfunction setAnswerRatingOpen(answerOpen, avaliacao) {\n if (avaliacao === null) {\n return {\n type: 'AVALIACAO_ANSWER_OPEN',\n answerOpen: answerOpen,\n usuarioId: 0,\n mensagem: '',\n id: 0\n }\n } else {\n return {\n type: 'AVALIACAO_ANSWER_OPEN',\n answerOpen: answerOpen,\n usuarioId: avaliacao.usuarioId,\n mensagem: avaliacao.mensagem,\n id: avaliacao.id\n }\n }\n}\n\nfunction setDetailOpen(detailOpen, avaliacao) {\n if (avaliacao === null) {\n return {\n type: 'AVALIACAO_DETAIL_OPEN',\n detailOpen: detailOpen,\n usuarioId: 0,\n mensagem: '',\n id: 0,\n nota: 0\n }\n } else {\n return {\n type: 'AVALIACAO_DETAIL_OPEN',\n detailOpen: detailOpen,\n usuarioId: avaliacao.usuarioId,\n mensagem: avaliacao.mensagem,\n id: avaliacao.id,\n nota: avaliacao.nota\n }\n }\n}\n\nfunction likeRating(avaliacaoId) {\n return (dispatch) => {\n dispatch(request())\n let apiEndpoint = `interacoes/curtida/avaliacao/${avaliacaoId}`\n crudService\n .post(apiEndpoint)\n .then(() => {\n dispatch(success())\n })\n .catch((error) => {\n dispatch(failure(error))\n })\n }\n\n function request() {\n return {\n type: 'LIKE_AVALIACOES_REQUEST',\n ratingId: avaliacaoId\n }\n }\n\n function success() {\n return {\n type: 'LIKE_AVALIACOES_SUCCESS'\n }\n }\n\n function failure(error) {\n return { type: 'LIKE_AVALIACOES_FAILURE', error }\n }\n}\n","import { crudService } from '../_services/'\nimport { toast } from 'react-toastify'\n\nexport const comentarioAction = {\n changeAnswer,\n sendAnswer,\n getComentarioByAvaliacao,\n deleteComment,\n likeComment\n}\n\nfunction changeAnswer(prop, event) {\n let answer = ''\n if (prop === null && event === null) {\n answer = ''\n } else {\n answer = event.target.value\n }\n return {\n type: 'COMENTARIO_CHANGE_ANSWER',\n mensagem: answer\n }\n}\n\nfunction sendAnswer(payload) {\n return (dispatch) => {\n let apiEndpoint = 'comentarios/'\n crudService.post(apiEndpoint, payload).then(() => {\n dispatch(answerComentarioSuccess())\n dispatch(answerAvaliacaoSuccess())\n toast.success('Resposta enviada! 😁')\n })\n }\n}\n\nexport function answerComentarioSuccess() {\n return {\n type: 'COMENTARIO_ANSWER_SUCCESS'\n }\n}\n\nexport function answerAvaliacaoSuccess() {\n return {\n type: 'AVALIACAO_ANSWER_SUCCESS'\n }\n}\n\nexport function getComentarioByAvaliacao(avaliacaoId) {\n return (dispatch) => {\n let apiEndpoint = `comentarios/avaliacao/${avaliacaoId}`\n dispatch(request())\n crudService\n .get(apiEndpoint)\n .then((response) => {\n dispatch(success(response.data))\n })\n .catch((err) => {\n dispatch(failure(err))\n })\n }\n\n function request() {\n return { type: 'REQUEST_ALL_COMENTARIOS_REQUEST' }\n }\n\n function success(comentarios) {\n return {\n type: 'REQUEST_ALL_COMENTARIOS_SUCCESS',\n comentarios: comentarios\n }\n }\n\n function failure(error) {\n return { type: 'REQUEST_ALL_COMENTARIOS_FAILURE', error }\n }\n}\n\nfunction deleteComment(commentId, reload) {\n return (dispatch) => {\n let apiEndpoint = `comentarios/${commentId}`\n dispatch(request())\n crudService\n .deleteDetail(apiEndpoint)\n .then((response) => {\n dispatch(success(response.data))\n })\n .catch((err) => {\n dispatch(failure(err))\n })\n }\n\n function request() {\n return { type: 'DELETE_COMENTARIO_REQUEST' }\n }\n\n function success() {\n return {\n type: 'DELETE_COMENTARIO_SUCCESS',\n reload: reload\n }\n }\n\n function failure(error) {\n return { type: 'DELETE_COMENTARIO_FAILURE', error }\n }\n}\n\nfunction likeComment(commentId) {\n return (dispatch) => {\n let apiEndpoint = `interacoes/curtida/comentario/${commentId}`\n dispatch(request())\n crudService\n .post(apiEndpoint)\n .then(() => {\n dispatch(success())\n })\n .catch((err) => {\n dispatch(failure(err))\n })\n }\n\n function request() {\n return { type: 'LIKE_COMENTARIO_REQUEST', commentId: commentId }\n }\n\n function success() {\n return {\n type: 'LIKE_COMENTARIO_SUCCESS'\n }\n }\n\n function failure(error) {\n return { type: 'LIKE_COMENTARIO_FAILURE', error }\n }\n}\n","export const albumAction = {\n addFoto,\n deleteFoto,\n deleteAllFoto,\n updateFoto,\n shortFoto,\n setFotoCapaId,\n toggleEnabledSortableContext\n}\n\nfunction shortFoto(foto) {\n return {\n type: 'SHORT_PHOTO',\n foto: foto\n }\n}\n\nfunction toggleEnabledSortableContext() {\n return {\n type: 'TOGGLE_ENABLED_SORTABLE_CONTEXT'\n }\n}\n\nfunction addFoto(foto) {\n return {\n type: 'ADD_PHOTO',\n foto: foto\n }\n}\n\nfunction updateFoto(data) {\n return {\n type: 'UPDATE_PHOTO',\n data: data\n }\n}\n\nfunction deleteFoto(foto) {\n return {\n type: 'DELETE_PHOTO',\n foto: foto\n }\n}\n\nfunction deleteAllFoto() {\n return {\n type: 'DELETE_ALL_PHOTO'\n }\n}\n\nfunction setFotoCapaId(fotoCapaId) {\n return {\n type: 'SET_FOTO_CAPA_ID',\n fotoCapaId: fotoCapaId\n }\n}\n","import React from 'react'\nimport { Route, Redirect } from 'react-router-dom'\nimport PropTypes from 'prop-types'\nimport { Tooltip } from '@material-ui/core'\nimport VisibilityOffTwoToneIcon from '@material-ui/icons/VisibilityOffTwoTone'\nimport VisibilityTwoToneIcon from '@material-ui/icons/VisibilityTwoTone'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { globalActions } from '_actions'\nimport { SpeedDial } from '@material-ui/lab'\n\nconst PrivateRouteWithLayout = (props) => {\n const { layout: Layout, component: Component, ...rest } = props\n const dispatch = useDispatch()\n const { showValues, isVisibleButtonShowValues } = useSelector(\n (state) => state.global\n )\n const setShowValues = () => {\n dispatch(globalActions.setShowValues())\n }\n return (\n \n localStorage.getItem('user') ? (\n \n \n \n \n \n \n ) : (\n \n )\n }\n />\n )\n}\n\nPrivateRouteWithLayout.propTypes = {\n component: PropTypes.any.isRequired,\n layout: PropTypes.any.isRequired,\n path: PropTypes.string\n}\n\nexport default PrivateRouteWithLayout\n","import React from 'react'\nimport { ToastContainer } from 'react-toastify'\nimport 'react-toastify/dist/ReactToastify.min.css'\n\nexport default (props) => \n","import { connect } from 'react-redux'\nimport PropTypes from 'prop-types'\n\nconst check = (rule, permissaoTipoUsuario, permissaoUsuario) => {\n const itemPermissaoUsuario = permissaoUsuario.find(\n (item) => item.permissao.nome === rule\n )\n if (itemPermissaoUsuario) return itemPermissaoUsuario.permitido\n if (\n permissaoTipoUsuario.some(\n (item) => item.permissao.nome === rule && item.permitido\n )\n )\n return true\n return false\n}\n\nconst AccessControl = (props) =>\n check(props.rule, props.permissaoTipoUsuario, props.permissaoUsuario)\n ? props.yes()\n : props.no()\n\nAccessControl.defaultProps = {\n yes: () => null,\n no: () => null\n}\n\nAccessControl.propTypes = {\n rule: PropTypes.string.isRequired\n}\n\nconst mapStateToProps = (state) => {\n return {\n permissaoTipoUsuario:\n state.authentication.user.tipoUsuario !== undefined &&\n state.authentication.user.tipoUsuario.permissaoTipoUsuario,\n permissaoUsuario:\n state.authentication.user.permissaoUsuario !== undefined &&\n state.authentication.user.permissaoUsuario\n }\n}\nconst connectedAccessControlPage = connect(mapStateToProps)(AccessControl)\nexport { connectedAccessControlPage as AccessControl }\n","import { useContext } from 'react'\nimport { __RouterContext } from 'react-router'\n\nexport default () => useContext(__RouterContext)\n","/* eslint-disable no-undef */\nimport React, { useEffect } from 'react'\nimport { Helmet } from 'react-helmet'\nimport PropTypes from 'prop-types'\n\nimport useRouter from 'utils/useRouter'\n\nconst NODE_ENV = process.env.NODE_ENV\nconst GA_MEASUREMENT_ID = process.env.REACT_APP_GA_MEASUREMENT_ID\n\nconst Page = (props) => {\n const { title, children, ...rest } = props\n\n const router = useRouter()\n\n useEffect(() => {\n if (NODE_ENV !== 'production') {\n return\n }\n\n if (window.gtag) {\n window.gtag('config', GA_MEASUREMENT_ID, {\n page_path: router.location.pathname,\n page_name: title\n })\n }\n }, [title, router])\n\n return (\n
\n \n {title}\n \n {children}\n
\n )\n}\n\nPage.propTypes = {\n children: PropTypes.node,\n title: PropTypes.string\n}\n\nexport default Page\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport clsx from 'clsx'\nimport { makeStyles } from '@material-ui/styles'\nimport { Typography, colors } from '@material-ui/core'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexGrow: 0,\n flexShrink: 0,\n borderRadius: theme.shape.borderRadius,\n lineHeight: '10px',\n fontSize: '10px',\n height: 20,\n minWidth: 20,\n whiteSpace: 'nowrap',\n padding: theme.spacing(0.5, 1)\n },\n rounded: {\n borderRadius: 10,\n padding: theme.spacing(0.5)\n }\n}))\n\nconst Label = (props) => {\n const { className, variant, color, shape, children, style, ...rest } = props\n\n const classes = useStyles()\n\n const rootClassName = clsx(\n {\n [classes.root]: true,\n [classes.rounded]: shape === 'rounded'\n },\n className\n )\n\n const finalStyle = { ...style }\n\n if (variant === 'contained') {\n finalStyle.backgroundColor = color\n finalStyle.color = '#FFF'\n } else {\n finalStyle.border = `1px solid ${color}`\n finalStyle.color = color\n }\n\n return (\n \n {children}\n \n )\n}\n\nLabel.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string,\n color: PropTypes.string,\n shape: PropTypes.oneOf(['square', 'rounded']),\n style: PropTypes.object,\n variant: PropTypes.oneOf(['contained', 'outlined'])\n}\n\nLabel.defaultProps = {\n style: {},\n color: colors.grey[600],\n variant: 'contained',\n shape: 'square'\n}\n\nexport default Label\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport clsx from 'clsx'\nimport { makeStyles } from '@material-ui/styles'\nimport { Typography, colors, Tooltip } from '@material-ui/core'\nimport { formatCurrency } from 'utils'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexGrow: 0,\n flexShrink: 0,\n borderRadius: theme.shape.borderRadius,\n lineHeight: '10px',\n fontSize: '10px',\n height: 20,\n minWidth: 20,\n whiteSpace: 'nowrap',\n padding: theme.spacing(0.5, 1)\n },\n rounded: {\n borderRadius: 10,\n padding: theme.spacing(0.5)\n }\n}))\n\nconst LabelWithValue = (props) => {\n const {\n className,\n variant,\n value,\n shape,\n style,\n oldValue,\n isCurrency,\n isPercentage,\n ...rest\n } = props\n\n const classes = useStyles()\n\n const rootClassName = clsx(\n {\n [classes.root]: true,\n [classes.rounded]: shape === 'rounded'\n },\n className\n )\n\n const finalStyle = { ...style }\n const color =\n value === 0\n ? colors.grey[300]\n : value > 0\n ? colors.green[600]\n : colors.red[600]\n\n if (variant === 'contained') {\n finalStyle.backgroundColor = color\n finalStyle.color = '#FFF'\n } else {\n finalStyle.border = `1px solid ${color}`\n finalStyle.color = color\n }\n\n return (\n \n \n {value && value > 0 && '+'}\n {value && value === 0\n ? value\n : typeof value === 'number' &&\n value.toLocaleString('pt-BR', {\n maximumFractionDigits: 2\n })}\n %\n \n \n )\n}\n\nLabelWithValue.propTypes = {\n className: PropTypes.string,\n color: PropTypes.string,\n shape: PropTypes.oneOf(['square', 'rounded']),\n style: PropTypes.object,\n variant: PropTypes.oneOf(['contained', 'outlined']),\n value: PropTypes.number,\n oldValue: PropTypes.number,\n isCurrency: PropTypes.bool,\n isPercentage: PropTypes.bool\n}\n\nLabelWithValue.defaultProps = {\n style: {},\n color: colors.grey[600],\n variant: 'contained',\n shape: 'square'\n}\n\nexport default LabelWithValue\n","import React from 'react'\nimport { makeStyles } from '@material-ui/core/styles'\nimport SpeedDial from '@material-ui/lab/SpeedDial'\nimport SpeedDialAction from '@material-ui/lab/SpeedDialAction'\nimport ShareIcon from '@material-ui/icons/Share'\nimport FacebookIcon from '@material-ui/icons/Facebook'\nimport TwitterIcon from '@material-ui/icons/Twitter'\nimport LinkedInIcon from '@material-ui/icons/LinkedIn'\nimport WhatsAppIcon from '@material-ui/icons/WhatsApp'\nimport LinkIcon from '@material-ui/icons/Link'\nimport { toast } from 'react-toastify'\nimport { useMediaQuery, useTheme } from '@material-ui/core'\n\nconst useStyles = makeStyles((theme) => ({\n shareIcons: {\n '&:hover': {\n color: theme.palette.primary.main,\n transform: 'rotate(-6deg)'\n }\n }\n}))\n\nfunction SocialShare({ evento, link, place }) {\n const classes = useStyles()\n const theme = useTheme()\n const isMobile = useMediaQuery(theme.breakpoints.down('sm'))\n\n const linkWhatsApp = isMobile\n ? 'whatsapp://send?text='\n : 'https://wa.me/?text='\n\n const actions = [\n {\n icon: ,\n name: 'Facebook',\n href: `https://www.facebook.com/sharer/sharer.php?u=${link}`\n },\n {\n icon: ,\n name: 'Twitter',\n href: `https://twitter.com/intent/tweet?url=${link}&text=${evento.nome}`\n },\n {\n icon: ,\n name: 'LinkedIn',\n href: `https://www.linkedin.com/shareArticle?mini=true&url=${link}&title=${evento.nome}&summary=${evento.nome}&source=`\n },\n {\n icon: ,\n name: 'WhatsApp',\n href: place\n ? `${linkWhatsApp}Olá, veja o perfil do organizador ${evento.nome} disponível no Corujas! ${link}`\n : `${linkWhatsApp}Olá, veja só esta indicação de evento disponível no Corujas! ${evento.nome} - ${link}`\n }\n ]\n\n return (\n
\n }\n open={true}\n hidden={true}\n direction=\"rigth\"\n >\n {actions.map((action) => (\n window.open(action.href, '_blank')}\n />\n ))}\n }\n tooltipTitle={\n place\n ? 'Copiar link para perfil do estabelecimento'\n : 'Copiar link para o evento'\n }\n tooltipPlacement={'bottom'}\n onClick={() => {\n navigator.clipboard.writeText(link)\n toast('Link copiado para área de trabalho')\n }}\n />\n \n
\n )\n}\n\nexport default SocialShare\n","import React, { useState } from 'react'\nimport PropTypes from 'prop-types'\nimport clsx from 'clsx'\nimport { makeStyles } from '@material-ui/styles'\nimport {\n Button,\n Chip,\n Collapse,\n Divider,\n Drawer,\n FormControlLabel,\n Radio,\n RadioGroup,\n Slider,\n TextField,\n Typography\n} from '@material-ui/core'\nimport { ToggleButton, ToggleButtonGroup } from '@material-ui/lab'\nimport ExpandLessIcon from '@material-ui/icons/ExpandLess'\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore'\nimport CloseIcon from '@material-ui/icons/Close'\nimport DeleteIcon from '@material-ui/icons/DeleteOutlined'\nimport AddIcon from '@material-ui/icons/Add'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n height: '100%',\n display: 'flex',\n flexDirection: 'column'\n },\n drawer: {\n width: 420,\n maxWidth: '100%'\n },\n header: {\n padding: theme.spacing(2, 1),\n display: 'flex',\n justifyContent: 'space-between'\n },\n buttonIcon: {\n marginRight: theme.spacing(1)\n },\n content: {\n padding: theme.spacing(0, 3),\n flexGrow: 1\n },\n contentSection: {\n padding: theme.spacing(2, 0)\n },\n contentSectionHeader: {\n display: 'flex',\n justifyContent: 'space-between',\n cursor: 'pointer'\n },\n contentSectionContent: {},\n formGroup: {\n padding: theme.spacing(2, 0)\n },\n fieldGroup: {\n display: 'flex',\n alignItems: 'center'\n },\n field: {\n marginTop: 0,\n marginBottom: 0\n },\n flexGrow: {\n flexGrow: 1\n },\n addButton: {\n marginLeft: theme.spacing(1)\n },\n tags: {\n marginTop: theme.spacing(1)\n },\n minAmount: {\n marginRight: theme.spacing(3)\n },\n maxAmount: {\n marginLeft: theme.spacing(3)\n },\n radioGroup: {},\n actions: {\n padding: theme.spacing(3),\n '& > * + *': {\n marginTop: theme.spacing(2)\n }\n }\n}))\n\nconst Filter = (props) => {\n const { open, onClose, onFilter, className, ...rest } = props\n\n const classes = useStyles()\n\n const initialValues = {\n paymentStatus: '',\n tag: '',\n tags: ['Full-Time'],\n amount: [1, 7],\n projectStatus: 'ended',\n customerName: '',\n customerType: 'freelancer',\n customerEmail: '',\n customerPhone: '',\n customerAge: ''\n }\n\n const [expandProject, setExpandProject] = useState(true)\n const [expandCustomer, setExpandCustomer] = useState(false)\n const [values, setValues] = useState({ ...initialValues })\n\n const handleClear = () => {\n setValues({ ...initialValues })\n }\n\n const handleFieldChange = (event, field, value) => {\n event.persist && event.persist()\n setValues((values) => ({\n ...values,\n [field]: value\n }))\n }\n\n const handleTagAdd = () => {\n setValues((values) => {\n const newValues = { ...values }\n\n if (newValues.tag && !newValues.tags.includes(newValues.tag)) {\n newValues.tags = [...newValues.tags]\n newValues.tags.push(newValues.tag)\n }\n\n newValues.tag = ''\n\n return newValues\n })\n }\n\n const handleTagDelete = (tag) => {\n setValues((values) => {\n const newValues = { ...values }\n\n newValues.tags = newValues.tags.filter((t) => t !== tag)\n\n return newValues\n })\n }\n\n const handleToggleProject = () => {\n setExpandProject((expandProject) => !expandProject)\n }\n\n const handleToggleCustomer = () => {\n setExpandCustomer((expandCustomer) => !expandCustomer)\n }\n\n const handleSubmit = (event) => {\n event.preventDefault()\n onFilter && onFilter(values)\n }\n\n const paymentStatusOptions = ['Pending', 'Canceled', 'Completed', 'Rejected']\n const customerAgeOption = ['18 - 30', '30 - 45', '50 - 60', '60+']\n\n return (\n \n \n
\n \n
\n
\n
\n \n Project\n {expandProject ? : }\n
\n \n \n
\n
\n \n handleFieldChange(\n event,\n 'paymentStatus',\n event.target.value\n )\n }\n select\n // eslint-disable-next-line react/jsx-sort-props\n SelectProps={{ native: true }}\n value={values.paymentStatus}\n variant=\"outlined\"\n >\n \n ))}\n \n
\n
\n
\n \n handleFieldChange(event, 'tag', event.target.value)\n }\n value={values.tag}\n variant=\"outlined\"\n />\n \n \n Add\n \n
\n
\n {values.tags.map((tag) => (\n }\n key={tag}\n label={tag}\n onDelete={() => handleTagDelete(tag)}\n />\n ))}\n
\n
\n
\n \n Project amount\n \n
\n \n ${values.amount[0]}K\n \n \n handleFieldChange(event, 'amount', value)\n }\n value={values.amount}\n valueLabelDisplay=\"auto\"\n />\n \n ${values.amount[1]}K\n \n
\n
\n
\n \n Project status\n \n
\n \n handleFieldChange(\n event,\n 'projectStatus',\n event.target.value\n )\n }\n value={values.projectStatus}\n >\n }\n label=\"Ended\"\n value=\"ended\"\n />\n }\n label=\"On-Going\"\n value=\"onGoing\"\n />\n }\n label=\"In Review\"\n value=\"inReview\"\n />\n }\n label=\"Competed\"\n value=\"completed\"\n />\n \n
\n
\n
\n
\n
\n
\n \n Customer\n {expandCustomer ? : }\n
\n \n \n
\n
\n
\n \n handleFieldChange(\n event,\n 'customerName',\n event.target.value\n )\n }\n value={values.customerName}\n variant=\"outlined\"\n />\n
\n
\n \n value && handleFieldChange(event, 'customerType', value)\n }\n size=\"small\"\n value={values.customerType}\n variant=\"outlined\"\n >\n \n Project owner\n \n Freelancer\n \n
\n
\n \n handleFieldChange(\n event,\n 'customerEmail',\n event.target.value\n )\n }\n value={values.customerEmail}\n variant=\"outlined\"\n />\n
\n
\n \n handleFieldChange(\n event,\n 'customerPhone',\n event.target.value\n )\n }\n value={values.customerPhone}\n variant=\"outlined\"\n />\n
\n
\n \n handleFieldChange(\n event,\n 'customerAge',\n event.target.value\n )\n }\n select\n // eslint-disable-next-line react/jsx-sort-props\n SelectProps={{ native: true }}\n value={values.customerAge}\n variant=\"outlined\"\n >\n \n ))}\n \n
\n
\n
\n
\n \n \n
\n \n \n
\n \n \n )\n}\n\nFilter.propTypes = {\n className: PropTypes.string,\n onClose: PropTypes.func,\n onFilter: PropTypes.func,\n open: PropTypes.bool.isRequired\n}\n\nexport default Filter\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport clsx from 'clsx'\nimport { makeStyles } from '@material-ui/styles'\nimport { Paper, Button, Input } from '@material-ui/core'\nimport SearchIcon from '@material-ui/icons/Search'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n alignItems: 'center'\n },\n search: {\n flexGrow: 1,\n height: 42,\n padding: theme.spacing(0, 2),\n display: 'flex',\n alignItems: 'center'\n },\n searchIcon: {\n marginRight: theme.spacing(2),\n color: theme.palette.icon\n },\n searchInput: {\n flexGrow: 1\n },\n searchButton: {\n marginLeft: theme.spacing(2)\n }\n}))\n\nconst Search = (props) => {\n const { onSearch, className, ...rest } = props\n\n const classes = useStyles()\n\n return (\n
\n \n \n \n \n \n Search\n \n
\n )\n}\n\nSearch.propTypes = {\n className: PropTypes.string,\n onSearch: PropTypes.func\n}\n\nexport default Search\n","import React, { useState } from 'react'\nimport PropTypes from 'prop-types'\nimport clsx from 'clsx'\nimport { makeStyles } from '@material-ui/styles'\nimport { Grid, Button } from '@material-ui/core'\nimport FilterListIcon from '@material-ui/icons/FilterList'\n\nimport { Search, Filter } from './components'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n flexWrap: 'wrap'\n },\n search: {\n flexGrow: 1,\n maxWidth: 480,\n flexBasis: 480\n },\n filterButton: {\n marginLeft: 'auto'\n },\n filterIcon: {\n marginRight: theme.spacing(1)\n }\n}))\n\nconst SearchBar = (props) => {\n const { onFilter, onSearch, className, ...rest } = props\n\n const classes = useStyles()\n\n const [openFilter, setOpenFilter] = useState(false)\n\n const handleFilterOpen = () => {\n setOpenFilter(true)\n }\n\n const handleFilterClose = () => {\n setOpenFilter(false)\n }\n\n return (\n \n \n \n \n \n \n Show filters\n \n \n \n \n )\n}\n\nSearchBar.propTypes = {\n className: PropTypes.string,\n onFilter: PropTypes.func,\n onSearch: PropTypes.func\n}\n\nexport default SearchBar\n","import React from 'react'\nimport { makeStyles } from '@material-ui/styles'\nimport { Button, Grid, Typography } from '@material-ui/core'\nimport Image from 'material-ui-image'\nimport { history } from 'utils'\nimport PropTypes from 'prop-types'\nconst useStyles = makeStyles((theme) => ({\n root: {},\n noResultText: {\n paddingTop: theme.spacing(4),\n paddingBottom: theme.spacing(1),\n textAlign: 'center'\n },\n image: { marginTop: theme.spacing(1) },\n button: {\n webkitTransition: ' all 300ms ease',\n transition: 'all 300ms ease',\n '&:hover': {\n backgroundColor: theme.palette.primary.main,\n boxShadow: '0 9px 40px -14px #FFC20A',\n webkitTransition: ' all 300ms ease',\n transition: 'all 300ms ease',\n letterSpacing: '1.2px'\n }\n }\n}))\nconst MessageData = ({ text, buttonText, buttonHref, srcImage }) => {\n const classes = useStyles()\n\n const handleClick = () => {\n if (typeof buttonHref === 'function') {\n buttonHref()\n } else {\n history.push(buttonHref)\n }\n }\n return (\n
\n \n \n \n \n \n \n {!!text && text}\n \n \n {buttonText && (\n \n \n {!!buttonText && buttonText}\n \n \n )}\n \n
\n )\n}\n\nMessageData.propTypes = {\n text: PropTypes.string,\n buttonText: PropTypes.string,\n buttonHref: PropTypes.string,\n srcImage: PropTypes.string\n}\n\nexport default MessageData\n","import React from 'react'\nimport {\n Grid,\n Tooltip,\n Typography,\n IconButton,\n makeStyles\n} from '@material-ui/core'\nimport ArrowBackRoundedIcon from '@material-ui/icons/ArrowBackRounded'\nimport CachedRoundedIcon from '@material-ui/icons/CachedRounded'\nimport clsx from 'clsx'\n\n//? Own imports\nimport { history } from 'utils'\n\ntype Props = {\n className?: string\n title: string\n subtitle?: string\n onBack?: () => void\n onRefresh?: () => void\n isRefreshing?: boolean\n}\nconst useStyles = makeStyles(() => ({\n root: {}\n}))\n\nconst Header = ({\n className,\n title,\n subtitle,\n onBack,\n onRefresh,\n isRefreshing\n}: Props) => {\n const classes = useStyles()\n return (\n
\n \n \n \n onBack || history.goBack()}\n >\n \n \n \n \n \n \n {subtitle}\n \n \n {title}\n \n \n {onRefresh && (\n \n \n \n \n \n \n \n )}\n \n
\n )\n}\n\nexport default Header\n","import React from 'react'\nimport cx from 'clsx'\nimport { makeStyles } from '@material-ui/core/styles'\nimport Card from '@material-ui/core/Card'\nimport Button from '@material-ui/core/Button'\nimport { Column, Item } from '@mui-treasury/components/flex'\nimport { Info, InfoTitle, InfoSubtitle } from '@mui-treasury/components/info'\nimport { useSoftRiseShadowStyles } from '@mui-treasury/styles/shadow/softRise'\nimport { Hidden } from '@material-ui/core'\n\nconst useStyles = makeStyles((theme) => ({\n card: {\n position: 'relative',\n borderRadius: 16,\n padding: 12,\n backgroundColor: '#f8f7ef',\n minWidth: 300\n },\n learnMore: {\n backgroundColor: '#fed42c !important',\n color: '#575754',\n borderRadius: 20,\n minWidth: 120,\n minHeight: 42,\n textTransform: 'initial',\n fontSize: '0.875rem',\n fontWeight: 700,\n letterSpacing: 0\n },\n img: {\n position: 'absolute',\n width: '10%',\n bottom: '40%',\n right: '25%',\n display: 'block'\n },\n img2: {\n position: 'absolute',\n width: '20%',\n bottom: 0,\n right: 0,\n display: 'block'\n },\n shell: {\n position: 'absolute',\n bottom: 0,\n right: 0,\n transform: 'translate(70%, 50%)',\n borderRadius: '50%',\n backgroundColor: 'rgba(167, 153, 71, 0.12)',\n padding: '40%',\n '&:before': {\n position: 'absolute',\n borderRadius: '50%',\n content: '\"\"',\n display: 'block',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n margin: '-16%',\n backgroundColor: 'rgba(167, 149, 71, 0.08)'\n }\n }\n}))\n\nconst useOfferInfoStyles = makeStyles(() => {\n return {\n title: {\n color: '#545454',\n fontSize: '1.125rem',\n fontWeight: 700\n },\n subtitle: {\n color: '#7e7e7e',\n fontSize: '0.875rem',\n fontWeight: 500\n }\n }\n})\n\nexport const PickbusBanner = React.memo(function OfferCard() {\n const styles = useStyles()\n const shadowStyles = useSoftRiseShadowStyles()\n return (\n <>\n \n \n \n \n Que tal disponibilizar um transporte para seu evento?\n \n \n A ferramenta que veio para facilitar e agilizar a organização de\n transportes fretados!\n \n \n \n \n Conheça o Pickbus\n \n \n \n \n \n \n \n
\n \n \n )\n})\n","import React from 'react'\nimport { Tooltip, makeStyles } from '@material-ui/core'\nimport HelpOutlineRoundedIcon from '@material-ui/icons/HelpOutlineRounded'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n paddingLeft: theme.spacing(1)\n },\n icon: {\n fontSize: 14,\n '&:hover': {\n color: theme.palette.primary.main,\n cursor: 'help'\n }\n }\n}))\n\ntype Props = {\n children: NonNullable\n} & React.HTMLAttributes\n\nconst HelperToolTip = ({ children, ...rest }: Props) => {\n const classes = useStyles()\n\n return (\n
\n \n \n \n
\n )\n}\n\nexport default HelperToolTip\n","import React from 'react'\nimport { KeyboardDateTimePicker } from '@material-ui/pickers'\nimport { ValidatorComponent } from 'react-material-ui-form-validator'\n\nclass ValidatedDatePicker extends ValidatorComponent {\n renderValidatorComponent() {\n const {\n errorMessages,\n validators,\n requiredError,\n helperText,\n validatorListener,\n ...rest\n } = this.props\n const { isValid } = this.state\n\n if (isValid) {\n return \n }\n return (\n \n )\n }\n}\n\nexport default ValidatedDatePicker\n","import React from 'react'\nimport { withStyles, Dialog, AppBar, Toolbar, IconButton, Typography, Slide } from '@material-ui/core'\nimport CloseIcon from '@material-ui/icons/Close'\n\nconst styles = {\n appBar: {\n position: 'relative',\n },\n flex: {\n flex: 1,\n },\n imgContainer: {\n position: 'relative',\n flex: 1,\n padding: 16,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n },\n img: {\n maxWidth: '100%',\n maxHeight: '100%',\n },\n}\n\nfunction Transition(props) {\n return \n}\n\nclass ImgDialog extends React.Component {\n state = {\n open: false,\n }\n\n handleClickOpen = () => {\n this.setState({ open: true })\n }\n\n handleClose = () => {\n this.setState({ open: false })\n }\n\n render() {\n const { classes } = this.props\n return (\n \n
\n \n \n \n \n \n \n Imagem editada\n \n \n \n
\n \"Cropped\"\n
\n
\n \n )\n }\n}\n\nexport default withStyles(styles)(ImgDialog)\n","export const createImage = (url) =>\n new Promise((resolve, reject) => {\n const image = new Image()\n image.addEventListener('load', () => resolve(image))\n image.addEventListener('error', (error) => reject(error))\n image.setAttribute('crossOrigin', 'anonymous') // needed to avoid cross-origin issues on CodeSandbox\n image.src = url\n })\n\nexport function getRadianAngle(degreeValue) {\n return (degreeValue * Math.PI) / 180\n}\n\n/**\n * Returns the new bounding area of a rotated rectangle.\n */\nexport function rotateSize(width, height, rotation) {\n const rotRad = getRadianAngle(rotation)\n\n return {\n width:\n Math.abs(Math.cos(rotRad) * width) + Math.abs(Math.sin(rotRad) * height),\n height:\n Math.abs(Math.sin(rotRad) * width) + Math.abs(Math.cos(rotRad) * height)\n }\n}\n\n/**\n * This function was adapted from the one in the ReadMe of https://github.com/DominicTobias/react-image-crop\n */\nexport async function getCroppedImg(\n imageSrc,\n pixelCrop,\n rotation = 0,\n flip = { horizontal: false, vertical: false }\n) {\n const image = await createImage(imageSrc)\n const canvas = document.createElement('canvas')\n const ctx = canvas.getContext('2d')\n\n if (!ctx) {\n return null\n }\n\n const rotRad = getRadianAngle(rotation)\n\n // calculate bounding box of the rotated image\n const { width: bBoxWidth, height: bBoxHeight } = rotateSize(\n image.width,\n image.height,\n rotation\n )\n\n // set canvas size to match the bounding box\n canvas.width = bBoxWidth\n canvas.height = bBoxHeight\n\n // translate canvas context to a central location to allow rotating and flipping around the center\n ctx.translate(bBoxWidth / 2, bBoxHeight / 2)\n ctx.rotate(rotRad)\n ctx.scale(flip.horizontal ? -1 : 1, flip.vertical ? -1 : 1)\n ctx.translate(-image.width / 2, -image.height / 2)\n\n // draw rotated image\n ctx.drawImage(image, 0, 0)\n\n // croppedAreaPixels values are bounding box relative\n // extract the cropped image using these values\n const data = ctx.getImageData(\n pixelCrop.x,\n pixelCrop.y,\n pixelCrop.width,\n pixelCrop.height\n )\n\n // set canvas width to final desired crop size - this will clear existing context\n canvas.width = pixelCrop.width\n canvas.height = pixelCrop.height\n\n // paste generated rotate image at the top left corner\n ctx.putImageData(data, 0, 0)\n\n // As Base64 string\n // return canvas.toDataURL('image/jpeg');\n\n // As a blob\n return new Promise((resolve, reject) => {\n canvas.toBlob((file) => {\n resolve(URL.createObjectURL(file))\n }, 'image/jpeg')\n })\n}\n\nexport async function getRotatedImage(imageSrc, rotation = 0) {\n const image = await createImage(imageSrc)\n const canvas = document.createElement('canvas')\n const ctx = canvas.getContext('2d')\n\n const orientationChanged =\n rotation === 90 || rotation === -90 || rotation === 270 || rotation === -270\n if (orientationChanged) {\n canvas.width = image.height\n canvas.height = image.width\n } else {\n canvas.width = image.width\n canvas.height = image.height\n }\n\n ctx.translate(canvas.width / 2, canvas.height / 2)\n ctx.rotate((rotation * Math.PI) / 180)\n ctx.drawImage(image, -image.width / 2, -image.height / 2)\n\n return new Promise((resolve) => {\n canvas.toBlob((file) => {\n resolve(URL.createObjectURL(file))\n }, 'image/png')\n })\n}\n","import { makeStyles } from '@material-ui/styles'\n\nexport const useStyles = makeStyles((theme) => ({\n cropContainer: {\n position: 'relative',\n width: '100%',\n height: 200,\n background: theme.palette.background.default,\n [theme.breakpoints.up('sm')]: {\n height: 400\n }\n },\n cropButton: {\n flexShrink: 0,\n [theme.breakpoints.up('sm')]: {\n marginLeft: 16\n },\n marginBottom: theme.spacing(1)\n },\n cancelButton: {\n flexShrink: 0,\n [theme.breakpoints.up('sm')]: {\n marginRight: 16\n }\n },\n controls: {\n paddingTop: 16,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'stretch',\n [theme.breakpoints.up('sm')]: {\n flexDirection: 'row',\n alignItems: 'center'\n }\n },\n sliderContainer: {\n display: 'flex',\n flex: '1',\n alignItems: 'center'\n },\n sliderLabel: {\n [theme.breakpoints.down('xs')]: {\n minWidth: 65\n }\n },\n slider: {\n padding: '22px 0px',\n marginLeft: 16,\n [theme.breakpoints.up('sm')]: {\n flexDirection: 'row',\n alignItems: 'center',\n margin: '0 16px'\n }\n },\n cardMedia: {\n paddingTop: '56.25%' // 16:9\n }\n}))\n","import React, { useState, useCallback } from 'react'\nimport Cropper from 'react-easy-crop'\nimport Slider from '@material-ui/core/Slider'\nimport Button from '@material-ui/core/Button'\nimport Typography from '@material-ui/core/Typography'\nimport ImgDialog from './ImgDialog'\nimport { getCroppedImg } from './canvasUtils'\nimport { useStyles } from './styles'\nimport ReactImageUploading from 'react-images-uploading'\nimport { errorsUploadImage } from 'utils'\nimport {\n CardContent,\n Card,\n Tooltip,\n Divider,\n Grid,\n useTheme,\n CircularProgress\n} from '@material-ui/core'\nimport CloudUploadTwoToneIcon from '@material-ui/icons/CloudUploadTwoTone'\nimport InsertPhotoTwoTone from '@material-ui/icons/InsertPhotoTwoTone'\nimport { uploadImage } from '_services'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { eventoAction } from '_actions'\nimport { useConfirm } from 'material-ui-confirm'\n\nconst ImageCrop = () => {\n const confirm = useConfirm()\n const theme = useTheme()\n const [imageSrc, setImageSrc] = useState(null)\n const [crop, setCrop] = useState({ x: 0, y: 0 })\n const [zoom, setZoom] = useState(1)\n const [croppedAreaPixels, setCroppedAreaPixels] = useState(null)\n const [images, setImages] = useState([])\n const [isUploading, setIsUploading] = useState(false)\n const [croppedImage, setCroppedImage] = useState(null)\n const classes = useStyles()\n const evento = useSelector((state) => state.evento)\n const dispatch = useDispatch()\n\n const removeImage = () => {\n confirm({\n title: 'Deseja remover a imagem?',\n description: '',\n confirmationText: 'Sim, quero remover!',\n cancellationText: 'Nãããoo!'\n }).then(() => {\n dispatch(eventoAction.onChangeProps('imagem', ''))\n })\n }\n\n const onChange = (imageList) => {\n // data for submit\n setImages(imageList)\n console.log(imageList[0])\n setImageSrc(imageList[0].data_url)\n }\n const onCropComplete = useCallback((croppedArea, croppedAreaPixels) => {\n setCroppedAreaPixels(croppedAreaPixels)\n }, [])\n\n const showCroppedImage = useCallback(async () => {\n try {\n const croppedImage = await getCroppedImg(imageSrc, croppedAreaPixels)\n setCroppedImage(croppedImage)\n } catch (e) {\n console.error(e)\n }\n }, [imageSrc, croppedAreaPixels])\n\n const uploadImageClick = async () => {\n try {\n setIsUploading(true)\n const croppedImage = await getCroppedImg(imageSrc, croppedAreaPixels)\n let file = await fetch(croppedImage)\n .then((r) => r.blob())\n .then(\n (blobFile) =>\n new File([blobFile], 'fileImage', {\n type: 'image/png',\n lastModified: new Date(),\n size: 2\n })\n )\n if (file) {\n uploadImage({ file: file, name: 'image.png' })\n .then((response) => {\n dispatch(eventoAction.onChangeProps('imagem', response))\n setImageSrc(null)\n setIsUploading(false)\n })\n .catch((err) => {\n console.log(err)\n setIsUploading(false)\n })\n }\n } catch (e) {\n console.error(e)\n }\n }\n const onClose = useCallback(() => {\n setCroppedImage(null)\n }, [])\n\n return (\n
\n {imageSrc ? (\n \n
\n \n
\n
\n setImageSrc(null)}\n variant=\"contained\"\n color=\"primary\"\n classes={{ root: classes.cancelButton }}\n >\n Cancelar\n \n
\n \n Zoom\n \n setZoom(zoom)}\n />\n
\n \n Resultado em tela cheia\n \n }\n >\n {isUploading ? 'Enviando imagem...' : 'Salvar'}\n \n
\n \n
\n ) : (\n errorsUploadImage(errors)}\n value={images}\n onChange={onChange}\n dataURLKey=\"data_url\"\n >\n {({ onImageUpload, isDragging, dragProps }) => (\n \n \n \n {(evento.imagem === null || evento.imagem === '') && (\n \n {isDragging ? (\n \n \n \n Solte a imagem aqui!\n \n
\n ) : (\n \n \n \n Clique ou arraste a imagem aqui!\n \n
\n )}\n \n )}\n
\n \n\n \n \n \n {evento.imagem !== null && evento.imagem !== '' && (\n \n Trocar imagem\n \n )}\n \n \n {evento.imagem !== null && evento.imagem !== '' && (\n \n Remover imagem\n \n )}\n \n \n \n A dimensão recomendada é de 1280x800 pixels.\n \n \n Formato JPEG, GIF ou PNG de no máximo 2MB.\n \n \n Você poderá editar a imagem antes de envia-lá.\n \n \n \n )}\n \n )}\n \n )\n}\n\nexport default ImageCrop\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport clsx from 'clsx'\nimport { makeStyles } from '@material-ui/styles'\nimport { Typography } from '@material-ui/core'\nimport Favorite from '@material-ui/icons/Favorite'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(4)\n },\n icon: {\n width: '18px',\n height: '18px',\n position: 'relative',\n top: '3px'\n }\n}))\n\nconst Footer = (props) => {\n const { className, ...rest } = props\n\n const classes = useStyles()\n\n return (\n
\n \n © {1900 + new Date().getYear()}, feito com{' '}\n por{' '}\n \n Corujas.\n {' '}\n \n {/* \n Created with love for the environment. By designers and developers who\n love to work together in offices!\n */}\n
\n )\n}\n\nFooter.propTypes = {\n className: PropTypes.string\n}\n\nexport default Footer\n","import React from 'react'\nimport { useSelector } from 'react-redux'\nimport { Link as RouterLink } from 'react-router-dom'\nimport clsx from 'clsx'\nimport PropTypes from 'prop-types'\nimport { makeStyles } from '@material-ui/styles'\nimport { Avatar, Typography } from '@material-ui/core'\nimport getInitials from 'utils/getInitials'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n minHeight: 'fit-content'\n },\n avatar: {\n width: 60,\n height: 60\n },\n name: {\n marginTop: theme.spacing(1)\n }\n}))\n\nconst Profile = (props) => {\n const { user, className, ...rest } = props\n\n const classes = useStyles()\n\n const isAddPlace = useSelector((state) => {\n return state.usuarioEstabelecimento.isAddPlace\n })\n\n return (\n
\n \n {' '}\n {getInitials(user.nome)}\n \n \n {user.nome}\n \n \n {user.email}\n \n {user.tipoUsuario.descricao}\n
\n )\n}\n\nProfile.propTypes = {\n className: PropTypes.string\n}\n\nexport default Profile\n","/* eslint-disable react/no-multi-comp */\r\n/* eslint-disable react/display-name */\r\nimport React, { forwardRef } from 'react'\r\nimport { NavLink as RouterLink } from 'react-router-dom'\r\nimport { useSelector } from 'react-redux'\r\nimport clsx from 'clsx'\r\nimport PropTypes from 'prop-types'\r\nimport { makeStyles } from '@material-ui/styles'\r\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore'\r\nimport ExpandLessIcon from '@material-ui/icons/ExpandLess'\r\n\r\nimport {\r\n List,\r\n ListItem,\r\n Button,\r\n colors,\r\n Tooltip,\r\n Divider,\r\n Typography\r\n} from '@material-ui/core'\r\nimport { AccessControl } from '../../../../../../components/Utils/AccessControl'\r\nimport { history } from 'utils'\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {},\r\n item: {\r\n display: 'flex',\r\n paddingTop: 0,\r\n paddingBottom: 0\r\n },\r\n button: {\r\n color: colors.blueGrey[800],\r\n padding: '10px 8px',\r\n justifyContent: 'flex-start',\r\n textTransform: 'none',\r\n letterSpacing: 0,\r\n width: '100%',\r\n fontWeight: theme.typography.fontWeightMedium\r\n },\r\n icon: {\r\n color: theme.palette.icon,\r\n width: 24,\r\n height: 24,\r\n display: 'flex',\r\n alignItems: 'center',\r\n marginRight: theme.spacing(2)\r\n },\r\n active: {\r\n color: theme.palette.primary.main,\r\n fontWeight: theme.typography.fontWeightMedium,\r\n '& $icon': {\r\n color: theme.palette.primary.main\r\n }\r\n },\r\n tooltipText: {\r\n textAlign: 'center'\r\n },\r\n divider: {\r\n margin: theme.spacing(2, 0)\r\n },\r\n subtitle: { paddingLeft: theme.spacing(1) },\r\n expandIcon: {\r\n marginLeft: 'auto',\r\n height: 18,\r\n width: 18\r\n }\r\n}))\r\n\r\nconst CustomRouterLink = forwardRef((props, ref) => (\r\n
\r\n \r\n
\r\n))\r\n\r\nconst SidebarNav = (props) => {\r\n const { pages, className, ...rest } = props\r\n const classes = useStyles()\r\n\r\n const isAddPlace = useSelector((state) => {\r\n if (state.usuarioEstabelecimento.isAddPlace) {\r\n return true\r\n } else {\r\n return false\r\n }\r\n })\r\n\r\n return (\r\n \r\n {pages.map((page) => (\r\n <>\r\n {page.rule !== undefined ? (\r\n (\r\n <>\r\n {page.subtitle && (\r\n \r\n {page?.subtitle}\r\n \r\n )}\r\n \r\n

Função bloqueada 🤔

\r\n

Termine a adição de um evento ou cancele!

\r\n \r\n ) : page.emailVerificado ? (\r\n \r\n

Função bloqueada 🤔

\r\n

Clique para completar seu cadastro!

\r\n
\r\n ) : (\r\n \r\n

Função bloqueada 🤔

\r\n

Confirme seu e-mail para continuar!

\r\n
\r\n )\r\n }\r\n arrow\r\n onClick={() =>\r\n page.emailVerificado &&\r\n page.disabled &&\r\n history.push(`/estabelecimento/`)\r\n }\r\n disableFocusListener={!page.disabled}\r\n disableHoverListener={!page.disabled}\r\n disableTouchListener={!page.disabled}\r\n >\r\n \r\n \r\n
{page.icon}
\r\n {page.title}\r\n {page?.children && (\r\n <>\r\n {/* {open ? (\r\n \r\n ) : (\r\n \r\n )} */}\r\n \r\n )}\r\n \r\n {/* {children} */}\r\n \r\n \r\n {page.divider && }\r\n \r\n )}\r\n />\r\n ) : (\r\n <>\r\n {page.subtitle && (\r\n \r\n {page?.subtitle}\r\n \r\n )}\r\n \r\n

Função bloqueada 🤔

\r\n

Termine a adição de um evento ou cancele!

\r\n \r\n ) : page.emailVerificado ? (\r\n \r\n

Função bloqueada 🤔

\r\n

Clique para completar seu cadastro!

\r\n
\r\n ) : (\r\n \r\n

Função bloqueada 🤔

\r\n

Confirme seu e-mail para continuar!

\r\n
\r\n )\r\n }\r\n arrow\r\n onClick={() =>\r\n page.emailVerificado &&\r\n page.disabled &&\r\n history.push(`/estabelecimento/`)\r\n }\r\n disableFocusListener={!page.disabled}\r\n disableHoverListener={!page.disabled}\r\n disableTouchListener={!page.disabled}\r\n >\r\n \r\n \r\n
{page.icon}
\r\n {page.title}\r\n \r\n \r\n \r\n {page.divider && }\r\n \r\n )}\r\n \r\n ))}\r\n
\r\n )\r\n}\r\n\r\nSidebarNav.propTypes = {\r\n className: PropTypes.string,\r\n pages: PropTypes.array.isRequired\r\n}\r\n\r\nexport default SidebarNav\r\n","import React from 'react'\r\nimport clsx from 'clsx'\r\nimport PropTypes from 'prop-types'\r\nimport PerfectScrollbar from 'react-perfect-scrollbar'\r\nimport 'react-perfect-scrollbar/dist/css/styles.css'\r\nimport { Divider, Drawer, withStyles } from '@material-ui/core'\r\nimport DashboardTwoToneIcon from '@material-ui/icons/DashboardTwoTone'\r\nimport SettingsTwoToneIcon from '@material-ui/icons/SettingsTwoTone'\r\nimport LoyaltyTwoToneIcon from '@material-ui/icons/LoyaltyTwoTone'\r\nimport LocalConvenienceStoreTwoToneIcon from '@material-ui/icons/LocalConvenienceStoreTwoTone'\r\nimport LaptopMacTwoToneIcon from '@material-ui/icons/LaptopMacTwoTone'\r\nimport ExitToAppTwoToneIcon from '@material-ui/icons/ExitToAppTwoTone'\r\nimport TitleTwoToneIcon from '@material-ui/icons/TitleTwoTone'\r\nimport ConfirmationNumberTwoToneIcon from '@material-ui/icons/ConfirmationNumberTwoTone'\r\nimport EventTwoToneIcon from '@material-ui/icons/EventTwoTone'\r\nimport PhotoAlbumTwoToneIcon from '@material-ui/icons/PhotoAlbumTwoTone'\r\nimport CategoryTwoToneIcon from '@material-ui/icons/CategoryTwoTone'\r\nimport PollTwoToneIcon from '@material-ui/icons/PollTwoTone'\r\nimport { authActions } from '../../../../_actions'\r\nimport { connect, useDispatch, useSelector } from 'react-redux'\r\nimport { withRouter } from 'react-router-dom'\r\nimport { Profile, SidebarNav } from './components'\r\nimport LiveHelpTwoToneIcon from '@material-ui/icons/LiveHelpTwoTone'\r\nimport VpnKeyIcon from '@material-ui/icons/VpnKey'\r\nimport LocalAtmTwoToneIcon from '@material-ui/icons/LocalAtmTwoTone'\r\nimport BuildTwoToneIcon from '@material-ui/icons/BuildTwoTone'\r\nimport AccountBalanceTwoToneIcon from '@material-ui/icons/AccountBalanceTwoTone'\r\nimport LabelTwoToneIcon from '@material-ui/icons/LabelTwoTone'\r\nimport SportsEsportsTwoToneIcon from '@material-ui/icons/SportsEsportsTwoTone'\r\nimport ThumbsUpDownTwoToneIcon from '@material-ui/icons/ThumbsUpDownTwoTone'\r\nimport PieChartTwoToneIcon from '@material-ui/icons/PieChartTwoTone'\r\nimport MoneyOffRoundedIcon from '@material-ui/icons/MoneyOffRounded'\r\nimport ShoppingCartTwoToneIcon from '@material-ui/icons/ShoppingCartTwoTone'\r\nimport HomeWorkTwoToneIcon from '@material-ui/icons/HomeWorkTwoTone'\r\nimport SupervisorAccountTwoToneIcon from '@material-ui/icons/SupervisorAccountTwoTone'\r\nimport GroupTwoToneIcon from '@material-ui/icons/GroupTwoTone'\r\n\r\nconst styles = (theme) => ({\r\n drawer: {\r\n width: 240,\r\n [theme.breakpoints.up('lg')]: {\r\n marginTop: 64,\r\n height: 'calc(100% - 64px)'\r\n }\r\n },\r\n root: {\r\n backgroundColor: theme.palette.white,\r\n display: 'flex',\r\n flexDirection: 'column',\r\n height: '100%',\r\n padding: theme.spacing(2)\r\n },\r\n divider: {\r\n margin: theme.spacing(2, 0)\r\n },\r\n nav: {\r\n marginBottom: theme.spacing(2)\r\n }\r\n})\r\n\r\nconst Sidebar = (props) => {\r\n const { open, variant, onClose, className, ...rest } = props\r\n const dispatch = useDispatch()\r\n const { user } = props\r\n\r\n const logout = () => {\r\n dispatch(authActions.logout())\r\n }\r\n const { classes } = props\r\n\r\n const isDisabled = useSelector((state) => {\r\n if (\r\n state.usuarioEstabelecimento.usuarioEstabelecimento.length <= 0 ||\r\n !state.authentication.user.emailVerificado ||\r\n state.usuarioEstabelecimento.isAddPlace\r\n ) {\r\n return true\r\n }\r\n return false\r\n })\r\n\r\n const isAddPlace = useSelector((state) => {\r\n if (state.usuarioEstabelecimento.isAddPlace) {\r\n return true\r\n } else {\r\n return false\r\n }\r\n })\r\n\r\n const emailVerificado = useSelector(\r\n (state) => state.authentication.user.emailVerificado\r\n )\r\n\r\n const pages = [\r\n {\r\n title: 'Home',\r\n href: '/home',\r\n icon: ,\r\n disabled: isAddPlace\r\n },\r\n {\r\n disabled: isDisabled,\r\n emailVerificado: emailVerificado,\r\n title: 'Carteira',\r\n href: '/carteira',\r\n rule: 'movimentacoesFinanceiras.list',\r\n icon: \r\n },\r\n {\r\n disabled: isDisabled,\r\n emailVerificado: emailVerificado,\r\n title: 'Dashboard',\r\n href: '/dashboard',\r\n icon: ,\r\n divider: true\r\n },\r\n {\r\n disabled: isDisabled,\r\n subtitle: 'Módulos extras',\r\n emailVerificado: emailVerificado,\r\n title: 'Membros',\r\n href: '/members',\r\n rule: 'membros',\r\n icon: ,\r\n divider: true,\r\n children: [\r\n {\r\n title: 'Planos',\r\n href: '/members/plan'\r\n },\r\n {\r\n title: 'Membros',\r\n href: '/members/members'\r\n }\r\n ]\r\n },\r\n {\r\n emailVerificado: emailVerificado,\r\n title: 'Estabelecimento',\r\n href: `/estabelecimento`,\r\n rule: 'estabelecimentos',\r\n icon: \r\n },\r\n {\r\n disabled: isDisabled,\r\n emailVerificado: emailVerificado,\r\n title: 'Eventos',\r\n href: '/eventos',\r\n rule: 'eventos',\r\n icon: \r\n },\r\n {\r\n disabled: isDisabled,\r\n emailVerificado: emailVerificado,\r\n title: 'Fotos',\r\n href: '/photoAlbum',\r\n rule: 'albuns.list',\r\n icon: \r\n },\r\n {\r\n disabled: isDisabled,\r\n emailVerificado: emailVerificado,\r\n title: 'Ingressos',\r\n href: '/ingressos',\r\n rule: 'ingressos',\r\n icon: \r\n },\r\n {\r\n disabled: isDisabled,\r\n emailVerificado: emailVerificado,\r\n title: 'Avaliações',\r\n href: '/avaliacoes',\r\n rule: 'avaliacoes',\r\n icon: \r\n },\r\n {\r\n disabled: isDisabled,\r\n emailVerificado: emailVerificado,\r\n title: 'Tipos de Ingresso',\r\n href: '/tipoIngressos',\r\n rule: 'tiposIngressos',\r\n icon: \r\n },\r\n {\r\n disabled: isDisabled,\r\n emailVerificado: emailVerificado,\r\n title: 'Cupons de Desconto',\r\n href: '/cupomDescontos',\r\n rule: 'cuponsDesconto',\r\n icon: ,\r\n divider: true\r\n },\r\n // {\r\n // title: 'Meu estabelecimentos',\r\n // href: '/estabelecimentos',\r\n // icon: < LocalConvenienceStoreTwoToneIcon />\r\n // },\r\n {\r\n disabled: isDisabled,\r\n emailVerificado: emailVerificado,\r\n title: 'Movimentações Financeiras',\r\n href: '/movimentacoesFinanceiras',\r\n rule: 'movimentacoesFinanceiras.finish',\r\n icon: \r\n },\r\n {\r\n disabled: isDisabled,\r\n emailVerificado: emailVerificado,\r\n title: 'Cancelamentos Ingressos',\r\n href: '/cancelamentosIngressos',\r\n rule: 'cancelamentosIngressos.finish',\r\n icon: \r\n },\r\n {\r\n disabled: isDisabled,\r\n emailVerificado: emailVerificado,\r\n title: 'Dashboard Administrativo',\r\n href: '/dashboardAdministrativo',\r\n rule: 'dashboardAdmin',\r\n icon: \r\n },\r\n {\r\n disabled: isDisabled,\r\n emailVerificado: emailVerificado,\r\n title: 'Pedidos',\r\n href: '/pedidos/admin',\r\n rule: 'pedidos.listAdmin',\r\n icon: \r\n },\r\n {\r\n disabled: isDisabled,\r\n emailVerificado: emailVerificado,\r\n title: 'Estabelecimentos',\r\n href: '/estabelecimentos',\r\n rule: 'estabelecimentos.listAdmin',\r\n icon: \r\n },\r\n {\r\n disabled: isDisabled,\r\n emailVerificado: emailVerificado,\r\n title: 'Usuários',\r\n href: '/usuarios',\r\n rule: 'usuarios.listAdmin',\r\n icon: \r\n },\r\n {\r\n disabled: isDisabled,\r\n emailVerificado: emailVerificado,\r\n title: 'Taxas',\r\n href: '/taxas',\r\n rule: 'taxas',\r\n icon: \r\n },\r\n {\r\n disabled: isDisabled,\r\n emailVerificado: emailVerificado,\r\n title: 'Categorias',\r\n href: '/categorias',\r\n rule: 'categorias.edit',\r\n icon: \r\n },\r\n {\r\n disabled: isDisabled,\r\n emailVerificado: emailVerificado,\r\n title: 'Hashtags',\r\n href: '/hashtags',\r\n rule: 'hashtags.edit',\r\n icon: \r\n },\r\n {\r\n disabled: isDisabled,\r\n emailVerificado: emailVerificado,\r\n title: 'Conquistas',\r\n href: '/conquistas',\r\n rule: 'conquistas.edit',\r\n icon: \r\n },\r\n {\r\n disabled: isDisabled,\r\n emailVerificado: emailVerificado,\r\n title: 'Parâmetros',\r\n href: '/parametros',\r\n rule: 'parametros',\r\n icon: \r\n },\r\n {\r\n disabled: isDisabled,\r\n emailVerificado: emailVerificado,\r\n title: 'Permissões',\r\n href: '/permissoes',\r\n rule: 'permissoes',\r\n icon: ,\r\n divider: true\r\n },\r\n // {\r\n // title: 'Promoters',\r\n // href: '/promoters',\r\n // icon: < RecordVoiceOverTwoToneIcon />\r\n // },\r\n {\r\n title: 'Ajuda',\r\n href: '/ajuda',\r\n disabled: isAddPlace,\r\n icon: \r\n },\r\n {\r\n title: 'Configurações',\r\n href: '/settings',\r\n disabled: isAddPlace,\r\n icon: \r\n },\r\n {\r\n title: 'Sair',\r\n href: '/login',\r\n icon: ,\r\n onClick: () => {\r\n logout()\r\n }\r\n }\r\n ]\r\n\r\n return (\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nSidebar.propTypes = {\r\n className: PropTypes.string,\r\n onClose: PropTypes.func,\r\n open: PropTypes.bool.isRequired,\r\n variant: PropTypes.string.isRequired\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n user: state.authentication.user\r\n }\r\n}\r\nconst connectedSidebarPage = withRouter(\r\n connect(mapStateToProps, null, null, {\r\n pure: false\r\n })(withStyles(styles)(Sidebar))\r\n)\r\nexport { connectedSidebarPage as Sidebar }\r\n","import React, { useEffect } from 'react'\r\nimport { useDispatch, useSelector } from 'react-redux'\r\n\r\nimport {\r\n Button,\r\n Dialog,\r\n Hidden,\r\n DialogActions,\r\n DialogContent,\r\n DialogTitle,\r\n FormControl,\r\n Typography,\r\n IconButton,\r\n Tooltip,\r\n makeStyles,\r\n TextField\r\n} from '@material-ui/core'\r\nimport { Autocomplete } from '@material-ui/lab'\r\nimport PropTypes from 'prop-types'\r\nimport ArrowDropDownIcon from '@material-ui/icons/ArrowDropDown'\r\nimport BusinessIcon from '@material-ui/icons/Business'\r\n\r\n//? Own imports\r\nimport { history } from 'utils'\r\nimport { usuarioEstabelecimentoAction } from '_actions'\r\nimport { estabelecimentoAction } from '_actions'\r\nimport { UsuarioEstabelecimento } from 'types/api'\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n formControl: {\r\n minWidth: 250,\r\n width: '100%'\r\n },\r\n dialogActions: { padding: theme.spacing(2, 3) }\r\n}))\r\n\r\nconst SelectEstabelecimento = () => {\r\n const classes = useStyles()\r\n const [open, setOpen] = React.useState(false)\r\n const [disabled, setDisabled] = React.useState(false)\r\n const [\r\n estabelecimentoInputValue,\r\n setEstabelecimentoInputValue\r\n ] = React.useState('')\r\n\r\n const { usuarioEstabelecimento, estabelecimento } = useSelector(\r\n // @ts-ignore: //ainda não foi tipado o redux state\r\n (state) => state.usuarioEstabelecimento\r\n )\r\n const isAddPlace = useSelector((state) => {\r\n // @ts-ignore: //ainda não foi tipado o redux state\r\n return state.usuarioEstabelecimento.isAddPlace\r\n })\r\n\r\n const hasEstabelecimentoSelected = useSelector((state) => {\r\n if (\r\n // @ts-ignore: //ainda não foi tipado o redux state\r\n state.usuarioEstabelecimento.estabelecimentoId === '' ||\r\n // @ts-ignore: //ainda não foi tipado o redux state\r\n state.usuarioEstabelecimento.estabelecimentoId === undefined\r\n ) {\r\n return false\r\n }\r\n return true\r\n })\r\n\r\n const dispatch = useDispatch()\r\n\r\n const emailVerificado = useSelector(\r\n // @ts-ignore: //ainda não foi tipado o redux state\r\n (state) => state.authentication.user.emailVerificado\r\n )\r\n\r\n useEffect(() => {\r\n setInitialUsuarioEstabelecimento()\r\n }, [usuarioEstabelecimento])\r\n\r\n const handleChange = (establishment: UsuarioEstabelecimento) => {\r\n if (!establishment) return\r\n dispatch(\r\n usuarioEstabelecimentoAction.changeDetailsUsuarioEstabelecimento(\r\n establishment\r\n )\r\n )\r\n setOpen(false)\r\n }\r\n const handleClickOpen = () => {\r\n setOpen(true)\r\n if (undefined !== usuarioEstabelecimento && usuarioEstabelecimento.length) {\r\n setDisabled(false)\r\n } else {\r\n setDisabled(true)\r\n }\r\n }\r\n\r\n const setInitialUsuarioEstabelecimento = () => {\r\n if (\r\n usuarioEstabelecimento.length === 0 ||\r\n usuarioEstabelecimento === undefined\r\n ) {\r\n return null\r\n } else if (\r\n undefined !== usuarioEstabelecimento &&\r\n usuarioEstabelecimento.length === 1\r\n ) {\r\n dispatch(\r\n usuarioEstabelecimentoAction.changeDetailsUsuarioEstabelecimento(\r\n usuarioEstabelecimento[0]\r\n )\r\n )\r\n } else if (!hasEstabelecimentoSelected) {\r\n setOpen(true)\r\n setDisabled(true)\r\n }\r\n }\r\n\r\n const handleClose = () => {\r\n setOpen(false)\r\n setDisabled(false)\r\n }\r\n\r\n const getUsuarioEstabelecimentoId = useSelector((state) => {\r\n // @ts-ignore: //ainda não foi tipado o redux state\r\n return state.usuarioEstabelecimento.id\r\n })\r\n\r\n const getBackupIndex = useSelector((state) => {\r\n // @ts-ignore: //ainda não foi tipado o redux state\r\n let indexBackup = state.usuarioEstabelecimento.usuarioEstabelecimento.findIndex(\r\n // @ts-ignore: //ainda não foi tipado o redux state\r\n (item) => item.id === state.usuarioEstabelecimento.backupId\r\n )\r\n return indexBackup\r\n })\r\n\r\n const handleAddPlace = () => {\r\n setOpen(false)\r\n if (!isAddPlace) {\r\n dispatch(\r\n usuarioEstabelecimentoAction.setIsAddPlace(\r\n true,\r\n getUsuarioEstabelecimentoId\r\n )\r\n )\r\n dispatch(estabelecimentoAction.clearFields())\r\n history.push('/estabelecimento/general')\r\n } else {\r\n dispatch(\r\n usuarioEstabelecimentoAction.changeDetailsUsuarioEstabelecimento(\r\n usuarioEstabelecimento[getBackupIndex]\r\n )\r\n )\r\n dispatch(usuarioEstabelecimentoAction.setIsAddPlace(false, ''))\r\n }\r\n }\r\n\r\n const returnContent = () => {\r\n return (\r\n
\r\n {/* @ts-ignore */}\r\n \r\n \r\n Estabelecimento selecionado:\r\n \r\n {' '}\r\n {estabelecimento.nome}\r\n \r\n \r\n \r\n \r\n \r\n {/* @ts-ignore */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n meus estabelecimentos\r\n \r\n \r\n \r\n \r\n \r\n item.estabelecimentoId === estabelecimento.id\r\n )}\r\n onChange={(event, newValue, reason) => {\r\n if (reason === 'select-option') {\r\n newValue !== null && handleChange(newValue)\r\n }\r\n }}\r\n getOptionLabel={(\r\n usuarioEstabelecimento: UsuarioEstabelecimento\r\n ) => usuarioEstabelecimento?.estabelecimento?.nome}\r\n placeholder=\"Buscar por nome...\"\r\n onInputChange={(event, newInputValue) => {\r\n newInputValue !== null\r\n ? setEstabelecimentoInputValue(newInputValue)\r\n : setEstabelecimentoInputValue('')\r\n }}\r\n inputValue={estabelecimentoInputValue}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n {isAddPlace ? 'Cancelar Adição' : 'Adicionar'}\r\n \r\n \r\n \r\n
\r\n )\r\n }\r\n\r\n return (\r\n
\r\n {usuarioEstabelecimento.length === 0 ||\r\n usuarioEstabelecimento === undefined\r\n ? emailVerificado && (\r\n //@ts-ignore\r\n \r\n history.push(`/estabelecimento/`)}\r\n >\r\n Completar cadastro\r\n \r\n \r\n )\r\n : usuarioEstabelecimento.length === 1\r\n ? null\r\n : returnContent()}\r\n
\r\n )\r\n}\r\n\r\nSelectEstabelecimento.propTypes = {\r\n className: PropTypes.string\r\n}\r\nexport default SelectEstabelecimento\r\n","import React from 'react'\nimport { Link as RouterLink } from 'react-router-dom'\nimport clsx from 'clsx'\nimport { connect, useDispatch } from 'react-redux'\nimport PropTypes from 'prop-types'\nimport {\n AppBar,\n Toolbar,\n Hidden,\n IconButton,\n withStyles,\n Tooltip\n} from '@material-ui/core'\nimport MenuIcon from '@material-ui/icons/Menu'\nimport InputIcon from '@material-ui/icons/Input'\nimport { authActions } from '../../../../_actions'\nimport { withRouter } from 'react-router-dom'\nimport { SelectEstabelecimento } from './components'\n\nconst styles = (theme) => ({\n root: {\n boxShadow: 'none'\n },\n flexGrow: {\n flexGrow: 1\n },\n signOutButton: {\n marginLeft: theme.spacing(5)\n },\n selectEstabelecimento: {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n // position: 'absolute',\n left: 0,\n right: 0\n }\n})\n\nconst Topbar = (props) => {\n const { className, onSidebarOpen, ...rest } = props\n const { classes } = props\n const dispatch = useDispatch()\n // const [notifications] = useState([]);\n const logout = () => {\n dispatch(authActions.logout())\n }\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
\n \n
\n \n \n \n
\n \n \n )\n}\n\nTopbar.propTypes = {\n className: PropTypes.string,\n onSidebarOpen: PropTypes.func\n}\n\nconst mapStateToProps = (state) => {\n return {\n usuario: state.usuario\n }\n}\nconst TopbarPage = withRouter(\n connect(mapStateToProps, null, null, {\n pure: false\n })(withStyles(styles)(Topbar))\n)\nexport default TopbarPage\n","import React, { useState } from 'react'\nimport PropTypes from 'prop-types'\nimport clsx from 'clsx'\nimport { makeStyles, useTheme } from '@material-ui/styles'\nimport { useMediaQuery } from '@material-ui/core'\n\nimport { Sidebar, Topbar, Footer } from './components'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n paddingTop: 56,\n height: '100%',\n [theme.breakpoints.up('sm')]: {\n paddingTop: 64\n }\n },\n shiftContent: {\n paddingLeft: 240\n },\n content: {\n height: '100%'\n }\n}))\n\nconst Main = (props) => {\n const { children } = props\n\n const classes = useStyles()\n const theme = useTheme()\n const isDesktop = useMediaQuery(theme.breakpoints.up('lg'), {\n defaultMatches: true\n })\n\n const [openSidebar, setOpenSidebar] = useState(false)\n\n const handleSidebarOpen = () => {\n setOpenSidebar(true)\n }\n\n const handleSidebarClose = () => {\n setOpenSidebar(false)\n }\n\n const shouldOpenSidebar = isDesktop ? true : openSidebar\n\n return (\n \n \n \n
\n {children}\n
\n
\n
\n )\n}\n\nMain.propTypes = {\n children: PropTypes.node\n}\n\nexport default Main\n","import React from 'react'\nimport { Link as RouterLink } from 'react-router-dom'\nimport clsx from 'clsx'\nimport PropTypes from 'prop-types'\nimport { makeStyles } from '@material-ui/styles'\nimport { AppBar, Toolbar } from '@material-ui/core'\n\nconst useStyles = makeStyles(() => ({\n root: {\n boxShadow: 'none'\n }\n}))\n\nconst Topbar = (props) => {\n const { className, ...rest } = props\n\n const classes = useStyles()\n\n return (\n \n \n \n \n \n \n \n )\n}\n\nTopbar.propTypes = {\n className: PropTypes.string\n}\n\nexport default Topbar\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { makeStyles } from '@material-ui/styles'\n\nimport { Topbar } from './components'\n\nconst useStyles = makeStyles(() => ({\n root: {\n paddingTop: 64,\n height: '100%'\n },\n content: {\n height: '100%'\n }\n}))\n\nconst Minimal = (props) => {\n const { children } = props\n\n const classes = useStyles()\n\n return (\n
\n \n
{children}
\n
\n )\n}\n\nMinimal.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string\n}\n\nexport default Minimal\n","export default {\n shadowCard: {\n boxShadow: 'rgb(0 0 0 / 8%) 0px 2px 8px',\n borderRadius: '8px',\n webkitBorderRadius: '8px',\n mozBorderRadius: '8px'\n }\n}\n","import { useQuery } from 'react-query'\r\n\r\n//? Own Imports\r\nimport { crudService } from '_services'\r\nimport {\r\n MemberSubscriptionParams,\r\n MemberSubscriptionReturn,\r\n UseQueryOptions\r\n} from './member'\r\n\r\nconst getMemberSubscription = async (\r\n params: MemberSubscriptionParams\r\n): Promise => {\r\n const { limit, membroPlanoId, page, pago, direction, order, term } = params\r\n\r\n try {\r\n const { data } = await crudService.get(\r\n `subscricoes?MembroPlanoId=${membroPlanoId}&Pago=${\r\n pago || ''\r\n }&Page=${page}&Limit=${limit}&Term=${term || ''}&Order=${\r\n order || ''\r\n }&Direction=${direction || ''}`\r\n )\r\n if (data) {\r\n return data\r\n } else {\r\n throw new Error('Invalid response')\r\n }\r\n } catch (error) {\r\n return Promise.reject(error)\r\n }\r\n}\r\n\r\nexport default function useMemberSubscription(\r\n params: MemberSubscriptionParams,\r\n options?: UseQueryOptions\r\n) {\r\n return useQuery(\r\n [\r\n 'memberSubscription',\r\n params.membroPlanoId,\r\n params.pago,\r\n params.page,\r\n params.limit,\r\n params.term,\r\n params.order,\r\n params.direction\r\n ],\r\n () => getMemberSubscription(params),\r\n {\r\n enabled: !!params?.membroPlanoId,\r\n staleTime: 600000, // 10 minutes\r\n ...options?.config,\r\n onError: (error) => {\r\n // @ts-ignore\r\n toast.error(error?.message || 'Erro ao buscar subscrições', {\r\n toastId: 'memberSubscription'\r\n })\r\n }\r\n }\r\n )\r\n}\r\n","import { useQuery } from 'react-query'\r\nimport { toast } from 'react-toastify'\r\n\r\n//? Own imports\r\nimport { crudService } from '_services/'\r\nimport {\r\n MemberPlanDetailsParams,\r\n MemberPlanDetailsReturn,\r\n UseQueryOptions\r\n} from './member'\r\n\r\nconst getMemberPlanDetails = async (\r\n params?: MemberPlanDetailsParams\r\n): Promise => {\r\n try {\r\n const { data } = await crudService.get(\r\n `membrosplanos/${params?.memberPlanId}`\r\n )\r\n if (data) {\r\n return data\r\n } else {\r\n throw new Error('Invalid response')\r\n }\r\n } catch (error) {\r\n return Promise.reject(error)\r\n }\r\n}\r\n\r\nexport default function useMemberPlanDetails(\r\n params?: MemberPlanDetailsParams,\r\n options?: UseQueryOptions\r\n) {\r\n return useQuery(\r\n ['memberPlanDetails', params],\r\n () => getMemberPlanDetails(params),\r\n {\r\n enabled: !!params?.memberPlanId,\r\n staleTime: 600000, // 10 minutes\r\n ...options?.config,\r\n onError: (error) => {\r\n // @ts-ignore\r\n toast.error(error?.message || 'Erro ao buscar detalhes do membro', {\r\n toastId: 'memberPlanDetails'\r\n })\r\n }\r\n }\r\n )\r\n}\r\n","import { useQuery } from 'react-query'\r\nimport { toast } from 'react-toastify'\r\n\r\n//? Own imports\r\nimport { crudService } from '_services/'\r\nimport {\r\n MembershipPaymentParams,\r\n MembershipPaymentReturn,\r\n UseQueryOptions\r\n} from './member'\r\n\r\nconst getMembershipPayment = async (\r\n params?: MembershipPaymentParams\r\n): Promise => {\r\n try {\r\n const { data } = await crudService.get(\r\n `pagamentos/subscricao/${params?.membershipId}`\r\n )\r\n if (data) {\r\n return data\r\n } else {\r\n throw new Error('Invalid response')\r\n }\r\n } catch (error) {\r\n return Promise.reject(error)\r\n }\r\n}\r\n\r\nexport default function useMembershipPayment(\r\n params?: MembershipPaymentParams,\r\n options?: UseQueryOptions\r\n) {\r\n return useQuery(\r\n ['membershipPayment', params],\r\n () => getMembershipPayment(params),\r\n {\r\n enabled: !!params?.membershipId,\r\n staleTime: 600000, // 10 minutes\r\n ...options?.config,\r\n onError: (error) => {\r\n toast.error(\r\n // @ts-ignore\r\n error?.message || 'Erro ao buscar histórico de transações',\r\n {\r\n toastId: 'membershipPayment'\r\n }\r\n )\r\n }\r\n }\r\n )\r\n}\r\n","import { useMutation } from 'react-query'\nimport { Member } from 'types/api'\nimport { crudService } from '_services'\nimport { toast } from 'react-toastify'\n\nconst postCreateMember = async (payload: Member) => {\n const { data } = await crudService.post('membros/admin', payload)\n return data\n}\n\nexport default function useMutationMemberCreate() {\n return useMutation(\n 'member-create',\n (payload: Member) => postCreateMember(payload),\n {\n onError: (error) => {\n // @ts-ignore\n toast.error(error.message || 'Erro ao criar membro!')\n },\n onSuccess: (payload) => {\n // @ts-ignore\n toast.success(`Membro ${payload.nome} adicionado ao plano com sucesso!`)\n }\n }\n )\n}\n","import { useMutation, useQueryClient } from 'react-query'\nimport { toast } from 'react-toastify'\n\n//? Own imports\nimport { PlanPrice } from 'types/api'\nimport { crudService } from '_services'\n\nconst deletePlanPrice = async (idPlanPrice: Number) => {\n const { data } = await crudService.deleteDetail(`planosValor/${idPlanPrice}`)\n return data\n}\n\nexport default function useMutationPlanPriceDelete() {\n const queryClient = useQueryClient()\n return useMutation(\n 'PlanPrice-delete',\n (idPlanPrice: Number) => deletePlanPrice(idPlanPrice),\n {\n onError: (error) => {\n toast.error(\n // @ts-ignore\n error.message || 'Erro ao excluir valor/periodicidade do plano!'\n )\n },\n onSuccess: (response: PlanPrice) => {\n toast.success('Valor/Periodicidade do plano excluído com sucesso!')\n }\n }\n )\n}\n","import { useMutation } from 'react-query'\nimport { PlanPrice } from 'types/api'\nimport { crudService } from '_services'\nimport { toast } from 'react-toastify'\n\nconst putEditPlanPrice = async (payload: PlanPrice) => {\n let apiEndpoint = 'planosValor/' + payload.id\n const { data } = await crudService.put(apiEndpoint, payload)\n return data\n}\n\nexport default function useMutationPlanPriceEdit() {\n return useMutation(\n 'PlanPrice-edit',\n (payload: PlanPrice) => putEditPlanPrice(payload),\n {\n onError: (error) => {\n toast.error(\n // @ts-ignore\n error.message || 'Erro ao editar valor/periodicidade do plano!'\n )\n },\n onSuccess: () => {\n // @ts-ignore\n toast.success('Valor/periodicidade do plano editado com sucesso!')\n }\n }\n )\n}\n","import { useMutation } from 'react-query'\nimport { PlanPrice } from 'types/api'\nimport { crudService } from '_services'\nimport { toast } from 'react-toastify'\n\nconst postCreatePlanPrice = async (payload: PlanPrice) => {\n const { data } = await crudService.post('planosValor', payload)\n return data\n}\n\nexport default function useMutationPlanPriceCreate() {\n return useMutation(\n 'PlanPrice-create',\n (payload: PlanPrice) => postCreatePlanPrice(payload),\n {\n onError: (error) => {\n toast.error(\n // @ts-ignore\n error.message || 'Erro ao criar valor/periodicidade do plano!'\n )\n },\n onSuccess: (payload) => {\n // @ts-ignore\n toast.success(`Valor/periodicidade adicionado ao plano com sucesso!`)\n }\n }\n )\n}\n","import { useMutation, useQueryClient } from 'react-query'\nimport { toast } from 'react-toastify'\n\n//? Own imports\nimport { MemberPlan } from 'types/api'\nimport { crudService } from '_services'\n\nconst deleteMemberPlan = async (idMemberPlan: Number) => {\n let payload = {\n membroPlanoId: idMemberPlan,\n statusMembroPlanoId: 2\n }\n const { data } = await crudService.post('membrosPlanos/cancelar', payload)\n return data\n}\n\nexport default function useMutationMemberPlanDelete() {\n return useMutation(\n 'memberPlan-delete',\n (idMemberPlan: Number) => deleteMemberPlan(idMemberPlan),\n {\n onError: (error) => {\n // @ts-ignore\n toast.error(error.message || 'Erro ao excluir membro!')\n },\n onSuccess: (response: MemberPlan) => {\n toast.success('Membro excluido com sucesso!')\n }\n }\n )\n}\n","import { useQuery } from 'react-query'\nimport { crudService } from '_services'\n\nconst getMemberById = async (id: number) => {\n const { data } = await crudService.get(`membros/${id}`)\n return data\n}\n\nexport default function useMemberById(id: number) {\n return useQuery(['member-id', id], () => getMemberById(id), {\n enabled: id > 0,\n cacheTime: 0\n })\n}\n","import { useMutation } from 'react-query'\nimport { Member } from 'types/api'\nimport { crudService } from '_services'\nimport { toast } from 'react-toastify'\n\nconst putEditMember = async (payload: Member) => {\n let apiEndpoint = 'membros/' + payload.id\n const { data } = await crudService.put(apiEndpoint, payload)\n return data\n}\n\nexport default function useMutationMemberEdit() {\n return useMutation(\n 'member-edit',\n (payload: Member) => putEditMember(payload),\n {\n onError: (error) => {\n // @ts-ignore\n toast.error(error.message || 'Erro ao editar Membro')\n },\n onSuccess: () => {\n // @ts-ignore\n toast.success('Membro editado com sucesso!')\n }\n }\n )\n}\n","import { useQuery } from 'react-query'\r\n\r\n//? Own Imports\r\nimport { crudService } from '_services'\r\nimport { MemberListParams, MemberListReturn, UseQueryOptions } from './member'\r\n\r\nconst getMemberList = async (\r\n params: MemberListParams\r\n): Promise => {\r\n const {\r\n limit,\r\n estabelecimentoId,\r\n page,\r\n direction,\r\n order,\r\n term,\r\n statusMembroPlanoId,\r\n planoId\r\n } = params\r\n\r\n try {\r\n const queryParams = new URLSearchParams()\r\n\r\n if (estabelecimentoId)\r\n queryParams.append('EstabelecimentoId', String(estabelecimentoId))\r\n if (page) queryParams.append('Page', String(page + 1))\r\n if (limit) queryParams.append('Limit', String(limit))\r\n if (term) queryParams.append('Term', term)\r\n if (order) queryParams.append('Order', order)\r\n if (direction) queryParams.append('Direction', direction)\r\n if (statusMembroPlanoId)\r\n queryParams.append('StatusMembroPlanoId', String(statusMembroPlanoId))\r\n if (planoId) queryParams.append('PlanoId', String(planoId))\r\n\r\n const queryString = queryParams.toString()\r\n\r\n const { data } = await crudService.get(`membros/admin/list?${queryString}`)\r\n\r\n if (data) {\r\n return data\r\n } else {\r\n throw new Error('Invalid response')\r\n }\r\n } catch (error) {\r\n return Promise.reject(error)\r\n }\r\n}\r\n\r\nexport default function useMemberList(\r\n params: MemberListParams,\r\n options?: UseQueryOptions\r\n) {\r\n return useQuery(\r\n ['memberList', params],\r\n () => getMemberList(params),\r\n {\r\n enabled: params?.estabelecimentoId > 0,\r\n staleTime: 600000, // 10 minutes,\r\n keepPreviousData: true,\r\n onError: () => {\r\n // @ts-ignore\r\n toast.error('Erro ao buscar membros', {\r\n toastId: 'memberList'\r\n })\r\n },\r\n ...options?.config\r\n }\r\n )\r\n}\r\n","import { useQuery } from 'react-query'\r\n\r\n//? Own imports\r\nimport { SelectListItem } from 'types/api'\r\nimport { crudService } from '_services'\r\n\r\nconst getStatusMembroPlanoSelect = async () => {\r\n const apiEndpoint = `statusMembroPlano/select`\r\n try {\r\n const { data } = await crudService.get(apiEndpoint)\r\n return data\r\n } catch (e) {\r\n return e\r\n }\r\n}\r\n\r\nexport default function useStatusMembroPlanoSelect() {\r\n return useQuery(\r\n ['statusMembroPlanoSelect'],\r\n () => getStatusMembroPlanoSelect(),\r\n {\r\n cacheTime: Infinity,\r\n staleTime: Infinity,\r\n refetchOnWindowFocus: false\r\n }\r\n )\r\n}\r\n","import { useQuery } from 'react-query'\r\n\r\n//? Own imports\r\nimport { SelectListItem } from 'types/api'\r\nimport { crudService } from '_services'\r\n\r\nconst getEstablishmentPlansSelect = async (estabelecimentoId: number) => {\r\n const apiEndpoint = `planos/select/estabelecimento/${estabelecimentoId}`\r\n try {\r\n const { data } = await crudService.get(apiEndpoint)\r\n return data\r\n } catch (e) {\r\n return e\r\n }\r\n}\r\n\r\nexport default function useEstablishmentPlansSelect(estabelecimentoId: number) {\r\n return useQuery(\r\n ['establishmentPlansSelect', estabelecimentoId],\r\n () => getEstablishmentPlansSelect(estabelecimentoId),\r\n {\r\n cacheTime: Infinity,\r\n staleTime: Infinity,\r\n refetchOnWindowFocus: false\r\n }\r\n )\r\n}\r\n","import { useQuery } from 'react-query'\nimport { Evento } from 'types/api'\nimport { crudService } from '_services'\n\nconst getEvents = async (\n estabelecimentoId: number,\n showFinishedEvents: boolean,\n showAll: boolean\n) => {\n const stringPendentes = !showFinishedEvents ? 'pendentes' : 'realizados'\n const apiEndpoint = showAll\n ? `eventos/estabelecimento/${estabelecimentoId}`\n : `eventos/${stringPendentes}/estabelecimento/${estabelecimentoId}`\n try {\n const { data } = await crudService.get(apiEndpoint)\n return data\n } catch (e) {\n return e\n }\n}\n\nexport default function useEvents(\n estabelecimentoId: number,\n showFinishedEvents: boolean,\n showAll: boolean\n) {\n return useQuery(\n ['eventsSelect', estabelecimentoId, showFinishedEvents, showAll],\n () => getEvents(estabelecimentoId, showFinishedEvents, showAll),\n {\n enabled: estabelecimentoId > 0\n }\n )\n}\n","import { useQuery } from 'react-query'\r\n\r\n//? Own imports\r\nimport { Ingresso } from 'types/api'\r\nimport { crudService } from '_services'\r\n\r\ntype TicketsByEventReturn = {\r\n items: Ingresso[]\r\n totalRows: number\r\n}\r\ntype TicketsByEventParams = {\r\n eventoId: number\r\n statusIngressoId?: number\r\n loteId?: number\r\n tipoIngressoId?: number\r\n page: number\r\n limit: number\r\n term?: string\r\n order?: string\r\n validados?: string\r\n direction?: 'asc' | 'desc'\r\n}\r\nconst getTickets = async (params: TicketsByEventParams) => {\r\n try {\r\n const {\r\n limit,\r\n page,\r\n direction,\r\n order,\r\n term,\r\n eventoId,\r\n loteId,\r\n statusIngressoId,\r\n tipoIngressoId,\r\n validados\r\n } = params\r\n\r\n const queryParams = new URLSearchParams()\r\n\r\n if (eventoId) queryParams.append('EventoId', String(eventoId))\r\n if (page) queryParams.append('Page', String(page + 1))\r\n if (limit) queryParams.append('Limit', String(limit))\r\n if (term) queryParams.append('Term', term)\r\n if (validados) queryParams.append('Validados', validados)\r\n if (order) queryParams.append('Order', order)\r\n if (direction) queryParams.append('Direction', direction)\r\n if (loteId) queryParams.append('LoteId', String(loteId))\r\n if (statusIngressoId)\r\n queryParams.append('StatusIngressoId', String(statusIngressoId))\r\n if (tipoIngressoId)\r\n queryParams.append('TipoIngressoId', String(tipoIngressoId))\r\n\r\n const queryString = queryParams.toString()\r\n\r\n const { data } = await crudService.get(\r\n `ingressos/evento/search/v2/?${queryString}`\r\n )\r\n if (data) {\r\n return data\r\n } else {\r\n throw new Error('Invalid response')\r\n }\r\n } catch (error) {\r\n return Promise.reject(error)\r\n }\r\n}\r\n\r\nexport default function useTickets(params: TicketsByEventParams) {\r\n return useQuery(\r\n ['tickets', params],\r\n () => getTickets(params),\r\n {\r\n enabled: !!(Number(params?.eventoId) > 0),\r\n staleTime: 600000, // 10 minutes,\r\n keepPreviousData: true\r\n }\r\n )\r\n}\r\n","import { useQuery } from 'react-query'\n\n//? Own imports\nimport { SelectListItem } from 'types/api'\nimport { crudService } from '_services'\n\nconst getStatusIngressoSelect = async () => {\n const apiEndpoint = `statusIngressos/select`\n try {\n const { data } = await crudService.get(apiEndpoint)\n return data\n } catch (e) {\n return e\n }\n}\n\nexport default function useStatusIngressoSelect() {\n return useQuery(\n ['statusIngressoSelect'],\n () => getStatusIngressoSelect(),\n {\n cacheTime: Infinity,\n staleTime: Infinity,\n refetchOnWindowFocus: false\n }\n )\n}\n","import { useQuery } from 'react-query'\n\n//? Own imports\nimport { crudService } from '_services'\n\ntype UseOrdersCancelParams = {\n page: number\n limit: number\n term: string\n order: string\n direction: string\n statusCancelamentoIngressoId: string\n motivoCancelamentoIngressoId?: string\n}\n\nconst getOrdersCancel = async ({\n page,\n limit,\n term,\n order,\n direction,\n statusCancelamentoIngressoId,\n motivoCancelamentoIngressoId\n}: UseOrdersCancelParams) => {\n const { data } = await crudService.get(\n `cancelamentosIngressos?Page=${page}&Limit=${limit}&Term=${term}&Order=${order}&Direction=${direction}&StatusCancelamentoIngressoId=${statusCancelamentoIngressoId}&MotivoCancelamentoIngressoId=${motivoCancelamentoIngressoId}`\n )\n return data\n}\n\nexport default function useOrdersCancel(params: UseOrdersCancelParams) {\n return useQuery(\n [\n 'ordersCancel',\n params.limit,\n params.term,\n params.order,\n params.direction,\n params.statusCancelamentoIngressoId,\n params.motivoCancelamentoIngressoId\n ],\n () => getOrdersCancel(params)\n )\n}\n","import { useQuery } from 'react-query'\nimport { useMemo } from 'react'\n\n//? Own imports\nimport { crudService } from '_services'\nimport { CancelamentoIngresso } from 'types/api'\n\nconst getOrderCancel = async (orderCancelId: number | undefined) => {\n const { data } = await crudService.get(\n `cancelamentosIngressos/info/${orderCancelId}`\n )\n return data\n}\n\nexport default function useOrderCancel(\n orderCancelId: number | undefined,\n orderCancelItem: CancelamentoIngresso | undefined\n) {\n const initialData = useMemo(() => orderCancelItem, [orderCancelItem])\n return useQuery(\n ['orderCancel', orderCancelId],\n () => getOrderCancel(orderCancelId),\n {\n initialData,\n enabled: !!orderCancelId\n }\n )\n}\n","import { useQuery } from 'react-query'\nimport { useMemo } from 'react'\n\n//? Own imports\nimport { crudService } from '_services'\nimport { Pedido } from 'types/api'\n\nconst getOrder = async (orderId: number | undefined) => {\n const { data } = await crudService.get(`pedidos/admin/${orderId}`)\n return data\n}\n\nexport default function useOrder(\n orderId: number | undefined,\n orderItem: Pedido | undefined\n) {\n const initialData = useMemo(() => orderItem, [orderItem])\n return useQuery(['order', orderId], () => getOrder(orderId), {\n initialData,\n enabled: !!orderId\n })\n}\n","import { useQuery } from 'react-query'\n\n//? Own imports\nimport { SelectListItem } from 'types/api'\nimport { crudService } from '_services'\n\nconst getStatusCancelamentoIngressoSelect = async () => {\n const apiEndpoint = `statusCancelamentosIngressos/select`\n try {\n const { data } = await crudService.get(apiEndpoint)\n return data\n } catch (e) {\n return e\n }\n}\n\nexport default function useStatusCancelamentoIngressoSelect() {\n return useQuery(\n ['statusCancelamentoIngressoSelect'],\n () => getStatusCancelamentoIngressoSelect(),\n {\n cacheTime: Infinity,\n staleTime: Infinity,\n refetchOnWindowFocus: false\n }\n )\n}\n","import { useQuery } from 'react-query'\n\n//? Own imports\nimport { SelectListItem } from 'types/api'\nimport { crudService } from '_services'\n\nconst getOrderCancelReasonsSelect = async () => {\n const apiEndpoint = `motivosCancelamentosIngressos/selectAdmin`\n try {\n const { data } = await crudService.get(apiEndpoint)\n return data\n } catch (e) {\n return e\n }\n}\n\nexport default function useOrderCancelReasonsSelect() {\n return useQuery(\n ['orderCancelReasonsSelect'],\n () => getOrderCancelReasonsSelect(),\n {\n cacheTime: Infinity,\n staleTime: Infinity,\n refetchOnWindowFocus: false\n }\n )\n}\n","import { useMutation, useQueryClient } from 'react-query'\nimport { toast } from 'react-toastify'\n\n//? Own imports\nimport { CancelamentoIngresso } from 'types/api'\nimport { crudService } from '_services'\n\nconst postFinishOrderCancel = async (orderCancel: CancelamentoIngresso) => {\n const { data } = await crudService.post(\n `cancelamentosIngressos/finish/${orderCancel.id}`\n )\n return data\n}\n\nexport default function useMutationFinishOrderCancel() {\n const queryClient = useQueryClient()\n return useMutation(\n 'mutationFinishOrderCancel',\n (payload: CancelamentoIngresso) => postFinishOrderCancel(payload),\n {\n onError: (error) => {\n // @ts-ignore\n toast.error(error.message || 'Erro ao finalizar cancelamento')\n },\n onSuccess: (data: CancelamentoIngresso) => {\n queryClient.cancelQueries(['ordersCancel'])\n queryClient.invalidateQueries(['ordersCancel'])\n toast.success('Cancelamento finalizado com sucesso!')\n }\n }\n )\n}\n","import { useMutationFinishOrderCancel } from 'hooks-querys'\nimport { useMutation, useQueryClient, useQuery } from 'react-query'\n// import { useTheme } from 'react-native-elements'\n// import { showMessage } from 'react-native-flash-message'\nimport { toast } from 'react-toastify'\n\n//? Own imports\nimport { CancelamentoIngresso } from '../types/api'\nimport { crudService } from '_services'\n\nconst postCreateOrderCancel = async (payload: CancelamentoIngresso) => {\n const { data } = await crudService.post(\n 'cancelamentosIngressos/requestAdmin',\n payload\n )\n return data\n}\n\nexport default function useMutationCreateOrderCancel() {\n // const queryClient = useQueryClient()\n // const { theme } = useTheme()\n return useMutation(\n 'mutationCreateOrderCancel',\n (payload: CancelamentoIngresso) => postCreateOrderCancel(payload)\n // {\n // onError: (error) => {\n // toast.error('Erro ao criar cancelamento')\n // },\n // onSuccess: (data: CancelamentoIngresso) => {\n // queryClient.invalidateQueries(['orderDetails', data.pedidoId])\n // queryClient.invalidateQueries(['ordersCancelUser'])\n // }\n // }\n )\n}\n","import { useQuery } from 'react-query'\n\n//? Own Imports\nimport { crudService } from '_services'\n\ntype UseOrdersParams = {\n term?: string\n statusPedidoId?: string\n formaPagamentoId?: string\n dataHoraInicio?: string\n dataHoraFim?: string\n eventoId?: string\n}\n\nconst getOrders = async ({\n term,\n statusPedidoId,\n formaPagamentoId,\n dataHoraInicio,\n dataHoraFim,\n eventoId\n}: UseOrdersParams) => {\n const { data } = await crudService.get(\n `pedidos/admin?StatusPedidoId=${statusPedidoId}&FormaPagamentoId=${formaPagamentoId}&Term=${term}&DataHoraInicio=${dataHoraInicio}&DataHoraFim=${dataHoraFim}&EventoId=${eventoId}&Limit=9999`\n )\n return data\n}\n\nexport default function useOrders(params: UseOrdersParams) {\n return useQuery(\n [\n 'orders',\n params.term,\n params.statusPedidoId,\n params.formaPagamentoId,\n params.dataHoraInicio,\n params.dataHoraFim,\n params.eventoId\n ],\n () => getOrders(params)\n )\n}\n","import { useQuery } from 'react-query'\nimport { Lote } from 'types/api'\n\n//? Own Imports\nimport { crudService } from '_services'\n\nconst getLotesByEvent = async (eventId: number | undefined) => {\n const apiEndpoint = `lotes/evento/${eventId}`\n const { data } = await crudService.get(apiEndpoint)\n return data\n}\n\nexport default function useLotesByEvent(eventId: number | undefined) {\n return useQuery(['lotes', eventId], () => getLotesByEvent(eventId), {\n enabled: !!eventId && eventId > 0\n })\n}\n","import { useQuery } from 'react-query'\n\n//? Own imports\nimport { crudService } from '_services'\nimport { UserItem } from '../types/api'\n\nconst getUserSearch = async (text: string) => {\n const { data } = await crudService.get(`usuarios/search/${text}`)\n return data\n}\n\nexport default function useUserSearch(text: string) {\n return useQuery(\n ['user-search', text],\n () => getUserSearch(text),\n {\n enabled: !!text && text.length > 2\n }\n )\n}\n","import { useQuery } from 'react-query'\n\n//? Own imports\nimport { crudService } from '_services'\nimport { User } from '../types/api'\n\nconst getUserInfo = async (id: number) => {\n const { data } = await crudService.get(`usuarios/admin/${id}`)\n return data\n}\n\nexport default function useUserInfo(id: number) {\n return useQuery(['user-info', id], () => getUserInfo(id), {\n enabled: id > 0\n })\n}\n","import { useQuery } from 'react-query'\n\n//? Own Imports\nimport { crudService } from '_services'\n\nconst getUserOrders = async (userId: Number) => {\n const { data } = await crudService.get(`pedidos/usuario/${userId}`)\n return data\n}\n\nexport default function useUserOrders(userId: Number) {\n return useQuery(['user-orders', userId], () => getUserOrders(userId))\n}\n","import { useQuery } from 'react-query'\n\n//? Own imports\nimport { crudService } from '_services'\n\nconst getUserConnections = async (userId: Number, selectedChip: string) => {\n const { data } = await crudService.get(\n selectedChip === 'followers'\n ? `usuarios/seguidores?UsuarioId=${userId}`\n : `usuarios/seguindo?UsuarioId=${userId}`\n )\n return data\n}\n\nexport default function useUserConnections(\n userId: Number,\n selectedChip: string\n) {\n return useQuery(['user-connections', userId, selectedChip], () =>\n getUserConnections(userId, selectedChip)\n )\n}\n","import { useQuery } from 'react-query'\n\n//? Own imports\nimport { crudService } from '_services'\n\nconst getUserReviews = async (userId: Number) => {\n const { data } = await crudService.get(`avaliacoes/usuario/${userId}`)\n return data\n}\n\nexport default function useUserReviews(userId: Number) {\n return useQuery(['user-reviews', userId], () => getUserReviews(userId))\n}\n","import { useQuery } from 'react-query'\n\n//? Own imports\nimport { crudService } from '_services'\n\nconst getUserLogs = async (userId: Number) => {\n const { data } = await crudService.get(`logs/usuario/${userId}`)\n return data\n}\n\nexport default function useUserLogs(userId: Number) {\n return useQuery(['user-logs', userId], () => getUserLogs(userId))\n}\n","import { useMutation, useQueryClient } from 'react-query'\r\nimport { toast } from 'react-toastify'\r\n\r\n//? Own imports\r\nimport { Ingresso } from 'types/api'\r\nimport { crudService } from '_services'\r\n\r\ntype Payload = {\r\n usuarioId: number\r\n loteId: number\r\n quantidade: number\r\n}[]\r\n\r\nconst postCreateFreeTicket = async (payload: Payload) => {\r\n const { data } = await crudService.post(\r\n `ingressos/cortesia-multiplas`,\r\n payload\r\n )\r\n return data\r\n}\r\n\r\nexport default function useMutationCreateFreeTicket() {\r\n const queryClient = useQueryClient()\r\n\r\n return useMutation(\r\n 'mutationCreateFreeTicket',\r\n (payload: Payload) => postCreateFreeTicket(payload),\r\n {\r\n onError: (error) => {\r\n // @ts-ignore\r\n toast.error(error.message || 'Erro ao gerar ingresso cortesia')\r\n },\r\n onSuccess: (data: Ingresso[]) => {\r\n queryClient.invalidateQueries(['tickets'])\r\n toast.success('Ingresso cortesia gerado com sucesso!')\r\n }\r\n }\r\n )\r\n}\r\n","import { useMutation } from 'react-query'\nimport { toast } from 'react-toastify'\n\n//? Own imports\nimport { User } from 'types/api'\nimport { crudService } from '_services'\n\ntype Payload = {\n loteId: number\n segueEstabelecimento: boolean\n favoritouEvento: boolean\n}\n\nconst postDrawTicket = async (payload: Payload) => {\n const { data } = await crudService.post(`ingressos/sorteio`, payload)\n return data\n}\n\nexport default function useMutationDrawTicket() {\n return useMutation(\n 'mutationDrawTicket',\n (payload: Payload) => postDrawTicket(payload),\n {\n onError: (error) => {\n // @ts-ignore\n toast.error(error.message || 'Erro ao gerar ingresso do sorteio', {\n toastId: 'errorDrawTicket'\n })\n },\n onSuccess: (data: User) => {}\n }\n )\n}\n","import { useQuery } from 'react-query'\nimport { toast } from 'react-toastify'\n\n//? Own imports\nimport { crudService } from '_services'\n\ntype Payload = {\n loteId: number\n segueEstabelecimento: boolean\n favoritouEvento: boolean\n}\n\nconst postUsersDrawTicket = async (payload: Payload) => {\n const { data } = await crudService.post(`ingressos/sorteio/usuarios`, payload)\n return data\n}\n\nexport default function useUsersDrawTicket(payload: Payload) {\n return useQuery(\n ['usersDrawTicket', payload],\n () => postUsersDrawTicket(payload),\n {\n cacheTime: 0,\n staleTime: 0,\n retry: 0,\n enabled:\n payload.loteId !== 0 &&\n (payload.segueEstabelecimento || payload.favoritouEvento),\n onError: (error) => {\n toast.error(\n // @ts-ignore\n error.data || 'Erro ao buscar o número de participantes do sorteio',\n {\n // @ts-ignore\n toastId: error.data || 'errorUsersDrawTicket'\n }\n )\n },\n onSuccess: (data) => {}\n }\n )\n}\n","import { useQuery } from 'react-query'\nimport { SelectListItem } from 'types/api'\nimport { crudService } from '_services'\n\nconst getStatusPedidoSelect = async () => {\n const apiEndpoint = `statusPedido/select`\n try {\n const { data } = await crudService.get(apiEndpoint)\n return data\n } catch (e) {\n return e\n }\n}\n\nexport default function useStatusPedidoSelect() {\n return useQuery(\n ['statusPedidoSelect'],\n () => getStatusPedidoSelect(),\n {\n cacheTime: Infinity,\n staleTime: Infinity,\n refetchOnWindowFocus: false\n }\n )\n}\n","import { useQuery } from 'react-query'\nimport { SelectListItem } from 'types/api'\nimport { crudService } from '_services'\n\nconst getFormaPagamentoSelect = async () => {\n const apiEndpoint = `formaPagamento/select`\n try {\n const { data } = await crudService.get(apiEndpoint)\n return data\n } catch (e) {\n return e\n }\n}\n\nexport default function useFormaPagamentoSelect() {\n return useQuery(\n ['formaPagamentoSelect'],\n () => getFormaPagamentoSelect(),\n {\n cacheTime: Infinity,\n staleTime: Infinity,\n refetchOnWindowFocus: false\n }\n )\n}\n","import { useQuery } from 'react-query'\n\n//? Own imports\nimport { DashboardEvento } from 'types/dashboard'\nimport { crudService } from '_services'\n\nconst getEventDashboard = async (eventId: number) => {\n const apiEndpoint = `dashboard/evento/${eventId}`\n try {\n const { data } = await crudService.get(apiEndpoint)\n return data\n } catch (e) {\n return e\n }\n}\n\nexport default function useEventDashboard(eventId: number) {\n return useQuery(\n ['eventDashboard', eventId],\n () => getEventDashboard(eventId),\n {\n enabled: !!eventId,\n refetchOnWindowFocus: false\n }\n )\n}\n","import { useQuery } from 'react-query'\n\n//? Own imports\nimport { DashboardEstabelecimento } from 'types/dashboard'\nimport { crudService } from '_services'\n\nconst getEstablishmentDashboard = async (establishmentId: number) => {\n const apiEndpoint = `dashboard/estabelecimento/${establishmentId}`\n try {\n const { data } = await crudService.get(apiEndpoint)\n return data\n } catch (e) {\n return e\n }\n}\n\nexport default function useEstablishmentDashboard(establishmentId: number) {\n return useQuery(\n ['establishmentDashboard', establishmentId],\n () => getEstablishmentDashboard(establishmentId),\n {\n enabled: !!establishmentId,\n refetchOnWindowFocus: false\n }\n )\n}\n","import { useQuery } from 'react-query'\n\n//? Own imports\nimport { crudService } from '_services'\nimport {\n EstabelecimentoListAdmin,\n FilterQuery,\n PagedCollectionResponse\n} from 'types/api'\n\nconst getEstablishments = async ({\n page,\n limit,\n term,\n order,\n direction\n}: FilterQuery) => {\n const { data } = await crudService.get(\n `estabelecimentos/admin?Page=${page}&Limit=${limit}&Term=${term}&Order=${order}&Direction=${direction}`\n )\n return data\n}\n\nexport default function useEstablishments(params: FilterQuery) {\n return useQuery>(\n [\n 'establishments',\n params.limit,\n params.term,\n params.order,\n params.direction\n ],\n () => getEstablishments(params)\n )\n}\n","import { useQuery } from 'react-query'\n\n//? Own imports\nimport { crudService } from '_services'\nimport { FilterQuery, PagedCollectionResponse, User } from 'types/api'\n\nconst getUsers = async ({\n page,\n limit,\n term,\n order,\n direction\n}: FilterQuery) => {\n const { data } = await crudService.get(\n `usuarios/admin?Page=${page}&Limit=${limit}&Term=${term}&Order=${order}&Direction=${direction}`\n )\n return data\n}\n\nexport default function useUsers(params: FilterQuery) {\n return useQuery>(\n ['users', params.limit, params.term, params.order, params.direction],\n () => getUsers(params),\n {\n enabled: params.term && params.term.length > 2 ? true : false\n }\n )\n}\n","import { useQuery } from 'react-query'\nimport { Evento } from 'types/api'\nimport { crudService } from '_services'\n\nconst getEvent = async (eventoId: number) => {\n try {\n const { data } = await crudService.get(`eventos/${eventoId}`)\n return data.evento\n } catch (e) {\n return e\n }\n}\n\nexport default function useEvent(eventoId: number) {\n return useQuery(['event-by-id', eventoId], () => getEvent(eventoId), {\n enabled: eventoId > 0\n })\n}\n","import { useQuery } from 'react-query'\nimport { crudService } from '_services'\n\nconst getPhotoAlbums = async (placeId: Number) => {\n const { data } = await crudService.get(\n `albuns/estabelecimento?EstabelecimentoId=${placeId}&Order=id`\n )\n return data.result.items\n}\n\nexport default function usePhotoAlbumList(placeId: Number) {\n return useQuery(['photoAlbum-list', placeId], () => getPhotoAlbums(placeId))\n}\n","import { useMutation } from 'react-query'\nimport { PhotoAlbum } from 'types/api'\nimport { crudService } from '_services'\nimport { toast } from 'react-toastify'\n\nconst postCreatePhotoAlbum = async (payload: PhotoAlbum) => {\n const { data } = await crudService.post('albuns', payload)\n return data\n}\n\nexport default function useMutationPhotoAlbumCreate() {\n return useMutation(\n 'photoAlbum-create',\n (payload: PhotoAlbum) => postCreatePhotoAlbum(payload),\n {\n onError: (error) => {\n // @ts-ignore\n toast.error(error.message || 'Erro ao criar álbum de fotos')\n },\n onSuccess: () => {\n // @ts-ignore\n toast.success('Álbum de fotos criado com sucesso!')\n }\n }\n )\n}\n","import { useMutation } from 'react-query'\nimport { PhotoAlbum } from 'types/api'\nimport { crudService } from '_services'\nimport { toast } from 'react-toastify'\n\nconst putEditPhotoAlbum = async (payload: PhotoAlbum) => {\n let apiEndpoint = 'albuns/' + payload.id\n const { data } = await crudService.put(apiEndpoint, payload)\n return data\n}\n\nexport default function useMutationPhotoAlbumEdit() {\n return useMutation(\n 'photoAlbum-edit',\n (payload: PhotoAlbum) => putEditPhotoAlbum(payload),\n {\n onError: (error) => {\n // @ts-ignore\n toast.error(error.message || 'Erro ao editar álbum de fotos')\n },\n onSuccess: () => {\n // @ts-ignore\n toast.success('Álbum de fotos editado com sucesso!')\n }\n }\n )\n}\n","import { useMutation, useQueryClient } from 'react-query'\nimport { toast } from 'react-toastify'\n\n//? Own imports\nimport { PhotoAlbum } from 'types/api'\nimport { crudService } from '_services'\n\nconst deletePhotoAlbum = async (idPhotoAlbum: Number) => {\n const { data } = await crudService.deleteDetail(`albuns/${idPhotoAlbum}`)\n return data\n}\n\nexport default function useMutationPhotoAlbumDelete() {\n const queryClient = useQueryClient()\n return useMutation(\n 'photoAlbum-delete',\n (idPhotoAlbum: Number) => deletePhotoAlbum(idPhotoAlbum),\n {\n onError: (error) => {\n // @ts-ignore\n toast.error(error.message || 'Erro ao excluir álbum de fotos!')\n },\n onSuccess: (response: PhotoAlbum) => {\n // toast.success('Álbum de fotos excluido com sucesso!')\n queryClient.setQueryData(\n ['photoAlbum-list', response.estabelecimentoId],\n (oldData) => {\n if (oldData) {\n return oldData.filter((item) => item.id !== response.id)\n }\n return oldData\n }\n )\n queryClient.invalidateQueries([\n 'photoAlbum-list',\n response.estabelecimentoId\n ])\n }\n }\n )\n}\n","import { useQuery } from 'react-query'\nimport { crudService } from '_services'\n\nconst getPhotoAlbumId = async (id: Number) => {\n const { data } = await crudService.get(`albuns/${id}`)\n return data\n}\n\nexport default function usePhotoAlbumId(id: Number) {\n return useQuery(['photoAlbum-id', id], () => getPhotoAlbumId(id), {\n enabled: id > 0,\n cacheTime: 0\n })\n}\n","import { useQuery } from 'react-query'\n\n//? Own imports\nimport { crudService } from '_services'\nimport { Ingresso } from 'types/api'\n\nconst getIngressosMovimentacaoFinanceira = async (movimentacaoFinanceiraId: number | undefined) => {\n const { data } = await crudService.get(`ingressos/movimentacaoFinanceira/${movimentacaoFinanceiraId}`)\n return data\n}\n\nexport default function useIngressosMovimentacaoFinanceira(\n movimentacaoFinanceiraId: number | undefined,\n) {\n return useQuery(['movimentacaoFinanceira', movimentacaoFinanceiraId], () => getIngressosMovimentacaoFinanceira(movimentacaoFinanceiraId), {\n enabled: !!movimentacaoFinanceiraId\n })\n}\n","import { useQuery } from 'react-query'\nimport { crudService } from '_services'\n\nconst getMembershipPlans = async (placeId: Number) => {\n const { data } = await crudService.get(`planos/estabelecimento/${placeId}`)\n return data\n}\n\nexport default function useMembershipPlanList(placeId: Number) {\n return useQuery(['membershipPlan-list', placeId], () =>\n getMembershipPlans(placeId)\n )\n}\n","import { useMutation, useQueryClient } from 'react-query'\nimport { toast } from 'react-toastify'\n\n//? Own imports\nimport { MembershipPlan } from 'types/api'\nimport { crudService } from '_services'\n\nconst deleteMembershipPlan = async (idMembershipPlan: Number) => {\n const { data } = await crudService.deleteDetail(`planos/${idMembershipPlan}`)\n return data\n}\n\nexport default function useMutationMembershipPlanDelete() {\n const queryClient = useQueryClient()\n return useMutation(\n 'membershipPlan-delete',\n (idMembershipPlan: Number) => deleteMembershipPlan(idMembershipPlan),\n {\n onError: (error) => {\n // @ts-ignore\n toast.error(error.message || 'Erro ao excluir plano de sócios!')\n },\n onSuccess: (response: MembershipPlan) => {\n // toast.success('Plano de sócios excluido com sucesso!')\n queryClient.setQueryData(\n ['membershipPlan-list', response.estabelecimentoId],\n (oldData) => {\n if (oldData) {\n return oldData.filter((item) => item.id !== response.id)\n }\n return oldData\n }\n )\n queryClient.invalidateQueries([\n 'membershipPlan-list',\n response.estabelecimentoId\n ])\n }\n }\n )\n}\n","import { useQuery } from 'react-query'\nimport { crudService } from '_services'\n\nconst getMembershipPlanId = async (id: number) => {\n const { data } = await crudService.get(`planos/${id}`)\n return data\n}\n\nexport default function useMembershipPlanId(id: number) {\n return useQuery(['membershipPlan-id', id], () => getMembershipPlanId(id), {\n enabled: id > 0,\n cacheTime: 0\n })\n}\n","import { useMutation } from 'react-query'\nimport { MembershipPlan } from 'types/api'\nimport { crudService } from '_services'\nimport { toast } from 'react-toastify'\n\nconst postCreateMembershipPlan = async (payload: MembershipPlan) => {\n const { data } = await crudService.post('planos', payload)\n return data\n}\n\nexport default function useMutationMembershipPlanCreate() {\n return useMutation(\n 'membershipPlan-create',\n (payload: MembershipPlan) => postCreateMembershipPlan(payload),\n {\n onError: (error) => {\n // @ts-ignore\n toast.error(error.message || 'Erro ao criar Plano de Membros')\n },\n onSuccess: () => {\n // @ts-ignore\n toast.success('Plano de Membros criado com sucesso!')\n }\n }\n )\n}\n","import { useMutation } from 'react-query'\nimport { MembershipPlan } from 'types/api'\nimport { crudService } from '_services'\nimport { toast } from 'react-toastify'\n\nconst putEditMembershipPlan = async (payload: MembershipPlan) => {\n let apiEndpoint = 'planos/' + payload.id\n const { data } = await crudService.put(apiEndpoint, payload)\n return data\n}\n\nexport default function useMutationMembershipPlanEdit() {\n return useMutation(\n 'membershipPlan-edit',\n (payload: MembershipPlan) => putEditMembershipPlan(payload),\n {\n onError: (error) => {\n // @ts-ignore\n toast.error(error.message || 'Erro ao editar Plano de Membros')\n },\n onSuccess: () => {\n // @ts-ignore\n toast.success('Plano de Membros editado com sucesso!')\n }\n }\n )\n}\n","import { useMutation } from 'react-query'\r\nimport { toast } from 'react-toastify'\r\nimport { useDispatch } from 'react-redux'\r\n\r\n//? Own imports\r\nimport { Estabelecimento } from 'types/api'\r\nimport { crudService } from '_services'\r\nimport { editEstabelecimentosDetails, getEstabelecimentoById } from '_actions'\r\n\r\nconst editEstablishment = async (\r\n establishmentId: number,\r\n payload: Estabelecimento\r\n) => {\r\n const { data } = await crudService.put(\r\n `estabelecimentos/${establishmentId}`,\r\n payload\r\n )\r\n return data\r\n}\r\n\r\nexport default function useMutationEditEstablishment(establishmentId: number) {\r\n const dispatch = useDispatch()\r\n return useMutation(\r\n 'editEstablishment',\r\n (payload: Estabelecimento) => editEstablishment(establishmentId, payload),\r\n {\r\n onError: (error) => {\r\n toast.error(\r\n // @ts-ignore\r\n error?.message || 'Erro ao editar os dados do estabelecimento'\r\n )\r\n },\r\n onSuccess: (__, variables) => {\r\n dispatch(editEstabelecimentosDetails(variables))\r\n dispatch(getEstabelecimentoById(variables?.id))\r\n }\r\n }\r\n )\r\n}\r\n","import { useQuery } from 'react-query'\r\n\r\n//? Own imports\r\nimport { SelectListItem } from 'types/api'\r\nimport { crudService } from '_services'\r\n\r\nconst getLotesByEventAndTicketTypeSelect = async (\r\n eventId: number,\r\n tipoIngressoId: number\r\n) => {\r\n const apiEndpoint = `lotes/select/evento/${eventId}/tipoIngresso/${tipoIngressoId}`\r\n try {\r\n const { data } = await crudService.get(apiEndpoint)\r\n return data\r\n } catch (e) {\r\n return e\r\n }\r\n}\r\n\r\nexport default function useLotesByEventAndTicketTypeSelect(\r\n eventId: number,\r\n tipoIngressoId: number\r\n) {\r\n return useQuery(\r\n ['lotesByEventAndTicketTypeSelect', eventId, tipoIngressoId],\r\n () => getLotesByEventAndTicketTypeSelect(eventId, tipoIngressoId),\r\n {\r\n enabled: eventId > 0 && tipoIngressoId > 0,\r\n cacheTime: Infinity,\r\n staleTime: 600000 // 10 minutes\r\n }\r\n )\r\n}\r\n","import { useQuery } from 'react-query'\r\n\r\n//? Own imports\r\nimport { SelectListItem } from 'types/api'\r\nimport { crudService } from '_services'\r\n\r\nconst getTipoIngressoSelect = async (establishmentId: number) => {\r\n const apiEndpoint = `tiposIngressos/estabelecimento/${establishmentId}/select`\r\n try {\r\n const { data } = await crudService.get(apiEndpoint)\r\n return data\r\n } catch (e) {\r\n return e\r\n }\r\n}\r\n\r\nexport default function useTipoIngressoSelect(establishmentId: number) {\r\n return useQuery(\r\n ['tipoIngressoSelect', establishmentId],\r\n () => getTipoIngressoSelect(establishmentId),\r\n {\r\n enabled: establishmentId > 0,\r\n cacheTime: Infinity,\r\n staleTime: 600000 // 10 minutes\r\n }\r\n )\r\n}\r\n","import React from 'react'\nimport {\n Card,\n CardContent,\n Grid,\n Typography,\n Avatar,\n makeStyles\n} from '@material-ui/core'\nimport LocalAtmTwoToneIcon from '@material-ui/icons/LocalAtmTwoTone'\nimport { useSelector } from 'react-redux'\nimport { Skeleton } from '@material-ui/lab'\nimport constants from 'theme/constants'\nimport { useEstablishmentDashboard } from 'hooks-querys'\nvar pluralize = require('pluralize')\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n height: '100%',\n ...constants.shadowCard\n },\n content: {\n alignItems: 'center',\n display: 'flex'\n },\n title: {\n fontWeight: 700\n },\n avatar: {\n backgroundColor: theme.palette.success.main,\n height: 46,\n width: 46\n },\n icon: {\n height: 32,\n width: 32\n },\n difference: {\n marginTop: theme.spacing(2),\n display: 'flex',\n alignItems: 'center'\n },\n differenceIcon: {\n color: theme.palette.success.dark\n },\n differenceValue: {\n color: theme.palette.success.dark,\n marginRight: theme.spacing(1)\n }\n}))\n\nconst Budget = () => {\n const classes = useStyles()\n const { estabelecimentoId } = useSelector(\n // @ts-ignore\n (state) => state.usuarioEstabelecimento\n )\n const { data, isFetching } = useEstablishmentDashboard(\n Number(estabelecimentoId)\n )\n const { quantidadeIngressosNaoTransferidos, valorIngressosNaoTransferidos } =\n data || {}\n\n // @ts-ignore\n const { showValues } = useSelector((state) => state.global)\n\n return (\n \n \n \n \n \n VENDAS A RECEBER\n \n \n {isFetching || !showValues ? (\n \n ) : (\n pluralize('INGRESSOS', quantidadeIngressosNaoTransferidos, true)\n )}\n \n TOTALIZANDO\n \n {isFetching || !showValues ? (\n \n ) : (\n Intl.NumberFormat('pt-BR', {\n style: 'currency',\n currency: 'BRL'\n }).format(valorIngressosNaoTransferidos || 0)\n )}\n \n \n \n \n \n \n \n \n {/*
\n \n Desde de 1 de janeiro de 2020\n \n
*/}\n
\n
\n )\n}\n\nexport default Budget\n","import palette from 'theme/palette'\n\nexport const options = {\n responsive: true,\n maintainAspectRatio: false,\n legend: { display: false },\n cornerRadius: 20,\n tooltips: {\n enabled: true,\n mode: 'index',\n intersect: false,\n borderWidth: 1,\n borderColor: palette.divider,\n backgroundColor: palette.white,\n titleFontColor: palette.text.primary,\n bodyFontColor: palette.text.secondary,\n footerFontColor: palette.text.secondary,\n callbacks: {\n label: function (tooltipItems, data) {\n var dataset = data.datasets[tooltipItems.datasetIndex]\n if (dataset.yAxisID === 'A') {\n return `${dataset.label}: ${tooltipItems.yLabel}`\n } else {\n return `${dataset.label}: ${Intl.NumberFormat('pt-BR', {\n style: 'currency',\n currency: 'BRL'\n }).format(tooltipItems.yLabel)}\n `\n }\n }\n }\n },\n layout: { padding: 0 },\n scales: {\n xAxes: [\n {\n barThickness: 12,\n maxBarThickness: 10,\n barPercentage: 0.5,\n categoryPercentage: 0.5,\n ticks: {\n fontColor: palette.text.secondary\n },\n gridLines: {\n display: false,\n drawBorder: false\n }\n }\n ],\n yAxes: [\n {\n id: 'A',\n ticks: {\n fontColor: palette.text.secondary,\n beginAtZero: true,\n min: 0,\n stepSize: 1\n },\n gridLines: {\n borderDash: [2],\n borderDashOffset: [2],\n color: palette.divider,\n drawBorder: false,\n zeroLineBorderDash: [2],\n zeroLineBorderDashOffset: [2],\n zeroLineColor: palette.divider\n }\n },\n {\n id: 'B',\n ticks: {\n fontColor: palette.text.secondary,\n beginAtZero: true,\n min: 0,\n callback: function (label) {\n return Intl.NumberFormat('pt-BR', {\n style: 'currency',\n currency: 'BRL'\n }).format(label)\n }\n },\n gridLines: {\n borderDash: [2],\n borderDashOffset: [2],\n color: palette.divider,\n drawBorder: false,\n zeroLineBorderDash: [2],\n zeroLineBorderDashOffset: [2],\n zeroLineColor: palette.divider\n }\n }\n ]\n }\n}\n","import { v1 as uuid } from 'uuid'\n\nexport default [\n {\n id: uuid(),\n ref: 'CDD1049',\n amount: 30.5,\n customer: {\n name: 'Ekaterina Tankova'\n },\n createdAt: 1555016400000,\n status: 'pending'\n },\n {\n id: uuid(),\n ref: 'CDD1048',\n amount: 25.1,\n customer: {\n name: 'Cao Yu'\n },\n createdAt: 1555016400000,\n status: 'delivered'\n },\n {\n id: uuid(),\n ref: 'CDD1047',\n amount: 10.99,\n customer: {\n name: 'Alexa Richardson'\n },\n createdAt: 1554930000000,\n status: 'refunded'\n },\n {\n id: uuid(),\n ref: 'CDD1046',\n amount: 96.43,\n customer: {\n name: 'Anje Keizer'\n },\n createdAt: 1554757200000,\n status: 'pending'\n },\n {\n id: uuid(),\n ref: 'CDD1045',\n amount: 32.54,\n customer: {\n name: 'Clarke Gillebert'\n },\n createdAt: 1554670800000,\n status: 'delivered'\n },\n {\n id: uuid(),\n ref: 'CDD1044',\n amount: 16.76,\n customer: {\n name: 'Adam Denisov'\n },\n createdAt: 1554670800000,\n status: 'delivered'\n }\n]\n","import React, { useState } from 'react'\nimport clsx from 'clsx'\nimport moment from 'moment'\nimport PerfectScrollbar from 'react-perfect-scrollbar'\nimport PropTypes from 'prop-types'\nimport { makeStyles } from '@material-ui/styles'\nimport {\n Card,\n CardActions,\n CardHeader,\n CardContent,\n Button,\n Divider,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Tooltip,\n TableSortLabel\n} from '@material-ui/core'\nimport ArrowRightIcon from '@material-ui/icons/ArrowRight'\n\nimport mockData from './data'\nimport { StatusBullet } from 'components'\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n content: {\n padding: 0\n },\n inner: {\n minWidth: 800\n },\n statusContainer: {\n display: 'flex',\n alignItems: 'center'\n },\n status: {\n marginRight: theme.spacing(1)\n },\n actions: {\n justifyContent: 'flex-end'\n }\n}))\n\nconst statusColors = {\n delivered: 'success',\n pending: 'info',\n refunded: 'danger'\n}\n\nconst LatestOrders = (props) => {\n const { className, ...rest } = props\n\n const classes = useStyles()\n\n const [orders] = useState(mockData)\n\n return (\n \n \n New entry\n \n }\n title=\"Latest Orders\"\n />\n \n \n \n
\n \n \n \n Order Ref\n Customer\n \n \n \n Date\n \n \n \n Status\n \n \n \n {orders.map((order) => (\n \n {order.ref}\n {order.customer.name}\n \n {moment(order.createdAt).format('DD/MM/YYYY')}\n \n \n
\n \n {order.status}\n
\n
\n
\n ))}\n
\n
\n
\n
\n
\n \n \n \n \n
\n )\n}\n\nLatestOrders.propTypes = {\n className: PropTypes.string\n}\n\nexport default LatestOrders\n","import React from 'react'\nimport { Bar } from 'react-chartjs-2'\nimport {\n Card,\n CardHeader,\n CardContent,\n Divider,\n makeStyles,\n useTheme\n} from '@material-ui/core'\nimport { useSelector } from 'react-redux'\nimport { options } from './options'\nimport { Skeleton } from '@material-ui/lab'\nimport constants from 'theme/constants'\nimport { useEstablishmentDashboard } from 'hooks-querys'\n\nconst useStyles = makeStyles(() => ({\n root: {\n ...constants.shadowCard\n },\n chartContainer: {\n height: 400,\n position: 'relative'\n },\n actions: {\n justifyContent: 'flex-end'\n }\n}))\n\nconst VendasPorEvento = () => {\n const classes = useStyles()\n const theme = useTheme()\n const { estabelecimentoId } = useSelector(\n // @ts-ignore\n (state) => state.usuarioEstabelecimento\n )\n const { data, isFetching } = useEstablishmentDashboard(\n Number(estabelecimentoId)\n )\n\n const { graficoIngressosEvento } = data || {}\n\n // @ts-ignore\n const { showValues } = useSelector((state) => state.global)\n\n const generateData = () => {\n if (graficoIngressosEvento) {\n const data = {\n labels: graficoIngressosEvento.options,\n datasets: [\n {\n label: 'Quantidade de Ingressos',\n yAxisID: 'A',\n backgroundColor: theme.palette.primary.main,\n data: graficoIngressosEvento.series[0]\n },\n {\n label: 'Valor arrecadado',\n yAxisID: 'B',\n backgroundColor: theme.palette.grey[200],\n data: graficoIngressosEvento.series[1]\n }\n ]\n }\n return data\n } else {\n return []\n }\n }\n\n return (\n \n \n \n \n {isFetching || !showValues ? (\n \n ) : (\n \n )}\n \n \n \n )\n}\n\nexport default VendasPorEvento\n","import React from 'react'\nimport {\n Card,\n CardContent,\n Grid,\n Typography,\n Avatar,\n LinearProgress,\n makeStyles\n} from '@material-ui/core'\nimport EventNoteTwoToneIcon from '@material-ui/icons/EventNoteTwoTone'\nimport { useSelector } from 'react-redux'\nimport { Skeleton } from '@material-ui/lab'\nimport constants from 'theme/constants'\nimport { useEstablishmentDashboard } from 'hooks-querys'\nvar pluralize = require('pluralize')\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n height: '100%',\n ...constants.shadowCard\n },\n content: {\n alignItems: 'center',\n display: 'flex'\n },\n title: {\n fontWeight: 700\n },\n avatar: {\n backgroundColor: theme.palette.primary.main,\n color: theme.palette.primary.contrastText,\n height: 46,\n width: 46\n },\n icon: {\n height: 32,\n width: 32\n },\n progress: {\n marginTop: theme.spacing(3),\n height: 5,\n borderRadius: 5\n }\n}))\n\nconst EventosFuturos = () => {\n const classes = useStyles()\n const { estabelecimentoId } = useSelector(\n // @ts-ignore\n (state) => state.usuarioEstabelecimento\n )\n const { data, isFetching } = useEstablishmentDashboard(\n Number(estabelecimentoId)\n )\n const { eventosFuturos, eventosPassados } = data || {}\n // @ts-ignore\n const { showValues } = useSelector((state) => state.global)\n\n const percentage = () => {\n if (eventosFuturos && eventosPassados) {\n var total = eventosFuturos + eventosPassados\n var currentValue = eventosFuturos\n var percentage = parseFloat(((currentValue / total) * 100).toFixed(1))\n\n if (isNaN(percentage)) {\n return ' '\n } else {\n return percentage.toLocaleString('pt-BR', {\n maximumFractionDigits: 2\n })\n }\n } else {\n return ' '\n }\n }\n return (\n \n \n \n \n \n EVENTOS FUTUROS\n \n \n {isFetching || !showValues ? (\n \n ) : (\n pluralize('EVENTOS', eventosFuturos, true)\n )}\n \n \n \n \n \n \n \n \n \n \n {isFetching || !showValues ? (\n \n ) : (\n `${percentage()}% dos eventos`\n )}\n \n \n \n )\n}\n\nexport default EventosFuturos\n","import React from 'react'\nimport {\n Card,\n CardContent,\n Grid,\n Typography,\n Avatar,\n makeStyles\n} from '@material-ui/core'\nimport ConfirmationNumberTwoToneIcon from '@material-ui/icons/ConfirmationNumberTwoTone'\nimport { useSelector } from 'react-redux'\nimport { Skeleton } from '@material-ui/lab'\nimport constants from 'theme/constants'\nimport { useEstablishmentDashboard } from 'hooks-querys'\nvar pluralize = require('pluralize')\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n height: '100%',\n backgroundColor: theme.palette.primary.dark,\n color: theme.palette.primary.contrastText,\n ...constants.shadowCard\n },\n content: {\n alignItems: 'center',\n display: 'flex'\n },\n title: {\n fontWeight: 700\n },\n avatar: {\n backgroundColor: '#fff',\n color: theme.palette.primary.main,\n height: 46,\n width: 46\n },\n icon: {\n height: 32,\n width: 32\n }\n}))\n\nconst IngressosRecebidos = () => {\n const classes = useStyles()\n const { estabelecimentoId } = useSelector(\n // @ts-ignore\n (state) => state.usuarioEstabelecimento\n )\n const { data, isFetching } = useEstablishmentDashboard(\n Number(estabelecimentoId)\n )\n const { quantidadeIngressosTransferidos, valorIngressosTransferidos } =\n data || {}\n // @ts-ignore\n const { showValues } = useSelector((state) => state.global)\n return (\n \n \n \n \n \n INGRESSOS RECEBIDOS\n \n \n {isFetching || !showValues ? (\n \n ) : (\n pluralize('INGRESSOS', quantidadeIngressosTransferidos, true)\n )}\n \n TOTALIZANDO\n \n \n \n {isFetching || !showValues ? (\n \n ) : (\n Intl.NumberFormat('pt-BR', {\n style: 'currency',\n currency: 'BRL'\n }).format(Number(valorIngressosTransferidos))\n )}\n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport default IngressosRecebidos\n","import React from 'react'\nimport {\n Card,\n CardContent,\n Grid,\n Typography,\n Avatar,\n LinearProgress,\n makeStyles\n} from '@material-ui/core'\nimport EventAvailableTwoToneIcon from '@material-ui/icons/EventAvailableTwoTone'\nimport { useSelector } from 'react-redux'\nimport { Skeleton } from '@material-ui/lab'\nimport constants from 'theme/constants'\nimport { useEstablishmentDashboard } from 'hooks-querys'\nvar pluralize = require('pluralize')\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n height: '100%',\n ...constants.shadowCard\n },\n content: {\n alignItems: 'center',\n display: 'flex'\n },\n title: {\n fontWeight: 700\n },\n avatar: {\n backgroundColor: theme.palette.error.main,\n height: 46,\n width: 46\n },\n icon: {\n height: 32,\n width: 32\n },\n difference: {\n marginTop: theme.spacing(2),\n display: 'flex',\n alignItems: 'center'\n },\n differenceIcon: {\n color: theme.palette.success.dark\n },\n differenceValue: {\n color: theme.palette.success.dark,\n marginRight: theme.spacing(1)\n },\n progress: {\n marginTop: theme.spacing(1),\n height: 5,\n borderRadius: 5\n }\n}))\n\nconst TotalEventos = () => {\n const classes = useStyles()\n const { estabelecimentoId } = useSelector(\n // @ts-ignore\n (state) => state.usuarioEstabelecimento\n )\n const { data, isFetching } = useEstablishmentDashboard(\n Number(estabelecimentoId)\n )\n const { eventosPassados, eventosFuturos } = data || {}\n\n // @ts-ignore\n const { showValues } = useSelector((state) => state.global)\n\n const percentage = () => {\n if (eventosPassados && eventosFuturos) {\n var total = eventosFuturos + eventosPassados\n var currentValue = eventosPassados\n var percentage = parseFloat(((currentValue / total) * 100).toFixed(1))\n\n if (isNaN(percentage)) {\n return ' '\n } else {\n return percentage.toLocaleString('pt-BR', {\n maximumFractionDigits: 2\n })\n }\n } else {\n return ' '\n }\n }\n return (\n \n \n \n \n \n TOTAL DE EVENTOS

JÁ REALIZADOS\n \n \n {isFetching || !showValues ? (\n \n ) : (\n pluralize('EVENTOS', eventosPassados, true)\n )}\n \n
\n \n \n \n \n \n
\n \n \n {isFetching || !showValues ? (\n \n ) : (\n `${percentage()}% dos eventos`\n )}\n \n
\n
\n )\n}\n\nexport default TotalEventos\n","import React from 'react'\nimport { Pie } from 'react-chartjs-2'\nimport {\n Card,\n CardHeader,\n CardContent,\n Divider,\n Typography,\n Grid,\n makeStyles,\n useTheme\n} from '@material-ui/core'\nimport { useSelector } from 'react-redux'\nimport { Skeleton } from '@material-ui/lab'\nimport { getMonthByNumber } from 'utils'\nimport { colors } from '@material-ui/core'\nimport constants from 'theme/constants'\nimport { useEstablishmentDashboard } from 'hooks-querys'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n height: '100%',\n ...constants.shadowCard\n },\n chartContainer: {\n position: 'relative',\n height: '300px',\n justifyContent: 'center'\n },\n stats: {\n marginTop: theme.spacing(2),\n display: 'flex',\n justifyContent: 'center'\n },\n meses: {\n textAlign: 'center'\n }\n}))\n\nconst ReceitaUltimos6Meses = () => {\n const classes = useStyles()\n const theme = useTheme()\n const { estabelecimentoId } = useSelector(\n // @ts-ignore\n (state) => state.usuarioEstabelecimento\n )\n const { data, isFetching } = useEstablishmentDashboard(\n Number(estabelecimentoId)\n )\n\n // @ts-ignore\n const { showValues } = useSelector((state) => state.global)\n const { graficoIngressosMes } = data || {}\n\n const generateData = () => {\n if (graficoIngressosMes && graficoIngressosMes.options) {\n const monthWithName = [] as any\n graficoIngressosMes.options.map((v) =>\n monthWithName.push(getMonthByNumber(v))\n )\n const data = {\n datasets: [\n {\n data: graficoIngressosMes.series[0],\n backgroundColor: [\n colors.deepPurple[200],\n colors.teal[200],\n colors.lightGreen[200],\n colors.brown[200],\n colors.blueGrey[200],\n colors.lightBlue[200]\n ],\n borderWidth: 3,\n borderColor: theme.palette.white,\n hoverBorderColor: [\n colors.deepPurple[400],\n colors.teal[400],\n colors.lightGreen[400],\n colors.brown[400],\n colors.blueGrey[400],\n colors.lightBlue[400]\n ]\n }\n ],\n labels: monthWithName\n }\n return data\n } else {\n return []\n }\n }\n\n const generateStrings = () => {\n var data = [] as any\n if (graficoIngressosMes && graficoIngressosMes.options) {\n data = [\n {\n title: getMonthByNumber(graficoIngressosMes.options[0]),\n value:\n graficoIngressosMes.series[0][0] !== undefined\n ? Intl.NumberFormat('pt-BR', {\n style: 'currency',\n currency: 'BRL'\n }).format(graficoIngressosMes.series[0][0])\n : null,\n color: colors.deepPurple[200]\n },\n {\n title: getMonthByNumber(graficoIngressosMes.options[1]),\n value:\n graficoIngressosMes.series[0][1] !== undefined\n ? Intl.NumberFormat('pt-BR', {\n style: 'currency',\n currency: 'BRL'\n }).format(graficoIngressosMes.series[0][1])\n : null,\n color: colors.teal[200]\n },\n {\n title: getMonthByNumber(graficoIngressosMes.options[2]),\n value:\n graficoIngressosMes.series[0][2] !== undefined\n ? Intl.NumberFormat('pt-BR', {\n style: 'currency',\n currency: 'BRL'\n }).format(graficoIngressosMes.series[0][2])\n : null,\n color: colors.lightGreen[200]\n },\n {\n title: getMonthByNumber(graficoIngressosMes.options[3]),\n value:\n graficoIngressosMes.series[0][3] !== undefined\n ? Intl.NumberFormat('pt-BR', {\n style: 'currency',\n currency: 'BRL'\n }).format(graficoIngressosMes.series[0][3])\n : null,\n color: colors.brown[200]\n },\n {\n title: getMonthByNumber(graficoIngressosMes.options[4]),\n value:\n graficoIngressosMes.series[0][4] !== undefined\n ? Intl.NumberFormat('pt-BR', {\n style: 'currency',\n currency: 'BRL'\n }).format(graficoIngressosMes.series[0][4])\n : null,\n color: colors.blueGrey[400]\n },\n {\n title: getMonthByNumber(graficoIngressosMes.options[5]),\n value:\n graficoIngressosMes.series[0][5] !== undefined\n ? Intl.NumberFormat('pt-BR', {\n style: 'currency',\n currency: 'BRL'\n }).format(graficoIngressosMes.series[0][5])\n : null,\n color: colors.lightBlue[200]\n }\n ]\n return data\n } else {\n return data\n }\n }\n\n const options = {\n legend: {\n display: false\n },\n responsive: true,\n maintainAspectRatio: false,\n //animation: false,\n layout: { padding: 0 },\n tooltips: {\n enabled: true,\n mode: 'index',\n\n borderWidth: 1,\n borderColor: theme.palette.divider,\n backgroundColor: theme.palette.white,\n titleFontColor: theme.palette.text.primary,\n bodyFontColor: theme.palette.text.secondary,\n footerFontColor: theme.palette.text.secondary,\n callbacks: {\n // @ts-ignore\n label: function (tooltipItem, data) {\n var dataset = data.datasets[tooltipItem.datasetIndex]\n var meta = dataset._meta[Object.keys(dataset._meta)[0]]\n var total = meta.total\n var currentValue = dataset.data[tooltipItem.index]\n var percentage = parseFloat(((currentValue / total) * 100).toFixed(1))\n return (\n Intl.NumberFormat('pt-BR', {\n style: 'currency',\n currency: 'BRL'\n }).format(currentValue) +\n ' (' +\n percentage.toLocaleString('pt-BR', {\n maximumFractionDigits: 2\n }) +\n '%)'\n )\n },\n // @ts-ignore\n title: function (tooltipItem, data) {\n return data.labels[tooltipItem[0].index]\n }\n }\n }\n }\n\n return (\n \n \n // \n // \n // }\n title=\"RECEITA DOS ÚLTIMOS 6 MESES\"\n />\n \n \n
\n {isFetching || !showValues ? (\n \n \n
\n ) : (\n \n )}\n \n
\n {isFetching || !showValues ? (\n \n \n
\n ) : (\n \n {generateStrings().map(\n // @ts-ignore\n (meses) =>\n meses.value !== null && (\n \n {meses.title}\n \n {meses.value}\n \n \n )\n )}\n \n )}\n \n
\n
\n )\n}\n\nexport default ReceitaUltimos6Meses\n","import React, { useEffect, useState } from 'react'\nimport {\n FormControl,\n makeStyles,\n Switch,\n TextField,\n InputAdornment,\n useTheme,\n useMediaQuery,\n Chip,\n CircularProgress\n} from '@material-ui/core'\nimport { useParams } from 'react-router-dom'\nimport { useSelector } from 'react-redux'\nimport { Autocomplete } from '@material-ui/lab'\n\n//? Own imports\nimport { useDidMountEffect } from 'utils/useDidMountEffect'\nimport { useEvents } from 'hooks-querys'\nimport { history, toLocalDateFormat } from 'utils'\nimport { Evento } from 'types/api'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n flexGrow: 1\n },\n formControl: {\n width: '100%'\n },\n divider: {\n height: 28,\n margin: 4\n }\n}))\n\nconst SelectFilters = () => {\n const classes = useStyles()\n const theme = useTheme()\n const isMobile = useMediaQuery(theme.breakpoints.down('xs'))\n const [selectedEvento, setSelectedEvento] = useState(null)\n const [eventoInputValue, setEventoInputValue] = useState('')\n const [showPastEvents, setShowPastEvents] = useState(false)\n const { eventoId } = useParams<{ eventoId: string }>()\n\n const estabelecimentoId = useSelector(\n // @ts-ignore: //ainda não foi tipado o redux state\n (state) => state.usuarioEstabelecimento.estabelecimentoId\n )\n const {\n data: events,\n isLoading: isLoadingEvents,\n isFetching: isFetchingEvents\n } = useEvents(estabelecimentoId, showPastEvents, isMobile)\n\n useEffect(() => {\n //? função executada para buscar o evento o qual esta na url (?eventoId=)\n //? se não existir evento na url não faz nada\n\n if (eventoId && Number(eventoId) > 0) {\n const event =\n events &&\n events.length > 0 &&\n events.find((e) => e.id === Number(eventoId))\n //? se encontrar o evento na url, seta o evento selecionado,\n //? se não encontrar, troca a o estado showPastEvents para true,\n //? pois o evento informado pode ser um evento passado, e não existir na lista de eventos;\n //? com isso, a lista de evento efetua um novo fetch para buscar os eventos passados,\n //? e gera um novo efeito colateral caindo nesse useEffect novamente\n\n if (event) {\n setSelectedEvento(event)\n } else if (selectedEvento === null) {\n setShowPastEvents(!showPastEvents)\n }\n }\n }, [events, eventoId])\n\n useDidMountEffect(() => {\n if (selectedEvento && selectedEvento.id) {\n history.push(`/dashboard/${selectedEvento?.id}`)\n }\n }, [selectedEvento])\n\n useEffect(() => {\n if (!eventoId) {\n setSelectedEvento(null)\n setEventoInputValue('')\n }\n }, [eventoId])\n\n useEffect(() => {\n if (selectedEvento && selectedEvento.id) {\n if (eventoInputValue === '') {\n setEventoInputValue(\n selectedEvento.nome &&\n `${selectedEvento.nome} ${\n selectedEvento.dataHoraInicio\n ? ` - (${toLocalDateFormat(selectedEvento.dataHoraInicio)})`\n : ''\n }`\n )\n }\n }\n }, [selectedEvento])\n\n return (\n
\n \n {\n setSelectedEvento(newValue)\n if (reason === 'clear') {\n //? se o usuário clicar no botão limpar\n setEventoInputValue('')\n history.push('/dashboard')\n }\n }}\n getOptionLabel={(evento) =>\n evento.nome &&\n `${evento.nome} ${\n evento.dataHoraInicio\n ? ` - (${toLocalDateFormat(evento.dataHoraInicio)})`\n : ''\n }`\n }\n placeholder=\"Filtrar por evento...\"\n onInputChange={(event, newInputValue) => {\n newInputValue !== null\n ? setEventoInputValue(newInputValue)\n : setEventoInputValue('')\n }}\n inputValue={eventoInputValue}\n renderInput={(params) => (\n \n {!isMobile && (\n \n <>\n {isFetchingEvents && (\n \n )}\n {\n setShowPastEvents(event.target.checked)\n }}\n checked={showPastEvents}\n size=\"small\"\n inputProps={{\n 'aria-label': 'Listar eventos encerrados'\n }}\n />\n {\n setShowPastEvents(!showPastEvents)\n }}\n />\n \n \n )}\n {params.InputProps.endAdornment}\n \n )\n }}\n />\n )}\n />\n \n
\n )\n}\n\nexport default SelectFilters\n","import React from 'react'\nimport {\n Card,\n CardContent,\n Grid,\n Typography,\n Avatar,\n makeStyles\n} from '@material-ui/core'\nimport ListAltTwoToneIcon from '@material-ui/icons/ListAltTwoTone'\nimport { useSelector } from 'react-redux'\nimport { Skeleton } from '@material-ui/lab'\nimport constants from 'theme/constants'\nimport { useParams } from 'react-router-dom'\nimport { useEventDashboard } from 'hooks-querys'\nvar pluralize = require('pluralize')\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n height: '100%',\n ...constants.shadowCard\n },\n content: {\n alignItems: 'center',\n display: 'flex'\n },\n title: {\n fontWeight: 700\n },\n avatar: {\n backgroundColor: theme.palette.error.main,\n height: 46,\n width: 46\n },\n icon: {\n height: 22,\n width: 22\n },\n difference: {\n marginTop: theme.spacing(2),\n display: 'flex',\n alignItems: 'center'\n },\n differenceIcon: {\n color: theme.palette.success.dark\n },\n differenceValue: {\n color: theme.palette.success.dark,\n marginRight: theme.spacing(1)\n }\n}))\n\nconst PedidosPendentes = () => {\n const classes = useStyles()\n\n const { eventoId } = useParams<{ eventoId: string }>()\n const { data, isFetching } = useEventDashboard(Number(eventoId))\n const { quantidadePedidosPendentes, valorPedidosPendentes } = data || {}\n\n // @ts-ignore\n const { showValues } = useSelector((state) => state.global)\n return (\n \n \n \n \n \n PEDIDOS PENDENTES\n \n \n {isFetching || !showValues ? (\n \n ) : (\n pluralize('PEDIDOS', quantidadePedidosPendentes, true)\n )}\n \n TOTALIZANDO\n \n {isFetching || !showValues ? (\n \n ) : (\n Intl.NumberFormat('pt-BR', {\n style: 'currency',\n currency: 'BRL'\n }).format(valorPedidosPendentes || 0)\n )}\n \n \n \n \n \n \n \n \n {/*
\n \n Desde de 1 de janeiro de 2020\n \n
*/}\n
\n
\n )\n}\n\nexport default PedidosPendentes\n","import React from 'react'\nimport clsx from 'clsx'\nimport PropTypes from 'prop-types'\nimport { Line } from 'react-chartjs-2'\nimport { makeStyles, useTheme } from '@material-ui/styles'\nimport { fade } from '@material-ui/core/styles/colorManipulator'\nimport { format, isValid } from 'date-fns'\nimport { ptBR } from 'date-fns/locale'\nconst useStyles = makeStyles(() => ({\n root: {\n position: 'relative'\n }\n}))\n\nconst Chart = (props) => {\n const { className, data: dataProp, ...rest } = props\n const { quantidade, valor, labels } = dataProp\n const classes = useStyles()\n const theme = useTheme()\n\n const data = (canvas) => {\n const ctx = canvas.getContext('2d')\n const gradient = ctx.createLinearGradient(0, 0, 0, 400)\n\n gradient.addColorStop(0, fade(theme.palette.secondary.main, 0.2))\n gradient.addColorStop(0.9, 'rgba(255,255,255,0)')\n gradient.addColorStop(1, 'rgba(255,255,255,0)')\n const gradientPrimary = ctx.createLinearGradient(0, 0, 0, 400)\n\n gradientPrimary.addColorStop(0, fade(theme.palette.primary.main, 0.2))\n gradientPrimary.addColorStop(0.9, 'rgba(255,255,255,0)')\n gradientPrimary.addColorStop(1, 'rgba(255,255,255,0)')\n\n return {\n datasets: [\n {\n label: 'Ingressos vendidos',\n yAxisID: 'A',\n data: quantidade,\n backgroundColor: gradient,\n borderColor: theme.palette.secondary.main,\n pointBorderColor: '#FFFFFF',\n pointBorderWidth: 2,\n pointRadius: 4,\n pointBackgroundColor: theme.palette.secondary.main\n },\n {\n label: 'Valor arrecadado',\n yAxisID: 'B',\n data: valor,\n backgroundColor: gradientPrimary,\n borderColor: theme.palette.primary.main,\n pointBorderColor: '#FFFFFF',\n pointBorderWidth: 2,\n pointRadius: 4,\n pointBackgroundColor: theme.palette.primary.main\n }\n ],\n labels\n }\n }\n\n const options = {\n responsive: true,\n maintainAspectRatio: false,\n //animation: false,\n legend: {\n display: false\n },\n layout: {\n padding: 0\n },\n scales: {\n xAxes: [\n {\n gridLines: {\n display: false,\n drawBorder: false\n },\n ticks: {\n padding: 20,\n fontColor: theme.palette.text.secondary,\n userCallback: function (value) {\n var isValidDate = isValid(new Date(value.replace(/-/g, '/')))\n return isValidDate\n ? format(new Date(value.replace(/-/g, '/')), 'dd/MM')\n : null\n }\n }\n // scaleLabel: {\n // display: true,\n // labelString: 'footer texto'\n // }\n }\n ],\n yAxes: [\n {\n id: 'A',\n gridLines: {\n borderDash: [2],\n borderDashOffset: [2],\n color: theme.palette.divider,\n drawBorder: false,\n zeroLineBorderDash: [2],\n zeroLineBorderDashOffset: [2],\n zeroLineColor: theme.palette.divider\n },\n ticks: {\n padding: 20,\n fontColor: theme.palette.text.secondary,\n beginAtZero: true,\n min: 0,\n maxTicksLimit: 7\n }\n },\n {\n id: 'B',\n ticks: {\n fontColor: theme.palette.text.secondary,\n beginAtZero: true,\n min: 0,\n callback: function (label) {\n return Intl.NumberFormat('pt-BR', {\n style: 'currency',\n currency: 'BRL'\n }).format(label)\n }\n },\n gridLines: {\n borderDash: [2],\n borderDashOffset: [2],\n color: theme.palette.divider,\n drawBorder: false,\n zeroLineBorderDash: [2],\n zeroLineBorderDashOffset: [2],\n zeroLineColor: theme.palette.divider\n }\n }\n ]\n },\n tooltips: {\n enabled: true,\n mode: 'index',\n intersect: false,\n caretSize: 10,\n borderWidth: 1,\n borderColor: theme.palette.divider,\n backgroundColor: theme.palette.white,\n titleFontColor: theme.palette.text.primary,\n bodyFontColor: theme.palette.text.secondary,\n footerFontColor: theme.palette.text.secondary,\n callbacks: {\n title: function (tooltipItem, data) {\n var dateFormatted = format(\n new Date(\n data['labels'][tooltipItem[0]['index']].replace(/-/g, '/')\n ),\n \"dd 'de' MMMM 'de' yyyy'\",\n {\n locale: ptBR\n }\n )\n return dateFormatted\n },\n label: function (tooltipItems, data) {\n var dataset = data.datasets[tooltipItems.datasetIndex]\n if (dataset.yAxisID === 'A') {\n return `${dataset.label}: ${tooltipItems.yLabel}`\n } else {\n return `${dataset.label}: ${Intl.NumberFormat('pt-BR', {\n style: 'currency',\n currency: 'BRL'\n }).format(tooltipItems.yLabel)}\n `\n }\n }\n }\n }\n }\n\n return (\n
\n \n
\n )\n}\n\nChart.propTypes = {\n className: PropTypes.string,\n data: PropTypes.array.isRequired,\n labels: PropTypes.array.isRequired\n}\n\nexport default Chart\n","import React from 'react'\nimport PerfectScrollbar from 'react-perfect-scrollbar'\nimport {\n Card,\n CardHeader,\n CardContent,\n Divider,\n makeStyles\n} from '@material-ui/core'\nimport { Chart } from './components'\nimport { Skeleton } from '@material-ui/lab'\nimport { useSelector } from 'react-redux'\nimport constants from 'theme/constants'\nimport { useParams } from 'react-router-dom'\nimport { useEventDashboard } from 'hooks-querys'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n ...constants.shadowCard\n },\n content: {},\n buttons: {\n display: 'flex',\n justifyContent: 'center',\n '& > *': {\n marginLeft: theme.spacing(1)\n }\n },\n inner: {\n height: 375,\n minWidth: 500\n },\n chart: {\n height: '100%'\n }\n}))\n\nconst GraficoVendasPorDia = () => {\n const classes = useStyles()\n const { eventoId } = useParams<{ eventoId: string }>()\n const { data: queryData, isFetching } = useEventDashboard(Number(eventoId))\n\n // @ts-ignore\n const { showValues } = useSelector((state) => state.global)\n const { graficoIngressosDia } = queryData || {}\n const data = graficoIngressosDia\n ? {\n quantidade: graficoIngressosDia.series[0],\n valor: graficoIngressosDia.series[1],\n labels: graficoIngressosDia.options\n }\n : undefined\n\n return (\n \n \n \n \n \n
\n {isFetching || !showValues ? (\n \n ) : (\n // @ts-ignore\n \n )}\n
\n
\n
\n
\n )\n}\n\nexport default GraficoVendasPorDia\n","import React from 'react'\nimport {\n Card,\n CardContent,\n Grid,\n Typography,\n Avatar,\n LinearProgress,\n makeStyles\n} from '@material-ui/core'\nimport ConfirmationNumberTwoToneIcon from '@material-ui/icons/ConfirmationNumberTwoTone'\nimport { useSelector } from 'react-redux'\nimport { Skeleton } from '@material-ui/lab'\nimport constants from 'theme/constants'\nimport { useParams } from 'react-router-dom'\nimport { useEventDashboard } from 'hooks-querys'\nvar pluralize = require('pluralize')\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n height: '100%',\n ...constants.shadowCard\n },\n content: {\n alignItems: 'center',\n display: 'flex'\n },\n title: {\n fontWeight: 700\n },\n avatar: {\n backgroundColor: theme.palette.primary.main,\n color: theme.palette.primary.contrastText,\n height: 46,\n width: 46\n },\n icon: {\n height: 22,\n width: 22\n },\n progress: {\n marginTop: theme.spacing(3),\n height: 5,\n borderRadius: 5\n }\n}))\n\nconst IngressosDisponiveis = () => {\n const classes = useStyles()\n const { eventoId } = useParams<{ eventoId: string }>()\n const { data, isFetching } = useEventDashboard(Number(eventoId))\n const { quantidadeIngressosDisponiveis, quantidadeIngressosTotal } =\n data || {}\n\n // @ts-ignore\n const { showValues } = useSelector((state) => state.global)\n\n const percentage = () => {\n if (quantidadeIngressosTotal && quantidadeIngressosDisponiveis) {\n var total = quantidadeIngressosTotal\n var currentValue = quantidadeIngressosDisponiveis\n var percentage = parseFloat(((currentValue / total) * 100).toFixed(1))\n if (isNaN(percentage)) {\n return ' '\n } else {\n return percentage.toLocaleString('pt-BR', {\n maximumFractionDigits: 2\n })\n }\n } else {\n return ' '\n }\n }\n return (\n \n \n \n \n \n INGRESSOS RESTANTES\n \n \n {isFetching || !showValues ? (\n \n ) : (\n pluralize('INGRESSOS', quantidadeIngressosDisponiveis, true)\n )}\n \n \n \n \n \n \n \n \n \n \n {isFetching || !showValues ? (\n \n ) : (\n `${percentage()}% dos totais - (${quantidadeIngressosTotal} ingressos)`\n )}\n \n \n \n )\n}\n\nexport default IngressosDisponiveis\n","import React from 'react'\nimport {\n Card,\n CardContent,\n Grid,\n Typography,\n Avatar,\n Button,\n makeStyles\n} from '@material-ui/core'\nimport AttachMoneyTwoToneIcon from '@material-ui/icons/AttachMoneyTwoTone'\nimport { useSelector } from 'react-redux'\nimport { Skeleton } from '@material-ui/lab'\nimport FormatListBulletedTwoToneIcon from '@material-ui/icons/FormatListBulletedTwoTone'\nimport { history } from 'utils'\nimport { useParams } from 'react-router-dom'\nimport { AccessControl } from 'components/Utils/AccessControl'\nimport constants from 'theme/constants'\nimport { useEventDashboard } from 'hooks-querys'\nvar pluralize = require('pluralize')\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n height: '100%',\n backgroundColor: theme.palette.primary.dark,\n color: theme.palette.primary.contrastText,\n ...constants.shadowCard\n },\n title: {\n fontWeight: 700\n },\n avatar: {\n backgroundColor: '#FFFFFF',\n color: theme.palette.primary.main,\n height: 46,\n width: 46\n },\n icon: {\n height: 22,\n width: 22\n },\n button: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(-1),\n borderColor: '#FFFFFF',\n color: '#FFFFFF',\n '&:hover': {\n borderColor: '#FFFFFF'\n }\n }\n}))\n\nconst IngressosVendidos = () => {\n const classes = useStyles()\n const { eventoId } = useParams<{ eventoId: string }>()\n const { data, isFetching } = useEventDashboard(Number(eventoId))\n\n const { quantidadeIngressos, valorIngressos } = data || {}\n // @ts-ignore\n const { showValues } = useSelector((state) => state.global)\n return (\n \n \n \n \n \n TOTAL VENDIDO\n \n \n {isFetching || !showValues ? (\n \n ) : (\n Intl.NumberFormat('pt-BR', {\n style: 'currency',\n currency: 'BRL'\n }).format(valorIngressos || 0)\n )}\n \n \n {isFetching || !showValues ? (\n \n ) : (\n pluralize('INGRESSOS', quantidadeIngressos, true)\n )}\n \n \n \n \n \n \n \n \n (\n }\n onClick={() =>\n history.push(\n `/ingressos/lista?eventId=${eventoId}&textSearch=&statusId=0`\n )\n }\n >\n VER LISTA DE INGRESSOS\n \n )}\n />\n \n \n \n \n )\n}\n\nexport default IngressosVendidos\n","import React from 'react'\nimport {\n Card,\n CardContent,\n Grid,\n Typography,\n Avatar,\n Button,\n makeStyles\n} from '@material-ui/core'\nimport LocalOfferTwoToneIcon from '@material-ui/icons/LocalOfferTwoTone'\nimport { useSelector } from 'react-redux'\nimport { Skeleton } from '@material-ui/lab'\nimport LoyaltyTwoToneIcon from '@material-ui/icons/LoyaltyTwoTone'\nimport { history } from 'utils'\nimport { AccessControl } from 'components/Utils/AccessControl'\nimport { useParams } from 'react-router-dom'\nimport constants from 'theme/constants'\nimport { useEventDashboard } from 'hooks-querys'\nvar pluralize = require('pluralize')\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n height: '100%',\n ...constants.shadowCard\n },\n content: {\n alignItems: 'center',\n display: 'flex'\n },\n title: {\n fontWeight: 700\n },\n avatar: {\n backgroundColor: theme.palette.success.main,\n height: 46,\n width: 46\n },\n icon: {\n height: 22,\n width: 22\n },\n differenceValue: {\n color: theme.palette.success.dark,\n marginRight: theme.spacing(1)\n },\n button: {\n marginTop: theme.spacing(2)\n }\n}))\n\nconst CuponsAtivos = () => {\n const classes = useStyles()\n const { eventoId } = useParams<{ eventoId: string }>()\n const { data, isFetching } = useEventDashboard(Number(eventoId))\n const { cuponsAtivos } = data || {}\n\n // @ts-ignore\n const { showValues } = useSelector((state) => state.global)\n return (\n \n \n \n \n \n CUPONS ATIVOS\n \n \n {isFetching || !showValues ? (\n \n ) : cuponsAtivos === 1 ? (\n `${cuponsAtivos} CUPOM`\n ) : (\n `${cuponsAtivos} CUPONS`\n )}\n \n \n \n \n \n \n \n \n (\n }\n onClick={() =>\n history.push(`/cupomDescontos/lista?eventoId=${eventoId}`)\n }\n >\n VER LISTA DE CUPONS\n \n )}\n />\n \n \n \n \n )\n}\n\nexport default CuponsAtivos\n","import React from 'react'\nimport { Pie } from 'react-chartjs-2'\nimport {\n Card,\n CardHeader,\n CardContent,\n Divider,\n Typography,\n makeStyles,\n useTheme,\n Grid\n} from '@material-ui/core'\nimport { useSelector } from 'react-redux'\nimport { Skeleton } from '@material-ui/lab'\nimport { colors } from '@material-ui/core'\nimport constants from 'theme/constants'\nimport { useParams } from 'react-router-dom'\nimport { useEventDashboard } from 'hooks-querys'\nvar pluralize = require('pluralize')\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n height: '100%',\n ...constants.shadowCard\n },\n chartContainer: {\n position: 'relative',\n height: '300px',\n justifyContent: 'center'\n },\n stats: {\n marginTop: theme.spacing(2),\n display: 'flex',\n justifyContent: 'center'\n },\n tipoDeIngresso: {\n textAlign: 'center'\n },\n quantity: {\n fontSize: 9\n }\n}))\n\nconst GraficoIngressosTipoIngresso = () => {\n const classes = useStyles()\n const theme = useTheme()\n const { eventoId } = useParams<{ eventoId: string }>()\n const { data, isFetching } = useEventDashboard(Number(eventoId))\n\n // @ts-ignore\n const { showValues } = useSelector((state) => state.global)\n const { graficoIngressosTipoIngresso } = data || {}\n\n const generateData = () => {\n if (graficoIngressosTipoIngresso && graficoIngressosTipoIngresso.options) {\n const data = {\n datasets: [\n {\n data: graficoIngressosTipoIngresso.series[1],\n backgroundColor: [\n colors.deepPurple[200],\n colors.teal[200],\n colors.lightGreen[200],\n colors.brown[200],\n colors.blueGrey[200]\n ],\n borderWidth: 3,\n borderColor: theme.palette.white,\n hoverBorderColor: [\n colors.deepPurple[400],\n colors.teal[400],\n colors.lightGreen[400],\n colors.brown[400],\n colors.blueGrey[400]\n ]\n }\n ],\n labels: graficoIngressosTipoIngresso.options\n }\n return data\n } else {\n return []\n }\n }\n\n const generateStrings = () => {\n var data = [] as any\n if (graficoIngressosTipoIngresso && graficoIngressosTipoIngresso.options) {\n data = [\n {\n title: graficoIngressosTipoIngresso.options[0],\n value:\n graficoIngressosTipoIngresso.series[1][0] !== undefined\n ? Intl.NumberFormat('pt-BR', {\n style: 'currency',\n currency: 'BRL'\n }).format(graficoIngressosTipoIngresso.series[1][0])\n : null,\n color: colors.deepPurple[200],\n quantity: graficoIngressosTipoIngresso.series[0][0]\n },\n {\n title: graficoIngressosTipoIngresso.options[1],\n value:\n graficoIngressosTipoIngresso.series[1][1] !== undefined\n ? Intl.NumberFormat('pt-BR', {\n style: 'currency',\n currency: 'BRL'\n }).format(graficoIngressosTipoIngresso.series[1][1])\n : null,\n color: colors.teal[200],\n quantity: graficoIngressosTipoIngresso.series[0][1]\n },\n {\n title: graficoIngressosTipoIngresso.options[2],\n value:\n graficoIngressosTipoIngresso.series[1][2] !== undefined\n ? Intl.NumberFormat('pt-BR', {\n style: 'currency',\n currency: 'BRL'\n }).format(graficoIngressosTipoIngresso.series[1][2])\n : null,\n color: colors.lightGreen[200],\n quantity: graficoIngressosTipoIngresso.series[0][2]\n },\n {\n title: graficoIngressosTipoIngresso.options[3],\n value:\n graficoIngressosTipoIngresso.series[1][3] !== undefined\n ? Intl.NumberFormat('pt-BR', {\n style: 'currency',\n currency: 'BRL'\n }).format(graficoIngressosTipoIngresso.series[1][3])\n : null,\n color: colors.brown[200],\n quantity: graficoIngressosTipoIngresso.series[0][3]\n },\n {\n title: graficoIngressosTipoIngresso.options[4],\n value:\n graficoIngressosTipoIngresso.series[1][4] !== undefined\n ? Intl.NumberFormat('pt-BR', {\n style: 'currency',\n currency: 'BRL'\n }).format(graficoIngressosTipoIngresso.series[1][4])\n : null,\n color: colors.blueGrey[400],\n quantity: graficoIngressosTipoIngresso.series[0][4]\n }\n ]\n return data\n } else {\n return data\n }\n }\n\n const options = {\n legend: {\n display: false\n },\n responsive: true,\n maintainAspectRatio: false,\n //animation: false,\n layout: { padding: 0 },\n tooltips: {\n enabled: true,\n mode: 'index',\n\n borderWidth: 1,\n borderColor: theme.palette.divider,\n backgroundColor: theme.palette.white,\n titleFontColor: theme.palette.text.primary,\n bodyFontColor: theme.palette.text.secondary,\n footerFontColor: theme.palette.text.secondary,\n callbacks: {\n // @ts-ignore\n label: function (tooltipItem, data) {\n var dataset = data.datasets[tooltipItem.datasetIndex]\n var meta = dataset._meta[Object.keys(dataset._meta)[0]]\n var total = meta.total\n var currentValue = dataset.data[tooltipItem.index]\n var percentage = parseFloat(((currentValue / total) * 100).toFixed(1))\n if (!isNaN(percentage)) {\n return (\n Intl.NumberFormat('pt-BR', {\n style: 'currency',\n currency: 'BRL'\n }).format(currentValue) +\n ' (' +\n percentage.toLocaleString('pt-BR', {\n maximumFractionDigits: 2\n }) +\n '%)'\n )\n } else {\n return null\n }\n },\n // @ts-ignore\n title: function (tooltipItem, data) {\n return data.labels[tooltipItem[0].index].toUpperCase()\n }\n }\n }\n }\n\n return (\n \n \n // \n // \n // }\n title=\"VENDAS POR TIPO DE INGRESSO\"\n />\n \n \n
\n {isFetching || !showValues ? (\n \n \n
\n ) : (\n \n )}\n \n
\n {isFetching || !showValues ? (\n \n \n
\n ) : (\n \n {generateStrings().map(\n // @ts-ignore\n (tipoDeIngresso) =>\n tipoDeIngresso.value !== null && (\n \n \n {tipoDeIngresso.title}\n \n \n {tipoDeIngresso.value}\n \n \n {pluralize('ingressos', tipoDeIngresso.quantity, true)}\n \n \n )\n )}\n \n )}\n \n
\n
\n )\n}\n\nexport default GraficoIngressosTipoIngresso\n","import { v1 as uuid } from 'uuid'\n\nexport default [\n {\n id: uuid(),\n ref: 'CDD1049',\n amount: 30.5,\n customer: {\n name: 'Ekaterina Tankova'\n },\n createdAt: 1555016400000,\n status: 'pending'\n },\n {\n id: uuid(),\n ref: 'CDD1048',\n amount: 25.1,\n customer: {\n name: 'Cao Yu'\n },\n createdAt: 1555016400000,\n status: 'delivered'\n },\n {\n id: uuid(),\n ref: 'CDD1047',\n amount: 10.99,\n customer: {\n name: 'Alexa Richardson'\n },\n createdAt: 1554930000000,\n status: 'refunded'\n },\n {\n id: uuid(),\n ref: 'CDD1046',\n amount: 96.43,\n customer: {\n name: 'Anje Keizer'\n },\n createdAt: 1554757200000,\n status: 'pending'\n },\n {\n id: uuid(),\n ref: 'CDD1045',\n amount: 32.54,\n customer: {\n name: 'Clarke Gillebert'\n },\n createdAt: 1554670800000,\n status: 'delivered'\n },\n {\n id: uuid(),\n ref: 'CDD1044',\n amount: 16.76,\n customer: {\n name: 'Adam Denisov'\n },\n createdAt: 1554670800000,\n status: 'delivered'\n }\n]\n","import React, { useState } from 'react'\nimport clsx from 'clsx'\nimport moment from 'moment'\nimport PerfectScrollbar from 'react-perfect-scrollbar'\nimport PropTypes from 'prop-types'\nimport { makeStyles } from '@material-ui/styles'\nimport {\n Card,\n CardActions,\n CardHeader,\n CardContent,\n Button,\n Divider,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Tooltip,\n TableSortLabel\n} from '@material-ui/core'\nimport ArrowRightIcon from '@material-ui/icons/ArrowRight'\n\nimport mockData from './data'\nimport { StatusBullet } from 'components'\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n content: {\n padding: 0\n },\n inner: {\n minWidth: 800\n },\n statusContainer: {\n display: 'flex',\n alignItems: 'center'\n },\n status: {\n marginRight: theme.spacing(1)\n },\n actions: {\n justifyContent: 'flex-end'\n }\n}))\n\nconst statusColors = {\n delivered: 'success',\n pending: 'info',\n refunded: 'danger'\n}\n\nconst LatestOrders = (props) => {\n const { className, ...rest } = props\n\n const classes = useStyles()\n\n const [orders] = useState(mockData)\n\n return (\n \n \n New entry\n \n }\n title=\"Latest Orders\"\n />\n \n \n \n
\n \n \n \n Order Ref\n Customer\n \n \n \n Date\n \n \n \n Status\n \n \n \n {orders.map((order) => (\n \n {order.ref}\n {order.customer.name}\n \n {moment(order.createdAt).format('DD/MM/YYYY')}\n \n \n
\n \n {order.status}\n
\n
\n
\n ))}\n
\n
\n
\n
\n
\n \n \n \n \n
\n )\n}\n\nLatestOrders.propTypes = {\n className: PropTypes.string\n}\n\nexport default LatestOrders\n","import React from 'react'\nimport { Grid } from '@material-ui/core'\n\nimport {\n PedidosPendentes,\n CuponsAtivos,\n IngressosDisponiveis,\n IngressosVendidos,\n GraficoVendasPorDia,\n GraficoIngressosTipoIngresso\n} from '../../components'\n\nconst EventoDashboard = () => {\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 \n )\n}\n\nexport default EventoDashboard\n","import React, { useEffect } from 'react'\nimport { Box, Grid, makeStyles, Typography } from '@material-ui/core'\n\nimport {\n Budget,\n TotalEventos,\n EventosFuturos,\n IngressosRecebidos,\n VendasPorEvento,\n ReceitaUltimos6Meses,\n LatestOrders,\n Filters\n} from './components'\nimport { Header, Page } from 'components'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { globalActions } from '_actions'\nimport { useParams } from 'react-router-dom'\nimport { EventoDashboard } from 'views/Eventos/components/EventoDashboard/components'\nimport { useEstablishmentDashboard, useEventDashboard } from 'hooks-querys'\nimport { format } from 'date-fns'\nimport brLocale from 'date-fns/locale/pt-BR'\nimport { history, useDidMountEffect } from 'utils'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(3, 2, 2, 2),\n [theme.breakpoints.down('sm')]: {\n padding: theme.spacing(3, 1, 1, 1)\n }\n },\n header: {\n marginBottom: theme.spacing(3)\n }\n}))\n\nconst Dashboard = () => {\n const classes = useStyles()\n const dispatch = useDispatch()\n const { eventoId } = useParams<{ eventoId: string }>()\n const {\n data,\n isLoading: isLoadingEventDashboard,\n isFetching: isFetchingEventDashboard,\n isError: isErrorEventDashboard,\n refetch: refetchEventDashboard,\n dataUpdatedAt: dataUpdatedAtEventDashboard\n } = useEventDashboard(Number(eventoId))\n\n const { evento } = data || {}\n const { estabelecimentoId } = useSelector(\n // @ts-ignore\n (state) => state.usuarioEstabelecimento\n )\n\n const {\n isLoading: isLoadingEstablishmentDashboard,\n isFetching: isFetchingEstablishmentDashboard,\n isError: isErrorEstablishmentDashboard,\n refetch: refetchEstablishmentDashboard,\n dataUpdatedAt: dataUpdatedAtEstablishmentDashboard\n } = useEstablishmentDashboard(Number(estabelecimentoId))\n\n const isLoading = isLoadingEventDashboard || isLoadingEstablishmentDashboard\n const isFetching =\n isFetchingEventDashboard || isFetchingEstablishmentDashboard\n useEffect(() => {\n dispatch(globalActions.setIsVisibleButtonShowValues(true))\n return () => {\n dispatch(globalActions.setIsVisibleButtonShowValues(false))\n }\n }, [])\n\n useEffect(() => {\n window.scrollTo({\n top: 0,\n behavior: 'smooth'\n })\n }, [eventoId])\n\n useDidMountEffect(() => {\n window.scrollTo({\n top: 0,\n behavior: 'smooth'\n })\n history.push('/dashboard')\n }, [estabelecimentoId])\n\n return (\n \n 0\n ? refetchEventDashboard\n : refetchEstablishmentDashboard\n }\n />\n \n \n \n \n {!isLoading ? (\n \n Última atualização:{' '}\n {format(\n eventoId && Number(eventoId) > 0\n ? dataUpdatedAtEventDashboard\n : dataUpdatedAtEstablishmentDashboard,\n \"dd/MM/yyyy 'às' HH:mm:ss\",\n {\n locale: brLocale\n }\n )}{' '}\n {isFetching ? '(Atualizando...)' : ''}\n \n ) : null}\n \n {eventoId && Number(eventoId) > 0 ? (\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\nexport default Dashboard\n","import React, { useEffect, useState } from 'react'\nimport PropTypes from 'prop-types'\nimport clsx from 'clsx'\nimport { makeStyles } from '@material-ui/styles'\nimport { Typography, Grid, Button, ButtonGroup, Chip } from '@material-ui/core'\nimport { DatePicker } from '@material-ui/pickers'\nimport {\n format,\n subDays,\n differenceInDays,\n isAfter,\n isBefore,\n endOfDay,\n startOfDay,\n startOfYesterday,\n endOfYesterday\n} from 'date-fns'\nimport CalendarTodayIcon from '@material-ui/icons/CalendarTodayOutlined'\nimport { useDispatch } from 'react-redux'\nimport { dashboardAction } from '_actions'\n\nconst chipOptions = [\n { label: 'Hoje', value: '0' },\n { label: 'Ontem', value: '0' },\n { label: '7 dias', value: '7' },\n { label: '30 dias', value: '30' },\n { label: '90 dias', value: '90' },\n { label: '1 ano', value: '365' }\n]\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n dates: {\n [theme.breakpoints.up('md')]: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end'\n },\n [theme.breakpoints.down('sm')]: {\n alignItems: 'center',\n justifyContent: 'center',\n display: 'flex',\n flexWrap: 'wrap',\n '& > *': {\n margin: theme.spacing(0.5),\n marginBottom: theme.spacing(2)\n }\n }\n },\n calendarTodayIcon: {\n marginRight: theme.spacing(1)\n },\n chip: {\n marginRight: theme.spacing(1)\n },\n calendarTodayGroup: {\n [theme.breakpoints.up('md')]: {\n marginLeft: theme.spacing(1)\n },\n [theme.breakpoints.down('sm')]: {\n marginTop: theme.spacing(1)\n }\n }\n}))\n\nconst Header = (props) => {\n const { className, ...rest } = props\n const classes = useStyles()\n const dispatch = useDispatch()\n const [selectEdge, setSelectEdge] = useState(null)\n const [calendarDate, setCalendarDate] = useState(new Date())\n const [dateRange, setDateRange] = useState({\n startDate: startOfDay(new Date()),\n endDate: endOfDay(new Date()),\n value: '0'\n })\n const today = new Date()\n const yesterday = new Date(today)\n yesterday.setDate(yesterday.getDate() - 1)\n\n const handleCalendarOpen = (edge) => {\n setSelectEdge(edge)\n }\n\n const handleCalendarChange = (date) => {\n setCalendarDate(date)\n }\n\n const handleCalendarClose = () => {\n setCalendarDate(new Date())\n setSelectEdge(null)\n }\n\n const handleCalendarAccept = (date) => {\n setCalendarDate(new Date())\n\n if (selectEdge === 'start') {\n setDateRange({ ...dateRange, startDate: startOfDay(date) })\n\n if (isAfter(date, dateRange.endDate)) {\n setDateRange({ ...dateRange, endDate: endOfDay(date) })\n }\n } else {\n setDateRange({ ...dateRange, endDate: endOfDay(date) })\n\n if (isBefore(date, dateRange.startDate)) {\n setDateRange({ ...dateRange, startDate: startOfDay(date) })\n }\n }\n\n setSelectEdge(null)\n }\n\n const handleRangeChangeChip = (item) => {\n if (item.label === 'Ontem') {\n setDateRange({\n startDate: startOfYesterday(new Date()),\n endDate: endOfYesterday(new Date()),\n value: item.value\n })\n } else {\n setDateRange({\n startDate: startOfDay(subDays(new Date(), Number(item.value))),\n endDate: endOfDay(new Date()),\n value: item.value\n })\n }\n }\n\n const open = Boolean(selectEdge)\n\n useEffect(() => {\n dispatch(\n dashboardAction.getDashboardAdmin(dateRange.startDate, dateRange.endDate)\n )\n }, [dateRange.startDate, dateRange.endDate])\n\n return (\n
\n \n \n \n Dashboard\n \n \n Administrativo\n \n \n \n {chipOptions &&\n chipOptions.length > 0 &&\n chipOptions.map((option) => (\n handleRangeChangeChip(option)}\n color={\n option.value != '0' &&\n differenceInDays(dateRange.endDate, dateRange.startDate) ===\n Number(option.value)\n ? 'primary'\n : (option.label === 'Hoje' &&\n format(dateRange.startDate, 'dd/MM/yyyy') ===\n format(today, 'dd/MM/yyyy')) ||\n (option.label === 'Ontem' &&\n format(dateRange.startDate, 'dd/MM/yyyy') ===\n format(yesterday, 'dd/MM/yyyy') &&\n format(dateRange.endDate, 'dd/MM/yyyy') ===\n format(yesterday, 'dd/MM/yyyy'))\n ? 'primary'\n : 'default'\n }\n />\n ))}\n \n \n \n \n \n \n \n
\n )\n}\n\nHeader.propTypes = {\n className: PropTypes.string\n}\n\nHeader.defaultProps = {}\n\nexport default Header\n","import React from 'react'\nimport clsx from 'clsx'\nimport PropTypes from 'prop-types'\nimport { makeStyles } from '@material-ui/styles'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n width: 56,\n height: 56\n },\n circle1: {\n stroke: 'rgba(0,0,0,0.05)',\n fill: 'none',\n strokeWidth: 4\n },\n circle2: {\n stroke: theme.palette.primary.main,\n fill: 'none',\n strokeWidth: 4,\n animation: '$progress 1s ease-out forwards'\n },\n '@keyframes progress': {\n '0%': {\n strokeDasharray: '0 100'\n }\n }\n}))\n\nconst CircularProgress = (props) => {\n const { value, className, ...rest } = props\n\n const classes = useStyles()\n\n return (\n
\n \n \n \n \n
\n )\n}\n\nCircularProgress.propTypes = {\n className: PropTypes.string,\n value: PropTypes.number.isRequired\n}\n\nexport default CircularProgress\n","import React from 'react'\nimport clsx from 'clsx'\nimport PerfectScrollbar from 'react-perfect-scrollbar'\nimport PropTypes from 'prop-types'\nimport { makeStyles } from '@material-ui/styles'\nimport {\n Card,\n CardHeader,\n CardContent,\n Divider,\n Table,\n TableRow,\n TableCell,\n Typography,\n colors,\n TableBody,\n Avatar\n} from '@material-ui/core'\n\nimport CircularProgress from './components/CircularProgress'\nimport { useSelector } from 'react-redux'\nimport { Skeleton } from '@material-ui/lab'\nimport { formatCurrency, getInitials } from 'utils'\nimport constants from 'theme/constants'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n ...constants.shadowCard\n },\n content: {\n padding: 0,\n '&:last-child': {\n paddingBottom: 0\n }\n },\n emptyContent: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n [theme.breakpoints.up('lg')]: {\n minHeight: 532\n }\n },\n textEmptyContent: {\n marginTop: theme.spacing(2)\n },\n inner: {\n minWidth: 500\n },\n details: {\n display: 'flex',\n alignItems: 'center'\n },\n image: {\n marginRight: theme.spacing(2),\n flexShrink: 0,\n height: 56,\n width: 56,\n borderRadius: '50%'\n },\n subscriptions: {\n fontWeight: theme.typography.fontWeightMedium\n },\n price: {\n whiteSpace: 'nowrap'\n },\n value: {\n color: colors.green[600],\n fontWeight: theme.typography.fontWeightMedium\n },\n conversion: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end'\n },\n conversionStats: {\n whiteSpace: 'nowrap',\n marginRight: theme.spacing(2)\n },\n actions: {\n justifyContent: 'flex-end'\n },\n arrowForwardIcon: {\n marginLeft: theme.spacing(1)\n }\n}))\n\nconst MostProfitableOrganizes = (props) => {\n const { className, ...rest } = props\n const classes = useStyles()\n const { isLoading } = useSelector((state) => state.dashboard)\n const { showValues } = useSelector((state) => state.global)\n const { estabelecimentosMaisRentaveis } = useSelector(\n (state) => state.dashboard.dashboardAdmin\n )\n return (\n \n \n \n {estabelecimentosMaisRentaveis &&\n estabelecimentosMaisRentaveis.length > 0 ? (\n \n \n
\n \n \n {estabelecimentosMaisRentaveis.map(\n (estabelecimentoObject) => (\n \n \n
\n \n {getInitials(\n estabelecimentoObject.estabelecimento.nome\n )}\n \n
\n \n {estabelecimentoObject.estabelecimento.nome}\n \n \n \n @\n {\n estabelecimentoObject.estabelecimento\n .username\n }\n \n \n
\n
\n
\n \n Valor total\n \n {showValues && !isLoading ? (\n \n {formatCurrency(\n estabelecimentoObject.valorTotal\n )}\n \n ) : (\n \n )}\n \n \n \n
\n
\n \n {showValues && !isLoading ? (\n `${estabelecimentoObject.percentualLucroLiquido.toLocaleString(\n 'pt-BR',\n {\n maximumFractionDigits: 2\n }\n )}%`\n ) : (\n \n )}\n \n \n Lucro liquido\n \n
\n {showValues && !isLoading ? (\n \n ) : (\n \n )}\n
\n
\n \n )\n )}\n
\n
\n
\n
\n
\n ) : (\n \n \n Não há dados para exibir\n \n \n )}\n {/* */}\n {/* \n \n Ver todos\n \n \n */}\n
\n )\n}\n\nMostProfitableOrganizes.propTypes = {\n className: PropTypes.string\n}\n\nexport default MostProfitableOrganizes\n","import React, { useState } from 'react'\nimport PropTypes from 'prop-types'\nimport clsx from 'clsx'\nimport { makeStyles } from '@material-ui/styles'\nimport { Card, Typography, Grid } from '@material-ui/core'\nimport { LabelWithValue } from 'components'\nimport { formatCurrency } from 'utils'\nimport { Skeleton } from '@material-ui/lab'\nimport { useSelector } from 'react-redux'\nimport constants from 'theme/constants'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n ...constants.shadowCard\n },\n content: {\n padding: 0\n },\n item: {\n padding: theme.spacing(3),\n textAlign: 'center',\n [theme.breakpoints.up('md')]: {\n '&:not(:last-of-type)': {\n borderRight: `1px solid ${theme.palette.divider}`\n }\n },\n [theme.breakpoints.down('sm')]: {\n '&:not(:last-of-type)': {\n borderBottom: `1px solid ${theme.palette.divider}`\n }\n }\n },\n valueContainer: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center'\n },\n label: {\n marginLeft: theme.spacing(1)\n }\n}))\n\nconst Overview = (props) => {\n const { className, ...rest } = props\n const classes = useStyles()\n\n const { isLoading, dashboardAdmin } = useSelector((state) => state.dashboard)\n const { showValues } = useSelector((state) => state.global)\n\n return (\n \n \n \n \n Receita bruta\n \n {showValues && !isLoading ? (\n
\n \n {formatCurrency(\n dashboardAdmin &&\n dashboardAdmin.receitaBruta &&\n dashboardAdmin.receitaBruta.valorAtual\n )}\n \n \n
\n ) : (\n \n )}\n
\n \n \n Lucro liquido\n \n {showValues && !isLoading ? (\n
\n \n {formatCurrency(\n dashboardAdmin &&\n dashboardAdmin.lucroLiquido &&\n dashboardAdmin.lucroLiquido.valorAtual\n )}\n \n \n
\n ) : (\n \n )}\n
\n \n \n Valor a transferir\n \n {showValues && !isLoading ? (\n
\n \n {formatCurrency(\n dashboardAdmin && dashboardAdmin.valorATransferir\n )}\n \n
\n ) : (\n \n )}\n
\n \n \n Tarifa média\n \n {showValues && !isLoading ? (\n
\n \n {dashboardAdmin &&\n dashboardAdmin.tarifaMedia &&\n dashboardAdmin.tarifaMedia.valorAtual.toLocaleString(\n 'pt-BR',\n { maximumFractionDigits: 2 }\n )}\n %\n \n \n
\n ) : (\n \n )}\n
\n \n \n Eventos realizados\n \n {showValues && !isLoading ? (\n
\n \n {dashboardAdmin &&\n dashboardAdmin.eventosRealizados &&\n dashboardAdmin.eventosRealizados.valorAtual}\n \n \n
\n ) : (\n \n )}\n
\n
\n
\n )\n}\n\nOverview.propTypes = {\n className: PropTypes.string\n}\n\nexport default Overview\n","import React, { useState, useEffect } from 'react'\nimport { Link as RouterLink } from 'react-router-dom'\nimport clsx from 'clsx'\nimport PropTypes from 'prop-types'\nimport { makeStyles } from '@material-ui/styles'\nimport {\n Card,\n CardHeader,\n CardContent,\n Divider,\n List,\n ListItem,\n ListItemAvatar,\n ListItemText,\n Avatar,\n Typography,\n Link,\n Grid\n} from '@material-ui/core'\n\nimport getInitials from 'utils/getInitials'\nimport { dashboard } from 'mock'\nimport { formatDistance } from 'date-fns'\nimport brLocale from 'date-fns/locale/pt-BR'\nimport { LabelWithValue } from 'components'\nimport { useSelector } from 'react-redux'\nimport { Skeleton } from '@material-ui/lab'\nimport constants from 'theme/constants'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n ...constants.shadowCard\n },\n statsItem: {\n padding: theme.spacing(1.2, 2),\n borderRight: `1px solid ${theme.palette.divider}`,\n borderBottom: `1px solid ${theme.palette.divider}`,\n flexGrow: 1\n },\n content: {\n padding: 0,\n marginBottom: theme.spacing(-2.5)\n },\n title: {\n fontSize: '10px'\n },\n date: {\n whiteSpace: 'nowrap'\n },\n valueContainer: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center'\n },\n label: {\n marginLeft: theme.spacing(1),\n height: 15,\n minWidth: 15,\n padding: 7,\n fontSize: 9\n }\n}))\n\nconst CustomerActivity = (props) => {\n const { className, ...rest } = props\n\n const classes = useStyles()\n const { isLoading } = useSelector((state) => state.dashboard)\n const { interacoesUsuarios } = useSelector(\n (state) => state.dashboard.dashboardAdmin\n )\n const { showValues } = useSelector((state) => state.global)\n\n return (\n \n \n \n \n \n \n Interações\n \n {showValues && !isLoading ? (\n
\n \n {interacoesUsuarios &&\n interacoesUsuarios.totalInteracoes &&\n interacoesUsuarios.totalInteracoes.valorAtual}\n \n\n \n
\n ) : (\n \n )}\n
\n \n \n \n Comentários\n \n {showValues && !isLoading ? (\n
\n \n {interacoesUsuarios &&\n interacoesUsuarios.totalComentarios &&\n interacoesUsuarios.totalComentarios.valorAtual}\n \n \n
\n ) : (\n \n )}\n
\n \n \n \n Conexões\n \n {showValues && !isLoading ? (\n
\n \n {interacoesUsuarios &&\n interacoesUsuarios.totalConexoes &&\n interacoesUsuarios.totalConexoes.valorAtual}\n \n \n
\n ) : (\n \n )}\n
\n \n \n \n Avaliações\n \n {showValues && !isLoading ? (\n
\n \n {interacoesUsuarios &&\n interacoesUsuarios.totalAvaliacoes &&\n interacoesUsuarios.totalAvaliacoes.valorAtual}\n \n \n
\n ) : (\n \n )}\n
\n \n \n \n Novos usuários\n \n {showValues && !isLoading ? (\n
\n \n {interacoesUsuarios &&\n interacoesUsuarios.novosUsuarios &&\n interacoesUsuarios.novosUsuarios.valorAtual}\n \n \n
\n ) : (\n \n )}\n
\n \n \n \n Usuários ativos\n \n {showValues && !isLoading ? (\n
\n \n {interacoesUsuarios &&\n interacoesUsuarios.usuariosAtivos &&\n interacoesUsuarios.usuariosAtivos.valorAtual}\n \n \n
\n ) : (\n \n )}\n
\n
\n \n \n {interacoesUsuarios &&\n interacoesUsuarios.atividades &&\n interacoesUsuarios.atividades.length > 0 &&\n interacoesUsuarios.atividades.map((activity, i) => {\n const isUser =\n activity &&\n activity.usuario &&\n activity.usuario.id &&\n activity.usuario.id > 0\n return (\n \n \n \n {getInitials(\n isUser\n ? activity.usuario.nome\n : activity.estabelecimento.nome\n )}\n \n \n \n {isUser\n ? activity.usuario.nome\n : activity.estabelecimento.nome}\n \n {` (@${isUser\n ? activity.usuario.username\n : activity.estabelecimento.username\n })`}\n \n \n }\n secondary={\n \n {activity.titulo}\n {/* {user.type === 'payment' && (\n \n {' '}\n | Ver pedido\n \n )} */}\n \n }\n />\n \n {formatDistance(new Date(activity.dataHora), new Date(), {\n locale: brLocale\n })}\n \n \n )\n })}\n \n \n
\n )\n}\n\nCustomerActivity.propTypes = {\n className: PropTypes.string\n}\n\nexport default CustomerActivity\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport clsx from 'clsx'\nimport { Pie } from 'react-chartjs-2'\nimport { makeStyles, useTheme } from '@material-ui/styles'\nimport { formatCurrency } from 'utils'\nimport pluralize from 'pluralize'\n\nconst useStyles = makeStyles(() => ({\n root: {\n position: 'relative'\n }\n}))\n\nconst Chart = (props) => {\n const { data: dataProp, className, ...rest } = props\n const classes = useStyles()\n const theme = useTheme()\n const data = {\n datasets: [\n {\n id: '1',\n data: [],\n backgroundColor: [],\n borderWidth: 5,\n borderColor: theme.palette.white,\n hoverBorderColor: theme.palette.white\n },\n {\n id: '2',\n data: [],\n backgroundColor: [],\n borderWidth: 5,\n borderColor: theme.palette.white,\n hoverBorderColor: theme.palette.white\n }\n ],\n labels: dataProp && dataProp.options ? dataProp.options : []\n }\n\n for (let i = 0; i < dataProp.options.length; i++) {\n data.datasets[0].data.push(dataProp.series[0][i])\n data.datasets[0].backgroundColor.push(dataProp.colors[i][200])\n // data.datasets[0].hoverBorderColor.push(color[400])\n data.datasets[1].data.push(dataProp.series[1][i])\n data.datasets[1].backgroundColor.push(dataProp.colors[i][200])\n // data.datasets[1].hoverBorderColor.push(color[400])\n }\n\n const options = {\n legend: {\n labels: {\n usePointStyle: true\n }\n },\n responsive: true,\n maintainAspectRatio: false,\n // animation: false,\n layout: { padding: 0 },\n tooltips: {\n enabled: true,\n mode: 'index',\n borderWidth: 1,\n borderColor: theme.palette.divider,\n backgroundColor: theme.palette.white,\n titleFontColor: theme.palette.text.primary,\n bodyFontColor: theme.palette.text.secondary,\n footerFontColor: theme.palette.text.secondary,\n callbacks: {\n label: function (tooltipItem, data) {\n var dataset = data.datasets[tooltipItem.datasetIndex]\n var meta = dataset._meta[Object.keys(dataset._meta)[0]]\n var total = meta.total\n var currentValue = dataset.data[tooltipItem.index]\n var percentage = parseFloat(((currentValue / total) * 100).toFixed(1))\n if (!isNaN(percentage)) {\n if (dataset.id === '2') {\n return `${formatCurrency(\n currentValue\n )} (${percentage.toLocaleString('pt-BR', {\n maximumFractionDigits: 2\n })}%)`\n } else {\n return (\n pluralize('pedido', currentValue, true) +\n ' (' +\n percentage.toLocaleString('pt-BR', {\n maximumFractionDigits: 2\n }) +\n '%)'\n )\n }\n } else {\n return null\n }\n },\n title: function (tooltipItem, data) {\n return data.labels[tooltipItem[0].index].toUpperCase()\n }\n }\n }\n }\n\n return (\n
\n \n
\n )\n}\n\nChart.propTypes = {\n className: PropTypes.string,\n data: PropTypes.array.isRequired\n}\n\nexport default Chart\n","import React, { useState, useEffect } from 'react'\nimport clsx from 'clsx'\nimport PropTypes from 'prop-types'\nimport { makeStyles } from '@material-ui/styles'\nimport {\n Card,\n CardHeader,\n CardContent,\n Divider,\n Typography,\n colors,\n Grid\n} from '@material-ui/core'\n\nimport { Chart } from './components'\nimport { useSelector } from 'react-redux'\nimport { Skeleton } from '@material-ui/lab'\nimport { getRandomColorsChart } from 'utils'\nimport constants from 'theme/constants'\nvar pluralize = require('pluralize')\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n ...constants.shadowCard\n },\n content: {\n padding: 0,\n '&:last-child': {\n paddingBottom: 0\n }\n },\n chartContainer: {\n padding: theme.spacing(3),\n alignContent: 'center',\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'center'\n },\n chart: {\n height: 281\n },\n title: {\n fontSize: '10px'\n },\n statsContainer: {\n display: 'flex'\n },\n statsItem: {\n flexGrow: 1,\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n padding: theme.spacing(1.5, 2),\n '&:not(:last-of-type)': {\n borderRight: `1px solid ${theme.palette.divider}`,\n borderBottom: `1px solid ${theme.palette.divider}`\n }\n }\n}))\n\nconst PlatformSales = (props) => {\n const { className, ...rest } = props\n\n const classes = useStyles()\n const { isLoading } = useSelector((state) => state.dashboard)\n const { graficoVendasPorPlataforma } = useSelector(\n (state) => state.dashboard.dashboardAdmin\n )\n const { showValues } = useSelector((state) => state.global)\n\n const percentageCalculator = (value, total) => {\n return (value * 100) / total\n }\n\n const dataProp = {\n ...graficoVendasPorPlataforma,\n colors: getRandomColorsChart(graficoVendasPorPlataforma.options.length)\n }\n return (\n \n \n \n \n
\n {showValues &&\n !isLoading &&\n dataProp &&\n dataProp.options &&\n dataProp.options.length > 0 ? (\n \n ) : (\n \n )}\n
\n \n \n {dataProp && dataProp.options && dataProp.options.length > 0 ? (\n dataProp.options.map((plataforma, index) => (\n \n \n {plataforma}\n \n \n {showValues && !isLoading ? (\n percentageCalculator(\n dataProp.series[0][index],\n dataProp.series[0].reduce(\n (a, b) => a + b // soma todos os valores\n )\n ).toLocaleString('pt-BR', {\n maximumFractionDigits: 2\n }) + '%'\n ) : (\n \n )}\n \n \n ))\n ) : (\n \n \n Nenhum resultado encontrado\n \n \n )}\n \n
\n
\n )\n}\n\nPlatformSales.propTypes = {\n className: PropTypes.string\n}\n\nexport default PlatformSales\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport clsx from 'clsx'\nimport { Pie } from 'react-chartjs-2'\nimport { makeStyles, useTheme } from '@material-ui/styles'\nimport { formatCurrency } from 'utils'\n\nconst useStyles = makeStyles(() => ({\n root: {\n position: 'relative'\n }\n}))\n\nconst Chart = (props) => {\n const { data: dataProp, className, ...rest } = props\n const classes = useStyles()\n const theme = useTheme()\n const data = {\n datasets: [\n {\n id: '1',\n data: [],\n backgroundColor: [],\n borderWidth: 5,\n borderColor: theme.palette.white,\n hoverBorderColor: theme.palette.white\n },\n {\n id: '2',\n data: [],\n backgroundColor: [],\n borderWidth: 5,\n borderColor: theme.palette.white,\n hoverBorderColor: theme.palette.white\n }\n ],\n labels: dataProp && dataProp.options ? dataProp.options : []\n }\n\n for (let i = 0; i < dataProp.options.length; i++) {\n data.datasets[0].data.push(dataProp.series[0][i])\n data.datasets[0].backgroundColor.push(dataProp.colors[i][200])\n // data.datasets[0].hoverBorderColor.push(color[400])\n }\n\n const options = {\n legend: {\n labels: {\n usePointStyle: true\n }\n },\n responsive: true,\n maintainAspectRatio: false,\n // animation: false,\n layout: { padding: 0 },\n tooltips: {\n enabled: true,\n mode: 'index',\n borderWidth: 1,\n borderColor: theme.palette.divider,\n backgroundColor: theme.palette.white,\n titleFontColor: theme.palette.text.primary,\n bodyFontColor: theme.palette.text.secondary,\n footerFontColor: theme.palette.text.secondary,\n callbacks: {\n label: function (tooltipItem, data) {\n var dataset = data.datasets[tooltipItem.datasetIndex]\n var meta = dataset._meta[Object.keys(dataset._meta)[0]]\n var total = meta.total\n var currentValue = dataset.data[tooltipItem.index]\n var percentage = parseFloat(((currentValue / total) * 100).toFixed(1))\n if (!isNaN(percentage)) {\n if (dataset.id === '2') {\n return `${formatCurrency(\n currentValue\n )} (${percentage.toLocaleString('pt-BR', {\n maximumFractionDigits: 2\n })}%)`\n } else {\n return `${currentValue} ${currentValue === 1 ? 'interação' : 'interações'\n } (${percentage.toLocaleString('pt-BR', {\n maximumFractionDigits: 2\n })}%)`\n }\n } else {\n return null\n }\n },\n title: function (tooltipItem, data) {\n return data.labels[tooltipItem[0].index].toUpperCase()\n }\n }\n }\n }\n\n return (\n
\n \n
\n )\n}\n\nChart.propTypes = {\n className: PropTypes.string,\n data: PropTypes.array.isRequired\n}\n\nexport default Chart\n","import React, { useState, useEffect } from 'react'\nimport clsx from 'clsx'\nimport PropTypes from 'prop-types'\nimport { makeStyles } from '@material-ui/styles'\nimport {\n Card,\n CardHeader,\n CardContent,\n Divider,\n Typography,\n colors,\n Grid\n} from '@material-ui/core'\n\nimport { Chart } from './components'\nimport { useSelector } from 'react-redux'\nimport { Skeleton } from '@material-ui/lab'\nimport { getRandomColorsChart } from 'utils'\nimport constants from 'theme/constants'\nvar pluralize = require('pluralize')\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n ...constants.shadowCard\n },\n content: {\n padding: 0,\n '&:last-child': {\n paddingBottom: 0\n }\n },\n chartContainer: {\n padding: theme.spacing(3),\n alignContent: 'center',\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'center'\n },\n chart: {\n height: 281\n },\n title: {\n fontSize: '10px'\n },\n statsContainer: {\n display: 'flex'\n },\n statsItem: {\n flexGrow: 1,\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n padding: theme.spacing(1.5, 2),\n '&:not(:last-of-type)': {\n borderRight: `1px solid ${theme.palette.divider}`,\n borderBottom: `1px solid ${theme.palette.divider}`\n }\n }\n}))\n\nconst TypeInteractions = (props) => {\n const { className, ...rest } = props\n\n const classes = useStyles()\n const { isLoading } = useSelector((state) => state.dashboard)\n const { graficoInteracoesPorTipo } = useSelector(\n (state) => state.dashboard.dashboardAdmin\n )\n const { showValues } = useSelector((state) => state.global)\n\n const percentageCalculator = (value, total) => {\n return (value * 100) / total\n }\n\n const dataProp = {\n ...graficoInteracoesPorTipo,\n colors: getRandomColorsChart(graficoInteracoesPorTipo.options.length)\n }\n return (\n \n \n \n \n
\n {showValues &&\n !isLoading &&\n dataProp &&\n dataProp.options &&\n dataProp.options.length > 0 ? (\n \n ) : (\n \n )}\n
\n \n \n {dataProp && dataProp.options && dataProp.options.length > 0 ? (\n dataProp.options.map((plataforma, index) => (\n \n \n {plataforma}\n \n \n {showValues && !isLoading ? (\n percentageCalculator(\n dataProp.series[0][index],\n dataProp.series[0].reduce(\n (a, b) => a + b // soma todos os valores\n )\n ).toLocaleString('pt-BR', {\n maximumFractionDigits: 2\n }) + '%'\n ) : (\n \n )}\n \n \n ))\n ) : (\n \n \n Nenhum resultado encontrado\n \n \n )}\n \n
\n
\n )\n}\n\nTypeInteractions.propTypes = {\n className: PropTypes.string\n}\n\nexport default TypeInteractions\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport clsx from 'clsx'\nimport { Pie } from 'react-chartjs-2'\nimport { makeStyles, useTheme } from '@material-ui/styles'\nimport { formatCurrency } from 'utils'\nimport pluralize from 'pluralize'\n\nconst useStyles = makeStyles(() => ({\n root: {\n position: 'relative'\n }\n}))\n\nconst Chart = (props) => {\n const { data: dataProp, className, ...rest } = props\n\n const classes = useStyles()\n const theme = useTheme()\n const data = {\n datasets: [\n {\n id: '1',\n data: [],\n backgroundColor: [],\n borderWidth: 5,\n borderColor: theme.palette.white,\n hoverBorderColor: theme.palette.white\n },\n {\n id: '2',\n data: [],\n backgroundColor: [],\n borderWidth: 5,\n borderColor: theme.palette.white,\n hoverBorderColor: theme.palette.white\n }\n ],\n labels: dataProp && dataProp.options ? dataProp.options : []\n }\n\n for (let i = 0; i < dataProp.options.length; i++) {\n data.datasets[0].data.push(dataProp.series[0][i])\n data.datasets[0].backgroundColor.push(dataProp.colors[i][200])\n // data.datasets[0].hoverBorderColor.push(color[400])\n data.datasets[1].data.push(dataProp.series[1][i])\n data.datasets[1].backgroundColor.push(dataProp.colors[i][200])\n // data.datasets[1].hoverBorderColor.push(color[400])\n }\n\n const options = {\n legend: {\n labels: {\n usePointStyle: true\n }\n },\n responsive: true,\n maintainAspectRatio: false,\n // animation: false,\n layout: { padding: 0 },\n tooltips: {\n enabled: true,\n mode: 'index',\n borderWidth: 1,\n borderColor: theme.palette.divider,\n backgroundColor: theme.palette.white,\n titleFontColor: theme.palette.text.primary,\n bodyFontColor: theme.palette.text.secondary,\n footerFontColor: theme.palette.text.secondary,\n callbacks: {\n label: function (tooltipItem, data) {\n var dataset = data.datasets[tooltipItem.datasetIndex]\n var meta = dataset._meta[Object.keys(dataset._meta)[0]]\n var total = meta.total\n var currentValue = dataset.data[tooltipItem.index]\n var percentage = parseFloat(((currentValue / total) * 100).toFixed(1))\n if (!isNaN(percentage)) {\n if (dataset.id === '2') {\n return `${formatCurrency(\n currentValue\n )} (${percentage.toLocaleString('pt-BR', {\n maximumFractionDigits: 2\n })}%)`\n } else {\n return (\n pluralize('pedido', currentValue, true) +\n ' (' +\n percentage.toLocaleString('pt-BR', {\n maximumFractionDigits: 2\n }) +\n '%)'\n )\n }\n } else {\n return null\n }\n },\n title: function (tooltipItem, data) {\n return data.labels[tooltipItem[0].index].toUpperCase()\n }\n }\n }\n }\n\n return (\n
\n \n
\n )\n}\n\nChart.propTypes = {\n className: PropTypes.string,\n data: PropTypes.array.isRequired\n}\n\nexport default Chart\n","import React from 'react'\nimport clsx from 'clsx'\nimport PropTypes from 'prop-types'\nimport { makeStyles } from '@material-ui/styles'\nimport {\n Card,\n CardHeader,\n CardContent,\n Divider,\n Typography,\n Grid\n} from '@material-ui/core'\n\nimport { Chart } from './components'\nimport { useSelector } from 'react-redux'\nimport { Skeleton } from '@material-ui/lab'\nimport { getRandomColorsChart } from 'utils'\nimport constants from 'theme/constants'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n ...constants.shadowCard\n },\n content: {\n padding: 0,\n '&:last-child': {\n paddingBottom: 0\n }\n },\n chartContainer: {\n padding: theme.spacing(3),\n alignContent: 'center',\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'center'\n },\n chart: {\n height: 281\n },\n title: {\n fontSize: '10px'\n },\n statsContainer: {\n display: 'flex'\n },\n statsItem: {\n flexGrow: 1,\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n padding: theme.spacing(1.5, 2),\n '&:not(:last-of-type)': {\n borderRight: `1px solid ${theme.palette.divider}`,\n borderBottom: `1px solid ${theme.palette.divider}`\n }\n }\n}))\n\nconst PaymentTypeSales = (props) => {\n const { className, ...rest } = props\n\n const classes = useStyles()\n const { isLoading } = useSelector((state) => state.dashboard)\n const { graficoVendasPorFormaPagamento } = useSelector(\n (state) => state.dashboard.dashboardAdmin\n )\n const { showValues } = useSelector((state) => state.global)\n\n const percentageCalculator = (value, total) => {\n return (value * 100) / total\n }\n\n const dataProp = {\n ...graficoVendasPorFormaPagamento,\n colors: getRandomColorsChart(graficoVendasPorFormaPagamento.options.length)\n }\n return (\n \n \n \n \n
\n {showValues &&\n !isLoading &&\n dataProp &&\n dataProp.options &&\n dataProp.options.length > 0 ? (\n \n ) : (\n \n )}\n
\n \n \n {dataProp && dataProp.options && dataProp.options.length > 0 ? (\n dataProp.options.map((plataforma, index) => (\n \n \n {plataforma}\n \n \n {showValues && !isLoading ? (\n percentageCalculator(\n dataProp.series[0][index],\n dataProp.series[0].reduce(\n (a, b) => a + b // soma todos os valores\n )\n ).toLocaleString('pt-BR', {\n maximumFractionDigits: 2\n }) + '%'\n ) : (\n \n )}\n \n \n ))\n ) : (\n \n \n Nenhum resultado encontrado\n \n \n )}\n \n
\n
\n )\n}\n\nPaymentTypeSales.propTypes = {\n className: PropTypes.string\n}\n\nexport default PaymentTypeSales\n","import React from 'react'\nimport { Link as RouterLink } from 'react-router-dom'\nimport { makeStyles } from '@material-ui/styles'\nimport { Typography, Button, useTheme, useMediaQuery } from '@material-ui/core'\n\nimport { Page } from 'components'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(3),\n paddingTop: '10vh',\n display: 'flex',\n flexDirection: 'column',\n alignContent: 'center'\n },\n imageContainer: {\n marginTop: theme.spacing(6),\n display: 'flex',\n justifyContent: 'center'\n },\n image: {\n maxWidth: '100%',\n width: 560,\n maxHeight: 300,\n height: 'auto'\n },\n buttonContainer: {\n marginTop: theme.spacing(6),\n display: 'flex',\n justifyContent: 'center'\n }\n}))\n\nconst AccessDenied = () => {\n const classes = useStyles()\n const theme = useTheme()\n const mobileDevice = useMediaQuery(theme.breakpoints.down('sm'))\n\n return (\n \n \n 403: O acesso a essa página foi negado.\n \n \n Você não tem autorização para acessar essa página\n \n
\n \n
\n
\n \n Voltar para home\n \n
\n \n )\n}\n\nexport default AccessDenied\n","import React, { useEffect } from 'react'\nimport { makeStyles } from '@material-ui/styles'\nimport { Grid } from '@material-ui/core'\nimport { Page } from 'components'\nimport { useDispatch } from 'react-redux'\nimport {\n Overview,\n MostProfitableOrganizes,\n CustomerActivity,\n Header,\n PlatformSales,\n TypeInteractions,\n PaymentTypeSales\n} from './components'\nimport { globalActions } from '_actions'\nimport { AccessControl } from '../../components/Utils'\nimport AccessDenied from 'views/Errors/AccessDenied'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(3)\n },\n\n container: {\n '& > *': {\n height: '100%'\n }\n }\n}))\n\nconst DashboardAdmin = () => {\n const classes = useStyles()\n const dispatch = useDispatch()\n\n useEffect(() => {\n dispatch(globalActions.setIsVisibleButtonShowValues(true))\n return () => {\n dispatch(globalActions.setIsVisibleButtonShowValues(false))\n }\n }, [])\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 \n \n \n )}\n no={() => }\n />\n \n )\n}\n\nexport default DashboardAdmin\n","import { colors } from '@material-ui/core'\n\nconst buildGradient = (start, end) =>\n `linear-gradient(180deg, ${start} 0%, ${end} 100%)`\n\nconst grey = buildGradient(colors.grey[400], colors.grey[600])\nconst blue = buildGradient(colors.blue[700], colors.blue[900])\nconst indigo = buildGradient(colors.indigo[400], colors.indigo[600])\nconst green = buildGradient(colors.green[400], colors.green[600])\nconst orange = buildGradient(colors.orange[400], colors.orange[700])\nconst red = buildGradient(colors.red[500], colors.red[700])\nconst primary = buildGradient('#f7ac52', '#FFC20A')\n\nexport default {\n grey,\n blue,\n indigo,\n green,\n orange,\n red,\n primary\n}\n","import React, { useState, useEffect } from 'react'\nimport { Link as RouterLink } from 'react-router-dom'\nimport validate from 'validate.js'\nimport clsx from 'clsx'\nimport PropTypes from 'prop-types'\nimport { makeStyles } from '@material-ui/styles'\nimport { usuarioAction } from '../../../../_actions'\nimport {\n Button,\n Checkbox,\n FormHelperText,\n TextField,\n Typography,\n Link,\n FormControl,\n InputLabel,\n OutlinedInput,\n InputAdornment,\n IconButton\n} from '@material-ui/core'\nimport Visibility from '@material-ui/icons/Visibility'\nimport VisibilityOff from '@material-ui/icons/VisibilityOff'\nimport { useDispatch, useSelector } from 'react-redux'\n\nconst schema = {\n nome: {\n presence: { allowEmpty: false, message: 'é obrigatório' },\n length: {\n maximum: 65\n }\n },\n usuario: {\n presence: { allowEmpty: false, message: 'é obrigatório' },\n length: {\n maximum: 65\n }\n },\n email: {\n presence: { allowEmpty: false, message: 'é obrigatório' },\n email: true,\n length: {\n maximum: 64\n }\n },\n senha: {\n presence: { allowEmpty: false, message: 'é obrigatório' },\n length: {\n maximum: 128\n }\n },\n termosDeUso: {\n presence: { allowEmpty: false, message: 'é obrigatório' },\n checked: true\n }\n}\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n fields: {\n margin: theme.spacing(-1),\n display: 'flex',\n flexWrap: 'wrap',\n '& > *': {\n flexGrow: 1,\n margin: theme.spacing(1)\n }\n },\n termosDeUso: {\n display: 'flex',\n alignItems: 'center',\n marginTop: theme.spacing(-1)\n },\n termosDeUsoCheckbox: {\n marginLeft: '-14px'\n },\n submitButton: {\n marginTop: theme.spacing(0.5),\n width: '100%'\n }\n}))\n\nconst CadastroForm = (props) => {\n const { className, ...rest } = props\n const dispatch = useDispatch()\n const classes = useStyles()\n const loading = useSelector((state) => state.usuario.loading)\n const user = useSelector((state) => state.usuario)\n const [formState, setFormState] = useState({\n isValid: false,\n values: {},\n touched: {},\n errors: {}\n })\n\n const [showPassword, setShowPassword] = useState(false)\n\n const handleClickShowPassword = () => {\n setShowPassword(!showPassword)\n }\n\n const handleMouseDownPassword = (event) => {\n event.preventDefault()\n }\n\n useEffect(() => {\n const errors = validate(formState.values, schema)\n\n setFormState((formState) => ({\n ...formState,\n isValid: errors ? false : true,\n errors: errors || {}\n }))\n }, [formState.values])\n\n const handleChange = (event) => {\n event.persist()\n\n setFormState((formState) => ({\n ...formState,\n values: {\n ...formState.values,\n [event.target.name]:\n event.target.type === 'checkbox'\n ? event.target.checked\n : event.target.value\n },\n touched: {\n ...formState.touched,\n [event.target.name]: true\n }\n }))\n }\n\n const handleChangeUsername = (prop) => (event) => {\n event.persist()\n\n setFormState((formState) => ({\n ...formState,\n values: {\n ...formState.values,\n usuario: event.target.value\n }\n }))\n dispatch(usuarioAction.onChangeProps(prop, event))\n }\n\n const handleChangeEmail = (event) => {\n event.persist()\n\n setFormState((formState) => ({\n ...formState,\n values: {\n ...formState.values,\n email: event.target.value.toLowerCase()\n }\n }))\n }\n\n const handleSubmit = async (event) => {\n event.preventDefault()\n let payload = {\n id: 0,\n email: formState.values.email,\n nome: formState.values.nome,\n senha: formState.values.senha,\n username: formState.values.usuario,\n tipoUsuarioId: 1\n }\n dispatch(usuarioAction.createUsuario(payload))\n }\n\n const hasError = (field) =>\n formState.touched[field] && formState.errors[field] ? true : false\n\n return (\n \n
\n \n @\n }}\n />\n \n \n Senha *\n \n \n {showPassword ? : }\n \n \n }\n labelWidth={70}\n />\n {hasError('senha') && (\n {formState.errors.senha[0]}\n )}\n \n
\n
\n \n \n Concordo com os{' '}\n \n termos de uso\n {' '}\n e{' '}\n \n políticas de privacidade\n \n \n
\n {hasError('termosDeUso') && (\n \n {'Você precisa aceitar os termos de uso e políticas.'}\n \n )}\n
\n
\n {loading ? (\n \n Cadastrando...\n \n ) : (\n \n Criar conta\n \n )}\n \n )\n}\n\nCadastroForm.propTypes = {\n className: PropTypes.string\n}\n\nexport default CadastroForm\n","import React, { useState } from 'react'\nimport { Button, Grid } from '@material-ui/core'\nimport { Google } from '../../../../icons'\nimport { authActions } from '../../../../_actions'\nimport FacebookIcon from '@material-ui/icons/Facebook'\nimport FacebookLogin from 'react-facebook-login/dist/facebook-login-render-props'\nimport { makeStyles } from '@material-ui/styles'\nimport { useDispatch } from 'react-redux'\n\nconst useStyles = makeStyles((theme) => ({\n facebook: {\n backgroundColor: '#3b5998',\n textTransform: 'none',\n '&:hover': {\n backgroundColor: theme.palette.secondary.light\n }\n },\n google: {\n backgroundColor: '#fff',\n textTransform: 'none',\n color: theme.palette.primary.dark,\n '&:hover': {\n color: 'white'\n }\n }\n}))\n\nconst SocialButtons = () => {\n const classes = useStyles()\n const [submitted, setSubmitted] = useState(false)\n const dispatch = useDispatch()\n const responseFacebook = (response) => {\n if (response.accessToken) {\n dispatch(authActions.facebookLogin(response.accessToken, true))\n }\n }\n return (\n
\n \n \n (\n }\n >\n {submitted ? (\n 'Validando informações...'\n ) : (\n <>\n Entrar com\n  Facebook\n \n )}\n \n )}\n />\n \n {/* \n }\n >\n {submitted ? (\n 'Validando informações...'\n ) : (\n <>\n Entrar com\n  Google\n \n )}\n \n */}\n \n
\n )\n}\n\nexport default SocialButtons\n","import React from 'react'\nimport { Link as RouterLink } from 'react-router-dom'\nimport { makeStyles } from '@material-ui/styles'\nimport {\n Card,\n CardContent,\n Typography,\n Divider,\n Link,\n Hidden\n} from '@material-ui/core'\nimport Image from 'material-ui-image'\nimport PersonAddIcon from '@material-ui/icons/PersonAddOutlined'\n\nimport gradients from 'utils/gradients'\nimport { Page } from 'components'\nimport { CadastroForm } from './components'\nimport SocialButtons from './components/SocialButtons/SocialButtons'\nimport TagManager from 'react-gtm-module'\n\nconst tagManagerArgs = {\n dataLayer: {\n event: 'pageView',\n page: '/cadastro'\n },\n dataLayerName: 'PaginaCadastro'\n}\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n height: '100%',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n padding: theme.spacing(6, 2)\n },\n card: {\n width: theme.breakpoints.values.md,\n maxWidth: '100%',\n overflow: 'unset',\n display: 'flex',\n position: 'relative',\n '& > *': {\n flexGrow: 1,\n flexBasis: '50%',\n width: '50%'\n },\n [theme.breakpoints.down('sm')]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [theme.breakpoints.down('xs')]: {\n marginTop: theme.spacing(20),\n marginBottom: theme.spacing(3)\n }\n },\n content: {\n padding: theme.spacing(6, 4, 3, 3)\n },\n media: {\n // borderTopRightRadius: 4,\n // borderBottomRightRadius: 4,\n padding: theme.spacing(7)\n // color: theme.palette.white,\n // display: 'flex',\n // flexDirection: 'column',\n // justifyContent: 'flex-end',\n // [theme.breakpoints.down('md')]: {\n // display: 'none'\n // }\n },\n icon: {\n backgroundImage: gradients.primary,\n color: theme.palette.white,\n borderRadius: theme.shape.borderRadius,\n padding: theme.spacing(1),\n position: 'absolute',\n top: -32,\n left: theme.spacing(3),\n height: 64,\n width: 64,\n fontSize: 32\n },\n registerForm: {\n marginTop: theme.spacing(2)\n },\n divider: {\n margin: theme.spacing(2, 0)\n },\n person: {\n marginTop: theme.spacing(2),\n display: 'flex'\n },\n avatar: {\n marginRight: theme.spacing(2)\n }\n}))\n\nconst Cadastro = () => {\n TagManager.dataLayer(tagManagerArgs)\n const classes = useStyles()\n return (\n \n \n \n \n \n Cadastrar-se\n \n \n Descubra uma forma simples de gerenciar eventos\n \n \n \n {/* \n ou\n */}\n \n \n \n Já tem uma conta? 🤔\n \n \n \n \n \n \n \n )\n}\n\nexport default Cadastro\n","export default () => {\n var today = new Date()\n var curHr = today.getHours()\n\n if (curHr < 12) {\n return 'Bom dia 🌞'\n } else if (curHr < 18) {\n return 'Boa tarde ✌'\n } else {\n return 'Boa noite 🌜'\n }\n}\n","import React from 'react'\nimport { useDispatch, useSelector } from 'react-redux'\nimport PropTypes from 'prop-types'\nimport clsx from 'clsx'\nimport { makeStyles } from '@material-ui/styles'\nimport {\n Typography,\n Grid,\n Button,\n Hidden,\n useTheme,\n useMediaQuery\n} from '@material-ui/core'\nimport BarChartIcon from '@material-ui/icons/BarChart'\nimport messageTime from 'utils/stringTimeHello'\nimport { history } from 'utils'\nimport Image from 'material-ui-image'\nimport { eventoAction } from '_actions'\nimport EventRoundedIcon from '@material-ui/icons/EventRounded'\n\nconst useStyles = makeStyles((theme) => ({\n root: {}\n}))\n\nconst Header = (props) => {\n const { className, ...rest } = props\n const theme = useTheme()\n const isMobile = useMediaQuery(theme.breakpoints.down('xs'))\n const dispatch = useDispatch()\n const user = useSelector((state) => state.authentication.user)\n const classes = useStyles()\n const isDisabled = useSelector((state) => {\n if (\n state.usuarioEstabelecimento.usuarioEstabelecimento.length <= 0 ||\n !state.authentication.user.emailVerificado\n ) {\n return true\n }\n return false\n })\n\n const handleClickNewEvent = () => {\n dispatch(eventoAction.prepareStateToNewEvento())\n }\n\n return (\n
\n \n \n \n Página inicial\n \n \n {messageTime()}, {user.nome.split(' ').slice(0, -1).join(' ')}\n \n \n Dê uma espiada no que está acontecendo hoje\n \n \n \n history.push('/dashboard')}\n startIcon={}\n >\n Ver dashboard\n \n \n \n handleClickNewEvent()}\n startIcon={}\n >\n Criar novo evento\n \n \n \n \n\n \n \n \n \n \n \n
\n )\n}\n\nHeader.propTypes = {\n className: PropTypes.string\n}\n\nexport default Header\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport clsx from 'clsx'\nimport { makeStyles } from '@material-ui/styles'\nimport {\n Card,\n Typography,\n Grid,\n CardHeader,\n Tooltip,\n IconButton\n} from '@material-ui/core'\nimport { Skeleton } from '@material-ui/lab'\nimport CachedRoundedIcon from '@material-ui/icons/CachedRounded'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { dashboardAction } from '_actions'\nimport constants from 'theme/constants'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n ...constants.shadowCard\n },\n content: {\n padding: 0\n },\n item: {\n padding: theme.spacing(2),\n textAlign: 'center',\n [theme.breakpoints.up('md')]: {\n '&:not(:last-of-type)': {\n borderRight: `1px solid ${theme.palette.divider}`\n }\n },\n [theme.breakpoints.down('sm')]: {\n '&:not(:last-of-type)': {\n borderBottom: `1px solid ${theme.palette.divider}`\n }\n }\n },\n titleWrapper: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center'\n },\n label: {\n marginLeft: theme.spacing(1),\n marginTop: theme.spacing(1)\n },\n h2: {\n paddingTop: theme.spacing(1)\n },\n header: {\n marginBottom: theme.spacing(-7)\n }\n}))\n\nconst Statistics = (props) => {\n const { className, dashboardHome, isLoading, ...rest } = props\n const classes = useStyles()\n const dispatch = useDispatch()\n const { estabelecimentoId } = useSelector(\n (state) => state.usuarioEstabelecimento\n )\n const handleClickRefresh = () => {\n if (estabelecimentoId !== '') {\n dispatch(dashboardAction.getDashboardHome(estabelecimentoId))\n }\n }\n const { showValues } = useSelector((state) => state.global)\n return (\n \n \n \n \n \n \n }\n />\n \n \n \n Pedidos aguardando pagamento\n \n \n {isLoading || !showValues ? (\n \n ) : (\n dashboardHome.quantidadePedidosPendentes\n )}\n \n \n \n \n Pedidos realizados últimos 7 dias\n \n \n {isLoading || !showValues ? (\n \n ) : (\n dashboardHome.quantidadePagamentos7Dias\n )}\n \n \n \n \n Valor recebido últimos 7 dias\n \n \n {isLoading || !showValues ? (\n \n ) : (\n Intl.NumberFormat('pt-BR', {\n style: 'currency',\n currency: 'BRL'\n }).format(dashboardHome.valorPagamentos7Dias)\n )}\n \n \n \n \n Eventos ativos\n \n \n {isLoading || !showValues ? (\n \n ) : (\n dashboardHome.eventosAtivos\n )}\n \n \n \n \n )\n}\n\nStatistics.propTypes = {\n className: PropTypes.string,\n dashboardHome: PropTypes.object.isRequired\n}\n\nexport default Statistics\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { useSelector } from 'react-redux'\nimport clsx from 'clsx'\nimport { history } from 'utils'\nimport { makeStyles } from '@material-ui/styles'\nimport {\n Card,\n Typography,\n Button,\n CircularProgress,\n Box,\n useMediaQuery,\n useTheme\n} from '@material-ui/core'\nimport { Alert, AlertTitle } from '@material-ui/lab'\nimport { crudService } from '_services/'\nimport { useTimer } from 'use-timer'\nimport { toast } from 'react-toastify'\n\nfunction CircularProgressWithLabel(props) {\n return (\n \n \n \n {`${props.value}s`}\n \n \n )\n}\n\nCircularProgressWithLabel.propTypes = {\n /**\n * The value of the progress indicator for the determinate and static variants.\n * Value between 0 and 100.\n */\n value: PropTypes.number.isRequired\n}\n\nconst useStyles = makeStyles(() => ({\n root: {}\n}))\n\nconst Notifications = (props) => {\n const { className, ...rest } = props\n const classes = useStyles()\n const theme = useTheme()\n const isMobile = useMediaQuery(theme.breakpoints.down('xs'))\n const { time, start, isRunning } = useTimer({\n initialTime: 99,\n endTime: 0,\n timerType: 'DECREMENTAL'\n })\n\n const usuarioEstabelecimento = useSelector(\n (state) => state.usuarioEstabelecimento.usuarioEstabelecimento.length\n )\n\n const emailVerificado = useSelector(\n (state) => state.authentication.user.emailVerificado\n )\n\n const email = useSelector((state) => state.authentication.user.email)\n\n const requestEmailVerification = (email) => {\n let payload = {\n email: email\n }\n let apiEndpoint = 'usuarios/request-email-verification'\n crudService\n .post(apiEndpoint, payload)\n .then(() => {\n start()\n toast.success('E-mail enviado! 📩 Verifique a caixa de entrada!')\n })\n .catch(() => {\n toast.error('Aconteceu um erro inesperado ao enviar o e-mail! 😪')\n })\n }\n return (\n <>\n {!emailVerificado && (\n \n \n {isRunning && (\n <>\n \n Enviar novamente em\n \n \n \n )}\n requestEmailVerification(email)}\n >\n Reenviar e-mail\n \n \n )\n }\n severity=\"error\"\n >\n \n \n {' '}\n Seu e-mail não foi verificado... 😪

Para usar a\n plataforma confirme seu endereço email!\n \n
\n \n Verifique a caixa de entrada do seu e-mail para continuar com a\n confirmação.\n \n {isMobile && (\n requestEmailVerification(email)}\n >\n {isRunning ? 'Enviar novamente' : 'Reenviar e-mail'}\n {isRunning && }\n \n )}\n \n
\n )}\n {(usuarioEstabelecimento === 0 || usuarioEstabelecimento === undefined) &&\n emailVerificado && (\n \n history.push(`/estabelecimento/`)}\n color=\"inherit\"\n size=\"small\"\n disabled={!emailVerificado}\n >\n CADASTRAR AGORA\n \n )\n }\n severity=\"warning\"\n >\n \n \n Notamos que você ainda não cadastrou nenhum organizador e/ou\n estabelecimento.\n

\n Para liberar e aproveitar todas as funções clique no botão ao\n lado para iniciar seu primeiro cadastro.\n \n
\n \n ATENÇÃO! Você precisa cadastrar ao menos um organizador e/ou\n estabelecimento para criar seu evento!\n \n {isMobile && (\n history.push(`/estabelecimento/`)}\n color=\"inherit\"\n size=\"small\"\n disabled={!emailVerificado}\n >\n CADASTRAR AGORA\n \n )}\n \n
\n )}\n \n )\n}\n\nNotifications.propTypes = {\n className: PropTypes.string\n}\n\nexport default Notifications\n","import React, { useState, useEffect } from 'react'\nimport { useSelector } from 'react-redux'\nimport Button from '@material-ui/core/Button'\nimport Dialog from '@material-ui/core/Dialog'\nimport DialogTitle from '@material-ui/core/DialogTitle'\nimport DialogContent from '@material-ui/core/DialogContent'\nimport DialogActions from '@material-ui/core/DialogActions'\nimport Typography from '@material-ui/core/Typography'\nimport { history } from 'utils'\n\nconst FirstEstabelecimento = () => {\n const { usuarioEstabelecimento } = useSelector(\n (state) => state.usuarioEstabelecimento\n )\n const emailVerificado = useSelector(\n (state) => state.authentication.user.emailVerificado\n )\n const [open, setOpen] = useState(false)\n\n const handleClick = () => {\n setOpen(false)\n history.push(`/estabelecimento/`)\n }\n const handleClose = () => {\n setOpen(false)\n }\n\n useEffect(() => {\n if (\n (usuarioEstabelecimento.length === 0 ||\n usuarioEstabelecimento === undefined) &&\n emailVerificado\n ) {\n setOpen(true)\n } else {\n setOpen(false)\n }\n }, [usuarioEstabelecimento, emailVerificado])\n\n return (\n
\n \n \n Saudações do Corujas 🦉\n \n \n \n Seja bem vindo a plataforma para gerenciar seus eventos de forma\n simples, rápida e eficaz.\n \n \n O Corujas e todo seu time estão prontos e dispostos a lhe ajudar em\n quaisquer dúvidas e dificuldades que forem encontradas em nossa\n plataforma.\n \n \n Notamos que você ainda não cadastrou nenhum organizador e/ou\n estabelecimento. Para liberar e aproveitar todas as funções clique\n no botão abaixo para iniciar seu primeiro cadastro.\n \n \n \n \n \n \n
\n )\n}\n\nexport default FirstEstabelecimento\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport clsx from 'clsx'\nimport { v1 as uuid } from 'uuid'\nimport { makeStyles } from '@material-ui/styles'\nimport {\n Card,\n IconButton,\n List,\n ListItem,\n ListItemIcon,\n ListItemSecondaryAction,\n ListItemText,\n Typography,\n Tooltip\n} from '@material-ui/core'\nimport ArrowForwardIcon from '@material-ui/icons/ArrowForwardOutlined'\nimport PaymentIcon from '@material-ui/icons/PaymentOutlined'\nimport NotificationsActiveOutlinedIcon from '@material-ui/icons/NotificationsActiveOutlined'\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n value: {\n fontWeight: theme.typography.fontWeightMedium\n },\n type: {\n fontWeight: theme.typography.fontWeightMedium\n }\n}))\n\nconst Summary = (props) => {\n const { className, ...rest } = props\n\n const classes = useStyles()\n const summary = [\n {\n id: uuid(),\n value: 2,\n type: 'ações',\n message: 'que precisam de sua atenção'\n },\n {\n id: uuid(),\n value: 3,\n type: 'pagamentos',\n message: 'que precisam de sua confirmação'\n }\n ]\n\n const icons = {\n ações: ,\n pagamentos: \n }\n\n return (\n \n \n {summary.map((notification, i) => (\n \n {icons[notification.type]}\n \n \n {notification.value}{' '}\n {notification.type}{' '}\n {notification.message}\n \n \n \n \n \n \n \n \n \n \n ))}\n \n \n )\n}\n\nSummary.propTypes = {\n className: PropTypes.string\n}\n\nexport default Summary\n","import React, { useEffect } from 'react'\nimport { makeStyles } from '@material-ui/styles'\nimport { Page } from 'components'\n\nimport {\n Notifications,\n Header,\n Statistics,\n Summary,\n FirstEstabelecimento\n} from './components'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { dashboardAction, globalActions } from '_actions'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(3),\n [theme.breakpoints.up('lg')]: {\n paddingTop: theme.spacing(0)\n }\n },\n statistics: {\n [theme.breakpoints.down('md')]: {\n marginTop: theme.spacing(3)\n }\n },\n notifications: {\n marginTop: theme.spacing(3),\n [theme.breakpoints.down('md')]: {\n marginTop: theme.spacing(0),\n marginBottom: theme.spacing(3)\n }\n },\n summary: {\n marginTop: theme.spacing(3)\n }\n}))\n\nconst Home = () => {\n const classes = useStyles()\n const dispatch = useDispatch()\n const { dashboardHome, isLoading } = useSelector((state) => state.dashboard)\n const { estabelecimentoId } = useSelector(\n (state) => state.usuarioEstabelecimento\n )\n\n useEffect(() => {\n if (estabelecimentoId !== '') {\n dispatch(dashboardAction.getDashboardHome(estabelecimentoId))\n }\n }, [dispatch, estabelecimentoId])\n\n useEffect(() => {\n dispatch(globalActions.setIsVisibleButtonShowValues(true))\n return () => {\n dispatch(globalActions.setIsVisibleButtonShowValues(false))\n }\n }, [])\n\n return (\n \n \n \n
\n \n {/* */}\n \n )\n}\n\nexport default Home\n","import React, { useEffect, useState } from 'react'\nimport {\n makeStyles,\n Tooltip,\n Paper,\n Typography,\n IconButton\n} from '@material-ui/core'\nimport { formatCurrency } from 'utils'\nimport VisibilityOffTwoToneIcon from '@material-ui/icons/VisibilityOffTwoTone'\nimport VisibilityTwoToneIcon from '@material-ui/icons/VisibilityTwoTone'\nimport { Skeleton } from '@material-ui/lab'\nimport { Navigation } from '..'\nimport { useSelector } from 'react-redux'\nimport { useParams } from 'react-router-dom'\nimport constants from 'theme/constants'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n flexGrow: 1,\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'column'\n },\n tab: {\n width: '100%',\n // maxWidth: theme.breakpoints.values.md,\n ...constants.shadowCard,\n padding: 10\n },\n divMiddlePaper: {\n width: '100%',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center'\n },\n middlePaper: {\n position: 'relative',\n borderRadius: '10px',\n webkitBorderRadius: '10px',\n mozBorderRadius: '10px',\n boxShadow: 'rgb(0 0 0 / 8%) 0px 2px 16px',\n height: '100px',\n [theme.breakpoints.up('md')]: {\n width: theme.spacing(40),\n marginBottom: theme.spacing(-5)\n },\n [theme.breakpoints.down('sm')]: {\n width: '100%',\n marginBottom: theme.spacing(4)\n }\n }\n}))\n\nexport default function CardSaldo() {\n const classes = useStyles()\n const { tab } = useParams()\n const saldo = useSelector(\n (state) =>\n state.ingresso.ingresso.reduce((a, b) => a + (b['valor'] || 0), 0) -\n state.ingresso.ingresso.reduce(\n (a, b) => a + (b['valorDesconto'] || 0),\n 0\n ) -\n state.ingresso.ingresso.reduce((a, b) => a + (b['valorTaxa'] || 0), 0)\n )\n const saldoALiberar = useSelector(\n (state) =>\n state.ingresso.ingressoALiberar.reduce(\n (a, b) => a + (b['valor'] || 0),\n 0\n ) -\n state.ingresso.ingressoALiberar.reduce(\n (a, b) => a + (b['valorDesconto'] || 0),\n 0\n ) -\n state.ingresso.ingressoALiberar.reduce(\n (a, b) => a + (b['valorTaxa'] || 0),\n 0\n )\n )\n\n const { isLoading } = useSelector((state) => state.ingresso)\n const { showValues } = useSelector((state) => state.global)\n const [visible, setVisible] = useState(showValues)\n\n useEffect(() => {\n setVisible(showValues)\n }, [showValues])\n\n return (\n
\n
\n \n \n {tab === 'aliberar' ? 'Saldo a liberar:' : 'Saldo:'}\n \n
\n \n {visible && !isLoading ? (\n formatCurrency(tab === 'aliberar' ? saldoALiberar : saldo)\n ) : (\n \n )}\n \n \n setVisible(!visible)}\n >\n {visible ? (\n \n ) : (\n \n )}\n \n \n
\n
\n
\n \n
\n )\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { useSelector } from 'react-redux'\nimport clsx from 'clsx'\nimport { history } from 'utils'\nimport { makeStyles } from '@material-ui/styles'\nimport {\n Card,\n Typography,\n Button,\n useTheme,\n useMediaQuery\n} from '@material-ui/core'\nimport { Alert, AlertTitle } from '@material-ui/lab'\nimport useRouter from 'utils/useRouter'\n\nconst useStyles = makeStyles((theme) => ({\n button: {\n [theme.breakpoints.up('md')]: {\n marginRight: theme.spacing(2)\n },\n webkitTransition: 'all 300ms ease',\n transition: 'all 300ms ease',\n '&:hover': {\n backgroundColor: theme.palette.primary.main,\n boxShadow: '0 9px 40px -14px #FFC20A'\n }\n }\n}))\n\nconst Notifications = (props) => {\n const { className } = props\n const classes = useStyles()\n const theme = useTheme()\n const isMobile = useMediaQuery(theme.breakpoints.down('xs'))\n const { match } = useRouter()\n const { url } = match\n\n const hasContaBancaria = useSelector((state) => {\n if (state.contaBancaria.contaBancaria.length > 0) {\n return true\n }\n return false\n })\n\n const { isFetching } = useSelector((state) => state.contaBancaria)\n return (\n <>\n {!hasContaBancaria && !isFetching && !url.includes('contasBancarias') && (\n \n \n \n history.push(`/carteira/contasBancarias/cadastro`)\n }\n variant=\"contained\"\n color=\"primary\"\n size=\"small\"\n >\n Cadastrar conta! 💰\n \n \n history.push(`/carteira/contasBancarias/pix`)\n }\n variant=\"contained\"\n color=\"primary\"\n size=\"small\"\n >\n Cadastrar Pix! 💰\n \n \n )\n }\n severity=\"error\"\n >\n \n \n Notamos que você ainda não cadastrou nenhuma conta bancária.\n \n \n \n ATENÇÃO! Você precisa cadastrar ao menos um conta bancária para\n realizar retiradas!\n \n {isMobile && (\n <>\n \n history.push(`/carteira/contasBancarias/cadastro`)\n }\n >\n Cadastrar conta! 💰\n \n history.push(`/carteira/contasBancarias/pix`)}\n >\n Cadastrar Pix! 💰\n \n \n )}\n \n \n )}\n \n )\n}\n\nNotifications.propTypes = {\n className: PropTypes.string\n}\n\nexport default Notifications\n","import React, { Fragment, useRef, useState, memo } from 'react'\nimport PropTypes from 'prop-types'\nimport { makeStyles } from '@material-ui/styles'\nimport {\n Tooltip,\n IconButton,\n Menu,\n MenuItem,\n Switch,\n FormControlLabel,\n Typography\n} from '@material-ui/core'\nimport SortRoundedIcon from '@material-ui/icons/SortRounded'\n\nconst useStyles = makeStyles((theme) => ({\n title: { paddingLeft: theme.spacing(2), paddingTop: theme.spacing(1) }\n}))\n\nconst SortSwitches = (props) => {\n const classes = useStyles()\n const moreRef = useRef(null)\n const { sortByEvento, setSortByEvento, sortByLote, setSortByLote } = props\n const [openMenu, setOpenMenu] = useState(false)\n\n const handleMenuOpen = () => {\n setOpenMenu(true)\n }\n\n const handleMenuClose = () => {\n setOpenMenu(false)\n }\n\n return (\n \n \n \n \n \n \n \n \n Agrupar por:\n \n \n setSortByEvento(event.target.checked)}\n name=\"sortByEvento\"\n inputProps={{ 'aria-label': 'agrupar por eventos' }}\n />\n }\n label=\"Eventos\"\n />\n \n {sortByEvento && (\n \n setSortByLote(event.target.checked)}\n name=\"sortByLote\"\n inputProps={{ 'aria-label': 'agrupar por lotes' }}\n />\n }\n label=\"Lotes\"\n />\n \n )}\n \n \n )\n}\n\nSortSwitches.propTypes = {\n className: PropTypes.string\n}\n\nexport default memo(SortSwitches)\n","import React, { useEffect, useState } from 'react'\nimport PropTypes from 'prop-types'\nimport clsx from 'clsx'\nimport {\n withStyles,\n makeStyles,\n Table,\n colors,\n Button,\n useTheme,\n useMediaQuery,\n Collapse,\n Badge,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TableRow,\n Toolbar,\n Typography,\n Paper,\n Checkbox,\n IconButton,\n Tooltip\n} from '@material-ui/core'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { ingressoAction } from '_actions'\nimport { formatCurrency, toLocalDateFormat, useDidMountEffect } from 'utils'\nimport { MessageData, Label, SkeletonTable } from 'components'\nimport { ModalSolicitarRetirada } from '..'\nimport DeleteIcon from '@material-ui/icons/Delete'\nimport KeyboardArrowDownIcon from '@material-ui/icons/KeyboardArrowDown'\nimport KeyboardArrowUpIcon from '@material-ui/icons/KeyboardArrowUp'\nimport LibraryAddCheckIcon from '@material-ui/icons/LibraryAddCheck'\nimport { SortSwitches } from './components'\nimport { Skeleton } from '@material-ui/lab'\n\nvar pluralize = require('pluralize')\n\nconst StyledBadge = withStyles((theme) => ({\n badge: {\n right: -3,\n border: `2px solid ${theme.palette.background.paper}`,\n padding: '0 4px'\n }\n}))(Badge)\n\nconst statusColors = {\n 5: colors.green[600],\n 2: colors.red[600]\n}\n\nconst headCells = [\n {\n id: 'evento-lote',\n numeric: false,\n disablePadding: true,\n label: 'Evento - (Lote)'\n },\n {\n id: 'data-evento',\n numeric: true,\n disablePadding: false,\n label: 'Data evento'\n },\n {\n id: 'valor',\n numeric: true,\n disablePadding: false,\n label: 'Valor total (R$)'\n },\n { id: 'status', numeric: true, disablePadding: false, label: 'Status' }\n]\n\nfunction EnhancedTableHead(props) {\n const { onSelectAllClick, order, orderBy, numSelected, rowCount } = props\n\n return (\n \n \n \n 0 && numSelected === rowCount\n ? 'Desmarcar todos'\n : 'Marcar todos'\n }\n >\n }\n color=\"primary\"\n indeterminate={numSelected > 0 && numSelected < rowCount}\n checked={rowCount > 0 && numSelected === rowCount}\n onChange={onSelectAllClick}\n inputProps={{ 'aria-label': 'select all tickets' }}\n />\n \n \n {headCells.map((headCell) => (\n \n {headCell.label}\n \n ))}\n \n \n )\n}\n\nEnhancedTableHead.propTypes = {\n classes: PropTypes.object.isRequired,\n numSelected: PropTypes.number.isRequired,\n onSelectAllClick: PropTypes.func.isRequired,\n order: PropTypes.oneOf(['asc', 'desc']).isRequired,\n orderBy: PropTypes.string.isRequired,\n rowCount: PropTypes.number.isRequired\n}\n\nconst useToolbarStyles = makeStyles((theme) => ({\n root: {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(1)\n },\n highlight: {\n borderRadius: '8px 8px 0px 0px',\n webkitBorderRadius: '8px 8px 0px 0px',\n mozBorderRadius: '8px 8px 0px 0px',\n color: theme.palette.text.primary,\n backgroundColor: 'rgba(225, 194, 10, 0.1)'\n },\n title: {\n flex: '1 1 100%'\n },\n buttonRetirar: {\n whiteSpace: 'nowrap',\n [theme.breakpoints.up('sm')]: {\n minWidth: 150,\n marginRight: theme.spacing(4)\n },\n marginRight: theme.spacing(1),\n marginLeft: theme.spacing(1)\n }\n}))\n\nexport default function TableIngressosLiberados() {\n function Row(props) {\n const { row, index, showValues } = props\n const [open, setOpen] = useState(false)\n const [openLote, setOpenLote] = useState(false)\n const labelId = `enhanced-table-checkbox-${index}`\n const haveRowEvento =\n row.ingressosSortedByEvento !== undefined &&\n row.ingressosSortedByEvento.length > 0\n ? true\n : false\n\n const sizeIngressoByEvento = ingressos.filter(\n (c) => c.lote.eventoId === row.lote.eventoId\n ).length\n const sizeSelectedIngressoByEvento = selectedIngressos.filter(\n (c) => c.lote.eventoId === row.lote.eventoId\n ).length\n\n const allIngressosSelectedByEvento =\n sizeSelectedIngressoByEvento === sizeIngressoByEvento ? true : false\n const isItemSelected = (eventoId) =>\n selectedIngressos.some((n) => n.id === eventoId)\n function totalValueRowLote(ingressosSortedByLote) {\n var value = 0\n const haveRowLote =\n ingressosSortedByLote !== undefined && ingressosSortedByLote.length > 0\n ? true\n : false\n if (haveRowLote) {\n value +=\n ingressosSortedByLote.reduce((a, b) => a + (b['valor'] || 0), 0) -\n ingressosSortedByLote.reduce(\n (a, b) => a + (b['valorDesconto'] || 0),\n 0\n ) -\n ingressosSortedByLote.reduce((a, b) => a + (b['valorTaxa'] || 0), 0)\n }\n return value\n }\n\n function totalValueRowEvento(ingressosSortedByEvento) {\n var value = 0\n ingressosSortedByEvento.map((row) => {\n const haveRowLote =\n row.ingressosSortedByLote !== undefined &&\n row.ingressosSortedByLote.length > 0\n ? true\n : false\n if (haveRowLote) {\n value += totalValueRowLote(row.ingressosSortedByLote)\n } else {\n value += row.valor - row.valorTaxa - row.valorDesconto\n }\n })\n\n return value\n }\n const totalValueRow = haveRowEvento\n ? totalValueRowEvento(row.ingressosSortedByEvento)\n : row.valor - row.valorTaxa - row.valorDesconto\n\n const handleSelectAllRowEvento = (eventoId) => {\n if (allIngressosSelectedByEvento) {\n const newSelecteds = selectedIngressos.filter(\n (n) => n.lote.eventoId !== eventoId\n )\n setSelectedIngressos(newSelecteds)\n return\n } else if (sizeSelectedIngressoByEvento > 0) {\n const selectedIngressosExcludeEvento = selectedIngressos.filter(\n (n) => n.lote.eventoId !== eventoId\n )\n const newSelecteds = ingressos.filter(\n (n) => n.lote.eventoId === eventoId\n )\n setSelectedIngressos([\n ...selectedIngressosExcludeEvento,\n ...newSelecteds\n ])\n return\n } else {\n const newSelecteds = ingressos.filter(\n (n) => n.lote.eventoId === eventoId\n )\n setSelectedIngressos([...selectedIngressos, ...newSelecteds])\n return\n }\n }\n\n return (\n <>\n \n \n
\n {haveRowEvento ? (\n \n 0\n ? true\n : false\n }\n onClick={() => handleSelectAllRowEvento(row.lote.eventoId)}\n checkedIcon={}\n color=\"primary\"\n checked={allIngressosSelectedByEvento}\n inputProps={{ 'aria-labelledby': labelId }}\n />\n \n ) : (\n handleClick(row)}\n color=\"primary\"\n checked={isItemSelected(row.id)}\n inputProps={{ 'aria-labelledby': labelId }}\n />\n )}\n {haveRowEvento && (\n \n setOpen(!open)}\n >\n \n {open ? (\n \n ) : (\n \n )}\n \n \n \n )}\n
\n
\n \n {haveRowEvento\n ? row.lote.evento.nome\n : `${row.lote.evento.nome} - (${row.lote.descricao} - ${row.lote.tipoIngresso.descricao})`}\n \n \n {toLocalDateFormat(row.lote.evento.dataHoraFim)}\n \n \n {showValues ? (\n formatCurrency(totalValueRow)\n ) : (\n \n )}\n \n \n \n {row.statusIngresso.descricao}\n \n \n \n {haveRowEvento && (\n \n \n \n \n \n {row.ingressosSortedByEvento.map((row) => {\n const hasLote =\n row.ingressosSortedByLote !== undefined &&\n row.ingressosSortedByLote.length > 0\n ? true\n : false\n\n const sizeIngressoByLote = ingressos.filter(\n (c) => c.lote.id === row.lote.id\n ).length\n const sizeSelectedIngressoByLote = selectedIngressos.filter(\n (c) => c.lote.id === row.lote.id\n ).length\n\n const allIngressosSelectedByLote =\n sizeSelectedIngressoByLote === sizeIngressoByLote\n ? true\n : false\n const handleSelectAllRowLote = (loteId) => {\n if (allIngressosSelectedByLote) {\n const newSelecteds = selectedIngressos.filter(\n (n) => n.lote.id !== loteId\n )\n setSelectedIngressos(newSelecteds)\n return\n } else if (sizeSelectedIngressoByLote > 0) {\n const selectedIngressosExcludeLote = selectedIngressos.filter(\n (n) => n.lote.id !== loteId\n )\n const newSelecteds = ingressos.filter(\n (n) => n.lote.id === loteId\n )\n setSelectedIngressos([\n ...selectedIngressosExcludeLote,\n ...newSelecteds\n ])\n return\n } else {\n const newSelecteds = ingressos.filter(\n (n) => n.lote.id === loteId\n )\n setSelectedIngressos([\n ...selectedIngressos,\n ...newSelecteds\n ])\n return\n }\n }\n return (\n <>\n \n \n \n {hasLote ? (\n \n 0\n ? true\n : false\n }\n onClick={() =>\n handleSelectAllRowLote(row.lote.id)\n }\n checkedIcon={}\n color=\"primary\"\n checked={allIngressosSelectedByLote}\n inputProps={{\n 'aria-labelledby': labelId\n }}\n />\n \n ) : (\n handleClick(row)}\n color=\"primary\"\n checked={isItemSelected(row.id)}\n inputProps={{ 'aria-labelledby': labelId }}\n />\n )}\n {hasLote && (\n \n setOpenLote(!openLote)}\n >\n \n {openLote ? (\n \n ) : (\n \n )}\n \n \n \n )}\n \n \n \n {`${row.lote.descricao} - ${row.lote.tipoIngresso.descricao}`}\n \n \n {toLocalDateFormat(row.lote.evento.dataHoraFim)}\n \n \n {hasLote\n ? formatCurrency(\n totalValueRowLote(row.ingressosSortedByLote)\n )\n : formatCurrency(\n row.valor -\n row.valorTaxa -\n row.valorDesconto\n )}\n \n \n \n {row.statusIngresso.descricao}\n \n \n \n {hasLote && (\n \n \n \n \n \n {row.ingressosSortedByLote.map((row) => {\n return (\n \n \n handleClick(row)}\n color=\"primary\"\n checked={isItemSelected(row.id)}\n inputProps={{\n 'aria-labelledby': labelId\n }}\n />\n \n \n {`Ingresso n.º: ${row.id}`}\n \n \n {`Cliente: ${row.usuario.nome}`}\n \n \n {formatCurrency(\n row.valor -\n row.valorTaxa -\n row.valorDesconto\n )}\n \n \n \n {row.statusIngresso.descricao}\n \n \n \n )\n })}\n \n
\n
\n
\n
\n )}\n \n )\n })}\n \n \n \n \n \n )}\n \n )\n }\n const EnhancedTableToolbar = (props) => {\n const classes = useToolbarStyles()\n const { numSelected, showValues } = props\n return (\n 0\n })}\n >\n {numSelected > 0 ? (\n \n {`${pluralize('selecionados', numSelected, true)}`}\n \n ) : (\n <>\n \n Ingressos disponíveis para retirada\n \n \n \n )}\n\n {numSelected > 0 && (\n <>\n \n {`Valor total à retirar: ${\n showValues ? formatCurrency(valorTotalARetirar) : `R$ **,**`\n }`}\n \n {!hasContaBancaria ? (\n \n \n \n {isMobile ? 'Retirar' : 'Solicitar retirada'}\n \n \n \n ) : (\n \n {isMobile ? 'Retirar' : 'Solicitar retirada'}\n \n )}\n\n \n \n \n \n \n \n \n )}\n \n )\n }\n\n EnhancedTableToolbar.propTypes = {\n numSelected: PropTypes.number.isRequired\n }\n\n const useStyles = makeStyles((theme) => ({\n root: {\n width: '100%'\n },\n table: {\n minWidth: 750\n },\n visuallyHidden: {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: 1,\n margin: -1,\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n top: 20,\n width: 1\n },\n paper: {\n width: '100%',\n marginBottom: theme.spacing(2),\n boxShadow: 'rgb(0 0 0 / 8%) 0px 2px 8px',\n borderRadius: '8px',\n webkitBorderRadius: '8px',\n mozBorderRadius: '8px'\n }\n }))\n\n const classes = useStyles()\n const [sortByEvento, setSortByEvento] = useState(true)\n const [sortByLote, setSortByLote] = useState(true)\n const { showValues } = useSelector((state) => state.global)\n const [openModal, setOpenModal] = useState(false)\n const [selectedIngressos, setSelectedIngressos] = useState([])\n const dispatch = useDispatch()\n const ingressos = useSelector((state) => state.ingresso.ingresso)\n const { isLoading } = useSelector((state) => state.ingresso)\n const estabelecimentoId = useSelector(\n (state) => state.usuarioEstabelecimento.estabelecimentoId\n )\n const valorTotalARetirar =\n selectedIngressos.reduce((a, b) => a + (b['valor'] || 0), 0) -\n selectedIngressos.reduce((a, b) => a + (b['valorDesconto'] || 0), 0) -\n selectedIngressos.reduce((a, b) => a + (b['valorTaxa'] || 0), 0)\n const theme = useTheme()\n const isMobile = useMediaQuery(theme.breakpoints.down('xs'))\n const hasContaBancaria = useSelector((state) => {\n if (state.contaBancaria.contaBancaria.length > 0) {\n return true\n }\n return false\n })\n\n const ingressosSortByEventoAndLote = (ingressos) => {\n var ingressosSorted = []\n if (sortByEvento) {\n ingressos.map((row, index) => {\n if (index === 0) {\n ingressosSorted.push(row)\n } else {\n const ingressosSortedByEventoFindIndex = ingressosSorted.findIndex(\n (item) => item.lote.eventoId === row.lote.eventoId\n )\n if (ingressosSortedByEventoFindIndex !== -1) {\n if (\n ingressosSorted[ingressosSortedByEventoFindIndex]\n .ingressosSortedByEvento === undefined\n ) {\n ingressosSorted[ingressosSortedByEventoFindIndex] = {\n ...ingressosSorted[ingressosSortedByEventoFindIndex],\n ingressosSortedByEvento: [\n ingressosSorted[ingressosSortedByEventoFindIndex]\n ]\n }\n\n ingressosSorted[\n ingressosSortedByEventoFindIndex\n ].ingressosSortedByEvento.push(row)\n } else {\n ingressosSorted[\n ingressosSortedByEventoFindIndex\n ].ingressosSortedByEvento.push(row)\n }\n } else {\n ingressosSorted.push(row)\n }\n }\n })\n if (sortByLote) {\n ingressosSorted.map((row, index) => {\n if (row.ingressosSortedByEvento !== undefined) {\n const arrayIngressos = []\n row.ingressosSortedByEvento.map(\n (rowArrayEvento, indexArrayEvento) => {\n if (indexArrayEvento === 0) {\n arrayIngressos.push(rowArrayEvento)\n } else {\n const ingressosSortedByLoteFindIndex = arrayIngressos.findIndex(\n (item) => item.lote.id === rowArrayEvento.lote.id\n )\n if (ingressosSortedByLoteFindIndex !== -1) {\n if (\n arrayIngressos[ingressosSortedByLoteFindIndex]\n .ingressosSortedByLote === undefined\n ) {\n arrayIngressos[ingressosSortedByLoteFindIndex] = {\n ...arrayIngressos[ingressosSortedByLoteFindIndex],\n ingressosSortedByLote: [\n arrayIngressos[ingressosSortedByLoteFindIndex]\n ]\n }\n\n arrayIngressos[\n ingressosSortedByLoteFindIndex\n ].ingressosSortedByLote.push(rowArrayEvento)\n } else {\n arrayIngressos[\n ingressosSortedByLoteFindIndex\n ].ingressosSortedByLote.push(rowArrayEvento)\n }\n } else {\n arrayIngressos.push(rowArrayEvento)\n }\n }\n }\n )\n ingressosSorted[index].ingressosSortedByEvento = arrayIngressos\n }\n })\n }\n } else {\n ingressosSorted = ingressos\n }\n return ingressosSorted\n }\n\n useEffect(() => {\n !isLoading &&\n dispatch(\n ingressoAction.getIngressosLiberadosByEstabelecimento(estabelecimentoId)\n )\n setSelectedIngressos([])\n }, [estabelecimentoId])\n\n useDidMountEffect(() => {\n setSelectedIngressos([])\n }, [ingressos])\n\n const handleSelectAllClick = (event) => {\n if (event.target.checked) {\n const newSelecteds = ingressos\n setSelectedIngressos(newSelecteds)\n return\n }\n setSelectedIngressos([])\n }\n const handleClickDelete = () => {\n setSelectedIngressos([])\n }\n const handleClickSubmit = () => {\n setOpenModal(true)\n }\n\n const handleClick = (ingresso) => {\n const isSelected = selectedIngressos.some((n) => n.id === ingresso.id)\n if (isSelected) {\n const newSelected = selectedIngressos.filter((n) => n.id !== ingresso.id)\n setSelectedIngressos(newSelected)\n } else {\n const newSelecteds = ingressos.filter((n) => n.id === ingresso.id)\n setSelectedIngressos([...selectedIngressos, ...newSelecteds])\n }\n }\n\n return (\n
\n {!isLoading ? (\n <>\n {ingressos && ingressos.length > 0 ? (\n <>\n \n Total de ingressos encontrados: {ingressos.length}\n \n \n \n \n \n \n \n {ingressosSortByEventoAndLote(ingressos).map(\n (row, index) => {\n return (\n \n )\n }\n )}\n \n \n \n \n \n ) : (\n \n )}\n \n \n ) : (\n \n )}\n
\n )\n}\n","import {\n DialogContentText,\n Typography,\n makeStyles,\n Tooltip\n} from '@material-ui/core'\nimport React from 'react'\nimport { cpfCnpjMask } from 'utils'\nimport PropTypes from 'prop-types'\nimport { CheckCircleTwoTone } from '@material-ui/icons'\n\nconst useStyles = makeStyles((theme) => ({\n card: {\n border: `1px solid ${theme.palette.primary.light}`,\n borderRadius: '5px',\n webkitBorderRadius: '5px',\n mozBorderRadius: '5px',\n padding: 10\n },\n totalLabel: {\n [theme.breakpoints.up('sm')]: {\n marginTop: theme.spacing(4)\n }\n },\n radio: { display: 'flex', alignItems: 'flex-end' }\n}))\n\nconst CardContaBancaria = ({ contaBancaria }) => {\n const classes = useStyles()\n\n return (\n
\n {contaBancaria !== undefined && (\n \n \n \n {contaBancaria.padrao\n ? contaBancaria.conta === '0'\n ? 'Chave Pix padrão selecionada'\n : 'Conta padrão selecionada:'\n : contaBancaria.conta === '0'\n ? 'Chave Pix selecionada'\n : 'Conta selecionada:'}\n \n {contaBancaria.padrao && (\n \n \n \n )}\n
\n \n {contaBancaria.descricao}\n \n <>\n {contaBancaria.conta !== '0' ? (\n <>\n {`Banco: ${contaBancaria.instituicaoBancaria.nome}`}\n \n {`Nome titular: ${contaBancaria.nomeTitular}`}\n \n \n {`CPF/CNPJ: ${cpfCnpjMask(contaBancaria.cpfCnpjTitular)}`}\n \n {`Agência: ${contaBancaria.agencia}`}\n {`Conta: ${contaBancaria.conta}`}\n \n ) : (\n {`Chave PIX: ${contaBancaria.chavePix}`}\n )}\n \n \n )}\n \n )\n}\n\nCardContaBancaria.propTypes = {\n contaBancaria: PropTypes.object\n}\n\nexport default CardContaBancaria\n","import React, { useEffect } from 'react'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { movimentacaoFinanceiraAction, ingressoAction } from '_actions'\nimport { MessageData } from 'components'\n\nconst SuccessMessage = () => {\n const dispatch = useDispatch()\n const estabelecimentoId = useSelector(\n (state) => state.usuarioEstabelecimento.estabelecimentoId\n )\n useEffect(() => {\n return () => {\n dispatch(movimentacaoFinanceiraAction.clear())\n dispatch(\n ingressoAction.getIngressosLiberadosByEstabelecimento(estabelecimentoId)\n )\n }\n }, [])\n return (\n \n )\n}\n\nexport default SuccessMessage\n","import React, { useEffect, useState } from 'react'\nimport {\n IconButton,\n DialogTitle,\n Dialog,\n DialogActions,\n DialogContent,\n makeStyles,\n Slide,\n Grid,\n FormControl,\n RadioGroup,\n FormLabel,\n FormControlLabel,\n Radio,\n Button,\n useTheme,\n useMediaQuery,\n Typography,\n Zoom,\n Tooltip,\n CircularProgress\n} from '@material-ui/core'\nimport { useSelector, useDispatch } from 'react-redux'\nimport { contaBancariaAction, movimentacaoFinanceiraAction } from '_actions'\nimport { formatCurrency } from 'utils'\nimport ExpandMoreRoundedIcon from '@material-ui/icons/ExpandMoreRounded'\nimport ExpandLessRoundedIcon from '@material-ui/icons/ExpandLessRounded'\nimport CloseIcon from '@material-ui/icons/Close'\nimport { CheckCircleTwoTone } from '@material-ui/icons'\nimport { SuccessMessage, CardContaBancaria } from './components'\n\nconst Transition = React.forwardRef(function Transition(props, ref) {\n return \n})\n\nconst useStyles = makeStyles((theme) => ({\n closeButton: {\n position: 'absolute',\n right: theme.spacing(2),\n top: theme.spacing(2),\n color: theme.palette.grey[500]\n },\n totalLabel: {\n paddingTop: theme.spacing(3),\n [theme.breakpoints.down('xs')]: {\n position: 'absolute',\n bottom: theme.spacing(8),\n right: theme.spacing(2)\n }\n }\n}))\n\nexport default function ModalSolicitarRetirada({\n ingressos,\n setOpenModal,\n openModal,\n valorTotalARetirar\n}) {\n const classes = useStyles()\n const dispatch = useDispatch()\n const movimentacaoFinanceira = useSelector(\n (state) => state.movimentacaoFinanceira\n )\n const { isLoading } = movimentacaoFinanceira\n const { contaBancaria } = useSelector((state) => state.contaBancaria)\n const estabelecimentoId = useSelector(\n (state) => state.usuarioEstabelecimento.estabelecimentoId\n )\n const [contaBancariaSelecionada, setContaBancariaSelecionada] = useState('')\n const [showRadioSelect, setShowRadioSelect] = useState(false)\n const theme = useTheme()\n const isMobile = useMediaQuery(theme.breakpoints.down('xs'))\n function findContaBancaria(id) {\n const contaBancariaNew = contaBancaria.find((x) => x.id == id)\n return contaBancariaNew\n }\n const handleChange = (event) => {\n const contaBancariaNew = findContaBancaria(event.target.value)\n setContaBancariaSelecionada(contaBancariaNew)\n }\n\n const handleClose = () => {\n setOpenModal(false)\n }\n\n const createObjectIngressos = (ingressos) => {\n const ingressosFormatted = []\n ingressos.map((ingresso) => {\n let ingressoNew = {\n id: 0,\n movimentacaoFinanceiraId: 0,\n ingressoId: ingresso.id,\n excluido: null\n }\n ingressosFormatted.push(ingressoNew)\n })\n return ingressosFormatted\n }\n\n const handleSubmit = () => {\n let payload = {\n id: 0,\n statusMovimentacaoFinanceiraId: 0,\n estabelecimentoId: estabelecimentoId,\n dataHoraProcessamento: '',\n valor: 0,\n contaBancariaId: contaBancariaSelecionada.id,\n anexo: null,\n motivoCancelamento: null,\n movimentacaoFinanceiraIngresso: createObjectIngressos(ingressos)\n }\n dispatch(movimentacaoFinanceiraAction.createMovimentacaoFinanceira(payload))\n }\n\n useEffect(() => {\n dispatch(\n contaBancariaAction.getContaBancariaByEstabelecimento(estabelecimentoId)\n )\n }, [estabelecimentoId])\n\n useEffect(() => {\n setContaBancariaSelecionada(contaBancaria.find((x) => x.padrao === true))\n }, [contaBancaria])\n\n useEffect(() => {\n dispatch(movimentacaoFinanceiraAction.clear())\n }, [])\n\n return (\n \n \n Solicitação de retirada\n \n \n \n \n \n {movimentacaoFinanceira !== undefined &&\n movimentacaoFinanceira.id > 0 ? (\n \n ) : (\n \n \n \n {contaBancaria !== undefined && contaBancaria.length > 1 && (\n setShowRadioSelect(!showRadioSelect)}\n size=\"small\"\n style={{ marginTop: 15 }}\n variant=\"outlined\"\n color=\"primary\"\n startIcon={\n showRadioSelect ? (\n \n ) : (\n \n )\n }\n >\n Trocar conta/Pix\n \n )}\n \n \n {showRadioSelect && (\n \n \n Contas bancárias\n \n {contaBancaria.map((contaBancaria) => {\n return (\n }\n label={\n \n \n {contaBancaria.conta === '0'\n ? `${contaBancaria.descricao} (pix)`\n : contaBancaria.descricao}\n \n {contaBancaria.padrao && (\n \n \n \n )}\n \n }\n />\n )\n })}\n \n \n \n )}\n \n \n )}\n {movimentacaoFinanceira !== undefined &&\n movimentacaoFinanceira.id === 0 && (\n <>\n \n Se estiver tudo certo com seu pedido, o dinheiro estará em sua\n conta bancária em até dois dias úteis.\n \n \n {`Valor total à retirar: ${formatCurrency(valorTotalARetirar)}`}\n \n \n )}\n \n {movimentacaoFinanceira !== undefined && movimentacaoFinanceira.id === 0 && (\n \n }\n >\n {isLoading ? 'Solicitando...' : 'Confirmar'}\n \n \n )}\n \n )\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport clsx from 'clsx'\nimport { makeStyles } from '@material-ui/styles'\nimport { Grid } from '@material-ui/core'\nimport { TableIngressosLiberados } from './components'\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n value: {\n fontWeight: theme.typography.fontWeightMedium\n },\n card: {\n borderRadius: '8px',\n boxShadow: '0px 2px 8px rgb(0 0 0 / 8%)',\n height: 200\n }\n}))\n\nconst IngressosLiberados = (props) => {\n const { className, ...rest } = props\n const classes = useStyles()\n\n return (\n \n \n \n \n \n )\n}\n\nIngressosLiberados.propTypes = {\n className: PropTypes.string\n}\n\nexport default IngressosLiberados\n","import React, { Fragment, useRef, useState, memo } from 'react'\nimport PropTypes from 'prop-types'\nimport { makeStyles } from '@material-ui/styles'\nimport {\n Tooltip,\n IconButton,\n Menu,\n MenuItem,\n Switch,\n FormControlLabel,\n Typography\n} from '@material-ui/core'\nimport SortRoundedIcon from '@material-ui/icons/SortRounded'\n\nconst useStyles = makeStyles((theme) => ({\n title: { paddingLeft: theme.spacing(2), paddingTop: theme.spacing(1) }\n}))\n\nconst SortSwitches = (props) => {\n const classes = useStyles()\n const moreRef = useRef(null)\n const { sortByEvento, setSortByEvento, sortByLote, setSortByLote } = props\n const [openMenu, setOpenMenu] = useState(false)\n\n const handleMenuOpen = () => {\n setOpenMenu(true)\n }\n\n const handleMenuClose = () => {\n setOpenMenu(false)\n }\n\n return (\n \n \n \n \n \n \n \n \n Agrupar por:\n \n \n setSortByEvento(event.target.checked)}\n name=\"sortByEvento\"\n inputProps={{ 'aria-label': 'agrupar por eventos' }}\n />\n }\n label=\"Eventos\"\n />\n \n {sortByEvento && (\n \n setSortByLote(event.target.checked)}\n name=\"sortByLote\"\n inputProps={{ 'aria-label': 'agrupar por lotes' }}\n />\n }\n label=\"Lotes\"\n />\n \n )}\n \n \n )\n}\n\nSortSwitches.propTypes = {\n className: PropTypes.string\n}\n\nexport default memo(SortSwitches)\n","import React, { useEffect, useState } from 'react'\nimport PropTypes from 'prop-types'\nimport {\n withStyles,\n makeStyles,\n Table,\n colors,\n Collapse,\n Badge,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TableRow,\n Toolbar,\n Typography,\n Paper,\n IconButton,\n Tooltip\n} from '@material-ui/core'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { ingressoAction } from '_actions'\nimport { formatCurrency, toLocalDateFormat } from 'utils'\nimport { MessageData, Label, SkeletonTable } from 'components'\nimport KeyboardArrowDownIcon from '@material-ui/icons/KeyboardArrowDown'\nimport KeyboardArrowUpIcon from '@material-ui/icons/KeyboardArrowUp'\nimport { SortSwitches } from './components'\nimport { Skeleton } from '@material-ui/lab'\n\nconst StyledBadge = withStyles((theme) => ({\n badge: {\n right: -3,\n border: `2px solid ${theme.palette.background.paper}`,\n padding: '0 4px'\n }\n}))(Badge)\n\nconst statusColors = {\n 1: colors.orange[600],\n 2: colors.red[600],\n 3: colors.green[600]\n}\n\nconst headCells = [\n {\n id: 'evento-lote',\n numeric: false,\n disablePadding: true,\n label: 'Evento - (Lote)'\n },\n {\n id: 'data-evento',\n numeric: true,\n disablePadding: false,\n label: 'Data evento'\n },\n {\n id: 'valor',\n numeric: true,\n disablePadding: false,\n label: 'Valor total (R$)'\n },\n { id: 'status', numeric: true, disablePadding: false, label: 'Status' }\n]\n\nfunction EnhancedTableHead(props) {\n const { order, orderBy } = props\n\n return (\n \n \n \n {headCells.map((headCell) => (\n \n {headCell.label}\n \n ))}\n \n \n )\n}\n\nEnhancedTableHead.propTypes = {\n classes: PropTypes.object.isRequired\n}\n\nconst useToolbarStyles = makeStyles((theme) => ({\n root: {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(1)\n },\n title: {\n flex: '1 1 100%'\n }\n}))\n\nexport default function TableIngressosNaoLiberados() {\n function Row(props) {\n const { row } = props\n const [open, setOpen] = useState(false)\n const [openLote, setOpenLote] = useState(false)\n const haveRowEvento =\n row.ingressosSortedByEvento !== undefined &&\n row.ingressosSortedByEvento.length > 0\n ? true\n : false\n\n const sizeIngressoByEvento = ingressos.filter(\n (c) => c.lote.eventoId === row.lote.eventoId\n ).length\n\n function totalValueRowLote(ingressosSortedByLote) {\n var value = 0\n const haveRowLote =\n ingressosSortedByLote !== undefined && ingressosSortedByLote.length > 0\n ? true\n : false\n if (haveRowLote) {\n value +=\n ingressosSortedByLote.reduce((a, b) => a + (b['valor'] || 0), 0) -\n ingressosSortedByLote.reduce(\n (a, b) => a + (b['valorDesconto'] || 0),\n 0\n ) -\n ingressosSortedByLote.reduce((a, b) => a + (b['valorTaxa'] || 0), 0)\n }\n return value\n }\n\n function totalValueRowEvento(ingressosSortedByEvento) {\n var value = 0\n ingressosSortedByEvento.map((row) => {\n const haveRowLote =\n row.ingressosSortedByLote !== undefined &&\n row.ingressosSortedByLote.length > 0\n ? true\n : false\n if (haveRowLote) {\n value += totalValueRowLote(row.ingressosSortedByLote)\n } else {\n value += row.valor - row.valorTaxa - row.valorDesconto\n }\n })\n\n return value\n }\n const totalValueRow = haveRowEvento\n ? totalValueRowEvento(row.ingressosSortedByEvento)\n : row.valor - row.valorTaxa - row.valorDesconto\n\n return (\n <>\n \n \n
\n {haveRowEvento && (\n \n setOpen(!open)}\n >\n \n {open ? (\n \n ) : (\n \n )}\n \n \n \n )}\n
\n
\n \n {haveRowEvento\n ? row.lote.evento.nome\n : `${row.lote.evento.nome} - (${row.lote.descricao} - ${row.lote.tipoIngresso.descricao})`}\n \n \n {toLocalDateFormat(row.lote.evento.dataHoraFim)}\n \n \n {showValues ? (\n formatCurrency(totalValueRow)\n ) : (\n \n )}\n \n \n {!haveRowEvento && (\n \n {row.statusIngresso.descricao}\n \n )}\n \n \n {haveRowEvento && (\n \n \n \n \n \n {row.ingressosSortedByEvento.map((row) => {\n const hasLote =\n row.ingressosSortedByLote !== undefined &&\n row.ingressosSortedByLote.length > 0\n ? true\n : false\n\n const sizeIngressoByLote = ingressos.filter(\n (c) => c.lote.id === row.lote.id\n ).length\n\n return (\n <>\n \n \n \n {hasLote && (\n \n setOpenLote(!openLote)}\n >\n \n {openLote ? (\n \n ) : (\n \n )}\n \n \n \n )}\n \n \n \n {`${row.lote.descricao} - ${row.lote.tipoIngresso.descricao}`}\n \n \n {toLocalDateFormat(row.lote.evento.dataHoraFim)}\n \n \n {hasLote\n ? formatCurrency(\n totalValueRowLote(row.ingressosSortedByLote)\n )\n : formatCurrency(\n row.valor -\n row.valorTaxa -\n row.valorDesconto\n )}\n \n \n {!hasLote && (\n \n {row.statusIngresso.descricao}\n \n )}\n \n \n {hasLote && (\n \n \n \n \n \n {row.ingressosSortedByLote.map((row) => {\n return (\n \n \n \n {`Ingresso n.º: ${row.id}`}\n \n \n {`Cliente: ${row.usuario.nome}`}\n \n \n {formatCurrency(\n row.valor -\n row.valorTaxa -\n row.valorDesconto\n )}\n \n \n \n {row.statusIngresso.descricao}\n \n \n \n )\n })}\n \n
\n
\n
\n
\n )}\n \n )\n })}\n \n \n \n \n \n )}\n \n )\n }\n const EnhancedTableToolbar = () => {\n const classes = useToolbarStyles()\n return (\n \n \n Ingressos a liberar\n \n \n \n )\n }\n\n EnhancedTableToolbar.propTypes = {\n numSelected: PropTypes.number.isRequired\n }\n\n const useStyles = makeStyles((theme) => ({\n root: {\n width: '100%'\n },\n table: {\n minWidth: 750\n },\n visuallyHidden: {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: 1,\n margin: -1,\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n top: 20,\n width: 1\n },\n paper: {\n width: '100%',\n marginBottom: theme.spacing(2),\n boxShadow: 'rgb(0 0 0 / 8%) 0px 2px 8px',\n borderRadius: '8px',\n webkitBorderRadius: '8px',\n mozBorderRadius: '8px'\n }\n }))\n\n const classes = useStyles()\n const [sortByEvento, setSortByEvento] = useState(true)\n const [sortByLote, setSortByLote] = useState(true)\n const { showValues } = useSelector((state) => state.global)\n const dispatch = useDispatch()\n const ingressos = useSelector((state) => state.ingresso.ingressoALiberar)\n const { isLoading } = useSelector((state) => state.ingresso)\n const estabelecimentoId = useSelector(\n (state) => state.usuarioEstabelecimento.estabelecimentoId\n )\n const ingressosSortByEventoAndLote = (ingressos) => {\n var ingressosSorted = []\n if (sortByEvento) {\n ingressos.map((row, index) => {\n if (index === 0) {\n ingressosSorted.push(row)\n } else {\n const ingressosSortedByEventoFindIndex = ingressosSorted.findIndex(\n (item) => item.lote.eventoId === row.lote.eventoId\n )\n if (ingressosSortedByEventoFindIndex !== -1) {\n if (\n ingressosSorted[ingressosSortedByEventoFindIndex]\n .ingressosSortedByEvento === undefined\n ) {\n ingressosSorted[ingressosSortedByEventoFindIndex] = {\n ...ingressosSorted[ingressosSortedByEventoFindIndex],\n ingressosSortedByEvento: [\n ingressosSorted[ingressosSortedByEventoFindIndex]\n ]\n }\n\n ingressosSorted[\n ingressosSortedByEventoFindIndex\n ].ingressosSortedByEvento.push(row)\n } else {\n ingressosSorted[\n ingressosSortedByEventoFindIndex\n ].ingressosSortedByEvento.push(row)\n }\n } else {\n ingressosSorted.push(row)\n }\n }\n })\n if (sortByLote) {\n ingressosSorted.map((row, index) => {\n if (row.ingressosSortedByEvento !== undefined) {\n const arrayIngressos = []\n row.ingressosSortedByEvento.map(\n (rowArrayEvento, indexArrayEvento) => {\n if (indexArrayEvento === 0) {\n arrayIngressos.push(rowArrayEvento)\n } else {\n const ingressosSortedByLoteFindIndex = arrayIngressos.findIndex(\n (item) => item.lote.id === rowArrayEvento.lote.id\n )\n if (ingressosSortedByLoteFindIndex !== -1) {\n if (\n arrayIngressos[ingressosSortedByLoteFindIndex]\n .ingressosSortedByLote === undefined\n ) {\n arrayIngressos[ingressosSortedByLoteFindIndex] = {\n ...arrayIngressos[ingressosSortedByLoteFindIndex],\n ingressosSortedByLote: [\n arrayIngressos[ingressosSortedByLoteFindIndex]\n ]\n }\n\n arrayIngressos[\n ingressosSortedByLoteFindIndex\n ].ingressosSortedByLote.push(rowArrayEvento)\n } else {\n arrayIngressos[\n ingressosSortedByLoteFindIndex\n ].ingressosSortedByLote.push(rowArrayEvento)\n }\n } else {\n arrayIngressos.push(rowArrayEvento)\n }\n }\n }\n )\n ingressosSorted[index].ingressosSortedByEvento = arrayIngressos\n }\n })\n }\n } else {\n ingressosSorted = ingressos\n }\n return ingressosSorted\n }\n\n useEffect(() => {\n !isLoading &&\n dispatch(\n ingressoAction.getIngressosNaoLiberadosByEstabelecimento(\n estabelecimentoId\n )\n )\n }, [estabelecimentoId])\n\n return (\n
\n {!isLoading ? (\n <>\n {ingressos && ingressos.length > 0 ? (\n <>\n \n Total de ingressos encontrados: {ingressos.length}\n \n \n \n \n \n \n \n {ingressosSortByEventoAndLote(ingressos).map(\n (row, index) => {\n return \n }\n )}\n \n \n \n \n \n ) : (\n \n )}\n \n ) : (\n \n )}\n
\n )\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport clsx from 'clsx'\nimport { makeStyles } from '@material-ui/styles'\nimport { Grid } from '@material-ui/core'\nimport { TableIngressosNaoLiberados } from './components'\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n value: {\n fontWeight: theme.typography.fontWeightMedium\n },\n card: {\n borderRadius: '8px',\n boxShadow: '0px 2px 8px rgb(0 0 0 / 8%)',\n height: 200\n }\n}))\n\nconst IngressosNaoLiberados = (props) => {\n const { className, ...rest } = props\n const classes = useStyles()\n\n return (\n \n \n \n \n \n )\n}\n\nIngressosNaoLiberados.propTypes = {\n className: PropTypes.string\n}\n\nexport default IngressosNaoLiberados\n","import React, { useState } from 'react'\nimport { useSelector } from 'react-redux'\nimport PerfectScrollbar from 'react-perfect-scrollbar'\nimport PropTypes from 'prop-types'\nimport {\n makeStyles,\n Table,\n TableContainer,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Paper,\n Typography,\n Toolbar,\n colors,\n Divider,\n TablePagination,\n useTheme,\n useMediaQuery,\n Tooltip,\n IconButton\n} from '@material-ui/core'\nimport { formatCurrency, history, toLocalDateFormat } from 'utils'\nimport { Label, MessageData, Page, SkeletonTable } from 'components'\nimport InfoOutlinedIcon from '@material-ui/icons/InfoOutlined'\nimport { Skeleton } from '@material-ui/lab'\nimport constants from 'theme/constants'\n\nconst statusColors = {\n 1: colors.orange[600],\n 2: colors.red[600],\n 3: colors.green[600]\n}\n\nconst useStyles = makeStyles((theme) => ({\n root: { paddingTop: theme.spacing(2) },\n paper: {\n width: '100%',\n [theme.breakpoints.up('md')]: {\n minHeight: 380\n },\n ...constants.shadowCard\n },\n tableCell: {\n fontSize: '8pt'\n },\n container: {\n height: 290\n },\n toolbar: {}\n}))\n\nconst CardRetiradas = ({ movimentacoesFinanceiras, title }) => {\n const { isLoading } = useSelector((state) => state.movimentacaoFinanceira)\n const classes = useStyles()\n const theme = useTheme()\n const isMobile = useMediaQuery(theme.breakpoints.down('xs'))\n const [page, setPage] = useState(0)\n const [rowsPerPage, setRowsPerPage] = useState(isMobile ? 5 : 8)\n const { showValues } = useSelector((state) => state.global)\n const handleChangePage = (event, newPage) => {\n setPage(newPage)\n }\n\n const handleChangeRowsPerPage = (event) => {\n setRowsPerPage(+event.target.value)\n setPage(0)\n }\n return (\n \n <>\n {isLoading ? (\n \n ) : (\n <>\n \n \n \n {title}\n \n \n \n {undefined !== movimentacoesFinanceiras &&\n movimentacoesFinanceiras.length > 0 ? (\n <>\n \n \n \n \n \n \n Valor (R$)\n \n \n Solicitação\n \n \n Finalização\n \n \n Status\n \n \n \n \n \n {movimentacoesFinanceiras\n .slice(\n page * rowsPerPage,\n page * rowsPerPage + rowsPerPage\n )\n .map((n) => {\n return (\n \n history.push(\n `/movimentacaoFinanceira/${n.id}/resumo`\n )\n }\n style={{ cursor: 'pointer' }}\n hover\n key={n.id}\n >\n \n {showValues ? (\n formatCurrency(n.valor)\n ) : (\n \n )}\n \n \n {toLocalDateFormat(n.dataHora)}\n \n \n {n.dataHoraProcessamento !== null\n ? toLocalDateFormat(\n n.dataHoraProcessamento\n )\n : '------'}\n \n \n \n \n {\n n.statusMovimentacaoFinanceira\n .descricao\n }\n \n \n \n \n \n \n history.push(\n `/movimentacaoFinanceira/${n.id}/resumo`\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\nCardRetiradas.propTypes = {\n movimentacoesFinanceiras: PropTypes.array.isRequired,\n title: PropTypes.string.isRequired\n}\n\nexport default CardRetiradas\n","import React, { useEffect } from 'react'\nimport PropTypes from 'prop-types'\nimport clsx from 'clsx'\nimport { makeStyles } from '@material-ui/styles'\nimport { Grid } from '@material-ui/core'\nimport { CardRetiradas } from './components'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { movimentacaoFinanceiraAction } from '_actions'\nimport { AccessControl } from 'components/Utils/AccessControl'\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n value: {\n fontWeight: theme.typography.fontWeightMedium\n },\n card: {\n borderRadius: '8px',\n boxShadow: '0px 2px 8px rgb(0 0 0 / 8%)',\n height: 200\n }\n}))\n\nconst Retiradas = (props) => {\n const { className, ...rest } = props\n const classes = useStyles()\n const dispatch = useDispatch()\n const { movimentacaoFinanceira } = useSelector(\n (state) => state.movimentacaoFinanceira\n )\n const estabelecimentoId = useSelector(\n (state) => state.usuarioEstabelecimento.estabelecimentoId\n )\n const movimentacaoFinanceiraEmAndamento = movimentacaoFinanceira.filter(\n (c) => c.statusMovimentacaoFinanceira.id === 1\n )\n const movimentacaoFinanceiraConcluido = movimentacaoFinanceira.filter(\n (c) => c.statusMovimentacaoFinanceira.id !== 1\n )\n useEffect(() => {\n dispatch(\n movimentacaoFinanceiraAction.getMovimentacaoFinanceiraByEstabelecimento(\n estabelecimentoId\n )\n )\n return () => {\n dispatch(movimentacaoFinanceiraAction.clear())\n }\n }, [estabelecimentoId])\n\n return (\n (\n \n \n \n \n \n \n \n \n )}\n />\n )\n}\n\nRetiradas.propTypes = {\n className: PropTypes.string\n}\n\nexport default Retiradas\n","import React from 'react'\nimport {\n Tabs,\n Paper,\n Tab,\n makeStyles,\n useTheme,\n useMediaQuery\n} from '@material-ui/core'\nimport AccountBalanceWalletTwoToneIcon from '@material-ui/icons/AccountBalanceWalletTwoTone'\nimport AccountBalanceTwoToneIcon from '@material-ui/icons/AccountBalanceTwoTone'\nimport EventAvailableTwoToneIcon from '@material-ui/icons/EventAvailableTwoTone'\nimport EventBusyTwoToneIcon from '@material-ui/icons/EventBusyTwoTone'\nimport { history } from 'utils'\nimport { Redirect, useParams } from 'react-router-dom'\nimport constants from 'theme/constants'\n\nconst useStyles = makeStyles((theme) => ({\n paper: {\n width: '100%',\n ...constants.shadowCard,\n padding: 10\n },\n tabs: {\n width: '100%'\n },\n tab: {\n [theme.breakpoints.down('xs')]: {\n fontSize: 11\n },\n textTransform: 'none'\n },\n marginLeft: {\n [theme.breakpoints.down('sm')]: {\n marginLeft: '0'\n },\n marginLeft: 'auto'\n }\n}))\n\nconst Navigation = () => {\n const classes = useStyles()\n const { tab } = useParams()\n\n const theme = useTheme()\n const isMobile = useMediaQuery(theme.breakpoints.down('sm'))\n\n const handleChange = (event, value) => {\n history.push(`/carteira/${value}`)\n }\n return (\n \n \n }\n label=\"Liberados\"\n />\n }\n label=\"A liberar\"\n />\n }\n label=\"Retiradas\"\n />\n }\n label={isMobile ? 'Contas' : 'Contas bancárias'}\n />\n \n \n )\n}\n\nexport default Navigation\n","import React from 'react'\nimport { makeStyles } from '@material-ui/styles'\nimport { Button, Grid, Typography } from '@material-ui/core'\nimport Image from 'material-ui-image'\nimport { history } from 'utils'\nconst useStyles = makeStyles((theme) => ({\n root: {},\n noResultText: {\n paddingTop: theme.spacing(4),\n paddingBottom: theme.spacing(1),\n textAlign: 'center'\n },\n image: { marginTop: theme.spacing(1) },\n button: {\n [theme.breakpoints.up('sm')]: {\n marginRight: theme.spacing(2)\n },\n webkitTransition: ' all 300ms ease',\n transition: 'all 300ms ease',\n '&:hover': {\n backgroundColor: theme.palette.primary.main,\n boxShadow: '0 9px 40px -14px #FFC20A',\n webkitTransition: ' all 300ms ease',\n transition: 'all 300ms ease',\n letterSpacing: '1.2px'\n }\n }\n}))\nconst EmptyFirstContaBancaria = () => {\n const classes = useStyles()\n\n const handleClickContaBancaria = () => {\n history.push(`/carteira/contasBancarias/cadastro`)\n }\n\n const handleClickPix = () => {\n history.push(`/carteira/contasBancarias/pix`)\n }\n\n return (\n
\n \n \n \n \n \n \n Você ainda não cadastrou nenhuma conta bancária\n \n \n \n \n Cadastrar conta! 💰\n \n \n \n \n Cadastrar pix! 💰\n \n \n \n
\n )\n}\n\nexport default EmptyFirstContaBancaria\n","import React, { useEffect } from 'react'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { contaBancariaAction } from '_actions'\nimport {\n makeStyles,\n Table,\n TableContainer,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Paper,\n IconButton,\n Tooltip,\n Typography,\n Button,\n Grid\n} from '@material-ui/core'\nimport DeleteIcon from '@material-ui/icons/Delete'\nimport EditIcon from '@material-ui/icons/Edit'\nimport { history } from 'utils'\nimport { Page, SkeletonTable } from 'components'\nimport { useConfirm } from 'material-ui-confirm'\nimport { AccessControl } from 'components/Utils/AccessControl'\nimport CheckCircleTwoToneIcon from '@material-ui/icons/CheckCircleTwoTone'\nimport EmptyFirstContaBancaria from '../EmptyFirstContaBancaria/EmptyFirstContaBancaria'\nimport constants from 'theme/constants'\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n paper: {\n marginTop: theme.spacing(1),\n ...constants.shadowCard\n }\n}))\n\nconst ContaBancariaList = () => {\n const confirm = useConfirm()\n const dispatch = useDispatch()\n const classes = useStyles()\n\n const { contaBancaria, isFetching } = useSelector(\n (state) => state.contaBancaria\n )\n const estabelecimentoId = useSelector(\n (state) => state.usuarioEstabelecimento.estabelecimentoId\n )\n\n useEffect(() => {\n dispatch(\n contaBancariaAction.getContaBancariaByEstabelecimento(estabelecimentoId)\n )\n }, [estabelecimentoId])\n\n const handleDeleteClick = (id, strFrom) => {\n confirm({\n title: `Você deseja excluir esta ${strFrom}?`,\n description: `Confirmando essa operação, esta ${strFrom} não valerá mais.`,\n confirmationText: 'Sim, excluir!',\n cancellationText: 'Nãããoo!'\n }).then(() => {\n dispatch(contaBancariaAction.deleteContaBancariaById(id))\n })\n }\n\n const thereIsPix = contaBancaria.some((element) => element.conta === '0')\n\n const thereIsContaBancaria = contaBancaria.some(\n (element) => element.conta !== '0'\n )\n\n return (\n \n (\n <>\n {isFetching ? (\n \n ) : (\n <>\n {undefined !== contaBancaria && contaBancaria.length > 0 ? (\n
\n \n \n {`Total de dados encontrados: ${contaBancaria.length}`}\n \n \n history.push('contasBancarias/pix')}\n variant=\"contained\"\n color=\"primary\"\n >\n Nova Chave Pix\n \n \n \n \n history.push('contasBancarias/cadastro')\n }\n variant=\"contained\"\n color=\"primary\"\n >\n Nova conta\n \n \n \n\n <>\n {thereIsContaBancaria && (\n \n \n \n \n Descrição\n Agência\n Conta\n CPF/CNPJ\n \n Nome Titular\n \n Padrão\n Ações\n \n \n \n {contaBancaria.map((n) => {\n return (\n <>\n {n.conta !== '0' && (\n \n \n {n.descricao}\n \n \n {n.agencia}\n \n \n {n.conta}\n \n \n {n.cpfCnpjTitular}\n \n \n {n.nomeTitular}\n \n \n {n.padrao && (\n \n )}\n \n \n {/* (\n \n history.push(\n `/carteira/contasBancarias/cadastro/${n.id}`\n )\n }\n >\n \n \n \n \n )}\n /> */}\n (\n \n handleDeleteClick(\n n.id,\n 'Conta Bancária'\n )\n }\n >\n \n \n \n \n )}\n />\n \n \n )}\n \n )\n })}\n \n
\n \n )}\n \n\n <>\n {thereIsPix && (\n \n \n \n \n Descrição\n Chave PIX\n \n Nome Titular\n \n Padrão\n Ações\n \n \n \n {contaBancaria.map((n) => {\n return (\n <>\n {n.conta === '0' && (\n \n \n {n.descricao}\n \n \n {n.chavePix}\n \n \n {n.nomeTitular}\n \n \n {n.padrao && (\n \n )}\n \n \n {/* (\n \n history.push(\n `/carteira/contasBancarias/pix/${n.id}`\n )\n }\n >\n \n \n \n \n )}\n /> */}\n (\n \n handleDeleteClick(\n n.id,\n 'Chave PIX'\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\nexport default ContaBancariaList\n","import React, { useState, useEffect } from 'react'\nimport { cpfCnpjMask } from 'utils/masks'\nimport { crudService } from '_services'\nimport { ValidatorForm, TextValidator } from 'react-material-ui-form-validator'\nimport { cnpj, cpf } from 'cpf-cnpj-validator'\nimport {\n Card,\n CardHeader,\n CardContent,\n CardActions,\n Divider,\n Button,\n makeStyles,\n Checkbox,\n FormControlLabel,\n Grid\n} from '@material-ui/core'\nimport { useSelector, useDispatch } from 'react-redux'\nimport { contaBancariaAction } from '_actions'\nimport { useParams } from 'react-router-dom'\nimport { history } from 'utils'\nimport { HelperToolTip } from 'components'\nimport { Page } from 'components'\nimport TextField from '@material-ui/core/TextField'\nimport Autocomplete from '@material-ui/lab/Autocomplete'\nimport { toast } from 'react-toastify'\nimport constants from 'theme/constants'\n\nconst useStyles = makeStyles(() => ({\n root: {},\n paper: {\n ...constants.shadowCard\n }\n}))\n\nconst ContaBancariaEdit = () => {\n const dispatch = useDispatch()\n const { idContaBancaria } = useParams()\n const classes = useStyles()\n const contaBancaria = useSelector((state) => state.contaBancaria)\n const estabelecimentoId = useSelector(\n (state) => state.usuarioEstabelecimento.estabelecimentoId\n )\n const [instituicoes, setInstituicoes] = useState([])\n const [instituicaoSelecionada, setInstituicaoSelecionada] = useState('')\n const [\n instituicaoSelecionadaInputValue,\n setInstituicaoSelecionadaInputValue\n ] = useState('')\n\n const handleChange = (prop) => (event) => {\n dispatch(contaBancariaAction.onChangeProps(prop, event))\n }\n\n const handleSelectInstituicao = (instituicao) => {\n if (instituicao === null) {\n setInstituicaoSelecionada('')\n setInstituicaoSelecionadaInputValue('')\n } else {\n setInstituicaoSelecionada(instituicao.id)\n setInstituicaoSelecionadaInputValue(instituicao.nome)\n }\n }\n\n useEffect(() => {\n if (idContaBancaria) {\n setInstituicaoSelecionadaInputValue(\n contaBancaria.instituicaoBancaria.nome\n )\n setInstituicaoSelecionada(contaBancaria.instituicaoBancariaId)\n }\n }, [contaBancaria.instituicaoBancaria.id])\n\n useEffect(() => {\n if (idContaBancaria) {\n dispatch(contaBancariaAction.getContaBancariaById(idContaBancaria))\n } else {\n dispatch(contaBancariaAction.clear())\n }\n crudService.get('InstituicoesBancarias/').then((response) => {\n setInstituicoes(response.data)\n })\n\n ValidatorForm.addValidationRule('isValidCpf', (value) => {\n if (value && value.length <= 14) {\n if (cpf.isValid(value)) {\n return true\n } else {\n return false\n }\n } else {\n return true\n }\n })\n\n ValidatorForm.addValidationRule('isValidCnpj', (value) => {\n if (value && value.length >= 15) {\n if (cnpj.isValid(value)) {\n return true\n } else {\n return false\n }\n } else {\n return true\n }\n })\n return () => {\n ValidatorForm.removeValidationRule('isValidCpf')\n ValidatorForm.removeValidationRule('isValidCnpj')\n dispatch(contaBancariaAction.clear())\n }\n }, [])\n\n const handleSubmit = () => {\n if (instituicaoSelecionada < 1) {\n toast.error('Opss! Selecione a instituição bancária!')\n } else {\n let payload = {\n id: idContaBancaria,\n estabelecimentoId: estabelecimentoId,\n instituicaoBancariaId: instituicaoSelecionada,\n descricao: contaBancaria.descricao,\n agencia: contaBancaria.agencia,\n conta: contaBancaria.conta,\n nomeTitular: contaBancaria.nomeTitular,\n padrao: contaBancaria.padrao,\n cpfCnpjTitular: contaBancaria.cpfCnpjTitular\n .split('.')\n .join('')\n .replace(/[-/.]/g, '')\n }\n\n if (idContaBancaria) {\n dispatch(\n contaBancariaAction.editContaBancariaInfo(idContaBancaria, payload)\n )\n } else {\n dispatch(contaBancariaAction.createContaBancaria(payload))\n }\n }\n }\n\n return (\n \n \n \n handleSubmit(event)}\n >\n \n \n \n \n \n \n \n\n \n {\n handleSelectInstituicao(newValue)\n }}\n InputLabelProps={{\n shrink: true\n }}\n onInputChange={(event, newInputValue) => {\n newInputValue !== null &&\n newInputValue.length > 0 &&\n setInstituicaoSelecionadaInputValue(newInputValue)\n }}\n inputValue={instituicaoSelecionadaInputValue}\n fullWidth\n labelId=\"instituicaoBancariaId\"\n options={instituicoes}\n getOptionLabel={(option) => (option ? option.nome : '')}\n renderInput={(params) => (\n \n )}\n />\n \n\n \n \n \n \n \n \n\n \n \n \n\n \n \n \n\n \n \n }\n label={\n
\n Padrão\n \n Se selecionado, todos os depósitos serão feitos nessa\n conta!\n \n
\n }\n />\n
\n
\n
\n \n \n history.push('/carteira/contasBancarias')}\n color=\"secondary\"\n variant=\"outlined\"\n >\n Cancelar\n \n \n \n \n
\n
\n \n )\n}\n\nexport default ContaBancariaEdit\n","import React, { useEffect } from 'react'\nimport {\n ValidatorForm,\n TextValidator,\n SelectValidator\n} from 'react-material-ui-form-validator'\nimport {\n Card,\n CardHeader,\n CardContent,\n CardActions,\n Divider,\n Button,\n makeStyles,\n Checkbox,\n FormControlLabel,\n Grid,\n MenuItem\n} from '@material-ui/core'\nimport { useSelector, useDispatch } from 'react-redux'\nimport { contaBancariaAction } from '_actions'\nimport { useParams } from 'react-router-dom'\nimport { cpfCnpjMask, history } from 'utils'\nimport { HelperToolTip } from 'components'\nimport { Page } from 'components'\nimport constants from 'theme/constants'\nimport { cnpj, cpf } from 'cpf-cnpj-validator'\n\nconst useStyles = makeStyles(() => ({\n root: {},\n paper: {\n ...constants.shadowCard\n }\n}))\n\nconst PixEdit = () => {\n const dispatch = useDispatch()\n const { idContaBancaria } = useParams()\n const classes = useStyles()\n const contaBancaria = useSelector((state) => state.contaBancaria)\n const estabelecimentoId = useSelector(\n (state) => state.usuarioEstabelecimento.estabelecimentoId\n )\n const tipoChavePix = []\n tipoChavePix.push({ id: 0, tipo: 'CPF/CNPJ' })\n tipoChavePix.push({ id: 1, tipo: 'Email' })\n tipoChavePix.push({ id: 2, tipo: 'Nº Celular' })\n tipoChavePix.push({ id: 3, tipo: 'Chave Aleatória' })\n\n const handleChange = (prop) => (event) => {\n dispatch(contaBancariaAction.onChangeProps(prop, event))\n }\n\n useEffect(() => {\n if (idContaBancaria) {\n dispatch(contaBancariaAction.getContaBancariaById(idContaBancaria))\n } else {\n dispatch(contaBancariaAction.clear())\n }\n ValidatorForm.addValidationRule('isValidCpf', (value) => {\n if (value && value.length <= 14) {\n if (cpf.isValid(value)) {\n return true\n } else {\n return false\n }\n } else {\n return true\n }\n })\n\n ValidatorForm.addValidationRule('isValidCnpj', (value) => {\n if (value && value.length >= 15) {\n if (cnpj.isValid(value)) {\n return true\n } else {\n return false\n }\n } else {\n return true\n }\n })\n return () => {\n ValidatorForm.removeValidationRule('isValidCpf')\n ValidatorForm.removeValidationRule('isValidCnpj')\n dispatch(contaBancariaAction.clear())\n }\n }, [])\n\n const handleSubmit = () => {\n let payload = {\n id: idContaBancaria,\n estabelecimentoId: estabelecimentoId,\n descricao: contaBancaria.descricao,\n agencia: 0,\n conta: 0,\n nomeTitular: contaBancaria.nomeTitular,\n instituicaoBancariaId: 1,\n padrao: contaBancaria.padrao,\n cpfCnpjTitular: contaBancaria.cpfCnpjTitular\n .split('.')\n .join('')\n .replace(/[-/.]/g, ''),\n chavePix: contaBancaria.chavePix,\n tipoChavePix: contaBancaria.tipoChavePix\n }\n\n if (idContaBancaria) {\n dispatch(\n contaBancariaAction.editContaBancariaInfo(idContaBancaria, payload)\n )\n } else {\n dispatch(contaBancariaAction.createContaBancaria(payload))\n }\n }\n\n return (\n \n \n \n handleSubmit(event)}\n >\n \n \n \n \n \n \n \n \n \n \n \n \n \n Tipo Chave Pix *\n \n {tipoChavePix.map((row) => (\n \n {row.tipo}\n \n ))}\n \n \n\n \n \n \n\n \n \n \n\n \n \n }\n label={\n
\n Padrão\n \n Se selecionado, todos os depósitos serão feitos nessa\n conta!\n \n
\n }\n />\n
\n
\n
\n \n \n history.push('/carteira/contasBancarias')}\n color=\"secondary\"\n variant=\"outlined\"\n >\n Cancelar\n \n \n \n \n
\n
\n \n )\n}\n\nexport default PixEdit\n","import React from 'react'\nimport { makeStyles } from '@material-ui/styles'\nimport { Page } from 'components'\nimport { ContaBancariaList, ContaBancariaEdit, PixEdit } from './components'\nimport useRouter from 'utils/useRouter'\n\nconst useStyles = makeStyles((theme) => ({\n root: { padding: theme.spacing(4, 0, 2, 0) }\n}))\n\nconst ContasBancaria = () => {\n const classes = useStyles()\n const { match } = useRouter()\n const { path } = match\n\n return (\n \n {path && path.includes('pix') ? (\n \n ) : path.includes('cadastro') ? (\n \n ) : (\n \n )}\n \n )\n}\n\nexport default ContasBancaria\n","import React, { useEffect } from 'react'\nimport { makeStyles } from '@material-ui/styles'\nimport { Header, Page } from 'components'\nimport {\n Notifications,\n CardSaldo,\n IngressosLiberados,\n IngressosNaoLiberados,\n ContasBancaria,\n Retiradas\n} from './components'\nimport { Redirect, useParams } from 'react-router'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { globalActions, ingressoAction } from '_actions'\nimport messageTime from 'utils/stringTimeHello'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(3, 2, 2, 2)\n },\n header: {\n paddingBottom: theme.spacing(4)\n },\n cardSaldo: {\n [theme.breakpoints.down('md')]: {\n marginTop: theme.spacing(3)\n }\n },\n notifications: {\n marginTop: theme.spacing(4)\n },\n ingressosLiberados: {\n marginTop: theme.spacing(3)\n }\n}))\n\nconst Carteira = () => {\n const classes = useStyles()\n const { tab } = useParams()\n const dispatch = useDispatch()\n const { nome } = useSelector((state) => state.authentication.user)\n const estabelecimentoId = useSelector(\n (state) => state.usuarioEstabelecimento.estabelecimentoId\n )\n useEffect(() => {\n dispatch(\n ingressoAction.getIngressosLiberadosByEstabelecimento(estabelecimentoId)\n )\n }, [estabelecimentoId])\n\n useEffect(() => {\n dispatch(globalActions.setIsVisibleButtonShowValues(true))\n return () => {\n dispatch(globalActions.setIsVisibleButtonShowValues(false))\n }\n }, [])\n\n if (!tab) {\n return \n }\n return (\n \n \n \n \n {tab === 'liberados' && (\n \n )}\n {tab === 'aliberar' && (\n \n )}\n {tab === 'contasBancarias' && }\n {tab === 'retiradas' && }\n \n )\n}\n\nexport default Carteira\n","import React from 'react'\nimport { Link as RouterLink } from 'react-router-dom'\nimport { makeStyles } from '@material-ui/styles'\nimport { Typography, Button, useTheme, useMediaQuery } from '@material-ui/core'\n\nimport { Page } from 'components'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(3),\n paddingTop: '10vh',\n display: 'flex',\n flexDirection: 'column',\n alignContent: 'center'\n },\n imageContainer: {\n marginTop: theme.spacing(6),\n display: 'flex',\n justifyContent: 'center'\n },\n image: {\n maxWidth: '100%',\n width: 560,\n maxHeight: 300,\n height: 'auto'\n },\n buttonContainer: {\n marginTop: theme.spacing(6),\n display: 'flex',\n justifyContent: 'center'\n }\n}))\n\nconst Error404 = () => {\n const classes = useStyles()\n const theme = useTheme()\n const mobileDevice = useMediaQuery(theme.breakpoints.down('sm'))\n\n return (\n \n \n 404: A página que você está procurando não está aqui\n \n \n Você tentou alguma rota sombria ou veio aqui por engano. Seja qual for,\n tente usar a navegação\n \n
\n \n
\n
\n \n Voltar para home\n \n
\n
\n )\n}\n\nexport default Error404\n","import React from 'react'\n\nconst Ajuda = () => {\n return (\n <>\n \n \n )\n}\n\nexport default Ajuda\n","import React from 'react'\r\nimport {\r\n TableBody,\r\n Table,\r\n makeStyles,\r\n TableCell,\r\n TableContainer,\r\n TableHead,\r\n TableRow,\r\n Paper,\r\n Typography,\r\n Toolbar,\r\n Tooltip,\r\n IconButton,\r\n Backdrop,\r\n CircularProgress,\r\n Box,\r\n TableSortLabel,\r\n TablePagination,\r\n Avatar\r\n} from '@material-ui/core'\r\nimport ReactToPrint from 'react-to-print'\r\nimport { CSVLink } from 'react-csv'\r\nimport PrintRoundedIcon from '@material-ui/icons/PrintRounded'\r\nimport GetAppRoundedIcon from '@material-ui/icons/GetAppRounded'\r\nimport { toast } from 'react-toastify'\r\n\r\n//? Own imports\r\nimport {\r\n cpfCnpjMask,\r\n formatCurrency,\r\n getImageUrls,\r\n getInitials,\r\n getStatusIngressoColor,\r\n history,\r\n phoneMask,\r\n toLocalDateFormat,\r\n useSearchQuery\r\n} from 'utils'\r\nimport { Label } from 'components'\r\nimport { Ingresso } from 'types/api'\r\nimport constants from 'theme/constants'\r\nimport { useTickets } from 'hooks-querys'\r\n\r\nconst headers = [\r\n { label: 'N.º', key: 'id' },\r\n { label: 'Cliente', key: 'usuario.nome' },\r\n { label: 'CPF/CNPJ', key: 'usuario.cpfCnpj' },\r\n { label: 'Celular', key: 'usuario.telefone' },\r\n { label: 'Email', key: 'usuario.email' },\r\n { label: 'Tipo de Ingresso', key: 'tipoIngresso' },\r\n { label: 'Valor Pago (R$)', key: 'valorPago' },\r\n { label: 'Data Hora Validação', key: 'dataHoraValidacao' },\r\n { label: 'Status', key: 'statusIngresso' }\r\n]\r\n\r\nexport const prepareDataForCSV = (tickets: Ingresso[]) => {\r\n return tickets.map((ticket) => ({\r\n id: ticket.id,\r\n 'usuario.nome': ticket.usuario.nome,\r\n 'usuario.cpfCnpj': cpfCnpjMask(ticket.usuario.cpfCnpj),\r\n 'usuario.telefone': phoneMask(ticket.usuario.telefone),\r\n 'usuario.email': ticket.usuario.email,\r\n tipoIngresso: `${ticket.lote.tipoIngresso.descricao} - (${ticket.lote.descricao})`,\r\n valorPago: (ticket.valor - ticket.valorDesconto)?.toFixed(2),\r\n dataHoraValidacao: toLocalDateFormat(ticket?.dataHoraValidacao),\r\n statusIngresso: ticket.statusIngresso.descricao\r\n }))\r\n}\r\n\r\nconst handleDownload = () => {\r\n toast.success('Download concluído com sucesso! 👍', {\r\n position: 'top-right'\r\n })\r\n}\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n table: {\r\n minWidth: 700\r\n },\r\n rootToolbarStyles: {\r\n paddingLeft: theme.spacing(2),\r\n paddingRight: theme.spacing(1)\r\n },\r\n titleToolbarStyles: {\r\n flex: '1 1 100%'\r\n },\r\n paper: {\r\n width: '100%',\r\n marginBottom: theme.spacing(2),\r\n ...constants.shadowCard\r\n },\r\n backdrop: {\r\n zIndex: theme.zIndex.drawer + 1,\r\n color: '#fff'\r\n },\r\n visuallyHidden: {\r\n border: 0,\r\n clip: 'rect(0 0 0 0)',\r\n height: 1,\r\n margin: -1,\r\n overflow: 'hidden',\r\n padding: 0,\r\n position: 'absolute',\r\n top: 20,\r\n width: 1\r\n },\r\n nameCell: {\r\n display: 'flex',\r\n alignItems: 'center'\r\n },\r\n avatar: {\r\n height: 32,\r\n width: 32,\r\n marginRight: theme.spacing(2)\r\n },\r\n statusCell: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n gap: theme.spacing(1)\r\n }\r\n}))\r\n\r\ntype Order = 'asc' | 'desc'\r\ninterface EnhancedTableProps {\r\n classes: ReturnType\r\n onRequestSort: (event: React.MouseEvent, property: string) => void\r\n order: Order\r\n orderBy: string\r\n}\r\ninterface HeadCell {\r\n id: string\r\n label: string\r\n align?: 'right' | 'left'\r\n enableSort: boolean\r\n}\r\n\r\nconst headCells: HeadCell[] = [\r\n {\r\n id: 'id',\r\n label: 'N.º',\r\n align: 'left',\r\n enableSort: true\r\n },\r\n { id: 'nome', label: 'Cliente', enableSort: true },\r\n { id: 'cpfCnpj', label: 'CPF/CNPJ', enableSort: false },\r\n {\r\n id: 'telefone',\r\n label: 'Telefone',\r\n enableSort: false\r\n },\r\n {\r\n id: 'tipoIngresso',\r\n label: 'Tipo Ingresso',\r\n enableSort: true\r\n },\r\n {\r\n id: 'valor',\r\n label: 'Valor Pago (R$)',\r\n enableSort: false\r\n },\r\n { id: 'status', label: 'Status', enableSort: true, align: 'right' }\r\n]\r\n\r\nfunction EnhancedTableHead(props: EnhancedTableProps) {\r\n const { classes, order, orderBy, onRequestSort } = props\r\n const createSortHandler = (property: string) => (\r\n event: React.MouseEvent\r\n ) => {\r\n onRequestSort(event, property)\r\n }\r\n return (\r\n \r\n \r\n {headCells?.map((headCell) => (\r\n \r\n \r\n {headCell.label}\r\n {orderBy === headCell.id ? (\r\n \r\n {order === 'desc' ? 'sorted descending' : 'sorted ascending'}\r\n \r\n ) : null}\r\n \r\n \r\n ))}\r\n \r\n \r\n )\r\n}\r\n\r\nconst TableIngressos = () => {\r\n const classes = useStyles()\r\n const refTable = React.useRef(null)\r\n const querySearch = useSearchQuery()\r\n const order = (querySearch.get('direction') || 'asc') as 'asc' | 'desc'\r\n const orderBy = querySearch.get('order') || 'nome'\r\n\r\n const { data, isLoading, isFetching } = useTickets({\r\n eventoId: Number(querySearch.get('eventId') || 0),\r\n term: querySearch.get('busca') || '',\r\n statusIngressoId: Number(querySearch.get('statusId')) || 0,\r\n limit: Number(querySearch.get('limit') || 15),\r\n page: Number(querySearch.get('page') || 0),\r\n loteId: Number(querySearch.get('loteId')) || 0,\r\n tipoIngressoId: Number(querySearch.get('tipoIngressoId')) || 0,\r\n validados: querySearch.get('validados') || '',\r\n order: orderBy,\r\n direction: order\r\n })\r\n\r\n const csvData = prepareDataForCSV(data?.items || [])\r\n\r\n const handleRequestSort = (\r\n event: React.MouseEvent,\r\n property: string\r\n ) => {\r\n const isAsc = orderBy === property && order === 'asc'\r\n querySearch.set('direction', isAsc ? 'desc' : 'asc')\r\n querySearch.set('order', property)\r\n history.push({ search: querySearch.toString() })\r\n }\r\n const handleChangePage = (event: unknown, newPage: number) => {\r\n querySearch.set('page', newPage?.toString())\r\n history.push({ search: querySearch.toString() })\r\n }\r\n\r\n const handleChangeRowsPerPage = (\r\n event: React.ChangeEvent\r\n ) => {\r\n querySearch.set('limit', event.target.value)\r\n querySearch.set('page', '0')\r\n history.push({ search: querySearch.toString() })\r\n }\r\n\r\n if (isLoading) {\r\n return (\r\n \r\n \r\n \r\n Carregando dados...\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {data && data?.totalRows > 0 ? (\r\n <>\r\n Total de dados encontrados: {data?.totalRows}\r\n \r\n ) : (\r\n Nenhum dado encontrado.\r\n )}\r\n \r\n {data && data?.totalRows > 0 && (\r\n \r\n \r\n \r\n Lista de Ingressos\r\n \r\n {\r\n handleDownload()\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n content={() => refTable.current}\r\n />\r\n \r\n {/* usado para 'forçar' a orientação da pagina para 'paisagem' afim de imprimir mostrando todos os dados */}\r\n \r\n {/* ------------------------------------------------------------>\t */}\r\n \r\n \r\n \r\n \r\n {data?.items.map((ticket) => (\r\n \r\n \r\n {ticket.id}\r\n \r\n \r\n
\r\n \r\n {getInitials(ticket?.usuario?.nome)}\r\n \r\n
\r\n {ticket?.usuario?.nome}\r\n
{ticket?.usuario?.email}
\r\n
\r\n
\r\n
\r\n \r\n {cpfCnpjMask(ticket.usuario.cpfCnpj)}\r\n \r\n \r\n {phoneMask(ticket.usuario.telefone)}\r\n \r\n \r\n {ticket.lote.tipoIngresso.descricao} - (\r\n {ticket.lote.descricao})\r\n \r\n \r\n {formatCurrency(ticket.valor - ticket.valorDesconto)}\r\n \r\n \r\n
\r\n \r\n {ticket.statusIngresso.descricao}\r\n \r\n
\r\n {ticket?.dataHoraValidacao ? (\r\n \r\n Validado em:{' '}\r\n {toLocalDateFormat(ticket?.dataHoraValidacao)}\r\n \r\n ) : null}\r\n
\r\n
\r\n
\r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n \r\n
\r\n )}\r\n
\r\n )\r\n}\r\n\r\nexport default TableIngressos\r\n","import React, { useEffect, useState } from 'react'\r\nimport {\r\n Grid,\r\n Select,\r\n MenuItem,\r\n FormControl,\r\n InputLabel,\r\n makeStyles,\r\n Switch,\r\n TextField,\r\n InputAdornment,\r\n IconButton,\r\n Divider,\r\n useTheme,\r\n useMediaQuery,\r\n Chip,\r\n CircularProgress,\r\n Tooltip,\r\n Fade,\r\n Box\r\n} from '@material-ui/core'\r\nimport { useSelector } from 'react-redux'\r\nimport { Autocomplete } from '@material-ui/lab'\r\nimport SearchRoundedIcon from '@material-ui/icons/SearchRounded'\r\nimport CloseIcon from '@material-ui/icons/Close'\r\n\r\n//? Own imports\r\nimport { useDidMountEffect } from 'utils/useDidMountEffect'\r\nimport {\r\n useEvents,\r\n useLotesByEventSelect,\r\n useStatusIngressoSelect,\r\n useTipoIngressoSelect\r\n} from 'hooks-querys'\r\nimport { history, toLocalDateFormat, useSearchQuery } from 'utils'\r\nimport { Evento } from 'types/api'\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n flexGrow: 1\r\n },\r\n formControl: {\r\n width: '100%'\r\n },\r\n divider: {\r\n height: 28,\r\n margin: 4\r\n }\r\n}))\r\n\r\nconst SelectFilters = () => {\r\n const classes = useStyles()\r\n const theme = useTheme()\r\n const querySearch = useSearchQuery()\r\n const isMobile = useMediaQuery(theme.breakpoints.down('xs'))\r\n const [selectedEvento, setSelectedEvento] = useState(null)\r\n const [eventoInputValue, setEventoInputValue] = useState('')\r\n const [showPastEvents, setShowPastEvents] = useState(false)\r\n\r\n const estabelecimentoId = useSelector(\r\n // @ts-ignore: //ainda não foi tipado o redux state\r\n (state) => state.usuarioEstabelecimento.estabelecimentoId\r\n )\r\n const textSearch = querySearch.get('busca') || ''\r\n const [searchText, setSearchText] = useState(textSearch || '')\r\n const eventId = querySearch.get('eventId') || '0'\r\n const loteId = querySearch.get('loteId') || ''\r\n const tipoIngressoId = querySearch.get('tipoIngressoId')\r\n const statusId = querySearch.get('statusId') || ''\r\n const validados = querySearch.get('validados') || ''\r\n const {\r\n data: events,\r\n isLoading: isLoadingEvents,\r\n isFetching: isFetchingEvents\r\n } = useEvents(estabelecimentoId, showPastEvents, isMobile)\r\n const {\r\n data: statusIngressoSelect,\r\n isLoading: isLoadingStatusIngressoSelect\r\n } = useStatusIngressoSelect()\r\n\r\n const {\r\n isLoading: isLoadingLotesByEventSelect,\r\n data: lotesByEventSelect\r\n } = useLotesByEventSelect(Number(eventId) || 0, Number(tipoIngressoId) || 0)\r\n const {\r\n isLoading: isLoadingTipoIngressoSelect,\r\n data: tipoIngressoSelect\r\n } = useTipoIngressoSelect(estabelecimentoId || 0)\r\n\r\n useEffect(() => {\r\n setSearchText(textSearch)\r\n }, [textSearch])\r\n\r\n useEffect(() => {\r\n //? função executada para buscar o evento o qual esta na url (?eventId=)\r\n //? se não existir evento na url não faz nada\r\n\r\n if (eventId && Number(eventId) > 0) {\r\n const event =\r\n events &&\r\n events.length > 0 &&\r\n events.find((e) => e.id === Number(eventId))\r\n //? se encontrar o evento na url, seta o evento selecionado,\r\n //? se não encontrar, troca a o estado showPastEvents para true,\r\n //? pois o evento informado pode ser um evento passado, e não existir na lista de eventos;\r\n //? com isso, a lista de evento efetua um novo fetch para buscar os eventos passados,\r\n //? e gera um novo efeito colateral caindo nesse useEffect novamente\r\n\r\n if (event) {\r\n setSelectedEvento(event)\r\n } else if (selectedEvento === null) {\r\n setShowPastEvents(!showPastEvents)\r\n }\r\n }\r\n }, [events])\r\n\r\n const handleSubmitSearch = (event: React.FormEvent) => {\r\n event.preventDefault()\r\n\r\n const sanitizeInput = (input: string) => input.replace(/[^\\w\\s@]/g, '')\r\n\r\n const sanitizedSearchText = sanitizeInput(searchText.trim())\r\n\r\n if (sanitizedSearchText) {\r\n querySearch.set('busca', sanitizedSearchText)\r\n history.push({ search: querySearch.toString() })\r\n }\r\n }\r\n\r\n const handleRemoveFilter = (property: string) => {\r\n querySearch.delete(property)\r\n history.push({ search: querySearch.toString() })\r\n }\r\n\r\n const handleChangeSelectFilter = (property: string, value: string) => {\r\n if (!value) {\r\n handleRemoveFilter(property)\r\n } else {\r\n querySearch.set(property, value)\r\n history.push({ search: querySearch.toString() })\r\n }\r\n }\r\n const clearTextSearch = () => {\r\n querySearch.delete('busca')\r\n history.push({ search: querySearch.toString() })\r\n }\r\n const handleChangeValidatedTickets = (showValidatedTickets: string) => {\r\n querySearch.set('validados', showValidatedTickets)\r\n querySearch.delete('statusId')\r\n history.push({ search: querySearch.toString() })\r\n }\r\n\r\n useDidMountEffect(() => {\r\n history.push('/ingressos')\r\n }, [estabelecimentoId])\r\n\r\n useDidMountEffect(() => {\r\n if (selectedEvento?.id) {\r\n querySearch.set('eventId', selectedEvento?.id?.toString())\r\n history.push({ search: querySearch.toString() })\r\n }\r\n }, [statusId, selectedEvento])\r\n\r\n useEffect(() => {\r\n if (selectedEvento && selectedEvento.id) {\r\n if (eventoInputValue === '') {\r\n setEventoInputValue(\r\n selectedEvento.nome &&\r\n `${selectedEvento.nome} ${\r\n selectedEvento.dataHoraInicio\r\n ? ` - (${toLocalDateFormat(selectedEvento.dataHoraInicio)})`\r\n : ''\r\n }`\r\n )\r\n }\r\n }\r\n }, [selectedEvento])\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n {\r\n setSelectedEvento(newValue)\r\n if (reason === 'clear') {\r\n //? se o usuário clicar no botão limpar\r\n setEventoInputValue('')\r\n history.push('/ingressos')\r\n }\r\n }}\r\n getOptionLabel={(evento) =>\r\n evento.nome &&\r\n `${evento.nome} ${\r\n evento.dataHoraInicio\r\n ? ` - (${toLocalDateFormat(evento.dataHoraInicio)})`\r\n : ''\r\n }`\r\n }\r\n placeholder=\"Selecione o evento...\"\r\n onInputChange={(event, newInputValue) => {\r\n newInputValue !== null\r\n ? setEventoInputValue(newInputValue)\r\n : setEventoInputValue('')\r\n }}\r\n inputValue={eventoInputValue}\r\n renderInput={(params) => (\r\n \r\n {!isMobile && (\r\n \r\n <>\r\n {isFetchingEvents && (\r\n \r\n )}\r\n {\r\n setShowPastEvents(event.target.checked)\r\n }}\r\n checked={showPastEvents}\r\n size=\"small\"\r\n inputProps={{\r\n 'aria-label': 'Listar eventos encerrados'\r\n }}\r\n />\r\n {\r\n setShowPastEvents(!showPastEvents)\r\n }}\r\n />\r\n \r\n \r\n )}\r\n {params.InputProps.endAdornment}\r\n \r\n )\r\n }}\r\n />\r\n )}\r\n />\r\n \r\n \r\n\r\n 0)}>\r\n \r\n
\r\n \r\n {textSearch.length >= 1 && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }}\r\n fullWidth\r\n required\r\n value={searchText}\r\n onChange={(event) => setSearchText(event.target.value)}\r\n variant=\"outlined\"\r\n id=\"textForSearch\"\r\n label=\"Buscar\"\r\n placeholder=\"Busque por nome, CPF ou N.º...\"\r\n />\r\n \r\n
\r\n
\r\n 0)}>\r\n \r\n \r\n \r\n Filtrar por status\r\n \r\n {\r\n handleChangeSelectFilter(\r\n 'statusId',\r\n event.target.value as string\r\n )\r\n }}\r\n label=\"Filtrar por status\"\r\n endAdornment={\r\n <>\r\n {!isMobile && (\r\n \r\n <>\r\n {\r\n handleChangeValidatedTickets(\r\n event.target.checked.toString()\r\n )\r\n }}\r\n checked={validados === 'true'}\r\n size=\"small\"\r\n inputProps={{\r\n 'aria-label': 'Listar ingressos validados'\r\n }}\r\n />\r\n {\r\n handleChangeValidatedTickets(\r\n validados !== 'true' ? 'true' : 'false'\r\n )\r\n }}\r\n />\r\n \r\n \r\n )}\r\n \r\n }\r\n >\r\n \r\n {statusId === '0' ? (\r\n 'Filtrar por status'\r\n ) : (\r\n Limpar filtro\r\n )}\r\n \r\n {statusIngressoSelect &&\r\n statusIngressoSelect.length > 0 &&\r\n statusIngressoSelect.map((statusIngresso) => (\r\n \r\n {statusIngresso.text}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n 0)}>\r\n \r\n \r\n \r\n Filtrar por tipo de ingresso\r\n \r\n {\r\n handleChangeSelectFilter(\r\n 'tipoIngressoId',\r\n event.target.value as string\r\n )\r\n handleRemoveFilter('loteId')\r\n }}\r\n label={\r\n isLoadingTipoIngressoSelect\r\n ? 'Carregando...'\r\n : 'Filtrar por tipo de ingresso'\r\n }\r\n >\r\n \r\n {!tipoIngressoId ? (\r\n 'Filtrar por tipo de ingresso'\r\n ) : (\r\n Limpar filtro\r\n )}\r\n \r\n {Array.isArray(tipoIngressoSelect) &&\r\n tipoIngressoSelect?.map((selectItem) => (\r\n \r\n {selectItem?.text}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n {Number(tipoIngressoId) > 0 && (\r\n 0 &&\r\n selectedEvento &&\r\n selectedEvento.id > 0\r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n {isLoadingLotesByEventSelect\r\n ? 'Carregando...'\r\n : 'Filtrar por lote'}\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n placeholder={\r\n isLoadingLotesByEventSelect\r\n ? 'Carregando...'\r\n : 'Filtrar por lote'\r\n }\r\n labelId=\"lote-select-label\"\r\n id=\"lote-select-select\"\r\n value={loteId}\r\n onChange={(event) => {\r\n handleChangeSelectFilter(\r\n 'loteId',\r\n event.target.value as string\r\n )\r\n }}\r\n label={\r\n isLoadingLotesByEventSelect\r\n ? 'Carregando...'\r\n : 'Filtrar por lote'\r\n }\r\n >\r\n \r\n {!loteId ? (\r\n 'Filtrar por lote'\r\n ) : (\r\n Limpar filtro\r\n )}\r\n \r\n {Array.isArray(lotesByEventSelect) &&\r\n lotesByEventSelect?.map((selectItem) => (\r\n \r\n {selectItem?.text}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {isMobile && (\r\n 0)}>\r\n \r\n {\r\n handleChangeValidatedTickets(event.target.checked.toString())\r\n }}\r\n checked={validados === 'true'}\r\n size=\"small\"\r\n inputProps={{\r\n 'aria-label': 'Listar ingressos validados'\r\n }}\r\n />\r\n {\r\n handleChangeValidatedTickets(\r\n validados !== 'true' ? 'true' : 'false'\r\n )\r\n }}\r\n />\r\n \r\n \r\n )}\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default SelectFilters\r\n","import React from 'react'\r\nimport { makeStyles } from '@material-ui/core'\r\n//? Own imports\r\n\r\nimport { SelectFilters, TableIngressos } from './components'\r\nimport { AccessControl } from 'components/Utils/AccessControl'\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: '100%'\r\n }\r\n}))\r\n\r\nconst TicketsList = () => {\r\n const classes = useStyles()\r\n\r\n return (\r\n (\r\n
\r\n \r\n \r\n
\r\n )}\r\n />\r\n )\r\n}\r\n\r\nexport default TicketsList\r\n","import React, { useEffect, useState } from 'react'\r\nimport {\r\n Grid,\r\n Select,\r\n MenuItem,\r\n FormControl,\r\n InputLabel,\r\n makeStyles,\r\n TextField,\r\n InputAdornment,\r\n useTheme,\r\n useMediaQuery,\r\n Chip,\r\n CircularProgress,\r\n Avatar,\r\n Typography,\r\n Button,\r\n Box\r\n} from '@material-ui/core'\r\nimport { useSelector } from 'react-redux'\r\nimport { Autocomplete } from '@material-ui/lab'\r\nimport { useConfirm } from 'material-ui-confirm'\r\n\r\n//? Own imports\r\nimport {\r\n useEvents,\r\n useLotesByEvent,\r\n useMutationCreateFreeTicket,\r\n useUserSearch\r\n} from 'hooks-querys'\r\nimport {\r\n getGenderFull,\r\n getInitials,\r\n toLocalDateFormat,\r\n useDebouncedEffect\r\n} from 'utils'\r\nimport { Evento, UserItem } from 'types/api'\r\nimport { TextValidator, ValidatorForm } from 'react-material-ui-form-validator'\r\nimport { HelperToolTip } from 'components'\r\nimport { toast } from 'react-toastify'\r\n\r\nvar pluralize = require('pluralize')\r\n\r\nconst MAX_TICKETS_QUANTITY = 10\r\nconst MAX_USERS_QUANTITY = 10\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n flexGrow: 1\r\n },\r\n formControl: {\r\n width: '100%'\r\n },\r\n divider: {\r\n height: 28,\r\n margin: 4\r\n },\r\n selectedUserModalContainer: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n flexGrow: 1,\r\n gap: theme.spacing(1),\r\n paddingTop: theme.spacing(2)\r\n },\r\n selectedUserItem: {\r\n borderRadius: 8,\r\n backgroundColor: '#f9f9f9',\r\n padding: theme.spacing(1),\r\n display: 'flex',\r\n alignItems: 'center'\r\n },\r\n nameCell: {\r\n display: 'flex',\r\n alignItems: 'center'\r\n },\r\n\r\n avatar: {\r\n height: 40,\r\n width: 40,\r\n marginRight: theme.spacing(1)\r\n },\r\n submitButton: {\r\n [theme.breakpoints.down('xs')]: {\r\n width: '100%'\r\n },\r\n minWidth: 200\r\n }\r\n}))\r\n\r\nconst Generate = () => {\r\n const classes = useStyles()\r\n const theme = useTheme()\r\n const confirm = useConfirm()\r\n const isMobile = useMediaQuery(theme.breakpoints.down('xs'))\r\n const [selectedEvento, setSelectedEvento] = useState({} as Evento)\r\n const [selectedUser, setSelectedUser] = useState([] as UserItem[])\r\n const [quantity, setQuantity] = useState(1)\r\n const [loteId, setLoteId] = useState(null)\r\n const [eventoInputValue, setEventoInputValue] = useState('')\r\n const [searchTextValue, setSearchTextValue] = useState('')\r\n const [searchTextValueToSubmit, setSearchTextValueToSubmit] = useState('')\r\n const estabelecimentoId = useSelector(\r\n // @ts-ignore: //ainda não foi tipado o redux state\r\n (state) => state.usuarioEstabelecimento.estabelecimentoId\r\n )\r\n const totalTicketsToGenerate = selectedUser?.length * quantity\r\n\r\n const {\r\n data: events,\r\n isLoading: isLoadingEvents,\r\n isFetching: isFetchingEvents\r\n } = useEvents(estabelecimentoId, false, isMobile)\r\n\r\n const {\r\n data: lotes,\r\n isLoading: isLoadingLotes,\r\n isError: isErrorLotes\r\n } = useLotesByEvent(selectedEvento?.id)\r\n const {\r\n data: resultUserSearch,\r\n isError: isErrorUserSearch,\r\n isLoading: isLoadingUserSearch\r\n } = useUserSearch(searchTextValueToSubmit)\r\n\r\n const mutationCreateFreeTicket = useMutationCreateFreeTicket()\r\n\r\n useDebouncedEffect(\r\n () => {\r\n setSearchTextValueToSubmit(searchTextValue)\r\n },\r\n 500,\r\n [searchTextValue]\r\n )\r\n\r\n useEffect(() => {\r\n setSelectedEvento({} as Evento)\r\n setLoteId(0)\r\n setSelectedUser([])\r\n }, [estabelecimentoId])\r\n\r\n const handleSubmitForm = () => {\r\n const loteDetails = lotes?.find((lote) => lote.id === loteId)\r\n confirm({\r\n title: `Você tem certeza que deseja gerar ${pluralize(\r\n 'ingressos',\r\n totalTicketsToGenerate,\r\n true\r\n )} (${quantity} por usuário)?`,\r\n confirmationButtonProps: {\r\n disabled: mutationCreateFreeTicket.isLoading,\r\n endIcon: mutationCreateFreeTicket.isLoading && (\r\n \r\n )\r\n },\r\n description: (\r\n
\r\n \r\n Evento:{' '}\r\n \r\n {selectedEvento.nome} - (\r\n {toLocalDateFormat(selectedEvento.dataHoraInicio)})\r\n \r\n {'\\n'}\r\n \r\n \r\n Lote:{' '}\r\n \r\n {loteDetails\r\n ? loteDetails.tipoIngresso\r\n ? `${loteDetails.tipoIngresso.descricao} - ${\r\n loteDetails.descricao\r\n } (${getGenderFull(loteDetails.genero)})`\r\n : loteDetails.descricao\r\n : ''}\r\n \r\n \r\n \r\n \r\n {pluralize('Os', totalTicketsToGenerate)}{' '}\r\n {pluralize('ingressos', totalTicketsToGenerate)}{' '}\r\n {totalTicketsToGenerate === 1 ? 'será' : 'serão'}{' '}\r\n {pluralize('gerado', totalTicketsToGenerate)} para{' '}\r\n {pluralize('os', selectedUser?.length)}{' '}\r\n {pluralize('seguintes', selectedUser?.length)}{' '}\r\n {pluralize('usuários', selectedUser?.length)}:\r\n \r\n \r\n {pluralize('Os', selectedUser?.length)}{' '}\r\n {pluralize('usuários', selectedUser?.length)}{' '}\r\n {selectedUser?.length === 1 ? 'receberá' : 'receberão'} uma\r\n notificação no aplicativo com {pluralize('os', quantity)}{' '}\r\n {pluralize('ingressos', quantity)}{' '}\r\n {pluralize('gerados', quantity)}.\r\n \r\n \r\n {selectedUser?.map((item) => (\r\n \r\n \r\n {getInitials(item?.nome)}\r\n \r\n
\r\n \r\n {`${item?.nome} ${\r\n item?.username ? `(@${item?.username})` : ''\r\n }`}\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n ),\r\n confirmationText: (\r\n <>\r\n {mutationCreateFreeTicket.isLoading\r\n ? `Gerando ${pluralize('ingressos', totalTicketsToGenerate)}...`\r\n : `Enviar ${pluralize('cortesia', totalTicketsToGenerate)}`}\r\n \r\n ),\r\n cancellationText: 'Cancelar'\r\n }).then(() => {\r\n if (selectedUser?.length > 0 && loteId && loteId > 0) {\r\n const payloadArray = selectedUser?.map((user) => ({\r\n usuarioId: user?.id,\r\n loteId: loteId,\r\n quantidade: quantity\r\n }))\r\n\r\n mutationCreateFreeTicket.mutateAsync(payloadArray).then(() => {\r\n setSelectedUser([])\r\n setSearchTextValue('')\r\n })\r\n }\r\n })\r\n }\r\n\r\n const showMaxUserQuantityToastError = () => {\r\n toast.error(\r\n `Você atingiu o número máximo de usuários permitidos (${MAX_USERS_QUANTITY}).`,\r\n { toastId: 'maxUserQuantityToastError' }\r\n )\r\n }\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {\r\n if (reason === 'select-option') {\r\n newValue !== null && setSelectedEvento(newValue)\r\n }\r\n if (reason === 'clear') {\r\n //? se o usuário clicar no botão limpar\r\n setEventoInputValue('')\r\n setSelectedEvento({} as Evento)\r\n }\r\n }}\r\n getOptionLabel={(evento) =>\r\n evento.nome &&\r\n `${evento.nome} ${\r\n evento.dataHoraInicio\r\n ? ` - (${toLocalDateFormat(evento.dataHoraInicio)})`\r\n : ''\r\n }`\r\n }\r\n placeholder=\"Selecione o evento...\"\r\n onInputChange={(event, newInputValue) => {\r\n newInputValue !== null\r\n ? setEventoInputValue(newInputValue)\r\n : setEventoInputValue('')\r\n }}\r\n inputValue={eventoInputValue}\r\n renderInput={(params) => (\r\n \r\n \r\n <>\r\n {isFetchingEvents && (\r\n \r\n )}\r\n \r\n \r\n {params.InputProps.endAdornment}\r\n \r\n )\r\n }}\r\n />\r\n )}\r\n />\r\n \r\n \r\n {selectedEvento && selectedEvento.id > 0 && (\r\n <>\r\n <>\r\n \r\n \r\n Selecione o lote\r\n {\r\n setLoteId(Number(event.target.value))\r\n }}\r\n label=\"Selecione o lote\"\r\n >\r\n \r\n {loteId === 0 ? (\r\n 'Selecione o lote'\r\n ) : (\r\n Limpar seleção\r\n )}\r\n \r\n {lotes &&\r\n lotes.length > 0 &&\r\n lotes.map((lote) => (\r\n \r\n {lote.tipoIngresso\r\n ? `${lote.tipoIngresso.descricao} - ${\r\n lote.descricao\r\n } (${getGenderFull(lote.genero)})`\r\n : lote.descricao}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Informe a quantidade de ingressos a serem gerados\r\n para cada usuário. O valor deve ser entre 1 e{' '}\r\n {MAX_TICKETS_QUANTITY}.\r\n \r\n \r\n )\r\n }}\r\n label=\"Quantidade de ingressos *\"\r\n variant=\"outlined\"\r\n inputProps={{ type: 'number' }}\r\n fullWidth\r\n type=\"number\"\r\n placeholder={`Digite a quantidade de ingressos (máx: ${MAX_TICKETS_QUANTITY})`}\r\n value={quantity}\r\n onChange={(event: React.ChangeEvent) =>\r\n setQuantity(Number(event?.target?.value))\r\n }\r\n disabled={mutationCreateFreeTicket?.isLoading}\r\n />\r\n \r\n \r\n {loteId && loteId > 0 ? (\r\n \r\n \r\n \r\n selectedUser.some((user) => user.id === option.id)\r\n }\r\n loading={isLoadingUserSearch}\r\n id=\"combo-box-user\"\r\n multiple\r\n options={\r\n resultUserSearch?.filter(\r\n (userItem) => userItem.tipo === 'usuario'\r\n ) || []\r\n }\r\n value={selectedUser}\r\n onFocus={() => {\r\n if (selectedUser?.length === MAX_USERS_QUANTITY) {\r\n showMaxUserQuantityToastError()\r\n }\r\n }}\r\n onChange={(event, newValue, reason) => {\r\n if (reason === 'select-option' && newValue !== null) {\r\n if (newValue?.length > MAX_USERS_QUANTITY) {\r\n showMaxUserQuantityToastError()\r\n return\r\n }\r\n setSelectedUser(newValue) // Mantém todos os valores selecionados\r\n }\r\n if (reason === 'clear') {\r\n // Se o usuário clicar no botão limpar\r\n setSearchTextValue('')\r\n setSelectedUser([]) // Limpa os usuários selecionados\r\n }\r\n }}\r\n renderTags={(value, getTagProps) =>\r\n value.map((option, index) => (\r\n \r\n {getInitials(option?.nome)}\r\n \r\n }\r\n variant=\"outlined\"\r\n label={`${option?.nome} ${\r\n option.username ? `(@${option.username})` : ''\r\n }`}\r\n onDelete={() => {\r\n setSelectedUser(\r\n selectedUser?.filter(\r\n (user) => user?.id !== option?.id\r\n )\r\n )\r\n }}\r\n />\r\n ))\r\n }\r\n getOptionLabel={(userItem) =>\r\n userItem.nome &&\r\n `${userItem.nome} ${\r\n userItem.username ? ` - (${userItem.username})` : ''\r\n }`\r\n }\r\n placeholder=\"Buscar por nome ou nome do usuário...\"\r\n onInputChange={(event, newInputValue) => {\r\n newInputValue !== null\r\n ? setSearchTextValue(newInputValue)\r\n : setSearchTextValue('')\r\n }}\r\n inputValue={searchTextValue}\r\n renderInput={(params) => (\r\n \r\n \r\n <>\r\n {isLoadingUserSearch && (\r\n \r\n )}\r\n \r\n \r\n {params.InputProps.endAdornment}\r\n \r\n )\r\n }}\r\n />\r\n )}\r\n noOptionsText={\r\n searchTextValueToSubmit.length > 0\r\n ? 'Nenhum usuário encontrado'\r\n : 'Digite para buscar'\r\n }\r\n renderOption={(userItem) => (\r\n
\r\n \r\n {getInitials(userItem?.nome)}\r\n \r\n
\r\n \r\n {`${userItem?.nome} ${\r\n userItem.username\r\n ? `(@${userItem.username})`\r\n : ''\r\n }`}\r\n \r\n
\r\n
\r\n )}\r\n />\r\n
\r\n
\r\n ) : null}\r\n \r\n )}\r\n {selectedUser?.length > 0 && loteId && loteId > 0 ? (\r\n \r\n \r\n )\r\n }\r\n >\r\n {mutationCreateFreeTicket.isLoading\r\n ? `Gerando ${pluralize(\r\n 'ingressos',\r\n totalTicketsToGenerate\r\n )}...`\r\n : `Gerar ${pluralize('ingressos', totalTicketsToGenerate)}`}\r\n \r\n \r\n ) : null}\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default Generate\r\n","import React from 'react'\nimport Lottie from 'react-lottie'\nimport { Box, Typography } from '@material-ui/core'\n\n//? Own imports\nimport animationData from 'assets/animations/casino-draw.json'\n\nexport default function DrawingAnimation() {\n const defaultOptions = {\n loop: true,\n autoplay: true,\n animationData: animationData,\n rendererSettings: {\n preserveAspectRatio: 'xMidYMid slice'\n }\n }\n\n return (\n \n \n \n Sorteando ingresso...\n \n \n )\n}\n","import React from 'react'\nimport Lottie from 'react-lottie'\nimport { Avatar, Box, Fade, Typography, makeStyles } from '@material-ui/core'\n\n//? Own imports\nimport animationData from 'assets/animations/surprise-box.json'\nimport { User } from 'types/api'\nimport { getInitials } from 'utils'\n\nconst useStyles = makeStyles((theme) => ({\n avatar: {\n [theme.breakpoints.down('xs')]: {\n width: '18vw',\n height: '18vw'\n },\n [theme.breakpoints.up('sm')]: {\n width: '15vw',\n height: '15vw'\n },\n [theme.breakpoints.up('md')]: {\n width: '8vw',\n height: '8vw'\n },\n border: '3px solid #fff',\n boxShadow: '0 0 0 2px #fff'\n },\n avatarContainer: {\n width: '100%',\n height: '100%',\n display: 'flex',\n position: 'absolute',\n alignItems: 'center',\n justifyContent: 'center',\n top: '-7px',\n left: '-2px'\n },\n animation: {\n width: '100%',\n height: '100%',\n position: 'relative'\n }\n}))\n\nexport default function WinnerAnimation({ user }: { user: User | undefined }) {\n const [showUser, setShowUser] = React.useState(false)\n const classes = useStyles()\n const defaultOptions = {\n loop: false,\n autoplay: true,\n animationData: animationData,\n rendererSettings: {\n preserveAspectRatio: 'xMidYMid slice'\n }\n }\n\n return (\n <>\n {user && user.id ? (\n \n \n \n Já temos um vencedor!\n \n \n \n Parabéns, {user.apelido || user.nome}! (@{user.username})\n \n \n
\n {\n setShowUser(true)\n }\n }\n ]}\n speed={0.7}\n options={defaultOptions}\n height=\"95%\"\n width=\"95%\"\n />\n
\n \n \n {getInitials(user.nome)}\n \n \n
\n
\n
\n \n ) : null}\n \n )\n}\n","import React, { useEffect, useState } from 'react'\nimport {\n Dialog,\n DialogContent,\n makeStyles,\n Slide,\n useTheme,\n useMediaQuery,\n Zoom,\n Box\n} from '@material-ui/core'\n\n//? Own imports\nimport { DrawingAnimation, WinnerAnimation } from './components'\nimport { useMutationDrawTicket } from 'hooks-querys'\n\nconst Transition = React.forwardRef(function Transition(props, ref) {\n return \n})\n\nconst useStyles = makeStyles((theme) => ({\n dialog: {\n [theme.breakpoints.up('sm')]: {\n '& .MuiDialog-paper': {\n borderRadius: '8px',\n webkitBorderRadius: '8px',\n mozBorderRadius: '8px',\n overflow: 'hidden',\n overflowY: 'hidden',\n overflowX: 'hidden'\n }\n }\n }\n}))\n\ntype ModalDrawTicketProps = {\n openModal: boolean\n setOpenModal: (open: boolean) => void\n loteId: number\n segueEstabelecimento: boolean\n favoritouEvento: boolean\n}\nexport default function ModalSolicitarRetirada({\n openModal,\n setOpenModal,\n loteId,\n segueEstabelecimento,\n favoritouEvento\n}: ModalDrawTicketProps) {\n const classes = useStyles()\n const theme = useTheme()\n const isMobile = useMediaQuery(theme.breakpoints.down('xs'))\n const [isDrawingAnimation, setIsDrawingAnimation] = useState(false)\n const mutationDrawTicket = useMutationDrawTicket()\n\n const handleClose = () => {\n setOpenModal(false)\n }\n\n useEffect(() => {\n if (openModal) {\n setIsDrawingAnimation(true)\n mutationDrawTicket\n .mutateAsync({\n loteId: loteId || 0,\n favoritouEvento: favoritouEvento,\n segueEstabelecimento: segueEstabelecimento\n })\n .then(() => {\n setTimeout(() => {\n setIsDrawingAnimation(false)\n }, 3000)\n })\n .catch(() => {\n setIsDrawingAnimation(false)\n })\n }\n }, [openModal])\n\n return (\n \n \n \n {isDrawingAnimation && (\n \n \n \n )}\n \n \n \n \n \n \n )\n}\n","import React, { useEffect, useState, useMemo } from 'react'\nimport {\n Grid,\n Select,\n MenuItem,\n FormControl,\n InputLabel,\n makeStyles,\n TextField,\n InputAdornment,\n useTheme,\n useMediaQuery,\n CircularProgress,\n Typography,\n Button,\n Box,\n FormLabel,\n FormHelperText,\n FormGroup,\n FormControlLabel,\n Checkbox,\n Backdrop\n} from '@material-ui/core'\nimport { useSelector } from 'react-redux'\nimport { Autocomplete } from '@material-ui/lab'\n\n//? Own imports\nimport { useEvents, useLotesByEvent, useUsersDrawTicket } from 'hooks-querys'\nimport { getGenderFull, toLocalDateFormat } from 'utils'\nimport { Evento, UserItem } from 'types/api'\nimport { ModalDrawTicket } from './components'\nimport { HelperToolTip } from 'components'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n flexGrow: 1\n },\n formControl: {\n width: '100%'\n },\n submitButton: {\n [theme.breakpoints.down('xs')]: {\n width: '100%'\n },\n minWidth: 200\n },\n backdrop: {\n zIndex: theme.zIndex.drawer + 1,\n color: '#fff'\n },\n helperText: {\n display: 'flex',\n alignItems: 'center'\n }\n}))\n\nconst Draw = () => {\n const classes = useStyles()\n const theme = useTheme()\n const isMobile = useMediaQuery(theme.breakpoints.down('xs'))\n const [selectedEvento, setSelectedEvento] = useState({} as Evento)\n const [loteId, setLoteId] = useState(null)\n const [eventoInputValue, setEventoInputValue] = useState('')\n const [openModal, setOpenModal] = useState(false)\n const [selectedDrawRules, setSelectedDrawRules] = useState({\n segueEstabelecimento: false,\n favoritouEvento: false\n })\n const estabelecimentoId = useSelector(\n // @ts-ignore: //ainda não foi tipado o redux state\n (state) => state.usuarioEstabelecimento.estabelecimentoId\n )\n const {\n data: events,\n isLoading: isLoadingEvents,\n isFetching: isFetchingEvents\n } = useEvents(estabelecimentoId, false, isMobile)\n\n const {\n data: lotes,\n isLoading: isLoadingLotes,\n isError: isErrorLotes\n } = useLotesByEvent(selectedEvento?.id)\n\n useEffect(() => {\n setSelectedEvento({} as Evento)\n setLoteId(0)\n }, [estabelecimentoId])\n\n const {\n data: numberOfUsers,\n isLoading: isLoadingNumberOfUsers,\n isSuccess: isSuccessNumberOfUsers\n } = useUsersDrawTicket({\n loteId: loteId || 0,\n favoritouEvento: selectedDrawRules.favoritouEvento,\n segueEstabelecimento: selectedDrawRules.segueEstabelecimento\n })\n\n const handleDrawRulesChange = (\n event: React.ChangeEvent\n ) => {\n setSelectedDrawRules({\n ...selectedDrawRules,\n [event.target.name]: event.target.checked\n })\n }\n\n const handleClickSubmit = () => {\n setOpenModal(true)\n }\n const errorDrawRules = useMemo(() => {\n if (\n !selectedDrawRules.segueEstabelecimento &&\n !selectedDrawRules.favoritouEvento\n ) {\n return 'Selecione ao menos uma regra de sorteio'\n }\n return ''\n }, [selectedDrawRules])\n\n return (\n
\n \n \n \n \n {\n if (reason === 'select-option') {\n newValue !== null && setSelectedEvento(newValue)\n }\n if (reason === 'clear') {\n //? se o usuário clicar no botão limpar\n setEventoInputValue('')\n setSelectedEvento({} as Evento)\n }\n }}\n getOptionLabel={(evento) =>\n evento.nome &&\n `${evento.nome} ${\n evento.dataHoraInicio\n ? ` - (${toLocalDateFormat(evento.dataHoraInicio)})`\n : ''\n }`\n }\n placeholder=\"Selecione o evento...\"\n onInputChange={(_event, newInputValue) => {\n newInputValue !== null\n ? setEventoInputValue(newInputValue)\n : setEventoInputValue('')\n }}\n inputValue={eventoInputValue}\n renderInput={(params) => (\n \n \n <>\n {isFetchingEvents && (\n \n )}\n \n \n {params.InputProps.endAdornment}\n \n )\n }}\n />\n )}\n />\n \n \n {selectedEvento && selectedEvento.id > 0 && (\n <>\n \n \n Selecione o lote\n {\n setLoteId(Number(event.target.value))\n }}\n label=\"Selecione o lote\"\n >\n \n {loteId === 0 ? (\n 'Selecione o lote'\n ) : (\n Limpar seleção\n )}\n \n {lotes &&\n lotes.length > 0 &&\n lotes.map((lote) => (\n \n {lote.tipoIngresso\n ? `${lote.tipoIngresso.descricao} - ${\n lote.descricao\n } (${getGenderFull(lote.genero)})`\n : lote.descricao}\n \n ))}\n \n \n \n {loteId && loteId > 0 ? (\n \n \n \n Selecione as regras para o sorteio\n \n \n \n \n \n }\n label={\n
\n \n Favoritou o evento\n \n \n O usuário precisa ter favoritado o evento para poder\n participar do sorteio.\n \n
\n }\n />\n \n }\n label={\n
\n \n Segue o estabelecimento\n \n \n O usuário precisa seguir o perfil do estabelecimento\n para poder participar do sorteio.\n \n
\n }\n />\n
\n {errorDrawRules}\n \n
\n ) : null}\n \n )}\n\n {!isLoadingNumberOfUsers && isSuccessNumberOfUsers ? (\n \n {numberOfUsers > 0 ? (\n \n \n {`${numberOfUsers} ${\n numberOfUsers === 1 ? 'pessoa' : 'pessoas'\n }`}\n \n \n {`${\n numberOfUsers === 1 ? 'está' : 'estão'\n } participando deste sorteio!`}\n \n \n ) : (\n \n \n Não foram encontrados usuários participantes deste sorteio!\n \n \n )}\n \n ) : null}\n\n {isSuccessNumberOfUsers && numberOfUsers > 0 ? (\n \n \n Sortear ingresso\n \n \n ) : null}\n
\n \n \n \n \n \n Buscando participantes para o sorteio...\n \n \n \n \n \n \n \n \n
\n )\n}\n\nexport default Draw\n","import React, { ChangeEvent, useState } from 'react'\r\nimport { Redirect, useParams } from 'react-router-dom'\r\nimport ListRoundedIcon from '@material-ui/icons/ListRounded'\r\nimport CardGiftcardTwoToneIcon from '@material-ui/icons/CardGiftcardTwoTone'\r\nimport CasinoTwoToneIcon from '@material-ui/icons/CasinoTwoTone'\r\nimport {\r\n Tabs,\r\n Tab,\r\n Divider,\r\n colors,\r\n makeStyles,\r\n useTheme,\r\n useMediaQuery,\r\n LinearProgress\r\n} from '@material-ui/core'\r\n\r\n//? Own imports\r\nimport { Page, Header } from 'components'\r\nimport { history } from 'utils'\r\nimport { Draw, Generate, TicketsList } from './components'\r\nimport { useQueryClient } from 'react-query'\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n padding: theme.spacing(3, 2, 2, 2)\r\n },\r\n tabs: {\r\n marginTop: theme.spacing(3)\r\n },\r\n divider: {\r\n backgroundColor: colors.grey[300]\r\n },\r\n content: {\r\n marginTop: theme.spacing(3)\r\n }\r\n}))\r\n\r\nconst tabs = [\r\n { value: 'lista', label: 'Lista', icon: },\r\n {\r\n value: 'gerar',\r\n label: 'Gerar cortesia',\r\n icon: \r\n },\r\n {\r\n value: 'sortear',\r\n label: 'Sortear ingresso',\r\n icon: \r\n }\r\n]\r\n\r\nconst Tickets = () => {\r\n const classes = useStyles()\r\n const theme = useTheme()\r\n const isMobile = useMediaQuery(theme.breakpoints.down('xs'))\r\n const { tab } = useParams<{ tab: string }>()\r\n\r\n const queryClient = useQueryClient()\r\n const [refreshing, setRefreshing] = useState(false)\r\n\r\n const handleTabsChange = (_event: ChangeEvent<{}>, value: string) => {\r\n history.push(`/ingressos/${value}`)\r\n }\r\n\r\n if (!tab) {\r\n return \r\n }\r\n\r\n if (!tabs.find((t) => t.value === tab)) {\r\n return \r\n }\r\n\r\n const onRefresh = async () => {\r\n setRefreshing(true)\r\n try {\r\n await queryClient.refetchQueries({ active: true })\r\n } finally {\r\n setRefreshing(false)\r\n }\r\n }\r\n\r\n const getTitle = () => {\r\n switch (tab) {\r\n case 'lista':\r\n return 'Lista de ingressos'\r\n case 'gerar':\r\n return 'Gerar cortesia'\r\n case 'sortear':\r\n return 'Sortear ingresso'\r\n default:\r\n return ''\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {refreshing && (\r\n \r\n )}\r\n
\r\n \r\n \r\n {tabs.map((tab) => (\r\n \r\n ))}\r\n \r\n \r\n
\r\n {tab === 'lista' && (\r\n \r\n \r\n \r\n )}\r\n {tab === 'gerar' && (\r\n \r\n \r\n \r\n )}\r\n {tab === 'sortear' && (\r\n \r\n \r\n \r\n )}\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default Tickets\r\n","import axios from 'axios'\nimport config from '../../../../config/config'\n\nconst api = axios.create({\n baseURL: config.baseUrl\n})\n\nexport default api\n","import { createGlobalStyle } from 'styled-components'\n\nimport 'react-circular-progressbar/dist/styles.css'\n\nexport default createGlobalStyle`\n * {\n margin: 0;\n padding: 0;\n outline: 0;\n box-sizing: border-box;\n }\n\n body {\n font-family: Arial, Helvetica, sans-serif;\n font-size: 14px;\n text-rendering: optimizeLegibility;\n -webkit-font-smoothing: antialiased;\n }\n\n html, body, #root {\n height: 100%;\n }\n`\n","import styled from 'styled-components'\n\nexport const Container = styled.div`\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n`\n\nexport const Content = styled.div`\n width: 100%;\n /* margin: 30px; */\n background: #fff;\n border-radius: 4px;\n /* padding: 20px; */\n`\n","import styled, { css } from 'styled-components'\n\nconst dragActive = css`\n border-color: #78e5d5;\n`\n\nconst dragReject = css`\n border-color: #e57878;\n`\n\nexport const DropContainer = styled.div.attrs({\n className: 'dropzone'\n})`\n border: 1px dashed #ddd;\n border-radius: 4px;\n cursor: pointer;\n min-height: 100px;\n display: flex;\n justify-content: center;\n align-items: center;\n transition: height 0.2s ease;\n\n ${(props) => props.isDragActive && dragActive};\n ${(props) => props.isDragReject && dragReject};\n`\n\nconst messageColors = {\n default: '#999',\n error: '#e57878',\n success: '#78e5d5'\n}\n\nexport const UploadMessage = styled.p`\n display: flex;\n color: ${(props) => messageColors[props.type || 'default']};\n justify-content: center;\n align-items: center;\n padding: 15px 0;\n`\n","import React, { Component } from 'react'\nimport { MdFileUpload, MdError, MdDone } from 'react-icons/md'\nimport Dropzone from 'react-dropzone'\n\nimport { DropContainer, UploadMessage } from './styles'\n\nexport default class Upload extends Component {\n renderDragMessage = (isDragActive, isDragReject) => {\n if (!isDragActive) {\n return (\n \n Clique ou arraste a imagem aqui...\n \n \n )\n }\n\n if (isDragReject) {\n return (\n \n Arquivo não suportado!\n \n \n )\n }\n\n return (\n \n Solte a imagem aqui!\n \n \n )\n }\n\n render() {\n const { onUpload } = this.props\n\n return (\n \n {({ getRootProps, getInputProps, isDragActive, isDragReject }) => (\n \n \n {this.renderDragMessage(isDragActive, isDragReject)}\n \n )}\n \n )\n }\n}\n","import styled from 'styled-components'\n\nexport const Container = styled.ul`\n margin-top: 20px;\n\n li {\n display: flex;\n justify-content: space-between;\n align-items: center;\n color: #444;\n\n & + li {\n margin-top: 15px;\n }\n }\n`\n\nexport const FileInfo = styled.div`\n display: flex;\n align-items: center;\n\n div {\n display: flex;\n flex-direction: column;\n\n span {\n font-size: 12px;\n color: #999;\n margin-top: 5px;\n\n button {\n border: 0;\n background: transparent;\n color: #e57878;\n margin-left: 5px;\n cursor: pointer;\n }\n }\n }\n`\n\nexport const Preview = styled.div`\n width: 180px;\n height: 110px;\n border-radius: 5px;\n background-image: url('${(props) => props.src}');\n background-repeat: no-repeat;\n background-size: cover;\n background-position: 50% 50%;\n margin-right: 10px;\n`\n","import React from 'react'\nimport { CircularProgressbarWithChildren } from 'react-circular-progressbar'\nimport 'react-circular-progressbar/dist/styles.css'\nimport { MdCheckCircle, MdError, MdLink } from 'react-icons/md'\n\nimport { Container, FileInfo, Preview } from './styles'\n\nconst FileList = ({ files }) => (\n \n {files.map((uploadedFile) => (\n
  • \n \n \n
    \n {uploadedFile.name}\n \n {uploadedFile.readableSize}{' '}\n {/* {!!uploadedFile.url && (\n \n )} */}\n \n
    \n
    \n\n
    \n {!uploadedFile.uploaded && !uploadedFile.error && (\n \n {/* Put any JSX content in here that you'd like. It'll be vertically and horizonally centered. */}\n \n
    \n {uploadedFile.progress} %\n
    \n \n )}\n {uploadedFile.url && (\n \n \n \n )}\n\n {uploadedFile.uploaded && }\n {uploadedFile.error && }\n
    \n
  • \n ))}\n
    \n)\n\nexport default FileList\n","import React, { Component } from 'react'\nimport { uniqueId } from 'lodash'\nimport filesize from 'filesize'\nimport { Typography } from '@material-ui/core'\nimport api from './services/api'\nimport { toast } from 'react-toastify'\nimport GlobalStyle from './styles/global'\nimport { Container, Content } from './styles'\nimport Upload from './components/Upload'\nimport FileList from './components/FileList'\n\nclass UploadField extends Component {\n state = {\n uploadedFiles: [],\n new: false\n }\n\n componentDidMount() {\n if (this.props.url !== '') {\n let uploadedFile = []\n uploadedFile.push({\n id: uniqueId(),\n name: 'Imagem atual',\n readableSize: null,\n preview: this.props.url,\n uploaded: true,\n url: this.props.url\n })\n this.setState({ ...this.state, uploadedFiles: uploadedFile })\n } else {\n this.setState({\n uploadedFiles: [],\n url: '',\n preview: '',\n uploaded: false\n })\n }\n }\n componentWillReceiveProps(nextProps) {\n if (nextProps.url !== '') {\n if (this.state.new !== true) {\n let uploadedFile = []\n uploadedFile.push({\n id: uniqueId(),\n name: 'Imagem atual',\n readableSize: null,\n preview: nextProps.url,\n uploaded: true,\n url: nextProps.url\n })\n this.setState({ ...this.state, uploadedFiles: uploadedFile })\n }\n } else {\n this.setState({\n uploadedFiles: [],\n url: '',\n preview: '',\n uploaded: false\n })\n }\n }\n componentWillUnmount() {\n this.setState({ ...this.state, uploadedFiles: [] })\n }\n\n sendURLToParent = (url) => {\n this.props.parentCallback(url)\n }\n\n handleUpload = (files) => {\n const uploadedFiles = files.map((file) => ({\n file,\n id: uniqueId(),\n name: file.name,\n readableSize: filesize(file.size),\n preview: URL.createObjectURL(file),\n progress: 0,\n uploaded: false,\n error: false,\n url: null\n }))\n\n this.setState({\n uploadedFiles\n // Várias imagens\n // uploadedFiles: this.state.uploadedFiles.concat(uploadedFiles)\n })\n this.setState({ ...this.state, new: true })\n uploadedFiles.forEach(this.processUpload)\n }\n\n updateFile = (id, data) => {\n this.setState({\n uploadedFiles: this.state.uploadedFiles.map((uploadedFile) => {\n return id === uploadedFile.id\n ? { ...uploadedFile, ...data }\n : uploadedFile\n })\n })\n }\n\n processUpload = (uploadedFile) => {\n const data = new FormData()\n\n data.append('file', uploadedFile.file, uploadedFile.name)\n\n api\n .post('uploads/S3', data, {\n onUploadProgress: (e) => {\n const progress = parseInt(Math.round((e.loaded * 100) / e.total))\n\n this.updateFile(uploadedFile.id, {\n progress\n })\n },\n headers: { Authorization: `Bearer ${localStorage.getItem('token')}` }\n })\n .then((response) => {\n this.updateFile(uploadedFile.id, {\n uploaded: true,\n id: response.data._id,\n url: response.data.url\n })\n toast.success('Feito! Upload de imagem finalizado! 👏')\n this.sendURLToParent(response.data.url)\n })\n .catch(() => {\n this.updateFile(uploadedFile.id, {\n error: true\n })\n })\n }\n\n handleDelete = async (id) => {\n await api.delete(`uploads/${id}`)\n\n this.setState({\n uploadedFiles: this.state.uploadedFiles.filter((file) => file.id !== id)\n })\n }\n\n componentWillUnmount() {\n this.state.uploadedFiles.forEach((file) =>\n URL.revokeObjectURL(file.preview)\n )\n }\n\n render() {\n const { uploadedFiles } = this.state\n return (\n \n \n {this.props.labelText}\n {this.props.disabled !== true &&\n \n }\n {!!uploadedFiles.length && (\n \n )}\n \n \n \n )\n }\n}\n\nexport default UploadField\n","import React, { useState, useEffect } from 'react'\nimport PropTypes from 'prop-types'\nimport clsx from 'clsx'\nimport { makeStyles } from '@material-ui/styles'\nimport {\n Card,\n CardHeader,\n CardContent,\n CardActions,\n Button,\n Divider,\n Table,\n TableBody,\n TableRow,\n TableCell,\n colors,\n MenuItem,\n FormControl,\n InputLabel,\n Select,\n TextField,\n CircularProgress\n} from '@material-ui/core'\nimport EditIcon from '@material-ui/icons/Edit'\n\nimport { Label } from 'components'\nimport { formatCurrency, toLocalDateFormat } from 'utils'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { Skeleton } from '@material-ui/lab'\nimport { isEmpty } from 'validate.js'\nimport {\n movimentacaoFinanceiraAction,\n statusMovimentacaoFinanceiraAction\n} from '_actions'\nimport { UploadField } from 'components/Utils/Uploads'\nimport { toast } from 'react-toastify'\nimport { AccessControl } from 'components/Utils/AccessControl'\nimport { useDidMountEffect } from 'utils/useDidMountEffect'\nimport constants from 'theme/constants'\n\nconst statusColors = {\n 1: colors.orange[600],\n 2: colors.red[600],\n 3: colors.green[600]\n}\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n paper: {\n ...constants.shadowCard\n },\n content: {\n padding: 0\n },\n actions: {\n flexDirection: 'row',\n alignItems: 'flex-start',\n justifyContent: 'space-between',\n '& > * + *': {\n marginLeft: 0\n }\n },\n buttonIcon: {\n marginRight: theme.spacing(1)\n }\n}))\n\nconst CardMovimentacaoFinanceira = ({\n movimentacaoFinanceira,\n className,\n ...rest\n}) => {\n const classes = useStyles()\n const [openEdit, setOpenEdit] = useState(false)\n const { isLoading } = useSelector((state) => state.movimentacaoFinanceira)\n const {\n statusMovimentacaoFinanceiraSelect,\n isFetching: isFetchingStatusMovimentacaoFinanceira\n } = useSelector((state) => state.statusMovimentacaoFinanceira)\n\n const dispatch = useDispatch()\n\n const handleSubmit = () => {\n if (movimentacaoFinanceira.statusMovimentacaoFinanceiraId == 3) {\n if (\n movimentacaoFinanceira.anexo !== null &&\n movimentacaoFinanceira.anexo !== ''\n ) {\n setOpenEdit(false)\n dispatch(\n movimentacaoFinanceiraAction.finishMovimentacaoFinanceira(\n movimentacaoFinanceira\n )\n )\n } else {\n toast.error('Eii! Faltou anexar o comprovante da transferência!')\n }\n } else if (movimentacaoFinanceira.statusMovimentacaoFinanceiraId == 2) {\n if (\n movimentacaoFinanceira.motivoCancelamento !== null &&\n movimentacaoFinanceira.motivoCancelamento !== ''\n ) {\n setOpenEdit(false)\n dispatch(\n movimentacaoFinanceiraAction.cancelMovimentacaoFinanceira(\n movimentacaoFinanceira\n )\n )\n } else {\n toast.error('Eii! Faltou descrever o motivo do cancelamento!')\n }\n }\n }\n const handleEditOpen = () => {\n setOpenEdit(true)\n }\n\n const handleEditClose = () => {\n dispatch(\n movimentacaoFinanceiraAction.getMovimentacaoFinanceiraById(\n movimentacaoFinanceira.id\n )\n )\n setOpenEdit(false)\n }\n\n const handleChange = (prop) => (event) => {\n dispatch(movimentacaoFinanceiraAction.onChangeProps(prop, event))\n }\n\n useDidMountEffect(() => {\n if (openEdit === true) {\n if (\n statusMovimentacaoFinanceiraSelect !== undefined &&\n statusMovimentacaoFinanceiraSelect.length === 0\n ) {\n dispatch(\n statusMovimentacaoFinanceiraAction.getStatusMovimentacaoFinanceiraSelect()\n )\n }\n }\n }, [openEdit])\n\n const getURL = (url) => {\n dispatch(movimentacaoFinanceiraAction.onChangeProps('anexo', url))\n }\n\n return (\n \n \n \n \n \n \n \n Número: \n \n {isLoading ? : movimentacaoFinanceira.id}\n \n \n \n Estabelecimento:\n \n {isLoading ? (\n \n ) : (\n movimentacaoFinanceira.estabelecimento.nome\n )}\n \n \n \n Data solicitação:\n \n {isLoading ? (\n \n ) : (\n toLocalDateFormat(movimentacaoFinanceira.dataHora)\n )}\n \n \n \n Data finalização:\n \n {isLoading ? (\n \n ) : movimentacaoFinanceira.dataHoraProcessamento !== null ? (\n toLocalDateFormat(\n movimentacaoFinanceira.dataHoraProcessamento\n )\n ) : (\n '---------'\n )}\n \n \n \n Valor:\n \n {isLoading ? (\n \n ) : (\n formatCurrency(movimentacaoFinanceira.valor)\n )}\n \n \n \n Status:\n {openEdit ? (\n \n \n \n Status\n \n \n )\n }\n disabled={isFetchingStatusMovimentacaoFinanceira}\n placeholder=\"Status\"\n labelId=\"status-movimentacao-financeira-label\"\n id=\"status-movimentacao-financeira-select\"\n value={\n movimentacaoFinanceira.statusMovimentacaoFinanceiraId\n }\n onChange={handleChange('statusMovimentacaoFinanceiraId')}\n label=\"Status\"\n >\n {!isEmpty(statusMovimentacaoFinanceiraSelect) &&\n statusMovimentacaoFinanceiraSelect.map((status) => (\n \n {status.text}\n \n ))}\n \n \n \n ) : (\n \n {isLoading ? (\n \n ) : (\n !!movimentacaoFinanceira.statusMovimentacaoFinanceira && (\n \n {\n movimentacaoFinanceira.statusMovimentacaoFinanceira\n .descricao\n }\n \n )\n )}\n \n )}\n \n {movimentacaoFinanceira.statusMovimentacaoFinanceiraId == 3 && (\n \n Comprovante *:\n \n \n \n \n )}\n {movimentacaoFinanceira.statusMovimentacaoFinanceiraId == 2 && (\n \n Motivo de cancelamento *:\n \n \n \n \n )}\n \n
    \n
    \n \n openEdit ? (\n \n \n Cancelar\n \n \n Salvar\n \n \n ) : (\n \n \n \n )\n }\n />\n
    \n )\n}\n\nCardMovimentacaoFinanceira.propTypes = {\n className: PropTypes.string,\n movimentacaoFinanceira: PropTypes.object.isRequired\n}\n\nexport default CardMovimentacaoFinanceira\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport clsx from 'clsx'\nimport { makeStyles } from '@material-ui/styles'\nimport {\n Card,\n CardContent,\n CardHeader,\n Divider,\n Table,\n TableBody,\n TableCell,\n TableRow,\n colors,\n Typography\n} from '@material-ui/core'\n\nimport { Label } from 'components'\nimport { cpfCnpjMask } from 'utils'\nimport { isEmpty } from 'validate.js'\nimport { useSelector } from 'react-redux'\nimport { Skeleton } from '@material-ui/lab'\nimport constants from 'theme/constants'\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n paper: {\n ...constants.shadowCard\n },\n content: {\n padding: 0\n },\n actions: {\n flexDirection: 'column',\n alignItems: 'flex-start',\n '& > * + *': {\n marginLeft: 0\n }\n },\n buttonIcon: {\n marginRight: theme.spacing(1)\n }\n}))\n\nconst CardContaBancaria = ({ contaBancaria, className, ...rest }) => {\n const classes = useStyles()\n const { isLoading } = useSelector((state) => state.movimentacaoFinanceira)\n\n function getNameTipoPix(tipoChavePix) {\n switch (tipoChavePix) {\n case 0:\n return 'CPF/CNPJ'\n case 1:\n return 'Email'\n case 2:\n return 'Nº Celular'\n case 3:\n return 'Chave Aleatória'\n }\n }\n\n return (\n <>\n {!isEmpty(contaBancaria) && contaBancaria.conta !== '0' ? (\n \n \n \n \n \n \n \n Descrição:\n \n {isLoading ? : contaBancaria.descricao}\n
    \n {isLoading ? (\n \n ) : (\n \n Conta padrão:{' '}\n \n )}\n {!isLoading && (\n \n {contaBancaria.padrao ? 'SIM' : 'NÃO'}\n \n )}\n
    \n
    \n
    \n \n Instituição bancária:\n \n {isLoading ? (\n \n ) : (\n contaBancaria.instituicaoBancaria.nome\n )}\n \n \n \n Agência:\n \n {isLoading ? : contaBancaria.agencia}\n \n \n \n Conta:\n \n {isLoading ? : contaBancaria.conta}\n \n \n \n Nome titular:\n \n {isLoading ? : contaBancaria.nomeTitular}\n \n \n \n CPF/CNPJ Titular:\n \n {isLoading ? (\n \n ) : (\n cpfCnpjMask(contaBancaria.cpfCnpjTitular)\n )}\n \n \n
    \n
    \n
    \n
    \n ) : (\n \n \n \n \n \n \n \n Descrição:\n \n {isLoading ? : contaBancaria.descricao}\n
    \n {isLoading ? (\n \n ) : (\n \n Conta padrão:{' '}\n \n )}\n {!isLoading && (\n \n {contaBancaria.padrao ? 'SIM' : 'NÃO'}\n \n )}\n
    \n
    \n
    \n \n Chave Pix:\n \n {isLoading ? : contaBancaria.chavePix}\n \n \n \n Tipo Chave Pix:\n \n {isLoading ? (\n \n ) : (\n getNameTipoPix(contaBancaria.tipoChavePix)\n )}\n \n \n
    \n
    \n
    \n
    \n )}\n \n )\n}\n\nCardContaBancaria.propTypes = {\n className: PropTypes.string,\n contaBancaria: PropTypes.object.isRequired\n}\n\nexport default CardContaBancaria\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport clsx from 'clsx'\nimport { makeStyles } from '@material-ui/styles'\nimport {\n Card,\n CardContent,\n CardHeader,\n Divider,\n Table,\n TableBody,\n TableCell,\n TableRow,\n IconButton,\n Tooltip\n} from '@material-ui/core'\nimport MapTwoToneIcon from '@material-ui/icons/MapTwoTone'\n\nimport { cepMask, cpfCnpjMask } from 'utils'\nimport { isEmpty } from 'validate.js'\nimport { useSelector } from 'react-redux'\nimport { Skeleton } from '@material-ui/lab'\nimport constants from 'theme/constants'\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n paper: {\n ...constants.shadowCard\n },\n content: {\n padding: 0\n },\n buttonIcon: {\n marginLeft: theme.spacing(1),\n padding: 5\n }\n}))\n\nconst CardEstabelecimento = ({ estabelecimento, className, ...rest }) => {\n const classes = useStyles()\n const { isLoading } = useSelector((state) => state.movimentacaoFinanceira)\n return (\n <>\n {!isEmpty(estabelecimento) && (\n \n \n \n \n \n \n \n Nome:\n \n {isLoading ? (\n \n ) : (\n <>\n {estabelecimento.nome}\n {estabelecimento.latLon && (\n \n \n \n \n \n )}\n \n )}\n \n \n \n CPF/CNPJ: \n \n {isLoading ? (\n \n ) : (\n cpfCnpjMask(estabelecimento.cpfCnpj)\n )}\n \n \n \n Localização:\n {!!estabelecimento.cidade && (\n \n {isLoading ? (\n \n ) : (\n `${estabelecimento.cidade.nome} - ${estabelecimento.cidade.estado.nome}`\n )}\n \n )}\n \n \n Endereço:\n \n {isLoading ? (\n \n ) : (\n `${estabelecimento.endereco}, ${estabelecimento.numero}${\n estabelecimento.complemento !== null\n ? ` - ${estabelecimento.complemento}`\n : ''\n }`\n )}\n \n \n \n Bairro:\n \n {isLoading ? : estabelecimento.bairro}\n \n \n \n CEP:\n \n {isLoading ? : cepMask(estabelecimento.cep)}\n \n \n \n
    \n
    \n
    \n )}\n \n )\n}\n\nCardEstabelecimento.propTypes = {\n className: PropTypes.string,\n estabelecimento: PropTypes.object.isRequired\n}\n\nexport default CardEstabelecimento\n","import React, { useState } from 'react'\nimport PropTypes from 'prop-types'\nimport clsx from 'clsx'\nimport { makeStyles } from '@material-ui/styles'\nimport {\n Card,\n CardHeader,\n CardContent,\n TextField,\n Button,\n Divider,\n Table,\n TableBody,\n TableRow,\n TableCell\n} from '@material-ui/core'\nimport MaiIcon from '@material-ui/icons/MailOutline'\nimport { toLocalDateFormat } from 'utils'\nimport constants from 'theme/constants'\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n paper: {\n ...constants.shadowCard\n },\n content: {},\n sendButton: {\n marginTop: theme.spacing(2)\n },\n mailIcon: {\n marginRight: theme.spacing(1)\n },\n table: {\n marginTop: theme.spacing(2)\n },\n cell: {\n padding: theme.spacing(1)\n }\n}))\nconst OtherActions = (props) => {\n const { className, ...rest } = props\n\n const classes = useStyles()\n\n const options = ['Reenviar email de confirmação', 'Enviar comprovante']\n\n const [option, setOption] = useState(options[0])\n\n const handleChange = (event) => {\n event.persist()\n\n setOption(event.target.value)\n }\n\n return (\n \n \n \n \n \n {options.map((option) => (\n \n ))}\n \n \n \n \n \n \n {toLocalDateFormat(new Date())}\n \n emailenviadopara\n \n \n
    \n
    \n
    \n )\n}\n\nOtherActions.propTypes = {\n className: PropTypes.string\n}\n\nexport default OtherActions\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport clsx from 'clsx'\nimport { makeStyles } from '@material-ui/styles'\nimport { Grid } from '@material-ui/core'\n\nimport {\n CardMovimentacaoFinanceira,\n CardContaBancaria,\n CardEstabelecimento,\n OtherActions\n} from './components'\nimport { AccessControl } from 'components/Utils/AccessControl'\n\nconst useStyles = makeStyles(() => ({\n root: {}\n}))\n\nconst Summary = ({ movimentacaoFinanceira }, props) => {\n const { className, ...rest } = props\n const classes = useStyles()\n const { contaBancaria, estabelecimento } = movimentacaoFinanceira\n\n return (\n \n (\n \n \n \n )}\n no={() => (\n \n \n \n )}\n />\n (\n \n \n \n )}\n />\n \n \n \n (\n \n \n \n )}\n />\n \n )\n}\n\nSummary.propTypes = {\n className: PropTypes.string\n}\n\nexport default Summary\n","import React, { Fragment, useRef, useState, memo } from 'react'\nimport PropTypes from 'prop-types'\nimport { makeStyles } from '@material-ui/styles'\nimport {\n Tooltip,\n IconButton,\n Menu,\n MenuItem,\n Switch,\n FormControlLabel,\n Typography\n} from '@material-ui/core'\nimport SortRoundedIcon from '@material-ui/icons/SortRounded'\n\nconst useStyles = makeStyles((theme) => ({\n title: { paddingLeft: theme.spacing(2), paddingTop: theme.spacing(1) }\n}))\n\nconst SortSwitches = (props) => {\n const classes = useStyles()\n const moreRef = useRef(null)\n const { sortByEvento, setSortByEvento, sortByLote, setSortByLote } = props\n const [openMenu, setOpenMenu] = useState(false)\n\n const handleMenuOpen = () => {\n setOpenMenu(true)\n }\n\n const handleMenuClose = () => {\n setOpenMenu(false)\n }\n\n return (\n \n \n \n \n \n \n \n \n Agrupar por:\n \n \n setSortByEvento(event.target.checked)}\n name=\"sortByEvento\"\n inputProps={{ 'aria-label': 'agrupar por eventos' }}\n />\n }\n label=\"Eventos\"\n />\n \n {sortByEvento && (\n \n setSortByLote(event.target.checked)}\n name=\"sortByLote\"\n inputProps={{ 'aria-label': 'agrupar por lotes' }}\n />\n }\n label=\"Lotes\"\n />\n \n )}\n \n \n )\n}\n\nSortSwitches.propTypes = {\n className: PropTypes.string\n}\n\nexport default memo(SortSwitches)\n","\n// @ts-nocheck\nimport React, { useState } from 'react'\nimport PropTypes from 'prop-types'\nimport {\n withStyles,\n makeStyles,\n Table,\n colors,\n Collapse,\n Badge,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TableRow,\n Toolbar,\n Typography,\n Paper,\n IconButton,\n Tooltip\n} from '@material-ui/core'\nimport { formatCurrency, toLocalDateFormat } from 'utils'\nimport { MessageData, Label, SkeletonTable } from 'components'\nimport KeyboardArrowDownIcon from '@material-ui/icons/KeyboardArrowDown'\nimport KeyboardArrowUpIcon from '@material-ui/icons/KeyboardArrowUp'\nimport { SortSwitches } from './components'\nimport { useIngressosMovimentacaoFinanceira } from 'hooks-querys'\nimport { Ingresso } from 'types/api'\n\nconst StyledBadge = withStyles((theme) => ({\n badge: {\n right: -3,\n border: `2px solid ${theme.palette.background.paper}`,\n padding: '0 4px'\n }\n}))(Badge)\n\nconst statusColors = {\n 1: colors.orange[600],\n 2: colors.red[600],\n 3: colors.green[600]\n}\n\nconst headCells = [\n {\n id: 'evento-lote',\n numeric: false,\n disablePadding: true,\n label: 'Evento - (Lote)'\n },\n {\n id: 'data-evento',\n numeric: true,\n disablePadding: false,\n label: 'Data evento'\n },\n {\n id: 'valor',\n numeric: true,\n disablePadding: false,\n label: 'Valor total (R$)'\n },\n { id: 'status', numeric: true, disablePadding: false, label: 'Status' }\n]\n\nfunction EnhancedTableHead(props) {\n const { order, orderBy } = props\n\n return (\n \n \n \n {headCells.map((headCell) => (\n \n {headCell.label}\n \n ))}\n \n \n )\n}\n\nEnhancedTableHead.propTypes = {\n classes: PropTypes.object.isRequired\n}\n\nconst useToolbarStyles = makeStyles((theme) => ({\n root: {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(1)\n },\n title: {\n flex: '1 1 100%'\n }\n}))\n\ntype Props ={\n movimentacaoFinanceiraId: number | undefined\n}\nexport default function Tickets({ movimentacaoFinanceiraId }:Props) {\n\n const {isLoading,data:ingressosListOfObject} = useIngressosMovimentacaoFinanceira(movimentacaoFinanceiraId)\n\n const organizeIngressos = () => {\n\n if(ingressosListOfObject){\n const ingressosFormatted = Object.values(ingressosListOfObject)\n var ingressosReturn:Ingresso[] = []\n ingressosFormatted.map((item) => {\n ingressosReturn.push(item)\n })\n return ingressosReturn\n }\n return []\n }\n const ingressos = organizeIngressos()\n\n function Row(props) {\n const { row } = props\n const [open, setOpen] = useState(false)\n const [openLote, setOpenLote] = useState(false)\n const haveRowEvento =\n row.ingressosSortedByEvento !== undefined &&\n row.ingressosSortedByEvento.length > 0\n ? true\n : false\n\n const sizeIngressoByEvento = ingressos.filter(\n (c) => c.lote.eventoId === row.lote.eventoId\n ).length\n\n function totalValueRowLote(ingressosSortedByLote) {\n var value = 0\n const haveRowLote =\n ingressosSortedByLote !== undefined && ingressosSortedByLote.length > 0\n ? true\n : false\n if (haveRowLote) {\n value +=\n ingressosSortedByLote.reduce((a, b) => a + (b['valor'] || 0), 0) -\n ingressosSortedByLote.reduce(\n (a, b) => a + (b['valorDesconto'] || 0),\n 0\n ) -\n ingressosSortedByLote.reduce((a, b) => a + (b['valorTaxa'] || 0), 0)\n }\n return value\n }\n\n function totalValueRowEvento(ingressosSortedByEvento) {\n var value = 0\n ingressosSortedByEvento.map((row) => {\n const haveRowLote =\n row.ingressosSortedByLote !== undefined &&\n row.ingressosSortedByLote.length > 0\n ? true\n : false\n if (haveRowLote) {\n value += totalValueRowLote(row.ingressosSortedByLote)\n } else {\n value += row.valor - row.valorTaxa - row.valorDesconto\n }\n })\n\n return value\n }\n const totalValueRow = haveRowEvento\n ? totalValueRowEvento(row.ingressosSortedByEvento)\n : row.valor - row.valorTaxa - row.valorDesconto\n\n return (\n <>\n \n \n
    \n {haveRowEvento && (\n \n setOpen(!open)}\n >\n \n {open ? (\n \n ) : (\n \n )}\n \n \n \n )}\n
    \n
    \n \n {haveRowEvento\n ? row.lote.evento.nome\n : `${row.lote.evento.nome} - (${row.lote.descricao} - ${row.lote.tipoIngresso.descricao})`}\n \n \n {toLocalDateFormat(row.lote.evento.dataHoraFim)}\n \n {formatCurrency(totalValueRow)}\n \n {!haveRowEvento && (\n \n {row.statusIngresso.descricao}\n \n )}\n \n \n {haveRowEvento && (\n \n \n \n \n \n {row.ingressosSortedByEvento.map((row) => {\n const hasLote =\n row.ingressosSortedByLote !== undefined &&\n row.ingressosSortedByLote.length > 0\n ? true\n : false\n\n const sizeIngressoByLote = ingressos.filter(\n (c) => c.lote.id === row.lote.id\n ).length\n\n return (\n <>\n \n \n \n {hasLote && (\n \n setOpenLote(!openLote)}\n >\n \n {openLote ? (\n \n ) : (\n \n )}\n \n \n \n )}\n \n \n \n {`${row.lote.descricao} - ${row.lote.tipoIngresso.descricao}`}\n \n \n {toLocalDateFormat(row.lote.evento.dataHoraFim)}\n \n \n {hasLote\n ? formatCurrency(\n totalValueRowLote(row.ingressosSortedByLote)\n )\n : formatCurrency(\n row.valor -\n row.valorTaxa -\n row.valorDesconto\n )}\n \n \n {!hasLote && (\n \n {row.statusIngresso.descricao}\n \n )}\n \n \n {hasLote && (\n \n \n \n \n \n {row.ingressosSortedByLote.map((row) => {\n return (\n \n \n \n {`Ingresso n.º: ${row.id}`}\n \n \n {`Cliente: ${row.usuario.nome}`}\n \n \n {formatCurrency(\n row.valor -\n row.valorTaxa -\n row.valorDesconto\n )}\n \n \n \n {row.statusIngresso.descricao}\n \n \n \n )\n })}\n \n
    \n
    \n
    \n
    \n )}\n \n )\n })}\n \n \n \n \n \n )}\n \n )\n }\n const EnhancedTableToolbar = () => {\n const classes = useToolbarStyles()\n return (\n \n \n Lista de ingressos\n \n \n \n )\n }\n\n EnhancedTableToolbar.propTypes = {\n numSelected: PropTypes.number.isRequired\n }\n\n const useStyles = makeStyles((theme) => ({\n root: {\n width: '100%'\n },\n table: {\n minWidth: 750\n },\n visuallyHidden: {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: 1,\n margin: -1,\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n top: 20,\n width: 1\n },\n paper: {\n width: '100%',\n marginBottom: theme.spacing(2),\n boxShadow: 'rgb(0 0 0 / 8%) 0px 2px 8px',\n borderRadius: '8px',\n webkitBorderRadius: '8px',\n mozBorderRadius: '8px'\n }\n }))\n\n const classes = useStyles()\n const [sortByEvento, setSortByEvento] = useState(true)\n const [sortByLote, setSortByLote] = useState(true)\n\n const ingressosSortByEventoAndLote = (ingressos) => {\n var ingressosSorted = []\n if (sortByEvento) {\n ingressos.map((row, index) => {\n if (index === 0) {\n ingressosSorted.push(row)\n } else {\n const ingressosSortedByEventoFindIndex = ingressosSorted.findIndex(\n (item) => item.lote.eventoId === row.lote.eventoId\n )\n if (ingressosSortedByEventoFindIndex !== -1) {\n if (\n ingressosSorted[ingressosSortedByEventoFindIndex]\n .ingressosSortedByEvento === undefined\n ) {\n ingressosSorted[ingressosSortedByEventoFindIndex] = {\n ...ingressosSorted[ingressosSortedByEventoFindIndex],\n ingressosSortedByEvento: [\n ingressosSorted[ingressosSortedByEventoFindIndex]\n ]\n }\n\n ingressosSorted[\n ingressosSortedByEventoFindIndex\n ].ingressosSortedByEvento.push(row)\n } else {\n ingressosSorted[\n ingressosSortedByEventoFindIndex\n ].ingressosSortedByEvento.push(row)\n }\n } else {\n ingressosSorted.push(row)\n }\n }\n })\n if (sortByLote) {\n ingressosSorted.map((row, index) => {\n if (row.ingressosSortedByEvento !== undefined) {\n const arrayIngressos = []\n row.ingressosSortedByEvento.map(\n (rowArrayEvento, indexArrayEvento) => {\n if (indexArrayEvento === 0) {\n arrayIngressos.push(rowArrayEvento)\n } else {\n const ingressosSortedByLoteFindIndex = arrayIngressos.findIndex(\n (item) => item.lote.id === rowArrayEvento.lote.id\n )\n if (ingressosSortedByLoteFindIndex !== -1) {\n if (\n arrayIngressos[ingressosSortedByLoteFindIndex]\n .ingressosSortedByLote === undefined\n ) {\n arrayIngressos[ingressosSortedByLoteFindIndex] = {\n ...arrayIngressos[ingressosSortedByLoteFindIndex],\n ingressosSortedByLote: [\n arrayIngressos[ingressosSortedByLoteFindIndex]\n ]\n }\n\n arrayIngressos[\n ingressosSortedByLoteFindIndex\n ].ingressosSortedByLote.push(rowArrayEvento)\n } else {\n arrayIngressos[\n ingressosSortedByLoteFindIndex\n ].ingressosSortedByLote.push(rowArrayEvento)\n }\n } else {\n arrayIngressos.push(rowArrayEvento)\n }\n }\n }\n )\n ingressosSorted[index].ingressosSortedByEvento = arrayIngressos\n }\n })\n }\n } else {\n ingressosSorted = ingressos\n }\n return ingressosSorted\n }\n\n return (\n
    \n {!isLoading ? (\n <>\n {ingressos && ingressos.length > 0 ? (\n <>\n \n Quantidade de ingressos: {ingressos.length}\n \n \n \n \n \n \n \n {ingressosSortByEventoAndLote(ingressos).map(\n (row, index) => {\n return \n }\n )}\n \n \n \n \n \n ) : (\n \n )}\n \n ) : (\n \n )}\n
    \n )\n}\n","import React, { useEffect } from 'react'\nimport { Header, Page } from 'components'\nimport {\n Divider,\n makeStyles,\n Tab,\n Tabs,\n colors,\n useTheme,\n useMediaQuery\n} from '@material-ui/core'\nimport { Tickets, Summary } from './components'\nimport { useSelector, useDispatch } from 'react-redux'\nimport { AccessControl } from 'components/Utils/AccessControl'\nimport { movimentacaoFinanceiraAction } from '_actions'\nimport { Redirect, useParams } from 'react-router'\nimport { history } from 'utils'\nimport MenuBookTwoToneIcon from '@material-ui/icons/MenuBookTwoTone'\nimport ConfirmationNumberTwoToneIcon from '@material-ui/icons/ConfirmationNumberTwoTone'\nconst useStyles = makeStyles((theme) => ({\n root: {\n width: '100%',\n padding: theme.spacing(3, 2, 2, 2)\n },\n header: {\n paddingBottom: theme.spacing(2)\n },\n tabs: {\n marginTop: theme.spacing(3)\n },\n divider: {\n backgroundColor: colors.grey[300]\n },\n content: {\n marginTop: theme.spacing(3)\n }\n}))\n\nconst MovimentacoesFinanceirasDetails = () => {\n const classes = useStyles()\n const { id, tab } = useParams()\n const dispatch = useDispatch()\n const theme = useTheme()\n const isMobile = useMediaQuery(theme.breakpoints.down('xs'))\n const handleTabsChange = (event, value) => {\n history.push(value)\n }\n const movimentacaoFinanceira = useSelector(\n (state) => state.movimentacaoFinanceira\n )\n const { isLoading } = useSelector((state) => state.movimentacaoFinanceira)\n\n useEffect(() => {\n dispatch(movimentacaoFinanceiraAction.getMovimentacaoFinanceiraById(id))\n }, [])\n\n if (!id) {\n return null\n }\n const tabs = [\n {\n value: 'resumo',\n label: 'Resumo',\n icon: \n },\n {\n value: 'ingressos',\n label: 'Ingressos',\n icon: \n }\n ]\n\n if (!tab) {\n return \n }\n\n if (!tabs.find((t) => t.value === tab)) {\n return \n }\n\n return (\n (\n \n \n \n {tabs.map((tab) => (\n \n ))}\n \n \n
    \n {tab === 'resumo' && (\n \n )}\n {tab === 'ingressos' && (\n \n )}\n
    \n \n )}\n />\n )\n}\n\nexport default MovimentacoesFinanceirasDetails\n","import React from 'react'\nimport {\n TableBody,\n colors,\n Table,\n withStyles,\n makeStyles,\n TableCell,\n TableContainer,\n TableHead,\n TableRow,\n Paper,\n Typography,\n Tooltip,\n IconButton\n} from '@material-ui/core'\nimport { formatCurrency, history, toLocalDateFormat } from 'utils'\nimport { Label } from 'components'\nimport InfoOutlinedIcon from '@material-ui/icons/InfoOutlined'\n\nconst StyledTableCell = withStyles((theme) => ({\n head: {\n backgroundColor: theme.palette.common.black,\n color: theme.palette.common.white\n },\n body: {\n fontSize: 14\n }\n}))(TableCell)\n\nconst useStyles = makeStyles({\n table: {\n minWidth: 700\n }\n})\n\nconst TableIngressos = ({ movimentacoesFinanceiras }) => {\n const classes = useStyles()\n\n const statusColors = {\n 1: colors.orange[600],\n 2: colors.red[600],\n 3: colors.green[600]\n }\n\n return (\n
    \n {movimentacoesFinanceiras.length !== undefined &&\n movimentacoesFinanceiras.length !== 0 ? (\n \n Total de dados encontrados: {movimentacoesFinanceiras.length}\n \n ) : (\n \n {'Nenhum dado encontrado.'}\n \n )}\n \n {movimentacoesFinanceiras !== undefined &&\n movimentacoesFinanceiras.length > 0 && (\n \n \n \n N.º\n \n Estabelecimento\n \n \n Data solicitação\n \n \n Data processamento\n \n Valor (R$)\n Status\n \n \n \n \n {movimentacoesFinanceiras.map((row) => (\n \n \n {row.id}\n \n \n {row.estabelecimento.nome}\n \n \n {toLocalDateFormat(row.dataHora)}\n \n \n {row.dataHoraProcessamento !== null\n ? toLocalDateFormat(row.dataHoraProcessamento)\n : '--------'}\n \n \n {formatCurrency(row.valor)}\n \n \n \n {row.statusMovimentacaoFinanceira.descricao}\n \n \n \n \n \n history.push(\n `movimentacaoFinanceira/${row.id}/resumo`\n )\n }\n >\n \n \n \n \n \n ))}\n \n \n )}\n \n
    \n )\n}\n\nexport default TableIngressos\n","import React, { useEffect, useState } from 'react'\nimport { Header, SkeletonTable } from 'components'\nimport {\n CircularProgress,\n FormControl,\n Grid,\n InputLabel,\n makeStyles,\n MenuItem,\n Select\n} from '@material-ui/core'\nimport { TableMovimentacoesFinanceiras } from './components'\nimport { useSelector, useDispatch } from 'react-redux'\nimport { AccessControl } from 'components/Utils/AccessControl'\nimport {\n movimentacaoFinanceiraAction,\n statusMovimentacaoFinanceiraAction\n} from '_actions'\nimport { isEmpty } from 'validate.js'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n width: '100%',\n padding: theme.spacing(3, 2, 2, 2)\n },\n header: {\n paddingBottom: theme.spacing(2)\n }\n}))\n\nconst MovimentacoesFinanceirasList = () => {\n const classes = useStyles()\n const dispatch = useDispatch()\n const {\n movimentacaoFinanceira: movimentacoesFinanceiras,\n isLoading\n } = useSelector((state) => state.movimentacaoFinanceira)\n const {\n statusMovimentacaoFinanceiraSelect,\n isFetching: isFetchingStatusMovimentacaoFinanceira\n } = useSelector((state) => state.statusMovimentacaoFinanceira)\n const [\n statusMovimentacaoFinanceiraId,\n setStatusMovimentacaoFinanceiraId\n ] = useState(1)\n\n const handleChange = (event) => {\n event.preventDefault()\n setStatusMovimentacaoFinanceiraId(event.target.value)\n }\n\n useEffect(() => {\n let payload = {\n statusMovimentacaoFinanceiraId: statusMovimentacaoFinanceiraId\n // estabelecimentoId: 0\n }\n dispatch(movimentacaoFinanceiraAction.getAllMovimentacaoFinanceira(payload))\n }, [statusMovimentacaoFinanceiraId])\n\n useEffect(() => {\n if (\n statusMovimentacaoFinanceiraSelect !== undefined &&\n statusMovimentacaoFinanceiraSelect.length === 0\n ) {\n dispatch(\n statusMovimentacaoFinanceiraAction.getStatusMovimentacaoFinanceiraSelect()\n )\n }\n }, [])\n\n return (\n (\n
    \n \n \n \n \n \n Status\n \n \n )\n }\n disabled={isFetchingStatusMovimentacaoFinanceira}\n placeholder=\"Status\"\n labelId=\"status-movimentacao-financeira-label\"\n id=\"status-movimentacao-financeira-select\"\n value={statusMovimentacaoFinanceiraId}\n onChange={handleChange}\n label=\"Status\"\n >\n {!isEmpty(statusMovimentacaoFinanceiraSelect) &&\n statusMovimentacaoFinanceiraSelect.map((status) => (\n \n {status.text}\n \n ))}\n \n \n \n \n\n {isLoading ? (\n \n ) : (\n \n )}\n
    \n )}\n />\n )\n}\n\nexport default MovimentacoesFinanceirasList\n","import React from 'react'\nimport { makeStyles } from '@material-ui/styles'\nimport { Page } from 'components'\nimport {\n MovimentacoesFinanceirasDetails,\n TableMovimentacoesFinanceiras\n} from './components'\nimport useRouter from 'utils/useRouter'\n\nconst useStyles = makeStyles(() => ({\n root: {}\n}))\n\nconst MovimentacoesFinanceiras = () => {\n const classes = useStyles()\n const { match } = useRouter()\n const { path } = match\n\n return (\n \n {path && path.includes('movimentacaoFinanceira') ? (\n \n ) : (\n \n )}\n \n )\n}\n\nexport default MovimentacoesFinanceiras\n","import React from 'react'\nimport { Link as RouterLink } from 'react-router-dom'\nimport {\n TableRow,\n TableCell,\n Grid,\n Tooltip,\n IconButton,\n Button,\n colors,\n CircularProgress,\n Link,\n Avatar,\n makeStyles\n} from '@material-ui/core'\nimport InfoOutlinedIcon from '@material-ui/icons/InfoOutlined'\n\n//? Own imports\nimport { CancelamentoIngresso, StatusCancelamentoIngresso } from 'types/api'\nimport {\n getInitials,\n getStatusCancelamentoIngressoColor,\n toLocalDateFormat\n} from 'utils'\nimport { Label } from 'components'\nimport { useMutationFinishOrderCancel } from 'hooks-querys'\n\nconst useStyles = makeStyles((theme) => ({\n nameCell: {\n display: 'flex',\n alignItems: 'center'\n },\n avatar: {\n height: 42,\n width: 42,\n marginRight: theme.spacing(1)\n }\n}))\n\nconst RowTableCancelamentosIngressos = ({\n orderCancelItem\n}: {\n orderCancelItem: CancelamentoIngresso\n}) => {\n const classes = useStyles()\n const mutationFinishOrderCancel = useMutationFinishOrderCancel()\n const evento = orderCancelItem.pedido?.ingresso[0]?.lote?.evento\n const usuario = orderCancelItem.pedido?.ingresso[0]?.usuario\n return (\n \n \n {orderCancelItem.id}\n \n \n {usuario && usuario.nome ? (\n
    \n \n {getInitials(usuario?.nome)}\n \n
    \n \n {usuario?.nome}\n \n
    {usuario?.email}
    \n
    \n
    \n ) : (\n 'Usuário não encontrado'\n )}\n
    \n \n {evento && evento.nome ? evento.nome : 'Evento não encontrado'}\n \n \n {orderCancelItem &&\n orderCancelItem.motivoCancelamentoIngresso?.descricao}\n \n \n {orderCancelItem && orderCancelItem.dataHora\n ? toLocalDateFormat(orderCancelItem.dataHora)\n : '----------'}\n \n \n {orderCancelItem && orderCancelItem.dataHoraProcessamento\n ? toLocalDateFormat(orderCancelItem.dataHoraProcessamento)\n : '----------'}\n \n {orderCancelItem && orderCancelItem.statusCancelamentoIngresso && (\n \n \n {orderCancelItem.statusCancelamentoIngresso.descricao}\n \n \n )}\n \n \n {orderCancelItem &&\n orderCancelItem.statusCancelamentoIngresso?.pendente && (\n \n \n \n )\n }\n onClick={() => {\n mutationFinishOrderCancel.mutate(orderCancelItem)\n }}\n >\n {mutationFinishOrderCancel.isLoading\n ? 'Finalizando...'\n : 'Finalizar'}\n \n \n \n )}\n \n \n \n \n \n \n \n \n \n \n \n
    \n )\n}\n\nexport default RowTableCancelamentosIngressos\n","import React from 'react'\nimport {\n TableBody,\n Table,\n makeStyles,\n TableCell,\n TableContainer,\n TableHead,\n TableRow,\n Paper,\n Typography,\n Toolbar,\n Tooltip,\n IconButton\n} from '@material-ui/core'\nimport PrintRoundedIcon from '@material-ui/icons/PrintRounded'\nimport ReactToPrint from 'react-to-print'\n\n//? Own imports\nimport { CancelamentoIngresso } from 'types/api'\nimport { RowTableCancelamentosIngressos } from './components'\nimport constants from 'theme/constants'\n\nconst useStyles = makeStyles((theme) => ({\n table: {\n minWidth: 700\n },\n rootToolbarStyles: {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(1)\n },\n titleToolbarStyles: {\n flex: '1 1 100%'\n },\n paper: {\n width: '100%',\n marginBottom: theme.spacing(2),\n ...constants.shadowCard\n }\n}))\n\nconst TableCancelamentosIngressos = ({\n ordersCancel\n}: {\n ordersCancel: CancelamentoIngresso[]\n}) => {\n const classes = useStyles()\n const refTable = React.useRef(null)\n\n return (\n
    \n \n {ordersCancel && ordersCancel.length > 0 ? (\n <>\n Total de dados encontrados: {ordersCancel.length}\n \n ) : (\n Nenhum dado encontrado.\n )}\n \n {ordersCancel && ordersCancel.length > 0 && (\n \n \n \n Lista de solicitações de cancelamento\n \n (\n \n \n \n \n \n )}\n content={() => refTable.current}\n />\n \n {/* usado para 'forçar' a orientação da pagina para 'paisagem' afim de imprimir mostrando todos os dados */}\n \n {/* ------------------------------------------------------------>\t */}\n \n {ordersCancel !== undefined && ordersCancel.length > 0 && (\n \n \n \n N.º\n Usuário\n Evento\n Motivo\n Data solicitação\n Data finalização\n Status\n Ações\n \n \n \n {ordersCancel.map((orderCancelItem) => {\n return (\n \n )\n })}\n \n \n )}\n \n \n )}\n
    \n )\n}\n\nexport default TableCancelamentosIngressos\n","import React, { useState } from 'react'\nimport { useLocation } from 'react-router-dom'\nimport {\n Grid,\n Select,\n MenuItem,\n FormControl,\n InputLabel,\n makeStyles,\n TextField,\n InputAdornment,\n IconButton,\n Divider,\n Tooltip\n} from '@material-ui/core'\nimport SearchRoundedIcon from '@material-ui/icons/SearchRounded'\nimport CloseIcon from '@material-ui/icons/Close'\n\n//? Own imports\nimport { useDidMountEffect } from 'utils/useDidMountEffect'\nimport {\n useStatusCancelamentoIngressoSelect,\n useOrderCancelReasonsSelect\n} from 'hooks-querys'\nimport { history } from 'utils'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n flexGrow: 1,\n marginTop: theme.spacing(2)\n },\n formControl: {\n width: '100%'\n },\n selectEmpty: {\n marginTop: theme.spacing(2)\n },\n divider: {\n height: 28,\n margin: 4\n }\n}))\n\nfunction useSearchQuery() {\n const { search } = useLocation()\n return React.useMemo(() => new URLSearchParams(search), [search])\n}\n\nconst Filters = () => {\n const classes = useStyles()\n const querySearch = useSearchQuery()\n const [filters, setFilters] = useState({\n textSearch: querySearch.get('textSearch') || '',\n selectedStatusOrderCancelId: querySearch.get('statusOrderCancelId') || '1',\n selectedReasonOrderCancelId: querySearch.get('reasonOrderCancelId') || '0'\n })\n const {\n data: statusOrderCancelSelect,\n isLoading: isLoadingStatusOrderCancelSelect\n } = useStatusCancelamentoIngressoSelect()\n\n const {\n data: reasonOrderCancelSelect,\n isLoading: isLoadingStatusIngressoSelect\n } = useOrderCancelReasonsSelect()\n\n const runQuery = () => {\n history.push(\n `/cancelamentosIngressos?statusOrderCancelId=${\n filters.selectedStatusOrderCancelId\n }&textSearch=${filters.textSearch}&reasonOrderCancelId=${\n filters.selectedReasonOrderCancelId\n ? filters.selectedReasonOrderCancelId\n : 0\n }`\n )\n }\n\n const handleChangeText = (value: string) => {\n setFilters((prev) => ({ ...prev, textSearch: value }))\n }\n\n const handleSubmitSearch = (event: React.FormEvent) => {\n event.preventDefault()\n if (filters.textSearch && filters.textSearch.length > 0) {\n runQuery()\n }\n }\n\n const clearTextSearch = () => {\n setFilters((prev) => ({ ...prev, textSearch: '' }))\n }\n\n useDidMountEffect(() => {\n if (filters.textSearch === '') {\n runQuery()\n }\n }, [filters.textSearch])\n\n useDidMountEffect(() => {\n runQuery()\n }, [filters.selectedStatusOrderCancelId, filters.selectedReasonOrderCancelId])\n\n useDidMountEffect(() => {\n setFilters((prev) => ({\n ...prev,\n selectedStatusOrderCancelId:\n querySearch.get('statusOrderCancelId') || '1',\n selectedReasonOrderCancelId: querySearch.get('reasonOrderCancelId') || '',\n textSearch: querySearch.get('textSearch') || ''\n }))\n }, [querySearch])\n\n return (\n
    \n \n \n \n \n Filtrar por status\n \n {\n setFilters((prev) => ({\n ...prev,\n selectedStatusOrderCancelId: event.target.value as string\n }))\n }}\n label=\"Filtrar por status\"\n >\n \n {filters.selectedStatusOrderCancelId === '0' ? (\n 'Filtrar por status'\n ) : (\n Limpar filtro\n )}\n \n {statusOrderCancelSelect &&\n statusOrderCancelSelect.length > 0 &&\n statusOrderCancelSelect.map((statusIngresso) => (\n \n {statusIngresso.text}\n \n ))}\n \n \n \n \n \n \n Filtrar por motivo\n \n {\n setFilters((prev) => ({\n ...prev,\n selectedReasonOrderCancelId: event.target.value as string\n }))\n }}\n label=\"Filtrar por motivo\"\n >\n \n {filters.selectedReasonOrderCancelId === '0' ? (\n 'Filtrar por motivo'\n ) : (\n Limpar filtro\n )}\n \n {reasonOrderCancelSelect &&\n reasonOrderCancelSelect.length > 0 &&\n reasonOrderCancelSelect.map((reasonOrderCancel) => (\n \n {reasonOrderCancel.text}\n \n ))}\n \n \n \n \n
    \n \n {filters.textSearch.length >= 1 && (\n <>\n \n \n \n \n \n \n \n )}\n \n \n \n \n \n \n )\n }}\n fullWidth\n required\n value={filters.textSearch}\n onChange={(event) =>\n handleChangeText && handleChangeText(event.target.value)\n }\n variant=\"outlined\"\n id=\"textForSearch\"\n label=\"Buscar\"\n placeholder=\"Busque por nome ou e-mail\"\n />\n \n
    \n
    \n
    \n )\n}\n\nexport default Filters\n","import React, { useEffect, useState } from 'react'\nimport { makeStyles } from '@material-ui/core'\nimport { useOrdersCancel } from 'hooks-querys'\nimport { useLocation } from 'react-router-dom'\n\n//? Own imports\nimport { Header, SkeletonTable } from 'components'\nimport { Filters, TableCancelamentosIngressos } from './components'\nimport { AccessControl } from 'components/Utils/AccessControl'\nimport { AccessDenied } from 'views'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n width: '100%',\n padding: theme.spacing(3, 2, 2, 2)\n },\n header: {\n paddingBottom: theme.spacing(2)\n }\n}))\n\nfunction useSearchQuery() {\n const { search } = useLocation()\n return React.useMemo(() => new URLSearchParams(search), [search])\n}\n\nconst CancelamentosIngressosList = () => {\n const classes = useStyles()\n const querySearch = useSearchQuery()\n const [filters, setFilters] = useState({\n // page: Number(querySearch.get('page')) || 1,\n textSearch: querySearch.get('textSearch') || '',\n statusOrderCancelId: querySearch.get('statusOrderCancelId') || '1',\n reasonOrderCancelId: querySearch.get('reasonOrderCancelId') || '0'\n })\n\n useEffect(() => {\n setFilters({\n // page: Number(querySearch.get('page')) || 1,\n textSearch: querySearch.get('textSearch') || '',\n statusOrderCancelId: querySearch.get('statusOrderCancelId') || '1',\n reasonOrderCancelId: querySearch.get('reasonOrderCancelId') || '0'\n })\n }, [querySearch])\n\n const { isLoading, data } = useOrdersCancel({\n page: 1, // valor fixo para paginação, pois o componente de paginação não está implementado\n direction: 'desc',\n order: 'dataHora',\n limit: 10000, //limite alto para não haver paginação\n term: filters.textSearch,\n statusCancelamentoIngressoId: filters.statusOrderCancelId,\n motivoCancelamentoIngressoId: filters.reasonOrderCancelId\n })\n\n return (\n (\n
    \n \n \n {isLoading ? (\n \n ) : (\n \n )}\n
    \n )}\n // @ts-ignore\n no={() => }\n />\n )\n}\n\nexport default CancelamentosIngressosList\n","import React, { useState } from 'react'\nimport { Link as RouterLink } from 'react-router-dom'\nimport clsx from 'clsx'\nimport {\n Card,\n CardActions,\n CardHeader,\n CardContent,\n Divider,\n Button,\n Table,\n TableBody,\n TableRow,\n TableCell,\n TextField,\n Link,\n makeStyles,\n Grid,\n Tooltip,\n CircularProgress\n} from '@material-ui/core'\nimport CloseIcon from '@material-ui/icons/Close'\nimport ReceiptIcon from '@material-ui/icons/ReceiptOutlined'\nimport CheckRoundedIcon from '@material-ui/icons/CheckRounded'\n\n//? Own imports\nimport { CancelamentoIngresso } from 'types/api'\nimport { getStatusCancelamentoIngressoColor, toLocalDateFormat } from 'utils'\nimport { Label } from 'components'\nimport { useMutationFinishOrderCancel } from 'hooks-querys'\nimport constants from 'theme/constants'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n ...constants.shadowCard\n },\n content: {\n padding: 0\n },\n buttonIcon: {\n marginRight: theme.spacing(1)\n }\n}))\n\nconst OrderCancelInfo = ({\n orderCancel\n}: {\n orderCancel: CancelamentoIngresso\n}) => {\n const classes = useStyles()\n const mutationFinishOrderCancel = useMutationFinishOrderCancel()\n return (\n \n \n \n \n \n \n \n ID\n #{orderCancel.id || 'ID não identificado'}\n \n \n Motivo\n \n {orderCancel.motivoCancelamentoIngresso?.descricao ||\n 'Motivo não identificado'}\n \n \n \n Data solicitação\n \n {orderCancel && orderCancel.dataHora\n ? toLocalDateFormat(orderCancel.dataHora)\n : '----------'}\n \n \n \n Data finalização\n \n {orderCancel && orderCancel.dataHoraProcessamento\n ? toLocalDateFormat(orderCancel.dataHoraProcessamento)\n : '----------'}\n \n \n {orderCancel.chavePix && (\n \n Chave PIX\n {orderCancel.chavePix}\n \n )}\n \n Status\n \n {orderCancel.statusCancelamentoIngresso ? (\n \n {orderCancel.statusCancelamentoIngresso.descricao}\n \n ) : (\n 'Status não identificado'\n )}\n \n \n \n
    \n
    \n \n \n {/* {orderCancel.statusCancelamentoIngresso?.finalizado && (\n \n \n \n )}\n {orderCancel.statusCancelamentoIngresso?.finalizado && (\n \n \n \n )} */}\n {orderCancel.statusCancelamentoIngresso?.pendente && (\n \n \n \n ) : (\n \n )\n }\n onClick={() => {\n mutationFinishOrderCancel.mutate(orderCancel)\n }}\n >\n {mutationFinishOrderCancel.isLoading\n ? 'Finalizando...'\n : 'Finalizar'}\n \n \n \n )}\n \n \n
    \n )\n}\n\nexport default OrderCancelInfo\n","import React, { useState } from 'react'\r\nimport { Link as RouterLink } from 'react-router-dom'\r\nimport clsx from 'clsx'\r\nimport {\r\n Card,\r\n CardActions,\r\n CardHeader,\r\n CardContent,\r\n Divider,\r\n Button,\r\n Table,\r\n TableBody,\r\n TableRow,\r\n TableCell,\r\n TextField,\r\n Link,\r\n makeStyles,\r\n Grid,\r\n Typography,\r\n CircularProgress\r\n} from '@material-ui/core'\r\nimport CloseIcon from '@material-ui/icons/Close'\r\nimport ReceiptIcon from '@material-ui/icons/ReceiptOutlined'\r\nimport CheckRoundedIcon from '@material-ui/icons/CheckRounded'\r\n\r\n//? Own imports\r\nimport { CancelamentoIngresso, Pedido } from 'types/api'\r\nimport {\r\n cepMask,\r\n formatCurrency,\r\n getLabelGatewayColor,\r\n getStatusPedidoColor,\r\n toLocalDateFormat\r\n} from 'utils'\r\nimport { Label } from 'components'\r\nimport constants from 'theme/constants'\r\nimport {\r\n useMutationCreateOrderCancel,\r\n useMutationFinishOrderCancel\r\n} from 'hooks-querys'\r\nimport OrderCancelDetails from 'views/OrderCancelDetails'\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n ...constants.shadowCard\r\n },\r\n content: {\r\n padding: 0\r\n },\r\n buttonIcon: {\r\n marginRight: theme.spacing(1)\r\n }\r\n}))\r\n\r\nconst OrderInfo = ({ order }: { order: Pedido }) => {\r\n const classes = useStyles()\r\n const usuario = order.carrinhoItem[0]?.usuario\r\n const mutationCreateOrderCancel = useMutationCreateOrderCancel()\r\n const mutationFinishOrderCancel = useMutationFinishOrderCancel()\r\n\r\n const getTextCupomDesconto = () => {\r\n if (order.cupomDesconto) {\r\n if (order.cupomDesconto.percentualDesconto) {\r\n return `${order.cupomDesconto.codigo} (${order.cupomDesconto.percentualDesconto}%)`\r\n }\r\n if (order.cupomDesconto.valorDesconto) {\r\n return `${order.cupomDesconto.codigo} (${formatCurrency(\r\n order.cupomDesconto.valorDesconto\r\n )})`\r\n }\r\n return `${order.cupomDesconto.codigo} (SEM DESCONTO)`\r\n }\r\n return 'N/A'\r\n }\r\n\r\n const createOrderCancel = () => {\r\n mutationCreateOrderCancel\r\n .mutateAsync({\r\n id: 0,\r\n pedidoId: order.id,\r\n motivoCancelamentoIngressoId: Number(6),\r\n dataHora: new Date(),\r\n dataHoraProcessamento: null,\r\n statusCancelamentoIngressoId: 0\r\n //chavePix: '',\r\n //tipoChavePix:\r\n })\r\n .then((data) => {\r\n if (data && data.id) {\r\n finishOrderCancel(data)\r\n }\r\n })\r\n }\r\n\r\n const finishOrderCancel = (orderCancel: CancelamentoIngresso) => {\r\n mutationFinishOrderCancel.mutate(orderCancel)\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Usuário\r\n \r\n \r\n {usuario?.nome}\r\n \r\n {usuario?.endereco ? (\r\n
    \r\n {`${usuario?.endereco}, ${usuario?.numero} ${\r\n usuario?.complemento ? ` - ${usuario?.complemento}` : ''\r\n }${usuario?.bairro ? ` - ${usuario?.bairro}` : ''}`}\r\n
    \r\n ) : (\r\n ''\r\n )}\r\n
    {cepMask(usuario?.cep)}
    \r\n {usuario?.cidade ? (\r\n
    \r\n {`${usuario?.cidade?.nome} -\r\n ${usuario?.cidade?.estado.uf.toUpperCase()}/${\r\n usuario?.cidade?.estado?.pais?.nomePt\r\n }`}\r\n
    \r\n ) : (\r\n ''\r\n )}\r\n
    \r\n
    \r\n \r\n ID\r\n #{order.id}\r\n \r\n \r\n Transação\r\n {order.transacao}\r\n \r\n \r\n Forma pagamento\r\n \r\n {order.formaPagamento?.descricao}\r\n {order.formaPagamento?.id === 1 ? (\r\n \r\n {order.parcelas &&\r\n `em ${order.parcelas}x ${formatCurrency(\r\n order.valorParcelamento\r\n )}`}\r\n \r\n ) : order.formaPagamento?.id === 2 ? (\r\n \r\n {order.linhaDigitavelBoleto &&\r\n `${order.linhaDigitavelBoleto}`}\r\n \r\n ) : order.formaPagamento?.id === 3 ? (\r\n \r\n {order.pixBase64 && `${order.pixBase64}`}\r\n \r\n ) : (\r\n ''\r\n )}\r\n \r\n \r\n \r\n Plataforma\r\n {order.plataforma?.toUpperCase()}\r\n \r\n \r\n Gateway\r\n \r\n {order.gateway && (\r\n \r\n {order.gateway.toUpperCase()}\r\n \r\n )}\r\n \r\n \r\n \r\n Data compra\r\n \r\n {order && order.dataHora\r\n ? toLocalDateFormat(order.dataHora)\r\n : '----------'}\r\n \r\n \r\n \r\n Data validade\r\n \r\n {order && order.dataHoraValidade\r\n ? toLocalDateFormat(order.dataHoraValidade)\r\n : '----------'}\r\n \r\n \r\n \r\n Cupom de desconto\r\n {getTextCupomDesconto()}\r\n \r\n \r\n Valor total (R$)\r\n {formatCurrency(order.valorTotal)}\r\n \r\n \r\n Status\r\n \r\n {order.statusPedido ? (\r\n \r\n {order.statusPedido.descricao}\r\n \r\n ) : (\r\n 'Status não identificado'\r\n )}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {order.statusPedido?.finalizado && (\r\n \r\n \r\n ) : (\r\n \r\n )\r\n }\r\n onClick={() => {\r\n createOrderCancel()\r\n }}\r\n >\r\n {mutationCreateOrderCancel.isLoading\r\n ? 'Criando cancelamento...'\r\n : mutationFinishOrderCancel.isLoading\r\n ? 'Finalizando cancelamento...'\r\n : 'Cancelar Pedido'}\r\n \r\n \r\n )}\r\n {order.statusPedido?.finalizado && (\r\n \r\n \r\n \r\n )}\r\n {order.statusPedido?.pendente && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n
    \r\n )\r\n}\r\n\r\nexport default OrderInfo\r\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport clsx from 'clsx'\nimport PerfectScrollbar from 'react-perfect-scrollbar'\nimport { makeStyles } from '@material-ui/styles'\nimport {\n Card,\n CardHeader,\n CardContent,\n Divider,\n Table,\n TableHead,\n TableBody,\n TableRow,\n TableCell,\n Typography,\n useTheme\n} from '@material-ui/core'\nimport { CarrinhoItem } from 'types/api'\nimport { formatCurrency, getGenderFull } from 'utils'\nimport constants from 'theme/constants'\n\nconst useStyles = makeStyles(() => ({\n root: {\n ...constants.shadowCard\n },\n content: {\n padding: 0\n }\n}))\n\nconst OrderItems = ({ carrinhoItens }: { carrinhoItens: CarrinhoItem[] }) => {\n const classes = useStyles()\n const theme = useTheme()\n const getTotalWithDiscount = (item: CarrinhoItem) => {\n if (item.valorDesconto && item.valorDesconto > 0) {\n return (\n \n \n {formatCurrency(item.valor * item.quantidade)}\n \n {' - '}\n \n {formatCurrency(\n (item.valor - item.valorDesconto) * item.quantidade\n )}\n \n \n )\n } else {\n return (\n {formatCurrency(item.valor * item.quantidade)}\n )\n }\n }\n const textLoteFormatted = (item: CarrinhoItem) => {\n if (item.lote) {\n return `${item.quantidade}x ${item.lote.tipoIngresso?.descricao}${' '}\n - ${item.lote?.descricao} (${getGenderFull(item.lote?.genero)})`\n }\n return 'Lote não encontrado'\n }\n\n return (\n \n \n \n \n \n \n \n \n Lote\n Valor (R$)\n \n \n \n {carrinhoItens.map((item) => (\n \n {textLoteFormatted(item)}\n \n {getTotalWithDiscount(item)}\n \n \n ))}\n \n
    \n
    \n
    \n
    \n )\n}\n\nexport default OrderItems\n","import React from 'react'\nimport PerfectScrollbar from 'react-perfect-scrollbar'\nimport { makeStyles } from '@material-ui/styles'\nimport {\n Card,\n CardHeader,\n CardContent,\n Divider,\n Table,\n TableHead,\n TableBody,\n TableRow,\n TableCell,\n Typography,\n useTheme\n} from '@material-ui/core'\nimport { Ingresso } from 'types/api'\nimport { formatCurrency, getGenderFull, getStatusIngressoColor } from 'utils'\nimport { Label } from 'components'\nimport constants from 'theme/constants'\n\nconst useStyles = makeStyles(() => ({\n root: {\n ...constants.shadowCard\n },\n content: {\n padding: 0\n }\n}))\n\nconst OrderTickets = ({ tickets }: { tickets: Ingresso[] }) => {\n const classes = useStyles()\n const theme = useTheme()\n const getTotalWithDiscount = (item: Ingresso) => {\n if (item.valorDesconto && item.valorDesconto > 0) {\n return (\n \n \n {formatCurrency(item.valor)}\n \n {' - '}\n \n {formatCurrency(item.valor - item.valorDesconto)}\n \n \n )\n } else {\n return {formatCurrency(item.valor)}\n }\n }\n const textLoteFormatted = (item: Ingresso) => {\n if (item.lote) {\n return `1x ${item.lote.tipoIngresso?.descricao}${' '}\n - ${item.lote?.descricao} (${getGenderFull(item.lote?.genero)})`\n }\n return 'Lote não encontrado'\n }\n\n return (\n \n \n \n \n \n \n \n \n Lote\n Valor (R$)\n Status\n \n \n \n {tickets.map((item) => (\n \n {textLoteFormatted(item)}\n {getTotalWithDiscount(item)}\n \n {item.statusIngresso && (\n \n {item.statusIngresso.descricao}\n \n )}\n \n \n ))}\n \n
    \n
    \n
    \n
    \n )\n}\n\nexport default OrderTickets\n","import React, { useEffect } from 'react'\nimport { Grid, makeStyles } from '@material-ui/core'\nimport { useParams } from 'react-router-dom'\n\n//? Own imports\nimport { Header, Page } from 'components'\nimport { OrderCancelInfo } from './components'\nimport { Pedido } from 'types/api'\nimport { useOrderCancel } from 'hooks-querys'\nimport {\n OrderItems,\n OrderTickets,\n OrderInfo\n} from 'views/OrderManagementDetails/components'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(3, 2, 2, 2)\n },\n container: {\n marginTop: theme.spacing(2)\n }\n}))\n\nconst OrderCancelDetails = () => {\n const classes = useStyles()\n const { id } = useParams<{ id: string }>()\n\n const { data, isLoading } = useOrderCancel(Number(id), undefined)\n\n useEffect(() => {\n window.scrollTo({\n top: 0,\n behavior: 'smooth'\n })\n }, [])\n\n return (\n <>\n {data ? (\n \n \n \n \n \n \n \n \n {data.pedido && (\n \n \n \n )}\n \n \n \n \n {data.pedido && data.pedido?.carrinhoItem && (\n \n \n \n )}\n {data.pedido?.ingresso && data.pedido?.ingresso.length > 0 && (\n \n \n \n )}\n \n \n \n \n ) : null}\n \n )\n}\n\nexport default OrderCancelDetails\n","import React from 'react'\nimport { makeStyles } from '@material-ui/styles'\nimport useRouter from 'utils/useRouter'\n\n//? Own imports\nimport { Page } from 'components'\nimport {\n // CancelamentosIngressosDetails,\n CancelamentosIngressosList\n} from './components'\nimport OrderCancelDetails from '../OrderCancelDetails'\n\n\nconst useStyles = makeStyles(() => ({\n root: {}\n}))\n\nconst CancelamentosIngressos = () => {\n const classes = useStyles()\n const { match } = useRouter()\n const { path } = match\n\n return (\n \n {path && path.includes('cancelamentoIngresso') ? (\n \n ) : (\n \n )}\n {/* */}\n \n )\n}\n\nexport default CancelamentosIngressos\n","import React from 'react'\nimport { Link as RouterLink } from 'react-router-dom'\nimport {\n TableRow,\n TableCell,\n Grid,\n Tooltip,\n IconButton,\n colors,\n Link,\n Avatar,\n makeStyles\n} from '@material-ui/core'\nimport InfoOutlinedIcon from '@material-ui/icons/InfoOutlined'\n\n//? Own imports\nimport { Pedido } from 'types/api'\nimport {\n formatCurrency,\n getInitials,\n getLabelGatewayColor,\n getStatusPedidoColor,\n toLocalDateFormat\n} from 'utils'\nimport { Label } from 'components'\n\nconst useStyles = makeStyles((theme) => ({\n nameCell: {\n display: 'flex',\n alignItems: 'center'\n },\n avatar: {\n height: 42,\n width: 42,\n marginRight: theme.spacing(1)\n }\n}))\n\nconst RowTableOrderManagementList = ({ orderItem }: { orderItem: Pedido }) => {\n const classes = useStyles()\n const evento = orderItem.carrinhoItem[0]?.lote?.evento\n const usuario = orderItem.carrinhoItem[0]?.usuario\n return (\n \n \n {orderItem.id}\n \n \n {usuario && usuario.nome ? (\n
    \n \n {getInitials(usuario?.nome)}\n \n
    \n \n {usuario?.nome}\n \n
    {usuario?.email}
    \n
    \n
    \n ) : (\n 'Usuário não encontrado'\n )}\n
    \n \n {evento && evento.nome ? evento.nome : 'Evento não encontrado'}\n \n \n {orderItem && orderItem.formaPagamento?.descricao}\n {orderItem && orderItem.formaPagamento === null && orderItem.gateway && (\n \n {orderItem.gateway.toUpperCase()}\n \n )}\n \n \n {orderItem && orderItem.dataHora\n ? toLocalDateFormat(orderItem.dataHora)\n : '----------'}\n \n \n {orderItem && orderItem.dataHoraValidade\n ? toLocalDateFormat(orderItem.dataHoraValidade)\n : '----------'}\n \n \n {orderItem && orderItem.valorTotal\n ? formatCurrency(orderItem.valorTotal)\n : '----------'}\n \n \n {orderItem && orderItem.statusPedido ? (\n \n {orderItem.statusPedido.descricao}\n \n ) : (\n '----------'\n )}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n )\n}\n\nexport default RowTableOrderManagementList\n","import React from 'react'\nimport {\n TableBody,\n Table,\n makeStyles,\n TableCell,\n TableContainer,\n TableHead,\n TableRow,\n Paper,\n Typography,\n Toolbar,\n Tooltip,\n IconButton,\n Box,\n BoxProps\n} from '@material-ui/core'\nimport PrintRoundedIcon from '@material-ui/icons/PrintRounded'\nimport ReactToPrint from 'react-to-print'\n\n//? Own imports\nimport { Pedido } from 'types/api'\nimport { RowTableOrderManagementList } from './components'\nimport constants from 'theme/constants'\n\nconst useStyles = makeStyles((theme) => ({\n table: {\n minWidth: 700\n },\n rootToolbarStyles: {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(1)\n },\n titleToolbarStyles: {\n flex: '1 1 100%'\n },\n paper: {\n width: '100%',\n marginBottom: theme.spacing(2),\n ...constants.shadowCard\n }\n}))\n\ntype TableOrderManagementListProps = BoxProps & {\n orders: Pedido[]\n}\n\nconst TableOrderManagementList = ({\n orders,\n ...rest\n}: TableOrderManagementListProps) => {\n const classes = useStyles()\n const refTable = React.useRef(null)\n\n return (\n \n \n {orders && orders.length > 0 ? (\n <>\n Total de dados encontrados: {orders.length}\n \n ) : (\n Nenhum dado encontrado.\n )}\n \n {orders && orders.length > 0 && (\n \n \n \n Lista de pedidos\n \n (\n \n \n \n \n \n )}\n content={() => refTable.current}\n />\n \n {/* usado para 'forçar' a orientação da pagina para 'paisagem' afim de imprimir mostrando todos os dados */}\n \n {/* ------------------------------------------------------------>\t */}\n \n {orders !== undefined && orders.length > 0 && (\n \n \n \n N.º\n Usuário\n Evento\n Forma pagamento\n Data compra\n Data validade\n Valor (R$)\n Status\n Ações\n \n \n \n {orders.map((orderItem) => {\n return (\n \n )\n })}\n \n
    \n )}\n
    \n
    \n )}\n
    \n )\n}\n\nexport default TableOrderManagementList\n","import React, { useState, useEffect } from 'react'\nimport { useLocation } from 'react-router-dom'\nimport {\n Grid,\n Select,\n MenuItem,\n FormControl,\n InputLabel,\n makeStyles,\n TextField,\n InputAdornment,\n IconButton,\n Divider,\n Tooltip,\n Switch,\n Chip,\n useMediaQuery,\n useTheme,\n CircularProgress\n} from '@material-ui/core'\nimport SearchRoundedIcon from '@material-ui/icons/SearchRounded'\nimport CloseIcon from '@material-ui/icons/Close'\n\n//? Own imports\nimport { useDidMountEffect } from 'utils/useDidMountEffect'\nimport { useStatusPedidoSelect, useFormaPagamentoSelect, useEvents, useOrders } from 'hooks-querys'\nimport { history, toLocalDateFormat } from 'utils'\nimport { Autocomplete } from '@material-ui/lab'\nimport { Evento } from 'types/api'\nimport { useSelector } from 'react-redux'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n flexGrow: 1,\n marginTop: theme.spacing(4)\n },\n formControl: {\n width: '100%'\n },\n selectEmpty: {\n marginTop: theme.spacing(2)\n },\n divider: {\n height: 28,\n margin: 4\n }\n}))\n\nfunction useSearchQuery() {\n const { search } = useLocation()\n return React.useMemo(() => new URLSearchParams(search), [search])\n}\n\nconst Filters = () => {\n const classes = useStyles()\n const theme = useTheme()\n const querySearch = useSearchQuery()\n const isMobile = useMediaQuery(theme.breakpoints.down('xs'))\n const [selectedEvento, setSelectedEvento] = useState(null)\n const [eventoInputValue, setEventoInputValue] = useState('')\n const [showPastEvents, setShowPastEvents] = useState(false)\n const estabelecimentoId = useSelector(\n // @ts-ignore: //ainda não foi tipado o redux state\n (state) => state.usuarioEstabelecimento.estabelecimentoId\n )\n const {\n data: events,\n isLoading: isLoadingEvents,\n isFetching: isFetchingEvents\n } = useEvents(estabelecimentoId, showPastEvents, isMobile)\n\n const [filters, setFilters] = useState({\n textSearch: querySearch.get('Term') || '',\n selectedStatusPedidoId: querySearch.get('StatusPedidoId') || '0',\n selectedFormaPagamentoId: querySearch.get('FormaPagamentoId') || '0',\n dataHoraInicio: querySearch.get('DataHoraInicio') || '',\n dataHoraFim: querySearch.get('DataHoraFim') || ''\n })\n const {\n data: statusPedidoSelect,\n isLoading: isLoadingstatusPedidoSelect\n } = useStatusPedidoSelect()\n\n const {\n data: formaPagamentoSelect,\n isLoading: isLoadingFormaPagamentoSelect\n } = useFormaPagamentoSelect()\n\n useEffect(() => {\n const eventId = querySearch.get('EventoId') || 0\n if (eventId && Number(eventId) > 0) {\n const event =\n events &&\n events.length > 0 &&\n events.find((e) => e.id === Number(eventId))\n\n if (event) {\n setSelectedEvento(event)\n } else if (selectedEvento === null) {\n setShowPastEvents(!showPastEvents)\n }\n }\n }, [events])\n\n const runQuery = () => {\n history.push(\n `/pedidos/admin?StatusPedidoId=${\n filters.selectedStatusPedidoId\n }&FormaPagamentoId=${\n filters.selectedFormaPagamentoId ? filters.selectedFormaPagamentoId : 0\n }&Term=${filters.textSearch\n }&DataHoraInicio=${filters.dataHoraInicio\n }&DataHoraFim=${filters.dataHoraFim\n }&EventoId=${selectedEvento && selectedEvento.id ? selectedEvento.id : ''}`\n )\n }\n\n const handleChangeText = (value: string) => {\n setFilters((prev) => ({ ...prev, textSearch: value }))\n }\n\n const handleSubmitSearch = (event: React.FormEvent) => {\n event.preventDefault()\n if (filters.textSearch && filters.textSearch.length > 0) {\n runQuery()\n }\n }\n\n const clearTextSearch = () => {\n setFilters((prev) => ({ ...prev, textSearch: '' }))\n }\n\n useDidMountEffect(() => {\n if (filters.textSearch === '') {\n runQuery()\n }\n }, [filters.textSearch])\n\n useDidMountEffect(() => {\n runQuery()\n }, [filters.selectedStatusPedidoId, filters.selectedFormaPagamentoId])\n\n useDidMountEffect(() => {\n history.push(\n `/pedidos/admin?StatusPedidoId=${\n filters.selectedStatusPedidoId\n }&FormaPagamentoId=${\n filters.selectedFormaPagamentoId ? filters.selectedFormaPagamentoId : 0\n }&Term=${filters.textSearch\n }&DataHoraInicio=${filters.dataHoraInicio\n }&DataHoraFim=${filters.dataHoraFim\n }&EventoId=${selectedEvento && selectedEvento.id ? selectedEvento.id : ''}`\n )\n }, [estabelecimentoId])\n\n useDidMountEffect(() => {\n if (selectedEvento && selectedEvento.id) {\n runQuery()\n }\n }, [selectedEvento])\n\n useEffect(() => {\n if (selectedEvento && selectedEvento.id) {\n if (eventoInputValue === '') {\n setEventoInputValue(\n selectedEvento.nome &&\n `${selectedEvento.nome} ${\n selectedEvento.dataHoraInicio\n ? ` - (${toLocalDateFormat(selectedEvento.dataHoraInicio)})`\n : ''\n }`\n )\n }\n }\n }, [selectedEvento])\n\n useDidMountEffect(() => {\n setFilters((prev) => ({\n ...prev,\n selectedStatusPedidoId: querySearch.get('StatusPedidoId') || '0',\n selectedFormaPagamentoId: querySearch.get('FormaPagamentoId') || '0',\n textSearch: querySearch.get('Term') || '',\n dataHoraInicio: querySearch.get('DataHoraInicio') || '',\n dataHoraFim: querySearch.get('DataHoraFim') || ''\n }))\n }, [querySearch])\n\n return (\n
    \n \n \n \n Filtrar por status\n {\n setFilters((prev) => ({\n ...prev,\n selectedStatusPedidoId: event.target.value as string\n }))\n }}\n label=\"Filtrar por status\"\n >\n \n {filters.selectedStatusPedidoId === '0' ? (\n 'Filtrar por status'\n ) : (\n Limpar filtro\n )}\n \n {statusPedidoSelect &&\n statusPedidoSelect.length > 0 &&\n statusPedidoSelect.map((statusPedido) => (\n \n {statusPedido.text}\n \n ))}\n \n \n \n \n \n \n Filtrar por forma de pagamento\n \n {\n setFilters((prev) => ({\n ...prev,\n selectedFormaPagamentoId: event.target.value as string\n }))\n }}\n label=\"Filtrar por forma de pagamento\"\n >\n \n {filters.selectedFormaPagamentoId === '0' ? (\n 'Filtrar por forma de pagamento'\n ) : (\n Limpar filtro\n )}\n \n {formaPagamentoSelect &&\n formaPagamentoSelect.length > 0 &&\n formaPagamentoSelect.map((formaPagamento) => (\n \n {formaPagamento.text}\n \n ))}\n \n \n \n \n \n {\n setSelectedEvento(newValue)\n if (reason === 'clear') {\n setEventoInputValue('')\n history.push(\n `/pedidos/admin?StatusPedidoId=${\n filters.selectedStatusPedidoId\n }&FormaPagamentoId=${\n filters.selectedFormaPagamentoId ? filters.selectedFormaPagamentoId : 0\n }&Term=${filters.textSearch}&DataHoraInicio=${filters.dataHoraInicio\n }&DataHoraFim=${filters.dataHoraFim\n }&EventoId=`\n )\n }\n }}\n getOptionLabel={(evento) =>\n evento.nome &&\n `${evento.nome} ${\n evento.dataHoraInicio\n ? ` - (${toLocalDateFormat(evento.dataHoraInicio)})`\n : ''\n }`\n }\n placeholder=\"Selecione o evento...\"\n onInputChange={(event, newInputValue) => {\n newInputValue !== null\n ? setEventoInputValue(newInputValue)\n : setEventoInputValue('')\n }}\n inputValue={eventoInputValue}\n renderInput={(params) => (\n \n {!isMobile && (\n \n <>\n {isFetchingEvents && (\n \n )}\n {\n setShowPastEvents(event.target.checked)\n }}\n checked={showPastEvents}\n size=\"small\"\n inputProps={{\n 'aria-label': 'Listar eventos encerrados'\n }}\n />\n {\n setShowPastEvents(!showPastEvents)\n }}\n />\n \n \n )}\n {params.InputProps.endAdornment}\n \n )\n }}\n />\n )}\n />\n \n \n \n
    \n \n {filters.textSearch.length >= 1 && (\n <>\n \n \n \n \n \n \n \n )}\n \n \n \n \n \n \n )\n }}\n fullWidth\n //required\n value={filters.textSearch}\n onChange={(event) =>\n handleChangeText && handleChangeText(event.target.value)\n }\n variant=\"outlined\"\n id=\"textForSearch\"\n label=\"Buscar\"\n placeholder=\"Busque por id, nome, email, CPF/CNPJ, username e evento...\"\n />\n \n
    \n
    \n
    \n )\n}\n\nexport default Filters\n","import React, { useEffect, useState } from 'react'\nimport {\n Typography,\n Grid,\n Button,\n ButtonGroup,\n Chip,\n makeStyles,\n useTheme,\n useMediaQuery\n} from '@material-ui/core'\nimport { DatePicker } from '@material-ui/pickers'\nimport {\n format,\n subDays,\n differenceInDays,\n isAfter,\n isBefore,\n endOfDay,\n startOfDay,\n startOfYesterday,\n endOfYesterday\n} from 'date-fns'\nimport CalendarTodayIcon from '@material-ui/icons/CalendarTodayOutlined'\nimport { useLocation } from 'react-router-dom'\n\n//? Own imports\nimport { history } from 'utils'\nimport { useDidMountEffect } from 'utils/useDidMountEffect'\nimport { Evento } from 'types/api'\nimport { useEvents } from 'hooks-querys'\nimport { useSelector } from 'react-redux'\n\ntype ChipType = {\n label: string\n value: string\n}\nconst chipOptions: ChipType[] = [\n { label: 'Hoje', value: '0' },\n { label: 'Ontem', value: '0' },\n { label: '7 dias', value: '7' },\n { label: '30 dias', value: '30' },\n { label: '90 dias', value: '90' },\n { label: '1 ano', value: '365' }\n]\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n dates: {\n [theme.breakpoints.up('md')]: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end'\n },\n [theme.breakpoints.down('sm')]: {\n alignItems: 'center',\n justifyContent: 'center',\n display: 'flex',\n flexWrap: 'wrap',\n '& > *': {\n margin: theme.spacing(0.5),\n marginBottom: theme.spacing(2)\n }\n }\n },\n calendarTodayIcon: {\n marginRight: theme.spacing(1)\n },\n chip: {\n marginRight: theme.spacing(1)\n },\n calendarTodayGroup: {\n [theme.breakpoints.up('md')]: {\n marginLeft: theme.spacing(1)\n },\n [theme.breakpoints.down('sm')]: {\n marginTop: theme.spacing(1)\n }\n }\n}))\n\nfunction useSearchQuery() {\n const { search } = useLocation()\n return React.useMemo(() => new URLSearchParams(search), [search])\n}\n\nconst Header = () => {\n const classes = useStyles()\n const querySearch = useSearchQuery()\n const theme = useTheme()\n const isMobile = useMediaQuery(theme.breakpoints.down('xs'))\n const [selectedEvento, setSelectedEvento] = useState(null)\n const [selectEdge, setSelectEdge] = useState(null)\n const [calendarDate, setCalendarDate] = useState(new Date())\n const [dateRange, setDateRange] = useState({\n startDate: startOfDay(new Date()),\n endDate: endOfDay(new Date()),\n value: '0'\n })\n const [filters, setFilters] = useState({\n textSearch: querySearch.get('Term') || '',\n selectedStatusPedidoId: querySearch.get('StatusPedidoId') || '0',\n selectedFormaPagamentoId: querySearch.get('FormaPagamentoId') || '0',\n dataHoraInicio: querySearch.get('DataHoraInicio') || '',\n dataHoraFim: querySearch.get('DataHoraFim') || '',\n })\n const [showPastEvents, setShowPastEvents] = useState(false)\n const estabelecimentoId = useSelector(\n // @ts-ignore: //ainda não foi tipado o redux state\n (state) => state.usuarioEstabelecimento.estabelecimentoId\n )\n const {\n data: events,\n isLoading: isLoadingEvents,\n isFetching: isFetchingEvents\n } = useEvents(estabelecimentoId, showPastEvents, isMobile)\n\n const runQuery = () => {\n history.push(\n `/pedidos/admin?StatusPedidoId=${\n filters.selectedStatusPedidoId\n }&FormaPagamentoId=${\n filters.selectedFormaPagamentoId\n ? filters.selectedFormaPagamentoId\n : 0\n }&Term=${filters.textSearch\n }&DataHoraInicio=${format(dateRange.startDate, 'yyyy/MM/dd HH:mm:ss')\n }&DataHoraFim=${format(dateRange.endDate, 'yyyy/MM/dd HH:mm:ss')\n }&EventoId=${selectedEvento && selectedEvento.id ? selectedEvento.id : ''}`\n )\n }\n const today = new Date()\n const yesterday = new Date(today)\n yesterday.setDate(yesterday.getDate() - 1)\n\n const handleCalendarOpen = (edge: string) => {\n setSelectEdge(edge as 'start' | 'end')\n }\n\n const handleCalendarChange = (date: Date) => {\n setCalendarDate(date)\n }\n\n const handleCalendarClose = () => {\n setCalendarDate(new Date())\n setSelectEdge(null)\n }\n\n const handleCalendarAccept = (date: Date) => {\n setCalendarDate(new Date())\n\n if (selectEdge === 'start') {\n setDateRange({ ...dateRange, startDate: startOfDay(date) })\n\n if (isAfter(date, dateRange.endDate)) {\n setDateRange({ ...dateRange, endDate: endOfDay(date) })\n }\n } else {\n setDateRange({ ...dateRange, endDate: endOfDay(date) })\n\n if (isBefore(date, dateRange.startDate)) {\n setDateRange({ ...dateRange, startDate: startOfDay(date) })\n }\n }\n\n setFilters((prev) => ({\n ...prev,\n dataHoraInicio: format(dateRange.startDate, 'yyyy/MM/dd HH:mm:ss'),\n dataHoraFim: format(dateRange.endDate, 'yyyy/MM/dd HH:mm:ss')\n }))\n setSelectEdge(null)\n }\n\n const handleRangeChangeChip = (item: ChipType) => {\n if (item.label === 'Ontem') {\n setDateRange({\n startDate: startOfYesterday(),\n endDate: endOfYesterday(),\n value: item.value\n })\n } else {\n setDateRange({\n startDate: startOfDay(subDays(new Date(), Number(item.value))),\n endDate: endOfDay(new Date()),\n value: item.value\n })\n }\n setFilters((prev) => ({\n ...prev,\n dataHoraInicio: format(dateRange.startDate, 'yyyy/MM/dd HH:mm:ss'),\n dataHoraFim: format(dateRange.endDate, 'yyyy/MM/dd HH:mm:ss') }))\n }\n\n const open = Boolean(selectEdge)\n\n useEffect(() => {\n runQuery()\n }, [dateRange.startDate, dateRange.endDate])\n\n useEffect(() => {\n const eventId = querySearch.get('EventoId') || ''\n if (eventId && Number(eventId) > 0) {\n const event =\n events &&\n events.length > 0 &&\n events.find((e) => e.id === Number(eventId))\n if (event) {\n setSelectedEvento(event)\n } else if (selectedEvento === null) {\n setShowPastEvents(!showPastEvents)\n }\n }\n }, [events])\n\n useDidMountEffect(() => {\n const eventId = querySearch.get('EventoId') || ''\n if (eventId && Number(eventId) > 0) {\n const event =\n events &&\n events.length > 0 &&\n events.find((e) => e.id === Number(eventId))\n\n if (event) {\n setSelectedEvento(event)\n }\n } else {\n setSelectedEvento(null)\n }\n\n setFilters((prev) => ({\n ...prev,\n selectedStatusPedidoId: querySearch.get('StatusPedidoId') || '0',\n selectedFormaPagamentoId: querySearch.get('FormaPagamentoId') || '',\n textSearch: querySearch.get('Term') || '',\n dataHoraInicio: querySearch.get('DataHoraInicio') || '',\n dataHoraFim: querySearch.get('DataHoraFim') || ''\n }))\n }, [querySearch])\n\n useDidMountEffect(() => {\n runQuery()\n }, [dateRange.startDate, dateRange.endDate])\n\n return (\n
    \n \n \n \n Gerência de Pedidos\n \n \n Lista de Pedidos\n \n \n \n {chipOptions &&\n chipOptions.length > 0 &&\n chipOptions.map((option) => (\n handleRangeChangeChip(option)}\n color={\n option.value != '0' &&\n differenceInDays(dateRange.endDate, dateRange.startDate) ===\n Number(option.value)\n ? 'primary'\n : (option.label === 'Hoje' &&\n format(dateRange.startDate, 'dd/MM/yyyy') ===\n format(today, 'dd/MM/yyyy')) ||\n (option.label === 'Ontem' &&\n format(dateRange.startDate, 'dd/MM/yyyy') ===\n format(yesterday, 'dd/MM/yyyy') &&\n format(dateRange.endDate, 'dd/MM/yyyy') ===\n format(yesterday, 'dd/MM/yyyy'))\n ? 'primary'\n : 'default'\n }\n />\n ))}\n \n \n \n \n \n \n \n
    \n )\n}\n\nexport default Header\n","import React, { useEffect, useState } from 'react'\nimport { makeStyles } from '@material-ui/core'\n\n//? Own imports\nimport { Page, SkeletonTable } from 'components'\nimport { Filters, TableOrderManagementList, Header } from './components'\nimport { AccessControl } from 'components/Utils'\nimport AccessDenied from 'views/Errors/AccessDenied'\nimport { useOrders } from 'hooks-querys'\nimport { useLocation } from 'react-router-dom'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(3, 2, 2, 2)\n },\n results: {\n marginTop: theme.spacing(3)\n }\n}))\n\nfunction useSearchQuery() {\n const { search } = useLocation()\n return React.useMemo(() => new URLSearchParams(search), [search])\n}\n\nconst OrderManagementList = () => {\n const classes = useStyles()\n const querySearch = useSearchQuery()\n const [filters, setFilters] = useState({\n // page: Number(querySearch.get('page')) || 1,\n textSearch: querySearch.get('Term') || '',\n statusPedidoId: querySearch.get('StatusPedidoId') || '0',\n formaPagamentoId: querySearch.get('FormaPagamentoId') || '0',\n dataHoraInicio: querySearch.get('DataHoraInicio') || '',\n dataHoraFim: querySearch.get('DataHoraFim') || '',\n selectedEvento: querySearch.get('EventoId') || ''\n })\n\n useEffect(() => {\n setFilters({\n // page: Number(querySearch.get('page')) || 1,\n textSearch: querySearch.get('Term') || '',\n statusPedidoId: querySearch.get('StatusPedidoId') || '0',\n formaPagamentoId: querySearch.get('FormaPagamentoId') || '0',\n dataHoraInicio: querySearch.get('DataHoraInicio') || '',\n dataHoraFim: querySearch.get('DataHoraFim') || '',\n selectedEvento: querySearch.get('EventoId') || ''\n })\n }, [querySearch])\n\n const { isLoading, data } = useOrders({\n term: filters.textSearch,\n statusPedidoId: filters.statusPedidoId,\n formaPagamentoId: filters.formaPagamentoId,\n dataHoraInicio: filters.dataHoraInicio,\n dataHoraFim: filters.dataHoraFim,\n eventoId: filters.selectedEvento\n })\n\n return (\n (\n // @ts-ignore\n \n
    \n \n {isLoading ? (\n \n ) : (\n \n )}\n \n )}\n // @ts-ignore\n no={() => }\n />\n )\n}\n\nexport default OrderManagementList\n","import React, { useEffect } from 'react'\nimport {\n Box,\n Grid,\n LinearProgress,\n makeStyles,\n Typography\n} from '@material-ui/core'\nimport { useQueryClient } from 'react-query'\nimport { useParams } from 'react-router-dom'\n\n//? Own imports\nimport { Header, Page } from 'components'\nimport { OrderInfo, OrderItems, OrderTickets } from './components'\nimport { Pedido } from 'types/api'\nimport { useOrder } from 'hooks-querys'\nimport { format } from 'date-fns'\nimport brLocale from 'date-fns/locale/pt-BR'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(3, 2, 2, 2)\n },\n header: {\n marginBottom: theme.spacing(3)\n }\n}))\n\nconst OrderManagementDetails = () => {\n const classes = useStyles()\n //const queryClient = useQueryClient()\n const { pedidoId } = useParams<{ pedidoId: string }>()\n\n //const order = queryClient.getQueryData(['orders']) as Pedido[]\n //const orderItem = order?.find((order) => order.id === Number(pedidoId))\n\n const { data, isFetching, refetch, isLoading, dataUpdatedAt } = useOrder(\n Number(pedidoId),\n undefined\n )\n\n useEffect(() => {\n window.scrollTo({\n top: 0,\n behavior: 'smooth'\n })\n }, [])\n\n return (\n <>\n {isFetching && (\n \n )}\n {data ? (\n // @ts-ignore\n \n \n \n {!isLoading ? (\n \n Última atualização:{' '}\n {format(dataUpdatedAt, \"dd/MM/yyyy 'às' HH:mm:ss\", {\n locale: brLocale\n })}{' '}\n {isFetching ? '(Atualizando...)' : ''}\n \n ) : null}\n \n \n \n \n \n \n \n \n \n \n {data.ingresso && data.ingresso.length > 0 && (\n \n \n \n )}\n \n \n \n \n ) : null}\n \n )\n}\n\nexport default OrderManagementDetails\n","import React from 'react'\nimport { Avatar, Typography, makeStyles } from '@material-ui/core'\n\n//? Own imports\nimport { User } from 'types/api'\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n cover: {\n position: 'relative',\n [theme.breakpoints.down('sm')]: {\n height: 180\n },\n [theme.breakpoints.up('md')]: {\n height: 360\n },\n backgroundSize: 'cover',\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center',\n // filter: 'blur(10px)',\n // webkitFilter: 'blur(10px)',\n // mozFilter: 'blur(10px)',\n // oFilter: 'blur(10px)',\n // msFilter: 'blur(10px)',\n '&:before': {\n position: 'absolute',\n content: '\" \"',\n top: 0,\n left: 0,\n height: '100%',\n width: '100%',\n backgroundImage:\n 'linear-gradient(-180deg, rgba(0,0,0,0.00) 58%, rgba(0,0,0,0.32) 100%)'\n },\n '&:hover': {\n '& $changeButton': {\n visibility: 'visible'\n }\n }\n },\n container: {\n maxWidth: '100%',\n padding: theme.spacing(2, 3),\n position: 'relative',\n display: 'flex',\n flexWrap: 'wrap',\n [theme.breakpoints.down('sm')]: {\n flexDirection: 'column'\n }\n },\n avatar: {\n border: `2px solid ${theme.palette.white}`,\n height: 120,\n width: 120,\n top: -60,\n left: theme.spacing(3),\n position: 'absolute'\n },\n details: {\n marginLeft: 136\n }\n}))\n\ntype HeaderProps = {\n user: User | undefined\n}\nconst Header = ({ user }: HeaderProps) => {\n const classes = useStyles()\n\n return (\n
    \n \n
    \n \n
    \n \n @{user?.username}\n \n \n {user?.nome}\n \n
    \n
    \n
    \n )\n}\n\nexport default Header\n","import React, { useEffect, useState } from 'react'\nimport {\n Modal,\n Card,\n CardContent,\n CardActions,\n Grid,\n Typography,\n Button,\n makeStyles,\n Box,\n MenuItem\n} from '@material-ui/core'\nimport {\n ValidatorForm,\n TextValidator,\n SelectValidator\n} from 'react-material-ui-form-validator'\nimport { KeyboardDatePicker } from '@material-ui/pickers'\nimport { cnpj, cpf } from 'cpf-cnpj-validator'\n\n//? Own imports\nimport { Cidade, Estado, User } from 'types/api'\nimport { cepMask, cpfCnpjMask, phoneMask } from 'utils'\n\ntype UserEditProps = {\n user: User\n open: boolean\n onClose: () => void\n}\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n outline: 'none',\n boxShadow: theme.shadows[20],\n [theme.breakpoints.up('sm')]: {\n borderRadius: '8px',\n webkitBorderRadius: '8px',\n mozBorderRadius: '8px'\n },\n width: 700,\n maxHeight: '100%',\n overflowY: 'auto',\n maxWidth: '100%'\n },\n container: {\n marginTop: theme.spacing(3)\n },\n actions: {\n justifyContent: 'flex-end'\n }\n}))\n\ntype UserEditForm = {\n user: User\n nome: string\n cpfCnpj: string\n apelido?: string\n username: string\n dataNascimento?: Date\n telefone: string\n genero: 'M' | 'F' | 'U'\n cidadeId: number\n cep: string\n endereco: string\n numero: string\n complemento?: string\n bairro: string\n email: string\n}\n\nconst UserEdit = ({ open, onClose, user }: UserEditProps) => {\n const classes = useStyles()\n const [formState, setFormState] = useState({\n nome: user?.nome,\n cpfCnpj: user?.cpfCnpj,\n apelido: user?.apelido,\n username: user?.username,\n dataNascimento: user?.dataNascimento,\n telefone: user?.telefone,\n genero: user?.genero,\n cidadeId: user?.cidadeId,\n cep: user?.cep,\n endereco: user?.endereco,\n numero: user?.numero,\n complemento: user?.complemento,\n bairro: user?.bairro,\n email: user?.email\n })\n\n useEffect(() => {\n ValidatorForm.addValidationRule('isValidCpf', (value) => {\n if (value && value.length <= 14) {\n if (cpf.isValid(value)) {\n return true\n } else {\n return false\n }\n } else {\n return true\n }\n })\n\n ValidatorForm.addValidationRule('isValidCnpj', (value) => {\n if (value && value.length >= 15) {\n if (cnpj.isValid(value)) {\n return true\n } else {\n return false\n }\n } else {\n return true\n }\n })\n ValidatorForm.addValidationRule('isValidPhone', (value) => {\n if (value && value !== null) {\n if (value.length > 0 && value.length < 14) {\n return false\n }\n return true\n }\n return true\n })\n ValidatorForm.addValidationRule('isValidCep', (value) => {\n if (value.length === 9) {\n return true\n } else {\n return false\n }\n })\n return () => {\n ValidatorForm.removeValidationRule('isValidCpf')\n ValidatorForm.removeValidationRule('isValidCnpj')\n ValidatorForm.removeValidationRule('isValidCep')\n ValidatorForm.removeValidationRule('isValidPhone')\n }\n }, [])\n\n const handleFieldChange = (event: React.ChangeEvent) => {\n event.persist()\n setFormState((formState: any) => ({\n ...formState,\n [event.target.name]:\n event.target.type === 'checkbox'\n ? event.target.checked\n : event.target.value\n }))\n }\n\n const handleSave = () => {\n console.log(formState)\n }\n if (!open) {\n return null\n }\n\n return (\n \n \n \n \n \n \n Editar usuário\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n // \n // generateUsername()}\n // >\n // \n // \n // \n // \n // ),\n startAdornment: @\n }}\n // onFocus={() =>\n // (formState.username === '' ||\n // formState.username === null) &&\n // generateUsername()\n // }\n />\n \n \n handleFieldChange}\n InputAdornmentProps={{ position: 'start' }}\n />\n \n \n \n \n \n \n \n Sexo\n \n Masculino\n Feminino\n \n \n \n \n \n \n \n \n Estado *\n \n {/* {undefined !== estados && estados.length\n ? estados.map((row) => (\n \n {row.nome}\n \n ))\n : null} */}\n \n \n \n \n \n Cidade *\n \n {/* {cidades.map((row) => (\n \n {row.nome}\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\nUserEdit.displayName = 'UserEdit'\n\nexport default UserEdit\n","import React, { useState } from 'react'\nimport {\n Card,\n CardHeader,\n CardContent,\n CardActions,\n Button,\n Divider,\n Table,\n TableBody,\n TableRow,\n TableCell,\n colors,\n makeStyles\n} from '@material-ui/core'\nimport EditIcon from '@material-ui/icons/Edit'\n\n//? Own imports\nimport { Label } from 'components'\nimport { UserEdit } from './components'\nimport { cepMask, cpfCnpjMask, getGenderFull, phoneMask } from 'utils'\nimport { User } from 'types/api'\nimport constants from 'theme/constants'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n ...constants.shadowCard\n },\n content: {\n padding: 0\n },\n actions: {\n flexDirection: 'column',\n alignItems: 'flex-start',\n '& > * + *': {\n marginLeft: 0\n }\n },\n label: {\n marginTop: theme.spacing(1)\n }\n}))\n\ntype UserInfoProps = {\n user: User\n}\n\nconst UserInfo = ({ user }: UserInfoProps) => {\n const classes = useStyles()\n const [openEdit, setOpenEdit] = useState(false)\n\n const handleEditOpen = () => {\n setOpenEdit(true)\n }\n\n const handleEditClose = () => {\n setOpenEdit(false)\n }\n\n return (\n \n \n \n \n \n \n \n ID\n #{user?.id}\n \n \n Nome\n {user?.nome}\n \n \n Apelido\n \n {user?.apelido ? user?.apelido : 'Não informado'}\n \n \n \n Nome do usuário\n @{user?.username}\n \n \n CPF/CNPJ\n {cpfCnpjMask(user?.cpfCnpj)}\n \n \n Data de nascimento\n \n {user?.dataNascimento\n ? `${user?.dataNascimento\n .toString()\n .split('-')[2]\n .substring(0, 2)}/${\n user?.dataNascimento.toString().split('-')[1]\n }/${user?.dataNascimento.toString().split('-')[0]}`\n : 'Não informada'}\n \n \n \n Email\n \n {user?.email}\n
    \n \n {user?.emailVerificado\n ? 'Email verificado'\n : 'Email não verificado'}\n \n
    \n
    \n
    \n \n Telefone\n \n {user?.telefone ? phoneMask(user?.telefone) : 'Não informado'}\n {user?.telefone && (\n
    \n \n {user?.telefoneVerificado\n ? 'Telefone verificado'\n : 'Telefone não verificado'}\n \n
    \n )}\n
    \n
    \n \n Género\n {getGenderFull(user?.genero)}\n \n \n Endereço\n \n {user?.endereco\n ? `${user?.endereco}, ${user?.numero}${\n user?.complemento ? `, ${user?.complemento}` : ''\n } - ${user?.bairro} - ${cepMask(user?.cep)}`\n : 'Não informado'}\n \n \n \n Cidade\n \n {user && user.cidade && user?.cidade?.nome} -{' '}\n {user && user.cidade && user?.cidade?.estado?.uf}\n \n \n \n Pais\n \n {user?.cidade?.estado?.pais?.nomePt || 'Não informado'}\n \n \n
    \n
    \n
    \n \n \n \n \n
    \n )\n}\n\nexport default UserInfo\n","import React from 'react'\nimport {\n Card,\n CardContent,\n CardHeader,\n Divider,\n Table,\n TableBody,\n TableCell,\n TableRow,\n colors,\n makeStyles\n} from '@material-ui/core'\nimport { format, formatRelative } from 'date-fns'\nimport brLocale from 'date-fns/locale/pt-BR'\n\n//? Own imports\nimport { Label } from 'components'\nimport { Cidade, Hashtag, User } from 'types/api'\nimport constants from 'theme/constants'\n\nconst useStyles = makeStyles(() => ({\n root: {\n ...constants.shadowCard\n },\n content: {\n padding: 0\n }\n}))\n\ntype ExtraInfoProps = {\n user: User\n}\n\nconst ExtraInfo = ({ user }: ExtraInfoProps) => {\n const classes = useStyles()\n\n const extractedUserHashtag = () => {\n if (user?.usuarioHashtag && user?.usuarioHashtag.length > 0) {\n const extractedUserHashtag: Hashtag[] = []\n user?.usuarioHashtag?.map((usuarioHashtagItem) => {\n extractedUserHashtag.push(usuarioHashtagItem.hashtag)\n })\n return extractedUserHashtag\n }\n return []\n }\n\n const extractedUserCities = () => {\n if (user?.usuarioCidade && user?.usuarioCidade.length > 0) {\n const extractedUserCities: Cidade[] = []\n user?.usuarioCidade?.map((usuarioCidadeItem) => {\n extractedUserCities.push(usuarioCidadeItem.cidade)\n })\n return extractedUserCities\n }\n return []\n }\n\n return (\n \n \n \n \n \n \n \n Tipo de usuário\n \n {user && user?.tipoUsuario && user?.tipoUsuario?.descricao\n ? user?.tipoUsuario?.descricao\n : 'Não identificado'}\n \n \n \n Data de cadastro\n \n {user?.dataHoraCadastro\n ? format(\n new Date(user.dataHoraCadastro),\n \"dd/MM/yyyy 'às' HH:mm:ss\"\n )\n : 'Não informado'}\n \n \n \n Último acesso\n \n {user?.dataHoraUltimoAcesso\n ? format(\n new Date(user.dataHoraUltimoAcesso),\n \"dd/MM/yyyy 'às' HH:mm:ss\"\n )\n : 'Não informado'}{' '}\n

    \n {user?.dataHoraUltimoAcesso &&\n formatRelative(\n new Date(user.dataHoraUltimoAcesso),\n new Date(),\n {\n locale: brLocale\n }\n )}\n
    \n
    \n \n Permite publicidade\n \n
    \n \n {user?.aceiteEmails ? 'SIM' : 'NÃO'}\n \n
    \n
    \n
    \n \n Atividade privadas\n \n
    \n \n {user?.atividadesPrivadas ? 'SIM' : 'NÃO'}\n \n
    \n
    \n
    \n \n Aceite termos de uso\n \n
    \n \n {user?.aceiteTermosUso ? 'SIM' : 'NÃO'}\n \n
    \n
    \n
    \n \n Email vendas\n \n
    \n \n {user?.emailVendas ? 'SIM' : 'NÃO'}\n \n
    \n
    \n
    \n \n Hashtag\n \n {extractedUserHashtag() &&\n extractedUserHashtag().length > 0 &&\n extractedUserHashtag().map((hashtag) =>\n hashtag && hashtag.descricao\n ? `#${hashtag.descricao} `\n : ''\n )}\n \n \n \n Cidades selecionadas\n \n {extractedUserCities &&\n extractedUserCities().length > 0 &&\n extractedUserCities().map((cidade, index) =>\n cidade && cidade.nome\n ? `${cidade.nome} - ${cidade.estado.uf}${\n index < extractedUserCities().length - 1 ? ', ' : ''\n }`\n : ''\n )}\n \n \n \n Dispositivos cadastrados\n {user?.usuarioDispositivo?.length}\n \n \n Total seguidores\n {user?.totalSeguidores}\n \n \n Total seguindo\n {user?.totalSeguindo}\n \n
    \n
    \n
    \n
    \n )\n}\n\nexport default ExtraInfo\n","import React from 'react'\nimport {\n Card,\n CardHeader,\n CardContent,\n Button,\n Divider,\n Typography,\n makeStyles,\n Switch,\n Box\n} from '@material-ui/core'\nimport DeleteIcon from '@material-ui/icons/DeleteOutline'\nimport MailOutlineRoundedIcon from '@material-ui/icons/MailOutlineRounded'\n\n//? Own imports\nimport { User } from 'types/api'\nimport constants from 'theme/constants'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n ...constants.shadowCard\n },\n mainActions: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-start'\n },\n notice: {\n marginTop: theme.spacing(1)\n },\n deleteButton: {\n marginTop: theme.spacing(1),\n color: '#fff',\n backgroundColor: theme.palette.error.main,\n '&:hover': {\n backgroundColor: theme.palette.error.dark\n }\n }\n}))\n\ntype OtherActionsProps = {\n user: User\n}\nconst OtherActions = ({ user }: OtherActionsProps) => {\n const classes = useStyles()\n\n return (\n \n \n \n \n Email verificado\n \n Habilitar ou desabilitar o email verificado.\n \n \n \n \n \n \n \n Remova os dados deste cliente se ele solicitou, se não, por favor\n esteja ciente de que o que for excluído nunca poderá ser recuperado.\n \n \n \n \n )\n}\n\nexport default OtherActions\n","import React, { useState, useEffect } from 'react'\nimport { Grid, makeStyles } from '@material-ui/core'\n\n//? Own imports\nimport { UserInfo, ExtraInfo, OtherActions } from './components'\nimport { User } from 'types/api'\n\nconst useStyles = makeStyles(() => ({\n root: {}\n}))\n\ntype UserInfoProps = {\n user: User | undefined\n}\n\nconst Summary = ({ user }: UserInfoProps) => {\n const classes = useStyles()\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport default Summary\n","import React from 'react'\nimport { makeStyles } from '@material-ui/core'\n\n//? Own imports\nimport { TableOrderManagementList } from 'views/OrderManagementList/components'\nimport { useUserOrders } from 'hooks-querys'\n\nconst useStyles = makeStyles(() => ({\n root: {}\n}))\n\nconst Orders = ({ userId }: { userId: number }) => {\n const classes = useStyles()\n const {\n data: userOrders\n } = useUserOrders(userId)\n\n return (\n
    \n \n
    \n )\n}\n\nexport default Orders\n","import React from 'react'\nimport { Link as RouterLink } from 'react-router-dom'\nimport PerfectScrollbar from 'react-perfect-scrollbar'\nimport {\n Avatar,\n Button,\n Card,\n CardContent,\n CardHeader,\n Divider,\n Input,\n List,\n ListItem,\n ListItemAvatar,\n ListItemText,\n makeStyles,\n colors,\n Box,\n Typography,\n CircularProgress,\n Chip,\n Grid\n} from '@material-ui/core'\nimport SearchIcon from '@material-ui/icons/Search'\nimport PersonAddRoundedIcon from '@material-ui/icons/PersonAddRounded'\nimport PersonAddDisabledRoundedIcon from '@material-ui/icons/PersonAddDisabledRounded'\n\n//? Own Imports\nimport { getInitials, history } from 'utils'\nimport constants from 'theme/constants'\nimport { useUserConnections} from 'hooks-querys'\nimport { UserConnection } from 'types/api'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n ...constants.shadowCard\n },\n content: {\n padding: 0,\n '&:last-child': {\n paddingBottom: 0\n }\n },\n search: {\n padding: theme.spacing(2, 3),\n display: 'flex',\n alignItems: 'center'\n },\n searchIcon: {\n color: theme.palette.text.secondary\n },\n searchInput: {\n marginLeft: theme.spacing(1),\n color: theme.palette.text.secondary,\n fontSize: '14px'\n },\n avatar: {\n height: 60,\n width: 60\n },\n list: {},\n listItem: {\n flexWrap: 'wrap',\n padding: theme.spacing(1, 2)\n },\n listItemText: {\n marginLeft: theme.spacing(2)\n },\n unconnectedButton: {\n marginLeft: 'auto',\n color: '#fff',\n backgroundColor: colors.red[600],\n '&:hover': {\n backgroundColor: colors.red[900]\n },\n cursor: 'default'\n },\n connectedButton: {\n marginLeft: 'auto',\n color: '#fff',\n backgroundColor: colors.green[600],\n '&:hover': {\n backgroundColor: colors.green[900]\n },\n cursor: 'default'\n },\n cardHeaderAction: {\n margin: 'auto'\n }\n}))\n\nconst Connections = ({ userId }: { userId: number }) => {\n const classes = useStyles()\n const [selectedChip, setSelectedChip] = React.useState<\n 'followers' | 'following'\n >('followers')\n const {\n data: userConnections,\n isLoading\n } = useUserConnections(userId, selectedChip)\n\n const getSubheaderText = () => {\n if (isLoading) {\n return 'Carregando...'\n }\n if (userConnections && userConnections.totalRows > 0) {\n switch (selectedChip) {\n case 'followers':\n return `${userConnections?.totalRows} ${\n userConnections?.totalRows === 1 ? 'seguidor' : 'seguidores'\n }`\n case 'following':\n return `seguindo ${userConnections?.totalRows}`\n default:\n return undefined\n }\n } else {\n return 'Nenhuma conexão encontrada.'\n }\n }\n return (\n \n \n \n setSelectedChip('followers')}\n />\n \n \n setSelectedChip('following')}\n />\n \n \n }\n />\n \n
    \n \n \n
    \n \n \n {isLoading ? (\n \n \n \n Carregando dados...\n \n \n \n \n \n \n ) : (\n \n {userConnections && userConnections.totalRows > 0 && (\n \n {userConnections?.items.map((connection: UserConnection) => (\n \n \n \n {getInitials(connection.nome)}\n \n \n \n {!connection.usuarioSegue && (\n }\n >\n Não segue\n \n )}\n {connection.usuarioSegue && selectedChip === 'followers' && (\n }\n >\n Seguindo\n \n )}\n \n ))}\n \n )}\n \n )}\n \n
    \n )\n}\n\nexport default Connections\n","import React from 'react'\nimport { Grid, Typography, makeStyles, Box } from '@material-ui/core'\nimport { Rating } from '@material-ui/lab'\n\n//? Own imports\nimport { ReviewItem } from 'types/api'\nimport constants from 'theme/constants'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n ...constants.shadowCard,\n padding: '1rem',\n backgroundColor: theme.palette.background.paper\n },\n stars: {\n display: 'flex',\n alignItems: 'center'\n },\n rating: {\n marginLeft: theme.spacing(2),\n fontWeight: 'bold'\n }\n}))\n\nconst OverallReviews = ({ reviews }: { reviews: ReviewItem[] }) => {\n const classes = useStyles()\n let rating = 0\n\n if (reviews?.length > 0) {\n rating =\n reviews.reduce((acc, review) => acc + review.nota, 0) /\n reviews.length\n }\n\n return (\n \n \n \n Avaliações no geral\n \n \n \n \n {rating}\n \n \n \n \n {reviews?.length && reviews?.length > 1 ? (\n `${reviews?.length} avaliações no total`)\n : `${reviews?.length} avaliação no total`}\n \n \n \n \n )\n}\n\nexport default OverallReviews\n","import React from 'react'\nimport { Link as RouterLink } from 'react-router-dom'\nimport {\n Avatar,\n Card,\n CardContent,\n CardHeader,\n Link,\n Typography,\n makeStyles\n} from '@material-ui/core'\nimport { Rating } from '@material-ui/lab'\nimport { formatDistance } from 'date-fns'\nimport brLocale from 'date-fns/locale/pt-BR'\n\n//? Own imports\nimport getInitials from 'utils/getInitials'\nimport { Review } from 'types/api'\nimport constants from 'theme/constants'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n ...constants.shadowCard,\n marginTop: theme.spacing(2)\n },\n header: {\n paddingBottom: 0\n },\n subheader: {\n flexWrap: 'wrap',\n display: 'flex',\n alignItems: 'center'\n },\n stars: {\n display: 'flex',\n alignItems: 'center',\n marginRight: theme.spacing(1)\n },\n rating: {\n marginLeft: theme.spacing(1),\n fontWeight: 'bold'\n },\n content: {\n padding: 0,\n '&:last-child': {\n paddingBottom: 0\n }\n },\n message: {\n padding: theme.spacing(2, 3)\n },\n noMessage: {\n padding: theme.spacing(1, 3)\n }\n}))\n\nconst ReviewCard = ({ reviewItem }: { reviewItem: Review }) => {\n const classes = useStyles()\n\n return (\n \n \n {getInitials(reviewItem.usuario?.nome)}\n \n }\n className={classes.header}\n disableTypography\n subheader={\n
    \n
    \n \n \n {reviewItem.nota}\n \n
    \n {reviewItem.evento && (\n \n | Referente ao evento{' '}\n \n {`${reviewItem.evento?.nome} `}\n \n \n )}\n {reviewItem.estabelecimento && (\n \n | Estabelecimento:{' '}\n \n {`${reviewItem.estabelecimento?.nome} `}\n {' '}\n \n )}\n \n {' '}|{' '}\n {formatDistance(\n new Date(reviewItem.dataHora),\n new Date(),\n {\n locale: brLocale,\n addSuffix: true\n }\n )}\n \n
    \n }\n title={\n \n {reviewItem.usuario?.nome}\n \n }\n />\n \n \n \n {reviewItem.mensagem}\n \n \n \n
    \n )\n}\n\nexport default ReviewCard\n","import React, { useState, useEffect } from 'react'\nimport {\n Box,\n CircularProgress,\n makeStyles,\n Typography\n} from '@material-ui/core'\n\n//? Own Imports\nimport { OverallReviews, ReviewCard } from './components'\nimport { useUserReviews } from 'hooks-querys'\nimport { Review } from 'types/api'\n\nconst useStyles = makeStyles((theme) => ({\n root: {}\n}))\n\nconst Reviews = ({ userId }: { userId: number }) => {\n const classes = useStyles()\n const isError = false\n const {\n data: userReviews,\n isLoading\n } = useUserReviews(userId)\n\n return (\n
    \n {isLoading ? (\n \n \n \n Carregando dados...\n \n \n \n \n \n \n ) : (\n <>\n \n {userReviews &&\n userReviews?.map((review: Review) => (\n \n ))}\n \n )}\n
    \n )\n}\n\nexport default Reviews\n","import React from 'react'\nimport PerfectScrollbar from 'react-perfect-scrollbar'\nimport {\n Card,\n CardHeader,\n CardContent,\n Divider,\n Typography,\n Table,\n TableBody,\n TableCell,\n TableRow,\n colors,\n makeStyles,\n TableHead,\n Tooltip,\n Box,\n CircularProgress,\n IconButton,\n Grid\n} from '@material-ui/core'\nimport { format } from 'date-fns'\nimport PrintRoundedIcon from '@material-ui/icons/PrintRounded'\nimport ReactToPrint from 'react-to-print'\n\n//? Own Imports\nimport { Label } from 'components'\nimport constants from 'theme/constants'\nimport { useUserLogs } from 'hooks-querys'\nimport { LogDescritivo } from 'types/api'\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n card: {\n ...constants.shadowCard\n },\n content: {\n padding: 0,\n '&:last-child': {\n paddingBottom: 0\n }\n },\n headCell: {\n padding: theme.spacing(1, 2)\n },\n action: {\n margin: 0\n }\n}))\n\nconst Logs = ({ userId }: { userId: number }) => {\n const classes = useStyles()\n const refTable = React.useRef(null)\n const {\n data: userLogs,\n isLoading\n } = useUserLogs(userId)\n\n return (\n
    \n \n (\n \n \n \n \n \n \n \n \n \n )}\n content={() => refTable.current}\n />\n }\n />\n \n \n {isLoading ? (\n \n \n \n Carregando dados...\n \n \n \n \n \n \n ) : (\n \n \n \n \n \n Tipo\n \n \n Tabela\n \n \n Campo\n \n \n Chave\n \n \n Valor\n \n \n Data e hora\n \n \n \n \n {userLogs.map((log: LogDescritivo) => (\n \n \n \n {log.tipo === 'I'\n ? 'Inclusão'\n : log.tipo === 'A'\n ? 'Alteração'\n : 'Exclusão'}\n \n \n {log.tabela}\n {log.campo}\n {log.chave}\n \n \n {`${log.valorAntigo}`}\n \n \n \n {` → ${log.valorNovo}`}\n \n \n \n \n {format(\n new Date(log.dataHora),\n \"dd/MM/yyyy 'às' HH:mm:ss\"\n )}\n \n \n ))}\n \n
    \n
    \n )}\n
    \n
    \n
    \n )\n}\n\nexport default Logs\n","import React, { ChangeEvent } from 'react'\nimport { Redirect, useParams } from 'react-router-dom'\nimport { Tabs, Tab, Divider, colors, makeStyles } from '@material-ui/core'\n\n//? Own imports\nimport { Page } from 'components'\nimport { Info, Header, Orders, Connections, Reviews, Logs } from './components'\nimport { history } from 'utils'\nimport { User } from 'types/api'\nimport { AccessControl } from 'components/Utils'\nimport AccessDenied from 'views/Errors/AccessDenied'\nimport { useUserInfo } from 'hooks-querys'\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n inner: {\n padding: theme.spacing(3, 2, 2, 2)\n },\n divider: {\n backgroundColor: colors.grey[300]\n },\n content: {\n marginTop: theme.spacing(3)\n }\n}))\n\nconst CustomerManagementDetails = () => {\n const classes = useStyles()\n const { tab, userId } = useParams<{ tab: string; userId: string }>()\n const {\n data: user\n } = useUserInfo(Number(userId))\n\n const handleTabsChange = (_event: ChangeEvent<{}>, value: string) => {\n history.push(value)\n }\n\n const tabs = [\n { value: 'informacoes', label: 'Informações' },\n { value: 'pedidos', label: 'Pedidos' },\n { value: 'conexoes', label: 'Conexões' },\n { value: 'avaliacoes', label: 'Avaliações' },\n { value: 'logs', label: 'Logs' }\n ]\n\n if (!tab) {\n return \n }\n\n if (!tabs.find((t) => t.value === tab)) {\n return \n }\n\n return (\n // @ts-ignore\n (\n \n
    \n
    \n \n {tabs.map((tab) => (\n \n ))}\n \n \n
    \n {tab === 'informacoes' && }\n {tab === 'pedidos' && }\n {tab === 'conexoes' && (\n \n )}\n {tab === 'avaliacoes' && }\n {tab === 'logs' && }\n
    \n
    \n \n )}\n // @ts-ignore\n no={() => }\n />\n )\n}\n\nexport default CustomerManagementDetails\n","import React from 'react'\nimport {\n TableRow,\n TableCell,\n Grid,\n Tooltip,\n IconButton,\n Avatar,\n makeStyles,\n Typography,\n Link\n} from '@material-ui/core'\nimport InfoOutlinedIcon from '@material-ui/icons/InfoOutlined'\nimport { Link as RouterLink } from 'react-router-dom'\n\n//? Own imports\nimport { User } from 'types/api'\nimport { cepMask, cpfCnpjMask, getInitials, phoneMask } from 'utils'\n\nconst useStyles = makeStyles((theme) => ({\n nameCell: {\n display: 'flex',\n alignItems: 'center'\n },\n avatar: {\n height: 42,\n width: 42,\n marginRight: theme.spacing(1)\n }\n}))\n\nconst RowTableUsers = ({ user }: { user: User }) => {\n const classes = useStyles()\n\n return (\n \n \n {user.id}\n \n \n {user && user.nome ? (\n
    \n \n {getInitials(user?.nome)}\n \n
    \n \n {user?.nome}\n \n
    @{user?.username}
    \n
    \n
    \n ) : (\n 'Usuário não encontrado'\n )}\n
    \n \n {cpfCnpjMask(user.cpfCnpj) || 'Não informado'}\n \n {user?.email || 'Não identificado'}\n \n
    \n {`${user?.endereco ? user?.endereco : ''}${\n user?.numero ? `, ${user?.numero}` : ''\n } ${user?.complemento ? ` - ${user?.complemento}` : ''}${\n user?.bairro ? ` - ${user?.bairro}` : ''\n }`}\n
    \n
    {cepMask(user?.cep)}
    \n {user?.cidade ? (\n
    \n {`${user?.cidade?.nome} -\n ${user?.cidade?.estado.uf.toUpperCase()}/${\n user?.cidade?.estado?.pais?.nomePt\n }`}\n
    \n ) : null}\n
    \n \n {phoneMask(user.telefone) || 'Não informado'}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n )\n}\n\nexport default RowTableUsers\n","import React from 'react'\nimport {\n TableBody,\n Table,\n makeStyles,\n TableCell,\n TableContainer,\n TableHead,\n TableRow,\n Paper,\n Typography,\n Toolbar,\n Tooltip,\n IconButton\n} from '@material-ui/core'\nimport PrintRoundedIcon from '@material-ui/icons/PrintRounded'\nimport ReactToPrint from 'react-to-print'\n\n//? Own imports\nimport { User } from 'types/api'\nimport { RowTableUsers } from './components'\nimport constants from 'theme/constants'\n\nconst useStyles = makeStyles((theme) => ({\n table: {\n minWidth: 700\n },\n rootToolbarStyles: {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(1)\n },\n titleToolbarStyles: {\n flex: '1 1 100%'\n },\n paper: {\n width: '100%',\n marginBottom: theme.spacing(2),\n ...constants.shadowCard\n }\n}))\n\nconst TableUsers = ({ users }: { users: User[] }) => {\n const classes = useStyles()\n const refTable = React.useRef(null)\n\n return (\n
    \n \n {users && users.length > 0 ? (\n <>\n Total de dados encontrados: {users.length}\n \n ) : (\n Nenhum dado encontrado.\n )}\n \n {users && users.length > 0 && (\n \n \n \n Lista de usuários\n \n (\n \n \n \n \n \n )}\n content={() => refTable.current}\n />\n \n {/* usado para 'forçar' a orientação da pagina para 'paisagem' afim de imprimir mostrando todos os dados */}\n \n {/* ------------------------------------------------------------>\t */}\n \n {users !== undefined && users.length > 0 && (\n \n \n \n #ID\n Nome\n CPF/CNPJ\n Email\n Localização\n Telefone\n Ações\n \n \n \n {users.map((user) => {\n return \n })}\n \n
    \n )}\n
    \n
    \n )}\n
    \n )\n}\n\nexport default TableUsers\n","import React, { useState } from 'react'\nimport { useLocation } from 'react-router-dom'\nimport {\n Grid,\n makeStyles,\n TextField,\n InputAdornment,\n IconButton,\n Divider,\n Tooltip\n} from '@material-ui/core'\nimport SearchRoundedIcon from '@material-ui/icons/SearchRounded'\nimport CloseIcon from '@material-ui/icons/Close'\n\n//? Own imports\nimport { useDidMountEffect } from 'utils/useDidMountEffect'\nimport { history } from 'utils'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n flexGrow: 1,\n marginTop: theme.spacing(2)\n },\n divider: {\n height: 28,\n margin: 4\n }\n}))\n\nfunction useSearchQuery() {\n const { search } = useLocation()\n return React.useMemo(() => new URLSearchParams(search), [search])\n}\n\nconst Filters = () => {\n const classes = useStyles()\n const querySearch = useSearchQuery()\n const [filters, setFilters] = useState({\n textSearch: querySearch.get('textSearch') || ''\n })\n\n const runQuery = () => {\n history.push(`/usuarios?textSearch=${filters.textSearch}`)\n }\n\n const handleChangeText = (value: string) => {\n setFilters((prev) => ({ ...prev, textSearch: value }))\n }\n\n const handleSubmitSearch = (event: React.FormEvent) => {\n event.preventDefault()\n if (filters.textSearch && filters.textSearch.length > 0) {\n runQuery()\n }\n }\n\n const clearTextSearch = () => {\n setFilters((prev) => ({ ...prev, textSearch: '' }))\n }\n\n useDidMountEffect(() => {\n if (filters.textSearch === '') {\n runQuery()\n }\n }, [filters.textSearch])\n\n useDidMountEffect(() => {\n setFilters((prev) => ({\n ...prev,\n textSearch: querySearch.get('textSearch') || ''\n }))\n }, [querySearch])\n\n return (\n
    \n \n \n
    \n \n {filters.textSearch.length >= 1 && (\n <>\n \n \n \n \n \n \n \n )}\n \n \n \n \n \n \n )\n }}\n fullWidth\n required\n value={filters.textSearch}\n onChange={(event) =>\n handleChangeText && handleChangeText(event.target.value)\n }\n variant=\"outlined\"\n id=\"textForSearch\"\n label=\"Buscar\"\n placeholder=\"Busque por nome, email, CPF/CNPJ ou nome do usuário...\"\n />\n \n
    \n
    \n
    \n )\n}\n\nexport default Filters\n","import React, { useEffect, useState } from 'react'\nimport { Box, LinearProgress, makeStyles, Typography } from '@material-ui/core'\n\n//? Own imports\nimport { AccessControl } from 'components/Utils'\nimport { Header, Page, SkeletonTable } from 'components'\nimport AccessDenied from 'views/Errors/AccessDenied'\nimport { Filters, TableUsers } from './components'\nimport { useUsers } from 'hooks-querys'\nimport { useLocation } from 'react-router-dom'\nimport { User } from 'types/api'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(3, 2, 2, 2)\n },\n header: {\n marginBottom: theme.spacing(4)\n }\n}))\n\nfunction useSearchQuery() {\n const { search } = useLocation()\n return React.useMemo(() => new URLSearchParams(search), [search])\n}\n\nconst CustomerManagementList = () => {\n const classes = useStyles()\n const querySearch = useSearchQuery()\n const [filters, setFilters] = useState({\n // page: Number(querySearch.get('page')) || 1,\n textSearch: querySearch.get('textSearch') || ''\n })\n\n useEffect(() => {\n setFilters({\n // page: Number(querySearch.get('page')) || 1,\n textSearch: querySearch.get('textSearch') || ''\n })\n }, [querySearch])\n\n const { data, isLoading, refetch, isFetching, isSuccess } = useUsers({\n page: 1, // valor fixo para paginação, pois o componente de paginação não está implementado\n direction: 'desc',\n order: '',\n limit: 10000, //limite alto para não haver paginação\n term: filters.textSearch\n })\n return (\n \n (\n <>\n {isFetching && (\n \n )}\n
    \n \n \n {(filters.textSearch === undefined ||\n filters.textSearch.length < 3) && (\n \n \n Digite pelo menos 3 caracteres para iniciar a busca\n \n \n )}\n {isLoading ? (\n \n ) : (\n isSuccess && (\n \n )\n )}\n
    \n \n )}\n // @ts-ignore\n no={() => }\n />\n
    \n )\n}\n\nexport default CustomerManagementList\n","import React, { useState } from 'react'\nimport PropTypes from 'prop-types'\nimport clsx from 'clsx'\nimport {\n Card,\n CardContent,\n CardActions,\n Avatar,\n Typography,\n Button,\n withStyles,\n Divider,\n Tooltip,\n CircularProgress,\n Backdrop,\n Grid\n} from '@material-ui/core'\nimport { withRouter } from 'react-router-dom'\nimport { connect, useDispatch } from 'react-redux'\nimport getInitials from 'utils/getInitials'\nimport ImageUploading from 'react-images-uploading'\nimport { uploadImage } from '_services'\nimport { usuarioAction } from '_actions'\nimport { useSelector } from 'react-redux'\nimport CloudUploadTwoToneIcon from '@material-ui/icons/CloudUploadTwoTone'\nimport { useConfirm } from 'material-ui-confirm'\nimport { errorsUploadImage } from 'utils'\nimport constants from 'theme/constants'\n\nconst styles = (theme) => ({\n root: {},\n paper: {\n ...constants.shadowCard\n },\n content: {\n display: 'flex',\n alignItems: 'center',\n flexDirection: 'column',\n textAlgin: 'center'\n },\n name: {\n marginTop: theme.spacing(1)\n },\n avatar: {\n height: 100,\n width: 100,\n cursor: 'pointer'\n },\n uploadButton: {\n marginRight: theme.spacing(2),\n justifyContent: 'space-between'\n },\n backdrop: {\n zIndex: theme.zIndex.drawer + 1,\n color: '#fff'\n }\n})\n\nconst ProfileDetails = (props) => {\n const { className, ...rest } = props\n const [images, setImages] = useState([])\n const [open, setOpen] = useState(false)\n const usuario = useSelector((state) => state.authentication.user)\n const { classes } = props\n const dispatch = useDispatch()\n const confirm = useConfirm()\n\n const removeImage = () => {\n confirm({\n title: 'Deseja remover a imagem?',\n description: '',\n confirmationText: 'Sim, quero remover!',\n cancellationText: 'Nãããoo!'\n }).then(() => {\n let payload = {\n ...usuario,\n imagem: null\n }\n dispatch(usuarioAction.editUsuarioInfo(usuario.id, payload))\n dispatch(usuarioAction.onChangeProps('imagem', null))\n })\n }\n\n const onChange = (imageList) => {\n // data for submit\n setOpen(true)\n setImages(imageList)\n uploadImage(imageList[0])\n .then((response) => {\n let payload = {\n ...usuario,\n imagem: response\n }\n dispatch(usuarioAction.editUsuarioInfo(usuario.id, payload))\n dispatch(usuarioAction.onChangeProps('imagem', response))\n setOpen(false)\n })\n .catch((err) => {\n console.log(err)\n setOpen(false)\n })\n }\n return (\n
    \n \n \n \n \n \n \n \n Enviando imagem...\n \n \n \n \n errorsUploadImage(errors)}\n value={images}\n onChange={onChange}\n dataURLKey=\"data_url\"\n >\n {({ onImageUpload, isDragging, dragProps }) => (\n // write your building UI\n \n \n {isDragging ? (\n <>\n \n \n Solte a imagem aqui!\n \n \n ) : (\n <>\n \n \n {getInitials(usuario.nome)}\n \n \n \n {usuario.nome}\n \n \n {usuario.tipoUsuario.descricao}\n \n \n {usuario.email}\n \n \n )}\n \n \n \n \n {usuario.imagem !== null && usuario.imagem !== '' && (\n \n )}\n \n \n )}\n \n
    \n )\n}\n\nProfileDetails.propTypes = {\n className: PropTypes.string,\n profile: PropTypes.object.isRequired\n}\n\nconst mapStateToProps = (state) => {\n return {\n usuario: state.authentication.usuario\n }\n}\nconst connectedProfileDetailsPage = withRouter(\n connect(mapStateToProps, null, null, {\n pure: false\n })(withStyles(styles)(ProfileDetails))\n)\nexport default connectedProfileDetailsPage\n","import React, { useState, useEffect } from 'react'\nimport clsx from 'clsx'\nimport PropTypes from 'prop-types'\nimport { makeStyles } from '@material-ui/styles'\nimport { ValidatorForm, TextValidator } from 'react-material-ui-form-validator'\nimport {\n Button,\n Card,\n CardActions,\n CardContent,\n CardHeader,\n Grid,\n Divider,\n CircularProgress\n} from '@material-ui/core'\nimport { useSelector, useDispatch } from 'react-redux'\nimport { usuarioAction } from '_actions'\nimport { phoneMask } from 'utils/masks'\nimport constants from 'theme/constants'\n\nconst useStyles = makeStyles(() => ({\n root: {\n ...constants.shadowCard\n }\n}))\n\nconst GeneralSettings = (props) => {\n const { className, ...rest } = props\n const dispatch = useDispatch()\n const classes = useStyles()\n const usuario = useSelector((state) => state.authentication.user)\n const { loading } = useSelector((state) => state.usuario)\n\n const [values, setValues] = useState({\n nome: '',\n telefone: ''\n })\n const [editable, setEditable] = useState(false)\n\n useEffect(() => {\n ValidatorForm.addValidationRule('isValidPhone', (value) => {\n if (value !== null && value) {\n if (value.length > 0 && value.length < 14) {\n return false\n }\n return true\n }\n return true\n })\n }, [])\n\n useEffect(() => {\n // antes de desmontar o componente\n return () => {\n ValidatorForm.removeValidationRule('isValidPhone')\n }\n }, [])\n\n useEffect(() => {\n setValues({\n ...values,\n nome: usuario.nome,\n telefone: usuario.telefone\n })\n }, [usuario])\n\n const handleChange = (event) => {\n event.persist()\n\n setValues({\n ...values,\n [event.target.name]:\n event.target.type === 'checkbox'\n ? event.target.checked\n : event.target.value\n })\n }\n\n const handleClickEdit = (event) => {\n event.preventDefault()\n setEditable(!editable)\n }\n const handleClickCancel = (event) => {\n event.preventDefault()\n setEditable(!editable)\n setValues({\n ...values,\n nome: usuario.nome,\n telefone: usuario.telefone\n })\n }\n\n const handleSubmit = async (event) => {\n event.preventDefault()\n let payload = {\n ...usuario,\n nome: values.nome,\n telefone:\n values.telefone !== null &&\n values.telefone !== undefined &&\n values.telefone !== ''\n ? values.telefone.replace(/\\D/g, '')\n : values.telefone\n }\n dispatch(usuarioAction.editUsuarioInfo(usuario.id, payload))\n setEditable(false)\n }\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {editable ? (\n <>\n \n \n Cancelar\n \n \n ) : (\n \n )\n }\n >\n {loading ? 'Enviando informações... ' : 'Editar Informações'}\n \n )}\n \n \n \n )\n}\n\nGeneralSettings.propTypes = {\n className: PropTypes.string\n}\n\nexport default GeneralSettings\n","import React from 'react'\nimport clsx from 'clsx'\nimport PropTypes from 'prop-types'\nimport { makeStyles } from '@material-ui/styles'\nimport { Grid } from '@material-ui/core'\nimport { ProfileDetails, GeneralSettings } from './components'\n\nconst useStyles = makeStyles(() => ({\n root: {}\n}))\n\nconst General = (props) => {\n const { className, ...rest } = props\n\n const classes = useStyles()\n return (\n \n \n \n \n \n \n \n \n )\n}\n\nGeneral.propTypes = {\n className: PropTypes.string\n}\n\nexport default General\n","import React, { useEffect, useState } from 'react'\nimport PropTypes from 'prop-types'\nimport clsx from 'clsx'\nimport { makeStyles } from '@material-ui/styles'\nimport {\n Card,\n CardHeader,\n CardContent,\n CardActions,\n Grid,\n FormControlLabel,\n Checkbox,\n Typography,\n Button,\n Divider,\n CircularProgress\n} from '@material-ui/core'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { usuarioAction } from '_actions'\nimport constants from 'theme/constants'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n ...constants.shadowCard\n },\n item: {\n display: 'flex',\n flexDirection: 'column'\n }\n}))\n\nconst Notifications = (props) => {\n const { className, ...rest } = props\n const classes = useStyles()\n const { user } = useSelector((state) => state.authentication)\n const { loading } = useSelector((state) => state.usuario)\n const [emailVendas, setEmailVendas] = useState(user.emailVendas)\n\n useEffect(() => {\n setEmailVendas(user.emailVendas)\n return () => {\n setEmailVendas(user.emailVendas)\n }\n }, [user.emailVendas])\n\n const dispatch = useDispatch()\n const handleSubmit = async () => {\n let payload = {\n ...user,\n emailVendas: emailVendas\n }\n dispatch(usuarioAction.editUsuarioInfo(user.id, payload))\n }\n return (\n \n \n \n \n
    \n \n \n \n Sistema\n \n \n Você receberá notificações informativas do sistema no seu e-mail\n {': '}\n ({user.email})\n \n setEmailVendas(event.target.checked)}\n color=\"primary\"\n checked={emailVendas}\n />\n }\n label=\"Alerta de novas vendas\"\n />\n {/* \n }\n label={\n \n Phone calls\n \n Short voice phone updating you\n \n \n }\n /> */}\n \n {/* \n \n Chat App\n \n \n You will recieve emails in your business email address\n \n \n }\n label=\"Email\"\n />\n }\n label=\"Push notifications\"\n />\n */}\n \n
    \n
    \n \n \n }\n >\n {loading ? 'Salvando...' : 'Salvar alterações'}\n \n \n
    \n )\n}\n\nNotifications.propTypes = {\n className: PropTypes.string\n}\n\nexport default Notifications\n","import React from 'react'\nimport { withRouter, Redirect } from 'react-router-dom'\nimport { connect, useDispatch } from 'react-redux'\nimport PropTypes from 'prop-types'\nimport PersonOutlineRoundedIcon from '@material-ui/icons/PersonOutlineRounded'\nimport PermDataSettingRoundedIcon from '@material-ui/icons/PermDataSettingRounded'\nimport NotificationsNoneRoundedIcon from '@material-ui/icons/NotificationsNoneRounded'\nimport LockRoundedIcon from '@material-ui/icons/LockRounded'\nimport { Tabs, Tab, Divider, colors, withStyles } from '@material-ui/core'\nimport { Header, Page } from 'components'\nimport { General, Parametros, Notifications, Security } from './components'\n\nconst styles = (theme) => ({\n root: {\n padding: theme.spacing(3, 2, 2, 2)\n },\n tabs: {\n marginTop: theme.spacing(3)\n },\n divider: {\n backgroundColor: colors.grey[300]\n },\n content: {\n marginTop: theme.spacing(3)\n }\n})\n\nconst Settings = (props) => {\n const { match, history } = props\n const { classes } = props\n const { tab } = match.params\n\n const handleTabsChange = (event, value) => {\n history.push(value)\n }\n\n const tabs = [\n { value: 'general', label: 'Geral', icon: },\n // {\n // value: 'parameters',\n // label: 'Parâmetros ',\n // icon: \n // },\n {\n value: 'notifications',\n label: 'Notificações',\n icon: \n }\n // { value: 'security', label: 'Segurança', icon: }\n ]\n\n if (!tab) {\n return \n }\n\n if (!tabs.find((t) => t.value === tab)) {\n return \n }\n\n return (\n \n
    \n \n {tabs.map((tab) => (\n \n ))}\n \n \n
    \n {tab === 'general' && }\n {/* {tab === 'parameters' && } */}\n {tab === 'notifications' && }\n {/* {tab === 'security' && } */}\n
    \n \n )\n}\n\nSettings.propTypes = {\n history: PropTypes.object.isRequired,\n match: PropTypes.object.isRequired,\n classes: PropTypes.object.isRequired\n}\nconst mapStateToProps = (state) => {\n return {\n usuario: state.usuario,\n usuarioEstabelecimento: state.usuarioEstabelecimento\n }\n}\nconst connectedSettingsPage = withRouter(\n connect(mapStateToProps, null, null, {\n pure: false\n })(withStyles(styles)(Settings))\n)\nexport { connectedSettingsPage as Settings }\n","import React, { useState } from 'react'\nimport PropTypes from 'prop-types'\nimport clsx from 'clsx'\nimport { makeStyles } from '@material-ui/styles'\nimport {\n Card,\n CardHeader,\n CardContent,\n CardActions,\n Grid,\n Button,\n Divider,\n TextField,\n colors\n} from '@material-ui/core'\n\nconst useStyles = makeStyles((theme) => ({\n root: {}\n}))\n\nconst Security = (props) => {\n const { className, ...rest } = props\n\n const classes = useStyles()\n\n const [values, setValues] = useState({\n password: '',\n confirm: ''\n })\n\n const handleChange = (event) => {\n setValues({\n ...values,\n [event.target.name]: event.target.value\n })\n }\n\n const valid = values.password && values.password === values.confirm\n\n return (\n \n \n \n \n
    \n \n \n \n \n \n \n \n \n
    \n
    \n \n \n \n Salvar mudanças\n \n \n
    \n )\n}\n\nSecurity.propTypes = {\n className: PropTypes.string\n}\n\nexport default Security\n","import React, { Fragment } from 'react'\nimport PropTypes from 'prop-types'\nimport clsx from 'clsx'\nimport { makeStyles } from '@material-ui/styles'\nimport {\n Card,\n CardHeader,\n CardContent,\n CardActions,\n Grid,\n FormControlLabel,\n Checkbox,\n Typography,\n Button,\n Divider\n} from '@material-ui/core'\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n item: {\n display: 'flex',\n flexDirection: 'column'\n }\n}))\n\nconst Parametros = (props) => {\n const { className, ...rest } = props\n\n const classes = useStyles()\n\n return (\n \n \n \n \n
    \n \n \n \n Sistema\n \n \n Você receberá os e-mails do sistema\n \n \n }\n label=\"Alertas de novas vendas\"\n />\n {/* \n }\n label={\n \n Phone calls\n \n Short voice phone updating you\n \n \n }\n /> */}\n \n {/* \n \n Chat App\n \n \n You will recieve emails in your business email address\n \n \n }\n label=\"Email\"\n />\n }\n label=\"Push notifications\"\n />\n */}\n \n
    \n
    \n \n \n \n \n
    \n )\n}\n\nParametros.propTypes = {\n className: PropTypes.string\n}\n\nexport default Parametros\n","import React, { useState } from 'react'\nimport {\n Button,\n CircularProgress,\n Dialog,\n DialogActions,\n DialogContent,\n DialogContentText,\n DialogTitle,\n Grid,\n TextField,\n Typography\n} from '@material-ui/core'\nimport { usuarioAction } from '_actions'\nimport { useDispatch, useSelector } from 'react-redux'\n\nconst ModalRequestPasswordReset = () => {\n const [email, setEmail] = useState()\n const dispatch = useDispatch()\n const { openModalRequestPasswordReset, loading } = useSelector(\n (state) => state.usuario\n )\n const handleChange = (event) => {\n setEmail(event.target.value.toLowerCase())\n }\n const handleClose = () => {\n dispatch(usuarioAction.openModalRequestPasswordReset(false))\n }\n const handleSubmit = (event) => {\n event.preventDefault()\n dispatch(usuarioAction.requestPasswordReset(email))\n }\n return (\n \n \n Recuperação de senha perdida\n \n
    \n \n \n \n Informe o endereço de e-mail utilizado no cadastro para recuperar\n a senha.\n \n \n \n \n \n \n \n \n \n \n }\n >\n {loading\n ? 'Enviando email...'\n : 'Enviar e-mail de recuperação de senha'}\n \n \n \n \n
    \n \n )\n}\n\nexport default ModalRequestPasswordReset\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport {\n CircularProgress,\n Avatar,\n FormControlLabel,\n withStyles,\n Paper,\n Grid,\n Button,\n Box,\n Typography,\n CssBaseline,\n Checkbox,\n Link,\n IconButton\n} from '@material-ui/core'\nimport { connect } from 'react-redux'\nimport LockOutlinedIcon from '@material-ui/icons/LockOutlined'\nimport { authActions, usuarioAction } from '../../_actions'\nimport { history } from '../../utils'\nimport { withRouter } from 'react-router-dom'\nimport KeyboardBackspaceIcon from '@material-ui/icons/KeyboardBackspace'\nimport { ValidatorForm, TextValidator } from 'react-material-ui-form-validator'\nimport LockOpenIcon from '@material-ui/icons/LockOpen'\nimport FacebookLogin from 'react-facebook-login/dist/facebook-login-render-props'\nimport FacebookIcon from '@material-ui/icons/Facebook'\nimport ModalRequestPasswordReset from './ModalRequestPasswordReset'\n\nconst styles = (theme) => ({\n root: {\n height: '100vh'\n },\n image: {\n backgroundImage: `url(/images/img-login.svg)`,\n backgroundRepeat: 'no-repeat',\n backgroundColor:\n theme.palette.type === 'dark'\n ? theme.palette.secondary.dark\n : theme.palette.secondary.main,\n backgroundSize: '40rem',\n backgroundPosition: 'center'\n },\n paper: {\n margin: theme.spacing(8, 4),\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center'\n },\n avatar: {\n margin: theme.spacing(1),\n backgroundColor: theme.palette.secondary.main\n },\n form: {\n width: '100%', // Fix IE 11 issue.\n marginTop: theme.spacing(1)\n },\n submit: {\n margin: theme.spacing(3, 0, 2)\n },\n facebook: {\n margin: theme.spacing(0, 0, 2),\n backgroundColor: '#3b5998',\n '&:hover': {\n backgroundColor: theme.palette.secondary.light\n }\n },\n backButtom: {}\n})\n\nfunction Copyright() {\n return (\n \n {'Copyright © '}\n \n Corujas\n {' '}\n {new Date().getFullYear()}\n {'.'}\n \n )\n}\n\nclass Login extends Component {\n constructor(props) {\n super(props)\n this.state = {\n email: '',\n senha: '',\n showPassword: false,\n submitted: false\n }\n }\n\n componentDidMount() {\n if (localStorage.getItem('auth')) {\n history.push('/home')\n }\n }\n handleChange = (prop) => (event) => {\n if (prop === 'email') {\n this.setState({ [prop]: event.target.value.toLowerCase() })\n } else {\n this.setState({ [prop]: event.target.value })\n }\n }\n\n handleChangeBox = (name) => (event) => {\n this.setState({ ...this.state, [name]: event.target.checked })\n }\n\n handleSubmit = (event) => {\n event.preventDefault()\n const { email, senha } = this.state\n const { dispatch } = this.props\n if (email && senha) {\n dispatch(authActions.login(email, senha))\n }\n }\n\n responseFacebook = (response) => {\n const { dispatch } = this.props\n if (response.accessToken) {\n dispatch(authActions.facebookLogin(response.accessToken, true))\n }\n }\n handleClickopenModalRequestPasswordReset = () => {\n const { dispatch } = this.props\n dispatch(usuarioAction.openModalRequestPasswordReset(true))\n }\n render() {\n const { loggingIn } = this.props\n const { email, senha } = this.state\n const { classes } = this.props\n return (\n \n \n \n \n \n
    \n \n history.goBack()}\n aria-label=\"Voltar\"\n color=\"primary\"\n >\n \n \n \n \n \n \n \n Login\n \n \n \n \n \n \n }\n label=\"Mostrar senha\"\n />\n \n }\n endIcon={loggingIn && }\n >\n {loggingIn ? 'Validando informações... ' : 'Entrar'}\n \n\n (\n }\n endIcon={loggingIn && }\n >\n {loggingIn\n ? 'Validando informações... '\n : 'Entrar com o Facebook'}\n \n )}\n />\n \n \n \n {\n history.push(`/cadastro`)\n }}\n >\n {'Não possui uma conta? Seja nosso parceiro!'}\n \n \n \n \n {'Esqueceu a senha?'}\n \n \n \n \n \n \n
    \n
    \n
    \n )\n }\n}\nLogin.propTypes = {\n classes: PropTypes.object.isRequired\n}\n\nconst mapStateToProps = (state) => {\n const { loggingIn } = state.authentication\n return {\n loggingIn\n }\n}\nconst connectedLoginPage = withRouter(\n connect(mapStateToProps, null, null, {\n pure: false\n })(withStyles(styles)(Login))\n)\nexport { connectedLoginPage as Login }\n","import React, { useEffect } from 'react'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { usuarioAction } from '../../_actions'\n\nconst EmailVerification = (props) => {\n const dispatch = useDispatch()\n const refreshed = useSelector((state) => state.authentication.refreshed)\n const loggedIn = useSelector((state) => state.authentication.loggedIn)\n\n const verificaEmail = () => {\n const query = new URLSearchParams(props.location.search)\n var email = query.toString().substr(6, query.toString().indexOf('&', 0) - 6)\n email = decodeURIComponent(email)\n var token = query\n .toString()\n .substr(\n query.toString().indexOf('token=', 0) + 6,\n query.toString().length - query.toString().indexOf('token=', 0) - 6\n )\n\n let payload = {\n username: decodeURIComponent(email),\n password: 'senha'\n }\n dispatch(usuarioAction.emailVerification(payload, token))\n }\n\n useEffect(() => {\n if (loggedIn) {\n if (refreshed) {\n verificaEmail()\n }\n }\n }, [refreshed])\n\n useEffect(() => {\n if (!loggedIn) {\n verificaEmail()\n }\n }, [])\n\n return <>\n}\nexport default EmailVerification\n","import React, { Component } from 'react'\nimport Button from '@material-ui/core/Button'\nimport CssBaseline from '@material-ui/core/CssBaseline'\nimport PropTypes from 'prop-types'\nimport { withRouter } from 'react-router-dom'\nimport { connect } from 'react-redux'\nimport Paper from '@material-ui/core/Paper'\nimport Grid from '@material-ui/core/Grid'\nimport Typography from '@material-ui/core/Typography'\nimport Container from '@material-ui/core/Container'\nimport IconButton from '@material-ui/core/IconButton'\nimport KeyboardBackspaceIcon from '@material-ui/icons/KeyboardBackspace'\nimport { withStyles } from '@material-ui/core/styles'\nimport { usuarioAction } from '../../_actions'\nimport { ValidatorForm, TextValidator } from 'react-material-ui-form-validator'\nimport { history } from 'utils'\nimport { CircularProgress } from '@material-ui/core'\n\nconst styles = (theme) => ({\n paper: {\n marginTop: theme.spacing(5),\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center'\n },\n avatar: {\n margin: theme.spacing(1),\n backgroundColor: theme.palette.secondary.main,\n width: theme.spacing(9),\n height: theme.spacing(9)\n },\n form: {\n width: '100%', // Fix IE 11 issue.\n marginTop: theme.spacing(3)\n },\n submit: {\n margin: theme.spacing(3, 0, 2),\n color: '#ffffff'\n },\n backButton: {\n marginTop: theme.spacing(1)\n }\n})\n\nclass PasswordReset extends Component {\n state = {\n email: '',\n token: '',\n password: '',\n repeatPassword: ''\n }\n\n componentDidMount() {\n const query = new URLSearchParams(this.props.location.search)\n var email = query.toString().substr(6, query.toString().indexOf('&', 0) - 6)\n this.setState({ email: decodeURIComponent(email) })\n\n var token = query\n .toString()\n .substr(\n query.toString().indexOf('token=', 0) + 6,\n query.toString().length - query.toString().indexOf('token=', 0) - 6\n )\n this.setState({ token: token })\n\n ValidatorForm.addValidationRule('isPasswordMatch', (value) => {\n if (value !== this.state.password) {\n return false\n }\n return true\n })\n }\n\n handleChangePassword = (prop) => (event) => {\n this.setState({ [prop]: event.target.value })\n }\n\n handleChangeRepeatPassword = (prop) => (event) => {\n this.setState({ [prop]: event.target.value })\n }\n\n handleSubmit = (event) => {\n event.preventDefault()\n const { dispatch } = this.props\n let payload = {\n username: this.state.email,\n password: this.state.password\n }\n dispatch(usuarioAction.passwordReset(payload, this.state.token))\n }\n\n render() {\n const { loading } = this.props.usuario\n const { classes } = this.props\n\n return (\n \n \n
    \n \n history.goBack()}\n aria-label=\"Voltar\"\n color=\"primary\"\n >\n \n \n \n \n Informe e confirme a nova senha.\n \n \n \n \n \n \n \n \n \n \n }\n >\n {loading ? 'Enviando informações...' : 'Alterar'}\n \n \n
    \n
    \n )\n }\n}\nPasswordReset.propTypes = {\n classes: PropTypes.object.isRequired\n}\n\nfunction mapStateToProps(state) {\n return state\n}\nconst connectedPasswordResetPage = withRouter(\n connect(mapStateToProps, null, null, {\n pure: false\n })(withStyles(styles)(PasswordReset))\n)\nexport { connectedPasswordResetPage as PasswordReset }\n","import React from 'react'\n// import { makeStyles } from '@material-ui/styles';\nimport { Grid, Typography, Button } from '@material-ui/core'\nimport PropTypes from 'prop-types'\nimport { makeStyles } from '@material-ui/styles'\nimport { history } from '../utils'\nimport clsx from 'clsx'\nimport { AccessControl } from '../components/Utils/AccessControl'\n\nconst useStyles = makeStyles(() => ({\n root: {}\n}))\n\nconst TitleContent = (props) => {\n const { className, ...rest } = props\n const classes = useStyles()\n return (\n
    \n \n \n \n {props.subTitle}\n \n \n {props.title}\n \n \n (\n \n \n history.push(`${props.href}`)}\n >\n NOVO\n \n \n \n )}\n />\n \n

    \n {props.length !== undefined && props.length !== 0 ? (\n \n \n Total de dados encontrados: {props.length}\n \n \n ) : (\n \n {'Nenhum dado encontrado.'}\n \n )}\n
    \n )\n}\n\nTitleContent.propTypes = {\n title: PropTypes.string.isRequired,\n subTitle: PropTypes.string,\n buttonOnClick: PropTypes.object.isRequired,\n rule: PropTypes.string\n}\nexport default TitleContent\n","import React from 'react'\nimport { makeStyles } from '@material-ui/styles'\nimport { Button, Grid, Typography } from '@material-ui/core'\nimport Image from 'material-ui-image'\nimport { history } from 'utils'\nconst useStyles = makeStyles((theme) => ({\n root: {},\n noResultText: {\n paddingTop: theme.spacing(6),\n paddingBottom: theme.spacing(1),\n textAlign: 'center'\n },\n image: { marginTop: theme.spacing(3) },\n button: {\n '&:hover': {\n backgroundColor: theme.palette.primary.main,\n boxShadow: '0 9px 40px -14px #FFC20A',\n webkitTransition: ' all 300ms ease',\n transition: 'all 300ms ease',\n letterSpacing: '1.2px'\n }\n }\n}))\nconst EmptyFirstTiposIngresso = () => {\n const classes = useStyles()\n const handleClickContaBancaria = () => {\n history.push(`/tipoIngresso`) //history.push(`/contaBancaria`)\n }\n return (\n
    \n \n \n \n \n \n \n Você ainda não cadastrou nenhum tipo de ingresso\n \n \n \n \n Cadastrar agora!\n \n \n \n
    \n )\n}\n\nexport default EmptyFirstTiposIngresso\n","import React, { useEffect } from 'react'\nimport { connect, useDispatch } from 'react-redux'\nimport { tipoIngressoAction } from '../../_actions'\nimport PropTypes from 'prop-types'\nimport {\n withStyles,\n Table,\n TableContainer,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Paper,\n IconButton,\n Tooltip\n} from '@material-ui/core'\nimport Skeleton from '@material-ui/lab/Skeleton'\nimport DeleteIcon from '@material-ui/icons/Delete'\nimport EditIcon from '@material-ui/icons/Edit'\nimport { withRouter } from 'react-router-dom'\nimport { history } from '../../utils'\nimport TitleContent from '../TitleContent'\nimport { useConfirm } from 'material-ui-confirm'\nimport { AccessControl } from '../../components/Utils/AccessControl'\nimport { Page } from 'components'\nimport EmptyFirstTiposIngresso from './EmptyFirstTiposIngresso/EmptyFirstTiposIngresso'\nimport constants from 'theme/constants'\n\nconst styles = (theme) => ({\n root: {\n padding: theme.spacing(3, 2, 2, 2)\n },\n paper: {\n ...constants.shadowCard\n }\n})\n\nconst TipoIngresso = (props) => {\n const confirm = useConfirm()\n const dispatch = useDispatch()\n const { classes } = props\n const { tipoIngresso } = props.tipoIngresso\n\n useEffect(() => {\n dispatch(\n tipoIngressoAction.getTipoIngressoByEstabelecimento(\n props.usuarioEstabelecimento.estabelecimentoId\n )\n )\n }, [dispatch, props.usuarioEstabelecimento.estabelecimentoId])\n\n const handleClick = (id) => {\n confirm({\n title: 'Você deseja excluir este Tipo de Ingresso?',\n description:\n 'Confirmando essa operação, você não poderá cadastrar novos lotes com este tipo de ingresso.',\n confirmationText: 'Sim, excluir!',\n cancellationText: 'Nãããoo!'\n }).then(() => {\n dispatch(tipoIngressoAction.deleteTipoIngressoById(id))\n })\n }\n\n return (\n \n (\n
    \n {undefined !== tipoIngresso && tipoIngresso.length > 0 ? (\n \n ) : (\n \n )}\n {!props.tipoIngresso.isLoading ? (\n undefined !== tipoIngresso && tipoIngresso.length > 0 ? (\n \n \n \n \n Descrição\n Ações\n \n \n \n {tipoIngresso.map((n) => {\n return (\n \n \n {n.descricao}\n \n \n (\n \n history.push(`/tipoIngresso/${n.id}`)\n }\n >\n \n \n \n \n )}\n />\n (\n handleClick(n.id)}\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}\nTipoIngresso.propTypes = {\n classes: PropTypes.object.isRequired\n}\nconst mapStateToProps = (state) => {\n return {\n tipoIngresso: state.tipoIngresso,\n usuarioEstabelecimento: state.usuarioEstabelecimento\n }\n}\nconst connectedTipoIngressoPage = withRouter(\n connect(mapStateToProps, null, null, {\n pure: false\n })(withStyles(styles)(TipoIngresso))\n)\nexport { connectedTipoIngressoPage as TipoIngresso }\n","import React, { useEffect } from 'react'\r\nimport { makeStyles } from '@material-ui/styles'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport {\r\n Card,\r\n CardHeader,\r\n CardContent,\r\n CardActions,\r\n Divider,\r\n Button,\r\n Grid,\r\n InputAdornment\r\n} from '@material-ui/core'\r\nimport { useDispatch, useSelector } from 'react-redux'\r\nimport { tipoIngressoAction } from '../../_actions'\r\nimport { history } from '../../utils'\r\nimport { ValidatorForm, TextValidator } from 'react-material-ui-form-validator'\r\nimport { Page } from 'components'\r\nimport constants from 'theme/constants'\r\n\r\nconst MAX_LENGTH = 50\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n padding: theme.spacing(2)\r\n },\r\n paper: {\r\n ...constants.shadowCard\r\n }\r\n}))\r\n\r\nconst TipoIngressoEdit = (props) => {\r\n const dispatch = useDispatch()\r\n const classes = useStyles()\r\n const { tipoIngresso, usuarioEstabelecimento } = useSelector((state) => state)\r\n const {\r\n match: { params }\r\n } = props\r\n\r\n useEffect(() => {\r\n if (params.id) {\r\n dispatch(tipoIngressoAction.getTipoIngressoById(params.id))\r\n }\r\n }, [])\r\n\r\n const handleChange = (prop) => (event) => {\r\n if (event?.target?.value?.length <= MAX_LENGTH) {\r\n dispatch(tipoIngressoAction.onChangeProps(prop, event))\r\n }\r\n }\r\n\r\n const handleSubmit = (event) => {\r\n event.preventDefault()\r\n\r\n let payload = {\r\n id: params.id,\r\n descricao: tipoIngresso.descricao,\r\n estabelecimentoId: usuarioEstabelecimento.estabelecimentoId\r\n }\r\n\r\n if (params.id) {\r\n dispatch(tipoIngressoAction.editTipoIngressoInfo(params.id, payload))\r\n } else {\r\n dispatch(tipoIngressoAction.createTipoIngresso(payload, true))\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {params.id\r\n ? 'Editar Tipo de Ingresso'\r\n : 'Novo Tipo de Ingresso'}\r\n \r\n \r\n }\r\n />\r\n \r\n \r\n \r\n \r\n = MAX_LENGTH\r\n ? 'error'\r\n : undefined\r\n }\r\n >\r\n {tipoIngresso?.descricao?.length}/{MAX_LENGTH}\r\n \r\n \r\n \r\n )\r\n }}\r\n />\r\n \r\n \r\n \r\n history.push('/tipoIngressos')}\r\n color=\"secondary\"\r\n variant=\"outlined\"\r\n >\r\n Cancelar\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default TipoIngressoEdit\r\n","import brLocale from 'date-fns/locale/pt-BR'\r\nimport { format, isSameDay } from 'date-fns'\r\nimport { createDynamicLink } from '_services/firebaseDynamicLinks'\r\nimport toISODateFormat from './toISODateFormat'\r\nimport { Evento, CupomDesconto, Estabelecimento } from '../types/api'\r\n\r\nconst dateFormatted = (dataHoraInicio: string, dataHoraFim: string) => {\r\n if (isSameDay(new Date(dataHoraInicio), new Date(dataHoraFim))) {\r\n return `${format(\r\n new Date(dataHoraInicio),\r\n `eee, d 'de' MMMM 'de' yyyy 'às' H:mm`,\r\n {\r\n locale: brLocale\r\n }\r\n )} até ${format(new Date(dataHoraFim), `H:mm`, {\r\n locale: brLocale\r\n })}`\r\n } else {\r\n return `Começa: ${format(\r\n new Date(dataHoraInicio),\r\n `eee, d 'de' MMMM 'de' yyyy 'às' H:mm`,\r\n {\r\n locale: brLocale\r\n }\r\n )} - Termina: ${format(\r\n new Date(dataHoraFim),\r\n `eee, d 'de' MMMM 'de' yyyy 'às' H:mm`,\r\n {\r\n locale: brLocale\r\n }\r\n )}`\r\n }\r\n}\r\n\r\nexport const onShare = async (event: Evento) => {\r\n if (undefined === event) return\r\n const dynamicLink = await createDynamicLink({\r\n dynamicLinkInfo: {\r\n domainUriPrefix: 'corujas.page.link',\r\n link: `https://corujasapp.com/event-details/${event.id}`,\r\n androidInfo: {\r\n androidPackageName: 'com.quintos.corujas',\r\n androidMinPackageVersionCode: '1'\r\n },\r\n iosInfo: {\r\n iosBundleId: 'com.quintos.corujas',\r\n iosAppStoreId: '1593667736',\r\n iosFallbackLink: `https://corujasapp.com/event-details/${event.id}`\r\n },\r\n navigationInfo: {\r\n enableForcedRedirect: true\r\n },\r\n socialMetaTagInfo: {\r\n socialTitle: !!event && event.nome.toUpperCase(),\r\n socialDescription:\r\n event &&\r\n event.dataHoraInicio &&\r\n dateFormatted(\r\n //@ts-ignore\r\n toISODateFormat(event.dataHoraInicio),\r\n toISODateFormat(event.dataHoraFim)\r\n ),\r\n socialImageLink: !!event && event.imagem\r\n }\r\n },\r\n suffix: {\r\n option: 'SHORT'\r\n }\r\n })\r\n\r\n const link =\r\n // dynamicLink ||\r\n `https://corujasapp.com/event-details/${event.id}`\r\n\r\n return link\r\n}\r\n\r\nexport const shareEventCouponCode = async (\r\n event: Evento,\r\n couponCode: CupomDesconto\r\n) => {\r\n if (undefined === event) return\r\n const dynamicLink = await createDynamicLink({\r\n dynamicLinkInfo: {\r\n domainUriPrefix: 'corujas.page.link',\r\n link: `https://corujasapp.com/event-details/${event.id}?couponCode=${couponCode.codigo}`,\r\n androidInfo: {\r\n androidPackageName: 'com.quintos.corujas',\r\n androidMinPackageVersionCode: '1',\r\n androidFallbackLink: `https://corujasapp.com/event-details/${event.id}?couponCode=${couponCode.codigo}`\r\n },\r\n iosInfo: {\r\n iosBundleId: 'com.quintos.corujas',\r\n iosAppStoreId: '1593667736',\r\n iosFallbackLink: `https://corujasapp.com/event-details/${event.id}?couponCode=${couponCode.codigo}`\r\n },\r\n navigationInfo: {\r\n enableForcedRedirect: true\r\n },\r\n socialMetaTagInfo: {\r\n socialTitle: event?.nome?.toUpperCase() || undefined,\r\n socialDescription:\r\n event?.dataHoraInicio &&\r\n event?.dataHoraFim &&\r\n dateFormatted(\r\n String(event?.dataHoraInicio),\r\n String(event?.dataHoraFim)\r\n ),\r\n socialImageLink: event?.imagem\r\n }\r\n },\r\n suffix: {\r\n option: 'SHORT'\r\n }\r\n })\r\n\r\n const link =\r\n // dynamicLink ||\r\n `https://corujasapp.com/event-details/${event.id}?couponCode=${couponCode.codigo}`\r\n\r\n return link\r\n}\r\n\r\nexport const onShareEstablishment = async (establishment: Estabelecimento) => {\r\n if (undefined === establishment) return\r\n const dynamicLink = await createDynamicLink({\r\n dynamicLinkInfo: {\r\n domainUriPrefix: 'corujas.page.link',\r\n link: `https://corujasapp.com/estabelecimento-profile/${establishment.id}`,\r\n androidInfo: {\r\n androidPackageName: 'com.quintos.corujas',\r\n androidMinPackageVersionCode: '1'\r\n },\r\n iosInfo: {\r\n iosBundleId: 'com.quintos.corujas',\r\n iosAppStoreId: '1593667736',\r\n iosFallbackLink: `https://corujasapp.com/estabelecimento-profile/${establishment.id}`\r\n },\r\n navigationInfo: {\r\n enableForcedRedirect: true\r\n },\r\n socialMetaTagInfo: {\r\n socialTitle: `${establishment.nome.toUpperCase()} (@${\r\n establishment.username\r\n })`,\r\n socialDescription: establishment.detalhes,\r\n socialImageLink: !!establishment && establishment.imagem\r\n }\r\n },\r\n suffix: {\r\n option: 'SHORT'\r\n }\r\n })\r\n const link =\r\n dynamicLink ||\r\n `https://corujasapp.com/estabelecimento-profile/${establishment.id}`\r\n\r\n return link\r\n}\r\n","import React, { useCallback, useEffect, useState } from 'react'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { makeStyles, withStyles } from '@material-ui/core/styles'\nimport Stepper from '@material-ui/core/Stepper'\nimport Step from '@material-ui/core/Step'\nimport StepLabel from '@material-ui/core/StepLabel'\nimport Button from '@material-ui/core/Button'\nimport Typography from '@material-ui/core/Typography'\nimport { eventoAction } from '../../../../_actions'\nimport {\n LoteList,\n LoteEdit,\n EventoEditForm,\n EventoSummary\n} from '../../components'\nimport Grid from '@material-ui/core/Grid'\nimport { history } from '../../../../utils'\nimport { toast } from 'react-toastify'\nimport { toISODateFormat } from 'utils'\nimport { Header, Page } from 'components'\nimport clsx from 'clsx'\nimport PropTypes from 'prop-types'\nimport EventTwoToneIcon from '@material-ui/icons/EventTwoTone'\nimport ConfirmationNumberTwoToneIcon from '@material-ui/icons/ConfirmationNumberTwoTone'\nimport AddToQueueTwoToneIcon from '@material-ui/icons/AddToQueueTwoTone'\nimport StepConnector from '@material-ui/core/StepConnector'\nimport { Box, Paper, StepButton } from '@material-ui/core'\nimport SocialShare from 'components/Share/Share'\nimport { onShare } from 'utils/linkShare'\nimport constants from 'theme/constants'\n\nconst ColorlibConnector = withStyles({\n alternativeLabel: {\n top: 22\n },\n active: {\n '& $line': {\n backgroundImage:\n 'linear-gradient( 95deg,#f7ac52 0%, rgba(225, 194, 10, 0.8) 80%,rgba(3, 5, 23, 1) 100%)'\n }\n },\n completed: {\n '& $line': {\n backgroundImage:\n 'linear-gradient( 95deg,#f7ac52 0%, rgba(225, 194, 10, 0.8) 80%,rgba(3, 5, 23, 1) 100%)'\n }\n },\n line: {\n height: 3,\n border: 0,\n backgroundColor: '#eaeaf0',\n borderRadius: 1\n }\n})(StepConnector)\n\nconst useColorlibStepIconStyles = makeStyles({\n root: {\n backgroundColor: '#ccc',\n zIndex: 1,\n color: '#fff',\n width: 50,\n height: 50,\n display: 'flex',\n borderRadius: '50%',\n justifyContent: 'center',\n alignItems: 'center'\n },\n active: {\n backgroundImage:\n 'linear-gradient( 136deg, #f7ac52 0%, rgba(225, 194, 10, 0.8) 50%, rgba(225, 194, 10, 1) 100%)',\n boxShadow: '0 4px 10px 0 rgba(0,0,0,.25)'\n },\n completed: {\n backgroundImage:\n 'linear-gradient( 136deg, #f7ac52 0%, rgba(225, 194, 10, 0.8) 50%, rgba(225, 194, 10, 1) 100%)'\n }\n})\n\nfunction ColorlibStepIcon(props) {\n const classes = useColorlibStepIconStyles()\n const { active, completed } = props\n\n const icons = {\n 1: ,\n 2: ,\n 3: \n }\n\n return (\n \n {icons[String(props.icon)]}\n \n )\n}\n\nColorlibStepIcon.propTypes = {\n /**\n * Whether this step is active.\n */\n active: PropTypes.bool,\n /**\n * Mark the step as completed. Is passed to child components.\n */\n completed: PropTypes.bool,\n /**\n * The label displayed in the step icon.\n */\n icon: PropTypes.node\n}\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(3, 2, 2, 2)\n },\n paper: {\n ...constants.shadowCard\n },\n header: {\n marginBottom: theme.spacing(3)\n },\n button: {\n display: 'flex',\n justifyContent: 'center'\n },\n backButton: {\n marginRight: theme.spacing(2)\n },\n instructions: {\n textAlign: 'center',\n alignItems: 'center',\n justifyContent: 'center',\n marginTop: theme.spacing(3),\n marginBottom: theme.spacing(1)\n },\n imageGooglePlay: {\n width: '160px',\n height: 'auto'\n },\n imageAppStore: {\n width: '145px',\n height: 'auto'\n },\n containerAppValidate: {\n marginBottom: theme.spacing(3)\n }\n}))\n\nfunction getSteps() {\n return ['Dados do evento', 'Gerenciar lotes', 'Resumo final']\n}\n\nfunction getStepContent(stepIndex) {\n switch (stepIndex) {\n case 0:\n return \n case 1:\n return (\n
    \n \n
    \n )\n case 2:\n return \n default:\n return 'Etapa desconhecida'\n }\n}\n\nconst Steppers = (props) => {\n const classes = useStyles()\n const steps = getSteps()\n const {\n match: { params }\n } = props\n const dispatch = useDispatch()\n const activeStep = useSelector((state) => state.evento.activeStep)\n const evento = useSelector((state) => state.evento)\n const usuarioEstabelecimento = useSelector(\n (state) => state.usuarioEstabelecimento\n )\n const [link, setLink] = useState('')\n\n const generateLink = useCallback(async () => {\n let link = await onShare(evento)\n setLink(link)\n }, [evento])\n\n useEffect(() => {\n if (activeStep === 3) {\n generateLink()\n }\n }, [activeStep, generateLink])\n\n const handleNext = () => {\n if (activeStep === 1) {\n dispatch(eventoAction.setNextStep())\n } else if (activeStep === 2) {\n if (params.id) {\n toast.success(\n 'Feito! Os dados do evento foram alterados com sucesso! 🎉🧡'\n )\n dispatch(eventoAction.setNextStep())\n } else {\n dispatch(eventoAction.createEvento(generatePayload()))\n }\n }\n }\n\n const setActiveStep = (step) => () => {\n dispatch(eventoAction.setStep(step))\n }\n\n const generatePayload = () => {\n let payload = {\n id: evento.id,\n nome: evento.nome,\n imagem: evento.imagem,\n estabelecimentoId: usuarioEstabelecimento.estabelecimentoId,\n detalhes: evento.detalhes,\n dataHoraInicio: toISODateFormat(evento.dataHoraInicio),\n dataHoraFim: toISODateFormat(evento.dataHoraFim),\n categoriaId: evento.categoriaId,\n disponivel: evento.disponivel,\n cidadeId: evento.cidadeId,\n slug: evento.slug,\n endereco: evento.endereco,\n cep: evento.cep,\n bairro: evento.bairro,\n latLon: evento.latLon,\n tipoLocalizacao: evento.tipoLocalizacao,\n nomeLocal: evento.nomeLocal,\n complemento: evento.complemento,\n numero: evento.numero,\n eventoHashtag: evento.eventoHashtag\n }\n if (!params.id) {\n let lote = evento.lote\n lote.forEach((loteItem) => {\n delete loteItem.id\n })\n payload = { ...payload, lote: lote, id: 0 }\n }\n return payload\n }\n\n const handleBack = () => {\n window.scrollTo({\n top: 0,\n behavior: 'smooth'\n })\n if (activeStep === 0) {\n history.push('/eventos')\n } else {\n dispatch(eventoAction.setPrevStep())\n }\n }\n\n const handleReset = () => {\n dispatch(eventoAction.prepareStateToNewEvento())\n }\n\n return (\n \n
    \n
    \n \n 0}\n activeStep={activeStep}\n connector={}\n >\n {steps.map((label, index) => (\n \n 0)}\n onClick={setActiveStep(index)}\n >\n \n {label}\n \n \n \n ))}\n \n
    \n {activeStep === steps.length ? (\n
    \n \n Todos os dados deste evento foram salvos! 😄\n \n \n Compartilhe o link para o evento nas redes sociais!\n {\n navigator.clipboard.writeText(link)\n toast.success(\n 'Link para o evento copiado com sucesso! 🎉',\n {\n autoClose: 4000,\n toastId: 'eventocopiadolink'\n }\n )\n }}\n >\n {link}\n \n \n \n \n \n \n \n \n Para ler os ingressos no dia do evento baixe o nosso app\n validador de ingressos!\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n history.push('/eventos')}\n variant=\"contained\"\n style={{ marginRight: 10 }}\n >\n Ver lista de eventos\n \n \n \n
    \n ) : (\n
    \n {getStepContent(activeStep)}\n \n \n Voltar\n \n \n {activeStep === steps.length - 1\n ? 'Finalizar'\n : activeStep === 0\n ? params.id && params.id > 0\n ? 'Salvar'\n : 'Próxima etapa'\n : 'Revisão final'}\n \n \n
    \n )}\n
    \n
    \n
    \n \n )\n}\nexport default Steppers\n","import React from 'react'\n// import { makeStyles } from '@material-ui/styles';\nimport { Grid, Typography, Button } from '@material-ui/core'\nimport PropTypes from 'prop-types'\nimport { makeStyles } from '@material-ui/styles'\nimport clsx from 'clsx'\nimport { AccessControl } from '../components/Utils/AccessControl'\n\nconst useStyles = makeStyles(() => ({\n root: {}\n}))\n\nconst TitleContentEvent = (props) => {\n const { className, ...rest } = props\n const classes = useStyles()\n return (\n
    \n \n \n \n {props.subTitle}\n \n \n {props.title}\n \n \n (\n \n \n props.onClick}\n >\n NOVO\n \n \n \n )}\n />\n \n

    \n {props.length !== undefined && props.length !== 0 && (\n \n \n Total de dados encontrados: {props.length}\n \n \n )}\n
    \n )\n}\n\nTitleContentEvent.propTypes = {\n title: PropTypes.string.isRequired,\n subTitle: PropTypes.string,\n buttonOnClick: PropTypes.object.isRequired,\n rule: PropTypes.string\n}\nexport default TitleContentEvent\n","import React, { useEffect } from 'react'\nimport { eventoAction } from '../../../../../../_actions'\nimport { useDispatch, useSelector } from 'react-redux'\nimport PropTypes from 'prop-types'\nimport {\n Table,\n TableContainer,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Paper,\n IconButton,\n Tooltip,\n Typography,\n Link\n} from '@material-ui/core'\nimport DeleteIconRoundedIcon from '@material-ui/icons/DeleteRounded'\nimport EditIconRoundedIcon from '@material-ui/icons/EditRounded'\nimport { useConfirm } from 'material-ui-confirm'\nimport FileCopyRoundedIcon from '@material-ui/icons/FileCopyRounded'\nimport EventAvailableTwoToneIcon from '@material-ui/icons/EventAvailableTwoTone'\nimport EventBusyTwoToneIcon from '@material-ui/icons/EventBusyTwoTone'\nimport { history, toLocalDateFormat } from 'utils'\nimport PieChartRoundedIcon from '@material-ui/icons/PieChartRounded'\nimport ShareIcon from '@material-ui/icons/Share'\nimport { makeStyles } from '@material-ui/styles'\nimport { AccessControl } from 'components/Utils/AccessControl'\nimport { MessageData, SkeletonTable } from 'components'\nimport { onShare } from 'utils/linkShare'\nimport { toast } from 'react-toastify'\nimport constants from 'theme/constants'\nimport GroupAddRoundedIcon from '@material-ui/icons/GroupAddRounded'\n\nconst useStyles = makeStyles(() => ({\n root: {\n ...constants.shadowCard\n }\n}))\n\nconst FutureEvents = () => {\n const classes = useStyles()\n const confirm = useConfirm()\n const dispatch = useDispatch()\n const { evento: eventos, isLoading } = useSelector((state) => state.evento)\n const estabelecimentoId = useSelector(\n (state) => state.usuarioEstabelecimento.estabelecimentoId\n )\n\n const handleClickDuplicate = (eventoId) => {\n confirm({\n title: 'Você deseja duplicar esse evento?',\n description: (\n
    \n \n Todos os dados serão copiados e você só precisa realizar as\n alterações necessárias.\n \n \n Obs: O evento só é salvo no final do processo.\n \n
    \n ),\n confirmationText: 'Sim, duplicar!',\n cancellationText: 'Não!'\n }).then(() => {\n dispatch(eventoAction.duplicateEvento(eventoId))\n })\n }\n\n const handleClickEditEvento = (eventoId) => {\n dispatch(eventoAction.prepareStateToEditEvento(eventoId))\n }\n\n const handleClick = (id) => {\n confirm({\n title: 'Você deseja excluir este Evento?',\n description:\n 'Confirmando essa operação, seu evento não aparecerá mais no site da Corujas.',\n confirmationText: 'Sim, excluir!',\n cancellationText: 'Nãããoo!'\n }).then(() => {\n dispatch(eventoAction.deleteEventoById(id))\n })\n }\n\n const handleClickGenerateTicketsToMembers = (eventId) => {\n confirm({\n title:\n 'Você deseja gerar os ingressos, para os membros ativos, para este Evento?',\n confirmationText: 'Sim, gerar!',\n cancellationText: 'Não!'\n }).then(() => {\n dispatch(eventoAction.generateTicketsToMembers(eventId))\n })\n }\n\n useEffect(() => {\n dispatch(eventoAction.getEventoByEstabelecimento(estabelecimentoId, false))\n }, [dispatch, estabelecimentoId])\n\n const handleClickNewEvento = () => {\n dispatch(eventoAction.prepareStateToNewEvento())\n }\n\n return (\n <>\n {isLoading ? (\n \n ) : eventos.length === 0 ? (\n \n ) : (\n \n \n \n \n Nome do evento\n Data de início\n Data de término\n Disponível\n Ações\n \n \n \n {eventos.map((n) => {\n return (\n \n \n \n \n history.push(`/evento/dashboard/${n.id}`, null)\n }\n >\n {n.nome}\n \n \n \n \n {toLocalDateFormat(n.dataHoraInicio)}\n \n \n {toLocalDateFormat(n.dataHoraFim)}\n \n \n {n.disponivel ? (\n \n ) : (\n \n )}\n \n\n \n (\n \n \n handleClickGenerateTicketsToMembers(n.id)\n }\n >\n \n \n \n )}\n />\n \n history.push(`/evento/dashboard/${n.id}`, null)\n }\n >\n \n \n \n \n {\n const link = await onShare({\n ...n,\n dataHoraInicio: toLocalDateFormat(n.dataHoraInicio),\n dataHoraFim: toLocalDateFormat(n.dataHoraFim)\n })\n navigator.clipboard.writeText(link)\n toast.success(\n 'Link para o evento copiado com sucesso! 🎉',\n {\n autoClose: 4000\n }\n )\n }}\n >\n \n \n \n \n (\n \n handleClickDuplicate(n.id)}\n >\n \n \n \n )}\n />\n (\n handleClickEditEvento(n.id)}\n >\n \n \n \n \n )}\n />\n (\n handleClick(n.id)}\n >\n \n \n \n \n )}\n />\n \n \n )\n })}\n \n
    \n
    \n )}\n \n )\n}\n\nFutureEvents.propTypes = {\n className: PropTypes.string\n}\n\nexport default FutureEvents\n","import React, { useEffect } from 'react'\nimport { eventoAction } from '../../../../../../_actions'\nimport { useDispatch, useSelector } from 'react-redux'\nimport PropTypes from 'prop-types'\nimport {\n Table,\n TableContainer,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Paper,\n IconButton,\n Tooltip,\n Typography,\n Link\n} from '@material-ui/core'\nimport { useConfirm } from 'material-ui-confirm'\nimport FileCopyRoundedIcon from '@material-ui/icons/FileCopyRounded'\nimport { history, toLocalDateFormat } from 'utils'\nimport PieChartRoundedIcon from '@material-ui/icons/PieChartRounded'\nimport { makeStyles } from '@material-ui/styles'\nimport { AccessControl } from 'components/Utils/AccessControl'\nimport { MessageData, SkeletonTable } from 'components'\nimport constants from 'theme/constants'\nimport AddPhotoAlternateRoundedIcon from '@material-ui/icons/AddPhotoAlternateRounded'\n\nconst useStyles = makeStyles(() => ({\n root: {\n ...constants.shadowCard\n }\n}))\n\nconst PastEvents = () => {\n const classes = useStyles()\n const confirm = useConfirm()\n const dispatch = useDispatch()\n const { evento: eventos, isLoading } = useSelector((state) => state.evento)\n const estabelecimentoId = useSelector(\n (state) => state.usuarioEstabelecimento.estabelecimentoId\n )\n\n const handleClickDuplicate = (eventoId) => {\n confirm({\n title: 'Você deseja duplicar esse evento?',\n description: (\n
    \n \n Todos os dados serão copiados e você só precisa realizar as\n alterações necessárias.\n \n \n Obs: O evento só é salvo no final do processo.\n \n
    \n ),\n confirmationText: 'Sim, duplicar!',\n cancellationText: 'Não!'\n }).then(() => {\n dispatch(eventoAction.duplicateEvento(eventoId))\n })\n }\n\n useEffect(() => {\n dispatch(eventoAction.getEventoByEstabelecimento(estabelecimentoId, true))\n }, [dispatch, estabelecimentoId])\n\n const handleClickNewEvento = () => {\n dispatch(eventoAction.prepareStateToNewEvento())\n }\n\n return (\n <>\n {isLoading ? (\n \n ) : eventos.length === 0 ? (\n \n ) : (\n \n \n \n \n Nome do evento\n Data de início\n Data de término\n Ações\n \n \n \n {eventos.map((n) => {\n return (\n \n \n \n \n history.push(`/evento/dashboard/${n.id}`, null)\n }\n >\n {n.nome}\n \n \n \n \n {toLocalDateFormat(n.dataHoraInicio)}\n \n \n {toLocalDateFormat(n.dataHoraFim)}\n \n \n \n history.push(\n `/photoAlbum/cadastro/evento/${n.id}`,\n null\n )\n }\n >\n \n \n \n \n \n history.push(`/evento/dashboard/${n.id}`, null)\n }\n >\n \n \n \n \n (\n \n handleClickDuplicate(n.id)}\n >\n \n \n \n )}\n />\n \n \n )\n })}\n \n
    \n
    \n )}\n \n )\n}\n\nPastEvents.propTypes = {\n className: PropTypes.string\n}\n\nexport default PastEvents\n","import React from 'react'\nimport { eventoAction } from '../../../../_actions'\nimport { connect, useDispatch, useSelector } from 'react-redux'\nimport PropTypes from 'prop-types'\nimport { Tabs, Tab, useMediaQuery, useTheme } from '@material-ui/core'\nimport { Redirect } from 'react-router-dom'\nimport { withStyles } from '@material-ui/core/styles'\nimport { withRouter } from 'react-router-dom'\nimport TitleContentEvent from '../../../TitleContentEvent'\nimport EventAvailableTwoToneIcon from '@material-ui/icons/EventAvailableTwoTone'\nimport EventTwoToneIcon from '@material-ui/icons/EventTwoTone'\nimport { Page } from 'components'\nimport { FutureEvents, PastEvents } from './components'\n\nconst styles = (theme) => ({\n root: {\n padding: theme.spacing(3, 2, 2, 2)\n },\n tabs: { marginBottom: theme.spacing(4) }\n})\n\nconst EventoList = (props) => {\n const dispatch = useDispatch()\n const { classes, match, history } = props\n const { tab } = match.params\n const theme = useTheme()\n const isMobile = useMediaQuery(theme.breakpoints.down('xs'))\n const { evento: events } = useSelector((state) => state.evento)\n\n const handleClickNewEvento = () => {\n dispatch(eventoAction.prepareStateToNewEvento())\n }\n\n const handleTabsChange = (event, value) => {\n history.push(value)\n }\n\n const tabs = [\n {\n value: 'futureEvents',\n label: 'Eventos Futuros',\n icon: \n }\n ]\n {\n tabs.push({\n value: 'pastEvents',\n label: 'Eventos Realizados',\n icon: \n })\n }\n\n if (!tab) {\n return \n }\n\n if (!tabs.find((t) => t.value === tab)) {\n return \n }\n\n return (\n \n {undefined !== events && events.length > 0 ? (\n \n ) : (\n \n )}\n \n {tabs.map((tab) => (\n \n ))}\n \n
    \n {tab === 'futureEvents' && }\n {tab === 'pastEvents' && }\n
    \n
    \n )\n}\n\nEventoList.propTypes = {\n history: PropTypes.object.isRequired,\n match: PropTypes.object.isRequired,\n classes: PropTypes.object.isRequired\n}\n\nconst connectedEventoPage = withRouter(\n connect(null, null, null, {\n pure: false\n })(withStyles(styles)(EventoList))\n)\n\nexport { connectedEventoPage as EventoList }\n","import React from 'react'\r\nimport Table from '@material-ui/core/Table'\r\nimport Tooltip from '@material-ui/core/Tooltip'\r\nimport TableBody from '@material-ui/core/TableBody'\r\nimport TableCell from '@material-ui/core/TableCell'\r\nimport TableContainer from '@material-ui/core/TableContainer'\r\nimport TableHead from '@material-ui/core/TableHead'\r\nimport TableRow from '@material-ui/core/TableRow'\r\nimport Paper from '@material-ui/core/Paper'\r\nimport PropTypes from 'prop-types'\r\nimport { withStyles } from '@material-ui/core/styles'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport { Grid, useTheme } from '@material-ui/core'\r\nimport EventAvailableTwoToneIcon from '@material-ui/icons/EventAvailableTwoTone'\r\nimport EventBusyTwoToneIcon from '@material-ui/icons/EventBusyTwoTone'\r\nimport { connect, useDispatch, useSelector } from 'react-redux'\r\nimport { loteAction, eventoAction } from '_actions'\r\nimport { useParams, withRouter } from 'react-router-dom'\r\nimport {\r\n Delete as DeleteIcon,\r\n Edit as EditIcon,\r\n ControlPointDuplicate as ControlPointDuplicateIcon\r\n} from '@material-ui/icons'\r\nimport IconButton from '@material-ui/core/IconButton'\r\nimport CheckRoundedIcon from '@material-ui/icons/CheckRounded'\r\nimport CloseRoundedIcon from '@material-ui/icons/CloseRounded'\r\nimport { useConfirm } from 'material-ui-confirm'\r\nimport { toLocalDateFormat } from 'utils'\r\nimport constants from 'theme/constants'\r\nimport { AccessControl } from 'components/Utils'\r\nimport { useQueryClient } from 'react-query'\r\n\r\nconst styles = (theme) => ({\r\n root: {\r\n padding: theme.spacing(2, 0, 4, 0)\r\n },\r\n paper: {\r\n ...constants.shadowCard\r\n }\r\n})\r\n\r\nconst LoteList = (props) => {\r\n const queryClient = useQueryClient()\r\n const confirm = useConfirm()\r\n const dispatch = useDispatch()\r\n const { estabelecimentoId } = useSelector((state) => state.evento)\r\n const { classes } = props\r\n let { id } = useParams()\r\n const theme = useTheme()\r\n const convertGenero = (genero) => {\r\n switch (genero) {\r\n case 'M':\r\n return 'Masculino'\r\n case 'F':\r\n return 'Feminino'\r\n case 'U':\r\n return 'Unissex'\r\n default:\r\n return ''\r\n }\r\n }\r\n\r\n const findDescricaoTipoIngresso = (id) => {\r\n if (props.tipoIngresso && props.tipoIngresso.length > 0) {\r\n var item = props.tipoIngresso.find((item) => item.id === id)\r\n return item && item.descricao ? item.descricao : ''\r\n } else {\r\n return null\r\n }\r\n }\r\n\r\n const handleClickEdit = (lote) => {\r\n dispatch(loteAction.editLotesDetails(lote))\r\n window.scrollTo({\r\n top: 0,\r\n behavior: 'smooth'\r\n })\r\n }\r\n\r\n const handleClickDuplicate = (lote) => {\r\n dispatch(loteAction.editLotesDetails({ ...lote, id: 0 }))\r\n window.scrollTo({\r\n top: 0,\r\n behavior: 'smooth'\r\n })\r\n }\r\n\r\n const handleClickDelete = (loteId) => {\r\n confirm({\r\n title: 'Você deseja excluir este Lote?',\r\n description:\r\n 'Confirmando essa operação, este lote não aparecerá mais no site da Corujas.',\r\n confirmationText: 'Sim, excluir!',\r\n cancellationText: 'Nãããoo!'\r\n }).then(() => {\r\n if (id) {\r\n dispatch(loteAction.deleteLoteById(loteId, id))\r\n } else {\r\n dispatch(eventoAction.deleteLoteLocaleById(loteId))\r\n }\r\n })\r\n }\r\n\r\n // Retornar nome do Plano\r\n const getPlanNameById = (planId) => {\r\n const plans = queryClient.getQueryData([\r\n 'establishmentPlansSelect',\r\n estabelecimentoId\r\n ])\r\n\r\n if (!plans || !Array.isArray(plans)) {\r\n console.error('Plans data is not available or invalid:', plans)\r\n return ''\r\n }\r\n\r\n const plan = plans.find((plan) => plan?.id === planId)\r\n\r\n return plan?.text || ''\r\n }\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n {'Lista de Lotes'}\r\n \r\n \r\n {props.lote.length !== 0 ? (\r\n \r\n \r\n Total de Lotes encontrados: {props.lote.length}\r\n \r\n \r\n ) : null}\r\n \r\n {props.lote.length !== 0 ? (\r\n \r\n \r\n \r\n \r\n \r\n Descrição - Tipo Ingresso\r\n \r\n Sexo\r\n Valor (R$)\r\n Repassar Taxa\r\n Quantidade\r\n Limite Quantidade\r\n Data Início\r\n Data Término\r\n Disponível\r\n Check-In}\r\n />\r\n {props.actions ? (\r\n Ações\r\n ) : null}\r\n \r\n \r\n \r\n {props.lote.map((row) => {\r\n if (row.excluido === true) {\r\n return null\r\n } else {\r\n return (\r\n \r\n \r\n {row.descricao}\r\n {' - '}\r\n {id\r\n ? row.tipoIngresso.descricao\r\n : findDescricaoTipoIngresso(row.tipoIngressoId)}\r\n \r\n \r\n {row.genero ? (\r\n \r\n {row.genero.toUpperCase()}\r\n \r\n ) : (\r\n \r\n {'-'}\r\n \r\n )}\r\n \r\n \r\n {row.valor === 0\r\n ? 'Gratuito'\r\n : Intl.NumberFormat('pt-BR', {\r\n style: 'currency',\r\n currency: 'BRL'\r\n }).format(row.valor)}\r\n \r\n \r\n {row.valor === 0 ? (\r\n 'Não possui taxa'\r\n ) : row.repassarTaxa === true ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n {row.quantidade}\r\n \r\n {!row.limiteQuantidadePedido\r\n ? '-'\r\n : row.limiteQuantidadePedido}\r\n \r\n \r\n {toLocalDateFormat(row.dataHoraInicio)}\r\n \r\n \r\n {toLocalDateFormat(row.dataHoraTermino)}\r\n \r\n\r\n \r\n {row.disponivel ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n\r\n (\r\n \r\n {row.checkIn ? (\r\n \r\n \r\n \r\n ) : (\r\n '-'\r\n )}\r\n \r\n )}\r\n />\r\n\r\n {props.actions ? (\r\n \r\n \r\n handleClickDuplicate(row)}\r\n >\r\n \r\n \r\n \r\n \r\n handleClickEdit(row)}\r\n >\r\n \r\n \r\n \r\n \r\n handleClickDelete(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n )\r\n }\r\n })}\r\n \r\n
    \r\n
    \r\n ) : (\r\n \r\n {'Nenhum Lote encontrado!'}\r\n \r\n )}\r\n
    \r\n )\r\n}\r\nLoteList.propTypes = {\r\n classes: PropTypes.object.isRequired\r\n}\r\nconst mapStateToProps = (state) => {\r\n return {\r\n lote: state.evento.lote,\r\n tipoIngresso: state.tipoIngresso.tipoIngresso\r\n }\r\n}\r\n\r\nconst connectedLoteListPage = withRouter(\r\n connect(mapStateToProps, null, null, {\r\n pure: false\r\n })(withStyles(styles)(LoteList))\r\n)\r\nexport { connectedLoteListPage as LoteList }\r\n","import React from 'react'\r\nimport {\r\n Button,\r\n Dialog,\r\n DialogActions,\r\n DialogContent,\r\n DialogContentText,\r\n DialogTitle,\r\n InputAdornment,\r\n TextField,\r\n Typography\r\n} from '@material-ui/core'\r\nimport { useDispatch, useSelector } from 'react-redux'\r\nimport { loteAction, tipoIngressoAction } from '_actions'\r\n\r\nconst MAX_LENGTH = 50\r\n\r\nconst ModalAddTipoDeIngresso = () => {\r\n const dispatch = useDispatch()\r\n const { tipoIngresso, usuarioEstabelecimento } = useSelector((state) => state)\r\n const open = useSelector((state) => state.lote.openModalTipoDeIngresso)\r\n\r\n const handleClose = () => {\r\n dispatch(loteAction.openModalTipoDeIngresso(false))\r\n }\r\n const handleChange = (prop) => (event) => {\r\n if (event?.target?.value?.length <= MAX_LENGTH) {\r\n dispatch(tipoIngressoAction.onChangeProps(prop, event))\r\n }\r\n }\r\n const handleSubmit = (event) => {\r\n event.preventDefault()\r\n let payload = {\r\n id: 0,\r\n descricao: tipoIngresso.descricao,\r\n estabelecimentoId: usuarioEstabelecimento.estabelecimentoId\r\n }\r\n dispatch(tipoIngressoAction.createTipoIngresso(payload))\r\n dispatch(loteAction.openModalTipoDeIngresso(false))\r\n }\r\n\r\n return (\r\n \r\n \r\n Adicionar novo Tipo de Ingresso\r\n \r\n
    \r\n \r\n \r\n \r\n Entre com a descrição do Tipo de Ingresso\r\n \r\n \r\n Ex: Pista, Camarote, VIP... Passaporte completo, etc.\r\n \r\n \r\n \r\n \r\n = MAX_LENGTH\r\n ? 'error'\r\n : undefined\r\n }\r\n >\r\n {tipoIngresso?.descricao?.length}/{MAX_LENGTH}\r\n \r\n \r\n \r\n )\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n )\r\n}\r\n\r\nexport default ModalAddTipoDeIngresso\r\n","import React, { useEffect, useState } from 'react'\r\nimport { loteAction, eventoAction, tipoIngressoAction } from '_actions'\r\nimport MenuItem from '@material-ui/core/MenuItem'\r\nimport { toISODateFormat, validateDatesLote } from 'utils'\r\nimport AddCircleTwoToneIcon from '@material-ui/icons/AddCircleTwoTone'\r\nimport {\r\n ValidatorForm,\r\n TextValidator,\r\n SelectValidator\r\n} from 'react-material-ui-form-validator'\r\nimport {\r\n Card,\r\n CardHeader,\r\n CardContent,\r\n CardActions,\r\n Divider,\r\n Grid,\r\n Button,\r\n FormControlLabel,\r\n makeStyles,\r\n InputAdornment,\r\n Chip,\r\n Switch,\r\n Tooltip,\r\n FormControl,\r\n InputLabel,\r\n Select,\r\n Typography,\r\n Box\r\n} from '@material-ui/core'\r\nimport { uniqueId } from 'lodash'\r\nimport { HelperToolTip, ValidatedDatePicker } from 'components'\r\nimport { toast } from 'react-toastify'\r\nimport { isValid } from 'date-fns'\r\nimport { ModalAddTipoDeIngresso } from './components'\r\nimport { useSelector, useDispatch } from 'react-redux'\r\nimport { useParams } from 'react-router-dom'\r\nimport constants from 'theme/constants'\r\nimport { colors } from 'material-ui/styles'\r\nimport { useEstablishmentPlansSelect } from 'hooks-querys'\r\nimport { AccessControl } from 'components/Utils'\r\n\r\nconst LOTE_DESCRICAO_MAX_LENGTH = 50\r\n\r\nconst drawerWidth = 240\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n padding: theme.spacing(4, 0, 0, 0)\r\n },\r\n contentRoot: {\r\n ...theme.mixins.gutters(),\r\n paddingTop: theme.spacing.unit * 2,\r\n paddingBottom: theme.spacing.unit * 2\r\n },\r\n paper: {\r\n ...constants.shadowCard\r\n },\r\n drawerPaper: {\r\n position: 'relative',\r\n width: drawerWidth\r\n },\r\n backButton: {\r\n marginRight: theme.spacing(1)\r\n },\r\n button: {\r\n display: 'flex',\r\n justifyContent: 'flex-end',\r\n padding: theme.spacing(1)\r\n },\r\n margin: {\r\n '& > *': {\r\n marginRight: theme.spacing(1)\r\n }\r\n },\r\n input: {\r\n display: 'flex'\r\n }\r\n}))\r\nconst LoteEdit = () => {\r\n const { lote, usuarioEstabelecimento } = useSelector((state) => state)\r\n const { tipoIngresso } = useSelector((state) => state.tipoIngresso)\r\n const repassarTaxaEstabelecimento = useSelector(\r\n (state) => state.estabelecimento.repassarTaxa\r\n )\r\n const dispatch = useDispatch()\r\n const classes = useStyles()\r\n let { id } = useParams()\r\n const estabelecimentoId = useSelector(\r\n // @ts-ignore: //ainda não foi tipado o redux state\r\n (state) => state.usuarioEstabelecimento.estabelecimentoId\r\n )\r\n const {\r\n isLoading: isLoadingPlans,\r\n data: plans\r\n } = useEstablishmentPlansSelect(estabelecimentoId)\r\n\r\n const handleChange = (prop) => (event) => {\r\n if (prop === 'descricao') {\r\n if (event?.target?.value?.length <= LOTE_DESCRICAO_MAX_LENGTH) {\r\n dispatch(loteAction.onChangeProps(prop, event))\r\n }\r\n } else if (prop == 'checkIn') {\r\n // handleSwitchValor()\r\n if (lote.checkIn == false) {\r\n lote.valor = 0\r\n } else if (lote.checkIn == true) {\r\n lote.planoId = null\r\n lote.valor = ''\r\n }\r\n }\r\n dispatch(loteAction.onChangeProps(prop, event))\r\n }\r\n const handleSwitchValor = (event) => {\r\n dispatch(loteAction.onSwitchValor(event))\r\n }\r\n const setRepassarTaxaDefault = (repassarTaxaEstabecimento) => {\r\n dispatch(\r\n loteAction.setRepassarTaxaByEstabelecimento(repassarTaxaEstabecimento)\r\n )\r\n }\r\n\r\n const handleChangeData = (prop, newValue) => {\r\n dispatch(loteAction.onChangeData(prop, newValue))\r\n }\r\n const handleClickOpenModalAddTipoDeIngresso = () => {\r\n dispatch(loteAction.openModalTipoDeIngresso(true))\r\n }\r\n useEffect(() => {\r\n window.scrollTo({\r\n top: 0,\r\n behavior: 'smooth'\r\n })\r\n ValidatorForm.addValidationRule('isValidDate', (value) => {\r\n if (value !== undefined && value !== null) {\r\n return isValid(new Date(toISODateFormat(value)))\r\n } else {\r\n return true\r\n }\r\n })\r\n }, [])\r\n\r\n useEffect(() => {\r\n return () => {\r\n ValidatorForm.removeValidationRule('isValidDate')\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n dispatch(\r\n tipoIngressoAction.getTipoIngressoByEstabelecimento(\r\n usuarioEstabelecimento.estabelecimentoId\r\n )\r\n )\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (!lote.id) {\r\n setRepassarTaxaDefault(repassarTaxaEstabelecimento)\r\n }\r\n }, [lote.id, repassarTaxaEstabelecimento])\r\n\r\n const clear = () => {\r\n dispatch(loteAction.clear(repassarTaxaEstabelecimento))\r\n }\r\n\r\n const add = () => {\r\n if (\r\n !validateDatesLote(lote.dataHoraInicio, lote.dataHoraTermino, lote.id)\r\n ) {\r\n toast.error('Opss! 😥 Datas incorretas, revise por favor!')\r\n } else {\r\n let payload = {\r\n id: lote.id,\r\n descricao: lote.descricao,\r\n tipoIngressoId: lote.tipoIngressoId,\r\n eventoId: lote.eventoId,\r\n valor: parseFloat(lote.valor),\r\n quantidade: parseInt(lote.quantidade),\r\n limiteQuantidadePedido: parseInt(lote.limiteQuantidadePedido),\r\n genero: lote.genero,\r\n dataHoraInicio: toISODateFormat(lote.dataHoraInicio),\r\n dataHoraTermino: toISODateFormat(lote.dataHoraTermino),\r\n disponivel: lote.disponivel,\r\n excluido: lote.excluido,\r\n repassarTaxa: lote.repassarTaxa,\r\n checkIn: lote.checkIn,\r\n planoId: lote?.planoId\r\n }\r\n if (id) {\r\n if (payload.id) {\r\n dispatch(loteAction.editLoteInfo(payload.id, payload))\r\n } else {\r\n payload.eventoId = id\r\n dispatch(loteAction.createLote(payload))\r\n }\r\n } else {\r\n if (payload.id) {\r\n dispatch(eventoAction.editLoteLocale(payload.id, payload))\r\n } else {\r\n payload.id = uniqueId()\r\n dispatch(eventoAction.addLoteLocale(payload))\r\n }\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n add()}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n =\r\n LOTE_DESCRICAO_MAX_LENGTH\r\n ? 'error'\r\n : undefined\r\n }\r\n >\r\n {lote?.descricao?.length}/\r\n {LOTE_DESCRICAO_MAX_LENGTH}\r\n \r\n \r\n \r\n )\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n Tipo de Ingresso *\r\n \r\n {undefined !== tipoIngresso && tipoIngresso.length > 0 ? (\r\n tipoIngresso.map((row) => (\r\n \r\n {row.descricao}\r\n \r\n ))\r\n ) : (\r\n \r\n Nenhum resultado encontrado\r\n \r\n )}\r\n }\r\n className={classes.buttonAddTipoDeIngresso}\r\n variant=\"text\"\r\n color=\"primary\"\r\n onClick={() => handleClickOpenModalAddTipoDeIngresso()}\r\n >\r\n Cadastrar novo\r\n \r\n \r\n \r\n \r\n \r\n \r\n Sexo\r\n \r\n Masculino\r\n Feminino\r\n Unissex\r\n \r\n \r\n \r\n \r\n <>\r\n \r\n \r\n \r\n \r\n )\r\n }}\r\n variant=\"outlined\"\r\n id=\"valor\"\r\n disabled={lote.valor === 0 ? true : false}\r\n label=\"Valor em R$ *\"\r\n className={classes.textField}\r\n value={lote.valor === 0 ? 'Gratuito' : lote.valor}\r\n onChange={handleChange('valor')}\r\n fullWidth\r\n type={lote.valor === 0 ? 'text' : 'number'}\r\n inputProps={{\r\n min: '0',\r\n step: '0.01'\r\n }}\r\n lines=\"5\"\r\n validators={\r\n lote.valor === 0 ? [] : ['required', 'minNumber:3']\r\n }\r\n errorMessages={[\r\n 'Campo obrigatório!',\r\n 'O ticket deve ter um valor superior a R$ 3,00!'\r\n ]}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Quantidade máxima de ingressos que o usuário poderá\r\n comprar por pedido. Caso não definido, o limite é de\r\n 10 ingressos.\r\n \r\n \r\n )\r\n }}\r\n inputProps={{\r\n min: '1'\r\n }}\r\n className={classes.textField}\r\n value={lote.limiteQuantidadePedido}\r\n onChange={handleChange('limiteQuantidadePedido')}\r\n fullWidth\r\n type=\"number\"\r\n lines=\"5\"\r\n validators={\r\n parseInt(lote.limiteQuantidadePedido) >\r\n parseInt(lote.quantidade)\r\n ? ['maxNumber']\r\n : []\r\n }\r\n errorMessages={[\r\n 'Quantidade máxima maior que quantidade disponibilizada'\r\n ]}\r\n />\r\n \r\n \r\n \r\n handleChangeData('dataHoraInicio', newValue)\r\n }\r\n //Comentado para aceitar datas passadas, facilitar input..\r\n //disablePast={lote.id !== 0 ? false : true}\r\n format=\"dd/MM/yyyy HH:mm\"\r\n invalidDateMessage=\"Data inválida\"\r\n invalidLabel=\"dd/MM/aaaa HH:mm\"\r\n maxDateMessage=\"A data não deve ser posterior à data máxima\"\r\n minDateMessage=\"A data não deve ser anterior à data mínima\"\r\n cancelLabel=\"Cancelar\"\r\n okLabel=\"Definir\"\r\n clearable\r\n clearLabel=\"Limpar\"\r\n placeholder=\"dd/MM/aaaa HH:mm\"\r\n todayLabel=\"Hoje\"\r\n defaultValue={undefined}\r\n openTo=\"month\"\r\n views={['month', 'date', 'hours', 'minutes']}\r\n />\r\n \r\n \r\n \r\n handleChangeData('dataHoraTermino', newValue)\r\n }\r\n disablePast\r\n minDate={toISODateFormat(lote.dataHoraInicio)}\r\n initialFocusedDate={toISODateFormat(lote.dataHoraInicio)}\r\n format=\"dd/MM/yyyy HH:mm\"\r\n invalidDateMessage=\"Data inválida\"\r\n invalidLabel=\"dd/MM/aaaa HH:mm\"\r\n maxDateMessage=\"A data não deve ser posterior à data máxima\"\r\n minDateMessage={\r\n lote.dataHoraInicio != null\r\n ? 'A data não deve ser anterior à data mínima'\r\n : 'A data não deve estar no passado'\r\n }\r\n cancelLabel=\"Cancelar\"\r\n okLabel=\"Definir\"\r\n clearable\r\n clearLabel=\"Limpar\"\r\n placeholder=\"dd/MM/aaaa HH:mm\"\r\n todayLabel=\"Hoje\"\r\n defaultValue={undefined}\r\n openTo=\"month\"\r\n views={['month', 'date', 'hours', 'minutes']}\r\n />\r\n {' '}\r\n \r\n \r\n \r\n \r\n }\r\n label=\"Disponibilizar Lote\"\r\n />\r\n \r\n {lote.valor !== 0 && (\r\n \r\n \r\n \r\n }\r\n label={'Repassar taxa para cliente'}\r\n />\r\n \r\n Se ativado, a taxa de serviço será repassada para o\r\n cliente.\r\n \r\n
    \r\n \r\n )}\r\n \r\n (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n label=\"Check-In\"\r\n />\r\n \r\n Quando essa opção é marcada, membros podem pedir\r\n check-in até o momento estabelecido acima (Campo\r\n Término das Vendas)\r\n \r\n
    \r\n \r\n {lote.checkIn && (\r\n \r\n \r\n \r\n Selecione o plano *\r\n \r\n \r\n \r\n {lote?.planoId === 0 ? (\r\n isLoadingPlans ? (\r\n 'Carregando...'\r\n ) : (\r\n 'Selecione o plano *'\r\n )\r\n ) : (\r\n Limpar seleção\r\n )}\r\n \r\n {plans &&\r\n plans.length > 0 &&\r\n // @ts-ignore\r\n plans.map((plan) => (\r\n \r\n {plan.text}\r\n \r\n ))}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n clear()}\r\n >\r\n Limpar\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default LoteEdit\r\n","import { isPast, isAfter, isBefore } from 'date-fns'\nimport toISODateFormat from './toISODateFormat'\n\nexport default function validateDatesLote(dataInicio, dataFim, loteId) {\n var isValid = true\n if (\n isAfter(\n new Date(toISODateFormat(dataInicio)),\n new Date(toISODateFormat(dataFim))\n ) ||\n isBefore(\n new Date(toISODateFormat(dataFim)),\n new Date(toISODateFormat(dataInicio))\n )\n ) {\n isValid = false\n } else if (isPast(new Date(toISODateFormat(dataFim)))) {\n isValid = false\n }\n //Comentado para aceitar datas passadas, facilitar input..\n /*if (loteId === 0) {\n if (isPast(new Date(toISODateFormat(dataInicio)))) {\n isValid = false\n }\n }*/\n return isValid\n}\n","import React, { useEffect } from 'react'\nimport clsx from 'clsx'\nimport PropTypes from 'prop-types'\nimport { cepMask } from 'utils/masks'\nimport { makeStyles } from '@material-ui/styles'\nimport {\n TextValidator,\n SelectValidator\n} from 'react-material-ui-form-validator'\nimport {\n Card,\n CardContent,\n CardHeader,\n Grid,\n Divider,\n MenuItem\n} from '@material-ui/core'\nimport { isEmpty } from 'lodash'\nimport { useSelector, useDispatch } from 'react-redux'\nimport { eventoAction, estadoAction, cidadeAction } from '_actions'\nimport { useDidMountEffect } from 'utils/useDidMountEffect'\nimport constants from 'theme/constants'\n\nconst useStyles = makeStyles(() => ({\n root: {\n ...constants.shadowCard\n }\n}))\n\nconst EventoEditLocale = (props) => {\n const { className, ...rest } = props\n const dispatch = useDispatch()\n const classes = useStyles()\n const evento = useSelector((state) => state.evento)\n const { estado } = useSelector((state) => state.estado)\n const { cidade } = useSelector((state) => state.cidade)\n const estabelecimento = useSelector((state) => state.estabelecimento)\n\n useEffect(() => {\n if (evento.id > 0 && evento.tipoLocalizacao !== 'O') {\n dispatch(estadoAction.getEstado())\n }\n }, [])\n\n useDidMountEffect(() => {\n if (evento.tipoLocalizacao !== 'O' && evento.tipoLocalizacao !== '') {\n if (estado.length === 0) {\n dispatch(estadoAction.getEstado())\n }\n }\n }, [evento.tipoLocalizacao])\n\n useEffect(() => {\n if (evento.estadoId > 0) {\n dispatch(cidadeAction.getCidadeByUf(evento.estadoId))\n }\n }, [evento.estadoId])\n\n const handleChange = (prop) => (event) => {\n dispatch(eventoAction.onChangeProps(prop, event))\n }\n\n const onChangeTipoEvento = (event) => {\n dispatch(eventoAction.onChangeProps('tipoLocalizacao', event))\n if (event.target.value === 'E') {\n dispatch(eventoAction.copyEstabelecimentoAddress(estabelecimento))\n } else {\n dispatch(eventoAction.clearAddress())\n }\n }\n\n return (\n \n \n \n \n \n \n \n \n \n Local\n \n Cadastrar endereço\n Local a definir\n Evento online\n \n O evento será no mesmo endereço do estabelecimento\n \n \n \n \n {evento.tipoLocalizacao !== '' && evento.tipoLocalizacao !== null && (\n <>\n {(evento.tipoLocalizacao === 'E' ||\n evento.tipoLocalizacao === 'N') && (\n \n \n \n )}\n {evento.tipoLocalizacao !== 'O' && (\n <>\n \n \n \n Estado *\n \n {undefined !== estado && estado.length\n ? estado.map((row) => (\n \n {row.nome}\n \n ))\n : null}\n \n \n \n \n \n Cidade *\n \n {!isEmpty(cidade) &&\n cidade.map((row) => (\n \n {row.nome}\n \n ))}\n \n \n {evento.tipoLocalizacao !== 'A' && (\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\nEventoEditLocale.propTypes = {\n className: PropTypes.string\n}\n\nexport default EventoEditLocale\n","import React, { useEffect } from 'react'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { eventoAction, categoriaAction, hashtagAction } from '_actions'\nimport CKEditor from '@ckeditor/ckeditor5-react'\nimport ClassicEditor from '@ckeditor/ckeditor5-build-classic'\nimport {\n ValidatorForm,\n TextValidator,\n SelectValidator\n} from 'react-material-ui-form-validator'\nimport '@ckeditor/ckeditor5-build-classic/build/translations/pt-br'\nimport {\n Card,\n CardHeader,\n CardContent,\n Divider,\n Grid,\n Switch,\n FormControlLabel,\n makeStyles,\n Typography,\n MenuItem,\n TextField,\n useTheme,\n InputAdornment,\n Tooltip,\n IconButton\n} from '@material-ui/core'\nimport { ImageCrop } from '../../../../components'\nimport { HelperToolTip, ValidatedDatePicker } from 'components/'\nimport { toISODateFormat, validateDates } from 'utils'\nimport EventoEditLocale from '../EventoEditLocale'\nimport { toast } from 'react-toastify'\nimport { isValid } from 'date-fns'\nimport Geocode from 'react-geocode'\nimport Autocomplete from '@material-ui/lab/Autocomplete'\nimport { useConfirm } from 'material-ui-confirm'\nimport YoutubeSearchedForRoundedIcon from '@material-ui/icons/YoutubeSearchedForRounded'\nimport constants from 'theme/constants'\n\nGeocode.setApiKey(process.env.REACT_APP_MAPS_KEY)\nGeocode.setLanguage('pt-BR')\nGeocode.setRegion('pt-BR')\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(3, 0, 4, 0)\n },\n divider: {\n padding: theme.spacing(2, 0, 2, 0)\n },\n card: {\n marginBottom: theme.spacing(2),\n ...constants.shadowCard\n }\n}))\n\nconst EventoEdit = () => {\n const dispatch = useDispatch()\n const classes = useStyles()\n const confirm = useConfirm()\n const theme = useTheme()\n const { estabelecimento } = useSelector((state) => state.estabelecimento)\n const { evento, cidade, estado } = useSelector((state) => state)\n const usuarioEstabelecimento = useSelector(\n (state) => state.usuarioEstabelecimento\n )\n const { categoria } = useSelector((state) => state.categoria)\n const { hashtag } = useSelector((state) => state.hashtag)\n const minHashtags = 1\n const maxHashtags = 5\n let eventoHashtagLength = 0\n if (evento.eventoHashtag !== (null || undefined)) {\n eventoHashtagLength = evento.eventoHashtag.length\n }\n const getURL = (url) => {\n dispatch(eventoAction.onChangeProps('imagem', url))\n }\n\n const handleChange = (prop) => (event) => {\n dispatch(eventoAction.onChangeProps(prop, event))\n }\n\n const hashtagPrepareData = (eventoHashtag) => {\n let readyEventoHashtag = []\n eventoHashtag.map((row) => {\n readyEventoHashtag.push({\n id: 0,\n eventoId: 0,\n hashtagId: row.id,\n excluido: false\n })\n })\n return readyEventoHashtag\n }\n\n const handleOnChangeHashtag = (event) => {\n dispatch(eventoAction.handleOnChangeHashtag(hashtagPrepareData(event)))\n }\n\n const generateSlug = () => {\n dispatch(eventoAction.onChangeProps('generate-slug', evento.nome))\n }\n\n useEffect(() => {\n ValidatorForm.addValidationRule('isValidNome', (value) => {\n if (value !== '' && value !== null) {\n if (value.length >= 4) {\n return true\n }\n return false\n }\n return false\n })\n ValidatorForm.addValidationRule('isValidDate', (value) => {\n return isValid(new Date(toISODateFormat(value)))\n })\n dispatch(categoriaAction.getCategoria())\n dispatch(hashtagAction.getHashtags('', '', '', '', ''))\n return () => {\n ValidatorForm.removeValidationRule('isValidNome')\n ValidatorForm.removeValidationRule('isValidDate')\n }\n }, [])\n\n const handleChangeData = (prop, newValue) => {\n dispatch(eventoAction.onChangeData(prop, newValue))\n }\n\n const prepareAddressFromState = (evento, cidade, estado) => {\n var estadoSelected = estado.find((item) => item.id === evento.estadoId)\n var cidadeSelected = cidade.find((item) => item.id === evento.cidadeId)\n return `${evento.endereco}, ${evento.numero} - ${evento.bairro} , ${cidadeSelected.nome} - ${estadoSelected.uf}, ${evento.cep}`\n }\n\n const generatePayload = async () => {\n let payload = {\n id: evento.id,\n nome: evento.nome,\n imagem: evento.imagem,\n estabelecimentoId: usuarioEstabelecimento.estabelecimentoId,\n detalhes: evento.detalhes,\n dataHoraInicio: toISODateFormat(evento.dataHoraInicio),\n dataHoraFim: toISODateFormat(evento.dataHoraFim),\n categoriaId: evento.categoriaId,\n disponivel: evento.disponivel,\n cidadeId: evento.cidadeId,\n endereco: evento.endereco,\n cep: evento.cep,\n bairro: evento.bairro,\n latLon: evento.latLon,\n slug: evento.slug,\n tipoLocalizacao: evento.tipoLocalizacao,\n nomeLocal: evento.nomeLocal,\n complemento: evento.complemento,\n numero: evento.numero,\n eventoHashtag: evento.eventoHashtag\n }\n if (evento.tipoLocalizacao === 'N') {\n await Geocode.fromAddress(\n prepareAddressFromState(evento, cidade.cidade, estado.estado)\n ).then(\n (response) => {\n const { lat, lng } = response.results[0].geometry.location\n let latLonResult = {\n x: lat,\n y: lng\n }\n dispatch(eventoAction.changeCoordinates(latLonResult))\n payload = { ...payload, latLon: latLonResult }\n },\n (error) => {\n console.error(error)\n }\n )\n }\n return payload\n }\n\n const dispatchAfterGeneratePayload = async () => {\n const payload = await generatePayload()\n dispatch(eventoAction.editEventoInfo(evento.id, payload))\n }\n\n const handleSubmit = (event) => {\n event.preventDefault()\n if (!validateDates(evento.dataHoraInicio, evento.dataHoraFim)) {\n toast.error('Opss! 😥 Datas incorretas, revise por favor!')\n window.scrollTo(0, 250)\n } else if (evento.imagem === '') {\n toast.error('Você precisa adicionar uma imagem para o evento!')\n window.scrollTo(0, 500)\n } else if (evento.detalhes === '') {\n toast.error(\n 'Você precisa adicionar detalhes sobre o evento! Dica: Quanto mais informações, melhor 😉'\n )\n window.scrollTo(0, 1000)\n } else if (evento.eventoHashtag.length === 0) {\n toast.error('Você precisa adicionar ao menos uma hashtag!')\n\n window.scrollTo(0, 250)\n } else if (evento.id) {\n dispatchAfterGeneratePayload()\n } else {\n dispatch(eventoAction.setNextStep())\n }\n }\n\n function getCategoriaName(categoriaId) {\n const categoriaItem = categoria.find((element) => element.id == categoriaId)\n if (categoriaItem !== (undefined && null)) {\n return categoriaItem.descricao\n }\n }\n\n function getHashtagObjectById(hashtagId) {\n let hashtagObject = ''\n const hashtagItem = hashtag.find((element) => element.id == hashtagId)\n if (hashtagItem !== undefined) {\n hashtagObject = hashtagItem\n }\n return hashtagObject\n }\n\n function getHashtagsObjects(eventoHashtag) {\n let hashtags = []\n if (eventoHashtag === [] || eventoHashtag === undefined) {\n hashtags = []\n } else {\n eventoHashtag.forEach((item) =>\n item.hashtag === undefined\n ? hashtags.push(getHashtagObjectById(item.hashtagId))\n : hashtags.push(getHashtagObjectById(item.hashtag.id))\n )\n }\n return hashtags\n }\n\n return (\n
    \n \n \n \n \n \n \n \n \n \n \n {/* \n \n www.corujasapp.com/\n \n */}\n \n \n \n generateSlug()}\n >\n \n \n \n \n )\n }}\n onFocus={() =>\n (evento.slug === '' || evento.slug === null) &&\n generateSlug()\n }\n label=\"Slug *\"\n value={evento.slug}\n onChange={handleChange('slug')}\n fullWidth\n validators={['required']}\n errorMessages={['Campo obrigatório!']}\n />\n \n \n \n \n Categoria *\n \n {categoria.map((row) => (\n \n {row.descricao}\n \n ))}\n \n \n \n \n handleChangeData('dataHoraInicio', newValue)\n }\n disablePast\n format=\"dd/MM/yyyy HH:mm\"\n invalidDateMessage=\"Data inválida!\"\n invalidLabel=\"dd/MM/aaaa HH:mm\"\n maxDateMessage=\"A data não deve ser posterior à data máxima\"\n minDateMessage=\"A data não deve ser anterior à data mínima\"\n cancelLabel=\"Cancelar\"\n okLabel=\"Definir\"\n clearable\n clearLabel=\"Limpar\"\n placeholder=\"dd/MM/aaaa HH:mm\"\n todayLabel=\"Hoje\"\n defaultValue={undefined}\n openTo=\"month\"\n views={['month', 'date', 'hours', 'minutes']}\n />\n \n \n \n handleChangeData('dataHoraFim', newValue)\n }\n disablePast\n minDate={toISODateFormat(evento.dataHoraInicio)}\n initialFocusedDate={toISODateFormat(evento.dataHoraInicio)}\n format=\"dd/MM/yyyy HH:mm\"\n invalidDateMessage=\"Data inválida!\"\n invalidLabel=\"dd/MM/aaaa HH:mm\"\n maxDateMessage=\"A data não deve ser posterior à data máxima\"\n minDateMessage=\"A data não deve ser anterior à data de início\"\n cancelLabel=\"Cancelar\"\n okLabel=\"Definir\"\n clearable\n clearLabel=\"Limpar\"\n placeholder=\"dd/MM/aaaa HH:mm\"\n todayLabel=\"Hoje\"\n defaultValue={undefined}\n openTo=\"month\"\n views={['month', 'date', 'hours', 'minutes']}\n />\n \n \n {\n handleOnChangeHashtag(value)\n }}\n multiple\n getOptionDisabled={(option) =>\n eventoHashtagLength === maxHashtags ? true : false\n }\n filterSelectedOptions\n limitTags={5}\n id=\"hashtag-selection\"\n options={hashtag}\n getOptionLabel={(option) => `#${option.descricao}`}\n groupBy={(option) => getCategoriaName(option.categoriaId)}\n renderInput={(params) => (\n \n )}\n />\n \n \n
    \n \n }\n label=\"Disponibilizar evento\"\n />\n \n Se ativado, o evento passa a ficar visível no portal da\n Corujas.\n \n
    \n
    \n \n Imagem de divulgação *\n \n \n \n \n \n
    \n \n
    \n {'Detalhes do evento *'}\n {}}\n onChange={(event, editor) => {\n const data = editor.getData()\n dispatch(eventoAction.onChangeDetails(data, event))\n }}\n onBlur={(event, editor) => {}}\n onFocus={(event, editor) => {}}\n />\n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n )\n}\n\nexport default EventoEdit\n","import React from 'react'\nimport { useSelector } from 'react-redux'\nimport { LoteList } from '../../components'\nimport { EventoCard } from './EventoCard'\nimport {\n Card,\n CardHeader,\n CardContent,\n Typography,\n Divider,\n Grid,\n makeStyles\n} from '@material-ui/core'\nimport EventAvailableTwoToneIcon from '@material-ui/icons/EventAvailableTwoTone'\nimport EventBusyTwoToneIcon from '@material-ui/icons/EventBusyTwoTone'\nimport { Row } from '@mui-treasury/components/flex'\nimport constants from 'theme/constants'\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(4, 0, 4, 0)\n },\n card: {\n marginBottom: theme.spacing(2)\n },\n paper: {\n ...constants.shadowCard\n }\n}))\n\nconst EventoSummary = () => {\n const evento = useSelector((state) => state.evento)\n const usuarioEstabelecimento = useSelector(\n (state) => state.usuarioEstabelecimento\n )\n const classes = useStyles()\n const { estado: estados } = useSelector((state) => state.estado)\n const { cidade: cidades } = useSelector((state) => state.cidade)\n const { hashtag: hashtags } = useSelector((state) => state.hashtag)\n\n function getNameEstadoById(estadoId) {\n const nameEstado = estados.find((estado) => estado.id === estadoId)\n return nameEstado ? nameEstado.nome : ''\n }\n\n function getNameCidadeById(cidadeId) {\n const nameCidade = cidades.find((cidade) => cidade.id === cidadeId)\n return nameCidade ? nameCidade.nome : ''\n }\n\n function getHashtagNameById(hashtagId) {\n let hashtagName = ''\n const hashtagItem = hashtags.find((element) => element.id === hashtagId)\n if (hashtagItem !== undefined) {\n hashtagName = hashtagItem.descricao\n }\n return hashtagName\n }\n\n return (\n
    \n \n \n \n \n \n \n \n {'Como seu evento aparecerá na Corujas: '}\n \n {/**/}\n \n \n \n \n \n {'1 - Informações sobre o evento '}\n \n \n Nome: {evento.nome}\n \n \n Data de Início: {evento.dataHoraInicio}\n \n \n Data de Término: {evento.dataHoraFim}\n \n \n \n Disponibilizar evento: {' '}\n \n {evento.disponivel ? (\n \n ) : (\n \n )}\n \n \n Hashtags: {' '}\n {evento.eventoHashtag.map(\n (row) =>\n `#${\n row.hashtag === undefined\n ? getHashtagNameById(row.hashtagId)\n : getHashtagNameById(row.hashtag.id)\n } `\n )}\n \n \n Detalhes do Evento: \n \n \n {' '}\n \n \n \n \n \n \n \n \n \n {'2 - Onde vai ser o evento '}\n \n {evento.tipoLocalizacao === 'O' ? (\n \n Evento online \n \n ) : (\n <>\n {evento.tipoLocalizacao === 'N' && (\n \n Nome do local: {evento.nomeLocal}\n \n )}\n \n Estado: {getNameEstadoById(evento.estadoId)}\n \n \n Cidade: {getNameCidadeById(evento.cidadeId)}\n \n {evento.tipoLocalizacao !== 'A' && (\n <>\n \n CEP: {evento.cep}\n \n \n Endereço: {evento.endereco}\n \n \n Número: {evento.numero}\n \n \n Bairro: {evento.bairro}\n \n \n Complemento: {' '}\n {evento.complemento !== null\n ? evento.complemento\n : '-'}\n \n \n )}\n \n )}\n \n \n \n \n \n \n \n
    \n )\n}\n\nexport default EventoSummary\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport {\n Grid,\n // Chip,\n withStyles,\n Tooltip,\n CardContent,\n CardMedia,\n Card,\n CardActionArea,\n Typography,\n Zoom,\n Divider,\n List,\n ListItem,\n ListItemText,\n ListItemIcon\n} from '@material-ui/core'\nimport LocationIcon from '@material-ui/icons/LocationOn'\nimport EventTwoToneIcon from '@material-ui/icons/EventTwoTone'\nimport PermContactCalendarTwoToneIcon from '@material-ui/icons/PermContactCalendarTwoTone'\n// import HomeWorkTwoToneIcon from '@material-ui/icons/HomeWorkTwoTone';\nimport { Item } from '@mui-treasury/components/flex'\nimport { format } from 'date-fns'\nimport { toISODateFormat } from 'utils'\n\nconst styles = (theme) => ({\n card: {\n transition: '0.3s cubic-bezier(.47,1.64,.41,.8)',\n border: '2px solid transparent',\n '&:hover': {\n boxShadow: '0px 0px 20px 8px rgba(0,0,0,0.18)',\n border: '2px solid rgba(225, 194, 10, 1)'\n },\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n borderRadius: 15,\n marginBottom: -35\n },\n cardMedia: {\n paddingTop: '56.25%' // 16:9\n }\n})\n\nconst EventoCard = (props) => {\n const { classes } = props\n const evento = props.evento\n\n return (\n \n \n \n \n \n {evento.nome}\n \n \n \n \n \n {/* \n {evento.cidade !== null && evento.cidade !== undefined\n ? `${evento.cidade.nome} - ${evento.cidade.estado.uf}`\n : evento.estabelecimento.cidade !== null &&\n evento.estabelecimento.cidade !== undefined\n ? `${evento.estabelecimento.cidade.nome} - ${evento.estabelecimento.cidade.estado.uf}`\n : 'Localização não definida'}\n */}\n \n \n \n \n \n \n {props.estabelecimento.estabelecimento}\n \n }\n />\n \n \n \n \n \n {evento.dataHoraInicio !== null &&\n evento.dataHoraInicio !== undefined ? (\n \n {format(\n new Date(toISODateFormat(evento.dataHoraInicio)),\n \"dd/MM/yyyy 'às' hh:mm\"\n )}\n \n }\n />\n ) : (\n \n Sem data definida\n \n }\n />\n )}\n \n \n \n \n \n )\n}\nEventoCard.propTypes = {\n classes: PropTypes.object.isRequired\n}\nexport default withStyles(styles)(EventoCard)\n","import React, { useEffect } from 'react'\nimport { EventoDashboard as EventoDashboardComponent } from './components'\nimport { Header, Page } from 'components'\nimport { useDispatch } from 'react-redux'\nimport { globalActions } from '_actions'\nimport { useParams } from 'react-router-dom'\nimport { Box, makeStyles, Typography } from '@material-ui/core'\nimport { useEventDashboard } from 'hooks-querys'\nimport { format } from 'date-fns'\nimport brLocale from 'date-fns/locale/pt-BR'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(2),\n paddingTop: theme.spacing(3),\n [theme.breakpoints.down('sm')]: {\n padding: theme.spacing(1),\n paddingTop: theme.spacing(3)\n }\n },\n header: {\n marginBottom: theme.spacing(3)\n }\n}))\n\nconst EventoDashboard = () => {\n const classes = useStyles()\n const dispatch = useDispatch()\n const { eventoId } = useParams<{ eventoId: string }>()\n const {\n data,\n isLoading,\n isFetching,\n isError,\n refetch,\n dataUpdatedAt\n } = useEventDashboard(Number(eventoId))\n const { evento } = data || {}\n\n useEffect(() => {\n dispatch(globalActions.setIsVisibleButtonShowValues(true))\n return () => {\n dispatch(globalActions.setIsVisibleButtonShowValues(false))\n }\n }, [])\n\n useEffect(() => {\n window.scrollTo({\n top: 0,\n behavior: 'smooth'\n })\n }, [eventoId])\n\n return (\n \n \n \n {!isLoading ? (\n \n Última atualização:{' '}\n {format(dataUpdatedAt, \"dd/MM/yyyy 'às' HH:mm:ss\", {\n locale: brLocale\n })}{' '}\n {isFetching ? '(Atualizando...)' : ''}\n \n ) : null}\n \n \n \n )\n}\n\nexport default EventoDashboard\n","import React from 'react'\nimport {\n TableRow,\n TableCell,\n Grid,\n Tooltip,\n IconButton,\n colors,\n Avatar,\n makeStyles,\n Typography\n} from '@material-ui/core'\nimport InfoOutlinedIcon from '@material-ui/icons/InfoOutlined'\n\n//? Own imports\nimport { EstabelecimentoListAdmin } from 'types/api'\nimport { cepMask, cpfCnpjMask, getInitials } from 'utils'\nimport { Label } from 'components'\n\nconst useStyles = makeStyles((theme) => ({\n nameCell: {\n display: 'flex',\n alignItems: 'center'\n },\n avatar: {\n height: 42,\n width: 42,\n marginRight: theme.spacing(1)\n }\n}))\n\nconst RowTableEstabelecimentos = ({\n estabelecimento\n}: {\n estabelecimento: EstabelecimentoListAdmin\n}) => {\n const classes = useStyles()\n\n return (\n \n \n {estabelecimento.id}\n \n \n {estabelecimento && estabelecimento.nome ? (\n
    \n \n {getInitials(estabelecimento?.nome)}\n \n
    \n \n {estabelecimento?.nome}\n \n
    @{estabelecimento?.username}
    \n
    \n
    \n ) : (\n 'Estabelecimento não encontrado'\n )}\n
    \n \n {cpfCnpjMask(estabelecimento.cpfCnpj) || 'Não informado'}\n \n \n
    \n {`${estabelecimento?.endereco}, ${estabelecimento?.numero} ${\n estabelecimento?.complemento\n ? ` - ${estabelecimento?.complemento}`\n : ''\n }${estabelecimento?.bairro ? ` - ${estabelecimento?.bairro}` : ''}`}\n
    \n
    {cepMask(estabelecimento?.cep)}
    \n {estabelecimento?.cidade ? (\n
    \n {`${estabelecimento?.cidade?.nome} -\n ${estabelecimento?.cidade?.estado.uf.toUpperCase()}/${\n estabelecimento?.cidade?.estado?.pais?.nomePt\n }`}\n
    \n ) : null}\n
    \n \n \n {estabelecimento.repassarTaxa ? 'Sim' : 'Não'}\n \n \n \n {estabelecimento?.taxa\n ? `${estabelecimento?.taxa}%`\n : 'Não identificado'}\n \n \n {estabelecimento?.categoria?.descricao || 'Não identificado'}\n \n \n \n \n \n \n \n \n \n \n \n \n
    \n )\n}\n\nexport default RowTableEstabelecimentos\n","import React from 'react'\nimport {\n TableBody,\n Table,\n makeStyles,\n TableCell,\n TableContainer,\n TableHead,\n TableRow,\n Paper,\n Typography,\n Toolbar,\n Tooltip,\n IconButton\n} from '@material-ui/core'\nimport PrintRoundedIcon from '@material-ui/icons/PrintRounded'\nimport ReactToPrint from 'react-to-print'\n\n//? Own imports\nimport { EstabelecimentoListAdmin } from 'types/api'\nimport { RowTableEstabelecimentos } from './components'\nimport constants from 'theme/constants'\n\nconst useStyles = makeStyles((theme) => ({\n table: {\n minWidth: 700\n },\n rootToolbarStyles: {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(1)\n },\n titleToolbarStyles: {\n flex: '1 1 100%'\n },\n paper: {\n width: '100%',\n marginBottom: theme.spacing(2),\n ...constants.shadowCard\n }\n}))\n\nconst TableEstabelecimentos = ({\n estabelecimentos\n}: {\n estabelecimentos: EstabelecimentoListAdmin[]\n}) => {\n const classes = useStyles()\n const refTable = React.useRef(null)\n\n return (\n
    \n \n {estabelecimentos && estabelecimentos.length > 0 ? (\n <>\n Total de dados encontrados:{' '}\n {estabelecimentos.length}\n \n ) : (\n Nenhum dado encontrado.\n )}\n \n {estabelecimentos && estabelecimentos.length > 0 && (\n \n \n \n Lista de estabelecimentos\n \n (\n \n \n \n \n \n )}\n content={() => refTable.current}\n />\n \n {/* usado para 'forçar' a orientação da pagina para 'paisagem' afim de imprimir mostrando todos os dados */}\n \n {/* ------------------------------------------------------------>\t */}\n \n {estabelecimentos !== undefined && estabelecimentos.length > 0 && (\n \n \n \n #ID\n Nome\n CPF/CNPJ\n Localização\n Repassar taxa\n Taxa\n Categoria\n Ações\n \n \n \n {estabelecimentos.map((estabelecimento) => {\n return (\n \n )\n })}\n \n \n )}\n \n \n )}\n
    \n )\n}\n\nexport default TableEstabelecimentos\n","import React, { useState } from 'react'\nimport { useLocation } from 'react-router-dom'\nimport {\n Grid,\n makeStyles,\n TextField,\n InputAdornment,\n IconButton,\n Divider,\n Tooltip\n} from '@material-ui/core'\nimport SearchRoundedIcon from '@material-ui/icons/SearchRounded'\nimport CloseIcon from '@material-ui/icons/Close'\n\n//? Own imports\nimport { useDidMountEffect } from 'utils/useDidMountEffect'\nimport { history } from 'utils'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n flexGrow: 1,\n marginTop: theme.spacing(2)\n },\n divider: {\n height: 28,\n margin: 4\n }\n}))\n\nfunction useSearchQuery() {\n const { search } = useLocation()\n return React.useMemo(() => new URLSearchParams(search), [search])\n}\n\nconst Filters = () => {\n const classes = useStyles()\n const querySearch = useSearchQuery()\n const [filters, setFilters] = useState({\n textSearch: querySearch.get('textSearch') || ''\n })\n\n const runQuery = () => {\n history.push(`/estabelecimentos?textSearch=${filters.textSearch}`)\n }\n\n const handleChangeText = (value: string) => {\n setFilters((prev) => ({ ...prev, textSearch: value }))\n }\n\n const handleSubmitSearch = (event: React.FormEvent) => {\n event.preventDefault()\n if (filters.textSearch && filters.textSearch.length > 0) {\n runQuery()\n }\n }\n\n const clearTextSearch = () => {\n setFilters((prev) => ({ ...prev, textSearch: '' }))\n }\n\n useDidMountEffect(() => {\n if (filters.textSearch === '') {\n runQuery()\n }\n }, [filters.textSearch])\n\n useDidMountEffect(() => {\n setFilters((prev) => ({\n ...prev,\n textSearch: querySearch.get('textSearch') || ''\n }))\n }, [querySearch])\n\n return (\n
    \n \n \n
    \n \n {filters.textSearch.length >= 1 && (\n <>\n \n \n \n \n \n \n \n )}\n \n \n \n \n \n \n )\n }}\n fullWidth\n required\n value={filters.textSearch}\n onChange={(event) =>\n handleChangeText && handleChangeText(event.target.value)\n }\n variant=\"outlined\"\n id=\"textForSearch\"\n label=\"Buscar\"\n placeholder=\"Busque por nome, CPF/CNPJ ou apelido...\"\n />\n \n
    \n
    \n
    \n )\n}\n\nexport default Filters\n","import React, { useEffect, useState } from 'react'\nimport { LinearProgress, makeStyles } from '@material-ui/core'\n\n//? Own imports\nimport { AccessControl } from 'components/Utils'\nimport { Header, Page, SkeletonTable } from 'components'\nimport AccessDenied from 'views/Errors/AccessDenied'\nimport { Filters, TableEstabelecimentos } from './components'\nimport { useEstablishments } from 'hooks-querys'\nimport { useLocation } from 'react-router-dom'\nimport { EstabelecimentoListAdmin } from 'types/api'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(3, 2, 2, 2)\n },\n header: {\n marginBottom: theme.spacing(4)\n }\n}))\n\nfunction useSearchQuery() {\n const { search } = useLocation()\n return React.useMemo(() => new URLSearchParams(search), [search])\n}\n\nconst EstabelecimentoList = () => {\n const classes = useStyles()\n const querySearch = useSearchQuery()\n const [filters, setFilters] = useState({\n // page: Number(querySearch.get('page')) || 1,\n textSearch: querySearch.get('textSearch') || ''\n })\n\n useEffect(() => {\n setFilters({\n // page: Number(querySearch.get('page')) || 1,\n textSearch: querySearch.get('textSearch') || ''\n })\n }, [querySearch])\n\n const { data, isLoading, refetch, isFetching } = useEstablishments({\n page: 1, // valor fixo para paginação, pois o componente de paginação não está implementado\n direction: 'desc',\n order: 'id',\n limit: 10000, //limite alto para não haver paginação\n term: filters.textSearch\n })\n return (\n \n {isFetching && (\n \n )}\n (\n
    \n \n \n {isLoading ? (\n \n ) : (\n \n )}\n
    \n )}\n // @ts-ignore\n no={() => }\n />\n
    \n )\n}\n\nexport default EstabelecimentoList\n","export const abbreviateNumber = (number) => {\n const SI_SYMBOL = ['', 'k', 'M', 'G', 'T', 'P', 'E']\n\n // what tier? (determines SI symbol)\n const tier = (Math.log10(Math.abs(number)) / 3) | 0\n\n // if zero, we don't need a suffix\n if (tier === 0) return number\n\n // get suffix and determine scale\n const suffix = SI_SYMBOL[tier]\n const scale = Math.pow(10, tier * 3)\n\n // scale the number\n const scaled = number / scale\n\n // format number and add suffix\n return scaled.toFixed(1) + suffix\n}\n","import React, { useState, useCallback, useEffect } from 'react'\nimport PropTypes from 'prop-types'\nimport clsx from 'clsx'\nimport {\n Card,\n CardContent,\n CardActions,\n Avatar,\n Typography,\n Button,\n withStyles,\n Divider,\n CircularProgress,\n Grid,\n Backdrop,\n Tooltip,\n Box\n} from '@material-ui/core'\nimport Rating from '@material-ui/lab/Rating'\nimport { withRouter } from 'react-router-dom'\nimport { connect, useDispatch } from 'react-redux'\nimport getInitials from 'utils/getInitials'\nimport CloudUploadTwoToneIcon from '@material-ui/icons/CloudUploadTwoTone'\nimport { useConfirm } from 'material-ui-confirm'\nimport ImageUploading from 'react-images-uploading'\nimport { uploadImage } from '_services'\nimport { estabelecimentoAction } from '_actions'\nimport { errorsUploadImage } from 'utils'\nimport { abbreviateNumber } from 'utils/abbreviateNumber'\nimport SocialShare from 'components/Share/Share'\nimport { onShareEstablishment } from 'utils/linkShare'\nimport constants from 'theme/constants'\n\nconst styles = (theme) => ({\n root: {},\n paper: {\n ...constants.shadowCard\n },\n content: {\n display: 'flex',\n alignItems: 'center',\n flexDirection: 'column',\n textAlgin: 'center'\n },\n nome: {\n marginTop: theme.spacing(1)\n },\n uploadButton: {\n marginRight: theme.spacing(2),\n justifyContent: 'space-between'\n },\n avatar: {\n height: 130,\n width: 130,\n borderRadius: '10px',\n webkitBorderRadius: '10px',\n mozBorderRadius: '10px',\n cursor: 'pointer'\n },\n backdrop: {\n zIndex: theme.zIndex.drawer + 1,\n color: '#fff'\n }\n})\n\nconst EstabelecimentoDetails = (props) => {\n const { classes, estabelecimento, className, ...rest } = props\n const [images, setImages] = useState([])\n const [open, setOpen] = useState(false)\n const dispatch = useDispatch()\n const confirm = useConfirm()\n\n const [link, setLink] = useState('')\n\n const generateLink = useCallback(async () => {\n let link = await onShareEstablishment(estabelecimento)\n setLink(link)\n }, [estabelecimento])\n\n useEffect(() => {\n generateLink()\n }, [estabelecimento.nome, generateLink])\n\n const removeImage = () => {\n confirm({\n title: 'Deseja remover a imagem?',\n description: '',\n confirmationText: 'Sim, quero remover!',\n cancellationText: 'Nãããoo!'\n }).then(() => {\n let payload = {\n ...estabelecimento,\n imagem: null\n }\n dispatch(\n estabelecimentoAction.editEstabelecimentoInfo(\n estabelecimento.id,\n payload\n )\n )\n dispatch(estabelecimentoAction.onChangeProps('imagem', null))\n })\n }\n const onChange = (imageList) => {\n // data for submit\n setOpen(true)\n setImages(imageList)\n uploadImage(imageList[0])\n .then((response) => {\n let payload = {\n ...estabelecimento,\n imagem: response\n }\n if (estabelecimento.id !== 0) {\n dispatch(\n estabelecimentoAction.editEstabelecimentoInfo(\n estabelecimento.id,\n payload\n )\n )\n }\n dispatch(estabelecimentoAction.onChangeProps('imagem', response))\n setOpen(false)\n })\n .catch((err) => {\n console.log(err)\n setOpen(false)\n })\n }\n return (\n
    \n \n \n \n \n \n \n \n Enviando imagem...\n \n \n \n \n errorsUploadImage(errors)}\n value={images}\n onChange={onChange}\n dataURLKey=\"data_url\"\n >\n {({ onImageUpload, isDragging, dragProps }) => (\n \n \n {isDragging ? (\n <>\n \n \n Solte a imagem aqui!\n \n \n ) : (\n <>\n \n \n {getInitials(estabelecimento.nome)}\n \n \n \n {estabelecimento.nome}\n \n {estabelecimento.id != 0 && (\n <>\n \n \n \n \n )}\n \n \n {estabelecimento.totalAvaliacoes > 0\n ? `${abbreviateNumber(\n estabelecimento.totalAvaliacoes\n )} avaliações`\n : 'Nenhuma avaliação'}\n \n \n {estabelecimento.totalSeguidores > 0\n ? `${abbreviateNumber(\n estabelecimento.totalSeguidores\n )} seguidores`\n : 'Nenhum seguidor'}\n \n {/* \n Capacidade: {estabelecimento.capacidade} pessoas.\n \n \n Categoria\n */}\n \n )}\n \n \n \n \n {estabelecimento.imagem !== null &&\n estabelecimento.imagem !== '' && (\n \n )}\n \n \n )}\n \n
    \n )\n}\n\nEstabelecimentoDetails.propTypes = {\n className: PropTypes.string,\n estabelecimento: PropTypes.object.isRequired\n}\n\nconst mapStateToProps = (state) => {\n return {\n estabelecimento: state.estabelecimento\n }\n}\nconst connectedEstabelecimentoDetailsPage = withRouter(\n connect(mapStateToProps, null, null, {\n pure: false\n })(withStyles(styles)(EstabelecimentoDetails))\n)\nexport default connectedEstabelecimentoDetailsPage\n","import React, { useEffect } from 'react'\nimport PropTypes from 'prop-types'\nimport {\n ValidatorForm,\n TextValidator,\n SelectValidator\n} from 'react-material-ui-form-validator'\nimport { cepMask, cpfCnpjMask, history } from 'utils'\nimport Typography from '@material-ui/core/Typography'\nimport {\n Card,\n CardHeader,\n CardContent,\n CardActions,\n Divider,\n Button,\n MenuItem,\n Grid,\n CircularProgress,\n InputAdornment,\n Tooltip,\n IconButton,\n makeStyles,\n FormControlLabel,\n Switch,\n TextField\n} from '@material-ui/core'\nimport YoutubeSearchedForRoundedIcon from '@material-ui/icons/YoutubeSearchedForRounded'\nimport Autocomplete from '@material-ui/lab/Autocomplete'\nimport { useDispatch, useSelector } from 'react-redux'\nimport {\n estabelecimentoAction,\n categoriaAction,\n cidadeAction,\n estadoAction,\n hashtagAction\n} from '_actions'\nimport { cnpj, cpf } from 'cpf-cnpj-validator'\nimport { isEmpty } from 'lodash'\nimport { HelperToolTip } from 'components'\nimport { useDidMountEffect } from 'utils/useDidMountEffect'\nimport constants from 'theme/constants'\n\nconst useStyles = makeStyles(() => ({\n root: {},\n paper: {\n ...constants.shadowCard\n }\n}))\n\nconst EstabelecimentoForm = () => {\n const dispatch = useDispatch()\n const classes = useStyles()\n const estados = useSelector((state) => state.estado.estado)\n const { cidade } = useSelector((state) => state.cidade)\n const { categoria } = useSelector((state) => state.categoria)\n const { hashtag } = useSelector((state) => state.hashtag)\n const estabelecimento = useSelector((state) => state.estabelecimento)\n const usuarioId = useSelector((state) => state.authentication.user.id)\n const isAddPlace = useSelector(\n (state) => state.usuarioEstabelecimento.isAddPlace\n )\n const minHashtags = 1\n const maxHashtags = 5\n let hashtagLength = 0\n if (estabelecimento.estabelecimentoHashtag !== (null || undefined)) {\n hashtagLength = estabelecimento.estabelecimentoHashtag.length\n }\n\n useEffect(() => {\n ValidatorForm.addValidationRule('isValidCpf', (value) => {\n if (value && value.length <= 14) {\n if (cpf.isValid(value)) {\n return true\n } else {\n return false\n }\n } else {\n return true\n }\n })\n\n ValidatorForm.addValidationRule('isValidCnpj', (value) => {\n if (value && value.length >= 15) {\n if (cnpj.isValid(value)) {\n return true\n } else {\n return false\n }\n } else {\n return true\n }\n })\n\n ValidatorForm.addValidationRule('isValidCep', (value) => {\n if (value.length === 9) {\n return true\n } else {\n return false\n }\n })\n dispatch(categoriaAction.getCategoria())\n dispatch(hashtagAction.getHashtags('', '', '', '', ''))\n dispatch(estadoAction.getEstado())\n if (estabelecimento.estadoId > 0) {\n dispatch(cidadeAction.getCidadeByUf(estabelecimento.estadoId))\n }\n }, [])\n\n useDidMountEffect(() => {\n if (estabelecimento.estadoId > 0) {\n dispatch(cidadeAction.getCidadeByUf(estabelecimento.estadoId))\n }\n }, [estabelecimento.estadoId])\n\n useEffect(() => {\n return () => {\n ValidatorForm.removeValidationRule('isValidCpf')\n ValidatorForm.removeValidationRule('isValidCnpj')\n ValidatorForm.removeValidationRule('isValidCep')\n }\n }, [])\n\n const hashtagPrepareData = (estabelecimentoHashtag) => {\n let readyEstabelecimentoHashtag = []\n estabelecimentoHashtag.map((row) => {\n readyEstabelecimentoHashtag.push({\n id: 0,\n estabelecimentoId: 0,\n hashtagId: row.id,\n excluido: false\n })\n })\n return readyEstabelecimentoHashtag\n }\n\n const handleOnChangeHashtag = (event) => {\n dispatch(\n estabelecimentoAction.handleOnChangeHashtag(hashtagPrepareData(event))\n )\n }\n\n function getHashtagObjectById(hashtagId) {\n let hashtagObject = ''\n const hashtagItem = hashtag.find((element) => element.id == hashtagId)\n if (hashtagItem !== undefined) {\n hashtagObject = hashtagItem\n }\n return hashtagObject\n }\n\n function getHashtagsObjects(estabelecimentoHashtag) {\n let hashtags = []\n if (estabelecimentoHashtag === [] || estabelecimentoHashtag === undefined) {\n hashtags = []\n } else {\n estabelecimentoHashtag.forEach((item) =>\n item.hashtag === undefined\n ? hashtags.push(getHashtagObjectById(item.hashtagId))\n : hashtags.push(getHashtagObjectById(item.hashtag.id))\n )\n }\n return hashtags\n }\n\n function getCategoriaName(categoriaId) {\n const categoriaItem = categoria.find((element) => element.id == categoriaId)\n if (categoriaItem !== (undefined && null)) {\n return categoriaItem.descricao\n }\n }\n\n const handleSubmit = (event) => {\n event.preventDefault()\n\n if (estabelecimento.username.length < 1) {\n generateUsername()\n }\n\n let usuarioEstabelecimento = []\n usuarioEstabelecimento.push({\n id: 0,\n usuarioId: usuarioId,\n estabelecimentoId: 0\n })\n\n let payload = {\n id: estabelecimento.id,\n nome: estabelecimento.nome,\n detalhes: estabelecimento.detalhes,\n endereco: estabelecimento.endereco,\n numero: estabelecimento.numero,\n complemento: estabelecimento.complemento,\n capacidade: estabelecimento.capacidade,\n cidadeId: estabelecimento.cidadeId,\n estadoId: estabelecimento.estadoId,\n imagem: estabelecimento.imagem,\n banner: estabelecimento.banner,\n bairro: estabelecimento.bairro,\n cep: estabelecimento.cep,\n latLon: estabelecimento.latLon,\n username: estabelecimento.username,\n categoriaId: estabelecimento.categoriaId,\n usuarioEstabelecimento: usuarioEstabelecimento,\n cpfCnpj: estabelecimento.cpfCnpj\n .split('.')\n .join('')\n .replace(/[-/.]/g, ''),\n repassarTaxa: estabelecimento.repassarTaxa,\n estabelecimentoHashtag: estabelecimento.estabelecimentoHashtag\n }\n\n if (estabelecimento.id > 0 && !isAddPlace) {\n delete payload.usuarioEstabelecimento\n dispatch(\n estabelecimentoAction.editEstabelecimentoInfo(\n estabelecimento.id,\n payload\n )\n )\n } else {\n history.push('location')\n }\n }\n\n const generateUsername = () => {\n let usernameGenerate = {\n target: {\n value: estabelecimento.nome\n }\n }\n dispatch(estabelecimentoAction.onChangeProps('username', usernameGenerate))\n }\n\n const handleBlur = (prop) => (event) => {\n if (prop === 'cep') {\n var numerosCep = event.target.value.replace('-', '').replace(/\\D/g, '')\n if (numerosCep.length === 8) {\n dispatch(estabelecimentoAction.getEnderecoByCep(numerosCep))\n }\n }\n }\n\n const handleChange = (prop) => (event) => {\n dispatch(estabelecimentoAction.onChangeProps(prop, event))\n }\n\n return (\n
    \n \n \n handleSubmit(event)}\n debounceTime={1100}\n >\n \n \n Aqui ficam as informações sobre quem esta organizando os\n eventos!\n \n \n O estabelecimento pode ser um lugar físico ou conter seus\n dados pessoais caso você seja o organizador.\n \n
    \n }\n titleTypographyProps={{ variant: 'h4' }}\n />\n \n \n \n \n \n \n \n \n \n generateUsername()}\n >\n \n \n \n \n ),\n startAdornment: @\n }}\n onFocus={() =>\n (estabelecimento.username === '' ||\n estabelecimento.username === null) &&\n generateUsername()\n }\n // validators={['required']}\n // errorMessages={['Campo obrigatório!']}\n />\n \n \n \n \n \n \n {estabelecimento.isSearchingCep && (\n \n )}\n \n )\n }}\n id=\"cep\"\n disabled={estabelecimento.isSearchingCep}\n label=\"CEP *\"\n name=\"cep\"\n type=\"text\"\n inputProps={{\n maxLength: '9'\n }}\n value={cepMask(estabelecimento.cep)}\n onChange={handleChange('cep')}\n onBlur={handleBlur('cep')}\n autoComplete=\"cep\"\n validators={['required', 'isValidCep']}\n errorMessages={['Campo obrigatório!', 'O CEP não é válido']}\n />\n \n \n \n \n Estado *\n \n {!isEmpty(estados) &&\n undefined !== estados &&\n estados.length &&\n estados.map((row) => (\n \n {row.nome}\n \n ))}\n \n \n \n \n \n Cidade *\n \n {!isEmpty(cidade) &&\n cidade.length &&\n cidade.map((row) => (\n \n {row.nome}\n \n ))}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Categoria *\n \n {!isEmpty(categoria) &&\n undefined !== categoria &&\n typeof undefined !== categoria &&\n categoria.length &&\n categoria.map((row) => (\n \n {row.descricao}\n \n ))}\n \n \n \n \n \n \n {\n handleOnChangeHashtag(value)\n }}\n multiple\n getOptionDisabled={(option) =>\n hashtagLength === maxHashtags ? true : false\n }\n filterSelectedOptions\n limitTags={5}\n id=\"hashtag-selection\"\n options={hashtag}\n getOptionLabel={(option) => `#${option.descricao}`}\n groupBy={(option) => getCategoriaName(option.categoriaId)}\n renderInput={(params) => (\n \n )}\n />\n \n \n \n \n \n
    \n \n }\n label=\"Repassar taxa para cliente\"\n />\n \n Se ativado, por padrão, a taxa de serviço será repassada\n para o cliente.\n \n
    \n
    \n
    \n
    \n \n \n \n {isAddPlace\n ? 'Avançar'\n : estabelecimento.id\n ? estabelecimento.loading\n ? 'Atualizando... '\n : 'Atualizar'\n : 'Avançar'}\n {estabelecimento.loading && }\n \n \n \n \n \n \n )\n}\n\nEstabelecimentoForm.propTypes = {\n className: PropTypes.string\n}\n\nexport default EstabelecimentoForm\n","import React from 'react'\nimport clsx from 'clsx'\nimport { Grid, makeStyles } from '@material-ui/core'\nimport { ProfileDetails, EstabelecimentoForm } from './components'\nimport { Page } from 'components'\n\nconst useStyles = makeStyles(() => ({\n root: {}\n}))\n\nconst General = (props) => {\n const { className, ...rest } = props\n const classes = useStyles()\n\n return (\n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport default General\n","import React, { useState } from 'react'\nimport PropTypes from 'prop-types'\nimport clsx from 'clsx'\nimport { makeStyles } from '@material-ui/styles'\nimport {\n Avatar,\n Typography,\n Button,\n colors,\n Grid,\n CircularProgress,\n Backdrop\n} from '@material-ui/core'\nimport AddPhotoIcon from '@material-ui/icons/AddPhotoAlternate'\nimport { useSelector, useDispatch } from 'react-redux'\nimport CloudUploadTwoToneIcon from '@material-ui/icons/CloudUploadTwoTone'\nimport ImageUploading from 'react-images-uploading'\nimport { uploadImage } from '_services'\nimport { estabelecimentoAction } from '_actions'\nimport { errorsUploadImage } from 'utils'\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n cover: {\n position: 'relative',\n height: 360,\n backgroundSize: 'cover',\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center',\n '&:before': {\n position: 'absolute',\n content: '\" \"',\n top: 0,\n left: 0,\n height: '100%',\n width: '100%',\n backgroundImage:\n 'linear-gradient(-180deg, rgba(0,0,0,0.00) 58%, rgba(0,0,0,0.32) 100%)'\n },\n '&:hover': {\n '& $changeButton': {\n visibility: 'visible'\n }\n }\n },\n coverDragging: {\n height: 360\n },\n changeButton: {\n visibility: 'hidden',\n position: 'absolute',\n bottom: theme.spacing(3),\n right: theme.spacing(3),\n backgroundColor: colors.blueGrey[900],\n color: theme.palette.white,\n [theme.breakpoints.down('md')]: {\n top: theme.spacing(3),\n bottom: 'auto'\n },\n '&:hover': {\n backgroundColor: colors.blueGrey[900]\n }\n },\n addPhotoIcon: {\n marginRight: theme.spacing(1)\n },\n container: {\n width: theme.breakpoints.values.lg,\n maxWidth: '100%',\n padding: theme.spacing(2, 3),\n margin: '0 auto',\n position: 'relative',\n display: 'flex',\n flexWrap: 'wrap',\n [theme.breakpoints.down('sm')]: {\n flexDirection: 'column'\n }\n },\n avatar: {\n border: `2px solid ${theme.palette.white}`,\n height: 120,\n width: 120,\n top: -60,\n left: theme.spacing(3),\n position: 'absolute',\n boxShadow: '0px 0px 7px 6px rgba(0,0,0,0.12)',\n borderRadius: '10px',\n webkitBorderRadius: '10px',\n mozBorderRadius: '10px'\n },\n details: {\n marginLeft: 136,\n [theme.breakpoints.down('xs')]: {\n maxWidth: theme.breakpoints.values.sm,\n marginLeft: 0,\n marginTop: 60\n }\n },\n actions: {\n marginLeft: 'auto',\n [theme.breakpoints.down('sm')]: {\n marginTop: theme.spacing(1)\n },\n '& > * + *': {\n marginLeft: theme.spacing(1)\n }\n },\n pendingButton: {\n color: theme.palette.white,\n backgroundColor: colors.red[600],\n '&:hover': {\n backgroundColor: colors.red[900]\n }\n },\n personAddIcon: {\n marginRight: theme.spacing(1)\n },\n mailIcon: {\n marginRight: theme.spacing(1)\n },\n backdrop: {\n zIndex: theme.zIndex.drawer + 1,\n color: '#fff'\n }\n}))\n\nconst Header = (props) => {\n const { className, ...rest } = props\n\n const classes = useStyles()\n\n const { estabelecimento } = useSelector((state) => ({\n estabelecimento: state.estabelecimento\n }))\n const [images, setImages] = useState([])\n const [open, setOpen] = useState(false)\n const dispatch = useDispatch()\n\n const onChange = (imageList) => {\n // data for submit\n setOpen(true)\n setImages(imageList)\n uploadImage(imageList[0])\n .then((response) => {\n let payload = {\n ...estabelecimento,\n banner: response\n }\n if (estabelecimento.id !== 0) {\n dispatch(\n estabelecimentoAction.editEstabelecimentoInfo(\n estabelecimento.id,\n payload\n )\n )\n }\n dispatch(estabelecimentoAction.onChangeProps('banner', response))\n setOpen(false)\n })\n .catch((err) => {\n console.log(err)\n setOpen(false)\n })\n }\n return (\n
    \n \n \n \n \n \n \n \n Enviando imagem...\n \n \n \n \n errorsUploadImage(errors)}\n value={images}\n onChange={onChange}\n dataURLKey=\"data_url\"\n >\n {({ onImageUpload, isDragging, dragProps }) => (\n \n {isDragging && (\n \n \n \n \n \n \n Solte a imagem aqui!\n \n \n \n )}\n \n \n {estabelecimento.banner !== null\n ? 'Trocar capa'\n : 'Adicionar capa'}\n \n
    \n )}\n \n
    \n \n
    \n \n @{estabelecimento.username}\n \n \n {estabelecimento.nome}\n \n
    \n
    \n \n )\n}\n\nHeader.propTypes = {\n className: PropTypes.string\n}\n\nexport default Header\n","import React, { useEffect, useState } from 'react'\nimport { connect, useDispatch } from 'react-redux'\nimport PropTypes from 'prop-types'\nimport validator from 'validator'\nimport {\n withStyles,\n Table,\n TableContainer,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Paper,\n Link,\n Avatar,\n IconButton,\n Tooltip,\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n DialogContentText,\n TextField,\n Grid,\n Typography\n} from '@material-ui/core'\nimport DeleteIcon from '@material-ui/icons/Delete'\nimport { withRouter, Link as RouterLink } from 'react-router-dom'\nimport { usuarioEstabelecimentoAction } from '../../../../../_actions'\nimport { useConfirm } from 'material-ui-confirm'\nimport getInitials from 'utils/getInitials'\nimport constants from 'theme/constants'\nimport { AccessControl } from 'components/Utils'\nconst styles = (theme) => ({\n root: {},\n paper: {\n ...constants.shadowCard\n },\n avatar: {\n height: 42,\n width: 42,\n marginRight: theme.spacing(1)\n },\n nameCell: {\n display: 'flex',\n alignItems: 'center'\n },\n addButton: {\n display: 'flex',\n justifyContent: 'flex-end',\n alignItems: 'right'\n }\n})\nconst Usuarios = (props) => {\n const [open, setOpen] = React.useState(false)\n const [email, setEmail] = React.useState('')\n\n const handleClickOpen = (event) => {\n setOpen(true)\n }\n\n const handleClose = () => {\n setOpen(false)\n }\n const handleSubmit = (event) => {\n event.preventDefault()\n if (validator.isEmail(email)) {\n let payload = {\n email: email,\n estabelecimentoId: props.usuarioEstabelecimento.estabelecimentoId\n }\n dispatch(usuarioEstabelecimentoAction.addUsuarioByEmail(payload))\n setOpen(false)\n }\n }\n\n const handleChange = (event) => {\n setEmail(event.target.value)\n }\n\n const confirm = useConfirm()\n const dispatch = useDispatch()\n const { classes, usuarioEstabelecimento } = props\n\n useEffect(() => {\n dispatch(\n usuarioEstabelecimentoAction.getUsuarioEstabelecimentoByEstabelecimento(\n usuarioEstabelecimento.estabelecimentoId\n )\n )\n }, [dispatch, usuarioEstabelecimento.estabelecimentoId])\n\n const handleDeleteClick = (id) => {\n confirm({\n title: 'Você deseja excluir este Usuário?',\n description:\n 'Confirmando essa operação, este usuário não terá mais acesso ao sistema.',\n confirmationText: 'Sim, excluir!',\n cancellationText: 'Nãããoo!'\n }).then(() => {\n dispatch(usuarioEstabelecimentoAction.deleteUsuarioById(id))\n })\n }\n\n return (\n
    \n
    \n \n
    \n {usuarioEstabelecimento.listUserPlace.length !== undefined &&\n usuarioEstabelecimento.listUserPlace.length !== 0 ? (\n \n \n Total de dados encontrados:{' '}\n {usuarioEstabelecimento.listUserPlace.length}\n \n \n ) : (\n \n {'Nenhum dado encontrado.'}\n \n )}\n \n \n \n \n Nome\n Email\n {/* Função */}\n Ações\n \n \n \n {undefined !== usuarioEstabelecimento.listUserPlace &&\n usuarioEstabelecimento.listUserPlace.length &&\n usuarioEstabelecimento.listUserPlace.map((n) => {\n return (\n \n \n
    \n \n {getInitials(n.usuario.nome)}\n \n (\n
    \n \n {n.usuario.nome}\n \n
    {n.usuario.email}
    \n
    \n )}\n no={() => (\n
    \n \n {n.usuario.nome}\n \n
    {n.usuario.email}
    \n
    \n )}\n />\n
    \n
    \n {/* {n.email} */}\n {n.usuario.email}\n \n handleDeleteClick(n.id)}\n >\n \n \n \n \n \n
    \n )\n })}\n
    \n
    \n
    \n \n Adicionar usuário\n
    \n \n \n Para vincular um usuário a este estabelecimento, é necessário\n informar o e-mail do usuário cadastrado no Corujas. Após o usuário\n aceitar o convite, o mesmo passará a ter privilégios para\n gerenciar o estabelecimento.\n \n \n \n \n \n \n \n
    \n \n
    \n )\n}\nUsuarios.propTypes = {\n classes: PropTypes.object.isRequired\n}\nconst mapStateToProps = (state) => {\n return {\n usuario: state.usuario,\n usuarioEstabelecimento: state.usuarioEstabelecimento\n }\n}\nconst connectedUsuarioPage = withRouter(\n connect(mapStateToProps, null, null, {\n pure: false\n })(withStyles(styles)(Usuarios))\n)\nexport { connectedUsuarioPage as Usuarios }\n","import React, { useEffect, useState } from 'react'\nimport { Map, GoogleApiWrapper, Marker, InfoWindow } from 'google-maps-react'\nimport Skeleton from '@material-ui/lab/Skeleton'\nimport { estabelecimentoAction } from '_actions'\nimport { useDispatch, useSelector } from 'react-redux'\n\nconst mapStyles = {\n width: '100%',\n position: 'relative',\n height: '300px',\n borderRadius: '10px'\n}\nconst containerStyle = {\n position: 'relative',\n width: '100%',\n height: '100%'\n}\n\nconst MapContainer = (props) => {\n const [showingInfoWindow, setShowingInfoWindow] = useState(false)\n const [activeMarker, setActiveMarker] = useState({})\n const [selectedPlace, setSelectedPlace] = useState({})\n const dispatch = useDispatch()\n const estabelecimento = useSelector((state) => state.estabelecimento)\n\n const onMarkerClick = (props, marker, e) => {\n setSelectedPlace(props)\n setActiveMarker(marker)\n setShowingInfoWindow(true)\n }\n\n const onClose = (props) => {\n if (showingInfoWindow) {\n setActiveMarker(null)\n setShowingInfoWindow(false)\n }\n }\n\n const onClick = (ref, map, coord) => {\n const { latLng } = coord\n const lat = latLng.lat()\n const lng = latLng.lng()\n let latLon = {\n x: lat,\n y: lng\n }\n dispatch(estabelecimentoAction.changeCoordinates(latLon))\n\n setActiveMarker(null)\n }\n\n return (\n
    \n {estabelecimento.latLon && (\n \n \n \n

    {estabelecimento.nome}

    \n
    {estabelecimento.endereco}
    \n
    \n {estabelecimento.bairro} - {estabelecimento.cep}\n
    \n \n \n )}\n
    \n )\n}\n\nconst LoadingContainer = (props) => (\n
    \n \n \n \n
    \n)\nexport default GoogleApiWrapper({\n language: 'pt-BR',\n apiKey: process.env.REACT_APP_MAPS_KEY,\n LoadingContainer: LoadingContainer\n})(MapContainer)\n","import React, { useEffect } from 'react'\nimport clsx from 'clsx'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { estabelecimentoAction } from '_actions'\nimport {\n Card,\n CardHeader,\n CardContent,\n CardActions,\n Grid,\n Button,\n Divider,\n makeStyles,\n Typography\n} from '@material-ui/core'\nimport Map from './map'\nimport Geocode from 'react-geocode'\nimport { history } from 'utils'\nimport constants from 'theme/constants'\n// set Google Maps Geocoding API for purposes of quota management. Its optional but recommended.\nGeocode.setApiKey(process.env.REACT_APP_MAPS_KEY)\n\n// set response language. Defaults to english.\nGeocode.setLanguage('pt-BR')\n\n// set response region. Its optional.\n// A Geocoding request with region=es (Spain) will return the Spanish city.\nGeocode.setRegion('pt-BR')\n\n// Enable or disable logs. Its optional.\nGeocode.enableDebug()\n\nconst useStyles = makeStyles(() => ({\n root: {},\n paper: {\n ...constants.shadowCard\n }\n}))\n\nconst Location = (props) => {\n const { className, ...rest } = props\n const classes = useStyles()\n const dispatch = useDispatch()\n const estabelecimento = useSelector((state) => state.estabelecimento)\n const { cidade } = useSelector((state) => state.cidade)\n const { estado } = useSelector((state) => state.estado)\n const usuarioId = useSelector((state) => state.authentication.user.id)\n const isAddPlace = useSelector(\n (state) => state.usuarioEstabelecimento.isAddPlace\n )\n // const onSubmit = props => {\n // let payload = {\n // id: estabelecimento.id,\n // latLon: [lat, long]\n // }\n // dispatch(estabelecimentoAction.editEstabelecimentoInfo(props.estabelecimento.id, payload));\n // };\n\n // useEffect(() => {\n // var options = {\n // enableHighAccuracy: true,\n // timeout: 5000,\n // maximumAge: 0\n // }\n\n // function success(position) {\n // const { latitude, longitude } = position.coords\n // setCoordinatesInit({\n // ...estabelecimento.latLon,\n // x: latitude,\n // y: longitude\n // })\n // }\n\n // function error(err) {\n // setCoordinatesInit({\n // ...estabelecimento.latLon,\n // x: -29.4487586,\n // y: -51.9659174\n // })\n // }\n\n // if (estabelecimento.latLon !== null) {\n // setCoordinatesInit({\n // ...estabelecimento.latLon,\n // x: estabelecimento.latLon.x,\n // y: estabelecimento.latLon.y\n // })\n // } else {\n // navigator.geolocation.getCurrentPosition(success, error, options)\n // }\n // }, [])\n\n useEffect(() => {\n if (!estabelecimento.id) {\n Geocode.fromAddress(\n prepareAddressFromState(estabelecimento, cidade, estado)\n ).then(\n (response) => {\n const { lat, lng } = response.results[0].geometry.location\n let latLon = {\n x: lat,\n y: lng\n }\n dispatch(estabelecimentoAction.changeCoordinates(latLon))\n },\n (error) => {\n console.error(error)\n }\n )\n }\n }, [])\n\n const onClickSaveButton = () => {\n let usuarioEstabelecimento = []\n usuarioEstabelecimento.push({\n id: 0,\n usuarioId: usuarioId,\n estabelecimentoId: 0\n })\n\n let payload = {\n id: estabelecimento.id,\n nome: estabelecimento.nome,\n detalhes: estabelecimento.detalhes,\n endereco: estabelecimento.endereco,\n numero: estabelecimento.numero,\n complemento: estabelecimento.complemento,\n capacidade: estabelecimento.capacidade,\n cidadeId: estabelecimento.cidadeId,\n estadoId: estabelecimento.estadoId,\n imagem: estabelecimento.imagem,\n banner: estabelecimento.banner,\n bairro: estabelecimento.bairro,\n cep: estabelecimento.cep,\n latLon: estabelecimento.latLon,\n username: estabelecimento.username,\n categoriaId: estabelecimento.categoriaId,\n repassarTaxa: estabelecimento.repassarTaxa,\n usuarioEstabelecimento: usuarioEstabelecimento,\n cpfCnpj: estabelecimento.cpfCnpj\n .split('.')\n .join('')\n .replace(/[-/.]/g, ''),\n estabelecimentoHashtag: estabelecimento.estabelecimentoHashtag\n }\n if (estabelecimento.id && !isAddPlace) {\n delete payload.usuarioEstabelecimento\n dispatch(\n estabelecimentoAction.editEstabelecimentoInfo(\n estabelecimento.id,\n payload\n )\n )\n } else {\n dispatch(estabelecimentoAction.createEstabelecimento(payload, isAddPlace))\n }\n }\n const prepareAddressFromState = (estabelecimento, cidade, estado) => {\n var estadoSelected = estado.find(\n (item) => item.id === estabelecimento.estadoId\n )\n var cidadeSelected = cidade.find(\n (item) => item.id === estabelecimento.cidadeId\n )\n return `${estabelecimento.endereco}, ${estabelecimento.numero} - ${estabelecimento.bairro} , ${cidadeSelected.nome} - ${estadoSelected.uf}, ${estabelecimento.cep}`\n }\n return (\n \n \n \n \n \n {estabelecimento.id\n ? 'Mantenha sempre a localização atualizada. '\n : 'Confirme se essa é a localização correta. '}\n Para alterar a localização é só clicar no mapa.{' '}\n \n Obs: A localização ajuda a Corujas a mostrar seu evento para as\n pessoas próximas do local.\n \n \n \n \n {estabelecimento.latLon && }\n \n \n \n \n \n history.push('general')}\n variant=\"contained\"\n color=\"inherit\"\n >\n Voltar\n \n \n \n \n )\n}\n\nexport default Location\n","import React from 'react'\nimport { useSelector } from 'react-redux'\nimport {\n Card,\n CardHeader,\n CardContent,\n Grid,\n Divider,\n Typography,\n Avatar\n} from '@material-ui/core'\nimport { makeStyles } from '@material-ui/styles'\nimport { HelperToolTip } from 'components'\nimport { getInitials } from 'utils'\n\nconst listNiveis = [\n {\n title: 'Alfa',\n subtitle: '0-25XP',\n image: `https://picsum.photos/2${Math.floor(\n Math.random() * 10\n )}${Math.floor(Math.random() * 10)}`,\n beneficios: [\n {\n title: '10%',\n subtitle: 'DE TAXA'\n },\n {\n title: '30 DIAS',\n subtitle: 'PARA PAGAMENTO'\n },\n {\n title: 'VISIBILIDADE ABAIXO DA MÉDIA',\n subtitle: ''\n }\n ]\n },\n {\n title: 'Beta',\n subtitle: '25-50XP',\n image: `https://picsum.photos/2${Math.floor(\n Math.random() * 10\n )}${Math.floor(Math.random() * 10)}`,\n beneficios: [\n {\n title: '10%',\n subtitle: 'DE TAXA'\n },\n {\n title: '30 DIAS',\n subtitle: 'PARA PAGAMENTO'\n },\n {\n title: 'VISIBILIDADE ABAIXO DA MÉDIA',\n subtitle: ''\n }\n ]\n },\n {\n title: 'Gama',\n subtitle: '50-75XP',\n image: `https://picsum.photos/2${Math.floor(\n Math.random() * 10\n )}${Math.floor(Math.random() * 10)}`,\n beneficios: [\n {\n title: '10%',\n subtitle: 'DE TAXA'\n },\n {\n title: '30 DIAS',\n subtitle: 'PARA PAGAMENTO'\n },\n {\n title: 'VISIBILIDADE ABAIXO DA MÉDIA',\n subtitle: ''\n }\n ]\n },\n {\n title: 'Delta',\n subtitle: '75-100XP',\n image: `https://picsum.photos/2${Math.floor(\n Math.random() * 10\n )}${Math.floor(Math.random() * 10)}`,\n beneficios: [\n {\n title: '10%',\n subtitle: 'DE TAXA'\n },\n {\n title: '30 DIAS',\n subtitle: 'PARA PAGAMENTO'\n },\n {\n title: 'VISIBILIDADE ABAIXO DA MÉDIA',\n subtitle: ''\n }\n ]\n }\n]\n\nconst listBeneficiosNivel = [\n {\n title: 'Taxa',\n subtitle: '10%',\n info: 'A Corujas ficará com 10% do valor do ingresso.',\n image: `https://picsum.photos/2${Math.floor(\n Math.random() * 10\n )}${Math.floor(Math.random() * 10)}`\n },\n {\n title: 'Prazo de Recebimento',\n subtitle: `X dias para receber!`,\n info: 'Você irá receber o pagamento dos eventos em X dias.',\n image: `https://picsum.photos/2${Math.floor(\n Math.random() * 10\n )}${Math.floor(Math.random() * 10)}`\n },\n {\n title: 'Visibilidade',\n subtitle: `Sua pontuação é: 6/10`,\n info:\n 'Quanto maior a pontuação, o estabelecimento estará mais visível na plataforma.',\n image: `https://picsum.photos/2${Math.floor(\n Math.random() * 10\n )}${Math.floor(Math.random() * 10)}`\n }\n]\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n content: {\n display: 'flex',\n alignItems: 'center',\n flexDirection: 'column',\n textAlgin: 'center'\n },\n rewardContent: {\n display: 'flex',\n alignItems: 'center',\n flexDirection: 'row',\n textAlign: 'center'\n },\n avatar: {\n height: 130,\n width: 130\n },\n cardNivel: {\n borderRadius: '8px',\n webkitBorderRadius: '8px',\n mozBorderRadius: '8px',\n boxShadow: '0px 2px 8px rgb(0 0 0 / 8%)',\n height: '350px'\n },\n cardNextNiveis: {\n borderRadius: '8px',\n webkitBorderRadius: '8px',\n mozBorderRadius: '8px',\n boxShadow: '0px 2px 8px rgb(0 0 0 / 8%)'\n },\n cardBeneficio: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n borderRadius: '8px'\n },\n card: {\n minHeight: '350px',\n borderRadius: '8px',\n webkitBorderRadius: '8px',\n mozBorderRadius: '8px',\n boxShadow: '0px 2px 8px rgb(0 0 0 / 8%)'\n },\n alignContentCenter: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n paddingTop: theme.spacing(3)\n }\n}))\n\nconst Level = () => {\n const classes = useStyles()\n const estabelecimento = useSelector((state) => state.estabelecimento)\n\n return (\n \n \n \n \n \n \n \n {getInitials(estabelecimento.nome)}\n \n \n {estabelecimento.nome}\n \n \n Nível atual: Alfa 6/100 xp\n \n \n \n \n \n \n \n \n \n \n {listBeneficiosNivel.map((item, index) => (\n \n \n \n
    \n \n
    \n \n \n {item.subtitle}\n \n {item.info}\n \n
    \n
    \n ))}\n
    \n
    \n
    \n
    \n \n \n \n \n \n \n {listNiveis.map((item, index) => (\n \n \n
    \n \n
    \n \n \n {item.title}\n \n \n {item.subtitle}\n \n {item.beneficios.map((item, index) => (\n \n {item.title} {item.subtitle}\n \n ))}\n \n
    \n
    \n ))}\n
    \n
    \n
    \n
    \n
    \n )\n}\n\nexport default Level\n","import React, { useEffect, useState } from 'react'\r\nimport { useSelector } from 'react-redux'\r\nimport { useConfirm } from 'material-ui-confirm'\r\nimport { toast } from 'react-toastify'\r\nimport { TextValidator, ValidatorForm } from 'react-material-ui-form-validator'\r\n\r\nimport {\r\n Box,\r\n Card,\r\n CardContent,\r\n CardHeader,\r\n Divider,\r\n Grid,\r\n Button,\r\n makeStyles,\r\n Typography,\r\n Collapse,\r\n CardActions,\r\n InputAdornment,\r\n CircularProgress\r\n} from '@material-ui/core'\r\n\r\nimport FacebookIcon from '@material-ui/icons/Facebook'\r\nimport EditIcon from '@material-ui/icons/Edit'\r\nimport SaveIcon from '@material-ui/icons/Save'\r\nimport PowerOffIcon from '@material-ui/icons/PowerOff'\r\nimport PowerIcon from '@material-ui/icons/Power'\r\n\r\n//? Own imports\r\nimport AccessDenied from 'views/Errors/AccessDenied'\r\nimport { HelperToolTip, Page } from 'components'\r\nimport { AccessControl } from 'components/Utils'\r\nimport constants from 'theme/constants'\r\nimport { Estabelecimento } from 'types/api'\r\nimport { useMutationEditEstablishment } from 'hooks-querys'\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {},\r\n card: {\r\n ...constants.shadowCard,\r\n marginBottom: theme.spacing(2)\r\n },\r\n content: {\r\n padding: theme.spacing(2)\r\n },\r\n actions: {\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n padding: theme.spacing(0, 0, 2, 2)\r\n },\r\n gridContainer: {\r\n marginTop: theme.spacing(1)\r\n },\r\n inputField: {\r\n marginTop: theme.spacing(2)\r\n },\r\n subtitle: {\r\n marginTop: theme.spacing(1)\r\n },\r\n connectedMessage: {\r\n marginTop: theme.spacing(1),\r\n color: theme.palette.success.main\r\n }\r\n}))\r\n\r\nconst Integrations = () => {\r\n const classes = useStyles()\r\n const confirm = useConfirm()\r\n const estabelecimento = useSelector(\r\n //@ts-ignore\r\n (state) => state.estabelecimento as Estabelecimento\r\n )\r\n\r\n const { mutateAsync, isLoading } = useMutationEditEstablishment(\r\n estabelecimento?.id\r\n )\r\n const pixelId = estabelecimento?.facebookPixelId\r\n const [inputPixelId, setInputPixelId] = useState(pixelId || '')\r\n const [isEditing, setIsEditing] = useState(false)\r\n const isEdition = pixelId?.localeCompare(inputPixelId) !== 0\r\n const isSameString = pixelId?.localeCompare(inputPixelId) !== 0\r\n\r\n const isConnected = !!pixelId\r\n const showInput = isEditing || isConnected\r\n const showCardActions = isEditing || isConnected\r\n const showConnectButton = !isConnected && !isEditing\r\n const showRemoveButton = !isEditing && isConnected && !isEdition\r\n const showCancelButton = isEditing\r\n const buttonTitle = isLoading ? 'Conectando...' : 'Conectar'\r\n\r\n useEffect(() => {\r\n setInputPixelId(estabelecimento?.facebookPixelId || '')\r\n }, [estabelecimento])\r\n\r\n const handlePressRemoveButton = () => {\r\n confirm({\r\n title: 'Você deseja desconectar o Pixel?',\r\n description: (\r\n
    \r\n \r\n Ao desconectar, o Pixel do Facebook deixará de rastrear os eventos e\r\n conversões deste estabelecimento.\r\n \r\n \r\n Obs: Essa ação pode impactar negativamente o desempenho de suas\r\n campanhas.\r\n \r\n
    \r\n ),\r\n confirmationText: 'Sim, desconectar!',\r\n cancellationText: 'Não, cancelar'\r\n }).then(() => {\r\n mutateAsync({\r\n ...estabelecimento,\r\n facebookPixelId: null\r\n })\r\n .then(() => {\r\n setInputPixelId('')\r\n setIsEditing(false)\r\n toast.success('Facebook pixel desconectado com sucesso!')\r\n })\r\n .finally(() => {})\r\n })\r\n }\r\n const handleSavePixelId = () => {\r\n if (inputPixelId.trim() !== '') {\r\n setIsEditing(false)\r\n mutateAsync({\r\n ...estabelecimento,\r\n facebookPixelId: inputPixelId\r\n })\r\n .then(() => {\r\n toast.success(\r\n isEdition\r\n ? 'Facebook pixel alterado com sucesso!'\r\n : 'Facebook pixel conectado com sucesso!'\r\n )\r\n })\r\n .finally(() => {})\r\n }\r\n }\r\n\r\n const handlePressEdit = () => {\r\n setIsEditing(true)\r\n }\r\n\r\n const handleChangePixelId = (event: React.ChangeEvent) => {\r\n setInputPixelId(event.target.value)\r\n }\r\n\r\n const handlePressConnectButton = () => {\r\n setIsEditing(!isEditing)\r\n }\r\n const handlePressCancelEditButton = () => {\r\n setIsEditing(false)\r\n setInputPixelId(pixelId || '')\r\n }\r\n\r\n useEffect(() => {\r\n ValidatorForm.addValidationRule('isValidFacebookPixelId', (value) => {\r\n if (value?.length < 15 || value?.length > 20) {\r\n return false\r\n } else {\r\n return true\r\n }\r\n })\r\n\r\n return () => {\r\n ValidatorForm.removeValidationRule('isValidFacebookPixelId')\r\n }\r\n }, [])\r\n\r\n return (\r\n (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Facebook Pixel\r\n \r\n {showConnectButton && (\r\n \r\n }\r\n startIcon={}\r\n >\r\n {buttonTitle}\r\n \r\n )}\r\n {showCancelButton && (\r\n \r\n Cancelar\r\n \r\n )}\r\n {showRemoveButton && (\r\n }\r\n endIcon={\r\n isLoading && \r\n }\r\n >\r\n {isLoading ? 'Desconectando...' : 'Desconectar'}\r\n \r\n )}\r\n \r\n {isConnected && (\r\n \r\n Pixel conectado com sucesso!\r\n \r\n )}\r\n \r\n Use o Facebook Pixel para rastrear e otimizar seus\r\n anúncios, alcançando mais clientes e medindo o\r\n desempenho de suas campanhas em tempo real.\r\n \r\n \r\n \r\n {isEditing && (\r\n 20\r\n ? 'error'\r\n : inputPixelId?.length >= 15\r\n ? 'primary'\r\n : 'initial'\r\n }\r\n >\r\n {inputPixelId?.length || 0}/20\r\n \r\n )}\r\n \r\n O Pixel ID é um identificador único para o\r\n seu Pixel do Facebook. Para encontrá-lo,\r\n acesse o Gerenciador de Eventos do Facebook,\r\n selecione o pixel desejado e copie o ID\r\n fornecido. Insira este ID aqui para conectar\r\n o pixel com sucesso.\r\n \r\n \r\n )\r\n }}\r\n label=\"Pixel ID\"\r\n variant=\"outlined\"\r\n inputProps={{ type: 'number' }}\r\n fullWidth\r\n className={classes.inputField}\r\n placeholder=\"Insira seu Pixel ID aqui\"\r\n value={inputPixelId}\r\n onChange={handleChangePixelId}\r\n disabled={!isEditing}\r\n />\r\n \r\n \r\n {showCardActions && (\r\n \r\n {isConnected && !isEditing && (\r\n }\r\n onClick={handlePressEdit}\r\n disabled={isLoading}\r\n endIcon={\r\n isLoading && \r\n }\r\n >\r\n {isLoading\r\n ? 'Salvando alteração...'\r\n : 'Editar Pixel ID'}\r\n \r\n )}\r\n {isEditing && (\r\n }\r\n type=\"submit\"\r\n disabled={isLoading || !isSameString}\r\n >\r\n Salvar\r\n \r\n )}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n // @ts-ignore\r\n no={() => }\r\n />\r\n )\r\n}\r\n\r\nexport default Integrations\r\n","import React from 'react'\r\nimport { withRouter, Redirect } from 'react-router-dom'\r\nimport { connect, useDispatch, useSelector } from 'react-redux'\r\nimport PropTypes from 'prop-types'\r\nimport LocationCityRoundedIcon from '@material-ui/icons/LocationCityRounded'\r\nimport PeopleOutlineRoundedIcon from '@material-ui/icons/PeopleOutlineRounded'\r\nimport LocationOnRoundedIcon from '@material-ui/icons/LocationOnRounded'\r\nimport SettingsInputComponentRoundedIcon from '@material-ui/icons/SettingsInputComponentRounded'\r\nimport {\r\n Tabs,\r\n Tab,\r\n Divider,\r\n colors,\r\n withStyles,\r\n Button,\r\n Box,\r\n useMediaQuery,\r\n useTheme\r\n} from '@material-ui/core'\r\nimport { Page } from 'components'\r\nimport {\r\n Header,\r\n General,\r\n Location,\r\n Usuarios,\r\n Level,\r\n Integrations\r\n} from './components'\r\nimport { estabelecimentoAction } from '../../../_actions'\r\nimport { usuarioEstabelecimentoAction } from '_actions'\r\n\r\nconst styles = (theme) => ({\r\n root: {\r\n padding: theme.spacing(3)\r\n },\r\n tabs: {},\r\n divider: {\r\n backgroundColor: colors.grey[300]\r\n },\r\n content: {\r\n marginTop: theme.spacing(3)\r\n },\r\n box: {\r\n display: 'flex',\r\n justifyContent: 'flex-end',\r\n alignItems: 'flex-end',\r\n [theme.breakpoints.down('sm')]: {\r\n marginBottom: theme.spacing(3)\r\n }\r\n },\r\n bottomLeftBox: {\r\n display: 'flex',\r\n justifyContent: 'flex-end',\r\n alignItems: 'flex-end'\r\n }\r\n})\r\n\r\nconst EstabelecimentoEdit = (props) => {\r\n const { match, history } = props\r\n const { classes } = props\r\n const { tab } = match.params\r\n const dispatch = useDispatch()\r\n const theme = useTheme()\r\n const isMobile = useMediaQuery(theme.breakpoints.down('xs'))\r\n const isAddPlace = useSelector((state) => {\r\n return state.usuarioEstabelecimento.isAddPlace\r\n })\r\n const { usuarioEstabelecimento } = useSelector(\r\n (state) => state.usuarioEstabelecimento\r\n )\r\n\r\n const hasEstabelecimentoSelected = useSelector((state) => {\r\n if (\r\n state.usuarioEstabelecimento.estabelecimentoId === '' ||\r\n state.usuarioEstabelecimento.estabelecimentoId === undefined\r\n ) {\r\n return false\r\n }\r\n return true\r\n })\r\n\r\n const handleTabsChange = (event, value) => {\r\n history.push(value)\r\n }\r\n\r\n const getUsuarioEstabelecimentoId = useSelector((state) => {\r\n return state.usuarioEstabelecimento.id\r\n })\r\n\r\n const getBackupIndex = useSelector((state) => {\r\n let indexBackup = state.usuarioEstabelecimento.usuarioEstabelecimento.findIndex(\r\n (item) => item.id === state.usuarioEstabelecimento.backupId\r\n )\r\n return indexBackup\r\n })\r\n\r\n const handleAddPlace = () => {\r\n if (!isAddPlace) {\r\n dispatch(\r\n usuarioEstabelecimentoAction.setIsAddPlace(\r\n true,\r\n getUsuarioEstabelecimentoId\r\n )\r\n )\r\n dispatch(estabelecimentoAction.clearFields())\r\n history.push('/estabelecimento/general')\r\n } else {\r\n dispatch(\r\n usuarioEstabelecimentoAction.changeDetailsUsuarioEstabelecimento(\r\n usuarioEstabelecimento[getBackupIndex]\r\n )\r\n )\r\n dispatch(usuarioEstabelecimentoAction.setIsAddPlace(false, ''))\r\n }\r\n }\r\n\r\n const tabs = []\r\n {\r\n //Adicionar outro estabelecimento\r\n isAddPlace &&\r\n tabs.push({\r\n value: 'general',\r\n label: 'Adicionar',\r\n icon: \r\n })\r\n }\r\n {\r\n //Primeiro estabelecimento ou edição\r\n !isAddPlace &&\r\n tabs.push({\r\n value: 'general',\r\n label: 'Geral',\r\n icon: \r\n })\r\n }\r\n {\r\n //Definir melhor a localização via maps\r\n //isAddPlace &&\r\n tabs.push({\r\n disabled: !hasEstabelecimentoSelected || isAddPlace,\r\n value: 'location',\r\n label: 'Localização',\r\n icon: \r\n })\r\n }\r\n {\r\n //Tab de Usuários\r\n hasEstabelecimentoSelected &&\r\n !isAddPlace &&\r\n tabs.push({\r\n value: 'users',\r\n label: 'Usuários ',\r\n icon: \r\n })\r\n }\r\n {\r\n //Tab de Integrações\r\n hasEstabelecimentoSelected &&\r\n !isAddPlace &&\r\n tabs.push({\r\n value: 'integrations',\r\n label: 'Integrações ',\r\n icon: \r\n })\r\n }\r\n /*{\r\n //Level Tab\r\n hasEstabelecimentoSelected &&\r\n !isAddPlace &&\r\n tabs.push({\r\n value: 'level',\r\n label: 'Nível ',\r\n icon: \r\n })\r\n }*/\r\n\r\n if (!tab) {\r\n return \r\n }\r\n\r\n if (!tabs.find((t) => t.value === tab)) {\r\n return \r\n }\r\n\r\n return (\r\n <>\r\n
    \r\n \r\n <>\r\n {hasEstabelecimentoSelected && (\r\n \r\n \r\n {!isAddPlace\r\n ? 'Adicionar Outro Estabelecimento'\r\n : 'Cancelar Adição'}\r\n \r\n \r\n )}\r\n \r\n \r\n {tabs.map((tab) => (\r\n \r\n ))}\r\n \r\n \r\n
    \r\n {tab === 'general' && }\r\n {tab === 'location' && }\r\n {tab === 'users' && }\r\n {tab === 'level' && }\r\n {tab === 'integrations' && }\r\n
    \r\n \r\n \r\n )\r\n}\r\n\r\nEstabelecimentoEdit.propTypes = {\r\n history: PropTypes.object.isRequired,\r\n match: PropTypes.object.isRequired,\r\n classes: PropTypes.object.isRequired\r\n}\r\nconst mapStateToProps = (state) => {\r\n return {\r\n estabelecimento: state.estabelecimento,\r\n usuarioEstabelecimento: state.usuarioEstabelecimento\r\n }\r\n}\r\nconst connectedEstabelecimentoEditPage = withRouter(\r\n connect(mapStateToProps, null, null, {\r\n pure: false\r\n })(withStyles(styles)(EstabelecimentoEdit))\r\n)\r\nexport { connectedEstabelecimentoEditPage as EstabelecimentoEdit }\r\n","import React from 'react'\nimport { makeStyles } from '@material-ui/styles'\nimport { Button, Grid, Typography } from '@material-ui/core'\nimport Image from 'material-ui-image'\nimport { history } from 'utils'\nconst useStyles = makeStyles((theme) => ({\n root: {},\n noResultText: {\n paddingTop: theme.spacing(6),\n paddingBottom: theme.spacing(1),\n textAlign: 'center'\n },\n image: { marginTop: theme.spacing(3) },\n button: {\n '&:hover': {\n backgroundColor: theme.palette.primary.main,\n boxShadow: '0 9px 40px -14px #FFC20A',\n webkitTransition: ' all 300ms ease',\n transition: 'all 300ms ease',\n letterSpacing: '1.2px'\n }\n }\n}))\nconst EmptyFirstCupomDesconto = () => {\n const classes = useStyles()\n const handleClickCupomDesconto = () => {\n history.push(`/cupomDescontos/cadastro`)\n }\n return (\n
    \n \n \n \n \n \n \n Você ainda não cadastrou nenhum cupom de desconto\n \n \n \n \n Cadastrar cupom! 🎟\n \n \n \n
    \n )\n}\n\nexport default EmptyFirstCupomDesconto\n","import React, { useEffect, useState } from 'react'\r\nimport { connect, useDispatch, useSelector } from 'react-redux'\r\nimport { cupomDescontoAction, eventoAction, loteAction } from '_actions'\r\nimport PropTypes from 'prop-types'\r\nimport {\r\n withStyles,\r\n Table,\r\n TableContainer,\r\n TableBody,\r\n TableCell,\r\n TableHead,\r\n TableRow,\r\n Paper,\r\n IconButton,\r\n Tooltip,\r\n Typography,\r\n useMediaQuery,\r\n Box,\r\n CircularProgress,\r\n Select,\r\n InputLabel,\r\n FormControl,\r\n Switch,\r\n InputAdornment,\r\n TextField,\r\n useTheme,\r\n Chip,\r\n MenuItem\r\n} from '@material-ui/core'\r\nimport DeleteIcon from '@material-ui/icons/Delete'\r\nimport EditIcon from '@material-ui/icons/Edit'\r\nimport { useLocation, useParams, withRouter } from 'react-router-dom'\r\nimport { history } from '../../utils'\r\nimport ShareIcon from '@material-ui/icons/Share'\r\nimport { useConfirm } from 'material-ui-confirm'\r\nimport { toLocalDateFormat } from 'utils'\r\nimport { AccessControl } from '../../components/Utils/AccessControl'\r\nimport DoneRoundedIcon from '@material-ui/icons/DoneRounded'\r\nimport DoneAllRoundedIcon from '@material-ui/icons/DoneAllRounded'\r\nimport { Page } from 'components'\r\nimport EmptyFirstCupomDesconto from './components/EmptyFirstCupomDesconto/EmptyFirstCupomDesconto'\r\nimport constants from 'theme/constants'\r\nimport { toast } from 'react-toastify'\r\nimport { shareEventCouponCode } from 'utils/linkShare'\r\nimport { Autocomplete } from '@material-ui/lab'\r\nimport { useEvents } from 'hooks-querys'\r\n\r\nconst styles = (theme) => ({\r\n root: {},\r\n paper: {\r\n ...constants.shadowCard\r\n },\r\n formControl: {\r\n width: '100%',\r\n marginBottom: theme.spacing(2)\r\n },\r\n selectEmpty: {\r\n marginTop: theme.spacing(2)\r\n }\r\n})\r\n\r\nfunction useSearchQuery() {\r\n const { search } = useLocation()\r\n return React.useMemo(() => new URLSearchParams(search), [search])\r\n}\r\n\r\nconst CuponsDescontoList = (props) => {\r\n const confirm = useConfirm()\r\n const dispatch = useDispatch()\r\n const { classes } = props\r\n const [selectedEvento, setSelectedEvento] = useState({\r\n id: 0,\r\n nome: '',\r\n dataHoraInicio: null,\r\n dataHoraFim: null\r\n })\r\n const [eventoInputValue, setEventoInputValue] = useState('')\r\n const [loteId, setLoteId] = useState(0)\r\n const [showPastEvents, setShowPastEvents] = useState(false)\r\n const estabelecimentoId = useSelector(\r\n (state) => state.usuarioEstabelecimento.estabelecimentoId\r\n )\r\n const { cupomDesconto, isLoading } = useSelector(\r\n (state) => state.cupomDesconto\r\n )\r\n const { lote: lotes } = useSelector((state) => state.evento)\r\n const theme = useTheme()\r\n const isMobile = useMediaQuery(theme.breakpoints.down('xs'))\r\n const querySearch = useSearchQuery()\r\n const {\r\n data: events,\r\n isLoading: isLoadingEvents,\r\n isFetching: isFetchingEvents\r\n } = useEvents(estabelecimentoId, showPastEvents, isMobile)\r\n\r\n useEffect(() => {\r\n setSelectedEvento({\r\n id: 0,\r\n nome: '',\r\n dataHoraInicio: null,\r\n dataHoraFim: null\r\n })\r\n setLoteId(0)\r\n setShowPastEvents(false)\r\n setEventoInputValue('')\r\n }, [estabelecimentoId])\r\n\r\n useEffect(() => {\r\n if (isMobile) {\r\n dispatch(eventoAction.getAllEventosByEstabelecimento(estabelecimentoId))\r\n } else {\r\n dispatch(\r\n eventoAction.getEventoByEstabelecimento(\r\n estabelecimentoId,\r\n showPastEvents\r\n )\r\n )\r\n }\r\n }, [estabelecimentoId, showPastEvents, isMobile])\r\n\r\n useEffect(() => {\r\n dispatch(\r\n cupomDescontoAction.getListCupomDesconto(\r\n loteId,\r\n selectedEvento ? selectedEvento.id : 0,\r\n estabelecimentoId\r\n )\r\n )\r\n }, [selectedEvento, loteId, estabelecimentoId])\r\n\r\n useEffect(() => {\r\n if (selectedEvento === null || selectedEvento.id === 0) {\r\n setLoteId(0)\r\n }\r\n }, [selectedEvento])\r\n\r\n useEffect(() => {\r\n if (selectedEvento && selectedEvento.id > 0) {\r\n dispatch(loteAction.getLotesByEvento(selectedEvento.id))\r\n }\r\n }, [selectedEvento])\r\n\r\n useEffect(() => {\r\n //? função executada para buscar o evento o qual esta na url (?eventId=)\r\n //? se não existir evento na url não faz nada\r\n\r\n const eventId = querySearch.get('eventoId') || 0\r\n if (eventId && Number(eventId) > 0) {\r\n const event =\r\n events &&\r\n events.length > 0 &&\r\n events.find((e) => e.id === Number(eventId))\r\n //? se encontrar o evento na url, seta o evento selecionado,\r\n //? se não encontrar, troca a o estado showPastEvents para true,\r\n //? pois o evento informado pode ser um evento passado, e não existir na lista de eventos;\r\n //? com isso, a lista de evento efetua um novo fetch para buscar os eventos passados,\r\n //? e gera um novo efeito colateral caindo nesse useEffect novamente\r\n\r\n if (event) {\r\n setSelectedEvento(event)\r\n } else if (selectedEvento === null) {\r\n setShowPastEvents(!showPastEvents)\r\n }\r\n }\r\n }, [events])\r\n\r\n const handleClick = (id) => {\r\n confirm({\r\n title: 'Você deseja excluir esse cupom de desconto?',\r\n description: 'Confirmando essa operação, ele não valerá mais.',\r\n confirmationText: 'Sim, excluir!',\r\n cancellationText: 'Nãããoo!'\r\n }).then(() => {\r\n dispatch(cupomDescontoAction.deleteCupomDescontoById(id))\r\n })\r\n }\r\n\r\n return (\r\n \r\n \r\n {\r\n setSelectedEvento(newValue)\r\n if (reason === 'clear') {\r\n //? se o usuário clicar no botão limpar\r\n setEventoInputValue('')\r\n history.push('/cupomDescontos')\r\n }\r\n }}\r\n getOptionLabel={(evento) =>\r\n evento.nome &&\r\n `${evento.nome} ${\r\n evento.dataHoraInicio\r\n ? ` - (${toLocalDateFormat(evento.dataHoraInicio)})`\r\n : ''\r\n }`\r\n }\r\n placeholder=\"Selecione o evento...\"\r\n onInputChange={(event, newInputValue) => {\r\n newInputValue !== null\r\n ? setEventoInputValue(newInputValue)\r\n : setEventoInputValue('')\r\n }}\r\n inputValue={eventoInputValue}\r\n renderInput={(params) => (\r\n \r\n {!isMobile && (\r\n \r\n <>\r\n {isFetchingEvents && (\r\n \r\n )}\r\n {\r\n setShowPastEvents(event.target.checked)\r\n }}\r\n checked={showPastEvents}\r\n size=\"small\"\r\n inputProps={{\r\n 'aria-label': 'Listar eventos encerrados'\r\n }}\r\n />\r\n {\r\n setShowPastEvents(!showPastEvents)\r\n }}\r\n />\r\n \r\n \r\n )}\r\n {params.InputProps.endAdornment}\r\n \r\n )\r\n }}\r\n />\r\n )}\r\n />\r\n \r\n {selectedEvento && selectedEvento.id > 0 && lotes && lotes.length > 0 && (\r\n \r\n \r\n Filtrar por lote\r\n \r\n setLoteId(event.target.value)}\r\n fullWidth\r\n displayEmpty\r\n labelId=\"lote-select-label\"\r\n >\r\n {loteId === 0 ? (\r\n \r\n Selecione o lote...\r\n \r\n ) : (\r\n \r\n Limpar seleção\r\n \r\n )}\r\n {lotes &&\r\n lotes.length > 0 &&\r\n lotes.map((row) => (\r\n \r\n {row.tipoIngresso\r\n ? `${row.tipoIngresso.descricao} - ${row.descricao}`\r\n : row.descricao}\r\n \r\n ))}\r\n \r\n \r\n )}\r\n {isLoading ? (\r\n \r\n \r\n \r\n Carregando dados...\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n // \r\n (\r\n
    \r\n {cupomDesconto && cupomDesconto.length > 0 ? (\r\n \r\n Total de dados encontrados: {cupomDesconto.length}\r\n \r\n ) : null}\r\n {undefined !== cupomDesconto && cupomDesconto.length ? (\r\n \r\n \r\n \r\n \r\n Código\r\n % Desconto\r\n Valor Desconto\r\n Quantidade Mínima\r\n \r\n Limite de Utilização\r\n \r\n \r\n Data Início Validade\r\n \r\n \r\n Data Término Validade\r\n \r\n Evento\r\n Lote\r\n Ações\r\n \r\n \r\n \r\n {cupomDesconto.map((n) => {\r\n return (\r\n \r\n \r\n {n.codigo}\r\n \r\n \r\n {n.percentualDesconto !== null &&\r\n n.percentualDesconto !== ''\r\n ? `${n.percentualDesconto}%`\r\n : '-----'}\r\n \r\n \r\n {n.valorDesconto !== null &&\r\n n.valorDesconto !== ''\r\n ? Intl.NumberFormat('pt-BR', {\r\n style: 'currency',\r\n currency: 'BRL'\r\n }).format(n.valorDesconto)\r\n : '-----'}\r\n \r\n \r\n {n.quantidadeMinima}\r\n \r\n \r\n {n.quantidade}\r\n \r\n \r\n {toLocalDateFormat(n.dataInicioValidade)}\r\n \r\n \r\n {toLocalDateFormat(n.dataTerminoValidade)}\r\n \r\n \r\n {n.eventoId ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n {n.loteId ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n {selectedEvento && selectedEvento.id > 0 ? (\r\n {\r\n const link = await shareEventCouponCode(\r\n selectedEvento,\r\n n\r\n )\r\n navigator.clipboard.writeText(link)\r\n toast.success(\r\n `Link para o evento com aplicação automática do cupom ${n.codigo} copiado com sucesso! 🎉`,\r\n {\r\n autoClose: 4000\r\n }\r\n )\r\n }}\r\n >\r\n \r\n \r\n ) : (\r\n {\r\n toast.warn(\r\n 'Selecione um evento para poder copiar o link com a aplicação automática deste cupom!',\r\n {\r\n autoClose: 8000\r\n }\r\n )\r\n }}\r\n >\r\n \r\n \r\n )}\r\n \r\n (\r\n \r\n history.push(\r\n `/cupomDesconto/cadastro/${n.id}`\r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n )}\r\n />\r\n (\r\n handleClick(n.id)}\r\n >\r\n \r\n \r\n \r\n \r\n )}\r\n />\r\n \r\n \r\n )\r\n })}\r\n \r\n
    \r\n
    \r\n ) : (\r\n \r\n )}\r\n
    \r\n )}\r\n />\r\n )}\r\n
    \r\n )\r\n}\r\nCuponsDescontoList.propTypes = {\r\n classes: PropTypes.object.isRequired\r\n}\r\nconst mapStateToProps = (state) => {\r\n return {\r\n cupomDesconto: state.cupomDesconto,\r\n estabelecimentoId: state.usuarioEstabelecimento.estabelecimentoId\r\n }\r\n}\r\nconst connectedCupomDescontoPage = withRouter(\r\n connect(mapStateToProps, null, null, {\r\n pure: false\r\n })(withStyles(styles)(CuponsDescontoList))\r\n)\r\nexport { connectedCupomDescontoPage as CuponsDescontoList }\r\n","import React, { useEffect } from 'react'\nimport {\n Card,\n CardHeader,\n CardContent,\n CardActions,\n Divider,\n MenuItem,\n Button,\n Tooltip,\n Grid,\n Checkbox,\n FormControlLabel,\n InputAdornment\n} from '@material-ui/core'\nimport {\n ValidatorForm,\n TextValidator,\n SelectValidator\n} from 'react-material-ui-form-validator'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { cupomDescontoAction, eventoAction, loteAction } from '_actions'\nimport { HelperToolTip, ValidatedDatePicker } from 'components/'\nimport { toast } from 'react-toastify'\nimport { toISODateFormat, validateDates } from 'utils'\nimport { history } from 'utils'\nimport { isValid } from 'date-fns'\nimport { Page } from 'components'\nimport { makeStyles } from '@material-ui/styles'\nimport { useParams } from 'react-router-dom'\nimport constants from 'theme/constants'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n // padding: theme.spacing(2)\n },\n paper: {\n ...constants.shadowCard\n }\n}))\n\nconst CupomDescontoEdit = (props) => {\n const dispatch = useDispatch()\n const classes = useStyles()\n const { cupomDesconto, usuarioEstabelecimento } = useSelector(\n (state) => state\n )\n const { evento, lote } = useSelector((state) => state.evento)\n\n const params = useParams()\n const handleChange = (prop) => (event) => {\n dispatch(cupomDescontoAction.onChangeProps(prop, event))\n }\n\n const selectValidOnAllEventos = () => (event) => {\n dispatch(cupomDescontoAction.selectValidOnAllEventos(event))\n }\n\n const cancelClick = () => {\n dispatch(cupomDescontoAction.clear())\n history.goBack()\n }\n\n useEffect(() => {\n if (\n cupomDesconto.eventoId !== null &&\n cupomDesconto.eventoId !== undefined &&\n cupomDesconto.eventoId !== ''\n ) {\n dispatch(loteAction.getLotesByEvento(cupomDesconto.eventoId))\n }\n }, [cupomDesconto.eventoId])\n\n useEffect(() => {\n if (params.idCupomDesconto) {\n dispatch(cupomDescontoAction.getCupomDescontoById(params.idCupomDesconto))\n } else {\n dispatch(cupomDescontoAction.clear())\n }\n\n dispatch(\n eventoAction.getEventoByEstabelecimento(\n usuarioEstabelecimento.estabelecimentoId\n )\n )\n ValidatorForm.addValidationRule('isValidDate', (value) => {\n if (value !== null && value !== undefined) {\n return isValid(new Date(toISODateFormat(value)))\n } else {\n return true\n }\n })\n\n return () => {\n ValidatorForm.removeValidationRule('isValidDate')\n }\n }, [])\n\n const handleSubmit = (event) => {\n event.preventDefault()\n\n if (\n !validateDates(\n cupomDesconto.dataInicioValidade,\n cupomDesconto.dataTerminoValidade\n )\n ) {\n toast.error('Opss! 😥 Datas incorretas, revise por favor!')\n window.scrollTo({\n top: 0,\n behavior: 'smooth'\n })\n } else if (\n (cupomDesconto.percentualDesconto === '' ||\n cupomDesconto.percentualDesconto === null) &&\n (cupomDesconto.valorDesconto === '' ||\n cupomDesconto.valorDesconto === null)\n ) {\n toast.error(\n 'Opss! 😥 Você precisa inserir o percentual ou o valor do desconto!'\n )\n window.scrollTo({\n top: 0,\n behavior: 'smooth'\n })\n } else {\n let payload = {\n id: params.idCupomDesconto,\n codigo: cupomDesconto.codigo,\n percentualDesconto: cupomDesconto.percentualDesconto,\n valorDesconto: cupomDesconto.valorDesconto,\n dataInicioValidade: toISODateFormat(cupomDesconto.dataInicioValidade),\n dataTerminoValidade: toISODateFormat(cupomDesconto.dataTerminoValidade),\n estabelecimentoId: usuarioEstabelecimento.estabelecimentoId,\n eventoId: cupomDesconto.eventoId,\n loteId: cupomDesconto.loteId,\n quantidadeMinima: cupomDesconto.quantidadeMinima,\n quantidade: cupomDesconto.quantidade\n }\n\n if (params.idCupomDesconto) {\n dispatch(\n cupomDescontoAction.editCupomDescontoInfo(\n params.idCupomDesconto,\n payload\n )\n )\n dispatch(cupomDescontoAction.clear())\n } else {\n dispatch(cupomDescontoAction.createCupomDesconto(payload))\n dispatch(cupomDescontoAction.clear())\n }\n }\n }\n\n const handleChangeData = (prop, newValue) => {\n dispatch(cupomDescontoAction.onChangeData(prop, newValue))\n }\n\n return (\n \n \n \n
    \n \n handleSubmit(event)}\n >\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Quantidade mínima de ingressos para o cupom valer\n \n \n )\n }}\n variant=\"outlined\"\n id=\"quantidade_minima\"\n label=\"Quantidade Mínima *\"\n value={cupomDesconto.quantidadeMinima}\n onChange={handleChange('quantidadeMinima')}\n fullWidth\n type=\"number\"\n inputProps={{\n min: '1'\n }}\n validators={['required', 'minNumber:1']}\n errorMessages={[\n 'Campo obrigatório!',\n 'O valor deve ser maior ou igual a 1!'\n ]}\n />\n \n \n \n \n O Limite de Utilização é renovado a cada evento\n \n \n )\n }}\n variant=\"outlined\"\n id=\"quantidade\"\n label=\"Limite de utilização\"\n value={cupomDesconto.quantidade}\n onChange={handleChange('quantidade')}\n fullWidth\n type=\"number\"\n inputProps={{\n min: '1'\n }}\n />\n \n \n \n handleChangeData('dataInicioValidade', newValue)\n }\n disablePast\n format=\"dd/MM/yyyy HH:mm\"\n invalidDateMessage=\"Data inválida!\"\n invalidLabel=\"dd/MM/aaaa HH:mm\"\n maxDateMessage=\"A data não deve ser posterior à data máxima\"\n minDateMessage=\"A data não deve ser anterior à data de hoje\"\n cancelLabel=\"Cancelar\"\n okLabel=\"Definir\"\n clearable\n clearLabel=\"Limpar\"\n placeholder=\"dd/MM/aaaa HH:mm\"\n todayLabel=\"Hoje\"\n defaultValue={undefined}\n openTo=\"month\"\n views={['month', 'date', 'hours', 'minutes']}\n />\n \n \n \n handleChangeData('dataTerminoValidade', newValue)\n }\n disablePast\n minDate={toISODateFormat(\n cupomDesconto.dataTerminoValidade\n )}\n format=\"dd/MM/yyyy HH:mm\"\n invalidDateMessage=\"Data inválida!\"\n invalidLabel=\"dd/MM/aaaa HH:mm\"\n maxDateMessage=\"A data não deve ser posterior à data máxima\"\n minDateMessage=\"A data não deve ser anterior à data de início\"\n cancelLabel=\"Cancelar\"\n okLabel=\"Definir\"\n clearable\n clearLabel=\"Limpar\"\n placeholder=\"dd/MM/aaaa HH:mm\"\n todayLabel=\"Hoje\"\n defaultValue={undefined}\n openTo=\"month\"\n views={['month', 'date', 'hours', 'minutes']}\n />\n \n \n \n }\n />\n \n {!cupomDesconto.validOnAllEventos && (\n \n \n \n \n Evento\n \n {evento &&\n evento.length > 0 &&\n evento.map((row) => (\n \n {row.nome}\n \n ))}\n \n \n \n 0 ? false : true}\n className={classes.textField}\n value={cupomDesconto.loteId}\n onChange={handleChange('loteId')}\n InputLabelProps={{\n shrink: true\n }}\n fullWidth\n displayEmpty\n labelId=\"loteId\"\n >\n \n Lote\n \n \n Limpar seleção\n \n {lote !== undefined &&\n lote.map((row) => (\n \n {row.tipoIngresso\n ? `${row.tipoIngresso.descricao} - ${row.descricao}`\n : row.descricao}\n \n ))}\n \n \n \n )}\n \n \n \n \n cancelClick()}\n color=\"secondary\"\n variant=\"outlined\"\n >\n Cancelar\n \n \n \n \n \n
    \n
    \n \n )\n}\n\nexport default CupomDescontoEdit\n","import React from 'react'\r\nimport {\r\n TableBody,\r\n Table,\r\n makeStyles,\r\n TableCell,\r\n TableContainer,\r\n TableHead,\r\n TableRow,\r\n Paper,\r\n Typography,\r\n Toolbar,\r\n Tooltip,\r\n IconButton\r\n} from '@material-ui/core'\r\nimport { formatCurrency } from 'utils'\r\nimport ReactToPrint from 'react-to-print'\r\nimport { CSVLink } from 'react-csv'\r\nimport PrintRoundedIcon from '@material-ui/icons/PrintRounded'\r\nimport GetAppRoundedIcon from '@material-ui/icons/GetAppRounded'\r\nimport constants from 'theme/constants'\r\nimport { toast } from 'react-toastify'\r\n\r\nconst headers = [\r\n { label: 'Código do Cupom', key: 'cupomDesconto' },\r\n { label: 'N.º de Utilizações', key: 'quantidadeUtilizacao' },\r\n { label: 'Valor Total (R$)', key: 'valorTotal' },\r\n { label: 'Valor Desconto (R$)', key: 'valorDesconto' }\r\n]\r\n\r\nconst prepareDataForCSV = (cuponsDescontoResult) => {\r\n return cuponsDescontoResult.map((row) => ({\r\n cupomDesconto: row.cupomDesconto,\r\n quantidadeUtilizacao: row.quantidadeUtilizacao,\r\n valorTotal: row.valorTotal,\r\n valorDesconto: row.valorDesconto\r\n }))\r\n}\r\n\r\nconst handleDownload = () => {\r\n toast.success('Download concluído com sucesso! 👍', {\r\n position: 'top-right'\r\n })\r\n}\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n rootToolbarStyles: {\r\n paddingLeft: theme.spacing(2),\r\n paddingRight: theme.spacing(1)\r\n },\r\n titleToolbarStyles: {\r\n flex: '1 1 100%'\r\n },\r\n paper: {\r\n width: '100%',\r\n marginBottom: theme.spacing(2),\r\n ...constants.shadowCard\r\n }\r\n}))\r\n\r\nconst TableUtilizacao = ({ cuponsDescontoResult }) => {\r\n const classes = useStyles()\r\n const refTable = React.useRef(null)\r\n const csvData = prepareDataForCSV(cuponsDescontoResult)\r\n return (\r\n <>\r\n
    \r\n {cuponsDescontoResult && cuponsDescontoResult.length !== 0 ? (\r\n <>\r\n \r\n Total de dados encontrados: {cuponsDescontoResult.length}\r\n \r\n \r\n \r\n \r\n Relatório de Utilizações\r\n \r\n {\r\n handleDownload()\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n content={() => refTable.current}\r\n />\r\n \r\n \r\n {cuponsDescontoResult && cuponsDescontoResult.length > 0 && (\r\n \r\n \r\n \r\n Código\r\n N.º de Utilizações\r\n Valor Total (R$)\r\n Valor Desconto (R$)\r\n \r\n \r\n \r\n {cuponsDescontoResult.map((row) => (\r\n \r\n \r\n {row.cupomDesconto ? row.cupomDesconto : '-----'}\r\n \r\n \r\n {row.quantidadeUtilizacao\r\n ? row.quantidadeUtilizacao\r\n : '-----'}\r\n \r\n \r\n {formatCurrency(row.valorTotal)}\r\n \r\n \r\n {formatCurrency(row.valorDesconto)}\r\n \r\n \r\n ))}\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n ) : (\r\n \r\n {'Nenhum dado encontrado.'}\r\n \r\n )}\r\n
    \r\n \r\n )\r\n}\r\n\r\nexport default TableUtilizacao\r\n","import {\n FormControl,\n InputLabel,\n makeStyles,\n Select,\n MenuItem,\n CircularProgress,\n Box,\n Typography,\n TextField,\n Chip,\n InputAdornment,\n Switch,\n useMediaQuery,\n useTheme\n} from '@material-ui/core'\nimport { Autocomplete } from '@material-ui/lab'\nimport { Page } from 'components'\nimport React, { useEffect, useState } from 'react'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { cupomDescontoAction, eventoAction, loteAction } from '_actions'\nimport TableUtilizacao from './components/TableUtilizacao'\nimport { toLocalDateFormat } from 'utils'\nconst useStyles = makeStyles((theme) => ({\n root: {},\n formControl: {\n width: '100%',\n marginBottom: theme.spacing(2)\n },\n selectEmpty: {\n marginTop: theme.spacing(2)\n },\n divider: {\n height: 28,\n margin: 4\n }\n}))\n\nconst CuponsDescontoUtilizacao = () => {\n const classes = useStyles()\n const [selectedEvento, setSelectedEvento] = useState({\n id: 0,\n nome: '',\n dataHoraInicio: null\n })\n const [eventoInputValue, setEventoInputValue] = useState('')\n const [loteId, setLoteId] = useState(0)\n const [showPastEvents, setShowPastEvents] = useState(false)\n const dispatch = useDispatch()\n const estabelecimentoId = useSelector(\n (state) => state.usuarioEstabelecimento.estabelecimentoId\n )\n const eventos = useSelector((state) => state.evento.evento)\n const { utilizacaoCuponsDesconto, isLoading } = useSelector(\n (state) => state.cupomDesconto\n )\n const { lote: lotes } = useSelector((state) => state.evento)\n const theme = useTheme()\n const isMobile = useMediaQuery(theme.breakpoints.down('xs'))\n\n useEffect(() => {\n setSelectedEvento({\n id: 0,\n nome: '',\n dataHoraInicio: null\n })\n setLoteId(0)\n setShowPastEvents(false)\n setEventoInputValue('')\n }, [estabelecimentoId])\n\n useEffect(() => {\n if (isMobile) {\n dispatch(eventoAction.getAllEventosByEstabelecimento(estabelecimentoId))\n } else {\n dispatch(\n eventoAction.getEventoByEstabelecimento(\n estabelecimentoId,\n showPastEvents\n )\n )\n }\n }, [estabelecimentoId, showPastEvents, isMobile])\n\n useEffect(() => {\n dispatch(\n cupomDescontoAction.getUtilizacaoCupomDesconto(\n loteId,\n selectedEvento ? selectedEvento.id : 0,\n estabelecimentoId\n )\n )\n }, [selectedEvento, loteId, estabelecimentoId])\n\n useEffect(() => {\n if (selectedEvento === null || selectedEvento.id === 0) {\n setLoteId(0)\n }\n }, [selectedEvento])\n\n useEffect(() => {\n if (selectedEvento && selectedEvento.id > 0) {\n dispatch(loteAction.getLotesByEvento(selectedEvento.id))\n }\n }, [selectedEvento])\n\n return (\n \n \n {\n setSelectedEvento(newValue)\n }}\n getOptionLabel={(evento) =>\n evento.nome &&\n `${evento.nome} ${\n evento.dataHoraInicio\n ? ` - (${toLocalDateFormat(evento.dataHoraInicio)})`\n : ''\n }`\n }\n placeholder=\"Selecione o evento...\"\n onInputChange={(event, newInputValue) => {\n newInputValue !== null\n ? setEventoInputValue(newInputValue)\n : setEventoInputValue('')\n }}\n inputValue={eventoInputValue}\n renderInput={(params) => (\n \n {!isMobile && (\n \n <>\n {\n setShowPastEvents(event.target.checked)\n }}\n checked={showPastEvents}\n size=\"small\"\n inputProps={{\n 'aria-label': 'Listar eventos encerrados'\n }}\n />\n {\n setShowPastEvents(!showPastEvents)\n }}\n />\n \n \n )}\n {params.InputProps.endAdornment}\n \n )\n }}\n />\n )}\n />\n \n {selectedEvento && selectedEvento.id > 0 && lotes && lotes.length > 0 && (\n \n \n Filtrar por lote\n \n setLoteId(event.target.value)}\n fullWidth\n displayEmpty\n labelId=\"lote-select-label\"\n >\n {loteId === 0 ? (\n \n Selecione o lote...\n \n ) : (\n \n Limpar seleção\n \n )}\n {lotes &&\n lotes.length > 0 &&\n lotes.map((row) => (\n \n {row.tipoIngresso\n ? `${row.tipoIngresso.descricao} - ${row.descricao}`\n : row.descricao}\n \n ))}\n \n \n )}\n {isLoading ? (\n \n \n \n Carregando dados...\n \n \n \n \n \n \n ) : (\n \n )}\n \n )\n}\n\nexport default CuponsDescontoUtilizacao\n","import React from 'react'\nimport { Redirect, useParams } from 'react-router-dom'\nimport ListRoundedIcon from '@material-ui/icons/ListRounded'\nimport {\n Tabs,\n Tab,\n Divider,\n colors,\n makeStyles,\n useTheme,\n useMediaQuery\n} from '@material-ui/core'\nimport AddCircleTwoToneIcon from '@material-ui/icons/AddCircleTwoTone'\nimport PieChartTwoToneIcon from '@material-ui/icons/PieChartTwoTone'\nimport EditTwoToneIcon from '@material-ui/icons/EditTwoTone'\nimport { Page, Header } from 'components'\nimport { CuponsDescontoList } from './CuponsDescontoList'\nimport CupomDescontoEdit from './CupomDescontoEdit'\nimport CuponsDescontoUtilizacao from './CuponsDescontoUtilizacao/CuponsDescontoUtilizacao'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(3, 2, 2, 2)\n },\n tabs: {\n marginTop: theme.spacing(3)\n },\n divider: {\n backgroundColor: colors.grey[300]\n },\n content: {\n marginTop: theme.spacing(3)\n }\n}))\n\nconst CuponsDesconto = (props) => {\n const { match, history } = props\n const { tab } = match.params\n const classes = useStyles()\n const theme = useTheme()\n const isMobile = useMediaQuery(theme.breakpoints.down('xs'))\n const { idCupomDesconto, eventoId } = useParams()\n const handleTabsChange = (event, value) => {\n history.push(`/cupomDescontos/${value}`)\n }\n\n const tabs = [\n { value: 'lista', label: 'Lista', icon: },\n {\n value: 'cadastro',\n label: idCupomDesconto ? 'Editar' : 'Cadastrar',\n icon: idCupomDesconto ? : ,\n disabled: idCupomDesconto ? true : false\n },\n {\n value: 'utilizacao',\n label: 'Utilização',\n icon: \n }\n ]\n\n if (!tab) {\n return \n }\n\n if (!tabs.find((t) => t.value === tab)) {\n return \n }\n\n return (\n \n \n \n {tabs.map((tab) => (\n \n ))}\n \n \n
    \n {tab === 'lista' && }\n {tab === 'cadastro' && }\n {tab === 'utilizacao' && }\n
    \n
    \n )\n}\n\nexport default CuponsDesconto\n","import React, { useEffect } from 'react'\nimport { connect, useDispatch } from 'react-redux'\nimport { categoriaAction } from '../../_actions'\nimport PropTypes from 'prop-types'\nimport {\n withStyles,\n Table,\n TableContainer,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Paper,\n IconButton,\n Tooltip\n} from '@material-ui/core'\nimport DeleteIcon from '@material-ui/icons/Delete'\nimport EditIcon from '@material-ui/icons/Edit'\nimport { withRouter } from 'react-router-dom'\nimport { history } from '../../utils'\nimport TitleContent from '../TitleContent'\nimport { useConfirm } from 'material-ui-confirm'\nimport { AccessControl } from '../../components/Utils/AccessControl'\nimport AccessDenied from '../Errors/AccessDenied'\nimport { Page } from 'components'\nimport constants from 'theme/constants'\n\nconst styles = (theme) => ({\n root: {\n padding: theme.spacing(3, 2, 2, 2)\n },\n paper: {\n ...constants.shadowCard\n }\n})\n\nconst Categoria = (props) => {\n const confirm = useConfirm()\n const dispatch = useDispatch()\n const { classes } = props\n const { categoria } = props.categoria\n\n useEffect(() => {\n dispatch(categoriaAction.getCategoria())\n }, [dispatch])\n\n const handleClick = (id) => {\n confirm({\n title: 'Você deseja excluir este Categoria?',\n description:\n 'Confirmando essa operação, você não poderá cadastrar novos lotes com este tipo de categoria.',\n confirmationText: 'Sim, excluir!',\n cancellationText: 'Nãããoo!'\n }).then(() => {\n dispatch(categoriaAction.deleteCategoriaById(id))\n })\n }\n\n return (\n \n (\n
    \n {undefined !== categoria && categoria.length > 0 ? (\n \n ) : (\n \n )}\n \n \n \n \n Descrição\n Ações\n \n \n \n {undefined !== categoria && categoria.length\n ? categoria.map((n) => {\n return (\n \n \n {n.descricao}\n \n \n (\n \n history.push(`/categoria/${n.id}`)\n }\n size=\"small\"\n >\n \n \n \n \n \n \n )}\n />\n (\n handleClick(n.id)}\n size=\"small\"\n >\n \n \n \n \n )}\n />\n \n \n )\n })\n : null}\n \n
    \n
    \n
    \n )}\n no={() => }\n />\n
    \n )\n}\nCategoria.propTypes = {\n classes: PropTypes.object.isRequired\n}\nconst mapStateToProps = (state) => {\n return {\n categoria: state.categoria\n }\n}\nconst connectedCategoriaPage = withRouter(\n connect(mapStateToProps, null, null, {\n pure: false\n })(withStyles(styles)(Categoria))\n)\nexport { connectedCategoriaPage as Categoria }\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport { withStyles } from '@material-ui/core/styles'\nimport Typography from '@material-ui/core/Typography'\nimport {\n Card,\n CardHeader,\n CardContent,\n CardActions,\n Divider,\n Button,\n TextField,\n Grid\n} from '@material-ui/core'\nimport {\n ValidatorForm,\n TextValidator,\n SelectValidator\n} from 'react-material-ui-form-validator'\nimport { connect } from 'react-redux'\nimport { categoriaAction } from '../../_actions'\nimport { withRouter } from 'react-router-dom'\nimport { history } from '../../utils'\nimport { Page } from 'components'\nimport constants from 'theme/constants'\n\nconst styles = (theme) => ({\n root: {\n padding: theme.spacing(2)\n },\n paper: {\n ...constants.shadowCard\n }\n})\n\nclass CategoriaEdit extends Component {\n handleChange = (prop) => (event) => {\n const { dispatch } = this.props\n dispatch(categoriaAction.onChangeProps(prop, event))\n }\n\n componentDidMount() {\n const {\n match: { params }\n } = this.props\n const { dispatch } = this.props\n if (params.id) {\n dispatch(categoriaAction.getCategoriaById(params.id))\n } else {\n dispatch(categoriaAction.clear())\n }\n }\n\n handleSubmit(event) {\n const {\n match: { params }\n } = this.props\n const { dispatch } = this.props\n\n let payload = {\n id: params.id,\n descricao: this.props.categoria.descricao\n }\n\n if (params.id) {\n dispatch(categoriaAction.editCategoriaInfo(params.id, payload))\n } else {\n dispatch(categoriaAction.createCategoria(payload))\n }\n }\n\n render() {\n const { classes } = this.props\n const {\n match: { params }\n } = this.props\n\n function InsertText() {\n return (\n \n {'Nova Categoria'}\n \n )\n }\n\n function EditText() {\n return (\n \n {'Editar Categoria'}\n \n )\n }\n function SegHeader() {\n if (params.id) {\n return \n }\n return \n }\n return (\n \n \n \n
    \n this.handleSubmit(event)}\n >\n }\n />\n \n \n \n \n \n \n history.push('/categorias')}\n variant=\"outlined\"\n >\n Cancelar\n \n \n \n \n \n
    \n
    \n \n )\n }\n}\nCategoriaEdit.propTypes = {\n classes: PropTypes.object.isRequired\n}\nconst mapStateToProps = (state) => {\n return state\n}\n\nconst connectedCategoriaEditPage = withRouter(\n connect(mapStateToProps, null, null, {\n pure: false\n })(withStyles(styles)(CategoriaEdit))\n)\nexport { connectedCategoriaEditPage as CategoriaEdit }\n","import React, { useEffect, useState } from 'react'\nimport { connect, useDispatch, useSelector } from 'react-redux'\nimport { hashtagAction } from '../../_actions'\nimport PropTypes from 'prop-types'\nimport { withRouter } from 'react-router-dom'\nimport { history } from '../../utils'\nimport TitleContent from '../TitleContent'\nimport { AccessControl } from '../../components/Utils/AccessControl'\nimport AccessDenied from '../Errors/AccessDenied'\nimport { Page } from 'components'\nimport { useDidMountEffect } from 'utils/useDidMountEffect'\n///////////////////////////////////////////////////////////////////////////////\n// material-ui imports\nimport {\n withStyles,\n Table,\n TableContainer,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Paper,\n IconButton,\n Tooltip,\n TextField,\n InputAdornment,\n Divider,\n Grid\n} from '@material-ui/core'\nimport DeleteIcon from '@material-ui/icons/Delete'\nimport EditIcon from '@material-ui/icons/Edit'\nimport { useConfirm } from 'material-ui-confirm'\nimport SearchRoundedIcon from '@material-ui/icons/SearchRounded'\nimport CloseIcon from '@material-ui/icons/Close'\nimport constants from 'theme/constants'\n\nconst styles = (theme) => ({\n root: {\n padding: theme.spacing(3, 2, 2, 2)\n },\n paper: {\n ...constants.shadowCard\n }\n})\n\nconst Hashtag = (props) => {\n const confirm = useConfirm()\n const dispatch = useDispatch()\n const { classes } = props\n const { hashtag } = props.hashtag\n const [text, setText] = useState('')\n const { categoria } = useSelector((state) => state.categoria)\n\n const handleChangeText = (event) => {\n setText(event.target.value)\n }\n\n function searchForHashtag() {\n text !== '' && dispatch(hashtagAction.getHashtags('', '', text, '', ''))\n }\n\n const handleSubmitSearch = (event) => {\n event.preventDefault()\n searchForHashtag()\n }\n\n const handleDeleteClick = (id) => {\n confirm({\n title: 'Você deseja excluir esta Hashtag?',\n description:\n 'Confirmando essa operação, esta hashtag não estará mais disponível.',\n confirmationText: 'Sim, excluir!',\n cancellationText: 'Nãããoo!'\n }).then(() => {\n dispatch(hashtagAction.deleteHashtagById(id))\n searchForHashtag()\n })\n }\n\n const clearTextSearch = () => {\n setText('')\n dispatch(hashtagAction.getHashtags('', '', '', '', ''))\n }\n\n useDidMountEffect(() => {\n text === '' && searchForHashtag()\n }, [text])\n\n useEffect(() => {\n dispatch(hashtagAction.getHashtags('', '', '', '', ''))\n }, [dispatch])\n\n function getCategoriaName(categoriaId) {\n const categoriaItem = categoria.find((element) => element.id == categoriaId)\n if (categoriaItem !== (undefined && null)) {\n return categoriaItem.descricao\n }\n }\n\n return (\n \n (\n
    \n {undefined !== hashtag && hashtag.length > 0 ? (\n \n ) : (\n \n )}\n \n \n
    \n \n {text.length >= 1 && (\n <>\n \n \n \n \n \n )}\n \n \n \n \n )\n }}\n fullWidth\n value={text}\n onChange={handleChangeText}\n variant=\"outlined\"\n id=\"textForSearch\"\n label=\"Procurar\"\n placeholder=\"Busque hashtags...\"\n />\n \n
    \n
    \n \n \n \n \n Nome\n Categoria\n Ações\n \n \n \n {undefined !== hashtag && hashtag.length\n ? hashtag.map((n) => {\n return (\n \n \n {n.descricao}\n \n \n {getCategoriaName(n.categoriaId)}\n \n \n (\n \n history.push(`/hashtag/${n.id}`)\n }\n size=\"small\"\n >\n \n \n \n \n \n \n )}\n />\n (\n handleDeleteClick(n.id)}\n size=\"small\"\n >\n \n \n \n \n )}\n />\n \n \n )\n })\n : null}\n \n
    \n
    \n
    \n )}\n no={() => }\n />\n
    \n )\n}\n\nHashtag.propTypes = {\n classes: PropTypes.object.isRequired\n}\n\nconst mapStateToProps = (state) => {\n return {\n hashtag: state.hashtag\n }\n}\n\nconst connectedHashtagPage = withRouter(\n connect(mapStateToProps, null, null, {\n pure: false\n })(withStyles(styles)(Hashtag))\n)\n\nexport { connectedHashtagPage as Hashtag }\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport { connect } from 'react-redux'\nimport { hashtagAction } from '../../_actions'\nimport { withRouter } from 'react-router-dom'\nimport { history } from '../../utils'\nimport { Page } from 'components'\n///////////////////////////////////////////////////////////////////////////////\n// material-ui imports\nimport { withStyles } from '@material-ui/core/styles'\nimport Typography from '@material-ui/core/Typography'\nimport {\n Card,\n CardHeader,\n CardContent,\n CardActions,\n Divider,\n Grid,\n Button,\n MenuItem\n} from '@material-ui/core'\nimport {\n ValidatorForm,\n TextValidator,\n SelectValidator\n} from 'react-material-ui-form-validator'\nimport { UploadField } from 'components/Utils/Uploads'\nimport { toast } from 'react-toastify'\nimport constants from 'theme/constants'\n\nconst styles = (theme) => ({\n root: {\n padding: theme.spacing(2)\n },\n paper: {\n ...constants.shadowCard\n }\n})\n\nclass HashtagEdit extends Component {\n getURL = (prop) => (url) => {\n const { dispatch } = this.props\n dispatch(hashtagAction.onChangeProps(prop, url))\n }\n\n handleChange = (prop) => (event) => {\n const { dispatch } = this.props\n dispatch(hashtagAction.onChangeProps(prop, event))\n }\n\n componentDidMount() {\n const {\n match: { params }\n } = this.props\n const { dispatch } = this.props\n if (params.id) {\n dispatch(hashtagAction.getHashtagById(params.id))\n } else {\n dispatch(hashtagAction.clear())\n }\n }\n\n handleSubmit(event) {\n const {\n match: { params }\n } = this.props\n const { dispatch } = this.props\n\n if (this.props.hashtag.imagem === ('' || null)) {\n toast.error('Você precisa adicionar uma imagem para a hashtag!')\n } else {\n let payload = {\n id: params.id,\n descricao: this.props.hashtag.descricao,\n imagem: this.props.hashtag.imagem,\n banner: this.props.hashtag.banner,\n categoriaId: this.props.hashtag.categoriaId\n }\n\n if (params.id) {\n dispatch(hashtagAction.editHashtagInfo(params.id, payload))\n } else {\n dispatch(hashtagAction.createHashtag(payload))\n }\n }\n }\n\n render() {\n const { classes } = this.props\n const {\n match: { params }\n } = this.props\n const { categoria } = this.props.categoria\n\n function InsertText() {\n return (\n \n {'Nova Hashtag'}\n \n )\n }\n\n function EditText() {\n return (\n \n {'Editar Hashtag'}\n \n )\n }\n\n function HeaderSelection() {\n if (params.id) {\n return \n }\n return \n }\n\n return (\n \n \n \n
    \n this.handleSubmit(event)}\n instantValidate\n >\n }\n />\n \n \n \n \n \n \n \n \n \n Categoria *\n \n {categoria.map((row) => (\n \n {row.descricao}\n \n ))}\n \n \n \n \n \n \n \n \n \n \n \n \n history.push('/hashtags')}\n variant=\"outlined\"\n >\n Cancelar\n \n \n \n \n \n
    \n
    \n \n )\n }\n}\n\nHashtagEdit.propTypes = {\n classes: PropTypes.object.isRequired\n}\n\nconst mapStateToProps = (state) => {\n return state\n}\n\nconst connectedHashtagEditPage = withRouter(\n connect(mapStateToProps, null, null, {\n pure: false\n })(withStyles(styles)(HashtagEdit))\n)\n\nexport { connectedHashtagEditPage as HashtagEdit }\n","import React, { useEffect, useState } from 'react'\nimport { connect, useDispatch } from 'react-redux'\nimport { conquistaAction } from '../../_actions'\nimport PropTypes from 'prop-types'\nimport { withRouter } from 'react-router-dom'\nimport { history } from '../../utils'\nimport TitleContent from '../TitleContent'\nimport { AccessControl } from '../../components/Utils/AccessControl'\nimport AccessDenied from '../Errors/AccessDenied'\nimport { Page } from 'components'\nimport { useDidMountEffect } from 'utils/useDidMountEffect'\n///////////////////////////////////////////////////////////////////////////////\n// material-ui imports\nimport {\n withStyles,\n Table,\n TableContainer,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Paper,\n IconButton,\n Tooltip,\n TextField,\n InputAdornment,\n Divider,\n Grid,\n Typography\n} from '@material-ui/core'\nimport DeleteIcon from '@material-ui/icons/Delete'\nimport EditIcon from '@material-ui/icons/Edit'\nimport { useConfirm } from 'material-ui-confirm'\nimport SearchRoundedIcon from '@material-ui/icons/SearchRounded'\nimport CloseIcon from '@material-ui/icons/Close'\nimport FileCopyRoundedIcon from '@material-ui/icons/FileCopyRounded'\n\nconst styles = (theme) => ({\n root: {\n padding: theme.spacing(3, 2, 2, 2)\n }\n})\n\nconst Conquista = (props) => {\n const confirm = useConfirm()\n const dispatch = useDispatch()\n const { classes } = props\n const { conquista } = props.conquista\n const [textSearch, setTextSearch] = useState('')\n\n const handleChangeText = (event) => {\n setTextSearch(event.target.value)\n }\n\n function searchForConquista() {\n if (textSearch !== '') {\n dispatch(conquistaAction.findConquistas(textSearch))\n }\n }\n\n const handleSubmitSearch = (event) => {\n event.preventDefault()\n searchForConquista()\n }\n\n const handleDeleteClick = (id) => {\n confirm({\n title: 'Você deseja excluir esta Conquista?',\n description:\n 'Confirmando essa operação, esta conquista não estará mais disponível.',\n confirmationText: 'Sim, excluir!',\n cancellationText: 'Nãããoo!'\n }).then(() => {\n dispatch(conquistaAction.deleteConquistaById(id))\n dispatch(conquistaAction.getConquistas())\n })\n }\n\n const handleClickDuplicate = (id) => {\n confirm({\n title: 'Você deseja duplicar essa conquista?',\n description: (\n
    \n \n Todos os dados serão copiados e você só precisa realizar as\n alterações necessárias.\n \n
    \n ),\n confirmationText: 'Sim, duplicar!',\n cancellationText: 'Não!'\n }).then(() => {\n dispatch(conquistaAction.duplicateConquista(id))\n })\n }\n\n const clearTextSearch = () => {\n setTextSearch('')\n dispatch(conquistaAction.getConquistas())\n }\n\n useDidMountEffect(() => {\n textSearch === '' && searchForConquista()\n }, [textSearch])\n\n useEffect(() => {\n dispatch(conquistaAction.getConquistas())\n }, [dispatch])\n\n return (\n \n (\n
    \n {undefined !== conquista && conquista.length > 0 ? (\n \n ) : (\n \n )}\n \n \n
    \n \n {textSearch.length >= 1 && (\n <>\n \n \n \n \n \n )}\n \n \n \n \n )\n }}\n fullWidth\n value={textSearch}\n onChange={handleChangeText}\n variant=\"outlined\"\n id=\"textForSearch\"\n label=\"Procurar\"\n placeholder=\"Busque conquistas...\"\n />\n \n
    \n
    \n \n \n \n \n Nome\n Descrição\n Experiêcia\n Ações\n \n \n \n {undefined !== conquista && conquista.length\n ? conquista.map((n) => {\n return (\n \n \n {n.nome}\n \n \n {n.descricao}\n \n \n {n.exp}\n \n \n (\n \n handleClickDuplicate(n.id)}\n >\n \n \n \n )}\n />\n (\n \n history.push(`/conquista/${n.id}`)\n }\n size=\"small\"\n >\n \n \n \n \n \n \n )}\n />\n (\n handleDeleteClick(n.id)}\n size=\"small\"\n >\n \n \n \n \n )}\n />\n \n \n )\n })\n : null}\n \n
    \n
    \n
    \n )}\n no={() => }\n />\n
    \n )\n}\n\nConquista.propTypes = {\n classes: PropTypes.object.isRequired\n}\n\nconst mapStateToProps = (state) => {\n return {\n conquista: state.conquista\n }\n}\n\nconst connectedHashtagPage = withRouter(\n connect(mapStateToProps, null, null, {\n pure: false\n })(withStyles(styles)(Conquista))\n)\n\nexport { connectedHashtagPage as Conquista }\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport { connect } from 'react-redux'\nimport { conquistaAction } from '../../_actions'\nimport { withRouter } from 'react-router-dom'\nimport { history } from '../../utils'\nimport { Page } from 'components'\nimport { toast } from 'react-toastify'\n///////////////////////////////////////////////////////////////////////////////\n// material-ui imports\nimport { withStyles } from '@material-ui/core/styles'\nimport Typography from '@material-ui/core/Typography'\nimport {\n Card,\n CardHeader,\n CardContent,\n CardActions,\n Divider,\n Grid,\n Button\n} from '@material-ui/core'\nimport { ValidatorForm, TextValidator } from 'react-material-ui-form-validator'\nimport { UploadField } from 'components/Utils/Uploads'\n\nconst styles = (theme) => ({\n root: {\n padding: theme.spacing(2)\n }\n})\n\nclass ConquistaEdit extends Component {\n getURL = (url) => {\n const { dispatch } = this.props\n dispatch(conquistaAction.onChangeProps('imagem', url))\n }\n\n handleChange = (prop) => (event) => {\n const { dispatch } = this.props\n dispatch(conquistaAction.onChangeProps(prop, event))\n }\n\n componentDidMount() {\n const {\n match: { params }\n } = this.props\n const { dispatch } = this.props\n if (params.id) {\n dispatch(conquistaAction.getConquistaById(params.id))\n }\n }\n\n handleSubmit(event) {\n const {\n match: { params }\n } = this.props\n const { dispatch } = this.props\n\n if (this.props.conquista.imagem === ('' || null)) {\n toast.error('Você precisa adicionar uma imagem para a conquista!')\n } else {\n let payload = {\n id: params.id,\n nome: this.props.conquista.nome,\n descricao: this.props.conquista.descricao,\n exp: this.props.conquista.experiencia,\n imagem: this.props.conquista.imagem\n }\n\n if (params.id) {\n dispatch(conquistaAction.editConquistaInfo(params.id, payload))\n } else {\n dispatch(conquistaAction.createConquista(payload))\n }\n }\n }\n\n handleCancel() {\n const { dispatch } = this.props\n history.push('/conquistas')\n dispatch(conquistaAction.clear())\n }\n\n render() {\n const { classes } = this.props\n const {\n match: { params }\n } = this.props\n\n function InsertText() {\n return (\n \n {'Nova Conquista'}\n \n )\n }\n\n function EditText() {\n return (\n \n {'Editar Conquista'}\n \n )\n }\n\n function HeaderSelection() {\n if (params.id) {\n return \n }\n return \n }\n\n return (\n \n \n \n
    \n this.handleSubmit(event)}\n >\n } />\n \n \n \n \n \n \n \n \n \n this.handleCancel()}\n variant=\"outlined\"\n >\n Cancelar\n \n \n \n \n \n
    \n
    \n \n )\n }\n}\n\nConquistaEdit.propTypes = {\n classes: PropTypes.object.isRequired\n}\n\nconst mapStateToProps = (state) => {\n return state\n}\n\nconst connectedHashtagEditPage = withRouter(\n connect(mapStateToProps, null, null, {\n pure: false\n })(withStyles(styles)(ConquistaEdit))\n)\n\nexport { connectedHashtagEditPage as ConquistaEdit }\n","import React, { useEffect } from 'react'\nimport { useDispatch, useSelector } from 'react-redux'\nimport {\n taxaAction,\n estabelecimentoAction,\n eventoAction,\n loteAction\n} from '../../_actions'\nimport PropTypes from 'prop-types'\nimport {\n makeStyles,\n Table,\n TableContainer,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Paper,\n IconButton,\n Tooltip\n} from '@material-ui/core'\nimport DeleteIcon from '@material-ui/icons/Delete'\nimport EditIcon from '@material-ui/icons/Edit'\nimport { formatCurrency, history } from '../../utils'\nimport TitleContent from '../TitleContent'\nimport { useConfirm } from 'material-ui-confirm'\nimport { AccessControl } from '../../components/Utils/AccessControl'\nimport { Page } from 'components'\nimport constants from 'theme/constants'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(3, 2, 2, 2)\n },\n paper: {\n ...constants.shadowCard\n }\n}))\n\nconst Taxa = () => {\n const confirm = useConfirm()\n const dispatch = useDispatch()\n const classes = useStyles()\n const { taxa } = useSelector((state) => state.taxa)\n const { estabelecimento } = useSelector((state) => state.estabelecimento)\n const { evento } = useSelector((state) => state.evento)\n const { lote } = useSelector((state) => state.lote)\n\n useEffect(() => {\n dispatch(taxaAction.getTaxa())\n dispatch(estabelecimentoAction.getEstabelecimento())\n dispatch(eventoAction.getAllEvents())\n dispatch(loteAction.getLote())\n }, [dispatch])\n\n const handleClick = (id) => {\n confirm({\n title: 'Você deseja excluir esta Taxa?',\n description: 'Confirmando essa operação, esta taxa não valerá mais.',\n confirmationText: 'Sim, excluir!',\n cancellationText: 'Nãããoo!'\n }).then(() => {\n dispatch(taxaAction.deleteTaxaById(id))\n })\n }\n\n function getEstabelecimentoNameById(estabelecimentoId) {\n let estabelecimentoObject = ''\n if (estabelecimento !== undefined) {\n estabelecimentoObject = estabelecimento.find(\n (element) => element.id == estabelecimentoId\n )\n if (estabelecimentoObject !== undefined) {\n return estabelecimentoObject.nome\n } else {\n return ''\n }\n } else {\n return ''\n }\n }\n\n function getEventoNameById(eventoId) {\n let eventoObject = ''\n if (evento !== undefined) {\n eventoObject = evento.find((element) => element.id == eventoId)\n if (eventoObject !== undefined) {\n return eventoObject.nome\n } else {\n return ''\n }\n } else {\n return ''\n }\n }\n\n function getLoteNameById(loteId) {\n let loteObject = ''\n if (lote !== undefined) {\n loteObject = lote.find((element) => element.id == loteId)\n if (loteObject !== undefined) {\n return loteObject.descricao\n } else {\n return ''\n }\n } else {\n return ''\n }\n }\n\n return (\n \n (\n
    \n {undefined !== taxa && taxa.length > 0 ? (\n \n ) : (\n \n )}\n \n \n \n \n Código\n Percentual (%)\n Valor (R$)\n Estabelecimento\n Evento\n Lote\n Ações\n \n \n \n {taxa.map((n) => {\n return (\n \n \n {n.id}\n \n \n {n.percentual !== null && n.percentual !== ''\n ? `${n.percentual}%`\n : '-----'}\n \n \n {n.valor !== null && n.valor !== ''\n ? formatCurrency(n.valor)\n : '-----'}\n \n \n {getEstabelecimentoNameById(n.estabelecimentoId)}\n \n \n {getEventoNameById(n.eventoId)}\n \n \n {getLoteNameById(n.loteId)}\n \n \n (\n history.push(`/taxa/${n.id}`)}\n >\n \n \n \n \n )}\n />\n (\n handleClick(n.id)}\n >\n \n \n \n \n )}\n />\n \n \n )\n })}\n \n
    \n
    \n
    \n )}\n />\n
    \n )\n}\nTaxa.propTypes = {\n classes: PropTypes.object.isRequired\n}\n\nexport default Taxa\n","import React, { useEffect } from 'react'\nimport PropTypes from 'prop-types'\nimport { eventoAction, estabelecimentoAction, loteAction } from '../../_actions'\nimport {\n Card,\n CardHeader,\n CardContent,\n CardActions,\n Divider,\n Button,\n MenuItem,\n Grid,\n Tooltip,\n makeStyles\n} from '@material-ui/core'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { taxaAction } from '../../_actions'\nimport { history } from '../../utils'\nimport {\n ValidatorForm,\n TextValidator,\n SelectValidator\n} from 'react-material-ui-form-validator'\nimport { Page } from 'components'\nimport { useDidMountEffect } from 'utils/useDidMountEffect'\nimport constants from 'theme/constants'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(2)\n },\n paper: {\n ...constants.shadowCard\n }\n}))\n\nconst TaxaEdit = (props) => {\n const classes = useStyles()\n const {\n match: { params }\n } = props\n\n const { estabelecimento } = useSelector((state) => state.estabelecimento)\n const { evento, lote } = useSelector((state) => state.evento)\n const taxa = useSelector((state) => state.taxa)\n const dispatch = useDispatch()\n\n const handleChange = (prop) => (event) => {\n dispatch(taxaAction.onChangeProps(prop, event))\n }\n\n useEffect(() => {\n dispatch(estabelecimentoAction.getEstabelecimento())\n if (params.id) {\n dispatch(taxaAction.getTaxaById(params.id))\n } else {\n dispatch(taxaAction.clear())\n }\n return () => {\n dispatch(taxaAction.clear())\n }\n }, [])\n\n useDidMountEffect(() => {\n taxa.estabelecimentoId !== null &&\n taxa.estabelecimentoId !== undefined &&\n taxa.estabelecimentoId !== '' &&\n dispatch(eventoAction.getEventoByEstabelecimento(taxa.estabelecimentoId))\n }, [taxa.estabelecimentoId])\n\n useDidMountEffect(() => {\n taxa.eventoId !== null &&\n taxa.eventoId !== undefined &&\n taxa.eventoId !== '' &&\n dispatch(loteAction.getLotesByEvento(taxa.eventoId))\n }, [taxa.eventoId])\n\n const handleSubmit = (event) => {\n event.preventDefault()\n let payload = {\n id: taxa.id,\n percentual: taxa.percentual,\n valor: taxa.valor,\n estabelecimentoId: taxa.estabelecimentoId,\n eventoId: taxa.eventoId,\n loteId: taxa.loteId\n }\n\n if (params.id) {\n dispatch(taxaAction.editTaxaInfo(params.id, payload))\n } else {\n dispatch(taxaAction.createTaxa(payload))\n }\n }\n\n return (\n \n
    \n \n \n handleSubmit(event)}\n >\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Estabelecimento *\n \n \n Limpar seleção\n \n {estabelecimento !== undefined &&\n estabelecimento.map((row) => (\n \n {row.nome + ' - ' + row.endereco}\n \n ))}\n \n \n \n 0 ? false : true}\n className={classes.textField}\n value={taxa.eventoId}\n onChange={handleChange('eventoId')}\n InputLabelProps={{\n shrink: true\n }}\n fullWidth\n displayEmpty\n labelId=\"eventoId\"\n >\n \n Evento\n \n \n Limpar seleção\n \n {evento !== undefined &&\n evento.map((row) => (\n \n {row.nome}\n \n ))}\n \n \n \n 0 ? false : true}\n className={classes.textField}\n value={taxa.loteId}\n onChange={handleChange('loteId')}\n InputLabelProps={{\n shrink: true\n }}\n fullWidth\n displayEmpty\n labelId=\"loteId\"\n >\n \n Lote\n \n \n Limpar seleção\n \n {lote !== undefined &&\n lote.map((row) => (\n \n {row.descricao}\n \n ))}\n \n \n \n \n \n \n history.push('/taxas')}\n variant=\"outlined\"\n >\n Cancelar\n \n \n \n \n \n \n
    \n
    \n )\n}\nTaxaEdit.propTypes = {\n classes: PropTypes.object.isRequired\n}\nexport default TaxaEdit\n","import React from 'react'\nimport { makeStyles } from '@material-ui/styles'\nimport { Button, Grid, Typography } from '@material-ui/core'\nimport Image from 'material-ui-image'\nimport { history } from 'utils'\nconst useStyles = makeStyles((theme) => ({\n root: {},\n noResultText: {\n paddingTop: theme.spacing(6),\n paddingBottom: theme.spacing(1),\n textAlign: 'center'\n },\n image: { marginTop: theme.spacing(3) },\n button: {\n '&:hover': {\n backgroundColor: theme.palette.primary.main,\n boxShadow: '0 9px 40px -14px #FFC20A',\n webkitTransition: ' all 300ms ease',\n transition: 'all 300ms ease',\n letterSpacing: '1.2px'\n }\n }\n}))\nconst EmptyFirstParametro = () => {\n const classes = useStyles()\n const handleClickParametro = () => {\n history.push(`/parametro`) //history.push(`/contaBancaria`)\n }\n return (\n
    \n \n \n \n Você ainda não cadastrou nenhum parâmetro\n \n \n \n \n Cadastrar agora!\n \n \n \n
    \n )\n}\n\nexport default EmptyFirstParametro\n","import React, { useEffect } from 'react'\nimport { connect, useDispatch } from 'react-redux'\nimport { parametroAction } from '../../_actions'\nimport PropTypes from 'prop-types'\nimport {\n withStyles,\n Table,\n TableContainer,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Paper,\n IconButton,\n Tooltip\n} from '@material-ui/core'\nimport DeleteIcon from '@material-ui/icons/Delete'\nimport EditIcon from '@material-ui/icons/Edit'\nimport { withRouter } from 'react-router-dom'\nimport { history } from '../../utils'\nimport TitleContent from '../TitleContent'\nimport { Page } from 'components'\nimport { useConfirm } from 'material-ui-confirm'\nimport { AccessControl } from '../../components/Utils/AccessControl'\nimport CheckCircleTwoToneIcon from '@material-ui/icons/CheckCircleTwoTone'\nimport EmptyFirstParametro from './components/EmptyFirstParametro/EmptyFirstParametro'\nimport constants from 'theme/constants'\nconst styles = (theme) => ({\n root: {\n padding: theme.spacing(3, 2, 2, 2)\n },\n paper: {\n ...constants.shadowCard\n }\n})\n\nconst Parametro = (props) => {\n const confirm = useConfirm()\n const dispatch = useDispatch()\n const { classes } = props\n const { parametro } = props.parametro\n\n useEffect(() => {\n dispatch(parametroAction.getParametro())\n }, [dispatch])\n\n const handleClick = (id) => {\n confirm({\n title: 'Você deseja excluir esta Parâmetro?',\n description: 'Confirmando essa operação, este parâmetro não valerá mais.',\n confirmationText: 'Sim, excluir!',\n cancellationText: 'Nãããoo!'\n }).then(() => {\n dispatch(parametroAction.deleteParametroById(id))\n })\n }\n\n return (\n \n (\n
    \n {undefined !== parametro && parametro.length > 0 ? (\n \n ) : (\n \n )}\n {undefined !== parametro && parametro.length > 0 ? (\n \n \n \n \n Chave\n Valor\n Descrição\n Ações\n \n \n \n {parametro.map((n) => {\n return (\n \n \n {n.chave}\n \n \n {n.valor}\n \n \n {n.descricao}\n \n \n (\n \n history.push(`/parametros/${n.id}`)\n }\n >\n \n \n \n \n )}\n />\n (\n handleClick(n.id)}\n >\n \n \n \n \n )}\n />\n \n \n )\n })}\n \n
    \n
    \n ) : (\n \n )}\n
    \n )}\n />\n
    \n )\n}\nParametro.propTypes = {\n classes: PropTypes.object.isRequired\n}\nconst mapStateToProps = (state) => {\n return {\n parametro: state.parametro\n }\n}\nconst connectedParametroPage = withRouter(\n connect(mapStateToProps, null, null, {\n pure: false\n })(withStyles(styles)(Parametro))\n)\nexport { connectedParametroPage as Parametro }\n","import React, { Component, useEffect } from 'react'\nimport PropTypes from 'prop-types'\nimport { withStyles } from '@material-ui/core/styles'\nimport Typography from '@material-ui/core/Typography'\nimport { crudService } from '../../_services'\nimport {\n ValidatorForm,\n TextValidator,\n SelectValidator\n} from 'react-material-ui-form-validator'\nimport {\n Card,\n CardHeader,\n CardContent,\n CardActions,\n Divider,\n Button,\n MenuItem,\n Checkbox,\n FormControlLabel,\n Grid\n} from '@material-ui/core'\nimport { connect } from 'react-redux'\nimport { parametroAction } from '../../_actions'\nimport { withRouter } from 'react-router-dom'\nimport { history } from '../../utils'\nimport { HelperToolTip } from 'components'\nimport { Page } from 'components'\nimport TextField from '@material-ui/core/TextField'\nimport Autocomplete from '@material-ui/lab/Autocomplete'\n\nconst styles = (theme) => ({\n root: {\n padding: theme.spacing(2)\n }\n})\n\nclass ParametroEdit extends Component {\n constructor(props) {\n super(props)\n this.state = {}\n }\n\n handleChange = (prop) => (event) => {\n const { dispatch } = this.props\n dispatch(parametroAction.onChangeProps(prop, event))\n }\n\n componentDidMount() {\n const {\n match: { params }\n } = this.props\n const { dispatch } = this.props\n if (params.id) {\n dispatch(parametroAction.getParametroById(params.id))\n } else {\n dispatch(parametroAction.clear())\n }\n }\n\n handleSubmit(event) {\n const {\n match: { params }\n } = this.props\n const { dispatch } = this.props\n\n let payload = {\n id: params.id,\n chave: this.props.parametro.chave,\n valor: this.props.parametro.valor,\n descricao: this.props.parametro.descricao\n }\n\n if (params.id) {\n dispatch(parametroAction.editParametroInfo(params.id, payload))\n } else {\n dispatch(parametroAction.createParametro(payload))\n }\n }\n\n render() {\n const { classes } = this.props\n const {\n match: { params }\n } = this.props\n\n function InsertText() {\n return (\n \n {'Novo Parâmetro'}\n \n )\n }\n\n function EditText() {\n return (\n \n {'Editar Parâmetro'}\n \n )\n }\n\n function SegHeader() {\n if (params.id) {\n return \n }\n return \n }\n return (\n \n \n \n this.handleSubmit(event)}\n >\n }\n />\n \n \n \n \n \n \n\n \n \n \n\n \n \n \n \n \n \n \n history.push('/parametros')}\n color=\"secondary\"\n variant=\"outlined\"\n >\n Cancelar\n \n \n \n \n \n \n \n )\n }\n}\nParametroEdit.propTypes = {\n classes: PropTypes.object.isRequired\n}\nconst mapStateToProps = (state) => {\n return state\n}\n\nconst connectedParametroEditPage = withRouter(\n connect(mapStateToProps, null, null, {\n pure: false\n })(withStyles(styles)(ParametroEdit))\n)\nexport { connectedParametroEditPage as ParametroEdit }\n","import React from 'react'\nimport { makeStyles } from '@material-ui/core/styles'\nimport Table from '@material-ui/core/Table'\nimport TableBody from '@material-ui/core/TableBody'\nimport TableCell from '@material-ui/core/TableCell'\nimport TableContainer from '@material-ui/core/TableContainer'\nimport TableHead from '@material-ui/core/TableHead'\nimport TableRow from '@material-ui/core/TableRow'\nimport Paper from '@material-ui/core/Paper'\nimport PropTypes from 'prop-types'\nimport { Checkbox, Typography } from '@material-ui/core'\nimport LockOpenOutlinedIcon from '@material-ui/icons/LockOpenOutlined'\nimport LockOutlinedIcon from '@material-ui/icons/LockOutlined'\nvar pluralize = require('pluralize')\n\nconst useStyles = makeStyles((theme) => ({\n table: {},\n header: {\n paddingBottom: theme.spacing(1)\n }\n}))\n\nexport default function TablePermissoes(props) {\n const classes = useStyles()\n const { permissoes, onCheckedPermissao } = props\n\n return (\n <>\n
    \n {permissoes.length !== 0 && (\n \n {`${pluralize('permissões', permissoes.length, true)} ${pluralize(\n 'encontrada',\n permissoes.length\n )}:`}\n \n )}\n
    \n \n \n \n \n Permissão\n Permitido\n \n \n \n {permissoes.map((row) => (\n \n \n {row.permissao.descricao}\n \n \n }\n checkedIcon={}\n size=\"small\"\n checked={row.permitido}\n color=\"primary\"\n value={row.id}\n onChange={() => onCheckedPermissao(row.id)}\n inputProps={{ 'aria-label': 'secondary checkbox' }}\n />\n \n \n ))}\n \n \n \n \n )\n}\n\nTablePermissoes.propTypes = {\n permissoes: PropTypes.array.isRequired,\n onCheckedPermissao: PropTypes.func\n}\n","import React, { useEffect } from 'react'\nimport { useDispatch, useSelector } from 'react-redux'\nimport {\n permissaoTipoUsuarioAction,\n tipoUsuarioAction\n} from '../../../../_actions'\nimport {\n MenuItem,\n Grid,\n makeStyles,\n FormControl,\n Select,\n InputLabel,\n FormControlLabel,\n Checkbox,\n Button,\n useTheme,\n useMediaQuery,\n CircularProgress\n} from '@material-ui/core'\nimport { Page } from 'components'\nimport TablePermissoes from '../TablePermissoes/TablePermissoes'\nimport DoneRoundedIcon from '@material-ui/icons/DoneRounded'\nimport { AccessControl } from 'components/Utils/AccessControl'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(2, 2, 2, 2)\n },\n formControl: {\n minWidth: 260\n },\n selectEmpty: {\n marginTop: theme.spacing(2)\n },\n content: {\n marginBottom: theme.spacing(2)\n },\n buttonSubmit: {\n marginTop: theme.spacing(3)\n }\n}))\n\nconst PermissaoTipoUsuario = () => {\n const classes = useStyles()\n const dispatch = useDispatch()\n const { tipoUsuario, permissaoTipoUsuario } = useSelector((state) => state)\n const { tipoUsuarioId, isLoading } = permissaoTipoUsuario\n const theme = useTheme()\n const isMobile = useMediaQuery(theme.breakpoints.down('xs'))\n const isEmptyPermissaoTipoUsuario =\n permissaoTipoUsuario.permissaoTipoUsuario.length === 0 ? true : false\n\n useEffect(() => {\n dispatch(tipoUsuarioAction.getTipoUsuarioSelect())\n dispatch(permissaoTipoUsuarioAction.clear())\n }, [])\n\n useEffect(() => {\n dispatch(\n permissaoTipoUsuarioAction.handleCheckAllPermissaoTipoUsuario(\n permissaoTipoUsuario.checkedAll\n )\n )\n }, [permissaoTipoUsuario.checkedAll])\n\n const handleChangeSelected = () => (event) => {\n if (event.target.value && event.target.value > 0) {\n dispatch(\n permissaoTipoUsuarioAction.getPermissaoTipoUsuario(event.target.value)\n )\n } else {\n dispatch(permissaoTipoUsuarioAction.clear())\n }\n }\n\n const handleChangePermissaoTipoUsuario = (idPermissaoTipoUsuario) => {\n dispatch(\n permissaoTipoUsuarioAction.handleCheckedPermitido(idPermissaoTipoUsuario)\n )\n }\n\n const handleSubmitPermissaoTipoUsuario = () => {\n dispatch(\n permissaoTipoUsuarioAction.createPermissaoTipoUsuario(\n permissaoTipoUsuario.permissaoTipoUsuario\n )\n )\n }\n const handleChangeCheckedAll = () => {\n dispatch(permissaoTipoUsuarioAction.handleChangeCheckAll())\n }\n\n return (\n (\n \n \n \n \n \n Tipo de usuário\n \n \n \n Selecione...\n \n {tipoUsuario.tipoUsuario.map((row) => (\n \n {row.text}\n \n ))}\n \n \n \n \n \n }\n label=\"Marcar/desmarcar todos\"\n />\n \n \n {!isEmptyPermissaoTipoUsuario && (\n <>\n \n \n \n \n ) : (\n \n )\n }\n className={classes.buttonSubmit}\n variant=\"contained\"\n onClick={handleSubmitPermissaoTipoUsuario}\n color=\"primary\"\n >\n {isLoading ? 'Enviando informações...' : 'Salvar'}\n \n \n \n \n )}\n \n )}\n >\n )\n}\n\nexport default PermissaoTipoUsuario\n","import React, { useEffect } from 'react'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { permissaoUsuarioAction, usuarioAction } from '../../../../_actions'\nimport {\n MenuItem,\n Grid,\n makeStyles,\n FormControl,\n Select,\n InputLabel,\n FormControlLabel,\n Checkbox,\n Button,\n useTheme,\n useMediaQuery,\n CircularProgress\n} from '@material-ui/core'\nimport { Page } from 'components'\nimport TablePermissoes from '../TablePermissoes/TablePermissoes'\nimport DoneRoundedIcon from '@material-ui/icons/DoneRounded'\nimport { AccessControl } from 'components/Utils/AccessControl'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(2, 2, 2, 2)\n },\n formControl: {\n minWidth: 260\n },\n selectEmpty: {\n marginTop: theme.spacing(2)\n },\n content: {\n marginBottom: theme.spacing(2)\n },\n buttonSubmit: {\n marginTop: theme.spacing(3)\n }\n}))\n\nconst PermissaoUsuario = () => {\n const classes = useStyles()\n const dispatch = useDispatch()\n const { usuario, permissaoUsuario } = useSelector((state) => state)\n const { usuarioId, isLoading } = permissaoUsuario\n const theme = useTheme()\n const isMobile = useMediaQuery(theme.breakpoints.down('xs'))\n const isEmptyPermissaoUsuario =\n permissaoUsuario.permissaoUsuario.length === 0 ? true : false\n\n useEffect(() => {\n dispatch(usuarioAction.getUsuarioSelect())\n dispatch(permissaoUsuarioAction.clear())\n }, [])\n\n useEffect(() => {\n dispatch(\n permissaoUsuarioAction.handleCheckAllPermissaoUsuario(\n permissaoUsuario.checkedAll\n )\n )\n }, [permissaoUsuario.checkedAll])\n\n const handleChangeSelected = () => (event) => {\n if (event.target.value && event.target.value > 0) {\n dispatch(permissaoUsuarioAction.getPermissaoUsuario(event.target.value))\n } else {\n dispatch(permissaoUsuarioAction.clear())\n }\n }\n\n const handleChangePermissaoUsuario = (idPermissaoUsuario) => {\n dispatch(permissaoUsuarioAction.handleCheckedPermitido(idPermissaoUsuario))\n }\n\n const handleSubmitPermissaoUsuario = () => {\n dispatch(\n permissaoUsuarioAction.createPermissaoUsuario(\n permissaoUsuario.permissaoUsuario\n )\n )\n }\n const handleChangeCheckedAll = () => {\n dispatch(permissaoUsuarioAction.handleChangeCheckAll())\n }\n\n return (\n (\n \n \n \n \n Usuário\n \n \n Selecione...\n \n {usuario.usuario.map((row) => (\n \n {row.text}\n \n ))}\n \n \n \n \n \n }\n label=\"Marcar/desmarcar todos\"\n />\n \n \n {!isEmptyPermissaoUsuario && (\n <>\n \n \n \n \n ) : (\n \n )\n }\n className={classes.buttonSubmit}\n variant=\"contained\"\n onClick={handleSubmitPermissaoUsuario}\n color=\"primary\"\n >\n {isLoading ? 'Enviando informações...' : 'Salvar'}\n \n \n \n \n )}\n \n )}\n >\n )\n}\n\nexport default PermissaoUsuario\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport {\n Tabs,\n Tab,\n Divider,\n colors,\n useTheme,\n makeStyles,\n useMediaQuery\n} from '@material-ui/core'\nimport PeopleAltTwoToneIcon from '@material-ui/icons/PeopleAltTwoTone'\nimport PersonOutlineTwoToneIcon from '@material-ui/icons/PersonOutlineTwoTone'\nimport { Redirect } from 'react-router-dom'\nimport { AccessControl } from '../../components/Utils/AccessControl'\nimport { Header, Page } from 'components'\nimport { PermissaoTipoUsuario, PermissaoUsuario } from './components'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(3, 2, 2, 2)\n },\n tabs: { paddingTop: theme.spacing(2) },\n divider: {\n backgroundColor: colors.grey[300]\n },\n content: {\n marginTop: theme.spacing(3)\n }\n}))\n\nconst Permissao = (props) => {\n const { match, history } = props\n const classes = useStyles()\n const { tab } = match.params\n const theme = useTheme()\n const isMobile = useMediaQuery(theme.breakpoints.down('xs'))\n\n const handleTabsChange = (event, value) => {\n history.push(value)\n }\n\n const tabs = [\n {\n value: 'permissaoTipoUsuario',\n label: 'Permissão por tipo de usuário',\n icon: \n }\n ]\n {\n tabs.push({\n value: 'permissaoUsuario',\n label: 'Permissão por usuário',\n icon: \n })\n }\n if (!tab) {\n return \n }\n\n if (!tabs.find((t) => t.value === tab)) {\n return \n }\n\n return (\n \n (\n <>\n \n \n {tabs.map((tab) => (\n \n ))}\n \n \n
    \n {tab === 'permissaoTipoUsuario' && }\n {tab === 'permissaoUsuario' && }\n
    \n \n )}\n >\n
    \n )\n}\n\nPermissao.propTypes = {\n history: PropTypes.object.isRequired,\n match: PropTypes.object.isRequired,\n classes: PropTypes.object.isRequired\n}\n\nexport default Permissao\n","import React, { useEffect, useState } from 'react'\nimport {\n Grid,\n Select,\n MenuItem,\n FormControl,\n InputLabel,\n makeStyles,\n TextField,\n InputAdornment,\n IconButton,\n Divider\n} from '@material-ui/core'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { eventoAction, avaliacaoAction, usuarioAction } from '_actions'\nimport { useDidMountEffect } from 'utils/useDidMountEffect'\nimport { useParams } from 'react-router-dom'\nimport SearchRoundedIcon from '@material-ui/icons/SearchRounded'\nimport CloseIcon from '@material-ui/icons/Close'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n flexGrow: 1\n },\n formControl: {\n width: '100%'\n },\n selectEmpty: {\n marginTop: theme.spacing(2)\n },\n divider: {\n height: 28,\n margin: 4\n }\n}))\n\nconst SelectEvent = () => {\n const dispatch = useDispatch()\n const classes = useStyles()\n const estabelecimentoId = useSelector(\n (state) => state.usuarioEstabelecimento.estabelecimentoId\n )\n const eventos = useSelector((state) => state.evento.evento)\n const [eventoId, setEventoId] = useState('')\n const params = useParams()\n\n const handleChange = (event) => {\n setEventoId(event.target.value)\n setTexto('')\n }\n const [texto, setTexto] = useState('')\n\n const handleChangeTexto = (event) => {\n setTexto(event.target.value)\n }\n\n function search() {\n const payload = { EventoId: eventoId, SearchText: texto }\n eventoId > 0 &&\n dispatch(avaliacaoAction.searchAvaliacaoByEventId(payload, eventoId))\n }\n\n const handleSubmitSearch = (event) => {\n event.preventDefault()\n search()\n }\n\n const clearTextSearch = () => {\n setTexto('')\n }\n\n useDidMountEffect(() => {\n texto === '' && search()\n }, [texto])\n\n useEffect(() => {\n if (eventoId === '') {\n dispatch(avaliacaoAction.clearAll())\n }\n dispatch(eventoAction.getEventoByEstabelecimento(estabelecimentoId, true))\n dispatch(usuarioAction.getUsuario())\n }, [estabelecimentoId])\n\n useDidMountEffect(() => {\n setEventoId('')\n dispatch(avaliacaoAction.clearAll())\n setTexto('')\n }, [estabelecimentoId])\n\n useEffect(() => {\n !!params.eventoId && params.eventoId > 0 && setEventoId(params.eventoId)\n }, [params.eventoId])\n\n useDidMountEffect(() => {\n search()\n }, [eventoId])\n\n useEffect(() => {\n return () => {\n dispatch(avaliacaoAction.clearAll())\n }\n }, [])\n\n return (\n
    \n \n \n \n \n Evento\n \n \n \n Selecione o evento...\n \n {eventos !== undefined &&\n eventos.map((row) => (\n \n {row.nome}\n \n ))}\n \n \n \n {eventoId > 0 && (\n <>\n \n
    \n \n {texto.length >= 1 && (\n <>\n \n \n \n \n \n )}\n \n \n \n \n )\n }}\n fullWidth\n required\n value={texto}\n onChange={handleChangeTexto}\n variant=\"outlined\"\n id=\"textForSearch\"\n label=\"Buscar\"\n placeholder=\"Busque por palavras em Mensagem...\"\n />\n \n
    \n \n )}\n
    \n
    \n )\n}\n\nexport default SelectEvent\n","import React, { useEffect } from 'react'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { avaliacaoAction, comentarioAction } from '_actions'\nimport { toLocalDateFormat, useDidMountEffect } from 'utils'\nimport {\n Dialog,\n DialogActions,\n DialogContent,\n DialogContentText,\n DialogTitle,\n Button,\n Table,\n TableContainer,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Paper,\n IconButton,\n Tooltip,\n Typography\n} from '@material-ui/core'\nimport { useConfirm } from 'material-ui-confirm'\nimport { AccessControl } from 'components/Utils/AccessControl'\nimport ReportProblemRoundedIcon from '@material-ui/icons/ReportProblemRounded'\nimport FavoriteRoundedIcon from '@material-ui/icons/FavoriteRounded'\nimport FavoriteBorderRoundedIcon from '@material-ui/icons/FavoriteBorderRounded'\nimport DeleteForeverRoundedIcon from '@material-ui/icons/DeleteForeverRounded'\nimport { Rating } from '@material-ui/lab'\nimport { MessageData, SkeletonTable } from 'components'\n\nconst DetailAndComment = () => {\n const dispatch = useDispatch()\n const confirm = useConfirm()\n const { usuario } = useSelector((state) => state.usuario)\n const avaliacao = useSelector((state) => state.avaliacao)\n const usuarioEstabelecimento = useSelector(\n (state) => state.usuarioEstabelecimento\n )\n const avaliacaoId = useSelector((state) => state.avaliacao.id)\n const { comentario } = useSelector((state) => state.comentario)\n const isLoading = useSelector((state) => state.comentario.isLoading)\n const reload = useSelector((state) => state.comentario.reload)\n\n const handleClose = () => {\n dispatch(avaliacaoAction.setDetailOpen(false, null))\n }\n\n const handleLikeComment = (commentId) => {\n dispatch(comentarioAction.likeComment(commentId, avaliacaoId))\n }\n\n const handleReportComment = () => {\n //dispatch(comentarioAction.reportComment(commentId))\n }\n\n const handleDeleteComment = (commentId) => {\n confirm({\n title: 'Você deseja excluir esse comentário?',\n description: (\n
    \n \n Confirmando essa operação, seu comentário será excluido.\n \n
    \n ),\n confirmationText: 'Sim, excluir!',\n cancellationText: 'Não!'\n }).then(() => {\n dispatch(comentarioAction.deleteComment(commentId, reload))\n })\n }\n\n function getUsuarioNameById(usuarioId) {\n let user = ''\n user = usuario.find((element) => element.id == usuarioId)\n if (user !== (null || undefined)) {\n return user.nome\n } else {\n return ''\n }\n }\n\n useEffect(() => {\n dispatch(comentarioAction.getComentarioByAvaliacao(avaliacaoId))\n }, [dispatch, avaliacaoId])\n\n useDidMountEffect(() => {\n dispatch(comentarioAction.getComentarioByAvaliacao(avaliacaoId))\n }, [reload])\n\n return (\n \n \n Comentários da avaliação de {getUsuarioNameById(avaliacao.usuarioId)}\n \n \n \n {avaliacao.mensagem}\n <>\n {comentario !== undefined && comentario.length > 0 ? (\n \n
    \n {isLoading ? (\n \n ) : (\n \n \n \n Usuário\n Comentário\n Curtidas\n Data/Hora\n Ações\n \n \n \n {comentario.map((n) => {\n return (\n <>\n {n.comentario != (null || undefined) && (\n \n \n {getUsuarioNameById(n.comentario.usuarioId)}\n \n \n {n.comentario.mensagem}\n \n \n {n.numeroCurtidas}\n \n \n {toLocalDateFormat(n.comentario.dataHora)}\n \n \n (\n \n handleLikeComment(n.comentario.id)\n }\n disabled={\n n.comentario.usuarioId ===\n usuarioEstabelecimento.usuarioId\n }\n >\n <>\n {n.usuarioCurtiu ? (\n \n \n \n ) : (\n \n \n \n )}\n \n \n )}\n />\n (\n \n handleReportComment(n.comentario.id)\n }\n disabled={\n n.comentario.usuarioId ===\n usuarioEstabelecimento.usuarioId\n }\n >\n \n \n \n \n )}*/\n />\n (\n \n handleDeleteComment(n.comentario.id)\n }\n disabled={\n n.comentario.usuarioId !==\n usuarioEstabelecimento.usuarioId\n }\n >\n \n \n \n \n )}\n />\n \n \n )}\n \n )\n })}\n \n
    \n )}\n
    \n
    \n ) : (\n
    \n {isLoading ? (\n \n ) : (\n \n )}\n
    \n )}\n \n
    \n \n \n \n \n )\n}\n\nexport default DetailAndComment\n","import React from 'react'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { avaliacaoAction, comentarioAction } from '_actions'\nimport { getCurrentDateTime } from 'utils'\nimport {\n Dialog,\n DialogActions,\n DialogContent,\n DialogContentText,\n DialogTitle,\n TextField,\n Button\n} from '@material-ui/core'\n\nconst AnswerRating = () => {\n const dispatch = useDispatch()\n const { usuario } = useSelector((state) => state.usuario)\n const avaliacao = useSelector((state) => state.avaliacao)\n const comentario = useSelector((state) => state.comentario)\n const usuarioEstabelecimento = useSelector(\n (state) => state.usuarioEstabelecimento\n )\n\n const handleClose = () => {\n dispatch(comentarioAction.changeAnswer(null, null))\n dispatch(avaliacaoAction.setAnswerRatingOpen(false, null))\n }\n\n function getUsuarioNameById(usuarioId) {\n let user = ''\n user = usuario.find((element) => element.id == usuarioId)\n if (user !== (null || undefined)) {\n return user.nome\n } else {\n return ''\n }\n }\n\n const handleSubmit = (event) => {\n event.preventDefault()\n let payload = {\n usuarioId: usuarioEstabelecimento.usuarioId,\n dataHora: getCurrentDateTime(),\n mensagem: comentario.mensagem,\n avaliacaoId: avaliacao.id\n }\n dispatch(comentarioAction.sendAnswer(payload))\n dispatch(avaliacaoAction.setAnswerRatingOpen(false, null))\n }\n\n const handleChange = (prop) => (event) => {\n dispatch(comentarioAction.changeAnswer(prop, event))\n }\n\n return (\n \n \n Responder avaliação de {getUsuarioNameById(avaliacao.usuarioId)}\n \n
    \n \n {avaliacao.mensagem}\n \n \n \n \n \n \n
    \n \n )\n}\n\nexport default AnswerRating\n","import React, { useEffect } from 'react'\nimport { useDispatch, useSelector } from 'react-redux'\nimport PropTypes from 'prop-types'\nimport {\n Table,\n TableContainer,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Paper,\n IconButton,\n Tooltip,\n makeStyles\n} from '@material-ui/core'\nimport Rating from '@material-ui/lab/Rating'\nimport FavoriteRoundedIcon from '@material-ui/icons/FavoriteRounded'\nimport FavoriteBorderRoundedIcon from '@material-ui/icons/FavoriteBorderRounded'\nimport QuestionAnswerRoundedIcon from '@material-ui/icons/QuestionAnswerRounded'\nimport AspectRatioRoundedIcon from '@material-ui/icons/AspectRatioRounded'\nimport ReportProblemRoundedIcon from '@material-ui/icons/ReportProblemRounded'\nimport { AccessControl } from 'components/Utils/AccessControl'\nimport { toLocalDateFormat } from 'utils'\nimport { MessageData, SkeletonTable } from 'components'\nimport { avaliacaoAction, usuarioAction } from '_actions'\nimport DetailAndComment from 'views/Avaliacoes/components/DetailAndComment'\nimport AnswerRating from 'views/Avaliacoes/components/AnswerRating'\nimport constants from 'theme/constants'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(4, 0, 4, 0)\n },\n card: {\n marginBottom: theme.spacing(2)\n },\n paper: {\n ...constants.shadowCard\n }\n}))\nconst TableEventRating = () => {\n const classes = useStyles()\n const dispatch = useDispatch()\n const { avaliacao: rating, isLoading, eventoId } = useSelector(\n (state) => state.avaliacao\n )\n const estabelecimentoId = useSelector(\n (state) => state.usuarioEstabelecimento.estabelecimentoId\n )\n const { usuario } = useSelector((state) => state.usuario)\n\n function getUsuarioNameById(usuarioId) {\n let user = ''\n user = usuario.find((element) => element.id == usuarioId)\n if (user !== (null || undefined)) {\n return user.nome\n } else {\n return ''\n }\n }\n\n const handleOpenAnswer = (avaliacao) => {\n dispatch(avaliacaoAction.setAnswerRatingOpen(true, avaliacao))\n }\n\n const handleOpenDetail = (avaliacao) => {\n dispatch(avaliacaoAction.setDetailOpen(true, avaliacao))\n }\n\n const handleLikeRating = (avaliacaoId) => {\n dispatch(avaliacaoAction.likeRating(avaliacaoId))\n }\n\n const handleReportComment = () => {\n //const handleReportComment = (commentId) => {\n //dispatch(avaliacaoAction.reportComment(commentId))\n }\n\n useEffect(() => {\n dispatch(usuarioAction.getUsuario())\n }, [dispatch, estabelecimentoId])\n\n return (\n <>\n {isLoading ? (\n \n ) : eventoId === 0 ? (\n \n ) : rating.length === 0 || rating[0].avaliacao === undefined ? (\n \n ) : (\n \n \n \n \n \n \n Nota\n Mensagem\n Usuário\n Curtidas\n Data/Hora\n Ações\n \n \n \n {rating.map((n) => {\n return (\n \n \n \n \n \n {n.avaliacao.mensagem}\n \n \n {getUsuarioNameById(n.avaliacao.usuarioId)}\n \n \n {n.numeroCurtidas}\n \n \n {toLocalDateFormat(n.avaliacao.dataHora)}\n \n \n (\n handleOpenAnswer(n.avaliacao)}\n >\n \n \n \n \n )}\n />\n (\n handleOpenDetail(n.avaliacao)}\n >\n \n \n \n \n )}\n />\n (\n handleLikeRating(n.avaliacao.id)}\n >\n <>\n {n.usuarioCurtiu ? (\n \n \n \n ) : (\n \n \n \n )}\n \n \n )}\n />\n (\n handleReportComment(n.avaliacao.id)}\n >\n \n \n \n \n )}*/\n />\n \n \n )\n })}\n \n
    \n
    \n )}\n \n )\n}\n\nTableEventRating.propTypes = {\n className: PropTypes.string\n}\n\nexport default TableEventRating\n","import React from 'react'\nimport { SkeletonTable } from 'components'\nimport { Grid, makeStyles } from '@material-ui/core'\nimport { SelectEvent, TableEventRating } from './components'\nimport { useSelector } from 'react-redux'\nimport { AccessControl } from 'components/Utils/AccessControl'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n width: '100%',\n padding: theme.spacing(3, 2, 2, 2)\n },\n header: {\n paddingBottom: theme.spacing(2)\n }\n}))\n\nconst EventRating = () => {\n const classes = useStyles()\n const { avaliacao: ratings, isLoading } = useSelector(\n (state) => state.avaliacao\n )\n\n return (\n (\n
    \n \n \n \n \n {isLoading ? (\n \n ) : (\n \n \n \n )}\n \n
    \n )}\n />\n )\n}\n\nexport default EventRating\n","import React, { useEffect } from 'react'\nimport { useDispatch, useSelector } from 'react-redux'\nimport PropTypes from 'prop-types'\nimport {\n Table,\n TableContainer,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Paper,\n IconButton,\n Tooltip,\n makeStyles\n} from '@material-ui/core'\nimport FavoriteRoundedIcon from '@material-ui/icons/FavoriteRounded'\nimport FavoriteBorderRoundedIcon from '@material-ui/icons/FavoriteBorderRounded'\nimport QuestionAnswerRoundedIcon from '@material-ui/icons/QuestionAnswerRounded'\nimport AspectRatioRoundedIcon from '@material-ui/icons/AspectRatioRounded'\nimport ReportProblemRoundedIcon from '@material-ui/icons/ReportProblemRounded'\nimport Rating from '@material-ui/lab/Rating'\nimport { toLocalDateFormat } from 'utils'\nimport { MessageData, SkeletonTable } from 'components'\nimport { avaliacaoAction, usuarioAction } from '_actions'\nimport { AccessControl } from 'components/Utils/AccessControl'\nimport DetailAndComment from '../DetailAndComment'\nimport AnswerRating from '../AnswerRating'\nimport constants from 'theme/constants'\n\nconst useStyles = makeStyles((theme) => ({\n paper: {\n ...constants.shadowCard\n }\n}))\nconst PlaceRating = () => {\n const classes = useStyles()\n const dispatch = useDispatch()\n const { avaliacao: rating, isLoading } = useSelector(\n (state) => state.avaliacao\n )\n const estabelecimentoId = useSelector(\n (state) => state.usuarioEstabelecimento.estabelecimentoId\n )\n const { usuario } = useSelector((state) => state.usuario)\n\n function getUsuarioNameById(usuarioId) {\n let user = ''\n user = usuario.find((element) => element.id == usuarioId)\n if (user !== (null || undefined)) {\n return user.nome\n } else {\n return ''\n }\n }\n\n const handleOpenAnswer = (avaliacao) => {\n dispatch(avaliacaoAction.setAnswerRatingOpen(true, avaliacao))\n }\n\n const handleOpenDetail = (avaliacao) => {\n dispatch(avaliacaoAction.setDetailOpen(true, avaliacao))\n }\n\n const handleLikeRating = (avaliacaoId) => {\n dispatch(avaliacaoAction.likeRating(avaliacaoId))\n }\n\n const handleReportComment = () => {\n //const handleReportComment = (commentId) => {\n //dispatch(avaliacaoAction.reportComment(commentId))\n }\n\n useEffect(() => {\n dispatch(avaliacaoAction.getAvaliacaoByEstabelecimento(estabelecimentoId))\n dispatch(usuarioAction.getUsuario())\n }, [dispatch, estabelecimentoId])\n\n return (\n
    \n {isLoading ? (\n \n ) : rating.length === 0 ? (\n \n ) : (\n \n \n \n \n \n \n Nota\n Mensagem\n Usuário\n Curtidas\n Data/Hora\n Ações\n \n \n \n {rating.map((n) => {\n return (\n \n \n \n \n \n {n.avaliacao.mensagem}\n \n \n {getUsuarioNameById(n.avaliacao.usuarioId)}\n \n \n {n.numeroCurtidas}\n \n \n {toLocalDateFormat(n.avaliacao.dataHora)}\n \n \n (\n handleOpenAnswer(n.avaliacao)}\n >\n \n \n \n \n )}\n />\n (\n handleOpenDetail(n.avaliacao)}\n >\n \n \n \n \n )}\n />\n (\n handleLikeRating(n.avaliacao.id)}\n >\n <>\n {n.usuarioCurtiu ? (\n \n \n \n ) : (\n \n \n \n )}\n \n \n )}\n />\n (\n handleReportComment(n.avaliacao.id)}\n >\n \n \n \n \n )}*/\n />\n \n \n )\n })}\n \n
    \n
    \n )}\n
    \n )\n}\n\nPlaceRating.propTypes = {\n className: PropTypes.string\n}\n\nexport default PlaceRating\n","import React from 'react'\nimport { Grid, Typography } from '@material-ui/core'\nimport PropTypes from 'prop-types'\nimport { makeStyles } from '@material-ui/styles'\nimport clsx from 'clsx'\n\nconst useStyles = makeStyles(() => ({\n root: {}\n}))\n\nconst TitleContentWithoutButton = (props) => {\n const { className, ...rest } = props\n const classes = useStyles()\n return (\n
    \n \n \n \n {props.subTitle}\n \n \n {props.title}\n \n \n \n

    \n {props.length !== undefined && props.length !== 0 && (\n \n \n Total de dados encontrados: {props.length}\n \n \n )}\n
    \n )\n}\n\nTitleContentWithoutButton.propTypes = {\n title: PropTypes.string.isRequired,\n subTitle: PropTypes.string,\n buttonOnClick: PropTypes.object.isRequired,\n rule: PropTypes.string\n}\nexport default TitleContentWithoutButton\n","import React from 'react'\nimport { connect, useSelector } from 'react-redux'\nimport PropTypes from 'prop-types'\nimport { Tabs, Tab, useMediaQuery, useTheme } from '@material-ui/core'\nimport { Redirect } from 'react-router-dom'\nimport { withStyles } from '@material-ui/core/styles'\nimport { withRouter } from 'react-router-dom'\nimport EventAvailableTwoToneIcon from '@material-ui/icons/EventAvailableTwoTone'\nimport BusinessTwoToneIcon from '@material-ui/icons/BusinessTwoTone'\nimport { Page } from 'components'\nimport { PlaceRating, EventRating } from './components'\nimport TitleContentWithoutButton from 'components/Utils/TitleContentWithoutButton'\n\nconst styles = (theme) => ({\n root: {\n padding: theme.spacing(3, 2, 2, 2)\n },\n tabs: { marginBottom: theme.spacing(4) }\n})\n\nconst Avaliacoes = (props) => {\n const { classes, match, history } = props\n const { tab } = match.params\n const theme = useTheme()\n const isMobile = useMediaQuery(theme.breakpoints.down('xs'))\n const { avaliacao } = useSelector((state) => state.avaliacao)\n\n const handleTabsChange = (event, value) => {\n history.push(value)\n }\n\n const tabs = [\n {\n value: 'placeRating',\n label: 'Estabelecimento',\n icon: \n }\n ]\n {\n tabs.push({\n value: 'eventRating',\n label: 'Eventos',\n icon: \n })\n }\n\n if (!tab) {\n return \n }\n\n if (!tabs.find((t) => t.value === tab)) {\n return \n }\n\n return (\n \n {undefined !== avaliacao && avaliacao.length > 0 ? (\n \n ) : (\n \n )}\n \n {tabs.map((tab) => (\n \n ))}\n \n
    \n {tab === 'placeRating' && }\n {tab === 'eventRating' && }\n
    \n
    \n )\n}\n\nAvaliacoes.propTypes = {\n history: PropTypes.object.isRequired,\n match: PropTypes.object.isRequired,\n classes: PropTypes.object.isRequired\n}\n\nconst connectedEventoPage = withRouter(\n connect(null, null, null, {\n pure: false\n })(withStyles(styles)(Avaliacoes))\n)\n\nexport { connectedEventoPage as Avaliacoes }\n","import React from 'react'\nimport { Button, Grid, Typography, makeStyles } from '@material-ui/core'\nimport Image from 'material-ui-image'\n\n//? Own imports\nimport { history } from 'utils'\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n noResultText: {\n paddingTop: theme.spacing(6),\n paddingBottom: theme.spacing(1),\n textAlign: 'center'\n },\n image: { marginTop: theme.spacing(3) },\n button: {\n '&:hover': {\n backgroundColor: theme.palette.primary.main,\n boxShadow: '0 9px 40px -14px #FFC20A',\n webkitTransition: ' all 300ms ease',\n transition: 'all 300ms ease',\n letterSpacing: '1.2px'\n }\n }\n}))\nconst EmptyFirstPhotoAlbum = () => {\n const classes = useStyles()\n\n const handleClickPhotoAlbum = () => {\n history.push(`/photoAlbum/cadastro`)\n }\n\n return (\n
    \n \n \n \n \n \n \n Você ainda não criou nenhum álbum de fotos!\n \n \n \n \n Criar álbum! 🎟\n \n \n \n
    \n )\n}\n\nexport default EmptyFirstPhotoAlbum\n","import React, { useEffect } from 'react'\nimport { connect, useDispatch, useSelector } from 'react-redux'\nimport PropTypes from 'prop-types'\nimport {\n withStyles,\n Table,\n TableContainer,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Paper,\n IconButton,\n Tooltip,\n Typography,\n Avatar,\n Link\n} from '@material-ui/core'\nimport { Link as RouterLink } from 'react-router-dom'\nimport DeleteIcon from '@material-ui/icons/Delete'\nimport EditIcon from '@material-ui/icons/Edit'\nimport { withRouter } from 'react-router-dom'\nimport { getImageUrls, getInitials, history } from '../../utils'\nimport { useConfirm } from 'material-ui-confirm'\nimport { AccessControl } from '../../components/Utils/AccessControl'\nimport { Page, SkeletonTable } from 'components'\nimport EmptyFirstPhotoAlbum from './components/EmptyFirstPhotoAlbum/EmptyFirstPhotoAlbum'\nimport constants from 'theme/constants'\nimport { useMutationPhotoAlbumDelete, usePhotoAlbumList } from 'hooks-querys'\nimport { PhotoAlbum } from 'types/api'\nimport ShareIcon from '@material-ui/icons/Share'\nimport { toast } from 'react-toastify'\nimport { genericOnShare } from 'utils/genericOnShare'\n\nconst styles = () => ({\n root: {},\n paper: {\n ...constants.shadowCard\n },\n avatar: {\n width: 90,\n height: 55,\n borderRadius: 5\n }\n})\n\n// @ts-ignore\nconst PhotoAlbumList = (props) => {\n const confirm = useConfirm()\n const dispatch = useDispatch()\n const { classes } = props\n const mutationDeletePhotoAlbum = useMutationPhotoAlbumDelete()\n\n const estabelecimentoId = useSelector(\n // @ts-ignore: //ainda não foi tipado o redux state\n (state) => state.usuarioEstabelecimento.estabelecimentoId\n )\n const { isLoading, data } = usePhotoAlbumList(estabelecimentoId)\n\n const handleDeleteClick = (idPhotoAlbum: number) => {\n confirm({\n title: 'Você deseja excluir esse álbum de fotos?',\n //description: 'Confirmando essa operação, álbum será excluido para sempre!',\n confirmationText: 'Sim, excluir!',\n cancellationText: 'Nãããoo!'\n }).then(() => {\n deletePhotoAlbum(idPhotoAlbum)\n })\n }\n\n const deletePhotoAlbum = (idPhotoAlbum: number) => {\n mutationDeletePhotoAlbum.mutate(idPhotoAlbum)\n }\n\n return (\n // @ts-ignore\n \n (\n
    \n {data && data.length > 0 ? (\n \n Total de dados encontrados: {data.length}\n \n ) : null}\n {undefined !== data && data.length ? (\n \n \n \n \n Capa\n Título\n Descrição\n Evento\n N° Fotos\n {/* Curtidas\n Comentários */}\n Ações\n \n \n \n {data.map((n: PhotoAlbum) => {\n return (\n \n \n \n \n {getInitials(n.evento?.nome)}\n \n \n \n \n {n.nome}\n \n \n {n.descricao}\n \n \n {n.evento?.nome}\n \n \n {n.totalFotos}\n \n {/* \n {n.curtidas}\n \n \n {n.comentarios}\n */}\n \n {\n const link = await genericOnShare(\n `https://corujasapp.com/event-photo-album/${n.id}`,\n n.nome || n.descricao || '',\n `Confira as fotos do álbum \"${n.nome}\" no Corujas App!`,\n n.fotoCapa?.imagem || n.evento?.imagem\n )\n navigator.clipboard.writeText(link)\n toast.success(\n 'Link para o álbum de fotos copiado com sucesso! 🎉',\n {\n autoClose: 4000\n }\n )\n }}\n >\n \n \n \n \n (\n \n history.push(`/photoAlbum/cadastro/${n.id}`)\n }\n >\n \n \n \n \n )}\n />\n (\n handleDeleteClick(n.id)}\n >\n \n \n \n \n )}\n />\n \n \n )\n })}\n \n
    \n
    \n ) : (\n \n )}\n
    \n )}\n />\n
    \n )\n}\nPhotoAlbumList.propTypes = {\n classes: PropTypes.object.isRequired\n}\n// @ts-ignore\nconst mapStateToProps = (state) => {\n return {\n photoAlbum: state.photoAlbum,\n estabelecimentoId: state.usuarioEstabelecimento.estabelecimentoId\n }\n}\n\n// @ts-ignore\nconst connectedphotoAlbumPage = withRouter(\n // @ts-ignore\n connect(mapStateToProps, null, null, {\n pure: false\n })(withStyles(styles)(PhotoAlbumList))\n)\nexport { connectedphotoAlbumPage as PhotoAlbumList }\n","import { createGlobalStyle } from 'styled-components'\n\nexport default createGlobalStyle`\n * {\n margin: 0;\n padding: 0;\n outline: 0;\n box-sizing: border-box;\n }\n\n body {\n font-family: Arial, Helvetica, sans-serif;\n font-size: 14px;\n text-rendering: optimizeLegibility;\n -webkit-font-smoothing: antialiased;\n }\n\n html, body, #root {\n height: 100%;\n }\n`\n","//@ts-nocheck\nimport styled, { css } from 'styled-components'\n\nconst dragActive = css`\n border-color: #78e5d5;\n`\n\nconst dragReject = css`\n border-color: #e57878;\n`\n\nexport const DropContainer = styled.div.attrs({\n className: 'dropzone'\n})`\n border: 1px dashed #ddd;\n border-radius: 4px;\n cursor: pointer;\n min-height: 100px;\n display: flex;\n justify-content: center;\n align-items: center;\n transition: height 0.2s ease;\n\n ${(props) => props.isDragActive && dragActive};\n ${(props) => props.isDragReject && dragReject};\n`\n\nconst messageColors = {\n default: '#999',\n error: '#e57878',\n success: '#78e5d5'\n}\n\nexport const UploadMessage = styled.p`\n display: flex;\n color: ${(props) => messageColors[props.type || 'default']};\n justify-content: center;\n align-items: center;\n padding: 15px 0;\n`\n","import React from 'react'\nimport { MdFileUpload, MdError, MdDone } from 'react-icons/md'\nimport { useDropzone } from 'react-dropzone'\nimport { uniqueId } from 'lodash'\nimport filesize from 'filesize'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { toast } from 'react-toastify'\n\n//? Own imports\nimport { ImagePreviewClientSide } from '../../PhotoList'\nimport { DropContainer, UploadMessage } from './styles'\nimport { albumAction } from '_actions'\n\nvar pluralize = require('pluralize')\n\nfunction Upload() {\n const dispatch = useDispatch()\n const { foto }: { foto: ImagePreviewClientSide[] } = useSelector(\n // @ts-ignore\n (state) => state.album\n )\n const MAX_FOTOS = 300\n\n const onDrop = (acceptedFiles: File[]) => {\n if (foto.length + acceptedFiles.length <= MAX_FOTOS) {\n const files: ImagePreviewClientSide[] = acceptedFiles.map((file) => {\n var name = file.name.replaceAll('(', ' ')\n name = name.replaceAll(')', ' ')\n return {\n file,\n id: uniqueId('new'),\n name: name,\n readableSize: filesize(file.size),\n preview: URL.createObjectURL(file),\n progress: 0,\n uploaded: false,\n isError: false,\n url: null,\n retry: false\n }\n })\n dispatch(albumAction.addFoto(files))\n } else {\n toast.error(`O número máximo de fotos para cada álbum é de ${MAX_FOTOS}!`)\n }\n }\n\n const {\n getRootProps,\n getInputProps,\n isDragActive,\n isDragReject,\n draggedFiles\n } = useDropzone({\n onDrop,\n onDropRejected(fileRejections) {\n toast.error(\"Formato não suportado!\")\n toast.error(fileRejections.length > 1\n ? `${fileRejections.length} fotos foram rejeitadas!`\n : `${fileRejections.length} foto foi rejeitada!`)\n },\n accept: ['image/jpeg', 'image/png', 'image/webp', 'image/avif', 'image/tiff']\n })\n\n const renderDragMessage = (isDragActive: boolean, isDragReject: boolean) => {\n if (!isDragActive) {\n return (\n \n Clique ou arraste as imagens aqui...\n

    Formatos aceitos: JPEG, PNG, WebP, AVIF e TIFF\n \n
    \n )\n }\n\n if (isDragReject) {\n return (\n // @ts-ignore\n \n Arquivo não suportado!\n \n \n )\n }\n\n return (\n // @ts-ignore\n \n Solte as imagens aqui! \n {pluralize('arquivos', draggedFiles.length, true)}{' '}\n {pluralize('selecionados', draggedFiles.length)}\n \n )\n }\n\n return (\n \n \n {renderDragMessage(isDragActive, isDragReject)}\n \n )\n}\n\nexport default Upload\n","import React, { useState } from 'react'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { albumAction } from '_actions'\nimport {\n Dialog,\n DialogActions,\n DialogContent,\n DialogContentText,\n DialogTitle,\n TextField,\n Button,\n InputAdornment,\n Typography,\n Grid,\n FormControlLabel,\n Checkbox,\n useTheme,\n useMediaQuery,\n Box,\n makeStyles\n} from '@material-ui/core'\nimport DeleteIcon from '@material-ui/icons/Delete'\nimport SendIcon from '@material-ui/icons/Send'\nimport { ImagePreviewClientSide } from '../PhotoList/PhotoList'\nimport { useConfirm } from 'material-ui-confirm'\nimport { getImageUrls, useDidMountEffect } from 'utils'\n\ntype PhotoEditDialog = {\n openModal: boolean\n setOpenModal: (open: boolean) => void\n photo: ImagePreviewClientSide\n}\n\nconst useStyles = makeStyles((theme) => ({\n formDialog: {\n overflow: 'hidden',\n overflowY: 'hidden',\n overflowX: 'hidden'\n }\n}))\n\nexport default function PhotoEditDialog ({\n openModal,\n setOpenModal,\n photo\n}: PhotoEditDialog) {\n const dispatch = useDispatch()\n const confirm = useConfirm()\n const classes = useStyles()\n const theme = useTheme()\n const isMobile = useMediaQuery(theme.breakpoints.down('xs'))\n const isSmallScreen = useMediaQuery(theme.breakpoints.down('sm'))\n const [title, setTitle] = useState(photo?.title)\n const [description, setDescription] = useState(photo?.description)\n const { fotoCapaId }: { fotoCapaId: Number } = useSelector(\n // @ts-ignore\n (state) => state.album\n )\n const [isCover, setCover] = useState(fotoCapaId == Number(photo.id) ? true : false)\n\n useDidMountEffect(() => {\n setCover(fotoCapaId == Number(photo.id) ? true : false)\n }, [fotoCapaId])\n\n const handleClose = () => {\n setOpenModal(false)\n setTitle(photo?.title)\n setDescription(photo?.description)\n setCover(fotoCapaId == Number(photo.id) ? true : false)\n }\n\n const handleDelete = () => {\n confirm({\n title: 'Você deseja mesmo excluir esta foto?',\n description: 'Confirmando essa operação, esta foto não aparecerá mais no álbum de fotos',\n confirmationText: 'Sim, excluir!',\n cancellationText: 'Nãããoo!'\n }).then(() => {\n if (fotoCapaId == Number(photo.id)) {\n dispatch(albumAction.setFotoCapaId(null))\n }\n dispatch(albumAction.deleteFoto(photo))\n })\n }\n\n const updateFile = (data: ImagePreviewClientSide) => {\n if (isCover) {\n dispatch(albumAction.setFotoCapaId(photo.id))\n } else if (fotoCapaId == Number(photo.id)) {\n dispatch(albumAction.setFotoCapaId(null))\n }\n\n dispatch(\n albumAction.updateFoto({\n ...photo,\n ...data\n })\n )\n }\n\n const handleSubmit = (event: React.FormEvent) => {\n event.preventDefault()\n updateFile({\n ...photo,\n title: title,\n description: description,\n isCover: isCover\n })\n setOpenModal(false)\n }\n\n const handleChangeTitle = (value: string) => {\n setTitle(value)\n }\n\n const handleChangeDescription = (value: string) => {\n setDescription(value)\n }\n\n const handleFotoCapa = () => {\n setCover(!isCover)\n }\n\n return (\n \n \n Edição Foto\n \n
    \n \n \n \n \n \n {!isMobile && !isSmallScreen && (\n \n }\n >\n Excluir Foto\n \n \n )}\n \n \n handleChangeTitle(event.target.value)}\n fullWidth\n InputProps={{\n endAdornment: (\n <>\n \n <>\n {!!title && title.length > 200 ? (\n \n {title?.length}/200\n \n ) :\n (\n {title?.length}/200\n )\n }\n \n \n \n )\n }}\n />\n handleChangeDescription(event.target.value)}\n fullWidth\n InputProps={{\n endAdornment: (\n <>\n \n <>\n {description != undefined && description.length > 280 ? (\n \n {description?.length}/280\n \n ) :\n (\n {description?.length}/280\n )\n }\n \n \n \n )\n }}\n />\n \n }\n label={\n \n Definir foto como capa do álbum\n \n }\n />\n \n \n \n \n {(isMobile || isSmallScreen) && (\n }\n >\n Excluir\n \n )}\n \n \n \n
    \n \n )\n}\n","import React, { useEffect, useState } from 'react'\nimport { useDispatch, useSelector } from 'react-redux'\nimport axios from 'axios'\nimport {\n makeStyles,\n Tooltip,\n IconButton,\n Typography,\n CircularProgress,\n CircularProgressProps,\n Box\n} from '@material-ui/core'\nimport HighlightOffRoundedIcon from '@material-ui/icons/HighlightOffRounded'\nimport EditRoundedIcon from '@material-ui/icons/EditRounded'\nimport ReplayRoundedIcon from '@material-ui/icons/ReplayRounded'\nimport ErrorOutlineRoundedIcon from '@material-ui/icons/ErrorOutlineRounded'\nimport { useSortable } from '@dnd-kit/sortable'\nimport { CSS } from '@dnd-kit/utilities'\n//? Own imports\nimport { ImagePreviewClientSide } from '../../PhotoList'\nimport { albumAction } from '_actions'\nimport config from 'config/config'\nimport PhotoEditDialog from 'views/PhotoAlbum/components/PhotoEditDialog'\nimport { useConfirm } from 'material-ui-confirm'\nimport el from 'date-fns/esm/locale/el/index.js'\nimport { useDidMountEffect } from 'utils'\n\nfunction CircularProgressWithLabel(\n props: CircularProgressProps & { value: number }\n) {\n const useStyles = makeStyles(() => ({\n textLoadingProgress: {\n color: '#fff',\n fontWeight: 'bold'\n }\n }))\n\n const classes = useStyles()\n return (\n \n \n \n {`${Math.round(props.value)}%`}\n \n \n )\n}\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n '&:hover': {\n '& $actionsContainer': {\n visibility: 'visible'\n }\n },\n borderRadius: 5,\n backgroundRepeat: 'no-repeat',\n backgroundSize: 'cover',\n backgroundPosition: '50% 50%',\n backgroundImage: ({ imageUrl }: { imageUrl: string | null | undefined }) =>\n imageUrl ? `url(\"${encodeURI(imageUrl)}\")` : undefined,\n width: '100%',\n height: 110,\n position: 'relative'\n },\n actionsContainer: {\n borderTopLeftRadius: 5,\n borderTopRightRadius: 5,\n padding: theme.spacing(1),\n visibility: 'hidden',\n justifyContent: 'space-between',\n alignContent: 'center',\n alignItems: 'center',\n display: 'flex',\n width: '100%',\n backgroundColor: 'rgba(0, 0, 0, 0.5)',\n boxShadow: '0px 4px 8px rgba(0, 0, 0, 0.25)'\n },\n deleteButton: {},\n editButton: {},\n textName: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n WebkitLineClamp: 2,\n WebkitBoxOrient: 'vertical',\n fontSize: 9,\n color: '#fff',\n margin: theme.spacing(0, 1)\n },\n loadingContainer: {\n position: 'absolute',\n display: 'flex',\n alignItems: 'center',\n width: '100%',\n height: 110,\n justifyContent: 'center',\n borderRadius: 5,\n backgroundColor: 'rgba(0, 0, 0, 0.5)'\n },\n errorContainer: {\n position: 'absolute',\n display: 'flex',\n alignItems: 'center',\n width: '100%',\n height: 110,\n justifyContent: 'center',\n borderRadius: 5,\n backgroundColor: 'rgba(255, 148, 148, 0.5)'\n }\n}))\n\ntype Props = {\n imagePreview: ImagePreviewClientSide\n}\n\nconst ImageItem = ({ imagePreview }: Props) => {\n const {\n attributes,\n listeners,\n setNodeRef,\n transform,\n transition,\n isDragging\n } = useSortable({ id: imagePreview.id })\n\n const classes = useStyles({ imageUrl: imagePreview.preview })\n const dispatch = useDispatch()\n const confirm = useConfirm()\n const [progress, setProgress] = useState(0)\n const [isLoading, setIsLoading] = useState(false)\n const [openEditModal, setOpenEditModal] = useState(false)\n const foto: ImagePreviewClientSide = useSelector((state) =>\n // @ts-ignore\n state.album.foto.find((item) => item.id === imagePreview.id)\n )\n const {\n fotoCapaId,\n enabledSortableContext\n }: { fotoCapaId: Number; enabledSortableContext: boolean } = useSelector(\n // @ts-ignore\n (state) => state.album\n )\n\n const handleClickDelete = () => {\n if (foto.file === null) {\n confirm({\n title: 'Você deseja mesmo excluir esta foto?',\n description:\n 'Confirmando essa operação, esta foto não aparecerá mais no álbum de fotos',\n confirmationText: 'Sim, excluir!',\n cancellationText: 'Nãããoo!'\n }).then(() => {\n if (fotoCapaId == Number(foto.id)) {\n dispatch(albumAction.setFotoCapaId(null))\n }\n dispatch(albumAction.deleteFoto(foto))\n })\n } else {\n if (fotoCapaId == Number(foto.id)) {\n dispatch(albumAction.setFotoCapaId(null))\n }\n dispatch(albumAction.deleteFoto(foto))\n }\n }\n\n const handleClickEdit = () => {\n setOpenEditModal(true)\n // dispatch(albumAction.updateFoto(foto))\n }\n\n useEffect(() => {\n if (foto.id && !foto.uploaded && !isLoading) {\n processUpload()\n }\n }, [])\n\n useDidMountEffect(() => {\n if (foto.id && !foto.uploaded && !isLoading && foto.retry) {\n processUpload()\n }\n }, [foto.retry])\n\n const updateFile = (data: ImagePreviewClientSide) => {\n dispatch(\n albumAction.updateFoto({\n ...foto,\n ...data\n })\n )\n }\n\n const processUpload = () => {\n const data = new FormData()\n data.append('file', imagePreview.file, imagePreview.name)\n setIsLoading(true)\n updateFile({\n ...foto,\n isError: false\n })\n axios\n .create({\n baseURL: config.baseUrl\n })\n .post('uploads/S3', data, {\n onUploadProgress: (event) => {\n const progress = Math.round((event.loaded * 100) / event.total)\n setProgress(progress)\n },\n headers: { Authorization: `Bearer ${localStorage.getItem('token')}` }\n })\n .then((response) => {\n setIsLoading(false)\n updateFile({\n ...foto,\n uploaded: true,\n isError: false,\n url: response.data.url,\n retry: false\n })\n })\n .catch(() => {\n setIsLoading(false)\n setProgress(progress)\n updateFile({\n ...foto,\n isError: true,\n retry: false\n })\n })\n }\n\n return (\n <>\n {foto?.preview ? (\n \n {foto.isError && (\n
    \n \n \n \n \n \n
    \n )}\n {isLoading && (\n
    \n \n
    \n )}\n
    \n {foto.isError ? (\n \n \n \n \n \n ) : (\n \n \n \n \n \n )}\n \n {foto.title || foto.name}\n \n \n \n \n \n \n \n
    \n \n ) : null}\n \n )\n}\n\nexport default ImageItem\n","import React, { useState } from 'react'\nimport { Box, Grid, makeStyles } from '@material-ui/core'\nimport GlobalStyle from './styles/global'\nimport Upload from './components/Upload'\nimport ImageItem from './components/ImageItem'\nimport { useDispatch, useSelector } from 'react-redux'\n\nimport {\n DndContext,\n closestCenter,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n DragStartEvent,\n DragEndEvent\n} from '@dnd-kit/core'\nimport {\n arrayMove,\n SortableContext,\n rectSortingStrategy\n} from '@dnd-kit/sortable'\nimport { albumAction } from '_actions'\n\nexport type ImagePreviewClientSide = {\n file: File\n id: string\n name: string\n title?: string\n description?: string\n isCover?: boolean\n readableSize: string\n preview: string\n uploaded: boolean\n isError: boolean\n url: string | null\n retry: boolean\n}\n\nconst useStyles = makeStyles((theme) => ({\n container: {\n height: '100%',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center'\n },\n content: {\n width: '100%'\n },\n listContainer: {\n marginTop: theme.spacing(1)\n }\n}))\n\nfunction PhotoList() {\n const classes = useStyles()\n const dispatch = useDispatch()\n // @ts-ignore\n const { enabledSortableContext } = useSelector((state) => state.album)\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: {\n distance: 4\n }\n })\n // useSensor(KeyboardSensor, {\n // coordinateGetter: sortableKeyboardCoordinates\n // })\n )\n const handleDragStart = (event: DragStartEvent) => {}\n\n const handleDragEnd = (event: DragEndEvent) => {\n const { active, over } = event\n if (over && active) {\n if (active.id !== over.id) {\n const oldIndex = foto.findIndex((item) => item.id === active.id)\n const newIndex = foto.findIndex((item) => item.id === over.id)\n dispatch(albumAction.shortFoto(arrayMove(foto, oldIndex, newIndex)))\n }\n }\n }\n\n const { foto }: { foto: ImagePreviewClientSide[] } = useSelector(\n // @ts-ignore\n (state) => state.album\n )\n\n return (\n \n \n \n \n \n \n {foto.map((imagePreview) => (\n \n \n \n ))}\n \n \n \n \n \n \n )\n}\n\nexport default PhotoList\n","import React, { useEffect, useState } from 'react'\nimport { albumAction } from '_actions'\nimport {\n Card,\n CardHeader,\n CardContent,\n CardActions,\n Divider,\n MenuItem,\n Button,\n Tooltip,\n Grid,\n Checkbox,\n FormControlLabel,\n InputAdornment,\n FormControl,\n useMediaQuery,\n TextField,\n CircularProgress,\n Switch,\n useTheme,\n Chip,\n Typography,\n makeStyles,\n Box,\n Fab,\n Link\n} from '@material-ui/core'\nimport { ValidatorForm, TextValidator } from 'react-material-ui-form-validator'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { toast } from 'react-toastify'\nimport { getImageUrls, toLocalDateFormat, useDidMountEffect } from 'utils'\nimport { history } from 'utils'\nimport { HelperToolTip, Page } from 'components'\nimport { useParams } from 'react-router-dom'\nimport constants from 'theme/constants'\nimport { Autocomplete } from '@material-ui/lab'\nimport {\n useEvent,\n useEvents,\n useMutationPhotoAlbumCreate,\n useMutationPhotoAlbumEdit,\n usePhotoAlbumId\n} from 'hooks-querys'\nimport { Foto, PhotoAlbum } from 'types/api'\nimport { PhotoList } from './components'\nimport { ImagePreviewClientSide } from './components/PhotoList/PhotoList'\nimport { useConfirm } from 'material-ui-confirm'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n // padding: theme.spacing(2)\n },\n formControl: {\n width: '100%'\n },\n paper: {\n ...constants.shadowCard\n },\n containerPhotos: {\n ...constants.shadowCard,\n marginTop: theme.spacing(2)\n },\n fabButton: {\n width: '100%'\n },\n helperContainer: {\n display: 'flex',\n alignItems: 'center'\n }\n}))\n\n// @ts-ignore\nconst PhotoAlbumEdit = (props) => {\n const dispatch = useDispatch()\n const classes = useStyles()\n const confirm = useConfirm()\n const mutationCreatePhotoAlbum = useMutationPhotoAlbumCreate()\n const mutationEditPhotoAlbum = useMutationPhotoAlbumEdit()\n const theme = useTheme()\n const isMobile = useMediaQuery(theme.breakpoints.down('xs'))\n const [eventoEditId, setEventoEditId] = useState()\n // @ts-ignore\n const [selectedEvento, setSelectedEvento] = useState({} as Evento)\n const [eventoInputValue, setEventoInputValue] = useState('')\n const [showPastEvents, setShowPastEvents] = useState(true)\n const estabelecimentoId = useSelector(\n // @ts-ignore: //ainda não foi tipado o redux state\n (state) => state.usuarioEstabelecimento.estabelecimentoId\n )\n const {\n foto,\n enabledSortableContext\n }: {\n foto: ImagePreviewClientSide[]\n enabledSortableContext: boolean\n } = useSelector(\n // @ts-ignore\n (state) => state.album\n )\n\n // @ts-ignore\n const { eventoId, photoAlbumId } = useParams()\n const [title, setTitle] = useState('')\n const [description, setDescription] = useState('')\n const { fotoCapaId }: { fotoCapaId: Number } = useSelector(\n // @ts-ignore\n (state) => state.album\n )\n\n const {\n data: events,\n isLoading: isLoadingEvents,\n isFetching: isFetchingEvents\n } = useEvents(estabelecimentoId, showPastEvents, true)\n//} = useEvents(estabelecimentoId, showPastEvents, isMobile)\n\n // Past Events Shortcut\n const { data: eventQuery } = useEvent(Number(eventoEditId) | eventoId)\n\n // Edit Photo Album\n const { data: photoAlbumEdit } = usePhotoAlbumId(Number(photoAlbumId))\n\n useEffect(() => {\n return () => {\n dispatch(albumAction.deleteAllFoto())\n }\n }, [])\n\n const LoadEditDetails = () => {\n if (!!photoAlbumEdit && foto && foto.length === 0) {\n setTitle(photoAlbumEdit.nome)\n setDescription(photoAlbumEdit.descricao)\n setEventoEditId(photoAlbumEdit.eventoId)\n dispatch(albumAction.setFotoCapaId(photoAlbumEdit.fotoCapaId))\n const files: ImagePreviewClientSide[] = photoAlbumEdit.foto.map(\n (fotoEdit: Foto) => {\n return {\n file: null,\n id: fotoEdit.id,\n name: fotoEdit?.titulo,\n title: fotoEdit?.titulo,\n description: fotoEdit?.descricao,\n // readableSize: filesize(fotoEdit.size),\n preview: getImageUrls(fotoEdit.imagem)?.thumbnailUrl,\n uploaded: true,\n isError: false,\n url: getImageUrls(fotoEdit.imagem)?.originalUrl,\n isCover: fotoEdit.id === photoAlbumEdit.fotoCapaId && true,\n retry: false\n }\n }\n )\n dispatch(albumAction.addFoto(files))\n }\n }\n\n useEffect(() => {\n LoadEditDetails()\n }, [photoAlbumEdit])\n\n const toggleEnabledSortableContext = () => {\n dispatch(albumAction.toggleEnabledSortableContext())\n }\n const handleChangeTitle = (value: string) => {\n setTitle(value)\n }\n\n const handleChangeDescription = (value: string) => {\n setDescription(value)\n }\n\n const handleRetryAll = () => {\n foto.forEach((item) => {\n if (item.isError) {\n dispatch(\n albumAction.updateFoto({\n ...item,\n retry: true\n })\n )\n }\n })\n }\n\n const handleCancel = () => {\n if (!!title || !!description || selectedEvento?.id || eventQuery?.id) {\n confirm({\n title: !!photoAlbumId\n ? 'Você deseja cancelar a edição do álbum?'\n : 'Você deseja cancelar o cadastro do álbum?',\n // description: '',\n confirmationText: 'Sim, cancelar!',\n cancellationText: 'Não!'\n }).then(() => {\n dispatch(albumAction.deleteAllFoto())\n history.goBack()\n })\n } else {\n dispatch(albumAction.deleteAllFoto())\n history.goBack()\n }\n }\n\n const handleSubmit = () => {\n let hasNotUploaded = false\n let fotoPayload: Array = []\n\n foto.map((row) => {\n if (!row.uploaded) {\n hasNotUploaded = true\n }\n })\n\n if (title === '') {\n toast.error('Você precisa dar um titulo ao álbum!')\n } else if (!selectedEvento?.id && !eventQuery?.id) {\n toast.error('Você precisa selecionar um evento!')\n } else if (foto.length === 0) {\n toast.error('Você precisa adicionar ao menos uma foto!')\n } else {\n confirm({\n title: hasNotUploaded\n ? 'Há fotos com upload incompleto, deseja continuar?'\n : !!photoAlbumId\n ? `Atualizar álbum ${title}?`\n : `Salvar álbum ${title}?`,\n description:\n hasNotUploaded &&\n 'Se prosseguir essas fotos não aparecerão no álbum..',\n confirmationText: hasNotUploaded\n ? `Sim, salvar álbum mesmo assim!`\n : 'Sim!',\n cancellationText: 'Não!'\n }).then(() => {\n foto.forEach((item) => {\n if (item?.uploaded) {\n fotoPayload.push({\n id: item.file === null ? Number(item.id) : 0,\n albumId: !!photoAlbumId ? photoAlbumId : 0,\n titulo: !!item.title ? item?.title : '',\n descricao: item?.description,\n ordem: foto.indexOf(item) + 1,\n imagem: !!item.url ? item.url : '',\n capa: !!item.isCover ? item?.isCover : false,\n albumCapa: []\n })\n }\n })\n\n let payload = {\n id: !!photoAlbumId ? photoAlbumId : 0,\n nome: title,\n descricao: description,\n estabelecimentoId: estabelecimentoId,\n eventoId: selectedEvento?.id > 0 ? selectedEvento.id : eventQuery?.id,\n foto: fotoPayload\n }\n\n if (photoAlbumId) {\n editPhotoAlbum(payload)\n } else {\n createPhotoAlbum(payload)\n }\n })\n }\n }\n\n const createPhotoAlbum = (payload: PhotoAlbum) => {\n mutationCreatePhotoAlbum.mutateAsync(payload).then(() => {\n history.push('/photoAlbum/lista')\n dispatch(albumAction.deleteAllFoto())\n })\n }\n\n const editPhotoAlbum = (payload: PhotoAlbum) => {\n mutationEditPhotoAlbum.mutateAsync(payload).then(() => {\n history.push('/photoAlbum/lista')\n dispatch(albumAction.deleteAllFoto())\n })\n }\n\n return (\n \n \n \n
    \n \n \n \n \n \n \n \n {\n setSelectedEvento(newValue)\n if (reason === 'clear') {\n setEventoInputValue('')\n }\n }}\n getOptionLabel={(evento) =>\n evento.nome &&\n `${evento.nome} ${\n evento.dataHoraInicio\n ? ` - (${toLocalDateFormat(\n evento.dataHoraInicio\n )})`\n : ''\n }`\n }\n placeholder=\"Selecione o evento...\"\n onInputChange={(event, newInputValue) => {\n if (newInputValue !== null) {\n setEventoInputValue(newInputValue)\n } else {\n setEventoInputValue('')\n }\n }}\n inputValue={eventoInputValue}\n renderInput={(params) => (\n \n {!isMobile && (\n \n <>\n {isFetchingEvents && (\n \n )}\n {/* {\n setShowPastEvents(event.target.checked)\n }}\n checked={showPastEvents}\n size=\"small\"\n inputProps={{\n 'aria-label': 'Listar eventos encerrados'\n }}\n />\n {\n setShowPastEvents(!showPastEvents)\n }}\n /> */}\n \n \n )}\n {params.InputProps.endAdornment}\n \n )\n }}\n />\n )}\n />\n \n \n \n \n // @ts-ignore\n handleChangeTitle(event.target.value)\n }\n validators={['required']}\n errorMessages={['Campo obrigatório!']}\n fullWidth\n InputProps={{\n endAdornment: (\n <>\n \n <>\n {title.length > 200 ? (\n \n {title.length}/200\n \n ) : (\n \n {title.length}/200\n \n )}\n \n \n \n )\n }}\n />\n \n \n \n // @ts-ignore\n handleChangeDescription(event.target.value)\n }\n //validators={['required']}\n //errorMessages={['Campo obrigatório!']}\n multiline\n lines=\"3\"\n fullWidth\n InputProps={{\n endAdornment: (\n <>\n \n <>\n {description.length > 280 ? (\n \n {description.length}/280\n \n ) : (\n \n {description.length}/280\n \n )}\n \n \n \n )\n }}\n />\n \n \n \n {/* \n \n history.goBack()}\n color=\"secondary\"\n variant=\"outlined\"\n >\n Cancelar\n \n \n */}\n \n \n
    \n
    \n \n \n \n Adicione as fotos para compor o álbum\n {isMobile && (\n \n }\n label={\n
    \n Habilitar ordenação\n \n Para organizar as fotos no álbum, basta segurá-las e\n arrastá-las para a posição desejada utilizando o\n recurso de arrastar e soltar (drag and drop).\n {' '}\n
    \n }\n />\n )}\n \n }\n title={'2 - Conteúdo do álbum'}\n action={\n !isMobile ? (\n \n }\n label={\n
    \n Habilitar ordenação\n \n Para organizar as fotos no álbum, basta segurá-las e\n arrastá-las para a posição desejada utilizando o recurso\n de arrastar e soltar (drag and drop).\n \n
    \n }\n />\n ) : undefined\n }\n />\n \n \n \n Total de fotos: {foto.length}/300\n {foto?.length > 0 && (\n <>\n \n Processadas:{' '}\n \n {foto.filter((foto) => foto.uploaded).length}/\n {foto.length}\n \n \n {foto.filter((foto) => !foto.uploaded && foto.isError)\n .length > 0 && (\n <>\n \n Falhas:{' '}\n \n {\n foto.filter((foto) => !foto.uploaded && foto.isError)\n .length\n }\n /{foto.length}\n \n \n \n Reprocessar todas as fotos com falhas\n \n \n )}\n \n )}\n \n \n \n \n \n
    \n
    \n 30 ? 'sticky' : 'initial',\n marginTop: theme.spacing(2),\n bottom: theme.spacing(2)\n }}\n >\n \n \n {photoAlbumId ? 'Cancelar' : 'Voltar'}\n \n \n \n \n {photoAlbumId ? 'Atualizar' : 'Salvar álbum'}\n \n \n \n \n )\n}\n\nexport default PhotoAlbumEdit\n","import React, { useEffect } from 'react'\nimport { Redirect, useParams } from 'react-router-dom'\nimport ListRoundedIcon from '@material-ui/icons/ListRounded'\nimport {\n Tabs,\n Tab,\n Divider,\n colors,\n makeStyles,\n useTheme,\n useMediaQuery\n} from '@material-ui/core'\nimport AddCircleTwoToneIcon from '@material-ui/icons/AddCircleTwoTone'\nimport EditTwoToneIcon from '@material-ui/icons/EditTwoTone'\nimport { Page, Header } from 'components'\nimport { PhotoAlbumList } from './PhotoAlbumList'\nimport PhotoAlbumEdit from './PhotoAlbumEdit'\nimport { useDispatch } from 'react-redux'\nimport { albumAction } from '_actions'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(3, 2, 2, 2)\n },\n tabs: {\n marginTop: theme.spacing(3)\n },\n divider: {\n backgroundColor: colors.grey[300]\n },\n content: {\n marginTop: theme.spacing(3)\n }\n}))\n\n// @ts-ignore\nconst PhotoAlbum = (props) => {\n const { match, history } = props\n const { tab } = match.params\n const classes = useStyles()\n const theme = useTheme()\n const dispatch = useDispatch()\n const isMobile = useMediaQuery(theme.breakpoints.down('xs'))\n // @ts-ignore\n const { photoAlbumId, eventoId } = useParams()\n\n // @ts-ignore\n const handleTabsChange = (event, value) => {\n history.push(`/photoAlbum/${value}`)\n }\n\n const tabs = [\n { value: 'lista', label: 'Lista', icon: },\n {\n value: 'cadastro',\n label: photoAlbumId ? 'Editar' : 'Cadastrar',\n icon: photoAlbumId ? : ,\n disabled: photoAlbumId ? true : false\n }\n ]\n\n useEffect(() => {\n return () => {\n dispatch(albumAction.deleteAllFoto())\n }\n }, [])\n\n if (!tab) {\n return \n }\n\n if (!tabs.find((t) => t.value === tab)) {\n return \n }\n\n return (\n // @ts-ignore\n \n \n \n {tabs.map((tab) => (\n \n ))}\n \n \n
    \n {tab === 'lista' && }\n {tab === 'cadastro' && }\n
    \n
    \n )\n}\n\nexport default PhotoAlbum\n","import React from 'react'\nimport { Button, Grid, Typography, makeStyles } from '@material-ui/core'\nimport Image from 'material-ui-image'\n\n//? Own imports\nimport { history } from 'utils'\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n noResultText: {\n paddingTop: theme.spacing(6),\n paddingBottom: theme.spacing(1),\n textAlign: 'center'\n },\n image: { marginTop: theme.spacing(3) },\n button: {\n '&:hover': {\n backgroundColor: theme.palette.primary.main,\n boxShadow: '0 9px 40px -14px #FFC20A',\n webkitTransition: ' all 300ms ease',\n transition: 'all 300ms ease',\n letterSpacing: '1.2px'\n }\n }\n}))\nconst EmptyFirstMembershipPlan = () => {\n const classes = useStyles()\n\n const handleClickMembershipPlan = () => {\n history.push(`/members/cadastroPlano`)\n }\n\n return (\n
    \n \n \n \n \n \n \n Você ainda não criou um plano!\n \n \n \n \n Criar plano! 🎟\n \n \n \n
    \n )\n}\n\nexport default EmptyFirstMembershipPlan\n","import React, { useEffect } from 'react'\r\nimport { connect, useDispatch, useSelector } from 'react-redux'\r\nimport PropTypes from 'prop-types'\r\nimport {\r\n withStyles,\r\n Table,\r\n TableContainer,\r\n TableBody,\r\n TableCell,\r\n TableHead,\r\n TableRow,\r\n Paper,\r\n IconButton,\r\n Tooltip,\r\n Typography,\r\n Avatar,\r\n Link\r\n} from '@material-ui/core'\r\nimport { Link as RouterLink } from 'react-router-dom'\r\nimport DeleteIcon from '@material-ui/icons/Delete'\r\nimport EditIcon from '@material-ui/icons/Edit'\r\nimport { withRouter } from 'react-router-dom'\r\nimport {\r\n getImageUrls,\r\n getInitials,\r\n history,\r\n toLocalDateFormat\r\n} from '../../utils'\r\nimport { useConfirm } from 'material-ui-confirm'\r\nimport { AccessControl } from '../../components/Utils/AccessControl'\r\nimport { Page, SkeletonTable } from 'components'\r\nimport EmptyFirstMembershipPlan from './components/EmptyFirstMembershipPlan/EmptyFirstMembershipPlan'\r\nimport constants from 'theme/constants'\r\nimport {\r\n useMutationMembershipPlanDelete,\r\n useMembershipPlanList\r\n} from 'hooks-querys'\r\nimport { MembershipPlan } from 'types/api'\r\nimport ShareIcon from '@material-ui/icons/Share'\r\nimport { toast } from 'react-toastify'\r\nimport { genericOnShare } from 'utils/genericOnShare'\r\n\r\nconst styles = () => ({\r\n root: {},\r\n paper: {\r\n ...constants.shadowCard\r\n },\r\n avatar: {\r\n width: 90,\r\n height: 55,\r\n borderRadius: 5\r\n }\r\n})\r\n\r\n// @ts-ignore\r\nconst MembershipPlanList = (props) => {\r\n const confirm = useConfirm()\r\n const dispatch = useDispatch()\r\n const { classes } = props\r\n const mutationMembershipPlanDelete = useMutationMembershipPlanDelete()\r\n\r\n const estabelecimentoId = useSelector(\r\n // @ts-ignore: //ainda não foi tipado o redux state\r\n (state) => state.usuarioEstabelecimento.estabelecimentoId\r\n )\r\n const { isLoading, data: membershipPlan } = useMembershipPlanList(\r\n estabelecimentoId\r\n )\r\n\r\n const handleDeleteClick = (idMembershipPlan: number) => {\r\n confirm({\r\n title: 'Você deseja excluir esse plano de membros?',\r\n //description: 'Confirmando essa operação, plano será excluido para sempre!',\r\n confirmationText: 'Sim, excluir!',\r\n cancellationText: 'Nãããoo!'\r\n }).then(() => {\r\n deleteMembershipPlan(idMembershipPlan)\r\n })\r\n }\r\n\r\n const deleteMembershipPlan = (idMembershipPlan: number) => {\r\n mutationMembershipPlanDelete.mutate(idMembershipPlan)\r\n }\r\n\r\n return (\r\n // @ts-ignore\r\n \r\n (\r\n
    \r\n {membershipPlan && membershipPlan.length > 0 ? (\r\n \r\n Total de dados encontrados: {membershipPlan.length}\r\n \r\n ) : null}\r\n {undefined !== membershipPlan && membershipPlan.length ? (\r\n \r\n \r\n \r\n \r\n Imagem\r\n Nome\r\n Descrição\r\n Data Início\r\n Data Fim\r\n N⁰ Ingressos\r\n \r\n Dia geração da cobrança\r\n \r\n Dias Inadimplência\r\n Membros\r\n {/* Check-In */}\r\n {/* Valor */}\r\n Ações\r\n \r\n \r\n \r\n {membershipPlan.map((n: MembershipPlan) => {\r\n return (\r\n \r\n \r\n \r\n \r\n {getInitials(n.nome)}\r\n \r\n \r\n \r\n \r\n {n.nome}\r\n \r\n \r\n {n.descricao}\r\n \r\n \r\n {toLocalDateFormat(n.dataHoraInicio)}\r\n \r\n \r\n {toLocalDateFormat(n.dataHoraFim)}\r\n \r\n \r\n {n.numeroIngressos}\r\n \r\n \r\n {n.diaVencimento}\r\n \r\n \r\n {n.diasInadimplencia}\r\n \r\n \r\n {n.totalMembros}/\r\n {n.limiteMembros ? n.limiteMembros : '-'}\r\n {/* {n.limiteMembros} */}\r\n \r\n {/* \r\n {n.checkIn}\r\n */}\r\n {/* \r\n {n.planoValor}\r\n */}\r\n \r\n (\r\n \r\n history.push(\r\n `/members/cadastroPlano/${n.id}`\r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n )}\r\n />\r\n (\r\n handleDeleteClick(n.id)}\r\n >\r\n \r\n \r\n \r\n \r\n )}\r\n />\r\n \r\n \r\n )\r\n })}\r\n \r\n
    \r\n
    \r\n ) : (\r\n \r\n )}\r\n
    \r\n )}\r\n />\r\n
    \r\n )\r\n}\r\nMembershipPlanList.propTypes = {\r\n classes: PropTypes.object.isRequired\r\n}\r\n// @ts-ignore\r\nconst mapStateToProps = (state) => {\r\n return {\r\n membershipPlan: state.membershipPlan,\r\n estabelecimentoId: state.usuarioEstabelecimento.estabelecimentoId\r\n }\r\n}\r\n\r\n// @ts-ignore\r\nconst connectedMembershipPlanPage = withRouter(\r\n // @ts-ignore\r\n connect(mapStateToProps, null, null, {\r\n pure: false\r\n })(withStyles(styles)(MembershipPlanList))\r\n)\r\nexport { connectedMembershipPlanPage as MembershipPlanList }\r\n","import React, { useEffect, useState } from 'react'\r\nimport {\r\n Card,\r\n CardHeader,\r\n CardContent,\r\n CardActions,\r\n Divider,\r\n MenuItem,\r\n Button,\r\n Tooltip,\r\n Grid,\r\n InputAdornment,\r\n Typography,\r\n TableContainer,\r\n Paper,\r\n Table,\r\n TableHead,\r\n TableRow,\r\n TableCell,\r\n TableBody,\r\n IconButton,\r\n CircularProgress\r\n} from '@material-ui/core'\r\nimport AddCircleTwoToneIcon from '@material-ui/icons/AddCircleTwoTone'\r\nimport EditIcon from '@material-ui/icons/Edit'\r\nimport {\r\n ValidatorForm,\r\n TextValidator,\r\n SelectValidator\r\n} from 'react-material-ui-form-validator'\r\nimport { useDispatch, useSelector } from 'react-redux'\r\nimport { HelperToolTip, ValidatedDatePicker } from 'components/'\r\nimport { toast } from 'react-toastify'\r\nimport { history } from 'utils'\r\nimport { Page } from 'components'\r\nimport { makeStyles } from '@material-ui/styles'\r\nimport { useParams } from 'react-router-dom'\r\nimport constants from 'theme/constants'\r\nimport {\r\n useMembershipPlanId,\r\n useMutationMembershipPlanCreate,\r\n useMutationMembershipPlanEdit\r\n} from 'hooks-querys'\r\nimport { MembershipPlan, PlanPrice } from 'types/api'\r\nimport { UploadField } from 'components/Utils/Uploads'\r\nimport { AccessControl } from 'components/Utils'\r\nimport DeleteIcon from '@material-ui/icons/Delete'\r\nimport {\r\n useMutationPlanPriceCreate,\r\n useMutationPlanPriceDelete,\r\n useMutationPlanPriceEdit\r\n} from 'hooks-querys/members'\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n // padding: theme.spacing(2)\r\n },\r\n paper: {\r\n ...constants.shadowCard\r\n },\r\n buttonAddPrice: {\r\n // width: \"100%\",\r\n height: 55\r\n }\r\n}))\r\n\r\n// @ts-ignore\r\nconst MembershipPlanEdit = (props) => {\r\n const dispatch = useDispatch()\r\n const classes = useStyles()\r\n // @ts-ignore\r\n const { params, membershipPlanId } = useParams()\r\n const { data: membershipPlanEdit } = useMembershipPlanId(\r\n Number(membershipPlanId)\r\n )\r\n const [name, setName] = useState()\r\n const [description, setDescription] = useState()\r\n const [image, setImage] = useState()\r\n const [startDate, setStartDate] = useState(null)\r\n const [endDate, setEndDate] = useState(null)\r\n // const [checkIn, setCheckIn] = useState(false)\r\n // const [hoursCheckIn, setHoursCheckIn] = useState(null)\r\n const [membersLimit, setMembersLimit] = useState(null)\r\n const [ticketsNumber, setTicketsNumber] = useState(null)\r\n const [billingDay, setBillingDay] = useState(null)\r\n const [paymentDeadlineDays, setPaymentDeadlineDays] = useState(\r\n null\r\n )\r\n const [daysOfDefault, setDaysOfDefault] = useState(null)\r\n const [periodicity, setPeriodicity] = useState<'M' | 'A' | null>(null)\r\n const [price, setPrice] = useState(null)\r\n const [planPrices, setPlanPrices] = useState([])\r\n const [isEditPlanPrice, setIsEditPlanPrice] = useState(false)\r\n const [planPriceEditIndex, setPlanPriceEditIndex] = useState(0)\r\n const estabelecimentoId = useSelector(\r\n // @ts-ignore: //ainda não foi tipado o redux state\r\n (state) => state.usuarioEstabelecimento.estabelecimentoId\r\n )\r\n const mutationCreateMembershipPlan = useMutationMembershipPlanCreate()\r\n const mutationEditMembershipPlan = useMutationMembershipPlanEdit()\r\n const mutationEditPlanPrice = useMutationPlanPriceEdit()\r\n const mutationDeletePlanPrice = useMutationPlanPriceDelete()\r\n const mutationPlanPriceCreate = useMutationPlanPriceCreate()\r\n const isMutatingMembershipPlan =\r\n mutationCreateMembershipPlan.isLoading ||\r\n mutationEditMembershipPlan.isLoading\r\n\r\n const LoadEditDetails = () => {\r\n if (!!membershipPlanEdit) {\r\n setName(membershipPlanEdit.nome)\r\n setDescription(membershipPlanEdit.descricao)\r\n setImage(membershipPlanEdit.imagem)\r\n setStartDate(membershipPlanEdit.dataHoraInicio)\r\n setEndDate(membershipPlanEdit.dataHoraFim)\r\n setMembersLimit(membershipPlanEdit.limiteMembros)\r\n setTicketsNumber(membershipPlanEdit.numeroIngressos)\r\n setBillingDay(membershipPlanEdit.diaVencimento)\r\n setPaymentDeadlineDays(membershipPlanEdit.numeroDiasVencimento)\r\n setDaysOfDefault(membershipPlanEdit.diasInadimplencia)\r\n setPlanPrices(membershipPlanEdit.planoValor)\r\n // setCheckIn(membershipPlanEdit.checkIn)\r\n // setHoursCheckIn(membershipPlanEdit.hoursCheckIn)\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n LoadEditDetails()\r\n }, [membershipPlanEdit])\r\n\r\n // const handleChangeCheckIn = () => {\r\n // setCheckIn(!checkIn)\r\n // }\r\n\r\n const cancelClick = () => {\r\n history.goBack()\r\n }\r\n\r\n const handleDeletePlanPrice = (planPriceItem: PlanPrice) => {\r\n let indexOfPlanPriceItem = planPrices.indexOf(planPriceItem)\r\n if (membershipPlanId) {\r\n mutationDeletePlanPrice.mutateAsync(planPriceItem.id).then(() => {\r\n setPlanPrices(membershipPlanEdit.planoValor)\r\n planPrices.splice(indexOfPlanPriceItem, 1)\r\n })\r\n } else {\r\n planPrices.splice(indexOfPlanPriceItem, 1)\r\n }\r\n }\r\n\r\n const handleEditPlanPrice = (planPriceItem: PlanPrice) => {\r\n let indexOfPlanPriceEdit = planPrices.indexOf(planPriceItem)\r\n setPeriodicity(planPrices[indexOfPlanPriceEdit].periodicidade)\r\n setPrice(planPrices[indexOfPlanPriceEdit].valor)\r\n setIsEditPlanPrice(true)\r\n setPlanPriceEditIndex(indexOfPlanPriceEdit)\r\n }\r\n\r\n const handleEditPlanPriceFinal = () => {\r\n let payload = {\r\n id: planPrices[planPriceEditIndex].id,\r\n periodicidade: periodicity,\r\n planoId: membershipPlanId,\r\n valor: Number(price)\r\n }\r\n\r\n if (membershipPlanId) {\r\n mutationEditPlanPrice.mutateAsync(payload).then(() => {\r\n setPlanPrices(membershipPlanEdit.planoValor)\r\n setPeriodicity(null)\r\n setPrice(null)\r\n setIsEditPlanPrice(false)\r\n setPlanPriceEditIndex(0)\r\n })\r\n } else {\r\n // @ts-ignore\r\n planPrices[planPriceEditIndex] = payload\r\n setPeriodicity(null)\r\n setPrice(null)\r\n setIsEditPlanPrice(false)\r\n setPlanPriceEditIndex(0)\r\n }\r\n }\r\n\r\n const handleAddPlanPrice = () => {\r\n if (!periodicity || !price) {\r\n toast.error('Informe uma periodicidade e valor!')\r\n } else {\r\n if (membershipPlanId) {\r\n let payload = {\r\n id: 0,\r\n periodicidade: periodicity,\r\n planoId: Number(membershipPlanId),\r\n valor: Number(price)\r\n }\r\n\r\n mutationPlanPriceCreate.mutateAsync(payload).then(() => {\r\n setPlanPrices(membershipPlanEdit.planoValor)\r\n setPeriodicity(null)\r\n setPrice(null)\r\n })\r\n } else {\r\n planPrices.push({\r\n id: planPrices ? planPrices.length : 0,\r\n periodicidade: periodicity,\r\n planoId: 0,\r\n valor: Number(price)\r\n })\r\n setPeriodicity(null)\r\n setPrice(null)\r\n }\r\n }\r\n }\r\n\r\n function preparePayload() {\r\n if (!!membershipPlanEdit) {\r\n planPrices.forEach((item) => {\r\n item.planoId === 0 ? (item.id = 0) : (item.id = item.id)\r\n item.planoId = Number(membershipPlanId)\r\n })\r\n } else {\r\n planPrices.forEach((item) => {\r\n item.id = 0\r\n })\r\n }\r\n\r\n let payload = {\r\n id: !!membershipPlanEdit ? membershipPlanId : 0,\r\n estabelecimentoId: !!membershipPlanEdit\r\n ? membershipPlanEdit.estabelecimentoId\r\n : estabelecimentoId,\r\n nome: name,\r\n descricao: description,\r\n imagem: image,\r\n // dataHoraInicio: !!startDate ? format(new Date(startDate), 'dd/MM/yyyy HH:mm') : null,\r\n dataHoraInicio: startDate,\r\n // dataHoraFim: !!endDate ? format(new Date(endDate), 'dd/MM/yyyy HH:mm') : null,\r\n dataHoraFim: endDate,\r\n limiteMembros: membersLimit,\r\n numeroIngressos: ticketsNumber,\r\n diaVencimento: billingDay,\r\n numeroDiasVencimento: paymentDeadlineDays,\r\n diasInadimplencia: daysOfDefault,\r\n planoValor: planPrices\r\n // checkIn: checkIn\r\n }\r\n\r\n return payload\r\n }\r\n\r\n const handleSubmit = () => {\r\n let payload\r\n\r\n if (planPrices.length < 1) {\r\n toast.error('Informe ao menos uma periodicidade e valor!')\r\n } else if (!!startDate) {\r\n if (!!endDate && endDate <= startDate) {\r\n toast.error('Fim não pode ser anterior ao início do plano!')\r\n } else {\r\n payload = preparePayload()\r\n\r\n if (membershipPlanEdit) {\r\n // @ts-ignore\r\n editMembershipPlan(payload)\r\n } else {\r\n // @ts-ignore\r\n createMembershipPlan(payload)\r\n }\r\n }\r\n } else {\r\n toast.error('Informe uma data de início para o plano!')\r\n }\r\n }\r\n\r\n const createMembershipPlan = (payload: MembershipPlan) => {\r\n mutationCreateMembershipPlan.mutateAsync(payload).then(() => {\r\n history.push('/members/listaPlano')\r\n })\r\n }\r\n\r\n const editMembershipPlan = (payload: MembershipPlan) => {\r\n mutationEditMembershipPlan.mutateAsync(payload).then(() => {\r\n history.push('/members/listaPlano')\r\n })\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n // @ts-ignore\r\n setName(event.target.value)\r\n }\r\n validators={['required']}\r\n errorMessages={['Campo obrigatório!']}\r\n fullWidth\r\n multiline\r\n InputProps={{\r\n endAdornment: (\r\n <>\r\n \r\n <>\r\n {!!name && name.length > 100 ? (\r\n \r\n {name?.length}/100\r\n \r\n ) : (\r\n \r\n {name?.length}/100\r\n \r\n )}\r\n \r\n \r\n \r\n )\r\n }}\r\n />\r\n \r\n \r\n \r\n // @ts-ignore\r\n setDescription(event.target.value)\r\n }\r\n validators={['required']}\r\n errorMessages={['Campo obrigatório!']}\r\n fullWidth\r\n multiline\r\n />\r\n \r\n \r\n \r\n \r\n Limite de membros para esse plano de sócios\r\n \r\n \r\n )\r\n }}\r\n name=\"limiteMembros\"\r\n variant=\"outlined\"\r\n id=\"limiteMembros\"\r\n label=\"Limite de Membros\"\r\n value={membersLimit || ''}\r\n onChange={(event) =>\r\n // @ts-ignore\r\n setMembersLimit(event.target.value)\r\n }\r\n fullWidth\r\n type=\"number\"\r\n inputProps={{\r\n min: '1'\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n Quantidade de ingressos liberada a cada evento\r\n para o membro\r\n \r\n \r\n )\r\n }}\r\n name=\"quantidadeIngressos\"\r\n variant=\"outlined\"\r\n id=\"quantidadeIngressos\"\r\n label=\"Quantidade de Ingressos\"\r\n value={ticketsNumber || ''}\r\n onChange={(event) =>\r\n // @ts-ignore\r\n setTicketsNumber(event.target.value)\r\n }\r\n fullWidth\r\n type=\"number\"\r\n inputProps={{\r\n min: '1'\r\n }}\r\n />\r\n \r\n \r\n setStartDate(newValue)}\r\n //disablePast\r\n format=\"dd/MM/yyyy HH:mm\"\r\n invalidDateMessage=\"Data inválida!\"\r\n invalidLabel=\"dd/MM/aaaa HH:mm\"\r\n maxDateMessage=\"A data não deve ser posterior à data máxima\"\r\n //minDateMessage=\"A data não deve ser anterior à data de hoje\"\r\n cancelLabel=\"Cancelar\"\r\n okLabel=\"Definir\"\r\n clearable\r\n clearLabel=\"Limpar\"\r\n placeholder=\"dd/MM/aaaa HH:mm\"\r\n todayLabel=\"Hoje\"\r\n defaultValue={undefined}\r\n openTo=\"month\"\r\n views={['month', 'date', 'hours', 'minutes']}\r\n />\r\n \r\n \r\n setEndDate(newValue)}\r\n // disablePast\r\n minDate={startDate}\r\n format=\"dd/MM/yyyy HH:mm\"\r\n invalidDateMessage=\"Data inválida!\"\r\n invalidLabel=\"dd/MM/aaaa HH:mm\"\r\n maxDateMessage=\"A data não deve ser posterior à data máxima\"\r\n minDateMessage=\"A data não deve ser anterior à data de início\"\r\n cancelLabel=\"Cancelar\"\r\n okLabel=\"Definir\"\r\n clearable\r\n clearLabel=\"Limpar\"\r\n placeholder=\"dd/MM/aaaa HH:mm\"\r\n todayLabel=\"Hoje\"\r\n defaultValue={undefined}\r\n openTo=\"month\"\r\n views={['month', 'date', 'hours', 'minutes']}\r\n />\r\n \r\n \r\n \r\n \r\n Dia do mês em que a cobrança será gerada para esta\r\n associação. Se não for especificado, as cobranças\r\n serão geradas imediatamente, e as próximas\r\n cobranças terão como base a data de adesão. Caso\r\n seja informado um dia específico, a cobrança será\r\n gerada nesse dia com vencimento no próximo dia\r\n útil.\r\n \r\n \r\n )\r\n }}\r\n name=\"billingDay\"\r\n variant=\"outlined\"\r\n id=\"billingDay\"\r\n label=\"Dia de geração da cobrança\"\r\n value={billingDay || ''}\r\n onChange={(event) =>\r\n // @ts-ignore\r\n setBillingDay(event.target.value)\r\n }\r\n fullWidth\r\n type=\"number\"\r\n inputProps={{\r\n min: '1',\r\n max: '31'\r\n }}\r\n // validators={['required']}\r\n // errorMessages={['Campo obrigatório!']}\r\n />\r\n \r\n \r\n \r\n \r\n Quantidade de dias, a partir da data de emissão,\r\n para o vencimento da cobrança. Caso não seja\r\n especificado, o vencimento será definido\r\n automaticamente em 5 dias após a data de emissão.\r\n Exemplo: se o valor for 7, a cobrança terá\r\n vencimento 7 dias após a data de emissão.\r\n \r\n \r\n )\r\n }}\r\n name=\"paymentDeadlineDays\"\r\n variant=\"outlined\"\r\n id=\"paymentDeadlineDays\"\r\n label=\"Dias para vencimento\"\r\n value={paymentDeadlineDays || ''}\r\n onChange={(event) =>\r\n // @ts-ignore\r\n setPaymentDeadlineDays(event.target.value)\r\n }\r\n fullWidth\r\n type=\"number\"\r\n inputProps={{\r\n min: '1',\r\n max: '31'\r\n }}\r\n // validators={['required']}\r\n // errorMessages={['Campo obrigatório!']}\r\n />\r\n \r\n \r\n \r\n \r\n Dias que o membro pode ficar inadimplente e mesmo\r\n assim participar dos eventos\r\n \r\n \r\n )\r\n }}\r\n name=\"daysOfDefault\"\r\n variant=\"outlined\"\r\n id=\"daysOfDefault\"\r\n label=\"Dias de Inadimplência\"\r\n value={daysOfDefault || ''}\r\n onChange={(event) =>\r\n // @ts-ignore\r\n setDaysOfDefault(event.target.value)\r\n }\r\n fullWidth\r\n type=\"number\"\r\n inputProps={{\r\n min: '1'\r\n }}\r\n />\r\n \r\n {/* Check-in ainda nao esta funcional */}\r\n {/*\r\n
    \r\n \r\n }\r\n />\r\n \r\n Se ativado, os membros do plano devem fazer check-in com antecedência\r\n \r\n \r\n \r\n Quantos horas antes de um evento começar o membro deverá fazer o check-in\r\n \r\n \r\n )\r\n }}\r\n name=\"hoursCheckIn\"\r\n variant=\"outlined\"\r\n id=\"hoursCheckIn\"\r\n label=\"Horas de Antecedência\"\r\n value={hoursCheckIn || ''}\r\n onChange={(event) =>\r\n // @ts-ignore\r\n setHoursCheckIn(event.target.value)\r\n }\r\n type=\"number\"\r\n inputProps={{\r\n min: '1'\r\n }}\r\n disabled={!checkIn}\r\n placeholder=\"72\"\r\n />\r\n
    \r\n
    */}\r\n \r\n \r\n \r\n \r\n \r\n // @ts-ignore\r\n setPeriodicity(event.target.value)\r\n }\r\n fullWidth\r\n displayEmpty\r\n labelId=\"periodicity\"\r\n >\r\n \r\n Periodicidade\r\n \r\n Mensal\r\n Anual\r\n \r\n \r\n \r\n \r\n // @ts-ignore\r\n setPrice(event.target.value)\r\n }\r\n fullWidth\r\n type=\"number\"\r\n inputProps={{\r\n min: '1'\r\n }}\r\n />\r\n \r\n \r\n \r\n isEditPlanPrice\r\n ? handleEditPlanPriceFinal()\r\n : handleAddPlanPrice()\r\n }\r\n color=\"primary\"\r\n variant=\"outlined\"\r\n fullWidth\r\n className={classes.buttonAddPrice}\r\n startIcon={\r\n isEditPlanPrice ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n >\r\n {isEditPlanPrice ? 'Editar Valor' : 'Adicionar valor'}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Lista de Valores do Plano\r\n \r\n \r\n Periodicidade\r\n Valor\r\n Ações\r\n \r\n \r\n {!!planPrices && planPrices.length ? (\r\n \r\n {planPrices.map((n: PlanPrice) => {\r\n return (\r\n \r\n \r\n {n.periodicidade === 'A' ||\r\n n.periodicidade === 'M'\r\n ? n.periodicidade === 'M'\r\n ? 'Mensal'\r\n : 'Anual'\r\n : 'Não identificado'}\r\n \r\n \r\n {'R$ '}\r\n {n.valor}\r\n \r\n \r\n (\r\n handleEditPlanPrice(n)}\r\n >\r\n \r\n \r\n \r\n \r\n )}\r\n />\r\n (\r\n \r\n handleDeletePlanPrice(n)\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n )}\r\n />\r\n \r\n \r\n )\r\n })}\r\n \r\n ) : (\r\n ''\r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n cancelClick()}\r\n color=\"secondary\"\r\n variant=\"outlined\"\r\n disabled={isMutatingMembershipPlan}\r\n >\r\n Cancelar\r\n \r\n \r\n }\r\n >\r\n {isMutatingMembershipPlan\r\n ? 'Salvando...'\r\n : membershipPlanId\r\n ? 'Atualizar'\r\n : 'Salvar'}\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n )\r\n}\r\n\r\nexport default MembershipPlanEdit\r\n","import React, { useEffect, useState } from 'react'\r\nimport { useSelector } from 'react-redux'\r\n\r\nimport {\r\n Grid,\r\n Select,\r\n MenuItem,\r\n FormControl,\r\n InputLabel,\r\n makeStyles,\r\n TextField,\r\n InputAdornment,\r\n Tooltip,\r\n IconButton,\r\n Divider\r\n} from '@material-ui/core'\r\nimport SearchRoundedIcon from '@material-ui/icons/SearchRounded'\r\nimport CloseIcon from '@material-ui/icons/Close'\r\n\r\n//? Own imports\r\nimport { history, useSearchQuery } from 'utils'\r\nimport {\r\n useEstablishmentPlansSelect,\r\n useStatusMembroPlanoSelect\r\n} from 'hooks-querys'\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n flexGrow: 1\r\n },\r\n formControl: {\r\n width: '100%'\r\n },\r\n selectEmpty: {\r\n marginTop: theme.spacing(2)\r\n },\r\n divider: {\r\n height: 28,\r\n margin: 4\r\n }\r\n}))\r\n\r\nconst Filters = () => {\r\n const classes = useStyles()\r\n const estabelecimentoId = useSelector(\r\n // @ts-ignore: //ainda não foi tipado o redux state\r\n (state) => state.usuarioEstabelecimento.estabelecimentoId\r\n )\r\n const {\r\n data: statusMembroPlanoList,\r\n isLoading: isLoadingStatusMembroPlano\r\n } = useStatusMembroPlanoSelect()\r\n\r\n const {\r\n data: establishmentPlansSelectList,\r\n isLoading: isLoadingEstablishmentPlansSelect\r\n } = useEstablishmentPlansSelect(estabelecimentoId)\r\n\r\n const querySearch = useSearchQuery()\r\n const selectStatusMembroPlano = querySearch.get('statusId')\r\n const selectEstablishmentPlanId = querySearch.get('planoId')\r\n const textSearch = querySearch.get('busca') || ''\r\n const [searchText, setSearchText] = useState(textSearch || '')\r\n useEffect(() => {\r\n setSearchText(textSearch)\r\n }, [textSearch])\r\n\r\n const handleRemoveFilterSelectStatus = () => {\r\n querySearch.delete('statusId')\r\n }\r\n\r\n const handleChangeSelectStatus = (selectStatusMembroPlano: string) => {\r\n if (!selectStatusMembroPlano) {\r\n handleRemoveFilterSelectStatus()\r\n } else {\r\n querySearch.set('statusId', selectStatusMembroPlano)\r\n }\r\n history.push({ search: querySearch.toString() })\r\n }\r\n const handleRemoveFilterSelectEstablishmentPlan = () => {\r\n querySearch.delete('planoId')\r\n }\r\n\r\n const handleChangeSelectEstablishmentPlan = (\r\n selectEstablishmentPlan: string\r\n ) => {\r\n if (!selectEstablishmentPlan) {\r\n handleRemoveFilterSelectEstablishmentPlan()\r\n } else {\r\n querySearch.set('planoId', selectEstablishmentPlan)\r\n }\r\n history.push({ search: querySearch.toString() })\r\n }\r\n\r\n const clearTextSearch = () => {\r\n querySearch.delete('busca')\r\n history.push({ search: querySearch.toString() })\r\n }\r\n const handleSubmitSearch = (event: React.FormEvent) => {\r\n event.preventDefault()\r\n\r\n // Função para remover caracteres indesejados\r\n const sanitizeInput = (input: string) => input.replace(/[^\\w\\s@]/g, '')\r\n\r\n const sanitizedSearchText = sanitizeInput(searchText.trim())\r\n\r\n if (sanitizedSearchText) {\r\n querySearch.set('busca', sanitizedSearchText)\r\n history.push({ search: querySearch.toString() })\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n Filtrar por status\r\n \r\n {\r\n handleChangeSelectStatus(event.target.value as string)\r\n }}\r\n label={\r\n isLoadingStatusMembroPlano\r\n ? 'Carregando...'\r\n : 'Filtrar por status'\r\n }\r\n >\r\n \r\n {!selectStatusMembroPlano ? (\r\n 'Filtrar por status'\r\n ) : (\r\n Limpar filtro\r\n )}\r\n \r\n {Array.isArray(statusMembroPlanoList) &&\r\n statusMembroPlanoList?.map((selectItem) => (\r\n \r\n {selectItem?.text}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n Filtrar por plano\r\n {\r\n handleChangeSelectEstablishmentPlan(\r\n event.target.value as string\r\n )\r\n }}\r\n label={\r\n isLoadingEstablishmentPlansSelect\r\n ? 'Carregando...'\r\n : 'Filtrar por plano'\r\n }\r\n >\r\n \r\n {!selectEstablishmentPlanId ? (\r\n 'Filtrar por plano'\r\n ) : (\r\n Limpar filtro\r\n )}\r\n \r\n {establishmentPlansSelectList?.map((establishmentPlanItem) => (\r\n \r\n {establishmentPlanItem?.text}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n {textSearch?.length >= 1 && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }}\r\n fullWidth\r\n variant=\"outlined\"\r\n id=\"textForSearch\"\r\n label=\"Buscar\"\r\n placeholder=\"Busque por nome ou CPF/CNPJ...\"\r\n value={searchText}\r\n onChange={(event) => setSearchText(event.target.value)}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nexport default Filters\r\n","import React, { useRef } from 'react'\r\nimport { useSelector } from 'react-redux'\r\nimport ReactToPrint from 'react-to-print'\r\nimport { CSVLink } from 'react-csv'\r\nimport { toast } from 'react-toastify'\r\nimport {\r\n TableContainer,\r\n TableHead,\r\n TableCell,\r\n Tooltip,\r\n Paper,\r\n TableRow,\r\n TableBody,\r\n Avatar,\r\n IconButton,\r\n colors,\r\n Table as TableMUI,\r\n makeStyles,\r\n Box,\r\n Typography,\r\n CircularProgress,\r\n TablePagination,\r\n Backdrop,\r\n Toolbar,\r\n TableSortLabel\r\n} from '@material-ui/core'\r\nimport InfoOutlinedIcon from '@material-ui/icons/InfoOutlined'\r\nimport EditIcon from '@material-ui/icons/Edit'\r\nimport PrintRoundedIcon from '@material-ui/icons/PrintRounded'\r\nimport GetAppRoundedIcon from '@material-ui/icons/GetAppRounded'\r\n\r\nimport { format } from 'date-fns'\r\n\r\n//? Own components\r\nimport { Label } from 'components'\r\nimport { AccessControl } from 'components/Utils'\r\nimport { Member } from 'types/api'\r\nimport {\r\n getImageUrls,\r\n getInitials,\r\n cpfCnpjMask,\r\n phoneMask,\r\n history,\r\n useSearchQuery\r\n} from 'utils'\r\nimport constants from 'theme/constants'\r\nimport { useMemberList } from 'hooks-querys'\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n paper: {\r\n ...constants.shadowCard\r\n },\r\n nameCell: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n cursor: 'pointer'\r\n },\r\n avatar: {\r\n height: 42,\r\n width: 42,\r\n marginRight: theme.spacing(2)\r\n },\r\n backdrop: {\r\n zIndex: theme.zIndex.drawer + 1,\r\n color: '#fff'\r\n },\r\n rootToolbarStyles: {\r\n paddingLeft: theme.spacing(2),\r\n paddingRight: theme.spacing(1)\r\n },\r\n titleToolbarStyles: {\r\n flex: '1 1 100%'\r\n },\r\n visuallyHidden: {\r\n border: 0,\r\n clip: 'rect(0 0 0 0)',\r\n height: 1,\r\n margin: -1,\r\n overflow: 'hidden',\r\n padding: 0,\r\n position: 'absolute',\r\n top: 20,\r\n width: 1\r\n }\r\n}))\r\n\r\nconst prepareDataForCSV = (membersList: Member[]) => {\r\n return membersList.map((row) => ({\r\n matricula: !!row?.membroPlano\r\n ? row?.membroPlano[0]?.matricula\r\n ? row?.membroPlano[0]?.matricula\r\n : row?.membroPlano[0]?.id\r\n : '',\r\n nome: row?.nome,\r\n email: row?.email,\r\n cpfCnpj: cpfCnpjMask(row?.cpfCnpj),\r\n phone: phoneMask(row?.telefone),\r\n dataNascimento: row?.dataNascimento\r\n ? format(new Date(row?.dataNascimento), 'dd/MM/yyyy')\r\n : '',\r\n dataHoraInicio: row?.membroPlano\r\n ? format(new Date(row?.membroPlano[0]?.dataHoraInicio), 'dd/MM/yyyy')\r\n : '',\r\n plano: row?.membroPlano ? row?.membroPlano[0]?.plano?.nome : '',\r\n status: row?.membroPlano?.[0]?.statusMembroPlano?.descricao || 'INDEFINIDO'\r\n }))\r\n}\r\n\r\nconst headers = [\r\n { label: 'N.º de Matrícula', key: 'matricula' },\r\n { label: 'Nome', key: 'nome' },\r\n { label: 'Email', key: 'email' },\r\n { label: 'CPF/CNPJ', key: 'cpfCnpj' },\r\n { label: 'Telefone', key: 'phone' },\r\n { label: 'Data de Nascimento', key: 'dataNascimento' },\r\n { label: 'Data de Início', key: 'dataHoraInicio' },\r\n { label: 'Plano', key: 'plano' },\r\n { label: 'Status', key: 'status' }\r\n]\r\ntype Order = 'asc' | 'desc'\r\ninterface EnhancedTableProps {\r\n classes: ReturnType\r\n onRequestSort: (event: React.MouseEvent, property: string) => void\r\n order: Order\r\n orderBy: string\r\n}\r\ninterface HeadCell {\r\n id: string\r\n label: string\r\n align?: 'right' | 'left'\r\n enableSort: boolean\r\n}\r\n\r\nconst headCells: HeadCell[] = [\r\n {\r\n id: 'id',\r\n label: 'Matrícula',\r\n align: 'left',\r\n enableSort: true\r\n },\r\n { id: 'nome', label: 'Nome', enableSort: true },\r\n { id: 'cpfCnpj', label: 'CPF/CNPJ', enableSort: false },\r\n {\r\n id: 'plano',\r\n label: 'Plano',\r\n enableSort: true\r\n },\r\n { id: 'status', label: 'Status', enableSort: true },\r\n {\r\n id: 'actions',\r\n label: 'Ações',\r\n align: 'right',\r\n enableSort: false\r\n }\r\n]\r\n\r\nfunction EnhancedTableHead(props: EnhancedTableProps) {\r\n const { classes, order, orderBy, onRequestSort } = props\r\n const createSortHandler = (property: string) => (\r\n event: React.MouseEvent\r\n ) => {\r\n onRequestSort(event, property)\r\n }\r\n return (\r\n \r\n \r\n {headCells?.map((headCell) => (\r\n \r\n \r\n {headCell.label}\r\n {orderBy === headCell.id ? (\r\n \r\n {order === 'desc' ? 'sorted descending' : 'sorted ascending'}\r\n \r\n ) : null}\r\n \r\n \r\n ))}\r\n \r\n \r\n )\r\n}\r\n\r\nconst Table = () => {\r\n const classes = useStyles()\r\n const estabelecimentoId = useSelector(\r\n // @ts-ignore: //ainda não foi tipado o redux state\r\n (state) => state.usuarioEstabelecimento.estabelecimentoId\r\n )\r\n const querySearch = useSearchQuery()\r\n\r\n const order = (querySearch.get('direction') || 'asc') as 'asc' | 'desc'\r\n const orderBy = querySearch.get('order') || 'nome'\r\n\r\n const { data, isLoading, isFetching } = useMemberList({\r\n estabelecimentoId: Number(estabelecimentoId || 0),\r\n planoId: querySearch.get('planoId'),\r\n statusMembroPlanoId: querySearch.get('statusId'),\r\n term: querySearch.get('busca') || undefined,\r\n limit: Number(querySearch.get('limit') || 15),\r\n page: Number(querySearch.get('page') || 0),\r\n order: orderBy,\r\n direction: order\r\n })\r\n\r\n const refTable = useRef(null)\r\n const csvData = prepareDataForCSV(data?.items || [])\r\n\r\n const handleDownload = () => {\r\n toast.success('Download concluído com sucesso! 👍', {\r\n position: 'top-right'\r\n })\r\n }\r\n\r\n const handleRequestSort = (\r\n event: React.MouseEvent,\r\n property: string\r\n ) => {\r\n const isAsc = orderBy === property && order === 'asc'\r\n querySearch.set('direction', isAsc ? 'desc' : 'asc')\r\n querySearch.set('order', property)\r\n history.push({ search: querySearch.toString() })\r\n }\r\n\r\n const handleChangePage = (event: unknown, newPage: number) => {\r\n querySearch.set('page', newPage?.toString())\r\n history.push({ search: querySearch.toString() })\r\n }\r\n\r\n const handleChangeRowsPerPage = (\r\n event: React.ChangeEvent\r\n ) => {\r\n querySearch.set('limit', event.target.value)\r\n querySearch.set('page', '0')\r\n history.push({ search: querySearch.toString() })\r\n }\r\n\r\n if (isLoading) {\r\n return (\r\n \r\n \r\n \r\n Carregando dados...\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {data && data?.totalRows > 0 ? (\r\n <>\r\n Total de dados encontrados: {data?.totalRows}\r\n \r\n ) : (\r\n Nenhum dado encontrado.\r\n )}\r\n \r\n {data && data?.totalRows > 0 ? (\r\n \r\n \r\n \r\n Lista de membros\r\n \r\n {\r\n handleDownload()\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n content={() => refTable.current}\r\n />\r\n \r\n {/* usado para 'forçar' a orientação da pagina para 'paisagem' afim de imprimir mostrando todos os dados */}\r\n \r\n {/* ------------------------------------------------------------>\t */}\r\n \r\n \r\n {/* @ts-ignore */}\r\n \r\n \r\n {data?.items?.map((n: Member) => {\r\n return (\r\n \r\n \r\n {!!n.membroPlano\r\n ? n.membroPlano[0].matricula\r\n ? n.membroPlano[0].matricula\r\n : n.membroPlano[0].id\r\n : ''}\r\n \r\n \r\n {n.nome ? (\r\n \r\n \r\n n.membroPlano &&\r\n history.push(\r\n `/members/memberPlanDetails/${n.membroPlano[0]?.id}`\r\n )\r\n }\r\n className={classes.nameCell}\r\n >\r\n \r\n {getInitials(n?.nome)}\r\n \r\n
    \r\n {n?.nome}\r\n
    {n?.email}
    \r\n
    \r\n \r\n
    \r\n ) : (\r\n 'Usuário não encontrado'\r\n )}\r\n
    \r\n \r\n {cpfCnpjMask(n.cpfCnpj)}\r\n \r\n {/* \r\n {phoneMask(n.telefone)}\r\n \r\n \r\n {n.dataNascimento\r\n ? format(new Date(n.dataNascimento), 'dd/MM/yyyy')\r\n : ''}\r\n \r\n \r\n {n.membroPlano\r\n ? format(\r\n new Date(n.membroPlano[0].dataHoraInicio),\r\n 'dd/MM/yyyy'\r\n )\r\n : ''}\r\n */}\r\n \r\n {n.membroPlano ? n.membroPlano[0].plano?.nome : ''}\r\n \r\n\r\n \r\n
    \r\n \r\n {n?.membroPlano?.[0]?.statusMembroPlano\r\n ?.descricao || 'INDEFINIDO'}\r\n \r\n
    \r\n
    \r\n\r\n \r\n (\r\n \r\n history.push(`/members/cadastroMembro/${n.id}`)\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n )}\r\n />\r\n (\r\n \r\n n.membroPlano &&\r\n history.push(\r\n `/members/memberPlanDetails/${n.membroPlano[0]?.id}`\r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n )}\r\n />\r\n \r\n
    \r\n )\r\n })}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n ) : null}\r\n
    \r\n )\r\n}\r\n\r\nexport default Table\r\n","import React from 'react'\r\nimport { Box } from '@material-ui/core'\r\n\r\n//? Own imports\r\nimport { Page } from 'components'\r\nimport { AccessControl } from 'components/Utils'\r\nimport AccessDenied from 'views/Errors/AccessDenied'\r\nimport { Filters, Table } from './components'\r\n\r\nconst MemberList = () => {\r\n return (\r\n \r\n (\r\n \r\n \r\n \r\n \r\n )}\r\n // @ts-ignore\r\n no={() => }\r\n />\r\n \r\n )\r\n}\r\n\r\nexport default MemberList\r\n","import { useQuery } from 'react-query'\n\n//? Own imports\nimport { crudService } from '_services'\nimport { Cidade } from '../../types/api'\n\nconst getCityInfo = async (id: number) => {\n const { data } = await crudService.get(`cidades/${id}`)\n return data\n}\n\nexport default function useCityInfo(id: number) {\n return useQuery(['city-info', id], () => getCityInfo(id), {\n enabled: id > 0\n })\n}\n","import { useQuery } from 'react-query'\n\n//? Own imports\nimport { crudService } from '_services'\nimport { Estado } from '../../types/api'\n\nconst getCountryStateInfo = async (id: number) => {\n const { data } = await crudService.get(`estados/${id}`)\n return data\n}\n\nexport default function useCountryStateInfo(id: number) {\n return useQuery(\n ['countryState-info', id],\n () => getCountryStateInfo(id),\n {\n enabled: id > 0\n }\n )\n}\n","import { useQuery } from 'react-query'\n\nimport { crudService } from '_services'\nimport { Estado } from '../../types/api'\n\nconst getStates = async () => {\n const { data } = await crudService.get(`estados`)\n return data\n}\n\nexport default function useCountryStates() {\n return useQuery(['states-list'], () => getStates())\n}\n","import { useQuery } from 'react-query'\n\nimport { crudService } from '_services'\nimport { Cidade } from '../../types/api'\n\nconst getCities = async () => {\n const { data } = await crudService.get(`cidades`)\n return data\n}\n\nexport default function useCities() {\n return useQuery(['cities-list'], () => getCities())\n}\n","import { useQuery } from 'react-query'\n\nimport { crudService } from '_services'\nimport { Cidade } from '../../types/api'\n\nconst getCitiesByStateId = async (id: number) => {\n const { data } = await crudService.get(`cidades/estado/${id}`)\n return data\n}\n\nexport default function useCitiesByStateId(id: number, stateId: number | null) {\n return useQuery(\n ['citiesByStateId-list', stateId],\n () => getCitiesByStateId(id),\n {\n enabled: id > 0\n }\n )\n}\n\n","import React, { useEffect, useState } from 'react'\nimport {\n Card,\n CardHeader,\n CardContent,\n CardActions,\n Divider,\n MenuItem,\n Button,\n Tooltip,\n Grid,\n Checkbox,\n FormControlLabel,\n InputAdornment,\n Typography,\n FormControl,\n InputLabel,\n Select,\n Chip,\n Avatar,\n TextField,\n CircularProgress\n} from '@material-ui/core'\nimport {\n ValidatorForm,\n TextValidator,\n SelectValidator\n} from 'react-material-ui-form-validator'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { cupomDescontoAction, eventoAction, loteAction } from '_actions'\nimport { HelperToolTip, ValidatedDatePicker } from 'components/'\nimport { toast } from 'react-toastify'\nimport {\n cepMask,\n cpfCnpjMask,\n getInitials,\n phoneMask,\n toISODateFormat,\n toLocalDateFormat,\n useDebouncedEffect,\n useDidMountEffect,\n validateDates\n} from 'utils'\nimport { history } from 'utils'\nimport { format, isValid } from 'date-fns'\nimport { Page } from 'components'\nimport { makeStyles } from '@material-ui/styles'\nimport { useParams } from 'react-router-dom'\nimport constants from 'theme/constants'\nimport {\n useFormaPagamentoSelect,\n useMemberById,\n useMembershipPlanId,\n useMembershipPlanList,\n useMutationMemberEdit,\n useMutationMembershipPlanCreate,\n useMutationMembershipPlanEdit,\n useUserInfo,\n useUserSearch\n} from 'hooks-querys'\nimport {\n FormaPagamento,\n Member,\n MembershipPlan,\n User,\n UserItem\n} from 'types/api'\nimport { Autocomplete } from '@material-ui/lab'\nimport { useCityInfo } from 'hooks-querys/city'\nimport { isEmpty } from 'lodash'\nimport {\n useCountryStateInfo,\n useCountryStates\n} from 'hooks-querys/countryState'\nimport useCities from 'hooks-querys/city/useCities'\nimport useCitiesByStateId from 'hooks-querys/city/useCitiesByStateId'\nimport { UploadField } from 'components/Utils/Uploads'\nimport useMutationMemberCreate from 'hooks-querys/members/useMutationMemberCreate'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n // padding: theme.spacing(2)\n },\n paper: {\n ...constants.shadowCard\n },\n formControl: {\n width: '100%'\n },\n nameCell: {\n display: 'flex',\n alignItems: 'center'\n },\n avatar: {\n height: 40,\n width: 40,\n // @ts-ignore\n marginRight: theme.spacing(1)\n }\n}))\n\ntype MemberForm = {\n gender: 'M' | 'F' | 'U'\n}\n\n// @ts-ignore\nconst MemberEdit = (props) => {\n const dispatch = useDispatch()\n const classes = useStyles()\n // @ts-ignore\n const { params, membershipPlanId } = useParams()\n const memberId = membershipPlanId\n const { data: memberEdit } = useMemberById(Number(memberId))\n const [selectedUser, setSelectedUser] = useState([] as UserItem[])\n const [searchTextValue, setSearchTextValue] = useState('')\n const [searchTextValueToSubmit, setSearchTextValueToSubmit] = useState('')\n const [name, setName] = useState()\n const [email, setEmail] = useState()\n const [cpfCnpj, setCpfCnpj] = useState()\n const [image, setImage] = useState()\n const [phone, setPhone] = useState()\n const [birthDate, setBirthDate] = useState(null)\n const [cep, setCep] = useState()\n const [bairro, setBairro] = useState()\n const [cityId, setCityId] = useState(null)\n const [stateId, setStateId] = useState(null)\n const [complemento, setComplemento] = useState()\n const [address, setAddress] = useState()\n const [numberAddress, setNumberAddress] = useState()\n const [gender, setGender] = useState<'M' | 'F' | 'U' | null>()\n const [matricula, setMatricula] = useState(null)\n const [planId, setPlanId] = useState(null)\n const [planPriceId, setPlanPriceId] = useState(null)\n const [startDate, setStartDate] = useState(null)\n const [endDate, setEndDate] = useState(null)\n const [paymentMethod, setPaymentMethod] = useState(\n null\n )\n const [initialDatePayment, setInitialDatePayment] = useState(\n null\n )\n\n const estabelecimentoId = useSelector(\n // @ts-ignore: //ainda não foi tipado o redux state\n (state) => state.usuarioEstabelecimento.estabelecimentoId\n )\n const mutationMemberCreate = useMutationMemberCreate()\n const mutationEditMember = useMutationMemberEdit()\n\n const LoadEditMemberDetails = () => {\n if (!!memberEdit) {\n setName(memberEdit.membro.nome)\n setImage(memberEdit.membro.imagem)\n setEmail(memberEdit.membro.email)\n setCpfCnpj(memberEdit.membro.cpfCnpj)\n setImage(memberEdit.membro.imagem)\n setPhone(memberEdit.membro.telefone)\n setBirthDate(memberEdit.membro.dataNascimento)\n setCep(memberEdit.membro.cep)\n setBairro(memberEdit.membro.bairro)\n setCityId(memberEdit.membro.cidadeId)\n // setState(cityInfoForEdit?.estadoId)\n setComplemento(memberEdit.membro.complemento)\n setAddress(memberEdit.membro.endereco)\n setNumberAddress(memberEdit.membro.numero)\n setGender(memberEdit.membro.genero)\n setSelectedUser(memberEdit?.usuario ? [memberEdit?.usuario] : [])\n // setSelectedUser(userEditInfo)\n // setPlanId(memberEdit.planoId)\n // setPlanPriceId(memberEdit.planoValorId)\n // setPaymentMethod(memberEdit.formaPagamentoId)\n // setMatricula(memberEdit.matricula)\n // memberEdit.statusMembroPlanoId)\n // setInitialDatePayment(memberEdit.dataInicioCobranca)\n // setStartDate(memberEdit.dataHoraInicio)\n // setEndDate(memberEdit.dataHoraFim)\n }\n }\n\n useEffect(() => {\n LoadEditMemberDetails()\n }, [memberEdit])\n\n const { isLoading: isLoadingPlans, data: plans } = useMembershipPlanList(\n estabelecimentoId\n )\n\n const {\n isLoading: isLoadingPlanPrice,\n data: membershipPlan\n } = useMembershipPlanId(Number(planId))\n\n const {\n data: formaPagamentoSelect,\n isLoading: isLoadingFormaPagamentoSelect\n } = useFormaPagamentoSelect()\n\n const {\n data: resultUserSearch,\n isError: isErrorUserSearch,\n isLoading: isLoadingUserSearch\n } = useUserSearch(searchTextValueToSubmit)\n\n const { data: userInfo } = useUserInfo(selectedUser[0]?.id)\n\n // const {\n // data: userEditInfo\n // } = useUserInfo(memberEdit.usuarioId)\n\n const { data: cityInfo } = useCityInfo(\n userInfo?.cidadeId ? userInfo.cidadeId : 0\n )\n\n const { data: cityInfoForEdit } = useCityInfo(cityId ? cityId : 0)\n\n useDidMountEffect(() => {\n cityInfoForEdit?.estadoId && setStateId(cityInfoForEdit?.estadoId)\n }, [cityInfoForEdit])\n\n const { data: countryStateInfo } = useCountryStateInfo(\n cityInfo?.estadoId ? cityInfo?.estadoId : 0\n )\n\n const { data: states } = useCountryStates()\n\n const { data: citiesByStateId } = useCitiesByStateId(\n cityInfo?.estadoId ? cityInfo?.estadoId : stateId ? stateId : 0,\n stateId\n )\n\n const { data: cities } = useCities()\n\n useDebouncedEffect(\n () => {\n setSearchTextValueToSubmit(searchTextValue)\n },\n 500,\n [searchTextValue]\n )\n\n const handleAlreadyUser = () => {\n if (!!userInfo && !memberId) {\n userInfo.nome && setName(userInfo.nome)\n userInfo.email && setEmail(userInfo.email)\n userInfo.cpfCnpj && setCpfCnpj(userInfo.cpfCnpj)\n userInfo.imagem && setImage(userInfo.imagem)\n userInfo.telefone && setPhone(userInfo.telefone)\n userInfo.dataNascimento && setBirthDate(userInfo.dataNascimento)\n userInfo.cep && setCep(userInfo.cep)\n userInfo.bairro && setBairro(userInfo.bairro)\n userInfo.cidadeId && setCityId(userInfo.cidadeId)\n userInfo.cidade?.estadoId && setStateId(userInfo.cidade?.estadoId)\n userInfo.complemento && setComplemento(userInfo.complemento)\n userInfo.endereco && setAddress(userInfo.endereco)\n userInfo.numero && setNumberAddress(userInfo.numero)\n userInfo.genero && setGender(userInfo.genero)\n } else if (!memberId) {\n setName(null)\n setEmail(null)\n setCpfCnpj(null)\n setImage(null)\n setPhone(null)\n setBirthDate(null)\n setCep(null)\n setBairro(null)\n setCityId(null)\n setStateId(null)\n setComplemento(null)\n setAddress(null)\n setNumberAddress(null)\n setGender(null)\n }\n }\n\n useDidMountEffect(() => {\n handleAlreadyUser()\n }, [userInfo])\n\n const cancelClick = () => {\n history.goBack()\n }\n\n const handleSubmit = () => {\n if (memberEdit) {\n handleEdit()\n } else {\n // if (!!planId && !!planPriceId && !!startDate && !!paymentMethod && !!birthDate) {\n if (!!planId && !!planPriceId && !!startDate && !!paymentMethod) {\n let membroPlano = [\n {\n // id: null,\n // membroId: 0,\n planoId: planId,\n planoValorId: planPriceId,\n // dataHoraInicio: !!startDate ? format(new Date(startDate), 'dd/MM/yyyy HH:mm') : null,\n // dataHoraFim: !!endDate ? format(new Date(endDate), 'dd/MM/yyyy HH:mm') : null,\n dataHoraInicio: startDate,\n dataHoraFim: endDate,\n formaPagamentoId: Number(paymentMethod),\n matricula: matricula,\n statusMembroPlanoId: 1,\n dataInicioCobranca: initialDatePayment\n }\n ]\n\n let payload = {\n id: 0,\n nome: name,\n email: email,\n cpfCnpj: !!cpfCnpj\n ? cpfCnpj.split('.').join('').replace(/[-/.]/g, '')\n : null,\n imagem: image,\n telefone: !!phone ? phone.replace(/[^0-9]/g, '') : null,\n // qrcode\n // dataNascimento: format(Number(birthDate), 'yyyy-MM-dd'),\n dataNascimento: birthDate,\n usuarioId: userInfo?.id,\n cidadeId: cityId,\n genero: gender,\n endereco: address,\n bairro: bairro,\n numero: numberAddress,\n complemento: complemento,\n cep: !!cep ? cep.replace(/[^0-9]/g, '') : null,\n membroPlano: membroPlano\n }\n\n // @ts-ignore\n createMember(payload)\n console.error('payload', payload)\n } else {\n // toast.error('Informe a data de nascimento, um plano, um valor, data de início e forma de pagamento!')\n toast.error(\n 'Informe um plano, um valor, data de início e forma de pagamento!'\n )\n }\n }\n }\n\n const createMember = (payload: Member) => {\n mutationMemberCreate.mutateAsync(payload).then(() => {\n history.push('/members/listaMembro')\n // dispatch(albumAction.deleteAllFoto())\n })\n }\n\n const handleEdit = () => {\n let payload = {\n id: memberId,\n nome: name,\n email: email,\n cpfCnpj: !!cpfCnpj\n ? cpfCnpj.split('.').join('').replace(/[-/.]/g, '')\n : null,\n imagem: image,\n telefone: !!phone ? phone.replace(/[^0-9]/g, '') : null,\n dataNascimento: birthDate,\n usuarioId: selectedUser[0]?.id,\n cidadeId: cityId,\n genero: gender,\n endereco: address,\n bairro: bairro,\n numero: numberAddress,\n complemento: complemento,\n cep: !!cep ? cep.replace(/[^0-9]/g, '') : null\n // membroPlano: membroPlano\n }\n\n // @ts-ignore\n editMemberPlan(payload)\n }\n\n const editMemberPlan = (payload: Member) => {\n mutationEditMember.mutateAsync(payload).then(() => {\n history.push('/members/listaMembro')\n })\n }\n\n const handleOnChangeState = (event: any) => {\n setStateId(Number(event.target.value))\n setCityId(null)\n }\n\n return (\n \n \n \n
    \n \n \n \n \n \n \n \n \n selectedUser.some((user) => user.id === option?.id)\n }\n loading={isLoadingUserSearch}\n id=\"combo-box-user\"\n multiple\n options={\n resultUserSearch?.filter(\n (userItem) => userItem.tipo === 'usuario'\n ) || []\n }\n value={selectedUser}\n onChange={(event, newValue, reason) => {\n if (reason === 'select-option') {\n newValue !== null &&\n setSelectedUser([newValue[newValue.length - 1]])\n handleAlreadyUser()\n }\n if (reason === 'clear') {\n //? se o usuário clicar no botão limpar\n setSearchTextValue('')\n setSelectedUser([] as UserItem[])\n }\n }}\n renderTags={(value, getTagProps) =>\n value.map((option, index) => {\n if (index === value.length - 1) {\n return (\n \n {getInitials(option?.nome)}\n \n }\n variant=\"outlined\"\n label={`${option?.nome} ${\n option?.username\n ? `(@${option?.username})`\n : ''\n }`}\n onDelete={() => {\n setSearchTextValue('')\n setSelectedUser([] as UserItem[])\n }}\n />\n )\n }\n })\n }\n getOptionLabel={(userItem) =>\n userItem.nome &&\n `${userItem.nome} ${\n userItem.username ? ` - (${userItem.username})` : ''\n }`\n }\n placeholder=\"Buscar por nome ou nome do usuário...\"\n onInputChange={(event, newInputValue) => {\n newInputValue !== null\n ? setSearchTextValue(newInputValue)\n : setSearchTextValue('')\n }}\n inputValue={searchTextValue}\n renderInput={(params) => (\n \n \n <>\n {isLoadingUserSearch && (\n \n )}\n \n \n {params.InputProps.endAdornment}\n \n )\n }}\n />\n )}\n noOptionsText={\n searchTextValueToSubmit.length > 0\n ? 'Nenhum usuário encontrado'\n : 'Digite para buscar'\n }\n renderOption={(userItem) => (\n
    \n \n {getInitials(userItem?.nome)}\n \n
    \n \n {`${userItem?.nome} ${\n userItem.username\n ? `(@${userItem.username})`\n : ''\n }`}\n \n
    \n
    \n )}\n //disabled={memberId}\n />\n
    \n
    \n \n {\n // @ts-ignore\n setName(event.target.value)\n }}\n validators={['required']}\n errorMessages={['Campo obrigatório!']}\n fullWidth\n multiline\n InputProps={{\n endAdornment: (\n <>\n \n <>\n {!!name && name.length > 200 ? (\n \n {name?.length}/200\n \n ) : (\n \n {name?.length}/200\n \n )}\n \n \n \n )\n }}\n />\n \n \n {\n // @ts-ignore\n setEmail(event.target.value)\n }}\n validators={['required']}\n errorMessages={['Campo obrigatório!']}\n fullWidth\n disabled={memberId}\n InputProps={{\n endAdornment: (\n <>\n \n <>\n {!!email && email.length > 100 ? (\n \n {email?.length}/100\n \n ) : (\n \n {email?.length}/100\n \n )}\n \n \n \n )\n }}\n />\n \n \n \n // @ts-ignore\n setCpfCnpj(event.target.value)\n }\n validators={['required']}\n errorMessages={['Campo obrigatório!']}\n fullWidth\n />\n \n \n \n // @ts-ignore\n setPhone(event.target.value)\n }\n validators={['required']}\n errorMessages={['Campo obrigatório!']}\n fullWidth\n />\n \n \n setBirthDate(newValue)}\n //disablePast\n format=\"dd/MM/yyyy\"\n // invalidDateMessage=\"Data inválida!\"\n // invalidLabel=\"dd/MM/aaaa HH:mm\"\n // maxDateMessage=\"A data não deve ser posterior à data máxima\"\n //minDateMessage=\"A data não deve ser anterior à data de hoje\"\n cancelLabel=\"Cancelar\"\n okLabel=\"Definir\"\n clearable\n clearLabel=\"Limpar\"\n placeholder=\"dd/MM/aaaa\"\n todayLabel=\"Hoje\"\n defaultValue={undefined}\n openTo=\"month\"\n views={['month', 'date']}\n />\n \n \n \n // @ts-ignore\n setCep(event.target.value)\n }\n validators={['required']}\n errorMessages={['Campo obrigatório!']}\n fullWidth\n />\n \n \n {\n // @ts-ignore\n handleOnChangeState(event)\n }}\n InputLabelProps={{\n shrink: true\n }}\n fullWidth\n displayEmpty\n labelId=\"estadoId\"\n >\n \n Estado *\n \n {!isEmpty(states) &&\n undefined !== states &&\n states.length &&\n // @ts-ignore\n states.map((row) => (\n \n {row.nome}\n \n ))}\n \n \n \n {\n // @ts-ignore\n setCityId(Number(event.target.value))\n }}\n InputLabelProps={{\n shrink: true\n }}\n fullWidth\n displayEmpty\n labelId=\"cidadeId\"\n >\n \n Cidade *\n \n {\n !isEmpty(citiesByStateId) &&\n undefined !== citiesByStateId &&\n citiesByStateId.length &&\n citiesByStateId.map((row) => (\n \n {row.nome}\n \n ))\n // : !isEmpty(cities) &&\n // undefined !== cities &&\n // cities.length &&\n // cities.map((row) => (\n // \n // {row.nome}\n // \n // ))\n }\n \n \n \n \n // @ts-ignore\n setAddress(event.target.value)\n }\n validators={['required']}\n errorMessages={['Campo obrigatório!']}\n fullWidth\n InputProps={{\n endAdornment: (\n <>\n \n <>\n {!!address && address.length > 200 ? (\n \n {address?.length}/200\n \n ) : (\n \n {address?.length}/200\n \n )}\n \n \n \n )\n }}\n />\n \n \n \n // @ts-ignore\n setNumberAddress(event.target.value)\n }\n validators={['required']}\n errorMessages={['Campo obrigatório!']}\n fullWidth\n InputProps={{\n endAdornment: (\n <>\n \n <>\n {!!numberAddress &&\n numberAddress.length > 50 ? (\n \n {numberAddress?.length}/50\n \n ) : (\n \n {numberAddress?.length}/50\n \n )}\n \n \n \n )\n }}\n />\n \n \n \n // @ts-ignore\n setComplemento(event.target.value)\n }\n // validators={['required']}\n // errorMessages={['Campo obrigatório!']}\n fullWidth\n InputProps={{\n endAdornment: (\n <>\n \n <>\n {!!complemento && complemento.length > 200 ? (\n \n {complemento?.length}/200\n \n ) : (\n \n {complemento?.length}/200\n \n )}\n \n \n \n )\n }}\n />\n \n \n \n // @ts-ignore\n setBairro(event.target.value)\n }\n validators={['required']}\n errorMessages={['Campo obrigatório!']}\n fullWidth\n InputProps={{\n endAdornment: (\n <>\n \n <>\n {!!bairro && bairro.length > 100 ? (\n \n {bairro?.length}/100\n \n ) : (\n \n {bairro?.length}/100\n \n )}\n \n \n \n )\n }}\n />\n \n \n \n // @ts-ignore\n setGender(event.target.value)\n }\n fullWidth\n displayEmpty\n labelId=\"gender\"\n >\n \n Gênero\n \n Masculino\n Feminino\n \n \n \n \n // @ts-ignore\n setMatricula(event.target.value)\n }\n fullWidth\n disabled={memberId}\n InputProps={{\n endAdornment: (\n <>\n \n <>\n {!!matricula && matricula.length > 20 ? (\n \n {matricula?.length}/20\n \n ) : (\n \n {matricula?.length}/20\n \n )}\n \n \n \n )\n }}\n />\n \n \n setInitialDatePayment(newValue)}\n disablePast\n format=\"dd/MM/yyyy\"\n // invalidDateMessage=\"Data inválida!\"\n // invalidLabel=\"dd/MM/aaaa HH:mm\"\n // maxDateMessage=\"A data não deve ser posterior à data máxima\"\n minDateMessage=\"A data não deve ser anterior à data de hoje\"\n cancelLabel=\"Cancelar\"\n okLabel=\"Definir\"\n clearable\n clearLabel=\"Limpar\"\n placeholder=\"dd/MM/aaaa\"\n todayLabel=\"Hoje\"\n defaultValue={undefined}\n openTo=\"month\"\n views={['month', 'date']}\n disabled={memberId}\n />\n \n \n \n \n Selecione o plano *\n \n {\n // @ts-ignore\n setPlanId(Number(event.target.value))\n }}\n label=\"Selecione o plano *\"\n >\n \n {planId === 0 ? (\n 'Selecione o plano *'\n ) : (\n Limpar seleção\n )}\n \n {plans &&\n plans.length > 0 &&\n // @ts-ignore\n plans.map((plan) => (\n \n {plan.nome}\n \n ))}\n \n \n \n {planId != null && planId > 0 && (\n <>\n \n \n \n Selecione o valor *\n \n {\n setPlanPriceId(Number(event.target.value))\n }}\n label=\"Selecione o valor *\"\n >\n \n {planPriceId === 0 ? (\n 'Selecione o valor *'\n ) : (\n Limpar seleção\n )}\n \n {membershipPlan?.planoValor &&\n membershipPlan?.planoValor?.length > 0 &&\n // @ts-ignore\n membershipPlan?.planoValor?.map((planPrice) => (\n \n {planPrice.periodicidade === 'M'\n ? `R$ ${planPrice.valor} mensal`\n : `R$ ${planPrice.valor} anual`}\n \n ))}\n \n \n \n \n )}\n \n \n \n setStartDate(newValue)}\n //disablePast\n format=\"dd/MM/yyyy HH:mm\"\n invalidDateMessage=\"Data inválida!\"\n invalidLabel=\"dd/MM/aaaa HH:mm\"\n maxDateMessage=\"A data não deve ser posterior à data máxima\"\n //minDateMessage=\"A data não deve ser anterior à data de hoje\"\n cancelLabel=\"Cancelar\"\n okLabel=\"Definir\"\n clearable\n clearLabel=\"Limpar\"\n placeholder=\"dd/MM/aaaa HH:mm\"\n todayLabel=\"Hoje\"\n defaultValue={undefined}\n openTo=\"month\"\n views={['month', 'date', 'hours', 'minutes']}\n disabled={memberId}\n />\n \n \n setEndDate(newValue)}\n disablePast\n minDate={startDate}\n format=\"dd/MM/yyyy HH:mm\"\n invalidDateMessage=\"Data inválida!\"\n invalidLabel=\"dd/MM/aaaa HH:mm\"\n maxDateMessage=\"A data não deve ser posterior à data máxima\"\n minDateMessage=\"A data não deve ser anterior à data de início\"\n cancelLabel=\"Cancelar\"\n okLabel=\"Definir\"\n clearable\n clearLabel=\"Limpar\"\n placeholder=\"dd/MM/aaaa HH:mm\"\n todayLabel=\"Hoje\"\n defaultValue={undefined}\n openTo=\"month\"\n views={['month', 'date', 'hours', 'minutes']}\n disabled={memberId}\n />\n \n \n \n \n Forma de Pagamento *\n \n {\n // @ts-ignore\n setPaymentMethod(event.target.value)\n }}\n label=\"Forma de pagamento\"\n >\n \n Forma de pagamento\n \n Boleto\n {/* {formaPagamentoSelect &&\n formaPagamentoSelect.length > 0 &&\n formaPagamentoSelect.map((formaPagamento) => (\n \n {formaPagamento.text}\n \n ))} */}\n \n \n \n \n \n \n \n \n
    \n
    \n \n \n cancelClick()}\n color=\"secondary\"\n variant=\"outlined\"\n >\n Cancelar\n \n \n {mutationEditMember.isLoading ||\n mutationMemberCreate.isLoading ? (\n \n ) : memberId ? (\n 'Atualizar'\n ) : (\n 'Salvar'\n )}\n \n \n
    \n \n
    \n
    \n \n )\n}\n\nexport default MemberEdit\n\n","import React, { useEffect, useState } from 'react'\r\nimport { Redirect, useParams } from 'react-router-dom'\r\nimport ListRoundedIcon from '@material-ui/icons/ListRounded'\r\nimport {\r\n Tabs,\r\n Tab,\r\n Divider,\r\n colors,\r\n makeStyles,\r\n useTheme,\r\n useMediaQuery,\r\n LinearProgress\r\n} from '@material-ui/core'\r\nimport AddCircleTwoToneIcon from '@material-ui/icons/AddCircleTwoTone'\r\nimport EditTwoToneIcon from '@material-ui/icons/EditTwoTone'\r\nimport { Page, Header } from 'components'\r\nimport { useDispatch } from 'react-redux'\r\nimport { albumAction } from '_actions'\r\nimport { MembershipPlanList } from './MembershipPlanList'\r\nimport MembershipPlanEdit from './MembershipPlanEdit'\r\nimport MemberList from './MemberList'\r\nimport MemberEdit from './MemberEdit'\r\nimport { AccessControl } from 'components/Utils'\r\nimport AccessDenied from 'views/Errors/AccessDenied'\r\nimport { useQueryClient } from 'react-query'\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n padding: theme.spacing(3, 2, 2, 2)\r\n },\r\n tabs: {\r\n marginTop: theme.spacing(3)\r\n },\r\n divider: {\r\n backgroundColor: colors.grey[300]\r\n },\r\n content: {\r\n marginTop: theme.spacing(3)\r\n }\r\n}))\r\n\r\n// @ts-ignore\r\nconst Members = (props) => {\r\n const { match, history } = props\r\n const { tab } = match.params\r\n const classes = useStyles()\r\n const theme = useTheme()\r\n const dispatch = useDispatch()\r\n const queryClient = useQueryClient()\r\n const [refreshing, setRefreshing] = useState(false)\r\n const isMobile = useMediaQuery(theme.breakpoints.down('xs'))\r\n // @ts-ignore\r\n const { memberId, membershipPlanId, eventoId } = useParams()\r\n\r\n // @ts-ignore\r\n const handleTabsChange = (event, value) => {\r\n history.push(`/members/${value}`)\r\n }\r\n\r\n const tabs = [\r\n { value: 'listaPlano', label: 'Lista Plano', icon: },\r\n {\r\n value: 'cadastroPlano',\r\n label: membershipPlanId ? 'Editar Plano' : 'Cadastro Plano',\r\n icon: membershipPlanId ? : ,\r\n disabled: membershipPlanId ? true : false\r\n },\r\n { value: 'listaMembro', label: 'Lista Membro', icon: },\r\n {\r\n value: 'cadastroMembro',\r\n label: memberId ? 'Editar Membro' : 'Cadastro Membro',\r\n icon: memberId ? : ,\r\n disabled: memberId ? true : false\r\n }\r\n ]\r\n\r\n const onRefresh = async () => {\r\n setRefreshing(true)\r\n try {\r\n await queryClient.refetchQueries({ active: true })\r\n } finally {\r\n setRefreshing(false)\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n return () => {\r\n dispatch(albumAction.deleteAllFoto())\r\n }\r\n }, [])\r\n\r\n if (!tab) {\r\n return \r\n }\r\n\r\n if (!tabs.find((t) => t.value === tab)) {\r\n return \r\n }\r\n\r\n return (\r\n (\r\n <>\r\n {refreshing && (\r\n \r\n )}\r\n {/* @ts-ignore */}\r\n \r\n \r\n \r\n {tabs.map((tab) => (\r\n \r\n ))}\r\n \r\n \r\n
    \r\n {tab === 'listaPlano' && }\r\n {tab === 'cadastroPlano' && }\r\n {tab === 'listaMembro' && }\r\n {tab === 'cadastroMembro' && }\r\n
    \r\n
    \r\n \r\n )}\r\n // @ts-ignore\r\n no={() => }\r\n />\r\n )\r\n}\r\n\r\nexport default Members\r\n","import React, { useEffect, useState } from 'react'\nimport {\n Modal,\n Card,\n CardContent,\n CardActions,\n Grid,\n Typography,\n Button,\n makeStyles,\n Box,\n MenuItem\n} from '@material-ui/core'\nimport {\n ValidatorForm,\n TextValidator,\n SelectValidator\n} from 'react-material-ui-form-validator'\nimport { KeyboardDatePicker } from '@material-ui/pickers'\nimport { cnpj, cpf } from 'cpf-cnpj-validator'\n\n//? Own imports\nimport { Cidade, Estado, User } from 'types/api'\nimport { cepMask, cpfCnpjMask, phoneMask } from 'utils'\n\ntype UserEditProps = {\n user: User\n open: boolean\n onClose: () => void\n}\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n outline: 'none',\n boxShadow: theme.shadows[20],\n [theme.breakpoints.up('sm')]: {\n borderRadius: '8px',\n webkitBorderRadius: '8px',\n mozBorderRadius: '8px'\n },\n width: 700,\n maxHeight: '100%',\n overflowY: 'auto',\n maxWidth: '100%'\n },\n container: {\n marginTop: theme.spacing(3)\n },\n actions: {\n justifyContent: 'flex-end'\n }\n}))\n\ntype UserEditForm = {\n user: User\n nome: string\n cpfCnpj: string\n apelido?: string\n username: string\n dataNascimento?: Date\n telefone: string\n genero: 'M' | 'F' | 'U'\n cidadeId: number\n cep: string\n endereco: string\n numero: string\n complemento?: string\n bairro: string\n email: string\n}\n\nconst UserEdit = ({ open, onClose, user }: UserEditProps) => {\n const classes = useStyles()\n const [formState, setFormState] = useState({\n nome: user?.nome,\n cpfCnpj: user?.cpfCnpj,\n apelido: user?.apelido,\n username: user?.username,\n dataNascimento: user?.dataNascimento,\n telefone: user?.telefone,\n genero: user?.genero,\n cidadeId: user?.cidadeId,\n cep: user?.cep,\n endereco: user?.endereco,\n numero: user?.numero,\n complemento: user?.complemento,\n bairro: user?.bairro,\n email: user?.email\n })\n\n useEffect(() => {\n ValidatorForm.addValidationRule('isValidCpf', (value) => {\n if (value && value.length <= 14) {\n if (cpf.isValid(value)) {\n return true\n } else {\n return false\n }\n } else {\n return true\n }\n })\n\n ValidatorForm.addValidationRule('isValidCnpj', (value) => {\n if (value && value.length >= 15) {\n if (cnpj.isValid(value)) {\n return true\n } else {\n return false\n }\n } else {\n return true\n }\n })\n ValidatorForm.addValidationRule('isValidPhone', (value) => {\n if (value && value !== null) {\n if (value.length > 0 && value.length < 14) {\n return false\n }\n return true\n }\n return true\n })\n ValidatorForm.addValidationRule('isValidCep', (value) => {\n if (value.length === 9) {\n return true\n } else {\n return false\n }\n })\n return () => {\n ValidatorForm.removeValidationRule('isValidCpf')\n ValidatorForm.removeValidationRule('isValidCnpj')\n ValidatorForm.removeValidationRule('isValidCep')\n ValidatorForm.removeValidationRule('isValidPhone')\n }\n }, [])\n\n const handleFieldChange = (event: React.ChangeEvent) => {\n event.persist()\n setFormState((formState: any) => ({\n ...formState,\n [event.target.name]:\n event.target.type === 'checkbox'\n ? event.target.checked\n : event.target.value\n }))\n }\n\n const handleSave = () => {\n console.log(formState)\n }\n if (!open) {\n return null\n }\n\n return (\n \n \n \n \n \n \n Editar usuário\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n // \n // generateUsername()}\n // >\n // \n // \n // \n // \n // ),\n startAdornment: @\n }}\n // onFocus={() =>\n // (formState.username === '' ||\n // formState.username === null) &&\n // generateUsername()\n // }\n />\n \n \n handleFieldChange}\n InputAdornmentProps={{ position: 'start' }}\n />\n \n \n \n \n \n \n \n Sexo\n \n Masculino\n Feminino\n \n \n \n \n \n \n \n \n Estado *\n \n {/* {undefined !== estados && estados.length\n ? estados.map((row) => (\n \n {row.nome}\n \n ))\n : null} */}\n \n \n \n \n \n Cidade *\n \n {/* {cidades.map((row) => (\n \n {row.nome}\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\nUserEdit.displayName = 'UserEdit'\n\nexport default UserEdit\n","import { makeStyles } from '@material-ui/core/styles'\r\n\r\nexport const useStyles = makeStyles((theme) => ({\r\n dialogContent: {\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n display: 'flex',\r\n flexDirection: 'column'\r\n },\r\n card: {\r\n width: '5.4cm',\r\n height: '8.5cm',\r\n backgroundColor: theme.palette.background.paper,\r\n borderRadius: '0.45cm',\r\n overflow: 'hidden',\r\n border: `1px solid ${theme.palette.divider}`\r\n },\r\n avatar: {\r\n backgroundColor: theme.palette.background.paper,\r\n padding: '0.05cm',\r\n height: '1.5cm',\r\n width: '1.5cm'\r\n },\r\n header: {\r\n height: '2.5cm',\r\n backgroundColor: 'transparent',\r\n color: theme.palette.background.paper,\r\n padding: '0.2cm',\r\n textAlign: 'center',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center'\r\n },\r\n hole: {\r\n zIndex: 9999,\r\n width: '1cm',\r\n height: '0.3cm',\r\n marginBottom: '0.2cm',\r\n borderRadius: '0.2cm',\r\n backgroundColor: theme.palette.background.paper\r\n },\r\n content: {\r\n padding: '0.25cm'\r\n },\r\n title: {\r\n fontSize: '0.28cm'\r\n },\r\n subtitle: { fontSize: '0.28cm' },\r\n divider: {\r\n margin: '0.25cm 0'\r\n },\r\n logo: {\r\n height: '0.5cm',\r\n width: 'auto'\r\n }\r\n}))\r\n","import React, { useRef } from 'react'\r\nimport {\r\n Box,\r\n Typography,\r\n Divider,\r\n Paper,\r\n Dialog,\r\n Button,\r\n Slide,\r\n Avatar,\r\n DialogContent,\r\n useTheme\r\n} from '@material-ui/core'\r\nimport { TransitionProps } from '@material-ui/core/transitions'\r\nimport GetAppRoundedIcon from '@material-ui/icons/GetAppRounded'\r\nimport ReactToPrint from 'react-to-print'\r\nimport { QRCodeSVG } from 'qrcode.react'\r\nimport { format } from 'date-fns'\r\n\r\n// Own imports\r\nimport { useStyles } from './styles'\r\nimport { MemberPlan } from 'types/api'\r\n\r\nconst Transition = React.forwardRef(function Transition(\r\n props: TransitionProps & { children?: React.ReactElement },\r\n ref: React.Ref\r\n) {\r\n return \r\n})\r\n\r\nexport type MembershipCardProps = {\r\n setOpenDialogMembershipCard: (open: boolean) => void\r\n openDialogMembershipCard: boolean\r\n memberPlan: MemberPlan\r\n}\r\n\r\nconst MembershipCard = ({\r\n setOpenDialogMembershipCard,\r\n openDialogMembershipCard,\r\n memberPlan\r\n}: MembershipCardProps) => {\r\n const classes = useStyles()\r\n const theme = useTheme()\r\n const refMembershipCard = useRef(null)\r\n const backgroundImage =\r\n memberPlan?.plano?.imagem || memberPlan?.plano?.estabelecimento?.imagem\r\n return (\r\n setOpenDialogMembershipCard(false)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {memberPlan?.plano?.nome?.toUpperCase()}\r\n \r\n \r\n Matrícula:{' '}\r\n \r\n {/* @ts-ignore */}\r\n {memberPlan?.matricula}\r\n \r\n \r\n \r\n Nome:{' '}\r\n \r\n {memberPlan?.membro?.nome}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Válido até{' '}\r\n {memberPlan?.dataHoraInicio && (\r\n \r\n {format(new Date(memberPlan?.dataHoraInicio), 'dd/MM/yyyy')}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n }\r\n onClick={() => setOpenDialogMembershipCard(true)}\r\n >\r\n Imprimir/Salvar\r\n \r\n )}\r\n content={() => refMembershipCard.current}\r\n />\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default MembershipCard\r\n","import React, { useState } from 'react'\r\nimport {\r\n Card,\r\n CardHeader,\r\n CardContent,\r\n CardActions,\r\n Button,\r\n Divider,\r\n Table,\r\n TableBody,\r\n TableRow,\r\n TableCell,\r\n colors,\r\n makeStyles,\r\n Box\r\n} from '@material-ui/core'\r\nimport EditIcon from '@material-ui/icons/Edit'\r\nimport GetAppRoundedIcon from '@material-ui/icons/GetAppRounded'\r\n\r\n//? Own imports\r\nimport { Label } from 'components'\r\nimport { MembershipCard, UserEdit } from './components'\r\nimport { cepMask, cpfCnpjMask, getGenderFull, history, phoneMask } from 'utils'\r\nimport { MemberPlan } from 'types/api'\r\nimport constants from 'theme/constants'\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n ...constants.shadowCard\r\n },\r\n content: {\r\n padding: 0\r\n },\r\n actions: {\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n justifyContent: 'space-between'\r\n },\r\n label: {\r\n marginTop: theme.spacing(1)\r\n }\r\n}))\r\n\r\ntype UserInfoProps = {\r\n memberPlan: MemberPlan\r\n}\r\n\r\nconst UserInfo = ({ memberPlan }: UserInfoProps) => {\r\n const classes = useStyles()\r\n const [openEdit, setOpenEdit] = useState(false)\r\n const [openDialogMembershipCard, setOpenDialogMembershipCard] = useState(\r\n false\r\n )\r\n\r\n const handleEditOpen = () => {\r\n setOpenEdit(true)\r\n }\r\n\r\n const handleEditClose = () => {\r\n setOpenEdit(false)\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n Matrícula\r\n #{memberPlan.matricula\r\n ? memberPlan.matricula\r\n : memberPlan?.id}\r\n \r\n \r\n \r\n Nome\r\n \r\n {memberPlan?.membro?.nome}\r\n {memberPlan?.membro?.usuario && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n CPF/CNPJ\r\n {cpfCnpjMask(memberPlan?.membro?.cpfCnpj)}\r\n \r\n \r\n Email\r\n {memberPlan?.membro?.email}\r\n \r\n \r\n Telefone\r\n \r\n {memberPlan?.membro?.telefone\r\n ? phoneMask(memberPlan?.membro?.telefone)\r\n : 'Não informado'}\r\n \r\n \r\n \r\n Data de nascimento\r\n \r\n {memberPlan?.membro?.dataNascimento\r\n ? `${memberPlan?.membro?.dataNascimento\r\n .toString()\r\n .split('-')[2]\r\n .substring(0, 2)}/${\r\n memberPlan?.membro?.dataNascimento\r\n .toString()\r\n .split('-')[1]\r\n }/${\r\n memberPlan?.membro?.dataNascimento\r\n .toString()\r\n .split('-')[0]\r\n }`\r\n : 'Não informada'}\r\n \r\n \r\n \r\n Endereço\r\n \r\n {memberPlan?.membro?.endereco\r\n ? `${memberPlan?.membro?.endereco}, ${\r\n memberPlan?.membro?.numero\r\n }${\r\n memberPlan?.membro?.complemento\r\n ? `, ${memberPlan?.membro?.complemento}`\r\n : ''\r\n } - ${memberPlan?.membro?.bairro} - ${cepMask(\r\n memberPlan?.membro?.cep\r\n )}`\r\n : 'Não informado'}\r\n \r\n \r\n \r\n Cidade\r\n \r\n {memberPlan &&\r\n memberPlan.membro?.cidade &&\r\n memberPlan?.membro?.cidade?.nome}{' '}\r\n -{' '}\r\n {memberPlan &&\r\n memberPlan.membro?.cidade &&\r\n memberPlan?.membro?.cidade?.estado?.uf}\r\n \r\n \r\n \r\n Pais\r\n \r\n {memberPlan?.membro?.cidade?.estado?.pais?.nomePt ||\r\n 'Não informado'}\r\n \r\n \r\n {memberPlan?.membro?.usuario && (\r\n <>\r\n \r\n Apelido\r\n \r\n {memberPlan?.membro?.usuario?.apelido\r\n ? memberPlan?.membro?.usuario?.apelido\r\n : 'Não informado'}\r\n \r\n \r\n \r\n Nome do usuário\r\n \r\n @{memberPlan?.membro?.usuario?.username}\r\n \r\n \r\n \r\n )}\r\n \r\n Gênero\r\n {getGenderFull(memberPlan?.membro?.genero)}\r\n \r\n \r\n \r\n QRCode\r\n \r\n \r\n {memberPlan?.qrCode}\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n }\r\n onClick={() =>\r\n history.push(`/members/cadastroMembro/${memberPlan?.membro?.id}`)\r\n }\r\n // disabled={true}\r\n >\r\n Editar\r\n \r\n }\r\n onClick={() => setOpenDialogMembershipCard(true)}\r\n >\r\n Gerar carteira em PDF\r\n \r\n \r\n {/* */}\r\n\r\n \r\n \r\n )\r\n}\r\n\r\nexport default UserInfo\r\n","import React from 'react'\r\nimport {\r\n Button,\r\n Card,\r\n CardActions,\r\n CardContent,\r\n CardHeader,\r\n Divider,\r\n Table,\r\n TableBody,\r\n TableCell,\r\n TableRow,\r\n colors,\r\n makeStyles\r\n} from '@material-ui/core'\r\nimport {\r\n differenceInMonths,\r\n differenceInWeeks,\r\n format,\r\n formatRelative,\r\n parseISO\r\n} from 'date-fns'\r\nimport { useParams } from 'react-router-dom'\r\nimport brLocale from 'date-fns/locale/pt-BR'\r\nimport AccountBalanceRoundedIcon from '@material-ui/icons/AccountBalanceRounded'\r\nimport PeopleOutlineRoundedIcon from '@material-ui/icons/PeopleOutlineRounded'\r\n\r\n//? Own imports\r\nimport { Label } from 'components'\r\nimport { MemberPlan } from 'types/api'\r\nimport constants from 'theme/constants'\r\nimport { formatCurrency, getPeriodicityString, history } from 'utils'\r\n\r\nconst calculateMembershipTime = (startDate: string, endDate: string) => {\r\n const start = parseISO(startDate)\r\n const end = parseISO(endDate)\r\n\r\n const months = differenceInMonths(end, start)\r\n const weeks = differenceInWeeks(end, start) - months * 4\r\n\r\n if (months === 1 && weeks <= 3) {\r\n return `${months} mês e ${weeks} semanas`\r\n } else if (months > 1 && weeks <= 3) {\r\n return `${months} meses e ${weeks} semanas`\r\n } else if (months === 1 && weeks > 3) {\r\n return `${months + 1} meses`\r\n } else if (months > 1 && weeks > 3) {\r\n return `${months + 1} meses`\r\n } else if (months === 0 && weeks === 1) {\r\n return `${weeks} semana`\r\n } else if (months === 0 && weeks > 1) {\r\n return `${weeks} semanas`\r\n } else {\r\n return `${months} meses`\r\n }\r\n}\r\n\r\nconst useStyles = makeStyles(() => ({\r\n root: {\r\n ...constants.shadowCard\r\n },\r\n actions: {\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n justifyContent: 'space-between'\r\n },\r\n content: {\r\n padding: 0\r\n }\r\n}))\r\n\r\ntype ExtraInfoProps = {\r\n memberPlan: MemberPlan\r\n}\r\n\r\nconst ExtraInfo = ({ memberPlan }: ExtraInfoProps) => {\r\n const classes = useStyles()\r\n const { id: memberId } = useParams<{ tab: string; id: string }>()\r\n const { plano, planoValor } = memberPlan\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Plano\r\n {plano?.nome}\r\n \r\n \r\n Status\r\n \r\n
    \r\n \r\n {memberPlan?.statusMembroPlano ? memberPlan?.statusMembroPlano.descricao : 'INDEFINIDO'}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Periodicidade\r\n \r\n {getPeriodicityString(planoValor?.periodicidade || '')}\r\n \r\n \r\n \r\n Valor\r\n {formatCurrency(planoValor?.valor)}\r\n \r\n \r\n Data de início\r\n \r\n {memberPlan?.dataHoraInicio\r\n ? format(new Date(memberPlan.dataHoraInicio), 'dd/MM/yyyy')\r\n : 'Não informado'}\r\n \r\n \r\n \r\n Data de término\r\n \r\n {memberPlan?.dataHoraFim\r\n ? format(new Date(memberPlan.dataHoraFim), 'dd/MM/yyyy')\r\n : 'Não informado'}\r\n

    \r\n
    \r\n
    \r\n \r\n Tempo de associação\r\n \r\n {memberPlan?.dataHoraInicio\r\n ? calculateMembershipTime(\r\n memberPlan.dataHoraInicio,\r\n memberPlan.dataHoraFim || new Date()?.toISOString()\r\n )\r\n : 'Não informado'}\r\n \r\n \r\n \r\n Próxima cobrança\r\n \r\n {memberPlan && memberPlan?.dataHoraFim\r\n ? format(new Date(memberPlan?.dataHoraFim), 'dd/MM/yyyy')\r\n : 'Não informado'}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n }\r\n disabled={true}\r\n // onClick={}\r\n >\r\n Ver plano\r\n \r\n }\r\n onClick={() =>\r\n history.push(`/members/memberPlanDetails/${memberId}/financeiro`)\r\n }\r\n >\r\n Financeiro\r\n \r\n \r\n
    \r\n )\r\n}\r\n\r\nexport default ExtraInfo\r\n","import React from 'react'\r\nimport {\r\n Card,\r\n CardHeader,\r\n CardContent,\r\n Button,\r\n Divider,\r\n Typography,\r\n makeStyles,\r\n Switch,\r\n Box,\r\n FormControlLabel,\r\n Tooltip\r\n} from '@material-ui/core'\r\nimport DeleteIcon from '@material-ui/icons/DeleteOutline'\r\nimport MailOutlineRoundedIcon from '@material-ui/icons/MailOutlineRounded'\r\nimport { useConfirm } from 'material-ui-confirm'\r\n\r\n//? Own imports\r\nimport { MemberPlan } from 'types/api'\r\nimport constants from 'theme/constants'\r\nimport { useMutationMemberPlanDelete } from 'hooks-querys'\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n ...constants.shadowCard\r\n },\r\n mainActions: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'flex-start'\r\n },\r\n notice: {\r\n marginTop: theme.spacing(1)\r\n },\r\n deleteButton: {\r\n marginTop: theme.spacing(1),\r\n color: '#fff',\r\n backgroundColor: theme.palette.error.main,\r\n '&:hover': {\r\n backgroundColor: theme.palette.error.dark\r\n }\r\n },\r\n controlLabel: {\r\n padding: theme.spacing(1)\r\n }\r\n}))\r\n\r\ntype OtherActionsProps = {\r\n memberPlan: MemberPlan\r\n}\r\n\r\n\r\nconst OtherActions = ({ memberPlan }: OtherActionsProps) => {\r\n const classes = useStyles()\r\n const confirm = useConfirm()\r\n const mutationDeleteMemberPlan = useMutationMemberPlanDelete()\r\n\r\n const handleDeleteMemberPlanClick = (idMemberPlan: number) => {\r\n confirm({\r\n title: 'Você deseja excluir esse membro?',\r\n description: 'Confirmando essa operação, o membro será excluido para sempre!',\r\n confirmationText: 'Sim, excluir!',\r\n cancellationText: 'Não!'\r\n }).then(() => {\r\n deleteMemberPlan(idMemberPlan)\r\n })\r\n }\r\n\r\n const deleteMemberPlan = (idMemberPlan: number) => {\r\n mutationDeleteMemberPlan.mutate(idMemberPlan)\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Status de acesso\r\n \r\n Permitir ou bloquear acesso do membro\r\n \r\n \r\n \r\n \r\n }\r\n label={memberPlan?.ativo ? 'Permitido' : 'Bloqueado'}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Remova os dados deste membro se ele solicitou, se não, por favor\r\n esteja ciente de que o que for excluído nunca poderá ser recuperado.\r\n \r\n }\r\n onClick={() => handleDeleteMemberPlanClick(memberPlan.id)}\r\n >\r\n Excluir membro\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default OtherActions\r\n","import React, { useState, useEffect } from 'react'\r\nimport {\r\n Box,\r\n CircularProgress,\r\n Grid,\r\n Typography,\r\n makeStyles\r\n} from '@material-ui/core'\r\n\r\n//? Own imports\r\nimport { UserInfo, ExtraInfo, OtherActions } from './components'\r\nimport { MemberPlan } from 'types/api'\r\nimport { useParams } from 'react-router-dom'\r\nimport { useMemberPlanDetails } from 'hooks-querys'\r\n\r\nconst useStyles = makeStyles(() => ({\r\n root: {}\r\n}))\r\n\r\nconst Summary = () => {\r\n const classes = useStyles()\r\n const { id: memberPlanId } = useParams<{ tab: string; id: string }>()\r\n const {\r\n data: memberPlanDetails,\r\n isLoading,\r\n isFetching,\r\n refetch\r\n } = useMemberPlanDetails({ memberPlanId: Number(memberPlanId) })\r\n\r\n if (isLoading)\r\n return (\r\n \r\n \r\n \r\n Carregando dados...\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n )\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default Summary\r\n","import React from 'react'\r\nimport {\r\n TableRow,\r\n TableCell,\r\n Box,\r\n Typography,\r\n Table,\r\n TableHead,\r\n useTheme,\r\n TableBody,\r\n IconButton,\r\n Tooltip\r\n} from '@material-ui/core'\r\n\r\n//? Own imports\r\nimport { formatCurrency, toLocalDateFormat } from 'utils'\r\nimport { Label, SkeletonTable } from 'components'\r\nimport { useMembershipPayment } from 'hooks-querys'\r\nimport { AccessControl } from 'components/Utils'\r\nimport InfoOutlinedIcon from '@material-ui/icons/InfoOutlined'\r\nimport FileCopyRoundedIcon from '@material-ui/icons/FileCopyRounded'\r\nimport ShareIcon from '@material-ui/icons/Share'\r\nimport { toast } from 'react-toastify'\r\n\r\nconst RowTableMemberFinancial = ({\r\n membershipId\r\n}: {\r\n membershipId: number\r\n}) => {\r\n const theme = useTheme()\r\n const { data, isLoading } = useMembershipPayment({\r\n membershipId: membershipId\r\n })\r\n\r\n const handleOpenLinkBoleto = (url: string) => {\r\n window.open(url, \"_blank\", \"noreferrer\");\r\n }\r\n\r\n const handleCopyLinhaDigitavelBoleto = (link: string) => {\r\n navigator.clipboard.writeText(link)\r\n toast.success(\r\n 'Linha digitável do boleto copiada com sucesso!',\r\n {\r\n autoClose: 4000\r\n }\r\n )\r\n }\r\n\r\n\r\n\r\n if (!membershipId) return null\r\n\r\n const totalItems = data?.length\r\n return (\r\n \r\n \r\n Histórico de transações\r\n \r\n {isLoading ? (\r\n \r\n ) : totalItems && totalItems > 0 ? (\r\n \r\n \r\n \r\n Data criação\r\n Forma Pagamento\r\n Data validade\r\n Status\r\n Valor Total (R$)\r\n Ações\r\n \r\n \r\n \r\n {data?.map((payment) => (\r\n \r\n {toLocalDateFormat(payment.dataHora)}\r\n \r\n {payment?.formaPagamento?.descricao}\r\n \r\n \r\n {toLocalDateFormat(payment?.dataHoraValidade)}\r\n \r\n \r\n \r\n {payment?.statusPagamento?.descricao}\r\n \r\n \r\n\r\n \r\n {formatCurrency(payment?.valor)}\r\n \r\n \r\n (\r\n \r\n handleOpenLinkBoleto(payment.linkBoleto)\r\n }\r\n disabled={payment?.formaPagamento?.id != 2}\r\n >\r\n \r\n \r\n \r\n \r\n )}\r\n />\r\n (\r\n \r\n handleCopyLinhaDigitavelBoleto(payment.linhaDigitavelBoleto)\r\n }\r\n disabled={payment?.formaPagamento?.id != 2}\r\n >\r\n \r\n \r\n \r\n \r\n )}\r\n />\r\n \r\n \r\n ))}\r\n \r\n \r\n ) : (\r\n \r\n Não há dados para essa subscrição\r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nexport default RowTableMemberFinancial\r\n","import React, { useState } from 'react'\r\nimport { Link as RouterLink } from 'react-router-dom'\r\nimport {\r\n TableRow,\r\n TableCell,\r\n Grid,\r\n Tooltip,\r\n IconButton,\r\n Link,\r\n makeStyles,\r\n Collapse,\r\n Box,\r\n Typography,\r\n Table,\r\n TableHead,\r\n useTheme,\r\n TableBody\r\n} from '@material-ui/core'\r\nimport InfoOutlinedIcon from '@material-ui/icons/InfoOutlined'\r\nimport KeyboardArrowDownIcon from '@material-ui/icons/KeyboardArrowDown'\r\nimport KeyboardArrowUpIcon from '@material-ui/icons/KeyboardArrowUp'\r\n\r\n//? Own imports\r\nimport { MembershipSubscription } from 'types/api'\r\nimport { formatCurrency, toLocalDateFormat } from 'utils'\r\nimport { Label } from 'components'\r\nimport { TableFinancialTransactionHistory } from './components'\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n '& > *': {\r\n borderBottom: 'unset'\r\n }\r\n },\r\n nameCell: {\r\n display: 'flex',\r\n alignItems: 'center'\r\n }\r\n}))\r\n\r\nconst RowTableMemberFinancial = ({\r\n membershipItem\r\n}: {\r\n membershipItem: MembershipSubscription\r\n}) => {\r\n const classes = useStyles()\r\n const theme = useTheme()\r\n const [open, setOpen] = useState(false)\r\n\r\n if (!membershipItem) return null\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n setOpen(!open)}\r\n >\r\n {open ? : }\r\n \r\n \r\n \r\n {membershipItem?.membroPlano?.plano?.nome}\r\n \r\n {membershipItem?.membroPlano?.planoValor?.valor\r\n ? formatCurrency(membershipItem?.membroPlano?.planoValor?.valor)\r\n : '----------'}\r\n \r\n \r\n {membershipItem?.dataHoraInicio\r\n ? toLocalDateFormat(membershipItem?.dataHoraInicio)\r\n : '----------'}\r\n \r\n \r\n {membershipItem?.dataHoraFim\r\n ? toLocalDateFormat(membershipItem?.dataHoraFim)\r\n : '----------'}\r\n \r\n\r\n \r\n {membershipItem ? (\r\n \r\n {membershipItem?.pago ? 'PAGO' : 'PAGAMENTO PENDENTE'}\r\n \r\n ) : (\r\n '----------'\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default RowTableMemberFinancial\r\n","import React from 'react'\r\nimport {\r\n TableBody,\r\n Table,\r\n makeStyles,\r\n TableCell,\r\n TableContainer,\r\n TableHead,\r\n TableRow,\r\n Paper,\r\n Typography,\r\n Toolbar,\r\n Tooltip,\r\n IconButton,\r\n Box,\r\n BoxProps\r\n} from '@material-ui/core'\r\nimport PrintRoundedIcon from '@material-ui/icons/PrintRounded'\r\nimport ReactToPrint from 'react-to-print'\r\n\r\n//? Own imports\r\nimport { MembershipSubscription } from 'types/api'\r\nimport { RowTableMemberFinancial } from './components'\r\nimport constants from 'theme/constants'\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n table: {\r\n minWidth: 700\r\n },\r\n rootToolbarStyles: {\r\n paddingLeft: theme.spacing(2),\r\n paddingRight: theme.spacing(1)\r\n },\r\n titleToolbarStyles: {\r\n flex: '1 1 100%'\r\n },\r\n paper: {\r\n width: '100%',\r\n marginBottom: theme.spacing(2),\r\n ...constants.shadowCard\r\n }\r\n}))\r\n\r\ntype TableMemberFinancialProps = BoxProps & {\r\n items: MembershipSubscription[]\r\n}\r\n\r\nconst TableMemberFinancial = ({\r\n items,\r\n ...rest\r\n}: TableMemberFinancialProps) => {\r\n const classes = useStyles()\r\n const refTable = React.useRef(null)\r\n\r\n return (\r\n \r\n \r\n {items && items?.length > 0 ? (\r\n <>\r\n Total de dados encontrados: {items?.length}\r\n \r\n ) : (\r\n Nenhum dado encontrado.\r\n )}\r\n \r\n {items && items?.length > 0 && (\r\n \r\n \r\n \r\n Lista de subscrições\r\n \r\n (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n content={() => refTable.current}\r\n />\r\n \r\n {/* usado para 'forçar' a orientação da pagina para 'paisagem' afim de imprimir mostrando todos os dados */}\r\n \r\n {/* ------------------------------------------------------------>\t */}\r\n \r\n {items !== undefined && items?.length > 0 && (\r\n \r\n \r\n \r\n \r\n Plano\r\n Valor (R$)\r\n Data Início\r\n Data Fim\r\n Status\r\n Ações\r\n \r\n \r\n \r\n {items?.map((membershipItem) => {\r\n return (\r\n \r\n )\r\n })}\r\n \r\n \r\n )}\r\n \r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nexport default TableMemberFinancial\r\n","import React from 'react'\r\nimport {\r\n Grid,\r\n Select,\r\n MenuItem,\r\n FormControl,\r\n InputLabel,\r\n makeStyles\r\n} from '@material-ui/core'\r\n\r\n//? Own imports\r\nimport { history, useSearchQuery } from 'utils'\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n flexGrow: 1\r\n },\r\n formControl: {\r\n width: '100%'\r\n },\r\n selectEmpty: {\r\n marginTop: theme.spacing(2)\r\n },\r\n divider: {\r\n height: 28,\r\n margin: 4\r\n }\r\n}))\r\n\r\nconst Filters = () => {\r\n const classes = useStyles()\r\n\r\n const querySearch = useSearchQuery()\r\n const selectValue = querySearch.get('Pago')\r\n\r\n const handleRemoveFilterSelectStatus = () => {\r\n querySearch.delete('Pago')\r\n }\r\n\r\n const handleChangeSelectStatus = (selectValue: string) => {\r\n if (!selectValue) {\r\n handleRemoveFilterSelectStatus()\r\n } else {\r\n querySearch.set('Pago', selectValue)\r\n }\r\n history.push({ search: querySearch.toString() })\r\n }\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n Filtrar por status\r\n \r\n {\r\n handleChangeSelectStatus(event.target.value as string)\r\n }}\r\n label=\"Filtrar por status\"\r\n >\r\n \r\n {selectValue === '' ? (\r\n 'Filtrar por status'\r\n ) : (\r\n Limpar filtro\r\n )}\r\n \r\n \r\n Pago\r\n \r\n \r\n Pendente\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n )\r\n}\r\n\r\nexport default Filters\r\n","import React, { useEffect, useState } from 'react'\r\nimport {\r\n Typography,\r\n Grid,\r\n Button,\r\n ButtonGroup,\r\n Chip,\r\n makeStyles,\r\n useTheme,\r\n useMediaQuery\r\n} from '@material-ui/core'\r\nimport { DatePicker } from '@material-ui/pickers'\r\nimport {\r\n format,\r\n subDays,\r\n differenceInDays,\r\n isAfter,\r\n isBefore,\r\n endOfDay,\r\n startOfDay,\r\n startOfYesterday,\r\n endOfYesterday\r\n} from 'date-fns'\r\nimport CalendarTodayIcon from '@material-ui/icons/CalendarTodayOutlined'\r\nimport { useLocation, useParams } from 'react-router-dom'\r\n\r\n//? Own imports\r\nimport { history } from 'utils'\r\nimport { useDidMountEffect } from 'utils/useDidMountEffect'\r\nimport { Evento } from 'types/api'\r\nimport { useEvents } from 'hooks-querys'\r\nimport { useSelector } from 'react-redux'\r\n\r\ntype ChipType = {\r\n label: string\r\n value: string\r\n}\r\nconst chipOptions: ChipType[] = [\r\n { label: '7 dias', value: '7' },\r\n { label: '30 dias', value: '30' },\r\n { label: '90 dias', value: '90' },\r\n { label: '1 ano', value: '365' }\r\n]\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {},\r\n dates: {\r\n [theme.breakpoints.up('md')]: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'flex-end'\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n '& > *': {\r\n margin: theme.spacing(0.5),\r\n marginBottom: theme.spacing(2)\r\n }\r\n }\r\n },\r\n calendarTodayIcon: {\r\n marginRight: theme.spacing(1)\r\n },\r\n chip: {\r\n marginRight: theme.spacing(1)\r\n },\r\n calendarTodayGroup: {\r\n [theme.breakpoints.up('md')]: {\r\n marginLeft: theme.spacing(1)\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n marginTop: theme.spacing(1)\r\n }\r\n }\r\n}))\r\n\r\nfunction useSearchQuery() {\r\n const { search } = useLocation()\r\n return React.useMemo(() => new URLSearchParams(search), [search])\r\n}\r\n\r\nconst Header = () => {\r\n const classes = useStyles()\r\n const querySearch = useSearchQuery()\r\n\r\n const { id: memberId } = useParams<{ tab: string; id: string }>()\r\n const [selectEdge, setSelectEdge] = useState(null)\r\n const [calendarDate, setCalendarDate] = useState(new Date())\r\n const [dateRange, setDateRange] = useState({\r\n startDate: startOfDay(subDays(new Date(), 30)),\r\n endDate: endOfDay(new Date()),\r\n value: '30'\r\n })\r\n const [filters, setFilters] = useState({\r\n selectedStatusPedidoId: querySearch.get('StatusPedidoId') || '0',\r\n selectedFormaPagamentoId: querySearch.get('FormaPagamentoId') || '0',\r\n dataHoraInicio: querySearch.get('DataHoraInicio') || '',\r\n dataHoraFim: querySearch.get('DataHoraFim') || ''\r\n })\r\n\r\n const runQuery = (isInitialRender?: boolean) => {\r\n const url = `/members/memberPlanDetails/${memberId}/financeiro?StatusPedidoId=${\r\n filters.selectedStatusPedidoId\r\n }&FormaPagamentoId=${\r\n filters.selectedFormaPagamentoId ? filters.selectedFormaPagamentoId : 0\r\n }&DataHoraInicio=${format(\r\n dateRange.startDate,\r\n 'yyyy/MM/dd HH:mm:ss'\r\n )}&DataHoraFim=${format(dateRange.endDate, 'yyyy/MM/dd HH:mm:ss')}`\r\n if (isInitialRender) {\r\n history.replace(url)\r\n } else {\r\n history.push(url)\r\n }\r\n }\r\n const today = new Date()\r\n const yesterday = new Date(today)\r\n yesterday.setDate(yesterday.getDate() - 1)\r\n\r\n const handleCalendarOpen = (edge: string) => {\r\n setSelectEdge(edge as 'start' | 'end')\r\n }\r\n\r\n const handleCalendarChange = (date: Date) => {\r\n setCalendarDate(date)\r\n }\r\n\r\n const handleCalendarClose = () => {\r\n setCalendarDate(new Date())\r\n setSelectEdge(null)\r\n }\r\n\r\n const handleCalendarAccept = (date: Date) => {\r\n setCalendarDate(new Date())\r\n\r\n if (selectEdge === 'start') {\r\n setDateRange({ ...dateRange, startDate: startOfDay(date) })\r\n\r\n if (isAfter(date, dateRange.endDate)) {\r\n setDateRange({ ...dateRange, endDate: endOfDay(date) })\r\n }\r\n } else {\r\n setDateRange({ ...dateRange, endDate: endOfDay(date) })\r\n\r\n if (isBefore(date, dateRange.startDate)) {\r\n setDateRange({ ...dateRange, startDate: startOfDay(date) })\r\n }\r\n }\r\n\r\n setFilters((prev) => ({\r\n ...prev,\r\n dataHoraInicio: format(dateRange.startDate, 'yyyy/MM/dd HH:mm:ss'),\r\n dataHoraFim: format(dateRange.endDate, 'yyyy/MM/dd HH:mm:ss')\r\n }))\r\n setSelectEdge(null)\r\n }\r\n\r\n const handleRangeChangeChip = (item: ChipType) => {\r\n setDateRange({\r\n startDate: startOfDay(subDays(new Date(), Number(item.value))),\r\n endDate: endOfDay(new Date()),\r\n value: item.value\r\n })\r\n setFilters((prev) => ({\r\n ...prev,\r\n dataHoraInicio: format(dateRange.startDate, 'yyyy/MM/dd HH:mm:ss'),\r\n dataHoraFim: format(dateRange.endDate, 'yyyy/MM/dd HH:mm:ss')\r\n }))\r\n }\r\n\r\n const open = Boolean(selectEdge)\r\n\r\n useEffect(() => {\r\n runQuery(true)\r\n }, [])\r\n\r\n useDidMountEffect(() => {\r\n setFilters((prev) => ({\r\n ...prev,\r\n selectedStatusPedidoId: querySearch.get('StatusPedidoId') || '0',\r\n selectedFormaPagamentoId: querySearch.get('FormaPagamentoId') || '',\r\n textSearch: querySearch.get('Term') || '',\r\n dataHoraInicio: querySearch.get('DataHoraInicio') || '',\r\n dataHoraFim: querySearch.get('DataHoraFim') || ''\r\n }))\r\n }, [querySearch])\r\n\r\n useDidMountEffect(() => {\r\n runQuery()\r\n }, [dateRange.startDate, dateRange.endDate])\r\n\r\n return (\r\n
    \r\n \r\n \r\n {chipOptions &&\r\n chipOptions.length > 0 &&\r\n chipOptions.map((option) => (\r\n handleRangeChangeChip(option)}\r\n color={\r\n option.value != '0' &&\r\n differenceInDays(dateRange.endDate, dateRange.startDate) ===\r\n Number(option.value)\r\n ? 'primary'\r\n : 'default'\r\n }\r\n />\r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n )\r\n}\r\n\r\nexport default Header\r\n","import React from 'react'\r\nimport {\r\n Box,\r\n Grid,\r\n makeStyles,\r\n useMediaQuery,\r\n useTheme\r\n} from '@material-ui/core'\r\nimport { useMemberSubscription } from 'hooks-querys'\r\n\r\n//? Own imports\r\nimport AccessDenied from 'views/Errors/AccessDenied'\r\nimport { Page, SkeletonTable } from 'components'\r\nimport { AccessControl } from 'components/Utils'\r\nimport { Filters, Header, TableMemberFinancial } from './components'\r\nimport { useSearchQuery } from 'utils'\r\nimport { useParams } from 'react-router-dom'\r\n\r\nconst useStyles = makeStyles(() => ({\r\n root: {}\r\n}))\r\nconst Financial = () => {\r\n const classes = useStyles()\r\n const theme = useTheme()\r\n const isMobile = useMediaQuery(theme.breakpoints.down('xs'))\r\n const { id: memberPlanId } = useParams<{ tab: string; id: string }>()\r\n const querySearch = useSearchQuery()\r\n\r\n const { data: memberSubscriptions, isLoading } = useMemberSubscription({\r\n membroPlanoId: Number(memberPlanId),\r\n pago: querySearch.get('Pago'),\r\n page: 1,\r\n limit: 9999\r\n })\r\n\r\n return (\r\n (\r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n
    \r\n */}\r\n \r\n {isLoading ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n )}\r\n // @ts-ignore\r\n no={() => }\r\n />\r\n )\r\n}\r\n\r\nexport default Financial\r\n","import React, { ChangeEvent } from 'react'\r\nimport { Redirect, useParams } from 'react-router-dom'\r\nimport {\r\n Tabs,\r\n Tab,\r\n Divider,\r\n colors,\r\n makeStyles,\r\n LinearProgress\r\n} from '@material-ui/core'\r\n\r\n//? Own imports\r\nimport { Page, Header } from 'components'\r\nimport { Info, Financial } from './components'\r\nimport { history, useSearchQuery } from 'utils'\r\nimport { AccessControl } from 'components/Utils'\r\nimport { useMemberPlanDetails, useMemberSubscription } from 'hooks-querys'\r\nimport AccessDenied from 'views/Errors/AccessDenied'\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {},\r\n inner: {\r\n padding: theme.spacing(3, 2, 2, 2),\r\n [theme.breakpoints.down('sm')]: {\r\n padding: theme.spacing(3, 1, 1, 1)\r\n }\r\n },\r\n divider: {\r\n backgroundColor: colors.grey[300]\r\n },\r\n content: {\r\n marginTop: theme.spacing(3)\r\n },\r\n header: {\r\n marginBottom: theme.spacing(3)\r\n }\r\n}))\r\n\r\nconst MemberPlanDetails = () => {\r\n const classes = useStyles()\r\n const { tab, id: memberPlanId } = useParams<{ tab: string; id: string }>()\r\n const querySearch = useSearchQuery()\r\n\r\n const {\r\n isLoading: isLoadingMemberPlanDetails,\r\n isFetching: isFetchingMemberPlanDetails,\r\n refetch: refetchMemberPlanDetails\r\n } = useMemberPlanDetails(\r\n {\r\n memberPlanId: Number(memberPlanId)\r\n },\r\n {\r\n config: {\r\n enabled: !!(tab === 'informacoes')\r\n }\r\n }\r\n )\r\n\r\n const {\r\n isLoading: isLoadingMemberSubscriptions,\r\n isFetching: isFetchingMemberSubscriptions,\r\n refetch: refetchMemberSubscriptions\r\n } = useMemberSubscription(\r\n {\r\n membroPlanoId: Number(memberPlanId),\r\n pago: querySearch.get('Pago'),\r\n page: 1,\r\n limit: 9999\r\n },\r\n { config: { enabled: !!(tab === 'financeiro') } }\r\n )\r\n\r\n const isLoading =\r\n tab === 'informacoes'\r\n ? isLoadingMemberPlanDetails\r\n : tab === 'financeiro'\r\n ? isLoadingMemberSubscriptions\r\n : false\r\n\r\n const isFetching =\r\n tab === 'informacoes'\r\n ? isFetchingMemberPlanDetails\r\n : tab === 'financeiro'\r\n ? isFetchingMemberSubscriptions\r\n : false\r\n\r\n const refetch = () => {\r\n if (tab === 'informacoes') {\r\n refetchMemberPlanDetails()\r\n } else if (tab === 'financeiro') {\r\n refetchMemberSubscriptions()\r\n }\r\n }\r\n\r\n const handleTabsChange = (_event: ChangeEvent<{}>, value: string) => {\r\n history.push(value)\r\n }\r\n\r\n const tabs = [\r\n { value: 'informacoes', label: 'Informações' },\r\n { value: `financeiro`, label: 'Financeiro' }\r\n ]\r\n\r\n if (!tab) {\r\n return (\r\n \r\n )\r\n }\r\n\r\n if (!tabs.find((t) => t.value === tab)) {\r\n return \r\n }\r\n\r\n return (\r\n // @ts-ignore\r\n (\r\n \r\n <>\r\n {isFetching && (\r\n \r\n )}\r\n
    \r\n item.value === tab)?.label\r\n ? ` → ${tabs.find((item) => item.value === tab)?.label}`\r\n : ''\r\n }`}\r\n isRefreshing={isFetching}\r\n onRefresh={refetch}\r\n />\r\n \r\n {tabs.map((tab) => (\r\n \r\n ))}\r\n \r\n \r\n
    \r\n {tab === 'informacoes' && }\r\n {tab === 'financeiro' && }\r\n
    \r\n
    \r\n \r\n \r\n )}\r\n // @ts-ignore\r\n no={() => }\r\n />\r\n )\r\n}\r\n\r\nexport default MemberPlanDetails\r\n","import React from 'react'\nimport { Route, Switch, Redirect } from 'react-router-dom'\nimport { RouteWithLayout } from './components'\nimport { PrivateRouteWithLayout } from './components'\nimport { Main as MainLayout, Minimal as MinimalLayout } from './layouts'\n\nimport {\n Dashboard as DashboardView,\n Carteira as CarteiraView,\n Avaliacoes as AvaliacoesView,\n MovimentacoesFinanceiras as MovimentacoesFinanceirasView,\n OrderManagementList as OrderManagementListView,\n OrderManagementDetails as OrderManagementDetailsView,\n CancelamentosIngressos as CancelamentosIngressosView,\n OrderCancelDetails as OrderCancelDetailsView,\n EventoDashboard as EventoDashboardView,\n Settings as SettingsView,\n Error404 as Error404View,\n Login as LoginView,\n EmailVerification as EmailVerificationView,\n TipoIngresso as TipoIngressoView,\n TipoIngressoEdit as TipoIngressoEditView,\n EventoList as EventosView,\n EventoEdit as EventosEditView,\n EstabelecimentosList as EstabelecimentosListView,\n EstabelecimentoEdit as EstabelecimentoEditView,\n CustomerManagementDetails as CustomerManagementDetailsView,\n PasswordReset as PasswordResetView,\n CuponsDesconto as CupomDescontoView,\n // CupomDescontoEdit as CupomDescontoEditView,\n PhotoAlbum as PhotoAlbumView,\n Members as MembersView,\n Categoria as CategoriaView,\n CategoriaEdit as CategoriaEditView,\n Tickets as TicketsView,\n Hashtag as HashtagView,\n HashtagEdit as HashtagEditView,\n Conquista as ConquistaView,\n ConquistaEdit as ConquistaEditView,\n Taxa as TaxaView,\n TaxaEdit as TaxaEditView,\n Cadastro as CadastroView,\n Permissao as PermissaoView,\n // PermissaoTipoUsuario as PermissaoTipoUsuarioView,\n Parametro as ParametroView,\n ParametroEdit as ParametroEditView,\n Home as HomeView,\n Ajuda as AjudaView,\n DashboardAdmin as DashboardAdminView,\n CustomerManagementList as CustomerManagementListView,\n MemberPlanDetails as MemberPlanDetailsView\n} from './views'\n\nconst Routes = () => {\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 \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\nexport default Routes\n","import React, { useLayoutEffect } from 'react'\nimport { Router } from 'react-router-dom'\nimport { Chart } from 'react-chartjs-2'\nimport { ThemeProvider } from '@material-ui/styles'\nimport validate from 'validate.js'\nimport { ConfirmProvider } from 'material-ui-confirm'\nimport './App.css'\nimport { chartjs } from './utils'\nimport theme from './theme'\nimport './assets/scss/index.scss'\nimport validators from './common/validators'\nimport Routes from './Routes'\nimport Mensagens from './components/Utils'\nimport { authActions } from './_actions'\nimport { useDispatch } from 'react-redux'\nimport { history } from './utils'\nimport { QueryClient, QueryClientProvider } from 'react-query'\nimport { ReactQueryDevtools } from 'react-query/devtools'\n//importação para datas e time\nimport { MuiPickersUtilsProvider } from '@material-ui/pickers'\nimport DateFnsUtils from '@date-io/date-fns'\nimport brLocale from 'date-fns/locale/pt-BR'\n\nChart.helpers.extend(Chart.elements.Rectangle.prototype, {\n draw: chartjs.draw\n})\n\nvalidate.validators = {\n ...validate.validators,\n ...validators\n}\n\nconst App = () => {\n const dispatch = useDispatch()\n const queryClient = new QueryClient()\n\n useLayoutEffect(() => {\n dispatch(authActions.refresh())\n }, [])\n\n return (\n \n \n \n \n
    \n \n
    \n \n \n \n
    \n
    \n
    \n \n
    \n )\n}\nexport default App\n","const initialState = {\n showValues: true,\n isVisibleButtonShowValues: false\n}\n\nexport function global(state = initialState, action) {\n switch (action.type) {\n case 'SET_SHOW_VALUES':\n return {\n ...state,\n showValues: !state.showValues\n }\n case 'SET_IS_VISIBLE_BUTTON_SHOW_VALUES':\n return {\n ...state,\n isVisibleButtonShowValues: action.isVisible\n }\n default:\n return state\n }\n}\n","let token = localStorage.getItem('token')\nlet expires = localStorage.getItem('expires')\nlet user = JSON.parse(localStorage.getItem('user'))\n\nconst initialState = user\n ? { refreshed: false, loggedIn: true, token, expires, user }\n : {}\n\nexport function authentication(state = initialState, action) {\n switch (action.type) {\n case 'LOGIN_REQUEST':\n return {\n ...state,\n loggingIn: true,\n user: action.user\n }\n case 'LOGIN_SUCCESS':\n return {\n ...state,\n loggedIn: true,\n loggingIn: false,\n user: action.user,\n token: action.token,\n expires: action.expires\n }\n case 'LOGIN_FAILURE':\n return {}\n case 'AUTHENTICATION_REFRESH_REQUEST':\n return {\n ...state,\n refreshed: false,\n token: action.token\n }\n case 'AUTHENTICATION_REFRESH_SUCCESS':\n return {\n ...state,\n loggedIn: true,\n refreshed: true,\n loggingIn: false,\n user: action.user\n }\n case 'AUTHENTICATION_REFRESH_FAILURE':\n return {\n ...state,\n refreshed: true,\n loggedIn: false,\n user: null,\n token: null,\n expires: null\n }\n case 'VERIFICATION_USER_SUCCESS':\n return {\n ...state,\n user: { ...state.user, emailVerificado: true }\n }\n case 'EDIT_USER_SUCCESS':\n return {\n ...state,\n user: {\n ...state.user,\n ...action.user\n }\n }\n case 'UPDATE_USER_DETAILS':\n return {\n ...state,\n user: action.user\n }\n default:\n return state\n }\n}\n","import { toLocalDateFormat } from 'utils'\n\nconst initialState = {\n evento: [],\n activeStep: 0,\n id: '',\n nome: '',\n estabelecimentoId: 0,\n eventoId: 0,\n detalhes: '',\n dataHoraInicio: null,\n dataHoraFim: null,\n imagem: '',\n cidadeId: 0,\n cidade: null,\n categoriaId: '',\n endereco: '',\n prioridadeExibicao: null,\n slug: '',\n cep: '',\n bairro: '',\n latLon: '',\n excluido: false,\n tipoLocalizacao: '',\n categoria: null,\n disponivel: true,\n estadoId: '',\n nomeLocal: '',\n complemento: '',\n numero: 0,\n estabelecimento: null,\n lote: [],\n cupomDesconto: [],\n isLoading: false,\n eventoHashtag: []\n}\n\nexport function evento(state = initialState, action) {\n switch (action.type) {\n case 'FETCHED_ALL_EVENTO':\n return {\n ...state,\n evento: action.evento\n }\n case 'FETCHED_ALL_LOTE_EVENTO':\n return {\n ...state,\n lote: action.lote\n }\n case 'DUPLICATE_EVENTO_REQUEST':\n return {\n ...state,\n loading: true\n }\n case 'NEXT_STEP_EVENTO_EDIT':\n return {\n ...state,\n activeStep: state.activeStep + 1\n }\n case 'PREV_STEP_EVENTO_EDIT':\n return {\n ...state,\n activeStep: state.activeStep - 1\n }\n case 'DUPLICATE_EVENTO_SUCCESS':\n return {\n ...state,\n id: 0,\n activeStep: 0,\n nome: action.event.evento.nome,\n slug: action.event.evento.slug,\n prioridadeExibicao: action.event.evento.prioridadeExibicao,\n estabelecimentoId: action.event.evento.estabelecimentoId,\n categoriaId: action.event.evento.categoriaId,\n detalhes: action.event.evento.detalhes,\n dataHoraInicio: toLocalDateFormat(action.event.evento.dataHoraInicio),\n dataHoraFim: toLocalDateFormat(action.event.evento.dataHoraFim),\n imagem: action.event.evento.imagem,\n cidadeId: action.event.evento.cidadeId,\n estadoId: action.event.estadoId,\n endereco: action.event.evento.endereco,\n latLon: action.event.evento.latLon,\n excluido: action.event.evento.excluido,\n categoria: action.event.evento.categoria,\n nomeLocal: action.event.evento.nomeLocal,\n complemento: action.event.evento.complemento,\n numero: action.event.evento.numero,\n tipoLocalizacao: action.event.evento.tipoLocalizacao,\n disponivel: action.event.evento.disponivel,\n cidade: action.event.evento.cidade,\n cep: action.event.evento.cep,\n bairro: action.event.evento.bairro,\n estabelecimento: action.event.evento.estabelecimento,\n lote: action.event.lote,\n cupomDesconto: action.event.cupomDesconto,\n eventoHashtag: action.event.eventoHashtag\n }\n case 'DUPLICATE_EVENTO_FAILURE':\n return {\n ...state,\n loading: false,\n error: action.error\n }\n case 'COPY_ESTABELECIMENTO_ADDRESS':\n return {\n ...state,\n nomeLocal: action.estabelecimento.nome,\n cidadeId: action.estabelecimento.cidadeId,\n estadoId: action.estabelecimento.cidade.estadoId,\n endereco: action.estabelecimento.endereco,\n cep: action.estabelecimento.cep,\n bairro: action.estabelecimento.bairro,\n complemento: action.estabelecimento.complemento,\n numero: action.estabelecimento.numero,\n latLon: action.estabelecimento.latLon,\n cidade: {\n ...state.cidade,\n ...action.estabelecimento.cidade\n }\n }\n case 'EVENTO_DETAIL':\n return {\n ...state,\n id: action.id,\n activeStep: 0,\n nome: action.nome,\n slug: action.slug,\n estabelecimentoId: action.estabelecimentoId,\n categoriaId: action.categoriaId,\n eventoId: action.eventoId,\n detalhes: action.detalhes,\n dataHoraInicio: toLocalDateFormat(action.dataHoraInicio),\n dataHoraFim: toLocalDateFormat(action.dataHoraFim),\n imagem: action.imagem,\n prioridadeExibicao: action.prioridadeExibicao,\n cidadeId: action.cidadeId,\n estadoId: action.estadoId,\n endereco: action.endereco,\n latLon: action.latLon,\n excluido: action.excluido,\n nomeLocal: action.nomeLocal,\n complemento: action.complemento,\n numero: action.numero,\n tipoLocalizacao: action.tipoLocalizacao,\n categoria: action.categoria,\n disponivel: action.disponivel,\n bairro: action.bairro,\n cidade: action.cidade,\n cep: action.cep,\n estabelecimento: action.estabelecimento,\n lote: action.lote,\n cupomDesconto: action.cupomDesconto,\n eventoHashtag: action.eventoHashtag\n }\n case 'EVENTO_CLEAR':\n return initialState\n case 'EVENTO_UPDATED':\n return state\n case 'ADD_LOTE':\n return {\n ...state,\n lote: [...state.lote, action.lote]\n }\n case 'EVENTO_HANDLE_ON_CHANGE':\n return {\n ...state,\n [action.props]: action.value\n }\n case 'EVENTO_CREATED_SUCCESSFULLY':\n return {\n ...state,\n id: action.id\n }\n case 'CLEAR_ADDRESS':\n return {\n ...state,\n cidadeId: '',\n estadoId: '',\n endereco: '',\n cep: '',\n bairro: '',\n latLon: '',\n nomeLocal: '',\n complemento: '',\n numero: ''\n }\n case 'ADD_LOTE_LOCALE':\n return {\n ...state,\n lote: [...state.lote, action.lote]\n }\n case 'DELETE_LOTE_LOCALE':\n return {\n ...state,\n lote: state.lote.filter((item) => action.id !== item.id)\n }\n case 'EDIT_LOTE_LOCALE':\n return {\n ...state,\n lote: state.lote.map((lote) =>\n lote.id === action.id ? action.lote : lote\n )\n }\n case 'EVENTO_CHANGE_COORDINATES':\n return {\n ...state,\n latLon: action.latLon\n }\n case 'REQUEST_ALL_EVENTS_REQUEST':\n return {\n ...state,\n isLoading: true\n }\n case 'REQUEST_ALL_EVENTS_SUCCESS':\n return {\n ...state,\n isLoading: false,\n evento: action.events\n }\n case 'REQUEST_ALL_EVENTS_FAILURE':\n return {\n ...state,\n isLoading: false\n }\n case 'EVENTO_HANDLE_ON_CHANGE_HASHTAG':\n return {\n ...state,\n eventoHashtag: action.hashtags\n }\n case 'SET_STEP_EVENTO_EDIT':\n return {\n ...state,\n activeStep: action.step\n }\n default:\n return state\n }\n}\n","const initialState = {\n loading: false,\n usuario: [],\n open: false,\n id: '',\n email: '',\n nome: '',\n username: '',\n senha: '',\n telefone: '',\n emailVerificado: false,\n telefoneVerificado: false,\n emailVendas: false,\n openModalRequestPasswordReset: false\n}\n\nexport function usuario(state = initialState, action) {\n switch (action.type) {\n case 'CREATE_USER_REQUEST':\n return {\n ...state,\n loading: true\n }\n case 'CREATE_USER_SUCCESS':\n return {\n ...state,\n loading: false,\n id: action.user.id,\n email: action.user.email,\n nome: action.user.nome,\n username: action.user.username,\n senha: action.user.senha,\n telefone: action.user.telefone,\n telefoneVerificado: action.user.telefoneVerificado,\n emailVerificado: action.user.emailVerificado,\n emailVendas: action.user.emailVendas\n }\n case 'CREATE_USER_FAILURE':\n return {\n ...state,\n loading: false,\n error: action.error\n }\n case 'EDIT_USER_REQUEST':\n return {\n ...state,\n loading: true\n }\n case 'EDIT_USER_SUCCESS':\n return {\n ...state,\n loading: false,\n id: action.user.id,\n email: action.user.email,\n nome: action.user.nome,\n username: action.user.username,\n senha: action.user.senha,\n telefone: action.user.telefone,\n telefoneVerificado: action.user.telefoneVerificado,\n emailVerificado: action.user.emailVerificado,\n emailVendas: action.user.emailVendas\n }\n case 'EDIT_USER_FAILURE':\n return {\n ...state,\n loading: false,\n error: action.error\n }\n case 'REQUEST_RESET_PASSWORD_REQUEST':\n return {\n ...state,\n loading: true\n }\n case 'REQUEST_RESET_PASSWORD_SUCCESS':\n return {\n ...state,\n loading: false,\n openModalRequestPasswordReset: false\n }\n case 'REQUEST_RESET_PASSWORD_FAILURE':\n return {\n ...state,\n loading: false,\n error: action.error\n }\n case 'RESET_PASSWORD_REQUEST':\n return {\n ...state,\n loading: true\n }\n case 'RESET_PASSWORD_SUCCESS':\n return {\n ...state,\n loading: false\n }\n case 'RESET_PASSWORD_FAILURE':\n return {\n ...state,\n loading: false,\n error: action.error\n }\n case 'FETCHED_ALL_USUARIO':\n return {\n ...state,\n usuario: action.usuario\n }\n case 'USUARIO_DETAIL':\n return {\n ...state,\n id: action.id,\n email: action.email,\n nome: action.nome,\n username: action.username,\n senha: action.senha,\n telefone: action.telefone,\n telefoneVerificado: action.telefoneVerificado,\n emailVerificado: action.emailVerificado\n }\n case 'USUARIO_ESTABELECIMENTO_ADD_SUCCESS':\n return {\n ...state,\n usuario: [...state.usuario, action.data.usuario]\n }\n case 'USUARIO_HANDLE_ON_CHANGE':\n return {\n ...state,\n [action.props]: action.value\n }\n case 'OPEN_MODAL_REQUEST_PASSWORD_RESET':\n return {\n ...state,\n openModalRequestPasswordReset: action.open\n }\n default:\n return state\n }\n}\n","const initialState = {\n tipoIngresso: [],\n isLoading: false,\n id: '',\n descricao: '',\n estabelecimentoId: 0,\n excluido: false\n}\n\nexport function tipoIngresso(state = initialState, action) {\n switch (action.type) {\n case 'FETCHED_ALL_TIPOINGRESSO':\n return {\n ...state,\n tipoIngresso: action.tipoIngresso\n }\n case 'FETCHED_ALL_TIPOINGRESSO_REQUEST':\n return {\n ...state,\n isLoading: true\n }\n case 'FETCHED_ALL_TIPOINGRESSO_SUCCESS':\n return {\n ...state,\n isLoading: false\n }\n case 'FETCHED_ALL_TIPOINGRESSO_FAILURE':\n return {\n ...state,\n isLoading: false\n }\n case 'TIPOINGRESSO_DETAIL':\n return {\n ...state,\n id: action.id,\n descricao: action.descricao,\n estabelecimentoId: action.estabelecimentoId,\n excluido: action.excluido,\n estabelecimento: action.estabelecimento,\n lote: action.lote\n }\n case 'TIPOINGRESSO_CREATED_SUCCESSFULLY':\n return {\n ...state,\n id: '',\n descricao: '',\n estabelecimentoId: 0,\n excluido: false,\n tipoIngresso: [...state.tipoIngresso, action.tipoIngresso]\n }\n case 'TIPOINGRESSO_UPDATED':\n return state\n case 'TIPOINGRESSO_CLEAR':\n return initialState\n case 'TIPOINGRESSO_HANDLE_ON_CHANGE':\n return {\n ...state,\n [action.props]: action.value\n }\n default:\n return state\n }\n}\n","const initialState = {\n loading: false,\n isSearchingCep: false,\n estabelecimento: [],\n open: false,\n id: 0,\n nome: '',\n detalhes: '',\n cidadeId: '',\n estadoId: '',\n endereco: '',\n repassarTaxa: false,\n latLon: '',\n capacidade: '',\n cidade: null,\n imagem: null,\n banner: null,\n excluido: false,\n bairro: '',\n cep: '',\n numero: '',\n username: '',\n cpfCnpj: '',\n categoriaId: '',\n complemento: '',\n estabelecimentoHashtag: []\n}\n\nexport function estabelecimento(state = initialState, action) {\n switch (action.type) {\n case 'CREATE_ESTABELECIMENTO_REQUEST':\n return {\n ...state,\n loading: true\n }\n case 'CREATE_ESTABELECIMENTO_SUCCESS':\n return action.estabelecimento\n case 'CREATE_ESTABELECIMENTO_FAILURE':\n return {\n ...state,\n loading: false,\n error: action.error\n }\n case 'EDIT_ESTABELECIMENTO_REQUEST':\n return {\n ...state,\n loading: true\n }\n case 'EDIT_ESTABELECIMENTO_SUCCESS':\n return {\n ...state,\n loading: false\n }\n case 'EDIT_ESTABELECIMENTO_FAILURE':\n return {\n ...state,\n loading: false,\n error: action.error\n }\n case 'SET_UPLOAD_URL':\n return {\n ...state,\n imagem: action.value\n }\n case 'FETCHED_ALL_ESTABELECIMENTO':\n return {\n ...state,\n estabelecimento: action.estabelecimento\n }\n case 'ESTABELECIMENTO_DETAIL':\n return action.estabelecimento\n case 'SEARCH_ENDERECO_BY_CEP_REQUEST':\n return {\n ...state,\n isSearchingCep: true\n }\n case 'SEARCH_ENDERECO_BY_CEP_SUCCESS':\n return {\n ...state,\n isSearchingCep: false,\n endereco: action.endereco,\n complemento: action.complemento,\n bairro: action.bairro,\n ibge: action.ibge\n }\n case 'SEARCH_ENDERECO_BY_CEP_FAILURE':\n return {\n ...state,\n isSearchingCep: false,\n error: action.error\n }\n case 'ESTABELECIMENTO_ESTADO_DETAIL':\n return {\n ...state,\n estadoId: action.estadoId\n }\n case 'SEARCH_CIDADE_BY_IBGE_REQUEST':\n return {\n ...state,\n isSearchingCep: true\n }\n case 'SEARCH_CIDADE_BY_IBGE_SUCCESS':\n return {\n ...state,\n isSearchingCep: false,\n estadoId: action.estadoId,\n cidadeId: action.cidadeId,\n paisId: action.paisId\n }\n case 'SEARCH_CIDADE_BY_IBGE_FAILURE':\n return {\n ...state,\n isSearchingCep: false,\n error: action.error\n }\n case 'ESTABELECIMENTO_CHANGE_COORDINATES':\n return {\n ...state,\n latLon: action.latLon\n }\n case 'ESTABELECIMENTO_UPDATED':\n return state\n case 'ESTABELECIMENTO_CLEAR':\n return initialState\n case 'ESTABELECIMENTO_HANDLE_ON_CHANGE':\n return {\n ...state,\n [action.props]: action.value\n }\n case 'ESTABELECIMENTO_HASHTAG_CHANGE':\n return {\n ...state,\n estabelecimentoHashtag: action.hashtags\n }\n default:\n return state\n }\n}\n","import { toLocalDateFormat } from 'utils'\nconst initialState = {\n anchor: 'left',\n cupomDesconto: [],\n open: false,\n id: '',\n codigo: '',\n percentualDesconto: '',\n valorDesconto: '',\n dataInicioValidade: null,\n dataTerminoValidade: null,\n quantidadeMinima: 1,\n quantidade: null,\n estabelecimentoId: '',\n promoterId: '',\n eventoId: '',\n loteId: '',\n excluido: false,\n validOnAllEventos: false,\n isLoading: false,\n utilizacaoCuponsDesconto: []\n}\n\nexport function cupomDesconto(state = initialState, action) {\n switch (action.type) {\n case 'FETCHED_ALL_CUPOMDESCONTO':\n return {\n ...state,\n cupomDesconto: action.cupomDesconto\n }\n case 'FETCHED_ALL_CUPOMDESCONTO_BY_EVENTO':\n return {\n ...state,\n cupomDesconto: action.cupomDesconto\n }\n case 'CUPOMDESCONTO_CLEAR':\n return initialState\n case 'CUPOMDESCONTO_DETAIL':\n return {\n ...state,\n id: action.id,\n codigo: action.codigo.toUpperCase(),\n percentualDesconto: action.percentualDesconto,\n valorDesconto: action.valorDesconto,\n dataInicioValidade: toLocalDateFormat(action.dataInicioValidade),\n dataTerminoValidade: toLocalDateFormat(action.dataTerminoValidade),\n estabelecimentoId: action.estabelecimentoId,\n quantidadeMinima: action.quantidadeMinima,\n quantidade: action.quantidade,\n promoterId: action.promoterId,\n eventoId: action.eventoId,\n loteId: action.loteId,\n excluido: action.excluido,\n validOnAllEventos:\n action.eventoId !== null && action.eventoId !== '' ? false : true\n }\n case 'CUPOMDESCONTO_UPDATED':\n return state\n case 'CUPOMDESCONTO_HANDLE_ON_CHANGE':\n return {\n ...state,\n [action.props]: action.value\n }\n case 'REQUEST_UTILIZACAO_CUPOM_DESCONTO':\n return {\n ...state,\n isLoading: true\n }\n case 'REQUEST_UTILIZACAO_CUPOM_DESCONTO_SUCCESS':\n return {\n ...state,\n isLoading: false,\n utilizacaoCuponsDesconto: action.utilizacaoCuponsDesconto\n }\n case 'REQUEST_UTILIZACAO_CUPOM_DESCONTO_FAILURE':\n return {\n ...state,\n isLoading: false\n }\n case 'REQUEST_LISTA_CUPOM_DESCONTO':\n return {\n ...state,\n isLoading: true\n }\n case 'REQUEST_LISTA_CUPOM_DESCONTO_SUCCESS':\n return {\n ...state,\n isLoading: false,\n cupomDesconto: action.cupomDesconto\n }\n case 'REQUEST_LISTA_CUPOM_DESCONTO_FAILURE':\n return {\n ...state,\n isLoading: false\n }\n default:\n return state\n }\n}\n","import { toLocalDateFormat } from 'utils'\r\nconst initialState = {\r\n anchor: 'left',\r\n lote: [],\r\n open: false,\r\n id: 0,\r\n descricao: '',\r\n tipoIngressoId: '',\r\n eventoId: 0,\r\n valor: '',\r\n quantidade: '',\r\n limiteQuantidadePedido: '',\r\n genero: '',\r\n repassarTaxa: false,\r\n dataHoraTermino: null,\r\n dataHoraInicio: null,\r\n disponivel: true,\r\n excluido: false,\r\n openModalTipoDeIngresso: false,\r\n checkIn: false,\r\n planoId: null\r\n}\r\n\r\nexport function lote(state = initialState, action) {\r\n switch (action.type) {\r\n case 'FETCHED_ALL_LOTE':\r\n return {\r\n ...state,\r\n lote: action.lote\r\n }\r\n case 'LOTE_DETAIL':\r\n return {\r\n ...state,\r\n id: action.id,\r\n descricao: action.descricao,\r\n tipoIngressoId: action.tipoIngressoId,\r\n eventoId: action.eventoId,\r\n valor: action.valor,\r\n quantidade: action.quantidade,\r\n limiteQuantidadePedido: action.limiteQuantidadePedido,\r\n genero: action.genero,\r\n repassarTaxa: action.repassarTaxa,\r\n dataHoraTermino: toLocalDateFormat(action.dataHoraTermino),\r\n dataHoraInicio: toLocalDateFormat(action.dataHoraInicio),\r\n disponivel: action.disponivel,\r\n checkIn: action.checkIn,\r\n excluido: action.excluido,\r\n planoId: action.planoId\r\n }\r\n case 'LOTE_UPDATED':\r\n return state\r\n case 'OPEN_MODAL_TIPO_DE_INGRESSO':\r\n return {\r\n ...state,\r\n openModalTipoDeIngresso: action.open\r\n }\r\n case 'LOTES_BY_EVENTO':\r\n return {\r\n ...state,\r\n lote: action.lotes\r\n }\r\n case 'LOTE_CLEAR':\r\n return { ...initialState, repassarTaxa: action.repassarTaxa }\r\n case 'LOTE_CLEAR_ALL':\r\n return {\r\n ...state,\r\n lote: []\r\n }\r\n case 'LOTE_HANDLE_ON_CHANGE':\r\n return {\r\n ...state,\r\n [action.props]: action.value\r\n }\r\n default:\r\n return state\r\n }\r\n}\r\n","const initialState = {\n ingresso: [],\n ingressoALiberar: [],\n id: '',\n clienteId: '',\n loteId: '',\n dataHoraCompra: '',\n formaPagamentoId: '',\n status: '',\n dataHoraCancelamento: '',\n valor: '',\n validado: '',\n dataHoraValidacao: '',\n qrcode: '',\n cupomDescontoId: '',\n transacao: '',\n excluido: false,\n isLoading: false\n}\n\nexport function ingresso(state = initialState, action) {\n switch (action.type) {\n case 'FETCHED_ALL_INGRESSO':\n return {\n ...state,\n ingresso: action.ingresso\n }\n case 'FETCHED_INGRESSOS_ESTABELECIMENTO_REQUEST':\n return {\n ...state,\n isLoading: true\n }\n case 'FETCHED_INGRESSOS_ESTABELECIMENTO_SUCCESS':\n return {\n ...state,\n isLoading: false,\n ingresso: action.ingressosList\n }\n case 'FETCHED_INGRESSOS_ESTABELECIMENTO_FAILURE':\n return {\n ...state,\n isLoading: false,\n error: action.error\n }\n case 'GET_INGRESSOS_LIBERADOS_BY_ESTABELECIMENTO_REQUEST':\n return {\n ...state,\n isLoading: true\n }\n case 'GET_INGRESSOS_LIBERADOS_BY_ESTABELECIMENTO_SUCCESS':\n return {\n ...state,\n isLoading: false,\n ingresso: action.ingressos\n }\n case 'GET_INGRESSOS_LIBERADOS_BY_ESTABELECIMENTO_FAILURE':\n return {\n ...state,\n isLoading: false,\n error: action.error\n }\n case 'GET_INGRESSOS_NAO_LIBERADOS_BY_ESTABELECIMENTO_REQUEST':\n return {\n ...state,\n isLoading: true\n }\n case 'GET_INGRESSOS_NAO_LIBERADOS_BY_ESTABELECIMENTO_SUCCESS':\n return {\n ...state,\n isLoading: false,\n ingressoALiberar: action.ingressos\n }\n case 'GET_INGRESSOS_NAO_LIBERADOS_BY_ESTABELECIMENTO_FAILURE':\n return {\n ...state,\n isLoading: false,\n error: action.error\n }\n case 'SEARCH_INGRESSOS_REQUEST':\n return {\n ...state,\n isLoading: true\n }\n case 'SEARCH_INGRESSOS_SUCCESS':\n return {\n ...state,\n isLoading: false,\n ingresso: action.ingressosList\n }\n case 'INGRESSO_CLEAR_ALL':\n return initialState\n case 'SEARCH_INGRESSOS_FAILURE':\n return {\n ...state,\n isLoading: false,\n error: action.error\n }\n case 'INGRESSO_DETAIL':\n return {\n ...state,\n id: action.id,\n clienteId: action.clienteId,\n loteId: action.loteId,\n dataHoraCompra: action.dataHoraCompra,\n formaPagamentoId: action.formaPagamentoId,\n status: action.status,\n dataHoraCancelamento: action.dataHoraCancelamento,\n valor: action.valor,\n validado: action.validado,\n dataHoraValidacao: action.dataHoraValidacao,\n qrcode: action.qrcode,\n cupomDescontoId: action.cupomDescontoId,\n transacao: action.transacao,\n excluido: action.excluido\n }\n case 'INGRESSO_UPDATED':\n return state\n case 'INGRESSO_HANDLE_ON_CHANGE':\n return {\n ...state,\n [action.props]: action.value\n }\n default:\n return state\n }\n}\n","const initialState = {\n anchor: 'left',\n categoria: [],\n open: false,\n id: 0,\n descricao: ''\n}\n\nexport function categoria(state = initialState, action) {\n switch (action.type) {\n case 'FETCHED_ALL_CATEGORIA':\n return {\n ...state,\n categoria: action.categoria\n }\n case 'CATEGORIA_DETAIL':\n return {\n ...state,\n id: action.id,\n descricao: action.descricao\n }\n case 'CATEGORIA_UPDATED':\n return state\n case 'CATEGORIA_CLEAR':\n return initialState\n case 'CATEGORIA_CLEAR_ALL':\n return {\n ...state,\n categoria: []\n }\n case 'CATEGORIA_HANDLE_ON_CHANGE':\n return {\n ...state,\n [action.props]: action.value\n }\n default:\n return state\n }\n}\n","const initialState = {\n anchor: 'left',\n hashtag: [],\n open: false,\n id: 0,\n descricao: '',\n imagem: null,\n banner: null,\n categoriaId: ''\n}\n\nexport function hashtag(state = initialState, action) {\n switch (action.type) {\n case 'HASHTAG_FETCHED_ALL':\n return {\n ...state,\n hashtag: action.hashtag\n }\n case 'HASHTAG_DETAIL':\n return {\n ...state,\n id: action.id,\n descricao: action.descricao,\n imagem: action.imagem,\n banner: action.banner,\n categoriaId: action.categoriaId\n }\n case 'HASHTAG_UPDATED':\n return state\n case 'HASHTAG_CLEAR':\n return initialState\n case 'HASHTAG_CLEAR_ALL':\n return {\n ...state,\n hashtag: []\n }\n case 'HASHTAG_HANDLE_ON_CHANGE':\n return {\n ...state,\n [action.props]: action.value\n }\n default:\n return state\n }\n}\n","const initialState = {\n anchor: 'left',\n conquista: [],\n open: false,\n id: 0,\n nome: '',\n descricao: '',\n experiencia: null,\n imagem: null\n}\n\nexport function conquista(state = initialState, action) {\n switch (action.type) {\n case 'CONQUISTA_FETCHED_ALL':\n return {\n ...state,\n conquista: action.conquista\n }\n case 'CONQUISTA_DETAIL':\n return {\n ...state,\n id: action.id,\n nome: action.nome,\n descricao: action.descricao,\n experiencia: action.experiencia,\n imagem: action.imagem\n }\n case 'CONQUISTA_UPDATED':\n return state\n case 'CONQUISTA_CLEAR':\n return initialState\n case 'CONQUISTA_CLEAR_ALL':\n return {\n ...state,\n conquista: []\n }\n case 'CONQUISTA_HANDLE_ON_CHANGE':\n return {\n ...state,\n [action.props]: action.value\n }\n case 'DUPLICATE_CONQUISTA_REQUEST':\n return {\n state\n }\n case 'DUPLICATE_CONQUISTA_SUCCESS':\n return {\n ...state,\n id: 0,\n nome: action.conquista.nome,\n descricao: action.conquista.descricao,\n experiencia: action.conquista.experiencia,\n imagem: action.conquista.imagem\n }\n case 'DUPLICATE_CONQUISTA_FAILURE':\n return {\n ...state,\n error: action.error\n }\n default:\n return state\n }\n}\n","const initialState = {\n anchor: 'left',\n taxa: [],\n open: false,\n id: 0,\n percentual: '',\n valor: '',\n estabelecimentoId: '',\n eventoId: '',\n loteId: ''\n}\n\nexport function taxa(state = initialState, action) {\n switch (action.type) {\n case 'FETCHED_ALL_TAXA':\n return {\n ...state,\n taxa: action.taxa\n }\n case 'TAXA_DETAIL':\n return {\n ...state,\n id: action.id,\n percentual: action.percentual,\n valor: action.valor,\n estabelecimentoId: action.estabelecimentoId,\n eventoId: action.eventoId,\n loteId: action.loteId\n }\n case 'TAXA_UPDATED':\n return state\n case 'TAXA_CLEAR':\n return initialState\n case 'TAXA_CLEAR_ALL':\n return {\n ...state,\n taxa: []\n }\n case 'TAXA_HANDLE_ON_CHANGE':\n return {\n ...state,\n [action.props]: action.value\n }\n default:\n return state\n }\n}\n","const initialState = {\n usuarioEstabelecimento: [],\n id: '',\n isLoading: false,\n usuarioId: '',\n estabelecimentoId: '',\n excluido: null,\n estabelecimento: {},\n categoriaId: 0,\n isAddPlace: false,\n backupId: '',\n listUserPlace: []\n}\n\nexport function usuarioEstabelecimento(state = initialState, action) {\n switch (action.type) {\n case 'CREATE_ESTABELECIMENTO_SUCCESS':\n return {\n ...state,\n estabelecimentoId: '',\n usuarioEstabelecimento: [\n ...state.usuarioEstabelecimento,\n action.usuarioEstabelecimento\n ],\n isAddPlace: false,\n backupId: ''\n }\n case 'FETCHED_ALL_USUARIOESTABELECIMENTO':\n return {\n ...state,\n usuarioEstabelecimento: action.usuarioEstabelecimento\n }\n case 'FETCHED_ALL_USERPLACE':\n return {\n ...state,\n listUserPlace: action.listUserPlace\n }\n case 'USUARIOESTABELECIMENTO_DETAIL':\n return {\n ...state,\n id: action.id,\n usuarioId: action.usuarioId,\n estabelecimentoId: action.estabelecimentoId,\n excluido: action.excluido,\n estabelecimento: action.estabelecimento,\n categoriaId: action.categoriaId\n }\n case 'USUARIOESTABELECIMENTO_UPDATED':\n return state\n case 'USUARIO_ESTABELECIMENTO_ADD_REQUEST':\n return {\n ...state,\n isLoading: true\n }\n case 'USUARIO_ESTABELECIMENTO_ADD_SUCCESS':\n return {\n ...state,\n isLoading: false\n }\n case 'USUARIO_ESTABELECIMENTO_ADD_FAILURE':\n return {\n ...state,\n isLoading: false\n }\n case 'USUARIO_ESTABELECIMENTO_DELETE_REQUEST':\n return {\n ...state,\n isLoading: true\n }\n case 'USUARIO_ESTABELECIMENTO_DELETE_SUCCESS':\n return {\n ...state,\n usuarioEstabelecimento:\n action.usuarioEstabelecimentoId == state.id\n ? []\n : [...state.usuarioEstabelecimento],\n listUserPlace: [\n ...state.listUserPlace.filter(\n (item) => item.id != action.usuarioEstabelecimentoId\n )\n ],\n isLoading: false\n }\n case 'USUARIO_ESTABELECIMENTO_DELETE_FAILURE':\n return {\n ...state,\n isLoading: false\n }\n case 'USUARIOESTABELECIMENTO_CLEAR':\n return initialState\n case 'USUARIOESTABELECIMENTO_CLEAR_ALL':\n return {\n ...state,\n usuarioEstabelecimento: []\n }\n case 'CHANGE_DETAILS_USUARIOESTABELECIMENTO':\n return {\n ...state,\n id: action.id,\n usuarioId: action.usuarioId,\n estabelecimentoId: action.estabelecimentoId,\n excluido: action.excluido,\n estabelecimento: action.estabelecimento\n }\n case 'AUTHENTICATION_REFRESH_SUCCESS':\n return {\n ...state,\n usuarioEstabelecimento: action.user.usuarioEstabelecimento\n }\n case 'LOGIN_SUCCESS':\n return {\n ...state,\n usuarioEstabelecimento: action.user.usuarioEstabelecimento\n }\n case 'SET_IS_ADD_PLACE':\n return {\n ...state,\n isAddPlace: action.isAddPlace,\n backupId: action.backupId\n }\n default:\n return state\n }\n}\n","const initialState = {\n contaBancaria: [],\n id: '',\n estabelecimentoId: 0,\n instituicaoBancaria: {},\n instituicaoBancariaId: 0,\n descricao: '',\n agencia: '',\n conta: '',\n cpfCnpjTitular: '',\n nomeTitular: '',\n chavePix: '',\n tipoChavePix: '',\n padrao: false,\n isFetching: false\n}\n\nexport function contaBancaria(state = initialState, action) {\n switch (action.type) {\n case 'FETCHED_CONTABANCARIA_BY_ESTABELECIMENTO_REQUEST':\n return {\n ...state,\n isFetching: true\n }\n case 'FETCHED_CONTABANCARIA_BY_ESTABELECIMENTO_SUCCESS':\n return {\n ...state,\n isFetching: false,\n contaBancaria: action.contaBancaria\n }\n case 'FETCHED_CONTABANCARIA_BY_ESTABELECIMENTO_FAILURE':\n return {\n ...state,\n isFetching: false,\n error: action.error\n }\n case 'GET_CONTABANCARIA_BY_ID_REQUEST':\n return {\n ...state,\n isFetching: true\n }\n case 'GET_CONTABANCARIA_BY_ID_SUCCESS':\n return {\n ...state,\n isFetching: false\n }\n case 'GET_CONTABANCARIA_BY_ID_FAILURE':\n return {\n ...state,\n isFetching: false,\n error: action.error\n }\n case 'FETCHED_ALL_CONTABANCARIA':\n return {\n ...state,\n contaBancaria: action.contaBancaria\n }\n case 'CONTABANCARIA_DETAIL':\n return {\n ...state,\n id: action.id,\n estabelecimentoId: action.estabelecimentoId,\n instituicaoBancariaId: action.instituicaoBancariaId,\n instituicaoBancaria: action.instituicaoBancaria,\n descricao: action.descricao,\n agencia: action.agencia,\n conta: action.conta,\n cpfCnpjTitular: action.cpfCnpjTitular,\n nomeTitular: action.nomeTitular,\n chavePix: action.chavePix,\n tipoChavePix: action.tipoChavePix,\n padrao: action.padrao\n }\n case 'CONTABANCARIAO_UPDATED':\n return state\n case 'CONTABANCARIA_CLEAR':\n return initialState\n case 'CONTABANCARIA_HANDLE_ON_CHANGE':\n return {\n ...state,\n [action.props]: action.value\n }\n default:\n return state\n }\n}\n","const initialState = {\n anchor: 'left',\n cidade: [],\n open: false,\n id: 0,\n nome: '',\n estadoId: '',\n ibge: '',\n latLon: '',\n estado: null\n}\n\nexport function cidade(state = initialState, action) {\n switch (action.type) {\n case 'FETCHED_ALL_CIDADE':\n return {\n ...state,\n cidade: action.cidade\n }\n case 'CIDADE_DETAIL':\n return {\n ...state,\n id: action.id,\n nome: action.nome,\n estadoId: action.estadoId,\n ibge: action.ibge,\n latLon: action.latLon,\n estado: action.estado\n }\n case 'CIDADE_UPDATED':\n return state\n case 'CIDADE_CLEAR':\n return initialState\n case 'CIDADE_CLEAR_ALL':\n return {\n ...state,\n cidade: []\n }\n case 'CIDADE_HANDLE_ON_CHANGE':\n return {\n ...state,\n [action.props]: action.value\n }\n default:\n return state\n }\n}\n","const initialState = {\n anchor: 'left',\n estado: [],\n open: false,\n id: '',\n nome: '',\n uf: '',\n ibge: '',\n paisId: '',\n ddd: '',\n pais: []\n}\n\nexport function estado(state = initialState, action) {\n switch (action.type) {\n case 'FETCHED_ALL_ESTADO':\n return {\n ...state,\n estado: action.estado\n }\n case 'ESTADO_DETAIL':\n return {\n ...state,\n id: action.id,\n nome: action.nome,\n uf: action.uf,\n ibge: action.ibge,\n paisId: action.paisId,\n ddd: action.ddd,\n pais: action.pais\n }\n case 'ESTADO_UPDATED':\n return state\n case 'HANDLE_ON_CHANGE':\n return {\n ...state,\n [action.props]: action.value\n }\n default:\n return state\n }\n}\n","const initialState = {\n anchor: 'left',\n promoter: [],\n open: false,\n id: 0,\n usuarioId: '',\n excluido: false\n}\n\nexport function promoter(state = initialState, action) {\n switch (action.type) {\n case 'FETCHED_ALL_PROMOTER':\n return {\n ...state,\n promoter: action.promoter\n }\n case 'PROMOTER_DETAIL':\n return {\n ...state,\n id: action.id,\n usuarioId: action.usuarioId,\n excluido: action.excluido\n }\n case 'PROMOTER_UPDATED':\n return state\n case 'PROMOTER_CLEAR':\n return initialState\n case 'PROMOTER_CLEAR_ALL':\n return {\n ...state,\n promoter: []\n }\n case 'PROMOTER_HANDLE_ON_CHANGE':\n return {\n ...state,\n [action.props]: action.value\n }\n default:\n return state\n }\n}\n","const initialState = {\n dashboardHome: {\n quantidadePedidosPendentes: 0,\n quantidadePagamentos7Dias: 0,\n valorPagamentos7Dias: 0,\n eventosAtivos: 0\n },\n dashboardEstabelecimento: {\n quantidadeIngressosNaoTransferidos: 0,\n valorIngressosNaoTransferidos: 0,\n quantidadeIngressosTransferidos: 0,\n valorIngressosTransferidos: 0,\n eventosFuturos: 0,\n eventosPassados: 0,\n graficoIngressosEventos: { options: [], series: [] },\n graficoIngressosMes: {}\n },\n dashboardEvento: {\n quantidadePedidosPendentes: 0,\n valorPedidosPendentes: 0,\n quantidadeIngressos: 0,\n valorIngressos: 0,\n quantidadeIngressosDisponiveis: 0,\n quantidadeIngressosTotal: 0,\n cuponsAtivos: 0,\n graficoIngressosDia: { options: [], series: [] },\n graficoIngressosTipoIngresso: {},\n pedidos: []\n },\n dashboardAdmin: {\n receitaBruta: {\n valorAtual: 0,\n valorAnterior: 0,\n percentualComparativo: 0\n },\n lucroLiquido: {\n valorAtual: 0,\n valorAnterior: 0,\n percentualComparativo: 0\n },\n valorATranferir: 0,\n tarifaMedia: {\n valorAtual: 0,\n valorAnterior: 0,\n percentualComparativo: 0\n },\n eventosRealizados: {\n valorAtual: 0,\n valorAnterior: 0,\n percentualComparativo: 0\n },\n interacoesUsuarios: {\n totalInteracoes: {\n valorAtual: 0,\n valorAnterior: 0,\n percentualComparativo: 0\n },\n totalComentarios: {\n valorAtual: 0,\n valorAnterior: 0,\n percentualComparativo: 0\n },\n totalConexoes: {\n valorAtual: 0,\n valorAnterior: 0,\n percentualComparativo: 0\n },\n totalAvaliacoes: {\n valorAtual: 0,\n valorAnterior: 0,\n percentualComparativo: 0\n },\n novosUsuarios: {\n valorAtual: 0,\n valorAnterior: 0,\n percentualComparativo: 0\n },\n usuariosAtivos: {\n valorAtual: 0,\n valorAnterior: 0,\n percentualComparativo: 0\n },\n atividades: []\n },\n graficoVendasPorFormaPagamento: { options: [], series: [] },\n graficoVendasPorPlataforma: { options: [], series: [] },\n graficoInteracoesPorTipo: { options: [], series: [] }\n },\n isLoading: false\n}\n\nexport function dashboard(state = initialState, action) {\n switch (action.type) {\n case 'FETCHED_DASHBOARD_ADMIN_REQUEST':\n return {\n ...state,\n isLoading: true\n }\n case 'FETCHED_DASHBOARD_ADMIN_SUCCESS':\n return {\n ...state,\n dashboardAdmin: action.dashboardAdmin,\n isLoading: false\n }\n case 'FETCHED_DASHBOARD_ADMIN_FAILURE':\n return {\n ...state,\n isLoading: false\n }\n case 'FETCHED_DASHBOARD_HOME_REQUEST':\n return {\n ...state,\n isLoading: true\n }\n case 'FETCHED_DASHBOARD_HOME_SUCCESS':\n return {\n ...state,\n isLoading: false,\n dashboardHome: action.dashboardHome\n }\n case 'FETCHED_DASHBOARD_HOME_FAILURE':\n return {\n ...state,\n isLoading: false,\n error: action.error\n }\n case 'FETCHED_DASHBOARD_ESTABELECIMENTO_REQUEST':\n return {\n ...state,\n isLoading: true\n }\n case 'FETCHED_DASHBOARD_ESTABELECIMENTO_SUCCESS':\n return {\n ...state,\n isLoading: false,\n dashboardEstabelecimento: action.dashboardEstabelecimento\n }\n case 'FETCHED_DASHBOARD_ESTABELECIMENTO_FAILURE':\n return {\n ...state,\n isLoading: false,\n error: action.error\n }\n case 'FETCHED_DASHBOARD_EVENTO_REQUEST':\n return {\n ...state,\n isLoading: true\n }\n case 'FETCHED_DASHBOARD_EVENTO_SUCCESS':\n return {\n ...state,\n isLoading: false,\n dashboardEvento: action.dashboardEvento\n }\n case 'FETCHED_DASHBOARD_EVENTO_FAILURE':\n return {\n ...state,\n isLoading: false,\n error: action.error\n }\n default:\n return state\n }\n}\n","const initialState = {\n anchor: 'left',\n instituicaoBancaria: [],\n open: false,\n id: 0,\n codigo: '',\n nome: ''\n}\n\nexport function instituicaoBancaria(state = initialState, action) {\n switch (action.type) {\n case 'FETCHED_ALL_INSTITUICAOBANCARIA':\n return {\n ...state,\n instituicaoBancaria: action.instituicaoBancaria\n }\n case 'INSTITUICAOBANCARIA_DETAIL':\n return {\n ...state,\n id: action.id,\n codigo: action.codigo.toUpperCase(),\n nome: action.nome\n }\n case 'INSTITUICAOBANCARIA_UPDATED':\n return state\n case 'INSTITUICAOBANCARIA_CLEAR':\n return initialState\n case 'INSTITUICAOBANCARIA_CLEAR_ALL':\n return {\n ...state,\n instituicaoBancaria: []\n }\n case 'INSTITUICAOBANCARIA_HANDLE_ON_CHANGE':\n return {\n ...state,\n [action.props]: action.value\n }\n default:\n return state\n }\n}\n","const initialState = {\n anchor: 'left',\n permissao: [],\n open: false,\n id: 0,\n nome: '',\n descricao: '',\n excluido: false\n}\n\nexport function permissao(state = initialState, action) {\n switch (action.type) {\n case 'FETCHED_ALL_PERMISSAO':\n return {\n ...state,\n permissao: action.permissao\n }\n case 'PERMISSAO_DETAIL':\n return {\n ...state,\n id: action.id,\n nome: action.nome,\n descricao: action.descricao,\n excluido: action.excluido\n }\n case 'PERMISSAO_UPDATED':\n return state\n case 'PERMISSAO_CLEAR':\n return initialState\n case 'PERMISSAO_CLEAR_ALL':\n return {\n ...state,\n permissao: []\n }\n case 'PERMISSAO_HANDLE_ON_CHANGE':\n return {\n ...state,\n [action.props]: action.value\n }\n default:\n return state\n }\n}\n","const initialState = {\n anchor: 'left',\n permissaoTipoUsuario: [],\n open: false,\n id: 0,\n permissaoId: 0,\n tipoUsuarioId: 0,\n permitido: false,\n checkedAll: false,\n isLoading: false\n}\n\nexport function permissaoTipoUsuario(state = initialState, action) {\n switch (action.type) {\n case 'FETCHED_ALL_PERMISSAO_TIPO_USUARIO':\n return {\n ...state,\n permissaoTipoUsuario: action.permissaoTipoUsuario,\n tipoUsuarioId: action.tipoUsuarioId\n }\n case 'PERMISSAO_TIPO_USUARIO_DETAIL':\n return {\n ...state,\n id: action.id,\n permissaoId: action.permissaoId,\n tipoUsuarioId: action.tipoUsuarioId,\n permitido: action.permitido\n }\n case 'PERMISSAO_TIPO_USUARIO_CLEAR':\n return initialState\n case 'PERMISSAO_TIPO_USUARIO_CLEAR_ALL':\n return {\n ...state,\n permissaoTipoUsuario: []\n }\n case 'PERMISSAO_TIPO_USUARIO_CREATE_REQUEST':\n return {\n ...state,\n isLoading: true\n }\n case 'PERMISSAO_TIPO_USUARIO_CREATE_SUCCESS':\n return {\n ...state,\n isLoading: false,\n tipoUsuarioId: 0,\n checkedAll: false,\n permissaoTipoUsuario: []\n }\n case 'PERMISSAO_TIPO_USUARIO_CREATE_FAILURE':\n return {\n ...state,\n isLoading: false,\n error: action.error\n }\n case 'PERMISSAO_TIPO_USUARIO_HANDLE_ON_CHANGE':\n return {\n ...state,\n [action.props]: action.value\n }\n case 'HANDLE_CHANGE_CHECK_ALL_PERMISSAO_TIPO_USUARIO':\n return {\n ...state,\n checkedAll: !state.checkedAll\n }\n case 'HANDLE_CHECKED_PERMITIDO_PERMISSAO_TIPO_USUARIO':\n return {\n ...state,\n permissaoTipoUsuario: state.permissaoTipoUsuario.map(\n (permissaoTipoUsuario) =>\n permissaoTipoUsuario.id === action.id\n ? {\n ...permissaoTipoUsuario,\n permitido: !permissaoTipoUsuario.permitido\n }\n : permissaoTipoUsuario\n )\n }\n case 'HANDLE_CHECK_ALL_PERMISSAO_TIPO_USUARIO':\n return {\n ...state,\n permissaoTipoUsuario: state.permissaoTipoUsuario.map(\n (permissaoTipoUsuario) => ({\n ...permissaoTipoUsuario,\n permitido: action.checked\n })\n )\n }\n default:\n return state\n }\n}\n","const initialState = {\n anchor: 'left',\n permissaoUsuario: [],\n open: false,\n id: 0,\n permissaoId: 0,\n usuarioId: 0,\n permitido: false,\n checkedAll: false,\n isLoading: false\n}\n\nexport function permissaoUsuario(state = initialState, action) {\n switch (action.type) {\n case 'FETCHED_ALL_PERMISSAO_USUARIO':\n return {\n ...state,\n permissaoUsuario: action.permissaoUsuario,\n usuarioId: action.usuarioId\n }\n case 'PERMISSAO_USUARIO_DETAIL':\n return {\n ...state,\n id: action.id,\n permissaoId: action.permissaoId,\n usuarioId: action.usuarioId,\n permitido: action.permitido\n }\n case 'PERMISSAO_USUARIO_CLEAR':\n return initialState\n case 'PERMISSAO_USUARIO_CLEAR_ALL':\n return {\n ...state,\n permissaoUsuario: []\n }\n case 'PERMISSAO_USUARIO_CREATE_REQUEST':\n return {\n ...state,\n isLoading: true\n }\n case 'PERMISSAO_USUARIO_CREATE_SUCCESS':\n return {\n ...state,\n isLoading: false,\n usuarioId: 0,\n checkedAll: false,\n permissaoUsuario: []\n }\n case 'PERMISSAO_USUARIO_CREATE_FAILURE':\n return {\n ...state,\n isLoading: false,\n error: action.error\n }\n case 'PERMISSAO_USUARIO_HANDLE_ON_CHANGE':\n return {\n ...state,\n [action.props]: action.value\n }\n case 'HANDLE_CHANGE_CHECK_ALL_PERMISSAO_USUARIO':\n return {\n ...state,\n checkedAll: !state.checkedAll\n }\n case 'HANDLE_CHECKED_PERMITIDO_PERMISSAO_USUARIO':\n return {\n ...state,\n permissaoUsuario: state.permissaoUsuario.map((permissaoUsuario) =>\n permissaoUsuario.id === action.id\n ? {\n ...permissaoUsuario,\n permitido: !permissaoUsuario.permitido\n }\n : permissaoUsuario\n )\n }\n case 'HANDLE_CHECK_ALL_PERMISSAO_USUARIO':\n return {\n ...state,\n permissaoUsuario: state.permissaoUsuario.map((permissaoUsuario) => ({\n ...permissaoUsuario,\n permitido: action.checked\n }))\n }\n default:\n return state\n }\n}\n","const initialState = {\n anchor: 'left',\n tipoUsuario: [],\n open: false,\n id: 0,\n descricao: '',\n excluido: false\n}\n\nexport function tipoUsuario(state = initialState, action) {\n switch (action.type) {\n case 'FETCHED_ALL_TIPOUSUARIO':\n return {\n ...state,\n tipoUsuario: action.tipoUsuario\n }\n case 'TIPOUSUARIO_DETAIL':\n return {\n ...state,\n id: action.id,\n descricao: action.descricao,\n excluido: action.excluido\n }\n case 'TIPOUSUARIO_UPDATED':\n return state\n case 'TIPOUSUARIO_CLEAR':\n return initialState\n case 'TIPOUSUARIO_CLEAR_ALL':\n return {\n ...state,\n tipoUsuario: []\n }\n case 'TIPOUSUARIO_HANDLE_ON_CHANGE':\n return {\n ...state,\n [action.props]: action.value\n }\n default:\n return state\n }\n}\n","const initialState = {\n parametro: [],\n isLoading: false,\n id: '',\n chave: '',\n valor: '',\n descricao: ''\n}\n\nexport function parametro(state = initialState, action) {\n switch (action.type) {\n case 'FETCHED_ALL_PARAMETRO':\n return {\n ...state,\n parametro: action.parametro\n }\n case 'FETCHED_ALL_PARAMETRO_REQUEST':\n return {\n ...state,\n isLoading: true\n }\n case 'FETCHED_ALL_PARAMETRO_SUCCESS':\n return {\n ...state,\n isLoading: false\n }\n case 'FETCHED_ALL_PARAMETRO_FAILURE':\n return {\n ...state,\n isLoading: false\n }\n case 'PARAMETRO_DETAIL':\n return {\n ...state,\n id: action.id,\n chave: action.chave,\n valor: action.valor,\n descricao: action.descricao\n }\n case 'PARAMETRO_CREATED_SUCCESSFULLY':\n return {\n ...state,\n id: '',\n chave: '',\n valor: '',\n descricao: '',\n parametro: [...state.parametro, action.parametro]\n }\n case 'PARAMETRO_UPDATED':\n return state\n case 'PARAMETRO_CLEAR':\n return initialState\n case 'PARAMETRO_HANDLE_ON_CHANGE':\n return {\n ...state,\n [action.props]: action.value\n }\n default:\n return state\n }\n}\n","const initialState = {\n id: 0,\n movimentacaoFinanceira: [],\n statusMovimentacaoFinanceiraId: 0,\n estabelecimentoId: 0,\n tipo: '',\n dataHora: '',\n dataHoraProcessamento: '',\n valor: '',\n contaBancariaId: 0,\n anexo: '',\n motivoCancelamento: '',\n estabelecimento: {},\n contaBancaria: {},\n statusMovimentacaoFinanceira: {},\n movimentacaoFinanceiraIngresso: [],\n isLoading: false\n}\n\nexport function movimentacaoFinanceira(state = initialState, action) {\n switch (action.type) {\n case 'MOVIMENTACAO_FINANCEIRA_CLEAR_ALL':\n return initialState\n case 'MOVIMENTACAO_FINANCEIRA_CREATE_REQUEST':\n return {\n ...state,\n isLoading: true\n }\n case 'MOVIMENTACAO_FINANCEIRA_CREATE_SUCCESS':\n return {\n ...state,\n isLoading: false\n }\n case 'MOVIMENTACAO_FINANCEIRA_CREATE_FAILURE':\n return {\n ...state,\n isLoading: false,\n error: action.error\n }\n case 'MOVIMENTACAO_FINANCEIRA_FINISH_REQUEST':\n return {\n ...state,\n isLoading: true\n }\n case 'MOVIMENTACAO_FINANCEIRA_FINISH_SUCCESS':\n return {\n ...state,\n isLoading: false\n }\n case 'MOVIMENTACAO_FINANCEIRA_FINISH_FAILURE':\n return {\n ...state,\n isLoading: false,\n error: action.error\n }\n case 'MOVIMENTACAO_FINANCEIRA_CANCEL_REQUEST':\n return {\n ...state,\n isLoading: true\n }\n case 'MOVIMENTACAO_FINANCEIRA_CANCEL_SUCCESS':\n return {\n ...state,\n isLoading: false\n }\n case 'MOVIMENTACAO_FINANCEIRA_CANCEL_FAILURE':\n return {\n ...state,\n isLoading: false,\n error: action.error\n }\n case 'GET_MOVIMENTACAO_FINANCEIRA_BY_ESTABELECIMENTO_REQUEST':\n return {\n ...state,\n isLoading: true\n }\n case 'GET_MOVIMENTACAO_FINANCEIRA_BY_ESTABELECIMENTO_SUCCESS':\n return {\n ...state,\n movimentacaoFinanceira: action.movimentacaoFinanceira,\n isLoading: false\n }\n case 'GET_MOVIMENTACAO_FINANCEIRA_BY_ESTABELECIMENTO_FAILURE':\n return {\n ...state,\n isLoading: false,\n error: action.error\n }\n case 'GET_MOVIMENTACAO_FINANCEIRA_BY_ID_REQUEST':\n return {\n ...state,\n isLoading: true\n }\n case 'GET_MOVIMENTACAO_FINANCEIRA_BY_ID_SUCCESS':\n return {\n ...state,\n id: action.movimentacaoFinanceira.id,\n statusMovimentacaoFinanceiraId:\n action.movimentacaoFinanceira.statusMovimentacaoFinanceiraId,\n estabelecimentoId: action.movimentacaoFinanceira.estabelecimentoId,\n tipo: action.movimentacaoFinanceira.tipo,\n dataHora: action.movimentacaoFinanceira.dataHora,\n dataHoraProcessamento:\n action.movimentacaoFinanceira.dataHoraProcessamento,\n valor: action.movimentacaoFinanceira.valor,\n contaBancariaId: action.movimentacaoFinanceira.contaBancariaId,\n anexo: action.movimentacaoFinanceira.anexo,\n motivoCancelamento: action.movimentacaoFinanceira.motivoCancelamento,\n estabelecimento: action.movimentacaoFinanceira.estabelecimento,\n contaBancaria: action.movimentacaoFinanceira.contaBancaria,\n statusMovimentacaoFinanceira:\n action.movimentacaoFinanceira.statusMovimentacaoFinanceira,\n movimentacaoFinanceiraIngresso:\n action.movimentacaoFinanceira.movimentacaoFinanceiraIngresso,\n isLoading: false\n }\n case 'GET_MOVIMENTACAO_FINANCEIRA_BY_ID_FAILURE':\n return {\n ...state,\n isLoading: false,\n error: action.error\n }\n case 'GET_ALL_MOVIMENTACAO_FINANCEIRA_REQUEST':\n return {\n ...state,\n isLoading: true\n }\n case 'GET_ALL_MOVIMENTACAO_FINANCEIRA_SUCCESS':\n return {\n ...state,\n movimentacaoFinanceira: action.movimentacaoFinanceira,\n isLoading: false\n }\n case 'GET_ALL_MOVIMENTACAO_FINANCEIRA_FAILURE':\n return {\n ...state,\n isLoading: false,\n error: action.error\n }\n case 'MOVIMENTACAO_FINANCEIRA_DETAIL':\n return {\n ...state,\n id: action.movimentacaoFinanceira.id,\n statusMovimentacaoFinanceiraId:\n action.movimentacaoFinanceira.statusMovimentacaoFinanceiraId,\n estabelecimentoId: action.movimentacaoFinanceira.estabelecimentoId,\n tipo: action.movimentacaoFinanceira.tipo,\n dataHora: action.movimentacaoFinanceira.dataHora,\n dataHoraProcessamento:\n action.movimentacaoFinanceira.dataHoraProcessamento,\n valor: action.movimentacaoFinanceira.valor,\n contaBancariaId: action.movimentacaoFinanceira.contaBancariaId,\n anexo: action.movimentacaoFinanceira.anexo,\n motivoCancelamento: action.movimentacaoFinanceira.motivoCancelamento,\n estabelecimento: action.movimentacaoFinanceira.estabelecimento,\n contaBancaria: action.movimentacaoFinanceira.contaBancaria,\n statusMovimentacaoFinanceira:\n action.movimentacaoFinanceira.statusMovimentacaoFinanceira,\n movimentacaoFinanceiraIngresso:\n action.movimentacaoFinanceira.movimentacaoFinanceiraIngresso\n }\n case 'MOVIMENTACAO_FINANCEIRA_HANDLE_ON_CHANGE':\n return {\n ...state,\n [action.props]: action.value\n }\n default:\n return state\n }\n}\n","const initialState = {\n statusMovimentacaoFinanceira: [],\n statusMovimentacaoFinanceiraSelect: [],\n id: 0,\n descricao: '',\n solicitado: false,\n cancelado: false,\n finalizado: false,\n isFetching: false\n}\n\nexport function statusMovimentacaoFinanceira(state = initialState, action) {\n switch (action.type) {\n case 'STATUS_MOVIMENTACAO_FINANCEIRA_DETAIL':\n return {\n ...state,\n id: action.id,\n descricao: action.descricao,\n solicitado: action.solicitado,\n cancelado: action.cancelado,\n finalizado: action.finalizado\n }\n case 'STATUS_MOVIMENTACAO_FINANCEIRA_CLEAR_ALL':\n return initialState\n case 'STATUS_MOVIMENTACAO_FINANCEIRA_CLEAR_LIST':\n return {\n ...state,\n instituicaoBancaria: []\n }\n case 'FETCHED_STATUS_MOVIMENTACAO_FINANCEIRA_SELECT_REQUEST':\n return {\n ...state,\n isFetching: true\n }\n case 'FETCHED_STATUS_MOVIMENTACAO_FINANCEIRA_SELECT_SUCCESS':\n return {\n ...state,\n isFetching: false,\n statusMovimentacaoFinanceiraSelect:\n action.statusMovimentacaoFinanceiraSelect\n }\n case 'FETCHED_STATUS_MOVIMENTACAO_FINANCEIRA_SELECT_FAILURE':\n return {\n ...state,\n isFetching: false,\n error: action.error\n }\n default:\n return state\n }\n}\n","const initialState = {\n avaliacao: [],\n id: 0,\n usuarioId: 0,\n dataHora: null,\n nota: null,\n mensagem: '',\n estabelecimentoId: 0,\n eventoId: 0,\n privada: false,\n excluido: false,\n isLoading: false,\n answerOpen: false,\n detailOpen: false\n}\nexport function avaliacao(state = initialState, action) {\n const newRatingArray = []\n switch (action.type) {\n case 'REQUEST_ALL_AVALIACOES_REQUEST':\n return {\n ...state,\n isLoading: true\n }\n case 'REQUEST_ALL_AVALIACOES_SUCCESS':\n return {\n ...state,\n isLoading: false,\n avaliacao: action.avaliacoes\n }\n case 'REQUEST_ALL_AVALIACOES_FAILURE':\n return {\n ...state,\n isLoading: false\n }\n case 'SEARCH_AVALIACOES_REQUEST':\n return {\n ...state,\n isLoading: true\n }\n case 'SEARCH_AVALIACOES_SUCCESS':\n return {\n ...state,\n isLoading: false,\n avaliacao: action.avaliacoes,\n eventoId: action.eventoId\n }\n case 'SEARCH_AVALIACOES_FAILURE':\n return {\n ...state,\n isLoading: false,\n error: action.error\n }\n case 'AVALIACAO_CLEAR_ALL':\n return initialState\n case 'AVALIACAO_ANSWER_OPEN':\n return {\n ...state,\n answerOpen: action.answerOpen,\n usuarioId: action.usuarioId,\n mensagem: action.mensagem,\n id: action.id\n }\n case 'AVALIACAO_ANSWER_SUCCESS':\n return {\n ...state,\n answerOpen: false,\n usuarioId: 0,\n mensagem: '',\n id: 0\n }\n case 'AVALIACAO_DETAIL_OPEN':\n return {\n ...state,\n detailOpen: action.detailOpen,\n usuarioId: action.usuarioId,\n mensagem: action.mensagem,\n id: action.id,\n nota: action.nota\n }\n case 'LIKE_AVALIACOES_REQUEST':\n state.avaliacao.map((rating) => {\n rating.avaliacao.id === action.ratingId\n ? newRatingArray.push({\n ...rating,\n usuarioCurtiu: !rating.usuarioCurtiu,\n numeroCurtidas: rating.usuarioCurtiu\n ? --rating.numeroCurtidas\n : ++rating.numeroCurtidas\n })\n : newRatingArray.push(rating)\n })\n return {\n ...state,\n avaliacao: newRatingArray\n }\n case 'LIKE_AVALIACOES_SUCCESS':\n return {\n ...state\n }\n case 'LIKE_AVALIACOES_FAILURE':\n return {\n ...state\n }\n default:\n return state\n }\n}\n","const initialState = {\n comentario: [],\n id: 0,\n usuarioId: 0,\n dataHora: null,\n mensagem: '',\n comentarioId: 0,\n avaliacaoId: 0,\n privado: false,\n excluido: false,\n isLoading: false,\n reload: false\n}\n\nexport function comentario(state = initialState, action) {\n const newCommentsReview = []\n switch (action.type) {\n case 'COMENTARIO_CHANGE_ANSWER':\n return {\n ...state,\n mensagem: action.mensagem\n }\n case 'COMENTARIO_ANSWER_SUCCESS':\n return {\n ...state,\n usuarioId: 0,\n mensagem: ''\n }\n case 'REQUEST_ALL_COMENTARIOS_REQUEST':\n return {\n ...state,\n isLoading: true\n }\n case 'REQUEST_ALL_COMENTARIOS_SUCCESS':\n return {\n ...state,\n isLoading: false,\n comentario: action.comentarios\n }\n case 'REQUEST_ALL_COMENTARIOS_FAILURE':\n return {\n ...state,\n isLoading: false\n }\n case 'DELETE_COMENTARIO_REQUEST':\n return {\n ...state,\n isLoading: true\n }\n case 'DELETE_COMENTARIO_SUCCESS':\n return {\n ...state,\n isLoading: false,\n reload: !action.reload\n }\n case 'DELETE_COMENTARIO_FAILURE':\n return {\n ...state,\n isLoading: false\n }\n case 'LIKE_COMENTARIO_REQUEST':\n state.comentario.map((comment) => {\n comment.comentario.id === action.commentId\n ? newCommentsReview.push({\n ...comment,\n usuarioCurtiu: !comment.usuarioCurtiu,\n numeroCurtidas: comment.usuarioCurtiu\n ? --comment.numeroCurtidas\n : ++comment.numeroCurtidas\n })\n : newCommentsReview.push(comment)\n })\n return {\n ...state,\n comentario: newCommentsReview\n }\n case 'LIKE_COMENTARIO_SUCCESS':\n return {\n ...state\n }\n case 'LIKE_COMENTARIO_FAILURE':\n return {\n ...state\n }\n default:\n return state\n }\n}\n","const initialState = {\n foto: [],\n fotoCapaId: null,\n enabledSortableContext: false\n}\n\nexport function album(state = initialState, action) {\n switch (action.type) {\n case 'ADD_PHOTO':\n return {\n ...state,\n foto: [...state.foto, ...action.foto]\n }\n case 'SHORT_PHOTO':\n return {\n ...state,\n foto: [...action.foto]\n }\n case 'UPDATE_PHOTO':\n return {\n ...state,\n foto: state.foto.map((fotoItem) => {\n return action.data.id === fotoItem.id\n ? { ...fotoItem, ...action.data }\n : fotoItem\n })\n }\n case 'DELETE_PHOTO':\n return {\n ...state,\n foto: state.foto.filter((item) => action.foto.id !== item.id)\n }\n case 'DELETE_ALL_PHOTO':\n return initialState\n case 'SET_FOTO_CAPA_ID':\n return {\n ...state,\n foto: state.foto.map((fotoItem) => {\n return state.fotoCapaId === fotoItem.id\n ? { ...fotoItem, isCover: false }\n : fotoItem\n }),\n fotoCapaId: action.fotoCapaId\n }\n case 'TOGGLE_ENABLED_SORTABLE_CONTEXT':\n return {\n ...state,\n enabledSortableContext: !state.enabledSortableContext\n }\n default:\n return state\n }\n}\n","import { combineReducers } from 'redux'\nimport { global } from './global.reducer'\nimport { authentication } from './auth.reducer'\nimport { evento } from './evento.reducer'\nimport { usuario } from './usuario.reducer'\nimport { tipoIngresso } from './tipoIngresso.reducer'\nimport { estabelecimento } from './estabelecimento.reducer'\nimport { cupomDesconto } from './cupomDesconto.reducer'\nimport { lote } from './lote.reducer'\nimport { ingresso } from './ingresso.reducer'\nimport { categoria } from './categoria.reducer'\nimport { hashtag } from './hashtag.reducer'\nimport { conquista } from './conquista.reducer'\nimport { taxa } from './taxa.reducer'\nimport { usuarioEstabelecimento } from './usuarioEstabelecimento.reducer'\nimport { contaBancaria } from './contaBancaria.reducer'\nimport { cidade } from './cidade.reducer'\nimport { estado } from './estado.reducer'\nimport { promoter } from './promoter.reducer'\nimport { dashboard } from './dashboard.reducer'\nimport { instituicaoBancaria } from './instituicaoBancaria.reducer'\nimport { permissao } from './permissao.reducer'\nimport { permissaoTipoUsuario } from './permissaoTipoUsuario.reducer'\nimport { permissaoUsuario } from './permissaoUsuario.reducer'\nimport { tipoUsuario } from './tipoUsuario.reducer'\nimport { parametro } from './parametro.reducer'\nimport { movimentacaoFinanceira } from './movimentacaoFinanceira.reducer'\nimport { statusMovimentacaoFinanceira } from './statusMovimentacaoFinanceira.reducer'\nimport { reducer as formReducer } from 'redux-form'\nimport { avaliacao } from './avaliacao.reducer'\nimport { comentario } from './comentario.reducer'\nimport { album } from './album.reducer'\n\nconst appReducer = combineReducers({\n global,\n authentication,\n evento,\n tipoIngresso,\n estabelecimento,\n usuario,\n cupomDesconto,\n lote,\n ingresso,\n categoria,\n hashtag,\n conquista,\n taxa,\n usuarioEstabelecimento,\n contaBancaria,\n estado,\n cidade,\n promoter,\n dashboard,\n instituicaoBancaria,\n permissao,\n permissaoTipoUsuario,\n permissaoUsuario,\n tipoUsuario,\n parametro,\n movimentacaoFinanceira,\n statusMovimentacaoFinanceira,\n avaliacao,\n comentario,\n album,\n form: formReducer\n})\n\nconst rootReducer = (state, action) => {\n if (action.type === 'LOGOUT_SUCCESS') {\n const { routing } = state\n state = { routing }\n }\n return appReducer(state, action)\n}\nexport default rootReducer\n","// In production, we register a service worker to serve assets from local cache.\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 the \"N+1\" visit to a page, since previously\n// cached resources are updated in the background.\n\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\n// This link also includes instructions on opting out of this behavior.\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.1/8 is 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\nexport default function register() {\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(process.env.PUBLIC_URL, window.location)\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/facebookincubator/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. Lets check if a service worker still exists or not.\n checkValidServiceWorker(swUrl)\n } else {\n // Is not local host. Just register service worker\n registerValidSW(swUrl)\n }\n })\n }\n}\n\nfunction registerValidSW(swUrl) {\n navigator.serviceWorker\n .register(swUrl)\n .then((registration) => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and\n // the fresh content will have been added to the cache.\n // It's the perfect time to display a \"New content is\n // available; please refresh.\" message in your web app.\n console.log('New content is available; please refresh.')\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 }\n }\n }\n })\n .catch((error) => {\n console.error('Error during service worker registration:', error)\n })\n}\n\nfunction checkValidServiceWorker(swUrl) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then((response) => {\n // Ensure service worker exists, and that we really are getting a JS file.\n if (\n response.status === 404 ||\n response.headers.get('content-type').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)\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.then((registration) => {\n registration.unregister()\n })\n }\n}\n","import React from 'react'\nimport ReactDOM from 'react-dom'\nimport App from './App'\nimport { createStore, applyMiddleware } from 'redux'\nimport { Provider } from 'react-redux'\nimport thunk from 'redux-thunk'\nimport multi from 'redux-multi'\nimport reducer from './_reducers'\nimport { unregister as unregisterServiceWorker } from './registerServiceWorker'\nimport { persistStore, persistReducer } from 'redux-persist'\nimport storage from 'redux-persist/lib/storage'\nimport { PersistGate } from 'redux-persist/integration/react'\nimport TagManager from 'react-gtm-module'\n\nconst tagManagerArgs = {\n gtmId: 'GTM-NXLCXWX'\n}\n\nTagManager.initialize(tagManagerArgs)\n\nconst persistConfig = {\n key: 'coruja-admin-root',\n storage,\n blacklist: ['authentication', 'album']\n}\nconst persistedReducer = persistReducer(persistConfig, reducer)\nconst devTools =\n window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()\n//Define a store do redux (agrupa todos reducers da aplicação, atravez do arquivo reducer from './_reducers';)\nconst store = applyMiddleware(thunk, multi)(createStore)(\n persistedReducer,\n devTools\n)\nconst persistor = persistStore(store)\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById('root')\n)\nunregisterServiceWorker()\n","// eslint-disable-next-line no-undef\nmodule.exports = {\n headers: {\n accept: 'application/json'\n },\n //baseUrl: 'https://localhost:44393/api/'\n //baseUrl: 'https://staging.corujasapp.com/api/'\n baseUrl: 'https://organizador.corujasapp.com/api/'\n}\n","module.exports = __webpack_public_path__ + \"static/media/logo_progress.3419bf08.png\";"],"sourceRoot":""}