-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.eslintcache
1 lines (1 loc) · 38.8 KB
/
.eslintcache
1
[{"/Users/christinapassafaro/Desktop/sei/projects/capstone_frontend/src/index.js":"1","/Users/christinapassafaro/Desktop/sei/projects/capstone_frontend/src/App.js":"2","/Users/christinapassafaro/Desktop/sei/projects/capstone_frontend/src/components/header.js":"3","/Users/christinapassafaro/Desktop/sei/projects/capstone_frontend/src/components/Header.js":"4","/Users/christinapassafaro/Desktop/sei/projects/capstone_frontend/src/components/SignIn.js":"5","/Users/christinapassafaro/Desktop/sei/projects/capstone_frontend/src/components/Register.js":"6","/Users/christinapassafaro/Desktop/sei/projects/capstone_frontend/src/largeComponents/Home.js":"7","/Users/christinapassafaro/Desktop/sei/projects/capstone_frontend/src/largeComponents/SearchRiver.js":"8","/Users/christinapassafaro/Desktop/sei/projects/capstone_frontend/src/largeComponents/RiverDetailsPage.js":"9","/Users/christinapassafaro/Desktop/sei/projects/capstone_frontend/src/largeComponents/Weather.js":"10","/Users/christinapassafaro/Desktop/sei/projects/capstone_frontend/src/largeComponents/Favorites.js":"11"},{"size":591,"mtime":1608238144105,"results":"12","hashOfConfig":"13"},{"size":2337,"mtime":1608241395711,"results":"14","hashOfConfig":"13"},{"size":351,"mtime":1607612556839,"results":"15","hashOfConfig":"13"},{"size":1763,"mtime":1608234338112,"results":"16","hashOfConfig":"13"},{"size":2590,"mtime":1608243229162,"results":"17","hashOfConfig":"13"},{"size":3049,"mtime":1608234920507,"results":"18","hashOfConfig":"13"},{"size":2791,"mtime":1608140744521,"results":"19","hashOfConfig":"13"},{"size":6195,"mtime":1608233962984,"results":"20","hashOfConfig":"13"},{"size":6270,"mtime":1608241013179,"results":"21","hashOfConfig":"13"},{"size":1821,"mtime":1608242947586,"results":"22","hashOfConfig":"13"},{"size":3078,"mtime":1608237402140,"results":"23","hashOfConfig":"13"},{"filePath":"24","messages":"25","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"26","usedDeprecatedRules":"27"},"158uxpx",{"filePath":"28","messages":"29","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"30","usedDeprecatedRules":"27"},{"filePath":"31","messages":"32","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"33","messages":"34","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"35","usedDeprecatedRules":"27"},{"filePath":"36","messages":"37","errorCount":0,"warningCount":5,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"38","messages":"39","errorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":"40","usedDeprecatedRules":"27"},{"filePath":"41","messages":"42","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"43","usedDeprecatedRules":"27"},{"filePath":"44","messages":"45","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"46","usedDeprecatedRules":"27"},{"filePath":"47","messages":"48","errorCount":0,"warningCount":7,"fixableErrorCount":0,"fixableWarningCount":0,"source":"49","usedDeprecatedRules":"27"},{"filePath":"50","messages":"51","errorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":"52","usedDeprecatedRules":"27"},{"filePath":"53","messages":"54","errorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":"55","usedDeprecatedRules":"27"},"/Users/christinapassafaro/Desktop/sei/projects/capstone_frontend/src/index.js",["56"],"import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport {\n BrowserRouter as Router\n} from \"react-router-dom\";\nimport DocumentTitle from 'react-document-title'\n\n\nReactDOM.render(\n // <DocumentTitle title='boater beta'>\n <Router>\n <App />\n </Router>\n // </DocumentTitle>\n ,\n document.getElementById('root')\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\n\n",["57","58"],"/Users/christinapassafaro/Desktop/sei/projects/capstone_frontend/src/App.js",["59"],"import React, { Component } from \"react\";\nimport axios from 'axios'\nimport './App.css';\nimport Header from './components/Header'\nimport SignIn from './components/SignIn'\nimport Home from './largeComponents/Home'\nimport Weather from './largeComponents/Weather'\nimport SearchRiver from './largeComponents/SearchRiver';\nimport RiverDetailsPage from './largeComponents/RiverDetailsPage'\nimport Register from './components/Register'\nimport Favorites from './largeComponents/Favorites'\nimport { CircularProgress } from \"@material-ui/core/\";\nimport { Route, Link} from \"react-router-dom\";\n\n\nclass App extends Component{\n constructor(){\n super();\n\n this.state = {\n isLoading:true,\n user: '',\n userWithoutWelcome: ''\n }\n }\n\n componentDidMount = () => {\n console.log('app-mounted')\n let token = localStorage.getItem('token');\n // console.log(token)\n axios({\n url:\"https://boatertalk.herokuapp.com/getUser\",\n method:\"GET\",\n headers: {\n authorization: `Bearer ${token}`\n },\n withCrendentials:true\n } ).then(res=>{\n console.log(res.data.username);\n let welcome = 'Welcome ' + res.data.username\n this.setState({user: welcome, userWithoutWelcome:res.data.username})\n })\n }\n\n componentDidUpdate (){\n console.log('app-update')\n }\n\n parentRefresh = (user) => {\n console.log('hello')\n let welcome =`Welcome ${user}`\n this.setState({user:welcome, userWithoutWelcome:user})\n }\n\n render(){\n console.log(this.state.user)\n return (<div>\n <nav>\n <Link exact to = \"/\"></Link>\n </nav>\n <main>\n <Header signInUser={this.state.user}/>\n <Route path=\"/signin\" render={(routerProps) => {\n return <SignIn {...routerProps} parentRefresh={this.parentRefresh}/>\n }}/>\n <Route path='/favorites' component={Favorites}/>\n <Route path='/register' component={Register}/>\n <Route exact path='/' component={Home}/>\n <Route path='/searchrivers' component={SearchRiver}/>\n <Route path='/riverdetails' render={(routerProps) => {\n return <RiverDetailsPage {...routerProps} user={this.state.userWithoutWelcome}/>\n }}/>\n <Route path='/weather' component={Weather}/>\n </main>\n </div>\n )\n }\n}\n\nexport default App;\n","/Users/christinapassafaro/Desktop/sei/projects/capstone_frontend/src/components/header.js",[],"/Users/christinapassafaro/Desktop/sei/projects/capstone_frontend/src/components/Header.js",["60","61","62"],"import React, { Component } from \"react\";\nimport axios from 'axios'\nimport \"./Header.css\";\nimport { Route, Link} from \"react-router-dom\";\n\n\nexport default class Header extends Component{\n constructor(){\n super();\n console.log(this.props)\n this.state = {\n user:'',\n }\n }\n componentDidMount = () => {\n console.log('header-mounted')\n let token = localStorage.getItem('token');\n // console.log(token)\n axios({\n url:\"https://boatertalk.herokuapp.com/getUser\",\n method:\"GET\",\n headers: {\n authorization: `Bearer ${token}`\n },\n withCrendentials:true\n } ).then(res=>{\n // console.log(res.data);\n // this.setState({user: res.data})\n this.welcomeUser(res.data)\n })\n }\n componentDidUpdate(props){\n console.log(this.props, this.state.user)\n if(this.state.user != this.props.signInUser){\n console.log('condition met')\n // let string = `Welcome ${this.props.signInUser}`\n this.setState({user: this.props.signInUser, favorites:this.props.favorites})\n }\n }\n \n\n welcomeUser = (user) => {\n console.log(user)\n let div = <div><img src={user.photo}/> <div>{user.username}</div></div>\n this.setState({user: user.username})\n }\n\n render(){\n // console.log(localStorage)\n console.log(this.state.user)\n return (\n <div className='container'>\n <div>\n <Link to='/' className='link'>\n <h1>Boater Beta</h1>\n </Link>\n </div>\n <div className='p-container'>\n <div className='link'>{this.state.user}</div>\n <Link to=\"/signin\" className='link'>\n <p>Sign In</p>\n </Link>\n <Link to=\"/register\" className='link'>\n <p>Create Account</p>\n </Link>\n </div>\n </div>\n )}\n}\n","/Users/christinapassafaro/Desktop/sei/projects/capstone_frontend/src/components/SignIn.js",["63","64","65","66","67"],"/Users/christinapassafaro/Desktop/sei/projects/capstone_frontend/src/components/Register.js",["68","69","70","71","72","73"],"import React, { Component } from \"react\";\nimport \"./SignIn.css\";\nimport { Route, Link, Redirect } from \"react-router-dom\";\nimport axios from 'axios'\nimport {\n Button,\n Typography,\n Container,\n TextField,\n Input,\n} from \"@material-ui/core\";\n\nexport default class Register extends Component {\n constructor() {\n super();\n\n this.state = {\n username: '',\n password: '',\n photo: ''\n };\n }\n\n getUsername = e => {\n let element = e.target.value;\n this.setState({username: element})\n }\n getPassword = e => {\n let element = e.target.value;\n this.setState({password: element})\n }\n getPhoto = e => {\n let element = e.target.value;\n this.setState({photo: element})\n }\n\n\n\n registerAccount =e => {\n e.preventDefault();\n console.log(this.state.username, this.state.password)\n\n const user = {\n username: this.state.username,\n password: this.state.password,\n picture: this.state.photo\n }\n\n axios({\n url:\"https://boatertalk.herokuapp.com/register\",\n withCredentials:true,\n method:\"POST\",\n headers: {\n 'Content-Type': 'application/json',\n },\n data:{\n username:this.state.username,\n password:this.state.password,\n picture:this.state.photo\n },\n } \n ).then(res=>{\n console.log(res.data);\n if(res.status ==200){\n alert('Success! Please Sign in!')\n this.props.history.push('/signin')\n }\n localStorage.setItem('token',res.data.token);\n })\n .catch(function(error){\n if(error.response){\n alert('Username already taken')\n }\n localStorage.setItem('token','');\n }) \n }\n\n\n\n render() {\n return (\n <Container className='input-area'>\n <Typography>Create Account</Typography>\n <div className='input-area'>\n <TextField \n style={{marginBottom:'10px'}}\n className='box'\n id=\"outlined-password-input\"\n label=\"Username\"\n type=\"username\"\n autoComplete=\"current-password\"\n variant=\"outlined\" \n onChange={this.getUsername}\n />\n <TextField\n style={{marginBottom:'10px'}}\n className='box'\n id=\"outlined-password-input\"\n label=\"Password\"\n type=\"username\"\n autoComplete=\"current-password\"\n variant=\"outlined\"\n onChange={this.getPassword}\n />\n <TextField \n style={{marginBottom:'10px'}}\n className='box'\n id=\"outlined-password-input\"\n label=\"Photo Url\"\n type=\"url\"\n variant=\"outlined\" \n onChange={this.getPhoto}\n />\n <Button \n className='box'\n type = \"submit\" \n variant=\"outlined\"\n onClick={this.registerAccount}>\n Submit\n </Button>\n </div>\n </Container>\n );\n }\n}\n","/Users/christinapassafaro/Desktop/sei/projects/capstone_frontend/src/largeComponents/Home.js",["74","75"],"import React, { Component } from \"react\";\nimport axios from 'axios'\nimport './Home.css'\nimport { CircularProgress } from \"@material-ui/core/\";\nimport { Route, Link} from \"react-router-dom\";\n\n\naxios.defaults.withCredentials = true\n\nclass Home extends Component{\n constructor(){\n super();\n\n this.state = {\n isLoading:true,\n user: '',\n }\n }\n\n componentDidMount = () => {\n // console.log('app-mounted')\n let token = localStorage.getItem('token');\n // console.log(token)\n axios({\n url:\"https://boatertalk.herokuapp.com/getUser\",\n method:\"GET\",\n headers: {\n authorization: `Bearer ${token}`\n },\n withCrendentials:true\n } ).then(res=>{\n // console.log(res.data);\n this.setState({user: res.data})\n })\n }\n\n\n\n render(){\n console.log(this.state.user)\n return (<div className='overall-container'>\n <div className=\"grid-container\">\n <div className='grid image box1'></div>\n <div className='grid image box2'></div>\n <div className='grid box3'>\n <p className='title'>Welcome to Boater Beta</p>\n <p className='body'>We're here to tell you current water levels of rivers all over the United States, upcoming weather in those areas, and user feedback on hazards in rapids.</p>\n {/* <p className='body'>Create an account to personalize your page! Then you can see your favorite rivers and notes on each one.</p> */}\n <Link to='/searchrivers'>\n <p>Search Rivers</p> \n </Link> \n <Link to='/favorites'>\n <div>Favorites</div>\n </Link>\n </div>\n <div className='grid image box4'></div>\n <div className='grid image box5'></div>\n <div className='grid image box6'></div>\n <div className='grid image box7'></div>\n </div>\n </div>\n )\n }\n}\n\nexport default Home;\n\n\n// <img src=\"https://static.vecteezy.com/system/resources/previews/000/242/523/non_2x/vector-kayak-downing-waterfall.jpg\" className='grid image1'/>\n// <img src=\"https://static.vecteezy.com/system/resources/previews/000/242/523/non_2x/vector-kayak-downing-waterfall.jpg\" className='grid image2'/>\n// <img src=\"https://static.vecteezy.com/system/resources/previews/000/242/523/non_2x/vector-kayak-downing-waterfall.jpg\" className='grid image3'/>\n// <img src=\"https://static.vecteezy.com/system/resources/previews/000/242/523/non_2x/vector-kayak-downing-waterfall.jpg\" className='grid image4'/>\n// <img src=\"https://static.vecteezy.com/system/resources/previews/000/242/523/non_2x/vector-kayak-downing-waterfall.jpg\" className='grid image5'/>\n// <img src=\"https://static.vecteezy.com/system/resources/previews/000/242/523/non_2x/vector-kayak-downing-waterfall.jpg\" className='grid image6'/>","/Users/christinapassafaro/Desktop/sei/projects/capstone_frontend/src/largeComponents/SearchRiver.js",["76","77","78"],"import React, { Component } from \"react\";\nimport axios from \"axios\";\nimport \"./SearchRiver.css\";\nimport { Route, Link } from \"react-router-dom\";\nimport {\n InputLabel,\n FormHelperText,\n FormControl,\n Select,\n NativeSelect,\n Button,\n} from \"@material-ui/core/\";\n\n\nexport default class SearchRiver extends Component {\n constructor() {\n super();\n\n this.state = {\n rivers: \"\",\n state: \"\",\n holder: \"\",\n };\n }\n\n getInput = (e) => {\n let element = e.target.value;\n this.setState({ state: element });\n };\n\n getRivers = (e) => {\n let rivers = \"\";\n const url = `https://waterservices.usgs.gov/nwis/iv/?format=json&stateCd=${this.state.state}¶meterCd=00060,00065&siteType=ST&siteStatus=all`;\n axios.get(url, { withCredentials: false }).then((res) => {\n rivers = res;\n this.filterRivers(rivers);\n });\n };\n\n filterRivers = (rivers) => {\n let riverInfo = [];\n let riverArray = rivers.data.value.timeSeries;\n console.log(riverArray);\n\n for (let i = 1; i < riverArray.length; i++) {\n //if elements name same as last element name then do this\n // console.log(riverArray[i])\n if (\n riverArray[i].sourceInfo.siteName ==\n riverArray[i - 1].sourceInfo.siteName\n ) {\n // console.log(`hit ${riverArray[i]}`)\n } else {\n // console.log('here')\n let river = {\n name: riverArray[i].sourceInfo.siteName,\n value: riverArray[i].values[0].value[0].value,\n latitude: riverArray[i].sourceInfo.geoLocation.geogLocation.latitude,\n longitude: riverArray[i].sourceInfo.geoLocation.geogLocation.longitude\n };\n riverInfo.push(river);\n }\n }\n this.buildHtml(riverInfo);\n // console.log(riverInfo)\n //call function and pass it the array of information elements that we have made\n };\n\n buildHtml = (rivers) => {\n let interior = [];\n rivers.forEach((element) => {\n let div = (\n <div className=\"river-box\">\n <div className=\"river-title\">{element.name}</div>\n <div className=\"river-level\">Current Water Level :{element.value} cfs</div>\n <Link to={{pathname: \"/riverdetails\", params: {data: element}}}>\n <Button style={{color: 'white', fontWeight:'bolder'}}>See River Details</Button>\n </Link>\n </div>\n );\n interior.push(div);\n });\n this.setState({ holder: interior });\n };\n\n render() {\n return (\n <div className='og'>\n <div className=\"sub-container\">\n <FormControl style={{color: \"white\"}}>\n <InputLabel htmlFor=\"age-native-helper\" style={{color: \"white\"}}>State</InputLabel>\n <NativeSelect style={{color: \"white\"}} onChange={this.getInput}>\n <option aria-label=\"None\" value=\"\" />\n <option value={\"al\"}>Alabama</option>\n <option value={\"ak\"}>Alaska</option>\n <option value={\"aq\"}>American Somoa</option>\n <option value={\"az\"}>Arizona</option>\n <option value={\"ar\"}>Arkansas</option>\n <option value={\"ca\"}>California</option>\n <option value={\"co\"}>Colorado</option>\n <option value={\"ct\"}>Conneticut</option>\n <option value={\"de\"}>Delaware</option>\n <option value={\"dc\"}>District of Columbia</option>\n <option value={\"fl\"}>Florida</option>\n <option value={\"ga\"}>Georgia</option>\n <option value={\"gu\"}>Guam</option>\n <option value={\"hi\"}>Hawaii</option>\n <option value={\"il\"}>Illinois</option>\n <option value={\"in\"}>Indiana</option>\n <option value={\"ia\"}>Iowa</option>\n <option value={\"ks\"}>Kansas</option>\n <option value={\"ky\"}>Kentucky</option>\n <option value={\"la\"}>Louisiana</option>\n <option value={\"me\"}>Maine</option>\n <option value={\"ma\"}>Massachusetts</option>\n <option value={\"mi\"}>Michigan</option>\n <option value={\"ca\"}>California</option>\n <option value={\"mn\"}>Minnesota</option>\n <option value={\"ms\"}>Mississippi</option>\n <option value={\"mo\"}>Missouri</option>\n <option value={\"mt\"}>Montana</option>\n <option value={\"ne\"}>Nebraska</option>\n <option value={\"nv\"}>Nevada</option>\n <option value={\"nh\"}>New Hampshire</option>\n <option value={\"nj\"}>New Jersey</option>\n <option value={\"nm\"}>New Mexico</option>\n <option value={\"ny\"}>New York</option>\n <option value={\"nc\"}>North Carolina</option>\n <option value={\"nd\"}>North Dakota</option>\n <option value={\"mp\"}>Northern Mariana Islands</option>\n <option value={\"oh\"}>Ohio</option>\n <option value={\"ok\"}>Oklahoma</option>\n <option value={\"or\"}>Oregon</option>\n <option value={\"pa\"}>Pennsylvania</option>\n <option value={\"pr\"}>Puerto Rico</option>\n <option value={\"ri\"}>Rhode Island</option>\n <option value={\"sc\"}>South Carolina</option>\n <option value={\"sd\"}>South Dakota</option>\n <option value={\"tn\"}>Tennessee</option>\n <option value={\"tx\"}>Texas</option>\n <option value={\"ut\"}>Utah</option>\n <option value={\"vt\"}>Vermont</option>\n <option value={\"vi\"}>Virgin Islands</option>\n <option value={\"va\"}>Virginia</option>\n <option value={\"wa\"}>Washington</option>\n <option value={\"wv\"}>West Virginia</option>\n <option value={\"wi\"}>Wisconson</option>\n <option value={\"wy\"}>Wyoming</option>\n </NativeSelect>\n <FormHelperText style={{color: \"white\"}}>Search Rivers By State</FormHelperText>\n </FormControl>\n <Button style={{color: \"white\", border: '2px solid white'}} variant=\"outlined\" type=\"submit\" onClick={this.getRivers}>\n Submit\n </Button>\n </div>\n <div className=\"main-container\">{this.state.holder}</div>\n </div>\n );\n }\n}\n","/Users/christinapassafaro/Desktop/sei/projects/capstone_frontend/src/largeComponents/RiverDetailsPage.js",["79","80","81","82","83","84","85"],"import React, { Component } from \"react\";\nimport axios from \"axios\";\nimport \"./RiverDetail.css\";\nimport { Route, Link } from \"react-router-dom\";\nimport _ from 'lodash';\nimport { TextField, Button, CircularProgress } from \"@material-ui/core/\";\n\naxios.defaults.withCredentials = false;\n\nexport default class RiverDetailsPage extends Component {\n constructor(props) {\n super(props);\n console.log(props);\n\n\n\n this.state = {\n data: _.get(props, 'location.params.data'),\n river: _.get(props, 'location.params.data.name'),\n level: _.get(props, 'location.params.data.value'),\n latitude: _.get(props, 'location.params.data.latitude'),\n longitude: _.get(props, 'location.params.data.longitude'),\n name: \"\",\n isLoading: true,\n weather: [],\n comment: \"\",\n alreadyCreatedComments: '',\n user: _.get(props, 'user'),\n userWaterLevel: ''\n };\n }\n\n\n componentDidMount = () => {\n // this gets the weather station for our latitue and longitude\n this.getComments()\n let element = \"\";\n axios\n .get(\n `https://api.weather.gov/points/${this.state.latitude},${this.state.longitude}`,\n { withCredentials: false }\n )\n .then((res) => {\n element = res.data.properties.forecast;\n this.getWeather(element);\n // }\n });\n };\n \n //is it okay to use component did update for this\n getComments = () => {\n console.log('update')\n axios.get(`https://boatertalk.herokuapp.com/comment/${this.state.river}`)\n .then(res => {\n console.log(res)\n if(res.data != null){\n console.log(res.data)\n let element1 =res.data\n this.loopThroughComments(element1)\n }\n })\n }\n\n loopThroughComments = (comments) => {\n let interior = []\n comments.forEach(element =>{\n let div = (\n <div className='comments'>{element.userComments} <p className='date'>{element.commentDate}</p></div>\n )\n interior.push(div)\n })\n //comments are added to end of database so to get newest lets reverse it\n let reversed = interior.reverse();\n this.setState({alreadyCreatedComments: reversed, comment:''})\n }\n\n\n\n getWeather = (weather) => {\n axios.get(weather, { withCredentials: false }).then((res) => {\n this.setState({\n temperature: res.data.properties.periods[0].name,\n weather: res.data.properties.periods,\n isLoading: false,\n });\n });\n };\n\n getComment = (e) => {\n let element = e.target.value;\n this.setState({ comment: element });\n };\n\n addComment = () => {\n if(this.state.comment == ''){\n alert('Please enter a comment to submit')\n }else{\n let river = {\n title: this.state.river,\n userComments: this.state.comment,\n commentDate: Date.now()\n\n };\n axios.post(`https://boatertalk.herokuapp.com/comment/create`, river)\n .then(res => {\n console.log(res)\n })\n\n //have to call asynchrnously because axios post request takes a second to update to db\n setTimeout(() => {\n this.getComments()\n }, 500) \n }\n };\n\n addFavorites = () => {\n let user ={\n username: this.state.user,\n favorites: [this.state.data]\n }\n if(this.state.user != ''){\n axios.put(`https://boatertalk.herokuapp.com/favorites/${this.state.user}`, user)\n .then(res => {\n console.log(res.status)\n if(res.status == 200){\n alert('Success')\n console.log(res)\n }})\n }else{\n alert('Login or Create User to have access')\n }\n }\n\n getUserWaterLevel = () => {\n \n }\n\n\n\n\n\n render() {\n console.log(this.state.user);\n if (this.state.isLoading == true) {\n return (\n <CircularProgress\n style={{}}\n />\n );\n } else {\n console.log(this.state.weather);\n return (\n <div className=\"overall-container-here\">\n <div className=\"weather-title-box\">\n <div className=\"river-detail-box\">\n <div className=\"river-title opacity\">{this.state.river}</div>\n <div className='opacity'>USGS GAUGE: {this.state.level} cfs</div>\n <div>{this.state.userWaterLevel}</div>\n <div>\n <Button style={{backgroundColor:'#573C67', color:'white', marginTop: '10px', textDecoration:'none'}} onClick={this.addFavorites}>Add to Favorites</Button>\n {/* <Button style={{backgroundColor:'#573C67', color:'white', marginTop: '10px', marginLeft:'10px', textDecoration:'none'}}>Add visual level</Button> */}\n </div>\n </div>\n <div className=\"weather-box\">\n <div className='opacity'>WEATHER</div>\n <div className='opacity smaller'>{this.state.temperature}: {this.state.weather[0].detailedForecast}</div>\n <img src={this.state.weather[0].icon} style={{border: '3px solid black'}}/>\n <Link to={{\n pathname:'/weather', \n params:{\n data: this.state.weather,\n currentRiver: this.state.data\n }\n }}>\n <Button style={{backgroundColor:'#573C67', color:'white', marginTop: '10px', textDecoration:'none'}}>Get 7 day forecast for this area</Button>\n </Link>\n </div>\n </div>\n <div className=\"comment-container\">\n <div className='submission-area'>\n <textarea \n value={this.state.comment}\n onChange={this.getComment}\n className=\"input\"\n id=\"outlined-basic\"\n label=\"Comment\"\n variant=\"outlined\"\n />\n <Button\n onClick={this.addComment}\n style={{\n backgroundColor: \"#573C67\",\n color: \"white\",\n height: \"55px\",\n width:'100%',\n borderRadius: '0 0 0 0',\n }}\n >\n Add Comment\n </Button>\n </div>\n </div>\n <div className='comment-container'>{this.state.alreadyCreatedComments}</div>\n </div>\n );\n }\n }\n}\n","/Users/christinapassafaro/Desktop/sei/projects/capstone_frontend/src/largeComponents/Weather.js",["86","87","88","89","90","91"],"import React, { Component } from \"react\";\nimport { TextField, Button, CircularProgress } from \"@material-ui/core/\";\nimport './Weather.css'\nimport { Route, Link } from \"react-router-dom\";\n\nexport default class Weather extends Component{\n constructor(props){\n super(props);\n console.log('hey kev', props)\n this.state = {\n weather: props.location.params.data,\n divs: '',\n isLoading: true,\n passbackData: props.location.params.currentRiver\n }\n }\n componentDidMount(){\n let aray = this.state.weather\n console.log(aray)\n let empty = []\n aray.forEach(element => {\n let html = (<div className='weather-container'>\n <div className='current-day'>{element.name}</div>\n <div className='snapshot-container'>\n <div>{element.temperature}°F</div>\n <div>{element.detailedForecast}</div>\n </div>\n <img src={element.icon} className='detailed-container' />\n </div>)\n empty.push(html)\n })\n this.setState({divs: empty, isLoading:false})\n }\n\n render(){\n if(this.state.isLoading == true){\n return(\n <CircularProgress/>\n )\n }else{\n return(<div className='element'>\n <h1 className='title-element'>Weather Forecast</h1>\n {/* <Link to={{\n pathname:'/riverdetails',\n params:{\n data: this.state.passbackData\n }\n }} className='button-container'>\n <button className='go-back-button'>Go Back</button>\n </Link> */}\n <div className='all-weather'>{this.state.divs}</div>\n </div>\n )}\n }\n}","/Users/christinapassafaro/Desktop/sei/projects/capstone_frontend/src/largeComponents/Favorites.js",["92","93","94","95"],"import React, { Component } from \"react\";\nimport axios from \"axios\";\nimport { Route, Link } from \"react-router-dom\";\nimport Card from '@material-ui/core/Card';\nimport CardActions from '@material-ui/core/CardActions';\nimport CardContent from '@material-ui/core/CardContent';\nimport Button from '@material-ui/core/Button';\nimport Typography from '@material-ui/core/Typography';\nimport './Favorites.css'\n\nexport default class Favorties extends Component {\n constructor() {\n super();\n\n this.state = {\n isLoading: true,\n username: \"\",\n favorites: \"\",\n user:''\n };\n }\n\n componentDidMount = () => {\n this.updateUser()\n };\n\n deleteFavorites = (e) => {\n let river = e.target.parentElement.parentElement.parentElement.firstChild.firstChild.textContent\n console.log(river)\n let favorites = this.state.user.favorites\n console.log(favorites)\n let thisRiver = favorites.filter(item => {\n if(item.name == river){\n return item\n }\n })\n console.log(thisRiver)\n axios.put(`https://boatertalk.herokuapp.com/favorites/${this.state.username}/delete/${river}`)\n .then(res => {\n console.log(res)\n })\n setTimeout(() => {\n this.updateUser()\n }, 1000) \n }\n\n updateUser= () => {\n console.log(\"updateuser called\");\n let token = localStorage.getItem(\"token\");\n // console.log(token)\n axios({\n url: \"https://boatertalk.herokuapp.com/getUser\",\n method: \"GET\",\n headers: {\n authorization: `Bearer ${token}`,\n },\n withCrendentials: true,\n }).then((res) => {\n console.log(res.data);\n this.setState({user: res.data})\n this.createFavorites(res.data);\n });\n }\n\n createFavorites = (userInfo) => {\n let empty = [];\n let fav = userInfo.favorites;\n fav.forEach((river) => {\n let div = (\n <Card style={{width:'30%', marginBottom: '10px', marginTop:'10px'}}>\n <CardContent>\n <Typography variant=\"h5\" component=\"h2\" value={river}>\n {river.name}\n </Typography>\n <Typography variant=\"body2\" component=\"p\">\n Water Level {river.value}cfs\n </Typography>\n </CardContent>\n <div className='buttons'>\n <Link to={{pathname: \"/riverdetails\", params: {data: river}}}>\n <Button size=\"small\" style={{textDecoration:'none', color:'white'}} className='Button'>See Details</Button>\n </Link>\n <Button onClick={this.deleteFavorites} style={{textDecoration:'none', color:'white'}} className='Button'>Delete</Button>\n </div>\n </Card>\n );\n empty.push(div);\n return empty;\n });\n this.setState({ favorites: empty, username: userInfo.username });\n };\n\n render() {\n // console.log(this.state.user);\n return (\n <div className='favorites-container'>\n <div className='favorites-box'>\n <h1 className='favorite-title'>Favorite Rivers for: {this.state.username}</h1>\n </div>\n <div className='fav-container'>{this.state.favorites}</div>\n </div>\n );\n }\n}\n",{"ruleId":"96","severity":1,"message":"97","line":8,"column":8,"nodeType":"98","messageId":"99","endLine":8,"endColumn":21},{"ruleId":"100","replacedBy":"101"},{"ruleId":"102","replacedBy":"103"},{"ruleId":"96","severity":1,"message":"104","line":12,"column":10,"nodeType":"98","messageId":"99","endLine":12,"endColumn":26},{"ruleId":"96","severity":1,"message":"105","line":4,"column":10,"nodeType":"98","messageId":"99","endLine":4,"endColumn":15},{"ruleId":"106","severity":1,"message":"107","line":34,"column":24,"nodeType":"108","messageId":"109","endLine":34,"endColumn":26},{"ruleId":"110","severity":1,"message":"111","line":44,"column":20,"nodeType":"112","endLine":44,"endColumn":43},{"ruleId":"96","severity":1,"message":"105","line":3,"column":10,"nodeType":"98","messageId":"99","endLine":3,"endColumn":15},{"ruleId":"96","severity":1,"message":"113","line":3,"column":17,"nodeType":"98","messageId":"99","endLine":3,"endColumn":21},{"ruleId":"96","severity":1,"message":"114","line":3,"column":23,"nodeType":"98","messageId":"99","endLine":3,"endColumn":31},{"ruleId":"96","severity":1,"message":"115","line":10,"column":3,"nodeType":"98","messageId":"99","endLine":10,"endColumn":8},{"ruleId":"96","severity":1,"message":"116","line":39,"column":13,"nodeType":"98","messageId":"99","endLine":39,"endColumn":17},{"ruleId":"96","severity":1,"message":"105","line":3,"column":10,"nodeType":"98","messageId":"99","endLine":3,"endColumn":15},{"ruleId":"96","severity":1,"message":"113","line":3,"column":17,"nodeType":"98","messageId":"99","endLine":3,"endColumn":21},{"ruleId":"96","severity":1,"message":"114","line":3,"column":23,"nodeType":"98","messageId":"99","endLine":3,"endColumn":31},{"ruleId":"96","severity":1,"message":"115","line":10,"column":3,"nodeType":"98","messageId":"99","endLine":10,"endColumn":8},{"ruleId":"96","severity":1,"message":"116","line":43,"column":13,"nodeType":"98","messageId":"99","endLine":43,"endColumn":17},{"ruleId":"106","severity":1,"message":"117","line":64,"column":23,"nodeType":"108","messageId":"109","endLine":64,"endColumn":25},{"ruleId":"96","severity":1,"message":"104","line":4,"column":10,"nodeType":"98","messageId":"99","endLine":4,"endColumn":26},{"ruleId":"96","severity":1,"message":"105","line":5,"column":10,"nodeType":"98","messageId":"99","endLine":5,"endColumn":15},{"ruleId":"96","severity":1,"message":"105","line":4,"column":10,"nodeType":"98","messageId":"99","endLine":4,"endColumn":15},{"ruleId":"96","severity":1,"message":"118","line":9,"column":3,"nodeType":"98","messageId":"99","endLine":9,"endColumn":9},{"ruleId":"106","severity":1,"message":"117","line":49,"column":43,"nodeType":"108","messageId":"109","endLine":49,"endColumn":45},{"ruleId":"96","severity":1,"message":"105","line":4,"column":10,"nodeType":"98","messageId":"99","endLine":4,"endColumn":15},{"ruleId":"96","severity":1,"message":"119","line":6,"column":10,"nodeType":"98","messageId":"99","endLine":6,"endColumn":19},{"ruleId":"106","severity":1,"message":"117","line":95,"column":27,"nodeType":"108","messageId":"109","endLine":95,"endColumn":29},{"ruleId":"106","severity":1,"message":"107","line":121,"column":24,"nodeType":"108","messageId":"109","endLine":121,"endColumn":26},{"ruleId":"106","severity":1,"message":"117","line":125,"column":23,"nodeType":"108","messageId":"109","endLine":125,"endColumn":25},{"ruleId":"106","severity":1,"message":"117","line":144,"column":30,"nodeType":"108","messageId":"109","endLine":144,"endColumn":32},{"ruleId":"110","severity":1,"message":"111","line":167,"column":15,"nodeType":"112","endLine":167,"endColumn":90},{"ruleId":"96","severity":1,"message":"119","line":2,"column":10,"nodeType":"98","messageId":"99","endLine":2,"endColumn":19},{"ruleId":"96","severity":1,"message":"120","line":2,"column":21,"nodeType":"98","messageId":"99","endLine":2,"endColumn":27},{"ruleId":"96","severity":1,"message":"105","line":4,"column":10,"nodeType":"98","messageId":"99","endLine":4,"endColumn":15},{"ruleId":"96","severity":1,"message":"113","line":4,"column":17,"nodeType":"98","messageId":"99","endLine":4,"endColumn":21},{"ruleId":"110","severity":1,"message":"111","line":28,"column":17,"nodeType":"112","endLine":28,"endColumn":74},{"ruleId":"106","severity":1,"message":"117","line":36,"column":33,"nodeType":"108","messageId":"109","endLine":36,"endColumn":35},{"ruleId":"96","severity":1,"message":"105","line":3,"column":10,"nodeType":"98","messageId":"99","endLine":3,"endColumn":15},{"ruleId":"96","severity":1,"message":"121","line":5,"column":8,"nodeType":"98","messageId":"99","endLine":5,"endColumn":19},{"ruleId":"122","severity":1,"message":"123","line":32,"column":43,"nodeType":"124","messageId":"125","endLine":32,"endColumn":45},{"ruleId":"106","severity":1,"message":"117","line":33,"column":20,"nodeType":"108","messageId":"109","endLine":33,"endColumn":22},"no-unused-vars","'DocumentTitle' is defined but never used.","Identifier","unusedVar","no-native-reassign",["126"],"no-negated-in-lhs",["127"],"'CircularProgress' is defined but never used.","'Route' is defined but never used.","eqeqeq","Expected '!==' and instead saw '!='.","BinaryExpression","unexpected","jsx-a11y/alt-text","img elements must have an alt prop, either with meaningful text, or an empty string for decorative images.","JSXOpeningElement","'Link' is defined but never used.","'Redirect' is defined but never used.","'Input' is defined but never used.","'user' is assigned a value but never used.","Expected '===' and instead saw '=='.","'Select' is defined but never used.","'TextField' is defined but never used.","'Button' is defined but never used.","'CardActions' is defined but never used.","array-callback-return","Array.prototype.filter() expects a value to be returned at the end of arrow function.","ArrowFunctionExpression","expectedAtEnd","no-global-assign","no-unsafe-negation"]