-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.eslintcache
1 lines (1 loc) · 27.9 KB
/
.eslintcache
1
[{"D:\\smovies\\src\\index.js":"1","D:\\smovies\\src\\reportWebVitals.js":"2","D:\\smovies\\src\\App.js":"3","D:\\smovies\\src\\Playground.jsx":"4","D:\\smovies\\src\\Pages\\404.jsx":"5","D:\\smovies\\src\\services\\firebase.js":"6","D:\\smovies\\src\\Pages\\Signup.jsx":"7","D:\\smovies\\src\\Pages\\Board.jsx":"8","D:\\smovies\\src\\Pages\\MyAccount.jsx":"9","D:\\smovies\\src\\Pages\\Login.jsx":"10","D:\\smovies\\src\\Pages\\MyBoards.jsx":"11","D:\\smovies\\src\\Pages\\Feed.jsx":"12","D:\\smovies\\src\\Pages\\Discovery.jsx":"13","D:\\smovies\\src\\Pages\\Home.jsx":"14","D:\\smovies\\src\\helpers\\auth.js":"15","D:\\smovies\\src\\reusable-components\\MovieView.js":"16","D:\\smovies\\src\\helpers\\database.js":"17","D:\\smovies\\src\\reusable-components\\BoardView.js":"18","D:\\smovies\\src\\helpers\\movieDatabase.js":"19","D:\\smovies\\src\\reusable-components\\Header.js":"20","D:\\smovies\\src\\reusable-components\\MovieInfoModal.js":"21","D:\\smovies\\src\\reusable-components\\CreateBoardModal.js":"22","D:\\smovies\\src\\tools\\stringSearch.js":"23","D:\\smovies\\src\\reusable-components\\ActorView.js":"24"},{"size":500,"mtime":1608622248567,"results":"25","hashOfConfig":"26"},{"size":362,"mtime":1607255943090,"results":"27","hashOfConfig":"26"},{"size":2856,"mtime":1612276668112,"results":"28","hashOfConfig":"26"},{"size":297,"mtime":1609520771249,"results":"29","hashOfConfig":"26"},{"size":577,"mtime":1612276668116,"results":"30","hashOfConfig":"26"},{"size":362,"mtime":1612276668181,"results":"31","hashOfConfig":"26"},{"size":4592,"mtime":1612276668143,"results":"32","hashOfConfig":"26"},{"size":15489,"mtime":1612289866945,"results":"33","hashOfConfig":"26"},{"size":1088,"mtime":1612276668141,"results":"34","hashOfConfig":"26"},{"size":8706,"mtime":1612276668141,"results":"35","hashOfConfig":"26"},{"size":4907,"mtime":1612276668142,"results":"36","hashOfConfig":"26"},{"size":3429,"mtime":1612276668131,"results":"37","hashOfConfig":"26"},{"size":20959,"mtime":1612280333137,"results":"38","hashOfConfig":"26"},{"size":1839,"mtime":1612276668132,"results":"39","hashOfConfig":"26"},{"size":550,"mtime":1612276668144,"results":"40","hashOfConfig":"26"},{"size":1498,"mtime":1612276668179,"results":"41","hashOfConfig":"26"},{"size":4265,"mtime":1612277239411,"results":"42","hashOfConfig":"26"},{"size":2158,"mtime":1612280120104,"results":"43","hashOfConfig":"26"},{"size":2034,"mtime":1612278171431,"results":"44","hashOfConfig":"26"},{"size":2965,"mtime":1612276668171,"results":"45","hashOfConfig":"26"},{"size":6420,"mtime":1612278015844,"results":"46","hashOfConfig":"26"},{"size":6909,"mtime":1612276668168,"results":"47","hashOfConfig":"26"},{"size":1279,"mtime":1612276668182,"results":"48","hashOfConfig":"26"},{"size":1309,"mtime":1612276668156,"results":"49","hashOfConfig":"26"},{"filePath":"50","messages":"51","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1krxqvo",{"filePath":"52","messages":"53","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"54","messages":"55","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"56","messages":"57","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"58","messages":"59","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"60","messages":"61","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"62","messages":"63","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"64","messages":"65","errorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":"66"},{"filePath":"67","messages":"68","errorCount":0,"warningCount":7,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"69","messages":"70","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"71","messages":"72","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"73","messages":"74","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"75","messages":"76","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"77","messages":"78","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"79","messages":"80","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"81","messages":"82","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"83","messages":"84","errorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"85","messages":"86","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"87","messages":"88","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"89","messages":"90","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"91","messages":"92","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"93","messages":"94","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"95","messages":"96","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"97","messages":"98","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},"D:\\smovies\\src\\index.js",[],"D:\\smovies\\src\\reportWebVitals.js",[],"D:\\smovies\\src\\App.js",[],"D:\\smovies\\src\\Playground.jsx",[],"D:\\smovies\\src\\Pages\\404.jsx",[],"D:\\smovies\\src\\services\\firebase.js",[],"D:\\smovies\\src\\Pages\\Signup.jsx",["99","100"],"D:\\smovies\\src\\Pages\\Board.jsx",["101","102","103","104","105","106"],"import React, { Component } from 'react'\r\nimport { getBoardPosters, getMoviesInfo } from '../helpers/movieDatabase.js'\r\nimport BoardView from '../reusable-components/BoardView.js'\r\nimport Movie from '../reusable-components/MovieView.js'\r\nimport Header from './../reusable-components/Header.js'\r\nimport { auth, database } from './../services/firebase.js'\r\nimport MovieInfoModal from './../reusable-components/MovieInfoModal.js'\r\nimport ReactLoading from 'react-loading'\r\nimport { addMovieToBoard, removeMovieFromBoard } from '../helpers/database.js'\r\nimport Toggle from \"react-toggle\"\r\nimport \"react-toggle/style.css\"\r\n\r\nconst axios = require('axios')\r\n\r\nclass Board extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n edit: false,\r\n boardId: null,\r\n boardInfo: {},\r\n moviesInfo: {},\r\n loaded: false,\r\n modalMovieIsOpen: false,\r\n modalMovieInfo: {\r\n poster_path: null,\r\n title: null,\r\n synopsis: null,\r\n voteAverage: null,\r\n movieId: null,\r\n cast: null,\r\n productionCompanies: null,\r\n productionCountries: null,\r\n releaseDate: null,\r\n },\r\n searchText: '',\r\n searchResults: [],\r\n searchLoaded: false,\r\n searchLoading: false,\r\n searchResultsAdded: {},\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({ boardId: this.props.match.params.id })\r\n this.getBoardInfo()\r\n }\r\n\r\n getBoardInfo = async () => {\r\n database.ref(`boards/${this.props.match.params.id}`).on('value', (snapshot) => {\r\n this.setState({ boardInfo: snapshot.val() })\r\n var movies = snapshot.val().movies\r\n if (movies != undefined) {\r\n getBoardPosters(movies).then((posters_path) => {\r\n var boardPosters = { boardPosters: posters_path }\r\n this.setState({ boardInfo: { ...this.state.boardInfo, ...boardPosters } })\r\n getMoviesInfo(movies).then((moviesInfo) => {\r\n this.setState({ moviesInfo: { ...moviesInfo, }, loaded: true })\r\n })\r\n })\r\n } else {\r\n console.log(\"hello\")\r\n this.setState({ moviesInfo: {}, loaded: true })\r\n }\r\n })\r\n }\r\n\r\n openModal = async (id, type, movieInfo = null) => {\r\n if (type == \"inBoard\") {\r\n this.setState({ modalMovieInfo: { ...this.state.moviesInfo[id], movieId: id }, modalMovieIsOpen: true })\r\n } else if (type == \"search\") {\r\n this.setState({ modalMovieInfo: { ...movieInfo, movieId: id }, modalMovieIsOpen: true })\r\n } else {\r\n console.log(\"Wrong type\")\r\n }\r\n }\r\n\r\n changeSearch = (event) => {\r\n this.setState({ searchText: event.target.value })\r\n }\r\n\r\n /**\r\n * Find a movie in the Movie database\r\n */\r\n searchMovie = async () => {\r\n try {\r\n const movies = await axios.get('https://api.themoviedb.org/3/search/movie', {\r\n params: {\r\n api_key: process.env.REACT_APP_MOVIES_API_KEY,\r\n language: 'en_US',\r\n query: this.state.searchText,\r\n },\r\n })\r\n var searchMoviesTemp = {}\r\n for (var movie of movies.data.results) {\r\n searchMoviesTemp[movie.id] = false\r\n }\r\n this.setState({ searchLoaded: true, searchResults: movies.data.results, searchLoading: false, searchResultsAdded: searchMoviesTemp })\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * Handle the search of movies or boards.\r\n * @param {*} event\r\n */\r\n handleSearch = async (event) => {\r\n if (event.key === 'Enter') {\r\n this.setState({ searchLoading: true })\r\n await this.searchMovie()\r\n }\r\n }\r\n\r\n addMovie = (movieId) => {\r\n if (this.state.boardInfo.createdBy === auth().currentUser.uid) {\r\n if (movieId != null) {\r\n if (this.state.boardInfo.movies != undefined) {\r\n if (this.state.boardInfo.movies.includes(movieId)) {\r\n console.log(\"Already in the list\")\r\n this.setState({ searchResultsAdded: { ...this.state.searchResultsAdded, [movieId]: true } })\r\n } else {\r\n addMovieToBoard(this.props.match.params.id, movieId)\r\n console.log(\"Added to the list!\")\r\n this.setState({ searchResultsAdded: { ...this.state.searchResultsAdded, [movieId]: true } })\r\n }\r\n } else {\r\n addMovieToBoard(this.props.match.params.id, movieId)\r\n this.setState({ searchResultsAdded: { ...this.state.searchResultsAdded, [movieId]: true } })\r\n }\r\n } else {\r\n console.log('MovieId null')\r\n }\r\n } else {\r\n console.log(\"Not your board\")\r\n }\r\n }\r\n\r\n render() {\r\n console.log(this.state.boardInfo.createdBy, auth().currentUser.uid)\r\n\r\n return (\r\n <div\r\n style={{\r\n backgroundColor: '#414141',\r\n minHeight: window.innerHeight,\r\n position: 'relative',\r\n }}\r\n >\r\n <Header></Header>\r\n <MovieInfoModal\r\n cast={this.state.modalMovieInfo.cast}\r\n productionCompanies={this.state.modalMovieInfo.productionCompanies}\r\n productionCountries={this.state.modalMovieInfo.productionCountries}\r\n releaseDate={this.state.modalMovieInfo.releaseDate}\r\n title={this.state.modalMovieInfo.title}\r\n posterPath={this.state.modalMovieInfo.poster}\r\n synopsis={this.state.modalMovieInfo.synopsis}\r\n addToBoard={() => {\r\n this.addMovie(this.state.modalMovieInfo.movieId)\r\n }}\r\n closeModal={() => {\r\n this.setState({ modalMovieIsOpen: false })\r\n }}\r\n isModalOpen={this.state.modalMovieIsOpen}\r\n ></MovieInfoModal>\r\n <div style={{ paddingTop: 100 }}></div>\r\n {!this.state.loaded &&\r\n <div style={{ paddingLeft: '45%' }}>\r\n <ReactLoading type={'bubbles'} color=\"white\" height={'10%'} width={'10%'} />\r\n </div>\r\n }\r\n {this.state.loaded &&\r\n <div>\r\n <div style={{\r\n margin: 20,\r\n flexDirection: 'row',\r\n display: \"flex\"\r\n }}>\r\n <div\r\n style={{\r\n width: 400,\r\n marginLeft: 100,\r\n }}>\r\n <BoardView\r\n name={this.state.boardInfo.title}\r\n nStars={this.state.boardInfo.nStars}\r\n postersPath={this.state.boardInfo.boardPosters != undefined ? this.state.boardInfo.boardPosters : [null, null, null, null]}\r\n hideBanner={true}\r\n width={156 * 2}\r\n height={210 * 2}\r\n filter={\"drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25))\"}\r\n zIndec={2}></BoardView>\r\n </div>\r\n <div style={{\r\n width: 900,\r\n fontFamily: 'Poppins',\r\n color: '#D4D4D4',\r\n fontSize: 15,\r\n }}>\r\n <div style={{\r\n fontWeight: 'bolder',\r\n fontSize: 30,\r\n color: 'white',\r\n textAlign: 'left'\r\n }}>{this.state.boardInfo.title}</div>\r\n <div style={{\r\n fontFamily: 'Poppins',\r\n fontWeight: 'normal',\r\n textAlign: 'left'\r\n }}>Created by: user#{this.state.boardInfo.createdBy.slice(-5)}</div>\r\n <div style={{ height: 250, width: '100%', color: '#7C7C7C', paddingTop: 20 }}>Description not available</div>\r\n <div style={{ flexDirection: 'row', display: 'flex', }}>\r\n <div style={{ width: '15%' }}>{this.state.boardInfo.movies != undefined ? this.state.boardInfo.movies.length : 0} movies </div>\r\n <div style={{ width: '15%' }}>{this.state.boardInfo.nStars} stars </div>\r\n <div style={{ width: '20%' }}> Last update: {(\"0\" + new Date(this.state.boardInfo.lastUpdate).getDate()).slice(-2)}/{(\"0\" + new Date(this.state.boardInfo.lastUpdate).getMonth() + 1).slice(-2)}/{new Date(this.state.boardInfo.lastUpdate).getFullYear()}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div>\r\n <div style={{\r\n display: 'flex',\r\n flexDirection: \"row\"\r\n }}>\r\n <div style={{\r\n width: \"85%\",\r\n textAlign: 'left',\r\n color: '#8C8C8C',\r\n fontFamily: 'Poppins',\r\n fontWeight: 'bolder',\r\n fontSize: 20,\r\n margin: 20\r\n }}>Movies</div>\r\n {this.state.boardInfo.createdBy === auth().currentUser.uid\r\n && <div style={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n width: \"5%\",\r\n color: '#8C8C8C',\r\n fontFamily: 'Poppins',\r\n fontWeight: 'normal',\r\n textDecoration: '#8C8C8C underline',\r\n fontSize: 20,\r\n textAlign: 'right',\r\n }}>Edit\r\n <div style={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n width: '10%',\r\n textAlign: 'left',\r\n }}>\r\n\r\n <Toggle\r\n defaultChecked={this.state.edit}\r\n onChange={() => { this.setState({ edit: !this.state.edit }) }}\r\n /></div>\r\n </div>}\r\n </div>\r\n <div style={{\r\n width: 'auto',\r\n flexWrap: 'wrap',\r\n display: 'flex',\r\n flexDirection: 'row',\r\n backgroundColor: '#4D4D4D',\r\n padding: 20\r\n }}>\r\n {Object.keys(this.state.moviesInfo).map((movieId) => {\r\n return (\r\n <div>\r\n <div style={{ margin: 10 }} onClick={() => this.openModal(movieId, \"inBoard\")}>\r\n <Movie\r\n title={this.state.moviesInfo[movieId].title}\r\n voteAverage={this.state.moviesInfo[movieId].vote_average}\r\n posterPath={this.state.moviesInfo[movieId].poster}\r\n ></Movie>\r\n </div>\r\n {this.state.edit &&\r\n <div\r\n style={{\r\n margin: 10,\r\n marginLeft: '25%',\r\n color: \"white\",\r\n fontFamily: 'Poppins',\r\n fontSize: 15,\r\n textAlign: \"center\",\r\n width: '50%',\r\n textDecoration: \"white underline\"\r\n }}\r\n onClick={() => { removeMovieFromBoard(this.state.boardId, movieId) }}>\r\n Remove\r\n </div>}\r\n </div>\r\n )\r\n })}\r\n </div>\r\n </div>\r\n {this.state.boardInfo.createdBy === auth().currentUser.uid &&\r\n <div>\r\n <div style={{ display: 'flex', flexDirection: 'row', marginTop: 50 }}>\r\n <div style={{\r\n width: 1200,\r\n color: '#8C8C8C',\r\n fontFamily: 'Poppins',\r\n fontWeight: 'bolder',\r\n fontSize: 20,\r\n margin: 20,\r\n marginBottom: 0\r\n }}>Add to the board: </div>\r\n <div style={{\r\n width: 200,\r\n margin: 20,\r\n marginBottom: 0\r\n }}>\r\n <input\r\n style={{\r\n backgroundColor: '#525252',\r\n color: 'white',\r\n fontFamily: 'Poppins',\r\n borderWidth: 0,\r\n borderRadius: 24,\r\n outline: 'none',\r\n padding: 5,\r\n }}\r\n type=\"text\"\r\n placeholder=\"Search\"\r\n value={this.state.searchText}\r\n onChange={this.changeSearch}\r\n onKeyDown={this.handleSearch}\r\n />\r\n </div>\r\n </div>\r\n\r\n {this.state.searchLoading && (\r\n <div style={{ paddingLeft: '45%' }}>\r\n <ReactLoading type={'bubbles'} color=\"white\" height={'10%'} width={'10%'} />\r\n </div>\r\n )}\r\n <div\r\n style={{\r\n display: 'flex',\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n flexWrap: 'nowrap',\r\n overflowX: 'auto',\r\n padding: 10,\r\n backgroundColor: '#4D4D4D',\r\n marginTop: 20,\r\n }}\r\n >\r\n {!this.state.searchLoaded &&\r\n <div style={{ minHeight: 210 }}></div>}\r\n {!this.state.searchLoading &&\r\n this.state.searchLoaded &&\r\n this.state.searchResults.length > 0 &&\r\n this.state.searchResults.map((movie, index) => {\r\n return (\r\n <div style={{ margin: 10 }} onClick={() => {\r\n this.openModal(movie.id, \"search\",\r\n {\r\n title: movie.title,\r\n vote_average: movie.vote_average,\r\n poster: movie.poster_path,\r\n synopsis: movie.overview\r\n })\r\n }}>\r\n <Movie\r\n title={movie.title}\r\n voteAverage={movie.vote_average}\r\n posterPath={movie.poster_path}\r\n ></Movie>\r\n {this.state.searchResultsAdded[movie.id] &&\r\n <div style={{\r\n backgroundColor: \"#D40000\",\r\n position: \"relative\",\r\n top: -200,\r\n left: 10,\r\n padding: 5,\r\n fontSize: 10,\r\n textAlign: \"center\",\r\n width: \"30%\",\r\n borderRadius: 14,\r\n margin: 0,\r\n color: 'white',\r\n fontFamily: \"Poppins\"\r\n }}>\r\n Added ✓</div>}\r\n </div>\r\n )\r\n })}\r\n </div>\r\n </div>}\r\n </div>}\r\n <div style={{ width: \"auto\", height: 100, paddingTop: 40, color: \"#D4D4D4\", fontFamily: \"Poppins\", fontSize: 15, textAlign: \"center\" }}> Smovies Copyright 2021 ©</div>\r\n </div>\r\n )\r\n }\r\n}\r\nexport default Board\r\n","D:\\smovies\\src\\Pages\\MyAccount.jsx",["107","108","109","110","111","112","113"],"D:\\smovies\\src\\Pages\\Login.jsx",["114","115"],"D:\\smovies\\src\\Pages\\MyBoards.jsx",[],"D:\\smovies\\src\\Pages\\Feed.jsx",[],"D:\\smovies\\src\\Pages\\Discovery.jsx",["116"],"D:\\smovies\\src\\Pages\\Home.jsx",[],"D:\\smovies\\src\\helpers\\auth.js",[],"D:\\smovies\\src\\reusable-components\\MovieView.js",["117"],"D:\\smovies\\src\\helpers\\database.js",["118","119","120","121","122","123"],"D:\\smovies\\src\\reusable-components\\BoardView.js",["124","125"],"D:\\smovies\\src\\helpers\\movieDatabase.js",["126","127"],"D:\\smovies\\src\\reusable-components\\Header.js",[],"D:\\smovies\\src\\reusable-components\\MovieInfoModal.js",["128"],"D:\\smovies\\src\\reusable-components\\CreateBoardModal.js",[],"D:\\smovies\\src\\tools\\stringSearch.js",["129","130","131"],"D:\\smovies\\src\\reusable-components\\ActorView.js",["132"],{"ruleId":"133","severity":1,"message":"134","line":45,"column":35,"nodeType":"135","messageId":"136","endLine":45,"endColumn":36},{"ruleId":"133","severity":1,"message":"134","line":45,"column":51,"nodeType":"135","messageId":"136","endLine":45,"endColumn":52},{"ruleId":"137","severity":1,"message":"138","line":53,"column":18,"nodeType":"135","messageId":"139","endLine":53,"endColumn":20},{"ruleId":"137","severity":1,"message":"140","line":69,"column":14,"nodeType":"135","messageId":"139","endLine":69,"endColumn":16},{"ruleId":"137","severity":1,"message":"140","line":71,"column":21,"nodeType":"135","messageId":"139","endLine":71,"endColumn":23},{"ruleId":"137","severity":1,"message":"138","line":118,"column":41,"nodeType":"135","messageId":"139","endLine":118,"endColumn":43},{"ruleId":"137","severity":1,"message":"138","line":188,"column":66,"nodeType":"135","messageId":"139","endLine":188,"endColumn":68},{"ruleId":"137","severity":1,"message":"138","line":214,"column":78,"nodeType":"135","messageId":"139","endLine":214,"endColumn":80},{"ruleId":"141","severity":1,"message":"142","line":2,"column":10,"nodeType":"143","messageId":"144","endLine":2,"endColumn":25},{"ruleId":"141","severity":1,"message":"145","line":2,"column":27,"nodeType":"143","messageId":"144","endLine":2,"endColumn":40},{"ruleId":"141","severity":1,"message":"146","line":3,"column":10,"nodeType":"143","messageId":"144","endLine":3,"endColumn":14},{"ruleId":"141","severity":1,"message":"147","line":3,"column":16,"nodeType":"143","messageId":"144","endLine":3,"endColumn":24},{"ruleId":"141","severity":1,"message":"148","line":4,"column":8,"nodeType":"143","messageId":"144","endLine":4,"endColumn":20},{"ruleId":"141","severity":1,"message":"149","line":5,"column":10,"nodeType":"143","messageId":"144","endLine":5,"endColumn":25},{"ruleId":"141","severity":1,"message":"150","line":7,"column":7,"nodeType":"143","messageId":"144","endLine":7,"endColumn":12},{"ruleId":"133","severity":1,"message":"134","line":79,"column":35,"nodeType":"135","messageId":"136","endLine":79,"endColumn":36},{"ruleId":"133","severity":1,"message":"134","line":79,"column":51,"nodeType":"135","messageId":"136","endLine":79,"endColumn":52},{"ruleId":"137","severity":1,"message":"138","line":55,"column":38,"nodeType":"135","messageId":"139","endLine":55,"endColumn":40},{"ruleId":"151","severity":1,"message":"152","line":21,"column":9,"nodeType":"153","endLine":26,"endColumn":11},{"ruleId":"137","severity":1,"message":"140","line":48,"column":46,"nodeType":"135","messageId":"139","endLine":48,"endColumn":48},{"ruleId":"137","severity":1,"message":"140","line":53,"column":30,"nodeType":"135","messageId":"139","endLine":53,"endColumn":32},{"ruleId":"137","severity":1,"message":"138","line":74,"column":42,"nodeType":"135","messageId":"139","endLine":74,"endColumn":44},{"ruleId":"137","severity":1,"message":"138","line":108,"column":31,"nodeType":"135","messageId":"139","endLine":108,"endColumn":33},{"ruleId":"137","severity":1,"message":"138","line":127,"column":17,"nodeType":"135","messageId":"139","endLine":127,"endColumn":19},{"ruleId":"154","severity":1,"message":"155","line":147,"column":1,"nodeType":"156","endLine":147,"endColumn":140},{"ruleId":"137","severity":1,"message":"138","line":8,"column":19,"nodeType":"135","messageId":"139","endLine":8,"endColumn":21},{"ruleId":"151","severity":1,"message":"152","line":37,"column":19,"nodeType":"153","endLine":42,"endColumn":21},{"ruleId":"137","severity":1,"message":"138","line":6,"column":18,"nodeType":"135","messageId":"139","endLine":6,"endColumn":20},{"ruleId":"137","severity":1,"message":"138","line":36,"column":18,"nodeType":"135","messageId":"139","endLine":36,"endColumn":20},{"ruleId":"151","severity":1,"message":"152","line":36,"column":11,"nodeType":"153","endLine":41,"endColumn":13},{"ruleId":"157","severity":1,"message":"158","line":15,"column":18,"nodeType":"143","messageId":"159","endLine":15,"endColumn":19},{"ruleId":"157","severity":1,"message":"160","line":17,"column":22,"nodeType":"143","messageId":"159","endLine":17,"endColumn":23},{"ruleId":"157","severity":1,"message":"158","line":22,"column":18,"nodeType":"143","messageId":"159","endLine":22,"endColumn":19},{"ruleId":"151","severity":1,"message":"152","line":16,"column":11,"nodeType":"153","endLine":21,"endColumn":13},"no-useless-concat","Unexpected string concatenation of literals.","BinaryExpression","unexpectedConcat","eqeqeq","Expected '!==' and instead saw '!='.","unexpected","Expected '===' and instead saw '=='.","no-unused-vars","'getBoardPosters' is defined but never used.","Identifier","unusedVar","'getMoviesInfo' is defined but never used.","'auth' is defined but never used.","'database' is defined but never used.","'ReactLoading' is defined but never used.","'addMovieToBoard' is defined but never used.","'axios' 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","import/no-anonymous-default-export","Assign object to a variable before exporting as module default","ExportDefaultDeclaration","no-redeclare","'i' is already defined.","redeclared","'j' is already defined."]