-
Notifications
You must be signed in to change notification settings - Fork 1
/
.eslintcache
1 lines (1 loc) · 44.2 KB
/
.eslintcache
1
[{"C:\\Users\\55219\\Desktop\\Aplications\\helpper-webaapp\\src\\index.js":"1","C:\\Users\\55219\\Desktop\\Aplications\\helpper-webaapp\\src\\routes.js":"2","C:\\Users\\55219\\Desktop\\Aplications\\helpper-webaapp\\src\\pages\\Home\\index.js":"3","C:\\Users\\55219\\Desktop\\Aplications\\helpper-webaapp\\src\\components\\Header\\index.js":"4","C:\\Users\\55219\\Desktop\\Aplications\\helpper-webaapp\\src\\reportWebVitals.js":"5","C:\\Users\\55219\\Desktop\\Aplications\\helpper-webaapp\\src\\components\\Footer\\index.js":"6","C:\\Users\\55219\\Desktop\\Aplications\\helpper-webaapp\\src\\pages\\Register\\index.js":"7","C:\\Users\\55219\\Desktop\\Aplications\\helpper-webaapp\\src\\services\\viaCep.js":"8","C:\\Users\\55219\\Desktop\\Aplications\\helpper-webaapp\\src\\helpers\\index.js":"9","C:\\Users\\55219\\Desktop\\Aplications\\helpper-webaapp\\src\\components\\Loader\\index.js":"10","C:\\Users\\55219\\Desktop\\Aplications\\helpper-webaapp\\src\\services\\api.js":"11","C:\\Users\\55219\\Desktop\\Aplications\\helpper-webaapp\\src\\pages\\Details\\index.js":"12","C:\\Users\\55219\\Desktop\\Aplications\\helpper-webaapp\\src\\pages\\Edit\\index.js":"13"},{"size":678,"mtime":1608922079689,"results":"14","hashOfConfig":"15"},{"size":691,"mtime":1608947917062,"results":"16","hashOfConfig":"15"},{"size":4833,"mtime":1608947947024,"results":"17","hashOfConfig":"15"},{"size":254,"mtime":1608914630347,"results":"18","hashOfConfig":"15"},{"size":362,"mtime":1608785919023,"results":"19","hashOfConfig":"15"},{"size":219,"mtime":1608917111903,"results":"20","hashOfConfig":"15"},{"size":8360,"mtime":1608948246795,"results":"21","hashOfConfig":"15"},{"size":620,"mtime":1608947539283,"results":"22","hashOfConfig":"15"},{"size":2200,"mtime":1608940878168,"results":"23","hashOfConfig":"15"},{"size":367,"mtime":1608925714904,"results":"24","hashOfConfig":"15"},{"size":147,"mtime":1608939504663,"results":"25","hashOfConfig":"15"},{"size":7314,"mtime":1608947731753,"results":"26","hashOfConfig":"15"},{"size":9253,"mtime":1608948227273,"results":"27","hashOfConfig":"15"},{"filePath":"28","messages":"29","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"30"},"12emmtw",{"filePath":"31","messages":"32","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"30"},{"filePath":"33","messages":"34","errorCount":0,"warningCount":8,"fixableErrorCount":0,"fixableWarningCount":0,"source":"35","usedDeprecatedRules":"30"},{"filePath":"36","messages":"37","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"38","usedDeprecatedRules":"30"},{"filePath":"39","messages":"40","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"30"},{"filePath":"41","messages":"42","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"30"},{"filePath":"43","messages":"44","errorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":"45","usedDeprecatedRules":"30"},{"filePath":"46","messages":"47","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"30"},{"filePath":"48","messages":"49","errorCount":0,"warningCount":5,"fixableErrorCount":0,"fixableWarningCount":0,"source":"50","usedDeprecatedRules":"30"},{"filePath":"51","messages":"52","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"53"},{"filePath":"54","messages":"55","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"30"},{"filePath":"56","messages":"57","errorCount":0,"warningCount":5,"fixableErrorCount":0,"fixableWarningCount":0,"source":"58","usedDeprecatedRules":"30"},{"filePath":"59","messages":"60","errorCount":0,"warningCount":7,"fixableErrorCount":0,"fixableWarningCount":0,"source":"61","usedDeprecatedRules":"30"},"C:\\Users\\55219\\Desktop\\Aplications\\helpper-webaapp\\src\\index.js",[],["62","63"],"C:\\Users\\55219\\Desktop\\Aplications\\helpper-webaapp\\src\\routes.js",[],"C:\\Users\\55219\\Desktop\\Aplications\\helpper-webaapp\\src\\pages\\Home\\index.js",["64","65","66","67","68","69","70","71"],"import React, { useState, Fragment, useEffect } from 'react';\r\nimport ReactDatatable from '@ashvin27/react-datatable';\r\nimport { FaPencilAlt, FaRegTrashAlt, FaPlus, FaRegEye } from 'react-icons/fa';\r\n\r\nimport Footer from '../../components/Footer';\r\nimport Header from '../../components/Header';\r\nimport Loader from '../../components/Loader';\r\n\r\nimport {isEmpty, Notifications, phoneMask, cnpjMask, cepMask, dataNumberDB, cnpfCnpjMask } from '../../helpers';\r\n\r\nimport API from '../../services/api';\r\n\r\nimport './style.css';\r\n\r\nexport default function Home({ history }){\r\n const [loading, setLoading] = useState(true);\r\n\r\n\r\n // DEFININDO COLUNAS\r\n const [ columns, setColumns ] = useState([\r\n {\r\n key: \"name\",\r\n text: \"Nome\",\r\n className: \"name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"email\",\r\n text: \"E-mail\",\r\n className: \"email\",\r\n align: \"left\",\r\n sortable: true\r\n },\r\n {\r\n key: \"phone\",\r\n text: \"Telefone\",\r\n className: \"phone\",\r\n sortable: true\r\n },\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 200,\r\n align: \"left\",\r\n sortable: false,\r\n cell: record => { \r\n return (\r\n <Fragment>\r\n <button\r\n className=\"btn btn-success\"\r\n onClick={() => detailsRecord(record)}\r\n style={{marginRight: '5px'}}>\r\n \r\n <FaRegEye style={{color: '#FFF'}} />\r\n </button>\r\n <button\r\n className=\"btn btn-warning\"\r\n onClick={() => editRecord(record)}\r\n style={{marginRight: '5px'}}>\r\n \r\n <FaPencilAlt style={{color: '#FFF'}} />\r\n </button>\r\n <button \r\n className=\"btn btn-danger\" \r\n onClick={() => deleteRecord(record)}>\r\n <FaRegTrashAlt />\r\n </button>\r\n </Fragment>\r\n );\r\n }\r\n }\r\n ]);\r\n\r\n const [config, setConfig] = useState({\r\n page_size: 5,\r\n length_menu: [ 5, 10, 15, 20 ],\r\n button: {\r\n excel: false,\r\n print: false,\r\n extra: true,\r\n },\r\n show_length_menu: false,\r\n show_first: false,\r\n show_last: false,\r\n show_info: false\r\n });\r\n\r\n const [extraButtons, setExtraButtons] = useState([\r\n {\r\n className:\"btn btn-primary\",\r\n title:\"Adicionar Novo\",\r\n children:[\r\n <span>\r\n <FaPlus /> Cadastrar Novo\r\n </span>\r\n ],\r\n onClick:(event)=>{\r\n history.push('/register');\r\n },\r\n },\r\n ])\r\n\r\n const [records, setRecords] = useState([]);\r\n\r\n useEffect(() => {\r\n loadClients();\r\n setTimeout(() => setLoading(false), 100)\r\n }, []);\r\n\r\n async function loadClients(){\r\n try {\r\n const response = await API.get('/clients');\r\n\r\n response.data.map(index => index.phone = phoneMask(String(index.phone)))\r\n \r\n setRecords(response.data);\r\n\r\n } catch(error){\r\n Notifications('error', error.response.data.error);\r\n setLoading(false);\r\n } \r\n }\r\n\r\n const editRecord = record => {\r\n history.push(`/edit/${record._id}`)\r\n }\r\n const detailsRecord = record => {\r\n history.push(`/details/${record._id}`)\r\n }\r\n\r\n const deleteRecord = async record => {\r\n setLoading(true);\r\n try {\r\n await API.delete(`/clients/${record._id}`);\r\n\r\n loadClients();\r\n \r\n Notifications('success', 'Cliente Deletado com Sucesso!');\r\n \r\n setLoading(false)\r\n\r\n } catch(error){\r\n Notifications('error', error.response.data.error);\r\n setLoading(false);\r\n }\r\n \r\n }\r\n\r\n if(loading) return <Loader />\r\n \r\n return(\r\n <section>\r\n <Header />\r\n <article>\r\n <ReactDatatable\r\n config={config}\r\n records={records}\r\n columns={columns}\r\n extraButtons={extraButtons}\r\n />\r\n </article>\r\n <Footer/>\r\n </section>\r\n );\r\n}","C:\\Users\\55219\\Desktop\\Aplications\\helpper-webaapp\\src\\components\\Header\\index.js",["72"],"import React from 'react';\r\n\r\nimport './style.css';\r\n\r\nimport logo from '../../assets/img/helpper-logo.png';\r\n\r\nconst Header = () => (\r\n <header>\r\n <img src={logo} style={{width: 200, height: 60}} />\r\n </header>\r\n);\r\n\r\nexport default Header;","C:\\Users\\55219\\Desktop\\Aplications\\helpper-webaapp\\src\\reportWebVitals.js",[],"C:\\Users\\55219\\Desktop\\Aplications\\helpper-webaapp\\src\\components\\Footer\\index.js",[],"C:\\Users\\55219\\Desktop\\Aplications\\helpper-webaapp\\src\\pages\\Register\\index.js",["73","74","75","76","77","78"],"import React, { useState, Fragment, useEffect } from 'react';\r\nimport { Stepper, Step } from 'react-form-stepper';\r\nimport { FaPencilAlt, FaRegTrashAlt, FaPlus } from 'react-icons/fa';\r\n\r\nimport Footer from '../../components/Footer';\r\nimport Header from '../../components/Header';\r\nimport Loader from '../../components/Loader';\r\n\r\nimport {isEmpty, Notifications, phoneMask, cnpjMask, cepMask, dataNumberDB, cnpfCnpjMask } from '../../helpers';\r\n\r\nimport API from '../../services/api';\r\nimport viaCep from '../../services/viaCep';\r\n\r\nimport './style.css';\r\n\r\nexport default function Register({ history }){\r\n const [loading, setLoading] = useState(true);\r\n const [activeStep, setActiveStep] = useState(0);\r\n const [field, setField] = useState({\r\n name: '',\r\n email: '',\r\n phone: '',\r\n cpf_cnpj: '',\r\n address: {\r\n zip_code: '',\r\n street: '',\r\n number: '',\r\n city: '',\r\n state: '',\r\n neighborhood: '',\r\n complement: '',\r\n }\r\n });\r\n\r\n useEffect(() => {\r\n setTimeout(() => setLoading(false), 100)\r\n }, []);\r\n\r\n async function handleSubmit(){\r\n \r\n setLoading(true);\r\n\r\n // Verificando Campos Obrigatórios\r\n if(isEmpty(field) || isEmpty({ ...field.address, complement: '*' })){\r\n Notifications('error', 'Por favor, preencha todos os campos!');\r\n setLoading(false)\r\n } else {\r\n // Removed Characteres Especiais\r\n const data = { ...field };\r\n\r\n data.cpf_cnpj = Number(data.cpf_cnpj.replace(/[^0-9]/g, ''));\r\n data.phone = Number(data.phone.replace(/[^0-9]/g, ''));\r\n data.address.zip_code = Number(data.address.zip_code.replace(/[^0-9]/g, ''));\r\n data.address.number = Number(data.address.number);\r\n\r\n try {\r\n await API.post('/clients', data);\r\n Notifications('success', 'Cliente Cadastrado com Sucesso!');\r\n setTimeout(() => history.push('/'), 1000); \r\n \r\n } catch(error){\r\n Notifications('error', error.response.data.error);\r\n setLoading(false);\r\n } \r\n }\r\n }\r\n\r\n if(loading) return <Loader />\r\n\r\n return(\r\n <section>\r\n <Header />\r\n <article className=\"register-form\">\r\n <Stepper activeStep={activeStep}>\r\n <Step label=\"Dados Pessoais\" />\r\n <Step label=\"Endereço\" />\r\n </Stepper>\r\n {/* GERAL ESCRITÓRIO ADVOCACIA */}\r\n <div className=\"mt-5 w-100 form-group row\" style={(activeStep !== 0) ? {display: 'none'} : {}}>\r\n <div className=\"col-sm-12 col-md-4 mb-3\">\r\n <input className=\"form-control\" type=\"text\" placeholder=\"Nome\" name=\"name\" value={field.name} onChange={e => setField({ ...field, name: e.target.value })} outline autoComplete=\"new-password\"/>\r\n </div>\r\n <div className=\"col-sm-12 col-md-4 mb-3\">\r\n <input className=\"form-control\" type=\"email\" placeholder=\"E-mail\" name=\"email\" value={field.email} onChange={e => setField({ ...field, email: e.target.value })} outline autoComplete=\"new-password\"/>\r\n </div>\r\n <div className=\"col-sm-12 col-md-4 mb-3\">\r\n <input className=\"form-control\" type=\"text\" placeholder=\"CPF/CNPJ\" name=\"cpf_cnpj\" value={field.cpf_cnpj} onChange={e => setField({ ...field, cpf_cnpj: cnpfCnpjMask(e.target.value) })} outline autoComplete=\"new-password\" maxLength={18}/>\r\n </div>\r\n <div className=\"col-sm-12 col-md-4 mb-3\">\r\n <input className=\"form-control\" type=\"tel\" placeholder=\"Telefone\" name=\"phone\" value={field.phone} onChange={e => setField({ ...field, phone: phoneMask(e.target.value) })} outline autoComplete=\"new-password\" maxLength={15} />\r\n </div> \r\n </div>\r\n\r\n {/* ENDERECO */}\r\n <div className=\"mt-5 w-100 form-group row\" style={(activeStep !== 1) ? {display: 'none'} : {}}>\r\n <div className=\"col-sm-12 col-md-4 mb-3\">\r\n <input className=\"form-control\" type=\"text\" placeholder=\"CEP\" name=\"address[zip_code]\" value={field.address.zip_code} onBlur={valor => viaCep(valor, setField, field)} onChange={e => setField({ ...field, address: { ...field.address, zip_code: cepMask(e.target.value)}})} outline autoComplete=\"new-password\"/>\r\n </div>\r\n <div className=\"col-sm-12 col-md-4 mb-3\">\r\n <input className=\"form-control\" type=\"text\" placeholder=\"Rua/Logradouro\" value={field.address.street} onChange={e => setField({ ...field, address: { ...field.address, street: e.target.value}})} name=\"address[street]\" outline autoComplete=\"new-password\"/>\r\n </div>\r\n <div className=\" col-sm-12 col-md-4 mb-3\">\r\n <input className=\"form-control\" type=\"text\" placeholder=\"Bairro\" value={field.address.neighborhood} onChange={e => setField({ ...field, address: { ...field.address, neighborhood: e.target.value}})} name=\"address[neighborhood]\" outline autoComplete=\"new-password\"/>\r\n </div>\r\n <div className=\"col-sm-12 col-md-4 mb-3\">\r\n <input className=\"form-control\" type=\"text\" placeholder=\"Cidade\" value={field.address.city} onChange={e => setField({ ...field, address: { ...field.address, city: e.target.value}})} name=\"address[city]\" outline autoComplete=\"new-password\"/>\r\n </div>\r\n <div className=\"col-sm-12 col-md-4 mb-3\">\r\n <input className=\"form-control\" type=\"text\" placeholder=\"Estado\" value={field.address.state} onChange={e => setField({ ...field, address: { ...field.address, state: e.target.value}})} name=\"address[state]\" outline autoComplete=\"new-password\"/>\r\n </div>\r\n <div className=\"col-sm-12 col-md-4 mb-3\">\r\n <input className=\"form-control\" type=\"number\" placeholder=\"Numero\" name=\"address[number]\" value={field.address.number} onChange={e => setField({ ...field, address: { ...field.address, number: e.target.value}})} outline autoComplete=\"new-password\"/>\r\n </div>\r\n <div className=\"col-sm-12 col-md-4 mb-3\">\r\n <input className=\"form-control\" type=\"text\" placeholder=\"Complemento\" name=\"address[complement]\" value={field.address.complement} onChange={e => setField({ ...field, address: { ...field.address, complement: e.target.value}})} outline autoComplete=\"new-password\"/>\r\n </div>\r\n </div>\r\n <div className=\"form-group row d-flex justify-content-center mt-5\" >\r\n <button \r\n style={(activeStep <= 0) ? {display: 'none'} : {} } \r\n type=\"button\" \r\n className=\"btn btn-blue-grey btn-light-blue col-sm-12 col-md-2\" \r\n onClick={() => {\r\n if(activeStep !== 0){\r\n setActiveStep(activeStep - 1)\r\n }\r\n }}\r\n >\r\n Anterior\r\n </button>\r\n <button \r\n type=\"button\" \r\n className=\"ml-5 btn btn-prox col-sm-12 col-md-2\" \r\n onClick={() => {\r\n if(activeStep !== 1){\r\n setActiveStep(activeStep + 1)\r\n } else {\r\n // Validar e enviar\r\n console.log('teste')\r\n handleSubmit();\r\n }\r\n }}\r\n >\r\n {(activeStep < 1) ? 'Próximo' : 'Salvar'}\r\n </button>\r\n </div>\r\n </article>\r\n <Footer/>\r\n </section>\r\n );\r\n}","C:\\Users\\55219\\Desktop\\Aplications\\helpper-webaapp\\src\\services\\viaCep.js",[],"C:\\Users\\55219\\Desktop\\Aplications\\helpper-webaapp\\src\\helpers\\index.js",["79","80","81","82","83"],"import React, { useState } from 'react';\r\nimport { NotificationManager } from 'react-notifications';\r\n\r\nexport const isEmpty = obj => {\r\n let state = false;\r\n for(var prop in obj) {\r\n if(obj[prop] == '' || obj[prop] == [] || obj[prop] == {}) state = true;\r\n }\r\n return state;\r\n}\r\nexport const Notifications = (type, message, title=null) => {\r\n\tswitch (type) {\r\n\t\tcase 'info':\r\n\t\t\treturn NotificationManager.info(message, '', 3000);\r\n\t\tcase 'success':\r\n\t\t\treturn NotificationManager.success(message, '', 3000);\r\n\t\tcase 'warning':\r\n\t\t\treturn NotificationManager.warning(message, '', 3000);\r\n\t\tcase 'error':\r\n\t\t\treturn (\r\n\t\t\t\tNotificationManager.error(message, '', 3000)\r\n\t\t\t);\r\n\t\tdefault:\r\n\t\t\treturn (\r\n\t\t\t\tNotificationManager.error(message, 'Click aqui!', 5000, () => {\r\n\t\t\t\t\talert('callback');\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t}\r\n\t\r\n}\r\n\r\nexport const FormataStringData = (data) => {\r\n\tconst data_formatada = data.substr(6,4) + '-' + data.substr(3,2) + '-' + data.substr(0,2) + ' 00:00:00';\r\n return new Date(data_formatada);\r\n}\r\n\r\n\r\nexport const phoneMask = value => {\r\n return value\r\n .replace(/\\D/g, '')\r\n .replace(/^(\\d{2})(\\d)/g,\"($1) $2\")\r\n // .replace(/(\\d{3})(\\d)/, '$1-$2')\r\n .replace(/(\\d)(\\d{4})$/,\"$1-$2\")\r\n}\r\n\r\n\r\nexport const cnpjMask = value => {\r\n return value\r\n\t\t.replace(/\\D/g,\"\") \r\n\t\t.replace(/^(\\d{2})(\\d)/,\"$1.$2\") \r\n\t\t.replace(/^(\\d{2})\\.(\\d{3})(\\d)/,\"$1.$2.$3\") \r\n\t\t.replace(/\\.(\\d{3})(\\d)/,\".$1/$2\") \r\n\t\t.replace(/(\\d{4})(\\d)/,\"$1-$2\") \r\n\t\t\r\n}\r\n\r\nexport const cpfMask = value => {\r\n\treturn value\r\n .replace(/\\D/g,\"\") \r\n .replace(/(\\d{3})(\\d)/,\"$1.$2\") \r\n .replace(/(\\d{3})(\\d)/,\"$1.$2\") \r\n .replace(/(\\d{3})(\\d{1,2})$/,\"$1-$2\") \r\n}\r\n\r\nexport const cnpfCnpjMask = value => {\r\n if(value.length < 15){\r\n return cpfMask(value);\r\n } else {\r\n return cnpjMask(value);\r\n }\r\n}\r\n\r\nexport const cepMask = value => {\r\n\treturn value\r\n .replace(/\\D/g,\"\")\r\n .replace(/(\\d{5})(\\d)/,\"$1-$2\")\r\n}\r\n\r\nexport const dataNumberDB = value => {\r\n\treturn value\r\n\t\t.replace(/[^0-9]/g, '')\r\n}\r\n","C:\\Users\\55219\\Desktop\\Aplications\\helpper-webaapp\\src\\components\\Loader\\index.js",[],["84","85"],"C:\\Users\\55219\\Desktop\\Aplications\\helpper-webaapp\\src\\services\\api.js",[],"C:\\Users\\55219\\Desktop\\Aplications\\helpper-webaapp\\src\\pages\\Details\\index.js",["86","87","88","89","90"],"import React, { useState, Fragment, useEffect } from 'react';\r\nimport { Stepper, Step } from 'react-form-stepper';\r\nimport { FaPencilAlt, FaRegTrashAlt, FaPlus } from 'react-icons/fa';\r\n\r\nimport Footer from '../../components/Footer';\r\nimport Header from '../../components/Header';\r\nimport Loader from '../../components/Loader';\r\n\r\nimport {Notifications, phoneMask, cepMask, cnpfCnpjMask } from '../../helpers';\r\n\r\nimport API from '../../services/api';\r\n\r\nimport './style.css';\r\n\r\nexport default function Details({ history, match }){\r\n const [loading, setLoading] = useState(true);\r\n const [activeStep, setActiveStep] = useState(0);\r\n const [field, setField] = useState({\r\n name: '',\r\n email: '',\r\n phone: '',\r\n cpf_cnpj: '',\r\n address: {\r\n zip_code: '',\r\n street: '',\r\n number: '',\r\n city: '',\r\n state: '',\r\n neighborhood: '',\r\n complement: '',\r\n }\r\n });\r\n \r\n useEffect(() => {\r\n loadClient();\r\n setTimeout(() => setLoading(false), 100)\r\n }, []);\r\n \r\n async function loadClient(){\r\n try {\r\n const { data } = await API.get(`/clients/${match.params.id}`);\r\n \r\n data.phone = phoneMask(String(data.phone));\r\n data.cpf_cnpj = cnpfCnpjMask(String(data.cpf_cnpj));\r\n data.address.zip_code = cepMask(String(data.address.zip_code));\r\n \r\n \r\n setField({\r\n ...field,\r\n name: data.name,\r\n email: data.email,\r\n phone: data.phone,\r\n cpf_cnpj: data.cpf_cnpj,\r\n address: {\r\n ...field.address,\r\n ...data.address\r\n }\r\n });\r\n\r\n } catch(error){\r\n Notifications('error', error.response.data.error);\r\n setLoading(false);\r\n } \r\n }\r\n \r\n if(loading) return <Loader />\r\n\r\n return(\r\n <section>\r\n <Header />\r\n <article className=\"register-form\">\r\n <Stepper activeStep={activeStep}>\r\n <Step label=\"Dados Pessoais\" />\r\n <Step label=\"Endereço\" />\r\n </Stepper>\r\n {/* GERAL ESCRITÓRIO ADVOCACIA */}\r\n <div className=\"mt-5 w-100 form-group row\" style={(activeStep !== 0) ? {display: 'none'} : {}}>\r\n <div className=\"col-sm-12 col-md-4 mb-3\">\r\n <input className=\"form-control\" type=\"text\" placeholder=\"Nome\" name=\"name\" value={field.name} disabled outline autoComplete=\"new-password\"/>\r\n </div>\r\n <div className=\"col-sm-12 col-md-4 mb-3\">\r\n <input className=\"form-control\" type=\"email\" placeholder=\"E-mail\" name=\"email\" value={field.email} disabled outline autoComplete=\"new-password\"/>\r\n </div>\r\n <div className=\"col-sm-12 col-md-4 mb-3\">\r\n <input className=\"form-control\" type=\"text\" placeholder=\"CPF/CNPJ\" name=\"cpf_cnpj\" value={field.cpf_cnpj} disabled outline autoComplete=\"new-password\" maxLength={18}/>\r\n </div>\r\n <div className=\"col-sm-12 col-md-4 mb-3\">\r\n <input className=\"form-control\" type=\"tel\" placeholder=\"Telefone\" name=\"phone\" value={field.phone} disabled outline autoComplete=\"new-password\" maxLength={15} />\r\n </div> \r\n </div>\r\n\r\n {/* ENDERECO */}\r\n <div className=\"mt-5 w-100 form-group row\" style={(activeStep !== 1) ? {display: 'none'} : {}}>\r\n <div className=\"col-sm-12 col-md-4 mb-3\">\r\n <input className=\"form-control\" type=\"text\" placeholder=\"CEP\" name=\"address[zip_code]\" value={field.address.zip_code} disabled outline autoComplete=\"new-password\"/>\r\n </div>\r\n <div className=\"col-sm-12 col-md-4 mb-3\">\r\n <input className=\"form-control\" type=\"text\" placeholder=\"Rua/Logradouro\" value={field.address.street} disabled name=\"address[street]\" outline autoComplete=\"new-password\"/>\r\n </div>\r\n <div className=\" col-sm-12 col-md-4 mb-3\">\r\n <input className=\"form-control\" type=\"text\" placeholder=\"Bairro\" value={field.address.neighborhood} disabled name=\"address[neighborhood]\" outline autoComplete=\"new-password\"/>\r\n </div>\r\n <div className=\"col-sm-12 col-md-4 mb-3\">\r\n <input className=\"form-control\" type=\"text\" placeholder=\"Cidade\" value={field.address.city} disabled name=\"address[city]\" outline autoComplete=\"new-password\"/>\r\n </div>\r\n <div className=\"col-sm-12 col-md-4 mb-3\">\r\n <input className=\"form-control\" type=\"text\" placeholder=\"Estado\" value={field.address.state} disabled name=\"address[state]\" outline autoComplete=\"new-password\"/>\r\n </div>\r\n <div className=\"col-sm-12 col-md-4 mb-3\">\r\n <input className=\"form-control\" type=\"number\" placeholder=\"Numero\" name=\"address[number]\" value={field.address.number} disabled outline autoComplete=\"new-password\"/>\r\n </div>\r\n <div className=\"col-sm-12 col-md-4 mb-3\">\r\n <input className=\"form-control\" type=\"text\" placeholder=\"Complemento\" name=\"address[complement]\" value={field.address.complement} disabled outline autoComplete=\"new-password\"/>\r\n </div>\r\n </div>\r\n <div className=\"form-group row d-flex justify-content-center mt-5\" >\r\n <button \r\n style={(activeStep <= 0) ? {display: 'none'} : {} } \r\n type=\"button\" \r\n className=\"btn btn-blue-grey btn-light-blue col-sm-12 col-md-2\" \r\n onClick={() => {\r\n if(activeStep !== 0){\r\n setActiveStep(activeStep - 1)\r\n }\r\n }}\r\n >\r\n Anterior\r\n </button>\r\n <button \r\n style={(activeStep >= 1) ? {display: 'none'} : {} } \r\n type=\"button\" \r\n className=\"ml-5 btn btn-prox col-sm-12 col-md-2\" \r\n onClick={() => {\r\n if(activeStep !== 1){\r\n setActiveStep(activeStep + 1)\r\n } \r\n }}\r\n >\r\n Próximo\r\n </button>\r\n <button \r\n type=\"button\" \r\n className=\"ml-5 btn btn-primary col-sm-12 col-md-2\" \r\n onClick={() => history.push('/')}\r\n >\r\n Página Inicial\r\n </button>\r\n </div>\r\n \r\n </article>\r\n <Footer/>\r\n </section>\r\n );\r\n}","C:\\Users\\55219\\Desktop\\Aplications\\helpper-webaapp\\src\\pages\\Edit\\index.js",["91","92","93","94","95","96","97"],"import React, { useState, Fragment, useEffect } from 'react';\r\nimport { Stepper, Step } from 'react-form-stepper';\r\nimport { FaPencilAlt, FaRegTrashAlt, FaPlus } from 'react-icons/fa';\r\n\r\nimport Footer from '../../components/Footer';\r\nimport Header from '../../components/Header';\r\nimport Loader from '../../components/Loader';\r\n\r\nimport {isEmpty, Notifications, phoneMask, cnpjMask, cepMask, dataNumberDB, cnpfCnpjMask } from '../../helpers';\r\n\r\nimport API from '../../services/api';\r\nimport viaCep from '../../services/viaCep';\r\n\r\nimport './style.css';\r\n\r\nexport default function Edit({ history, match }){\r\n const [loading, setLoading] = useState(true);\r\n const [activeStep, setActiveStep] = useState(0);\r\n const [field, setField] = useState({\r\n name: '',\r\n email: '',\r\n phone: '',\r\n cpf_cnpj: '',\r\n address: {\r\n zip_code: '',\r\n street: '',\r\n number: '',\r\n city: '',\r\n state: '',\r\n neighborhood: '',\r\n complement: '',\r\n }\r\n });\r\n\r\n useEffect(() => {\r\n loadClient();\r\n setTimeout(() => setLoading(false), 100)\r\n }, []);\r\n\r\n async function loadClient(){\r\n try {\r\n const { data } = await API.get(`/clients/${match.params.id}`);\r\n \r\n data.phone = phoneMask(String(data.phone));\r\n data.cpf_cnpj = cnpfCnpjMask(String(data.cpf_cnpj));\r\n data.address.zip_code = cepMask(String(data.address.zip_code));\r\n \r\n \r\n setField({\r\n ...field,\r\n name: data.name,\r\n email: data.email,\r\n phone: data.phone,\r\n cpf_cnpj: data.cpf_cnpj,\r\n address: {\r\n ...field.address,\r\n ...data.address\r\n }\r\n });\r\n\r\n } catch(error){\r\n Notifications('error', error.response.data.error);\r\n setLoading(false);\r\n } \r\n }\r\n\r\n async function handleSubmit(){\r\n \r\n setLoading(true);\r\n\r\n // Verificando Campos Obrigatórios\r\n if(isEmpty(field) || isEmpty({ ...field.address, complement: '*' })){\r\n Notifications('error', 'Por favor, preencha todos os campos!');\r\n setLoading(false)\r\n } else {\r\n // Removed Characteres Especiais\r\n const data = { ...field };\r\n\r\n data.cpf_cnpj = Number(data.cpf_cnpj.replace(/[^0-9]/g, ''));\r\n data.phone = Number(data.phone.replace(/[^0-9]/g, ''));\r\n data.address.zip_code = Number(data.address.zip_code.replace(/[^0-9]/g, ''));\r\n data.address.number = Number(data.address.number);\r\n\r\n try {\r\n await API.put(`/clients/${match.params.id}`, data);\r\n Notifications('success', 'Cliente Editado com Sucesso!');\r\n setTimeout(() => history.push('/'), 1000); \r\n \r\n } catch(error){\r\n Notifications('error', error.response.data.error);\r\n setLoading(false);\r\n } \r\n }\r\n }\r\n\r\n if(loading) return <Loader />\r\n\r\n return(\r\n <section>\r\n <Header />\r\n <article className=\"register-form\">\r\n <Stepper activeStep={activeStep}>\r\n <Step label=\"Dados Pessoais\" />\r\n <Step label=\"Endereço\" />\r\n </Stepper>\r\n {/* GERAL ESCRITÓRIO ADVOCACIA */}\r\n <div className=\"mt-5 w-100 form-group row\" style={(activeStep !== 0) ? {display: 'none'} : {}}>\r\n <div className=\"col-sm-12 col-md-4 mb-3\">\r\n <input className=\"form-control\" type=\"text\" placeholder=\"Nome\" name=\"name\" value={field.name} onChange={e => setField({ ...field, name: e.target.value })} outline autoComplete=\"new-password\"/>\r\n </div>\r\n <div className=\"col-sm-12 col-md-4 mb-3\">\r\n <input className=\"form-control\" type=\"email\" placeholder=\"E-mail\" name=\"email\" value={field.email} onChange={e => setField({ ...field, email: e.target.value })} outline autoComplete=\"new-password\"/>\r\n </div>\r\n <div className=\"col-sm-12 col-md-4 mb-3\">\r\n <input className=\"form-control\" type=\"text\" placeholder=\"CPF/CNPJ\" name=\"cpf_cnpj\" value={field.cpf_cnpj} onChange={e => setField({ ...field, cpf_cnpj: cnpfCnpjMask(e.target.value) })} outline autoComplete=\"new-password\" maxLength={18}/>\r\n </div>\r\n <div className=\"col-sm-12 col-md-4 mb-3\">\r\n <input className=\"form-control\" type=\"tel\" placeholder=\"Telefone\" name=\"phone\" value={field.phone} onChange={e => setField({ ...field, phone: phoneMask(e.target.value) })} outline autoComplete=\"new-password\" maxLength={15} />\r\n </div> \r\n </div>\r\n\r\n {/* ENDERECO */}\r\n <div className=\"mt-5 w-100 form-group row\" style={(activeStep !== 1) ? {display: 'none'} : {}}>\r\n <div className=\"col-sm-12 col-md-4 mb-3\">\r\n <input className=\"form-control\" type=\"text\" placeholder=\"CEP\" name=\"address[zip_code]\" value={field.address.zip_code} onBlur={valor => viaCep(valor, setField, field)} onChange={e => setField({ ...field, address: { ...field.address, zip_code: cepMask(e.target.value)}})} outline autoComplete=\"new-password\"/>\r\n </div>\r\n <div className=\"col-sm-12 col-md-4 mb-3\">\r\n <input className=\"form-control\" type=\"text\" placeholder=\"Rua/Logradouro\" value={field.address.street} onChange={e => setField({ ...field, address: { ...field.address, street: e.target.value}})} name=\"address[street]\" outline autoComplete=\"new-password\"/>\r\n </div>\r\n <div className=\" col-sm-12 col-md-4 mb-3\">\r\n <input className=\"form-control\" type=\"text\" placeholder=\"Bairro\" value={field.address.neighborhood} onChange={e => setField({ ...field, address: { ...field.address, neighborhood: e.target.value}})} name=\"address[neighborhood]\" outline autoComplete=\"new-password\"/>\r\n </div>\r\n <div className=\"col-sm-12 col-md-4 mb-3\">\r\n <input className=\"form-control\" type=\"text\" placeholder=\"Cidade\" value={field.address.city} onChange={e => setField({ ...field, address: { ...field.address, city: e.target.value}})} name=\"address[city]\" outline autoComplete=\"new-password\"/>\r\n </div>\r\n <div className=\"col-sm-12 col-md-4 mb-3\">\r\n <input className=\"form-control\" type=\"text\" placeholder=\"Estado\" value={field.address.state} onChange={e => setField({ ...field, address: { ...field.address, state: e.target.value}})} name=\"address[state]\" outline autoComplete=\"new-password\"/>\r\n </div>\r\n <div className=\"col-sm-12 col-md-4 mb-3\">\r\n <input className=\"form-control\" type=\"number\" placeholder=\"Numero\" name=\"address[number]\" value={field.address.number} onChange={e => setField({ ...field, address: { ...field.address, number: e.target.value}})} outline autoComplete=\"new-password\"/>\r\n </div>\r\n <div className=\"col-sm-12 col-md-4 mb-3\">\r\n <input className=\"form-control\" type=\"text\" placeholder=\"Complemento\" name=\"address[complement]\" value={field.address.complement} onChange={e => setField({ ...field, address: { ...field.address, complement: e.target.value}})} outline autoComplete=\"new-password\"/>\r\n </div>\r\n </div>\r\n <div className=\"form-group row d-flex justify-content-center mt-5\" >\r\n <button \r\n style={(activeStep <= 0) ? {display: 'none'} : {} } \r\n type=\"button\" \r\n className=\"btn btn-blue-grey btn-light-blue col-sm-12 col-md-2\" \r\n onClick={() => {\r\n if(activeStep !== 0){\r\n setActiveStep(activeStep - 1)\r\n }\r\n }}\r\n >\r\n Anterior\r\n </button>\r\n <button \r\n type=\"button\" \r\n className=\"ml-5 btn btn-prox col-sm-12 col-md-2\" \r\n onClick={() => {\r\n if(activeStep !== 1){\r\n setActiveStep(activeStep + 1)\r\n } else {\r\n // Validar e enviar\r\n console.log('teste')\r\n handleSubmit();\r\n }\r\n }}\r\n >\r\n {(activeStep < 1) ? 'Próximo' : 'Salvar'}\r\n </button>\r\n </div>\r\n </article>\r\n <Footer/>\r\n </section>\r\n );\r\n}",{"ruleId":"98","replacedBy":"99"},{"ruleId":"100","replacedBy":"101"},{"ruleId":"102","severity":1,"message":"103","line":9,"column":9,"nodeType":"104","messageId":"105","endLine":9,"endColumn":16},{"ruleId":"102","severity":1,"message":"106","line":9,"column":44,"nodeType":"104","messageId":"105","endLine":9,"endColumn":52},{"ruleId":"102","severity":1,"message":"107","line":9,"column":54,"nodeType":"104","messageId":"105","endLine":9,"endColumn":61},{"ruleId":"102","severity":1,"message":"108","line":9,"column":63,"nodeType":"104","messageId":"105","endLine":9,"endColumn":75},{"ruleId":"102","severity":1,"message":"109","line":9,"column":77,"nodeType":"104","messageId":"105","endLine":9,"endColumn":89},{"ruleId":"102","severity":1,"message":"110","line":20,"column":22,"nodeType":"104","messageId":"105","endLine":20,"endColumn":32},{"ruleId":"102","severity":1,"message":"111","line":76,"column":20,"nodeType":"104","messageId":"105","endLine":76,"endColumn":29},{"ruleId":"102","severity":1,"message":"112","line":90,"column":26,"nodeType":"104","messageId":"105","endLine":90,"endColumn":41},{"ruleId":"113","severity":1,"message":"114","line":9,"column":9,"nodeType":"115","endLine":9,"endColumn":60},{"ruleId":"102","severity":1,"message":"116","line":1,"column":27,"nodeType":"104","messageId":"105","endLine":1,"endColumn":35},{"ruleId":"102","severity":1,"message":"117","line":3,"column":10,"nodeType":"104","messageId":"105","endLine":3,"endColumn":21},{"ruleId":"102","severity":1,"message":"118","line":3,"column":23,"nodeType":"104","messageId":"105","endLine":3,"endColumn":36},{"ruleId":"102","severity":1,"message":"119","line":3,"column":38,"nodeType":"104","messageId":"105","endLine":3,"endColumn":44},{"ruleId":"102","severity":1,"message":"106","line":9,"column":44,"nodeType":"104","messageId":"105","endLine":9,"endColumn":52},{"ruleId":"102","severity":1,"message":"108","line":9,"column":63,"nodeType":"104","messageId":"105","endLine":9,"endColumn":75},{"ruleId":"102","severity":1,"message":"120","line":1,"column":8,"nodeType":"104","messageId":"105","endLine":1,"endColumn":13},{"ruleId":"102","severity":1,"message":"121","line":1,"column":17,"nodeType":"104","messageId":"105","endLine":1,"endColumn":25},{"ruleId":"122","severity":1,"message":"123","line":7,"column":22,"nodeType":"124","messageId":"125","endLine":7,"endColumn":24},{"ruleId":"122","severity":1,"message":"123","line":7,"column":41,"nodeType":"124","messageId":"125","endLine":7,"endColumn":43},{"ruleId":"122","severity":1,"message":"123","line":7,"column":60,"nodeType":"124","messageId":"125","endLine":7,"endColumn":62},{"ruleId":"98","replacedBy":"126"},{"ruleId":"100","replacedBy":"127"},{"ruleId":"102","severity":1,"message":"116","line":1,"column":27,"nodeType":"104","messageId":"105","endLine":1,"endColumn":35},{"ruleId":"102","severity":1,"message":"117","line":3,"column":10,"nodeType":"104","messageId":"105","endLine":3,"endColumn":21},{"ruleId":"102","severity":1,"message":"118","line":3,"column":23,"nodeType":"104","messageId":"105","endLine":3,"endColumn":36},{"ruleId":"102","severity":1,"message":"119","line":3,"column":38,"nodeType":"104","messageId":"105","endLine":3,"endColumn":44},{"ruleId":"128","severity":1,"message":"129","line":37,"column":8,"nodeType":"130","endLine":37,"endColumn":10,"suggestions":"131"},{"ruleId":"102","severity":1,"message":"116","line":1,"column":27,"nodeType":"104","messageId":"105","endLine":1,"endColumn":35},{"ruleId":"102","severity":1,"message":"117","line":3,"column":10,"nodeType":"104","messageId":"105","endLine":3,"endColumn":21},{"ruleId":"102","severity":1,"message":"118","line":3,"column":23,"nodeType":"104","messageId":"105","endLine":3,"endColumn":36},{"ruleId":"102","severity":1,"message":"119","line":3,"column":38,"nodeType":"104","messageId":"105","endLine":3,"endColumn":44},{"ruleId":"102","severity":1,"message":"106","line":9,"column":44,"nodeType":"104","messageId":"105","endLine":9,"endColumn":52},{"ruleId":"102","severity":1,"message":"108","line":9,"column":63,"nodeType":"104","messageId":"105","endLine":9,"endColumn":75},{"ruleId":"128","severity":1,"message":"129","line":38,"column":8,"nodeType":"130","endLine":38,"endColumn":10,"suggestions":"132"},"no-native-reassign",["133"],"no-negated-in-lhs",["134"],"no-unused-vars","'isEmpty' is defined but never used.","Identifier","unusedVar","'cnpjMask' is defined but never used.","'cepMask' is defined but never used.","'dataNumberDB' is defined but never used.","'cnpfCnpjMask' is defined but never used.","'setColumns' is assigned a value but never used.","'setConfig' is assigned a value but never used.","'setExtraButtons' is assigned a value but never used.","jsx-a11y/alt-text","img elements must have an alt prop, either with meaningful text, or an empty string for decorative images.","JSXOpeningElement","'Fragment' is defined but never used.","'FaPencilAlt' is defined but never used.","'FaRegTrashAlt' is defined but never used.","'FaPlus' is defined but never used.","'React' is defined but never used.","'useState' is defined but never used.","eqeqeq","Expected '===' and instead saw '=='.","BinaryExpression","unexpected",["133"],["134"],"react-hooks/exhaustive-deps","React Hook useEffect has a missing dependency: 'loadClient'. Either include it or remove the dependency array.","ArrayExpression",["135"],["136"],"no-global-assign","no-unsafe-negation",{"desc":"137","fix":"138"},{"desc":"137","fix":"139"},"Update the dependencies array to be: [loadClient]",{"range":"140","text":"141"},{"range":"142","text":"141"},[1097,1099],"[loadClient]",[1168,1170]]