{"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","regenerator_default","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","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","message","_args2","undefined","tableNumber","storeID","callWaiter","_callWaiter","_args3","setStatusTable","_setStatusTable","_args4","Home","bkLojas","loadingPage","componentDidMount","AllStores","indexAdress","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","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","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","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","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","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","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","components_listHistorico_ListHistorico","paddingLeft","sub","configureAnchors","scrollDuration","removeHash","Cardapio","goCathegory","id_cathegory","extra","selectedCategory","responseStore","Perfil","handeOtherAdress","Newpassword","novaSenha","confirmaSenha","ConfirmaPedido","timer","verificaStatus","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","Pagamento","style_templateObject5","typeDelivery","validaAgendamentos","showModalPagamentos","showPagamento","pagEscolhido","troco","selectOption","obsPag","handleRadio","handleTroco","handleObsPag","capitalizeKeys","prototype","transformedObj","transformedKey","toLowerCase","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.ba575ca1.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__3rEPk\",\"buttonSearchCep\":\"style_buttonSearchCep__2emb2\",\"yellow\":\"style_yellow__287nM\",\"buttonRetire\":\"style_buttonRetire__mFJ62\",\"green\":\"style_green__3SV5K\",\"pastel\":\"style_pastel__BTTmv\",\"ouCep\":\"style_ouCep__3tNON\",\"inputcepitnes\":\"style_inputcepitnes__3YMQv\",\"title-pedido\":\"style_title-pedido__3XBnp\",\"shoppingCart\":\"style_shoppingCart__3QfEN\",\"titleCarrinho\":\"style_titleCarrinho__26s2y\",\"footer-pedido\":\"style_footer-pedido__3J2Od\",\"affix\":\"style_affix__1wpIz\",\"lineTotais\":\"style_lineTotais__1_AsD\",\"content-itens--estou_na_mesa\":\"style_content-itens--estou_na_mesa__3SLqq\",\"listchoose\":\"style_listchoose__V-lhi\",\"content-item__\":\"style_content-item____oVQjZ\",\"circleBtn\":\"style_circleBtn__22Ici\",\"btnVerde\":\"style_btnVerde__PSFHV\",\"greeBtn\":\"style_greeBtn__2SFv9\",\"btnVermelho\":\"style_btnVermelho__2PFZU\",\"redBtn\":\"style_redBtn__pUDk7\",\"faPlus\":\"style_faPlus__3lcQ3\",\"faMinus\":\"style_faMinus__45ZbY\",\"descItemPedido\":\"style_descItemPedido__SEqf5\",\"obsPedido\":\"style_obsPedido__2iMkt\",\"notSended\":\"style_notSended__28keL\",\"priceItem\":\"style_priceItem__2vV6z\",\"iteminbox\":\"style_iteminbox__3uowM\",\"pancil\":\"style_pancil__2VUe0\",\"editarProd\":\"style_editarProd__1_pYU\",\"excluirItem\":\"style_excluirItem__quS0T\",\"left\":\"style_left__R06ek\",\"right\":\"style_right__1fBvW\",\"btn-pagar\":\"style_btn-pagar__132AF\",\"faTimes\":\"style_faTimes__1IWLQ\",\"lineSeparete\":\"style_lineSeparete__2uUFM\",\"carAtLanc\":\"style_carAtLanc__2ZiUH\",\"semBordas\":\"style_semBordas__3788P\"};","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:4044/',\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 MENSA EM CASA

\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');\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\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
\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\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\n let produtos = element.produtos.filter(obj => obj.is_extra === 'N');\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 const { adress } = this.props.rdUser;\r\n const principal = adress.filter(a => a.principal === 1)[0];\r\n\r\n\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 \"codPdv\": 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 \"codPdv\": 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 \"codPdv\": 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,\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 : '',\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\r\n this.setState({ cpfNaNota: e.target.value, cpf: \"\" });\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';\nimport ReactDOM from 'react-dom';\nimport App from './App';\nimport CadastroCliente from './pages/cadastroCliente/CadastroCliente';\nimport LancaPedido from './pages/lancaPedido/LancaPedido';\nimport EstouNaMesa from './pages/estounamesa';\nimport HistoricoPedido from './pages/historicoPedido/HistoricoPedido';\nimport Cardapio from \"./pages/cardapio\"\nimport Perfil from './pages/perfil/Perfil';\nimport Newpassword from './pages/newpassword/NewPassword';\nimport { Switch, Route, HashRouter, BrowserRouter } from 'react-router-dom'\nimport Pagamento from './pages/pagamento/Pagamento';\nimport { Provider } from \"react-redux\";\nimport store from \"./store\"\n\n\nReactDOM.render(\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ,\n document.getElementById('root')\n);\n\n\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"box-pedido\":\"style_box-pedido__3EL67\",\"buttonSearchCep\":\"style_buttonSearchCep__EZw51\",\"yellow\":\"style_yellow__1Ts1S\",\"buttonRetire\":\"style_buttonRetire__3epGK\",\"green\":\"style_green__2zkzN\",\"pastel\":\"style_pastel__2d4QR\",\"ouCep\":\"style_ouCep__3zWcS\",\"inputcepitnes\":\"style_inputcepitnes__3Epqe\",\"title-pedido\":\"style_title-pedido__3JW3u\",\"shoppingCart\":\"style_shoppingCart__15iaJ\",\"titleCarrinho\":\"style_titleCarrinho__2M8R0\",\"footer-pedido\":\"style_footer-pedido__2YusJ\",\"affix\":\"style_affix__VvqN8\",\"lineTotais\":\"style_lineTotais__3mFZi\",\"content-itens--estou_na_mesa\":\"style_content-itens--estou_na_mesa__2D-ZZ\",\"listchoose\":\"style_listchoose__2Ka8X\",\"content-item__\":\"style_content-item____vDoYU\",\"circleBtn\":\"style_circleBtn__27tcV\",\"btnVerde\":\"style_btnVerde__3OStV\",\"greeBtn\":\"style_greeBtn__3C1q3\",\"btnVermelho\":\"style_btnVermelho__1uhn5\",\"redBtn\":\"style_redBtn__28cqk\",\"faPlus\":\"style_faPlus__22CPY\",\"faMinus\":\"style_faMinus__31izm\",\"descItemPedido\":\"style_descItemPedido__PwXGw\",\"obsPedido\":\"style_obsPedido__2q5j1\",\"notSended\":\"style_notSended__d51XG\",\"priceItem\":\"style_priceItem__1UKqE\",\"iteminbox\":\"style_iteminbox___iuo6\",\"pancil\":\"style_pancil__RlB3k\",\"editarProd\":\"style_editarProd__2DsVJ\",\"excluirItem\":\"style_excluirItem__1o6H4\",\"left\":\"style_left__w92Pb\",\"right\":\"style_right__1tPEV\",\"btn-pagar\":\"style_btn-pagar__28mor\",\"faTimes\":\"style_faTimes__3Naue\",\"lineSeparete\":\"style_lineSeparete__213Qf\",\"carAtLanc\":\"style_carAtLanc__H9TQl\",\"semBordas\":\"style_semBordas__2dBee\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"content-pedidos\":\"style_content-pedidos__1WWbC\",\"content-itens-escolhe\":\"style_content-itens-escolhe__2vLkH\",\"grupos\":\"style_grupos__1JaUg\",\"itensGrupo\":\"style_itensGrupo__3tXVF\",\"content-item\":\"style_content-item__2keUz\",\"item\":\"style_item__CpYlM\",\"plusAddItem\":\"style_plusAddItem__i8meM\",\"imgItem\":\"style_imgItem__1Ew48\",\"descriItem\":\"style_descriItem__HfnEr\",\"productName\":\"style_productName__2Vp_i\",\"active\":\"style_active__1yoK8\",\"disable\":\"style_disable__2nBZY\",\"labelsPrice\":\"style_labelsPrice__DfPHb\",\"faAngleRight\":\"style_faAngleRight__2hpzO\",\"customModal\":\"style_customModal__3FnnV\",\"customHeaderModal\":\"style_customHeaderModal__1JxvP\",\"customBodyModal\":\"style_customBodyModal__iilzu\",\"customFooterModal\":\"style_customFooterModal__7qtdn\",\"btn-incluirProd\":\"style_btn-incluirProd__3BWkE\",\"obsItem\":\"style_obsItem__Yf1ZB\",\"obsItemChoosed\":\"style_obsItemChoosed__3ZFeo\",\"descriItemAdd\":\"style_descriItemAdd__c3IpF\",\"descQuantidade\":\"style_descQuantidade__wicuf\",\"circleAdd\":\"style_circleAdd__2Tlee\",\"greenBtn\":\"style_greenBtn__36eSJ\",\"redBtn\":\"style_redBtn__pKi4P\",\"greeBtn\":\"style_greeBtn__2sRaT\",\"edtQtItens\":\"style_edtQtItens__zB-Ts\",\"action-itens\":\"style_action-itens__2ZPCQ\",\"esconde\":\"style_esconde__3flin\",\"chbMassa\":\"style_chbMassa__29W4q\",\"greenColor\":\"style_greenColor__3Mh9n\",\"btn-carrinho\":\"style_btn-carrinho__hgqZI\",\"header-carrinho-lanc\":\"style_header-carrinho-lanc__3eprS\",\"shoppingCartLanc\":\"style_shoppingCartLanc__35C-K\",\"totCarLanc\":\"style_totCarLanc__3i7fX\",\"parteProd\":\"style_parteProd__2DZAw\",\"listchoose\":\"style_listchoose__3wJyU\",\"listchooseComplement\":\"style_listchooseComplement__1PCzI\",\"padding\":\"style_padding__2MxOP\",\"bordas\":\"style_bordas__dWtzJ\",\"massas\":\"style_massas__2Za9m\",\"sabores\":\"style_sabores__2sIIk\",\"produtosescolhe\":\"style_produtosescolhe__1ovDF\",\"extrasEscolhe\":\"style_extrasEscolhe__wEelb\",\"toppingsEscolhe\":\"style_toppingsEscolhe__3pUkd\",\"titleListChoose\":\"style_titleListChoose__1vtaq\",\"propsItem\":\"style_propsItem__kLM_r\",\"descriProdPede\":\"style_descriProdPede__36d8h\",\"btn-add-pizza\":\"style_btn-add-pizza__3xpEy\",\"footerModalAdd\":\"style_footerModalAdd__1OR3K\",\"obsPizza\":\"style_obsPizza__DnKZ7\",\"col-total-pizza\":\"style_col-total-pizza__-7VYm\",\"labelQuant\":\"style_labelQuant__1pzgs\",\"action-itens-pizza\":\"style_action-itens-pizza__bMEE6\",\"faMinusPizza\":\"style_faMinusPizza__2dAAr\",\"faPlusPizza\":\"style_faPlusPizza__1vQgv\",\"quantAddPizza\":\"style_quantAddPizza__1DWbW\",\"circleAddPizza2\":\"style_circleAddPizza2__3nNmb\",\"infoProdSelect\":\"style_infoProdSelect__3SfAW\",\"imgInfoProdSelect\":\"style_imgInfoProdSelect__2-VJN\",\"excluiritempizza\":\"style_excluiritempizza__2bmdq\",\"faTimespizza\":\"style_faTimespizza__30BP2\",\"faTrashAlt\":\"style_faTrashAlt__3l_RY\",\"faCheckCircle\":\"style_faCheckCircle__1WLS0\",\"infoPromo\":\"style_infoPromo__13ni4\",\"img-now\":\"style_img-now__2L2J1\",\"descItem\":\"style_descItem__2TgEO\",\"spanObs\":\"style_spanObs__1JY5w\",\"infoProdAmpliado\":\"style_infoProdAmpliado__1Jt5s\",\"__inputSearch\":\"style___inputSearch__31j-D\",\"serachIcon\":\"style_serachIcon__3xiYf\",\"gotoTop\":\"style_gotoTop__2NL8r\",\"icon-filter\":\"style_icon-filter__2oDkv\",\"customPrice\":\"style_customPrice__1xojk\",\"separaItensPizza\":\"style_separaItensPizza__1xE55\",\"affix\":\"style_affix__CSNj4\",\"semBordas\":\"style_semBordas__uux4_\",\"preco\":\"style_preco__1rM5w\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"pic-box-loja\":\"style_pic-box-loja__oybgB\",\"box-loja\":\"style_box-loja__3i69I\",\"tableTitle\":\"style_tableTitle__2mKBM\",\"table\":\"style_table__2JtZ_\",\"wrapperTable\":\"style_wrapperTable__1Zjgl\",\"mesaLabel\":\"style_mesaLabel__3SDI6\",\"infoAbertura\":\"style_infoAbertura__XAAvT\",\"LojaOpen\":\"style_LojaOpen__1saDR\",\"LojaClose\":\"style_LojaClose__1hsGa\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"content-pedidos\":\"style_content-pedidos__1URGh\",\"content-itens-escolhe\":\"style_content-itens-escolhe__2yMH-\",\"grupos\":\"style_grupos__1a95d\",\"itensGrupo\":\"style_itensGrupo__35Sv5\",\"content-item\":\"style_content-item__2v0Js\",\"item\":\"style_item__28xG4\",\"plusAddItem\":\"style_plusAddItem__76MrB\",\"imgItem\":\"style_imgItem__2giT4\",\"descriItem\":\"style_descriItem__r-_8a\",\"productName\":\"style_productName__kMC2f\",\"active\":\"style_active__2wnVd\",\"disable\":\"style_disable__23uMb\",\"labelsPrice\":\"style_labelsPrice__15aY7\",\"faAngleRight\":\"style_faAngleRight__NAAAx\",\"customModal\":\"style_customModal__266NP\",\"customHeaderModal\":\"style_customHeaderModal__3z54t\",\"customBodyModal\":\"style_customBodyModal__2-2Tx\",\"customFooterModal\":\"style_customFooterModal__20qId\",\"btn-incluirProd\":\"style_btn-incluirProd__3PLS3\",\"obsItem\":\"style_obsItem__2nKg_\",\"obsItemChoosed\":\"style_obsItemChoosed__3Ai1t\",\"descriItemAdd\":\"style_descriItemAdd__3QqwK\",\"descQuantidade\":\"style_descQuantidade__1iDFa\",\"circleAdd\":\"style_circleAdd__1eCyV\",\"greenBtn\":\"style_greenBtn__2afKM\",\"redBtn\":\"style_redBtn__3xXT9\",\"greeBtn\":\"style_greeBtn__2lK-h\",\"edtQtItens\":\"style_edtQtItens__1_nQE\",\"action-itens\":\"style_action-itens__O6CDI\",\"esconde\":\"style_esconde__3JUNr\",\"chbMassa\":\"style_chbMassa__FE4E8\",\"greenColor\":\"style_greenColor__2XD7E\",\"btn-carrinho\":\"style_btn-carrinho__1GWeO\",\"header-carrinho-lanc\":\"style_header-carrinho-lanc__UVdSi\",\"shoppingCartLanc\":\"style_shoppingCartLanc__1GHEV\",\"totCarLanc\":\"style_totCarLanc__SELkf\",\"parteProd\":\"style_parteProd__24qv2\",\"listchoose\":\"style_listchoose__3y5y9\",\"listchooseComplement\":\"style_listchooseComplement__2S7nh\",\"padding\":\"style_padding__ZnDWD\",\"bordas\":\"style_bordas__3xjLP\",\"massas\":\"style_massas__1S9eH\",\"sabores\":\"style_sabores__2vgDb\",\"produtosescolhe\":\"style_produtosescolhe__ZpYDr\",\"extrasEscolhe\":\"style_extrasEscolhe__wuSAc\",\"toppingsEscolhe\":\"style_toppingsEscolhe__3UShX\",\"titleListChoose\":\"style_titleListChoose__1UH5U\",\"propsItem\":\"style_propsItem__2HoEY\",\"descriProdPede\":\"style_descriProdPede__2UpjG\",\"btn-add-pizza\":\"style_btn-add-pizza__1Ie0T\",\"footerModalAdd\":\"style_footerModalAdd__RWy0v\",\"obsPizza\":\"style_obsPizza__3sZdy\",\"col-total-pizza\":\"style_col-total-pizza__3EheE\",\"labelQuant\":\"style_labelQuant__2z3DL\",\"action-itens-pizza\":\"style_action-itens-pizza__4RWYI\",\"faMinusPizza\":\"style_faMinusPizza__2mi6M\",\"faPlusPizza\":\"style_faPlusPizza__3MEZA\",\"quantAddPizza\":\"style_quantAddPizza__3Xj8H\",\"circleAddPizza2\":\"style_circleAddPizza2__2w3Ln\",\"infoProdSelect\":\"style_infoProdSelect__ljhmZ\",\"imgInfoProdSelect\":\"style_imgInfoProdSelect__2iNtZ\",\"excluiritempizza\":\"style_excluiritempizza__1mim2\",\"faTimespizza\":\"style_faTimespizza__1o4wn\",\"faTrashAlt\":\"style_faTrashAlt__1JINw\",\"faCheckCircle\":\"style_faCheckCircle__13kqY\",\"infoPromo\":\"style_infoPromo__3owqi\",\"img-now\":\"style_img-now__Gt7S-\",\"descItem\":\"style_descItem__2QNEX\",\"spanObs\":\"style_spanObs__AcTgw\",\"infoProdAmpliado\":\"style_infoProdAmpliado__3-YOD\",\"__inputSearch\":\"style___inputSearch__3y_3P\",\"serachIcon\":\"style_serachIcon___qEDu\",\"gotoTop\":\"style_gotoTop__2ileZ\",\"icon-filter\":\"style_icon-filter__14wKq\",\"customPrice\":\"style_customPrice__22LNh\",\"separaItensPizza\":\"style_separaItensPizza__q3-PR\",\"affix\":\"style_affix__6KZqV\",\"semBordas\":\"style_semBordas__3i-bl\",\"preco\":\"style_preco__R884A\"};"],"sourceRoot":""}