{"version":3,"sources":["components/header/logo.png","pages/estounamesa/indisponivel.jpg","components/itensPedido/style.module.css","API/Api.js","libs/Validacoes.js","services/index.js","components/spinner/Spinner.js","global.js","components/menuitens/style.js","components/menuitens/index.js","store/actions/index.js","store/actions/actions.js","components/header/Header.js","components/lojas/Lojas.js","components/loading/Loading.js","services/requests.js","pages/home/Home.js","App.js","components/FormCliente/style.js","components/FormCliente/FormCliente.js","pages/cadastroCliente/CadastroCliente.js","components/itensPedido/style.js","components/itensPedido/ItensPedido.js","components/infoLoja/InfoLoja.js","pages/lancaPedido/style.js","pages/lancaPedido/LancaPedido.js","components/itensPedidosNaMesa/style.js","components/itensPedidosNaMesa/index.js","components/infoLojaEstouNaMesa/index.js","services/storage.js","pages/estounamesa/style.js","pages/estounamesa/index.js","components/listHistorico/ListHistorico.js","pages/historicoPedido/HistoricoPedido.js","pages/cardapio/index.js","pages/perfil/Perfil.js","pages/newpassword/NewPassword.js","components/confirmapedido/ConfirmaPedido.js","components/bannerpromo/BannerPromo.js","pages/pagamento/style.js","pages/pagamento/Pagamento.js","store/reducers/index.js","store/reducers/user.js","store/reducers/order.js","store/reducers/stores.js","store/index.js","index.js","components/itensPedidosNaMesa/style.module.css","pages/estounamesa/style.module.css","components/infoLojaEstouNaMesa/style.module.css","pages/lancaPedido/style.module.css"],"names":["module","exports","__webpack_require__","p","box-pedido","buttonSearchCep","yellow","buttonRetire","green","pastel","ouCep","inputcepitnes","title-pedido","shoppingCart","titleCarrinho","footer-pedido","affix","lineTotais","content-itens--estou_na_mesa","listchoose","content-item__","circleBtn","btnVerde","greeBtn","btnVermelho","redBtn","faPlus","faMinus","descItemPedido","obsPedido","notSended","priceItem","iteminbox","pancil","editarProd","excluirItem","left","right","btn-pagar","faTimes","lineSeparete","carAtLanc","semBordas","url","local","localCasa","producao","socket","axios","create","baseURL","Global","validaCPF","strCPF","Soma","Resto","i","parseInt","substring","validarCNPJ","s","cnpj","replace","length","test","t","d","d1","charAt","d2","calc","x","r","n","y","validaEMAIL","email","exec","validaCEP","cep","asktopromo","services","setUser","dados","token","localStorage","setItem","getUser","dataclient","getItem","JSON","parse","setAskPromo","toset","askPromo","getMaiorPreco","objProdutos","sort","a","b","PRECO","getMediaPreco","qt","total","reduce","item","Math","floor","atualizaInfoCliLogado","data","user","this","dados_cli","nome_completo","ddd1","ddd","telefone1","telefone","isEmpty","endereco","index","cloneDeep","enderecos","findIndex","e","id_endereco","logradouro","numero","bairro","cidade","estado","complemento","longitude","latitude","ponto_referencia","descricao","principal","enderecoPrincipal","map","indexMap","stringify","error","console","log","formatDate","moment","format","enviaPedido","_enviaPedido","Object","asyncToGenerator","_regeneratorRuntime","mark","_callee","pedido","headers","body","wrap","_context","prev","next","Content-Type","API","put","sent","abrupt","t0","stop","_x","_x2","apply","arguments","enviaPedidoEstouNaMesa","_enviaPedidoEstouNaMesa","_callee2","_context2","_x3","_x4","getItensMesaFromApi","_getItensMesaFromApi","_callee3","_context3","post","itens","_x5","enviaLinkEsqueciSenha","_enviaLinkEsqueciSenha","_callee4","_context4","get","concat","status","err","_x6","returnNextStore","_returnNextStore","_callee5","arrLojas","result","loja","response","_context5","id_loja","taxa","taxa_entrega","push","objectSpread","TAXA","_x7","_x8","consultaCep","_consultaCep","_callee6","_context6","validacoes","getCep","_x9","getTempPedido","setLastStore","getLastStore","setLogado","logado","getLogado","setTempPedido","cleanTemps","removeItem","totalizaItens","itensPedido","callback","withoutCallback","subtotal","element","tot","getActualTotal","getAllProducts","_getAllProducts","_callee7","_r","_context7","Content-type","_x10","getHeadersAndCli","id_cliente","getItensPedido","_getItensPedido","_callee8","codigo_pedido","_context8","_x11","registerAdress","_registerAdress","_callee9","_context9","_x12","deleteAdress","_deleteAdress","_callee10","_context10","codeError","_x13","verficaLojaAberta","_verficaLojaAberta","_callee11","_context11","open","_x14","importaCeps","_importaCeps","_callee12","ceps","_context12","_x15","getTiposPags","_getTiposPags","_callee13","_context13","_x16","atualizaSenha","_atualizaSenha","_callee14","id","senha","_context14","_x17","_x18","_x19","validaToken","_validaToken","_callee15","_context15","auth","_x20","getHistorico","_getHistorico","_callee16","_context16","historico","getStatusPedido","_getStatusPedido","_callee17","_context17","_x21","getExtras","_getExtras","_callee18","_context18","_x22","getTemplateExtras","_getTemplateExtras","_callee19","_context19","templates","getMassasAndBordas","_getMassasAndBordas","_callee20","_r2","_context20","isLogado","_isLogado","_callee21","_context21","_getCep","_callee22","CEP","_context22","_x23","logoutUser","where","window","location","reload","document","href","getDistance","lat1","lon1","lat2","lon2","rad","PI","dLat","dLong","sin","cos","atan2","sqrt","toFixed","Spinner","props","react_default","createElement","index_esm","style","color","className","global","COLORS","primary","Container","styled","div","_templateObject","taggedTemplateLiteral","Item","span","_templateObject2","_ref","selected","GLOBAL","ComponentName","_ref$items","items","_ref$selectedIndex","selectedIndex","fromCardapio","fromTable","objTable","scrollRef","useRef","refs","React","createRef","useEffect","current","scrollLeft","offsetLeft","dist_index_es","innerRef","paddingBottom","base_url","mesa","react_router_hash_link_esm","ref","scroll","el","offset","elementPosition","offsetTop","top","behavior","scrollWithOffset","smooth","to","key","toString","setUserLogado","value","type","payload","setAdressUser","setAdressToDelivery","setDataEndOrder","setItens","setStores","Header","state","nameClient","userObj","showMenu","display","showLogin","loading","redirec","colorHeader","heightMenuMobile","adressChoice","adressToChoice","indexPrincipalAdress","principalAdress","handleSair","_this","setState","setTimeout","history","addEventListener","closeMenu","removeEventListener","makeLogin","closeLogin","handleBtns","isCardapio","Fragment","Button_default","onClick","react_router_dom","marginRight","redireciona","handleAllInputs","defineProperty","target","name","logaCliente","dataLogin","Header_regeneratorRuntime","password","alert","handleEsqueciSenha","preventDefault","handleKeyUp","keyCode","toggleMenu","isLoggedIn","estouNaMesa","rdUser","size","openAdressSelect","isIn","background","transition","src","srcImage","alt","alignItems","flexDirection","justifyContent","padding","Button_Button","io_index_esm","height","Modal","show","onHide","closeButton","Title","fontFamily","Body","placeholder","onChange","onKeyUp","Spinner_Spinner","Footer","showMenuItens","onClickItem","isFromTable","Component","defaultProps","logo","srcPofile","teste","withRouter","connect","dispatch","bindActionCreators","Actions","Loja","goPedidos","lojas","index_loja","resolveImage","imagem","goLacaPedido","_this2","react_router","pathname","dados_loja","from","index_es","icon","faPhone","rdOrder","order","rdStores","stores","Loading","requests","getStores","_getStores","requests_regeneratorRuntime","message","_args2","undefined","tableNumber","storeID","callWaiter","_callWaiter","_args3","setStatusTable","_setStatusTable","_args4","Home","bkLojas","loadingPage","componentDidMount","AllStores","indexAdress","Home_regeneratorRuntime","Requests","allLojas","handleCep","validity","valid","cepResolve","lojasProximas","event","components_loading_Loading","components_header_Header","maxLength","pattern","borderTop","lojas_Lojas","App","waitingFor","pages_home_Home","ContainerAdress","style_templateObject","style_templateObject2","ContainerRow","_templateObject3","TitleEnderco","h2","_templateObject4","CardAdress","_templateObject5","FormCliente","classCallCheck","possibleConstructorReturn","getPrototypeOf","call","nome","cpf","dt_nascmimento","showAlertSucces","textAlertSucces","showAlertError","textAlertError","isEdit","adressSelect","code","searchCep","hiddenAdress","allAdress","adressInEdit","registeringNewAdress","oldAdress","currentIDEndereco","goTo","InitApp","FormCliente_regeneratorRuntime","info","isObject","preencheCampos","logIn","_ref2","_ref3","fromCad","match","params","objAdress","goBack","handleCadCli","_ref4","_this$state","login","validaCampos","resolveAlert","handleChange","_ref5","adress","itWasPrincipal","filter","putAdressInEdit","putAnNewAdress","closeAdressEdit","logaIn","atualizaDadosLocais","handleCPF","handleDDD","handleTelefone","Validacoes","localidade","_this$state2","handleCloseAll","isError","text","danger","resolveSubmit","handleEnderecoPrincipal","nameRef","aux","ogot","obj","_React$createElement","_this3","_this$state3","role","faArrowLeft","onSubmit","disabled","IconButton","textInput","onBlur","ad","margin","es_Button","LogCadastroCliente","change","changeAdress","components_FormCliente_FormCliente","ContainerAdressChoice","itensPedido_style_templateObject","CustomModal","itensPedido_style_templateObject2","InfoPedidos","findStoreByCep","ItensPedido_regeneratorRuntime","auxStores","enderecoInfo","isArray","word","goPag","val_min_pedido","funcVerificaLoja","showAdressChoice","handleRetira","goEditaPedido","entregaAgendada","retiradaAgendada","entrega_agendada","retirada_agendada","goPagamento","additionalClass","goEditarItens","entregaComAgenda","retiradaComAgenda","prevProps","openItem","ai_index_esm","editItem","bind","faPencilAlt","quantidade","produto","partes","massa","preco","borda","produtos","parte","toppings","topping","partesCombo","prodGratis","obs","isPag","fontWeight","fontSize","Number","showPag","class","InfoLoja","tempo_entrega","TelefonesDesc","HorariosDesc","aberto","InputQt","input","lancaPedido_style_templateObject","aceitaDec","ColumnContainer","lancaPedido_style_templateObject2","LancaPedido","subItem","copyItens","extras","extras_grande","extras_brotos","itensTemplates","tempProdsCombo","itemNow","qtItem","indexEdit","showBordas","obsNow","displayItemDetail","massas","bordas","totalDoItem","pelaMaior","showItemModal","obsItemPizza","objTempLancPizza","heightCar","lojaAberta","produtosGratis","lancProdGratis","showPic","imgNow","prodNow","descriNow","textFilter","rightUpBtn","displayBanner","selectedCat","itemsMenu","template_extras","handleScroll","documentElement","scrollTop","refName","lasIndex","lastCurrent","Current2","scrolltoTop","scrollTo","refreshCredencials","LancaPedido_regeneratorRuntime","handleExcludeItem","confirm","newArr","splice","calculaTotal","closeModal","totalizaCompra","handleObs","recuperaItensParaEdicao","plusItem","minusItem","hasPromoLanc","any","forEach","is_promo","addItem","qt_particiona","is_combo","qtItensCombo","aceita_borda","arrPedidos","partesOfCombo","subtotal_item","parseFloat","valMaiorPizza","objMaior","aceita_massa","aceita_extra","handleEdit","is_pizza","totItem","zeraCheckandRaios","pizza","maior","itensTemp","handleCheckExtra","indexExtras","id_template","objTemp","arrExtras","arrWithout","id_template_extra","rightExtras","rightTemplate","maxExtras","qt_max_extras","o","checked","ID_PRODUTO","find","newArrToPut","totalizador","_this$state$objTempLa","valProduto","valMassa","valBorda","valToppings","handleCheckProdPomo","zeraBordas","newBordas","handleCheckMassa","indexMassas","handleCheckBordas","indexBordas","handleObsPizza","veirificaLojaAberta","prod_of_template","prodFilter","prodtemplate","stateMassas","massaAchou","id_massa","stateBordas","bordaAchou","id_borda","stateExtras","id_produto","goToCart","closeCar","newItens","prods","newMassas","newExtras","arrProdsGratis","id_template_promo_prod_gratis","viewPic","handleCloseImgNow","filterProd","functionFlter","arr","toUpperCase","indexOf","auxItem","categoria","cleanTextSearch","handeCheckParteCombo","filterTemp","resolveCheckCombo","montaView","itenNow","prodsOfCombo","prods_of_combo","itensPromo","assertThisInitialized","htmlFor","handleCheckProd","prod","manualQtAdd","valor","auxQt","String","split","aux1","v","join","itensMenu","gratis","AllProds","is_extra","is_adicional","prodsComPromoGratis","prodsPromoGratis","prodsGratis","rExtras","t1","t2","rMassasBordas","t3","massasandbordas","t4","itemP","prop","hasOwnProperty","indexProdTemplate","newObj","_this4","faShoppingCart","faChevronLeft","itensPedido_ItensPedido","paddingTop","components_infoLoja_InfoLoja","assign","styles","__inputSearch","informativo","productName","descriItem","isFromMobile","dialogClassName","faTimesCircle","aceita_dec","readOnly","onKeyPress","faCheckCircle","faTrashAlt","PureComponent","BoxPedido","itensPedidosNaMesa_style_templateObject","itensPedidosNaMesa_style_templateObject2","style_templateObject3","BoxAccount","style_templateObject4","memo","useDispatch","useSelector","_useState","useState","_useState2","slicedToArray","_useState3","_useState4","setTotal","_useState5","_useState6","setSubtotal","_useState7","_useState8","setAdditionalClass","_useState9","_useState10","showSendButton","setShowSendButton","_useState11","_useState12","loadingButton","setLoadingButton","_useState13","_useState14","statusTable","_useState15","_useState16","isThereAnySended","setIsThereAnySended","io","transports","on","updatItens","notSendeds","enviado","finalizado","isThere","itensPedidosNaMesa_regeneratorRuntime","funcAlert","callAccount","mesaFrom","auxMesa","bodyRequest","orderItens","allItens","initItens","_subtotal","_total","objMassa","subitens","auxProdGratis","objBorda","_element$partes","qtParts","valMaior","qtReal","nome_produto","codPdv","CODIGO","id_item","uuidv4","codePdv","codigo","CodPdv","combo","promocao","setSended","finish","_itens","useCallback","gridArea","wrapperTable","storage","setCPF","getCPF","estounamesa_style_templateObject","InputCPF","InputMask","attrs","estounamesa_style_templateObject2","estounamesa_style_templateObject3","estounamesa_style_templateObject4","EstouNaMesa","showGetCPF","cpfTyped","idLoja","auxLoja","estounamesa_regeneratorRuntime","imgIndisponivel","persistNewItens","handleCpfTyped","handleOkCpf","closeModalCPF","hasItemToSend","faChevronRight","itensPedidosNaMesa","infoLojaEstouNaMesa","style_InputQt","style_ColumnContainer","estounamesa_style_CustomModal","ListHistorico","pedidos","textAlign","colorStatus","total_pedido","openPedido","historicoPedido","openModal","redirect","repetirPedido","objPedido","_services$getUser","HistoricoPedido_regeneratorRuntime","components_listHistorico_ListHistorico","paddingLeft","sub","configureAnchors","scrollDuration","removeHash","Cardapio","goCathegory","id_cathegory","cardapio_regeneratorRuntime","extra","selectedCategory","responseStore","Perfil","handeOtherAdress","Newpassword","novaSenha","confirmaSenha","NewPassword_regeneratorRuntime","ConfirmaPedido","timer","verificaStatus","ConfirmaPedido_regeneratorRuntime","stopTimer","numeropedido","img","texto","colorText","startTimer","aguardando","interval","clearInterval","setInterval","BannerPromo","handleAcceptPromo","data-text","handleNotAcceptPromo","CardType","pagamento_style_templateObject","LabelType","pagamento_style_templateObject2","ContainerTypes","pagamento_style_templateObject3","ContainerAgendamento","pagamento_style_templateObject4","style_templateObject5","Pagamento","typeDelivery","validaAgendamentos","showModalPagamentos","showPagamento","pagEscolhido","troco","selectOption","obsPag","handleRadio","handleTroco","handleObsPag","capitalizeKeys","prototype","transformedObj","transformedKey","toLowerCase","Pagamento_regeneratorRuntime","cli","end","dtAgenda","geral_obs","numeroPedido","cpfNaNota","horaRetirada","valor_pago","prodgratis","partescombo","auxPreco","code_lanc","confirmaPedido","handlePromo","tooggleLoading","handleCpfNota","handleCpfText","now","currentStore","choiced","isAfter","weekDay","day","expedientes","diaDaSemana","expediente","hrAbertura","hI","set","hour","minute","hrFechamento","hF","isBetween","handleHoraRetirada","verifyAdress","_taxa","v_pedido","handleVerifyFromAdress","choiceTypeDelivery","isVerifiedAdress","adressToPut","handleDate","date","dtChoiced","arrItens","arrPags","solicita_troco","topBanner","Date","pagamentos","pag","currentDate","components_bannerpromo_BannerPromo","ConfirmaPedido_ConfirmaPedido","faShoppingBag","fc_index_esm","marginLeft","noValidate","TextField","defaultValue","InputLabelProps","shrink","marginBottom","md_index_esm","bs_index_esm","maxlength","combineReducers","action","adressToDelivery","store","createStore","Reducers","__REDUX_DEVTOOLS_EXTENSION__","ReactDOM","render","es","basename","exact","path","component","CadastroCliente","HistoricoPedido","getElementById","content-pedidos","content-itens-escolhe","grupos","itensGrupo","content-item","plusAddItem","imgItem","active","disable","labelsPrice","faAngleRight","customModal","customHeaderModal","customBodyModal","customFooterModal","btn-incluirProd","obsItem","obsItemChoosed","descriItemAdd","descQuantidade","circleAdd","greenBtn","edtQtItens","action-itens","esconde","chbMassa","greenColor","btn-carrinho","header-carrinho-lanc","shoppingCartLanc","totCarLanc","parteProd","listchooseComplement","sabores","produtosescolhe","extrasEscolhe","toppingsEscolhe","titleListChoose","propsItem","descriProdPede","btn-add-pizza","footerModalAdd","obsPizza","col-total-pizza","labelQuant","action-itens-pizza","faMinusPizza","faPlusPizza","quantAddPizza","circleAddPizza2","infoProdSelect","imgInfoProdSelect","excluiritempizza","faTimespizza","infoPromo","img-now","descItem","spanObs","infoProdAmpliado","serachIcon","gotoTop","icon-filter","customPrice","separaItensPizza","pic-box-loja","box-loja","tableTitle","table","mesaLabel","infoAbertura","LojaOpen","LojaClose"],"mappings":"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","file":"static/js/main.75e3d700.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/logo.00f76014.png\";","module.exports = __webpack_public_path__ + \"static/media/indisponivel.cd6e9459.jpg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"box-pedido\":\"style_box-pedido__N2jN0\",\"buttonSearchCep\":\"style_buttonSearchCep__2EfQ-\",\"yellow\":\"style_yellow__2PP5u\",\"buttonRetire\":\"style_buttonRetire__1lKww\",\"green\":\"style_green__3iIVT\",\"pastel\":\"style_pastel__3UiVR\",\"ouCep\":\"style_ouCep__1Nu39\",\"inputcepitnes\":\"style_inputcepitnes__3umMC\",\"title-pedido\":\"style_title-pedido__1lODp\",\"shoppingCart\":\"style_shoppingCart__2lj-p\",\"titleCarrinho\":\"style_titleCarrinho__1pZHp\",\"footer-pedido\":\"style_footer-pedido__1TAKM\",\"affix\":\"style_affix__3G2x2\",\"lineTotais\":\"style_lineTotais__3FRMT\",\"content-itens--estou_na_mesa\":\"style_content-itens--estou_na_mesa__3VkXQ\",\"listchoose\":\"style_listchoose__4LAuH\",\"content-item__\":\"style_content-item____6sapi\",\"circleBtn\":\"style_circleBtn__3g9DI\",\"btnVerde\":\"style_btnVerde__Kiefi\",\"greeBtn\":\"style_greeBtn__3Rppd\",\"btnVermelho\":\"style_btnVermelho__1G2jx\",\"redBtn\":\"style_redBtn__197nx\",\"faPlus\":\"style_faPlus__1NBGb\",\"faMinus\":\"style_faMinus__2u7wb\",\"descItemPedido\":\"style_descItemPedido__fG08B\",\"obsPedido\":\"style_obsPedido__CghfE\",\"notSended\":\"style_notSended__2_GQr\",\"priceItem\":\"style_priceItem__1iJ37\",\"iteminbox\":\"style_iteminbox__1rrW6\",\"pancil\":\"style_pancil__3XHm-\",\"editarProd\":\"style_editarProd__3Rj_N\",\"excluirItem\":\"style_excluirItem__2y6xj\",\"left\":\"style_left__2-JB2\",\"right\":\"style_right__1y6Y_\",\"btn-pagar\":\"style_btn-pagar__2FV2M\",\"faTimes\":\"style_faTimes__3mh5U\",\"lineSeparete\":\"style_lineSeparete__2LM0Y\",\"carAtLanc\":\"style_carAtLanc__ZiING\",\"semBordas\":\"style_semBordas__3UQ-f\"};","import axios from 'axios';\r\n\r\nexport const url = {\r\n local: 'http://192.241.48.14:4000/',\r\n localCasa: 'http://192.168.15.6:5000/',\r\n producao: 'https://app.dcsautomacao.com.br:4051/',\r\n socket: 'http://192.168.1.33:3001',\r\n}\r\n\r\nexport default axios.create({\r\n baseURL: url.producao\r\n});\r\n\r\n","const Global = {\r\n validaCPF: function (strCPF) {\r\n var Soma;\r\n var Resto;\r\n Soma = 0;\r\n if (strCPF == \"00000000000\") return false;\r\n\r\n for (let i = 1; i <= 9; i++) Soma = Soma + parseInt(strCPF.substring(i - 1, i)) * (11 - i);\r\n Resto = (Soma * 10) % 11;\r\n\r\n if ((Resto == 10) || (Resto == 11)) Resto = 0;\r\n if (Resto != parseInt(strCPF.substring(9, 10))) return false;\r\n\r\n Soma = 0;\r\n for (let i = 1; i <= 10; i++) Soma = Soma + parseInt(strCPF.substring(i - 1, i)) * (12 - i);\r\n Resto = (Soma * 10) % 11;\r\n\r\n if ((Resto == 10) || (Resto == 11)) Resto = 0;\r\n if (Resto != parseInt(strCPF.substring(10, 11))) return false;\r\n return true;\r\n },\r\n\r\n validarCNPJ: function (s) {\r\n let cnpj = s.replace(/[^\\d]+/g, '')\r\n\r\n // Valida a quantidade de caracteres\r\n if (cnpj.length !== 14)\r\n return false\r\n\r\n // Elimina inválidos com todos os caracteres iguais\r\n if (/^(\\d)\\1+$/.test(cnpj))\r\n return false\r\n\r\n // Cáculo de validação\r\n let t = cnpj.length - 2,\r\n d = cnpj.substring(t),\r\n d1 = parseInt(d.charAt(0)),\r\n d2 = parseInt(d.charAt(1)),\r\n calc = x => {\r\n let n = cnpj.substring(0, x),\r\n y = x - 7,\r\n s = 0,\r\n r = 0\r\n\r\n for (let i = x; i >= 1; i--) {\r\n s += n.charAt(x - i) * y--;\r\n if (y < 2)\r\n y = 9\r\n }\r\n\r\n r = 11 - s % 11\r\n return r > 9 ? 0 : r\r\n }\r\n\r\n return calc(t) === d1 && calc(t + 1) === d2\r\n },\r\n\r\n validaEMAIL: function (email) {\r\n let er = /^[a-zA-Z0-9][a-zA-Z0-9\\._-]+@([a-zA-Z0-9\\._-]+\\.)[a-zA-Z-0-9]{2}/;\r\n\r\n if (er.exec(email)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n },\r\n\r\n validaCEP: function (cep) {\r\n\r\n if (!cep) return false;\r\n if (cep.length != 8) return false;\r\n\r\n let ex = /^[0-9]+$/;\r\n\r\n if (ex.exec(cep))\r\n return true\r\n else\r\n return false\r\n }\r\n\r\n}\r\n\r\nexport default Global;","import API from '../API/Api';\r\nimport validacoes from './../libs/Validacoes';\r\nimport moment from 'moment-timezone';\r\nimport { isObject, isEmpty, cloneDeep } from \"lodash\"\r\n\r\n\r\nlet asktopromo = false;\r\n\r\nconst services = {\r\n setUser: function (dados, token) {\r\n localStorage.setItem('@systemdelivery:dataclient', dados);\r\n },\r\n getUser: function () {\r\n\r\n let dataclient = localStorage.getItem('@systemdelivery:dataclient');\r\n if (dataclient) {\r\n\r\n return JSON.parse(dataclient);\r\n }\r\n else {\r\n return false;\r\n }\r\n },\r\n\r\n setAskPromo: (toset) => {\r\n asktopromo = toset;\r\n return\r\n },\r\n\r\n askPromo: () => {\r\n return asktopromo;\r\n },\r\n\r\n getMaiorPreco: (objProdutos) => {\r\n const maior = objProdutos.sort((a, b) => {\r\n return b.PRECO - a.PRECO;\r\n })[0];\r\n return maior;\r\n },\r\n\r\n getMediaPreco: (objProdutos) => {\r\n if (!objProdutos) return;\r\n\r\n const qt = objProdutos.length;\r\n\r\n if (qt === 0) return 0;\r\n\r\n const total = objProdutos.reduce((total, item) => {\r\n return total += item.PRECO;\r\n }, 0)\r\n\r\n const media = Math.floor(total / qt);\r\n\r\n return media;\r\n },\r\n\r\n atualizaInfoCliLogado: function (data) {\r\n try {\r\n\r\n let user = this.getUser();\r\n\r\n user.dados_cli.nome_completo = data.nome_completo;\r\n user.dados_cli.email = data.email;\r\n user.dados_cli.ddd1 = data.ddd;\r\n user.dados_cli.telefone1 = data.telefone;\r\n\r\n if (!isEmpty(data.endereco)) {\r\n const auxEnderecos = cloneDeep(user.enderecos);\r\n const index = auxEnderecos.findIndex(e => e.id_endereco === data.endereco.id_endereco);\r\n\r\n if (index !== - 1) {\r\n user.enderecos[index].logradouro = data.endereco.logradouro;\r\n user.enderecos[index].cep = data.endereco.cep;\r\n user.enderecos[index].numero = data.endereco.numero;\r\n user.enderecos[index].bairro = data.endereco.bairro;\r\n user.enderecos[index].cidade = data.endereco.cidade;\r\n user.enderecos[index].estado = data.endereco.estado;\r\n user.enderecos[index].complemento = data.endereco.complemento;\r\n user.enderecos[index].longitude = data.endereco.longitude;\r\n user.enderecos[index].latitude = data.endereco.latitude;\r\n user.enderecos[index].ponto_referencia = data.endereco.ponto_referencia;\r\n user.enderecos[index].descricao = data.endereco.descricao;\r\n user.enderecos[index].principal = data.endereco.enderecoPrincipal;\r\n }\r\n\r\n if (data.endereco.enderecoPrincipal) {\r\n user.enderecos.map((e, indexMap) => {\r\n if (indexMap !== index) {\r\n user.enderecos[indexMap].principal = false;\r\n }\r\n })\r\n }\r\n\r\n }\r\n\r\n this.setUser(JSON.stringify(user));\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n\r\n },\r\n\r\n formatDate: function (data) {\r\n try {\r\n\r\n const novoDado = moment(data).format(\"DD/MM/YYYY HH:mm\");\r\n return novoDado;//moment.utc(data).tz('America/Sao_Paulo').format('DD/MM/YYYY HH:mm:ss')\r\n\r\n } catch (error) {\r\n console.log(error);\r\n return data;\r\n }\r\n },\r\n\r\n enviaPedido: async function (pedido, token) {\r\n try {\r\n\r\n let headers = {\r\n \"Content-Type\": \" application/json\",\r\n \"token\": token\r\n };\r\n\r\n if (headers) {\r\n let body = { \"pedido\": pedido };\r\n let r = await API.put('pedidos', body, { headers: headers });\r\n return r;\r\n } else {\r\n return false;\r\n }\r\n\r\n } catch (error) {\r\n console.log(error + 'Envia Pedido');\r\n return false;\r\n\r\n }\r\n },\r\n\r\n enviaPedidoEstouNaMesa: async function (pedido, token) {\r\n try {\r\n\r\n let headers = {\r\n \"Content-Type\": \" application/json\",\r\n \"token\": token\r\n };\r\n\r\n if (headers) {\r\n let body = { \"pedido\": pedido };\r\n let r = await API.put('pedidosEstouNaMesa', body, { headers: headers });\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n\r\n } catch (error) {\r\n console.log(error + 'Envia Pedido');\r\n return false;\r\n\r\n }\r\n },\r\n\r\n\r\n getItensMesaFromApi: async function (body) {\r\n try {\r\n let headers = { \"Content-Type\": \" application/json\" };\r\n if (headers) {\r\n\r\n let r = await API.post(`itensmesa`, body, { headers: headers });\r\n\r\n console.log(JSON.stringify(r.data.itens))\r\n return r.data.itens;\r\n } else {\r\n return false;\r\n }\r\n\r\n } catch (error) {\r\n console.log(error + 'getItensMesaFromApi');\r\n return false;\r\n\r\n }\r\n },\r\n\r\n\r\n\r\n\r\n\r\n enviaLinkEsqueciSenha: async function (email) {\r\n try {\r\n let headers = { 'Content-Type': 'application/json' };\r\n let response = await API.get(`linkesqueciminhasenha/${email}`, { headers: headers });\r\n if (response.status === 200) {\r\n return { err: false }\r\n } else {\r\n return { err: true }\r\n }\r\n } catch (error) {\r\n return { err: true }\r\n }\r\n\r\n },\r\n\r\n\r\n\r\n returnNextStore: async function (arrLojas, cep) {\r\n let result = [];\r\n let headers = { 'Content-Type': 'application/json' };\r\n\r\n if (cep && arrLojas) {\r\n\r\n for (let i = 0; i < arrLojas.length; i++) {\r\n try {\r\n let loja = arrLojas[i]\r\n let response = await API.get(`isatendido/${cep}/${loja.id_loja}`, { headers: headers });\r\n if (response.data.taxa) {\r\n loja.taxa_entrega = response.data.taxa;\r\n result.push({\r\n ...loja,\r\n TAXA: response.data.taxa\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n }\r\n\r\n return result;\r\n },\r\n\r\n\r\n // returnNextStore: function (arrLojas, endereco, kmMax) {\r\n // let result = [];\r\n // const { latitude: Mylatitude, longitude: Mylongitude } = endereco;\r\n // if (Mylatitude && Mylongitude && arrLojas) {\r\n // arrLojas.forEach(element => {\r\n // if (this.getDistance(Mylatitude, Mylongitude, element.latitude, element.longitude) <= kmMax) {\r\n // result.push(element);\r\n // }\r\n // });\r\n // }\r\n\r\n // return result;\r\n // },\r\n\r\n consultaCep: async function (cep) {\r\n\r\n let result = {};\r\n try {\r\n let validaCep = validacoes.validaCEP(cep)\r\n if (validaCep) {\r\n result = await this.getCep(cep);\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n return result;\r\n },\r\n\r\n getTempPedido: function () {\r\n let r = [];\r\n r = localStorage.getItem('@systemdelivery:temp');\r\n return r;\r\n },\r\n\r\n setLastStore: function (data) {\r\n\r\n if (data) {\r\n localStorage.setItem('@systemdelivery:tempLastStore', data);\r\n }\r\n },\r\n\r\n getLastStore: function () {\r\n\r\n let r = {};\r\n\r\n r = localStorage.getItem('@systemdelivery:tempLastStore');\r\n\r\n try {\r\n r = JSON.parse(r);\r\n } catch (error) {\r\n r = {};\r\n }\r\n\r\n return r;\r\n },\r\n\r\n setLogado: function (logado) {\r\n\r\n localStorage.setItem('@@systemdelivery:logado', logado);\r\n },\r\n\r\n getLogado: function () {\r\n let logado = false;\r\n logado = localStorage.getItem('@@systemdelivery:logado');\r\n return logado === 'true';\r\n },\r\n\r\n setTempPedido: function (itens) {\r\n if (itens) {\r\n localStorage.setItem('@systemdelivery:temp', itens);\r\n }\r\n },\r\n\r\n cleanTemps: function () {\r\n localStorage.removeItem('@systemdelivery:temp');\r\n localStorage.removeItem('@systemdelivery:tempLastStore');\r\n localStorage.removeItem('@systemdelivery:tempLastStore');\r\n },\r\n\r\n totalizaItens: function (itensPedido, taxa, callback, withoutCallback) {\r\n\r\n let err = false;\r\n let response = {};\r\n\r\n try {\r\n let subtotal = itensPedido.reduce((total, element) => {\r\n return total + (element.total);\r\n }, 0);\r\n\r\n let tot = subtotal + taxa;\r\n\r\n\r\n if (subtotal === 0) tot = 0;\r\n\r\n response = {\r\n data: {\r\n total: tot,\r\n subtotal: subtotal\r\n\r\n }\r\n };\r\n\r\n\r\n } catch (error) {\r\n err = true;\r\n if (!withoutCallback) callback(err, response)\r\n else {\r\n return response\r\n }\r\n }\r\n\r\n\r\n if (!withoutCallback) callback(err, response)\r\n else {\r\n return response\r\n }\r\n },\r\n\r\n\r\n\r\n getActualTotal: function () {\r\n let data = {};\r\n try {\r\n data = localStorage.getItem('@systemdelivery:actualtoal');\r\n if (!data) {\r\n data = {\r\n total: '0',\r\n subtotal: '0'\r\n }\r\n }\r\n return data;\r\n } catch (error) {\r\n data = {\r\n total: '0',\r\n subtotal: '0'\r\n }\r\n return data;\r\n }\r\n },\r\n\r\n getAllProducts: async function (loja) {\r\n try {\r\n\r\n //let token = user.token;\r\n //let body = { token: token };\r\n let headers = { \"Content-type\": \"application/json\" }\r\n\r\n let r = await API.get(`categoriasinnerprods/${loja}`, { headers: headers });\r\n\r\n return r\r\n\r\n let user = this.getUser();\r\n if (user && 'token' in user) {\r\n\r\n let token = user.token;\r\n let body = { token: token };\r\n let headers = { \"Content-type\": \"application/json\", \"token\": token }\r\n\r\n let r = await API.get(`categoriasinnerprods/${loja}`, { headers: headers });\r\n\r\n return r;\r\n } else {\r\n return [];\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n return [];\r\n }\r\n },\r\n\r\n\r\n getHeadersAndCli: function () {\r\n\r\n let user = this.getUser();\r\n\r\n if (user && 'token' in user) {\r\n let token = user.token;\r\n let headers = { \"Content-type\": \"application/json\", \"token\": token }\r\n return { headers: headers, id_cliente: user.dados_cli.id_cliente };\r\n } else {\r\n return;\r\n }\r\n },\r\n\r\n getItensPedido: async function (codigo_pedido) {\r\n try {\r\n let headers = this.getHeadersAndCli();\r\n if (headers) {\r\n let r = await API.get(`itenspedido/${codigo_pedido}`, { headers: headers.headers });\r\n return r.data.itens;\r\n } else {\r\n return []\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n return []\r\n }\r\n },\r\n\r\n\r\n\r\n registerAdress: async function (body) {\r\n try {\r\n let headers = this.getHeadersAndCli();\r\n if (headers) {\r\n const response = await API.post(`cliente/registerAdress`, body, { headers: headers.headers });\r\n\r\n if (response.status === 200) {\r\n return {\r\n status: 200,\r\n id_endereco: response.data.id_endereco\r\n }\r\n } else {\r\n return {\r\n status: 500\r\n }\r\n }\r\n } else {\r\n return {\r\n status: 500\r\n }\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n return {\r\n status: 500\r\n }\r\n }\r\n },\r\n\r\n\r\n\r\n\r\n deleteAdress: async function (body) {\r\n try {\r\n let headers = this.getHeadersAndCli();\r\n if (headers) {\r\n const response = await API.post(`cliente/deleteadress`, body, { headers: headers.headers });\r\n\r\n if (response.status === 200) {\r\n return {\r\n status: response.data && response.data.codeError ? response.data.codeError : 200,\r\n }\r\n } else {\r\n return {\r\n status: response.data && response.data.codeError ? response.data.codeError : 500,\r\n }\r\n }\r\n } else {\r\n return {\r\n status: 500\r\n }\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n return {\r\n status: 500\r\n }\r\n }\r\n },\r\n\r\n\r\n\r\n verficaLojaAberta: async function (loja) {\r\n try {\r\n let r = await API.get(`verificalojaaberta/${loja}`);\r\n\r\n return r.data.open;\r\n } catch (error) {\r\n\r\n console.log(error);\r\n return false\r\n }\r\n\r\n },\r\n\r\n\r\n importaCeps: async function (ceps) {\r\n try {\r\n let headers = this.getHeadersAndCli();\r\n if (headers) {\r\n let r = await API.post(`importaceps`, ceps);\r\n return r.data;\r\n } else {\r\n return []\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n return []\r\n }\r\n\r\n },\r\n\r\n\r\n getTiposPags: async function (loja) {\r\n try {\r\n\r\n let headers = this.getHeadersAndCli();\r\n if (headers) {\r\n let r = await API.get(`tipopags/${loja}`, { headers: headers.headers });\r\n return r.data;\r\n } else {\r\n return []\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n return []\r\n }\r\n\r\n },\r\n\r\n\r\n atualizaSenha: async function (id, senha, token) {\r\n try {\r\n\r\n let headers = {\r\n 'Content-Type': 'application/json',\r\n 'token': token\r\n };\r\n let body = { id: id, senha: senha };\r\n let r = await API.post('cliente/atualizasenha', body, { headers: headers });\r\n if (r.status === 200) {\r\n return { err: false }\r\n } else {\r\n return { err: true }\r\n }\r\n\r\n } catch (error) {\r\n console.log(error);\r\n return { err: true }\r\n }\r\n },\r\n\r\n\r\n validaToken: async function (token) {\r\n try {\r\n\r\n let headers = { 'Content-Type': 'application/json' };\r\n let body = { token: token };\r\n\r\n let r = await API.post('validaToken', body, { headers: headers });\r\n\r\n\r\n if (r.data.auth) {\r\n return { id: r.data.id };\r\n } else {\r\n return {}\r\n }\r\n\r\n\r\n } catch (error) {\r\n console.log(error);\r\n return {}\r\n }\r\n },\r\n\r\n getHistorico: async function () {\r\n try {\r\n let headers = this.getHeadersAndCli();\r\n if (headers) {\r\n let r = await API.get(`historicopedidos/${headers.id_cliente}`, { headers: headers.headers });\r\n return r.data.historico;\r\n } else {\r\n return []\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n return []\r\n }\r\n },\r\n\r\n getStatusPedido: async function (codigo_pedido) {\r\n try {\r\n\r\n let user = this.getUser();\r\n if (user && 'token' in user) {\r\n let token = user.token;\r\n let body = { token: token };\r\n let headers = { \"Content-type\": \"application/json\", \"token\": token }\r\n let r = await API.get(`status_pedido/${codigo_pedido}`, { headers: headers });\r\n return r.data;\r\n } else {\r\n return {};\r\n }\r\n\r\n } catch (error) {\r\n console.log(error);\r\n return {};\r\n }\r\n },\r\n\r\n getExtras: async function (id_loja) {\r\n\r\n try {\r\n let headers = { \"Content-type\": \"application/json\" };\r\n\r\n let r = await API.get(`prodextras/${id_loja}`, { headers: headers });\r\n return r;\r\n\r\n } catch (error) {\r\n console.log(error);\r\n return [];\r\n }\r\n\r\n },\r\n\r\n getTemplateExtras: async function () {\r\n\r\n try {\r\n let headers = { \"Content-type\": \"application/json\" };\r\n\r\n const response = await API.get(`template_extras`, { headers: headers });\r\n return response.data.templates;\r\n\r\n } catch (error) {\r\n return [];\r\n }\r\n\r\n },\r\n\r\n getMassasAndBordas: async function () {\r\n\r\n try {\r\n let headers = { \"Content-type\": \"application/json\" };\r\n\r\n let r = await API.get('massasandbordas', { headers: headers });\r\n return r;\r\n\r\n let user = this.getUser();\r\n if (user && 'token' in user) {\r\n let token = user.token;\r\n let body = { token: token };\r\n let headers = { \"Content-type\": \"application/json\", \"token\": token };\r\n\r\n let r = await API.get('massasandbordas', { headers: headers });\r\n return r;\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n return [];\r\n }\r\n\r\n },\r\n\r\n isLogado: async function () {\r\n\r\n try {\r\n let user = this.getUser();\r\n\r\n if (user && 'token' in user) {\r\n let token = user.token;\r\n\r\n\r\n let body = { token: token };\r\n let headers = { \"Content-type\": \"application/json\" }\r\n let r = await API.post('validaToken', body, { headers: headers });\r\n\r\n if (r.data.auth) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n\r\n } else {\r\n return false;\r\n }\r\n\r\n } catch (e) {\r\n console.log(e);\r\n return false;\r\n }\r\n\r\n },\r\n\r\n getCep: async function (CEP) {\r\n let headers = { \"Content-type\": \"application/json\" }\r\n let result = {};\r\n try {\r\n\r\n\r\n let r = await API.get(`cep/${CEP}`, { headers: headers });\r\n return r.data;\r\n } catch (e) {\r\n\r\n if (e && 'response' in e) {\r\n if (e.response.status === 401)\r\n return {}\r\n } else if (e.status === 500) {\r\n return {}\r\n } else {\r\n return {}\r\n }\r\n\r\n }\r\n },\r\n\r\n logoutUser: function (where) {\r\n localStorage.removeItem('@systemdelivery:dataclient');\r\n if (where === 'principal') {\r\n window.location.reload();\r\n } else {\r\n document.location.href = \"/\";\r\n }\r\n },\r\n\r\n\r\n getDistance: function (lat1, lon1, lat2, lon2) {\r\n /**Forma de usar o getDiscante\r\n * \r\n * getDistance({lat: -23.522490, lng: -46.736600}, {lat: -23.4446654, lng: -46.5319316}\r\n * \r\n */\r\n var rad = function (x) { return x * Math.PI / 180; }\r\n var R = 6378.137; //Radio de la tierra en km\r\n var dLat = rad(lat2 - lat1);\r\n var dLong = rad(lon2 - lon1);\r\n var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + Math.cos(rad(lat1)) * Math.cos(rad(lat2)) * Math.sin(dLong / 2) * Math.sin(dLong / 2);\r\n var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\r\n var d = R * c;\r\n return d.toFixed(3); //Retorna tres decimales\r\n }\r\n\r\n}\r\n\r\nexport default services;","import React from \"react\"\r\nimport { FaSpinner } from \"react-icons/fa\"\r\nimport \"./Spinner.css\"\r\n\r\nexport default function Spinner(props) {\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","export default {\n COLORS: {\n primary: '#04152A'\n },\n}","import styled from \"styled-components\"\nimport GLOBAL from \"../../global\"\n\nexport const Container = styled.div`\n transition: all .7;\n scroll-behavior: smooth;\n text-align : center;\n width : 100%;\n padding : 10px 0 10px;\n transition : all .7s;\n position : absolute;\n bottom : -38px;\n background : #fff;\n z-index : 1;\n overflow: hidden;\n \n align-items : center;\n justify-content : center;\n box-shadow: 1px 1px 2px #000;\n -webkit-box-shadow: -1px 1px 12px rgba(0,0,0,.3);\n\n display: block;\n\n \n \n @media(max-width: 800px) {\n display : block;\n padding : 10px 0 10px; \n overflow-x: scroll;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar; \n\n ::-webkit-scrollbar {\n width: 0px !important;\n background: transparent !important; \n }\n \n ::-webkit-scrollbar { display:none !important }\n }\n\n \n\n \n\n/* ::-webkit-scrollbar-track { \n box-shadow: inset 0 0 5px silver !important;\n border-radius: 0px !important;\n}\n\n\n::-webkit-scrollbar-thumb {\n background: #051629!important;\n border-radius: 0px !important;\n}\n\n\n::-webkit-scrollbar-thumb:hover {\n background: #051629 !important;\n}\n\n::-webkit-scrollbar{\n height: 8px;\n display: block;\n} */\n\n.zeraLink, .zeraLink:hover, .zeraLink:focus{\n text-decoration: none;\n color: #000;\n}\n\n`\n\nexport const Item = styled.span`\n \n overflow-wrap: normal;\n margin-right : 30px; \n\n \n white-space: nowrap;\n border-radius: 10px ;\n padding: 0px 8px;\n cursor : pointer;\n transition : all 1s;\n ${({ selected }) => {\n if (selected) {\n return `\n background : ${GLOBAL.COLORS.primary};\n color : #fff;\n `\n }\n }} \n /* border-radius : 10px;\n height: 60px;\n transition : all 1s;\n padding : 12px;\n background : #fff;\n justify-content : center;\n display : flex;\n align-items : center;\n margin-right : 10px;\n box-shadow: 1px 1px 2px #000;\n -webkit-box-shadow: -1px 1px 12px rgba(0,0,0,.3);\n \n cursor : pointer;\n\n\n */\n\n`","import React, { useRef, useEffect, useMemo } from \"react\"\nimport { Container, Item, BoxItem } from \"./style\"\nimport { HashLink as Link } from 'react-router-hash-link';\nimport \"./style.css\"\nimport ScrollContainer from 'react-indiana-drag-scroll'\nexport default function ComponentName({ items = [], selectedIndex = 0, fromCardapio, fromTable, objTable }) {\n\n const scrollRef = useRef();\n\n let refs = {};\n\n for (let i = 0; i < items.length; i++) {\n refs[i] = React.createRef();\n }\n\n\n const scrollWithOffset = (el, offset) => {\n try {\n const elementPosition = el.offsetTop - offset;\n window.scroll({\n top: elementPosition,\n left: 0,\n behavior: \"smooth\"\n });\n } catch (error) {\n\n }\n\n }\n\n\n\n useEffect(() => {\n try {\n if (refs['0']) {\n scrollRef.current.scrollLeft = refs[selectedIndex].current.offsetLeft - 80\n }\n } catch (error) {\n\n }\n\n }, [selectedIndex])\n\n\n if (items.length === 0) return null;\n\n\n return (\n\n \n \n {\n items.map((i, index) => {\n let base_url = \"\"\n if (fromTable) {\n base_url = `/estounamesa/${objTable.loja}/${objTable.mesa}#`\n } else {\n base_url = fromCardapio ? \"/cardapio#\" : \"/LancaPedido#\";\n }\n\n return scrollWithOffset(el, 20)}\n smooth to={`${base_url}${i.id}`}\n className=\"zeraLink\"\n key={index}\n >\n {i.item.toString()}\n \n\n })\n }\n \n \n\n )\n}","import {\n SET_USER_LOGADO,\n SET_ADRESS_USER,\n SET_ADRESS_TO_DELIVERY,\n SET_DATA_END_ORDER,\n SET_ITENS,\n SET_STORES\n} from \"./actions\"\n\n\n\nexport const setUserLogado = value => ({\n type: SET_USER_LOGADO,\n payload: value\n})\n\n\nexport const setAdressUser = value => ({\n type: SET_ADRESS_USER,\n payload: value\n})\n\n\nexport const setAdressToDelivery = value => ({\n type: SET_ADRESS_TO_DELIVERY,\n payload: value\n});\n\n\n\nexport const setDataEndOrder = value => ({\n type: SET_DATA_END_ORDER,\n payload: value\n});\n\n\nexport const setItens = value => ({\n type: SET_ITENS,\n payload: value\n});\n\n\n\nexport const setStores = value => ({\n type: SET_STORES,\n payload: value\n});","export const SET_USER_LOGADO = \"SET_USER_LOGADO\"\nexport const SET_ADRESS_USER = \"SET_ADRESS_USER\"\nexport const SET_DATA_END_ORDER = \"SET_DATA_END_ORDER\"\nexport const SET_ADRESS_TO_DELIVERY = \"SET_ADRESS_TO_DELIVERY\"\nexport const SET_ITENS = \"SET_ITENS\"\nexport const SET_STORES = \"SET_STORES\"","import React, { Component } from 'react';\r\nimport Button from 'react-bootstrap/lib/Button';\r\nimport './Header.css';\r\nimport API from '../../API/Api';\r\nimport { Modal } from 'react-bootstrap';\r\nimport { Link, Redirect } from 'react-router-dom'\r\nimport services from './../../services/index'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faMapMarkerAlt } from '@fortawesome/free-solid-svg-icons'\r\nimport Spinner from './../spinner/Spinner'\r\nimport GLOBAL from \"../../global\"\r\nimport { IoIosMenu } from \"react-icons/io\"\r\nimport { FaUser } from \"react-icons/fa\"\r\nimport { FiMapPin } from \"react-icons/fi\"\r\nimport { withRouter } from 'react-router-dom'\r\n\r\nimport MenuItens from \"../../components/menuitens\"\r\n\r\nimport { isEmpty } from \"lodash\"\r\nimport { Button as ButtonUI } from '@material-ui/core';\r\n\r\n\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\"\r\nimport * as Actions from \"../../store/actions\"\r\nimport logo from \"./logo.png\"\r\nclass Header extends Component {\r\n\r\n static defaultProps = {\r\n srcImage: logo,\r\n srcPofile: 'assets/user.png',\r\n\r\n logado: false,\r\n where: 'cadastrocliente',\r\n user: {},\r\n nameClient: '',\r\n teste: false,\r\n\r\n }\r\n\r\n state = {\r\n nameClient: '',\r\n userObj: {},\r\n showMenu: false,\r\n display: 0,\r\n showLogin: false,\r\n loading: false,\r\n redirec: false,\r\n email: '',\r\n senha: '',\r\n colorHeader: GLOBAL.COLORS.primary,\r\n heightMenuMobile: 0,\r\n adressChoice: false,\r\n adressToChoice: [],\r\n indexPrincipalAdress: 0,\r\n logado: false,\r\n principalAdress: {}\r\n }\r\n\r\n\r\n\r\n componentDidMount() {\r\n if (this.props.estouNaMesa) return;\r\n const isIn = services.getLogado();\r\n this.setState({ logado: isIn });\r\n if (isIn) {\r\n const user = services.getUser();\r\n if (!isEmpty(user)) {\r\n if (!isEmpty(this.props.rdUser)) {\r\n this.props.setUserLogado(user.dados_cli);\r\n this.props.setAdressUser(user.enderecos);\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n handleSair = (e) => {\r\n localStorage.removeItem('@systemdelivery:dataclient');\r\n services.setLogado(false);\r\n\r\n this.setState({ logado: false })\r\n\r\n // Hack por conta do comportamento do smartphone;\r\n setTimeout(() => {\r\n this.props.history.push('/CadastroCliente');\r\n this.props.history.push('/');\r\n }, 400)\r\n }\r\n\r\n\r\n\r\n showMenu = () => {\r\n this.setState({ display: 1 }, () => {\r\n document.addEventListener('click', this.closeMenu);\r\n });\r\n }\r\n\r\n closeMenu = () => {\r\n this.setState({ display: 0 }, () => {\r\n document.removeEventListener('click', this.closeMenu)\r\n });\r\n }\r\n\r\n\r\n makeLogin = () => {\r\n this.setState({ showLogin: true })\r\n }\r\n\r\n closeLogin = () => {\r\n this.setState({ showLogin: false });\r\n }\r\n\r\n\r\n\r\n loading = (status) => {\r\n if (status) {\r\n this.setState({ loading: true })\r\n } else {\r\n this.setState({ loading: false });\r\n }\r\n }\r\n\r\n\r\n handleBtns = () => {\r\n\r\n if (this.props.isCardapio) return;\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 redireciona = () => {\r\n if (this.props.where != 'principal') {\r\n //this.setState({ redirec: true })\r\n this.props.history.push('/');\r\n } else {\r\n // HackMobile\r\n this.props.history.push('/CadastroCliente');\r\n this.props.history.push('/');\r\n }\r\n\r\n }\r\n\r\n handleAllInputs = (e) => {\r\n this.setState({ [e.target.name]: e.target.value });\r\n }\r\n\r\n\r\n\r\n\r\n logaCliente = async () => {\r\n this.loading(true);\r\n\r\n const dataLogin = { email: this.state.email, password: this.state.senha }\r\n\r\n try {\r\n let headers = { \"Content-Type\": \" application/json\" }\r\n const response = await API.post('login', dataLogin, { headers: headers });\r\n\r\n this.loading(false);\r\n\r\n if (response.status === 200) {\r\n\r\n this.props.setUserLogado(response.data.dados_cli);\r\n this.props.setAdressUser(response.data.enderecos);\r\n services.setUser(JSON.stringify(response.data))\r\n\r\n services.setLogado(true);\r\n this.setState({ logado: true, showLogin: false });\r\n // Hack por conta do comportamento do smartphone;\r\n setTimeout(() => {\r\n this.props.history.push('/CadastroCliente');\r\n this.props.history.push('/');\r\n }, 400)\r\n } else {\r\n alert('E-mail ou Senha Inválido')\r\n }\r\n } catch (error) {\r\n this.loading(false);\r\n if (error) {\r\n if (error.response.status === 401) {\r\n alert('Senha inválida');\r\n } else if (error.response.status === 404) {\r\n alert('Usuário não encontrado');\r\n } else {\r\n alert('Ops... Algo não deu certo. Vamos tentar novamente !');\r\n }\r\n } else {\r\n alert('Ops... Algo não deu certo. Vamos tentar novamente !');\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n handleEsqueciSenha = async (e) => {\r\n e.preventDefault();\r\n if (this.state.email) {\r\n let response = await services.enviaLinkEsqueciSenha(this.state.email);\r\n if (!response.err) {\r\n alert(`Enviamos um E-mail para ${this.state.email} com as instrução para criação de uma nova senha.`);\r\n } else {\r\n alert('O E-mail informado não está em nosso sistema');\r\n }\r\n } else {\r\n alert('Por favor, informe o e-mail no campo e-mail.');\r\n }\r\n }\r\n\r\n\r\n handleKeyUp = (e) => {\r\n if (e.keyCode === 13) this.logaCliente();\r\n }\r\n\r\n\r\n\r\n toggleMenu = () => {\r\n this.setState({ heightMenuMobile: this.state.heightMenuMobile > 50 ? 0 : 200 });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n isLoggedIn = () => {\r\n if (this.props.estouNaMesa) return;\r\n if (this.state.logado) {\r\n return (\r\n <>\r\n
\r\n\r\n

Olá {this.props.rdUser.nome_completo}

\r\n \r\n\r\n
\r\n
    \r\n
  • Perfil
  • \r\n
  • Meus Pedidos
  • \r\n\r\n
  • Sair
  • \r\n
\r\n
\r\n
\r\n \r\n );\r\n } else {\r\n return this.handleBtns()\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n\r\n openAdressSelect = () => {\r\n const user = services.getUser();\r\n this.setState({ adressToChoice: user.enderecos, adressChoice: true });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n render() {\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \"logo\"\r\n \r\n
\r\n\r\n {this.props.isCardapio &&

Cardápio

}\r\n\r\n {this.state.logado ? (\r\n \r\n
\r\n ) : ''\r\n }\r\n\r\n {!this.props.isCardapio &&
\r\n {this.isLoggedIn()}\r\n
\r\n }\r\n\r\n
\r\n
\r\n\r\n {\r\n this.state.logado && !this.props.isCardapio ? (\r\n
\r\n \r\n \r\n \r\n
\r\n ) : ''\r\n }\r\n\r\n\r\n\r\n {!this.props.isCardapio &&
\r\n \r\n
}\r\n\r\n\r\n \r\n \r\n Login\r\n \r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n {!this.state.loading ? : \r\n }\r\n
\r\n \r\n Esqueci minha senha\r\n \r\n
\r\n\r\n {this.props.showMenuItens && }\r\n \r\n\r\n \r\n\r\n );\r\n }\r\n\r\n\r\n}\r\n\r\n\r\nconst mapStateToProps = state => ({\r\n rdUser: state.user\r\n})\r\n\r\nconst mapDispathToPros = dispatch => bindActionCreators(Actions, dispatch)\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispathToPros)(Header))\r\n\r\n","import React, { Component } from 'react';\r\nimport './Lojas.css'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faPhone } from '@fortawesome/free-solid-svg-icons'\r\nimport { Link, Redirect, withRouter } from 'react-router-dom';\r\n\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\"\r\nimport * as Actions from \"../../store/actions\"\r\n\r\nimport services from '../../services';\r\n\r\n\r\n\r\nclass Loja extends Component {\r\n\r\n\tstate = {\r\n\t\tgoPedidos: false,\r\n\t\tlojas: '',\r\n\t\tindex_loja: 0\r\n\t}\r\n\r\n\r\n\r\n\tresolveImage = (imagem) => {\r\n\t\treturn imagem ? `${imagem}` : `assets/indisponivel.png`\r\n\t}\r\n\r\n\tgoLacaPedido = (index) => {\r\n\r\n\t\tservices.setLastStore(JSON.stringify(this.props.data[index]));\r\n\t\tthis.props.setStores(this.props.data[index]);\r\n\t\tthis.props.history.push('LancaPedido');\r\n\r\n\t\t// if (this.props.logado)\r\n\t\t// \tthis.setState({ goPedidos: true })\r\n\t\t// else\r\n\t\t// \talert('Você precisa estar logado para entrar e alguma loja');\r\n\r\n\t}\r\n\r\n\r\n\trender() {\r\n\r\n\r\n\t\tif (this.state.goPedidos) {\r\n\t\t\treturn \r\n\t\t} else {\r\n\r\n\t\t\treturn (\r\n\t\t\t\t
\r\n\t\t\t\t\t{this.props.data ? (\r\n\r\n\t\t\t\t\t\tthis.props.data.map((item, index) => {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t
this.goLacaPedido(index)}>\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t

{item.descricao}

\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t

{`(${item.ddd}) ${item.telefone}`}

\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\r\n\r\n\r\n\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t})) :

Lojas não encontradas

}\r\n\t\t\t\t
\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n}\r\n\r\n\r\n\r\nconst mapStateToProps = state => ({\r\n\trdUser: state.user,\r\n\trdOrder: state.order,\r\n\trdStores: state.stores\r\n})\r\n\r\nconst mapDispathToPros = dispatch => bindActionCreators(Actions, dispatch)\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispathToPros)(Loja))\r\n\r\n\r\n\r\n\r\n// `url('assets/indisponivel.png') no-repeat center`","import React from 'react';\r\nimport './Loading.css';\r\nimport './../spinner/Spinner';\r\nimport Spinner from './../spinner/Spinner';\r\n\r\nconst Loading = props => {\r\n return (\r\n
\r\n \r\n
\r\n )\r\n}\r\n\r\n\r\nexport default Loading;","import API from \"../API/Api\"\n\nexport default {\n\n getStores: async function () {\n try {\n const response = await API.get('lojas');\n return response.data || [];\n } catch (error) {\n return { error: true, message: error }\n }\n },\n\n getItensPedido: async function (body = { tableNumber: 0, storeID: 0 }) {\n try {\n let headers = { \"Content-Type\": \" application/json\" };\n\n const response = await API.post('pedidosmesa', body, { headers });\n\n console.log(response.data.pedido.itens)\n return response.data.pedido.itens\n\n } catch (error) {\n return []\n }\n },\n callWaiter: async function (body = { tableNumber: 0, storeID: 0, status: 0 }) {\n try {\n let headers = { \"Content-Type\": \" application/json\" };\n\n const response = await API.post('setstatuswaiter', body, { headers });\n\n return response.data.status === 0;\n\n } catch (error) {\n return false\n }\n },\n setStatusTable: async function (body = { tableNumber: 0, storeID: 0, status: 0 }) {\n try {\n let headers = { \"Content-Type\": \" application/json\" };\n\n const response = await API.post('setstatustable', body, { headers });\n\n return response.data.status === 0;\n\n } catch (error) {\n return false\n }\n }\n\n}","import React, { Component } from 'react';\r\nimport Header from '../../components/header/Header'\r\nimport Lojas from '../../components/lojas/Lojas';\r\nimport Loading from '../../components/loading/Loading'\r\nimport './Home.css';\r\nimport API from '../../API/Api'\r\nimport Requests from \"../../services/requests\"\r\nimport services from './../../services/index';\r\n\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\"\r\nimport * as Actions from \"../../store/actions\"\r\n\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { isEmpty } from \"lodash\"\r\n\r\n\r\nclass Home extends Component {\r\n\r\n state = {\r\n cep: '',\r\n scroll: 0,\r\n lojas: [],\r\n bkLojas: [],\r\n logado: false,\r\n loading: false,\r\n loadingPage: false\r\n }\r\n\r\n static defaultProps = {\r\n logado: false,\r\n }\r\n\r\n\r\n\r\n componentDidMount = async () => {\r\n services.setAskPromo(false);\r\n var AllStores = [];\r\n\r\n this.setState({ loadingPage: true });\r\n\r\n const lojas = await Requests.getStores();\r\n\r\n if (lojas.error) {\r\n return alert('Ops... Algo deu errado. Vamos tentar novamente');\r\n }\r\n\r\n if (lojas.length === 0) {\r\n return alert('Ops... Nenhuma loja encontrada');\r\n }\r\n\r\n\r\n if (await services.isLogado()) {\r\n try {\r\n\r\n const user = services.getUser();\r\n if (!isEmpty(user)) {\r\n if (!isEmpty(this.props.rdUser)) {\r\n this.props.setUserLogado(user.dados_cli);\r\n this.props.setAdressUser(user.enderecos);\r\n }\r\n }\r\n\r\n\r\n if ('enderecos' in user) {\r\n let enderecos = user.enderecos;\r\n let indexAdress = 0;\r\n\r\n if (enderecos.length > 0) {\r\n indexAdress = enderecos.findIndex(e => e.principal === 1 || e.principal === true);\r\n if (indexAdress === -1) {\r\n enderecos[0].principal = true;\r\n }\r\n }\r\n\r\n if (lojas.length === 1) {\r\n this.setState({ loadingPage: false });\r\n this.props.setStores(lojas);\r\n services.setLastStore(JSON.stringify(lojas));\r\n\r\n return this.props.history.push('LancaPedido');\r\n\r\n }\r\n\r\n AllStores = await services.returnNextStore(lojas, enderecos[indexAdress !== -1 ? indexAdress : 0].cep);\r\n\r\n }\r\n\r\n if (lojas.length > 0 && AllStores.length > 0) {\r\n if (AllStores.length === 1) {\r\n this.setState({ loadingPage: false });\r\n this.props.setStores(AllStores[0]);\r\n services.setLastStore(JSON.stringify(AllStores));\r\n this.props.history.push('LancaPedido');\r\n return;\r\n }\r\n this.setState({ lojas: AllStores });\r\n }\r\n\r\n this.setState({ logado: true });\r\n services.setLogado(true);\r\n\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n } else {\r\n if (lojas.length === 1) {\r\n services.setLogado(false);\r\n this.setState({ loadingPage: false });\r\n this.props.setStores(lojas);\r\n services.setLastStore(JSON.stringify(lojas));\r\n this.props.history.push('LancaPedido');\r\n return;\r\n }\r\n\r\n AllStores = lojas;\r\n this.setState({ lojas: AllStores, allLojas: lojas });\r\n }\r\n\r\n this.setState({ loadingPage: false });\r\n }\r\n\r\n\r\n\r\n\r\n handleCep = (e) => {\r\n if (e.target.validity.valid)\r\n this.setState({ cep: e.target.value }, () => {\r\n const cep = this.state.cep;\r\n if (cep === '') {\r\n this.setState({ lojas: this.state.allLojas });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n cepResolve = async () => {\r\n this.setState({ loading: true });\r\n let enderecoInfo = {};\r\n enderecoInfo = await services.consultaCep(this.state.cep);\r\n\r\n if (enderecoInfo) {\r\n let lojasProximas = [];\r\n\r\n const lojas = this.state.allLojas;\r\n const cep = this.state.cep;\r\n\r\n\r\n lojasProximas = await services.returnNextStore(lojas, cep);\r\n\r\n if (lojasProximas.length > 0) this.setState({ lojas: lojasProximas })\r\n else {\r\n alert('Não foi encontrada nenhuma loja próxima');\r\n }\r\n }\r\n this.setState({ loading: false });\r\n }\r\n\r\n handleKeyUp = async (event) => {\r\n if (event.keyCode === 13) {\r\n this.cepResolve();\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n render() {\r\n return (\r\n
\r\n\r\n {\r\n this.state.loadingPage ? (\r\n \r\n ) : ''\r\n }\r\n\r\n
\r\n\r\n {\r\n !this.state.logado ? (\r\n
\r\n

Encontre uma loja próxima

\r\n\r\n
\r\n \r\n \r\n {this.state.loading ? \"gif\" : ''}\r\n \r\n
\r\n
\r\n ) : (\r\n
\r\n

PEDIDOS WEBDEV2

\r\n
\r\n )\r\n }\r\n\r\n\r\n\r\n {\r\n !this.state.logado ?

Confira nossas Unidades

:\r\n\r\n this.state.lojas.length !== 0 ?

Lojas próxima a você

:\r\n

Infelizmente não encontramos nenhuma loja próxima

\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\nconst mapStateToProps = state => ({\r\n rdUser: state.user\r\n})\r\n\r\nconst mapDispathToPros = dispatch => bindActionCreators(Actions, dispatch)\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispathToPros)(Home))\r\n\r\n","import React, { Component } from 'react';\nimport './App.css';\nimport { withRouter } from \"react-router-dom\";\nimport Home from './pages/home/Home';\n\nclass App extends Component {\n\n state = {\n waitingFor: false\n }\n\n render() {\n return (\n
\n \n
\n );\n }\n}\n\nexport default withRouter(App);\n","import styled from \"styled-components\"\n\nexport const Teste = styled.a`\n font-size : 20px;\n`\n\n\nexport const ContainerAdress = styled.div`\n padding : 10px;\n border-radius : 10px;\n background : #fff;\n margin-bottom : 10px;\n position : relative;\n box-shadow: 1px 1px 5px #999;\n`\n\n\nexport const ContainerRow = styled.div`\n display : flex;\n flex-direction : row;\n align-items : center;\n justify-content :space-between;\n width : 100%;\n margin : 0px 0 20px!important;\n padding : 10px 0px 0px !important;\n border-bottom : 1px solid #eee; \n \n`\n\nexport const TitleEnderco = styled.h2`\n font-size : 22px;\n margin : 0 !important;\n font-family: 'Arima Madurai', cursive !important;\n font-weight : bold;\n padding : 0 !important;\n`\n\n\nexport const CardAdress = styled.div`\n width: 100%;\n padding: 10px;\n border-radius: 8px;\n background: #fff;\n margin-bottom: 20px;\n box-shadow: 1px 1px 5px #999;\n justify-content : space-between;\n display : flex;\n align-items : center;\n`\n","import React, { Component } from 'react';\r\nimport Validacoes from '../../libs/Validacoes';\r\nimport API from './../../API/Api';\r\nimport './FormCliente.css'\r\nimport { Button, Modal } from 'react-bootstrap';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { IoMdArrowBack } from \"react-icons/io\"\r\nimport { faArrowLeft } from '@fortawesome/free-solid-svg-icons';\r\nimport { Redirect, withRouter } from 'react-router-dom';\r\nimport services from './../../services/index';\r\nimport Loading from './../loading/Loading';\r\nimport Spinner from './../spinner/Spinner'\r\nimport { IoIosAdd, IoMdCreate, IoIosCloseCircle, IoMdTrash } from \"react-icons/io\"\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport ButtonMaterial from '@material-ui/core/Button';\r\nimport { isEmpty, isObject } from \"lodash\"\r\n\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\"\r\nimport * as Actions from \"../../store/actions\"\r\n\r\n\r\n\r\nimport { CardAdress, ContainerRow, TitleEnderco, ContainerAdress } from \"./style\"\r\n\r\n\r\nclass FormCliente extends Component {\r\n\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.nameRef = React.createRef();\r\n\t}\r\n\r\n\r\n\tstate = {\r\n\t\tnome: '',\r\n\t\temail: '',\r\n\t\tcpf: '',\r\n\t\tdt_nascmimento: '',\r\n\t\tddd: '',\r\n\t\ttelefone: '',\r\n\t\tsenha: '',\r\n\t\tloading: false,\r\n\t\tlogradouro: '',\r\n\t\tnumero: '',\r\n\t\tbairro: '',\r\n\t\tcidade: '',\r\n\t\testado: '',\r\n\t\tcep: '',\r\n\t\tcomplemento: '',\r\n\t\tponto_referencia: '',\r\n\t\tdescricao: '',\r\n\t\tshowAlertSucces: false,\r\n\t\ttextAlertSucces: '',\r\n\t\tshowAlertError: false,\r\n\t\ttextAlertError: '',\r\n\t\tredirec: false,\r\n\t\tisEdit: false,\r\n\t\tloadingPage: false,\r\n\t\tid_cliente: 0,\r\n\t\tlongitude: 0,\r\n\t\tlatitude: 0,\r\n\t\tadressSelect: { name: 'Teste', code: 1 },\r\n\t\tsearchCep: false,\r\n\t\thiddenAdress: false,\r\n\t\tallAdress: [],\r\n\t\tisLogado: false,\r\n\t\tadressInEdit: false,\r\n\t\tregisteringNewAdress: false,\r\n\t\toldAdress: {},\r\n\t\tcurrentIDEndereco: 0,\r\n\t\tenderecoPrincipal: false,\r\n\t\tgoTo: 0\r\n\t};\r\n\r\n\r\n\tcomponentDidMount() {\r\n\t\tthis.InitApp();\r\n\t\tlet objAdress = null;\r\n\r\n\t\ttry {\r\n\t\t\tconst aux = this.props.match.params.objAdress;\r\n\t\t\tobjAdress = JSON.parse(aux)\r\n\t\t} catch (error) {\r\n\t\t\tconsole.log(error)\r\n\t\t\tobjAdress = {}\r\n\t\t}\r\n\r\n\t\tif (objAdress.ogot) {\r\n\t\t\treturn this.setState({ goTo: objAdress.ogot });\r\n\t\t}\r\n\r\n\t\tif (objAdress && !isEmpty(objAdress)) {\r\n\t\t\ttry {\r\n\t\t\t\tconst obj = objAdress;\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tcep: obj.cep\r\n\t\t\t\t}, () => {\r\n\t\t\t\t\tthis.handleCep();\r\n\t\t\t\t});\r\n\r\n\t\t\t} catch (error) {\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\r\n\r\n\tInitApp = async () => {\r\n\t\tthis.setState({ loadingPage: true });\r\n\t\ttry {\r\n\t\t\tconst isLogado = await services.isLogado()\r\n\t\t\tif (isLogado) {\r\n\t\t\t\tlet info = services.getUser();\r\n\t\t\t\tlet user = info.dados_cli;\r\n\r\n\t\t\t\tuser.endereco = info.enderecos[0];\r\n\r\n\t\t\t\tif (isObject(user.endereco) && !isEmpty(user.endereco)) {\r\n\r\n\t\t\t\t\tthis.setState({ hiddenAdress: true, allAdress: info.enderecos })\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.preencheCampos(user);\r\n\t\t\t\tthis.setState({ isLogado: true })\r\n\t\t\t}\r\n\t\t\tthis.setState({ loadingPage: false });\r\n\t\t} catch (error) {\r\n\t\t\tthis.setState({ loadingPage: false });\r\n\t\t}\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpreencheCampos = (user) => {\r\n\t\tconst { endereco } = user;\r\n\r\n\t\tthis.setState({\r\n\t\t\tnome: user.nome_completo,\r\n\t\t\tcpf: user.cpf,\r\n\t\t\temail: user.email,\r\n\t\t\tddd: user.ddd1,\r\n\t\t\ttelefone: user.telefone1,\r\n\t\t\tsenha: 'naoalterousenha**',\r\n\t\t\tcep: endereco.cep,\r\n\t\t\tlogradouro: endereco.logradouro,\r\n\t\t\tnumero: endereco.numero,\r\n\t\t\tbairro: endereco.bairro,\r\n\t\t\tcomplemento: endereco.complemento || '',\r\n\t\t\testado: endereco.estado,\r\n\t\t\tcidade: endereco.cidade,\r\n\t\t\tponto_referencia: endereco.ponto_referencia,\r\n\t\t\tisEdit: true,\r\n\t\t\tdescricao: endereco.descricao,\r\n\t\t\tlatitude: endereco.latitude,\r\n\t\t\tlongitude: endereco.longitude,\r\n\t\t\tenderecoPrincipal: endereco.principal,\r\n\t\t\tid_cliente: user.id_cliente\r\n\t\t});\r\n\t}\r\n\r\n\r\n\tlogIn = async (email, password) => {\r\n\t\tconst dataLogin = { email, password }\r\n\r\n\t\ttry {\r\n\t\t\tlet headers = { \"Content-Type\": \" application/json\" }\r\n\t\t\tconst response = await API.post('login', dataLogin, { headers: headers });\r\n\r\n\t\t\tif (response.status === 200) {\r\n\r\n\t\t\t\tthis.props.setUserLogado(response.data.dados_cli);\r\n\t\t\t\tthis.props.setAdressUser(response.data.enderecos);\r\n\t\t\t\tservices.setUser(JSON.stringify(response.data))\r\n\r\n\t\t\t\tservices.setLogado(true);\r\n\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\r\n\t\t\treturn false;\r\n\r\n\t\t} catch (error) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tredireciona = async (fromCad) => {\r\n\r\n\t\tif (this.props.match.params.objAdress) {\r\n\t\t\tif (await this.logIn(this.state.email, this.state.senha)) {\r\n\t\t\t\treturn this.props.history.goBack();\r\n\t\t\t} else {\r\n\t\t\t\talert('Ops... Algo deu errado');\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.props.history.goBack();\r\n\t}\r\n\r\n\thandleCadCli = async (e) => {\r\n\r\n\t\te.preventDefault();\r\n\t\tif (e.keyCode === 13) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Aqui começa o consumo da API\r\n\t\tif (this.validaCampos()) {\r\n\r\n\t\t\t// Chama API Passando os caras no body\r\n\t\t\tconst { nome: nome_completo, cpf, email, senha, telefone, ddd, id_cliente,\r\n\t\t\t\tlogradouro, numero, bairro, cidade, estado, cep, complemento,\r\n\t\t\t\tponto_referencia, latitude, longitude, descricao, adressInEdit, currentIDEndereco,\r\n\t\t\t\tenderecoPrincipal\r\n\t\t\t} = this.state;\r\n\r\n\r\n\t\t\tlet endereco = {};\r\n\r\n\t\t\tif (id_cliente > 0 && adressInEdit) {\r\n\t\t\t\tendereco = {\r\n\t\t\t\t\tlogradouro: logradouro,\r\n\t\t\t\t\tnumero: numero,\r\n\t\t\t\t\tbairro: bairro,\r\n\t\t\t\t\tcidade: cidade,\r\n\t\t\t\t\testado: estado,\r\n\t\t\t\t\tcep: cep,\r\n\t\t\t\t\tcomplemento: complemento,\r\n\t\t\t\t\tponto_referencia: ponto_referencia,\r\n\t\t\t\t\tlatitude: latitude,\r\n\t\t\t\t\tlongitude: longitude,\r\n\t\t\t\t\tdescricao: descricao,\r\n\t\t\t\t\tid_endereco: currentIDEndereco,\r\n\t\t\t\t\tenderecoPrincipal: enderecoPrincipal,\r\n\t\t\t\t}\r\n\t\t\t} else if (id_cliente > 0 && !adressInEdit) {\r\n\t\t\t\tendereco = {};\r\n\t\t\t} else if (id_cliente === 0) {\r\n\t\t\t\tendereco = endereco = {\r\n\t\t\t\t\tlogradouro: logradouro,\r\n\t\t\t\t\tnumero: numero,\r\n\t\t\t\t\tbairro: bairro,\r\n\t\t\t\t\tcidade: cidade,\r\n\t\t\t\t\testado: estado,\r\n\t\t\t\t\tcep: cep,\r\n\t\t\t\t\tcomplemento: complemento,\r\n\t\t\t\t\tponto_referencia: ponto_referencia,\r\n\t\t\t\t\tlatitude: latitude,\r\n\t\t\t\t\tlongitude: longitude,\r\n\t\t\t\t\tdescricao: descricao,\r\n\t\t\t\t\tenderecoPrincipal: enderecoPrincipal\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\r\n\t\t\tlet data = {\r\n\t\t\t\tnome_completo: nome_completo,\r\n\t\t\t\tcpf: cpf,\r\n\t\t\t\temail: email,\r\n\t\t\t\tsenha: senha,\r\n\t\t\t\ttelefone: telefone,\r\n\t\t\t\tddd: ddd,\r\n\t\t\t\tid_cliente: id_cliente,\r\n\t\t\t\tendereco\r\n\t\t\t}\r\n\r\n\r\n\t\t\tlet headers = {};\r\n\r\n\t\t\tif (id_cliente > 0) {\r\n\t\t\t\theaders = services.getHeadersAndCli().headers;\r\n\t\t\t} else {\r\n\t\t\t\theaders = { \"Content-Type\": \" application/json\" };\r\n\t\t\t}\r\n\r\n\r\n\t\t\tthis.loading(true);\r\n\r\n\t\t\ttry {\r\n\r\n\r\n\t\t\t\tconst response = await API.put('cliente', data, { headers });\r\n\r\n\t\t\t\tvar dataLogin = {\r\n\t\t\t\t\temail: data.email,\r\n\t\t\t\t\tpassword: data.senha\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (!this.state.isEdit) {\r\n\t\t\t\t\tvar login = await API.post('login', dataLogin, { headers: headers });\r\n\t\t\t\t\tif (login.status === 200) {\r\n\t\t\t\t\t\tservices.setUser(JSON.stringify(login.data))\r\n\t\t\t\t\t\tthis.redireciona();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.resolveAlert('Cadastro efetudo.', false);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// Tem que atualizar as informaçoes do cliente \r\n\t\t\t\t\tservices.atualizaInfoCliLogado(data);\r\n\r\n\t\t\t\t\tif (this.props.handleChange) {\r\n\t\t\t\t\t\tthis.props.handleChange();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tawait this.InitApp();\r\n\t\t\t\t\tthis.setState({ adressInEdit: false });\r\n\t\t\t\t\tthis.resolveAlert('Cadastro Atualizado.', false);\r\n\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.loading(false);\r\n\r\n\t\t\t} catch (error) {\r\n\t\t\t\tthis.loading(false);\r\n\t\t\t\tif (error.response) {\r\n\t\t\t\t\t//\tconsole.log(response);\r\n\t\t\t\t\tif (error.response['data']) {\r\n\t\t\t\t\t\tif (error.response.status === 409 && error.response.data.message === 'Duplicate register') {\r\n\t\t\t\t\t\t\tthis.resolveAlert('Parece que já temos um cadastro com o mesmo E-mail ou CPF', true);\r\n\t\t\t\t\t\t} else if (error.response.status === 500) {\r\n\t\t\t\t\t\t\tthis.resolveAlert('Alguma coisa ocorreu fora do normal. Tente novamente, por favor.', true);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.resolveAlert('Alguma coisa ocorreu fora do normal. Tente novamente, por favor.', true);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.resolveAlert('Parece que estamos fora do ar. Por favor, tente novamente mais tarde.', true);\r\n\t\t\t\t}\r\n\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t}\r\n\r\n\r\n\r\n\r\n\tdeleteAdress = async (indexAdress) => {\r\n\t\ttry {\r\n\t\t\tthis.setState({ loadingPage: true });\r\n\r\n\t\t\tconst adress = this.state.allAdress[indexAdress];\r\n\r\n\t\t\tconst itWasPrincipal = this.state.allAdress[indexAdress].principal;\r\n\r\n\t\t\tif (this.state.allAdress.length === 1) {\r\n\t\t\t\tthis.setState({ loadingPage: false })\r\n\t\t\t\treturn this.resolveAlert('Não é possível excluir o único endereço', true);\r\n\t\t\t}\r\n\r\n\t\t\tconst response = await services.deleteAdress({\r\n\t\t\t\tid_endereco: adress.id_endereco\r\n\t\t\t});\r\n\r\n\t\t\tthis.setState({ loadingPage: false });\r\n\r\n\r\n\r\n\t\t\tif (response.status === 200) {\r\n\r\n\t\t\t\tconst user = services.getUser();\r\n\t\t\t\tconst enderecos = user.enderecos.filter(e => e.id_endereco !== adress.id_endereco);\r\n\r\n\t\t\t\tif (itWasPrincipal) {\r\n\t\t\t\t\tuser.enderecos[0].principal = true;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tuser.enderecos = enderecos;\r\n\r\n\t\t\t\tservices.setUser(JSON.stringify(user));\r\n\r\n\t\t\t\tthis.setState({ allAdress: enderecos });\r\n\r\n\t\t\t\tif (this.props.handleChange) {\r\n\t\t\t\t\tthis.props.handleChange();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.resolveAlert('Registro excluído.');\r\n\t\t\t\treturn;\r\n\t\t\t} else {\r\n\t\t\t\tif (response.status === 1200) {\r\n\t\t\t\t\treturn this.resolveAlert('Não é possível excluir endereço, pois o mesmo já foi usado em algum pedido.', true);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tthis.resolveAlert('Ops... Algo deu errado', true)\r\n\r\n\t\t\tthis.setState({ loadingPage: false });\r\n\t\t} catch (error) {\r\n\t\t\tthis.setState({ loadingPage: false });\r\n\t\t}\r\n\t}\r\n\r\n\r\n\r\n\tputAdressInEdit = (indexAdress) => {\r\n\t\tconst adress = this.state.allAdress[indexAdress];\r\n\r\n\r\n\t\tthis.setState({\r\n\t\t\tcep: adress.cep,\r\n\t\t\tlogradouro: adress.logradouro,\r\n\t\t\tnumero: adress.numero,\r\n\t\t\tbairro: adress.bairro,\r\n\t\t\tcomplemento: adress.complemento || '',\r\n\t\t\testado: adress.estado,\r\n\t\t\tcidade: adress.cidade,\r\n\t\t\tponto_referencia: adress.ponto_referencia,\r\n\t\t\thiddenAdress: false,\r\n\t\t\tdescricao: adress.descricao,\r\n\t\t\tadressInEdit: true,\r\n\t\t\tcurrentIDEndereco: adress.id_endereco,\r\n\t\t\tenderecoPrincipal: adress.principal\r\n\t\t});\r\n\t}\r\n\r\n\r\n\tputAnNewAdress = () => {\r\n\t\tthis.setState({\r\n\t\t\tcep: '',\r\n\t\t\tlogradouro: '',\r\n\t\t\tnumero: '',\r\n\t\t\tbairro: '',\r\n\t\t\tcomplemento: '',\r\n\t\t\testado: '',\r\n\t\t\tcidade: '',\r\n\t\t\tponto_referencia: '',\r\n\t\t\thiddenAdress: false,\r\n\t\t\tdescricao: '',\r\n\t\t\tregisteringNewAdress: true,\r\n\t\t\tenderecoPrincipal: false,\r\n\t\t\toldAdress: {\r\n\t\t\t\tcep: this.state.cep,\r\n\t\t\t\tnumero: this.state.numero,\r\n\t\t\t\tbairro: this.state.bairro,\r\n\t\t\t\tcomplemento: this.state.complemento,\r\n\t\t\t\testado: this.state.estado,\r\n\t\t\t\tcidade: this.state.cidade,\r\n\t\t\t\tponto_referencia: this.state.ponto_referencia,\r\n\t\t\t\tdescricao: this.state.descricao,\r\n\t\t\t\tlogradouro: this.state.logradouro,\r\n\t\t\t\tenderecoPrincipal: this.state.enderecoPrincipal\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\r\n\r\n\tcloseAdressEdit = () => {\r\n\t\tif (!this.state.adressInEdit) {\r\n\t\t\tthis.setState({\r\n\t\t\t\thiddenAdress: true,\r\n\t\t\t\tadressInEdit: false,\r\n\t\t\t\tregisteringNewAdress: false,\r\n\t\t\t\tcep: this.state.oldAdress.cep,\r\n\t\t\t\tnumero: this.state.oldAdress.numero,\r\n\t\t\t\tbairro: this.state.oldAdress.bairro,\r\n\t\t\t\tcomplemento: this.state.oldAdress.complemento,\r\n\t\t\t\testado: this.state.oldAdress.estado,\r\n\t\t\t\tcidade: this.state.oldAdress.cidade,\r\n\t\t\t\tponto_referencia: this.state.oldAdress.ponto_referencia,\r\n\t\t\t\tdescricao: this.state.oldAdress.descricao,\r\n\t\t\t\tlogradouro: this.state.oldAdress.logradouro,\r\n\t\t\t\tenderecoPrincipal: this.state.enderecoPrincipal\r\n\t\t\t})\r\n\t\t} else {\r\n\t\t\tthis.setState({\r\n\t\t\t\thiddenAdress: true,\r\n\t\t\t\tadressInEdit: false,\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\r\n\r\n\tlogaIn = async () => {\r\n\t\tconst dataLogin = { email: this.state.email, password: this.state.senha }\r\n\r\n\t\ttry {\r\n\t\t\tlet headers = { \"Content-Type\": \" application/json\" }\r\n\t\t\tconst response = await API.post('login', dataLogin, { headers: headers });\r\n\r\n\t\t\tthis.loading(false);\r\n\r\n\t\t\tif (response.status === 200) {\r\n\r\n\t\t\t\tthis.props.setUserLogado(response.data.dados_cli);\r\n\t\t\t\tthis.props.setAdressUser(response.data.enderecos);\r\n\t\t\t\tservices.setUser(JSON.stringify(response.data))\r\n\r\n\t\t\t\tservices.setLogado(true);\r\n\r\n\t\t\t\treturn true;\r\n\t\t\t} else {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tatualizaDadosLocais = () => {\r\n\t\tlet user = services.getUser();\r\n\t\tif (user) {\r\n\t\t\tuser = JSON.parse(user);\r\n\t\t}\r\n\t}\r\n\r\n\thandleCPF = (e) => {\r\n\t\tif (e.target.validity.valid)\r\n\t\t\tthis.setState({ [e.target.name]: e.target.value });\r\n\t}\r\n\r\n\thandleDDD = (e) => {\r\n\t\tif (e.target.validity.valid)\r\n\t\t\tthis.setState({ [e.target.name]: e.target.value });\r\n\t}\r\n\r\n\thandleTelefone = (e) => {\r\n\t\tif (e.target.validity.valid)\r\n\t\t\tthis.setState({ [e.target.name]: e.target.value });\r\n\t}\r\n\r\n\r\n\r\n\thandleAllInputs = (e) => {\r\n\t\tthis.setState({ [e.target.name]: e.target.value });\r\n\t}\r\n\r\n\r\n\thandleCep = async () => {\r\n\t\tthis.setState({ searchCep: true });\r\n\t\tlet cep = this.state.cep;\r\n\r\n\t\tthis.setState({\r\n\t\t\tlogradouro: '', complemento: '', bairro: '', cidade: ''\r\n\t\t\t, estado: ''\r\n\t\t});\r\n\r\n\r\n\t\tif (Validacoes.validaCEP(cep)) {\r\n\t\t\t//let url_consulta = `https://viacep.com.br/ws/${cep}/json/`;\r\n\t\t\ttry {\r\n\t\t\t\t// const response = await fetch(url_consulta)\r\n\t\t\t\t// const rCep = await response.json();\r\n\r\n\t\t\t\tconst response = await services.getCep(cep);\r\n\r\n\t\t\t\tif (!response.logradouro) {\r\n\t\t\t\t\t//this.resolveAlert('Cep inválido', true);\r\n\r\n\t\t\t\t\tthis.setState({ searchCep: false });\r\n\t\t\t\t\tthis.resolveAlert('Cep inválido', true);\r\n\t\t\t\t\treturn\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tlogradouro: response.logradouro, complemento: '', bairro: response.bairro, cidade: response.localidade\r\n\t\t\t\t\t, estado: response.estado, longitude: response.longitude, latitude: response.latitude, cidade: response.cidade\r\n\t\t\t\t});\r\n\r\n\t\t\t\tthis.setState({ searchCep: false });\r\n\r\n\t\t\t} catch (e) {\r\n\t\t\t\tthis.setState({ searchCep: false });\r\n\t\t\t\tconsole.log(e);\r\n\r\n\t\t\t}\r\n\r\n\t\t} else {\r\n\t\t\tthis.setState({ searchCep: false });\r\n\t\t\tthis.resolveAlert('Cep inválido', true);\r\n\r\n\t\t\treturn false\r\n\t\t}\r\n\r\n\r\n\r\n\t}\r\n\r\n\r\n\tvalidaCampos = () => {\r\n\t\tconst { nome, email, cpf, ddd, telefone, senha, logradouro, numero, bairro,\r\n\t\t\tcidade, estado, cep, descricao\r\n\t\t} = this.state;\r\n\r\n\r\n\t\tif (!nome || !email || !cpf || !ddd || !telefone || !senha || !logradouro || !descricao ||\r\n\r\n\t\t\t!numero || !bairro || !cidade || !estado || !cep) {\r\n\t\t\tthis.resolveAlert('Campos obrigatórios não preenchidos', true);\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\r\n\t\tif (!Validacoes.validaCPF(cpf) || !cpf) {\r\n\t\t\tthis.resolveAlert('CPF Inválido', true);\r\n\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tif (!Validacoes.validaEMAIL(email) || !email) {\r\n\t\t\tthis.resolveAlert('E-MAIL Inválido', true);\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tif (!ddd || !telefone || !senha || !nome) {\r\n\t\t\tthis.resolveAlert('Dados Obrigatórios não preenchidos', true);\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\r\n\t\tif (!logradouro || !numero || !bairro || !cidade || !estado || !cep) {\r\n\t\t\tthis.resolveAlert('Campos obrigatórios não preenchidos', true);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\treturn true;\r\n\t}\r\n\r\n\r\n\thandleCloseAll = () => {\r\n\t\tlet isError = this.state.showAlertError;\r\n\t\tthis.setState({ showAlertError: false, showAlertSucces: false, textAlertError: '', textAlertSucces: '' }, () => {\r\n\t\t\tif (this.state.isEdit && !isError) {\r\n\t\t\t\tthis.setState({ redirec: false });\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tloading = (status) => {\r\n\t\tif (status) {\r\n\t\t\tthis.setState({ loading: true })\r\n\t\t} else {\r\n\t\t\tthis.setState({ loading: false });\r\n\t\t}\r\n\t}\r\n\r\n\tresolveAlert = (text, danger) => {\r\n\t\tif (text) {\r\n\t\t\tif (danger) {\r\n\t\t\t\tthis.setState({ showAlertError: true, textAlertError: text });\r\n\t\t\t} else {\r\n\t\t\t\tthis.setState({ showAlertSucces: true, textAlertSucces: text })\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tresolveSubmit = (e) => {\r\n\t\te.preventDefault();\r\n\t\treturn;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\tregisterAdress = async () => {\r\n\t\ttry {\r\n\t\t\tconst body = {\r\n\t\t\t\tid_cliente: this.state.id_cliente,\r\n\t\t\t\tendereco: {\r\n\t\t\t\t\tcep: this.state.cep,\r\n\t\t\t\t\tnumero: this.state.numero,\r\n\t\t\t\t\tbairro: this.state.bairro,\r\n\t\t\t\t\tcomplemento: this.state.complemento,\r\n\t\t\t\t\testado: this.state.estado,\r\n\t\t\t\t\tcidade: this.state.cidade,\r\n\t\t\t\t\tponto_referencia: this.state.ponto_referencia,\r\n\t\t\t\t\tdescricao: this.state.descricao,\r\n\t\t\t\t\tlogradouro: this.state.logradouro,\r\n\t\t\t\t\tlongitude: this.state.longitude,\r\n\t\t\t\t\tlatitude: this.state.latitude,\r\n\t\t\t\t\tenderecoPrincipal: this.state.enderecoPrincipal\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\tconst response = await services.registerAdress(body);\r\n\r\n\t\t\tif (response.status === 200) {\r\n\t\t\t\tlet user = services.getUser();\r\n\t\t\t\tbody.endereco.id_endereco = response.id_endereco;\r\n\t\t\t\tuser.enderecos.push(body.endereco);\r\n\t\t\t\tservices.setUser(JSON.stringify(user));\r\n\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tallAdress: user.enderecos,\r\n\t\t\t\t\thiddenAdress: true,\r\n\t\t\t\t\tregisteringNewAdress: false\r\n\t\t\t\t})\r\n\r\n\t\t\t\tthis.resolveAlert('Cadastro Concluído');\r\n\t\t\t} else {\r\n\t\t\t\tthis.resolveAlert('Ops... Algo deu errado.');\r\n\t\t\t}\r\n\r\n\t\t} catch (error) {\r\n\t\t\tthis.resolveAlert('Ops... Algo deu errado.');\r\n\t\t}\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\thandleEnderecoPrincipal = () => {\r\n\t\tthis.setState({ enderecoPrincipal: !this.state.enderecoPrincipal });\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\trender() {\r\n\t\tconst { allAdress, hiddenAdress } = this.state;\r\n\r\n\t\tif (this.state.loadingPage) {\r\n\t\t\treturn \r\n\t\t}\r\n\r\n\r\n\t\treturn (\r\n\r\n\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t{this.state.showAlertError ?

{this.state.textAlertError}

: ''\r\n\t\t\t\t\t}\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

Dados Pessoais

\r\n\r\n\r\n\t\t\t\t\t\t\t\t{/* onsubmit=\"return false;\"\r\n onSubmit={this.handleCadCli} */}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state.isEdit ? ()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ()\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tEndereço\r\n\t\t\t\t\t\t\t\t\t\t{this.state.isLogado && !this.state.registeringNewAdress && !this.state.adressInEdit && \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t{!hiddenAdress && \r\n\t\t\t\t\t\t\t\t\t\t{this.state.isLogado && \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\r\n\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t{/*
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
*/}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t{this.state.registeringNewAdress &&
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tCadastrar Endereço\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
}\r\n\r\n\r\n\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\thiddenAdress && (\r\n\t\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tallAdress && allAdress.length > 0 && allAdress.map((ad, index) => {\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
{ad.logradouro}, {ad.numero}, {ad.cidade} - {ad.estado}
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* {(ad.principal === 1 || ad.principal === true) ?

Principal

: null} */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.deleteAdress(index)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.putAdressInEdit(index)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t}\r\n\r\n\r\n\r\n\r\n\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t{!this.state.loading ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t!this.state.registeringNewAdress && \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.isEdit ? 'ATUALIZAR CADASTRO' : 'CADASTRAR'}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t) : \r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\r\n\r\n\r\n\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\r\n\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tOps... Algo deu errado\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t

{this.state.textAlertError}

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tInfo.\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t

{this.state.textAlertSucces}

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t);\r\n\t}\r\n}\r\n\r\n\r\nconst mapStateToProps = state => ({\r\n\trdUser: state.user\r\n})\r\n\r\nconst mapDispathToPros = dispatch => bindActionCreators(Actions, dispatch)\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispathToPros)(FormCliente))\r\n","import React, { Component } from 'react';\r\nimport Header from '../../components/header/Header';\r\nimport FormCliente from '../../components/FormCliente/FormCliente';\r\nimport { faTintSlash } from '@fortawesome/free-solid-svg-icons';\r\n\r\n\r\n\r\nexport default class LogCadastroCliente extends Component {\r\n\r\n\r\n\tstate = {\r\n\t\tchange: false,\r\n\t\tadress: {},\r\n\t}\r\n\r\n\r\n\tcomponentDidMount() {\r\n\t\tconst objAdress = this.props.match.params.objAdress;\r\n\t\tif (objAdress) {\r\n\t\t\tthis.setState({ adress: objAdress });\r\n\t\t}\r\n\t}\r\n\r\n\r\n\thandleChange = () => {\r\n\t\tthis.setState({ change: !this.state.change });\r\n\t}\r\n\r\n\r\n\trender() {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t);\r\n\t}\r\n}\r\n","import styled from \"styled-components\";\nimport { Modal } from 'react-bootstrap';\n\nexport const ContainerAdressChoice = styled.div`\n width : 100%;\n padding : 20px;\n display : flex;\n flex-direction: column; \n text-align : center;\n`\n\nexport const CustomModal = styled(Modal)`\n\n`","import React, { Component } from 'react';\r\nimport { faShoppingCart, faPencilAlt } from '@fortawesome/free-solid-svg-icons'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\n\r\nimport services from '../../services/index';\r\nimport GLOBAL from \"../../global\"\r\n\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\"\r\nimport * as Actions from \"../../store/actions\"\r\nimport ButtonMaterial from '@material-ui/core/Button';\r\nimport styles from './style.module.css'\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { isEmpty, isArray } from \"lodash\"\r\nimport { AiOutlineShoppingCart } from \"react-icons/ai\";\r\nimport {\r\n ContainerAdressChoice,\r\n CustomModal\r\n} from \"./style\"\r\n\r\n\r\nimport './ItensPedido.css'\r\n\r\n\r\nclass InfoPedidos extends Component {\r\n\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n let entregaAgendada = false;\r\n let retiradaAgendada = false;\r\n\r\n const loja = services.getLastStore() || {};\r\n\r\n\r\n\r\n if (!isEmpty(loja)) {\r\n if (isArray(loja)) {\r\n entregaAgendada = loja[0].entrega_agendada === 'S'\r\n retiradaAgendada = loja[0].retirada_agendada === 'S'\r\n }\r\n this.props.setStores(loja)\r\n }\r\n\r\n this.state = {\r\n total: 0,\r\n subtotal: 0,\r\n teste: [],\r\n goPagamento: false,\r\n additionalClass: this.props.additionalClass || '',\r\n loja: loja,\r\n goEditarItens: false,\r\n taxa: 0,\r\n showAdressChoice: false,\r\n cep: '',\r\n entregaComAgenda: entregaAgendada,\r\n retiradaComAgenda: retiradaAgendada,\r\n loading: false\r\n }\r\n }\r\n\r\n\r\n\r\n componentDidMount() {\r\n\r\n this.setState({ taxa: this.props.taxa || 0 })\r\n }\r\n\r\n\r\n\r\n componentDidUpdate(prevProps) {\r\n if (this.props !== prevProps) {\r\n let response = services.totalizaItens(this.props.rdOrder.itens, this.props.taxa, '', true, false, this.state.taxa);\r\n this.setState({ total: response.data.total, subtotal: response.data.subtotal, taxa: prevProps.taxa });\r\n }\r\n }\r\n\r\n\r\n\r\n findStoreByCep = async () => {\r\n try {\r\n\r\n this.setState({ loading: true });\r\n\r\n let auxStores = [];\r\n\r\n if (!isArray(this.props.rdStores.stores)) {\r\n auxStores.push(this.props.rdStores.stores);\r\n } else {\r\n auxStores = this.props.rdStores.stores;\r\n }\r\n\r\n const adress = await services.returnNextStore(auxStores, this.state.cep);\r\n\r\n if (adress.length === 0) {\r\n return alert('Desculpe, mas essa loja não atende ao cep informado.')\r\n }\r\n\r\n const enderecoInfo = await services.consultaCep(this.state.cep);\r\n this.setState({ loading: false });\r\n this.props.history.push('CadastroCliente/' + JSON.stringify(enderecoInfo));\r\n } catch (error) {\r\n this.setState({ loading: false });\r\n alert('Ops... Algo deu errado');\r\n }\r\n }\r\n\r\n\r\n\r\n handleCep = (e) => {\r\n const word = e.target.value.replace(/\\D/g, '');\r\n this.setState({ cep: word });\r\n }\r\n\r\n\r\n goPag = async () => {\r\n\r\n\r\n if (this.state.loja[0].val_min_pedido > this.state.total) {\r\n return alert(\"O valor total de sua compra é menor que o valor mínimo para o pedido\")\r\n }\r\n\r\n const isLogado = services.getLogado();\r\n\r\n if (isLogado) {\r\n this.props.setDataEndOrder({\r\n dados_loja: this.state.loja, logado: true,\r\n itens: this.props.rdOrder.itens,\r\n subtotal: this.state.subtotal,\r\n taxa: this.state.taxa,\r\n total: this.state.total,\r\n funcVerificaLoja: this.props.funcVerificaLoja,\r\n });\r\n this.props.history.push('FinalizaPagamento')\r\n } else {\r\n\r\n this.setState({ showAdressChoice: true })\r\n }\r\n }\r\n\r\n\r\n\r\n handleRetira = () => {\r\n this.props.history.push('CadastroCliente/{}');\r\n }\r\n\r\n\r\n\r\n goEditaPedido = () => {\r\n this.props.history.push('LancaPedido')\r\n }\r\n\r\n\r\n editItem(item, index) {\r\n debugger\r\n if (this.props.openItem) {\r\n this.props.openItem(item, index);\r\n }\r\n }\r\n\r\n render() {\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n

Carrinho de compras

\r\n
\r\n\r\n
\r\n\r\n {\r\n this.props.rdOrder.itens.map((item, index) => {\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

{`${item.quantidade} x ${item.produto}`}

\r\n
\r\n
\r\n\r\n

R$ {item.total.toFixed(2)}

\r\n
\r\n
\r\n\r\n\r\n\r\n {\r\n item.partes.massa ? (\r\n item.partes.massa.descricao ? (\r\n
\r\n
\r\n

      Massa -> {`${item.partes.massa.descricao} `} {item.partes.massa.preco ? `( R$ ${item.partes.massa.preco.toFixed(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 item.partes.borda ? (\r\n item.partes.borda.descricao ? (\r\n
\r\n
\r\n

      Borda -> {`${item.partes.borda.descricao} `} {item.partes.borda.preco ? `( R$ ${item.partes.borda.preco.toFixed(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 item.partes ? (\r\n item.partes.produtos.map((parte, index) => {\r\n return (\r\n
\r\n
\r\n

      {`${parte.produto} `} {parte.produto.PRECO ? `( R$ ${parte.produto.PRECO.toFixed(2)} )` : \"\"}

\r\n
\r\n\r\n
\r\n )\r\n })\r\n\r\n ) : ''\r\n }\r\n\r\n {\r\n item.partes ? (\r\n item.partes.toppings.map((topping, index) => {\r\n debugger\r\n return (\r\n
\r\n
\r\n

      {`++${topping.produto} `} {topping.PRECO ? `( R$ ${topping.PRECO.toFixed(2)} )` : \"\"}

\r\n
\r\n\r\n
\r\n )\r\n })\r\n\r\n ) : ''\r\n }\r\n\r\n {\r\n item.partes.partesCombo ? (\r\n item.partes.partesCombo.map((produto, index) => {\r\n return (\r\n
\r\n
\r\n

      {`${produto.produto} `}

\r\n
\r\n\r\n
\r\n )\r\n })\r\n\r\n ) : ''\r\n }\r\n\r\n {\r\n item.partes.prodGratis ? (\r\n item.partes.prodGratis.produto ? (\r\n
\r\n
\r\n

    Promo -> {`${item.partes.prodGratis.produto} `}

\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 item.obs ? (\r\n
\r\n
\r\n

      {`--${item.obs} `}

\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 {this.props.isPag &&
\r\n \r\n Taxa de entrega\r\n \r\n \r\n R$ {Number(this.state.taxa).toFixed(2) || '0.00'}\r\n \r\n
}\r\n\r\n\r\n\r\n\r\n
\r\n \r\n Total do pedido\r\n \r\n \r\n R$ {(this.state.total.toFixed(2))}\r\n \r\n
\r\n\r\n {\r\n this.state.total > 0 && this.props.showPag ? (\r\n Finalizar Pedido\r\n ) : ''\r\n\r\n }\r\n\r\n {\r\n !this.props.showPag ? (\r\n Editar Pedido\r\n ) : ''\r\n }\r\n\r\n
\r\n
\r\n\r\n\r\n this.setState({ showAdressChoice: false })}>\r\n \r\n

Por favor, nos informe seu CEP

\r\n

Dessa forma, conseguiremos verificar se entregamos no seu endereço

\r\n \r\n \r\n {this.state.loading ? 'Aguarde...' : 'VERIFICAR CEP'}\r\n \r\n\r\n

Ou

\r\n\r\n Retire na loja\r\n\r\n {\r\n this.state.entregaComAgenda && (\r\n <>\r\n

Ou se preferir

\r\n Agende uma entrega\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\nconst mapStateToProps = state => ({\r\n rdUser: state.user,\r\n rdOrder: state.order,\r\n rdStores: state.stores\r\n})\r\n\r\nconst mapDispathToPros = dispatch => bindActionCreators(Actions, dispatch)\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispathToPros)(InfoPedidos))\r\n\r\n\r\n\r\n","import React from 'react';\r\nimport './InfoLoja.css'\r\n\r\n\r\n\r\nconst InfoLoja = (props) => {\r\n\r\n\tfunction resolveImage() {\r\n\t\tlet imagem = props.imagem\r\n\t\treturn imagem ? `${imagem}` : `assets/sem_imagem.png`\r\n\t}\r\n\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\"imagem\"\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t

{props.descricao}

\r\n\t\t\t\t\t

Tempo de espera : {props.tempo_entrega}

\r\n\t\t\t\t\t

Telefone para Contato : {props.TelefonesDesc}

\r\n\t\t\t\t\t

Horário de funcionamento : {props.HorariosDesc}

\r\n\t\t\t\t\t

Valor mínimo para pedido : R$ {props.val_min_pedido ? props.val_min_pedido.toFixed(2) : '0.00'}

\r\n\t\t\t\t\t

Taxa de Entrega : R$ {props.taxa_entrega ? props.taxa_entrega.toFixed(2) : '0.00'}

\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tprops.aberto ? (\r\n\r\n\t\t\t\t\t\t\tLoja Aberta \r\n\r\n\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\tLoja Fechada \r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n}\r\n\r\n\r\n\r\n\r\n\r\nexport default InfoLoja;","import styled from \"styled-components\";\nimport NumberInput from \"react-number-input\"\n\nexport const InputQt = styled.input`\nborder: none;\n ${({ aceitaDec }) => {\n if (aceitaDec) {\n return `\n width:140px;\n margin-left: 0px;\n border: 1px solid #999;\n border-radius: 4px;\n `\n } else {\n return \"width:39px; border : none;margin-left: 5px;\"\n }\n }} \n height: 30px;\n text-align: center;\n padding: 5px;\n font-size: 16px;\n display: inline-block; \n margin-top: -4px;\n outline : none;\n`\n\n\nexport const ColumnContainer = styled.div`\n display: flex;\n flex-direction :column;\n & > span {\n margin-bottom: 10px\n }\n`","import React, { PureComponent } from 'react';\r\nimport './LancaPedido.css'\r\nimport Header from './../../components/header/Header'\r\nimport services from './../../services/index'\r\n\r\nimport ItensPedido from '../../components/itensPedido/ItensPedido';\r\nimport InfoLoja from './../../components/infoLoja/InfoLoja';\r\nimport { faPlus, faMinus, faTrashAlt, faCheckCircle, faTimesCircle, faChevronLeft } from '@fortawesome/free-solid-svg-icons'\r\nimport { faShoppingCart, } from '@fortawesome/free-solid-svg-icons'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport Loading from './../../components/loading/Loading';\r\nimport { Modal, Button } from 'react-bootstrap';\r\nimport { FaArrowCircleUp } from \"react-icons/fa\"\r\nimport { isArray, isEmpty } from \"lodash\"\r\nimport GLOBAL from '../../global';\r\nimport styles from './style.module.css'\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\"\r\nimport * as Actions from \"../../store/actions\"\r\n\r\nimport { withRouter } from \"react-router-dom\";\r\nimport Requests from \"../../services/requests\"\r\nimport {\r\n InputQt,\r\n ColumnContainer\r\n} from \"./style\"\r\n\r\n\r\nclass LancaPedido extends PureComponent {\r\n\r\n\r\n\r\n state = {\r\n loja: {},\r\n\r\n subItem: '',\r\n taxa: 0,\r\n subtotal: 0,\r\n itens: [],\r\n copyItens: [],\r\n extras: [],\r\n extras_grande: [],\r\n extras_brotos: [],\r\n itensPedido: [],\r\n itensTemplates: [],\r\n tempProdsCombo: [],\r\n loadingPage: false,\r\n itemNow: {},\r\n qtItem: 1,\r\n total: 0,\r\n isEdit: false,\r\n indexEdit: null,\r\n showBordas: false,\r\n obsNow: '',\r\n displayItemDetail: 'none',\r\n massas: [],\r\n bordas: [],\r\n totalDoItem: 0.00,\r\n pelaMaior: false,\r\n showItemModal: false,\r\n obsItemPizza: '',\r\n objTempLancPizza: { produtos: [], massa: {}, borda: {}, toppings: [], obs: '' },\r\n heightCar: '47px',\r\n lojaAberta: false,\r\n showAlertSucces: false,\r\n textAlertSucces: '',\r\n showAlertError: false,\r\n textAlertError: '',\r\n produtosGratis: [],\r\n lancProdGratis: {},\r\n showPic: false,\r\n imgNow: '',\r\n prodNow: '',\r\n descriNow: '',\r\n textFilter: '',\r\n rightUpBtn: false,\r\n displayBanner: 'none',\r\n selectedCat: 0,\r\n itemsMenu: [],\r\n template_extras: [],\r\n }\r\n\r\n handleScroll = () => {\r\n let scroll = document.documentElement.scrollTop;\r\n\r\n if (this.state.itemsMenu.length > 0) {\r\n const refName = this.state.itemsMenu[0]['id'] + \"scroll\";\r\n if (!isEmpty(this[refName])) {\r\n const lasIndex = this.state.itemsMenu.length - 1;\r\n const { current: lastCurrent } = this[`${this.state.itemsMenu[lasIndex]['id']}scroll`];\r\n this.state.itemsMenu.map((i, index) => {\r\n if (this.state.itemsMenu[index + 1]) {\r\n const { current } = this[i['id'] + \"scroll\"];\r\n const { current: Current2 } = this[`${this.state.itemsMenu[index + 1]['id']}scroll`]\r\n\r\n if ((scroll >= (current.offsetTop - 100)) && (scroll <= (Current2.offsetTop - 100))) {\r\n this.setState({ selectedCat: index })\r\n } else if ((scroll) >= lastCurrent.offsetTop) {\r\n this.setState({ selectedCat: lasIndex })\r\n }\r\n }\r\n })\r\n }\r\n }\r\n\r\n if (scroll > 800) {\r\n if (this.state.rightUpBtn === false && this.state.heightCar === '47px') {\r\n this.setState({ rightUpBtn: true });\r\n }\r\n } else {\r\n if (this.state.rightUpBtn === true) {\r\n this.setState({ rightUpBtn: false });\r\n }\r\n }\r\n\r\n }\r\n\r\n\r\n componentWillUnmount() {\r\n window.removeEventListener('scroll', this.handleScroll);\r\n }\r\n\r\n scrolltoTop = () => {\r\n window.scrollTo({\r\n top: 0,\r\n behavior: 'smooth',\r\n });\r\n }\r\n\r\n async componentDidMount() {\r\n await this.refreshCredencials();\r\n\r\n const itensMenu = [];\r\n window.scrollTo({\r\n top: 0,\r\n behavior: 'smooth',\r\n });\r\n\r\n this.props.setAdressToDelivery({});\r\n\r\n try {\r\n window.addEventListener('scroll', this.handleScroll);\r\n\r\n\r\n if (this.state.loja) {\r\n let taxa_entrega = 0;\r\n\r\n const user = services.getUser();\r\n\r\n if (isEmpty(user)) {\r\n taxa_entrega = 0;\r\n } else {\r\n console.log(user)\r\n }\r\n\r\n\r\n this.veirificaLojaAberta(this.state.loja.id_loja);\r\n\r\n this.setState({ taxa: taxa_entrega });\r\n\r\n this.setState({ loadingPage: true });\r\n\r\n let gratis = [];\r\n let AllProds = [];\r\n\r\n try {\r\n const { id_loja } = this.state.loja;\r\n AllProds = await services.getAllProducts(id_loja);\r\n } catch (error) {\r\n console.log(error);\r\n return;\r\n }\r\n\r\n\r\n\r\n AllProds.data.forEach((element, index) => {\r\n\r\n const id = `${element.categoria.split(' ')[0]}${index}`\r\n element.id = id;\r\n itensMenu.push({ item: element.categoria, id });\r\n\r\n\r\n let produtos = element.produtos.filter(obj => obj.is_extra === 'N' || obj.is_adicional === 'S');\r\n let prodsComPromoGratis = produtos.filter(obj => obj.is_promo === 'S' && obj.prodsPromoGratis.length > 0);\r\n\r\n\r\n if (prodsComPromoGratis.length > 0) {\r\n\r\n prodsComPromoGratis.forEach(item => {\r\n let prodsGratis = item.prodsPromoGratis;\r\n let i = 0;\r\n prodsGratis.map(o => {\r\n i === 0 ? o.selected = true : o.selected = false;\r\n o.id_template = item.id_template_promo_prod_gratis;\r\n i++;\r\n\r\n });\r\n\r\n\r\n prodsGratis.forEach(item => {\r\n let aux = gratis.filter(o => o.id_produto === item.id_produto);\r\n if (aux.length === 0)\r\n gratis.push(item)\r\n });\r\n\r\n\r\n })\r\n\r\n }\r\n\r\n\r\n element.produtos = produtos;\r\n\r\n });\r\n\r\n AllProds.data.forEach(i => {\r\n this[`${i.id}scroll`] = React.createRef();\r\n })\r\n\r\n this.setState({ itens: AllProds.data, produtosGratis: gratis, copyItens: AllProds.data, itemsMenu: itensMenu });\r\n\r\n\r\n let rExtras = [];\r\n\r\n try {\r\n rExtras = await services.getExtras(this.state.loja.id_loja);\r\n } catch (error) {\r\n console.log(error);\r\n return;\r\n }\r\n\r\n\r\n try {\r\n const template_extras = await services.getTemplateExtras();\r\n this.setState({ template_extras })\r\n } catch (error) {\r\n console.log(error);\r\n return;\r\n }\r\n\r\n\r\n\r\n const { produtos: extras } = rExtras.data;\r\n this.setState({ extras: extras });\r\n\r\n\r\n\r\n let rMassasBordas = [];\r\n try {\r\n rMassasBordas = await services.getMassasAndBordas();\r\n } catch (error) {\r\n console.log(error);\r\n return;\r\n }\r\n\r\n const { massas, bordas } = rMassasBordas.data.massasandbordas;\r\n\r\n massas.map(o => o.selected = false);\r\n\r\n bordas.map(o => o.selected = false);\r\n\r\n this.setState({ massas: massas, bordas: bordas });\r\n\r\n\r\n let itens = services.getTempPedido();\r\n\r\n try {\r\n itens = JSON.parse(itens);\r\n if (itens) {\r\n this.props.setItens(itens);\r\n this.setState({ itensPedido: itens }, () => {\r\n this.calculaTotal()\r\n this.totalizaCompra();\r\n });\r\n }\r\n\r\n } catch (error) {\r\n console.log(error);\r\n services.cleanTemps();\r\n this.setState({ loadingPage: false });\r\n }\r\n\r\n\r\n this.setState({ loadingPage: false });\r\n\r\n }\r\n } catch (error) {\r\n this.setState({ loadingPage: false });\r\n console.log(error);\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n refreshCredencials = async () => {\r\n\r\n services.setAskPromo(false);\r\n\r\n\r\n const lojas = await Requests.getStores();\r\n\r\n if (lojas.error) {\r\n return alert('Ops... Algo deu errado. Vamos tentar novamente');\r\n }\r\n\r\n if (lojas.length === 0) {\r\n return alert('Ops... Nenhuma loja encontrada');\r\n }\r\n\r\n this.setState({ loja: lojas[0] })\r\n\r\n if (await services.isLogado()) {\r\n try {\r\n\r\n const user = services.getUser();\r\n if (!isEmpty(user)) {\r\n if (!isEmpty(this.props.rdUser)) {\r\n this.props.setUserLogado(user.dados_cli);\r\n this.props.setAdressUser(user.enderecos);\r\n }\r\n }\r\n\r\n\r\n if ('enderecos' in user) {\r\n if (lojas.length === 1) {\r\n this.props.setStores(lojas);\r\n services.setLastStore(JSON.stringify(lojas));\r\n } else {\r\n return this.props.history.push('/');\r\n }\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n } else {\r\n if (lojas.length === 1) {\r\n this.props.setStores(lojas);\r\n services.setLastStore(JSON.stringify(lojas));\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 handleExcludeItem = () => {\r\n try {\r\n let exclui = window.confirm('Deseja realmente excluir esse item ?');\r\n\r\n if (!exclui) return;\r\n\r\n let newArr = [];\r\n newArr = JSON.parse(JSON.stringify(this.state.itensPedido));\r\n newArr.splice(this.state.indexEdit, 1);\r\n this.props.setItens(newArr);\r\n this.setState({ itensPedido: newArr }, () => {\r\n this.calculaTotal();\r\n services.setTempPedido(JSON.stringify(newArr));\r\n });\r\n this.closeModal();\r\n this.totalizaCompra();\r\n } catch (err) {\r\n console.log(err);\r\n this.closeModal();\r\n }\r\n }\r\n\r\n\r\n totalizaCompra = () => {\r\n let tot = services.totalizaItens(this.state.itensPedido, this.state.taxa || 0, '', true);\r\n if (tot) {\r\n this.setState({ total: tot.data.total.toFixed(2) });\r\n }\r\n }\r\n\r\n handleObs = (e) => {\r\n this.setState({ obsNow: e.target.value });\r\n }\r\n\r\n\r\n editItem = (item, index) => {\r\n debugger\r\n this.recuperaItensParaEdicao(item);\r\n this.setState({ qtItem: item.quantidade, isEdit: true, indexEdit: index }, () => {\r\n this.openItem(item);\r\n });\r\n }\r\n\r\n plusItem = (e) => {\r\n e.preventDefault();\r\n this.setState({ qtItem: this.state.qtItem + 1 }, () => {\r\n if (this.state.showItemModal) this.calculaTotal();\r\n });\r\n }\r\n\r\n minusItem = (e) => {\r\n e.preventDefault();\r\n if (this.state.qtItem === 1) return\r\n this.setState({ qtItem: this.state.qtItem - 1 }, () => {\r\n if (this.state.showItemModal) this.calculaTotal();\r\n });\r\n }\r\n\r\n resolveImage = (imagem) => {\r\n return imagem ? `${imagem}` : `assets/indisponivel.jpg`\r\n }\r\n\r\n async openItem(itemP) {\r\n try {\r\n\r\n console.log(itemP)\r\n this.setState({ loadingPage: true });\r\n\r\n if (!this.state.isEdit) this.zeraCheckandRaios(itemP);\r\n\r\n let item = JSON.parse(JSON.stringify(itemP));\r\n let qt = item.quantidade\r\n\r\n if (!qt) qt = 1;\r\n\r\n if (item.partes) {\r\n this.setState({\r\n itemNow: item,\r\n qtItem: qt,\r\n showItemModal: true,\r\n obsNow: item.obs,\r\n obsItemPizza: item.obs,\r\n itensTemplates: item.prod_of_template,\r\n objTempLancPizza: item.partes,\r\n totalDoItem: item.total,\r\n pelaMaior: itemP.maior\r\n });\r\n } else {\r\n\r\n this.setState({\r\n showItemModal: true,\r\n itemNow: item,\r\n obsNow: item.obs,\r\n itensTemplates: item.prod_of_template,\r\n totalDoItem: item.PRECO,\r\n pelaMaior: itemP.maior,\r\n qtItem: qt,\r\n });\r\n }\r\n this.setState({ loadingPage: false });\r\n } catch (error) {\r\n this.setState({ loadingPage: false });\r\n console.log(error);\r\n }\r\n\r\n }\r\n\r\n isEmpty(obj) {\r\n for (var prop in obj) {\r\n if (obj.hasOwnProperty(prop))\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n hasPromoLanc = (any) => {\r\n let result = false;\r\n\r\n this.state.itensPedido.forEach(obj => {\r\n // if any is equals true, it has to verify if there are any promotion. On ther other hand, verify only if there is free soda\r\n if (any) {\r\n if (obj.is_promo === 'S') result = true\r\n } else {\r\n if (!this.isEmpty(obj.partes.prodGratis)) result = true\r\n }\r\n\r\n });\r\n return result;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n addItem = () => {\r\n\r\n try {\r\n\r\n if (this.isEmpty(this.state.objTempLancPizza.prodGratis) && this.state.itemNow.is_promo === 'S') {\r\n if (this.hasPromoLanc(false)) {\r\n this.resolveAlert('Promoção não cumulativa. Você já tem uma promoção lançada', true);\r\n return;\r\n }\r\n }\r\n\r\n if (this.state.objTempLancPizza.produtos.length < this.state.itemNow.qt_particiona) {\r\n this.resolveAlert('Para concluir o pedido, é necessário concluir o número de partes necessárias', true);\r\n return\r\n }\r\n\r\n if (this.state.itemNow.is_combo === 'S') {\r\n if (this.state.tempProdsCombo.length < this.state.itemNow.qtItensCombo) {\r\n this.resolveAlert('Escolhe todas as partes do combo', true);\r\n return\r\n }\r\n }\r\n\r\n\r\n if (this.state.objTempLancPizza.massa) {\r\n if (this.state.objTempLancPizza.massa.aceita_borda === 'S' && this.isEmpty(this.state.objTempLancPizza.borda)) {\r\n this.resolveAlert('Por ter escolhido uma massa com borda, se torna obrigatório a escolha da borda', true);\r\n return\r\n }\r\n }\r\n\r\n let obj = JSON.parse(JSON.stringify(this.state.itemNow));\r\n let arrPedidos = this.state.itensPedido;\r\n const partesOfCombo = this.state.tempProdsCombo;\r\n\r\n obj['quantidade'] = this.state.qtItem;\r\n obj['obs'] = this.state.obsItemPizza;\r\n obj['total'] = this.state.totalDoItem;\r\n\r\n\r\n\r\n let subtotal_item = this.state.itemNow.PRECO * this.state.qtItem;\r\n\r\n obj['subtotal'] = parseFloat(subtotal_item.toFixed(2));\r\n\r\n let valMaiorPizza = 0;\r\n\r\n if (this.state.pelaMaior) {\r\n const objMaior = services.getMaiorPreco(this.state.objTempLancPizza.produtos);\r\n if (objMaior) {\r\n valMaiorPizza = objMaior.PRECO;\r\n }\r\n } else {\r\n valMaiorPizza = services.getMediaPreco(this.state.objTempLancPizza.produtos);\r\n if (valMaiorPizza === 0) valMaiorPizza = this.state.itemNow.PRECO;\r\n }\r\n\r\n obj['valMaiorPizza'] = valMaiorPizza;\r\n\r\n let borda = {};\r\n\r\n if (obj.aceita_borda === 'S' && this.state.objTempLancPizza.borda && this.state.objTempLancPizza.massa\r\n && this.state.objTempLancPizza.massa.aceita_borda === \"S\"\r\n ) {\r\n borda = this.state.objTempLancPizza.borda;\r\n }\r\n\r\n\r\n\r\n\r\n obj['partes'] = {\r\n produtos: this.state.objTempLancPizza.produtos || [],\r\n massa: obj.aceita_massa === 'S' && this.state.objTempLancPizza.massa ? this.state.objTempLancPizza.massa : {},\r\n borda,\r\n toppings: obj.aceita_extra === 'S' && this.state.objTempLancPizza.toppings ? this.state.objTempLancPizza.toppings : [],\r\n prodGratis: !this.hasPromoLanc(true) && this.state.itemNow.is_promo === 'S' ? this.state.objTempLancPizza.prodGratis : {},\r\n partesCombo: partesOfCombo\r\n }\r\n\r\n\r\n obj['total'] = this.state.totalDoItem;\r\n\r\n arrPedidos.push(obj);\r\n this.props.setItens(arrPedidos);\r\n this.setState({ itensPedido: arrPedidos, itemNow: {} });\r\n\r\n services.setTempPedido(JSON.stringify(arrPedidos));\r\n this.calculaTotal();\r\n this.totalizaCompra();\r\n this.closeModal();\r\n\r\n\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n\r\n\r\n handleEdit = () => {\r\n try {\r\n let obj = JSON.parse(JSON.stringify(this.state.itemNow));\r\n\r\n if (obj.is_pizza) {\r\n if (this.state.objTempLancPizza.produtos.length < obj.qt_particiona) {\r\n this.resolveAlert('Para finalizar, é necessário selecionar as partes, ou excluir o item', true);\r\n return;\r\n }\r\n debugger\r\n obj['quantidade'] = this.state.qtItem;\r\n obj['obs'] = this.state.obsItemPizza;\r\n obj['total'] = this.state.totalDoItem;\r\n obj['PRECO'] = this.state.itemNow.PRECO;\r\n obj['partes'] = this.state.objTempLancPizza;\r\n obj.partes.partesCombo = this.state.tempProdsCombo;\r\n obj['obs'] = this.state.obsItemPizza;\r\n } else {\r\n obj.quantidade = this.state.qtItem;\r\n let totItem = (obj.PRECO * this.state.qtItem);\r\n obj['total'] = totItem;\r\n obj['obs'] = this.state.obsNow || this.state.obsItemPizza;\r\n }\r\n\r\n\r\n let arrPedidos = this.state.itensPedido;\r\n arrPedidos[this.state.indexEdit] = obj;\r\n\r\n this.props.setItens(arrPedidos);\r\n this.setState({ itensPedido: arrPedidos, qtItem: 1, isEdit: false, indexEdit: null });\r\n\r\n services.setTempPedido(JSON.stringify(arrPedidos));\r\n\r\n this.calculaTotal();\r\n this.totalizaCompra();\r\n this.closeModal();\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n }\r\n\r\n closeModal = () => {\r\n try {\r\n this.zeraCheckandRaios();\r\n\r\n let pizza = this.state.itemNow.is_pizza === 'S' && this.state.itemNow.qt_particiona > 1;\r\n\r\n this.setState({\r\n itemNow: {},\r\n qtItem: 1,\r\n isEdit: false,\r\n obsNow: '',\r\n itensTemplates: [],\r\n showBordas: false,\r\n tempProdsCombo: [],\r\n maior: false\r\n });\r\n\r\n if (pizza) {\r\n let itensTemp = JSON.parse(JSON.stringify(this.state.objTempLancPizza));\r\n\r\n itensTemp.produtos = [];\r\n itensTemp.toppings = [];\r\n\r\n this.setState({ showItemModal: false, objTempLancPizza: itensTemp, totalDoItem: 0 })\r\n } else {\r\n this.setState({ showItemModal: false });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n handleCheckExtra = (indexExtras, id_template, e) => {\r\n // Criar regra para não selecionar + que três toppings\r\n try {\r\n\r\n let objTemp = JSON.parse(JSON.stringify(this.state.objTempLancPizza));\r\n let arrExtras = JSON.parse(JSON.stringify(this.state.extras));\r\n console.log(objTemp)\r\n\r\n\r\n let arrWithout = arrExtras.filter(e => e.id_template_extra !== id_template) || [];\r\n let rightExtras = arrExtras.filter(e => e.id_template_extra === id_template) || [];\r\n let rightTemplate = this.state.template_extras.filter(e => e.id_template_extra === id_template)[0] || null;\r\n let maxExtras = 3;\r\n\r\n if (rightTemplate) {\r\n const { qt_max_extras } = rightTemplate;\r\n maxExtras = qt_max_extras;\r\n }\r\n\r\n\r\n if (rightExtras.filter(o => o.selected === true).length === maxExtras && e.target.checked) {\r\n this.resolveAlert(`Só é permitida a escolha de no máximo ${maxExtras} extras`, true);\r\n return;\r\n }\r\n\r\n rightExtras[indexExtras].selected = e.target.checked;\r\n\r\n let id = rightExtras[indexExtras].ID_PRODUTO;\r\n\r\n let index = objTemp.toppings.map((item, index) => {\r\n item.index = index;\r\n return item;\r\n }).find(item => item.ID_PRODUTO === id);\r\n\r\n if (index) index = index.index;\r\n\r\n if (e.target.checked) {\r\n objTemp.toppings.push(rightExtras[indexExtras]);\r\n } else {\r\n objTemp.toppings.splice(index, 1);\r\n }\r\n\r\n\r\n let newArrToPut = arrWithout.concat(rightExtras);\r\n\r\n this.setState({ extras: newArrToPut, objTempLancPizza: objTemp }, () => this.calculaTotal());\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n }\r\n\r\n\r\n handleCheckProd(indexProdTemplate, e) {\r\n\r\n try {\r\n\r\n let newArr = JSON.parse(JSON.stringify(this.state.itensTemplates));\r\n newArr[indexProdTemplate].selected = e.target.checked;\r\n let id = newArr[indexProdTemplate].ID_PRODUTO;\r\n\r\n let newObj = JSON.parse(JSON.stringify(this.state.objTempLancPizza));\r\n\r\n let index = newObj.produtos.map((item, index) => {\r\n item.index = index\r\n return item\r\n }).find(item => item.ID_PRODUTO === id);\r\n\r\n if (index) index = index.index;\r\n\r\n\r\n if (e.target.checked) {\r\n if (newObj.produtos.length === this.state.itemNow.qt_particiona) {\r\n e.preventDefault();\r\n this.resolveAlert('Número de partes para esse produto antigido', true);\r\n return;\r\n }\r\n\r\n newObj.produtos.push(newArr[indexProdTemplate]);\r\n }\r\n else newObj.produtos.splice(index, 1);\r\n\r\n\r\n this.setState({ itensTemplates: newArr, objTempLancPizza: newObj }, () => this.calculaTotal());\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n }\r\n\r\n resolveAlert = (text, danger) => {\r\n if (text) {\r\n if (danger) {\r\n this.setState({ showAlertError: true, textAlertError: text });\r\n } else {\r\n this.setState({ showAlertSucces: true, textAlertSucces: text })\r\n }\r\n }\r\n }\r\n\r\n handleCloseAll = () => {\r\n this.setState({ showAlertError: false, showAlertSucces: false, textAlertError: '', textAlertSucces: '' });\r\n }\r\n\r\n\r\n calculaTotal = () => {\r\n try {\r\n\r\n let totalizador = 0;\r\n\r\n if (!this.state.objTempLancPizza) {\r\n totalizador = this.state.itemNow.PRECO * this.state.qtItem;\r\n } else {\r\n // produtos e toppings são um array\r\n const { produtos, borda, massa, toppings } = this.state.objTempLancPizza;\r\n\r\n let maior = {};\r\n let valProduto = 0;\r\n let valMassa = 0;\r\n let valBorda = 0;\r\n let valToppings = 0;\r\n\r\n if (this.state.itemNow.is_pizza === 'S' && this.state.itemNow.qt_particiona > 1) {\r\n if (this.state.pelaMaior) {\r\n maior = services.getMaiorPreco(produtos);\r\n if (maior && 'PRECO' in maior) valProduto = maior.PRECO\r\n else {\r\n valProduto = this.state.itemNow.PRECO;\r\n }\r\n } else {\r\n valProduto = services.getMediaPreco(produtos);\r\n if (valProduto === 0) valProduto = this.state.itemNow.PRECO;\r\n }\r\n } else {\r\n valProduto = this.state.itemNow.PRECO;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n if (massa && 'preco' in massa) valMassa = massa.preco;\r\n\r\n if (borda && ('preco' in borda) && this.state.showBordas) valBorda = borda.preco;\r\n\r\n if (toppings) {\r\n valToppings = toppings.reduce((total, element) => {\r\n return total + element.PRECO;\r\n }, 0);\r\n }\r\n\r\n totalizador = (valProduto + valMassa + valBorda + valToppings) * this.state.qtItem;\r\n }\r\n\r\n this.setState({ totalDoItem: totalizador });\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n\r\n handleCheckProdPomo = (index, e) => {\r\n try {\r\n\r\n let newArr = JSON.parse(JSON.stringify(this.state.produtosGratis));\r\n\r\n newArr.map(o => o.selected = false);\r\n newArr[index].selected = e.target.checked;\r\n\r\n this.setState({ produtosGratis: newArr });\r\n\r\n let itens = JSON.parse(JSON.stringify(this.state.objTempLancPizza));\r\n\r\n if (e.target.checked) itens.prodGratis = newArr[index];\r\n\r\n\r\n this.setState({ objTempLancPizza: itens }, () => this.calculaTotal());\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n }\r\n\r\n zeraBordas = () => {\r\n let newBordas = JSON.parse(JSON.stringify(this.state.bordas));\r\n newBordas.map(b => b.selected = false);\r\n this.setState({ bordas: newBordas });\r\n }\r\n\r\n handleCheckMassa = (indexMassas, e) => {\r\n try {\r\n\r\n let newArr = JSON.parse(JSON.stringify(this.state.massas));\r\n\r\n newArr.map(o => o.selected = false);\r\n newArr[indexMassas].selected = e.target.checked;\r\n\r\n this.setState({ massas: newArr });\r\n\r\n let itens = JSON.parse(JSON.stringify(this.state.objTempLancPizza));\r\n\r\n if (e.target.checked) {\r\n if (newArr[indexMassas].aceita_borda === 'S') {\r\n this.setState({ showBordas: true });\r\n } else {\r\n this.zeraBordas();\r\n this.setState({ showBordas: false });\r\n itens.borda = {};\r\n }\r\n itens.massa = newArr[indexMassas];\r\n } else {\r\n this.zeraBordas();\r\n this.setState({ showBordas: false });\r\n itens.borda = {};\r\n }\r\n this.setState({ objTempLancPizza: itens }, () => this.calculaTotal());\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n }\r\n\r\n handleCheckBordas = (indexBordas, e) => {\r\n try {\r\n let newArr = JSON.parse(JSON.stringify(this.state.bordas));\r\n debugger\r\n newArr.map(o => o.selected = false);\r\n newArr[indexBordas].selected = e.target.checked;\r\n\r\n this.setState({ bordas: newArr });\r\n\r\n let itens = JSON.parse(JSON.stringify(this.state.objTempLancPizza));\r\n\r\n if (e.target.checked) itens.borda = newArr[indexBordas];\r\n\r\n this.setState({ objTempLancPizza: itens }, () => this.calculaTotal());\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n }\r\n\r\n\r\n handleObsPizza = (e) => {\r\n this.setState({ obsItemPizza: e.target.value });\r\n }\r\n\r\n\r\n veirificaLojaAberta = async () => {\r\n let lojaAberta = await services.verficaLojaAberta(this.state.loja.id_loja);\r\n this.setState({ lojaAberta: lojaAberta });\r\n return lojaAberta;\r\n }\r\n\r\n\r\n recuperaItensParaEdicao = (item) => {\r\n try {\r\n //Primeiramente, vamos dar um reset no states necessários para operação\r\n debugger\r\n this.zeraCheckandRaios();\r\n const { partesCombo } = item.partes;\r\n\r\n if (item.partes) {\r\n /*Aqui eu vou percorrer todas as partes desse produto para pegar o ID e setar selectec nos prod_of_template, \r\n Pois todo o procedimento de lançamento é feito nele.\r\n Então é um map para os produtos, e dentro um find baseado no id da iteração. Daí procuro no prod_of... \r\n o ID referente e seto para seleted true, pois assim ele vai aparecer checado na view de edição\r\n */\r\n if (item.prod_of_template) {\r\n item.prod_of_template.map(o => o.selected = false);\r\n item.partes.produtos.forEach(produtos => {\r\n let prodFilter =\r\n\r\n item.prod_of_template.find(prodtemplate => {\r\n return prodtemplate.ID_PRODUTO === produtos.ID_PRODUTO\r\n });\r\n\r\n if (prodFilter) {\r\n prodFilter.selected = true\r\n }\r\n });\r\n }\r\n\r\n\r\n /*Agora vamos veririficar se há massa nesse pedido\r\n * As bordas, extras e massas são states separados já preenchidos no componentDidMount.\r\n * Portanto, devemos pegar o item recebido para edição, verificar se há qualquer um desses \r\n * Eles não são um array, basta um find e um seletecd = true caso seja o caso \r\n */\r\n\r\n if (item.partes.massa) {\r\n\r\n let stateMassas = JSON.parse(JSON.stringify(this.state.massas));\r\n stateMassas.map(o => o.selected = false);\r\n let massaAchou = stateMassas.find(massa => massa.id_massa === item.partes.massa.id_massa);\r\n\r\n let showBordas = false;\r\n if (massaAchou) {\r\n massaAchou.selected = true;\r\n if (massaAchou.aceita_borda === 'S') showBordas = true;\r\n\r\n }\r\n\r\n this.setState({ massas: stateMassas, showBordas: showBordas });\r\n }\r\n\r\n /**\r\n * Agora devemos faer o mesmo esquemapara as bordas. Verifica se tem bora e etc... \r\n * */\r\n\r\n if (item.partes.borda) {\r\n\r\n let stateBordas = JSON.parse(JSON.stringify(this.state.bordas));\r\n stateBordas.map(o => o.selected = false);\r\n let bordaAchou = stateBordas.find(borda => borda.id_borda === item.partes.borda.id_borda);\r\n\r\n if (bordaAchou) bordaAchou.selected = true;\r\n\r\n this.setState({ bordas: stateBordas });\r\n }\r\n\r\n /**Agora devemos fazer um metodo semelhante com os toppings. Porém eles são produtos de fato, então \r\n * esse metodo deve ser parecido com o primeiro. Acontece que os toppings são os nossos extras. Iremos \r\n * percorrer os toppings, achar esse topping no array extras e setar o array extra para selected true \r\n */\r\n\r\n if (item.partes.toppings) {\r\n let stateExtras = JSON.parse(JSON.stringify(this.state.extras));\r\n stateExtras.map(o => o.selected = false);\r\n\r\n item.partes.toppings.map(topping => {\r\n stateExtras = stateExtras.map(e => {\r\n if (e.id_produto === topping.id_produto) {\r\n return {\r\n ...e,\r\n selected: true\r\n }\r\n } else {\r\n return { ...e }\r\n }\r\n })\r\n\r\n })\r\n\r\n\r\n\r\n this.setState({ extras: stateExtras });\r\n }\r\n\r\n\r\n /**Agora devemos verificar se é um combo e se á produtos lançados nele */\r\n if (partesCombo && partesCombo.length > 0) {\r\n this.setState({ tempProdsCombo: partesCombo });\r\n }\r\n\r\n /**\r\n * Agora vamos procurar para saber se há observação\r\n */\r\n\r\n if (item && item.obs) {\r\n this.setState({ obsItemPizza: item.obs });\r\n }\r\n\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n }\r\n\r\n goToCart = () => {\r\n if (this.state.heightCar != '100%') this.setState({ heightCar: '100%' }, () => {\r\n if (this.state.rightUpBtn) this.setState({ rightUpBtn: false })\r\n });\r\n }\r\n\r\n closeCar = () => {\r\n this.setState({ heightCar: '47px' });\r\n }\r\n\r\n zeraCheckandRaios = (item) => {\r\n\r\n try {\r\n\r\n let newItens = JSON.parse(JSON.stringify(this.state.itens));\r\n newItens.map(item => {\r\n item.produtos.map(prods => {\r\n if (prods.prod_of_template)\r\n prods.prod_of_template.map(o => o.selected = false);\r\n })\r\n });\r\n\r\n\r\n\r\n let newMassas = {};\r\n let newBordas = {};\r\n let newExtras = {};\r\n\r\n\r\n try {\r\n newMassas = JSON.parse(JSON.stringify(this.state.massas));\r\n newBordas = JSON.parse(JSON.stringify(this.state.bordas));\r\n newExtras = JSON.parse(JSON.stringify(this.state.extras));\r\n } catch (error) {\r\n newMassas = this.state.massas;\r\n newBordas = this.state.bordas;\r\n newExtras = this.state.extras;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n let itensTemp = JSON.parse(JSON.stringify(this.state.objTempLancPizza));\r\n\r\n itensTemp.obs = '';\r\n\r\n itensTemp.massa = {};\r\n itensTemp.toppings = [];\r\n itensTemp.borda = {};\r\n\r\n\r\n\r\n if (item.aceita_massa === \"S\") {\r\n newMassas.map(o => {\r\n if (o.principal === 'S') {\r\n o.selected = true;\r\n itensTemp.massa = o;\r\n } else {\r\n o.selected = false\r\n }\r\n });\r\n }\r\n\r\n if (item.aceita_borda === \"S\") {\r\n newBordas.map(o => {\r\n if (o.principal === 'S') {\r\n o.selected = true;\r\n itensTemp.borda = o;\r\n } else {\r\n o.selected = false\r\n }\r\n });\r\n }\r\n\r\n let arrProdsGratis = [];\r\n if (item) {\r\n if (item.id_template_promo_prod_gratis != null) {\r\n arrProdsGratis = this.state.produtosGratis.filter(o => o.id_template === item.id_template_promo_prod_gratis);\r\n if (arrProdsGratis) {\r\n itensTemp.prodGratis = arrProdsGratis[0];\r\n }\r\n } else {\r\n itensTemp.prodGratis = {};\r\n }\r\n } else {\r\n itensTemp.prodGratis = {};\r\n }\r\n\r\n newExtras.map(o => o.selected = false);\r\n\r\n this.setState({\r\n itens: newItens,\r\n massas: newMassas,\r\n bordas: newBordas,\r\n extras: newExtras,\r\n obsItemPizza: '',\r\n objTempLancPizza: itensTemp\r\n });\r\n\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n }\r\n\r\n viewPic = (item) => {\r\n //800 x 620\r\n this.setState({ showPic: true, imgNow: item.imagem, descriNow: item.descricao, prodNow: item.produto });\r\n }\r\n\r\n handleCloseImgNow = () => {\r\n this.setState({ showPic: false, imgNow: '', descriNow: '', prodNow: '' });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n filterProd = (e) => {\r\n this.functionFlter(this.state.itens, 'batata');\r\n this.setState({ textFilter: e.target.value }, () => {\r\n if (this.state.textFilter != '') {\r\n this.setState({ itens: this.functionFlter(this.state.copyItens, this.state.textFilter) })\r\n } else {\r\n this.setState({ itens: this.state.copyItens });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n functionFlter = (arr, text) => {\r\n let result = [];\r\n text = text.toUpperCase();\r\n arr.forEach(item => {\r\n let produtos = []\r\n for (let i = 0; i < item.produtos.length; i++) {\r\n if (item.produtos[i].descricao) {\r\n if (item.produtos[i].produto.toUpperCase().indexOf(text) > -1 || item.produtos[i].descricao.toUpperCase().indexOf(text) > -1) {\r\n\r\n produtos.push(item.produtos[i]);\r\n }\r\n } else {\r\n if (item.produtos[i].produto.toUpperCase().indexOf(text) > -1) {\r\n\r\n produtos.push(item.produtos[i]);\r\n }\r\n }\r\n\r\n }\r\n if (produtos.length > 0) {\r\n let auxItem = {\r\n 'categoria': item.categoria,\r\n produtos: produtos\r\n }\r\n\r\n result.push(auxItem);\r\n }\r\n })\r\n return result;\r\n }\r\n\r\n\r\n\r\n cleanTextSearch = () => {\r\n this.setState({ textFilter: '', itens: this.state.copyItens });\r\n }\r\n\r\n\r\n\r\n handeCheckParteCombo = (produto, categoria, e) => {\r\n let tempProdsCombo = JSON.parse(JSON.stringify(this.state.tempProdsCombo));\r\n produto.categoria = categoria.categoria;\r\n let filterTemp = tempProdsCombo.filter(o => o.categoria != produto.categoria);\r\n filterTemp.push(produto);\r\n this.setState({ tempProdsCombo: filterTemp });\r\n }\r\n\r\n\r\n resolveCheckCombo = (e, item) => {\r\n let r = this.state.tempProdsCombo.filter(o => o.id_produto === item.id_produto);\r\n\r\n if (r.length > 0) {\r\n return true\r\n } else {\r\n return false;\r\n }\r\n\r\n }\r\n\r\n // Metodo que monta toda a view da seleção do produto\r\n montaView = () => {\r\n const itenNow = this.state.itemNow;\r\n const prodsOfCombo = this.state.itemNow.prods_of_combo;\r\n let itensPromo = [];\r\n\r\n\r\n if (itenNow.is_promo === 'S' && !this.hasPromoLanc(true) && itenNow.id_template_promo_prod_gratis != null) {\r\n itensPromo = this.state.produtosGratis.filter(o => o.id_template === itenNow.id_template_promo_prod_gratis);\r\n }\r\n\r\n // Aqui é o combo \r\n if (itenNow.is_combo === 'S') {\r\n return (\r\n
\r\n {\r\n prodsOfCombo.map(item => {\r\n return (\r\n
\r\n

{item.categoria}

\r\n {\r\n item.produtos.map((p, index) => {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n

R$ {p.PRECO.toFixed(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 } else {\r\n // Aqui é a pizza\r\n return (\r\n
\r\n {\r\n (this.state.itensTemplates) && (this.state.itensTemplates.length > 0) ? (\r\n
\r\n

Escolha os sabores :

\r\n {\r\n this.state.itensTemplates.map((item, index) => {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n

{item.descricao}

\r\n
\r\n
\r\n

R$ {item.PRECO.toFixed(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 {/* Inicia Massa */}\r\n {\r\n this.state.itemNow.aceita_massa === 'S' ? (\r\n
\r\n

Escolha sua massa

\r\n {\r\n this.state.massas.map((massa, index) => {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n

R$ {massa.preco.toFixed(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 {/* Inicia bordas */}\r\n {\r\n itenNow.aceita_borda === 'S' && this.state.showBordas ? (\r\n
\r\n

Escolha sua borda

\r\n {\r\n this.state.bordas.map((borda, index) => {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n

R$ {borda.preco.toFixed(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 {/* Inicia Toppings */}\r\n {\r\n itenNow.aceita_extra === 'S' && this.state.extras.length > 0 && itenNow.id_template_extra != null ? (\r\n
\r\n

Escolha seus extras

\r\n {\r\n this.state.extras.filter(i => i.id_template_extra === itenNow.id_template_extra).map((extras, index) => {\r\n debugger\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n

R$ {extras.PRECO.toFixed(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 itenNow.is_promo === 'S' && !this.hasPromoLanc(true) && itenNow.id_template_promo_prod_gratis != null ? (\r\n\r\n
\r\n

Escolha seu produto grátis

\r\n {\r\n itensPromo.map((prod, index) => {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n

R$ 0.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\r\n\r\n\r\n\r\n manualQtAdd = ({ target }) => {\r\n try {\r\n let valor = target.value.replace(/\\[a-Z]/g, \"\");\r\n\r\n let auxQt = String(target.value).split(\".\");\r\n if (auxQt.length > 1) {\r\n if (auxQt[1].length === 5) return\r\n }\r\n\r\n if ((valor.indexOf(\",\") !== -1) && (valor.indexOf(\".\") === -1) && valor.length > 0) {\r\n valor = valor.replace(\",\", \"\");\r\n valor += \".\"\r\n } else if ((valor.indexOf(\",\") !== -1)) {\r\n valor = valor.replace(\",\", \"\");\r\n }\r\n\r\n const aux = valor.split(\"\");\r\n let aux1 = 0;\r\n aux.forEach(v => v === \".\" && aux1++);\r\n if (aux1 > 1) {\r\n aux.splice(aux.length - 1, 1);\r\n valor = aux.join(\"\");\r\n }\r\n\r\n this.setState({ qtItem: valor }, () => {\r\n if (this.state.showItemModal) this.calculaTotal();\r\n });\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n render() {\r\n const { itemNow } = this.state;\r\n\r\n\r\n return (\r\n
\r\n\r\n {\r\n this.state.loadingPage ? (\r\n \r\n ) : ''\r\n }\r\n\r\n
\r\n \r\n
\r\n\r\n
0 ? 'block' : 'none',\r\n height: this.state.heightCar\r\n }} onClick={this.goToCart}>\r\n\r\n\r\n {\r\n this.state.heightCar === '47px' ? (\r\n \r\n Carrinho\r\n \r\n\r\n ) : (\r\n \r\n Voltar\r\n \r\n )\r\n }\r\n\r\n

R$ {this.state.total}

\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 {/**Aqui vai um laço com todos os itens separados por categoria */}\r\n
\r\n\r\n \r\n\r\n\r\n {\r\n this.state.itens.map((item, index) => {\r\n return (\r\n
\r\n {\r\n item.produtos.length > 0 ? (\r\n

\r\n {item.categoria}\r\n

\r\n ) : ''\r\n }\r\n\r\n {/* Na compra de qualquer produto dessa categoria, grátis um refrigerante de 2 litros (Promoção não cumulativa) */}\r\n {item.informativo != '' && item.informativo != null ? (

{item.informativo}

) : ''}\r\n\r\n
\r\n
\r\n\r\n {\r\n item.produtos.map((element, index) => {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
this.viewPic(element)}>\r\n \r\n
\r\n
\r\n
this.openItem(element, null)}>\r\n
\r\n

{element.produto}

\r\n

{element.descricao}

\r\n
\r\n
\r\n
\r\n
this.openItem(element, null)}>\r\n\r\n\r\n
\r\n {\r\n element.is_pizza == 'S' && element.qt_particiona > 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 }\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 {/* Modal para itens */}\r\n \r\n
\r\n \r\n

{this.state.itemNow.produto}

\r\n
\r\n\r\n
\r\n {this.montaView()}\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n {(itemNow.aceita_dec !== \"S\" || (itemNow.aceita_dec === \"S\" && (itemNow.is_pizza === \"S\" || itemNow.is_combo === \"S\"))) && \r\n \r\n
}\r\n\r\n {\r\n (itemNow.aceita_dec !== \"S\" || (itemNow.aceita_dec === \"S\" && (itemNow.is_pizza === \"S\" || itemNow.is_combo === \"S\"))) ? (\r\n <>\r\n false}\r\n placeholder={\"Quantidade\"}\r\n />\r\n \r\n ) : (\r\n \r\n Informe a quantidade\r\n \r\n \r\n )\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n {(itemNow.aceita_dec !== \"S\" || (itemNow.aceita_dec === \"S\" && (itemNow.is_pizza === \"S\" || itemNow.is_combo === \"S\"))) && \r\n \r\n
}\r\n
\r\n
\r\n\r\n\r\n {/* Agora vem o lado direito */}\r\n
\r\n\r\n \r\n\r\n
\r\n \r\n
\r\n

{this.state.itemNow.produto}

\r\n
\r\n\r\n \r\n\r\n \r\n
\r\n
\r\n {\r\n !this.state.isEdit ? ()\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$ {this.state.totalDoItem.toFixed(2)}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n\r\n {/* modal de visualização das fotos */}\r\n \r\n \r\n \r\n
\r\n

{this.state.prodNow}

\r\n

{this.state.descriNow}

\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n {/* ALERTS */}\r\n\r\n \r\n \r\n Alerta\r\n \r\n \r\n

{this.state.textAlertError}

\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n\r\n \r\n \r\n Muito bem !\r\n \r\n \r\n

{this.state.textAlertSucces}

\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\nconst mapStateToProps = state => ({\r\n rdUser: state.user,\r\n rdOrder: state.order\r\n})\r\n\r\nconst mapDispathToPros = dispatch => bindActionCreators(Actions, dispatch)\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispathToPros)(LancaPedido))\r\n\r\n","import styled from \"styled-components\";\nimport { Modal } from 'react-bootstrap';\n\nexport const ContainerAdressChoice = styled.div`\n width : 100%;\n padding : 20px;\n display : flex;\n flex-direction: column; \n text-align : center;\n`\n\nexport const CustomModal = styled(Modal)`\n\n`\n\nexport const BoxPedido = styled.div`\n width: 100%;\n height: 480px;\n\n position: relative; \n padding: 0 !important;\n border-radius: 5px;\n margin-bottom: 45px; \n display: flex;\n flex-direction: column;\n`\n\nexport const BoxAccount = styled.div`\n width: 100%;\n height: 300px;\n display: flex;\n justify-content: center;\n align-items: center;\n position: absolute; \n top: 0;\n left: 0;\n background: rgba(255,255,255, .7);\n border-radius: 4px;\n`","import React, { Component, useState, useEffect, memo, useRef } from 'react';\n\nimport {\n url\n} from \"../../API/Api\"\nimport requests from \"../../services/requests\"\nimport services from '../../services/index';\nimport GLOBAL from \"../../global\"\n\nimport { io } from \"socket.io-client\";\n\nimport { useSelector, useDispatch } from \"react-redux\";\nimport {\n setItens\n} from \"../../store/actions\"\n\nimport { withRouter } from \"react-router-dom\";\nimport { isEmpty, isArray, cloneDeep } from \"lodash\"\nimport { IoIosCheckmarkCircle } from \"react-icons/io\";\n\nimport {\n BoxPedido,\n BoxAccount\n} from \"./style\"\n\nimport { v4 as uuidv4 } from 'uuid';\n\nimport styles from './style.module.css'\n\n\n\nfunction InfoPedidosNaMesa(props) {\n const dispatch = useDispatch();\n\n const rdOrder = useSelector(state => state.order);\n const rdStores = useSelector(state => state.stores);\n\n const [mesa, setMesa] = useState(0)\n const [total, setTotal] = useState(0);\n const [subtotal, setSubtotal] = useState(0);\n const [additionalClass, setAdditionalClass] = useState('');\n const [showSendButton, setShowSendButton] = useState(false);\n const [loadingButton, setLoadingButton] = useState(false);\n const [statusTable, setStatusTable] = useState(0);\n const [isThereAnySended, setIsThereAnySended] = useState(false);\n\n useEffect(() => {\n setAdditionalClass(props.additionalClass)\n }, [props])\n\n\n useEffect(() => {\n const socket = io(url.localCasa, { transports: [\"websocket\"] });\n socket.on(\"updateitens\", (mesa) => {\n updatItens(mesa, props.mesa)\n });\n\n socket.on('connect_error', () => {\n socket.connect();\n })\n }, [props.mesa])\n\n\n useEffect(() => {\n let response = services.totalizaItens(rdOrder.itens, 0, '', true);\n setTotal(response.data.total);\n setSubtotal(response.data.subtotal);\n const aux = cloneDeep(rdOrder.itens);\n const notSendeds = aux.filter(i => i.enviado === false);\n setShowSendButton(notSendeds.length > 0)\n\n if (rdOrder.itens.length > 0) {\n setStatusTable(rdOrder.itens[0].finalizado)\n const isThere = rdOrder.itens.findIndex(i => i.enviado === true);\n setIsThereAnySended(isThere !== -1)\n }\n }, [rdOrder])\n\n\n\n\n const callWaiter = async () => {\n const body = {\n tableNumber: props.mesa,\n storeID: rdStores.stores[0].id_loja,\n status: 1\n };\n try {\n setLoadingButton(true);\n const response = await requests.callWaiter(body);\n setLoadingButton(false);\n if (response) {\n props.funcAlert(\"Garçom solicitado\");\n }\n } catch (error) {\n setLoadingButton(false);\n props.funcAlert(error, true);\n }\n }\n\n\n const callAccount = async () => {\n const body = {\n tableNumber: props.mesa,\n storeID: rdStores.stores[0].id_loja,\n status: 2\n };\n try {\n setLoadingButton(true);\n const response = await requests.setStatusTable(body);\n setLoadingButton(false);\n if (response) {\n setStatusTable(2);\n props.funcAlert(\"Conta solicitada\");\n }\n } catch (error) {\n setLoadingButton(false);\n props.funcAlert(error, true);\n }\n }\n\n\n\n\n const updatItens = async (mesaFrom, auxMesa) => {\n try {\n\n if (Number(mesaFrom) !== Number(auxMesa)) return;\n const bodyRequest = {\n tableNumber: mesaFrom,\n storeID: props.loja.id_loja\n }\n\n let itens = await services.getItensMesaFromApi(bodyRequest);\n dispatch(setItens(itens));\n\n } catch (error) {\n alert(\"Ops... Algo deu errado\")\n }\n }\n\n\n\n\n const editItem = (item, index) => {\n if (props.openItem && !item.enviado) {\n props.openItem(item, index);\n }\n }\n\n\n\n\n\n\n const orderItens = async () => {\n try {\n setLoadingButton(true);\n try {\n const allItens = rdOrder.itens;\n const notSendeds = rdOrder.itens.filter(i => !i.enviado);\n\n let initItens = notSendeds;\n\n\n\n let loja = rdStores.stores[0];\n let _subtotal = subtotal;\n let _total = total;\n let taxa = 0\n let pedido = {}\n\n\n\n pedido['loja'] = loja.id_loja;\n pedido['loja_desc'] = loja.descricao;\n\n\n\n let itens = [];\n\n initItens.forEach(element => {\n\n let subitens = [];\n let extras = [];\n let auxProdGratis = {};\n let objMassa, objBorda = {};\n\n\n const { borda, massa, produtos, toppings, prodGratis, partesCombo } = element.partes;\n\n if (element.is_pizza === 'S' && element.qt_particiona > 1 || element.is_combo === 'S') {\n if (element.is_pizza === 'S') {\n let qtParts = produtos.length;\n\n let valMaior = element.valMaiorPizza;\n let qtReal = (1 / qtParts) * element.quantidade;\n if (produtos.length > 0) {\n produtos.forEach(prod => {\n\n let item = {\n \"id_produto\": prod.ID_PRODUTO,\n \"nome_produto\": prod.produto,\n \"codPdv\": prod.CODIGO,\n \"obs\": '',\n \"preco\": parseFloat(valMaior),\n \"quantidade\": qtReal,\n \"id_item\": uuidv4()\n }\n\n subitens.push(item);\n })\n }\n } else {\n if (partesCombo.length > 0) {\n partesCombo.forEach(prod => {\n\n let item = {\n \"id_produto\": prod.id_produto,\n \"nome_produto\": prod.produto,\n \"codPdv\": prod.CODIGO,\n \"obs\": '',\n \"preco\": parseFloat(prod.PRECO.toFixed(2)),\n \"quantidade\": 1,\n \"id_item\": uuidv4()\n }\n\n subitens.push(item);\n })\n }\n }\n\n } else {\n if (produtos.length > 0) {\n produtos.forEach(prod => {\n let item = {\n \"id_produto\": prod.ID_PRODUTO,\n \"nome_produto\": prod.produto,\n \"codPdv\": prod.CODIGO,\n \"obs\": '',\n \"preco\": parseFloat(prod.PRECO.toFixed(2)),\n \"id_item\": uuidv4()\n }\n\n subitens.push(item);\n })\n }\n }\n\n\n\n if (toppings.length > 0) {\n toppings.forEach(top => {\n let item = {\n \"id_produto\": top.id_produto,\n \"nome_produto\": top.produto,\n \"codePdv\": top.codigo,\n \"obs\": '',\n \"preco\": parseFloat(top.PRECO.toFixed(2)),\n \"id_item\": uuidv4()\n }\n\n extras.push(item);\n })\n }\n\n if (massa) {\n objMassa = {\n \"id_massa\": massa.id_massa,\n \"massa\": massa.descricao,\n \"codePdv\": massa.CodPdv,\n \"preco\": massa.preco,\n \"id_item\": uuidv4()\n }\n }\n\n if (prodGratis) {\n auxProdGratis = {\n \"id_produto\": prodGratis.id_produto,\n \"nome_produto\": prodGratis.produto,\n \"codePdv\": prodGratis.codigo,\n \"obs\": '',\n \"preco\": 0,\n \"quantidade\": 1,\n \"id_item\": uuidv4()\n }\n }\n\n if (borda) {\n objBorda = {\n \"id_borda\": borda.id_borda,\n \"borda\": borda.descricao,\n \"codePdv\": borda.CodPdv,\n \"preco\": borda.preco,\n \"id_item\": uuidv4()\n }\n }\n\n\n let item = {\n \"id_produto\": element.id_produto,\n \"nome_produto\": element.produto,\n \"codePdv\": element.codigo,\n \"preco\": element.is_pizza === 'S' && element.qt_particiona > 1 || element.is_combo === 'S' ? 0 : parseFloat(element.PRECO.toFixed(2)),\n \"subtotal\": element.subtotal,\n \"total\": element.total,\n \"combo\": element.is_combo,\n \"pizza\": element.is_pizza,\n \"quantidade\": element.quantidade,\n \"subitens\": subitens,// depois\n \"extras\": extras, // depois\n \"obs\": element.obs ? element.obs : '',\n \"promocao\": false,\n \"massa\": objMassa,\n \"borda\": objBorda,\n \"prodGratis\": auxProdGratis,\n \"id_item\": uuidv4()\n }\n\n itens.push(item);\n });\n\n pedido['itens'] = itens;\n\n pedido['subtotal'] = parseFloat(_subtotal.toFixed(2));\n pedido['taxa'] = parseFloat(taxa.toFixed(2));\n pedido['total_pedido'] = parseFloat(_total.toFixed(2));\n\n\n pedido['currentJsonItens'] = allItens;\n\n\n pedido['tableNumber'] = Number(props.mesa);\n\n const response = await services.enviaPedidoEstouNaMesa(pedido, '123');\n\n\n if (response) {\n setSended();\n }\n\n } catch (e) {\n alert(\"Ops... Algo deu errado\");\n }\n } finally {\n setLoadingButton(false);\n }\n }\n\n\n\n\n const setSended = () => {\n const itens = rdOrder.itens;\n\n const _itens = itens.map(i => {\n return {\n ...i,\n enviado: true\n }\n });\n\n dispatch(setItens(_itens));\n services.setTempPedido(JSON.stringify(_itens));\n }\n\n\n\n\n\n\n return (\n <>\n \n\n
\n

Consumo mesa {props.mesa}

\n
\n\n
\n {statusTable === 2 && \n

Conta solicitada

\n
}\n {\n rdOrder.itens.map((item, index) => {\n\n return (\n
\n
\n
\n

{} {`${item.quantidade} x ${item.produto}`}

\n
\n
\n

R$ {item.total.toFixed(2)}

\n
\n
\n\n\n\n {\n item.partes.massa ? (\n item.partes.massa.descricao ? (\n
\n\n

      Massa -> {`${item.partes.massa.descricao} `}

\n\n\n
\n ) : ''\n ) : ''\n }\n\n\n\n\n {\n item.partes.borda ? (\n item.partes.borda.descricao ? (\n
\n\n

      Borda -> {`${item.partes.borda.descricao} `} {item.partes.borda.preco ? `( R$ ${item.partes.borda.preco.toFixed(2)} )` : \"\"}

\n\n\n
\n ) : ''\n\n ) : ''\n }\n\n\n\n\n\n {\n item.partes ? (\n item.partes.produtos.map((parte, index) => {\n return (\n
\n\n

      {`${parte.produto} `}

\n\n\n
\n )\n })\n\n ) : ''\n }\n\n {\n item.partes ? (\n item.partes.toppings.map((topping, index) => {\n return (\n
\n\n

      {`++${topping.produto} `} {topping.PRECO ? `( R$ ${topping.PRECO.toFixed(2)} )` : \"\"}

\n\n\n
\n )\n })\n\n ) : ''\n }\n\n {\n item.partes.partesCombo ? (\n item.partes.partesCombo.map((produto, index) => {\n return (\n
\n\n

      {`${produto.produto} `}

\n\n\n
\n )\n })\n\n ) : ''\n }\n\n {\n item.partes.prodGratis ? (\n item.partes.prodGratis.produto ? (\n
\n\n

    Promo -> {`${item.partes.prodGratis.produto} `}

\n\n\n
\n ) : ''\n\n ) : ''\n }\n\n\n\n\n\n {\n item.obs ? (\n
\n\n

      {`--${item.obs} `}

\n\n
\n ) : ''\n }\n
\n\n\n\n );\n })\n }\n
\n\n
\n
\n \n Sub Total da Mesa\n \n \n R$ {subtotal.toFixed(2)}\n \n
\n\n\n\n
\n \n Total da Mesa\n \n \n R$ {(total.toFixed(2))}\n \n
\n {\n showSendButton ? (\n {loadingButton ? \"Aguarde...\" : \"Enviar itens\"}\n ) : ''\n\n }\n\n\n \n {loadingButton ? \"Aguarde...\" : \"Chamar o garçom\"}\n\n \n\n\n {statusTable !== 2 && isThereAnySended && \n {loadingButton ? \"Aguarde...\" : \"Pedir a conta\"}\n\n }\n\n\n
\n
\n \n );\n}\n\n\n\nexport default withRouter(memo(InfoPedidosNaMesa))\n\n\n\n","import React, { useCallback } from 'react';\r\nimport styles from './style.module.css'\r\n\r\n\r\n\r\nconst InfoLoja = (props) => {\r\n\r\n\tconst resolveImage = useCallback(() => {\r\n\t\tlet imagem = props.imagem\r\n\t\treturn imagem ? `${imagem}` : `assets/sem_imagem.png`\r\n\t})\r\n\r\n\r\n\treturn (\r\n\t\t
\r\n\r\n\t\t\t
\r\n\t\t\t\t\"imagem\"\r\n\t\t\t
\r\n\r\n\r\n\t\t\t
\r\n\t\t\t\t

{props.descricao}

\r\n\t\t\t
\r\n\r\n\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t

Mesa

\r\n\t\t\t\t\t

{props.mesa}

\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n}\r\n\r\n\r\n\r\n\r\n\r\nexport default InfoLoja;","export default {\n setCPF: function (cpf) {\n try {\n if (cpf) {\n localStorage.setItem(\"@cpf_estou_aqui\", cpf);\n }\n return true;\n } catch (error) {\n return false;\n }\n },\n\n\n getCPF: function () {\n try {\n return localStorage.getItem(\"@cpf_estou_aqui\");\n } catch (error) {\n return false;\n }\n },\n}","import styled from \"styled-components\";\nimport { Modal, Button } from 'react-bootstrap';\nimport InputMask from \"react-input-mask\";\n\nexport const InputQt = styled.input`\nborder: none;\n ${({ aceitaDec }) => {\n if (aceitaDec) {\n return `\n width:140px;\n margin-left: 0px;\n border: 1px solid #999;\n border-radius: 4px;\n `\n } else {\n return \"width:39px; border : none;margin-left: 5px;\"\n }\n }} \n height: 30px;\n text-align: center;\n padding: 5px;\n font-size: 16px;\n display: inline-block; \n margin-top: -4px;\n outline : none;\n`\n\nexport const InputCPF = styled(InputMask).attrs({\n placeholder: \"DIGITE SEU CPF\"\n})`\n width: 60%;\n align-self: center;\n padding: 10px;\n font-size: 28px;\n color: #333;\n border: none;\n letter-spacing: 4px;\n text-align: center;\n outline: none;\n border-bottom: .4px solid rgba(0,0,0,.3);\n\n ::-webkit-input-placeholder { /* Chrome/Opera/Safari */\n color: #999;\n font-size: 12px;\n letter-spacing: 1;\n }\n`\n\n\n\n\nexport const CustomModal = styled(Modal).attrs({\n\n})`\n .bodyModalCpf{\n display: flex;\n align-items: center;\n justify-content: center;\n }\n`\n\n\nexport const ColumnContainer = styled.div`\n display: flex;\n flex-direction :column;\n & > span {\n margin-bottom: 10px\n }\n`","import React, { PureComponent } from 'react';\r\nimport styles from './style.module.css'\r\nimport Header from './../../components/header/Header'\r\nimport services from './../../services/index'\r\n\r\nimport ItensPedidoNaMesa from '../../components/itensPedidosNaMesa';\r\n\r\n\r\nimport InfoLojaEstouNaMesa from './../../components/infoLojaEstouNaMesa';\r\nimport { faPlus, faMinus, faTrashAlt, faCheckCircle, faTimesCircle, faChevronLeft, faChevronRight } from '@fortawesome/free-solid-svg-icons'\r\nimport { faShoppingCart, } from '@fortawesome/free-solid-svg-icons'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport Loading from './../../components/loading/Loading';\r\nimport { Modal, Button } from 'react-bootstrap';\r\nimport { FaArrowCircleUp } from \"react-icons/fa\"\r\nimport { isArray, isEmpty } from \"lodash\"\r\nimport GLOBAL from '../../global';\r\n\r\nimport imgIndisponivel from \"./indisponivel.jpg\"\r\n\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\"\r\nimport * as Actions from \"../../store/actions\"\r\nimport storage from \"../../services/storage\"\r\nimport { withRouter } from \"react-router-dom\";\r\nimport Requests from \"../../services/requests\"\r\nimport {\r\n\tInputQt,\r\n\tColumnContainer,\r\n\tInputCPF,\r\n\tCustomModal\r\n} from \"./style\"\r\n\r\n\r\n\r\n\r\n\r\nclass EstouNaMesa extends PureComponent {\r\n\r\n\r\n\r\n\tstate = {\r\n\t\tloja: {},\r\n\t\tsubItem: '',\r\n\t\ttaxa: 0,\r\n\t\tsubtotal: 0,\r\n\t\titens: [],\r\n\t\tcopyItens: [],\r\n\t\textras: [],\r\n\t\textras_grande: [],\r\n\t\textras_brotos: [],\r\n\t\titensPedido: [],\r\n\t\titensTemplates: [],\r\n\t\ttempProdsCombo: [],\r\n\t\tloadingPage: false,\r\n\t\titemNow: {},\r\n\t\tqtItem: 1,\r\n\t\ttotal: 0,\r\n\t\tisEdit: false,\r\n\t\tindexEdit: null,\r\n\t\tshowBordas: false,\r\n\t\tobsNow: '',\r\n\t\tdisplayItemDetail: 'none',\r\n\t\tmassas: [],\r\n\t\tbordas: [],\r\n\t\ttotalDoItem: 0.00,\r\n\t\tpelaMaior: false,\r\n\t\tshowItemModal: false,\r\n\t\tobsItemPizza: '',\r\n\t\tobjTempLancPizza: { produtos: [], massa: {}, borda: {}, toppings: [], obs: '' },\r\n\t\theightCar: '47px',\r\n\t\tlojaAberta: false,\r\n\t\tshowAlertSucces: false,\r\n\t\ttextAlertSucces: '',\r\n\t\tshowAlertError: false,\r\n\t\ttextAlertError: '',\r\n\t\tprodutosGratis: [],\r\n\t\tlancProdGratis: {},\r\n\t\tshowPic: false,\r\n\t\timgNow: '',\r\n\t\tprodNow: '',\r\n\t\tdescriNow: '',\r\n\t\ttextFilter: '',\r\n\t\trightUpBtn: false,\r\n\t\tdisplayBanner: 'none',\r\n\t\tselectedCat: 0,\r\n\t\titemsMenu: [],\r\n\t\tshowGetCPF: false,\r\n\t\tcpfTyped: \"\",\r\n\t\tmesa: \"\",\r\n\t\tstatusTable: 0\r\n\t}\r\n\r\n\thandleScroll = () => {\r\n\t\tlet scroll = document.documentElement.scrollTop;\r\n\r\n\t\tif (this.state.itemsMenu.length > 0) {\r\n\t\t\tconst refName = this.state.itemsMenu[0]['id'] + \"scroll\";\r\n\t\t\tif (!isEmpty(this[refName])) {\r\n\t\t\t\tconst lasIndex = this.state.itemsMenu.length - 1;\r\n\t\t\t\tconst { current: lastCurrent } = this[`${this.state.itemsMenu[lasIndex]['id']}scroll`];\r\n\t\t\t\tthis.state.itemsMenu.map((i, index) => {\r\n\t\t\t\t\tif (this.state.itemsMenu[index + 1]) {\r\n\t\t\t\t\t\tconst { current } = this[i['id'] + \"scroll\"];\r\n\t\t\t\t\t\tconst { current: Current2 } = this[`${this.state.itemsMenu[index + 1]['id']}scroll`]\r\n\r\n\t\t\t\t\t\tif ((scroll >= (current.offsetTop - 100)) && (scroll <= (Current2.offsetTop - 100))) {\r\n\t\t\t\t\t\t\tthis.setState({ selectedCat: index })\r\n\t\t\t\t\t\t} else if ((scroll) >= lastCurrent.offsetTop) {\r\n\t\t\t\t\t\t\tthis.setState({ selectedCat: lasIndex })\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (scroll > 800) {\r\n\t\t\tif (this.state.rightUpBtn === false && this.state.heightCar === '47px') {\r\n\t\t\t\tthis.setState({ rightUpBtn: true });\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (this.state.rightUpBtn === true) {\r\n\t\t\t\tthis.setState({ rightUpBtn: false });\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tcomponentWillUnmount() {\r\n\t\twindow.removeEventListener('scroll', this.handleScroll);\r\n\t}\r\n\r\n\tscrolltoTop = () => {\r\n\t\twindow.scrollTo({\r\n\t\t\ttop: 0,\r\n\t\t\tbehavior: 'smooth',\r\n\t\t});\r\n\t}\r\n\r\n\tasync componentDidMount() {\r\n\t\tawait this.getStores();\r\n\r\n\t\tconst itensMenu = [];\r\n\t\twindow.scrollTo({\r\n\t\t\ttop: 0,\r\n\t\t\tbehavior: 'smooth',\r\n\t\t});\r\n\r\n\t\tthis.props.setAdressToDelivery({});\r\n\r\n\t\ttry {\r\n\t\t\twindow.addEventListener('scroll', this.handleScroll);\r\n\r\n\r\n\t\t\tif (this.state.loja) {\r\n\t\t\t\tlet { taxa_entrega } = this.state.loja;\r\n\r\n\r\n\r\n\r\n\t\t\t\tthis.setState({ taxa: taxa_entrega });\r\n\t\t\t\tthis.setState({ loadingPage: true });\r\n\r\n\t\t\t\tlet gratis = [];\r\n\t\t\t\tlet AllProds = [];\r\n\r\n\t\t\t\ttry {\r\n\t\t\t\t\tconst { id_loja } = this.state.loja;\r\n\t\t\t\t\tAllProds = await services.getAllProducts(id_loja);\r\n\t\t\t\t} catch (error) {\r\n\t\t\t\t\tconsole.log(error);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\r\n\r\n\t\t\t\tAllProds.data.forEach((element, index) => {\r\n\r\n\t\t\t\t\tconst id = `${element.categoria.split(' ')[0]}${index}`\r\n\t\t\t\t\telement.id = id;\r\n\t\t\t\t\titensMenu.push({ item: element.categoria, id });\r\n\r\n\r\n\t\t\t\t\tlet produtos = element.produtos.filter(obj => obj.is_extra === 'N');\r\n\t\t\t\t\tlet prodsComPromoGratis = produtos.filter(obj => obj.is_promo === 'S' && obj.prodsPromoGratis.length > 0);\r\n\r\n\r\n\t\t\t\t\tif (prodsComPromoGratis.length > 0) {\r\n\r\n\t\t\t\t\t\tprodsComPromoGratis.forEach(item => {\r\n\t\t\t\t\t\t\tlet prodsGratis = item.prodsPromoGratis;\r\n\t\t\t\t\t\t\tlet i = 0;\r\n\t\t\t\t\t\t\tprodsGratis.map(o => {\r\n\t\t\t\t\t\t\t\ti === 0 ? o.selected = true : o.selected = false;\r\n\t\t\t\t\t\t\t\to.id_template = item.id_template_promo_prod_gratis;\r\n\t\t\t\t\t\t\t\ti++;\r\n\r\n\t\t\t\t\t\t\t});\r\n\r\n\r\n\t\t\t\t\t\t\tprodsGratis.forEach(item => {\r\n\t\t\t\t\t\t\t\tlet aux = gratis.filter(o => o.id_produto === item.id_produto);\r\n\t\t\t\t\t\t\t\tif (aux.length === 0)\r\n\t\t\t\t\t\t\t\t\tgratis.push(item)\r\n\t\t\t\t\t\t\t});\r\n\r\n\r\n\t\t\t\t\t\t})\r\n\r\n\t\t\t\t\t}\r\n\r\n\r\n\t\t\t\t\telement.produtos = produtos;\r\n\r\n\t\t\t\t});\r\n\r\n\t\t\t\tAllProds.data.forEach(i => {\r\n\t\t\t\t\tthis[`${i.id}scroll`] = React.createRef();\r\n\t\t\t\t})\r\n\r\n\t\t\t\tthis.setState({ itens: AllProds.data, produtosGratis: gratis, copyItens: AllProds.data, itemsMenu: itensMenu });\r\n\r\n\r\n\t\t\t\tlet rExtras = [];\r\n\r\n\t\t\t\ttry {\r\n\t\t\t\t\trExtras = await services.getExtras(this.state.loja.id_loja);\r\n\t\t\t\t} catch (error) {\r\n\t\t\t\t\tconsole.log(error);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst { produtos: extras } = rExtras.data;\r\n\t\t\t\tthis.setState({ extras: extras });\r\n\r\n\r\n\r\n\t\t\t\tlet rMassasBordas = [];\r\n\t\t\t\ttry {\r\n\t\t\t\t\trMassasBordas = await services.getMassasAndBordas();\r\n\t\t\t\t} catch (error) {\r\n\t\t\t\t\tconsole.log(error);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst { massas, bordas } = rMassasBordas.data.massasandbordas;\r\n\r\n\t\t\t\tmassas.map(o => o.selected = false);\r\n\r\n\t\t\t\tbordas.map(o => o.selected = false);\r\n\r\n\t\t\t\tthis.setState({ massas: massas, bordas: bordas });\r\n\r\n\t\t\t\tconst bodyRequest = {\r\n\t\t\t\t\ttableNumber: this.props.match.params.mesa,\r\n\t\t\t\t\tstoreID: this.state.loja.id_loja\r\n\t\t\t\t}\r\n\t\t\t\tlet itens = await services.getItensMesaFromApi(bodyRequest);\r\n\r\n\t\t\t\tif (itens.length > 0) {\r\n\r\n\t\t\t\t\tthis.props.setItens(itens);\r\n\t\t\t\t\tthis.setState({ itensPedido: itens, statusTable: itens[0].finalizado }, () => {\r\n\t\t\t\t\t\tthis.calculaTotal()\r\n\t\t\t\t\t\tthis.totalizaCompra();\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.props.setItens([]);\r\n\t\t\t\t}\r\n\r\n\r\n\t\t\t\tthis.setState({ loadingPage: false });\r\n\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\tthis.setState({ loadingPage: false });\r\n\t\t\tconsole.log(error);\r\n\t\t}\r\n\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tgetStores = async () => {\r\n\t\ttry {\r\n\t\t\tservices.setAskPromo(false);\r\n\r\n\t\t\tconst idLoja = this.props.match.params.idLoja;\r\n\t\t\tconst mesa = this.props.match.params.mesa;\r\n\t\t\tconst lojas = await Requests.getStores();\r\n\r\n\t\t\tif (lojas.error) {\r\n\t\t\t\treturn alert('Ops... Algo deu errado. Vamos tentar novamente');\r\n\t\t\t}\r\n\r\n\t\t\tif (lojas.length === 0) {\r\n\t\t\t\treturn alert('Ops... Nenhuma loja encontrada');\r\n\t\t\t}\r\n\r\n\t\t\tconst auxLoja = lojas.filter(i => i.id_loja === Number(idLoja))[0];\r\n\r\n\t\t\tthis.setState({ loja: auxLoja, mesa });\r\n\r\n\t\t\tthis.props.setStores(lojas);\r\n\t\t\tservices.setLastStore(JSON.stringify(lojas));\r\n\t\t} catch (error) {\r\n\t\t\treturn alert(\"Ops... Algo deu errado.\")\r\n\t\t}\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\thandleExcludeItem = () => {\r\n\t\ttry {\r\n\t\t\tlet exclui = window.confirm('Deseja realmente excluir esse item ?');\r\n\r\n\t\t\tif (!exclui) return;\r\n\r\n\t\t\tlet newArr = [];\r\n\t\t\tnewArr = JSON.parse(JSON.stringify(this.state.itensPedido));\r\n\t\t\tnewArr.splice(this.state.indexEdit, 1);\r\n\t\t\tthis.props.setItens(newArr);\r\n\t\t\tthis.setState({ itensPedido: newArr }, () => {\r\n\t\t\t\tthis.calculaTotal();\r\n\t\t\t\tservices.setTempPedido(JSON.stringify(newArr));\r\n\t\t\t});\r\n\t\t\tthis.closeModal();\r\n\t\t\tthis.totalizaCompra();\r\n\t\t} catch (err) {\r\n\t\t\tconsole.log(err);\r\n\t\t\tthis.closeModal();\r\n\t\t}\r\n\t}\r\n\r\n\r\n\ttotalizaCompra = () => {\r\n\t\tlet tot = services.totalizaItens(this.props.rdOrder.itens, 0, '', true);\r\n\t\tif (tot) {\r\n\t\t\tthis.setState({ total: tot.data.total.toFixed(2) });\r\n\t\t}\r\n\t}\r\n\r\n\thandleObs = (e) => {\r\n\t\tthis.setState({ obsNow: e.target.value });\r\n\t}\r\n\r\n\r\n\teditItem = (item, index) => {\r\n\r\n\t\tthis.recuperaItensParaEdicao(item);\r\n\r\n\t\tthis.setState({ qtItem: item.quantidade, isEdit: true, indexEdit: index }, () => {\r\n\t\t\tthis.openItem(item);\r\n\t\t});\r\n\t}\r\n\r\n\tplusItem = (e) => {\r\n\t\te.preventDefault();\r\n\t\tthis.setState({ qtItem: this.state.qtItem + 1 }, () => {\r\n\t\t\tif (this.state.showItemModal) this.calculaTotal();\r\n\t\t});\r\n\t}\r\n\r\n\tminusItem = (e) => {\r\n\t\te.preventDefault();\r\n\t\tif (this.state.qtItem === 1) return\r\n\t\tthis.setState({ qtItem: this.state.qtItem - 1 }, () => {\r\n\t\t\tif (this.state.showItemModal) this.calculaTotal();\r\n\t\t});\r\n\t}\r\n\r\n\tresolveImage = (imagem) => {\r\n\t\treturn imagem ? `${imagem}` : imgIndisponivel\r\n\t}\r\n\r\n\tasync openItem(itemP) {\r\n\t\ttry {\r\n\r\n\r\n\t\t\tthis.setState({ loadingPage: true });\r\n\r\n\t\t\tif (!this.state.isEdit) this.zeraCheckandRaios(itemP);\r\n\r\n\t\t\tlet item = JSON.parse(JSON.stringify(itemP));\r\n\t\t\tlet qt = item.quantidade\r\n\r\n\t\t\tif (!qt) qt = 1;\r\n\r\n\t\t\tif (item.partes) {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\titemNow: item,\r\n\t\t\t\t\tqtItem: qt,\r\n\t\t\t\t\tshowItemModal: true,\r\n\t\t\t\t\tobsNow: item.obs,\r\n\t\t\t\t\tobsItemPizza: item.obs,\r\n\t\t\t\t\titensTemplates: item.prod_of_template,\r\n\t\t\t\t\tobjTempLancPizza: item.partes,\r\n\t\t\t\t\ttotalDoItem: item.total,\r\n\t\t\t\t\tpelaMaior: itemP.maior\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tshowItemModal: true,\r\n\t\t\t\t\titemNow: item,\r\n\t\t\t\t\tobsNow: item.obs,\r\n\t\t\t\t\titensTemplates: item.prod_of_template,\r\n\t\t\t\t\ttotalDoItem: item.PRECO,\r\n\t\t\t\t\tpelaMaior: itemP.maior,\r\n\t\t\t\t\tqtItem: qt,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tthis.setState({ loadingPage: false });\r\n\t\t} catch (error) {\r\n\t\t\tthis.setState({ loadingPage: false });\r\n\t\t\tconsole.log(error);\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tisEmpty(obj) {\r\n\t\tfor (var prop in obj) {\r\n\t\t\tif (obj.hasOwnProperty(prop))\r\n\t\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\treturn true;\r\n\t}\r\n\r\n\thasPromoLanc = (any) => {\r\n\t\tlet result = false;\r\n\r\n\t\tthis.state.itensPedido.forEach(obj => {\r\n\t\t\t// if any is equals true, it has to verify if there are any promotion. On ther other hand, verify only if there is free soda\r\n\t\t\tif (any) {\r\n\t\t\t\tif (obj.is_promo === 'S') result = true\r\n\t\t\t} else {\r\n\t\t\t\tif (!this.isEmpty(obj.partes.prodGratis)) result = true\r\n\t\t\t}\r\n\r\n\t\t});\r\n\t\treturn result;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\taddItem = () => {\r\n\t\tif (this.state.statusTable === 2) return this.resolveAlert(\"Conta já solicitada\", true)\r\n\t\ttry {\r\n\t\t\tif (this.isEmpty(this.state.objTempLancPizza.prodGratis) && this.state.itemNow.is_promo === 'S') {\r\n\t\t\t\tif (this.hasPromoLanc(false)) {\r\n\t\t\t\t\tthis.resolveAlert('Promoção não cumulativa. Você já tem uma promoção lançada', true);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (this.state.objTempLancPizza.produtos.length < this.state.itemNow.qt_particiona) {\r\n\t\t\t\tthis.resolveAlert('Para concluir o pedido, é necessário concluir o número de partes necessárias', true);\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\r\n\t\t\tif (this.state.itemNow.is_combo === 'S') {\r\n\t\t\t\tif (this.state.tempProdsCombo.length < this.state.itemNow.qtItensCombo) {\r\n\t\t\t\t\tthis.resolveAlert('Escolhe todas as partes do combo', true);\r\n\t\t\t\t\treturn\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\r\n\t\t\tif (this.state.objTempLancPizza.massa) {\r\n\t\t\t\tif (this.state.objTempLancPizza.massa.aceita_borda === 'S' && this.isEmpty(this.state.objTempLancPizza.borda)) {\r\n\t\t\t\t\tthis.resolveAlert('Por ter escolhido uma massa com borda, se torna obrigatório a escolha da borda', true);\r\n\t\t\t\t\treturn\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tlet obj = JSON.parse(JSON.stringify(this.state.itemNow));\r\n\t\t\tlet arrPedidos = this.props.rdOrder.itens;\r\n\t\t\tconst partesOfCombo = this.state.tempProdsCombo;\r\n\r\n\t\t\tobj['quantidade'] = this.state.qtItem;\r\n\t\t\tobj['obs'] = this.state.obsItemPizza;\r\n\t\t\tobj['total'] = this.state.totalDoItem;\r\n\r\n\r\n\r\n\t\t\tlet subtotal_item = this.state.itemNow.PRECO * this.state.qtItem;\r\n\r\n\t\t\tobj['subtotal'] = parseFloat(subtotal_item.toFixed(2));\r\n\r\n\t\t\tlet valMaiorPizza = 0;\r\n\r\n\t\t\tif (this.state.pelaMaior) {\r\n\t\t\t\tconst objMaior = services.getMaiorPreco(this.state.objTempLancPizza.produtos);\r\n\t\t\t\tif (objMaior) {\r\n\t\t\t\t\tvalMaiorPizza = objMaior.PRECO;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tvalMaiorPizza = services.getMediaPreco(this.state.objTempLancPizza.produtos);\r\n\t\t\t\tif (valMaiorPizza === 0) valMaiorPizza = this.state.itemNow.PRECO;\r\n\t\t\t}\r\n\r\n\t\t\tobj['valMaiorPizza'] = valMaiorPizza;\r\n\r\n\t\t\tlet borda = {};\r\n\r\n\t\t\tif (obj.aceita_borda === 'S' && this.state.objTempLancPizza.borda && this.state.objTempLancPizza.massa\r\n\t\t\t\t&& this.state.objTempLancPizza.massa.aceita_borda === \"S\"\r\n\t\t\t) {\r\n\t\t\t\tborda = this.state.objTempLancPizza.borda;\r\n\t\t\t}\r\n\r\n\r\n\r\n\r\n\t\t\tobj['partes'] = {\r\n\t\t\t\tprodutos: this.state.objTempLancPizza.produtos || [],\r\n\t\t\t\tmassa: obj.aceita_massa === 'S' && this.state.objTempLancPizza.massa ? this.state.objTempLancPizza.massa : {},\r\n\t\t\t\tborda,\r\n\t\t\t\ttoppings: obj.aceita_extra === 'S' && this.state.objTempLancPizza.toppings ? this.state.objTempLancPizza.toppings : [],\r\n\t\t\t\tprodGratis: !this.hasPromoLanc(true) && this.state.itemNow.is_promo === 'S' ? this.state.objTempLancPizza.prodGratis : {},\r\n\t\t\t\tpartesCombo: partesOfCombo\r\n\t\t\t}\r\n\r\n\r\n\t\t\tobj['total'] = this.state.totalDoItem;\r\n\t\t\tobj['enviado'] = false;\r\n\r\n\r\n\t\t\tobj['is_mesa'] = true;\r\n\r\n\r\n\r\n\t\t\tarrPedidos.push(obj);\r\n\r\n\t\t\tthis.props.setItens(arrPedidos);\r\n\r\n\t\t\tthis.setState({ itensPedido: arrPedidos, itemNow: {} });\r\n\r\n\t\t\tthis.persistNewItens(arrPedidos);\r\n\t\t\tthis.closeModal();\r\n\r\n\r\n\t\t} catch (error) {\r\n\t\t\tconsole.log(error);\r\n\t\t}\r\n\t}\r\n\r\n\r\n\r\n\tpersistNewItens = (arrPedidos) => {\r\n\t\tservices.setTempPedido(JSON.stringify(arrPedidos));\r\n\t\tthis.calculaTotal();\r\n\t\tthis.totalizaCompra();\r\n\t}\r\n\r\n\r\n\r\n\thandleEdit = () => {\r\n\t\ttry {\r\n\t\t\tlet obj = JSON.parse(JSON.stringify(this.state.itemNow));\r\n\r\n\t\t\tif (obj.is_pizza) {\r\n\t\t\t\tif (this.state.objTempLancPizza.produtos.length < obj.qt_particiona) {\r\n\t\t\t\t\tthis.resolveAlert('Para finalizar, é necessário selecionar as partes, ou excluir o item', true);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tobj['quantidade'] = this.state.qtItem;\r\n\t\t\t\tobj['obs'] = this.state.obsItemPizza;\r\n\t\t\t\tobj['total'] = this.state.totalDoItem;\r\n\t\t\t\tobj['PRECO'] = this.state.itemNow.PRECO;\r\n\t\t\t\tobj['partes'] = this.state.objTempLancPizza;\r\n\t\t\t\tobj.partes.partesCombo = this.state.tempProdsCombo;\r\n\t\t\t\tobj['obs'] = this.state.obsItemPizza;\r\n\t\t\t} else {\r\n\t\t\t\tobj.quantidade = this.state.qtItem;\r\n\t\t\t\tlet totItem = (obj.PRECO * this.state.qtItem);\r\n\t\t\t\tobj['total'] = totItem;\r\n\t\t\t\tobj['obs'] = this.state.obsNow || this.state.obsItemPizza;\r\n\t\t\t}\r\n\r\n\r\n\t\t\tlet arrPedidos = this.state.itensPedido;\r\n\t\t\tarrPedidos[this.state.indexEdit] = obj;\r\n\r\n\t\t\tthis.props.setItens(arrPedidos);\r\n\t\t\tthis.setState({ itensPedido: arrPedidos, qtItem: 1, isEdit: false, indexEdit: null });\r\n\r\n\t\t\tservices.setTempPedido(JSON.stringify(arrPedidos));\r\n\r\n\t\t\tthis.calculaTotal();\r\n\t\t\tthis.totalizaCompra();\r\n\t\t\tthis.closeModal();\r\n\t\t} catch (error) {\r\n\t\t\tconsole.log(error);\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tcloseModal = () => {\r\n\t\ttry {\r\n\t\t\tthis.zeraCheckandRaios();\r\n\r\n\t\t\tlet pizza = this.state.itemNow.is_pizza === 'S' && this.state.itemNow.qt_particiona > 1;\r\n\r\n\t\t\tthis.setState({\r\n\t\t\t\titemNow: {},\r\n\t\t\t\tqtItem: 1,\r\n\t\t\t\tisEdit: false,\r\n\t\t\t\tobsNow: '',\r\n\t\t\t\titensTemplates: [],\r\n\t\t\t\tshowBordas: false,\r\n\t\t\t\ttempProdsCombo: [],\r\n\t\t\t\tmaior: false\r\n\t\t\t});\r\n\r\n\t\t\tif (pizza) {\r\n\t\t\t\tlet itensTemp = JSON.parse(JSON.stringify(this.state.objTempLancPizza));\r\n\r\n\t\t\t\titensTemp.produtos = [];\r\n\t\t\t\titensTemp.toppings = [];\r\n\r\n\t\t\t\tthis.setState({ showItemModal: false, objTempLancPizza: itensTemp, totalDoItem: 0 })\r\n\t\t\t} else {\r\n\t\t\t\tthis.setState({ showItemModal: false });\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\tconsole.log(error);\r\n\t\t}\r\n\t}\r\n\r\n\thandleCheckExtra = (indexExtras, id_template, e) => {\r\n\t\t// Criar regra para não selecionar + que três toppings\r\n\t\ttry {\r\n\r\n\t\t\tlet objTemp = JSON.parse(JSON.stringify(this.state.objTempLancPizza));\r\n\t\t\tlet arrExtras = JSON.parse(JSON.stringify(this.state.extras));\r\n\r\n\r\n\r\n\t\t\tlet arrWithout = arrExtras.filter(e => e.id_template_extra !== id_template) || [];\r\n\t\t\tlet rightExtras = arrExtras.filter(e => e.id_template_extra === id_template) || [];\r\n\r\n\t\t\tif (rightExtras.filter(o => o.selected === true).length === 3 && e.target.checked) {\r\n\t\t\t\tthis.resolveAlert('Só é permitida a escolha de no máximo 3 extras', true);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\trightExtras[indexExtras].selected = e.target.checked;\r\n\r\n\t\t\tlet id = rightExtras[indexExtras].ID_PRODUTO;\r\n\r\n\t\t\tlet index = objTemp.toppings.map((item, index) => {\r\n\t\t\t\titem.index = index;\r\n\t\t\t\treturn item;\r\n\t\t\t}).find(item => item.ID_PRODUTO === id);\r\n\r\n\t\t\tif (index) index = index.index;\r\n\r\n\t\t\tif (e.target.checked) {\r\n\t\t\t\tobjTemp.toppings.push(rightExtras[indexExtras]);\r\n\t\t\t} else {\r\n\t\t\t\tobjTemp.toppings.splice(index, 1);\r\n\t\t\t}\r\n\r\n\r\n\t\t\tlet newArrToPut = arrWithout.concat(rightExtras);\r\n\r\n\t\t\tthis.setState({ extras: newArrToPut, objTempLancPizza: objTemp }, () => this.calculaTotal());\r\n\t\t} catch (error) {\r\n\t\t\tconsole.log(error);\r\n\t\t}\r\n\r\n\t}\r\n\r\n\r\n\thandleCheckProd(indexProdTemplate, e) {\r\n\r\n\t\ttry {\r\n\r\n\t\t\tlet newArr = JSON.parse(JSON.stringify(this.state.itensTemplates));\r\n\t\t\tnewArr[indexProdTemplate].selected = e.target.checked;\r\n\t\t\tlet id = newArr[indexProdTemplate].ID_PRODUTO;\r\n\r\n\t\t\tlet newObj = JSON.parse(JSON.stringify(this.state.objTempLancPizza));\r\n\r\n\t\t\tlet index = newObj.produtos.map((item, index) => {\r\n\t\t\t\titem.index = index\r\n\t\t\t\treturn item\r\n\t\t\t}).find(item => item.ID_PRODUTO === id);\r\n\r\n\t\t\tif (index) index = index.index;\r\n\r\n\r\n\t\t\tif (e.target.checked) {\r\n\t\t\t\tif (newObj.produtos.length === this.state.itemNow.qt_particiona) {\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\tthis.resolveAlert('Número de partes para esse produto antigido', true);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tnewObj.produtos.push(newArr[indexProdTemplate]);\r\n\t\t\t}\r\n\t\t\telse newObj.produtos.splice(index, 1);\r\n\r\n\r\n\t\t\tthis.setState({ itensTemplates: newArr, objTempLancPizza: newObj }, () => this.calculaTotal());\r\n\t\t} catch (error) {\r\n\t\t\tconsole.log(error);\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tresolveAlert = (text, danger) => {\r\n\t\tif (text) {\r\n\t\t\tif (danger) {\r\n\t\t\t\tthis.setState({ showAlertError: true, textAlertError: text });\r\n\t\t\t} else {\r\n\t\t\t\tthis.setState({ showAlertSucces: true, textAlertSucces: text })\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\thandleCloseAll = () => {\r\n\t\tthis.setState({ showAlertError: false, showAlertSucces: false, textAlertError: '', textAlertSucces: '' });\r\n\t}\r\n\r\n\r\n\tcalculaTotal = () => {\r\n\t\ttry {\r\n\r\n\t\t\tlet totalizador = 0;\r\n\t\t\tif (!this.state.objTempLancPizza) {\r\n\t\t\t\ttotalizador = this.state.itemNow.PRECO * this.state.qtItem;\r\n\t\t\t} else {\r\n\t\t\t\t// produtos e toppings são um array\r\n\t\t\t\tconst { produtos, borda, massa, toppings } = this.state.objTempLancPizza;\r\n\r\n\t\t\t\tlet maior = {};\r\n\t\t\t\tlet valProduto = 0;\r\n\t\t\t\tlet valMassa = 0;\r\n\t\t\t\tlet valBorda = 0;\r\n\t\t\t\tlet valToppings = 0;\r\n\r\n\t\t\t\tif (this.state.itemNow.is_pizza === 'S' && this.state.itemNow.qt_particiona > 1) {\r\n\t\t\t\t\tif (this.state.pelaMaior) {\r\n\t\t\t\t\t\tmaior = services.getMaiorPreco(produtos);\r\n\t\t\t\t\t\tif (maior && 'PRECO' in maior) valProduto = maior.PRECO\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tvalProduto = this.state.itemNow.PRECO;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tvalProduto = services.getMediaPreco(produtos);\r\n\t\t\t\t\t\tif (valProduto === 0) valProduto = this.state.itemNow.PRECO;\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvalProduto = this.state.itemNow.PRECO;\r\n\t\t\t\t}\r\n\r\n\r\n\r\n\r\n\r\n\t\t\t\tif (massa && 'preco' in massa) valMassa = massa.preco;\r\n\r\n\t\t\t\tif (borda && ('preco' in borda) && this.state.showBordas) valBorda = borda.preco;\r\n\r\n\t\t\t\tif (toppings) {\r\n\t\t\t\t\tvalToppings = toppings.reduce((total, element) => {\r\n\t\t\t\t\t\treturn total + element.PRECO;\r\n\t\t\t\t\t}, 0);\r\n\t\t\t\t}\r\n\r\n\t\t\t\ttotalizador = (valProduto + valMassa + valBorda + valToppings) * this.state.qtItem;\r\n\t\t\t}\r\n\r\n\t\t\tthis.setState({ totalDoItem: totalizador });\r\n\t\t} catch (error) {\r\n\t\t\tconsole.log(error);\r\n\t\t}\r\n\t}\r\n\r\n\r\n\thandleCheckProdPomo = (index, e) => {\r\n\t\ttry {\r\n\r\n\t\t\tlet newArr = JSON.parse(JSON.stringify(this.state.produtosGratis));\r\n\r\n\t\t\tnewArr.map(o => o.selected = false);\r\n\t\t\tnewArr[index].selected = e.target.checked;\r\n\r\n\t\t\tthis.setState({ produtosGratis: newArr });\r\n\r\n\t\t\tlet itens = JSON.parse(JSON.stringify(this.state.objTempLancPizza));\r\n\r\n\t\t\tif (e.target.checked) itens.prodGratis = newArr[index];\r\n\r\n\r\n\t\t\tthis.setState({ objTempLancPizza: itens }, () => this.calculaTotal());\r\n\t\t} catch (error) {\r\n\t\t\tconsole.log(error);\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tzeraBordas = () => {\r\n\t\tlet newBordas = JSON.parse(JSON.stringify(this.state.bordas));\r\n\t\tnewBordas.map(b => b.selected = false);\r\n\t\tthis.setState({ bordas: newBordas });\r\n\t}\r\n\r\n\thandleCheckMassa = (indexMassas, e) => {\r\n\t\ttry {\r\n\r\n\t\t\tlet newArr = JSON.parse(JSON.stringify(this.state.massas));\r\n\r\n\t\t\tnewArr.map(o => o.selected = false);\r\n\t\t\tnewArr[indexMassas].selected = e.target.checked;\r\n\r\n\t\t\tthis.setState({ massas: newArr });\r\n\r\n\t\t\tlet itens = JSON.parse(JSON.stringify(this.state.objTempLancPizza));\r\n\r\n\t\t\tif (e.target.checked) {\r\n\r\n\t\t\t\tif (newArr[indexMassas].aceita_borda === 'S') {\r\n\t\t\t\t\tthis.setState({ showBordas: true });\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.zeraBordas();\r\n\t\t\t\t\tthis.setState({ showBordas: false });\r\n\t\t\t\t\titens.borda = {};\r\n\t\t\t\t}\r\n\t\t\t\titens.massa = newArr[indexMassas];\r\n\t\t\t} else {\r\n\t\t\t\tthis.zeraBordas();\r\n\t\t\t\tthis.setState({ showBordas: false });\r\n\t\t\t\titens.borda = {};\r\n\t\t\t}\r\n\r\n\r\n\t\t\tthis.setState({ objTempLancPizza: itens }, () => this.calculaTotal());\r\n\t\t} catch (error) {\r\n\t\t\tconsole.log(error);\r\n\t\t}\r\n\r\n\t}\r\n\r\n\thandleCheckBordas = (indexBordas, e) => {\r\n\t\ttry {\r\n\t\t\tlet newArr = JSON.parse(JSON.stringify(this.state.bordas));\r\n\r\n\t\t\tnewArr.map(o => o.selected = false);\r\n\t\t\tnewArr[indexBordas].selected = e.target.checked;\r\n\r\n\t\t\tthis.setState({ bordas: newArr });\r\n\r\n\t\t\tlet itens = JSON.parse(JSON.stringify(this.state.objTempLancPizza));\r\n\r\n\t\t\tif (e.target.checked) itens.borda = newArr[indexBordas];\r\n\r\n\t\t\tthis.setState({ objTempLancPizza: itens }, () => this.calculaTotal());\r\n\t\t} catch (error) {\r\n\t\t\tconsole.log(error);\r\n\t\t}\r\n\r\n\t}\r\n\r\n\r\n\thandleObsPizza = (e) => {\r\n\t\tthis.setState({ obsItemPizza: e.target.value });\r\n\t}\r\n\r\n\r\n\tveirificaLojaAberta = async () => {\r\n\t\tlet lojaAberta = await services.verficaLojaAberta(this.state.loja.id_loja);\r\n\t\tthis.setState({ lojaAberta: lojaAberta });\r\n\t\treturn lojaAberta;\r\n\t}\r\n\r\n\r\n\trecuperaItensParaEdicao = (item) => {\r\n\t\ttry {\r\n\t\t\t//Primeiramente, vamos dar um reset no states necessários para operação\r\n\r\n\t\t\tthis.zeraCheckandRaios();\r\n\t\t\tconst { partesCombo } = item.partes;\r\n\r\n\t\t\tif (item.partes) {\r\n\t\t\t\t/*Aqui eu vou percorrer todas as partes desse produto para pegar o ID e setar selectec nos prod_of_template, \r\n\t\t\t\tPois todo o procedimento de lançamento é feito nele.\r\n\t\t\t\tEntão é um map para os produtos, e dentro um find baseado no id da iteração. Daí procuro no prod_of... \r\n\t\t\t\to ID referente e seto para seleted true, pois assim ele vai aparecer checado na view de edição\r\n\t\t\t\t*/\r\n\t\t\t\tif (item.prod_of_template) {\r\n\t\t\t\t\titem.prod_of_template.map(o => o.selected = false);\r\n\t\t\t\t\titem.partes.produtos.forEach(produtos => {\r\n\t\t\t\t\t\tlet prodFilter =\r\n\r\n\t\t\t\t\t\t\titem.prod_of_template.find(prodtemplate => {\r\n\t\t\t\t\t\t\t\treturn prodtemplate.ID_PRODUTO === produtos.ID_PRODUTO\r\n\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tif (prodFilter) {\r\n\t\t\t\t\t\t\tprodFilter.selected = true\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\r\n\t\t\t\t/*Agora vamos veririficar se há massa nesse pedido\r\n\t\t\t\t* As bordas, extras e massas são states separados já preenchidos no componentDidMount.\r\n\t\t\t\t* Portanto, devemos pegar o item recebido para edição, verificar se há qualquer um desses \r\n\t\t\t\t* Eles não são um array, basta um find e um seletecd = true caso seja o caso \r\n\t\t\t\t*/\r\n\r\n\t\t\t\tif (item.partes.massa) {\r\n\r\n\t\t\t\t\tlet stateMassas = JSON.parse(JSON.stringify(this.state.massas));\r\n\t\t\t\t\tstateMassas.map(o => o.selected = false);\r\n\t\t\t\t\tlet massaAchou = stateMassas.find(massa => massa.id_massa === item.partes.massa.id_massa);\r\n\r\n\t\t\t\t\tlet showBordas = false;\r\n\t\t\t\t\tif (massaAchou) {\r\n\t\t\t\t\t\tmassaAchou.selected = true;\r\n\t\t\t\t\t\tif (massaAchou.aceita_borda === 'S') showBordas = true;\r\n\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.setState({ massas: stateMassas, showBordas: showBordas });\r\n\t\t\t\t}\r\n\r\n\t\t\t\t/**\r\n\t\t\t\t * Agora devemos faer o mesmo esquemapara as bordas. Verifica se tem bora e etc... \r\n\t\t\t\t * */\r\n\r\n\t\t\t\tif (item.partes.borda) {\r\n\r\n\t\t\t\t\tlet stateBordas = JSON.parse(JSON.stringify(this.state.bordas));\r\n\t\t\t\t\tstateBordas.map(o => o.selected = false);\r\n\t\t\t\t\tlet bordaAchou = stateBordas.find(borda => borda.id_borda === item.partes.borda.id_borda);\r\n\r\n\t\t\t\t\tif (bordaAchou) bordaAchou.selected = true;\r\n\r\n\t\t\t\t\tthis.setState({ bordas: stateBordas });\r\n\t\t\t\t}\r\n\r\n\t\t\t\t/**Agora devemos fazer um metodo semelhante com os toppings. Porém eles são produtos de fato, então \r\n\t\t\t\t * esse metodo deve ser parecido com o primeiro. Acontece que os toppings são os nossos extras. Iremos \r\n\t\t\t\t * percorrer os toppings, achar esse topping no array extras e setar o array extra para selected true \r\n\t\t\t\t */\r\n\r\n\t\t\t\tif (item.partes.toppings) {\r\n\t\t\t\t\tlet stateExtras = JSON.parse(JSON.stringify(this.state.extras));\r\n\t\t\t\t\tstateExtras.map(o => o.selected = false);\r\n\r\n\t\t\t\t\titem.partes.toppings.map(topping => {\r\n\t\t\t\t\t\tstateExtras = stateExtras.map(e => {\r\n\t\t\t\t\t\t\tif (e.id_produto === topping.id_produto) {\r\n\t\t\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t\t\t...e,\r\n\t\t\t\t\t\t\t\t\tselected: true\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\treturn { ...e }\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\r\n\t\t\t\t\t})\r\n\r\n\r\n\r\n\t\t\t\t\tthis.setState({ extras: stateExtras });\r\n\t\t\t\t}\r\n\r\n\r\n\t\t\t\t/**Agora devemos verificar se é um combo e se á produtos lançados nele */\r\n\t\t\t\tif (partesCombo && partesCombo.length > 0) {\r\n\t\t\t\t\tthis.setState({ tempProdsCombo: partesCombo });\r\n\t\t\t\t}\r\n\r\n\t\t\t\t/**\r\n\t\t\t\t * Agora vamos procurar para saber se há observação\r\n\t\t\t\t */\r\n\r\n\t\t\t\tif (item && item.obs) {\r\n\t\t\t\t\tthis.setState({ obsItemPizza: item.obs });\r\n\t\t\t\t}\r\n\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\tconsole.log(error);\r\n\t\t}\r\n\t}\r\n\r\n\r\n\r\n\tgoToCart = () => {\r\n\t\tif (this.state.heightCar != '100%') this.setState({ heightCar: '100%' }, () => {\r\n\t\t\tif (this.state.rightUpBtn) this.setState({ rightUpBtn: false })\r\n\t\t});\r\n\t}\r\n\r\n\r\n\r\n\tcloseCar = () => {\r\n\t\tthis.setState({ heightCar: '47px' });\r\n\t}\r\n\r\n\r\n\r\n\tzeraCheckandRaios = (item) => {\r\n\t\ttry {\r\n\r\n\t\t\tlet newItens = JSON.parse(JSON.stringify(this.state.itens));\r\n\t\t\tnewItens.map(item => {\r\n\t\t\t\titem.produtos.map(prods => {\r\n\t\t\t\t\tif (prods.prod_of_template)\r\n\t\t\t\t\t\tprods.prod_of_template.map(o => o.selected = false);\r\n\t\t\t\t})\r\n\t\t\t});\r\n\r\n\t\t\tlet newMassas = JSON.parse(JSON.stringify(this.state.massas));\r\n\t\t\tlet newBordas = JSON.parse(JSON.stringify(this.state.bordas));\r\n\t\t\tlet newExtras = JSON.parse(JSON.stringify(this.state.extras));\r\n\r\n\t\t\tlet itensTemp = JSON.parse(JSON.stringify(this.state.objTempLancPizza));\r\n\r\n\t\t\titensTemp.obs = '';\r\n\r\n\t\t\titensTemp.massa = {};\r\n\t\t\titensTemp.toppings = [];\r\n\t\t\titensTemp.borda = {};\r\n\r\n\r\n\r\n\t\t\tif (item.aceita_massa === \"S\") {\r\n\t\t\t\tnewMassas.map(o => {\r\n\t\t\t\t\tif (o.principal === 'S') {\r\n\t\t\t\t\t\to.selected = true;\r\n\t\t\t\t\t\titensTemp.massa = o;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\to.selected = false\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tif (item.aceita_borda === \"S\") {\r\n\t\t\t\tnewBordas.map(o => {\r\n\t\t\t\t\tif (o.principal === 'S') {\r\n\t\t\t\t\t\to.selected = true;\r\n\t\t\t\t\t\titensTemp.borda = o;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\to.selected = false\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tlet arrProdsGratis = [];\r\n\t\t\tif (item) {\r\n\t\t\t\tif (item.id_template_promo_prod_gratis != null) {\r\n\t\t\t\t\tarrProdsGratis = this.state.produtosGratis.filter(o => o.id_template === item.id_template_promo_prod_gratis);\r\n\t\t\t\t\tif (arrProdsGratis) {\r\n\t\t\t\t\t\titensTemp.prodGratis = arrProdsGratis[0];\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\titensTemp.prodGratis = {};\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\titensTemp.prodGratis = {};\r\n\t\t\t}\r\n\r\n\t\t\tnewExtras.map(o => o.selected = false);\r\n\r\n\t\t\tthis.setState({\r\n\t\t\t\titens: newItens,\r\n\t\t\t\tmassas: newMassas,\r\n\t\t\t\tbordas: newBordas,\r\n\t\t\t\textras: newExtras,\r\n\t\t\t\tobsItemPizza: '',\r\n\t\t\t\tobjTempLancPizza: itensTemp\r\n\t\t\t});\r\n\r\n\t\t} catch (error) {\r\n\t\t\tconsole.log(error);\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tviewPic = (item) => {\r\n\t\t//800 x 620\r\n\t\tthis.setState({ showPic: true, imgNow: item.imagem, descriNow: item.descricao, prodNow: item.produto });\r\n\t}\r\n\r\n\thandleCloseImgNow = () => {\r\n\t\tthis.setState({ showPic: false, imgNow: '', descriNow: '', prodNow: '' });\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tfilterProd = (e) => {\r\n\t\tthis.functionFlter(this.state.itens, 'batata');\r\n\t\tthis.setState({ textFilter: e.target.value }, () => {\r\n\t\t\tif (this.state.textFilter != '') {\r\n\t\t\t\tthis.setState({ itens: this.functionFlter(this.state.copyItens, this.state.textFilter) })\r\n\t\t\t} else {\r\n\t\t\t\tthis.setState({ itens: this.state.copyItens });\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\r\n\r\n\r\n\tfunctionFlter = (arr, text) => {\r\n\t\tlet result = [];\r\n\t\ttext = text.toUpperCase();\r\n\t\tarr.forEach(item => {\r\n\t\t\tlet produtos = []\r\n\t\t\tfor (let i = 0; i < item.produtos.length; i++) {\r\n\t\t\t\tif (item.produtos[i].descricao) {\r\n\t\t\t\t\tif (item.produtos[i].produto.toUpperCase().indexOf(text) > -1 || item.produtos[i].descricao.toUpperCase().indexOf(text) > -1) {\r\n\r\n\t\t\t\t\t\tprodutos.push(item.produtos[i]);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (item.produtos[i].produto.toUpperCase().indexOf(text) > -1) {\r\n\r\n\t\t\t\t\t\tprodutos.push(item.produtos[i]);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t}\r\n\t\t\tif (produtos.length > 0) {\r\n\t\t\t\tlet auxItem = {\r\n\t\t\t\t\t'categoria': item.categoria,\r\n\t\t\t\t\tprodutos: produtos\r\n\t\t\t\t}\r\n\r\n\t\t\t\tresult.push(auxItem);\r\n\t\t\t}\r\n\t\t})\r\n\t\treturn result;\r\n\t}\r\n\r\n\r\n\r\n\tcleanTextSearch = () => {\r\n\t\tthis.setState({ textFilter: '', itens: this.state.copyItens });\r\n\t}\r\n\r\n\r\n\r\n\thandeCheckParteCombo = (produto, categoria, e) => {\r\n\t\tlet tempProdsCombo = JSON.parse(JSON.stringify(this.state.tempProdsCombo));\r\n\t\tproduto.categoria = categoria.categoria;\r\n\t\tlet filterTemp = tempProdsCombo.filter(o => o.categoria != produto.categoria);\r\n\t\tfilterTemp.push(produto);\r\n\t\tthis.setState({ tempProdsCombo: filterTemp });\r\n\r\n\t}\r\n\r\n\r\n\tresolveCheckCombo = (e, item) => {\r\n\t\tlet r = this.state.tempProdsCombo.filter(o => o.id_produto === item.id_produto);\r\n\t\tif (r.length > 0) {\r\n\t\t\treturn true\r\n\t\t} else {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\r\n\r\n\r\n\r\n\t// Metodo que monta toda a view da seleção do produto\r\n\tmontaView = () => {\r\n\t\tconst itenNow = this.state.itemNow;\r\n\t\tconst prodsOfCombo = this.state.itemNow.prods_of_combo;\r\n\t\tlet itensPromo = [];\r\n\r\n\r\n\t\tif (itenNow.is_promo === 'S' && !this.hasPromoLanc(true) && itenNow.id_template_promo_prod_gratis != null) {\r\n\t\t\titensPromo = this.state.produtosGratis.filter(o => o.id_template === itenNow.id_template_promo_prod_gratis);\r\n\t\t}\r\n\r\n\t\t// Aqui é o combo \r\n\t\tif (itenNow.is_combo === 'S') {\r\n\t\t\treturn (\r\n\t\t\t\t
\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tprodsOfCombo.map(item => {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t

{item.categoria}

\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\titem.produtos.map((p, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t

R$ {p.PRECO.toFixed(2)}

\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t
\r\n\t\t\t)\r\n\r\n\t\t} else {\r\n\t\t\t// Aqui é a pizza\r\n\t\t\treturn (\r\n\t\t\t\t
\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tthis.state.itensTemplates && this.state.itensTemplates.length > 0 ? (\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

Escolha os sabores :

\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tthis.state.itensTemplates.map((item, index) => {\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t

{item.descricao}

\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t

R$ {item.PRECO.toFixed(2)}

\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t) : ''\r\n\t\t\t\t\t}\r\n\r\n\r\n\r\n\r\n\t\t\t\t\t{/* Inicia Massa */}\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tthis.state.itemNow.aceita_massa === 'S' ? (\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

Escolha sua massa

\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tthis.state.massas.map((massa, index) => {\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t

R$ {massa.preco.toFixed(2)}

\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t) : ''\r\n\t\t\t\t\t}\r\n\r\n\r\n\r\n\r\n\r\n\t\t\t\t\t{/* Inicia bordas */}\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\titenNow.aceita_borda === 'S' && this.state.showBordas ? (\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

Escolha sua borda

\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tthis.state.bordas.map((borda, index) => {\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t

R$ {borda.preco.toFixed(2)}

\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t) : ''\r\n\t\t\t\t\t}\r\n\r\n\r\n\r\n\t\t\t\t\t{/* Inicia Toppings */}\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\titenNow.aceita_extra === 'S' && this.state.extras.length > 0 && itenNow.id_template_extra != null ? (\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

Escolha seus extras

\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tthis.state.extras.filter(i => i.id_template_extra === itenNow.id_template_extra).map((extras, index) => {\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t

R$ {extras.PRECO.toFixed(2)}

\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t) : ''\r\n\t\t\t\t\t}\r\n\r\n\r\n\r\n\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\titenNow.is_promo === 'S' && !this.hasPromoLanc(true) && itenNow.id_template_promo_prod_gratis != null ? (\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

Escolha seu produto grátis

\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\titensPromo.map((prod, index) => {\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t

R$ 0.00

\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t) : ''\r\n\t\t\t\t\t}\r\n\t\t\t\t
\r\n\t\t\t)\r\n\t\t}\r\n\t}\r\n\r\n\r\n\r\n\r\n\tmanualQtAdd = ({ target }) => {\r\n\t\ttry {\r\n\t\t\tlet valor = target.value.replace(/\\[a-Z]/g, \"\");\r\n\r\n\t\t\tlet auxQt = String(target.value).split(\".\");\r\n\t\t\tif (auxQt.length > 1) {\r\n\t\t\t\tif (auxQt[1].length === 5) return\r\n\t\t\t}\r\n\r\n\t\t\tif ((valor.indexOf(\",\") !== -1) && (valor.indexOf(\".\") === -1) && valor.length > 0) {\r\n\t\t\t\tvalor = valor.replace(\",\", \"\");\r\n\t\t\t\tvalor += \".\"\r\n\t\t\t} else if ((valor.indexOf(\",\") !== -1)) {\r\n\t\t\t\tvalor = valor.replace(\",\", \"\");\r\n\t\t\t}\r\n\r\n\t\t\tconst aux = valor.split(\"\");\r\n\t\t\tlet aux1 = 0;\r\n\t\t\taux.forEach(v => v === \".\" && aux1++);\r\n\t\t\tif (aux1 > 1) {\r\n\t\t\t\taux.splice(aux.length - 1, 1);\r\n\t\t\t\tvalor = aux.join(\"\");\r\n\t\t\t}\r\n\r\n\t\t\tthis.setState({ qtItem: valor }, () => {\r\n\t\t\t\tif (this.state.showItemModal) this.calculaTotal();\r\n\t\t\t});\r\n\t\t} catch (error) {\r\n\t\t\tconsole.log(error)\r\n\t\t}\r\n\t}\r\n\r\n\r\n\r\n\r\n\thandleCpfTyped = (e) => {\r\n\t\tthis.setState({ cpfTyped: e.target.value });\r\n\t}\r\n\r\n\r\n\r\n\thandleOkCpf = () => {\r\n\t\tthis.closeModalCPF();\r\n\t\tstorage.setCPF(this.state.cpfTyped);\r\n\r\n\t}\r\n\r\n\r\n\tcloseModalCPF = () => {\r\n\t\tthis.setState({ showGetCPF: false, cpfTyped: \"\" });\r\n\t}\r\n\r\n\r\n\r\n\trender() {\r\n\t\tconst { itemNow } = this.state;\r\n\t\tconst hasItemToSend = this.props.rdOrder.itens.findIndex(i => !i.enviado);\r\n\r\n\t\treturn (\r\n\t\t\t
\r\n\r\n\t\t\t\t{\r\n\t\t\t\t\tthis.state.loadingPage ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : ''\r\n\t\t\t\t}\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
0 ? 'block' : 'none',\r\n\t\t\t\t\theight: this.state.heightCar,\r\n\t\t\t\t\tbackground: hasItemToSend >= 0 ? \"#2a9d8f\" : \"#04152A\"\r\n\t\t\t\t}} onClick={this.goToCart}>\r\n\r\n\r\n\r\n\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\thasItemToSend === -1 ? (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tthis.state.heightCar === '47px' ? (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\tthis.state.statusTable === 2 ? \"Em conta...\" : \"Itens\"\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t Voltar\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tthis.state.heightCar !== '47px' ? (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t Voltar\r\n\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tConferir e enviar pedido \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t}\r\n\r\n\r\n\r\n\r\n\r\n\t\t\t\t\t

R$ {this.state.total}

\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\r\n\t\t\t\t\r\n\r\n\t\t\t\t
\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\r\n\r\n\t\t\t\t\t\t\t\t{/**Aqui vai um laço com todos os itens separados por categoria */}\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\r\n\r\n\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\tthis.state.itens.map((item, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.produtos.length > 0 ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.categoria}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : ''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{/* Na compra de qualquer produto dessa categoria, grátis um refrigerante de 2 litros (Promoção não cumulativa) */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{item.informativo != '' && item.informativo != null ? (

{item.informativo}

) : ''}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.produtos.map((element, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
this.viewPic(element)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
this.openItem(element, null)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

{element.produto}

\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

{element.descricao}

\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
this.openItem(element, null)}>\r\n\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement.is_pizza == 'S' && element.qt_particiona > 1 ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpartir de R$ {element.PRECO.toFixed(2)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tR$ {element.PRECO.toFixed(2)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t})\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\r\n\r\n\r\n\r\n\t\t\t\t{/* Modal para itens */}\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t

{this.state.itemNow.produto}

\r\n\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{this.montaView()}\r\n\t\t\t\t\t\t\t
\r\n\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{(itemNow.aceita_dec !== \"S\" || (itemNow.aceita_dec === \"S\" && (itemNow.is_pizza === \"S\" || itemNow.is_combo === \"S\"))) && \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
}\r\n\r\n\r\n\r\n\r\n\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t(itemNow.aceita_dec !== \"S\" || (itemNow.aceita_dec === \"S\" && (itemNow.is_pizza === \"S\" || itemNow.is_combo === \"S\"))) ? (\r\n\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t false}\r\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={\"Quantidade\"}\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tInforme a quantidade\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\t\t\t\t\t\t\t\t{(itemNow.aceita_dec !== \"S\" || (itemNow.aceita_dec === \"S\" && (itemNow.is_pizza === \"S\" || itemNow.is_combo === \"S\"))) && \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\r\n\r\n\t\t\t\t\t\t{/* Agora vem o lado direito */}\r\n\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

{this.state.itemNow.produto}

\r\n\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t!this.state.isEdit ? ()\r\n\t\t\t\t\t\t\t\t\t\t: (\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t

R$ {this.state.totalDoItem.toFixed(2)}

\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\r\n\r\n\r\n\t\t\t\t{/* modal de visualização das fotos */}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

{this.state.prodNow}

\r\n\t\t\t\t\t\t

{this.state.descriNow}

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\r\n\r\n\r\n\t\t\t\t{/* getCPF */}\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tInforme seu CPF\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{this.state.cpfTyped.length >= 11 && }\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\r\n\r\n\r\n\t\t\t\t{/* ALERTS */}\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tOps... Algo deu errado\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t

{this.state.textAlertError}

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tMuito bem !\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t

{this.state.textAlertSucces}

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\r\n\r\n\r\n\t\t\t\r\n\t\t);\r\n\r\n\t}\r\n\r\n}\r\n\r\n\r\n\r\nconst mapStateToProps = state => ({\r\n\trdUser: state.user,\r\n\trdOrder: state.order\r\n})\r\n\r\nconst mapDispathToPros = dispatch => bindActionCreators(Actions, dispatch)\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispathToPros)(EstouNaMesa))\r\n\r\n","import React from 'react';\r\nimport './ListHistorico.css';\r\nimport PropTypes from 'prop-types';\r\nimport services from './../../services/index'\r\n\r\n\r\n\r\n\r\nconst ListHistorico = props => {\r\n\r\n if (props.pedidos.length === 0) {\r\n return

Não há histórico de Pedidos

\r\n } else {\r\n\r\n\r\n\r\n return (\r\n
\r\n \r\n {\r\n props.pedidos.map(item => {\r\n \r\n let status = item.status;\r\n let colorStatus = '#27ae60';\r\n \r\n if(status === 'CANCELADO'){\r\n colorStatus = '#C3000D';\r\n }else if(status === 'INTEGRADO'){\r\n status = 'RECEBIDO';\r\n }else if(status === 'PENDENTE'){\r\n colorStatus = '#C3000D';\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Pedido # {item.codigo_pedido}

\r\n\r\n
\r\n
\r\n

Data do Pedido

\r\n
\r\n\r\n\r\n
\r\n

\r\n {\r\n services.formatDate(item.data)\r\n }\r\n

\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n

Loja

\r\n
\r\n\r\n\r\n
\r\n

{item.loja}

\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n

Status do Pedido

\r\n
\r\n\r\n\r\n
\r\n {/*

\r\n {item.status === 'INTEGRADO' ? 'RECEBIDO' : 'PENDENTE'}\r\n

*/}\r\n

\r\n {status}\r\n

\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n

Taxa de Entrega

\r\n
\r\n\r\n\r\n
\r\n

R$ {item.taxa ? item.taxa.toFixed(2) : '0.00'}

\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n

Total do Pedido

\r\n
\r\n\r\n\r\n
\r\n

R$ {item.total_pedido.toFixed(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 }\r\n
\r\n )\r\n }\r\n}\r\n\r\n\r\n// ListHistorico.propTypes = {\r\n// pedidos : PropTypes.array.isRequired\r\n// }\r\n\r\n\r\nexport default ListHistorico;","import React, { Component } from 'react';\r\nimport './HistoricoPedido.css'\r\nimport services from './../../services/index'\r\nimport ListHistorico from './../../components/listHistorico/ListHistorico';\r\nimport Loading from './../../components/loading/Loading';\r\nimport Header from './../../components/header/Header';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { Modal } from 'react-bootstrap';\r\nimport { faTimesCircle } from '@fortawesome/free-solid-svg-icons'\r\nimport { Redirect } from 'react-router-dom';\r\n\r\n\r\nexport default class historicoPedido extends Component {\r\n\r\n\r\n\r\n state = {\r\n pedidos: [],\r\n loadingPage: false,\r\n openModal: false,\r\n itens: [],\r\n codigo_pedido: 0,\r\n total_pedido: 0,\r\n redirect: false,\r\n logado: false,\r\n\r\n }\r\n\r\n\r\n async componentDidMount() {\r\n\r\n\r\n this.setState({ loadingPage: true });\r\n let logado = await services.isLogado();\r\n\r\n if (!logado) {\r\n this.setState({ redirect: true, loadingPage: false });\r\n return\r\n } else {\r\n this.setState({ logado: true, loadingPage: false });\r\n }\r\n\r\n try {\r\n this.setState({ loadingPage: true });\r\n let pedidos = await services.getHistorico();\r\n\r\n if (pedidos) this.setState({ pedidos: pedidos, loadingPage: false })\r\n else this.setState({ loadingPage: false });\r\n } catch (error) {\r\n this.setState({ loadingPage: false, redirect: true });\r\n }\r\n\r\n }\r\n\r\n repetirPedido = async (codigo_pedido) => {\r\n this.setState({ loadingPage: true })\r\n let objPedido = await services.getItensPedido(codigo_pedido);\r\n if (objPedido) {\r\n const { token } = services.getUser();\r\n services.enviaPedido(objPedido, token);\r\n }\r\n this.setState({ loadingPage: false });\r\n }\r\n\r\n\r\n openPedido = async (codigo_pedido) => {\r\n try {\r\n this.setState({ loadingPage: true });\r\n let objPedido = await services.getItensPedido(codigo_pedido);\r\n console.log(objPedido)\r\n if (objPedido) this.setState({\r\n itens: objPedido.itens,\r\n codigo_pedido: codigo_pedido,\r\n openModal: true,\r\n total_pedido: objPedido.subtotal\r\n });\r\n\r\n\r\n\r\n this.setState({ loadingPage: false });\r\n\r\n } catch (error) {\r\n console.log(error);\r\n this.setState({ loadingPage: false });\r\n }\r\n\r\n }\r\n\r\n closeModal = () => {\r\n this.setState({ itens: [], openModal: false, codigo_pedido: 0 });\r\n }\r\n\r\n\r\n render() {\r\n if (this.state.redirect) {\r\n return \r\n }\r\n\r\n if (this.state.loadingPage) {\r\n return \r\n } else {\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 Pedido #{this.state.codigo_pedido}\r\n {\r\n\r\n this.state.itens.map((item, index) => {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

R$ {item.combo === \"S\" ? item.total.toFixed(2) : item.preco.toFixed(2)}

\r\n
\r\n
\r\n\r\n {\r\n item.borda.borda ? (\r\n
\r\n\r\n
\r\n
\r\n

Borda -> {item.borda.borda} {item.borda.preco ? `( R$ ${item.borda.preco.toFixed(2)} )` : \"\"}

\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n ) : ''\r\n }\r\n\r\n {\r\n item.massa.massa ? (\r\n
\r\n
\r\n
\r\n

Massa -> {item.massa.massa} {item.massa.preco ? `( R$ ${item.massa.preco.toFixed(2)} )` : \"\"}

\r\n
\r\n
\r\n
\r\n ) : ''\r\n }\r\n\r\n {\r\n item.subitens ? (\r\n
\r\n {\r\n item.subitens.map((sub, index) => {\r\n return (\r\n
\r\n
\r\n

{sub.nome_produto} {sub.preco ? `( R$ ${sub.preco.toFixed(2)} )` : \"\"}

\r\n
\r\n
\r\n )\r\n })\r\n }\r\n
\r\n ) : ''\r\n }\r\n\r\n {\r\n item.extras ? (\r\n
\r\n {\r\n item.extras.map((extras, index) => {\r\n return (\r\n
\r\n
\r\n

+{extras.nome_produto} {extras.preco ? `( R$ ${extras.preco.toFixed(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 \r\n

R$ {this.state.total_pedido ? this.state.total_pedido.toFixed(2) : this.state.total_pedido}

\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n }\r\n}\r\n","import React, { PureComponent } from 'react';\nimport './index.css'\nimport Header from './../../components/header/Header'\nimport services from './../../services/index'\nimport { HashLink as Link } from 'react-router-hash-link';\nimport Requests from \"../../services/requests\"\nimport ScrollableAnchor, { goToAnchor, configureAnchors, removeHash } from 'react-scrollable-anchor'\n\n\nimport { faPlus, faMinus, faTrashAlt, faCheckCircle, faTimesCircle } from '@fortawesome/free-solid-svg-icons'\n\n\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport Loading from './../../components/loading/Loading';\nimport { Modal, Button } from 'react-bootstrap';\nimport { FaArrowCircleUp } from \"react-icons/fa\"\nimport { isArray, isEmpty } from \"lodash\"\nimport GLOBAL from '../../global';\n\nimport { connect } from \"react-redux\";\nimport { bindActionCreators } from \"redux\"\nimport * as Actions from \"../../store/actions\"\nimport { BsSearch } from \"react-icons/bs\"\nimport { RiCloseLine } from \"react-icons/ri\"\nimport { withRouter } from \"react-router-dom\";\n\n\nconfigureAnchors({ offset: -160, scrollDuration: 1200 });\nremoveHash()\n\nclass Cardapio extends PureComponent {\n\n constructor(props) {\n super(props);\n this.selectedCategory = React.createRef(0);\n }\n\n\n state = {\n loja: {},\n\n subItem: '',\n taxa: 0,\n subtotal: 0,\n itens: [],\n copyItens: [],\n extras: [],\n extras_grande: [],\n extras_brotos: [],\n itensPedido: [],\n itensTemplates: [],\n tempProdsCombo: [],\n loadingPage: false,\n itemNow: {},\n qtItem: 1,\n total: 0,\n isEdit: false,\n indexEdit: null,\n showBordas: false,\n obsNow: '',\n displayItemDetail: 'none',\n massas: [],\n bordas: [],\n totalDoItem: 0.00,\n pelaMaior: false,\n showItemModal: false,\n obsItemPizza: '',\n objTempLancPizza: { produtos: [], massa: {}, borda: {}, toppings: [], obs: '' },\n heightCar: '47px',\n lojaAberta: false,\n showAlertSucces: false,\n textAlertSucces: '',\n showAlertError: false,\n textAlertError: '',\n produtosGratis: [],\n lancProdGratis: {},\n showPic: false,\n imgNow: '',\n prodNow: '',\n descriNow: '',\n textFilter: '',\n rightUpBtn: false,\n displayBanner: 'none',\n selectedCat: 0,\n itemsMenu: []\n }\n\n handleScroll = () => {\n let scroll = document.documentElement.scrollTop;\n\n if (this.state.itemsMenu.length > 0) {\n const refName = this.state.itemsMenu[0]['id'] + \"scroll\";\n if (!isEmpty(this[refName])) {\n const lasIndex = this.state.itemsMenu.length - 1;\n const { current: lastCurrent } = this[`${this.state.itemsMenu[lasIndex]['id']}scroll`];\n this.state.itemsMenu.map((i, index) => {\n if (this.state.itemsMenu[index + 1]) {\n const { current } = this[i['id'] + \"scroll\"];\n const { current: Current2 } = this[`${this.state.itemsMenu[index + 1]['id']}scroll`]\n\n if ((scroll >= (current.offsetTop - 100)) && (scroll <= (Current2.offsetTop - 100))) {\n this.setState({ selectedCat: index })\n } else if ((scroll) >= lastCurrent.offsetTop) {\n this.setState({ selectedCat: lasIndex })\n }\n }\n })\n }\n }\n\n\n\n if (scroll > 800) {\n if (this.state.rightUpBtn === false && this.state.heightCar === '47px') {\n this.setState({ rightUpBtn: true });\n }\n } else {\n if (this.state.rightUpBtn === true) {\n this.setState({ rightUpBtn: false });\n }\n }\n\n }\n\n\n componentWillUnmount() {\n window.removeEventListener('scroll', this.handleScroll);\n }\n\n scrolltoTop = () => {\n window.scrollTo({\n top: 0,\n behavior: 'smooth',\n });\n }\n\n async componentDidMount() {\n\n const itensMenu = [];\n window.scrollTo({\n top: 0,\n behavior: 'smooth',\n });\n\n this.props.setAdressToDelivery({});\n\n try {\n window.addEventListener('scroll', this.handleScroll);\n\n let lojas = [];\n const responseStore = await Requests.getStores();\n\n if (!responseStore.error) {\n this.setState({ loja: responseStore[0] });\n lojas = responseStore[0];\n }\n\n\n if (lojas) {\n let { taxa_entrega } = lojas;\n\n this.setState({ taxa: taxa_entrega });\n this.setState({ loadingPage: true });\n\n let gratis = [];\n let AllProds = [];\n\n try {\n const { id_loja } = lojas;\n AllProds = await services.getAllProducts(id_loja);\n } catch (error) {\n console.log(error);\n return;\n }\n\n\n\n AllProds.data.forEach((element, index) => {\n\n const id = `${element.categoria.split(' ')[0]}${index}`\n element.id = id;\n itensMenu.push({ item: element.categoria, id });\n\n let produtos = element.produtos.filter(obj => obj.is_extra === 'N' || obj.is_adicional === 'S');\n let prodsComPromoGratis = produtos.filter(obj => obj.is_promo === 'S' && obj.prodsPromoGratis.length > 0);\n\n if (prodsComPromoGratis.length > 0) {\n\n prodsComPromoGratis.forEach(item => {\n let prodsGratis = item.prodsPromoGratis;\n let i = 0;\n prodsGratis.map(o => {\n i === 0 ? o.selected = true : o.selected = false;\n o.id_template = item.id_template_promo_prod_gratis;\n i++;\n return o;\n });\n\n\n prodsGratis.forEach(item => {\n let aux = gratis.filter(o => o.id_produto === item.id_produto);\n if (aux.length === 0)\n gratis.push(item)\n });\n\n })\n\n }\n element.produtos = produtos;\n });\n\n\n\n AllProds.data.forEach(i => {\n this[`${i.id}scroll`] = React.createRef();\n })\n\n this.setState({ itens: AllProds.data, produtosGratis: gratis, copyItens: AllProds.data, loadingPage: false, itemsMenu: itensMenu });\n\n }\n } catch (error) {\n this.setState({ loadingPage: false });\n console.log(error);\n }\n\n }\n\n\n\n\n\n\n\n handleExcludeItem = () => {\n try {\n let exclui = window.confirm('Deseja realmente excluir esse item ?');\n\n if (!exclui) return;\n\n let newArr = [];\n newArr = JSON.parse(JSON.stringify(this.state.itensPedido));\n newArr.splice(this.state.indexEdit, 1);\n this.props.setItens(newArr);\n this.setState({ itensPedido: newArr }, () => {\n this.calculaTotal();\n services.setTempPedido(JSON.stringify(newArr));\n });\n this.closeModal();\n this.totalizaCompra();\n } catch (err) {\n console.log(err);\n this.closeModal();\n }\n }\n\n\n totalizaCompra = () => {\n let tot = services.totalizaItens(this.state.itensPedido, this.state.taxa || 0, '', true);\n if (tot) {\n this.setState({ total: tot.data.total.toFixed(2) });\n }\n }\n\n\n\n goCathegory = (id_cathegory) => {\n\n const index = this.state.itemsMenu.findIndex(i => i.id === id_cathegory);\n // this.setState({ selectedCat: index })\n //goToAnchor(id_cathegory)\n\n return \n }\n\n\n\n handleObs = (e) => {\n this.setState({ obsNow: e.target.value });\n }\n\n\n editItem = (item, index) => {\n\n this.recuperaItensParaEdicao(item);\n this.setState({ qtItem: item.quantidade, isEdit: true, indexEdit: index });\n }\n\n plusItem = (e) => {\n e.preventDefault();\n this.setState({ qtItem: this.state.qtItem + 1 }, () => {\n if (this.state.showItemModal) this.calculaTotal();\n });\n }\n\n minusItem = (e) => {\n e.preventDefault();\n if (this.state.qtItem === 1) return\n this.setState({ qtItem: this.state.qtItem - 1 }, () => {\n if (this.state.showItemModal) this.calculaTotal();\n });\n }\n\n resolveImage = (imagem) => {\n return imagem ? `${imagem}` : `assets/indisponivel.jpg`\n }\n\n\n\n isEmpty(obj) {\n for (var prop in obj) {\n if (obj.hasOwnProperty(prop))\n return false;\n }\n\n return true;\n }\n\n hasPromoLanc = (any) => {\n let result = false;\n\n this.state.itensPedido.forEach(obj => {\n // if any is equals true, it has to verify if there are any promotion. On ther other hand, verify only if there is free soda\n if (any) {\n if (obj.is_promo === 'S') result = true\n } else {\n if (!this.isEmpty(obj.partes.prodGratis)) result = true\n }\n\n });\n return result;\n }\n\n addItem = () => {\n\n try {\n\n if (this.isEmpty(this.state.objTempLancPizza.prodGratis) && this.state.itemNow.is_promo === 'S') {\n if (this.hasPromoLanc(false)) {\n this.resolveAlert('Promoção não cumulativa. Você já tem uma promoção lançada', true);\n return;\n }\n }\n\n if (this.state.objTempLancPizza.produtos.length < this.state.itemNow.qt_particiona) {\n this.resolveAlert('Para concluir o pedido, é necessário concluir o número de partes necessárias', true);\n return\n }\n\n if (this.state.itemNow.is_combo === 'S') {\n if (this.state.tempProdsCombo.length < this.state.itemNow.qtItensCombo) {\n this.resolveAlert('Escolhe todas as partes do combo', true);\n return\n }\n }\n\n\n if (this.state.objTempLancPizza.massa) {\n if (this.state.objTempLancPizza.massa.aceita_borda === 'S' && this.isEmpty(this.state.objTempLancPizza.borda)) {\n this.resolveAlert('Por ter escolhido uma massa com borda, se torna obrigatório a escolha da borda', true);\n return\n }\n }\n\n let obj = JSON.parse(JSON.stringify(this.state.itemNow));\n let arrPedidos = this.state.itensPedido;\n const partesOfCombo = this.state.tempProdsCombo;\n\n obj['quantidade'] = this.state.qtItem;\n obj['obs'] = this.state.obsItemPizza;\n obj['total'] = this.state.totalDoItem;\n\n\n\n let subtotal_item = this.state.itemNow.PRECO * this.state.qtItem;\n\n obj['subtotal'] = parseFloat(subtotal_item.toFixed(2));\n\n let valMaiorPizza = 0;\n\n if (this.state.pelaMaior) {\n const objMaior = services.getMaiorPreco(this.state.objTempLancPizza.produtos);\n if (objMaior) {\n valMaiorPizza = objMaior.PRECO;\n }\n } else {\n valMaiorPizza = services.getMediaPreco(this.state.objTempLancPizza.produtos);\n if (valMaiorPizza === 0) valMaiorPizza = this.state.itemNow.PRECO;\n }\n\n obj['valMaiorPizza'] = valMaiorPizza;\n\n\n obj['partes'] = {\n produtos: this.state.objTempLancPizza.produtos || [],\n massa: obj.aceita_massa === 'S' && this.state.objTempLancPizza.massa ? this.state.objTempLancPizza.massa : {},\n borda: obj.aceita_borda === 'S' && this.state.objTempLancPizza.borda ? this.state.objTempLancPizza.borda : {},\n toppings: obj.aceita_extra === 'S' && this.state.objTempLancPizza.toppings ? this.state.objTempLancPizza.toppings : [],\n prodGratis: !this.hasPromoLanc(true) && this.state.itemNow.is_promo === 'S' ? this.state.objTempLancPizza.prodGratis : {},\n partesCombo: partesOfCombo\n }\n\n\n obj['total'] = this.state.totalDoItem;\n\n arrPedidos.push(obj);\n this.props.setItens(arrPedidos);\n this.setState({ itensPedido: arrPedidos, itemNow: {} });\n\n services.setTempPedido(JSON.stringify(arrPedidos));\n this.calculaTotal();\n this.totalizaCompra();\n this.closeModal();\n\n\n } catch (error) {\n console.log(error);\n }\n }\n\n\n\n handleEdit = () => {\n try {\n let obj = JSON.parse(JSON.stringify(this.state.itemNow));\n\n if (obj.is_pizza) {\n if (this.state.objTempLancPizza.produtos.length < obj.qt_particiona) {\n this.resolveAlert('Para finalizar, é necessário selecionar as partes, ou excluir o item', true);\n return;\n }\n obj['quantidade'] = this.state.qtItem;\n obj['obs'] = this.state.obsItemPizza;\n obj['total'] = this.state.totalDoItem;\n obj['PRECO'] = this.state.totalDoItem;\n obj['partes'] = this.state.objTempLancPizza;\n obj.partes.partesCombo = this.state.tempProdsCombo;\n obj['obs'] = this.state.obsItemPizza;\n } else {\n obj.quantidade = this.state.qtItem;\n let totItem = (obj.PRECO * this.state.qtItem);\n obj['total'] = totItem;\n obj['obs'] = this.state.obsNow || this.state.obsItemPizza;\n }\n\n\n let arrPedidos = this.state.itensPedido;\n arrPedidos[this.state.indexEdit] = obj;\n\n this.props.setItens(arrPedidos);\n this.setState({ itensPedido: arrPedidos, qtItem: 1, isEdit: false, indexEdit: null });\n\n services.setTempPedido(JSON.stringify(arrPedidos));\n\n this.calculaTotal();\n this.totalizaCompra();\n this.closeModal();\n } catch (error) {\n console.log(error);\n }\n\n }\n\n closeModal = () => {\n try {\n this.zeraCheckandRaios();\n\n let pizza = this.state.itemNow.is_pizza === 'S' && this.state.itemNow.qt_particiona > 1;\n\n this.setState({\n itemNow: {},\n qtItem: 1,\n isEdit: false,\n obsNow: '',\n itensTemplates: [],\n showBordas: false,\n tempProdsCombo: [],\n maior: false\n });\n\n if (pizza) {\n let itensTemp = JSON.parse(JSON.stringify(this.state.objTempLancPizza));\n\n itensTemp.produtos = [];\n itensTemp.toppings = [];\n\n this.setState({ showItemModal: false, objTempLancPizza: itensTemp, totalDoItem: 0 })\n } else {\n this.setState({ showItemModal: false });\n }\n } catch (error) {\n console.log(error);\n }\n }\n\n handleCheckExtra = (indexExtras, id_template, e) => {\n // Criar regra para não selecionar + que três toppings\n try {\n\n let objTemp = JSON.parse(JSON.stringify(this.state.objTempLancPizza));\n let arrExtras = JSON.parse(JSON.stringify(this.state.extras));\n\n\n\n let arrWithout = arrExtras.filter(e => e.id_template_extra !== id_template) || [];\n let rightExtras = arrExtras.filter(e => e.id_template_extra === id_template) || [];\n\n if (rightExtras.filter(o => o.selected === true).length === 3 && e.target.checked) {\n this.resolveAlert('Só é permitida a escolha de no máximo 3 extras', true);\n return;\n }\n\n rightExtras[indexExtras].selected = e.target.checked;\n\n let id = rightExtras[indexExtras].ID_PRODUTO;\n\n let index = objTemp.toppings.map((item, index) => {\n item.index = index;\n return item;\n }).find(item => item.ID_PRODUTO === id);\n\n if (index) index = index.index;\n\n if (e.target.checked) {\n objTemp.toppings.push(rightExtras[indexExtras]);\n } else {\n objTemp.toppings.splice(index, 1);\n }\n\n\n let newArrToPut = arrWithout.concat(rightExtras);\n\n this.setState({ extras: newArrToPut, objTempLancPizza: objTemp }, () => this.calculaTotal());\n } catch (error) {\n console.log(error);\n }\n\n }\n\n\n handleCheckProd(indexProdTemplate, e) {\n\n try {\n\n let newArr = JSON.parse(JSON.stringify(this.state.itensTemplates));\n newArr[indexProdTemplate].selected = e.target.checked;\n let id = newArr[indexProdTemplate].ID_PRODUTO;\n\n let newObj = JSON.parse(JSON.stringify(this.state.objTempLancPizza));\n\n let index = newObj.produtos.map((item, index) => {\n item.index = index\n return item\n }).find(item => item.ID_PRODUTO === id);\n\n if (index) index = index.index;\n\n\n if (e.target.checked) {\n if (newObj.produtos.length === this.state.itemNow.qt_particiona) {\n e.preventDefault();\n this.resolveAlert('Número de partes para esse produto antigido', true);\n return;\n }\n\n newObj.produtos.push(newArr[indexProdTemplate]);\n }\n else newObj.produtos.splice(index, 1);\n\n\n this.setState({ itensTemplates: newArr, objTempLancPizza: newObj }, () => this.calculaTotal());\n } catch (error) {\n console.log(error);\n }\n\n }\n\n resolveAlert = (text, danger) => {\n if (text) {\n if (danger) {\n this.setState({ showAlertError: true, textAlertError: text });\n } else {\n this.setState({ showAlertSucces: true, textAlertSucces: text })\n }\n }\n }\n\n handleCloseAll = () => {\n this.setState({ showAlertError: false, showAlertSucces: false, textAlertError: '', textAlertSucces: '' });\n }\n\n\n calculaTotal = () => {\n try {\n\n let totalizador = 0;\n if (!this.state.objTempLancPizza) {\n totalizador = this.state.itemNow.PRECO * this.state.qtItem;\n } else {\n // produtos e toppings são um array\n const { produtos, borda, massa, toppings } = this.state.objTempLancPizza;\n\n let maior = {};\n let valProduto = 0;\n let valMassa = 0;\n let valBorda = 0;\n let valToppings = 0;\n\n if (this.state.itemNow.is_pizza === 'S' && this.state.itemNow.qt_particiona > 1) {\n if (this.state.pelaMaior) {\n maior = services.getMaiorPreco(produtos);\n if (maior && 'PRECO' in maior) valProduto = maior.PRECO\n else {\n valProduto = this.state.itemNow.PRECO;\n }\n } else {\n valProduto = services.getMediaPreco(produtos);\n if (valProduto === 0) valProduto = this.state.itemNow.PRECO;\n }\n } else {\n valProduto = this.state.itemNow.PRECO;\n }\n\n\n\n\n\n if (massa && 'preco' in massa) valMassa = massa.preco;\n\n if (borda && 'preco' in borda) valBorda = borda.preco;\n\n if (toppings) {\n valToppings = toppings.reduce((total, element) => {\n return total + element.PRECO;\n }, 0);\n }\n\n totalizador = (valProduto + valMassa + valBorda + valToppings) * this.state.qtItem;\n }\n\n this.setState({ totalDoItem: totalizador });\n } catch (error) {\n console.log(error);\n }\n }\n\n\n handleCheckProdPomo = (index, e) => {\n try {\n let newArr = JSON.parse(JSON.stringify(this.state.produtosGratis));\n\n newArr.map(o => o.selected = false);\n newArr[index].selected = e.target.checked;\n\n this.setState({ produtosGratis: newArr });\n\n let itens = JSON.parse(JSON.stringify(this.state.objTempLancPizza));\n\n if (e.target.checked) itens.prodGratis = newArr[index];\n\n\n this.setState({ objTempLancPizza: itens }, () => this.calculaTotal());\n } catch (error) {\n console.log(error);\n }\n\n }\n\n zeraBordas = () => {\n let newBordas = JSON.parse(JSON.stringify(this.state.bordas));\n newBordas.map(b => b.selected = false);\n this.setState({ bordas: newBordas });\n }\n\n handleCheckMassa = (indexMassas, e) => {\n try {\n\n let newArr = JSON.parse(JSON.stringify(this.state.massas));\n\n newArr.map(o => o.selected = false);\n newArr[indexMassas].selected = e.target.checked;\n\n this.setState({ massas: newArr });\n\n let itens = JSON.parse(JSON.stringify(this.state.objTempLancPizza));\n\n if (e.target.checked) {\n\n if (newArr[indexMassas].aceita_borda === 'S') {\n this.setState({ showBordas: true });\n } else {\n this.zeraBordas();\n this.setState({ showBordas: false });\n itens.borda = {};\n }\n itens.massa = newArr[indexMassas];\n } else {\n this.zeraBordas();\n this.setState({ showBordas: false });\n itens.borda = {};\n }\n\n\n this.setState({ objTempLancPizza: itens }, () => this.calculaTotal());\n } catch (error) {\n console.log(error);\n }\n\n }\n\n handleCheckBordas = (indexBordas, e) => {\n try {\n let newArr = JSON.parse(JSON.stringify(this.state.bordas));\n\n newArr.map(o => o.selected = false);\n newArr[indexBordas].selected = e.target.checked;\n\n this.setState({ bordas: newArr });\n\n let itens = JSON.parse(JSON.stringify(this.state.objTempLancPizza));\n\n if (e.target.checked) itens.borda = newArr[indexBordas];\n\n this.setState({ objTempLancPizza: itens }, () => this.calculaTotal());\n } catch (error) {\n console.log(error);\n }\n\n }\n\n\n handleObsPizza = (e) => {\n this.setState({ obsItemPizza: e.target.value });\n }\n\n\n veirificaLojaAberta = async () => {\n\n let lojaAberta = await services.verficaLojaAberta(this.state.loja.id_loja);\n this.setState({ lojaAberta: lojaAberta });\n return lojaAberta;\n }\n\n\n recuperaItensParaEdicao = (item) => {\n try {\n //Primeiramente, vamos dar um reset no states necessários para operação\n\n this.zeraCheckandRaios();\n const { partesCombo } = item.partes;\n\n if (item.partes) {\n /*Aqui eu vou percorrer todas as partes desse produto para pegar o ID e setar selectec nos prod_of_template, \n Pois todo o procedimento de lançamento é feito nele.\n Então é um map para os produtos, e dentro um find baseado no id da iteração. Daí procuro no prod_of... \n o ID referente e seto para seleted true, pois assim ele vai aparecer checado na view de edição\n */\n if (item.prod_of_template) {\n item.prod_of_template.map(o => o.selected = false);\n item.partes.produtos.forEach(produtos => {\n let prodFilter =\n\n item.prod_of_template.find(prodtemplate => {\n return prodtemplate.ID_PRODUTO === produtos.ID_PRODUTO\n });\n\n if (prodFilter) {\n prodFilter.selected = true\n }\n });\n }\n\n\n /*Agora vamos veririficar se há massa nesse pedido\n * As bordas, extras e massas são states separados já preenchidos no componentDidMount.\n * Portanto, devemos pegar o item recebido para edição, verificar se há qualquer um desses \n * Eles não são um array, basta um find e um seletecd = true caso seja o caso \n */\n\n if (item.partes.massa) {\n\n let stateMassas = JSON.parse(JSON.stringify(this.state.massas));\n stateMassas.map(o => o.selected = false);\n let massaAchou = stateMassas.find(massa => massa.id_massa === item.partes.massa.id_massa);\n\n let showBordas = false;\n if (massaAchou) {\n massaAchou.selected = true;\n if (massaAchou.aceita_borda === 'S') showBordas = true;\n\n }\n\n this.setState({ massas: stateMassas, showBordas: showBordas });\n }\n\n /**\n * Agora devemos faer o mesmo esquemapara as bordas. Verifica se tem bora e etc... \n * */\n\n if (item.partes.borda) {\n\n let stateBordas = JSON.parse(JSON.stringify(this.state.bordas));\n stateBordas.map(o => o.selected = false);\n let bordaAchou = stateBordas.find(borda => borda.id_borda === item.partes.borda.id_borda);\n\n if (bordaAchou) bordaAchou.selected = true;\n\n this.setState({ bordas: stateBordas });\n }\n\n /**Agora devemos fazer um metodo semelhante com os toppings. Porém eles são produtos de fato, então \n * esse metodo deve ser parecido com o primeiro. Acontece que os toppings são os nossos extras. Iremos \n * percorrer os toppings, achar esse topping no array extras e setar o array extra para selected true \n */\n\n if (item.partes.toppings) {\n let stateExtras = JSON.parse(JSON.stringify(this.state.extras));\n stateExtras.map(o => o.selected = false);\n item.partes.toppings.map(topping => {\n let extra = stateExtras.find(extra => extra.id_produto === topping.id_produto);\n if (extra) extra.selected = true;\n\n })\n\n this.setState({ extras: stateExtras });\n }\n\n\n /**Agora devemos verificar se é um combo e se á produtos lançados nele */\n if (partesCombo.length > 0) {\n this.setState({ tempProdsCombo: partesCombo });\n console.log(partesCombo);\n }\n\n /**\n * Agora vamos procurar para saber se há observação\n */\n\n if (item.obs) {\n this.setState({ obsItemPizza: item.obs });\n }\n\n }\n } catch (error) {\n console.log(error);\n }\n\n }\n\n goToCart = () => {\n if (this.state.heightCar != '100%') this.setState({ heightCar: '100%' }, () => {\n if (this.state.rightUpBtn) this.setState({ rightUpBtn: false })\n });\n }\n\n closeCar = () => {\n this.setState({ heightCar: '47px' });\n }\n\n zeraCheckandRaios = (item) => {\n\n try {\n\n let newItens = JSON.parse(JSON.stringify(this.state.itens));\n newItens.map(item => {\n item.produtos.map(prods => {\n if (prods.prod_of_template)\n prods.prod_of_template.map(o => o.selected = false);\n })\n });\n\n let newMassas = JSON.parse(JSON.stringify(this.state.massas));\n let newBordas = JSON.parse(JSON.stringify(this.state.bordas));\n let newExtras = JSON.parse(JSON.stringify(this.state.extras));\n\n let itensTemp = JSON.parse(JSON.stringify(this.state.objTempLancPizza));\n\n itensTemp.obs = '';\n\n itensTemp.massa = {};\n itensTemp.toppings = [];\n itensTemp.borda = {};\n\n newMassas.map(o => {\n if (o.principal === 'S') {\n o.selected = true;\n itensTemp.massa = o;\n } else {\n o.selected = false\n }\n });\n\n newBordas.map(o => {\n if (o.principal === 'S') {\n o.selected = true;\n itensTemp.borda = o;\n } else {\n o.selected = false\n }\n });\n\n let arrProdsGratis = [];\n if (item) {\n if (item.id_template_promo_prod_gratis != null) {\n arrProdsGratis = this.state.produtosGratis.filter(o => o.id_template === item.id_template_promo_prod_gratis);\n if (arrProdsGratis) {\n itensTemp.prodGratis = arrProdsGratis[0];\n }\n } else {\n itensTemp.prodGratis = {};\n }\n } else {\n itensTemp.prodGratis = {};\n }\n\n newExtras.map(o => o.selected = false);\n\n this.setState({\n itens: newItens,\n massas: newMassas,\n bordas: newBordas,\n extras: newExtras,\n obsItemPizza: '',\n objTempLancPizza: itensTemp\n });\n\n } catch (error) {\n console.log(error);\n }\n\n }\n\n viewPic = (item) => {\n //800 x 620\n this.setState({ showPic: true, imgNow: item.imagem, descriNow: item.descricao, prodNow: item.produto });\n }\n\n handleCloseImgNow = () => {\n this.setState({ showPic: false, imgNow: '', descriNow: '', prodNow: '' });\n }\n\n\n\n\n\n filterProd = (e) => {\n this.functionFlter(this.state.itens, 'batata');\n this.setState({ textFilter: e.target.value }, () => {\n if (this.state.textFilter != '') {\n this.setState({ itens: this.functionFlter(this.state.copyItens, this.state.textFilter) })\n } else {\n this.setState({ itens: this.state.copyItens });\n }\n });\n }\n\n\n\n functionFlter = (arr, text) => {\n let result = [];\n text = text.toUpperCase();\n arr.forEach(item => {\n let produtos = []\n for (let i = 0; i < item.produtos.length; i++) {\n if (item.produtos[i].descricao) {\n if (item.produtos[i].produto.toUpperCase().indexOf(text) > -1 || item.produtos[i].descricao.toUpperCase().indexOf(text) > -1) {\n\n produtos.push(item.produtos[i]);\n }\n } else {\n if (item.produtos[i].produto.toUpperCase().indexOf(text) > -1) {\n\n produtos.push(item.produtos[i]);\n }\n }\n\n }\n if (produtos.length > 0) {\n let auxItem = {\n 'categoria': item.categoria,\n produtos: produtos\n }\n\n result.push(auxItem);\n }\n })\n return result;\n }\n\n\n\n cleanTextSearch = () => {\n this.setState({ textFilter: '', itens: this.state.copyItens });\n }\n\n\n\n handeCheckParteCombo = (produto, categoria, e) => {\n let tempProdsCombo = JSON.parse(JSON.stringify(this.state.tempProdsCombo));\n produto.categoria = categoria.categoria;\n let filterTemp = tempProdsCombo.filter(o => o.categoria != produto.categoria);\n filterTemp.push(produto);\n this.setState({ tempProdsCombo: filterTemp });\n console.log(this.filterTemp)\n }\n\n\n resolveCheckCombo = (e, item) => {\n let r = this.state.tempProdsCombo.filter(o => o.id_produto === item.id_produto);\n\n if (r.length > 0) {\n return true\n } else {\n return false;\n }\n\n }\n\n\n\n\n // Metodo que monta toda a view da seleção do produto\n montaView = () => {\n const itenNow = this.state.itemNow;\n const prodsOfCombo = this.state.itemNow.prods_of_combo;\n let itensPromo = [];\n\n\n if (itenNow.is_promo === 'S' && !this.hasPromoLanc(true) && itenNow.id_template_promo_prod_gratis != null) {\n itensPromo = this.state.produtosGratis.filter(o => o.id_template === itenNow.id_template_promo_prod_gratis);\n }\n\n // Aqui é o combo \n if (itenNow.is_combo === 'S') {\n return (\n
\n {\n prodsOfCombo.map(item => {\n return (\n
\n

{item.categoria}

\n {\n item.produtos.map((p, index) => {\n return (\n
\n
\n \n
\n
\n

R$ {p.PRECO.toFixed(2)}

\n
\n
\n )\n })\n }\n
\n )\n })\n }\n
\n )\n\n } else {\n // Aqui é a pizza\n return (\n
\n {\n this.state.itensTemplates.length > 0 ? (\n
\n

Escolha os sabores :

\n {\n this.state.itensTemplates.map((item, index) => {\n return (\n
\n
\n
\n \n

{item.descricao}

\n
\n
\n

R$ {item.PRECO.toFixed(2)}

\n
\n
\n
\n );\n })\n }\n
\n ) : ''\n }\n\n\n\n\n {/* Inicia Massa */}\n {\n this.state.itemNow.aceita_massa === 'S' ? (\n
\n

Escolha sua massa

\n {\n this.state.massas.map((massa, index) => {\n return (\n
\n
\n \n
\n
\n

R$ {massa.preco.toFixed(2)}

\n
\n
\n )\n })\n }\n
\n ) : ''\n }\n\n\n\n\n\n {/* Inicia bordas */}\n {\n itenNow.aceita_borda === 'S' && this.state.showBordas ? (\n
\n

Escolha sua borda

\n {\n this.state.bordas.map((borda, index) => {\n return (\n
\n
\n \n
\n
\n

R$ {borda.preco.toFixed(2)}

\n
\n
\n )\n })\n }\n
\n ) : ''\n }\n\n\n\n {/* Inicia Toppings */}\n {\n itenNow.aceita_extra === 'S' && this.state.extras.length > 0 && itenNow.id_template_extra != null ? (\n
\n

Escolha seus extras

\n {\n this.state.extras.filter(i => i.id_template_extra === itenNow.id_template_extra).map((extras, index) => {\n return (\n
\n
\n \n
\n
\n

R$ {extras.PRECO.toFixed(2)}

\n
\n
\n )\n })\n }\n
\n ) : ''\n }\n\n\n\n\n {\n itenNow.is_promo === 'S' && !this.hasPromoLanc(true) && itenNow.id_template_promo_prod_gratis != null ? (\n\n
\n

Escolha seu produto grátis

\n {\n itensPromo.map((prod, index) => {\n return (\n
\n
\n \n
\n
\n

R$ 0.00

\n
\n
\n )\n })\n }\n
\n ) : ''\n }\n
\n )\n }\n }\n\n\n\n render() {\n\n\n\n return (\n <>\n \n\n {\n this.state.loadingPage ? (\n \n ) : ''\n }\n\n
\n \n
\n\n\n
\n
\n
\n
\n\n {/**Aqui vai um laço com todos os itens separados por categoria */}\n
\n\n \n\n {\n this.state.itens.map((item, index) => {\n\n return (\n // \n
\n {\n item.produtos.length > 0 ? (\n

\n {item.categoria}\n

\n ) : ''\n }\n\n {/* Na compra de qualquer produto dessa categoria, grátis um refrigerante de 2 litros (Promoção não cumulativa) */}\n {item.informativo != '' && item.informativo != null ? (

{item.informativo}

) : ''}\n\n
\n
\n\n {\n item.produtos.map((element, index) => {\n return (\n
\n
\n
\n
\n
this.viewPic(element)}>\n \n
\n
\n
\n
\n

{element.produto}

\n

{element.descricao}

\n
\n
\n
\n
\n\n\n
\n {\n element.is_pizza == 'S' && element.qt_particiona > 1 ? (\n \n\n ) : (\n\n \n )\n }\n\n
\n
\n
\n
\n\n );\n\n })\n\n }\n
\n
\n\n
\n //
\n\n );\n })\n }\n
\n
\n
\n\n
\n
\n\n\n\n\n {/* Modal para itens customizaveis */}\n \n
\n \n

{this.state.itemNow.produto}

\n
\n\n
\n {this.montaView()}\n
\n\n\n
\n\n \n
\n\n
\n
\n \n
\n
\n
\n\n\n {/* Agora vem o lado direito */}\n
\n\n \n\n
\n \n
\n

{this.state.itemNow.produto}

\n
\n\n
\n\n \n
\n
\n {\n !this.state.isEdit ? ()\n : (\n
\n
\n \n
\n
\n \n
\n\n\n
\n )\n }\n
\n
\n
\n

R$ {this.state.totalDoItem.toFixed(2)}

\n
\n
\n
\n
\n
\n\n\n\n {/* modal de visualização das fotos */}\n \n \n \n
\n

{this.state.prodNow}

\n

{this.state.descriNow}

\n
\n
\n\n\n\n\n\n {/* ALERTS */}\n\n \n \n Ops... Algo deu errado\n \n \n

{this.state.textAlertError}

\n
\n \n \n \n
\n\n\n \n \n Muito bem !\n \n \n

{this.state.textAlertSucces}

\n
\n \n \n \n
\n\n \n\n );\n\n }\n\n}\n\n\n\nconst mapStateToProps = state => ({\n rdUser: state.user,\n rdOrder: state.order\n})\n\nconst mapDispathToPros = dispatch => bindActionCreators(Actions, dispatch)\n\nexport default withRouter(connect(mapStateToProps, mapDispathToPros)(Cardapio))\n\n","import React, { Component } from 'react';\r\nimport './Perfil.css';\r\nimport services from '../../services/index';\r\nimport FormCliente from '../../components/FormCliente/FormCliente';\r\n\r\nimport Header from '../../components/header/Header';\r\nimport Loading from '../../components/loading/Loading';\r\nimport { Redirect } from 'react-router-dom';\r\n\r\nexport default class Perfil extends Component {\r\n\r\n state = {\r\n logado: false,\r\n redirect: false,\r\n loadingPage: false,\r\n change: false\r\n }\r\n\r\n\r\n async componentDidMount() {\r\n this.setState({ loadingPage: true })\r\n let logado = await services.isLogado();\r\n if (!logado) {\r\n this.setState({ redirect: true, loadingPage: false });\r\n return\r\n }\r\n this.setState({ loadingPage: false, logado: true })\r\n }\r\n\r\n state = {\r\n change: false\r\n }\r\n\r\n\r\n handeOtherAdress = () => {\r\n this.setState({ change: !this.state.change });\r\n }\r\n\r\n\r\n\r\n handleChange = () => {\r\n this.setState({ change: !this.state.change });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n render() {\r\n if (this.state.redirect) {\r\n return \r\n }\r\n\r\n if (this.state.loadingPage) {\r\n return \r\n } else {\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","import React, { Component } from 'react';\r\nimport './NewPassword.css';\r\nimport Loading from './../../components/loading/Loading';\r\nimport services from './../../services/index'\r\nimport { Redirect } from 'react-router-dom';\r\n\r\nexport default class Newpassword extends Component {\r\n\r\n state = {\r\n loading: true,\r\n redirect: false,\r\n novaSenha: '',\r\n confirmaSenha: '',\r\n token: '',\r\n id: 0\r\n }\r\n\r\n async componentDidMount() {\r\n if (this.props.match.params.token) {\r\n const token = this.props.match.params.token;\r\n let response = await services.validaToken(token);\r\n\r\n if (response.id) {\r\n this.setState({ loading: false, token: token, id: response.id });\r\n } else {\r\n alert('Acesso não permitido');\r\n this.setState({ redirect: true });\r\n }\r\n }\r\n }\r\n\r\n\r\n handleAllInputs = (e) => {\r\n this.setState({ [e.target.name]: e.target.value })\r\n }\r\n\r\n atualizaSenha = async (e) => {\r\n e.preventDefault();\r\n this.setState({ loading: true });\r\n try {\r\n if (this.state.novaSenha === this.state.confirmaSenha) {\r\n let response = services.atualizaSenha(this.state.id, this.state.novaSenha, this.state.token);\r\n if (!response.err) {\r\n alert('Senha alterada. Por favor faça login');\r\n this.setState({ redirect: true, loading: false });\r\n } else {\r\n alert('A senha não pode ser alterada');\r\n this.setState({ redirect: true, loading: false });\r\n }\r\n } else {\r\n this.setState({ loading: false });\r\n alert('Senhas não conferem');\r\n\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n this.setState({ loading: false });\r\n\r\n }\r\n\r\n }\r\n\r\n render() {\r\n\r\n if (this.state.redirect) {\r\n return \r\n }\r\n\r\n if (this.state.loading) {\r\n return \r\n } else {\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
\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","import React, { Component } from 'react';\r\nimport { Redirect } from 'react-router-dom';\r\nimport './ConfirmaPedido.css';\r\nimport services from '../../services/index';\r\nimport Header from '../header/Header';\r\nexport default class ConfirmaPedido extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n redirect: false,\r\n aguardando: true,\r\n img: 'assets/pizza-slice.png',\r\n texto: 'Aguardando confirmação da loja...',\r\n color: '#fff',//\"url('assets/background.png')\",\r\n interval: null,\r\n colorText: '#000'\r\n }\r\n\r\n\r\n }\r\n\r\n timer = null;\r\n\r\n redirect = () => {\r\n this.setState({ redirect: true });\r\n }\r\n\r\n componentDidMount() {\r\n services.cleanTemps();\r\n this.startTimer();\r\n }\r\n\r\n componentWillUnmount() {\r\n this.stopTimer();\r\n }\r\n\r\n\r\n verificaStatus = async () => {\r\n if (this.timer) {\r\n\r\n // setTimeout(() => {\r\n // this.setState({img : 'assets/happy.png', texto : 'Seu pedido foi aceito', color : '#fff'}); \r\n // }, 800);\r\n // return;\r\n this.stopTimer();\r\n let r = await services.getStatusPedido(this.props.numeropedido);\r\n if (r.status) {\r\n if (r.status === 'CONFIRMADO') {\r\n this.setState({ img: 'assets/happy.png', texto: 'A loja confirmou seu pedido', color: '#fff', colorText: \"#000\" });\r\n return;\r\n }\r\n }\r\n }\r\n this.startTimer();\r\n }\r\n\r\n stopTimer() {\r\n if (this.timer) {\r\n clearInterval(this.timer);\r\n }\r\n }\r\n\r\n startTimer() {\r\n this.timer = setInterval(this.verificaStatus, 2000);\r\n\r\n }\r\n\r\n\r\n render() {\r\n if (this.state.redirect) {\r\n return \r\n } else {\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

{this.state.texto}

\r\n

Numero do Pedido : {this.props.numeropedido}

\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//

Seu pedido foi enviado com sucesso.

\r\n//

O Número do pedido é : {this.props.numeropedido}

\r\n// ","import React from 'react';\r\nimport './BannerPromo.css'\r\n\r\nconst BannerPromo = props => {\r\n let display = props.display;\r\n if (!display) display = false;\r\n return (\r\n
\r\n
\r\n \"banner\"\r\n {/*
this.setState({ displayBanner: 'none', topBanner: 'none' })}>x
*/}\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 BannerPromo;","import styled from \"styled-components\"\n\nexport const CardType = styled.div`\n width : 200px;\n padding : 16px;\n background : #212E4D;\n box-shadow : 1px 1px 1px #000;\n -webkit-box-shadow : 1px 1px 17px #fff;\n border-radius : 10px;\n display : flex;\n flex-direction : row;\n justify-content :center;\n align-items : center;\n text-align : center;\n cursor : pointer;\n margin-bottom : 20px;\n margin-right : 10px;\n\n box-shadow: 1px 1px 2px #000; \n -webkit-box-shadow: -1px 1px 12px rgba(0,0,0,.3);\n\n ${({ color }) => {\n if (color) {\n return `background : #fff`\n }\n }}\n`\n\nexport const LabelType = styled.p`\n ${({ color }) => {\n if (color) {\n return `color : #000`\n } else {\n return `color : #fff`\n }\n }}\n`\n\n\n\nexport const ContainerTypes = styled.div`\n width : 100%;\n flex-wrap : wrap;\n display : flex;\n flex-direction : row;\n justify-content :center;\n align-items : center;\n text-align : center;\n margin-bottom : 20px;\n`\n\n\nexport const ContainerAgendamento = styled.div`\n width : 100%;\n padding : 10px;\n box-shadow: 1px 1px 2px #000;\n -webkit-box-shadow: -1px 1px 12px rgba(0,0,0,.3);\n background : #fff;\n margin-bottom : 40px;\n display : flex;\n flex-direction : column;\n border-radius : 10px;\n\n flex-direction : column;\n align-items : center;\n justify-content :space-around;\n`\n\nexport const HeaderAgendamento = styled.div`\n display : flex;\n flex-direction : column;\n align-items : center;\n justify-content :space-around;\n width : 100%;\n height : 200px;\n`\n\n\n","import React, { Component } from 'react';\r\nimport './Pagamento.css'\r\nimport ItensPedido from './../../components/itensPedido/ItensPedido'\r\nimport Header from './../../components/header/Header'\r\nimport { Redirect } from 'react-router-dom';\r\nimport { Modal } from 'react-bootstrap';\r\nimport services from './../../services/index';\r\nimport Loading from './../../components/loading/Loading';\r\nimport ConfirmaPedido from './../../components/confirmapedido/ConfirmaPedido';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faShoppingBag } from '@fortawesome/free-solid-svg-icons'\r\nimport BannerPromo from './../../components/bannerpromo/BannerPromo';\r\nimport validacoes from \"../../libs/Validacoes\"\r\nimport { FcClock } from \"react-icons/fc\"\r\nimport { MdClose } from \"react-icons/md\"\r\n\r\nimport TextField from '@material-ui/core/TextField';\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport { Button } from '@material-ui/core';\r\nimport moment from \"moment-timezone\"\r\nimport { isArray } from \"lodash\"\r\n\r\n\r\nimport { BsFillHouseFill } from \"react-icons/bs\"\r\n\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\"\r\nimport * as Actions from \"../../store/actions\"\r\n\r\nimport { withRouter } from \"react-router-dom\";\r\n\r\n\r\nimport {\r\n CardType,\r\n ContainerTypes,\r\n LabelType,\r\n ContainerAgendamento,\r\n HeaderAgendamento\r\n} from \"./style\"\r\n\r\n\r\n\r\nimport { mapKeys } from \"lodash\"\r\n\r\n\r\n\r\nclass Pagamento extends Component {\r\n\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n\r\n let loja = {};\r\n const aux = this.props.rdOrder.dados_loja ? this.props.rdOrder.dados_loja : undefined;\r\n\r\n if (aux) {\r\n if (isArray(aux)) {\r\n loja = aux[0];\r\n } else {\r\n loja = aux;\r\n }\r\n }\r\n\r\n\r\n this.state = {\r\n loja,\r\n arrItens: '',\r\n arrPags: [{ descricao: 'Dinheiro', solicita_troco: true }, { descricao: 'Visa Débito (levar Maquininha)', solicita_troco: false }\r\n , { descricao: 'Visa Crédito (levar Maquininha)', solicita_troco: false }, { descricao: 'Master Card (levar Maquininha)', solicita_troco: false }\r\n ],\r\n showPagamento: false,\r\n pagEscolhido: {},\r\n selectOption: 'nao',\r\n troco: '',\r\n loadingPage: false,\r\n confirmaPedido: false,\r\n numeroPedido: 0,\r\n obsPag: '',\r\n taxa: 0,\r\n total_pedido: this.props.rdOrder.total,\r\n topBanner: '-200000px',\r\n displayBanner: 'none',\r\n goEditarItens: false,\r\n cpfNaNota: \"nao\",\r\n cpf: \"\",\r\n horaRetirada: new Date(),\r\n typeDelivery: 0, // 1 entrega, 2 retirada, 3 agendada\r\n dtChoiced: new Date(),\r\n retiradaAgendada: false,\r\n entregaAgendada: false,\r\n showModalPagamentos: false,\r\n showAdressChoice: false\r\n }\r\n\r\n }\r\n\r\n async componentDidMount() {\r\n try {\r\n\r\n\r\n\r\n window.scrollTo({\r\n top: 0,\r\n behavior: 'smooth',\r\n });\r\n\r\n let currentStore = {};\r\n const auxStores = this.props.rdStores.stores;\r\n if (!isArray(auxStores)) {\r\n currentStore = this.props.rdStores.stores;\r\n } else {\r\n currentStore = this.props.rdStores.stores[0];\r\n }\r\n\r\n\r\n\r\n this.setState({ loadingPage: true });\r\n\r\n this.handlePromo();\r\n\r\n const loja = this.state.loja;\r\n\r\n const pagamentos = await services.getTiposPags(loja.id_loja);\r\n\r\n\r\n pagamentos.map(pag => {\r\n if (pag.solicita_troco === 'S') pag.solicita_troco = true\r\n else pag.solicita_troco = false;\r\n\r\n return pag;\r\n });\r\n\r\n\r\n\r\n const currentDate = moment().format('YYYY-MM-DDTHH:mm');\r\n\r\n\r\n this.setState({\r\n arrPags: pagamentos,\r\n loadingPage: false,\r\n horaRetirada: currentDate,\r\n retiradaAgendada: currentStore.retirada_agendada === 'S',\r\n entregaAgendada: currentStore.entrega_agendada === 'S'\r\n });\r\n } catch (error) {\r\n this.setState({ loadingPage: false });\r\n console.log(error);\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n\r\n openModal = item => {\r\n\r\n if (this.state.typeDelivery === 1 && !this.props.rdOrder.adress.numero) {\r\n return this.setState({ showAdressChoice: true });\r\n }\r\n\r\n\r\n\r\n\r\n if (this.state.typeDelivery === 3 || this.state.typeDelivery === 4) {\r\n if (!this.validaAgendamentos()) return;\r\n\r\n }\r\n\r\n if (this.state.showModalPagamentos) {\r\n this.setState({ showModalPagamentos: false })\r\n }\r\n\r\n\r\n\r\n let descricao = item.descricao;\r\n\r\n if (!descricao) {\r\n\r\n\r\n this.setState({ showModalPagamentos: true });\r\n return;\r\n\r\n let dateAg = null;\r\n\r\n if (this.state.horaRetirada) {\r\n dateAg = moment(this.state.horaRetirada).format('DD/MM/YYYY HH:mm');\r\n }\r\n\r\n\r\n if (this.state.typeDelivery === 3) {\r\n //item.descricao = 'Entrega agendada para : ' + dateAg;\r\n this.setState({ showModalPagamentos: true });\r\n return;\r\n } else if (this.state.typeDelivery === 4) {\r\n item.descricao = 'Retirada agendada para : ' + dateAg;\r\n } else {\r\n item.descricao = 'Retirar na Loja';\r\n }\r\n\r\n\r\n this.setState({\r\n total_pedido: this.state.total_pedido - this.state.taxa,\r\n showPagamento: true,\r\n pagEscolhido: item,\r\n taxa: 0\r\n })\r\n } else {\r\n const response = services.totalizaItens(this.props.rdOrder.itens, this.state.taxa, '', true, false, this.state.taxa);\r\n this.setState({ showPagamento: true, pagEscolhido: item, total_pedido: response.data.total });\r\n }\r\n\r\n }\r\n\r\n closeModal = () => {\r\n\r\n this.setState({\r\n showPagamento: false,\r\n pagEscolhido: {},\r\n troco: '',\r\n selectOption: 'nao',\r\n obsPag: '',\r\n showModalPagamentos: false\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n handleRadio = (e) => {\r\n this.setState({ selectOption: e.target.value, troco: '' });\r\n\r\n }\r\n\r\n handleTroco = (e) => {\r\n this.setState({ troco: e.target.value.replace(/[^0-9]/g, '') })\r\n }\r\n\r\n handleObsPag = (e) => {\r\n this.setState({ obsPag: e.target.value })\r\n }\r\n\r\n\r\n\r\n capitalizeKeys = (obj) => {\r\n const isObject = o => Object.prototype.toString.apply(o) === '[object Object]'\r\n const isArray = o => Object.prototype.toString.apply(o) === '[object Array]'\r\n\r\n let transformedObj = isArray(obj) ? [] : {}\r\n\r\n for (let key in obj) {\r\n // replace the following with any transform function\r\n const transformedKey = key.toLowerCase();\r\n\r\n if (isObject(obj[key]) || isArray(obj[key])) {\r\n transformedObj[transformedKey] = this.capitalizeKeys(obj[key])\r\n } else {\r\n transformedObj[transformedKey] = obj[key]\r\n }\r\n }\r\n return transformedObj\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n enviaPedido = async () => {\r\n //Esse é o metodo onde será criado o json e enviado.\r\n\r\n try {\r\n\r\n\r\n\r\n\r\n this.setState({ loadingPage: true });\r\n // if (!await this.props.rdOrder.funcVerificaLoja()) {\r\n // \talert('A loja está fechada no momento');\r\n // \tthis.tooggleLoading();\r\n // \treturn\r\n // }\r\n\r\n window.scrollTo({\r\n top: 0,\r\n behavior: 'smooth',\r\n });\r\n let troco = 0;\r\n\r\n\r\n\r\n this.setState({ numeroPedido: 0 });\r\n\r\n if (this.state.selectOption === 'sim' && !this.state.troco) {\r\n this.setState({ loadingPage: false });\r\n alert('Por favor, preencha o troco ou informe que não precisa de troca');\r\n return;\r\n } else if (this.state.selectOption === 'sim' && this.state.troco) {\r\n\r\n //valida troco. return em caso false, ou deixa o código continuar\r\n if (parseFloat(this.state.troco) <= parseFloat(this.state.total_pedido)) {\r\n this.setState({ loadingPage: false });\r\n alert('O troco não pode ser menor ou igual ao valor total da compra');\r\n return;\r\n } else {\r\n troco = this.state.troco;\r\n }\r\n }\r\n\r\n if (this.state.cpfNaNota === \"sim\") {\r\n\r\n if (!this.state.cpf) {\r\n this.setState({ loadingPage: false });\r\n alert(\"Por favor, preencha seu cpf/cnpj ou selecione a opção 'não' para o cpf/cnpj\");\r\n return;\r\n }\r\n\r\n if (this.state.cpf.length === 11) {\r\n if (!validacoes.validaCPF(this.state.cpf)) {\r\n this.setState({ loadingPage: false });\r\n alert(\"CPF INVÁLIDO\");\r\n return\r\n }\r\n } else if (this.state.cpf.length === 14) {\r\n if (!validacoes.validarCNPJ(this.state.cpf)) {\r\n this.setState({ loadingPage: false });\r\n alert(\"CNPJ INVÁLIDO\");\r\n return\r\n }\r\n } else {\r\n this.setState({ loadingPage: false });\r\n alert(\"CPF / CNPJ INVÁLIDO\");\r\n return\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n let initItens = this.props.rdOrder.itens;\r\n\r\n initItens = this.capitalizeKeys(initItens);\r\n\r\n\r\n const { dados_cli: cli, enderecos, token } = services.getUser();\r\n\r\n //Pedro Melo - Correção da Selação do Endereço do Cliente.\r\n //const { adress } = this.props.rdUser;\r\n //const principal = adress.filter(a => a.principal === 1)[0];\r\n\r\n const principal = this.props.rdOrder.adress;\r\n let end = principal;\r\n\r\n let loja = this.state.loja;\r\n let subtotal = this.props.rdOrder.subtotal;\r\n let total = this.state.total_pedido; //this.props.location.total//this.state.total_pedido;\r\n let taxa = this.state.taxa;//this.props.location.taxa;\r\n let pedido = {}\r\n\r\n\r\n\r\n pedido['loja'] = loja.id_loja;\r\n pedido['loja_desc'] = loja.descricao;\r\n\r\n pedido['cliente'] = {\r\n \"id_cliente\": cli.id_cliente,\r\n \"nome\": cli.nome_completo,\r\n \"ddd\": cli.ddd1,\r\n \"telefone\": cli.telefone1,\r\n \"email\": cli.email,\r\n \"cpfNaNota\": this.state.cpf\r\n }\r\n\r\n\r\n\r\n pedido['endereco'] = {\r\n \"id_endereco\": end.id_endereco,\r\n \"logradouro\": end.logradouro,\r\n \"numero\": end.numero,\r\n \"bairro\": end.bairro,\r\n \"cidade\": end.cidade,\r\n \"estado\": end.estado,\r\n \"cep\": end.cep,\r\n \"complemento\": end.complemento,\r\n \"longitude\": end.longitude,\r\n \"latitude\": end.latitude,\r\n \"ponto_referencia\": end.ponto_referencia\r\n }\r\n\r\n const { typeDelivery } = this.state;\r\n\r\n pedido['tipo_pedido'] = typeDelivery;\r\n\r\n\r\n if (typeDelivery === 1 || typeDelivery === 3) pedido['delivery'] = 'S'\r\n else pedido['delivery'] = 'N'\r\n\r\n let dtAgenda = null;\r\n\r\n if (typeDelivery === 3 || typeDelivery === 4) {\r\n dtAgenda = moment(this.state.horaRetirada).format('YYYY-MM-DD HH:mm:mm');\r\n }\r\n\r\n\r\n pedido[\"data_agendamento\"] = dtAgenda;\r\n\r\n\r\n\r\n pedido['pagamento'] = {\r\n \"descricao\": this.state.pagEscolhido.descricao,\r\n \"valor_pago\": troco > 0 ? troco : total.toFixed(2),\r\n }\r\n\r\n\r\n\r\n\r\n let itens = [];\r\n\r\n initItens.forEach(element => {\r\n\r\n let subitens = [];\r\n let extras = [];\r\n let auxProdGratis = {};\r\n let objMassa, objBorda = {};\r\n\r\n\r\n const { borda, massa, produtos, toppings, prodgratis, partescombo } = element.partes;\r\n\r\n if (element.is_pizza === 'S' && element.qt_particiona > 1 || element.is_combo === 'S') {\r\n if (element.is_pizza === 'S') {\r\n let qtParts = produtos.length;\r\n\r\n let valMaior = element.valMaiorPizza;\r\n let qtReal = (1 / qtParts) * element.quantidade;\r\n if (produtos.length > 0) {\r\n produtos.forEach(prod => {\r\n\r\n let item = {\r\n \"id_produto\": prod.id_produto,\r\n \"nome_produto\": prod.produto,\r\n \"codePdv\": prod.codigo,\r\n \"obs\": '',\r\n \"preco\": parseFloat(valMaior),\r\n \"quantidade\": qtReal\r\n }\r\n\r\n subitens.push(item);\r\n })\r\n }\r\n } else {\r\n\r\n if (partescombo.length > 0) {\r\n partescombo.forEach(prod => {\r\n\r\n let item = {\r\n \"id_produto\": prod.id_produto,\r\n \"nome_produto\": prod.produto,\r\n \"codePdv\": prod.codigo,\r\n \"obs\": '',\r\n \"preco\": parseFloat(prod.preco.toFixed(2)),\r\n \"quantidade\": 1\r\n }\r\n\r\n subitens.push(item);\r\n })\r\n }\r\n }\r\n\r\n } else {\r\n if (produtos.length > 0) {\r\n produtos.forEach(prod => {\r\n let preco = 0;\r\n if (prod.preco) {\r\n preco = parseFloat(prod.preco.toFixed(2))\r\n } else if (prod.PRECO) {\r\n preco = parseFloat(prod.PRECO.toFixed(2))\r\n }\r\n let item = {\r\n \"id_produto\": prod.id_produto,\r\n \"nome_produto\": prod.produto,\r\n \"codePdv\": prod.codigo,\r\n \"obs\": '',\r\n \"preco\": preco\r\n }\r\n\r\n subitens.push(item);\r\n })\r\n }\r\n }\r\n\r\n\r\n\r\n if (toppings.length > 0) {\r\n toppings.forEach(top => {\r\n let item = {\r\n \"id_produto\": top.id_produto,\r\n \"nome_produto\": top.produto,\r\n \"codePdv\": top.codigo, //PEDRO MELO | EXTRA | PROBLEMA É QUE O TOP.CODIGO ESTA VINDO VAZIO.\r\n \"obs\": '',\r\n \"preco\": parseFloat(top.preco.toFixed(2))\r\n }\r\n\r\n extras.push(item);\r\n })\r\n }\r\n\r\n if (massa) {\r\n objMassa = {\r\n \"id_massa\": massa.id_massa,\r\n \"massa\": massa.descricao,\r\n \"codePdv\": massa.CodPdv,\r\n \"preco\": massa.preco\r\n }\r\n }\r\n\r\n if (prodgratis) {\r\n auxProdGratis = {\r\n \"id_produto\": prodgratis.id_produto,\r\n \"nome_produto\": prodgratis.produto,\r\n \"codePdv\": prodgratis.codigo,\r\n \"obs\": '',\r\n \"preco\": 0,\r\n \"quantidade\": 1\r\n }\r\n }\r\n\r\n if (borda) {\r\n objBorda = {\r\n \"id_borda\": borda.id_borda,\r\n \"borda\": borda.descricao,\r\n \"codePdv\": borda.CodPdv,\r\n \"preco\": borda.preco\r\n }\r\n }\r\n\r\n\r\n let auxPreco = 0;\r\n\r\n\r\n if (element.preco) {\r\n auxPreco = element.preco\r\n } else if (element.PRECO) {\r\n auxPreco = element.PRECO\r\n }\r\n if (element.preco) auxPreco = element.preco\r\n let item = {\r\n \"id_produto\": element.id_produto,\r\n \"nome_produto\": element.produto,\r\n \"codePdv\": element.codigo,\r\n \"preco\": element.is_pizza === 'S' && element.qt_particiona > 1 ? 0 : parseFloat(Number(auxPreco).toFixed(2)),\r\n \"subtotal\": element.subtotal,\r\n \"total\": element.total,\r\n \"combo\": element.is_combo,\r\n \"pizza\": element.is_pizza,\r\n \"quantidade\": element.quantidade,\r\n \"subitens\": subitens,// depois\r\n \"extras\": extras, // depois\r\n \"obs\": element.obs ? element.obs : 'xXx',\r\n \"promocao\": false,\r\n \"massa\": objMassa,\r\n \"borda\": objBorda,\r\n \"prodGratis\": auxProdGratis\r\n }\r\n\r\n itens.push(item);\r\n });\r\n\r\n pedido['itens'] = itens;\r\n\r\n pedido['subtotal'] = parseFloat(subtotal.toFixed(2));\r\n pedido['taxa'] = parseFloat(taxa.toFixed(2));\r\n pedido['total_pedido'] = parseFloat(total.toFixed(2));\r\n pedido['troco'] = parseFloat((parseFloat(troco) - parseFloat(total)).toFixed(2));\r\n let geral_obs = this.state.obsPag;\r\n pedido['obs_geral'] = geral_obs.replace(\"'\", \"\");\r\n\r\n\r\n let response = await services.enviaPedido(pedido, token);\r\n\r\n if (response) {\r\n this.setState({ numeroPedido: response.data.code_lanc, confirmaPedido: true });\r\n this.props.setItens([]);\r\n }\r\n\r\n this.setState({ loadingPage: false });\r\n } catch (error) {\r\n this.setState({ loadingPage: false })\r\n }\r\n }\r\n\r\n handleAcceptPromo = () => {\r\n\r\n this.setState({ goEditarItens: true });\r\n\r\n }\r\n\r\n handlePromo = () => {\r\n // if(services.askPromo()) return\r\n // this.setState({displayBanner : 'block',topBanner : 'block'}, ()=>services.setAskPromo(true)); \r\n return;\r\n }\r\n\r\n handleNotAcceptPromo = () => {\r\n this.setState({ displayBanner: 'none' });\r\n }\r\n\r\n tooggleLoading = () => {\r\n this.setState({ loadingPage: !this.state.loadingPage });\r\n }\r\n\r\n handleCpfNota = (e) => {\r\n let user = services.getUser();\r\n\r\n if (this.state.cpfNaNota === \"nao\") {\r\n this.setState({ cpfNaNota: e.target.value, cpf: user.dados_cli.cpf });\r\n }\r\n else {\r\n this.setState({ cpfNaNota: e.target.value, cpf: \"\" });\r\n }\r\n }\r\n\r\n handleCpfText = (e) => {\r\n this.setState({ cpf: e.target.value.replace(/[^0-9]/g, '') })\r\n }\r\n\r\n\r\n validaAgendamentos = () => {\r\n\r\n const now = moment();\r\n let currentStore = {};\r\n\r\n if (!isArray(this.props.rdStores.stores)) {\r\n currentStore = this.props.rdStores.stores;\r\n } else {\r\n currentStore = this.props.rdStores.stores[0];\r\n }\r\n\r\n\r\n\r\n const choiced = moment(this.state.horaRetirada);\r\n if (now.isAfter(choiced)) {\r\n alert('Data inferior a atual');\r\n return false;\r\n }\r\n\r\n const weekDay = choiced.day();\r\n const index = currentStore.expedientes.findIndex(e => e.diaDaSemana === weekDay);\r\n\r\n if (index !== -1) {\r\n const expediente = currentStore.expedientes[index];\r\n\r\n let aux = expediente.hrAbertura.split(\":\");\r\n const hI = moment(choiced).set({ hour: aux[0], minute: aux[1] });\r\n\r\n\r\n aux = expediente.hrFechamento.split(\":\");\r\n const hF = moment(choiced).set({ hour: aux[0], minute: aux[1] });\r\n\r\n\r\n if (!choiced.isBetween(hI, hF)) {\r\n alert('A loja não estará aberta na data escolhida.')\r\n return false\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n\r\n handleHoraRetirada = (e) => {\r\n this.setState({ horaRetirada: e.target.value });\r\n }\r\n\r\n\r\n\r\n verifyAdress = async (item, type) => {\r\n\r\n let auxStores = [];\r\n\r\n if (!isArray(this.props.rdStores.stores)) {\r\n auxStores.push(this.props.rdStores.stores)\r\n } else {\r\n auxStores = this.props.rdStores.stores;\r\n }\r\n\r\n const stores = await services.returnNextStore(auxStores, item.cep);\r\n const currentStore = stores[0];\r\n\r\n if (stores.length > 0) {\r\n const index = stores.findIndex(s => currentStore.id_loja === s.id_loja);\r\n if (index !== -1) {\r\n let _taxa = stores[index].TAXA;\r\n\r\n if (type && (type === 2 || type === 4)) _taxa = 0;\r\n\r\n this.setState({ showAdressChoice: false, taxa: _taxa, v_pedido: this.state.total_pedido + stores[index].TAXA })\r\n this.props.setAdressToDelivery(item);\r\n return true;\r\n }\r\n }\r\n\r\n return false\r\n\r\n }\r\n\r\n\r\n\r\n handleVerifyFromAdress = async (adress) => {\r\n if (!await this.verifyAdress(adress)) {\r\n alert('Infelizmente essa loja não atende à esse endereço :(')\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n choiceTypeDelivery = async (type) => {\r\n let isVerifiedAdress = false;\r\n let adressToPut = {};\r\n //tis.props.rdUser.adress[0]\r\n\r\n if (this.props.rdUser.adress.length > 1) {\r\n let isV = false;\r\n for (let i = 0; i < this.props.rdUser.adress.length; i++) {\r\n isV = await this.verifyAdress(this.props.rdUser.adress[i], type);\r\n if (isV) {\r\n isVerifiedAdress = true;\r\n adressToPut = this.props.rdUser.adress[i];\r\n break;\r\n }\r\n }\r\n\r\n } else {\r\n adressToPut = this.props.rdUser.adress[0];\r\n isVerifiedAdress = await this.verifyAdress(adressToPut, type);\r\n }\r\n\r\n\r\n if (type === 1 || type === 2) {\r\n if (!await services.verficaLojaAberta(this.state.loja.id_loja)) {\r\n return alert('A loja está fechada no momento');\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n if (type === 4 && this.state.taxa > 0) {\r\n this.setState({\r\n total_pedido: this.state.total_pedido - this.state.taxa,\r\n taxa: 0\r\n })\r\n }\r\n\r\n\r\n\r\n let showAdressChoice = type === 1;\r\n\r\n\r\n if (this.props.rdUser.adress.length === 1) {\r\n if (isVerifiedAdress) {\r\n this.props.setAdressToDelivery(adressToPut);\r\n }\r\n showAdressChoice = false;\r\n }\r\n\r\n if (!isVerifiedAdress && (type !== 4 && type !== 2)) return alert('Infelizmente essa loja não atende à esse endereço :(');\r\n\r\n this.setState({ typeDelivery: type, showAdressChoice }, () => {\r\n if (type === 2) {\r\n this.setState({ taxa: 0 })\r\n this.openModal({});\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n handleDate = (date) => {\r\n this.setState({ dtChoiced: date })\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n render() {\r\n if (this.state.goEditarItens) {\r\n return \r\n }\r\n\r\n if (this.props.rdOrder.logado) {\r\n\r\n return (\r\n
\r\n \r\n {\r\n this.state.loadingPage ? (\r\n \r\n ) : ''\r\n }\r\n\r\n {\r\n this.state.confirmaPedido ? (\r\n \r\n ) : ''\r\n }\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n this.choiceTypeDelivery(1)}>\r\n Quero que me entregue\r\n \r\n\r\n this.choiceTypeDelivery(2)}>\r\n Vou retirar\r\n \r\n\r\n {this.state.entregaAgendada && this.choiceTypeDelivery(3)}>\r\n Entrega agendada\r\n }\r\n\r\n {this.state.retiradaAgendada && this.choiceTypeDelivery(4)}>\r\n Retirada Agendada\r\n }\r\n \r\n\r\n\r\n {this.state.typeDelivery === 1 &&
\r\n\r\n {this.props.rdOrder.adress.numero &&
this.setState({ showAdressChoice: true })}>\r\n

Endereço para entrega

\r\n

{this.props.rdOrder.adress.logradouro}, {this.props.rdOrder.adress.numero}, {this.props.rdOrder.adress.cidade} - {this.props.rdOrder.adress.estado} - {this.props.rdOrder.adress.cep}

\r\n
}\r\n\r\n

Selecione a Forma de Pagamento

\r\n {\r\n this.state.arrPags.map(item => {\r\n return (\r\n
\r\n {item.descricao}\r\n
\r\n );\r\n })\r\n }\r\n
}\r\n\r\n {(this.state.typeDelivery === 3 || this.state.typeDelivery === 4) && <>\r\n \r\n\r\n \r\n\r\n

\r\n {this.state.typeDelivery === 3 ? 'Nos informe data e hora da entrega' :\r\n 'Nos informe data e hora da retirada'\r\n }\r\n

\r\n\r\n\r\n
\r\n \r\n \r\n\r\n {(this.state.typeDelivery === 3 || this.state.typeDelivery === 4) && this.state.horaRetirada && <>\r\n \r\n }\r\n\r\n
\r\n \r\n }\r\n\r\n
\r\n\r\n\r\n
\r\n 0} total={this.state.total_pedido} taxa={this.state.taxa} subtotal={this.props.rdOrder.subtotal} showPag={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

Selecione a Forma de Pagamento

\r\n {\r\n this.state.arrPags.map(item => {\r\n return (\r\n
\r\n {item.descricao}\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 this.setState({ showAdressChoice: false })}>\r\n \r\n
\r\n

Selecione o endereço de entrega

\r\n {\r\n this.props.rdUser.adress.map(item => {\r\n return (\r\n
this.handleVerifyFromAdress(item)}>\r\n {item.descricao}\r\n

{item.logradouro}, {item.numero}

\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

Tipo de Pagamento Escolhido : {this.state.pagEscolhido.descricao}

\r\n

Total do Pedido : R$ {this.state.total_pedido.toFixed(2)}

\r\n\r\n
\r\n

CPF/CNPJ na nota ?

\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 this.state.pagEscolhido.solicita_troco ? (\r\n
\r\n

Precisa de troco ?

\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 } else {\r\n return \r\n }\r\n }\r\n\r\n}\r\n\r\n\r\nconst mapStateToProps = state => ({\r\n rdUser: state.user,\r\n rdOrder: state.order,\r\n rdStores: state.stores\r\n})\r\n\r\nconst mapDispathToPros = dispatch => bindActionCreators(Actions, dispatch)\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispathToPros)(Pagamento))","import { combineReducers } from \"redux\";\nimport User from \"./user\"\nimport Order from \"./order\"\nimport Stores from \"./stores\"\n\n\n\nexport default combineReducers({\n user: User,\n order: Order,\n stores: Stores\n});","\nimport {\n SET_USER_LOGADO,\n SET_ADRESS_USER, SET_ADRESS_TO_DELIVERY\n} from \"../actions/actions\"\n\nexport default function (state = { nome_completo: '' }, action) {\n switch (action.type) {\n case SET_USER_LOGADO: {\n return {\n ...state,\n ...action.payload\n }\n }\n\n\n case SET_ADRESS_USER: {\n return {\n ...state,\n adress: action.payload\n }\n }\n\n case SET_ADRESS_TO_DELIVERY: {\n return {\n ...state,\n adressToDelivery: action.payload\n }\n }\n\n default: return state;\n }\n}","\nimport {\n SET_DATA_END_ORDER,\n SET_ITENS,\n SET_ADRESS_TO_DELIVERY\n} from \"../actions/actions\"\n\nexport default function (state = { itens: [], adress: {} }, action) {\n switch (action.type) {\n case SET_DATA_END_ORDER: {\n return {\n ...state,\n ...action.payload\n }\n }\n\n\n case SET_ITENS: {\n return {\n ...state,\n itens: action.payload\n }\n }\n\n\n case SET_ADRESS_TO_DELIVERY: {\n return {\n ...state,\n adress: action.payload\n }\n }\n\n\n default: return state;\n }\n}","\nimport {\n SET_STORES,\n} from \"../actions/actions\"\n\nexport default function (state = { stores: [] }, action) {\n switch (action.type) {\n case SET_STORES: {\n return {\n ...state,\n stores: action.payload\n }\n }\n\n default: return state;\n }\n}","import { createStore } from \"redux\";\nimport Reducers from \"./reducers\"\n\nconst store = createStore(Reducers, window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__())\n\nexport default store;\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport App from './App';\r\nimport CadastroCliente from './pages/cadastroCliente/CadastroCliente';\r\nimport LancaPedido from './pages/lancaPedido/LancaPedido';\r\nimport EstouNaMesa from './pages/estounamesa';\r\nimport HistoricoPedido from './pages/historicoPedido/HistoricoPedido';\r\nimport Cardapio from \"./pages/cardapio\"\r\nimport Perfil from './pages/perfil/Perfil';\r\nimport Newpassword from './pages/newpassword/NewPassword';\r\nimport { Switch, Route, HashRouter, BrowserRouter } from 'react-router-dom'\r\nimport Pagamento from './pages/pagamento/Pagamento';\r\nimport { Provider } from \"react-redux\";\r\nimport store from \"./store\"\r\n\r\n\r\nReactDOM.render(\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 document.getElementById('root')\r\n);\r\n\r\n\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"box-pedido\":\"style_box-pedido__39D82\",\"buttonSearchCep\":\"style_buttonSearchCep__2qtWz\",\"yellow\":\"style_yellow__3TnMu\",\"buttonRetire\":\"style_buttonRetire__2yyGI\",\"green\":\"style_green__3rAwO\",\"pastel\":\"style_pastel__bqVWn\",\"ouCep\":\"style_ouCep__3Y6Tk\",\"inputcepitnes\":\"style_inputcepitnes__3ZxHI\",\"title-pedido\":\"style_title-pedido__PDcfW\",\"shoppingCart\":\"style_shoppingCart__1RhyN\",\"titleCarrinho\":\"style_titleCarrinho__3HT8V\",\"footer-pedido\":\"style_footer-pedido__Iaw5P\",\"affix\":\"style_affix__2lvjd\",\"lineTotais\":\"style_lineTotais__3rJxb\",\"content-itens--estou_na_mesa\":\"style_content-itens--estou_na_mesa__2vAVE\",\"listchoose\":\"style_listchoose__1NnFy\",\"content-item__\":\"style_content-item____1Iazx\",\"circleBtn\":\"style_circleBtn__3r9kt\",\"btnVerde\":\"style_btnVerde__2wIsw\",\"greeBtn\":\"style_greeBtn__2kNqa\",\"btnVermelho\":\"style_btnVermelho__39QVp\",\"redBtn\":\"style_redBtn__1LuoV\",\"faPlus\":\"style_faPlus__1CADX\",\"faMinus\":\"style_faMinus__3odNk\",\"descItemPedido\":\"style_descItemPedido__3Gquv\",\"obsPedido\":\"style_obsPedido__310cR\",\"notSended\":\"style_notSended__3L9-8\",\"priceItem\":\"style_priceItem__2I_03\",\"iteminbox\":\"style_iteminbox__3jRyS\",\"pancil\":\"style_pancil__2XT6B\",\"editarProd\":\"style_editarProd__1AQFG\",\"excluirItem\":\"style_excluirItem__2GuTc\",\"left\":\"style_left__o3qxl\",\"right\":\"style_right__3W1Jj\",\"btn-pagar\":\"style_btn-pagar__212J_\",\"faTimes\":\"style_faTimes__1oBEK\",\"lineSeparete\":\"style_lineSeparete__2JuVd\",\"carAtLanc\":\"style_carAtLanc__1K-2w\",\"semBordas\":\"style_semBordas__2F2eK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"content-pedidos\":\"style_content-pedidos__1Zy9s\",\"content-itens-escolhe\":\"style_content-itens-escolhe__1AgTG\",\"grupos\":\"style_grupos__2_7xn\",\"itensGrupo\":\"style_itensGrupo__uuZDK\",\"content-item\":\"style_content-item__1mnBg\",\"item\":\"style_item__1loBm\",\"plusAddItem\":\"style_plusAddItem__xByiT\",\"imgItem\":\"style_imgItem__1q8_I\",\"descriItem\":\"style_descriItem__30n7z\",\"productName\":\"style_productName__2fWYQ\",\"active\":\"style_active__AjQcM\",\"disable\":\"style_disable__TmE1D\",\"labelsPrice\":\"style_labelsPrice__3U-rA\",\"faAngleRight\":\"style_faAngleRight__1xlqW\",\"customModal\":\"style_customModal__2P47i\",\"customHeaderModal\":\"style_customHeaderModal__TDNRT\",\"customBodyModal\":\"style_customBodyModal__379am\",\"customFooterModal\":\"style_customFooterModal__XKUOp\",\"btn-incluirProd\":\"style_btn-incluirProd__I_bkM\",\"obsItem\":\"style_obsItem__u9Jbf\",\"obsItemChoosed\":\"style_obsItemChoosed__29dHS\",\"descriItemAdd\":\"style_descriItemAdd__15_62\",\"descQuantidade\":\"style_descQuantidade__1Tfmj\",\"circleAdd\":\"style_circleAdd__390bx\",\"greenBtn\":\"style_greenBtn__3QGBA\",\"redBtn\":\"style_redBtn__23k2e\",\"greeBtn\":\"style_greeBtn__1mrpl\",\"edtQtItens\":\"style_edtQtItens__3P3yB\",\"action-itens\":\"style_action-itens__3zPYM\",\"esconde\":\"style_esconde__3pZwM\",\"chbMassa\":\"style_chbMassa__LwnLj\",\"greenColor\":\"style_greenColor__1Pq9v\",\"btn-carrinho\":\"style_btn-carrinho__2zZOu\",\"header-carrinho-lanc\":\"style_header-carrinho-lanc__2jNjO\",\"shoppingCartLanc\":\"style_shoppingCartLanc__3lCNL\",\"totCarLanc\":\"style_totCarLanc__2Cnsc\",\"parteProd\":\"style_parteProd__1LYre\",\"listchoose\":\"style_listchoose__3i9w-\",\"listchooseComplement\":\"style_listchooseComplement__2EIdX\",\"padding\":\"style_padding__3jrQI\",\"bordas\":\"style_bordas__2LUGl\",\"massas\":\"style_massas__baoFl\",\"sabores\":\"style_sabores__2I0Nt\",\"produtosescolhe\":\"style_produtosescolhe__14L07\",\"extrasEscolhe\":\"style_extrasEscolhe__1YGGQ\",\"toppingsEscolhe\":\"style_toppingsEscolhe__DAA8n\",\"titleListChoose\":\"style_titleListChoose__2VhTT\",\"propsItem\":\"style_propsItem__c6RPW\",\"descriProdPede\":\"style_descriProdPede__3GyFJ\",\"btn-add-pizza\":\"style_btn-add-pizza__wz-oq\",\"footerModalAdd\":\"style_footerModalAdd__1K6-P\",\"obsPizza\":\"style_obsPizza__2qrfD\",\"col-total-pizza\":\"style_col-total-pizza__tAOT7\",\"labelQuant\":\"style_labelQuant__2Sp9Q\",\"action-itens-pizza\":\"style_action-itens-pizza__3bbz2\",\"faMinusPizza\":\"style_faMinusPizza__5JNAP\",\"faPlusPizza\":\"style_faPlusPizza__2sjTq\",\"quantAddPizza\":\"style_quantAddPizza__2BXc3\",\"circleAddPizza2\":\"style_circleAddPizza2__PsRsk\",\"infoProdSelect\":\"style_infoProdSelect__3v2tD\",\"imgInfoProdSelect\":\"style_imgInfoProdSelect__1eHvM\",\"excluiritempizza\":\"style_excluiritempizza__2PvyV\",\"faTimespizza\":\"style_faTimespizza__2pI1A\",\"faTrashAlt\":\"style_faTrashAlt__2V8dS\",\"faCheckCircle\":\"style_faCheckCircle__2kOPY\",\"infoPromo\":\"style_infoPromo__3Z5Hc\",\"img-now\":\"style_img-now__fkat3\",\"descItem\":\"style_descItem__3eM1F\",\"spanObs\":\"style_spanObs__2W9zE\",\"infoProdAmpliado\":\"style_infoProdAmpliado__m8f5l\",\"__inputSearch\":\"style___inputSearch__s8rQQ\",\"serachIcon\":\"style_serachIcon__2oUqi\",\"gotoTop\":\"style_gotoTop__INlIj\",\"icon-filter\":\"style_icon-filter__3f7LK\",\"customPrice\":\"style_customPrice__2dWko\",\"separaItensPizza\":\"style_separaItensPizza___n_yj\",\"affix\":\"style_affix__3SUKO\",\"semBordas\":\"style_semBordas__1NNUS\",\"preco\":\"style_preco__1K9is\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"pic-box-loja\":\"style_pic-box-loja__2f79S\",\"box-loja\":\"style_box-loja__WASdB\",\"tableTitle\":\"style_tableTitle__2F7wz\",\"table\":\"style_table__1296y\",\"wrapperTable\":\"style_wrapperTable__191_q\",\"mesaLabel\":\"style_mesaLabel__1NP4G\",\"infoAbertura\":\"style_infoAbertura__UTo_1\",\"LojaOpen\":\"style_LojaOpen__242xq\",\"LojaClose\":\"style_LojaClose__1Mg5P\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"content-pedidos\":\"style_content-pedidos__34pDM\",\"content-itens-escolhe\":\"style_content-itens-escolhe__RpCYX\",\"grupos\":\"style_grupos__2uk-Z\",\"itensGrupo\":\"style_itensGrupo__3JVbm\",\"content-item\":\"style_content-item__37Gw7\",\"item\":\"style_item__32qjC\",\"plusAddItem\":\"style_plusAddItem__1p-Lt\",\"imgItem\":\"style_imgItem__2Y1hy\",\"descriItem\":\"style_descriItem__zND-b\",\"productName\":\"style_productName__1R4sG\",\"active\":\"style_active__3HdiV\",\"disable\":\"style_disable__3Uo_M\",\"labelsPrice\":\"style_labelsPrice__21yvR\",\"faAngleRight\":\"style_faAngleRight__2V9xM\",\"customModal\":\"style_customModal__2ULOP\",\"customHeaderModal\":\"style_customHeaderModal__1HcVL\",\"customBodyModal\":\"style_customBodyModal__1F5D1\",\"customFooterModal\":\"style_customFooterModal__2ljzR\",\"btn-incluirProd\":\"style_btn-incluirProd__3I4o2\",\"obsItem\":\"style_obsItem__3AGOD\",\"obsItemChoosed\":\"style_obsItemChoosed__3h7H_\",\"descriItemAdd\":\"style_descriItemAdd__1GoIu\",\"descQuantidade\":\"style_descQuantidade__1sMUw\",\"circleAdd\":\"style_circleAdd__19ZEX\",\"greenBtn\":\"style_greenBtn__1NhgK\",\"redBtn\":\"style_redBtn__UV_gZ\",\"greeBtn\":\"style_greeBtn__1wW4b\",\"edtQtItens\":\"style_edtQtItens__1t_hM\",\"action-itens\":\"style_action-itens__eSODE\",\"esconde\":\"style_esconde__3sMzc\",\"chbMassa\":\"style_chbMassa__2jiHR\",\"greenColor\":\"style_greenColor__iVvOY\",\"btn-carrinho\":\"style_btn-carrinho__1F6eL\",\"header-carrinho-lanc\":\"style_header-carrinho-lanc__2LGt0\",\"shoppingCartLanc\":\"style_shoppingCartLanc__1RnDG\",\"totCarLanc\":\"style_totCarLanc__1LWWc\",\"parteProd\":\"style_parteProd__M0PLR\",\"listchoose\":\"style_listchoose__1Vz3F\",\"listchooseComplement\":\"style_listchooseComplement__2xpgB\",\"padding\":\"style_padding__3wQlg\",\"bordas\":\"style_bordas__qLpts\",\"massas\":\"style_massas__QSoEe\",\"sabores\":\"style_sabores__PFSzI\",\"produtosescolhe\":\"style_produtosescolhe__1bGH9\",\"extrasEscolhe\":\"style_extrasEscolhe__thXxo\",\"toppingsEscolhe\":\"style_toppingsEscolhe__xRgMD\",\"titleListChoose\":\"style_titleListChoose__nVv72\",\"propsItem\":\"style_propsItem__2CxNU\",\"descriProdPede\":\"style_descriProdPede__39N2m\",\"btn-add-pizza\":\"style_btn-add-pizza__mblYw\",\"footerModalAdd\":\"style_footerModalAdd__9jr6J\",\"obsPizza\":\"style_obsPizza__SErz6\",\"col-total-pizza\":\"style_col-total-pizza__1F8gJ\",\"labelQuant\":\"style_labelQuant__1oyGy\",\"action-itens-pizza\":\"style_action-itens-pizza__3WZk3\",\"faMinusPizza\":\"style_faMinusPizza__1rUCM\",\"faPlusPizza\":\"style_faPlusPizza__3MopR\",\"quantAddPizza\":\"style_quantAddPizza__1AjTw\",\"circleAddPizza2\":\"style_circleAddPizza2__bXfm1\",\"infoProdSelect\":\"style_infoProdSelect__1-ddV\",\"imgInfoProdSelect\":\"style_imgInfoProdSelect__2ybzg\",\"excluiritempizza\":\"style_excluiritempizza__2Shpd\",\"faTimespizza\":\"style_faTimespizza__KcfJn\",\"faTrashAlt\":\"style_faTrashAlt__2zRKD\",\"faCheckCircle\":\"style_faCheckCircle__3Ctj0\",\"infoPromo\":\"style_infoPromo__1uGt_\",\"img-now\":\"style_img-now__rCCJv\",\"descItem\":\"style_descItem__3I8mT\",\"spanObs\":\"style_spanObs__XCzq7\",\"infoProdAmpliado\":\"style_infoProdAmpliado__2Q84i\",\"__inputSearch\":\"style___inputSearch__8mUEU\",\"serachIcon\":\"style_serachIcon__3TYLJ\",\"gotoTop\":\"style_gotoTop__A5e8h\",\"icon-filter\":\"style_icon-filter__1WA-s\",\"customPrice\":\"style_customPrice__3RB-k\",\"separaItensPizza\":\"style_separaItensPizza__13NcE\",\"affix\":\"style_affix__1WZon\",\"semBordas\":\"style_semBordas__3oi5p\",\"preco\":\"style_preco__OZRuN\"};"],"sourceRoot":""}