forked from Priovax/priovax
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.eslintcache
1 lines (1 loc) · 26 KB
/
.eslintcache
1
[{"C:\\Users\\brade\\Documents\\Projects\\priovax\\src\\reportWebVitals.js":"1","C:\\Users\\brade\\Documents\\Projects\\priovax\\src\\index.js":"2","C:\\Users\\brade\\Documents\\Projects\\priovax\\src\\components\\App.js":"3","C:\\Users\\brade\\Documents\\Projects\\priovax\\src\\components\\Signup.jsx":"4","C:\\Users\\brade\\Documents\\Projects\\priovax\\src\\firebase.js":"5","C:\\Users\\brade\\Documents\\Projects\\priovax\\src\\contexts\\AuthContext.js":"6","C:\\Users\\brade\\Documents\\Projects\\priovax\\src\\components\\Login.jsx":"7","C:\\Users\\brade\\Documents\\Projects\\priovax\\src\\components\\Dashboard.jsx":"8","C:\\Users\\brade\\Documents\\Projects\\priovax\\src\\components\\PrivateRoute.jsx":"9","C:\\Users\\brade\\Documents\\Projects\\priovax\\src\\components\\CsvReader.jsx":"10","C:\\Users\\brade\\Documents\\Projects\\priovax\\src\\components\\Navbar.jsx":"11","C:\\Users\\brade\\Documents\\Projects\\priovax\\src\\components\\CsvModal.jsx":"12","C:\\Users\\brade\\Documents\\Projects\\priovax\\src\\components\\PatientModal.jsx":"13","C:\\Users\\brade\\Documents\\Projects\\priovax\\src\\components\\Conditions.jsx":"14","C:\\Users\\brade\\Documents\\Projects\\priovax\\src\\contexts\\StoreContext.js":"15","C:\\Users\\brade\\Documents\\Projects\\priovax\\src\\contexts\\CloudContext.js":"16","C:\\Users\\brade\\Documents\\Projects\\priovax\\src\\components\\Admin.jsx":"17"},{"size":362,"mtime":1609535523836,"results":"18","hashOfConfig":"19"},{"size":536,"mtime":1610779695642,"results":"20","hashOfConfig":"19"},{"size":1481,"mtime":1610868833795,"results":"21","hashOfConfig":"19"},{"size":2260,"mtime":1610834728940,"results":"22","hashOfConfig":"19"},{"size":567,"mtime":1610847847755,"results":"23","hashOfConfig":"19"},{"size":1362,"mtime":1610776537685,"results":"24","hashOfConfig":"19"},{"size":1980,"mtime":1610834671229,"results":"25","hashOfConfig":"19"},{"size":4235,"mtime":1610878013609,"results":"26","hashOfConfig":"19"},{"size":482,"mtime":1610789174836,"results":"27","hashOfConfig":"19"},{"size":551,"mtime":1610834087216,"results":"28","hashOfConfig":"19"},{"size":5527,"mtime":1610883316598,"results":"29","hashOfConfig":"19"},{"size":2430,"mtime":1610834181556,"results":"30","hashOfConfig":"19"},{"size":6630,"mtime":1610837225683,"results":"31","hashOfConfig":"19"},{"size":2029,"mtime":1610826124224,"results":"32","hashOfConfig":"19"},{"size":1372,"mtime":1610832527336,"results":"33","hashOfConfig":"19"},{"size":590,"mtime":1610871384856,"results":"34","hashOfConfig":"19"},{"size":1412,"mtime":1610874938150,"results":"35","hashOfConfig":"19"},{"filePath":"36","messages":"37","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"38"},"inxyf9",{"filePath":"39","messages":"40","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"41"},{"filePath":"42","messages":"43","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"44"},{"filePath":"45","messages":"46","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"47","messages":"48","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"49","messages":"50","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"51","messages":"52","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"53","messages":"54","errorCount":0,"warningCount":5,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"55","messages":"56","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"57","messages":"58","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"59"},{"filePath":"60","messages":"61","errorCount":0,"warningCount":9,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"62","messages":"63","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"64"},{"filePath":"65","messages":"66","errorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":"67"},{"filePath":"68","messages":"69","errorCount":0,"warningCount":5,"fixableErrorCount":0,"fixableWarningCount":0,"source":"70"},{"filePath":"71","messages":"72","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"73","messages":"74","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"75","messages":"76","errorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},"C:\\Users\\brade\\Documents\\Projects\\priovax\\src\\reportWebVitals.js",[],["77","78"],"C:\\Users\\brade\\Documents\\Projects\\priovax\\src\\index.js",[],["79","80"],"C:\\Users\\brade\\Documents\\Projects\\priovax\\src\\components\\App.js",["81"],"import Signup from \"./Signup\";\nimport Dashboard from \"./Dashboard\";\nimport Login from \"./Login\";\nimport { AuthProvider } from \"../contexts/AuthContext\";\nimport { StoreProvider } from \"../contexts/StoreContext\";\nimport { CloudProvider } from \"../contexts/CloudContext\";\nimport Container from \"@material-ui/core/Container\";\nimport { BrowserRouter as Router, Switch, Route, Link } from \"react-router-dom\";\nimport PrivateRoute from \"./PrivateRoute\";\nimport Navbar from \"./Navbar\";\nimport Admin from \"./Admin\";\n\nimport { styled } from \"@material-ui/core/styles\";\n\nconst PageWrapper = styled(Container)({\n paddingTop: \"2rem\",\n});\n\nfunction App() {\n return (\n <div className=\"App\">\n <AuthProvider>\n <StoreProvider>\n <CloudProvider>\n <Router>\n <Navbar />\n <PageWrapper>\n <Switch>\n <PrivateRoute exact path=\"/\" component={Dashboard} />\n <PrivateRoute path=\"/admin\" component={Admin} />\n\n {/* <PrivateRoute path=\"/update-profile\" component={UpdateProfile} /> */}\n <Route path=\"/signup\" component={Signup} />\n <Route path=\"/login\" component={Login} />\n {/* <Route path=\"/forgot-password\" component={ForgotPassword} /> */}\n </Switch>\n </PageWrapper>\n </Router>\n </CloudProvider>\n </StoreProvider>\n </AuthProvider>\n </div>\n );\n}\n\nexport default App;\n","C:\\Users\\brade\\Documents\\Projects\\priovax\\src\\components\\Signup.jsx",[],"C:\\Users\\brade\\Documents\\Projects\\priovax\\src\\firebase.js",[],"C:\\Users\\brade\\Documents\\Projects\\priovax\\src\\contexts\\AuthContext.js",[],"C:\\Users\\brade\\Documents\\Projects\\priovax\\src\\components\\Login.jsx",[],"C:\\Users\\brade\\Documents\\Projects\\priovax\\src\\components\\Dashboard.jsx",["82","83","84","85","86"],"C:\\Users\\brade\\Documents\\Projects\\priovax\\src\\components\\PrivateRoute.jsx",[],"C:\\Users\\brade\\Documents\\Projects\\priovax\\src\\components\\CsvReader.jsx",["87"],"import React, { useState } from \"react\";\r\nimport { CSVReader } from \"react-papaparse\";\r\n\r\nexport default function CsvReader(props) {\r\n const handleOnError = (err, file, inputElem, reason) => {\r\n console.log(err);\r\n };\r\n\r\n return (\r\n <>\r\n <CSVReader\r\n onDrop={props.handleOnDrop}\r\n onError={handleOnError}\r\n addRemoveButton\r\n onRemoveFile={props.handleOnRemoveFile}\r\n config={{ header: true }}\r\n >\r\n <span>Drop CSV file here or click to upload.</span>\r\n </CSVReader>\r\n </>\r\n );\r\n}\r\n","C:\\Users\\brade\\Documents\\Projects\\priovax\\src\\components\\Navbar.jsx",["88","89","90","91","92","93","94","95","96"],"C:\\Users\\brade\\Documents\\Projects\\priovax\\src\\components\\CsvModal.jsx",["97"],"import React, { useState } from \"react\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport Dialog from \"@material-ui/core/Dialog\";\r\nimport DialogActions from \"@material-ui/core/DialogActions\";\r\nimport DialogContent from \"@material-ui/core/DialogContent\";\r\nimport DialogContentText from \"@material-ui/core/DialogContentText\";\r\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\r\nimport CsvReader from \"./CsvReader\";\r\nimport { styled } from \"@material-ui/core/styles\";\r\nimport { useStore } from \"../contexts/StoreContext\";\r\n\r\nconst CustomContent = styled(DialogContent)({\r\n overflowY: \"unset\",\r\n});\r\n\r\nexport default function FormDialog(props) {\r\n const [open, setOpen] = React.useState(false);\r\n\r\n const handleClickOpen = () => {\r\n setOpen(true);\r\n };\r\n\r\n const handleClose = () => {\r\n setOpen(false);\r\n };\r\n\r\n const { batchPatients } = useStore();\r\n\r\n const [patients, setPatients] = useState([]);\r\n\r\n const handleOnDrop = data => {\r\n setPatients(data.map(record => record.data));\r\n };\r\n\r\n const handleSubmit = () => {\r\n batchPatients(patients)\r\n .then(() => {\r\n setPatients([]);\r\n handleClose();\r\n })\r\n .catch(err => console.log(err));\r\n };\r\n const handleOnRemoveFile = data => {\r\n setPatients([]);\r\n };\r\n\r\n return (\r\n <div>\r\n <Button variant=\"outlined\" color=\"primary\" onClick={handleClickOpen}>\r\n Upload CSV\r\n </Button>\r\n <Dialog\r\n open={open}\r\n onClose={handleClose}\r\n aria-labelledby=\"form-dialog-title\"\r\n >\r\n <DialogTitle id=\"form-dialog-title\">Upload Patient Data</DialogTitle>\r\n <CustomContent>\r\n <DialogContentText>\r\n Upload your patient data via csv below. Please follow the format ID,\r\n Firstname, Lastname, Age, Conditions...\r\n </DialogContentText>\r\n <CsvReader\r\n handleOnDrop={handleOnDrop}\r\n handleOnRemoveFile={handleOnRemoveFile}\r\n ></CsvReader>\r\n </CustomContent>\r\n <DialogActions>\r\n <Button onClick={handleClose} color=\"primary\">\r\n Cancel\r\n </Button>\r\n <Button\r\n onClick={handleSubmit}\r\n color=\"primary\"\r\n disabled={patients.length <= 0}\r\n >\r\n Submit\r\n </Button>\r\n </DialogActions>\r\n </Dialog>\r\n </div>\r\n );\r\n}\r\n","C:\\Users\\brade\\Documents\\Projects\\priovax\\src\\components\\PatientModal.jsx",["98","99","100","101","102","103"],"import React from \"react\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport Dialog from \"@material-ui/core/Dialog\";\r\nimport DialogActions from \"@material-ui/core/DialogActions\";\r\nimport DialogContent from \"@material-ui/core/DialogContent\";\r\nimport DialogContentText from \"@material-ui/core/DialogContentText\";\r\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\r\nimport { styled } from \"@material-ui/core/styles\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport ListItemIcon from \"@material-ui/core/ListItemIcon\";\r\nimport Checkbox from \"@material-ui/core/Checkbox\";\r\nimport List from \"@material-ui/core/List\";\r\nimport ListItem from \"@material-ui/core/List\";\r\nimport ListItemText from \"@material-ui/core/ListItemText\";\r\nimport Conditions from \"./Conditions\";\r\nimport FormControl from \"@material-ui/core/FormControl\";\r\nimport InputLabel from \"@material-ui/core/InputLabel\";\r\nimport Select from \"@material-ui/core/Select\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport { useStore } from \"../contexts/StoreContext\";\r\n\r\nconst CustomContent = styled(DialogContent)({\r\n overflowY: \"unset\",\r\n});\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n root: {\r\n display: \"flex\",\r\n flexWrap: \"wrap\",\r\n },\r\n textField: {\r\n width: \"25ch\",\r\n marginRight: theme.spacing(1),\r\n marginTop: 0,\r\n },\r\n ageField: {\r\n width: \"10ch\",\r\n },\r\n inputWrapper: {\r\n display: \"flex\",\r\n alignItems: \"end\",\r\n },\r\n formControl: {\r\n margin: theme.spacing(1),\r\n marginTop: theme.spacing(1),\r\n minWidth: 120,\r\n },\r\n}));\r\n\r\nconst conditions = [\r\n \"diabetes\",\r\n \"neuro\",\r\n \"hypertension\",\r\n \"cancer\",\r\n \"ortho\",\r\n \"respiratory\",\r\n \"cardiacs\",\r\n \"kidney\",\r\n \"blood\",\r\n \"prostate\",\r\n \"thyroid\",\r\n];\r\n\r\nexport default function FormDialog(props) {\r\n const classes = useStyles();\r\n const [open, setOpen] = React.useState(false);\r\n const { addPatient } = useStore();\r\n\r\n const handleClickOpen = () => {\r\n setOpen(true);\r\n };\r\n\r\n const handleClose = () => {\r\n setOpen(false);\r\n };\r\n\r\n const [firstName, setFirstName] = React.useState(\"\");\r\n const [lastName, setLastName] = React.useState(\"\");\r\n const [phoneNumber, setPhoneNumber] = React.useState(\"\");\r\n const [age, setAge] = React.useState(\"\");\r\n const [gender, setGender] = React.useState(\"\");\r\n\r\n const [checked, setChecked] = React.useState([]);\r\n\r\n const handleToggle = value => () => {\r\n const currentIndex = checked.indexOf(value);\r\n const newChecked = [...checked];\r\n\r\n if (currentIndex === -1) {\r\n newChecked.push(value);\r\n } else {\r\n newChecked.splice(currentIndex, 1);\r\n }\r\n\r\n setChecked(newChecked);\r\n };\r\n\r\n const handleSubmit = () => {\r\n const conditions = {};\r\n checked.forEach(function (v) {\r\n conditions[v] = 1;\r\n });\r\n addPatient({\r\n priority: null,\r\n first_name: firstName,\r\n last_name: lastName,\r\n phone_number: phoneNumber,\r\n age: age,\r\n gender_binary: gender,\r\n blood: 0,\r\n cancer: 0,\r\n cardiacs: 0,\r\n diabetes: 0,\r\n hypertension: 0,\r\n kidney: 0,\r\n neuro: 0,\r\n ortho: 0,\r\n prostate: 0,\r\n respiratory: 0,\r\n thyroid: 0,\r\n ...conditions,\r\n })\r\n .then(() => {\r\n setFirstName(\"\");\r\n setLastName(\"\");\r\n setPhoneNumber(\"\");\r\n setAge(\"\");\r\n setGender(\"\");\r\n setChecked([]);\r\n handleClose();\r\n })\r\n .catch(err => console.log(err));\r\n };\r\n\r\n return (\r\n <div>\r\n <Button\r\n variant=\"contained\"\r\n color=\"primary\"\r\n className=\"mr-2\"\r\n onClick={handleClickOpen}\r\n >\r\n Create Patient\r\n </Button>\r\n <Dialog\r\n open={open}\r\n onClose={handleClose}\r\n aria-labelledby=\"form-dialog-title\"\r\n >\r\n <DialogTitle id=\"form-dialog-title\">Create new patient</DialogTitle>\r\n <CustomContent>\r\n <DialogContentText>\r\n Register a new patient with first name, last name and any\r\n pre-existing conditions\r\n </DialogContentText>\r\n\r\n <form noValidate autoComplete=\"off\">\r\n <div className={classes.inputWrapper}>\r\n <TextField\r\n id=\"standard-basic\"\r\n label=\"First Name\"\r\n margin=\"normal\"\r\n className={classes.textField}\r\n value={firstName}\r\n onChange={e => setFirstName(e.target.value)}\r\n />\r\n <TextField\r\n id=\"standard-basic\"\r\n label=\"Last Name\"\r\n margin=\"normal\"\r\n className={classes.textField}\r\n value={lastName}\r\n onChange={e => setLastName(e.target.value)}\r\n />\r\n </div>\r\n <div className={classes.inputWrapper}>\r\n <TextField\r\n id=\"standard-basic\"\r\n label=\"Phone Number\"\r\n margin=\"normal\"\r\n className={classes.textField}\r\n value={phoneNumber}\r\n onChange={e => setPhoneNumber(e.target.value)}\r\n />\r\n <TextField\r\n id=\"standard-basic\"\r\n label=\"Age\"\r\n margin=\"normal\"\r\n type=\"number\"\r\n className={classes.ageField}\r\n value={age}\r\n onChange={e => setAge(parseInt(e.target.value))}\r\n />\r\n <FormControl className={classes.formControl}>\r\n <InputLabel id=\"demo-simple-select-label\">Gender</InputLabel>\r\n <Select\r\n labelId=\"demo-simple-select-label\"\r\n id=\"demo-simple-select\"\r\n value={gender}\r\n onChange={e => setGender(e.target.value)}\r\n className={classes.ageField}\r\n >\r\n <MenuItem value={0}>Male</MenuItem>\r\n <MenuItem value={1}>Female</MenuItem>\r\n </Select>\r\n </FormControl>\r\n </div>\r\n <Conditions\r\n items={conditions}\r\n handleToggle={handleToggle}\r\n checked={checked}\r\n ></Conditions>\r\n </form>\r\n </CustomContent>\r\n <DialogActions>\r\n <Button onClick={handleClose} color=\"primary\">\r\n Cancel\r\n </Button>\r\n <Button onClick={handleClose} color=\"primary\" onClick={handleSubmit}>\r\n Submit\r\n </Button>\r\n </DialogActions>\r\n </Dialog>\r\n </div>\r\n );\r\n}\r\n","C:\\Users\\brade\\Documents\\Projects\\priovax\\src\\components\\Conditions.jsx",["104","105","106","107","108"],"import React, { useEffect } from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport List from \"@material-ui/core/List\";\r\nimport ListItem from \"@material-ui/core/ListItem\";\r\nimport ListItemIcon from \"@material-ui/core/ListItemIcon\";\r\nimport ListItemSecondaryAction from \"@material-ui/core/ListItemSecondaryAction\";\r\nimport ListItemText from \"@material-ui/core/ListItemText\";\r\nimport Checkbox from \"@material-ui/core/Checkbox\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport CommentIcon from \"@material-ui/icons/Comment\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport ListSubheader from \"@material-ui/core/ListSubheader\";\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n root: {\r\n width: \"100%\",\r\n marginTop: theme.spacing(2),\r\n maxHeight: 400,\r\n overflowY: \"scroll\",\r\n backgroundColor: theme.palette.background.paper,\r\n },\r\n}));\r\n\r\nexport default function CheckboxList({ items, checked, handleToggle }) {\r\n const classes = useStyles();\r\n\r\n return (\r\n <>\r\n <List\r\n className={classes.root}\r\n subheader={\r\n <ListSubheader component=\"div\" id=\"nested-list-subheader\">\r\n Pre-existing Conditions{\" \"}\r\n </ListSubheader>\r\n }\r\n >\r\n {items.map(value => {\r\n const labelId = `checkbox-list-label-${value}`;\r\n\r\n return (\r\n <ListItem\r\n key={value}\r\n role={undefined}\r\n dense\r\n button\r\n onClick={handleToggle(value)}\r\n >\r\n <ListItemIcon>\r\n <Checkbox\r\n edge=\"start\"\r\n checked={checked.indexOf(value) !== -1}\r\n tabIndex={-1}\r\n disableRipple\r\n inputProps={{ \"aria-labelledby\": labelId }}\r\n />\r\n </ListItemIcon>\r\n <ListItemText id={labelId} primary={value} />\r\n </ListItem>\r\n );\r\n })}\r\n </List>\r\n </>\r\n );\r\n}\r\n","C:\\Users\\brade\\Documents\\Projects\\priovax\\src\\contexts\\StoreContext.js",["109","110"],"C:\\Users\\brade\\Documents\\Projects\\priovax\\src\\contexts\\CloudContext.js",[],"C:\\Users\\brade\\Documents\\Projects\\priovax\\src\\components\\Admin.jsx",["111","112","113","114"],{"ruleId":"115","replacedBy":"116"},{"ruleId":"117","replacedBy":"118"},{"ruleId":"115","replacedBy":"119"},{"ruleId":"117","replacedBy":"120"},{"ruleId":"121","severity":1,"message":"122","line":8,"column":50,"nodeType":"123","messageId":"124","endLine":8,"endColumn":54},{"ruleId":"121","severity":1,"message":"122","line":7,"column":10,"nodeType":"123","messageId":"124","endLine":7,"endColumn":14},{"ruleId":"121","severity":1,"message":"125","line":7,"column":16,"nodeType":"123","messageId":"124","endLine":7,"endColumn":26},{"ruleId":"121","severity":1,"message":"126","line":40,"column":10,"nodeType":"123","messageId":"124","endLine":40,"endColumn":15},{"ruleId":"121","severity":1,"message":"127","line":40,"column":17,"nodeType":"123","messageId":"124","endLine":40,"endColumn":25},{"ruleId":"128","severity":1,"message":"129","line":55,"column":6,"nodeType":"130","endLine":55,"endColumn":8,"suggestions":"131"},{"ruleId":"121","severity":1,"message":"132","line":1,"column":17,"nodeType":"123","messageId":"124","endLine":1,"endColumn":25},{"ruleId":"121","severity":1,"message":"122","line":2,"column":10,"nodeType":"123","messageId":"124","endLine":2,"endColumn":14},{"ruleId":"121","severity":1,"message":"133","line":3,"column":10,"nodeType":"123","messageId":"124","endLine":3,"endColumn":14},{"ruleId":"121","severity":1,"message":"134","line":8,"column":8,"nodeType":"123","messageId":"124","endLine":8,"endColumn":17},{"ruleId":"121","severity":1,"message":"135","line":9,"column":8,"nodeType":"123","messageId":"124","endLine":9,"endColumn":13},{"ruleId":"121","severity":1,"message":"136","line":12,"column":8,"nodeType":"123","messageId":"124","endLine":12,"endColumn":16},{"ruleId":"121","severity":1,"message":"137","line":13,"column":8,"nodeType":"123","messageId":"124","endLine":13,"endColumn":18},{"ruleId":"121","severity":1,"message":"138","line":15,"column":8,"nodeType":"123","messageId":"124","endLine":15,"endColumn":16},{"ruleId":"121","severity":1,"message":"139","line":16,"column":8,"nodeType":"123","messageId":"124","endLine":16,"endColumn":25},{"ruleId":"121","severity":1,"message":"126","line":50,"column":10,"nodeType":"123","messageId":"124","endLine":50,"endColumn":15},{"ruleId":"121","severity":1,"message":"140","line":3,"column":8,"nodeType":"123","messageId":"124","endLine":3,"endColumn":17},{"ruleId":"121","severity":1,"message":"141","line":11,"column":8,"nodeType":"123","messageId":"124","endLine":11,"endColumn":20},{"ruleId":"121","severity":1,"message":"142","line":12,"column":8,"nodeType":"123","messageId":"124","endLine":12,"endColumn":16},{"ruleId":"121","severity":1,"message":"143","line":13,"column":8,"nodeType":"123","messageId":"124","endLine":13,"endColumn":12},{"ruleId":"121","severity":1,"message":"144","line":14,"column":8,"nodeType":"123","messageId":"124","endLine":14,"endColumn":16},{"ruleId":"121","severity":1,"message":"145","line":15,"column":8,"nodeType":"123","messageId":"124","endLine":15,"endColumn":20},{"ruleId":"146","severity":1,"message":"147","line":220,"column":57,"nodeType":"148","endLine":220,"endColumn":79},{"ruleId":"121","severity":1,"message":"149","line":1,"column":17,"nodeType":"123","messageId":"124","endLine":1,"endColumn":26},{"ruleId":"121","severity":1,"message":"150","line":6,"column":8,"nodeType":"123","messageId":"124","endLine":6,"endColumn":31},{"ruleId":"121","severity":1,"message":"151","line":9,"column":8,"nodeType":"123","messageId":"124","endLine":9,"endColumn":18},{"ruleId":"121","severity":1,"message":"152","line":10,"column":8,"nodeType":"123","messageId":"124","endLine":10,"endColumn":19},{"ruleId":"121","severity":1,"message":"153","line":11,"column":8,"nodeType":"123","messageId":"124","endLine":11,"endColumn":18},{"ruleId":"121","severity":1,"message":"132","line":1,"column":29,"nodeType":"123","messageId":"124","endLine":1,"endColumn":37},{"ruleId":"121","severity":1,"message":"149","line":1,"column":39,"nodeType":"123","messageId":"124","endLine":1,"endColumn":48},{"ruleId":"121","severity":1,"message":"154","line":2,"column":10,"nodeType":"123","messageId":"124","endLine":2,"endColumn":14},{"ruleId":"121","severity":1,"message":"122","line":4,"column":10,"nodeType":"123","messageId":"124","endLine":4,"endColumn":14},{"ruleId":"121","severity":1,"message":"155","line":11,"column":10,"nodeType":"123","messageId":"124","endLine":11,"endColumn":17},{"ruleId":"121","severity":1,"message":"156","line":14,"column":18,"nodeType":"123","messageId":"124","endLine":14,"endColumn":30},"no-native-reassign",["157"],"no-negated-in-lhs",["158"],["157"],["158"],"no-unused-vars","'Link' is defined but never used.","Identifier","unusedVar","'useHistory' is defined but never used.","'error' is assigned a value but never used.","'setError' is assigned a value but never used.","react-hooks/exhaustive-deps","React Hook useEffect has a missing dependency: 'getPatients'. Either include it or remove the dependency array.","ArrayExpression",["159"],"'useState' is defined but never used.","'fade' is defined but never used.","'InputBase' is defined but never used.","'Badge' is defined but never used.","'MenuIcon' is defined but never used.","'SearchIcon' is defined but never used.","'MailIcon' is defined but never used.","'NotificationsIcon' is defined but never used.","'TextField' is defined but never used.","'ListItemIcon' is defined but never used.","'Checkbox' is defined but never used.","'List' is defined but never used.","'ListItem' is defined but never used.","'ListItemText' is defined but never used.","react/jsx-no-duplicate-props","No duplicate props allowed","JSXAttribute","'useEffect' is defined but never used.","'ListItemSecondaryAction' is defined but never used.","'IconButton' is defined but never used.","'CommentIcon' is defined but never used.","'Typography' is defined but never used.","'Form' is defined but never used.","'loading' is assigned a value but never used.","'handleSubmit' is defined but never used.","no-global-assign","no-unsafe-negation",{"desc":"160","fix":"161"},"Update the dependencies array to be: [getPatients]",{"range":"162","text":"163"},[2164,2166],"[getPatients]"]