-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy path.eslintcache
1 lines (1 loc) · 77.3 KB
/
.eslintcache
1
[{"A:\\Semester 6\\kracr-website\\src\\index.js":"1","A:\\Semester 6\\kracr-website\\src\\reportWebVitals.js":"2","A:\\Semester 6\\kracr-website\\src\\Reducers\\Index.js":"3","A:\\Semester 6\\kracr-website\\src\\App.js":"4","A:\\Semester 6\\kracr-website\\src\\Reducers\\userDetails.js":"5","A:\\Semester 6\\kracr-website\\src\\Reducers\\isLogged.js":"6","A:\\Semester 6\\kracr-website\\src\\Components\\Chatbot\\chatbot.jsx":"7","A:\\Semester 6\\kracr-website\\src\\Components\\Footer\\Footer.jsx":"8","A:\\Semester 6\\kracr-website\\src\\Components\\News\\News.jsx":"9","A:\\Semester 6\\kracr-website\\src\\Components\\Home\\Home.jsx":"10","A:\\Semester 6\\kracr-website\\src\\Components\\NavBar\\Navbar.jsx":"11","A:\\Semester 6\\kracr-website\\src\\Components\\Publications\\Publication.jsx":"12","A:\\Semester 6\\kracr-website\\src\\Components\\CMS\\HomeCMS\\CMS.jsx":"13","A:\\Semester 6\\kracr-website\\src\\Components\\Projects\\Project.jsx":"14","A:\\Semester 6\\kracr-website\\src\\Components\\CMS\\LoginCMS\\LoginCMS.jsx":"15","A:\\Semester 6\\kracr-website\\src\\Components\\Team\\Team.jsx":"16","A:\\Semester 6\\kracr-website\\src\\firebase.js":"17","A:\\Semester 6\\kracr-website\\src\\Actions\\index.js":"18","A:\\Semester 6\\kracr-website\\src\\Components\\Chatbot\\messageInputBox.jsx":"19","A:\\Semester 6\\kracr-website\\src\\Components\\Chatbot\\message.jsx":"20","A:\\Semester 6\\kracr-website\\src\\Components\\CMS\\TeamCMS\\TeamCMS.jsx":"21","A:\\Semester 6\\kracr-website\\src\\Components\\CMS\\PublicationCMS\\PublicationCMS.jsx":"22","A:\\Semester 6\\kracr-website\\src\\Components\\CMS\\ProjectCMS\\ProjectCMS.jsx":"23","A:\\Semester 6\\kracr-website\\src\\Components\\CMS\\NewsCMS\\NewsCMS.jsx":"24","A:\\Semester 6\\kracr-website\\src\\Components\\CMS\\TeamCMS\\TeamCMSMember.jsx":"25"},{"size":797,"mtime":1643301985851,"results":"26","hashOfConfig":"27"},{"size":375,"mtime":1643301985851,"results":"28","hashOfConfig":"27"},{"size":259,"mtime":1643301985850,"results":"29","hashOfConfig":"27"},{"size":1887,"mtime":1647883556954,"results":"30","hashOfConfig":"27"},{"size":288,"mtime":1643301985851,"results":"31","hashOfConfig":"27"},{"size":285,"mtime":1643301985850,"results":"32","hashOfConfig":"27"},{"size":8965,"mtime":1643301985419,"results":"33","hashOfConfig":"27"},{"size":1511,"mtime":1643301985420,"results":"34","hashOfConfig":"27"},{"size":6069,"mtime":1647883556970,"results":"35","hashOfConfig":"27"},{"size":17240,"mtime":1647883556967,"results":"36","hashOfConfig":"27"},{"size":2079,"mtime":1643301985427,"results":"37","hashOfConfig":"27"},{"size":2526,"mtime":1647883556975,"results":"38","hashOfConfig":"27"},{"size":1281,"mtime":1643301985414,"results":"39","hashOfConfig":"27"},{"size":9553,"mtime":1647883556974,"results":"40","hashOfConfig":"27"},{"size":1132,"mtime":1647883556955,"results":"41","hashOfConfig":"27"},{"size":26348,"mtime":1647883556979,"results":"42","hashOfConfig":"27"},{"size":837,"mtime":1643301985851,"results":"43","hashOfConfig":"27"},{"size":401,"mtime":1643301985413,"results":"44","hashOfConfig":"27"},{"size":1290,"mtime":1643301985420,"results":"45","hashOfConfig":"27"},{"size":4131,"mtime":1643301985420,"results":"46","hashOfConfig":"27"},{"size":9218,"mtime":1643301985418,"results":"47","hashOfConfig":"27"},{"size":7786,"mtime":1643301985417,"results":"48","hashOfConfig":"27"},{"size":8428,"mtime":1643301985417,"results":"49","hashOfConfig":"27"},{"size":3280,"mtime":1643301985416,"results":"50","hashOfConfig":"27"},{"size":3187,"mtime":1643301985418,"results":"51","hashOfConfig":"27"},{"filePath":"52","messages":"53","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"54"},"1xcjmql",{"filePath":"55","messages":"56","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"54"},{"filePath":"57","messages":"58","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"54"},{"filePath":"59","messages":"60","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"61","messages":"62","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"54"},{"filePath":"63","messages":"64","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"54"},{"filePath":"65","messages":"66","errorCount":0,"warningCount":5,"fixableErrorCount":0,"fixableWarningCount":0,"source":"67","usedDeprecatedRules":"54"},{"filePath":"68","messages":"69","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"70","usedDeprecatedRules":"54"},{"filePath":"71","messages":"72","errorCount":0,"warningCount":9,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"73","messages":"74","errorCount":0,"warningCount":9,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"75","messages":"76","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"54"},{"filePath":"77","messages":"78","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"79","messages":"80","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"54"},{"filePath":"81","messages":"82","errorCount":0,"warningCount":25,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"83","messages":"84","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"85","messages":"86","errorCount":0,"warningCount":11,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"87","messages":"88","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"54"},{"filePath":"89","messages":"90","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"54"},{"filePath":"91","messages":"92","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"54"},{"filePath":"93","messages":"94","errorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":"95","usedDeprecatedRules":"54"},{"filePath":"96","messages":"97","errorCount":0,"warningCount":8,"fixableErrorCount":0,"fixableWarningCount":0,"source":"98","usedDeprecatedRules":"54"},{"filePath":"99","messages":"100","errorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":1,"source":"101","usedDeprecatedRules":"54"},{"filePath":"102","messages":"103","errorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":1,"source":"104","usedDeprecatedRules":"54"},{"filePath":"105","messages":"106","errorCount":0,"warningCount":8,"fixableErrorCount":0,"fixableWarningCount":0,"source":"107","usedDeprecatedRules":"54"},{"filePath":"108","messages":"109","errorCount":0,"warningCount":5,"fixableErrorCount":0,"fixableWarningCount":0,"source":"110","usedDeprecatedRules":"54"},"A:\\Semester 6\\kracr-website\\src\\index.js",[],["111","112"],"A:\\Semester 6\\kracr-website\\src\\reportWebVitals.js",[],"A:\\Semester 6\\kracr-website\\src\\Reducers\\Index.js",[],"A:\\Semester 6\\kracr-website\\src\\App.js",[],"A:\\Semester 6\\kracr-website\\src\\Reducers\\userDetails.js",[],"A:\\Semester 6\\kracr-website\\src\\Reducers\\isLogged.js",[],"A:\\Semester 6\\kracr-website\\src\\Components\\Chatbot\\chatbot.jsx",["113","114","115","116","117"],"import Message from \"./message\";\r\nimport MessageInputBox from \"./messageInputBox\";\r\nimport React, { Component } from \"react\";\r\nimport {Textsms} from \"@material-ui/icons\"\r\nimport \"./chatbot.css\";\r\n\r\nclass Chatbot extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.fetchSources = this.fetchSources.bind(this);\r\n this.fetchSources();\r\n this.newUserMessage = this.newUserMessage.bind(this);\r\n this.handleMessageAfterStart = this.handleMessageAfterStart.bind(this);\r\n this.handleMessageAfterAnswered = this.handleMessageAfterAnswered.bind(\r\n this\r\n );\r\n this.handleMessageAfterCorrectedText = this.handleMessageAfterCorrectedText.bind(\r\n this\r\n );\r\n this.sendAnswer = this.sendAnswer.bind(this);\r\n this.askAboutTopics = this.askAboutTopics.bind(this);\r\n }\r\n state = {\r\n messages: [\r\n {\r\n text: \"Hello! Please enter your question!\",\r\n author: \"bot\",\r\n },\r\n ],\r\n loading: false,\r\n sources: [{name: \"placement policy\", link: \"https://www.google.com\"}]\r\n };\r\n data = {\r\n state: \"start\",\r\n query: null,\r\n answerChosen: 0,\r\n topics: [],\r\n sentences: [],\r\n };\r\n render() {\r\n let typing = this.state.loading ? (\r\n <div className=\"typingIcon\"><Textsms/></div>\r\n ) : null;\r\n let inputBox = (\r\n <MessageInputBox key=\"\" newUserMessage={this.newUserMessage} />\r\n );\r\n if (this.state.messages[this.state.messages.length - 1].type == \"mcq\") {\r\n inputBox = null;\r\n } else {\r\n inputBox = (\r\n <MessageInputBox key=\"\" newUserMessage={this.newUserMessage} />\r\n );\r\n }\r\n return (\r\n <div className=\"chatbot page\">\r\n <div className=\"chatScreen\">\r\n <div className=\"topBar\">\r\n <div className=\"topBarText\">@iiitd_policybot</div>\r\n </div>\r\n <div className=\"window\">\r\n <div className=\"chat\">\r\n {typing}\r\n {this.state.messages\r\n .map((message, idx) => (\r\n <Message\r\n key={idx}\r\n message={message}\r\n newUserMessage={this.newUserMessage}\r\n />\r\n ))\r\n .reverse()}\r\n </div>\r\n {inputBox}\r\n </div>\r\n </div>\r\n <div className=\"chatbotInfo\">\r\n <div className=\"chatbotInfoScreen\"> \r\n <div className=\"chatbotInfoTitle\">About Policy Chatbot</div>\r\n <div className=\"chatbotInfoBody\">\r\n This Policy Chatbot aims to answer student questions related to IIITD's policies. It can answer questions regarding policies ranging from Admissions, Registration and credits, teaching and evaluation, graduation requirements, hostels, placements, plagiarism, etc. \r\n </div>\r\n <div className=\"chatbotInfoTitle\">Sources</div>\r\n <div className=\"chatbotInfoBody\">\r\n The sources of information that this chatbot uses are:\r\n <ul>\r\n {this.state.sources.map((source) => <li>{source.name} (<a href={source.link}>Link</a>)</li> )}\r\n </ul>\r\n </div>\r\n <div className=\"chatbotInfoTitle\">Interactive View</div>\r\n <div className=\"chatbotInfoBody\">\r\n <a href=\"/interactivesearch\">Explore Interactive View</a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n async fetchSources() {\r\n const requestOptions = {\r\n method: \"GET\",\r\n };\r\n let response = await fetch(\r\n \"http://localhost:8080/sources\",\r\n requestOptions\r\n );\r\n let data = await response.json();\r\n this.setState({sources: data['sources']})\r\n console.log(data['sources']);\r\n }\r\n\r\n clearData() {\r\n this.data = {\r\n state: \"start\",\r\n query: null,\r\n answerChosen: 0,\r\n topics: [],\r\n sentences: [],\r\n correctedText: \"\",\r\n };\r\n }\r\n\r\n removeAnswerFromData() {\r\n if (this.data.topics.length > 0) {\r\n this.data.topics.splice(this.data.answerChosen, 1);\r\n }\r\n this.data.sentences.splice(this.data.answerChosen, 1);\r\n }\r\n\r\n newUserMessage(message) {\r\n this.setState({ messages: [...this.state.messages, message] }, () => {\r\n if (this.data.state === \"start\") {\r\n this.handleMessageAfterStart(message);\r\n } else if (this.data.state === \"correctedText\") {\r\n this.handleMessageAfterCorrectedText(message);\r\n } else if (this.data.state === \"answered\") {\r\n this.handleMessageAfterAnswered(message);\r\n }\r\n });\r\n }\r\n async handleMessageAfterStart(message) {\r\n this.setState({ loading: true });\r\n this.data.state = \"correctedText\";\r\n this.data.query = message.text;\r\n\r\n const requestOptions = {\r\n method: \"POST\",\r\n body: JSON.stringify({ text: this.data.query }),\r\n };\r\n let response = await fetch(\r\n \"http://localhost:8080/correct_text\",\r\n requestOptions\r\n );\r\n let data = await response.json();\r\n this.data.correctedText = data.corrected_text;\r\n\r\n this.setState({ loading: false });\r\n console.log(this.data.correctedText);\r\n\r\n if (this.data.correctedText == this.data.query) {\r\n this.handleMessageAfterCorrectedText(\"No\");\r\n } else {\r\n this.setState({\r\n messages: [\r\n ...this.state.messages,\r\n {\r\n text: `Did you mean: \"${this.data.correctedText}\"? `,\r\n author: \"bot\",\r\n type: \"mcq\",\r\n options: [\"No\", \"Yes\"],\r\n },\r\n ],\r\n });\r\n this.removeAnswerFromData();\r\n }\r\n }\r\n\r\n async handleMessageAfterCorrectedText(message) {\r\n this.setState({ loading: true });\r\n if (message.text == \"Yes\") {\r\n this.data.query = this.data.correctedText;\r\n }\r\n const requestOptions = {\r\n method: \"POST\",\r\n body: JSON.stringify({ query: this.data.query }),\r\n };\r\n let response = await fetch(\r\n \"http://localhost:8080/get_answer\",\r\n requestOptions\r\n );\r\n let data = await response.json();\r\n this.data.sentences = data.sentences;\r\n this.setState({ loading: false });\r\n this.sendAnswer(this.data.sentences);\r\n }\r\n\r\n displayAllAnswers() {\r\n this.setState({\r\n messages: [\r\n ...this.state.messages,\r\n ...this.data.sentences.map((sentence) => {\r\n return {\r\n text: sentence.sentence,\r\n author: \"bot\",\r\n type: \"answer\",\r\n sentence: sentence,\r\n };\r\n }),\r\n {\r\n text: \"Please contact the admin department for more information!\",\r\n author: \"bot\",\r\n },\r\n ],\r\n });\r\n }\r\n\r\n async handleMessageAfterAnswered(message) {\r\n if (message.text == \"Yes\") {\r\n this.setState({\r\n messages: [\r\n ...this.state.messages,\r\n {\r\n text: \"Happy to help!\",\r\n author: \"bot\",\r\n },\r\n ],\r\n });\r\n } else {\r\n if (this.data.sentences.length > 0) {\r\n this.displayAllAnswers();\r\n } else {\r\n this.setState({\r\n messages: [\r\n ...this.state.messages,\r\n {\r\n text: \"Please contact the admin department for more information!\",\r\n author: \"bot\",\r\n },\r\n ],\r\n });\r\n }\r\n }\r\n this.clearData();\r\n }\r\n\r\n sendAnswer() {\r\n if (this.data.sentences == 0) {\r\n this.setState({\r\n messages: [\r\n ...this.state.messages,\r\n {\r\n text: \"I'm sorry, I don't know how to respond to that!\",\r\n author: \"bot\",\r\n },\r\n ],\r\n });\r\n this.data.state = \"start\";\r\n } else {\r\n this.setState({\r\n messages: [\r\n ...this.state.messages,\r\n {\r\n text: this.data.sentences[this.data.answerChosen].sentence,\r\n author: \"bot\",\r\n type: \"answer\",\r\n sentence: this.data.sentences[this.data.answerChosen],\r\n },\r\n {\r\n text: \"Did you find the answer useful?\",\r\n author: \"bot\",\r\n type: \"mcq\",\r\n options: [\"No\", \"Yes\"],\r\n },\r\n ],\r\n });\r\n this.removeAnswerFromData();\r\n this.data.state = \"answered\";\r\n }\r\n }\r\n\r\n askAboutTopics() {\r\n let topics = [\r\n ...new Set(this.data.sentences.map((sentence) => sentence.topic)),\r\n ];\r\n this.data.topics = topics;\r\n if (this.data.topics.length <= 1) {\r\n this.handleMessageAfterTopics({\r\n text: \"1\",\r\n });\r\n return;\r\n }\r\n let question = `Which of the following is the question related to:`;\r\n this.setState({\r\n messages: [\r\n ...this.state.messages,\r\n {\r\n text: question,\r\n author: \"bot\",\r\n type: \"mcq\",\r\n options: this.data.topics,\r\n },\r\n ],\r\n });\r\n this.data.state = \"topics\";\r\n }\r\n}\r\n\r\nexport default Chatbot;\r\n","A:\\Semester 6\\kracr-website\\src\\Components\\Footer\\Footer.jsx",["118"],"import React from \"react\";\r\nimport \"./footer.scss\";\r\n\r\nimport { Link } from 'react-router-dom';\r\n\r\nimport {\r\n PhoneEnabled,\r\n Home,\r\n Mail,\r\n GitHub,\r\n LinkedIn,\r\n Twitter,\r\n Favorite,\r\n} from \"@material-ui/icons\";\r\n\r\n\r\nfunction Footer() {\r\n return (\r\n <div className=\"footer\">\r\n <div className=\"wrapper\">\r\n {\" \"}\r\n <div className=\"left\">\r\n <div className=\"contactItem\">\r\n <PhoneEnabled /> 01126907455\r\n </div>\r\n <div className=\"contactItem\">\r\n <Home />\r\n IIITD, New Delhi, 110020\r\n </div>\r\n <div className=\"contactItem\">\r\n {\" \"}\r\n <Mail /> raghava.mutharaju@iiitd.ac.in\r\n </div>\r\n </div>\r\n <div className=\"middle\">\r\n We are a part of Indraprastha Institute of Information Technology\r\n Delhi. <br></br>\r\n <div>\r\n © 2021 KRaCR Lab, made by <Favorite />\r\n </div>\r\n </div>\r\n <div className=\"right\">\r\n <div className=\"GitHub\">\r\n\t\t <a href=\"https://github.com/kracr\"> \t \t<GitHub /> </a>\r\n \r\n\t\t\r\n </div>\r\n <div className=\"socialItem\">\r\n\t\t <a href=\"https://www.linkedin.com/in/kracr-lab-425762204/\">\r\n <LinkedIn /> </a>\r\n </div>\r\n <div className=\"socialItem\">\r\n <a href=\"https://twitter.com/KracrL\"> </a>\r\n <Twitter />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nexport default Footer;\r\n","A:\\Semester 6\\kracr-website\\src\\Components\\News\\News.jsx",["119","120","121","122","123","124","125","126","127"],"A:\\Semester 6\\kracr-website\\src\\Components\\Home\\Home.jsx",["128","129","130","131","132","133","134","135","136"],"A:\\Semester 6\\kracr-website\\src\\Components\\NavBar\\Navbar.jsx",[],"A:\\Semester 6\\kracr-website\\src\\Components\\Publications\\Publication.jsx",["137","138"],"A:\\Semester 6\\kracr-website\\src\\Components\\CMS\\HomeCMS\\CMS.jsx",[],"A:\\Semester 6\\kracr-website\\src\\Components\\Projects\\Project.jsx",["139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163"],"A:\\Semester 6\\kracr-website\\src\\Components\\CMS\\LoginCMS\\LoginCMS.jsx",["164"],"A:\\Semester 6\\kracr-website\\src\\Components\\Team\\Team.jsx",["165","166","167","168","169","170","171","172","173","174","175"],"A:\\Semester 6\\kracr-website\\src\\firebase.js",[],"A:\\Semester 6\\kracr-website\\src\\Actions\\index.js",[],"A:\\Semester 6\\kracr-website\\src\\Components\\Chatbot\\messageInputBox.jsx",[],"A:\\Semester 6\\kracr-website\\src\\Components\\Chatbot\\message.jsx",["176","177","178","179","180","181"],"import React, { Component } from \"react\";\r\nimport { ButtonGroup, } from \"@material-ui/core\";\r\nimport { ExpandLess, ExpandMore } from '@material-ui/icons'\r\nimport { IconButton } from \"@material-ui/core\";\r\nimport \"./chatbot.css\";\r\n\r\n\r\nclass Message extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.sendOptions = this.sendOptions.bind(this);\r\n this.handleExpand = this.handleExpand.bind(this);\r\n }\r\n state = {\r\n allowOptionSelect: true,\r\n expand: false,\r\n neighbouring_sentences: [],\r\n document: {\r\n name: \"\",\r\n source: \"\",\r\n },\r\n };\r\n\r\n data = {\r\n options: new Set([]),\r\n };\r\n\r\n render() {\r\n let card_class = \"messageCard margin \" + this.props.message.author;\r\n\r\n let mcq = null;\r\n if (this.props.message.type == \"mcq\" && this.state.allowOptionSelect) {\r\n mcq = (\r\n <div className=\"mcq\">\r\n <ButtonGroup>\r\n {this.props.message.options.map((option) => (\r\n <button\r\n disabled={!this.state.allowOptionSelect}\r\n onClick={() => this.sendOptions(option)}\r\n type=\"button\"\r\n className=\"btn btn-secondary btn-lg margin\"\r\n style={{ width: \"15vw\" }}\r\n >\r\n {option}\r\n </button>\r\n ))}\r\n </ButtonGroup>\r\n </div>\r\n );\r\n }\r\n\r\n let expand_button = null;\r\n if (this.props.message.type == \"answer\") {\r\n if (this.state.expand) {\r\n expand_button = (\r\n <IconButton\r\n onClick={() => this.handleExpand(false)}\r\n className=\"margin pull-right\"\r\n > <ExpandLess /> </IconButton>\r\n );\r\n } else {\r\n expand_button = (\r\n <IconButton\r\n onClick={() => this.handleExpand(true)}\r\n className=\"margin pull-right\"\r\n >\r\n <ExpandMore />\r\n </IconButton>\r\n );\r\n }\r\n }\r\n let message_body = null;\r\n if (this.props.message.type == \"answer\" && this.state.expand) {\r\n message_body = (\r\n <div>\r\n <p>\r\n {this.state.neighbouring_sentences.map((sentence) => {\r\n if (sentence.s_id == this.props.message.sentence.s_id) {\r\n return (\r\n <span>\r\n <b>{sentence.sentence} </b>\r\n </span>\r\n );\r\n } else {\r\n return <span>{sentence.sentence} </span>;\r\n }\r\n })}\r\n </p>\r\n <div className=\"answerSource\">\r\n <span>Source: </span>\r\n <a href={this.state.document.source}>{this.state.document.name}</a>\r\n </div>\r\n </div>\r\n );\r\n } else {\r\n message_body = (\r\n <span>\r\n {this.props.message.type == \"answer\"\r\n ? \"...\" + this.props.message.text + \"...\"\r\n : this.props.message.text}\r\n </span>\r\n );\r\n }\r\n return (\r\n <React.Fragment>\r\n <div className={this.props.message.author}>\r\n <div className={card_class}>\r\n {expand_button}\r\n {message_body}\r\n </div>\r\n <div>\r\n <center>{mcq}</center>\r\n </div>\r\n </div>\r\n </React.Fragment>\r\n );\r\n }\r\n\r\n sendOptions(option) {\r\n this.props.newUserMessage({\r\n text: `${[option]}`,\r\n author: `user`,\r\n });\r\n this.data.options = new Set([]);\r\n this.setState({ allowOptionSelect: false });\r\n }\r\n\r\n async handleExpand(expand) {\r\n this.setState({ expand: expand });\r\n if (expand && this.state.neighbouring_sentences.length == 0) {\r\n const requestOptions = {\r\n method: \"POST\",\r\n body: JSON.stringify({\r\n sentence: this.props.message.sentence,\r\n }),\r\n };\r\n let response = await fetch(\r\n \"http://localhost:8080/get_sentence_details\",\r\n requestOptions\r\n );\r\n let data = await response.json();\r\n this.setState({\r\n neighbouring_sentences: data.neighbouring_sentences,\r\n document: data.document,\r\n });\r\n }\r\n }\r\n}\r\n\r\nexport default Message;\r\n","A:\\Semester 6\\kracr-website\\src\\Components\\CMS\\TeamCMS\\TeamCMS.jsx",["182","183","184","185","186","187","188","189"],"import React, { useState, useEffect } from \"react\";\r\nimport \"./teamCMS.scss\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport { storage } from \"../../../firebase\";\r\nimport { FormControl, InputLabel, MenuItem, Select } from \"@material-ui/core\";\r\nimport db from \"../../../firebase\";\r\nimport firebase from \"firebase\";\r\nimport { DeleteForever } from \"@material-ui/icons\";\r\nimport { IconButton } from \"@material-ui/core\";\r\nimport TeamCMSMember from \"./TeamCMSMember\";\r\n\r\nfunction TeamCMS() {\r\n //Getting Team Members\r\n const [teamMembers, setTeamMembers] = useState([]);\r\n\r\n useEffect(() => {\r\n db.collection(\"TeamMembers\").onSnapshot((snapshot) => {\r\n setTeamMembers(\r\n snapshot.docs.map((doc) => ({ id: doc.id, member: doc.data() }))\r\n );\r\n });\r\n }, []);\r\n\r\n //Adding Team Members\r\n const [name, setName] = useState(\"\");\r\n const [designation, setDesignation] = useState(\"\");\r\n const [interest, setInterest] = useState(\"\");\r\n const [webpage, setWebpage] = useState(\"\");\r\n const [github, setGithub] = useState(\"\");\r\n const [twitter, setTwitter] = useState(\"\");\r\n const [linkedin, setLinkedin] = useState(\"\");\r\n const [mail, setMail] = useState(\"\");\r\n\r\n const addTeamMember = async (e) => {\r\n e.preventDefault();\r\n if (\r\n name === \"\" ||\r\n designation === \"\"\r\n ) {\r\n window.alert(\"Please fill both name and designation\"); \r\n } \r\n\telse {\r\n e.preventDefault();\r\n\t if (\r\n\t \r\n\t file === null\r\n\t\t)\r\n\t\t{\r\n\t\t\t db.collection(\"TeamMembers\").doc().set({\r\n Name: name,\r\n Interests: interest,\r\n Designation: designation,\r\n Position: category,\r\n\t\t\t webpageLink: webpage,\r\n githubLink: github,\r\n twitterLink: twitter,\r\n linkedinLink: linkedin,\r\n Mail: mail,\r\n ImageURL: url,\r\n timestamp: firebase.firestore.FieldValue.serverTimestamp(),\r\n });\r\n setName(\"\");\r\n setInterest(\"\");\r\n\t\t\tsetWebpage(\"\");\r\n setTwitter(\"\");\r\n setLinkedin(\"\");\r\n setGithub(\"\");\r\n setDesignation(\"\");\r\n setMail(\"\");\r\n setFile(null);\r\n e.target.value = null;\r\n\t\t\tsetURL(\"\");\r\n \r\n }\r\n\t\telse {\r\n\t\t\t let uploadTask = storage.ref(`/Team/${file.name}`).put(file);\r\n uploadTask.on(\"state_changed\", console.log, console.error, () => {\r\n storage\r\n .ref(\"Team\")\r\n .child(file.name)\r\n .getDownloadURL()\r\n .then((url) => {\r\n setFile(null);\r\n setURL(url);\r\n const uploadTask = storage.ref(`/Team/${file.name}`).put(file);\r\n db.collection(\"TeamMembers\").doc().set({\r\n Name: name,\r\n Interests: interest,\r\n Designation: designation,\r\n Position: category,\r\n\t\t\t webpageLink: webpage,\r\n githubLink: github,\r\n twitterLink: twitter,\r\n linkedinLink: linkedin,\r\n Mail: mail,\r\n ImageURL: url,\r\n timestamp: firebase.firestore.FieldValue.serverTimestamp(),\r\n });\r\n setName(\"\");\r\n setInterest(\"\");\r\n\t\t\tsetWebpage(\"\");\r\n setTwitter(\"\");\r\n setLinkedin(\"\");\r\n setGithub(\"\");\r\n setDesignation(\"\");\r\n setMail(\"\");\r\n setFile(null);\r\n e.target.value = null;\r\n\t\t\tsetURL(\"\");\r\n });\r\n\t\t});\r\n \r\n\t\t\r\n\t\t}\r\n }\r\n };\r\n\r\n //Deleting Member\r\n\r\n const deleteMember = (id) => {\r\n db.collection(\"TeamMembers\").doc(id).delete();\r\n };\r\n\r\n //UPLOADING FILE STARTED\r\n const [file, setFile] = useState(null);\r\n const [url, setURL] = useState(\"\");\r\n function handleImageChange(e) {\r\n setFile(e.target.files[0]);\r\n }\r\n const handleUpload = async (e) => {\r\n const uploadTask = await storage.ref(`/Team/${file.name}`).put(file);\r\n uploadTask.on(\"state_changed\", console.log, console.error, () => {\r\n storage\r\n .ref(\"Team\")\r\n .child(file.name)\r\n .getDownloadURL()\r\n .then((url) => {\r\n setFile(null);\r\n setURL(url);\r\n });\r\n });\r\n };\r\n //UPLOADING FILE ENDING\r\n //DROP DOWN MENU STARTED\r\n const useStyles = makeStyles((theme) => ({\r\n button: {\r\n display: \"block\",\r\n marginTop: theme.spacing(2),\r\n },\r\n formControl: {\r\n margin: theme.spacing(1),\r\n minWidth: 120,\r\n },\r\n }));\r\n\r\n const classes = useStyles();\r\n const [category, setcategory] = React.useState(\"B.Tech\");\r\n const [open, setOpen] = React.useState(false);\r\n\r\n const handleChange = (event) => {\r\n setcategory(event.target.value);\r\n };\r\n\r\n const handleClose = () => {\r\n setOpen(false);\r\n };\r\n\r\n const handleOpen = () => {\r\n setOpen(true);\r\n };\r\n\r\n const validate = (text) => {\r\n console.log(text);\r\n let reg = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/;\r\n if (reg.test(text) === false) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n };\r\n\r\n //DROP DOWN MENU ENDS\r\n return (\r\n <div className=\"teamCMSwrapper\">\r\n <div className=\"addMember\">\r\n <div className=\"title\">Add Member</div>\r\n <form action=\"\">\r\n <div>\r\n <input\r\n type=\"text\"\r\n value={name}\r\n onChange={(e) => setName(e.target.value)}\r\n placeholder=\"Name *\" \r\n ></input>\r\n <span className=\"border\"></span>\r\n </div>\r\n <div>\r\n <input\r\n type=\"text\"\r\n value={designation}\r\n onChange={(e) => setDesignation(e.target.value)}\r\n placeholder=\"Designation *\"\r\n ></input>\r\n <span className=\"border\"></span>\r\n </div>\r\n <div>\r\n <input\r\n type=\"text\"\r\n value={interest}\r\n onChange={(e) => setInterest(e.target.value)}\r\n placeholder=\"Interests\"\r\n ></input>\r\n <span className=\"border\"></span>\r\n </div>\r\n <div>\r\n <input\r\n type=\"file\"\r\n placeholder=\"Image\"\r\n onChange={handleImageChange}\r\n ></input>\r\n <span className=\"border\"></span>\r\n </div>\r\n <div>\r\n <input\r\n type=\"text\"\r\n value={webpage}\r\n onChange={(e) => setWebpage(e.target.value)}\r\n placeholder=\"Webpage Link\"\r\n ></input>\r\n <span className=\"border\"></span>\r\n </div>\r\n <div>\r\n <input\r\n type=\"text\"\r\n value={github}\r\n onChange={(e) => setGithub(e.target.value)}\r\n placeholder=\"Github Link\"\r\n ></input>\r\n <span className=\"border\"></span>\r\n </div>\r\n <div>\r\n <input\r\n type=\"text\"\r\n value={twitter}\r\n onChange={(e) => setTwitter(e.target.value)}\r\n placeholder=\"Twitter Link\"\r\n ></input>\r\n <span className=\"border\"></span>\r\n </div>\r\n <div>\r\n <input\r\n type=\"text\"\r\n value={linkedin}\r\n onChange={(e) => setLinkedin(e.target.value)}\r\n placeholder=\"Linkedin Link\"\r\n ></input>\r\n <span className=\"border\"></span>\r\n </div>\r\n <div>\r\n <input\r\n type=\"email\"\r\n value={mail}\r\n onChange={(e) => setMail(e.target.value)}\r\n placeholder=\"Email\"\r\n ></input>\r\n <span className=\"border\"></span>\r\n </div>\r\n <div>\r\n <FormControl className={classes.formControl}>\r\n <InputLabel id=\"demo-controlled-open-select-label\">\r\n category *\r\n </InputLabel>\r\n <Select\r\n labelId=\"demo-controlled-open-select-label\"\r\n id=\"demo-controlled-open-select\"\r\n open={open}\r\n onClose={handleClose}\r\n onOpen={handleOpen}\r\n value={category}\r\n onChange={handleChange}\r\n >\r\n <MenuItem value=\"\">\r\n <em>None</em>\r\n </MenuItem>\r\n <MenuItem value={\"Faculty\"}>Faculty</MenuItem>\r\n <MenuItem value={\"PhD\"}>Ph.D</MenuItem>\r\n <MenuItem value={\"Masters\"}>Masters</MenuItem>\r\n <MenuItem value={\"BTech\"}>B.Tech</MenuItem>\r\n <MenuItem value={\"Alumni\"}>Alumni</MenuItem>\r\n <MenuItem value={\"RA\"}>RA</MenuItem>\r\n <MenuItem value={\"Intern\"}>Intern</MenuItem>\r\n <MenuItem value={\"Collaborator\"}>Collaborator</MenuItem>\r\n </Select>\r\n </FormControl>\r\n </div>\r\n <div>\r\n <button onClick={addTeamMember}>Add</button>\r\n </div>\r\n </form>\r\n </div>\r\n {teamMembers?.map(({ id, member }) => (\r\n <TeamCMSMember member={member} id={id}></TeamCMSMember>\r\n ))}\r\n </div>\r\n );\r\n}\r\n\r\nexport default TeamCMS;\r\n","A:\\Semester 6\\kracr-website\\src\\Components\\CMS\\PublicationCMS\\PublicationCMS.jsx",["190","191","192","193","194","195"],"import React, { useState, useEffect } from \"react\";\r\nimport \"./PublicationCMS.scss\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport { storage } from \"../../../firebase\";\r\nimport db from \"../../../firebase\";\r\nimport firebase from \"firebase\";\r\nimport { DeleteForever, Description } from \"@material-ui/icons\";\r\nimport { FormControl, InputLabel, MenuItem, Select } from \"@material-ui/core\";\r\n\r\nfunction PublicationCMS() {\r\n //Getting Team Members\r\n const [allpublications, setAllPublications] = useState([]);\r\n\r\n useEffect(() => {\r\n db.collection(\"Publications\")\r\n .orderBy(\"Year\", \"desc\")\r\n .onSnapshot((snapshot) => {\r\n setAllPublications(\r\n snapshot.docs.map((doc) => ({ id: doc.id, publication: doc.data() }))\r\n );\r\n });\r\n }, []);\r\n\r\n //Adding Team Members\r\n const [title, setTitle] = useState(\"\");\r\n const [description, setDescription] = useState(\"\");\r\n const [author, setAuthor] = useState(\"\");\r\n const [year, setYear] = useState(\"\");\r\n\r\n const addTeamMember = async (e) => {\r\n e.preventDefault();\r\n if (title === \"\" || description === \"\" || author === \"\") {\r\n window.alert(\"Please fill Title, Description and Author\");\r\n } else {\r\n\t\t e.preventDefault();\r\n\t\tif (\r\n\t file === null\r\n\t\t)\r\n\t\t{\t\r\n\t\t\r\n\t\t\t\r\n \r\n db.collection(\"Publications\").doc().set({\r\n Title: title,\r\n Description: description,\r\n Authors: author,\r\n PublicationURL: url,\r\n Category: category,\r\n Year: year,\r\n timestamp: firebase.firestore.FieldValue.serverTimestamp(),\r\n });\r\n setTitle(\"\");\r\n setDescription(\"\");\r\n setAuthor(\"\");\r\n setFile(null);\r\n setYear(\"\");\r\n\t\t\tsetURL(\"\");\r\n e.target.value = null;\r\n\t\t\r\n \r\n }\r\n else {\r\n\r\n let uploadTask = storage.ref(`/Publications/${file.name}`).put(file);\r\n uploadTask.on(\"state_changed\", console.log, console.error, () => {\r\n storage\r\n .ref(\"Publications\")\r\n .child(file.name)\r\n .getDownloadURL()\r\n .then((url) => {\r\n setFile(null);\r\n setURL(url);\r\n const uploadTask = storage\r\n .ref(`/Publications/${file.name}`)\r\n .put(file);\r\n db.collection(\"Publications\").doc().set({\r\n Title: title,\r\n Description: description,\r\n Authors: author,\r\n PublicationURL: url,\r\n Category: category,\r\n Year: year,\r\n timestamp: firebase.firestore.FieldValue.serverTimestamp(),\r\n });\r\n setTitle(\"\");\r\n setDescription(\"\");\r\n setAuthor(\"\");\r\n setFile(null);\r\n setYear(\"\");\r\n\t\t\tsetURL(\"\");\r\n e.target.value = null;\r\n });\r\n });\r\n\r\n\t \r\n }\r\n }\r\n };\r\n\r\n //Deleting Member\r\n\r\n const deleteMember = (id) => {\r\n db.collection(\"Publications\").doc(id).delete();\r\n };\r\n\r\n //UPLOADING FILE STARTED\r\n const [file, setFile] = useState(null);\r\n const [url, setURL] = useState(\"\");\r\n function handleImageChange(e) {\r\n setFile(e.target.files[0]);\r\n }\r\n const handleUpload = async (e) => {\r\n const uploadTask = await storage\r\n .ref(`/Publications/${file.name}`)\r\n .put(file);\r\n uploadTask.on(\"state_changed\", console.log, console.error, () => {\r\n storage\r\n .ref(\"Publications\")\r\n .child(file.name)\r\n .getDownloadURL()\r\n .then((url) => {\r\n setFile(null);\r\n setURL(url);\r\n });\r\n });\r\n };\r\n //UPLOADING FILE ENDING\r\n //DROP DOWN MENU STARTED\r\n const useStyles = makeStyles((theme) => ({\r\n button: {\r\n display: \"block\",\r\n marginTop: theme.spacing(2),\r\n },\r\n formControl: {\r\n margin: theme.spacing(1),\r\n minWidth: 120,\r\n },\r\n }));\r\n\r\n const classes = useStyles();\r\n const [category, setcategory] = React.useState(\"B.Tech\");\r\n const [open, setOpen] = React.useState(false);\r\n\r\n const handleChange = (event) => {\r\n setcategory(event.target.value);\r\n };\r\n\r\n const handleClose = () => {\r\n setOpen(false);\r\n };\r\n\r\n const handleOpen = () => {\r\n setOpen(true);\r\n };\r\n\r\n const validate = (text) => {\r\n console.log(text);\r\n let reg = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/;\r\n if (reg.test(text) === false) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n };\r\n\r\n //DROP DOWN MENU ENDS\r\n return (\r\n <div className=\"publicationCMSwrapper\">\r\n <div className=\"addMember\">\r\n <div className=\"title\">Add Publication</div>\r\n <form action=\"\">\r\n <div>\r\n <input\r\n type=\"text\"\r\n value={title}\r\n onChange={(e) => setTitle(e.target.value)}\r\n placeholder=\"Title *\"\r\n ></input>\r\n <span className=\"border\"></span>\r\n </div>\r\n <div>\r\n <input\r\n type=\"text\"\r\n value={description}\r\n onChange={(e) => setDescription(e.target.value)}\r\n placeholder=\"Description *\"\r\n ></input>\r\n <span className=\"border\"></span>\r\n </div>\r\n <div>\r\n <input\r\n type=\"text\"\r\n value={author}\r\n onChange={(e) => setAuthor(e.target.value)}\r\n placeholder=\"Author *\"\r\n ></input>\r\n <span className=\"border\"></span>\r\n </div>\r\n <div>\r\n <input\r\n type=\"text\"\r\n value={year}\r\n onChange={(e) => setYear(e.target.value)}\r\n placeholder=\"Year\"\r\n ></input>\r\n <span className=\"border\"></span>\r\n </div>\r\n <div>\r\n <FormControl className={classes.formControl}>\r\n <InputLabel id=\"demo-controlled-open-select-label\">\r\n category\r\n </InputLabel>\r\n <Select\r\n labelId=\"demo-controlled-open-select-label\"\r\n id=\"demo-controlled-open-select\"\r\n open={open}\r\n onClose={handleClose}\r\n onOpen={handleOpen}\r\n value={category}\r\n onChange={handleChange}\r\n >\r\n <MenuItem value={\"TypeA\"}>TypeA</MenuItem>\r\n <MenuItem value={\"TypeB\"}>TypeB</MenuItem>\r\n <MenuItem value={\"TypeC\"}>TypeC</MenuItem>\r\n </Select>\r\n </FormControl>\r\n </div>\r\n <div>\r\n <input\r\n type=\"file\"\r\n placeholder=\"Image\"\r\n onChange={handleImageChange}\r\n ></input>\r\n <span className=\"border\"></span>\r\n </div>\r\n\r\n <div>\r\n <button onClick={addTeamMember}>Add</button>\r\n </div>\r\n </form>\r\n </div>\r\n {allpublications?.map(({ id, publication }) => (\r\n <div className=\"Publication\">\r\n <div className=\"Document\">\r\n <a target=\"_blank\" href={publication.PublicationURL}>\r\n <Description />\r\n </a>\r\n </div>\r\n <div className=\"data\">\r\n <div className=\"title\">\r\n {publication.Title}, {publication.Authors}\r\n </div>\r\n <div className=\"delete\">\r\n <button\r\n onClick={() => {\r\n if (window.confirm(`Delete ${publication.Title}?`)) {\r\n deleteMember(id);\r\n }\r\n }}\r\n >\r\n <DeleteForever />\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n );\r\n}\r\n\r\nexport default PublicationCMS;\r\n","A:\\Semester 6\\kracr-website\\src\\Components\\CMS\\ProjectCMS\\ProjectCMS.jsx",["196","197","198","199","200","201"],"import React, { useState, useEffect } from \"react\";\r\nimport \"./ProjectCMS.scss\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport { storage } from \"../../../firebase\";\r\nimport db from \"../../../firebase\";\r\nimport firebase from \"firebase\";\r\nimport { DeleteForever, Description } from \"@material-ui/icons\";\r\nimport { FormControl, InputLabel, MenuItem, Select } from \"@material-ui/core\";\r\n\r\nfunction ProjectCMS() {\r\n //Getting Team Members\r\n const [allpublications, setAllPublications] = useState([]);\r\n\r\n useEffect(() => {\r\n db.collection(\"Projects\")\r\n .orderBy(\"Title\", \"asc\")\r\n .onSnapshot((snapshot) => {\r\n setAllPublications(\r\n snapshot.docs.map((doc) => ({ id: doc.id, publication: doc.data() }))\r\n );\r\n });\r\n }, []);\r\n\r\n //Adding Team Members\r\n const [title, setTitle] = useState(\"\");\r\n const [description, setDescription] = useState(\"\");\r\n const [author, setAuthor] = useState(\"\");\r\n const [year, setYear] = useState(\"\");\r\n const [github, setGithub] = useState(\"\");\r\n\r\n const addTeamMember = async (e) => {\r\n e.preventDefault();\r\n if (title === \"\" || description === \"\") {\r\n window.alert(\"Please fill Title and Description\");\r\n } else {\r\n\t\te.preventDefault();\r\n\t\tif (\r\n\t file === null\r\n\t\t)\r\n\t\t{\t\r\n db.collection(\"Projects\").doc().set({\r\n Title: title,\r\n Description: description,\r\n Authors: author,\r\n PublicationURL: url,\r\n Category: category,\r\n GithubLink: github,\r\n Year: year,\r\n timestamp: firebase.firestore.FieldValue.serverTimestamp(),\r\n });\r\n setTitle(\"\");\r\n setDescription(\"\");\r\n setAuthor(\"\");\r\n setYear(\"\");\r\n setFile(null);\r\n\t\t\tsetGithub(\"\");\r\n\t\t\tsetURL(\"\");\r\n\r\n }\r\n\t\r\n\telse {\r\n let uploadTask = storage.ref(`/Projects/${file.name}`).put(file);\r\n uploadTask.on(\"state_changed\", console.log, console.error, () => {\r\n storage\r\n .ref(\"Projects\")\r\n .child(file.name)\r\n .getDownloadURL()\r\n .then((url) => {\r\n setFile(null);\r\n setURL(url);\r\n const uploadTask = storage.ref(`/Projects/${file.name}`).put(file);\r\n db.collection(\"Projects\").doc().set({\r\n Title: title,\r\n Description: description,\r\n Authors: author,\r\n PublicationURL: url,\r\n Category: category,\r\n GithubLink: github,\r\n Year: year,\r\n timestamp: firebase.firestore.FieldValue.serverTimestamp(),\r\n });\r\n setTitle(\"\");\r\n setDescription(\"\");\r\n setAuthor(\"\");\r\n setYear(\"\");\r\n setFile(null);\r\n\t\t\tsetGithub(\"\");\r\n\t\t\tsetURL(\"\");\r\n });\r\n });\r\n \r\n \r\n\t\t\r\n\t}\r\n\t}\r\n };\r\n\r\n //Deleting Member\r\n\r\n const deleteMember = (id) => {\r\n db.collection(\"Projects\").doc(id).delete();\r\n };\r\n\r\n //UPLOADING FILE STARTED\r\n const [file, setFile] = useState(null);\r\n const [url, setURL] = useState(\"\");\r\n function handleImageChange(e) {\r\n setFile(e.target.files[0]);\r\n }\r\n const handleUpload = async (e) => {\r\n const uploadTask = await storage.ref(`/Projects/${file.name}`).put(file);\r\n uploadTask.on(\"state_changed\", console.log, console.error, () => {\r\n storage\r\n .ref(\"Projects\")\r\n .child(file.name)\r\n .getDownloadURL()\r\n .then((url) => {\r\n setFile(null);\r\n setURL(url);\r\n });\r\n });\r\n };\r\n //UPLOADING FILE ENDING\r\n //DROP DOWN MENU STARTED\r\n const useStyles = makeStyles((theme) => ({\r\n button: {\r\n display: \"block\",\r\n marginTop: theme.spacing(2),\r\n },\r\n formControl: {\r\n margin: theme.spacing(1),\r\n minWidth: 120,\r\n },\r\n }));\r\n\r\n const classes = useStyles();\r\n const [category, setcategory] = React.useState(\"B.Tech-\");\r\n const [open, setOpen] = React.useState(false);\r\n\r\n const handleChange = (event) => {\r\n setcategory(event.target.value);\r\n };\r\n\r\n const handleClose = () => {\r\n setOpen(false);\r\n };\r\n\r\n const handleOpen = () => {\r\n setOpen(true);\r\n };\r\n\r\n const validate = (text) => {\r\n console.log(text);\r\n let reg = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/;\r\n if (reg.test(text) === false) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n };\r\n\r\n //DROP DOWN MENU ENDS\r\n return (\r\n <div className=\"publicationCMSwrapper\">\r\n <div className=\"addMember\">\r\n <div className=\"title\">Add Projects</div>\r\n <form action=\"\">\r\n <div>\r\n <input\r\n type=\"text\"\r\n value={title}\r\n onChange={(e) => setTitle(e.target.value)}\r\n placeholder=\"Title *\"\r\n ></input>\r\n <span className=\"border\"></span>\r\n </div>\r\n <div>\r\n <input\r\n type=\"text\"\r\n value={description}\r\n onChange={(e) => setDescription(e.target.value)}\r\n placeholder=\"Description *\"\r\n ></input>\r\n <span className=\"border\"></span>\r\n </div>\r\n <div>\r\n <input\r\n type=\"text\"\r\n value={author}\r\n onChange={(e) => setAuthor(e.target.value)}\r\n placeholder=\"Project Member(s)\"\r\n ></input>\r\n <span className=\"border\"></span>\r\n </div>\r\n <div>\r\n <input\r\n type=\"text\"\r\n value={year}\r\n onChange={(e) => setYear(e.target.value)}\r\n placeholder=\"Year\"\r\n ></input>\r\n <span className=\"border\"></span>\r\n </div>\r\n\r\n <div>\r\n <input\r\n type=\"text\"\r\n value={github}\r\n onChange={(e) => setGithub(e.target.value)}\r\n placeholder=\"Github Link\"\r\n ></input>\r\n <span className=\"border\"></span>\r\n </div>\r\n\r\n <div>\r\n <FormControl className={classes.formControl}>\r\n <InputLabel id=\"demo-controlled-open-select-label\">\r\n category *\r\n </InputLabel>\r\n <Select\r\n labelId=\"demo-controlled-open-select-label\"\r\n id=\"demo-controlled-open-select\"\r\n open={open}\r\n onClose={handleClose}\r\n onOpen={handleOpen}\r\n value={category}\r\n onChange={handleChange}\r\n >\r\n <MenuItem value={\"Ontology Modelling and Enrichment\"}>\r\n Ontology Modelling and Enrichment\r\n </MenuItem>\r\n <MenuItem value={\"Description Logic Reasoning\"}>\r\n Description Logic Reasoning\r\n </MenuItem>\r\n <MenuItem value={\"Knowledge Graphs\"}>Knowledge Graphs</MenuItem>\r\n <MenuItem value={\"SPARQL Querying\"}>SPARQL Querying</MenuItem>\r\n <MenuItem value={\"Semantic Web Applications\"}>\r\n Semantic Web Applications\r\n </MenuItem>\r\n <MenuItem value={\"Others\"}>Others</MenuItem>\r\n </Select>\r\n </FormControl>\r\n </div>\r\n\r\n <div>\r\n <input\r\n type=\"file\"\r\n placeholder=\"Image\"\r\n onChange={handleImageChange}\r\n ></input>\r\n <span className=\"border\"></span>\r\n </div>\r\n\r\n <div>\r\n <button onClick={addTeamMember}>Add</button>\r\n </div>\r\n </form>\r\n </div>\r\n {allpublications?.map(({ id, publication }) => (\r\n <div className=\"Publication\">\r\n <div className=\"Document\">\r\n <a target=\"_blank\" href={publication.PublicationURL}>\r\n <Description />\r\n </a>\r\n </div>\r\n <div className=\"data\">\r\n <div className=\"title\">\r\n {publication.Title}, {publication.Authors}\r\n </div>\r\n <div className=\"delete\">\r\n <button\r\n onClick={() => {\r\n if (window.confirm(`Delete ${publication.Title}?`)) {\r\n deleteMember(id);\r\n }\r\n }}\r\n >\r\n <DeleteForever />\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n );\r\n}\r\n\r\nexport default ProjectCMS;\r\n","A:\\Semester 6\\kracr-website\\src\\Components\\CMS\\NewsCMS\\NewsCMS.jsx",["202","203","204","205","206","207","208","209"],"import React, { useState, useEffect } from \"react\";\r\nimport \"./NewsCMS.scss\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport { storage } from \"../../../firebase\";\r\nimport db from \"../../../firebase\";\r\nimport firebase from \"firebase\";\r\nimport { DeleteForever, Description } from \"@material-ui/icons\";\r\nimport { FormControl, InputLabel, MenuItem, Select } from \"@material-ui/core\";\r\n\r\nfunction NewsCMS() {\r\n //Getting Team Members\r\n const [allnews, setAllNews] = useState([]);\r\n const monthNames = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\",\r\n \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"\r\n];\r\n\r\n useEffect(() => {\r\n db.collection(\"News\")\r\n .orderBy(\"Date\", \"desc\")\r\n .onSnapshot((snapshot) => {\r\n setAllNews(\r\n snapshot.docs.map((doc) => {\r\n var year = new Date(doc.data().Date.seconds * 1000).getFullYear();\r\n var month = monthNames[new Date(doc.data().Date.seconds * 1000).getMonth()];\r\n \r\n return ({ id: doc.id, title: doc.data().Title, date: `${month} ${year}` })\r\n })\r\n );\r\n });\r\n }, []);\r\n\r\n const [title, setTitle] = useState(\"\");\r\n const [date, setDate] = useState(\"\");\r\n\r\n const deleteMember = (id) => {\r\n db.collection(\"News\").doc(id).delete();\r\n };\r\n\r\n const addNews = async (e) => {\r\n e.preventDefault();\r\n console.log(title);\r\n console.log(date);\r\n if (title === \"\" || date === \"\") {\r\n window.alert(\"Please fill News and Date\");\r\n } else {\r\n\t\te.preventDefault();\r\n db.collection(\"News\").doc().set({\r\n Title: title,\r\n Date: firebase.firestore.Timestamp.fromDate(new Date(date)),\r\n });\r\n setTitle(\"\");\r\n setDate(\"\");\r\n\t}\r\n };\r\n\r\n\r\n return (\r\n <div className=\"publicationCMSwrapper\">\r\n <div className=\"addMember\">\r\n <div className=\"title\">Add News</div>\r\n <form action=\"\">\r\n <div>\r\n <input\r\n type=\"text\"\r\n value={title}\r\n onChange={(e) => setTitle(e.target.value)}\r\n placeholder=\"News *\"\r\n ></input>\r\n <span className=\"border\"></span>\r\n </div>\r\n <div>\r\n <input\r\n type=\"date\"\r\n value={date}\r\n onChange={(e) => setDate(e.target.value)}\r\n placeholder=\"Date\"\r\n ></input>\r\n <span className=\"border\"></span>\r\n </div>\r\n <div>\r\n <button onClick={addNews}>Add</button>\r\n </div>\r\n </form>\r\n </div>\r\n {allnews?.map(({ id, title, date }) => (\r\n <div className=\"Publication\">\r\n <div className=\"data\">\r\n <div className=\"title\">\r\n {date}\r\n </div>\r\n <div className=\"body\">\r\n {title}\r\n </div>\r\n <div className=\"delete\">\r\n <button\r\n onClick={() => {\r\n if (window.confirm(`Delete ${title}?`)) {\r\n deleteMember(id);\r\n }\r\n }}\r\n >\r\n <DeleteForever />\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n );\r\n}\r\n\r\nexport default NewsCMS;\r\n","A:\\Semester 6\\kracr-website\\src\\Components\\CMS\\TeamCMS\\TeamCMSMember.jsx",["210","211","212","213","214"],"import React, { useEffect, useState } from \"react\";\r\nimport \"./TeamCMSMember.scss\";\r\nimport { DeleteForever } from \"@material-ui/icons\";\r\nimport { IconButton } from \"@material-ui/core\";\r\nimport db from \"../../../firebase\";\r\nimport { FormControl, InputLabel, MenuItem, Select } from \"@material-ui/core\";\r\nimport firebase from \"firebase\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\n\r\nfunction TeamCMSMember({ member, id }) {\r\n const deleteMember = () => {\r\n db.collection(\"TeamMembers\").doc(id).delete();\r\n };\r\n\r\n const [category, setcategory] = useState(\"B.Tech\");\r\n\r\n useEffect(() => {\r\n setcategory(member.Position);\r\n }, []);\r\n\r\n //DROP DOWN MENU STARTED\r\n const useStyles = makeStyles((theme) => ({\r\n button: {\r\n display: \"block\",\r\n marginTop: theme.spacing(2),\r\n },\r\n formControl: {\r\n margin: theme.spacing(1),\r\n minWidth: 120,\r\n },\r\n }));\r\n\r\n const classes = useStyles();\r\n const [open, setOpen] = useState(false);\r\n\r\n const handleChange = (event) => {\r\n setcategory(event.target.value);\r\n db.collection(\"TeamMembers\")\r\n .doc(id)\r\n .update({ Position: event.target.value });\r\n };\r\n\r\n const handleClose = () => {\r\n setOpen(false);\r\n };\r\n\r\n const handleOpen = () => {\r\n setOpen(true);\r\n };\r\n\r\n const validate = (text) => {\r\n console.log(text);\r\n let reg = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/;\r\n if (reg.test(text) === false) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n };\r\n\r\n //DROP DOWN MENU ENDS\r\n return (\r\n <div className=\"member\">\r\n <div className=\"image\">\r\n <img src={member.ImageURL} alt={member.Name}></img>\r\n </div>\r\n <div className=\"data\">\r\n <div className=\"title\">\r\n {member.Name},{\" \"}\r\n <FormControl className={classes.formControl}>\r\n <InputLabel id=\"demo-controlled-open-select-label\">\r\n category\r\n </InputLabel>\r\n <Select\r\n labelId=\"demo-controlled-open-select-label\"\r\n id=\"demo-controlled-open-select\"\r\n open={open}\r\n onClose={handleClose}\r\n onOpen={handleOpen}\r\n value={category}\r\n onChange={handleChange}\r\n >\r\n <MenuItem value={\"Faculty\"}>Faculty</MenuItem>\r\n <MenuItem value={\"PhD\"}>Ph.D</MenuItem>\r\n <MenuItem value={\"Masters\"}>Masters</MenuItem>\r\n <MenuItem value={\"BTech\"}>B.Tech</MenuItem>\r\n <MenuItem value={\"Alumni\"}>Alumni</MenuItem>\r\n <MenuItem value={\"RA\"}>RA</MenuItem>\r\n <MenuItem value={\"Intern\"}>Intern</MenuItem>\r\n <MenuItem value={\"Collaborator\"}>Collaborator</MenuItem>\r\n </Select>\r\n </FormControl>{\" \"}\r\n </div>\r\n <div className=\"delete\">\r\n <IconButton\r\n onClick={() => {\r\n if (window.confirm(`Delete ${member.Name}?`)) {\r\n deleteMember();\r\n }\r\n }}\r\n >\r\n <DeleteForever />\r\n </IconButton>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nexport default TeamCMSMember;\r\n",{"ruleId":"215","replacedBy":"216"},{"ruleId":"217","replacedBy":"218"},{"ruleId":"219","severity":1,"message":"220","line":47,"column":66,"nodeType":"221","messageId":"222","endLine":47,"endColumn":68},{"ruleId":"219","severity":1,"message":"220","line":160,"column":33,"nodeType":"221","messageId":"222","endLine":160,"endColumn":35},{"ruleId":"219","severity":1,"message":"220","line":180,"column":22,"nodeType":"221","messageId":"222","endLine":180,"endColumn":24},{"ruleId":"219","severity":1,"message":"220","line":218,"column":22,"nodeType":"221","messageId":"222","endLine":218,"endColumn":24},{"ruleId":"219","severity":1,"message":"220","line":247,"column":29,"nodeType":"221","messageId":"222","endLine":247,"endColumn":31},{"ruleId":"223","severity":1,"message":"224","line":4,"column":10,"nodeType":"225","messageId":"226","endLine":4,"endColumn":14},{"ruleId":"223","severity":1,"message":"227","line":3,"column":64,"nodeType":"225","messageId":"226","endLine":3,"endColumn":75},{"ruleId":"223","severity":1,"message":"228","line":5,"column":10,"nodeType":"225","messageId":"226","endLine":5,"endColumn":20},{"ruleId":"229","severity":1,"message":"230","line":36,"column":8,"nodeType":"231","endLine":36,"endColumn":30,"suggestions":"232"},{"ruleId":"219","severity":1,"message":"220","line":60,"column":35,"nodeType":"221","messageId":"222","endLine":60,"endColumn":37},{"ruleId":"229","severity":1,"message":"233","line":66,"column":6,"nodeType":"231","endLine":66,"endColumn":20,"suggestions":"234"},{"ruleId":"223","severity":1,"message":"235","line":68,"column":14,"nodeType":"225","messageId":"226","endLine":68,"endColumn":23},{"ruleId":"223","severity":1,"message":"236","line":78,"column":14,"nodeType":"225","messageId":"226","endLine":78,"endColumn":24},{"ruleId":"237","severity":1,"message":"238","line":117,"column":39,"nodeType":"239","endLine":117,"endColumn":82},{"ruleId":"237","severity":1,"message":"238","line":130,"column":45,"nodeType":"239","endLine":130,"endColumn":104},{"ruleId":"223","severity":1,"message":"240","line":4,"column":10,"nodeType":"225","messageId":"226","endLine":4,"endColumn":14},{"ruleId":"223","severity":1,"message":"241","line":7,"column":8,"nodeType":"225","messageId":"226","endLine":7,"endColumn":25},{"ruleId":"223","severity":1,"message":"242","line":8,"column":17,"nodeType":"225","messageId":"226","endLine":8,"endColumn":21},{"ruleId":"223","severity":1,"message":"228","line":11,"column":10,"nodeType":"225","messageId":"226","endLine":11,"endColumn":20},{"ruleId":"223","severity":1,"message":"243","line":16,"column":9,"nodeType":"225","messageId":"226","endLine":16,"endColumn":15},{"ruleId":"244","severity":1,"message":"245","line":80,"column":22,"nodeType":"246","messageId":"247","endLine":80,"endColumn":23,"suggestions":"248"},{"ruleId":"244","severity":1,"message":"245","line":80,"column":38,"nodeType":"246","messageId":"247","endLine":80,"endColumn":39,"suggestions":"249"},{"ruleId":"223","severity":1,"message":"235","line":88,"column":12,"nodeType":"225","messageId":"226","endLine":88,"endColumn":21},{"ruleId":"223","severity":1,"message":"236","line":98,"column":12,"nodeType":"225","messageId":"226","endLine":98,"endColumn":22},{"ruleId":"223","severity":1,"message":"250","line":6,"column":8,"nodeType":"225","messageId":"226","endLine":6,"endColumn":22},{"ruleId":"219","severity":1,"message":"220","line":63,"column":33,"nodeType":"221","messageId":"222","endLine":63,"endColumn":35},{"ruleId":"251","severity":1,"message":"252","line":27,"column":33,"nodeType":"253","messageId":"254","endLine":27,"endColumn":35},{"ruleId":"219","severity":1,"message":"220","line":28,"column":35,"nodeType":"221","messageId":"222","endLine":28,"endColumn":37},{"ruleId":"219","severity":1,"message":"220","line":30,"column":42,"nodeType":"221","messageId":"222","endLine":30,"endColumn":44},{"ruleId":"219","severity":1,"message":"220","line":32,"column":42,"nodeType":"221","messageId":"222","endLine":32,"endColumn":44},{"ruleId":"219","severity":1,"message":"220","line":34,"column":42,"nodeType":"221","messageId":"222","endLine":34,"endColumn":44},{"ruleId":"219","severity":1,"message":"220","line":36,"column":42,"nodeType":"221","messageId":"222","endLine":36,"endColumn":44},{"ruleId":"219","severity":1,"message":"220","line":38,"column":42,"nodeType":"221","messageId":"222","endLine":38,"endColumn":44},{"ruleId":"219","severity":1,"message":"220","line":88,"column":34,"nodeType":"221","messageId":"222","endLine":88,"endColumn":36},{"ruleId":"219","severity":1,"message":"220","line":96,"column":28,"nodeType":"221","messageId":"222","endLine":96,"endColumn":30},{"ruleId":"219","severity":1,"message":"220","line":101,"column":30,"nodeType":"221","messageId":"222","endLine":101,"endColumn":32},{"ruleId":"219","severity":1,"message":"220","line":122,"column":34,"nodeType":"221","messageId":"222","endLine":122,"endColumn":36},{"ruleId":"219","severity":1,"message":"220","line":130,"column":29,"nodeType":"221","messageId":"222","endLine":130,"endColumn":31},{"ruleId":"219","severity":1,"message":"220","line":135,"column":30,"nodeType":"221","messageId":"222","endLine":135,"endColumn":32},{"ruleId":"219","severity":1,"message":"220","line":150,"column":34,"nodeType":"221","messageId":"222","endLine":150,"endColumn":36},{"ruleId":"219","severity":1,"message":"220","line":158,"column":29,"nodeType":"221","messageId":"222","endLine":158,"endColumn":31},{"ruleId":"219","severity":1,"message":"220","line":163,"column":30,"nodeType":"221","messageId":"222","endLine":163,"endColumn":32},{"ruleId":"219","severity":1,"message":"220","line":177,"column":53,"nodeType":"221","messageId":"222","endLine":177,"endColumn":55},{"ruleId":"219","severity":1,"message":"220","line":185,"column":29,"nodeType":"221","messageId":"222","endLine":185,"endColumn":31},{"ruleId":"219","severity":1,"message":"220","line":190,"column":30,"nodeType":"221","messageId":"222","endLine":190,"endColumn":32},{"ruleId":"219","severity":1,"message":"220","line":204,"column":34,"nodeType":"221","messageId":"222","endLine":204,"endColumn":36},{"ruleId":"219","severity":1,"message":"220","line":212,"column":29,"nodeType":"221","messageId":"222","endLine":212,"endColumn":31},{"ruleId":"219","severity":1,"message":"220","line":217,"column":30,"nodeType":"221","messageId":"222","endLine":217,"endColumn":32},{"ruleId":"219","severity":1,"message":"220","line":229,"column":60,"nodeType":"221","messageId":"222","endLine":229,"endColumn":62},{"ruleId":"219","severity":1,"message":"220","line":236,"column":29,"nodeType":"221","messageId":"222","endLine":236,"endColumn":31},{"ruleId":"219","severity":1,"message":"220","line":241,"column":30,"nodeType":"221","messageId":"222","endLine":241,"endColumn":32},{"ruleId":"223","severity":1,"message":"255","line":7,"column":9,"nodeType":"225","messageId":"226","endLine":7,"endColumn":23},{"ruleId":"223","severity":1,"message":"256","line":4,"column":3,"nodeType":"225","messageId":"226","endLine":4,"endColumn":20},{"ruleId":"223","severity":1,"message":"257","line":5,"column":3,"nodeType":"225","messageId":"226","endLine":5,"endColumn":17},{"ruleId":"251","severity":1,"message":"252","line":33,"column":33,"nodeType":"253","messageId":"254","endLine":33,"endColumn":35},{"ruleId":"219","severity":1,"message":"220","line":34,"column":35,"nodeType":"221","messageId":"222","endLine":34,"endColumn":37},{"ruleId":"219","severity":1,"message":"220","line":36,"column":42,"nodeType":"221","messageId":"222","endLine":36,"endColumn":44},{"ruleId":"219","severity":1,"message":"220","line":38,"column":42,"nodeType":"221","messageId":"222","endLine":38,"endColumn":44},{"ruleId":"219","severity":1,"message":"220","line":40,"column":42,"nodeType":"221","messageId":"222","endLine":40,"endColumn":44},{"ruleId":"219","severity":1,"message":"220","line":42,"column":42,"nodeType":"221","messageId":"222","endLine":42,"endColumn":44},{"ruleId":"219","severity":1,"message":"220","line":44,"column":42,"nodeType":"221","messageId":"222","endLine":44,"endColumn":44},{"ruleId":"219","severity":1,"message":"220","line":46,"column":42,"nodeType":"221","messageId":"222","endLine":46,"endColumn":44},{"ruleId":"219","severity":1,"message":"220","line":48,"column":36,"nodeType":"221","messageId":"222","endLine":48,"endColumn":38},{"ruleId":"219","severity":1,"message":"220","line":32,"column":33,"nodeType":"221","messageId":"222","endLine":32,"endColumn":35},{"ruleId":"219","severity":1,"message":"220","line":53,"column":33,"nodeType":"221","messageId":"222","endLine":53,"endColumn":35},{"ruleId":"219","severity":1,"message":"220","line":73,"column":33,"nodeType":"221","messageId":"222","endLine":73,"endColumn":35},{"ruleId":"219","severity":1,"message":"220","line":78,"column":33,"nodeType":"221","messageId":"222","endLine":78,"endColumn":35},{"ruleId":"219","severity":1,"message":"220","line":98,"column":36,"nodeType":"221","messageId":"222","endLine":98,"endColumn":38},{"ruleId":"219","severity":1,"message":"220","line":130,"column":60,"nodeType":"221","messageId":"222","endLine":130,"endColumn":62},{"ruleId":"223","severity":1,"message":"258","line":8,"column":10,"nodeType":"225","messageId":"226","endLine":8,"endColumn":23},{"ruleId":"223","severity":1,"message":"259","line":9,"column":10,"nodeType":"225","messageId":"226","endLine":9,"endColumn":20},{"ruleId":"223","severity":1,"message":"260","line":85,"column":19,"nodeType":"225","messageId":"226","endLine":85,"endColumn":29},{"ruleId":"223","severity":1,"message":"261","line":120,"column":9,"nodeType":"225","messageId":"226","endLine":120,"endColumn":21},{"ruleId":"223","severity":1,"message":"262","line":130,"column":9,"nodeType":"225","messageId":"226","endLine":130,"endColumn":21},{"ruleId":"223","severity":1,"message":"263","line":172,"column":9,"nodeType":"225","messageId":"226","endLine":172,"endColumn":17},{"ruleId":"244","severity":1,"message":"245","line":174,"column":22,"nodeType":"246","messageId":"247","endLine":174,"endColumn":23,"suggestions":"264"},{"ruleId":"244","severity":1,"message":"245","line":174,"column":38,"nodeType":"246","messageId":"247","endLine":174,"endColumn":39,"suggestions":"265"},{"ruleId":"223","severity":1,"message":"260","line":73,"column":19,"nodeType":"225","messageId":"226","endLine":73,"endColumn":29},{"ruleId":"223","severity":1,"message":"262","line":112,"column":9,"nodeType":"225","messageId":"226","endLine":112,"endColumn":21},{"ruleId":"223","severity":1,"message":"263","line":156,"column":9,"nodeType":"225","messageId":"226","endLine":156,"endColumn":17},{"ruleId":"244","severity":1,"message":"245","line":158,"column":22,"nodeType":"246","messageId":"247","endLine":158,"endColumn":23,"suggestions":"266"},{"ruleId":"244","severity":1,"message":"245","line":158,"column":38,"nodeType":"246","messageId":"247","endLine":158,"endColumn":39,"suggestions":"267"},{"ruleId":"268","severity":1,"message":"269","line":245,"column":13,"nodeType":"270","messageId":"271","endLine":245,"endColumn":66,"fix":"272"},{"ruleId":"223","severity":1,"message":"260","line":71,"column":19,"nodeType":"225","messageId":"226","endLine":71,"endColumn":29},{"ruleId":"223","severity":1,"message":"262","line":110,"column":9,"nodeType":"225","messageId":"226","endLine":110,"endColumn":21},{"ruleId":"223","severity":1,"message":"263","line":152,"column":9,"nodeType":"225","messageId":"226","endLine":152,"endColumn":17},{"ruleId":"244","severity":1,"message":"245","line":154,"column":22,"nodeType":"246","messageId":"247","endLine":154,"endColumn":23,"suggestions":"273"},{"ruleId":"244","severity":1,"message":"245","line":154,"column":38,"nodeType":"246","messageId":"247","endLine":154,"endColumn":39,"suggestions":"274"},{"ruleId":"268","severity":1,"message":"269","line":262,"column":13,"nodeType":"270","messageId":"271","endLine":262,"endColumn":66,"fix":"275"},{"ruleId":"223","severity":1,"message":"276","line":3,"column":10,"nodeType":"225","messageId":"226","endLine":3,"endColumn":20},{"ruleId":"223","severity":1,"message":"277","line":4,"column":10,"nodeType":"225","messageId":"226","endLine":4,"endColumn":17},{"ruleId":"223","severity":1,"message":"278","line":7,"column":25,"nodeType":"225","messageId":"226","endLine":7,"endColumn":36},{"ruleId":"223","severity":1,"message":"279","line":8,"column":10,"nodeType":"225","messageId":"226","endLine":8,"endColumn":21},{"ruleId":"223","severity":1,"message":"280","line":8,"column":23,"nodeType":"225","messageId":"226","endLine":8,"endColumn":33},{"ruleId":"223","severity":1,"message":"281","line":8,"column":35,"nodeType":"225","messageId":"226","endLine":8,"endColumn":43},{"ruleId":"223","severity":1,"message":"282","line":8,"column":45,"nodeType":"225","messageId":"226","endLine":8,"endColumn":51},{"ruleId":"229","severity":1,"message":"230","line":30,"column":6,"nodeType":"231","endLine":30,"endColumn":8,"suggestions":"283"},{"ruleId":"223","severity":1,"message":"284","line":7,"column":8,"nodeType":"225","messageId":"226","endLine":7,"endColumn":16},{"ruleId":"229","severity":1,"message":"285","line":19,"column":6,"nodeType":"231","endLine":19,"endColumn":8,"suggestions":"286"},{"ruleId":"223","severity":1,"message":"263","line":51,"column":9,"nodeType":"225","messageId":"226","endLine":51,"endColumn":17},{"ruleId":"244","severity":1,"message":"245","line":53,"column":22,"nodeType":"246","messageId":"247","endLine":53,"endColumn":23,"suggestions":"287"},{"ruleId":"244","severity":1,"message":"245","line":53,"column":38,"nodeType":"246","messageId":"247","endLine":53,"endColumn":39,"suggestions":"288"},"no-native-reassign",["289"],"no-negated-in-lhs",["290"],"eqeqeq","Expected '===' and instead saw '=='.","BinaryExpression","unexpected","no-unused-vars","'Link' is defined but never used.","Identifier","unusedVar","'DoubleArrow' is defined but never used.","'ScrollMenu' is defined but never used.","react-hooks/exhaustive-deps","React Hook useEffect has a missing dependency: 'monthNames'. Either include it or remove the dependency array.","ArrayExpression",["291"],"React Hook useEffect has missing dependencies: 'monthNames' and 'nestedNews'. Either include them or remove the dependency array.",["292"],"'LeftArrow' is defined but never used.","'RightArrow' is defined but never used.","jsx-a11y/aria-props","aria-collapsed: This attribute is an invalid ARIA attribute.","JSXAttribute","'Line' is defined but never used.","'SimpleImageSlider' is defined but never used.","'Fade' is defined but never used.","'images' is assigned a value but never used.","no-useless-escape","Unnecessary escape character: \\..","Literal","unnecessaryEscape",["293","294"],["295","296"],"'ExpandLessIcon' is defined but never used.","array-callback-return","Array.prototype.map() expects a return value from arrow function.","ArrowFunctionExpression","expectedInside","'REACT_APP_Pass' is assigned a value but never used.","'KeyboardArrowDown' is defined but never used.","'KeyboardDropUp' is defined but never used.","'DeleteForever' is defined but never used.","'IconButton' is defined but never used.","'uploadTask' is assigned a value but never used.","'deleteMember' is assigned a value but never used.","'handleUpload' is assigned a value but never used.","'validate' is assigned a value but never used.",["297","298"],["299","300"],["301","302"],["303","304"],"react/jsx-no-target-blank","Using target=\"_blank\" without rel=\"noreferrer\" is a security risk: see https://html.spec.whatwg.org/multipage/links.html#link-type-noopener","JSXOpeningElement","noTargetBlank",{"range":"305","text":"306"},["307","308"],["309","310"],{"range":"311","text":"306"},"'makeStyles' is defined but never used.","'storage' is defined but never used.","'Description' is defined but never used.","'FormControl' is defined but never used.","'InputLabel' is defined but never used.","'MenuItem' is defined but never used.","'Select' is defined but never used.",["312"],"'firebase' is defined but never used.","React Hook useEffect has a missing dependency: 'member.Position'. Either include it or remove the dependency array. If 'setcategory' needs the current value of 'member.Position', you can also switch to useReducer instead of useState and read 'member.Position' in the reducer.",["313"],["314","315"],["316","317"],"no-global-assign","no-unsafe-negation",{"desc":"318","fix":"319"},{"desc":"320","fix":"321"},{"messageId":"322","fix":"323","desc":"324"},{"messageId":"325","fix":"326","desc":"327"},{"messageId":"322","fix":"328","desc":"324"},{"messageId":"325","fix":"329","desc":"327"},{"messageId":"322","fix":"330","desc":"324"},{"messageId":"325","fix":"331","desc":"327"},{"messageId":"322","fix":"332","desc":"324"},{"messageId":"325","fix":"333","desc":"327"},{"messageId":"322","fix":"334","desc":"324"},{"messageId":"325","fix":"335","desc":"327"},{"messageId":"322","fix":"336","desc":"324"},{"messageId":"325","fix":"337","desc":"327"},[7122,7122]," rel=\"noreferrer\"",{"messageId":"322","fix":"338","desc":"324"},{"messageId":"325","fix":"339","desc":"327"},{"messageId":"322","fix":"340","desc":"324"},{"messageId":"325","fix":"341","desc":"327"},[7768,7768],{"desc":"342","fix":"343"},{"desc":"344","fix":"345"},{"messageId":"322","fix":"346","desc":"324"},{"messageId":"325","fix":"347","desc":"327"},{"messageId":"322","fix":"348","desc":"324"},{"messageId":"325","fix":"349","desc":"327"},"Update the dependencies array to be: [inputFilter, allNews, monthNames]",{"range":"350","text":"351"},"Update the dependencies array to be: [filteredData, monthNames, nestedNews]",{"range":"352","text":"353"},"removeEscape",{"range":"354","text":"355"},"Remove the `\\`. This maintains the current functionality.","escapeBackslash",{"range":"356","text":"357"},"Replace the `\\` with `\\\\` to include the actual backslash character.",{"range":"358","text":"355"},{"range":"359","text":"357"},{"range":"360","text":"355"},{"range":"361","text":"357"},{"range":"362","text":"355"},{"range":"363","text":"357"},{"range":"364","text":"355"},{"range":"365","text":"357"},{"range":"366","text":"355"},{"range":"367","text":"357"},{"range":"368","text":"355"},{"range":"369","text":"357"},{"range":"370","text":"355"},{"range":"371","text":"357"},"Update the dependencies array to be: [monthNames]",{"range":"372","text":"373"},"Update the dependencies array to be: [member.Position]",{"range":"374","text":"375"},{"range":"376","text":"355"},{"range":"377","text":"357"},{"range":"378","text":"355"},{"range":"379","text":"357"},[1450,1472],"[inputFilter, allNews, monthNames]",[2622,2636],"[filteredData, monthNames, nestedNews]",[2634,2635],"",[2634,2634],"\\",[2650,2651],[2650,2650],[4910,4911],[4910,4910],[4926,4927],[4926,4926],[4326,4327],[4326,4326],[4342,4343],[4342,4342],[4199,4200],[4199,4199],[4215,4216],[4215,4215],[1146,1148],"[monthNames]",[648,650],"[member.Position]",[1363,1364],[1363,1363],[1379,1380],[1379,1379]]