diff --git a/diskuy/.eslintcache b/diskuy/.eslintcache
index 24d55b1d15cffe1732c94049d5c699496f5f2bf9..82b5b4cfb8d741291c4c90022e203fd7547f67f0 100644
--- a/diskuy/.eslintcache
+++ b/diskuy/.eslintcache
@@ -1 +1 @@
-[{"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\index.js":"1","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\reportWebVitals.js":"2","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\App.js":"3","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Topic.js":"4","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Navbar.js":"5","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Button.js":"6","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\TopicList.js":"7","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Form.js":"8","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\hooks\\input-hook.js":"9","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Threads\\Thread.js":"10","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Threads\\ListThreads.js":"11","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Profile\\Profile.js":"12","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Threads\\Post.js":"13","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Threads\\CommentList.js":"14","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\ThreadList.js":"15","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Threads\\PreviewThread.js":"16","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\LoginForm.js":"17","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\RegisterForm.js":"18","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\services\\auth-header.js":"19","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\services\\auth.service.js":"20","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\services\\loggedInService.js":"21"},{"size":517,"mtime":1608228708909,"results":"22","hashOfConfig":"23"},{"size":375,"mtime":1608228708909,"results":"24","hashOfConfig":"23"},{"size":1059,"mtime":1610110193424,"results":"25","hashOfConfig":"23"},{"size":1433,"mtime":1610115857293,"results":"26","hashOfConfig":"23"},{"size":1659,"mtime":1610115857292,"results":"27","hashOfConfig":"23"},{"size":310,"mtime":1609674995191,"results":"28","hashOfConfig":"23"},{"size":774,"mtime":1610110193428,"results":"29","hashOfConfig":"23"},{"size":1705,"mtime":1610117688744,"results":"30","hashOfConfig":"23"},{"size":374,"mtime":1609495708947,"results":"31","hashOfConfig":"23"},{"size":3903,"mtime":1610116889753,"results":"32","hashOfConfig":"23"},{"size":703,"mtime":1609612143908,"results":"33","hashOfConfig":"23"},{"size":1864,"mtime":1609674995194,"results":"34","hashOfConfig":"23"},{"size":1593,"mtime":1610117665047,"results":"35","hashOfConfig":"23"},{"size":708,"mtime":1610116344406,"results":"36","hashOfConfig":"23"},{"size":404,"mtime":1609674083165,"results":"37","hashOfConfig":"23"},{"size":751,"mtime":1609674995195,"results":"38","hashOfConfig":"23"},{"size":2677,"mtime":1610115857291,"results":"39","hashOfConfig":"23"},{"size":3045,"mtime":1610113902297,"results":"40","hashOfConfig":"23"},{"size":209,"mtime":1610110193430,"results":"41","hashOfConfig":"23"},{"size":861,"mtime":1610117080683,"results":"42","hashOfConfig":"23"},{"size":103,"mtime":1610114385716,"results":"43","hashOfConfig":"23"},{"filePath":"44","messages":"45","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"46"},"1e00zfu",{"filePath":"47","messages":"48","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"46"},{"filePath":"49","messages":"50","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"46"},{"filePath":"51","messages":"52","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"46"},{"filePath":"53","messages":"54","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"46"},{"filePath":"55","messages":"56","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"57","usedDeprecatedRules":"46"},{"filePath":"58","messages":"59","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"46"},{"filePath":"60","messages":"61","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"62","messages":"63","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"46"},{"filePath":"64","messages":"65","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"66","messages":"67","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"46"},{"filePath":"68","messages":"69","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"46"},{"filePath":"70","messages":"71","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"72","messages":"73","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"74","messages":"75","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"46"},{"filePath":"76","messages":"77","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"78","usedDeprecatedRules":"46"},{"filePath":"79","messages":"80","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"81","messages":"82","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"46"},{"filePath":"83","messages":"84","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"46"},{"filePath":"85","messages":"86","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"87","messages":"88","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"46"},"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\index.js",[],["89","90"],"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\reportWebVitals.js",[],"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\App.js",[],"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Topic.js",[],"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Navbar.js",[],"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Button.js",["91","92"],"import React from \"react\";\r\nimport './Button.css';\r\nimport {\r\n    Link\r\n  } from \"react-router-dom\"\r\n\r\nfunction Button(props) {\r\n    return (\r\n        <Link to={`/${props.url}`}>\r\n            <button className={`button ${props.color}`}>{props.text}</button>\r\n        </Link>\r\n    )\r\n}\r\n\r\nexport default Button;","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\TopicList.js",[],"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Form.js",[],"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\hooks\\input-hook.js",[],"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Threads\\Thread.js",["93"],"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Threads\\ListThreads.js",[],"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Profile\\Profile.js",[],"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Threads\\Post.js",["94","95"],"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Threads\\CommentList.js",[],"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\ThreadList.js",[],"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Threads\\PreviewThread.js",["96","97"],"import React from \"react\";\r\n\r\nimport axios from \"axios\";\r\n\r\nconst LINK = 'http://localhost:4000';\r\n\r\n\r\nfunction PreviewThread (props) {\r\n\r\n    // const userName = await axios.get(`${LINK}/api/threads/${props.user_id}`);\r\n    // const topic_id = `${props.topic_id}`\r\n    // const topicName = await axios.get(`${LINK}/api/topics/${props.topic_id}`).data.data.find(topic => topic.name === topic_id).id\r\n    return (\r\n        <div className=\"thread_container\">\r\n            <h1>{props.title}</h1>\r\n            <div className=\"label\">\r\n                <h2>{props.topic_id}</h2>\r\n            </div>\r\n            <div className=\"info\">\r\n                <h3>{props.timestamp}</h3>\r\n            </div>\r\n        </div>\r\n    )\r\n}\r\n\r\nexport default PreviewThread;","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\LoginForm.js",["98","99"],"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\RegisterForm.js",[],"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\services\\auth-header.js",[],"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\services\\auth.service.js",[],"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\services\\loggedInService.js",[],{"ruleId":"100","replacedBy":"101"},{"ruleId":"102","replacedBy":"103"},{"ruleId":"104","severity":1,"message":"105","line":8,"column":18,"nodeType":"106","messageId":"107","endLine":8,"endColumn":20},{"ruleId":"104","severity":1,"message":"105","line":14,"column":23,"nodeType":"106","messageId":"107","endLine":14,"endColumn":25},{"ruleId":"104","severity":1,"message":"105","line":41,"column":105,"nodeType":"106","messageId":"107","endLine":41,"endColumn":107},{"ruleId":"104","severity":1,"message":"105","line":12,"column":27,"nodeType":"106","messageId":"107","endLine":12,"endColumn":29},{"ruleId":"104","severity":1,"message":"105","line":33,"column":51,"nodeType":"106","messageId":"107","endLine":33,"endColumn":53},{"ruleId":"108","severity":1,"message":"109","line":3,"column":8,"nodeType":"110","messageId":"111","endLine":3,"endColumn":13},{"ruleId":"108","severity":1,"message":"112","line":5,"column":7,"nodeType":"110","messageId":"111","endLine":5,"endColumn":11},{"ruleId":"108","severity":1,"message":"113","line":2,"column":10,"nodeType":"110","messageId":"111","endLine":2,"endColumn":17},{"ruleId":"108","severity":1,"message":"114","line":6,"column":5,"nodeType":"110","messageId":"111","endLine":6,"endColumn":9},"no-native-reassign",["115"],"no-negated-in-lhs",["116"],"eqeqeq","Expected '===' and instead saw '=='.","BinaryExpression","unexpected","no-unused-vars","'axios' is defined but never used.","Identifier","unusedVar","'LINK' is assigned a value but never used.","'isEmail' is defined but never used.","'Link' is defined but never used.","no-global-assign","no-unsafe-negation"]
\ No newline at end of file
+[{"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\index.js":"1","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\reportWebVitals.js":"2","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\App.js":"3","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Topic.js":"4","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Navbar.js":"5","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Button.js":"6","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\TopicList.js":"7","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Form.js":"8","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\hooks\\input-hook.js":"9","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Threads\\Thread.js":"10","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Threads\\ListThreads.js":"11","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Profile\\Profile.js":"12","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Threads\\Post.js":"13","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Threads\\CommentList.js":"14","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\ThreadList.js":"15","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Threads\\PreviewThread.js":"16","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\LoginForm.js":"17","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\RegisterForm.js":"18","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\services\\auth-header.js":"19","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\services\\auth.service.js":"20","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\services\\loggedInService.js":"21"},{"size":517,"mtime":1608228708909,"results":"22","hashOfConfig":"23"},{"size":375,"mtime":1608228708909,"results":"24","hashOfConfig":"23"},{"size":1059,"mtime":1610110193424,"results":"25","hashOfConfig":"23"},{"size":1617,"mtime":1610118223050,"results":"26","hashOfConfig":"23"},{"size":1659,"mtime":1610115857292,"results":"27","hashOfConfig":"23"},{"size":310,"mtime":1609674995191,"results":"28","hashOfConfig":"23"},{"size":774,"mtime":1610110193428,"results":"29","hashOfConfig":"23"},{"size":1705,"mtime":1610117688744,"results":"30","hashOfConfig":"23"},{"size":374,"mtime":1609495708947,"results":"31","hashOfConfig":"23"},{"size":3965,"mtime":1610118280732,"results":"32","hashOfConfig":"23"},{"size":703,"mtime":1609612143908,"results":"33","hashOfConfig":"23"},{"size":1864,"mtime":1609674995194,"results":"34","hashOfConfig":"23"},{"size":1593,"mtime":1610117665047,"results":"35","hashOfConfig":"23"},{"size":708,"mtime":1610116344406,"results":"36","hashOfConfig":"23"},{"size":404,"mtime":1609674083165,"results":"37","hashOfConfig":"23"},{"size":751,"mtime":1609674995195,"results":"38","hashOfConfig":"23"},{"size":2677,"mtime":1610115857291,"results":"39","hashOfConfig":"23"},{"size":3045,"mtime":1610113902297,"results":"40","hashOfConfig":"23"},{"size":209,"mtime":1610110193430,"results":"41","hashOfConfig":"23"},{"size":861,"mtime":1610117080683,"results":"42","hashOfConfig":"23"},{"size":103,"mtime":1610114385716,"results":"43","hashOfConfig":"23"},{"filePath":"44","messages":"45","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"46"},"1e00zfu",{"filePath":"47","messages":"48","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"46"},{"filePath":"49","messages":"50","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"46"},{"filePath":"51","messages":"52","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"53","messages":"54","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"46"},{"filePath":"55","messages":"56","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"57","usedDeprecatedRules":"46"},{"filePath":"58","messages":"59","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"46"},{"filePath":"60","messages":"61","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"62","messages":"63","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"46"},{"filePath":"64","messages":"65","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"66","messages":"67","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"46"},{"filePath":"68","messages":"69","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"46"},{"filePath":"70","messages":"71","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"72","messages":"73","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"74","messages":"75","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"46"},{"filePath":"76","messages":"77","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"78","usedDeprecatedRules":"46"},{"filePath":"79","messages":"80","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"81","messages":"82","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"46"},{"filePath":"83","messages":"84","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"46"},{"filePath":"85","messages":"86","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"87","messages":"88","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"46"},"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\index.js",[],["89","90"],"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\reportWebVitals.js",[],"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\App.js",[],"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Topic.js",[],"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Navbar.js",[],"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Button.js",["91","92"],"import React from \"react\";\r\nimport './Button.css';\r\nimport {\r\n    Link\r\n  } from \"react-router-dom\"\r\n\r\nfunction Button(props) {\r\n    return (\r\n        <Link to={`/${props.url}`}>\r\n            <button className={`button ${props.color}`}>{props.text}</button>\r\n        </Link>\r\n    )\r\n}\r\n\r\nexport default Button;","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\TopicList.js",[],"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Form.js",[],"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\hooks\\input-hook.js",[],"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Threads\\Thread.js",["93"],"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Threads\\ListThreads.js",[],"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Profile\\Profile.js",[],"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Threads\\Post.js",["94","95"],"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Threads\\CommentList.js",[],"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\ThreadList.js",[],"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\Threads\\PreviewThread.js",["96","97"],"import React from \"react\";\r\n\r\nimport axios from \"axios\";\r\n\r\nconst LINK = 'http://localhost:4000';\r\n\r\n\r\nfunction PreviewThread (props) {\r\n\r\n    // const userName = await axios.get(`${LINK}/api/threads/${props.user_id}`);\r\n    // const topic_id = `${props.topic_id}`\r\n    // const topicName = await axios.get(`${LINK}/api/topics/${props.topic_id}`).data.data.find(topic => topic.name === topic_id).id\r\n    return (\r\n        <div className=\"thread_container\">\r\n            <h1>{props.title}</h1>\r\n            <div className=\"label\">\r\n                <h2>{props.topic_id}</h2>\r\n            </div>\r\n            <div className=\"info\">\r\n                <h3>{props.timestamp}</h3>\r\n            </div>\r\n        </div>\r\n    )\r\n}\r\n\r\nexport default PreviewThread;","C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\LoginForm.js",["98","99"],"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\RegisterForm.js",[],"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\services\\auth-header.js",[],"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\services\\auth.service.js",[],"C:\\Users\\Ryo Axtonlie\\Documents\\..KULIAH\\SEM 5\\PemFung\\tk\\diskuy\\diskuy\\src\\services\\loggedInService.js",[],{"ruleId":"100","replacedBy":"101"},{"ruleId":"102","replacedBy":"103"},{"ruleId":"104","severity":1,"message":"105","line":8,"column":18,"nodeType":"106","messageId":"107","endLine":8,"endColumn":20},{"ruleId":"104","severity":1,"message":"105","line":14,"column":23,"nodeType":"106","messageId":"107","endLine":14,"endColumn":25},{"ruleId":"104","severity":1,"message":"105","line":41,"column":105,"nodeType":"106","messageId":"107","endLine":41,"endColumn":107},{"ruleId":"104","severity":1,"message":"105","line":12,"column":27,"nodeType":"106","messageId":"107","endLine":12,"endColumn":29},{"ruleId":"104","severity":1,"message":"105","line":33,"column":51,"nodeType":"106","messageId":"107","endLine":33,"endColumn":53},{"ruleId":"108","severity":1,"message":"109","line":3,"column":8,"nodeType":"110","messageId":"111","endLine":3,"endColumn":13},{"ruleId":"108","severity":1,"message":"112","line":5,"column":7,"nodeType":"110","messageId":"111","endLine":5,"endColumn":11},{"ruleId":"108","severity":1,"message":"113","line":2,"column":10,"nodeType":"110","messageId":"111","endLine":2,"endColumn":17},{"ruleId":"108","severity":1,"message":"114","line":6,"column":5,"nodeType":"110","messageId":"111","endLine":6,"endColumn":9},"no-native-reassign",["115"],"no-negated-in-lhs",["116"],"eqeqeq","Expected '===' and instead saw '=='.","BinaryExpression","unexpected","no-unused-vars","'axios' is defined but never used.","Identifier","unusedVar","'LINK' is assigned a value but never used.","'isEmail' is defined but never used.","'Link' is defined but never used.","no-global-assign","no-unsafe-negation"]
\ No newline at end of file
diff --git a/diskuy/src/Threads/Thread.js b/diskuy/src/Threads/Thread.js
index 78a7a848b904f85d3459ff014da0cc803bd1e01b..ef75b1d9c4f0fb041722d296a954b1dc22c42d9e 100644
--- a/diskuy/src/Threads/Thread.js
+++ b/diskuy/src/Threads/Thread.js
@@ -99,7 +99,10 @@ export default function Thread(props){
                     time={thread.updated_at}/>
             </div>
 
-            <button type="button" className="btn btn-primary btn_cancel scrollButton" onClick={scrollBottom}>Add New Comment</button>
+            {loggedIn && (
+                <button type="button" className="btn btn-primary btn_cancel scrollButton" onClick={scrollBottom}>Add New Comment</button>
+            )}
+            
             <h2 className='commentText'>Comment</h2>
 
             <CommentList comment={comment} thread_id={threadParm} topic_id={topicParm}></CommentList>
diff --git a/diskuy/src/Topic.js b/diskuy/src/Topic.js
index 6b9f9a05d94fba2cffd2d8df2d94978778368013..ca2f3f45192d3f5dfbac4362f62eb7139dadb37e 100644
--- a/diskuy/src/Topic.js
+++ b/diskuy/src/Topic.js
@@ -26,6 +26,9 @@ export default function Topic(props){
 
     return (
         <div>
+            <Link to={`/topic/${topicParam}/thread/create`}>
+            <button type="button" className="btn btn-primary btn_cancel">Create New Thread</button>
+            </Link>
             <ul>
                 {thread.map((value) => (
                     <Link to={`/topic/${topicParam}/${value.id}`}>