Commit d8a97120 authored by Mathias Engelbrecht Pilegård's avatar Mathias Engelbrecht Pilegård
Browse files

added ability to fetch messages from web-api utilizing custom hook

parent c04cf67d
This diff is collapsed.
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\Bruger\\\\Desktop\\\\Web-projects\\\\pipit\\\\client\\\\src\\\\components\\\\navbar\\\\navLinks\\\\NavLinks.jsx\";\nimport React from 'react';\nimport { NavLink } from \"react-router-dom\";\nimport \"./NavLinks.css\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nconst NavLinks = () => {\n return /*#__PURE__*/_jsxDEV(\"ul\", {\n className: \"left-unstyled-navbar\",\n children: [/*#__PURE__*/_jsxDEV(\"li\", {\n className: \"report-bug-navbutton-container\",\n children: /*#__PURE__*/_jsxDEV(NavLink, {\n to: \"/reportissue\",\n activeClassName: \"activeUnderlined\",\n children: \"Report issues\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 9,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 8,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n className: \"manage-projects-navbutton-container\",\n children: /*#__PURE__*/_jsxDEV(NavLink, {\n to: \"/projects\",\n activeClassName: \"activeUnderlined\",\n children: \"Projects\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n className: \"manage-team-navbutton-container\",\n children: /*#__PURE__*/_jsxDEV(NavLink, {\n to: \"/teams\",\n activeClassName: \"activeUnderlined\",\n children: \"Teams\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 15,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 7,\n columnNumber: 5\n }, this);\n};\n\n_c = NavLinks;\nexport default NavLinks;\n\nvar _c;\n\n$RefreshReg$(_c, \"NavLinks\");","map":{"version":3,"sources":["C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/navbar/navLinks/NavLinks.jsx"],"names":["React","NavLink","NavLinks"],"mappings":";AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,OAAT,QAAwB,kBAAxB;AACA,OAAO,gBAAP;;;AAEA,MAAMC,QAAQ,GAAG,MAAM;AACrB,sBACE;AAAI,IAAA,SAAS,EAAC,sBAAd;AAAA,4BACE;AAAI,MAAA,SAAS,EAAC,gCAAd;AAAA,6BACE,QAAC,OAAD;AAAS,QAAA,EAAE,EAAC,cAAZ;AAA2B,QAAA,eAAe,EAAC,kBAA3C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,YADF,eAIE;AAAI,MAAA,SAAS,EAAC,qCAAd;AAAA,6BACE,QAAC,OAAD;AAAS,QAAA,EAAE,EAAC,WAAZ;AAAwB,QAAA,eAAe,EAAC,kBAAxC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,YAJF,eAOE;AAAI,MAAA,SAAS,EAAC,iCAAd;AAAA,6BACE,QAAC,OAAD;AAAS,QAAA,EAAE,EAAC,QAAZ;AAAqB,QAAA,eAAe,EAAC,kBAArC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,YAPF;AAAA;AAAA;AAAA;AAAA;AAAA,UADF;AAaD,CAdD;;KAAMA,Q;AAgBN,eAAeA,QAAf","sourcesContent":["import React from 'react'\r\nimport { NavLink } from \"react-router-dom\";\r\nimport \"./NavLinks.css\"\r\n\r\nconst NavLinks = () => {\r\n return (\r\n <ul className=\"left-unstyled-navbar\">\r\n <li className=\"report-bug-navbutton-container\">\r\n <NavLink to=\"/reportissue\" activeClassName=\"activeUnderlined\">Report issues</NavLink>\r\n </li>\r\n <li className=\"manage-projects-navbutton-container\">\r\n <NavLink to=\"/projects\" activeClassName=\"activeUnderlined\">Projects</NavLink>\r\n </li>\r\n <li className=\"manage-team-navbutton-container\">\r\n <NavLink to=\"/teams\" activeClassName=\"activeUnderlined\">Teams</NavLink>\r\n </li>\r\n </ul>\r\n )\r\n}\r\n\r\nexport default NavLinks"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\Bruger\\\\Desktop\\\\Web-projects\\\\pipit\\\\client\\\\src\\\\components\\\\home\\\\updates\\\\Updates.jsx\",\n _s = $RefreshSig$();\n\nimport React from 'react';\nimport \"./Updates.css\";\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport useMessages from '../../../util/useMessages';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nconst Updates = () => {\n _s();\n\n const messages = useMessages();\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"project-updates-new-messages-container\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"project-updates-display-container\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"project-updates-display-header\",\n children: /*#__PURE__*/_jsxDEV(\"p\", {\n children: [/*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n icon: \"exclamation\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 15,\n columnNumber: 13\n }, this), \"\\xA0\\xA0New project updates\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"project-updates-display-content\",\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"project-update-entry\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"entry-text\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"upper-row\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"[project] [new issues] [issues fixed]\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"bottom-row\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"[team] [time]\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 28,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 27,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"entry-icon\",\n icon: \"chevron-right\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 34,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 33,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"new-messages-display-container\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"new-messages-display-header\",\n children: /*#__PURE__*/_jsxDEV(\"p\", {\n children: [/*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n icon: \"envelope\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 43,\n columnNumber: 13\n }, this), \"\\xA0\\xA0New messages\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 42,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 41,\n columnNumber: 9\n }, this), messages.map(message => /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"new-messages-display-content\",\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"new-message-entry\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"entry-text\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"upper-row\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: [\"[\", message.sender, \"] [\", message.id, \"]\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 52,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 51,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"bottom-row\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"[team] [time]\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 57,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 56,\n columnNumber: 17\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 50,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"entry-icon\",\n icon: \"chevron-right\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 63,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 62,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 49,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 48,\n columnNumber: 11\n }, this))]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 40,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 5\n }, this);\n};\n\n_s(Updates, \"XN0E2gtL1gAmm+PNrJbqZSrG6t4=\", false, function () {\n return [useMessages];\n});\n\n_c = Updates;\nexport default Updates;\n\nvar _c;\n\n$RefreshReg$(_c, \"Updates\");","map":{"version":3,"sources":["C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/home/updates/Updates.jsx"],"names":["React","FontAwesomeIcon","useMessages","Updates","messages","map","message","sender","id"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAO,eAAP;AACA,SAASC,eAAT,QAAgC,gCAAhC;AACA,OAAOC,WAAP,MAAwB,2BAAxB;;;AAEA,MAAMC,OAAO,GAAG,MAAM;AAAA;;AACpB,QAAMC,QAAQ,GAAGF,WAAW,EAA5B;AAEA,sBACE;AAAK,IAAA,SAAS,EAAC,wCAAf;AAAA,4BAEE;AAAK,MAAA,SAAS,EAAC,mCAAf;AAAA,8BACE;AAAK,QAAA,SAAS,EAAC,gCAAf;AAAA,+BACE;AAAA,kCACE,QAAC,eAAD;AAAiB,YAAA,IAAI,EAAC;AAAtB;AAAA;AAAA;AAAA;AAAA,kBADF;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,cADF,eAOE;AAAK,QAAA,SAAS,EAAC,iCAAf;AAAA,+BACE;AAAK,UAAA,SAAS,EAAC,sBAAf;AAAA,kCACE;AAAK,YAAA,SAAS,EAAC,YAAf;AAAA,oCACE;AAAK,cAAA,SAAS,EAAC,WAAf;AAAA,qCACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,oBADF,eAME;AAAK,cAAA,SAAS,EAAC,YAAf;AAAA,qCACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,oBANF;AAAA;AAAA;AAAA;AAAA;AAAA,kBADF,eAaE;AAAA,mCACE,QAAC,eAAD;AAAiB,cAAA,SAAS,EAAC,YAA3B;AAAwC,cAAA,IAAI,EAAC;AAA7C;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,kBAbF;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,cAPF;AAAA;AAAA;AAAA;AAAA;AAAA,YAFF,eA8BE;AAAK,MAAA,SAAS,EAAC,gCAAf;AAAA,8BACE;AAAK,QAAA,SAAS,EAAC,6BAAf;AAAA,+BACE;AAAA,kCACE,QAAC,eAAD;AAAiB,YAAA,IAAI,EAAC;AAAtB;AAAA;AAAA;AAAA;AAAA,kBADF;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,cADF,EAOGE,QAAQ,CAACC,GAAT,CAAcC,OAAD,iBACZ;AAAK,QAAA,SAAS,EAAC,8BAAf;AAAA,+BACE;AAAK,UAAA,SAAS,EAAC,mBAAf;AAAA,kCACE;AAAK,YAAA,SAAS,EAAC,YAAf;AAAA,oCACE;AAAK,cAAA,SAAS,EAAC,WAAf;AAAA,qCACE;AAAA,gCACIA,OAAO,CAACC,MADZ,SACuBD,OAAO,CAACE,EAD/B;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,oBADF,eAME;AAAK,cAAA,SAAS,EAAC,YAAf;AAAA,qCACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,oBANF;AAAA;AAAA;AAAA;AAAA;AAAA,kBADF,eAaE;AAAA,mCACE,QAAC,eAAD;AAAiB,cAAA,SAAS,EAAC,YAA3B;AAAwC,cAAA,IAAI,EAAC;AAA7C;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,kBAbF;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,cADD,CAPH;AAAA;AAAA;AAAA;AAAA;AAAA,YA9BF;AAAA;AAAA;AAAA;AAAA;AAAA,UADF;AA8DD,CAjED;;GAAML,O;UACaD,W;;;KADbC,O;AAmEN,eAAeA,OAAf","sourcesContent":["import React from 'react'\r\nimport \"./Updates.css\"\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport useMessages from '../../../util/useMessages'\r\n\r\nconst Updates = () => {\r\n const messages = useMessages()\r\n\r\n return (\r\n <div className=\"project-updates-new-messages-container\">\r\n\r\n <div className=\"project-updates-display-container\">\r\n <div className=\"project-updates-display-header\">\r\n <p>\r\n <FontAwesomeIcon icon=\"exclamation\"></FontAwesomeIcon>\r\n &nbsp;&nbsp;New project updates\r\n </p>\r\n </div>\r\n <div className=\"project-updates-display-content\">\r\n <div className=\"project-update-entry\">\r\n <div className=\"entry-text\">\r\n <div className=\"upper-row\">\r\n <a>\r\n [project] [new issues] [issues fixed]\r\n </a>\r\n </div>\r\n <div className=\"bottom-row\">\r\n <a>\r\n [team] [time]\r\n </a>\r\n </div>\r\n </div>\r\n <div>\r\n <FontAwesomeIcon className=\"entry-icon\" icon=\"chevron-right\"></FontAwesomeIcon>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div className=\"new-messages-display-container\">\r\n <div className=\"new-messages-display-header\">\r\n <p>\r\n <FontAwesomeIcon icon=\"envelope\"></FontAwesomeIcon>\r\n &nbsp;&nbsp;New messages\r\n </p>\r\n </div>\r\n {messages.map((message) => (\r\n <div className=\"new-messages-display-content\">\r\n <div className=\"new-message-entry\">\r\n <div className=\"entry-text\">\r\n <div className=\"upper-row\">\r\n <a>\r\n [{message.sender}] [{message.id}]\r\n </a>\r\n </div>\r\n <div className=\"bottom-row\">\r\n <a>\r\n [team] [time]\r\n </a>\r\n </div>\r\n </div>\r\n <div>\r\n <FontAwesomeIcon className=\"entry-icon\" icon=\"chevron-right\"></FontAwesomeIcon>\r\n </div>\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default Updates"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\Bruger\\\\Desktop\\\\Web-projects\\\\pipit\\\\client\\\\src\\\\App.jsx\",\n _s = $RefreshSig$();\n\nimport React from \"react\";\nimport { Route, Switch, useHistory } from \"react-router-dom\";\nimport { library } from '@fortawesome/fontawesome-svg-core';\nimport { fas } from '@fortawesome/free-solid-svg-icons';\nimport { OktaAuth, toRelativeUrl } from '@okta/okta-auth-js';\nimport { Security, SecureRoute, LoginCallback } from \"@okta/okta-react\";\nimport \"./style.css\";\nimport config from \"./config\"; //Components\n\nimport Login from \"./components/login/Login\";\nimport Navbar from \"./components/navbar/Navbar\";\nimport Home from \"./components/home/Home\";\nimport ReportForm from \"./components/reportForm/ReportForm\";\nimport ProjectOverview from \"./components/project/projectOverview/ProjectOverview\";\nimport ProjectInfo from \"./components/project/projectInfo/ProjectInfo\";\nimport TeamOverview from \"./components/team/teamOverview/TeamOverview\";\nimport TeamInfo from \"./components/team/teamInfo/TeamInfo\";\nimport Messages from \"./components/Messages/Messages\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nlibrary.add(fas);\nconst oktaAuth = new OktaAuth(config.oidc);\nconst CALLBACK_PATH = '/login/callback';\n\nconst App = () => {\n _s();\n\n const history = useHistory();\n\n const restoreOriginalUri = async (_oktaAuth, originalUri) => {\n history.replace(toRelativeUrl(originalUri || '/', window.location.origin));\n };\n\n return /*#__PURE__*/_jsxDEV(Security, {\n oktaAuth: oktaAuth,\n restoreOriginalUri: restoreOriginalUri,\n children: [/*#__PURE__*/_jsxDEV(Navbar, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 34,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(Switch, {\n children: [/*#__PURE__*/_jsxDEV(Route, {\n path: \"/\",\n exact: true,\n component: Login\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 36,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(Route, {\n path: CALLBACK_PATH,\n component: LoginCallback\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 37,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(SecureRoute, {\n path: \"/home\",\n component: Home\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 38,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(SecureRoute, {\n path: \"/reportissue\",\n component: ReportForm\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 39,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(SecureRoute, {\n path: \"/projects\",\n component: ProjectOverview\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 40,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(SecureRoute, {\n path: \"/ReactApp\",\n component: ProjectInfo\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 41,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(SecureRoute, {\n path: \"/teams\",\n component: TeamOverview\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 42,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(SecureRoute, {\n path: \"/HenriksMemeMachine\",\n component: TeamInfo\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 43,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(SecureRoute, {\n path: \"/messages\",\n component: Messages\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 44,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 35,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 33,\n columnNumber: 5\n }, this);\n};\n\n_s(App, \"9cZfZ04734qoCGIctmKX7+sX6eU=\", false, function () {\n return [useHistory];\n});\n\n_c = App;\nexport default App;\n\nvar _c;\n\n$RefreshReg$(_c, \"App\");","map":{"version":3,"sources":["C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/App.jsx"],"names":["React","Route","Switch","useHistory","library","fas","OktaAuth","toRelativeUrl","Security","SecureRoute","LoginCallback","config","Login","Navbar","Home","ReportForm","ProjectOverview","ProjectInfo","TeamOverview","TeamInfo","Messages","add","oktaAuth","oidc","CALLBACK_PATH","App","history","restoreOriginalUri","_oktaAuth","originalUri","replace","window","location","origin"],"mappings":"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","sourcesContent":["import React from \"react\"\r\nimport { Route, Switch, useHistory } from \"react-router-dom\"\r\nimport { library } from '@fortawesome/fontawesome-svg-core'\r\nimport { fas } from '@fortawesome/free-solid-svg-icons'\r\nimport { OktaAuth, toRelativeUrl } from '@okta/okta-auth-js';\r\nimport { Security, SecureRoute, LoginCallback } from \"@okta/okta-react\"\r\nimport \"./style.css\"\r\nimport config from \"./config\"\r\n\r\n//Components\r\nimport Login from \"./components/login/Login\"\r\nimport Navbar from \"./components/navbar/Navbar\"\r\nimport Home from \"./components/home/Home\"\r\nimport ReportForm from \"./components/reportForm/ReportForm\"\r\nimport ProjectOverview from \"./components/project/projectOverview/ProjectOverview\"\r\nimport ProjectInfo from \"./components/project/projectInfo/ProjectInfo\"\r\nimport TeamOverview from \"./components/team/teamOverview/TeamOverview\"\r\nimport TeamInfo from \"./components/team/teamInfo/TeamInfo\"\r\nimport Messages from \"./components/Messages/Messages\"\r\n\r\nlibrary.add(fas)\r\n\r\nconst oktaAuth = new OktaAuth(config.oidc);\r\nconst CALLBACK_PATH = '/login/callback';\r\n\r\nconst App = () => {\r\n const history = useHistory()\r\n const restoreOriginalUri = async (_oktaAuth, originalUri) => {\r\n history.replace(toRelativeUrl(originalUri || '/', window.location.origin))\r\n }\r\n\r\n return (\r\n <Security oktaAuth={oktaAuth} restoreOriginalUri={restoreOriginalUri}>\r\n <Navbar />\r\n <Switch>\r\n <Route path=\"/\" exact component={Login} />\r\n <Route path={CALLBACK_PATH} component={LoginCallback} />\r\n <SecureRoute path=\"/home\" component={Home} />\r\n <SecureRoute path=\"/reportissue\" component={ReportForm} />\r\n <SecureRoute path=\"/projects\" component={ProjectOverview} />\r\n <SecureRoute path=\"/ReactApp\" component={ProjectInfo} />\r\n <SecureRoute path=\"/teams\" component={TeamOverview} />\r\n <SecureRoute path=\"/HenriksMemeMachine\" component={TeamInfo} />\r\n <SecureRoute path=\"/messages\" component={Messages} />\r\n </Switch>\r\n </Security>\r\n )\r\n}\r\n\r\nexport default App"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\Bruger\\\\Desktop\\\\Web-projects\\\\pipit\\\\client\\\\src\\\\components\\\\home\\\\Home.jsx\",\n _s = $RefreshSig$();\n\nimport React, { useState, useEffect } from 'react';\nimport { NavLink } from 'react-router-dom';\nimport \"./Home.css\";\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport Updates from './updates/Updates';\nimport useMessages from '../../util/useMessages';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nconst Home = () => {\n _s();\n\n const [userInfo, setUserInfo] = useState(null);\n const idToken = JSON.parse(localStorage.getItem('okta-token-storage')).idToken.claims;\n const messages = useMessages();\n useEffect(() => {\n setUserInfo(idToken);\n }, []);\n\n if (userInfo) {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"page-content-container\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"content-header\",\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n className: \"welcome-text\",\n children: [\"Welcome \", userInfo.name, \"!\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(NavLink, {\n to: \"/reportissue\",\n children: /*#__PURE__*/_jsxDEV(\"button\", {\n className: \"report-new-issue-button\",\n children: [/*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n icon: \"exclamation-triangle\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 24,\n columnNumber: 15\n }, this), \"\\xA0\\xA0Report issues\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"homepage-content\",\n children: /*#__PURE__*/_jsxDEV(Updates, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 30,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 29,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 7\n }, this);\n } else {\n // Render a loading placeholder while user data gets loaded from localstorage\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"homepage-container\",\n children: /*#__PURE__*/_jsxDEV(\"h3\", {\n children: \"...\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 40,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 39,\n columnNumber: 7\n }, this);\n }\n};\n\n_s(Home, \"hWAI/bNq0ggLUgA8loZKeLHJePQ=\", false, function () {\n return [useMessages];\n});\n\n_c = Home;\nexport default Home;\n\nvar _c;\n\n$RefreshReg$(_c, \"Home\");","map":{"version":3,"sources":["C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/home/Home.jsx"],"names":["React","useState","useEffect","NavLink","FontAwesomeIcon","Updates","useMessages","Home","userInfo","setUserInfo","idToken","JSON","parse","localStorage","getItem","claims","messages","name"],"mappings":";;;AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,QAA2C,OAA3C;AACA,SAASC,OAAT,QAAwB,kBAAxB;AACA,OAAO,YAAP;AACA,SAASC,eAAT,QAAgC,gCAAhC;AACA,OAAOC,OAAP,MAAoB,mBAApB;AACA,OAAOC,WAAP,MAAwB,wBAAxB;;;AAEA,MAAMC,IAAI,GAAG,MAAM;AAAA;;AACjB,QAAM,CAACC,QAAD,EAAWC,WAAX,IAA0BR,QAAQ,CAAC,IAAD,CAAxC;AACA,QAAMS,OAAO,GAAGC,IAAI,CAACC,KAAL,CAAWC,YAAY,CAACC,OAAb,CAAqB,oBAArB,CAAX,EAAuDJ,OAAvD,CAA+DK,MAA/E;AACA,QAAMC,QAAQ,GAAGV,WAAW,EAA5B;AAEAJ,EAAAA,SAAS,CAAC,MAAM;AACdO,IAAAA,WAAW,CAACC,OAAD,CAAX;AACD,GAFQ,EAEN,EAFM,CAAT;;AAIA,MAAIF,QAAJ,EAAc;AACZ,wBACE;AAAK,MAAA,SAAS,EAAC,wBAAf;AAAA,8BACE;AAAK,QAAA,SAAS,EAAC,gBAAf;AAAA,gCACE;AAAI,UAAA,SAAS,EAAC,cAAd;AAAA,iCAAsCA,QAAQ,CAACS,IAA/C;AAAA;AAAA;AAAA;AAAA;AAAA,gBADF,eAEE,QAAC,OAAD;AAAS,UAAA,EAAE,EAAC,cAAZ;AAAA,iCACE;AAAQ,YAAA,SAAS,EAAC,yBAAlB;AAAA,oCACE,QAAC,eAAD;AAAiB,cAAA,IAAI,EAAC;AAAtB;AAAA;AAAA;AAAA;AAAA,oBADF;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,gBAFF;AAAA;AAAA;AAAA;AAAA;AAAA,cADF,eAUE;AAAK,QAAA,SAAS,EAAC,kBAAf;AAAA,+BACE,QAAC,OAAD;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,cAVF;AAAA;AAAA;AAAA;AAAA;AAAA,YADF;AAiBD,GAlBD,MAmBK;AACH;AACA,wBACE;AAAK,MAAA,SAAS,EAAC,oBAAf;AAAA,6BACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,YADF;AAKD;AAGF,CAtCD;;GAAMV,I;UAGaD,W;;;KAHbC,I;AAwCN,eAAeA,IAAf","sourcesContent":["import React, { useState, useEffect } from 'react'\r\nimport { NavLink } from 'react-router-dom'\r\nimport \"./Home.css\"\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport Updates from './updates/Updates'\r\nimport useMessages from '../../util/useMessages'\r\n\r\nconst Home = () => {\r\n const [userInfo, setUserInfo] = useState(null);\r\n const idToken = JSON.parse(localStorage.getItem('okta-token-storage')).idToken.claims\r\n const messages = useMessages()\r\n\r\n useEffect(() => {\r\n setUserInfo(idToken)\r\n }, [])\r\n\r\n if (userInfo) {\r\n return (\r\n <div className=\"page-content-container\">\r\n <div className=\"content-header\">\r\n <h2 className=\"welcome-text\">Welcome {userInfo.name}!</h2>\r\n <NavLink to=\"/reportissue\">\r\n <button className=\"report-new-issue-button\">\r\n <FontAwesomeIcon icon=\"exclamation-triangle\"></FontAwesomeIcon>\r\n &nbsp;&nbsp;Report issues\r\n </button>\r\n </NavLink>\r\n </div>\r\n <div className=\"homepage-content\">\r\n <Updates />\r\n </div>\r\n </div>\r\n )\r\n\r\n }\r\n else {\r\n // Render a loading placeholder while user data gets loaded from localstorage\r\n return (\r\n <div className=\"homepage-container\">\r\n <h3>...</h3>\r\n </div>\r\n )\r\n }\r\n\r\n\r\n}\r\n\r\nexport default Home"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
{"ast":null,"code":"export default {\n oidc: {\n clientId: '0oa1f4zfeiiZPB6DF5d7',\n issuer: 'https://dev-91882654.okta.com/oauth2/default',\n redirectUri: window.location.origin + '/login/callback',\n scopes: ['openid', 'profile', 'email'],\n pkce: true\n },\n resourceServer: {\n messagesUrl: 'http://localhost:3030/api/messages'\n }\n};","map":{"version":3,"sources":["C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/config.js"],"names":["oidc","clientId","issuer","redirectUri","window","location","origin","scopes","pkce","resourceServer","messagesUrl"],"mappings":"AAAA,eAAe;AACbA,EAAAA,IAAI,EAAE;AACJC,IAAAA,QAAQ,EAAE,sBADN;AAEJC,IAAAA,MAAM,EAAE,8CAFJ;AAGJC,IAAAA,WAAW,EAAEC,MAAM,CAACC,QAAP,CAAgBC,MAAhB,GAAyB,iBAHlC;AAIJC,IAAAA,MAAM,EAAE,CAAC,QAAD,EAAW,SAAX,EAAsB,OAAtB,CAJJ;AAKJC,IAAAA,IAAI,EAAE;AALF,GADO;AAQbC,EAAAA,cAAc,EAAE;AACdC,IAAAA,WAAW,EAAE;AADC;AARH,CAAf","sourcesContent":["export default {\r\n oidc: {\r\n clientId: '0oa1f4zfeiiZPB6DF5d7',\r\n issuer: 'https://dev-91882654.okta.com/oauth2/default',\r\n redirectUri: window.location.origin + '/login/callback',\r\n scopes: ['openid', 'profile', 'email'],\r\n pkce: true\r\n },\r\n resourceServer: {\r\n messagesUrl: 'http://localhost:3030/api/messages',\r\n }\r\n};"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\Bruger\\\\Desktop\\\\Web-projects\\\\pipit\\\\client\\\\src\\\\components\\\\project\\\\projectOverview\\\\ProjectOverview.jsx\",\n _s = $RefreshSig$();\n\nimport React, { useState } from 'react';\nimport { NavLink } from \"react-router-dom\";\nimport \"./ProjectOverview.css\";\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nconst ProjectOverview = () => {\n _s();\n\n const personalProjects = [{\n id: \"MyApp\",\n type: \"personal\"\n }, {\n id: \"MyOtherApp\",\n type: \"personal\"\n }];\n const sharedProjects = [{\n id: \"ReactApp\",\n type: \"shared\",\n teams: [{\n name: \"Henriks Meme Machine\"\n }, {\n name: \"Teskeholdet\"\n }]\n }, {\n id: \"Very big ReactApp\",\n type: \"shared\",\n teams: [{\n name: \"Aubergine\"\n }]\n }];\n const [sharedProjectsButtonState, setSharedProjectsButtonState] = useState(true);\n const [personalProjectsButtonState, setPersonalProjectsButtonState] = useState(false);\n\n const SharedProjectsButtonActive = () => {\n setSharedProjectsButtonState(true);\n setPersonalProjectsButtonState(false);\n };\n\n const PersonalProjectsButtonActive = () => {\n setSharedProjectsButtonState(false);\n setPersonalProjectsButtonState(true);\n };\n\n const ProjectsDisplay = projects => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"projectlist\",\n children: /*#__PURE__*/_jsxDEV(\"ul\", {\n children: projects.map((elements, index) => /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"project-entry\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"project-team-name\",\n children: /*#__PURE__*/_jsxDEV(NavLink, {\n to: `/${projects[index].id}`,\n children: [projects[index].id, \"\\xA0\", /*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"icon\",\n icon: \"chevron-right\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 39,\n columnNumber: 21\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 38,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 37,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"project-status-info-container\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"new-issues-info\",\n children: [/*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"icon\",\n icon: \"bug\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 44,\n columnNumber: 21\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"0\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 45,\n columnNumber: 21\n }, this), /*#__PURE__*/_jsxDEV(\"span\", {\n className: \"tooltip-text\",\n children: \"Total issues\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 46,\n columnNumber: 21\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 43,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"issues-solved-info\",\n children: [/*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"icon\",\n icon: \"check\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 49,\n columnNumber: 21\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"0\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 50,\n columnNumber: 21\n }, this), /*#__PURE__*/_jsxDEV(\"span\", {\n className: \"tooltip-text\",\n children: \"Issues solved\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 51,\n columnNumber: 21\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 48,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"last-updated-info\",\n children: /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Last updated: \\xA01 day ago\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 54,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 53,\n columnNumber: 19\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 42,\n columnNumber: 17\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 36,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 35,\n columnNumber: 13\n }, this))\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 33,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 32,\n columnNumber: 7\n }, this);\n };\n\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"page-content-container\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"content-header\",\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n className: \"projectlist-title\",\n children: \"Your Projects\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 68,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"button\", {\n className: \"create-new-project-button\",\n children: \"New Project\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 69,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 67,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"project-sort-menu-container\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"personal-shared-projects-container\",\n children: [/*#__PURE__*/_jsxDEV(\"a\", {\n className: sharedProjectsButtonState ? \"activeUnderlined\" : \"inactive\",\n onClick: SharedProjectsButtonActive,\n children: \"Shared Projects\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 75,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"a\", {\n className: personalProjectsButtonState ? \"activeUnderlined\" : \"inactive\",\n onClick: PersonalProjectsButtonActive,\n children: \"Personal Projects\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 76,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 74,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"project-sort-select-container\",\n children: [/*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Sort by:\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 79,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"select\", {\n children: [/*#__PURE__*/_jsxDEV(\"option\", {\n children: \"Last updated\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 81,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"option\", {\n children: \"Last created\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 82,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"option\", {\n children: \"Name\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 83,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"option\", {\n children: \"Name descending\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 84,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"option\", {\n children: \"Oldest created\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 85,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"option\", {\n children: \"Oldest updated\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 86,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 80,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 78,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 73,\n columnNumber: 7\n }, this), sharedProjectsButtonState ? ProjectsDisplay(sharedProjects) : ProjectsDisplay(personalProjects)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 66,\n columnNumber: 5\n }, this);\n};\n\n_s(ProjectOverview, \"WjKsI8a5YElUZRAaBk97zXZAzsg=\");\n\n_c = ProjectOverview;\nexport default ProjectOverview;\n\nvar _c;\n\n$RefreshReg$(_c, \"ProjectOverview\");","map":{"version":3,"sources":["C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/project/projectOverview/ProjectOverview.jsx"],"names":["React","useState","NavLink","FontAwesomeIcon","ProjectOverview","personalProjects","id","type","sharedProjects","teams","name","sharedProjectsButtonState","setSharedProjectsButtonState","personalProjectsButtonState","setPersonalProjectsButtonState","SharedProjectsButtonActive","PersonalProjectsButtonActive","ProjectsDisplay","projects","map","elements","index"],"mappings":"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","sourcesContent":["import React, { useState } from 'react'\r\nimport { NavLink } from \"react-router-dom\";\r\nimport \"./ProjectOverview.css\"\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\n\r\nconst ProjectOverview = () => {\r\n const personalProjects = [\r\n { id: \"MyApp\", type: \"personal\" },\r\n { id: \"MyOtherApp\", type: \"personal\" }\r\n ]\r\n\r\n const sharedProjects = [\r\n { id: \"ReactApp\", type: \"shared\", teams: [{ name: \"Henriks Meme Machine\" }, { name: \"Teskeholdet\" }] },\r\n { id: \"Very big ReactApp\", type: \"shared\", teams: [{ name: \"Aubergine\" }] }\r\n ]\r\n\r\n const [sharedProjectsButtonState, setSharedProjectsButtonState] = useState(true);\r\n const [personalProjectsButtonState, setPersonalProjectsButtonState] = useState(false);\r\n\r\n const SharedProjectsButtonActive = () => {\r\n setSharedProjectsButtonState(true);\r\n setPersonalProjectsButtonState(false);\r\n };\r\n\r\n const PersonalProjectsButtonActive = () => {\r\n setSharedProjectsButtonState(false);\r\n setPersonalProjectsButtonState(true);\r\n };\r\n\r\n const ProjectsDisplay = (projects) => {\r\n return (\r\n <div className=\"projectlist\">\r\n <ul>\r\n {projects.map((elements, index) => (\r\n <li>\r\n <div className=\"project-entry\">\r\n <div className=\"project-team-name\">\r\n <NavLink to={`/${projects[index].id}`}>{projects[index].id}&nbsp;\r\n <FontAwesomeIcon className=\"icon\" icon=\"chevron-right\"></FontAwesomeIcon>\r\n </NavLink>\r\n </div>\r\n <div className=\"project-status-info-container\">\r\n <div className=\"new-issues-info\">\r\n <FontAwesomeIcon className=\"icon\" icon=\"bug\"></FontAwesomeIcon>\r\n <p>0</p>\r\n <span className=\"tooltip-text\">Total issues</span>\r\n </div>\r\n <div className=\"issues-solved-info\">\r\n <FontAwesomeIcon className=\"icon\" icon=\"check\"></FontAwesomeIcon>\r\n <p>0</p>\r\n <span className=\"tooltip-text\">Issues solved</span>\r\n </div>\r\n <div className=\"last-updated-info\">\r\n <p>Last updated: &nbsp;1 day ago</p>\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n )\r\n }\r\n\r\n return (\r\n <div className=\"page-content-container\">\r\n <div className=\"content-header\">\r\n <h2 className=\"projectlist-title\">Your Projects</h2>\r\n <button className=\"create-new-project-button\">\r\n New Project\r\n </button>\r\n </div>\r\n <div className=\"project-sort-menu-container\">\r\n <div className=\"personal-shared-projects-container\">\r\n <a className={sharedProjectsButtonState ? \"activeUnderlined\" : \"inactive\"} onClick={SharedProjectsButtonActive}>Shared Projects</a>\r\n <a className={personalProjectsButtonState ? \"activeUnderlined\" : \"inactive\"} onClick={PersonalProjectsButtonActive}>Personal Projects</a>\r\n </div>\r\n <div className=\"project-sort-select-container\">\r\n <p>Sort by:</p>\r\n <select>\r\n <option>Last updated</option>\r\n <option>Last created</option>\r\n <option>Name</option>\r\n <option>Name descending</option>\r\n <option>Oldest created</option>\r\n <option>Oldest updated</option>\r\n </select>\r\n </div>\r\n </div>\r\n {sharedProjectsButtonState ? ProjectsDisplay(sharedProjects) : ProjectsDisplay(personalProjects)}\r\n </div >\r\n )\r\n}\r\n\r\nexport default ProjectOverview"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\Bruger\\\\Desktop\\\\Web-projects\\\\pipit\\\\client\\\\src\\\\components\\\\home\\\\Home.jsx\",\n _s = $RefreshSig$();\n\nimport React, { useState, useEffect } from 'react';\nimport { NavLink } from 'react-router-dom';\nimport \"./Home.css\";\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport Updates from './updates/Updates';\nimport useMessages from '../../util/useMessages';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nconst Home = () => {\n _s();\n\n const [userInfo, setUserInfo] = useState(null);\n const idToken = JSON.parse(localStorage.getItem('okta-token-storage')).idToken.claims;\n const messages = useMessages();\n useEffect(() => {\n setUserInfo(idToken);\n }, []);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"page-content-container\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"content-header\",\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n className: \"welcome-text\",\n children: [\"Welcome \", userInfo ? userInfo.name : \"Fetching username\", \"!\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(NavLink, {\n to: \"/reportissue\",\n children: /*#__PURE__*/_jsxDEV(\"button\", {\n className: \"report-new-issue-button\",\n children: [/*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n icon: \"exclamation-triangle\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 13\n }, this), \"\\xA0\\xA0Report issues\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"homepage-content\",\n children: /*#__PURE__*/_jsxDEV(Updates, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 29,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 28,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 18,\n columnNumber: 5\n }, this);\n};\n\n_s(Home, \"hWAI/bNq0ggLUgA8loZKeLHJePQ=\", false, function () {\n return [useMessages];\n});\n\n_c = Home;\nexport default Home;\n\nvar _c;\n\n$RefreshReg$(_c, \"Home\");","map":{"version":3,"sources":["C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/home/Home.jsx"],"names":["React","useState","useEffect","NavLink","FontAwesomeIcon","Updates","useMessages","Home","userInfo","setUserInfo","idToken","JSON","parse","localStorage","getItem","claims","messages","name"],"mappings":";;;AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,QAA2C,OAA3C;AACA,SAASC,OAAT,QAAwB,kBAAxB;AACA,OAAO,YAAP;AACA,SAASC,eAAT,QAAgC,gCAAhC;AACA,OAAOC,OAAP,MAAoB,mBAApB;AACA,OAAOC,WAAP,MAAwB,wBAAxB;;;AAEA,MAAMC,IAAI,GAAG,MAAM;AAAA;;AACjB,QAAM,CAACC,QAAD,EAAWC,WAAX,IAA0BR,QAAQ,CAAC,IAAD,CAAxC;AACA,QAAMS,OAAO,GAAGC,IAAI,CAACC,KAAL,CAAWC,YAAY,CAACC,OAAb,CAAqB,oBAArB,CAAX,EAAuDJ,OAAvD,CAA+DK,MAA/E;AACA,QAAMC,QAAQ,GAAGV,WAAW,EAA5B;AAEAJ,EAAAA,SAAS,CAAC,MAAM;AACdO,IAAAA,WAAW,CAACC,OAAD,CAAX;AACD,GAFQ,EAEN,EAFM,CAAT;AAIA,sBACE;AAAK,IAAA,SAAS,EAAC,wBAAf;AAAA,4BACE;AAAK,MAAA,SAAS,EAAC,gBAAf;AAAA,8BACE;AAAI,QAAA,SAAS,EAAC,cAAd;AAAA,+BAAsCF,QAAQ,GAAGA,QAAQ,CAACS,IAAZ,GAAmB,mBAAjE;AAAA;AAAA;AAAA;AAAA;AAAA,cADF,eAEE,QAAC,OAAD;AAAS,QAAA,EAAE,EAAC,cAAZ;AAAA,+BACE;AAAQ,UAAA,SAAS,EAAC,yBAAlB;AAAA,kCACE,QAAC,eAAD;AAAiB,YAAA,IAAI,EAAC;AAAtB;AAAA;AAAA;AAAA;AAAA,kBADF;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,cAFF;AAAA;AAAA;AAAA;AAAA;AAAA,YADF,eAUE;AAAK,MAAA,SAAS,EAAC,kBAAf;AAAA,6BACE,QAAC,OAAD;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,YAVF;AAAA;AAAA;AAAA;AAAA;AAAA,UADF;AAgBD,CAzBD;;GAAMV,I;UAGaD,W;;;KAHbC,I;AA2BN,eAAeA,IAAf","sourcesContent":["import React, { useState, useEffect } from 'react'\r\nimport { NavLink } from 'react-router-dom'\r\nimport \"./Home.css\"\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport Updates from './updates/Updates'\r\nimport useMessages from '../../util/useMessages'\r\n\r\nconst Home = () => {\r\n const [userInfo, setUserInfo] = useState(null);\r\n const idToken = JSON.parse(localStorage.getItem('okta-token-storage')).idToken.claims\r\n const messages = useMessages()\r\n\r\n useEffect(() => {\r\n setUserInfo(idToken)\r\n }, [])\r\n\r\n return (\r\n <div className=\"page-content-container\">\r\n <div className=\"content-header\">\r\n <h2 className=\"welcome-text\">Welcome {userInfo ? userInfo.name : \"Fetching username\"}!</h2>\r\n <NavLink to=\"/reportissue\">\r\n <button className=\"report-new-issue-button\">\r\n <FontAwesomeIcon icon=\"exclamation-triangle\"></FontAwesomeIcon>\r\n &nbsp;&nbsp;Report issues\r\n </button>\r\n </NavLink>\r\n </div>\r\n <div className=\"homepage-content\">\r\n <Updates />\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default Home"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
{"ast":null,"code":"var _s = $RefreshSig$();\n\nimport { useState, useEffect } from 'react';\nimport { useOktaAuth } from '@okta/okta-react';\nimport config from \"../config\";\n\nconst useMessages = () => {\n _s();\n\n const {\n authState,\n oktaAuth\n } = useOktaAuth();\n const [messages, setMessages] = useState(null);\n const [messageFetchFailed, setMessageFetchFailed] = useState(false); // fetch messages\n\n useEffect(() => {\n if (authState && authState.isAuthenticated) {\n const accessToken = oktaAuth.getAccessToken();\n fetch(config.resourceServer.messagesUrl, {\n headers: {\n Authorization: `Bearer ${accessToken}`\n }\n }).then(response => {\n if (!response.ok) {\n return Promise.reject();\n }\n\n return response.json();\n }).then(data => {\n let index = 0;\n const formattedMessages = data.messages.map(message => {\n const date = new Date(message.date);\n const day = date.toLocaleDateString();\n const time = date.toLocaleTimeString();\n index += 1;\n return {\n date: `${day} ${time}`,\n text: message.text,\n id: `message-${index}`\n };\n });\n setMessages(formattedMessages);\n setMessageFetchFailed(false);\n }).catch(err => {\n setMessageFetchFailed(true);\n /* eslint-disable no-console */\n\n console.error(err);\n });\n }\n }, [authState]);\n return messages;\n};\n\n_s(useMessages, \"U3xiPl25FsmufxeRxpFVBz8Cguw=\", false, function () {\n return [useOktaAuth];\n});\n\nexport default useMessages;","map":{"version":3,"sources":["C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/util/useMessages.jsx"],"names":["useState","useEffect","useOktaAuth","config","useMessages","authState","oktaAuth","messages","setMessages","messageFetchFailed","setMessageFetchFailed","isAuthenticated","accessToken","getAccessToken","fetch","resourceServer","messagesUrl","headers","Authorization","then","response","ok","Promise","reject","json","data","index","formattedMessages","map","message","date","Date","day","toLocaleDateString","time","toLocaleTimeString","text","id","catch","err","console","error"],"mappings":";;AAAA,SAASA,QAAT,EAAmBC,SAAnB,QAAoC,OAApC;AACA,SAASC,WAAT,QAA4B,kBAA5B;AAEA,OAAOC,MAAP,MAAmB,WAAnB;;AAEA,MAAMC,WAAW,GAAG,MAAM;AAAA;;AACxB,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA;AAAb,MAA0BJ,WAAW,EAA3C;AACA,QAAM,CAACK,QAAD,EAAWC,WAAX,IAA0BR,QAAQ,CAAC,IAAD,CAAxC;AACA,QAAM,CAACS,kBAAD,EAAqBC,qBAArB,IAA8CV,QAAQ,CAAC,KAAD,CAA5D,CAHwB,CAKxB;;AACAC,EAAAA,SAAS,CAAC,MAAM;AACd,QAAII,SAAS,IAAIA,SAAS,CAACM,eAA3B,EAA4C;AAC1C,YAAMC,WAAW,GAAGN,QAAQ,CAACO,cAAT,EAApB;AACAC,MAAAA,KAAK,CAACX,MAAM,CAACY,cAAP,CAAsBC,WAAvB,EAAoC;AACvCC,QAAAA,OAAO,EAAE;AACPC,UAAAA,aAAa,EAAG,UAASN,WAAY;AAD9B;AAD8B,OAApC,CAAL,CAKGO,IALH,CAKSC,QAAD,IAAc;AAClB,YAAI,CAACA,QAAQ,CAACC,EAAd,EAAkB;AAChB,iBAAOC,OAAO,CAACC,MAAR,EAAP;AACD;;AACD,eAAOH,QAAQ,CAACI,IAAT,EAAP;AACD,OAVH,EAWGL,IAXH,CAWSM,IAAD,IAAU;AACd,YAAIC,KAAK,GAAG,CAAZ;AACA,cAAMC,iBAAiB,GAAGF,IAAI,CAAClB,QAAL,CAAcqB,GAAd,CAAmBC,OAAD,IAAa;AACvD,gBAAMC,IAAI,GAAG,IAAIC,IAAJ,CAASF,OAAO,CAACC,IAAjB,CAAb;AACA,gBAAME,GAAG,GAAGF,IAAI,CAACG,kBAAL,EAAZ;AACA,gBAAMC,IAAI,GAAGJ,IAAI,CAACK,kBAAL,EAAb;AACAT,UAAAA,KAAK,IAAI,CAAT;AACA,iBAAO;AACLI,YAAAA,IAAI,EAAG,GAAEE,GAAI,IAAGE,IAAK,EADhB;AAELE,YAAAA,IAAI,EAAEP,OAAO,CAACO,IAFT;AAGLC,YAAAA,EAAE,EAAG,WAAUX,KAAM;AAHhB,WAAP;AAKD,SAVyB,CAA1B;AAWAlB,QAAAA,WAAW,CAACmB,iBAAD,CAAX;AACAjB,QAAAA,qBAAqB,CAAC,KAAD,CAArB;AACD,OA1BH,EA2BG4B,KA3BH,CA2BUC,GAAD,IAAS;AACd7B,QAAAA,qBAAqB,CAAC,IAAD,CAArB;AACA;;AACA8B,QAAAA,OAAO,CAACC,KAAR,CAAcF,GAAd;AACD,OA/BH;AAgCD;AACF,GApCQ,EAoCN,CAAClC,SAAD,CApCM,CAAT;AAsCA,SAAOE,QAAP;AACD,CA7CD;;GAAMH,W;UAC4BF,W;;;AA8ClC,eAAeE,WAAf","sourcesContent":["import { useState, useEffect } from 'react';\r\nimport { useOktaAuth } from '@okta/okta-react';\r\n\r\nimport config from \"../config\"\r\n\r\nconst useMessages = () => {\r\n const { authState, oktaAuth } = useOktaAuth();\r\n const [messages, setMessages] = useState(null);\r\n const [messageFetchFailed, setMessageFetchFailed] = useState(false);\r\n\r\n // fetch messages\r\n useEffect(() => {\r\n if (authState && authState.isAuthenticated) {\r\n const accessToken = oktaAuth.getAccessToken();\r\n fetch(config.resourceServer.messagesUrl, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n })\r\n .then((response) => {\r\n if (!response.ok) {\r\n return Promise.reject();\r\n }\r\n return response.json();\r\n })\r\n .then((data) => {\r\n let index = 0;\r\n const formattedMessages = data.messages.map((message) => {\r\n const date = new Date(message.date);\r\n const day = date.toLocaleDateString();\r\n const time = date.toLocaleTimeString();\r\n index += 1;\r\n return {\r\n date: `${day} ${time}`,\r\n text: message.text,\r\n id: `message-${index}`,\r\n };\r\n });\r\n setMessages(formattedMessages);\r\n setMessageFetchFailed(false);\r\n })\r\n .catch((err) => {\r\n setMessageFetchFailed(true);\r\n /* eslint-disable no-console */\r\n console.error(err);\r\n });\r\n }\r\n }, [authState]);\r\n\r\n return messages\r\n}\r\n\r\nexport default useMessages"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\Bruger\\\\Desktop\\\\Web-projects\\\\pipit\\\\client\\\\src\\\\components\\\\Messages\\\\Messages.jsx\",\n _s = $RefreshSig$();\n\nimport React, { useState, useEffect } from 'react';\nimport { useOktaAuth } from '@okta/okta-react';\nimport config from '../../config';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nconst Messages = () => {\n _s();\n\n const {\n authState,\n oktaAuth\n } = useOktaAuth();\n const [messages, setMessages] = useState(null);\n const [messageFetchFailed, setMessageFetchFailed] = useState(false); // fetch messages\n\n useEffect(() => {\n if (authState && authState.isAuthenticated) {\n const accessToken = oktaAuth.getAccessToken();\n fetch(config.resourceServer.messagesUrl, {\n headers: {\n Authorization: `Bearer ${accessToken}`\n }\n }).then(response => {\n if (!response.ok) {\n return Promise.reject();\n }\n\n return response.json();\n }).then(data => {\n let index = 0;\n const formattedMessages = data.messages.map(message => {\n const date = new Date(message.date);\n const day = date.toLocaleDateString();\n const time = date.toLocaleTimeString();\n index += 1;\n return {\n date: `${day} ${time}`,\n text: message.text,\n id: `message-${index}`\n };\n });\n setMessages(formattedMessages);\n setMessageFetchFailed(false);\n }).catch(err => {\n setMessageFetchFailed(true);\n /* eslint-disable no-console */\n\n console.error(err);\n });\n }\n }, [authState]);\n\n if (messages) {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: messages.map(message => /*#__PURE__*/_jsxDEV(\"tr\", {\n id: message.id,\n children: [/*#__PURE__*/_jsxDEV(\"td\", {\n children: message.date\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 55,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"td\", {\n children: message.text\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 56,\n columnNumber: 13\n }, this)]\n }, message.id, true, {\n fileName: _jsxFileName,\n lineNumber: 54,\n columnNumber: 11\n }, this))\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 52,\n columnNumber: 7\n }, this);\n } else return /*#__PURE__*/_jsxDEV(\"h3\", {\n children: \"Fetching messages...\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 62,\n columnNumber: 5\n }, this);\n};\n\n_s(Messages, \"U3xiPl25FsmufxeRxpFVBz8Cguw=\", false, function () {\n return [useOktaAuth];\n});\n\n_c = Messages;\nexport default Messages;\n\nvar _c;\n\n$RefreshReg$(_c, \"Messages\");","map":{"version":3,"sources":["C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/Messages/Messages.jsx"],"names":["React","useState","useEffect","useOktaAuth","config","Messages","authState","oktaAuth","messages","setMessages","messageFetchFailed","setMessageFetchFailed","isAuthenticated","accessToken","getAccessToken","fetch","resourceServer","messagesUrl","headers","Authorization","then","response","ok","Promise","reject","json","data","index","formattedMessages","map","message","date","Date","day","toLocaleDateString","time","toLocaleTimeString","text","id","catch","err","console","error"],"mappings":";;;AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,QAA2C,OAA3C;AACA,SAASC,WAAT,QAA4B,kBAA5B;AAEA,OAAOC,MAAP,MAAmB,cAAnB;;;AAEA,MAAMC,QAAQ,GAAG,MAAM;AAAA;;AACrB,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA;AAAb,MAA0BJ,WAAW,EAA3C;AACA,QAAM,CAACK,QAAD,EAAWC,WAAX,IAA0BR,QAAQ,CAAC,IAAD,CAAxC;AACA,QAAM,CAACS,kBAAD,EAAqBC,qBAArB,IAA8CV,QAAQ,CAAC,KAAD,CAA5D,CAHqB,CAKrB;;AACAC,EAAAA,SAAS,CAAC,MAAM;AACd,QAAII,SAAS,IAAIA,SAAS,CAACM,eAA3B,EAA4C;AAC1C,YAAMC,WAAW,GAAGN,QAAQ,CAACO,cAAT,EAApB;AACAC,MAAAA,KAAK,CAACX,MAAM,CAACY,cAAP,CAAsBC,WAAvB,EAAoC;AACvCC,QAAAA,OAAO,EAAE;AACPC,UAAAA,aAAa,EAAG,UAASN,WAAY;AAD9B;AAD8B,OAApC,CAAL,CAKGO,IALH,CAKSC,QAAD,IAAc;AAClB,YAAI,CAACA,QAAQ,CAACC,EAAd,EAAkB;AAChB,iBAAOC,OAAO,CAACC,MAAR,EAAP;AACD;;AACD,eAAOH,QAAQ,CAACI,IAAT,EAAP;AACD,OAVH,EAWGL,IAXH,CAWSM,IAAD,IAAU;AACd,YAAIC,KAAK,GAAG,CAAZ;AACA,cAAMC,iBAAiB,GAAGF,IAAI,CAAClB,QAAL,CAAcqB,GAAd,CAAmBC,OAAD,IAAa;AACvD,gBAAMC,IAAI,GAAG,IAAIC,IAAJ,CAASF,OAAO,CAACC,IAAjB,CAAb;AACA,gBAAME,GAAG,GAAGF,IAAI,CAACG,kBAAL,EAAZ;AACA,gBAAMC,IAAI,GAAGJ,IAAI,CAACK,kBAAL,EAAb;AACAT,UAAAA,KAAK,IAAI,CAAT;AACA,iBAAO;AACLI,YAAAA,IAAI,EAAG,GAAEE,GAAI,IAAGE,IAAK,EADhB;AAELE,YAAAA,IAAI,EAAEP,OAAO,CAACO,IAFT;AAGLC,YAAAA,EAAE,EAAG,WAAUX,KAAM;AAHhB,WAAP;AAKD,SAVyB,CAA1B;AAWAlB,QAAAA,WAAW,CAACmB,iBAAD,CAAX;AACAjB,QAAAA,qBAAqB,CAAC,KAAD,CAArB;AACD,OA1BH,EA2BG4B,KA3BH,CA2BUC,GAAD,IAAS;AACd7B,QAAAA,qBAAqB,CAAC,IAAD,CAArB;AACA;;AACA8B,QAAAA,OAAO,CAACC,KAAR,CAAcF,GAAd;AACD,OA/BH;AAgCD;AACF,GApCQ,EAoCN,CAAClC,SAAD,CApCM,CAAT;;AAsCA,MAAIE,QAAJ,EAAc;AACZ,wBACE;AAAA,gBACGA,QAAQ,CAACqB,GAAT,CAAcC,OAAD,iBACZ;AAAI,QAAA,EAAE,EAAEA,OAAO,CAACQ,EAAhB;AAAA,gCACE;AAAA,oBAAKR,OAAO,CAACC;AAAb;AAAA;AAAA;AAAA;AAAA,gBADF,eAEE;AAAA,oBAAKD,OAAO,CAACO;AAAb;AAAA;AAAA;AAAA;AAAA,gBAFF;AAAA,SAAyBP,OAAO,CAACQ,EAAjC;AAAA;AAAA;AAAA;AAAA,cADD;AADH;AAAA;AAAA;AAAA;AAAA,YADF;AAUD,GAXD,MAWO,oBACL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UADK;AAKR,CA5DD;;GAAMjC,Q;UAC4BF,W;;;KAD5BE,Q;AA8DN,eAAeA,QAAf","sourcesContent":["import React, { useState, useEffect } from 'react'\r\nimport { useOktaAuth } from '@okta/okta-react';\r\n\r\nimport config from '../../config'\r\n\r\nconst Messages = () => {\r\n const { authState, oktaAuth } = useOktaAuth();\r\n const [messages, setMessages] = useState(null);\r\n const [messageFetchFailed, setMessageFetchFailed] = useState(false);\r\n\r\n // fetch messages\r\n useEffect(() => {\r\n if (authState && authState.isAuthenticated) {\r\n const accessToken = oktaAuth.getAccessToken();\r\n fetch(config.resourceServer.messagesUrl, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n })\r\n .then((response) => {\r\n if (!response.ok) {\r\n return Promise.reject();\r\n }\r\n return response.json();\r\n })\r\n .then((data) => {\r\n let index = 0;\r\n const formattedMessages = data.messages.map((message) => {\r\n const date = new Date(message.date);\r\n const day = date.toLocaleDateString();\r\n const time = date.toLocaleTimeString();\r\n index += 1;\r\n return {\r\n date: `${day} ${time}`,\r\n text: message.text,\r\n id: `message-${index}`,\r\n };\r\n });\r\n setMessages(formattedMessages);\r\n setMessageFetchFailed(false);\r\n })\r\n .catch((err) => {\r\n setMessageFetchFailed(true);\r\n /* eslint-disable no-console */\r\n console.error(err);\r\n });\r\n }\r\n }, [authState]);\r\n\r\n if (messages) {\r\n return (\r\n <div>\r\n {messages.map((message) => (\r\n <tr id={message.id} key={message.id}>\r\n <td>{message.date}</td>\r\n <td>{message.text}</td>\r\n </tr>\r\n ))}\r\n </div>\r\n )\r\n } else return (\r\n <h3>Fetching messages...</h3>\r\n )\r\n\r\n\r\n}\r\n\r\nexport default Messages\r\n"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\Bruger\\\\Desktop\\\\Web-projects\\\\pipit\\\\client\\\\src\\\\components\\\\team\\\\teamOverview\\\\TeamOverview.jsx\";\nimport React from 'react';\nimport { NavLink } from 'react-router-dom';\nimport \"./TeamOverview.css\";\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nconst TeamOverview = () => {\n const personalProjects = [{\n id: \"MyApp\",\n type: \"personal\"\n }, {\n id: \"MyOtherApp\",\n type: \"personal\"\n }];\n const sharedProjects = [{\n id: \"ReactApp\",\n type: \"shared\",\n teams: [{\n name: \"Henriks Meme Machine\"\n }, {\n name: \"Teskeholdet\"\n }]\n }, {\n id: \"Very big ReactApp\",\n type: \"shared\",\n teams: [{\n name: \"Aubergine\"\n }]\n }];\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"page-content-container\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"content-header\",\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n className: \"teamlist-title\",\n children: \"Teams\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"buttons-container\",\n children: [/*#__PURE__*/_jsxDEV(\"button\", {\n className: \"join-team-button\",\n children: \"Join Team\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"button\", {\n className: \"create-new-team-button\",\n children: \"New team\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 26,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"teamlist\",\n children: /*#__PURE__*/_jsxDEV(\"ul\", {\n children: /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"team-entry\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"image-team-name\",\n children: [/*#__PURE__*/_jsxDEV(NavLink, {\n to: \"/HenriksMemeMachine\",\n className: \"team-image-container\",\n children: /*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"team-icon\",\n icon: \"dice-d6\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 37,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 36,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(NavLink, {\n to: \"/HenriksMemeMachine\",\n children: [\"Henriks meme machine - ReactApp\\xA0\", /*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"icon\",\n icon: \"chevron-right\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 40,\n columnNumber: 19\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 39,\n columnNumber: 17\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 35,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"team-status-info-container\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"new-messages-info\",\n children: [/*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"icon\",\n icon: \"envelope\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 45,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"0\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 46,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"span\", {\n className: \"tooltip-text\",\n children: \"New messages\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 47,\n columnNumber: 19\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 44,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"projects-maintained-info\",\n children: [/*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"icon\",\n icon: \"project-diagram\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 50,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"0\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 51,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"span\", {\n className: \"tooltip-text\",\n children: \"Projects maintained\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 52,\n columnNumber: 19\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 49,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"team-members-info\",\n children: [/*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"icon\",\n icon: \"users\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 55,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"0\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 56,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"span\", {\n className: \"tooltip-text\",\n children: \"Team members\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 57,\n columnNumber: 19\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 54,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"last-updated-info\",\n children: /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Date created: \\xA021/ 07/ 2021\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 60,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 59,\n columnNumber: 17\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 43,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 34,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 33,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 32,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 31,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 5\n }, this);\n};\n\n_c = TeamOverview;\nexport default TeamOverview;\n\nvar _c;\n\n$RefreshReg$(_c, \"TeamOverview\");","map":{"version":3,"sources":["C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/team/teamOverview/TeamOverview.jsx"],"names":["React","NavLink","FontAwesomeIcon","TeamOverview","personalProjects","id","type","sharedProjects","teams","name"],"mappings":";AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,OAAT,QAAwB,kBAAxB;AACA,OAAO,oBAAP;AACA,SAASC,eAAT,QAAgC,gCAAhC;;;AAEA,MAAMC,YAAY,GAAG,MAAM;AAEzB,QAAMC,gBAAgB,GAAG,CACvB;AAAEC,IAAAA,EAAE,EAAE,OAAN;AAAeC,IAAAA,IAAI,EAAE;AAArB,GADuB,EAEvB;AAAED,IAAAA,EAAE,EAAE,YAAN;AAAoBC,IAAAA,IAAI,EAAE;AAA1B,GAFuB,CAAzB;AAKA,QAAMC,cAAc,GAAG,CACrB;AAAEF,IAAAA,EAAE,EAAE,UAAN;AAAkBC,IAAAA,IAAI,EAAE,QAAxB;AAAkCE,IAAAA,KAAK,EAAE,CAAC;AAAEC,MAAAA,IAAI,EAAE;AAAR,KAAD,EAAmC;AAAEA,MAAAA,IAAI,EAAE;AAAR,KAAnC;AAAzC,GADqB,EAErB;AAAEJ,IAAAA,EAAE,EAAE,mBAAN;AAA2BC,IAAAA,IAAI,EAAE,QAAjC;AAA2CE,IAAAA,KAAK,EAAE,CAAC;AAAEC,MAAAA,IAAI,EAAE;AAAR,KAAD;AAAlD,GAFqB,CAAvB;AAKA,sBACE;AAAK,IAAA,SAAS,EAAC,wBAAf;AAAA,4BACE;AAAK,MAAA,SAAS,EAAC,gBAAf;AAAA,8BACE;AAAI,QAAA,SAAS,EAAC,gBAAd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cADF,eAEE;AAAK,QAAA,SAAS,EAAC,mBAAf;AAAA,gCACE;AAAQ,UAAA,SAAS,EAAC,kBAAlB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBADF,eAIE;AAAQ,UAAA,SAAS,EAAC,wBAAlB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAJF;AAAA;AAAA;AAAA;AAAA;AAAA,cAFF;AAAA;AAAA;AAAA;AAAA;AAAA,YADF,eAYE;AAAK,MAAA,SAAS,EAAC,UAAf;AAAA,6BACE;AAAA,+BACE;AAAA,iCACE;AAAK,YAAA,SAAS,EAAC,YAAf;AAAA,oCACE;AAAK,cAAA,SAAS,EAAC,iBAAf;AAAA,sCACE,QAAC,OAAD;AAAS,gBAAA,EAAE,EAAC,qBAAZ;AAAkC,gBAAA,SAAS,EAAC,sBAA5C;AAAA,uCACE,QAAC,eAAD;AAAiB,kBAAA,SAAS,EAAC,WAA3B;AAAuC,kBAAA,IAAI,EAAC;AAA5C;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,sBADF,eAIE,QAAC,OAAD;AAAS,gBAAA,EAAE,EAAC,qBAAZ;AAAA,+EACE,QAAC,eAAD;AAAiB,kBAAA,SAAS,EAAC,MAA3B;AAAkC,kBAAA,IAAI,EAAC;AAAvC;AAAA;AAAA;AAAA;AAAA,wBADF;AAAA;AAAA;AAAA;AAAA;AAAA,sBAJF;AAAA;AAAA;AAAA;AAAA;AAAA,oBADF,eASE;AAAK,cAAA,SAAS,EAAC,4BAAf;AAAA,sCACE;AAAK,gBAAA,SAAS,EAAC,mBAAf;AAAA,wCACE,QAAC,eAAD;AAAiB,kBAAA,SAAS,EAAC,MAA3B;AAAkC,kBAAA,IAAI,EAAC;AAAvC;AAAA;AAAA;AAAA;AAAA,wBADF,eAEE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAFF,eAGE;AAAM,kBAAA,SAAS,EAAC,cAAhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAHF;AAAA;AAAA;AAAA;AAAA;AAAA,sBADF,eAME;AAAK,gBAAA,SAAS,EAAC,0BAAf;AAAA,wCACE,QAAC,eAAD;AAAiB,kBAAA,SAAS,EAAC,MAA3B;AAAkC,kBAAA,IAAI,EAAC;AAAvC;AAAA;AAAA;AAAA;AAAA,wBADF,eAEE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAFF,eAGE;AAAM,kBAAA,SAAS,EAAC,cAAhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAHF;AAAA;AAAA;AAAA;AAAA;AAAA,sBANF,eAWE;AAAK,gBAAA,SAAS,EAAC,mBAAf;AAAA,wCACE,QAAC,eAAD;AAAiB,kBAAA,SAAS,EAAC,MAA3B;AAAkC,kBAAA,IAAI,EAAC;AAAvC;AAAA;AAAA;AAAA;AAAA,wBADF,eAEE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAFF,eAGE;AAAM,kBAAA,SAAS,EAAC,cAAhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAHF;AAAA;AAAA;AAAA;AAAA;AAAA,sBAXF,eAgBE;AAAK,gBAAA,SAAS,EAAC,mBAAf;AAAA,uCACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,sBAhBF;AAAA;AAAA;AAAA;AAAA;AAAA,oBATF;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,YAZF;AAAA;AAAA;AAAA;AAAA;AAAA,UADF;AAmDD,CA/DD;;KAAMN,Y;AAiEN,eAAeA,YAAf","sourcesContent":["import React from 'react'\r\nimport { NavLink } from 'react-router-dom'\r\nimport \"./TeamOverview.css\"\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\n\r\nconst TeamOverview = () => {\r\n\r\n const personalProjects = [\r\n { id: \"MyApp\", type: \"personal\" },\r\n { id: \"MyOtherApp\", type: \"personal\" }\r\n ]\r\n\r\n const sharedProjects = [\r\n { id: \"ReactApp\", type: \"shared\", teams: [{ name: \"Henriks Meme Machine\" }, { name: \"Teskeholdet\" }] },\r\n { id: \"Very big ReactApp\", type: \"shared\", teams: [{ name: \"Aubergine\" }] }\r\n ]\r\n\r\n return (\r\n <div className=\"page-content-container\">\r\n <div className=\"content-header\">\r\n <h2 className=\"teamlist-title\">Teams</h2>\r\n <div className=\"buttons-container\">\r\n <button className=\"join-team-button\">\r\n Join Team\r\n </button>\r\n <button className=\"create-new-team-button\">\r\n New team\r\n </button>\r\n </div>\r\n </div>\r\n <div className=\"teamlist\">\r\n <ul>\r\n <li>\r\n <div className=\"team-entry\">\r\n <div className=\"image-team-name\">\r\n <NavLink to=\"/HenriksMemeMachine\" className=\"team-image-container\">\r\n <FontAwesomeIcon className=\"team-icon\" icon=\"dice-d6\"></FontAwesomeIcon>\r\n </NavLink>\r\n <NavLink to=\"/HenriksMemeMachine\">Henriks meme machine - ReactApp&nbsp;\r\n <FontAwesomeIcon className=\"icon\" icon=\"chevron-right\"></FontAwesomeIcon>\r\n </NavLink>\r\n </div>\r\n <div className=\"team-status-info-container\">\r\n <div className=\"new-messages-info\">\r\n <FontAwesomeIcon className=\"icon\" icon=\"envelope\"></FontAwesomeIcon>\r\n <p>0</p>\r\n <span className=\"tooltip-text\">New messages</span>\r\n </div>\r\n <div className=\"projects-maintained-info\">\r\n <FontAwesomeIcon className=\"icon\" icon=\"project-diagram\"></FontAwesomeIcon>\r\n <p>0</p>\r\n <span className=\"tooltip-text\">Projects maintained</span>\r\n </div>\r\n <div className=\"team-members-info\">\r\n <FontAwesomeIcon className=\"icon\" icon=\"users\"></FontAwesomeIcon>\r\n <p>0</p>\r\n <span className=\"tooltip-text\">Team members</span>\r\n </div>\r\n <div className=\"last-updated-info\">\r\n <p>Date created: &nbsp;21/ 07/ 2021</p>\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </div >\r\n )\r\n}\r\n\r\nexport default TeamOverview"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\Bruger\\\\Desktop\\\\Web-projects\\\\pipit\\\\client\\\\src\\\\components\\\\Messages\\\\Messages.jsx\",\n _s = $RefreshSig$();\n\nimport React, { useState, useEffect } from 'react';\nimport { useOktaAuth } from '@okta/okta-react';\nimport config from '../../config';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nconst Messages = () => {\n _s();\n\n const {\n authState,\n oktaAuth\n } = useOktaAuth();\n const [messages, setMessages] = useState(null);\n const [messageFetchFailed, setMessageFetchFailed] = useState(false); // fetch messages\n\n useEffect(() => {\n if (authState && authState.isAuthenticated) {\n const accessToken = oktaAuth.getAccessToken();\n fetch(config.resourceServer.messagesUrl, {\n headers: {\n Authorization: `Bearer ${accessToken}`\n }\n }).then(response => {\n if (!response.ok) {\n return Promise.reject();\n }\n\n return response.json();\n }).then(data => {\n let index = 0;\n const formattedMessages = data.messages.map(message => {\n const date = new Date(message.date);\n const day = date.toLocaleDateString();\n const time = date.toLocaleTimeString();\n index += 1;\n return {\n date: `${day} ${time}`,\n text: message.text,\n id: `message-${index}`\n };\n });\n setMessages(formattedMessages);\n setMessageFetchFailed(false);\n }).catch(err => {\n setMessageFetchFailed(true);\n /* eslint-disable no-console */\n\n console.error(err);\n });\n }\n }, [authState]);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: messages.map(message => /*#__PURE__*/_jsxDEV(\"tr\", {\n id: message.id,\n children: [/*#__PURE__*/_jsxDEV(\"td\", {\n children: message.date\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 54,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"td\", {\n children: message.text\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 55,\n columnNumber: 11\n }, this)]\n }, message.id, true, {\n fileName: _jsxFileName,\n lineNumber: 53,\n columnNumber: 9\n }, this))\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 51,\n columnNumber: 5\n }, this);\n};\n\n_s(Messages, \"U3xiPl25FsmufxeRxpFVBz8Cguw=\", false, function () {\n return [useOktaAuth];\n});\n\n_c = Messages;\nexport default Messages;\n\nvar _c;\n\n$RefreshReg$(_c, \"Messages\");","map":{"version":3,"sources":["C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/Messages/Messages.jsx"],"names":["React","useState","useEffect","useOktaAuth","config","Messages","authState","oktaAuth","messages","setMessages","messageFetchFailed","setMessageFetchFailed","isAuthenticated","accessToken","getAccessToken","fetch","resourceServer","messagesUrl","headers","Authorization","then","response","ok","Promise","reject","json","data","index","formattedMessages","map","message","date","Date","day","toLocaleDateString","time","toLocaleTimeString","text","id","catch","err","console","error"],"mappings":";;;AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,QAA2C,OAA3C;AACA,SAASC,WAAT,QAA4B,kBAA5B;AAEA,OAAOC,MAAP,MAAmB,cAAnB;;;AAEA,MAAMC,QAAQ,GAAG,MAAM;AAAA;;AACrB,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA;AAAb,MAA0BJ,WAAW,EAA3C;AACA,QAAM,CAACK,QAAD,EAAWC,WAAX,IAA0BR,QAAQ,CAAC,IAAD,CAAxC;AACA,QAAM,CAACS,kBAAD,EAAqBC,qBAArB,IAA8CV,QAAQ,CAAC,KAAD,CAA5D,CAHqB,CAKrB;;AACAC,EAAAA,SAAS,CAAC,MAAM;AACd,QAAII,SAAS,IAAIA,SAAS,CAACM,eAA3B,EAA4C;AAC1C,YAAMC,WAAW,GAAGN,QAAQ,CAACO,cAAT,EAApB;AACAC,MAAAA,KAAK,CAACX,MAAM,CAACY,cAAP,CAAsBC,WAAvB,EAAoC;AACvCC,QAAAA,OAAO,EAAE;AACPC,UAAAA,aAAa,EAAG,UAASN,WAAY;AAD9B;AAD8B,OAApC,CAAL,CAKGO,IALH,CAKSC,QAAD,IAAc;AAClB,YAAI,CAACA,QAAQ,CAACC,EAAd,EAAkB;AAChB,iBAAOC,OAAO,CAACC,MAAR,EAAP;AACD;;AACD,eAAOH,QAAQ,CAACI,IAAT,EAAP;AACD,OAVH,EAWGL,IAXH,CAWSM,IAAD,IAAU;AACd,YAAIC,KAAK,GAAG,CAAZ;AACA,cAAMC,iBAAiB,GAAGF,IAAI,CAAClB,QAAL,CAAcqB,GAAd,CAAmBC,OAAD,IAAa;AACvD,gBAAMC,IAAI,GAAG,IAAIC,IAAJ,CAASF,OAAO,CAACC,IAAjB,CAAb;AACA,gBAAME,GAAG,GAAGF,IAAI,CAACG,kBAAL,EAAZ;AACA,gBAAMC,IAAI,GAAGJ,IAAI,CAACK,kBAAL,EAAb;AACAT,UAAAA,KAAK,IAAI,CAAT;AACA,iBAAO;AACLI,YAAAA,IAAI,EAAG,GAAEE,GAAI,IAAGE,IAAK,EADhB;AAELE,YAAAA,IAAI,EAAEP,OAAO,CAACO,IAFT;AAGLC,YAAAA,EAAE,EAAG,WAAUX,KAAM;AAHhB,WAAP;AAKD,SAVyB,CAA1B;AAWAlB,QAAAA,WAAW,CAACmB,iBAAD,CAAX;AACAjB,QAAAA,qBAAqB,CAAC,KAAD,CAArB;AACD,OA1BH,EA2BG4B,KA3BH,CA2BUC,GAAD,IAAS;AACd7B,QAAAA,qBAAqB,CAAC,IAAD,CAArB;AACA;;AACA8B,QAAAA,OAAO,CAACC,KAAR,CAAcF,GAAd;AACD,OA/BH;AAgCD;AACF,GApCQ,EAoCN,CAAClC,SAAD,CApCM,CAAT;AAsCA,sBACE;AAAA,cACGE,QAAQ,CAACqB,GAAT,CAAcC,OAAD,iBACZ;AAAI,MAAA,EAAE,EAAEA,OAAO,CAACQ,EAAhB;AAAA,8BACE;AAAA,kBAAKR,OAAO,CAACC;AAAb;AAAA;AAAA;AAAA;AAAA,cADF,eAEE;AAAA,kBAAKD,OAAO,CAACO;AAAb;AAAA;AAAA;AAAA;AAAA,cAFF;AAAA,OAAyBP,OAAO,CAACQ,EAAjC;AAAA;AAAA;AAAA;AAAA,YADD;AADH;AAAA;AAAA;AAAA;AAAA,UADF;AAUD,CAtDD;;GAAMjC,Q;UAC4BF,W;;;KAD5BE,Q;AAwDN,eAAeA,QAAf","sourcesContent":["import React, { useState, useEffect } from 'react'\r\nimport { useOktaAuth } from '@okta/okta-react';\r\n\r\nimport config from '../../config'\r\n\r\nconst Messages = () => {\r\n const { authState, oktaAuth } = useOktaAuth();\r\n const [messages, setMessages] = useState(null);\r\n const [messageFetchFailed, setMessageFetchFailed] = useState(false);\r\n\r\n // fetch messages\r\n useEffect(() => {\r\n if (authState && authState.isAuthenticated) {\r\n const accessToken = oktaAuth.getAccessToken();\r\n fetch(config.resourceServer.messagesUrl, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n })\r\n .then((response) => {\r\n if (!response.ok) {\r\n return Promise.reject();\r\n }\r\n return response.json();\r\n })\r\n .then((data) => {\r\n let index = 0;\r\n const formattedMessages = data.messages.map((message) => {\r\n const date = new Date(message.date);\r\n const day = date.toLocaleDateString();\r\n const time = date.toLocaleTimeString();\r\n index += 1;\r\n return {\r\n date: `${day} ${time}`,\r\n text: message.text,\r\n id: `message-${index}`,\r\n };\r\n });\r\n setMessages(formattedMessages);\r\n setMessageFetchFailed(false);\r\n })\r\n .catch((err) => {\r\n setMessageFetchFailed(true);\r\n /* eslint-disable no-console */\r\n console.error(err);\r\n });\r\n }\r\n }, [authState]);\r\n\r\n return (\r\n <div>\r\n {messages.map((message) => (\r\n <tr id={message.id} key={message.id}>\r\n <td>{message.date}</td>\r\n <td>{message.text}</td>\r\n </tr>\r\n ))}\r\n </div>\r\n )\r\n}\r\n\r\nexport default Messages\r\n"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\Bruger\\\\Desktop\\\\Web-projects\\\\pipit\\\\client\\\\src\\\\components\\\\navbar\\\\Navbar.jsx\",\n _s = $RefreshSig$();\n\nimport React from 'react';\nimport { useOktaAuth } from '@okta/okta-react';\nimport \"./Navbar.css\";\nimport Logo from './logo/Logo';\nimport NavLinks from './navLinks/NavLinks';\nimport Searchbar from './searchbar/Searchbar';\nimport NavbarDropdownMenu from './dropdownMenu/NavbarDropdownMenu';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nconst Navbar = () => {\n _s();\n\n const {\n authState,\n oktaAuth\n } = useOktaAuth();\n\n const login = () => oktaAuth.signInWithRedirect({\n originalUri: '/home'\n });\n\n if (!authState) {\n return null;\n }\n\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"navbar\",\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"header-content\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"title-navigation-links-container\",\n children: [/*#__PURE__*/_jsxDEV(Logo, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 11\n }, this), authState.isAuthenticated && /*#__PURE__*/_jsxDEV(NavLinks, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 24,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"searchbar-profile-container\",\n children: [authState.isAuthenticated && /*#__PURE__*/_jsxDEV(\"ul\", {\n className: \"right-unstyled-navbar\",\n children: [/*#__PURE__*/_jsxDEV(Searchbar, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 30,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(NavbarDropdownMenu, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 31,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 29,\n columnNumber: 13\n }, this), !authState.isPending && !authState.isAuthenticated && /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"loginButtonContainer\",\n children: /*#__PURE__*/_jsxDEV(\"button\", {\n onClick: login,\n children: [\"Log in\\xA0\\xA0\", /*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n icon: \"sign-in-alt\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 38,\n columnNumber: 17\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 36,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 35,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 27,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 5\n }, this);\n};\n\n_s(Navbar, \"XFnfjrqktn2GIu+f3Siekv/ekaU=\", false, function () {\n return [useOktaAuth];\n});\n\n_c = Navbar;\nexport default Navbar;\n\nvar _c;\n\n$RefreshReg$(_c, \"Navbar\");","map":{"version":3,"sources":["C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/navbar/Navbar.jsx"],"names":["React","useOktaAuth","Logo","NavLinks","Searchbar","NavbarDropdownMenu","FontAwesomeIcon","Navbar","authState","oktaAuth","login","signInWithRedirect","originalUri","isAuthenticated","isPending"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,WAAT,QAA4B,kBAA5B;AACA,OAAO,cAAP;AACA,OAAOC,IAAP,MAAiB,aAAjB;AACA,OAAOC,QAAP,MAAqB,qBAArB;AACA,OAAOC,SAAP,MAAsB,uBAAtB;AACA,OAAOC,kBAAP,MAA+B,mCAA/B;AACA,SAASC,eAAT,QAAgC,gCAAhC;;;AAEA,MAAMC,MAAM,GAAG,MAAM;AAAA;;AACnB,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA;AAAb,MAA0BR,WAAW,EAA3C;;AACA,QAAMS,KAAK,GAAG,MAAMD,QAAQ,CAACE,kBAAT,CAA4B;AAAEC,IAAAA,WAAW,EAAE;AAAf,GAA5B,CAApB;;AAEA,MAAI,CAACJ,SAAL,EAAgB;AACd,WAAO,IAAP;AACD;;AAED,sBACE;AAAK,IAAA,SAAS,EAAC,QAAf;AAAA,2BACE;AAAK,MAAA,SAAS,EAAC,gBAAf;AAAA,8BACE;AAAK,QAAA,SAAS,EAAC,kCAAf;AAAA,gCACE,QAAC,IAAD;AAAA;AAAA;AAAA;AAAA,gBADF,EAEGA,SAAS,CAACK,eAAV,iBACC,QAAC,QAAD;AAAA;AAAA;AAAA;AAAA,gBAHJ;AAAA;AAAA;AAAA;AAAA;AAAA,cADF,eAOE;AAAK,QAAA,SAAS,EAAC,6BAAf;AAAA,mBACGL,SAAS,CAACK,eAAV,iBACC;AAAI,UAAA,SAAS,EAAC,uBAAd;AAAA,kCACE,QAAC,SAAD;AAAA;AAAA;AAAA;AAAA,kBADF,eAEE,QAAC,kBAAD;AAAA;AAAA;AAAA;AAAA,kBAFF;AAAA;AAAA;AAAA;AAAA;AAAA,gBAFJ,EAOG,CAACL,SAAS,CAACM,SAAX,IAAwB,CAACN,SAAS,CAACK,eAAnC,iBACC;AAAK,UAAA,SAAS,EAAC,sBAAf;AAAA,iCACE;AAAQ,YAAA,OAAO,EAAEH,KAAjB;AAAA,sDAEE,QAAC,eAAD;AAAiB,cAAA,IAAI,EAAC;AAAtB;AAAA;AAAA;AAAA;AAAA,oBAFF;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,gBARJ;AAAA;AAAA;AAAA;AAAA;AAAA,cAPF;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,UADF;AA4BD,CApCD;;GAAMH,M;UAC4BN,W;;;KAD5BM,M;AAsCN,eAAeA,MAAf","sourcesContent":["import React from 'react'\r\nimport { useOktaAuth } from '@okta/okta-react';\r\nimport \"./Navbar.css\"\r\nimport Logo from './logo/Logo'\r\nimport NavLinks from './navLinks/NavLinks'\r\nimport Searchbar from './searchbar/Searchbar'\r\nimport NavbarDropdownMenu from './dropdownMenu/NavbarDropdownMenu'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\n\r\nconst Navbar = () => {\r\n const { authState, oktaAuth } = useOktaAuth();\r\n const login = () => oktaAuth.signInWithRedirect({ originalUri: '/home' })\r\n\r\n if (!authState) {\r\n return null;\r\n }\r\n\r\n return (\r\n <div className=\"navbar\" >\r\n <div className=\"header-content\">\r\n <div className=\"title-navigation-links-container\">\r\n <Logo />\r\n {authState.isAuthenticated && (\r\n <NavLinks />\r\n )}\r\n </div>\r\n <div className=\"searchbar-profile-container\">\r\n {authState.isAuthenticated && (\r\n <ul className=\"right-unstyled-navbar\">\r\n <Searchbar />\r\n <NavbarDropdownMenu />\r\n </ul>\r\n )}\r\n {!authState.isPending && !authState.isAuthenticated && (\r\n <div className=\"loginButtonContainer\">\r\n <button onClick={login}>\r\n Log in&nbsp;&nbsp;\r\n <FontAwesomeIcon icon=\"sign-in-alt\"></FontAwesomeIcon>\r\n </button>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </div >\r\n )\r\n}\r\n\r\nexport default Navbar"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\Bruger\\\\Desktop\\\\Web-projects\\\\pipit\\\\client\\\\src\\\\components\\\\home\\\\updates\\\\Updates.jsx\",\n _s = $RefreshSig$();\n\nimport React from 'react';\nimport \"./Updates.css\";\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport useMessages from '../../../util/useMessages';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nconst Updates = () => {\n _s();\n\n const messages = useMessages();\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"project-updates-new-messages-container\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"project-updates-display-container\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"project-updates-display-header\",\n children: /*#__PURE__*/_jsxDEV(\"p\", {\n children: [/*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n icon: \"exclamation\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 15,\n columnNumber: 13\n }, this), \"\\xA0\\xA0New project updates\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"project-updates-display-content\",\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"project-update-entry\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"entry-text\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"upper-row\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"[project] [new issues] [issues fixed]\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"bottom-row\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"[team] [time]\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 28,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 27,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"entry-icon\",\n icon: \"chevron-right\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 34,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 33,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"new-messages-display-container\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"new-messages-display-header\",\n children: /*#__PURE__*/_jsxDEV(\"p\", {\n children: [/*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n icon: \"envelope\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 44,\n columnNumber: 13\n }, this), \"\\xA0\\xA0New messages\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 43,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 42,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"new-messages-display-content\",\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"new-message-entry\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"entry-text\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"upper-row\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"[Sender] [Channel]\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 52,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 51,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"bottom-row\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n children: \"[team] [time]\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 57,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 56,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 50,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"entry-icon\",\n icon: \"chevron-right\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 63,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 62,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 49,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 48,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 40,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 5\n }, this);\n};\n\n_s(Updates, \"XN0E2gtL1gAmm+PNrJbqZSrG6t4=\", false, function () {\n return [useMessages];\n});\n\n_c = Updates;\nexport default Updates;\n\nvar _c;\n\n$RefreshReg$(_c, \"Updates\");","map":{"version":3,"sources":["C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/home/updates/Updates.jsx"],"names":["React","FontAwesomeIcon","useMessages","Updates","messages"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAO,eAAP;AACA,SAASC,eAAT,QAAgC,gCAAhC;AACA,OAAOC,WAAP,MAAwB,2BAAxB;;;AAEA,MAAMC,OAAO,GAAG,MAAM;AAAA;;AACpB,QAAMC,QAAQ,GAAGF,WAAW,EAA5B;AAEA,sBACE;AAAK,IAAA,SAAS,EAAC,wCAAf;AAAA,4BAEE;AAAK,MAAA,SAAS,EAAC,mCAAf;AAAA,8BACE;AAAK,QAAA,SAAS,EAAC,gCAAf;AAAA,+BACE;AAAA,kCACE,QAAC,eAAD;AAAiB,YAAA,IAAI,EAAC;AAAtB;AAAA;AAAA;AAAA;AAAA,kBADF;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,cADF,eAOE;AAAK,QAAA,SAAS,EAAC,iCAAf;AAAA,+BACE;AAAK,UAAA,SAAS,EAAC,sBAAf;AAAA,kCACE;AAAK,YAAA,SAAS,EAAC,YAAf;AAAA,oCACE;AAAK,cAAA,SAAS,EAAC,WAAf;AAAA,qCACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,oBADF,eAME;AAAK,cAAA,SAAS,EAAC,YAAf;AAAA,qCACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,oBANF;AAAA;AAAA;AAAA;AAAA;AAAA,kBADF,eAaE;AAAA,mCACE,QAAC,eAAD;AAAiB,cAAA,SAAS,EAAC,YAA3B;AAAwC,cAAA,IAAI,EAAC;AAA7C;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,kBAbF;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,cAPF;AAAA;AAAA;AAAA;AAAA;AAAA,YAFF,eA8BE;AAAK,MAAA,SAAS,EAAC,gCAAf;AAAA,8BAEE;AAAK,QAAA,SAAS,EAAC,6BAAf;AAAA,+BACE;AAAA,kCACE,QAAC,eAAD;AAAiB,YAAA,IAAI,EAAC;AAAtB;AAAA;AAAA;AAAA;AAAA,kBADF;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,cAFF,eAQE;AAAK,QAAA,SAAS,EAAC,8BAAf;AAAA,+BACE;AAAK,UAAA,SAAS,EAAC,mBAAf;AAAA,kCACE;AAAK,YAAA,SAAS,EAAC,YAAf;AAAA,oCACE;AAAK,cAAA,SAAS,EAAC,WAAf;AAAA,qCACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,oBADF,eAME;AAAK,cAAA,SAAS,EAAC,YAAf;AAAA,qCACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,oBANF;AAAA;AAAA;AAAA;AAAA;AAAA,kBADF,eAaE;AAAA,mCACE,QAAC,eAAD;AAAiB,cAAA,SAAS,EAAC,YAA3B;AAAwC,cAAA,IAAI,EAAC;AAA7C;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,kBAbF;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,cARF;AAAA;AAAA;AAAA;AAAA;AAAA,YA9BF;AAAA;AAAA;AAAA;AAAA;AAAA,UADF;AA6DD,CAhED;;GAAMC,O;UACaD,W;;;KADbC,O;AAkEN,eAAeA,OAAf","sourcesContent":["import React from 'react'\r\nimport \"./Updates.css\"\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport useMessages from '../../../util/useMessages'\r\n\r\nconst Updates = () => {\r\n const messages = useMessages()\r\n\r\n return (\r\n <div className=\"project-updates-new-messages-container\">\r\n\r\n <div className=\"project-updates-display-container\">\r\n <div className=\"project-updates-display-header\">\r\n <p>\r\n <FontAwesomeIcon icon=\"exclamation\"></FontAwesomeIcon>\r\n &nbsp;&nbsp;New project updates\r\n </p>\r\n </div>\r\n <div className=\"project-updates-display-content\">\r\n <div className=\"project-update-entry\">\r\n <div className=\"entry-text\">\r\n <div className=\"upper-row\">\r\n <a>\r\n [project] [new issues] [issues fixed]\r\n </a>\r\n </div>\r\n <div className=\"bottom-row\">\r\n <a>\r\n [team] [time]\r\n </a>\r\n </div>\r\n </div>\r\n <div>\r\n <FontAwesomeIcon className=\"entry-icon\" icon=\"chevron-right\"></FontAwesomeIcon>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div className=\"new-messages-display-container\">\r\n\r\n <div className=\"new-messages-display-header\">\r\n <p>\r\n <FontAwesomeIcon icon=\"envelope\"></FontAwesomeIcon>\r\n &nbsp;&nbsp;New messages\r\n </p>\r\n </div>\r\n <div className=\"new-messages-display-content\">\r\n <div className=\"new-message-entry\">\r\n <div className=\"entry-text\">\r\n <div className=\"upper-row\">\r\n <a>\r\n [Sender] [Channel]\r\n </a>\r\n </div>\r\n <div className=\"bottom-row\">\r\n <a>\r\n [team] [time]\r\n </a>\r\n </div>\r\n </div>\r\n <div>\r\n <FontAwesomeIcon className=\"entry-icon\" icon=\"chevron-right\"></FontAwesomeIcon>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default Updates"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\Bruger\\\\Desktop\\\\Web-projects\\\\pipit\\\\client\\\\src\\\\components\\\\Messages\\\\Messages.jsx\",\n _s = $RefreshSig$();\n\nimport React, { useState, useEffect } from 'react';\nimport { NavLink } from \"react-router-dom\";\nimport { useOktaAuth } from '@okta/okta-react';\nimport config from '../../config';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nconst Messages = () => {\n _s();\n\n const {\n authState,\n oktaAuth\n } = useOktaAuth();\n const [messages, setMessages] = useState(null);\n const [messageFetchFailed, setMessageFetchFailed] = useState(false); // fetch messages\n\n useEffect(() => {\n if (authState && authState.isAuthenticated) {\n const accessToken = oktaAuth.getAccessToken();\n fetch(config.resourceServer.messagesUrl, {\n headers: {\n Authorization: `Bearer ${accessToken}`\n }\n }).then(response => {\n if (!response.ok) {\n return Promise.reject();\n }\n\n return response.json();\n }).then(data => {\n let index = 0;\n const formattedMessages = data.messages.map(message => {\n const date = new Date(message.date);\n const day = date.toLocaleDateString();\n const time = date.toLocaleTimeString();\n index += 1;\n return {\n date: `${day} ${time}`,\n text: message.text,\n id: `message-${index}`\n };\n });\n setMessages(formattedMessages);\n setMessageFetchFailed(false);\n }).catch(err => {\n setMessageFetchFailed(true);\n /* eslint-disable no-console */\n\n console.error(err);\n });\n }\n }, [authState]);\n return /*#__PURE__*/_jsxDEV(\"div\", {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 52,\n columnNumber: 5\n }, this);\n};\n\n_s(Messages, \"U3xiPl25FsmufxeRxpFVBz8Cguw=\", false, function () {\n return [useOktaAuth];\n});\n\n_c = Messages;\nexport default Messages;\n\nvar _c;\n\n$RefreshReg$(_c, \"Messages\");","map":{"version":3,"sources":["C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/Messages/Messages.jsx"],"names":["React","useState","useEffect","NavLink","useOktaAuth","config","Messages","authState","oktaAuth","messages","setMessages","messageFetchFailed","setMessageFetchFailed","isAuthenticated","accessToken","getAccessToken","fetch","resourceServer","messagesUrl","headers","Authorization","then","response","ok","Promise","reject","json","data","index","formattedMessages","map","message","date","Date","day","toLocaleDateString","time","toLocaleTimeString","text","id","catch","err","console","error"],"mappings":";;;AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,QAA2C,OAA3C;AACA,SAASC,OAAT,QAAwB,kBAAxB;AACA,SAASC,WAAT,QAA4B,kBAA5B;AAEA,OAAOC,MAAP,MAAmB,cAAnB;;;AAEA,MAAMC,QAAQ,GAAG,MAAM;AAAA;;AACrB,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA;AAAb,MAA0BJ,WAAW,EAA3C;AACA,QAAM,CAACK,QAAD,EAAWC,WAAX,IAA0BT,QAAQ,CAAC,IAAD,CAAxC;AACA,QAAM,CAACU,kBAAD,EAAqBC,qBAArB,IAA8CX,QAAQ,CAAC,KAAD,CAA5D,CAHqB,CAKrB;;AACAC,EAAAA,SAAS,CAAC,MAAM;AACd,QAAIK,SAAS,IAAIA,SAAS,CAACM,eAA3B,EAA4C;AAC1C,YAAMC,WAAW,GAAGN,QAAQ,CAACO,cAAT,EAApB;AACAC,MAAAA,KAAK,CAACX,MAAM,CAACY,cAAP,CAAsBC,WAAvB,EAAoC;AACvCC,QAAAA,OAAO,EAAE;AACPC,UAAAA,aAAa,EAAG,UAASN,WAAY;AAD9B;AAD8B,OAApC,CAAL,CAKGO,IALH,CAKSC,QAAD,IAAc;AAClB,YAAI,CAACA,QAAQ,CAACC,EAAd,EAAkB;AAChB,iBAAOC,OAAO,CAACC,MAAR,EAAP;AACD;;AACD,eAAOH,QAAQ,CAACI,IAAT,EAAP;AACD,OAVH,EAWGL,IAXH,CAWSM,IAAD,IAAU;AACd,YAAIC,KAAK,GAAG,CAAZ;AACA,cAAMC,iBAAiB,GAAGF,IAAI,CAAClB,QAAL,CAAcqB,GAAd,CAAmBC,OAAD,IAAa;AACvD,gBAAMC,IAAI,GAAG,IAAIC,IAAJ,CAASF,OAAO,CAACC,IAAjB,CAAb;AACA,gBAAME,GAAG,GAAGF,IAAI,CAACG,kBAAL,EAAZ;AACA,gBAAMC,IAAI,GAAGJ,IAAI,CAACK,kBAAL,EAAb;AACAT,UAAAA,KAAK,IAAI,CAAT;AACA,iBAAO;AACLI,YAAAA,IAAI,EAAG,GAAEE,GAAI,IAAGE,IAAK,EADhB;AAELE,YAAAA,IAAI,EAAEP,OAAO,CAACO,IAFT;AAGLC,YAAAA,EAAE,EAAG,WAAUX,KAAM;AAHhB,WAAP;AAKD,SAVyB,CAA1B;AAWAlB,QAAAA,WAAW,CAACmB,iBAAD,CAAX;AACAjB,QAAAA,qBAAqB,CAAC,KAAD,CAArB;AACD,OA1BH,EA2BG4B,KA3BH,CA2BUC,GAAD,IAAS;AACd7B,QAAAA,qBAAqB,CAAC,IAAD,CAArB;AACA;;AACA8B,QAAAA,OAAO,CAACC,KAAR,CAAcF,GAAd;AACD,OA/BH;AAgCD;AACF,GApCQ,EAoCN,CAAClC,SAAD,CApCM,CAAT;AAsCA,sBACE;AAAA;AAAA;AAAA;AAAA,UADF;AAKD,CAjDD;;GAAMD,Q;UAC4BF,W;;;KAD5BE,Q;AAmDN,eAAeA,QAAf","sourcesContent":["import React, { useState, useEffect } from 'react'\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { useOktaAuth } from '@okta/okta-react';\r\n\r\nimport config from '../../config'\r\n\r\nconst Messages = () => {\r\n const { authState, oktaAuth } = useOktaAuth();\r\n const [messages, setMessages] = useState(null);\r\n const [messageFetchFailed, setMessageFetchFailed] = useState(false);\r\n\r\n // fetch messages\r\n useEffect(() => {\r\n if (authState && authState.isAuthenticated) {\r\n const accessToken = oktaAuth.getAccessToken();\r\n fetch(config.resourceServer.messagesUrl, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n })\r\n .then((response) => {\r\n if (!response.ok) {\r\n return Promise.reject();\r\n }\r\n return response.json();\r\n })\r\n .then((data) => {\r\n let index = 0;\r\n const formattedMessages = data.messages.map((message) => {\r\n const date = new Date(message.date);\r\n const day = date.toLocaleDateString();\r\n const time = date.toLocaleTimeString();\r\n index += 1;\r\n return {\r\n date: `${day} ${time}`,\r\n text: message.text,\r\n id: `message-${index}`,\r\n };\r\n });\r\n setMessages(formattedMessages);\r\n setMessageFetchFailed(false);\r\n })\r\n .catch((err) => {\r\n setMessageFetchFailed(true);\r\n /* eslint-disable no-console */\r\n console.error(err);\r\n });\r\n }\r\n }, [authState]);\r\n\r\n return (\r\n <div>\r\n\r\n </div>\r\n )\r\n}\r\n\r\nexport default Messages\r\n"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\Bruger\\\\Desktop\\\\Web-projects\\\\pipit\\\\client\\\\src\\\\components\\\\home\\\\Home.jsx\",\n _s = $RefreshSig$();\n\nimport React, { useState, useEffect } from 'react';\nimport { NavLink } from 'react-router-dom';\nimport \"./Home.css\";\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport Updates from './updates/Updates';\nimport useMessages from '../../util/useMessages';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nconst Home = () => {\n _s();\n\n const [userInfo, setUserInfo] = useState(null);\n const idToken = JSON.parse(localStorage.getItem('okta-token-storage')).idToken.claims;\n const messages = useMessages();\n useEffect(() => {\n setUserInfo(idToken);\n }, []);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"page-content-container\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"content-header\",\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n className: \"welcome-text\",\n children: [\"Welcome \", userInfo ? userInfo.name : \"...\", \"!\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(NavLink, {\n to: \"/reportissue\",\n children: /*#__PURE__*/_jsxDEV(\"button\", {\n className: \"report-new-issue-button\",\n children: [/*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n icon: \"exclamation-triangle\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 13\n }, this), \"\\xA0\\xA0Report issues\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"homepage-content\",\n children: /*#__PURE__*/_jsxDEV(Updates, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 29,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 28,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 18,\n columnNumber: 5\n }, this);\n};\n\n_s(Home, \"hWAI/bNq0ggLUgA8loZKeLHJePQ=\", false, function () {\n return [useMessages];\n});\n\n_c = Home;\nexport default Home;\n\nvar _c;\n\n$RefreshReg$(_c, \"Home\");","map":{"version":3,"sources":["C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/home/Home.jsx"],"names":["React","useState","useEffect","NavLink","FontAwesomeIcon","Updates","useMessages","Home","userInfo","setUserInfo","idToken","JSON","parse","localStorage","getItem","claims","messages","name"],"mappings":";;;AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,QAA2C,OAA3C;AACA,SAASC,OAAT,QAAwB,kBAAxB;AACA,OAAO,YAAP;AACA,SAASC,eAAT,QAAgC,gCAAhC;AACA,OAAOC,OAAP,MAAoB,mBAApB;AACA,OAAOC,WAAP,MAAwB,wBAAxB;;;AAEA,MAAMC,IAAI,GAAG,MAAM;AAAA;;AACjB,QAAM,CAACC,QAAD,EAAWC,WAAX,IAA0BR,QAAQ,CAAC,IAAD,CAAxC;AACA,QAAMS,OAAO,GAAGC,IAAI,CAACC,KAAL,CAAWC,YAAY,CAACC,OAAb,CAAqB,oBAArB,CAAX,EAAuDJ,OAAvD,CAA+DK,MAA/E;AACA,QAAMC,QAAQ,GAAGV,WAAW,EAA5B;AAEAJ,EAAAA,SAAS,CAAC,MAAM;AACdO,IAAAA,WAAW,CAACC,OAAD,CAAX;AACD,GAFQ,EAEN,EAFM,CAAT;AAIA,sBACE;AAAK,IAAA,SAAS,EAAC,wBAAf;AAAA,4BACE;AAAK,MAAA,SAAS,EAAC,gBAAf;AAAA,8BACE;AAAI,QAAA,SAAS,EAAC,cAAd;AAAA,+BAAsCF,QAAQ,GAAGA,QAAQ,CAACS,IAAZ,GAAmB,KAAjE;AAAA;AAAA;AAAA;AAAA;AAAA,cADF,eAEE,QAAC,OAAD;AAAS,QAAA,EAAE,EAAC,cAAZ;AAAA,+BACE;AAAQ,UAAA,SAAS,EAAC,yBAAlB;AAAA,kCACE,QAAC,eAAD;AAAiB,YAAA,IAAI,EAAC;AAAtB;AAAA;AAAA;AAAA;AAAA,kBADF;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,cAFF;AAAA;AAAA;AAAA;AAAA;AAAA,YADF,eAUE;AAAK,MAAA,SAAS,EAAC,kBAAf;AAAA,6BACE,QAAC,OAAD;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,YAVF;AAAA;AAAA;AAAA;AAAA;AAAA,UADF;AAgBD,CAzBD;;GAAMV,I;UAGaD,W;;;KAHbC,I;AA2BN,eAAeA,IAAf","sourcesContent":["import React, { useState, useEffect } from 'react'\r\nimport { NavLink } from 'react-router-dom'\r\nimport \"./Home.css\"\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport Updates from './updates/Updates'\r\nimport useMessages from '../../util/useMessages'\r\n\r\nconst Home = () => {\r\n const [userInfo, setUserInfo] = useState(null);\r\n const idToken = JSON.parse(localStorage.getItem('okta-token-storage')).idToken.claims\r\n const messages = useMessages()\r\n\r\n useEffect(() => {\r\n setUserInfo(idToken)\r\n }, [])\r\n\r\n return (\r\n <div className=\"page-content-container\">\r\n <div className=\"content-header\">\r\n <h2 className=\"welcome-text\">Welcome {userInfo ? userInfo.name : \"...\"}!</h2>\r\n <NavLink to=\"/reportissue\">\r\n <button className=\"report-new-issue-button\">\r\n <FontAwesomeIcon icon=\"exclamation-triangle\"></FontAwesomeIcon>\r\n &nbsp;&nbsp;Report issues\r\n </button>\r\n </NavLink>\r\n </div>\r\n <div className=\"homepage-content\">\r\n <Updates />\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default Home"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\Bruger\\\\Desktop\\\\Web-projects\\\\pipit\\\\client\\\\src\\\\components\\\\Messages\\\\Messages.jsx\",\n _s = $RefreshSig$();\n\nimport React from 'react';\nimport useMessages from \"../../util/useMessages\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nconst Messages = () => {\n _s();\n\n const messages = useMessages();\n\n if (messages) {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"page-content-container\",\n children: messages.map(message => /*#__PURE__*/_jsxDEV(\"tr\", {\n id: message.id,\n children: [/*#__PURE__*/_jsxDEV(\"td\", {\n children: message.date\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"td\", {\n children: message.sender\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"td\", {\n children: message.text\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 13\n }, this)]\n }, message.id, true, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 11\n }, this))\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 9,\n columnNumber: 7\n }, this);\n } else return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"page-content-container\",\n children: /*#__PURE__*/_jsxDEV(\"h3\", {\n children: \"Fetching messages...\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 5\n }, this);\n};\n\n_s(Messages, \"XN0E2gtL1gAmm+PNrJbqZSrG6t4=\", false, function () {\n return [useMessages];\n});\n\n_c = Messages;\nexport default Messages;\n\nvar _c;\n\n$RefreshReg$(_c, \"Messages\");","map":{"version":3,"sources":["C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/Messages/Messages.jsx"],"names":["React","useMessages","Messages","messages","map","message","id","date","sender","text"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,WAAP,MAAwB,wBAAxB;;;AAEA,MAAMC,QAAQ,GAAG,MAAM;AAAA;;AACrB,QAAMC,QAAQ,GAAGF,WAAW,EAA5B;;AAEA,MAAIE,QAAJ,EAAc;AACZ,wBACE;AAAK,MAAA,SAAS,EAAC,wBAAf;AAAA,gBACGA,QAAQ,CAACC,GAAT,CAAcC,OAAD,iBACZ;AAAI,QAAA,EAAE,EAAEA,OAAO,CAACC,EAAhB;AAAA,gCACE;AAAA,oBAAKD,OAAO,CAACE;AAAb;AAAA;AAAA;AAAA;AAAA,gBADF,eAEE;AAAA,oBAAKF,OAAO,CAACG;AAAb;AAAA;AAAA;AAAA;AAAA,gBAFF,eAGE;AAAA,oBAAKH,OAAO,CAACI;AAAb;AAAA;AAAA;AAAA;AAAA,gBAHF;AAAA,SAAyBJ,OAAO,CAACC,EAAjC;AAAA;AAAA;AAAA;AAAA,cADD;AADH;AAAA;AAAA;AAAA;AAAA,YADF;AAWD,GAZD,MAYO,oBACL;AAAK,IAAA,SAAS,EAAC,wBAAf;AAAA,2BACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,UADK;AAOR,CAtBD;;GAAMJ,Q;UACaD,W;;;KADbC,Q;AAwBN,eAAeA,QAAf","sourcesContent":["import React from 'react'\r\nimport useMessages from \"../../util/useMessages\"\r\n\r\nconst Messages = () => {\r\n const messages = useMessages()\r\n\r\n if (messages) {\r\n return (\r\n <div className=\"page-content-container\">\r\n {messages.map((message) => (\r\n <tr id={message.id} key={message.id}>\r\n <td>{message.date}</td>\r\n <td>{message.sender}</td>\r\n <td>{message.text}</td>\r\n </tr>\r\n ))}\r\n </div>\r\n )\r\n } else return (\r\n <div className=\"page-content-container\">\r\n <h3>Fetching messages...</h3>\r\n </div>\r\n )\r\n\r\n\r\n}\r\n\r\nexport default Messages\r\n"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\Bruger\\\\Desktop\\\\Web-projects\\\\pipit\\\\client\\\\src\\\\components\\\\Messages\\\\Messages.jsx\",\n _s = $RefreshSig$();\n\nimport React, { useState, useEffect } from 'react';\nimport { useOktaAuth } from '@okta/okta-react';\nimport config from '../../config';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nconst Messages = () => {\n _s();\n\n const {\n authState,\n oktaAuth\n } = useOktaAuth();\n const [messages, setMessages] = useState(null);\n const [messageFetchFailed, setMessageFetchFailed] = useState(false); // fetch messages\n\n useEffect(() => {\n if (authState && authState.isAuthenticated) {\n const accessToken = oktaAuth.getAccessToken();\n fetch(config.resourceServer.messagesUrl, {\n headers: {\n Authorization: `Bearer ${accessToken}`\n }\n }).then(response => {\n if (!response.ok) {\n return Promise.reject();\n }\n\n return response.json();\n }).then(data => {\n let index = 0;\n const formattedMessages = data.messages.map(message => {\n const date = new Date(message.date);\n const day = date.toLocaleDateString();\n const time = date.toLocaleTimeString();\n index += 1;\n return {\n date: `${day} ${time}`,\n text: message.text,\n id: `message-${index}`\n };\n });\n setMessages(formattedMessages);\n setMessageFetchFailed(false);\n }).catch(err => {\n setMessageFetchFailed(true);\n /* eslint-disable no-console */\n\n console.error(err);\n });\n }\n }, [authState]);\n\n if (messages) {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"page-content-container\",\n children: messages.map(message => /*#__PURE__*/_jsxDEV(\"tr\", {\n id: message.id,\n children: [/*#__PURE__*/_jsxDEV(\"td\", {\n children: message.date\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 55,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"td\", {\n children: message.text\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 56,\n columnNumber: 13\n }, this)]\n }, message.id, true, {\n fileName: _jsxFileName,\n lineNumber: 54,\n columnNumber: 11\n }, this))\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 52,\n columnNumber: 7\n }, this);\n } else return /*#__PURE__*/_jsxDEV(\"h3\", {\n children: \"Fetching messages...\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 62,\n columnNumber: 5\n }, this);\n};\n\n_s(Messages, \"U3xiPl25FsmufxeRxpFVBz8Cguw=\", false, function () {\n return [useOktaAuth];\n});\n\n_c = Messages;\nexport default Messages;\n\nvar _c;\n\n$RefreshReg$(_c, \"Messages\");","map":{"version":3,"sources":["C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/Messages/Messages.jsx"],"names":["React","useState","useEffect","useOktaAuth","config","Messages","authState","oktaAuth","messages","setMessages","messageFetchFailed","setMessageFetchFailed","isAuthenticated","accessToken","getAccessToken","fetch","resourceServer","messagesUrl","headers","Authorization","then","response","ok","Promise","reject","json","data","index","formattedMessages","map","message","date","Date","day","toLocaleDateString","time","toLocaleTimeString","text","id","catch","err","console","error"],"mappings":";;;AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,QAA2C,OAA3C;AACA,SAASC,WAAT,QAA4B,kBAA5B;AAEA,OAAOC,MAAP,MAAmB,cAAnB;;;AAEA,MAAMC,QAAQ,GAAG,MAAM;AAAA;;AACrB,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA;AAAb,MAA0BJ,WAAW,EAA3C;AACA,QAAM,CAACK,QAAD,EAAWC,WAAX,IAA0BR,QAAQ,CAAC,IAAD,CAAxC;AACA,QAAM,CAACS,kBAAD,EAAqBC,qBAArB,IAA8CV,QAAQ,CAAC,KAAD,CAA5D,CAHqB,CAKrB;;AACAC,EAAAA,SAAS,CAAC,MAAM;AACd,QAAII,SAAS,IAAIA,SAAS,CAACM,eAA3B,EAA4C;AAC1C,YAAMC,WAAW,GAAGN,QAAQ,CAACO,cAAT,EAApB;AACAC,MAAAA,KAAK,CAACX,MAAM,CAACY,cAAP,CAAsBC,WAAvB,EAAoC;AACvCC,QAAAA,OAAO,EAAE;AACPC,UAAAA,aAAa,EAAG,UAASN,WAAY;AAD9B;AAD8B,OAApC,CAAL,CAKGO,IALH,CAKSC,QAAD,IAAc;AAClB,YAAI,CAACA,QAAQ,CAACC,EAAd,EAAkB;AAChB,iBAAOC,OAAO,CAACC,MAAR,EAAP;AACD;;AACD,eAAOH,QAAQ,CAACI,IAAT,EAAP;AACD,OAVH,EAWGL,IAXH,CAWSM,IAAD,IAAU;AACd,YAAIC,KAAK,GAAG,CAAZ;AACA,cAAMC,iBAAiB,GAAGF,IAAI,CAAClB,QAAL,CAAcqB,GAAd,CAAmBC,OAAD,IAAa;AACvD,gBAAMC,IAAI,GAAG,IAAIC,IAAJ,CAASF,OAAO,CAACC,IAAjB,CAAb;AACA,gBAAME,GAAG,GAAGF,IAAI,CAACG,kBAAL,EAAZ;AACA,gBAAMC,IAAI,GAAGJ,IAAI,CAACK,kBAAL,EAAb;AACAT,UAAAA,KAAK,IAAI,CAAT;AACA,iBAAO;AACLI,YAAAA,IAAI,EAAG,GAAEE,GAAI,IAAGE,IAAK,EADhB;AAELE,YAAAA,IAAI,EAAEP,OAAO,CAACO,IAFT;AAGLC,YAAAA,EAAE,EAAG,WAAUX,KAAM;AAHhB,WAAP;AAKD,SAVyB,CAA1B;AAWAlB,QAAAA,WAAW,CAACmB,iBAAD,CAAX;AACAjB,QAAAA,qBAAqB,CAAC,KAAD,CAArB;AACD,OA1BH,EA2BG4B,KA3BH,CA2BUC,GAAD,IAAS;AACd7B,QAAAA,qBAAqB,CAAC,IAAD,CAArB;AACA;;AACA8B,QAAAA,OAAO,CAACC,KAAR,CAAcF,GAAd;AACD,OA/BH;AAgCD;AACF,GApCQ,EAoCN,CAAClC,SAAD,CApCM,CAAT;;AAsCA,MAAIE,QAAJ,EAAc;AACZ,wBACE;AAAK,MAAA,SAAS,EAAC,wBAAf;AAAA,gBACGA,QAAQ,CAACqB,GAAT,CAAcC,OAAD,iBACZ;AAAI,QAAA,EAAE,EAAEA,OAAO,CAACQ,EAAhB;AAAA,gCACE;AAAA,oBAAKR,OAAO,CAACC;AAAb;AAAA;AAAA;AAAA;AAAA,gBADF,eAEE;AAAA,oBAAKD,OAAO,CAACO;AAAb;AAAA;AAAA;AAAA;AAAA,gBAFF;AAAA,SAAyBP,OAAO,CAACQ,EAAjC;AAAA;AAAA;AAAA;AAAA,cADD;AADH;AAAA;AAAA;AAAA;AAAA,YADF;AAUD,GAXD,MAWO,oBACL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UADK;AAKR,CA5DD;;GAAMjC,Q;UAC4BF,W;;;KAD5BE,Q;AA8DN,eAAeA,QAAf","sourcesContent":["import React, { useState, useEffect } from 'react'\r\nimport { useOktaAuth } from '@okta/okta-react';\r\n\r\nimport config from '../../config'\r\n\r\nconst Messages = () => {\r\n const { authState, oktaAuth } = useOktaAuth();\r\n const [messages, setMessages] = useState(null);\r\n const [messageFetchFailed, setMessageFetchFailed] = useState(false);\r\n\r\n // fetch messages\r\n useEffect(() => {\r\n if (authState && authState.isAuthenticated) {\r\n const accessToken = oktaAuth.getAccessToken();\r\n fetch(config.resourceServer.messagesUrl, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n })\r\n .then((response) => {\r\n if (!response.ok) {\r\n return Promise.reject();\r\n }\r\n return response.json();\r\n })\r\n .then((data) => {\r\n let index = 0;\r\n const formattedMessages = data.messages.map((message) => {\r\n const date = new Date(message.date);\r\n const day = date.toLocaleDateString();\r\n const time = date.toLocaleTimeString();\r\n index += 1;\r\n return {\r\n date: `${day} ${time}`,\r\n text: message.text,\r\n id: `message-${index}`,\r\n };\r\n });\r\n setMessages(formattedMessages);\r\n setMessageFetchFailed(false);\r\n })\r\n .catch((err) => {\r\n setMessageFetchFailed(true);\r\n /* eslint-disable no-console */\r\n console.error(err);\r\n });\r\n }\r\n }, [authState]);\r\n\r\n if (messages) {\r\n return (\r\n <div className=\"page-content-container\">\r\n {messages.map((message) => (\r\n <tr id={message.id} key={message.id}>\r\n <td>{message.date}</td>\r\n <td>{message.text}</td>\r\n </tr>\r\n ))}\r\n </div>\r\n )\r\n } else return (\r\n <h3>Fetching messages...</h3>\r\n )\r\n\r\n\r\n}\r\n\r\nexport default Messages\r\n"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\Bruger\\\\Desktop\\\\Web-projects\\\\pipit\\\\client\\\\src\\\\components\\\\project\\\\projectInfo\\\\ProjectInfo.jsx\";\nimport React from 'react';\nimport \"./ProjectInfo.css\";\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport ActivityChart from './activityChart/ActivityChart';\nimport ActivitiesDisplay from './activitiesDisplay/ActivitiesDisplay';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nconst ProjectInfo = () => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \".page-content-container\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"projectInformationPage-content-header\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"header-text\",\n children: /*#__PURE__*/_jsxDEV(\"h2\", {\n className: \"projectInformationPage-title\",\n children: \"ReactApp > Activity Dashboard\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"header-project-buttons\",\n children: [/*#__PURE__*/_jsxDEV(\"button\", {\n children: [/*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n icon: \"users\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 17,\n columnNumber: 13\n }, this), \"\\xA0Members\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 16,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"button\", {\n children: [/*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n icon: \"cog\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 13\n }, this), \"\\xA0Settings\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 15,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"dashboard-activity-container\",\n children: [/*#__PURE__*/_jsxDEV(ActivityChart, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 29,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(ActivitiesDisplay, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 30,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 28,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 5\n }, this);\n};\n\n_c = ProjectInfo;\nexport default ProjectInfo;\n\nvar _c;\n\n$RefreshReg$(_c, \"ProjectInfo\");","map":{"version":3,"sources":["C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/project/projectInfo/ProjectInfo.jsx"],"names":["React","FontAwesomeIcon","ActivityChart","ActivitiesDisplay","ProjectInfo"],"mappings":";AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAO,mBAAP;AACA,SAASC,eAAT,QAAgC,gCAAhC;AACA,OAAOC,aAAP,MAA0B,+BAA1B;AACA,OAAOC,iBAAP,MAA8B,uCAA9B;;;AAGA,MAAMC,WAAW,GAAG,MAAM;AACxB,sBACE;AAAK,IAAA,SAAS,EAAC,yBAAf;AAAA,4BACE;AAAK,MAAA,SAAS,EAAC,uCAAf;AAAA,8BACE;AAAK,QAAA,SAAS,EAAC,aAAf;AAAA,+BACE;AAAI,UAAA,SAAS,EAAC,8BAAd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,cADF,eAIE;AAAK,QAAA,SAAS,EAAC,wBAAf;AAAA,gCACE;AAAA,kCACE,QAAC,eAAD;AAAiB,YAAA,IAAI,EAAC;AAAtB;AAAA;AAAA;AAAA;AAAA,kBADF;AAAA;AAAA;AAAA;AAAA;AAAA,gBADF,eAME;AAAA,kCACE,QAAC,eAAD;AAAiB,YAAA,IAAI,EAAC;AAAtB;AAAA;AAAA;AAAA;AAAA,kBADF;AAAA;AAAA;AAAA;AAAA;AAAA,gBANF;AAAA;AAAA;AAAA;AAAA;AAAA,cAJF;AAAA;AAAA;AAAA;AAAA;AAAA,YADF,eAkBE;AAAK,MAAA,SAAS,EAAC,8BAAf;AAAA,8BACE,QAAC,aAAD;AAAA;AAAA;AAAA;AAAA,cADF,eAEE,QAAC,iBAAD;AAAA;AAAA;AAAA;AAAA,cAFF;AAAA;AAAA;AAAA;AAAA;AAAA,YAlBF;AAAA;AAAA;AAAA;AAAA;AAAA,UADF;AAyBD,CA1BD;;KAAMA,W;AA4BN,eAAeA,WAAf","sourcesContent":["import React from 'react'\r\nimport \"./ProjectInfo.css\"\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport ActivityChart from './activityChart/ActivityChart'\r\nimport ActivitiesDisplay from './activitiesDisplay/ActivitiesDisplay'\r\n\r\n\r\nconst ProjectInfo = () => {\r\n return (\r\n <div className=\".page-content-container\">\r\n <div className=\"projectInformationPage-content-header\">\r\n <div className=\"header-text\">\r\n <h2 className=\"projectInformationPage-title\">ReactApp > Activity Dashboard</h2>\r\n </div>\r\n <div className=\"header-project-buttons\">\r\n <button>\r\n <FontAwesomeIcon icon=\"users\"></FontAwesomeIcon>\r\n &nbsp;Members\r\n\r\n </button>\r\n <button>\r\n <FontAwesomeIcon icon=\"cog\"></FontAwesomeIcon>\r\n &nbsp;Settings\r\n\r\n </button>\r\n </div>\r\n </div>\r\n <div className=\"dashboard-activity-container\">\r\n <ActivityChart />\r\n <ActivitiesDisplay />\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default ProjectInfo"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment