diff --git a/UE19CS204_Project report.pptx b/UE19CS204_Project report.pptx new file mode 100644 index 0000000..859cd9a Binary files /dev/null and b/UE19CS204_Project report.pptx differ diff --git a/project_manager_webtech/routes/tasks.route.js b/project_manager_webtech/routes/tasks.route.js index 3b01d8b..af62604 100644 --- a/project_manager_webtech/routes/tasks.route.js +++ b/project_manager_webtech/routes/tasks.route.js @@ -215,7 +215,7 @@ router.post('/:taskId/:taskStatus/updateST', auth, async (req, res) => { return res.status(404).send("Task not found") } - if (!isNaN(parseFloat(req.params.taskId))) { + if (!isNaN(parseFloat(req.params.taskStatus))) { task.taskStatus = req.params.taskStatus await task.save() } diff --git a/project_manager_webtech_frontend/.eslintcache b/project_manager_webtech_frontend/.eslintcache index 0f85720..a7b709c 100644 --- a/project_manager_webtech_frontend/.eslintcache +++ b/project_manager_webtech_frontend/.eslintcache @@ -1 +1 @@ -[{"/home/kunal/Development/project_manager_webtech_frontend/src/reportWebVitals.js":"1","/home/kunal/Development/project_manager_webtech_frontend/src/App.js":"2","/home/kunal/Development/project_manager_webtech_frontend/src/index.js":"3","/home/kunal/Development/project_manager_webtech_frontend/src/views/Register.js":"4","/home/kunal/Development/project_manager_webtech_frontend/src/views/Login.js":"5","/home/kunal/Development/project_manager_webtech_frontend/src/services/Auth.js":"6","/home/kunal/Development/project_manager_webtech_frontend/src/views/Home.js":"7","/home/kunal/Development/project_manager_webtech_frontend/src/services/Teams.js":"8","/home/kunal/Development/project_manager_webtech_frontend/src/views/Team.js":"9","/home/kunal/Development/project_manager_webtech_frontend/src/views/Tasks.js":"10","/home/kunal/Development/project_manager_webtech_frontend/src/services/Task.js":"11","/home/kunal/Development/project_manager_webtech_frontend/src/views/SubTask.js":"12","/home/kunal/Development/test/project_manager_webtech_frontend/src/index.js":"13","/home/kunal/Development/test/project_manager_webtech_frontend/src/services/Teams.js":"14","/home/kunal/Development/test/project_manager_webtech_frontend/src/views/Team.js":"15","/home/kunal/Development/test/project_manager_webtech_frontend/src/views/MainTask.js":"16","/home/kunal/Development/test/project_manager_webtech_frontend/src/services/Auth.js":"17","/home/kunal/Development/test/project_manager_webtech_frontend/src/views/Register.js":"18","/home/kunal/Development/test/project_manager_webtech_frontend/src/views/Tasks.js":"19","/home/kunal/Development/test/project_manager_webtech_frontend/src/App.js":"20","/home/kunal/Development/test/project_manager_webtech_frontend/src/reportWebVitals.js":"21","/home/kunal/Development/test/project_manager_webtech_frontend/src/views/Home.js":"22","/home/kunal/Development/test/project_manager_webtech_frontend/src/services/Task.js":"23","/home/kunal/Development/test/project_manager_webtech_frontend/src/views/Login.js":"24"},{"size":362,"mtime":1606712551839,"results":"25","hashOfConfig":"26"},{"size":4109,"mtime":1607166921492,"results":"27","hashOfConfig":"26"},{"size":500,"mtime":1606750354855,"results":"28","hashOfConfig":"26"},{"size":2830,"mtime":1607166340608,"results":"29","hashOfConfig":"26"},{"size":2216,"mtime":1607166259802,"results":"30","hashOfConfig":"26"},{"size":1541,"mtime":1606814588555,"results":"31","hashOfConfig":"26"},{"size":1561,"mtime":1607170988586,"results":"32","hashOfConfig":"26"},{"size":1859,"mtime":1607238210549,"results":"33","hashOfConfig":"26"},{"size":2358,"mtime":1607235807872,"results":"34","hashOfConfig":"26"},{"size":6688,"mtime":1607238512219,"results":"35","hashOfConfig":"26"},{"size":3525,"mtime":1607239967771,"results":"36","hashOfConfig":"26"},{"size":6746,"mtime":1607238503509,"results":"37","hashOfConfig":"26"},{"size":500,"mtime":1607119490000,"results":"38","hashOfConfig":"39"},{"size":1850,"mtime":1607119708000,"results":"40","hashOfConfig":"39"},{"size":1316,"mtime":1607278553845,"results":"41","hashOfConfig":"39"},{"size":11169,"mtime":1607280606668,"results":"42","hashOfConfig":"39"},{"size":1541,"mtime":1607119490000,"results":"43","hashOfConfig":"39"},{"size":2827,"mtime":1607278889716,"results":"44","hashOfConfig":"39"},{"size":2777,"mtime":1607279894673,"results":"45","hashOfConfig":"39"},{"size":4115,"mtime":1607282649987,"results":"46","hashOfConfig":"39"},{"size":362,"mtime":1607119490000,"results":"47","hashOfConfig":"39"},{"size":1563,"mtime":1607277975659,"results":"48","hashOfConfig":"39"},{"size":4234,"mtime":1607279891547,"results":"49","hashOfConfig":"39"},{"size":2215,"mtime":1607278672297,"results":"50","hashOfConfig":"39"},{"filePath":"51","messages":"52","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"53"},"92n27z",{"filePath":"54","messages":"55","errorCount":0,"warningCount":9,"fixableErrorCount":0,"fixableWarningCount":0,"source":"56","usedDeprecatedRules":"57"},{"filePath":"58","messages":"59","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"60"},{"filePath":"61","messages":"62","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"63"},{"filePath":"64","messages":"65","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"66","usedDeprecatedRules":"67"},{"filePath":"68","messages":"69","errorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":"70","usedDeprecatedRules":"71"},{"filePath":"72","messages":"73","errorCount":0,"warningCount":10,"fixableErrorCount":0,"fixableWarningCount":0,"source":"74","usedDeprecatedRules":"75"},{"filePath":"76","messages":"77","errorCount":0,"warningCount":5,"fixableErrorCount":0,"fixableWarningCount":0,"source":"78"},{"filePath":"79","messages":"80","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"81"},{"filePath":"82","messages":"83","errorCount":0,"warningCount":7,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"84","messages":"85","errorCount":0,"warningCount":10,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"86","messages":"87","errorCount":0,"warningCount":7,"fixableErrorCount":0,"fixableWarningCount":0,"source":"88"},{"filePath":"89","messages":"90","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"91"},"dhvv5i",{"filePath":"92","messages":"93","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"94"},{"filePath":"95","messages":"96","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"97","messages":"98","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"99","messages":"100","errorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"101","messages":"102","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"103","messages":"104","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"105","messages":"106","errorCount":0,"warningCount":5,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"107","messages":"108","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"109","messages":"110","errorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":"111"},{"filePath":"112","messages":"113","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"114","messages":"115","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"/home/kunal/Development/project_manager_webtech_frontend/src/reportWebVitals.js",[],["116","117"],"/home/kunal/Development/project_manager_webtech_frontend/src/App.js",["118","119","120","121","122","123","124","125","126"],"import './App.css';\nimport './style.css';\n\nimport React, { useCallback } from \"react\";\nimport { BrowserRouter as Router, Route } from 'react-router-dom';\nimport 'bootstrap/dist/css/bootstrap.min.css';\n\nimport Login from './views/Login'\nimport Register from './views/Register'\nimport Navbar from 'react-bootstrap/Navbar';\nimport Nav from 'react-bootstrap/Nav';\n\nimport Home from './views/Home'\nimport Team from './views/Team'\n\nimport Jumbotron from 'react-bootstrap/Jumbotron';\nimport Container from 'react-bootstrap/Container';\nimport InputGroup from 'react-bootstrap/InputGroup';\nimport FormControl from 'react-bootstrap/FormControl';\nimport Button from 'react-bootstrap/Button'\n\nconst { auth, login } = require('./services/Auth')\nconst {createTeam, joinTeam_1} = require('./services/Teams')\nvar new_team_ref;\nvar join_team_ref;\n\n\nasync function createNewTeam(){\n //console.log(new_team_ref.value);\n let r = await createTeam(new_team_ref.value)\n window.location.href = '/';\n}\nasync function joinTeam(){\n console.log(join_team_ref.value);\n let r = await joinTeam_1(join_team_ref.value)\n window.location.href = '/';\n}\n\nclass App extends React.Component {\n constructor() {\n super();\n this.state = {\n logged_in: 0,\n data: {}\n }\n this.log_out = this.log_out.bind(this);\n this.log_in = this.log_in.bind(this);\n\n new_team_ref = null;\n join_team_ref = null;\n\n }\n async componentDidMount() {\n const auth_check = await auth();\n //console.log(auth_check);\n if (auth_check) this.setState({ logged_in: 1, data: auth_check });\n }\n\n async log_in() {\n const auth_check = await auth();\n if (auth_check) this.setState({ logged_in: 1, data: auth_check });\n }\n\n async log_out() {\n localStorage.removeItem('x-access-token');\n const auth_check = await auth();\n if (!auth_check) this.setState({ logged_in: 0, data: {} });\n window.location.href = \"/\";\n }\n\n newTeam_render() {\n return (\n \n

Create a new team

\n \n {new_team_ref = el}}\n />\n \n \n
\n );\n }\n\n joinTeam_render() {\n return (\n \n

Join a team

\n \n {join_team_ref = el}}\n />\n \n \n
\n );\n }\n\n authentication() {\n return (\n \n \n Project Manager\n \n \n } />\n } />\n \n );\n }\n\n home() {\n return (\n \n \n Project Manager\n \n \n \n \n \n \n\n \n )\n }\n\n render() {\n return this.state.logged_in ? this.home() : this.authentication();\n }\n}\n\nexport default App;",["127","128"],"/home/kunal/Development/project_manager_webtech_frontend/src/index.js",[],["129","130"],"/home/kunal/Development/project_manager_webtech_frontend/src/views/Register.js",["131","132"],"import React from 'react'\nimport Container from 'react-bootstrap/Container';\nimport Button from 'react-bootstrap/Button';\nimport FormControl from 'react-bootstrap/FormControl';\nimport InputGroup from 'react-bootstrap/InputGroup';\nimport Jumbotron from 'react-bootstrap/Jumbotron';\n\nimport '../style.css'\n\n\nconst {register} = require('../services/Auth');\n\nclass Register extends React.Component {\n constructor(){\n super();\n this.state = {\n user: \"\",\n password: \"\"\n };\n this.userHandler = this.userHandler.bind(this);\n this.passwordHandler = this.passwordHandler.bind(this);\n this.emailHandler = this.emailHandler.bind(this);\n this.submitHandler = this.submitHandler.bind(this);\n }\n\n userHandler(ev){\n this.setState({user: ev.target.value});\n }\n\n emailHandler(ev){\n this.setState({email: ev.target.value});\n }\n\n\n passwordHandler(ev){\n this.setState({password: ev.target.value});\n }\n\n submitHandler(){\n //console.log(this.state.email,this.state.password);\n let r = register(this.state);\n if(r) window.location.href='/';\n }\n\n render() {\n return (\n \n \n

Register

\n

Enter your details

\n
\n \n \n \n Username\n \n \n \n \n \n \n \n Email ID\n \n \n \n \n \n \n \n Password\n \n \n \n \n \n
\n );\n }\n}\n\nexport default Register","/home/kunal/Development/project_manager_webtech_frontend/src/views/Login.js",["133","134"],"import React from 'react'\nimport Container from 'react-bootstrap/Container';\nimport Button from 'react-bootstrap/Button';\nimport FormControl from 'react-bootstrap/FormControl';\nimport InputGroup from 'react-bootstrap/InputGroup';\nimport Jumbotron from 'react-bootstrap/Jumbotron';\n\nimport '../style.css'\n\nconst {login} = require('../services/Auth');\n\nclass Login extends React.Component {\n constructor(props){\n super(props);\n this.state = {\n user: \"\",\n password: \"\"\n };\n this.userHandler = this.userHandler.bind(this);\n this.passwordHandler = this.passwordHandler.bind(this);\n this.submitHandler = this.submitHandler.bind(this);\n }\n\n userHandler(ev){\n this.setState({user: ev.target.value});\n }\n\n passwordHandler(ev){\n this.setState({password: ev.target.value});\n }\n\n async submitHandler(){\n let r = await login(this.state);\n if(r) this.props.login_func();\n }\n\n render() {\n return (\n \n \n

Login

\n

Enter your login details

\n
\n \n \n \n Username\n \n \n \n \n \n \n \n Password\n \n \n \n \n \n
\n );\n }\n}\n\nexport default Login",["135","136"],"/home/kunal/Development/project_manager_webtech_frontend/src/services/Auth.js",["137","138","139","140"],"const fetch = require('node-fetch');\n\nconst URL = 'http://localhost:8000';\n\nasync function login(data) {\n var body = {\n userName: data.user,\n password: data.password\n };\n let res = await fetch(`${URL}/api/auth/userLogin`, {\n method: 'POST',\n body: JSON.stringify(body),\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n if(res.status == 200){\n var token = res.headers.get(\"x-auth-token\");\n localStorage.setItem('x-access-token',token);\n return 1;\n }\n else return 0\n}\n\nasync function register(data){\n\n var body = {\n userName: data.user,\n email: data.email,\n password: data.password\n };\n let res = fetch(`${URL}/api/auth/userCreate`, {\n method: 'POST',\n body: JSON.stringify(body),\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n if(res.status == 200){\n var token = res.headers.get(\"x-auth-token\");\n localStorage.setItem('x-access-token', token);\n return 1;\n } else return 0;\n}\n\nasync function auth(){\n let token = localStorage.getItem('x-access-token');\n //console.log(token);\n if(!token) return 0;\n let res = await fetch(`${URL}/api/auth/current`, {\n method: 'GET',\n headers: {\n 'x-access-token': token\n }\n })\n test = await res.text();\n if(res.status == 200) return JSON.parse(test);\n else return 0;\n}\n\nexports.login = login;\nexports.register = register;\nexports.auth = auth;",["141","142"],"/home/kunal/Development/project_manager_webtech_frontend/src/views/Home.js",["143","144","145","146","147","148","149","150","151","152"],"import React from 'react'\nimport { Card, InputGroup } from 'react-bootstrap'\nimport Container from 'react-bootstrap/Container'\nimport Jumbotron from 'react-bootstrap/Jumbotron'\nimport Button from 'react-bootstrap/Button'\nimport { Route, Switch } from 'react-router-dom'\nimport FormControl from 'react'\n\nimport '../style.css'\n\nconst { getTeams } = require('../services/Teams')\n\nclass Home extends React.Component {\n constructor() {\n super()\n this.state = {\n teams: []\n }\n }\n\n generateList(data) {\n return (\n \n \n {data.teamName}\n \n \n Invite Code

{data.teamNumber}
\n
\n );\n }\n\n async componentDidMount() {\n let res = await getTeams();\n this.setState({ teams: res })\n }\n\n render() {\n return (\n \n \n

Your teams

\n
\n {this.state.teams.map(data=>this.generateList(data))}\n
\n );\n }\n}\n\nexport default Home;",["153","154"],"/home/kunal/Development/project_manager_webtech_frontend/src/services/Teams.js",["155","156","157","158","159"],"const fetch = require('node-fetch');\n\nconst URL = 'http://localhost:8000';\n\nasync function getTeams(){\n let token = localStorage.getItem('x-access-token');\n let res = await fetch(`${URL}/api/auth/teams`, {\n method: 'GET',\n headers: {\n 'x-access-token': token\n }\n });\n res = res.json();\n return res;\n}\n\nasync function createTeam(data){\n if(data==\"\") return 0;\n let token = localStorage.getItem('x-access-token');\n var body = {\n teamName: data\n }\n console.log(body);\n let res = await fetch(`${URL}/api/teams/createTeam`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'x-access-token': token\n },\n body: JSON.stringify(body)\n })\n if(res.status==200){\n return 1;\n } else return 0;\n}\n\nasync function joinTeam_1(data){\n if(data==0) return 0;\n let token = localStorage.getItem('x-access-token');\n var body = {\n teamNumber: data\n }\n let res = await fetch(`${URL}/api/teams/joinTeam`,{\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'x-access-token': token\n },\n body: JSON.stringify(body)\n })\n if(res.status == 200){\n return 1\n } else return 0;\n}\n\nasync function teamData(teamNumber){\n let token = localStorage.getItem('x-access-token');\n if(!token) return 0;\n let res = await fetch(`${URL}/api/teams/team/${teamNumber}`, {\n method: 'GET',\n headers: {\n 'Content-Type': \"application/json\",\n 'x-access-token': token\n },\n })\n if(res.status==200){\n var temp = await res.text();\n //console.log(JSON.parse(temp))\n return JSON.parse(temp);\n }\n}\n\nexport {getTeams};\nexport {createTeam};\nexport {joinTeam_1};\nexport {teamData};","/home/kunal/Development/project_manager_webtech_frontend/src/views/Team.js",["160","161"],"import React from 'react';\nimport { Button, Container, Jumbotron } from 'react-bootstrap';\nimport Task from './Tasks'\nimport { teamData } from '../services/Teams';\nimport InputGroup from 'react-bootstrap/InputGroup';\nimport FormControl from 'react-bootstrap/FormControl';\n\nimport '../style.css'\n\nimport {createMainTask} from '../services/Task'\n\nclass Team extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n teamName: \"\",\n teamNumber: \"\",\n tasks: []\n }\n this.maintask_ref = null;\n this.create_maintask = this.create_maintask.bind(this);\n this.get_details = this.get_details.bind(this)\n this.del_refresh = this.del_refresh.bind(this);\n }\n\n async get_details(){\n let res = await teamData(this.props.match.params.teamNumber);\n this.setState({ teamName: res.teamName, teamNumber: res.teamNumber ,tasks: res.tasks})\n }\n \n async componentDidMount() {\n await this.get_details();\n }\n\n async create_maintask(){\n let data = this.maintask_ref.value;\n //console.log(data);\n let r = await createMainTask(data, this.props.match.params.teamNumber);\n if(r) this.get_details();\n }\n\n async del_refresh(){\n await this.get_details();\n }\n\n render() {\n //return (

Hello {this.props.match.params.teamNumber}

);\n return (\n \n \n

{this.state.teamName}

\n
{this.state.teamNumber}
\n

\n \n {this.maintask_ref = el}}\n >\n \n \n \n
\n {this.state.tasks.map(data=>)}\n
\n );\n }\n}\n\nexport default Team","/home/kunal/Development/project_manager_webtech_frontend/src/views/Tasks.js",["162","163","164","165","166","167","168"],"/home/kunal/Development/project_manager_webtech_frontend/src/services/Task.js",["169","170","171","172","173","174","175","176","177","178"],"/home/kunal/Development/project_manager_webtech_frontend/src/views/SubTask.js",["179","180","181","182","183","184","185"],"import React from 'react'\nimport { ButtonGroup, Button, Card, FormControl, InputGroup } from 'react-bootstrap'\nimport { getTaskDetails, createSubTask, renameTask, updateStatus, deleteTask_sub } from '../services/Task'\n\nimport '../style.css'\n\nclass SubTask extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n taskName: \"\",\n parent_task: \"\",\n status: 0,\n children: [],\n show_add: false,\n display_sub: false,\n show_rename: false\n }\n this.subtask_ref = null;\n this.rename_ref = null;\n this.showAdd = this.showAdd.bind(this)\n this.create_sub_task = this.create_sub_task.bind(this);\n this.generate_Sub_Task = this.generate_Sub_Task.bind(this);\n this.displaySub = this.displaySub.bind(this)\n this.showRename = this.showRename.bind(this)\n this.rename_task = this.rename_task.bind(this)\n this.update_status = this.update_status.bind(this)\n this.bg_color = this.bg_color.bind(this)\n this.text_color = this.text_color.bind(this)\n this.delete_task = this.delete_task.bind(this);\n this.details_get = this.details_get.bind(this);\n this.del_refresh = this.del_refresh.bind(this)\n\n }\n async details_get(){\n let res = await getTaskDetails(this.props.teamNumber, this.props.taskID);\n this.setState({ taskName: res.taskName, parent_task: res.parent_task, children: res.children, status: res.taskStatus })\n }\n\n async componentDidMount() {\n await this.details_get();\n }\n showAdd() {\n this.setState((prev) => ({ show_add: !prev.show_add }))\n }\n\n showRename() {\n this.setState((prev) => ({ show_rename: !prev.show_rename }))\n }\n\n displaySub() {\n this.setState((prev) => ({ display_sub: !prev.display_sub }))\n }\n\n async update_status(st) {\n let r = updateStatus(st, this.props.teamNumber, this.props.taskID);\n if (r) this.setState({ status: st })\n }\n\n async create_sub_task() {\n var data = this.subtask_ref.value;\n let r = await createSubTask(data, this.props.teamNumber, this.props.taskID);\n if (r) {\n await this.details_get();\n this.showAdd()\n }\n }\n\n generate_Sub_Task(data) {\n return (\n \n );\n }\n\n async delete_task() {\n let r = await deleteTask_sub(this.props.teamNumber, this.props.taskID);\n if (r) this.props.del_refresh();\n }\n async rename_task() {\n var data = this.rename_ref.value;\n let r = await renameTask(data, this.props.teamNumber, this.props.taskID);\n if (r) {this.setState({ taskName: data });this.showRename()};\n }\n\n async del_refresh(){\n await this.details_get();\n }\n\n bg_color() {\n //console.log(this.state.status)\n switch (this.state.status) {\n case 1:\n return \"danger\"\n case 2:\n return \"warning\"\n case 3:\n return \"success\"\n default:\n return \"light\"\n }\n }\n\n text_color() {\n switch (this.state.status) {\n case 1:\n return \"light\"\n case 2:\n return \"dark\"\n case 3:\n return \"light\"\n default:\n return \"dark\"\n }\n }\n\n\n render() {\n return (\n
\n \n \n \n {this.state.taskName}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n { this.subtask_ref = el }}\n >\n \n \n \n \n \n \n { this.rename_ref = el }}\n >\n \n \n \n \n \n
\n {this.state.children.map(data => this.generate_Sub_Task(data))}\n
\n
\n
\n );\n }\n}\n\nexport default SubTask","/home/kunal/Development/test/project_manager_webtech_frontend/src/index.js",[],["186","187"],"/home/kunal/Development/test/project_manager_webtech_frontend/src/services/Teams.js",["188","189","190"],"const fetch = require('node-fetch');\n\nconst URL = 'http://localhost:8000';\n\nasync function getTeams(){\n let token = localStorage.getItem('x-access-token');\n let res = await fetch(`${URL}/api/auth/teams`, {\n method: 'GET',\n headers: {\n 'x-access-token': token\n }\n });\n res = res.json();\n return res;\n}\n\nasync function createTeam(data){\n let token = localStorage.getItem('x-access-token');\n var body = {\n teamName: data\n }\n console.log(body);\n let res = await fetch(`${URL}/api/teams/createTeam`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'x-access-token': token\n },\n body: JSON.stringify(body)\n })\n if(res.status==200){\n return 1;\n } else return 0;\n}\n\nasync function joinTeam_1(data){\n let token = localStorage.getItem('x-access-token');\n var body = {\n teamNumber: data\n }\n let res = await fetch(`${URL}/api/teams/joinTeam`,{\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'x-access-token': token\n },\n body: JSON.stringify(body)\n })\n if(res.status == 200){\n return 1\n } else return 0;\n}\n\nasync function teamData(teamNumber){\n let token = localStorage.getItem('x-access-token');\n if(!token) return 0;\n let res = await fetch(`${URL}/api/teams/team/${teamNumber}`, {\n method: 'GET',\n headers: {\n 'Content-Type': \"application/json\",\n 'x-access-token': token\n },\n })\n if(res.status==200){\n var temp = await res.text();\n //console.log(JSON.parse(temp))\n return JSON.parse(temp);\n }\n}\n\nexports.getTeams = getTeams;\nexports.createTeam = createTeam;\nexports.joinTeam_1 = joinTeam_1;\nexports.teamData = teamData;","/home/kunal/Development/test/project_manager_webtech_frontend/src/views/Team.js",["191"],"/home/kunal/Development/test/project_manager_webtech_frontend/src/views/MainTask.js",[],"/home/kunal/Development/test/project_manager_webtech_frontend/src/services/Auth.js",["192","193","194","195"],"/home/kunal/Development/test/project_manager_webtech_frontend/src/views/Register.js",[],"/home/kunal/Development/test/project_manager_webtech_frontend/src/views/Tasks.js",[],"/home/kunal/Development/test/project_manager_webtech_frontend/src/App.js",["196","197","198","199","200"],"/home/kunal/Development/test/project_manager_webtech_frontend/src/reportWebVitals.js",[],"/home/kunal/Development/test/project_manager_webtech_frontend/src/views/Home.js",["201","202","203","204","205","206"],"import React from 'react'\nimport { Card, InputGroup } from 'react-bootstrap'\nimport Container from 'react-bootstrap/Container'\nimport Jumbotron from 'react-bootstrap/Jumbotron'\nimport Button from 'react-bootstrap/Button'\nimport { Route, Switch } from 'react-router-dom'\nimport FormControl from 'react'\n\nimport '../fonts.css'\n\nconst { getTeams } = require('../services/Teams')\n\nclass Home extends React.Component {\n constructor() {\n super()\n this.state = {\n teams: []\n }\n }\n\n generateList(data) {\n return (\n \n \n {data.teamName}\n \n \n Invite Code

{data.teamNumber}
\n
\n );\n }\n\n async componentDidMount() {\n let res = await getTeams();\n this.setState({ teams: res })\n }\n\n render() {\n return (\n \n \n

Your teams

\n
\n {this.state.teams.map(data=>this.generateList(data))}\n
\n );\n }\n}\n\nexport default Home;","/home/kunal/Development/test/project_manager_webtech_frontend/src/services/Task.js",[],"/home/kunal/Development/test/project_manager_webtech_frontend/src/views/Login.js",[],{"ruleId":"207","replacedBy":"208"},{"ruleId":"209","replacedBy":"210"},{"ruleId":"211","severity":1,"message":"212","line":4,"column":17,"nodeType":"213","messageId":"214","endLine":4,"endColumn":28},{"ruleId":"211","severity":1,"message":"215","line":16,"column":8,"nodeType":"213","messageId":"214","endLine":16,"endColumn":17},{"ruleId":"211","severity":1,"message":"216","line":22,"column":15,"nodeType":"213","messageId":"214","endLine":22,"endColumn":20},{"ruleId":"211","severity":1,"message":"217","line":30,"column":7,"nodeType":"213","messageId":"214","endLine":30,"endColumn":8},{"ruleId":"211","severity":1,"message":"217","line":35,"column":7,"nodeType":"213","messageId":"214","endLine":35,"endColumn":8},{"ruleId":"218","severity":1,"message":"219","line":105,"column":46,"nodeType":"220","messageId":"221","endLine":105,"endColumn":47,"suggestions":"222"},{"ruleId":"218","severity":1,"message":"219","line":105,"column":56,"nodeType":"220","messageId":"221","endLine":105,"endColumn":57,"suggestions":"223"},{"ruleId":"218","severity":1,"message":"219","line":121,"column":46,"nodeType":"220","messageId":"221","endLine":121,"endColumn":47,"suggestions":"224"},{"ruleId":"218","severity":1,"message":"219","line":121,"column":56,"nodeType":"220","messageId":"221","endLine":121,"endColumn":57,"suggestions":"225"},{"ruleId":"207","replacedBy":"226"},{"ruleId":"209","replacedBy":"227"},{"ruleId":"207","replacedBy":"228"},{"ruleId":"209","replacedBy":"229"},{"ruleId":"218","severity":1,"message":"219","line":49,"column":46,"nodeType":"220","messageId":"221","endLine":49,"endColumn":47,"suggestions":"230"},{"ruleId":"218","severity":1,"message":"219","line":49,"column":53,"nodeType":"220","messageId":"221","endLine":49,"endColumn":54,"suggestions":"231"},{"ruleId":"218","severity":1,"message":"219","line":41,"column":46,"nodeType":"220","messageId":"221","endLine":41,"endColumn":47,"suggestions":"232"},{"ruleId":"218","severity":1,"message":"219","line":41,"column":53,"nodeType":"220","messageId":"221","endLine":41,"endColumn":54,"suggestions":"233"},{"ruleId":"207","replacedBy":"234"},{"ruleId":"209","replacedBy":"235"},{"ruleId":"236","severity":1,"message":"237","line":17,"column":19,"nodeType":"238","messageId":"239","endLine":17,"endColumn":21},{"ruleId":"236","severity":1,"message":"237","line":39,"column":19,"nodeType":"238","messageId":"239","endLine":39,"endColumn":21},{"ruleId":"207","severity":1,"message":"240","line":56,"column":5,"nodeType":"213","messageId":"241","endLine":56,"endColumn":9},{"ruleId":"236","severity":1,"message":"237","line":57,"column":19,"nodeType":"238","messageId":"239","endLine":57,"endColumn":21},{"ruleId":"207","replacedBy":"242"},{"ruleId":"209","replacedBy":"243"},{"ruleId":"211","severity":1,"message":"244","line":2,"column":16,"nodeType":"213","messageId":"214","endLine":2,"endColumn":26},{"ruleId":"211","severity":1,"message":"245","line":6,"column":10,"nodeType":"213","messageId":"214","endLine":6,"endColumn":15},{"ruleId":"211","severity":1,"message":"246","line":6,"column":17,"nodeType":"213","messageId":"214","endLine":6,"endColumn":23},{"ruleId":"211","severity":1,"message":"247","line":7,"column":8,"nodeType":"213","messageId":"214","endLine":7,"endColumn":19},{"ruleId":"218","severity":1,"message":"219","line":25,"column":50,"nodeType":"220","messageId":"221","endLine":25,"endColumn":51,"suggestions":"248"},{"ruleId":"218","severity":1,"message":"219","line":25,"column":59,"nodeType":"220","messageId":"221","endLine":25,"endColumn":60,"suggestions":"249"},{"ruleId":"218","severity":1,"message":"219","line":28,"column":54,"nodeType":"220","messageId":"221","endLine":28,"endColumn":55,"suggestions":"250"},{"ruleId":"218","severity":1,"message":"219","line":28,"column":61,"nodeType":"220","messageId":"221","endLine":28,"endColumn":62,"suggestions":"251"},{"ruleId":"218","severity":1,"message":"219","line":42,"column":46,"nodeType":"220","messageId":"221","endLine":42,"endColumn":47,"suggestions":"252"},{"ruleId":"218","severity":1,"message":"219","line":42,"column":53,"nodeType":"220","messageId":"221","endLine":42,"endColumn":54,"suggestions":"253"},{"ruleId":"207","replacedBy":"254"},{"ruleId":"209","replacedBy":"255"},{"ruleId":"236","severity":1,"message":"237","line":18,"column":12,"nodeType":"238","messageId":"239","endLine":18,"endColumn":14},{"ruleId":"236","severity":1,"message":"237","line":32,"column":18,"nodeType":"238","messageId":"239","endLine":32,"endColumn":20},{"ruleId":"236","severity":1,"message":"237","line":38,"column":12,"nodeType":"238","messageId":"239","endLine":38,"endColumn":14},{"ruleId":"236","severity":1,"message":"237","line":51,"column":19,"nodeType":"238","messageId":"239","endLine":51,"endColumn":21},{"ruleId":"236","severity":1,"message":"237","line":66,"column":18,"nodeType":"238","messageId":"239","endLine":66,"endColumn":20},{"ruleId":"218","severity":1,"message":"219","line":51,"column":46,"nodeType":"220","messageId":"221","endLine":51,"endColumn":47,"suggestions":"256"},{"ruleId":"218","severity":1,"message":"219","line":51,"column":53,"nodeType":"220","messageId":"221","endLine":51,"endColumn":54,"suggestions":"257"},{"ruleId":"218","severity":1,"message":"219","line":120,"column":58,"nodeType":"220","messageId":"221","endLine":120,"endColumn":59,"suggestions":"258"},{"ruleId":"218","severity":1,"message":"219","line":120,"column":67,"nodeType":"220","messageId":"221","endLine":120,"endColumn":68,"suggestions":"259"},{"ruleId":"218","severity":1,"message":"219","line":123,"column":94,"nodeType":"220","messageId":"221","endLine":123,"endColumn":95,"suggestions":"260"},{"ruleId":"218","severity":1,"message":"219","line":123,"column":107,"nodeType":"220","messageId":"221","endLine":123,"endColumn":108,"suggestions":"261"},{"ruleId":"236","severity":1,"message":"237","line":126,"column":123,"nodeType":"238","messageId":"239","endLine":126,"endColumn":125},{"ruleId":"218","severity":1,"message":"219","line":129,"column":94,"nodeType":"220","messageId":"221","endLine":129,"endColumn":95,"suggestions":"262"},{"ruleId":"218","severity":1,"message":"219","line":129,"column":107,"nodeType":"220","messageId":"221","endLine":129,"endColumn":108,"suggestions":"263"},{"ruleId":"207","severity":1,"message":"264","line":3,"column":1,"nodeType":"213","messageId":"241","endLine":3,"endColumn":4},{"ruleId":"236","severity":1,"message":"237","line":6,"column":12,"nodeType":"238","messageId":"239","endLine":6,"endColumn":14},{"ruleId":"236","severity":1,"message":"237","line":20,"column":20,"nodeType":"238","messageId":"239","endLine":20,"endColumn":22},{"ruleId":"236","severity":1,"message":"237","line":26,"column":12,"nodeType":"238","messageId":"239","endLine":26,"endColumn":14},{"ruleId":"236","severity":1,"message":"237","line":40,"column":20,"nodeType":"238","messageId":"239","endLine":40,"endColumn":22},{"ruleId":"236","severity":1,"message":"237","line":55,"column":20,"nodeType":"238","messageId":"239","endLine":55,"endColumn":22},{"ruleId":"236","severity":1,"message":"237","line":72,"column":20,"nodeType":"238","messageId":"239","endLine":72,"endColumn":22},{"ruleId":"236","severity":1,"message":"237","line":86,"column":20,"nodeType":"238","messageId":"239","endLine":86,"endColumn":22},{"ruleId":"236","severity":1,"message":"237","line":105,"column":19,"nodeType":"238","messageId":"239","endLine":105,"endColumn":21},{"ruleId":"236","severity":1,"message":"237","line":118,"column":18,"nodeType":"238","messageId":"239","endLine":118,"endColumn":20},{"ruleId":"218","severity":1,"message":"219","line":122,"column":58,"nodeType":"220","messageId":"221","endLine":122,"endColumn":59,"suggestions":"265"},{"ruleId":"218","severity":1,"message":"219","line":122,"column":67,"nodeType":"220","messageId":"221","endLine":122,"endColumn":68,"suggestions":"266"},{"ruleId":"218","severity":1,"message":"219","line":125,"column":95,"nodeType":"220","messageId":"221","endLine":125,"endColumn":96,"suggestions":"267"},{"ruleId":"218","severity":1,"message":"219","line":125,"column":108,"nodeType":"220","messageId":"221","endLine":125,"endColumn":109,"suggestions":"268"},{"ruleId":"236","severity":1,"message":"237","line":128,"column":123,"nodeType":"238","messageId":"239","endLine":128,"endColumn":125},{"ruleId":"218","severity":1,"message":"219","line":131,"column":95,"nodeType":"220","messageId":"221","endLine":131,"endColumn":96,"suggestions":"269"},{"ruleId":"218","severity":1,"message":"219","line":131,"column":108,"nodeType":"220","messageId":"221","endLine":131,"endColumn":109,"suggestions":"270"},{"ruleId":"207","replacedBy":"271"},{"ruleId":"209","replacedBy":"272"},{"ruleId":"236","severity":1,"message":"237","line":31,"column":18,"nodeType":"238","messageId":"239","endLine":31,"endColumn":20},{"ruleId":"236","severity":1,"message":"237","line":49,"column":19,"nodeType":"238","messageId":"239","endLine":49,"endColumn":21},{"ruleId":"236","severity":1,"message":"237","line":64,"column":18,"nodeType":"238","messageId":"239","endLine":64,"endColumn":20},{"ruleId":"211","severity":1,"message":"273","line":3,"column":16,"nodeType":"213","messageId":"214","endLine":3,"endColumn":27},{"ruleId":"236","severity":1,"message":"237","line":17,"column":19,"nodeType":"238","messageId":"239","endLine":17,"endColumn":21},{"ruleId":"236","severity":1,"message":"237","line":39,"column":19,"nodeType":"238","messageId":"239","endLine":39,"endColumn":21},{"ruleId":"207","severity":1,"message":"240","line":56,"column":5,"nodeType":"213","messageId":"241","endLine":56,"endColumn":9},{"ruleId":"236","severity":1,"message":"237","line":57,"column":19,"nodeType":"238","messageId":"239","endLine":57,"endColumn":21},{"ruleId":"211","severity":1,"message":"212","line":2,"column":17,"nodeType":"213","messageId":"214","endLine":2,"endColumn":28},{"ruleId":"211","severity":1,"message":"215","line":14,"column":8,"nodeType":"213","messageId":"214","endLine":14,"endColumn":17},{"ruleId":"211","severity":1,"message":"216","line":23,"column":15,"nodeType":"213","messageId":"214","endLine":23,"endColumn":20},{"ruleId":"211","severity":1,"message":"217","line":30,"column":7,"nodeType":"213","messageId":"214","endLine":30,"endColumn":8},{"ruleId":"211","severity":1,"message":"217","line":35,"column":7,"nodeType":"213","messageId":"214","endLine":35,"endColumn":8},{"ruleId":"211","severity":1,"message":"244","line":2,"column":16,"nodeType":"213","messageId":"214","endLine":2,"endColumn":26},{"ruleId":"211","severity":1,"message":"245","line":6,"column":10,"nodeType":"213","messageId":"214","endLine":6,"endColumn":15},{"ruleId":"211","severity":1,"message":"246","line":6,"column":17,"nodeType":"213","messageId":"214","endLine":6,"endColumn":23},{"ruleId":"211","severity":1,"message":"247","line":7,"column":8,"nodeType":"213","messageId":"214","endLine":7,"endColumn":19},{"ruleId":"218","severity":1,"message":"219","line":42,"column":46,"nodeType":"220","messageId":"221","endLine":42,"endColumn":47,"suggestions":"274"},{"ruleId":"218","severity":1,"message":"219","line":42,"column":53,"nodeType":"220","messageId":"221","endLine":42,"endColumn":54,"suggestions":"275"},"no-native-reassign",["276"],"no-negated-in-lhs",["277"],"no-unused-vars","'useCallback' is defined but never used.","Identifier","unusedVar","'Jumbotron' is defined but never used.","'login' is assigned a value but never used.","'r' is assigned a value but never used.","no-useless-escape","Unnecessary escape character: \\'.","Literal","unnecessaryEscape",["278","279"],["280","281"],["282","283"],["284","285"],["276"],["277"],["276"],["277"],["286","287"],["288","289"],["290","291"],["292","293"],["276"],["277"],"eqeqeq","Expected '===' and instead saw '=='.","BinaryExpression","unexpected","Read-only global 'test' should not be modified.","nativeReassign",["276"],["277"],"'InputGroup' is defined but never used.","'Route' is defined but never used.","'Switch' is defined but never used.","'FormControl' is defined but never used.",["294","295"],["296","297"],["298","299"],["300","301"],["302","303"],["304","305"],["276"],["277"],["306","307"],["308","309"],["310","311"],["312","313"],["314","315"],["316","317"],["318","319"],["320","321"],"Read-only global 'URL' should not be modified.",["322","323"],["324","325"],["326","327"],["328","329"],["330","331"],["332","333"],["276"],["277"],"'NewMainTask' is defined but never used.",["334","335"],["336","337"],"no-global-assign","no-unsafe-negation",{"messageId":"338","fix":"339","desc":"340"},{"messageId":"341","fix":"342","desc":"343"},{"messageId":"338","fix":"344","desc":"340"},{"messageId":"341","fix":"345","desc":"343"},{"messageId":"338","fix":"346","desc":"340"},{"messageId":"341","fix":"347","desc":"343"},{"messageId":"338","fix":"348","desc":"340"},{"messageId":"341","fix":"349","desc":"343"},{"messageId":"338","fix":"350","desc":"340"},{"messageId":"341","fix":"351","desc":"343"},{"messageId":"338","fix":"352","desc":"340"},{"messageId":"341","fix":"353","desc":"343"},{"messageId":"338","fix":"354","desc":"340"},{"messageId":"341","fix":"355","desc":"343"},{"messageId":"338","fix":"356","desc":"340"},{"messageId":"341","fix":"357","desc":"343"},{"messageId":"338","fix":"358","desc":"340"},{"messageId":"341","fix":"359","desc":"343"},{"messageId":"338","fix":"360","desc":"340"},{"messageId":"341","fix":"361","desc":"343"},{"messageId":"338","fix":"362","desc":"340"},{"messageId":"341","fix":"363","desc":"343"},{"messageId":"338","fix":"364","desc":"340"},{"messageId":"341","fix":"365","desc":"343"},{"messageId":"338","fix":"366","desc":"340"},{"messageId":"341","fix":"367","desc":"343"},{"messageId":"338","fix":"368","desc":"340"},{"messageId":"341","fix":"369","desc":"343"},{"messageId":"338","fix":"370","desc":"340"},{"messageId":"341","fix":"371","desc":"343"},{"messageId":"338","fix":"372","desc":"340"},{"messageId":"341","fix":"373","desc":"343"},{"messageId":"338","fix":"374","desc":"340"},{"messageId":"341","fix":"375","desc":"343"},{"messageId":"338","fix":"376","desc":"340"},{"messageId":"341","fix":"377","desc":"343"},{"messageId":"338","fix":"378","desc":"340"},{"messageId":"341","fix":"379","desc":"343"},{"messageId":"338","fix":"380","desc":"340"},{"messageId":"341","fix":"381","desc":"343"},{"messageId":"338","fix":"382","desc":"340"},{"messageId":"341","fix":"383","desc":"343"},{"messageId":"338","fix":"384","desc":"340"},{"messageId":"341","fix":"385","desc":"343"},{"messageId":"338","fix":"386","desc":"340"},{"messageId":"341","fix":"387","desc":"343"},{"messageId":"338","fix":"388","desc":"340"},{"messageId":"341","fix":"389","desc":"343"},{"messageId":"338","fix":"390","desc":"340"},{"messageId":"341","fix":"391","desc":"343"},{"messageId":"338","fix":"392","desc":"340"},{"messageId":"341","fix":"393","desc":"343"},{"messageId":"338","fix":"394","desc":"340"},{"messageId":"341","fix":"395","desc":"343"},{"messageId":"338","fix":"396","desc":"340"},{"messageId":"341","fix":"397","desc":"343"},{"messageId":"338","fix":"398","desc":"340"},{"messageId":"341","fix":"399","desc":"343"},{"messageId":"338","fix":"400","desc":"340"},{"messageId":"341","fix":"401","desc":"343"},"removeEscape",{"range":"402","text":"403"},"Remove the `\\`. This maintains the current functionality.","escapeBackslash",{"range":"404","text":"405"},"Replace the `\\` with `\\\\` to include the actual backslash character.",{"range":"406","text":"403"},{"range":"407","text":"405"},{"range":"408","text":"403"},{"range":"409","text":"405"},{"range":"410","text":"403"},{"range":"411","text":"405"},{"range":"412","text":"403"},{"range":"413","text":"405"},{"range":"414","text":"403"},{"range":"415","text":"405"},{"range":"416","text":"403"},{"range":"417","text":"405"},{"range":"418","text":"403"},{"range":"419","text":"405"},{"range":"420","text":"403"},{"range":"421","text":"405"},{"range":"422","text":"403"},{"range":"423","text":"405"},{"range":"424","text":"403"},{"range":"425","text":"405"},{"range":"426","text":"403"},{"range":"427","text":"405"},{"range":"428","text":"403"},{"range":"429","text":"405"},{"range":"430","text":"403"},{"range":"431","text":"405"},{"range":"432","text":"403"},{"range":"433","text":"405"},{"range":"434","text":"403"},{"range":"435","text":"405"},{"range":"436","text":"403"},{"range":"437","text":"405"},{"range":"438","text":"403"},{"range":"439","text":"405"},{"range":"440","text":"403"},{"range":"441","text":"405"},{"range":"442","text":"403"},{"range":"443","text":"405"},{"range":"444","text":"403"},{"range":"445","text":"405"},{"range":"446","text":"403"},{"range":"447","text":"405"},{"range":"448","text":"403"},{"range":"449","text":"405"},{"range":"450","text":"403"},{"range":"451","text":"405"},{"range":"452","text":"403"},{"range":"453","text":"405"},{"range":"454","text":"403"},{"range":"455","text":"405"},{"range":"456","text":"403"},{"range":"457","text":"405"},{"range":"458","text":"403"},{"range":"459","text":"405"},{"range":"460","text":"403"},{"range":"461","text":"405"},{"range":"462","text":"403"},{"range":"463","text":"405"},[2740,2741],"",[2740,2740],"\\",[2750,2751],[2750,2750],[3337,3338],[3337,3337],[3347,3348],[3347,3347],[1293,1294],[1293,1293],[1300,1301],[1300,1300],[1106,1107],[1106,1106],[1113,1114],[1113,1113],[744,745],[744,744],[753,754],[753,753],[973,974],[973,973],[980,981],[980,980],[1357,1358],[1357,1357],[1364,1365],[1364,1364],[1541,1542],[1541,1541],[1548,1549],[1548,1548],[3772,3773],[3772,3772],[3781,3782],[3781,3781],[3976,3977],[3976,3976],[3989,3990],[3989,3989],[4601,4602],[4601,4601],[4614,4615],[4614,4614],[3825,3826],[3825,3825],[3834,3835],[3834,3834],[4029,4030],[4029,4029],[4042,4043],[4042,4042],[4656,4657],[4656,4656],[4669,4670],[4669,4669],[1359,1360],[1359,1359],[1366,1367],[1366,1366]] \ No newline at end of file +[{"/home/kunal/Development/project_manager_webtech_frontend/src/reportWebVitals.js":"1","/home/kunal/Development/project_manager_webtech_frontend/src/App.js":"2","/home/kunal/Development/project_manager_webtech_frontend/src/index.js":"3","/home/kunal/Development/project_manager_webtech_frontend/src/views/Register.js":"4","/home/kunal/Development/project_manager_webtech_frontend/src/views/Login.js":"5","/home/kunal/Development/project_manager_webtech_frontend/src/services/Auth.js":"6","/home/kunal/Development/project_manager_webtech_frontend/src/views/Home.js":"7","/home/kunal/Development/project_manager_webtech_frontend/src/services/Teams.js":"8","/home/kunal/Development/project_manager_webtech_frontend/src/views/Team.js":"9","/home/kunal/Development/project_manager_webtech_frontend/src/views/Tasks.js":"10","/home/kunal/Development/project_manager_webtech_frontend/src/services/Task.js":"11","/home/kunal/Development/project_manager_webtech_frontend/src/views/SubTask.js":"12","/home/kunal/Development/test/project_manager_webtech_frontend/src/index.js":"13","/home/kunal/Development/test/project_manager_webtech_frontend/src/services/Teams.js":"14","/home/kunal/Development/test/project_manager_webtech_frontend/src/views/Team.js":"15","/home/kunal/Development/test/project_manager_webtech_frontend/src/views/MainTask.js":"16","/home/kunal/Development/test/project_manager_webtech_frontend/src/services/Auth.js":"17","/home/kunal/Development/test/project_manager_webtech_frontend/src/views/Register.js":"18","/home/kunal/Development/test/project_manager_webtech_frontend/src/views/Tasks.js":"19","/home/kunal/Development/test/project_manager_webtech_frontend/src/App.js":"20","/home/kunal/Development/test/project_manager_webtech_frontend/src/reportWebVitals.js":"21","/home/kunal/Development/test/project_manager_webtech_frontend/src/views/Home.js":"22","/home/kunal/Development/test/project_manager_webtech_frontend/src/services/Task.js":"23","/home/kunal/Development/test/project_manager_webtech_frontend/src/views/Login.js":"24"},{"size":362,"mtime":1606712551839,"results":"25","hashOfConfig":"26"},{"size":4109,"mtime":1607166921492,"results":"27","hashOfConfig":"26"},{"size":500,"mtime":1606750354855,"results":"28","hashOfConfig":"26"},{"size":2830,"mtime":1607166340608,"results":"29","hashOfConfig":"26"},{"size":2216,"mtime":1607166259802,"results":"30","hashOfConfig":"26"},{"size":1541,"mtime":1606814588555,"results":"31","hashOfConfig":"26"},{"size":1561,"mtime":1607170988586,"results":"32","hashOfConfig":"26"},{"size":1859,"mtime":1607238210549,"results":"33","hashOfConfig":"26"},{"size":2358,"mtime":1607235807872,"results":"34","hashOfConfig":"26"},{"size":6688,"mtime":1607238512219,"results":"35","hashOfConfig":"26"},{"size":3525,"mtime":1607239967771,"results":"36","hashOfConfig":"26"},{"size":6746,"mtime":1607238503509,"results":"37","hashOfConfig":"26"},{"size":500,"mtime":1607119490000,"results":"38","hashOfConfig":"39"},{"size":1850,"mtime":1607119708000,"results":"40","hashOfConfig":"39"},{"size":1316,"mtime":1607278553845,"results":"41","hashOfConfig":"39"},{"size":12619,"mtime":1607236570000,"results":"42","hashOfConfig":"39"},{"size":1541,"mtime":1607119490000,"results":"43","hashOfConfig":"39"},{"size":2827,"mtime":1607278889716,"results":"44","hashOfConfig":"39"},{"size":2777,"mtime":1607279894673,"results":"45","hashOfConfig":"39"},{"size":4115,"mtime":1607282649987,"results":"46","hashOfConfig":"39"},{"size":362,"mtime":1607119490000,"results":"47","hashOfConfig":"39"},{"size":1563,"mtime":1607277975659,"results":"48","hashOfConfig":"39"},{"size":4234,"mtime":1607279891547,"results":"49","hashOfConfig":"39"},{"size":2215,"mtime":1607278672297,"results":"50","hashOfConfig":"39"},{"filePath":"51","messages":"52","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"53"},"92n27z",{"filePath":"54","messages":"55","errorCount":0,"warningCount":9,"fixableErrorCount":0,"fixableWarningCount":0,"source":"56","usedDeprecatedRules":"57"},{"filePath":"58","messages":"59","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"60"},{"filePath":"61","messages":"62","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"63"},{"filePath":"64","messages":"65","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"66","usedDeprecatedRules":"67"},{"filePath":"68","messages":"69","errorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":"70","usedDeprecatedRules":"71"},{"filePath":"72","messages":"73","errorCount":0,"warningCount":10,"fixableErrorCount":0,"fixableWarningCount":0,"source":"74","usedDeprecatedRules":"75"},{"filePath":"76","messages":"77","errorCount":0,"warningCount":5,"fixableErrorCount":0,"fixableWarningCount":0,"source":"78"},{"filePath":"79","messages":"80","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"81"},{"filePath":"82","messages":"83","errorCount":0,"warningCount":7,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"84","messages":"85","errorCount":0,"warningCount":10,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"86","messages":"87","errorCount":0,"warningCount":7,"fixableErrorCount":0,"fixableWarningCount":0,"source":"88"},{"filePath":"89","messages":"90","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"91"},"dhvv5i",{"filePath":"92","messages":"93","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"94"},{"filePath":"95","messages":"96","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"97"},{"filePath":"98","messages":"99","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"100","messages":"101","errorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":"70"},{"filePath":"102","messages":"103","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"104"},{"filePath":"105","messages":"106","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"107","messages":"108","errorCount":0,"warningCount":5,"fixableErrorCount":0,"fixableWarningCount":0,"source":"109","usedDeprecatedRules":"110"},{"filePath":"111","messages":"112","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"113"},{"filePath":"114","messages":"115","errorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":"116"},{"filePath":"117","messages":"118","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"119","messages":"120","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"/home/kunal/Development/project_manager_webtech_frontend/src/reportWebVitals.js",[],["121","122"],"/home/kunal/Development/project_manager_webtech_frontend/src/App.js",["123","124","125","126","127","128","129","130","131"],"import './App.css';\nimport './style.css';\n\nimport React, { useCallback } from \"react\";\nimport { BrowserRouter as Router, Route } from 'react-router-dom';\nimport 'bootstrap/dist/css/bootstrap.min.css';\n\nimport Login from './views/Login'\nimport Register from './views/Register'\nimport Navbar from 'react-bootstrap/Navbar';\nimport Nav from 'react-bootstrap/Nav';\n\nimport Home from './views/Home'\nimport Team from './views/Team'\n\nimport Jumbotron from 'react-bootstrap/Jumbotron';\nimport Container from 'react-bootstrap/Container';\nimport InputGroup from 'react-bootstrap/InputGroup';\nimport FormControl from 'react-bootstrap/FormControl';\nimport Button from 'react-bootstrap/Button'\n\nconst { auth, login } = require('./services/Auth')\nconst {createTeam, joinTeam_1} = require('./services/Teams')\nvar new_team_ref;\nvar join_team_ref;\n\n\nasync function createNewTeam(){\n //console.log(new_team_ref.value);\n let r = await createTeam(new_team_ref.value)\n window.location.href = '/';\n}\nasync function joinTeam(){\n console.log(join_team_ref.value);\n let r = await joinTeam_1(join_team_ref.value)\n window.location.href = '/';\n}\n\nclass App extends React.Component {\n constructor() {\n super();\n this.state = {\n logged_in: 0,\n data: {}\n }\n this.log_out = this.log_out.bind(this);\n this.log_in = this.log_in.bind(this);\n\n new_team_ref = null;\n join_team_ref = null;\n\n }\n async componentDidMount() {\n const auth_check = await auth();\n //console.log(auth_check);\n if (auth_check) this.setState({ logged_in: 1, data: auth_check });\n }\n\n async log_in() {\n const auth_check = await auth();\n if (auth_check) this.setState({ logged_in: 1, data: auth_check });\n }\n\n async log_out() {\n localStorage.removeItem('x-access-token');\n const auth_check = await auth();\n if (!auth_check) this.setState({ logged_in: 0, data: {} });\n window.location.href = \"/\";\n }\n\n newTeam_render() {\n return (\n \n

Create a new team

\n \n {new_team_ref = el}}\n />\n \n \n
\n );\n }\n\n joinTeam_render() {\n return (\n \n

Join a team

\n \n {join_team_ref = el}}\n />\n \n \n
\n );\n }\n\n authentication() {\n return (\n \n \n Project Manager\n \n \n } />\n } />\n \n );\n }\n\n home() {\n return (\n \n \n Project Manager\n \n \n \n \n \n \n\n \n )\n }\n\n render() {\n return this.state.logged_in ? this.home() : this.authentication();\n }\n}\n\nexport default App;",["132","133"],"/home/kunal/Development/project_manager_webtech_frontend/src/index.js",[],["134","135"],"/home/kunal/Development/project_manager_webtech_frontend/src/views/Register.js",["136","137"],"import React from 'react'\nimport Container from 'react-bootstrap/Container';\nimport Button from 'react-bootstrap/Button';\nimport FormControl from 'react-bootstrap/FormControl';\nimport InputGroup from 'react-bootstrap/InputGroup';\nimport Jumbotron from 'react-bootstrap/Jumbotron';\n\nimport '../style.css'\n\n\nconst {register} = require('../services/Auth');\n\nclass Register extends React.Component {\n constructor(){\n super();\n this.state = {\n user: \"\",\n password: \"\"\n };\n this.userHandler = this.userHandler.bind(this);\n this.passwordHandler = this.passwordHandler.bind(this);\n this.emailHandler = this.emailHandler.bind(this);\n this.submitHandler = this.submitHandler.bind(this);\n }\n\n userHandler(ev){\n this.setState({user: ev.target.value});\n }\n\n emailHandler(ev){\n this.setState({email: ev.target.value});\n }\n\n\n passwordHandler(ev){\n this.setState({password: ev.target.value});\n }\n\n submitHandler(){\n //console.log(this.state.email,this.state.password);\n let r = register(this.state);\n if(r) window.location.href='/';\n }\n\n render() {\n return (\n \n \n

Register

\n

Enter your details

\n
\n \n \n \n Username\n \n \n \n \n \n \n \n Email ID\n \n \n \n \n \n \n \n Password\n \n \n \n \n \n
\n );\n }\n}\n\nexport default Register","/home/kunal/Development/project_manager_webtech_frontend/src/views/Login.js",["138","139"],"import React from 'react'\nimport Container from 'react-bootstrap/Container';\nimport Button from 'react-bootstrap/Button';\nimport FormControl from 'react-bootstrap/FormControl';\nimport InputGroup from 'react-bootstrap/InputGroup';\nimport Jumbotron from 'react-bootstrap/Jumbotron';\n\nimport '../style.css'\n\nconst {login} = require('../services/Auth');\n\nclass Login extends React.Component {\n constructor(props){\n super(props);\n this.state = {\n user: \"\",\n password: \"\"\n };\n this.userHandler = this.userHandler.bind(this);\n this.passwordHandler = this.passwordHandler.bind(this);\n this.submitHandler = this.submitHandler.bind(this);\n }\n\n userHandler(ev){\n this.setState({user: ev.target.value});\n }\n\n passwordHandler(ev){\n this.setState({password: ev.target.value});\n }\n\n async submitHandler(){\n let r = await login(this.state);\n if(r) this.props.login_func();\n }\n\n render() {\n return (\n \n \n

Login

\n

Enter your login details

\n
\n \n \n \n Username\n \n \n \n \n \n \n \n Password\n \n \n \n \n \n
\n );\n }\n}\n\nexport default Login",["140","141"],"/home/kunal/Development/project_manager_webtech_frontend/src/services/Auth.js",["142","143","144","145"],"const fetch = require('node-fetch');\n\nconst URL = 'http://localhost:8000';\n\nasync function login(data) {\n var body = {\n userName: data.user,\n password: data.password\n };\n let res = await fetch(`${URL}/api/auth/userLogin`, {\n method: 'POST',\n body: JSON.stringify(body),\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n if(res.status == 200){\n var token = res.headers.get(\"x-auth-token\");\n localStorage.setItem('x-access-token',token);\n return 1;\n }\n else return 0\n}\n\nasync function register(data){\n\n var body = {\n userName: data.user,\n email: data.email,\n password: data.password\n };\n let res = fetch(`${URL}/api/auth/userCreate`, {\n method: 'POST',\n body: JSON.stringify(body),\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n if(res.status == 200){\n var token = res.headers.get(\"x-auth-token\");\n localStorage.setItem('x-access-token', token);\n return 1;\n } else return 0;\n}\n\nasync function auth(){\n let token = localStorage.getItem('x-access-token');\n //console.log(token);\n if(!token) return 0;\n let res = await fetch(`${URL}/api/auth/current`, {\n method: 'GET',\n headers: {\n 'x-access-token': token\n }\n })\n test = await res.text();\n if(res.status == 200) return JSON.parse(test);\n else return 0;\n}\n\nexports.login = login;\nexports.register = register;\nexports.auth = auth;",["146","147"],"/home/kunal/Development/project_manager_webtech_frontend/src/views/Home.js",["148","149","150","151","152","153","154","155","156","157"],"import React from 'react'\nimport { Card, InputGroup } from 'react-bootstrap'\nimport Container from 'react-bootstrap/Container'\nimport Jumbotron from 'react-bootstrap/Jumbotron'\nimport Button from 'react-bootstrap/Button'\nimport { Route, Switch } from 'react-router-dom'\nimport FormControl from 'react'\n\nimport '../style.css'\n\nconst { getTeams } = require('../services/Teams')\n\nclass Home extends React.Component {\n constructor() {\n super()\n this.state = {\n teams: []\n }\n }\n\n generateList(data) {\n return (\n \n \n {data.teamName}\n \n \n Invite Code

{data.teamNumber}
\n
\n );\n }\n\n async componentDidMount() {\n let res = await getTeams();\n this.setState({ teams: res })\n }\n\n render() {\n return (\n \n \n

Your teams

\n
\n {this.state.teams.map(data=>this.generateList(data))}\n
\n );\n }\n}\n\nexport default Home;",["158","159"],"/home/kunal/Development/project_manager_webtech_frontend/src/services/Teams.js",["160","161","162","163","164"],"const fetch = require('node-fetch');\n\nconst URL = 'http://localhost:8000';\n\nasync function getTeams(){\n let token = localStorage.getItem('x-access-token');\n let res = await fetch(`${URL}/api/auth/teams`, {\n method: 'GET',\n headers: {\n 'x-access-token': token\n }\n });\n res = res.json();\n return res;\n}\n\nasync function createTeam(data){\n if(data==\"\") return 0;\n let token = localStorage.getItem('x-access-token');\n var body = {\n teamName: data\n }\n console.log(body);\n let res = await fetch(`${URL}/api/teams/createTeam`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'x-access-token': token\n },\n body: JSON.stringify(body)\n })\n if(res.status==200){\n return 1;\n } else return 0;\n}\n\nasync function joinTeam_1(data){\n if(data==0) return 0;\n let token = localStorage.getItem('x-access-token');\n var body = {\n teamNumber: data\n }\n let res = await fetch(`${URL}/api/teams/joinTeam`,{\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'x-access-token': token\n },\n body: JSON.stringify(body)\n })\n if(res.status == 200){\n return 1\n } else return 0;\n}\n\nasync function teamData(teamNumber){\n let token = localStorage.getItem('x-access-token');\n if(!token) return 0;\n let res = await fetch(`${URL}/api/teams/team/${teamNumber}`, {\n method: 'GET',\n headers: {\n 'Content-Type': \"application/json\",\n 'x-access-token': token\n },\n })\n if(res.status==200){\n var temp = await res.text();\n //console.log(JSON.parse(temp))\n return JSON.parse(temp);\n }\n}\n\nexport {getTeams};\nexport {createTeam};\nexport {joinTeam_1};\nexport {teamData};","/home/kunal/Development/project_manager_webtech_frontend/src/views/Team.js",["165","166"],"import React from 'react';\nimport { Button, Container, Jumbotron } from 'react-bootstrap';\nimport Task from './Tasks'\nimport { teamData } from '../services/Teams';\nimport InputGroup from 'react-bootstrap/InputGroup';\nimport FormControl from 'react-bootstrap/FormControl';\n\nimport '../style.css'\n\nimport {createMainTask} from '../services/Task'\n\nclass Team extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n teamName: \"\",\n teamNumber: \"\",\n tasks: []\n }\n this.maintask_ref = null;\n this.create_maintask = this.create_maintask.bind(this);\n this.get_details = this.get_details.bind(this)\n this.del_refresh = this.del_refresh.bind(this);\n }\n\n async get_details(){\n let res = await teamData(this.props.match.params.teamNumber);\n this.setState({ teamName: res.teamName, teamNumber: res.teamNumber ,tasks: res.tasks})\n }\n \n async componentDidMount() {\n await this.get_details();\n }\n\n async create_maintask(){\n let data = this.maintask_ref.value;\n //console.log(data);\n let r = await createMainTask(data, this.props.match.params.teamNumber);\n if(r) this.get_details();\n }\n\n async del_refresh(){\n await this.get_details();\n }\n\n render() {\n //return (

Hello {this.props.match.params.teamNumber}

);\n return (\n \n \n

{this.state.teamName}

\n
{this.state.teamNumber}
\n

\n \n {this.maintask_ref = el}}\n >\n \n \n \n
\n {this.state.tasks.map(data=>)}\n
\n );\n }\n}\n\nexport default Team","/home/kunal/Development/project_manager_webtech_frontend/src/views/Tasks.js",["167","168","169","170","171","172","173"],"/home/kunal/Development/project_manager_webtech_frontend/src/services/Task.js",["174","175","176","177","178","179","180","181","182","183"],"/home/kunal/Development/project_manager_webtech_frontend/src/views/SubTask.js",["184","185","186","187","188","189","190"],"import React from 'react'\nimport { ButtonGroup, Button, Card, FormControl, InputGroup } from 'react-bootstrap'\nimport { getTaskDetails, createSubTask, renameTask, updateStatus, deleteTask_sub } from '../services/Task'\n\nimport '../style.css'\n\nclass SubTask extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n taskName: \"\",\n parent_task: \"\",\n status: 0,\n children: [],\n show_add: false,\n display_sub: false,\n show_rename: false\n }\n this.subtask_ref = null;\n this.rename_ref = null;\n this.showAdd = this.showAdd.bind(this)\n this.create_sub_task = this.create_sub_task.bind(this);\n this.generate_Sub_Task = this.generate_Sub_Task.bind(this);\n this.displaySub = this.displaySub.bind(this)\n this.showRename = this.showRename.bind(this)\n this.rename_task = this.rename_task.bind(this)\n this.update_status = this.update_status.bind(this)\n this.bg_color = this.bg_color.bind(this)\n this.text_color = this.text_color.bind(this)\n this.delete_task = this.delete_task.bind(this);\n this.details_get = this.details_get.bind(this);\n this.del_refresh = this.del_refresh.bind(this)\n\n }\n async details_get(){\n let res = await getTaskDetails(this.props.teamNumber, this.props.taskID);\n this.setState({ taskName: res.taskName, parent_task: res.parent_task, children: res.children, status: res.taskStatus })\n }\n\n async componentDidMount() {\n await this.details_get();\n }\n showAdd() {\n this.setState((prev) => ({ show_add: !prev.show_add }))\n }\n\n showRename() {\n this.setState((prev) => ({ show_rename: !prev.show_rename }))\n }\n\n displaySub() {\n this.setState((prev) => ({ display_sub: !prev.display_sub }))\n }\n\n async update_status(st) {\n let r = updateStatus(st, this.props.teamNumber, this.props.taskID);\n if (r) this.setState({ status: st })\n }\n\n async create_sub_task() {\n var data = this.subtask_ref.value;\n let r = await createSubTask(data, this.props.teamNumber, this.props.taskID);\n if (r) {\n await this.details_get();\n this.showAdd()\n }\n }\n\n generate_Sub_Task(data) {\n return (\n \n );\n }\n\n async delete_task() {\n let r = await deleteTask_sub(this.props.teamNumber, this.props.taskID);\n if (r) this.props.del_refresh();\n }\n async rename_task() {\n var data = this.rename_ref.value;\n let r = await renameTask(data, this.props.teamNumber, this.props.taskID);\n if (r) {this.setState({ taskName: data });this.showRename()};\n }\n\n async del_refresh(){\n await this.details_get();\n }\n\n bg_color() {\n //console.log(this.state.status)\n switch (this.state.status) {\n case 1:\n return \"danger\"\n case 2:\n return \"warning\"\n case 3:\n return \"success\"\n default:\n return \"light\"\n }\n }\n\n text_color() {\n switch (this.state.status) {\n case 1:\n return \"light\"\n case 2:\n return \"dark\"\n case 3:\n return \"light\"\n default:\n return \"dark\"\n }\n }\n\n\n render() {\n return (\n
\n \n \n \n {this.state.taskName}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n { this.subtask_ref = el }}\n >\n \n \n \n \n \n \n { this.rename_ref = el }}\n >\n \n \n \n \n \n
\n {this.state.children.map(data => this.generate_Sub_Task(data))}\n
\n
\n
\n );\n }\n}\n\nexport default SubTask","/home/kunal/Development/test/project_manager_webtech_frontend/src/index.js",[],["191","192"],"/home/kunal/Development/test/project_manager_webtech_frontend/src/services/Teams.js",["193","194","195"],"const fetch = require('node-fetch');\n\nconst URL = 'http://localhost:8000';\n\nasync function getTeams(){\n let token = localStorage.getItem('x-access-token');\n let res = await fetch(`${URL}/api/auth/teams`, {\n method: 'GET',\n headers: {\n 'x-access-token': token\n }\n });\n res = res.json();\n return res;\n}\n\nasync function createTeam(data){\n let token = localStorage.getItem('x-access-token');\n var body = {\n teamName: data\n }\n console.log(body);\n let res = await fetch(`${URL}/api/teams/createTeam`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'x-access-token': token\n },\n body: JSON.stringify(body)\n })\n if(res.status==200){\n return 1;\n } else return 0;\n}\n\nasync function joinTeam_1(data){\n let token = localStorage.getItem('x-access-token');\n var body = {\n teamNumber: data\n }\n let res = await fetch(`${URL}/api/teams/joinTeam`,{\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'x-access-token': token\n },\n body: JSON.stringify(body)\n })\n if(res.status == 200){\n return 1\n } else return 0;\n}\n\nasync function teamData(teamNumber){\n let token = localStorage.getItem('x-access-token');\n if(!token) return 0;\n let res = await fetch(`${URL}/api/teams/team/${teamNumber}`, {\n method: 'GET',\n headers: {\n 'Content-Type': \"application/json\",\n 'x-access-token': token\n },\n })\n if(res.status==200){\n var temp = await res.text();\n //console.log(JSON.parse(temp))\n return JSON.parse(temp);\n }\n}\n\nexports.getTeams = getTeams;\nexports.createTeam = createTeam;\nexports.joinTeam_1 = joinTeam_1;\nexports.teamData = teamData;","/home/kunal/Development/test/project_manager_webtech_frontend/src/views/Team.js",["196"],"import React from 'react';\nimport {Container, Jumbotron} from 'react-bootstrap';\nimport {Tasks, NewMainTask} from './Tasks'\nimport {teamData} from '../services/Teams';\n\nclass Team extends React.Component {\n constructor(props) {\n super(props)\n \n this.state = {\n teamName: \"\",\n teamNumber: \"\",\n }\n \n //this.maintask_ref = null;\n this.get_details = this.get_details.bind(this)\n }\n\n async get_details(){\n \n let res = await teamData(this.props.match.params.teamNumber);\n \n this.setState({\n teamName: res.teamName,\n teamNumber: res.teamNumber\n })\n }\n \n async componentDidMount() {\n await this.get_details();\n }\n\n render() {\n //return (

Hello {this.props.match.params.teamNumber}

);\n return (\n \n \n

{this.state.teamName}

\n
{this.state.teamNumber}
\n

\n
\n \n
\n );\n }\n}\n\nexport default Team","/home/kunal/Development/test/project_manager_webtech_frontend/src/views/MainTask.js",["197"],"/home/kunal/Development/test/project_manager_webtech_frontend/src/services/Auth.js",["198","199","200","201"],"/home/kunal/Development/test/project_manager_webtech_frontend/src/views/Register.js",[],["202","203"],"/home/kunal/Development/test/project_manager_webtech_frontend/src/views/Tasks.js",[],"/home/kunal/Development/test/project_manager_webtech_frontend/src/App.js",["204","205","206","207","208"],"import './App.css';\nimport React, { useCallback } from \"react\";\nimport { BrowserRouter as Router, Route } from 'react-router-dom';\nimport 'bootstrap/dist/css/bootstrap.min.css';\n\nimport Login from './views/Login'\nimport Register from './views/Register'\nimport Navbar from 'react-bootstrap/Navbar';\nimport Nav from 'react-bootstrap/Nav';\n\nimport Home from './views/Home'\nimport Team from './views/Team'\n\nimport Jumbotron from 'react-bootstrap/Jumbotron';\nimport Container from 'react-bootstrap/Container';\nimport InputGroup from 'react-bootstrap/InputGroup';\nimport FormControl from 'react-bootstrap/FormControl';\nimport Button from 'react-bootstrap/Button'\n\n\nimport './fonts.css'\n\nconst { auth, login } = require('./services/Auth')\nconst {createTeam, joinTeam_1} = require('./services/Teams')\nvar new_team_ref;\nvar join_team_ref;\n\nasync function createNewTeam(){\n //console.log(new_team_ref.value);\n let r = await createTeam(new_team_ref.value)\n window.location.href = '/';\n}\nasync function joinTeam(){\n console.log(join_team_ref.value);\n let r = await joinTeam_1(join_team_ref.value)\n window.location.href = '/';\n}\n\nclass App extends React.Component {\n constructor() {\n super();\n this.state = {\n logged_in: 0,\n data: {}\n }\n this.log_out = this.log_out.bind(this);\n this.log_in = this.log_in.bind(this);\n\n new_team_ref = null;\n join_team_ref = null;\n\n }\n async componentDidMount() {\n const auth_check = await auth();\n //console.log(auth_check);\n if (auth_check) this.setState({ logged_in: 1, data: auth_check });\n }\n\n async log_in() {\n const auth_check = await auth();\n if (auth_check) this.setState({ logged_in: 1, data: auth_check });\n }\n\n async log_out() {\n localStorage.removeItem('x-access-token');\n const auth_check = await auth();\n if (!auth_check) this.setState({ logged_in: 0, data: {} });\n window.location.href = \"/\";\n }\n\n newTeam_render() {\n return (\n \n

Create a new team

\n \n {new_team_ref = el}}\n />\n \n \n
\n );\n }\n\n joinTeam_render() {\n return (\n \n

Join a team

\n \n {join_team_ref = el}}\n />\n \n \n
\n );\n }\n\n authentication() {\n return (\n \n \n Project Manager\n \n \n } />\n } />\n \n );\n }\n\n home() {\n return (\n \n \n Project Manager\n \n \n \n \n \n \n\n \n )\n }\n\n render() {\n return this.state.logged_in ? this.home() : this.authentication();\n }\n}\n\nexport default App;",["209","210"],"/home/kunal/Development/test/project_manager_webtech_frontend/src/reportWebVitals.js",[],["211","212"],"/home/kunal/Development/test/project_manager_webtech_frontend/src/views/Home.js",["213","214","215","216","217","218"],"import React from 'react'\nimport { Card, InputGroup } from 'react-bootstrap'\nimport Container from 'react-bootstrap/Container'\nimport Jumbotron from 'react-bootstrap/Jumbotron'\nimport Button from 'react-bootstrap/Button'\nimport { Route, Switch } from 'react-router-dom'\nimport FormControl from 'react'\n\nimport '../fonts.css'\n\nconst { getTeams } = require('../services/Teams')\n\nclass Home extends React.Component {\n constructor() {\n super()\n this.state = {\n teams: []\n }\n }\n\n generateList(data) {\n return (\n \n \n {data.teamName}\n \n \n Invite Code

{data.teamNumber}
\n
\n );\n }\n\n async componentDidMount() {\n let res = await getTeams();\n this.setState({ teams: res })\n }\n\n render() {\n return (\n \n \n

Your teams

\n
\n {this.state.teams.map(data=>this.generateList(data))}\n
\n );\n }\n}\n\nexport default Home;","/home/kunal/Development/test/project_manager_webtech_frontend/src/services/Task.js",[],"/home/kunal/Development/test/project_manager_webtech_frontend/src/views/Login.js",[],{"ruleId":"219","replacedBy":"220"},{"ruleId":"221","replacedBy":"222"},{"ruleId":"223","severity":1,"message":"224","line":4,"column":17,"nodeType":"225","messageId":"226","endLine":4,"endColumn":28},{"ruleId":"223","severity":1,"message":"227","line":16,"column":8,"nodeType":"225","messageId":"226","endLine":16,"endColumn":17},{"ruleId":"223","severity":1,"message":"228","line":22,"column":15,"nodeType":"225","messageId":"226","endLine":22,"endColumn":20},{"ruleId":"223","severity":1,"message":"229","line":30,"column":7,"nodeType":"225","messageId":"226","endLine":30,"endColumn":8},{"ruleId":"223","severity":1,"message":"229","line":35,"column":7,"nodeType":"225","messageId":"226","endLine":35,"endColumn":8},{"ruleId":"230","severity":1,"message":"231","line":105,"column":46,"nodeType":"232","messageId":"233","endLine":105,"endColumn":47,"suggestions":"234"},{"ruleId":"230","severity":1,"message":"231","line":105,"column":56,"nodeType":"232","messageId":"233","endLine":105,"endColumn":57,"suggestions":"235"},{"ruleId":"230","severity":1,"message":"231","line":121,"column":46,"nodeType":"232","messageId":"233","endLine":121,"endColumn":47,"suggestions":"236"},{"ruleId":"230","severity":1,"message":"231","line":121,"column":56,"nodeType":"232","messageId":"233","endLine":121,"endColumn":57,"suggestions":"237"},{"ruleId":"219","replacedBy":"238"},{"ruleId":"221","replacedBy":"239"},{"ruleId":"219","replacedBy":"240"},{"ruleId":"221","replacedBy":"241"},{"ruleId":"230","severity":1,"message":"231","line":49,"column":46,"nodeType":"232","messageId":"233","endLine":49,"endColumn":47,"suggestions":"242"},{"ruleId":"230","severity":1,"message":"231","line":49,"column":53,"nodeType":"232","messageId":"233","endLine":49,"endColumn":54,"suggestions":"243"},{"ruleId":"230","severity":1,"message":"231","line":41,"column":46,"nodeType":"232","messageId":"233","endLine":41,"endColumn":47,"suggestions":"244"},{"ruleId":"230","severity":1,"message":"231","line":41,"column":53,"nodeType":"232","messageId":"233","endLine":41,"endColumn":54,"suggestions":"245"},{"ruleId":"219","replacedBy":"246"},{"ruleId":"221","replacedBy":"247"},{"ruleId":"248","severity":1,"message":"249","line":17,"column":19,"nodeType":"250","messageId":"251","endLine":17,"endColumn":21},{"ruleId":"248","severity":1,"message":"249","line":39,"column":19,"nodeType":"250","messageId":"251","endLine":39,"endColumn":21},{"ruleId":"219","severity":1,"message":"252","line":56,"column":5,"nodeType":"225","messageId":"253","endLine":56,"endColumn":9},{"ruleId":"248","severity":1,"message":"249","line":57,"column":19,"nodeType":"250","messageId":"251","endLine":57,"endColumn":21},{"ruleId":"219","replacedBy":"254"},{"ruleId":"221","replacedBy":"255"},{"ruleId":"223","severity":1,"message":"256","line":2,"column":16,"nodeType":"225","messageId":"226","endLine":2,"endColumn":26},{"ruleId":"223","severity":1,"message":"257","line":6,"column":10,"nodeType":"225","messageId":"226","endLine":6,"endColumn":15},{"ruleId":"223","severity":1,"message":"258","line":6,"column":17,"nodeType":"225","messageId":"226","endLine":6,"endColumn":23},{"ruleId":"223","severity":1,"message":"259","line":7,"column":8,"nodeType":"225","messageId":"226","endLine":7,"endColumn":19},{"ruleId":"230","severity":1,"message":"231","line":25,"column":50,"nodeType":"232","messageId":"233","endLine":25,"endColumn":51,"suggestions":"260"},{"ruleId":"230","severity":1,"message":"231","line":25,"column":59,"nodeType":"232","messageId":"233","endLine":25,"endColumn":60,"suggestions":"261"},{"ruleId":"230","severity":1,"message":"231","line":28,"column":54,"nodeType":"232","messageId":"233","endLine":28,"endColumn":55,"suggestions":"262"},{"ruleId":"230","severity":1,"message":"231","line":28,"column":61,"nodeType":"232","messageId":"233","endLine":28,"endColumn":62,"suggestions":"263"},{"ruleId":"230","severity":1,"message":"231","line":42,"column":46,"nodeType":"232","messageId":"233","endLine":42,"endColumn":47,"suggestions":"264"},{"ruleId":"230","severity":1,"message":"231","line":42,"column":53,"nodeType":"232","messageId":"233","endLine":42,"endColumn":54,"suggestions":"265"},{"ruleId":"219","replacedBy":"266"},{"ruleId":"221","replacedBy":"267"},{"ruleId":"248","severity":1,"message":"249","line":18,"column":12,"nodeType":"250","messageId":"251","endLine":18,"endColumn":14},{"ruleId":"248","severity":1,"message":"249","line":32,"column":18,"nodeType":"250","messageId":"251","endLine":32,"endColumn":20},{"ruleId":"248","severity":1,"message":"249","line":38,"column":12,"nodeType":"250","messageId":"251","endLine":38,"endColumn":14},{"ruleId":"248","severity":1,"message":"249","line":51,"column":19,"nodeType":"250","messageId":"251","endLine":51,"endColumn":21},{"ruleId":"248","severity":1,"message":"249","line":66,"column":18,"nodeType":"250","messageId":"251","endLine":66,"endColumn":20},{"ruleId":"230","severity":1,"message":"231","line":51,"column":46,"nodeType":"232","messageId":"233","endLine":51,"endColumn":47,"suggestions":"268"},{"ruleId":"230","severity":1,"message":"231","line":51,"column":53,"nodeType":"232","messageId":"233","endLine":51,"endColumn":54,"suggestions":"269"},{"ruleId":"230","severity":1,"message":"231","line":120,"column":58,"nodeType":"232","messageId":"233","endLine":120,"endColumn":59,"suggestions":"270"},{"ruleId":"230","severity":1,"message":"231","line":120,"column":67,"nodeType":"232","messageId":"233","endLine":120,"endColumn":68,"suggestions":"271"},{"ruleId":"230","severity":1,"message":"231","line":123,"column":94,"nodeType":"232","messageId":"233","endLine":123,"endColumn":95,"suggestions":"272"},{"ruleId":"230","severity":1,"message":"231","line":123,"column":107,"nodeType":"232","messageId":"233","endLine":123,"endColumn":108,"suggestions":"273"},{"ruleId":"248","severity":1,"message":"249","line":126,"column":123,"nodeType":"250","messageId":"251","endLine":126,"endColumn":125},{"ruleId":"230","severity":1,"message":"231","line":129,"column":94,"nodeType":"232","messageId":"233","endLine":129,"endColumn":95,"suggestions":"274"},{"ruleId":"230","severity":1,"message":"231","line":129,"column":107,"nodeType":"232","messageId":"233","endLine":129,"endColumn":108,"suggestions":"275"},{"ruleId":"219","severity":1,"message":"276","line":3,"column":1,"nodeType":"225","messageId":"253","endLine":3,"endColumn":4},{"ruleId":"248","severity":1,"message":"249","line":6,"column":12,"nodeType":"250","messageId":"251","endLine":6,"endColumn":14},{"ruleId":"248","severity":1,"message":"249","line":20,"column":20,"nodeType":"250","messageId":"251","endLine":20,"endColumn":22},{"ruleId":"248","severity":1,"message":"249","line":26,"column":12,"nodeType":"250","messageId":"251","endLine":26,"endColumn":14},{"ruleId":"248","severity":1,"message":"249","line":40,"column":20,"nodeType":"250","messageId":"251","endLine":40,"endColumn":22},{"ruleId":"248","severity":1,"message":"249","line":55,"column":20,"nodeType":"250","messageId":"251","endLine":55,"endColumn":22},{"ruleId":"248","severity":1,"message":"249","line":72,"column":20,"nodeType":"250","messageId":"251","endLine":72,"endColumn":22},{"ruleId":"248","severity":1,"message":"249","line":86,"column":20,"nodeType":"250","messageId":"251","endLine":86,"endColumn":22},{"ruleId":"248","severity":1,"message":"249","line":105,"column":19,"nodeType":"250","messageId":"251","endLine":105,"endColumn":21},{"ruleId":"248","severity":1,"message":"249","line":118,"column":18,"nodeType":"250","messageId":"251","endLine":118,"endColumn":20},{"ruleId":"230","severity":1,"message":"231","line":122,"column":58,"nodeType":"232","messageId":"233","endLine":122,"endColumn":59,"suggestions":"277"},{"ruleId":"230","severity":1,"message":"231","line":122,"column":67,"nodeType":"232","messageId":"233","endLine":122,"endColumn":68,"suggestions":"278"},{"ruleId":"230","severity":1,"message":"231","line":125,"column":95,"nodeType":"232","messageId":"233","endLine":125,"endColumn":96,"suggestions":"279"},{"ruleId":"230","severity":1,"message":"231","line":125,"column":108,"nodeType":"232","messageId":"233","endLine":125,"endColumn":109,"suggestions":"280"},{"ruleId":"248","severity":1,"message":"249","line":128,"column":123,"nodeType":"250","messageId":"251","endLine":128,"endColumn":125},{"ruleId":"230","severity":1,"message":"231","line":131,"column":95,"nodeType":"232","messageId":"233","endLine":131,"endColumn":96,"suggestions":"281"},{"ruleId":"230","severity":1,"message":"231","line":131,"column":108,"nodeType":"232","messageId":"233","endLine":131,"endColumn":109,"suggestions":"282"},{"ruleId":"219","replacedBy":"283"},{"ruleId":"221","replacedBy":"284"},{"ruleId":"248","severity":1,"message":"249","line":31,"column":18,"nodeType":"250","messageId":"251","endLine":31,"endColumn":20},{"ruleId":"248","severity":1,"message":"249","line":49,"column":19,"nodeType":"250","messageId":"251","endLine":49,"endColumn":21},{"ruleId":"248","severity":1,"message":"249","line":64,"column":18,"nodeType":"250","messageId":"251","endLine":64,"endColumn":20},{"ruleId":"223","severity":1,"message":"285","line":3,"column":16,"nodeType":"225","messageId":"226","endLine":3,"endColumn":27},{"ruleId":"286","severity":1,"message":"287","line":106,"column":13,"nodeType":"225","messageId":"288","endLine":106,"endColumn":17},{"ruleId":"248","severity":1,"message":"249","line":17,"column":19,"nodeType":"250","messageId":"251","endLine":17,"endColumn":21},{"ruleId":"248","severity":1,"message":"249","line":39,"column":19,"nodeType":"250","messageId":"251","endLine":39,"endColumn":21},{"ruleId":"219","severity":1,"message":"252","line":56,"column":5,"nodeType":"225","messageId":"253","endLine":56,"endColumn":9},{"ruleId":"248","severity":1,"message":"249","line":57,"column":19,"nodeType":"250","messageId":"251","endLine":57,"endColumn":21},{"ruleId":"219","replacedBy":"289"},{"ruleId":"221","replacedBy":"290"},{"ruleId":"223","severity":1,"message":"224","line":2,"column":17,"nodeType":"225","messageId":"226","endLine":2,"endColumn":28},{"ruleId":"223","severity":1,"message":"227","line":14,"column":8,"nodeType":"225","messageId":"226","endLine":14,"endColumn":17},{"ruleId":"223","severity":1,"message":"228","line":23,"column":15,"nodeType":"225","messageId":"226","endLine":23,"endColumn":20},{"ruleId":"223","severity":1,"message":"229","line":30,"column":7,"nodeType":"225","messageId":"226","endLine":30,"endColumn":8},{"ruleId":"223","severity":1,"message":"229","line":35,"column":7,"nodeType":"225","messageId":"226","endLine":35,"endColumn":8},{"ruleId":"219","replacedBy":"291"},{"ruleId":"221","replacedBy":"292"},{"ruleId":"219","replacedBy":"293"},{"ruleId":"221","replacedBy":"294"},{"ruleId":"223","severity":1,"message":"256","line":2,"column":16,"nodeType":"225","messageId":"226","endLine":2,"endColumn":26},{"ruleId":"223","severity":1,"message":"257","line":6,"column":10,"nodeType":"225","messageId":"226","endLine":6,"endColumn":15},{"ruleId":"223","severity":1,"message":"258","line":6,"column":17,"nodeType":"225","messageId":"226","endLine":6,"endColumn":23},{"ruleId":"223","severity":1,"message":"259","line":7,"column":8,"nodeType":"225","messageId":"226","endLine":7,"endColumn":19},{"ruleId":"230","severity":1,"message":"231","line":42,"column":46,"nodeType":"232","messageId":"233","endLine":42,"endColumn":47,"suggestions":"295"},{"ruleId":"230","severity":1,"message":"231","line":42,"column":53,"nodeType":"232","messageId":"233","endLine":42,"endColumn":54,"suggestions":"296"},"no-native-reassign",["297"],"no-negated-in-lhs",["298"],"no-unused-vars","'useCallback' is defined but never used.","Identifier","unusedVar","'Jumbotron' is defined but never used.","'login' is assigned a value but never used.","'r' is assigned a value but never used.","no-useless-escape","Unnecessary escape character: \\'.","Literal","unnecessaryEscape",["299","300"],["301","302"],["303","304"],["305","306"],["297"],["298"],["297"],["298"],["307","308"],["309","310"],["311","312"],["313","314"],["297"],["298"],"eqeqeq","Expected '===' and instead saw '=='.","BinaryExpression","unexpected","Read-only global 'test' should not be modified.","nativeReassign",["297"],["298"],"'InputGroup' is defined but never used.","'Route' is defined but never used.","'Switch' is defined but never used.","'FormControl' is defined but never used.",["315","316"],["317","318"],["319","320"],["321","322"],["323","324"],["325","326"],["297"],["298"],["327","328"],["329","330"],["331","332"],["333","334"],["335","336"],["337","338"],["339","340"],["341","342"],"Read-only global 'URL' should not be modified.",["343","344"],["345","346"],["347","348"],["349","350"],["351","352"],["353","354"],["297"],["298"],"'NewMainTask' is defined but never used.","no-redeclare","'temp' is already defined.","redeclared",["297"],["298"],["297"],["298"],["297"],["298"],["355","356"],["357","358"],"no-global-assign","no-unsafe-negation",{"messageId":"359","fix":"360","desc":"361"},{"messageId":"362","fix":"363","desc":"364"},{"messageId":"359","fix":"365","desc":"361"},{"messageId":"362","fix":"366","desc":"364"},{"messageId":"359","fix":"367","desc":"361"},{"messageId":"362","fix":"368","desc":"364"},{"messageId":"359","fix":"369","desc":"361"},{"messageId":"362","fix":"370","desc":"364"},{"messageId":"359","fix":"371","desc":"361"},{"messageId":"362","fix":"372","desc":"364"},{"messageId":"359","fix":"373","desc":"361"},{"messageId":"362","fix":"374","desc":"364"},{"messageId":"359","fix":"375","desc":"361"},{"messageId":"362","fix":"376","desc":"364"},{"messageId":"359","fix":"377","desc":"361"},{"messageId":"362","fix":"378","desc":"364"},{"messageId":"359","fix":"379","desc":"361"},{"messageId":"362","fix":"380","desc":"364"},{"messageId":"359","fix":"381","desc":"361"},{"messageId":"362","fix":"382","desc":"364"},{"messageId":"359","fix":"383","desc":"361"},{"messageId":"362","fix":"384","desc":"364"},{"messageId":"359","fix":"385","desc":"361"},{"messageId":"362","fix":"386","desc":"364"},{"messageId":"359","fix":"387","desc":"361"},{"messageId":"362","fix":"388","desc":"364"},{"messageId":"359","fix":"389","desc":"361"},{"messageId":"362","fix":"390","desc":"364"},{"messageId":"359","fix":"391","desc":"361"},{"messageId":"362","fix":"392","desc":"364"},{"messageId":"359","fix":"393","desc":"361"},{"messageId":"362","fix":"394","desc":"364"},{"messageId":"359","fix":"395","desc":"361"},{"messageId":"362","fix":"396","desc":"364"},{"messageId":"359","fix":"397","desc":"361"},{"messageId":"362","fix":"398","desc":"364"},{"messageId":"359","fix":"399","desc":"361"},{"messageId":"362","fix":"400","desc":"364"},{"messageId":"359","fix":"401","desc":"361"},{"messageId":"362","fix":"402","desc":"364"},{"messageId":"359","fix":"403","desc":"361"},{"messageId":"362","fix":"404","desc":"364"},{"messageId":"359","fix":"405","desc":"361"},{"messageId":"362","fix":"406","desc":"364"},{"messageId":"359","fix":"407","desc":"361"},{"messageId":"362","fix":"408","desc":"364"},{"messageId":"359","fix":"409","desc":"361"},{"messageId":"362","fix":"410","desc":"364"},{"messageId":"359","fix":"411","desc":"361"},{"messageId":"362","fix":"412","desc":"364"},{"messageId":"359","fix":"413","desc":"361"},{"messageId":"362","fix":"414","desc":"364"},{"messageId":"359","fix":"415","desc":"361"},{"messageId":"362","fix":"416","desc":"364"},{"messageId":"359","fix":"417","desc":"361"},{"messageId":"362","fix":"418","desc":"364"},{"messageId":"359","fix":"419","desc":"361"},{"messageId":"362","fix":"420","desc":"364"},{"messageId":"359","fix":"421","desc":"361"},{"messageId":"362","fix":"422","desc":"364"},"removeEscape",{"range":"423","text":"424"},"Remove the `\\`. This maintains the current functionality.","escapeBackslash",{"range":"425","text":"426"},"Replace the `\\` with `\\\\` to include the actual backslash character.",{"range":"427","text":"424"},{"range":"428","text":"426"},{"range":"429","text":"424"},{"range":"430","text":"426"},{"range":"431","text":"424"},{"range":"432","text":"426"},{"range":"433","text":"424"},{"range":"434","text":"426"},{"range":"435","text":"424"},{"range":"436","text":"426"},{"range":"437","text":"424"},{"range":"438","text":"426"},{"range":"439","text":"424"},{"range":"440","text":"426"},{"range":"441","text":"424"},{"range":"442","text":"426"},{"range":"443","text":"424"},{"range":"444","text":"426"},{"range":"445","text":"424"},{"range":"446","text":"426"},{"range":"447","text":"424"},{"range":"448","text":"426"},{"range":"449","text":"424"},{"range":"450","text":"426"},{"range":"451","text":"424"},{"range":"452","text":"426"},{"range":"453","text":"424"},{"range":"454","text":"426"},{"range":"455","text":"424"},{"range":"456","text":"426"},{"range":"457","text":"424"},{"range":"458","text":"426"},{"range":"459","text":"424"},{"range":"460","text":"426"},{"range":"461","text":"424"},{"range":"462","text":"426"},{"range":"463","text":"424"},{"range":"464","text":"426"},{"range":"465","text":"424"},{"range":"466","text":"426"},{"range":"467","text":"424"},{"range":"468","text":"426"},{"range":"469","text":"424"},{"range":"470","text":"426"},{"range":"471","text":"424"},{"range":"472","text":"426"},{"range":"473","text":"424"},{"range":"474","text":"426"},{"range":"475","text":"424"},{"range":"476","text":"426"},{"range":"477","text":"424"},{"range":"478","text":"426"},{"range":"479","text":"424"},{"range":"480","text":"426"},{"range":"481","text":"424"},{"range":"482","text":"426"},{"range":"483","text":"424"},{"range":"484","text":"426"},[2740,2741],"",[2740,2740],"\\",[2750,2751],[2750,2750],[3337,3338],[3337,3337],[3347,3348],[3347,3347],[1293,1294],[1293,1293],[1300,1301],[1300,1300],[1106,1107],[1106,1106],[1113,1114],[1113,1113],[744,745],[744,744],[753,754],[753,753],[973,974],[973,973],[980,981],[980,980],[1357,1358],[1357,1357],[1364,1365],[1364,1364],[1541,1542],[1541,1541],[1548,1549],[1548,1548],[3772,3773],[3772,3772],[3781,3782],[3781,3781],[3976,3977],[3976,3976],[3989,3990],[3989,3989],[4601,4602],[4601,4601],[4614,4615],[4614,4614],[3825,3826],[3825,3825],[3834,3835],[3834,3834],[4029,4030],[4029,4029],[4042,4043],[4042,4042],[4656,4657],[4656,4656],[4669,4670],[4669,4669],[1359,1360],[1359,1359],[1366,1367],[1366,1366]] \ No newline at end of file diff --git a/project_manager_webtech_frontend/public/Completed.png b/project_manager_webtech_frontend/public/Completed.png new file mode 100644 index 0000000..56b569a Binary files /dev/null and b/project_manager_webtech_frontend/public/Completed.png differ diff --git a/project_manager_webtech_frontend/public/Uncompleted.png b/project_manager_webtech_frontend/public/Uncompleted.png new file mode 100644 index 0000000..aaa4b00 Binary files /dev/null and b/project_manager_webtech_frontend/public/Uncompleted.png differ diff --git a/project_manager_webtech_frontend/src/fonts.css b/project_manager_webtech_frontend/src/fonts.css index 6581686..f169753 100644 --- a/project_manager_webtech_frontend/src/fonts.css +++ b/project_manager_webtech_frontend/src/fonts.css @@ -2,4 +2,9 @@ @import url('https://fonts.googleapis.com/css2?family=Pacifico&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Anton&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@600&display=swap'); -@import url('https://fonts.googleapis.com/css2?family=Castoro&display=swap'); \ No newline at end of file +@import url('https://fonts.googleapis.com/css2?family=Castoro&display=swap'); + +.Icons { + height: 20px; + width: 20px; +} \ No newline at end of file diff --git a/project_manager_webtech_frontend/src/views/MainTask.js b/project_manager_webtech_frontend/src/views/MainTask.js index 78888b3..4868f10 100644 --- a/project_manager_webtech_frontend/src/views/MainTask.js +++ b/project_manager_webtech_frontend/src/views/MainTask.js @@ -13,6 +13,8 @@ class MainTask extends React.Component { this.tasks = [] this.tkey = "" this.name = "" + this.comp = 0 + this.color = "" this.state = { Id: this.props.taskId, @@ -26,7 +28,7 @@ class MainTask extends React.Component { uncomDisplay: "none", Comments: this.comments, Tasks: this.tasks, - Time: Date.now(), + Completed : 0, bgColor: "#FF0000" } @@ -54,7 +56,7 @@ class MainTask extends React.Component { this.tasks = temp.children this.name = temp.taskName this.comp = temp.taskStatus - this.color = this.colorHex(this.comp) + this.colorHex(this.comp) if(this.tasks.length === 0) { @@ -63,8 +65,7 @@ class MainTask extends React.Component { this.setState({ Name : this.name, comDisplay: "none", - uncomDisplay: "block", - bgColor : this.color + uncomDisplay: "block" }) } else @@ -72,8 +73,7 @@ class MainTask extends React.Component { this.setState({ Name : this.name, comDisplay: "block", - uncomDisplay: "none", - bgColor : this.color + uncomDisplay: "none" }) } } @@ -86,7 +86,6 @@ class MainTask extends React.Component { comDisplay: "none", uncomDisplay: "none", Tasks : this.tasks, - bgColor : this.color }) } @@ -104,10 +103,18 @@ class MainTask extends React.Component { this.tasks = temp.children this.name = temp.taskName - this.setState({ - Name: this.name, - Tasks: this.tasks - }) + var temp = await loadST(this.props.taskId) + this.tasks = temp.children + this.name = temp.taskName + + var temp1 = "none" + if(this.state.pDisplay !== temp1) + { + this.setState ({ + Name : this.name, + Tasks : this.tasks + }) + } } async completed() { @@ -270,8 +277,12 @@ class MainTask extends React.Component { sDisplay: "block", minDisplay: "block", maxDisplay: "none", + comDisplay: "none", + uncomDisplay: "none", Tasks: this.tasks }) + + this.complete() } minimiseSubTasks() { @@ -296,29 +307,51 @@ class MainTask extends React.Component { var ref = [] - for (var i = 0; i < this.tasks.length; i++) { - if (this.tasks[i] !== key) { + for(var i = 0; i < this.tasks.length; i++) + { + if(this.tasks[i] !== key) + { ref.push(this.tasks[i]) } - else { + else + { await deleteST(this.tasks[i]) } } this.tasks = ref - if (this.tasks.length === 0) { - this.setState({ - sDisplay: "none", - minDisplay: "none", - Tasks: this.tasks - }) + if(this.tasks.length === 0) + { + if(this.comp === 100) + { + this.setState({ + sDisplay : "none", + minDisplay : "none", + comDisplay : "none", + uncomDisplay : "block", + Tasks: this.tasks + }) + } + else + { + this.setState({ + sDisplay : "none", + minDisplay : "none", + comDisplay : "block", + uncomDisplay : "none", + Tasks: this.tasks + }) + } } - else { - this.setState({ - Tasks: this.tasks + else + { + this.setState ({ + Tasks : this.tasks }) } + + this.complete() } render() { @@ -340,17 +373,17 @@ class MainTask extends React.Component { > - + - - - - - - - + + + + + + +