Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Mathias Engelbrecht Pilegård
Pipit
Commits
a49a34cc
Commit
a49a34cc
authored
Aug 09, 2021
by
Mathias Engelbrecht Pilegård
Browse files
fixed useEffect and render race condition for dynamic name loading on home page
parent
b4f619b2
Changes
58
Hide whitespace changes
Inline
Side-by-side
client/node_modules/.cache/.eslintcache
View file @
a49a34cc
[{"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\index.js":"1","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\App.jsx":"2","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\home\\Home.jsx":"3","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\login\\Login.jsx":"4","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\reportForm\\ReportForm.jsx":"5","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\project\\projectOverview\\ProjectOverview.jsx":"6","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\team\\teamOverview\\TeamOverview.jsx":"7","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\project\\projectInfo\\ProjectInfo.jsx":"8","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\team\\teamInfo\\TeamInfo.jsx":"9","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\navbar\\Navbar.jsx":"10","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\reportForm\\assign\\Assign.jsx":"11","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\home\\updates\\Updates.jsx":"12","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\project\\projectInfo\\activityChart\\ActivityChart.jsx":"13","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\project\\projectInfo\\activitiesDisplay\\ActivitiesDisplay.jsx":"14","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\navbar\\logo\\Logo.jsx":"15","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\navbar\\navigationLinks\\NavLinks.jsx":"16","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\navbar\\dropdownMenu\\NavbarDropdownMenu.jsx":"17","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\navbar\\searchbar\\Searchbar.jsx":"18","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\config.js":"19"},{"size":285,"mtime":1628516023915,"results":"20","hashOfConfig":"21"},{"size":1914,"mtime":1628526572632,"results":"22","hashOfConfig":"21"},{"size":1064,"mtime":1628528862571,"results":"23","hashOfConfig":"21"},{"size":888,"mtime":1628524767691,"results":"24","hashOfConfig":"21"},{"size":3965,"mtime":1628512998060,"results":"25","hashOfConfig":"21"},{"size":3659,"mtime":1628519325247,"results":"26","hashOfConfig":"21"},{"size":2702,"mtime":1628513046368,"results":"27","hashOfConfig":"21"},{"size":1078,"mtime":1628512968530,"results":"28","hashOfConfig":"21"},{"size":2381,"mtime":1628513031994,"results":"29","hashOfConfig":"21"},{"size":1477,"mtime":1628522532221,"results":"30","hashOfConfig":"21"},{"size":3268,"mtime":1628430393349,"results":"31","hashOfConfig":"21"},{"size":2099,"mtime":1628421638240,"results":"32","hashOfConfig":"21"},{"size":3570,"mtime":1628430832688,"results":"33","hashOfConfig":"21"},{"size":2096,"mtime":1628430812599,"results":"34","hashOfConfig":"21"},{"size":548,"mtime":1628421916010,"results":"35","hashOfConfig":"21"},{"size":697,"mtime":1628430740299,"results":"36","hashOfConfig":"21"},{"size":2600,"mtime":1628519979384,"results":"37","hashOfConfig":"21"},{"size":470,"mtime":1628430752153,"results":"38","hashOfConfig":"21"},{"size":259,"mtime":1628517609313,"results":"39","hashOfConfig":"21"},{"filePath":"40","messages":"41","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"42"},"iyhzrm",{"filePath":"43","messages":"44","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"45","messages":"46","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"47","messages":"48","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"42"},{"filePath":"49","messages":"50","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"51","usedDeprecatedRules":"42"},{"filePath":"52","messages":"53","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"54","usedDeprecatedRules":"42"},{"filePath":"55","messages":"56","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"57","usedDeprecatedRules":"42"},{"filePath":"58","messages":"59","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"42"},{"filePath":"60","messages":"61","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"62","usedDeprecatedRules":"42"},{"filePath":"63","messages":"64","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"42"},{"filePath":"65","messages":"66","errorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":"67","usedDeprecatedRules":"42"},{"filePath":"68","messages":"69","errorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":"70","usedDeprecatedRules":"42"},{"filePath":"71","messages":"72","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"42"},{"filePath":"73","messages":"74","errorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":"75","usedDeprecatedRules":"42"},{"filePath":"76","messages":"77","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"78","usedDeprecatedRules":"42"},{"filePath":"79","messages":"80","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"42"},{"filePath":"81","messages":"82","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"83","usedDeprecatedRules":"42"},{"filePath":"84","messages":"85","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"42"},{"filePath":"86","messages":"87","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\index.js",[],["88","89"],"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\App.jsx",[],"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\home\\Home.jsx",["90"],"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\login\\Login.jsx",[],"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\reportForm\\ReportForm.jsx",["91"],"import React, { useState } from 'react'\r\nimport \"./ReportForm.css\"\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport Assign from './assign/Assign'\r\n\r\nconst ReportForm = () => {\r\n return (\r\n <div className=\"reportForm-container\">\r\n <h2 className=\"reportissuePageText\">Report an issue</h2>\r\n <form action=\"/reportFormData\">\r\n <div className=\"row\">\r\n <div className=\"col-25\">\r\n <label for=\"fissueType\">Type of issue</label>\r\n </div>\r\n <div className=\"col-75\">\r\n <select id=\"fissueType\" className=\"issueType\">\r\n <option value=\"bug\">Bug</option>\r\n <option value=\"usabilityissue\">Usability error</option>\r\n <option value=\"other\">Other</option>\r\n </select>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-25\">\r\n <label for=\"fissueLocation\">Where did you encounter the issue?</label>\r\n </div>\r\n <div class=\"col-75\">\r\n <input type=\"text\" id=\"fissueLocation\" className=\"issueLocation\" ></input>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-25\">\r\n <label for=\"fissueDescription\">Describe the issue</label>\r\n </div>\r\n <div class=\"col-75\">\r\n <textarea id=\"fissueDescription\" className=\"issueDescription\"></textarea>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-25\">\r\n <label for=\"fissueStepsToTeproduce\">What steps did you take before the issue happened?</label>\r\n </div>\r\n <div class=\"col-75\">\r\n <textarea id=\"fissueStepsToTeproduce\" className=\"issueStepsToReproduce\"\r\n placeholder=\"List the steps that occurred before the issue happened:\r\n1.\r\n2.\r\n3.\r\nExpected Result:\r\nActual Result:\">\r\n </textarea>\r\n </div>\r\n </div>\r\n\r\n <div className=\"row\">\r\n <div className=\"col-25\">\r\n <label for=\"fissueSeverity\">Severity level</label>\r\n </div>\r\n <div className=\"col-75\">\r\n <select id=\"fissueSeverity\" className=\"issueSeverity\">\r\n <option value=\"cosmetic\">Cosmetic - should be corrected when time permits</option>\r\n <option value=\"serious\">Serious - should be corrected in the next release</option>\r\n <option value=\"critical\">Critical - should be corrected as soon as possible</option>\r\n </select>\r\n </div>\r\n </div>\r\n\r\n <div className=\"row\">\r\n <div className=\"col-25\">\r\n <label for=\"fissueTimeToCorrect\">Time to Correct</label>\r\n </div>\r\n <div className=\"col-75\">\r\n <select id=\"fissueSeverity\" className=\"issueTimeToCorrect\">\r\n <option value=\"lessThanTwoHours\">Less than 2 minutes</option>\r\n <option value=\"lessThanOneToTwoDays\">Less than 1 or 2 days</option>\r\n <option value=\"lessThanOneToTwoWeeks\">Less than 1 or 2 weeks</option>\r\n <option value=\"atLeastTwoWeeks\">More than 2 weeks</option>\r\n </select>\r\n </div>\r\n </div>\r\n\r\n <div className=\"row\">\r\n <div className=\"col-25\">\r\n <label for=\"fissueAssignToProject\">Assign to</label>\r\n </div>\r\n <div className=\"col-75\">\r\n {/*\r\n <select id=\"fissueAssignToProject\" className=\"issueAssignToProject\">\r\n <option value=\"lessThanTwoHours\">Henriks meme machine - ReactApp</option>\r\n </select>\r\n */}\r\n <Assign />\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"row\">\r\n <button className=\"formSubmitButton\" type=\"submit\">\r\n Submit \r\n <FontAwesomeIcon icon=\"arrow-right\"></FontAwesomeIcon>\r\n </button>\r\n </div>\r\n </form>\r\n </div >\r\n )\r\n}\r\n\r\nexport default ReportForm","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\project\\projectOverview\\ProjectOverview.jsx",["92","93"],"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} \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: 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=\"projectlist-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","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\team\\teamOverview\\TeamOverview.jsx",["94","95"],"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=\"teamlist-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=\"/teams/HenriksMemeMachine\" className=\"team-image-container\">\r\n <FontAwesomeIcon className=\"team-icon\" icon=\"dice-d6\"></FontAwesomeIcon>\r\n </NavLink>\r\n <NavLink to=\"/teams/HenriksMemeMachine\">Henriks meme machine - ReactApp \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: 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","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\project\\projectInfo\\ProjectInfo.jsx",[],"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\team\\teamInfo\\TeamInfo.jsx",["96"],"import React, { useRef, useState, useEffect } from 'react'\r\nimport \"./TeamInfo.css\"\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\n\r\nconst TeamInfo = () => {\r\n const dropdownRef = useRef(null);\r\n const [isActive, setIsActive] = useState(false);\r\n const onClick = () => setIsActive(!isActive);\r\n\r\n useEffect(() => {\r\n const pageClickEvent = (e) => {\r\n if (dropdownRef.current !== null && !dropdownRef.current.contains(e.target)) {\r\n setIsActive(!isActive);\r\n }\r\n };\r\n\r\n // If the item is active (ie open) then listen for clicks\r\n if (isActive) {\r\n window.addEventListener('click', pageClickEvent);\r\n }\r\n\r\n return () => {\r\n window.removeEventListener('click', pageClickEvent);\r\n }\r\n\r\n }, [isActive]);\r\n\r\n return (\r\n <div className=\"teamInformationPage-container\">\r\n <div className=\"teamInformationPage-content-header\">\r\n <div className=\"header-text\">\r\n <h2 className=\"teamInformationPage-title\">Henriks Meme machine > overview</h2>\r\n </div>\r\n <div className=\"header-notification-select-settings-button-container\">\r\n <div className=\"notification-button-container\">\r\n <button className={`notification-button ${isActive ? 'active' : 'inactive'}`} onClick={onClick} >\r\n <FontAwesomeIcon className=\"bell-icon\" icon=\"bell\"></FontAwesomeIcon>\r\n <FontAwesomeIcon className=\"down-arrow\" icon=\"angle-down\"></FontAwesomeIcon>\r\n </button>\r\n <div ref={dropdownRef} className={`user-dropDown-menu-content ${isActive ? 'active' : 'inactive'}`}>\r\n <ul>\r\n <li>\r\n <a>\r\n <FontAwesomeIcon icon=\"user\"></FontAwesomeIcon> Account\r\n <FontAwesomeIcon icon=\"chevron-right\" className=\"arrow-right-icon\"></FontAwesomeIcon>\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div className=\"settings-button-container\">\r\n <button>\r\n <FontAwesomeIcon icon=\"cog\"></FontAwesomeIcon>\r\n Settings\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"teamInformationPage-content-container\">\r\n {/*TODO: components goes here */}\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default TeamInfo","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\navbar\\Navbar.jsx",[],"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\reportForm\\assign\\Assign.jsx",["97","98","99","100","101","102"],"import React, { useState } from 'react'\r\nimport \"./Assign.css\"\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\n\r\nconst Assign = () => {\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\r\n const rootDirectoryObjects = [\r\n { id: \"Personal projects\" },\r\n { id: \"Shared projects\" }\r\n ]\r\n\r\n const DirectoryItems = () => {\r\n return (\r\n <div className=\"multi-level\">\r\n <div className=\"item\">\r\n <input type=\"checkbox\" id=\"A\" />\r\n <label for=\"A\">\r\n <FontAwesomeIcon icon=\"folder\" className=\"folder-icon\"></FontAwesomeIcon>\r\n <a> {rootDirectoryObjects[0].id} </a>\r\n <FontAwesomeIcon icon=\"chevron-right\" className=\"arrow-right-icon\"></FontAwesomeIcon>\r\n </label>\r\n\r\n <ul>\r\n {personalProjects.map((elements, index) => (\r\n <li className=\"personalProjectsItem\">\r\n <input type=\"checkbox\" id={`A-${index}`} />\r\n <label for={`A-${index}`}>\r\n <FontAwesomeIcon icon=\"project-diagram\" className=\"project-icon\"></FontAwesomeIcon>\r\n <a> {personalProjects[index].id} </a>\r\n </label>\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n\r\n <div className=\"item\">\r\n <input type=\"checkbox\" id=\"B\" />\r\n <label for=\"B\">\r\n <FontAwesomeIcon icon=\"folder\" className=\"folder-icon\"></FontAwesomeIcon>\r\n <a> {rootDirectoryObjects[1].id} </a>\r\n <FontAwesomeIcon icon=\"chevron-right\" className=\"arrow-right-icon\"></FontAwesomeIcon>\r\n </label>\r\n\r\n <ul>\r\n {sharedProjects.map((elements, index) => (\r\n <li><div className=\"sub-item\">\r\n <input type=\"checkbox\" id={`B-${index}`} />\r\n <label for={`B-${index}`}>\r\n <FontAwesomeIcon icon=\"folder\" className=\"folder-icon\"></FontAwesomeIcon>\r\n <a> {sharedProjects[index].id} </a>\r\n <FontAwesomeIcon icon=\"chevron-right\" className=\"arrow-right-icon\"></FontAwesomeIcon>\r\n </label>\r\n\r\n <ul>\r\n {sharedProjects[index].teams.map(team => (\r\n <li><div className=\"team-item\">\r\n <input type=\"checkbox\" id={`team-${team.name}`} />\r\n <label for={`team-${team.name}`}>\r\n <FontAwesomeIcon icon=\"users\" className=\"users-icon\"></FontAwesomeIcon>\r\n <a> {team.name} </a>\r\n </label>\r\n </div>\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n )\r\n }\r\n\r\n return (\r\n <div className=\"assignSelectContainer\">\r\n <DirectoryItems />\r\n </div >\r\n )\r\n}\r\n\r\nexport default Assign","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\home\\updates\\Updates.jsx",["103","104","105","106"],"import React from 'react'\r\nimport \"./Updates.css\"\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\n\r\nconst Updates = () => {\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 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 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","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\project\\projectInfo\\activityChart\\ActivityChart.jsx",[],"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\project\\projectInfo\\activitiesDisplay\\ActivitiesDisplay.jsx",["107","108","109","110"],"import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport React from 'react'\r\nimport \"./ActivitiesDisplay.css\"\r\n\r\nconst ActivitiesDisplay = () => {\r\n return (\r\n <div className=\"activity-new-issues-display-container\">\r\n\r\n <div className=\"new-issues-display-container\">\r\n <div className=\"new-issues-display-header\">\r\n <p>\r\n <FontAwesomeIcon icon=\"inbox\"></FontAwesomeIcon>\r\n New issue reports\r\n </p>\r\n </div>\r\n <div className=\"new-issues-display-content\">\r\n <div className=\"new-issue-report-entry\">\r\n <div className=\"entry-text\">\r\n <div className=\"upper-row\">\r\n <a>\r\n [Severity] [type]\r\n </a>\r\n </div>\r\n <div className=\"bottom-row\">\r\n <a>\r\n [project] [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=\"activity-display-container\">\r\n <div className=\"activity-display-header\">\r\n <p>\r\n <FontAwesomeIcon icon=\"sticky-note\"></FontAwesomeIcon>\r\n Recent Team activities\r\n </p>\r\n </div>\r\n <div className=\"activity-display-content\">\r\n <div className=\"new-issue-report-entry\">\r\n <div className=\"entry-text\">\r\n <div className=\"upper-row\">\r\n <a>\r\n [Name] [action]\r\n </a>\r\n </div>\r\n <div className=\"bottom-row\">\r\n <a>\r\n [project] [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 ActivitiesDisplay","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\navbar\\logo\\Logo.jsx",["111","112"],"import React from 'react'\r\nimport { NavLink } from 'react-router-dom'\r\nimport \"./Logo.css\"\r\nimport logo_picture from \"../../../images/bird-logo.jpg\"\r\nimport logo_text from \"../../../images/logo-text.jpg\"\r\n\r\nconst Logo = () => {\r\n return (\r\n <h1 className=\"title\">\r\n <span className=\"title-icon\">\r\n <NavLink to=\"/home\" id=\"logo\">\r\n <img src={logo_picture} width=\"24\" height=\"24\"></img>\r\n <img src={logo_text} width=\"48\" height=\"24\"></img>\r\n </NavLink>\r\n </span>\r\n </h1>\r\n )\r\n}\r\n\r\nexport default Logo","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\navbar\\navigationLinks\\NavLinks.jsx",[],"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\navbar\\dropdownMenu\\NavbarDropdownMenu.jsx",["113","114"],"import React, { useRef, useState, useEffect } from 'react'\r\nimport { useOktaAuth } from '@okta/okta-react';\r\nimport \"./NavbarDropdownMenu.css\"\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\n\r\n\r\nconst DropdownMenu = () => {\r\n const { authState, oktaAuth } = useOktaAuth();\r\n\r\n const dropdownRef = useRef(null);\r\n const [isActive, setIsActive] = useState(false);\r\n const onClick = () => setIsActive(!isActive);\r\n\r\n useEffect(() => {\r\n const pageClickEvent = (e) => {\r\n if (dropdownRef.current !== null && !dropdownRef.current.contains(e.target)) {\r\n setIsActive(!isActive);\r\n }\r\n };\r\n\r\n // If the item is active (ie open) then listen for clicks\r\n if (isActive) {\r\n window.addEventListener('click', pageClickEvent);\r\n }\r\n\r\n return () => {\r\n window.removeEventListener('click', pageClickEvent);\r\n }\r\n\r\n }, [isActive]);\r\n\r\n const logout = () => oktaAuth.signOut()\r\n\r\n return (\r\n <li>\r\n <div className=\"navbar-user-dropdown-container\">\r\n <button className={`user-dropdown-menu-toggle-button ${isActive ? 'active' : 'inactive'}`} onClick={onClick} >\r\n <FontAwesomeIcon className=\"user-icon\" icon=\"user-circle\"></FontAwesomeIcon>\r\n <FontAwesomeIcon className=\"down-arrow\" icon=\"angle-down\"></FontAwesomeIcon>\r\n </button>\r\n {/* show submenu?*/}\r\n <div ref={dropdownRef} className={`user-dropDown-menu-content ${isActive ? 'active' : 'inactive'}`}>\r\n <ul>\r\n <li>\r\n <a href=\"./\">\r\n <FontAwesomeIcon icon=\"user\"></FontAwesomeIcon> Account\r\n <FontAwesomeIcon icon=\"chevron-right\" className=\"arrow-right-icon\"></FontAwesomeIcon>\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"./\">\r\n <FontAwesomeIcon icon=\"envelope\"></FontAwesomeIcon> Messages\r\n <FontAwesomeIcon icon=\"chevron-right\" className=\"arrow-right-icon\"></FontAwesomeIcon>\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"./\">\r\n <FontAwesomeIcon icon=\"sliders-h\"></FontAwesomeIcon> Preferences\r\n <FontAwesomeIcon icon=\"chevron-right\" className=\"arrow-right-icon\"></FontAwesomeIcon>\r\n </a>\r\n </li>\r\n <li>\r\n <a onClick={logout}>\r\n <FontAwesomeIcon icon=\"sign-out-alt\"></FontAwesomeIcon> Log out\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </li >\r\n )\r\n}\r\n\r\nexport default DropdownMenu","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\navbar\\searchbar\\Searchbar.jsx",[],"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\config.js",["115"],{"ruleId":"116","replacedBy":"117"},{"ruleId":"118","replacedBy":"119"},{"ruleId":"120","severity":1,"message":"121","line":9,"column":11,"nodeType":"122","messageId":"123","endLine":9,"endColumn":20},{"ruleId":"120","severity":1,"message":"124","line":1,"column":17,"nodeType":"122","messageId":"123","endLine":1,"endColumn":25},{"ruleId":"125","severity":1,"message":"126","line":75,"column":11,"nodeType":"127","endLine":75,"endColumn":123},{"ruleId":"125","severity":1,"message":"126","line":76,"column":11,"nodeType":"127","endLine":76,"endColumn":127},{"ruleId":"120","severity":1,"message":"128","line":8,"column":9,"nodeType":"122","messageId":"123","endLine":8,"endColumn":25},{"ruleId":"120","severity":1,"message":"129","line":13,"column":9,"nodeType":"122","messageId":"123","endLine":13,"endColumn":23},{"ruleId":"125","severity":1,"message":"126","line":43,"column":19,"nodeType":"127","endLine":43,"endColumn":22},{"ruleId":"120","severity":1,"message":"124","line":1,"column":17,"nodeType":"122","messageId":"123","endLine":1,"endColumn":25},{"ruleId":"125","severity":1,"message":"126","line":29,"column":13,"nodeType":"127","endLine":29,"endColumn":16},{"ruleId":"125","severity":1,"message":"126","line":39,"column":19,"nodeType":"127","endLine":39,"endColumn":22},{"ruleId":"125","severity":1,"message":"126","line":50,"column":13,"nodeType":"127","endLine":50,"endColumn":16},{"ruleId":"125","severity":1,"message":"126","line":60,"column":19,"nodeType":"127","endLine":60,"endColumn":22},{"ruleId":"125","severity":1,"message":"126","line":70,"column":25,"nodeType":"127","endLine":70,"endColumn":28},{"ruleId":"125","severity":1,"message":"126","line":20,"column":17,"nodeType":"127","endLine":20,"endColumn":20},{"ruleId":"125","severity":1,"message":"126","line":25,"column":17,"nodeType":"127","endLine":25,"endColumn":20},{"ruleId":"125","severity":1,"message":"126","line":48,"column":17,"nodeType":"127","endLine":48,"endColumn":20},{"ruleId":"125","severity":1,"message":"126","line":53,"column":17,"nodeType":"127","endLine":53,"endColumn":20},{"ruleId":"125","severity":1,"message":"126","line":20,"column":17,"nodeType":"127","endLine":20,"endColumn":20},{"ruleId":"125","severity":1,"message":"126","line":25,"column":17,"nodeType":"127","endLine":25,"endColumn":20},{"ruleId":"125","severity":1,"message":"126","line":48,"column":17,"nodeType":"127","endLine":48,"endColumn":20},{"ruleId":"125","severity":1,"message":"126","line":53,"column":17,"nodeType":"127","endLine":53,"endColumn":20},{"ruleId":"130","severity":1,"message":"131","line":12,"column":11,"nodeType":"127","endLine":12,"endColumn":58},{"ruleId":"130","severity":1,"message":"131","line":13,"column":11,"nodeType":"127","endLine":13,"endColumn":55},{"ruleId":"120","severity":1,"message":"121","line":8,"column":11,"nodeType":"122","messageId":"123","endLine":8,"endColumn":20},{"ruleId":"125","severity":1,"message":"126","line":63,"column":15,"nodeType":"127","endLine":63,"endColumn":35},{"ruleId":"132","severity":1,"message":"133","line":1,"column":1,"nodeType":"134","endLine":9,"endColumn":3},"no-native-reassign",["135"],"no-negated-in-lhs",["136"],"no-unused-vars","'authState' is assigned a value but never used.","Identifier","unusedVar","'useState' is defined but never used.","jsx-a11y/anchor-is-valid","The href attribute is required for an anchor to be keyboard accessible. Provide a valid, navigable address as the href value. If you cannot provide an href, but still need the element to resemble a link, use a button and change it with appropriate styles. Learn more: https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/anchor-is-valid.md","JSXOpeningElement","'personalProjects' is assigned a value but never used.","'sharedProjects' is assigned a value but never used.","jsx-a11y/alt-text","img elements must have an alt prop, either with meaningful text, or an empty string for decorative images.","import/no-anonymous-default-export","Assign object to a variable before exporting as module default","ExportDefaultDeclaration","no-global-assign","no-unsafe-negation"]
\ No newline at end of file
[{"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\index.js":"1","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\App.jsx":"2","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\home\\Home.jsx":"3","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\login\\Login.jsx":"4","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\reportForm\\ReportForm.jsx":"5","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\project\\projectOverview\\ProjectOverview.jsx":"6","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\team\\teamOverview\\TeamOverview.jsx":"7","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\project\\projectInfo\\ProjectInfo.jsx":"8","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\team\\teamInfo\\TeamInfo.jsx":"9","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\navbar\\Navbar.jsx":"10","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\reportForm\\assign\\Assign.jsx":"11","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\home\\updates\\Updates.jsx":"12","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\project\\projectInfo\\activityChart\\ActivityChart.jsx":"13","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\project\\projectInfo\\activitiesDisplay\\ActivitiesDisplay.jsx":"14","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\navbar\\logo\\Logo.jsx":"15","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\navbar\\navigationLinks\\NavLinks.jsx":"16","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\navbar\\dropdownMenu\\NavbarDropdownMenu.jsx":"17","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\navbar\\searchbar\\Searchbar.jsx":"18","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\config.js":"19"},{"size":285,"mtime":1628516023915,"results":"20","hashOfConfig":"21"},{"size":1914,"mtime":1628537262917,"results":"22","hashOfConfig":"21"},{"size":1254,"mtime":1628537017701,"results":"23","hashOfConfig":"21"},{"size":888,"mtime":1628524767691,"results":"24","hashOfConfig":"21"},{"size":3965,"mtime":1628512998060,"results":"25","hashOfConfig":"21"},{"size":3659,"mtime":1628537266248,"results":"26","hashOfConfig":"21"},{"size":2690,"mtime":1628537205369,"results":"27","hashOfConfig":"21"},{"size":1078,"mtime":1628512968530,"results":"28","hashOfConfig":"21"},{"size":2381,"mtime":1628537058201,"results":"29","hashOfConfig":"21"},{"size":1477,"mtime":1628522532221,"results":"30","hashOfConfig":"21"},{"size":3264,"mtime":1628535700010,"results":"31","hashOfConfig":"21"},{"size":2099,"mtime":1628421638240,"results":"32","hashOfConfig":"21"},{"size":3570,"mtime":1628430832688,"results":"33","hashOfConfig":"21"},{"size":2096,"mtime":1628430812599,"results":"34","hashOfConfig":"21"},{"size":548,"mtime":1628421916010,"results":"35","hashOfConfig":"21"},{"size":697,"mtime":1628430740299,"results":"36","hashOfConfig":"21"},{"size":2600,"mtime":1628519979384,"results":"37","hashOfConfig":"21"},{"size":470,"mtime":1628430752153,"results":"38","hashOfConfig":"21"},{"size":259,"mtime":1628517609313,"results":"39","hashOfConfig":"21"},{"filePath":"40","messages":"41","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"42"},"iyhzrm",{"filePath":"43","messages":"44","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"45","messages":"46","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"47","messages":"48","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"42"},{"filePath":"49","messages":"50","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"51","usedDeprecatedRules":"42"},{"filePath":"52","messages":"53","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"54","messages":"55","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"56","messages":"57","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"42"},{"filePath":"58","messages":"59","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"60","messages":"61","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"42"},{"filePath":"62","messages":"63","errorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"64","messages":"65","errorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":"66","usedDeprecatedRules":"42"},{"filePath":"67","messages":"68","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"42"},{"filePath":"69","messages":"70","errorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":"71","usedDeprecatedRules":"42"},{"filePath":"72","messages":"73","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"74","usedDeprecatedRules":"42"},{"filePath":"75","messages":"76","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"42"},{"filePath":"77","messages":"78","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"79","usedDeprecatedRules":"42"},{"filePath":"80","messages":"81","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"42"},{"filePath":"82","messages":"83","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\index.js",[],["84","85"],"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\App.jsx",[],"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\home\\Home.jsx",["86"],"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\login\\Login.jsx",[],"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\reportForm\\ReportForm.jsx",["87"],"import React, { useState } from 'react'\r\nimport \"./ReportForm.css\"\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport Assign from './assign/Assign'\r\n\r\nconst ReportForm = () => {\r\n return (\r\n <div className=\"reportForm-container\">\r\n <h2 className=\"reportissuePageText\">Report an issue</h2>\r\n <form action=\"/reportFormData\">\r\n <div className=\"row\">\r\n <div className=\"col-25\">\r\n <label for=\"fissueType\">Type of issue</label>\r\n </div>\r\n <div className=\"col-75\">\r\n <select id=\"fissueType\" className=\"issueType\">\r\n <option value=\"bug\">Bug</option>\r\n <option value=\"usabilityissue\">Usability error</option>\r\n <option value=\"other\">Other</option>\r\n </select>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-25\">\r\n <label for=\"fissueLocation\">Where did you encounter the issue?</label>\r\n </div>\r\n <div class=\"col-75\">\r\n <input type=\"text\" id=\"fissueLocation\" className=\"issueLocation\" ></input>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-25\">\r\n <label for=\"fissueDescription\">Describe the issue</label>\r\n </div>\r\n <div class=\"col-75\">\r\n <textarea id=\"fissueDescription\" className=\"issueDescription\"></textarea>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-25\">\r\n <label for=\"fissueStepsToTeproduce\">What steps did you take before the issue happened?</label>\r\n </div>\r\n <div class=\"col-75\">\r\n <textarea id=\"fissueStepsToTeproduce\" className=\"issueStepsToReproduce\"\r\n placeholder=\"List the steps that occurred before the issue happened:\r\n1.\r\n2.\r\n3.\r\nExpected Result:\r\nActual Result:\">\r\n </textarea>\r\n </div>\r\n </div>\r\n\r\n <div className=\"row\">\r\n <div className=\"col-25\">\r\n <label for=\"fissueSeverity\">Severity level</label>\r\n </div>\r\n <div className=\"col-75\">\r\n <select id=\"fissueSeverity\" className=\"issueSeverity\">\r\n <option value=\"cosmetic\">Cosmetic - should be corrected when time permits</option>\r\n <option value=\"serious\">Serious - should be corrected in the next release</option>\r\n <option value=\"critical\">Critical - should be corrected as soon as possible</option>\r\n </select>\r\n </div>\r\n </div>\r\n\r\n <div className=\"row\">\r\n <div className=\"col-25\">\r\n <label for=\"fissueTimeToCorrect\">Time to Correct</label>\r\n </div>\r\n <div className=\"col-75\">\r\n <select id=\"fissueSeverity\" className=\"issueTimeToCorrect\">\r\n <option value=\"lessThanTwoHours\">Less than 2 minutes</option>\r\n <option value=\"lessThanOneToTwoDays\">Less than 1 or 2 days</option>\r\n <option value=\"lessThanOneToTwoWeeks\">Less than 1 or 2 weeks</option>\r\n <option value=\"atLeastTwoWeeks\">More than 2 weeks</option>\r\n </select>\r\n </div>\r\n </div>\r\n\r\n <div className=\"row\">\r\n <div className=\"col-25\">\r\n <label for=\"fissueAssignToProject\">Assign to</label>\r\n </div>\r\n <div className=\"col-75\">\r\n {/*\r\n <select id=\"fissueAssignToProject\" className=\"issueAssignToProject\">\r\n <option value=\"lessThanTwoHours\">Henriks meme machine - ReactApp</option>\r\n </select>\r\n */}\r\n <Assign />\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"row\">\r\n <button className=\"formSubmitButton\" type=\"submit\">\r\n Submit \r\n <FontAwesomeIcon icon=\"arrow-right\"></FontAwesomeIcon>\r\n </button>\r\n </div>\r\n </form>\r\n </div >\r\n )\r\n}\r\n\r\nexport default ReportForm","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\project\\projectOverview\\ProjectOverview.jsx",["88","89"],"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\team\\teamOverview\\TeamOverview.jsx",["90","91"],"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\project\\projectInfo\\ProjectInfo.jsx",[],"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\team\\teamInfo\\TeamInfo.jsx",["92"],"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\navbar\\Navbar.jsx",[],"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\reportForm\\assign\\Assign.jsx",["93","94","95","96","97","98"],"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\home\\updates\\Updates.jsx",["99","100","101","102"],"import React from 'react'\r\nimport \"./Updates.css\"\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\n\r\nconst Updates = () => {\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 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 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","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\project\\projectInfo\\activityChart\\ActivityChart.jsx",[],"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\project\\projectInfo\\activitiesDisplay\\ActivitiesDisplay.jsx",["103","104","105","106"],"import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport React from 'react'\r\nimport \"./ActivitiesDisplay.css\"\r\n\r\nconst ActivitiesDisplay = () => {\r\n return (\r\n <div className=\"activity-new-issues-display-container\">\r\n\r\n <div className=\"new-issues-display-container\">\r\n <div className=\"new-issues-display-header\">\r\n <p>\r\n <FontAwesomeIcon icon=\"inbox\"></FontAwesomeIcon>\r\n New issue reports\r\n </p>\r\n </div>\r\n <div className=\"new-issues-display-content\">\r\n <div className=\"new-issue-report-entry\">\r\n <div className=\"entry-text\">\r\n <div className=\"upper-row\">\r\n <a>\r\n [Severity] [type]\r\n </a>\r\n </div>\r\n <div className=\"bottom-row\">\r\n <a>\r\n [project] [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=\"activity-display-container\">\r\n <div className=\"activity-display-header\">\r\n <p>\r\n <FontAwesomeIcon icon=\"sticky-note\"></FontAwesomeIcon>\r\n Recent Team activities\r\n </p>\r\n </div>\r\n <div className=\"activity-display-content\">\r\n <div className=\"new-issue-report-entry\">\r\n <div className=\"entry-text\">\r\n <div className=\"upper-row\">\r\n <a>\r\n [Name] [action]\r\n </a>\r\n </div>\r\n <div className=\"bottom-row\">\r\n <a>\r\n [project] [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 ActivitiesDisplay","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\navbar\\logo\\Logo.jsx",["107","108"],"import React from 'react'\r\nimport { NavLink } from 'react-router-dom'\r\nimport \"./Logo.css\"\r\nimport logo_picture from \"../../../images/bird-logo.jpg\"\r\nimport logo_text from \"../../../images/logo-text.jpg\"\r\n\r\nconst Logo = () => {\r\n return (\r\n <h1 className=\"title\">\r\n <span className=\"title-icon\">\r\n <NavLink to=\"/home\" id=\"logo\">\r\n <img src={logo_picture} width=\"24\" height=\"24\"></img>\r\n <img src={logo_text} width=\"48\" height=\"24\"></img>\r\n </NavLink>\r\n </span>\r\n </h1>\r\n )\r\n}\r\n\r\nexport default Logo","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\navbar\\navigationLinks\\NavLinks.jsx",[],"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\navbar\\dropdownMenu\\NavbarDropdownMenu.jsx",["109","110"],"import React, { useRef, useState, useEffect } from 'react'\r\nimport { useOktaAuth } from '@okta/okta-react';\r\nimport \"./NavbarDropdownMenu.css\"\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\n\r\n\r\nconst DropdownMenu = () => {\r\n const { authState, oktaAuth } = useOktaAuth();\r\n\r\n const dropdownRef = useRef(null);\r\n const [isActive, setIsActive] = useState(false);\r\n const onClick = () => setIsActive(!isActive);\r\n\r\n useEffect(() => {\r\n const pageClickEvent = (e) => {\r\n if (dropdownRef.current !== null && !dropdownRef.current.contains(e.target)) {\r\n setIsActive(!isActive);\r\n }\r\n };\r\n\r\n // If the item is active (ie open) then listen for clicks\r\n if (isActive) {\r\n window.addEventListener('click', pageClickEvent);\r\n }\r\n\r\n return () => {\r\n window.removeEventListener('click', pageClickEvent);\r\n }\r\n\r\n }, [isActive]);\r\n\r\n const logout = () => oktaAuth.signOut()\r\n\r\n return (\r\n <li>\r\n <div className=\"navbar-user-dropdown-container\">\r\n <button className={`user-dropdown-menu-toggle-button ${isActive ? 'active' : 'inactive'}`} onClick={onClick} >\r\n <FontAwesomeIcon className=\"user-icon\" icon=\"user-circle\"></FontAwesomeIcon>\r\n <FontAwesomeIcon className=\"down-arrow\" icon=\"angle-down\"></FontAwesomeIcon>\r\n </button>\r\n {/* show submenu?*/}\r\n <div ref={dropdownRef} className={`user-dropDown-menu-content ${isActive ? 'active' : 'inactive'}`}>\r\n <ul>\r\n <li>\r\n <a href=\"./\">\r\n <FontAwesomeIcon icon=\"user\"></FontAwesomeIcon> Account\r\n <FontAwesomeIcon icon=\"chevron-right\" className=\"arrow-right-icon\"></FontAwesomeIcon>\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"./\">\r\n <FontAwesomeIcon icon=\"envelope\"></FontAwesomeIcon> Messages\r\n <FontAwesomeIcon icon=\"chevron-right\" className=\"arrow-right-icon\"></FontAwesomeIcon>\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"./\">\r\n <FontAwesomeIcon icon=\"sliders-h\"></FontAwesomeIcon> Preferences\r\n <FontAwesomeIcon icon=\"chevron-right\" className=\"arrow-right-icon\"></FontAwesomeIcon>\r\n </a>\r\n </li>\r\n <li>\r\n <a onClick={logout}>\r\n <FontAwesomeIcon icon=\"sign-out-alt\"></FontAwesomeIcon> Log out\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </li >\r\n )\r\n}\r\n\r\nexport default DropdownMenu","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\navbar\\searchbar\\Searchbar.jsx",[],"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\config.js",["111"],{"ruleId":"112","replacedBy":"113"},{"ruleId":"114","replacedBy":"115"},{"ruleId":"116","severity":1,"message":"117","line":13,"column":6,"nodeType":"118","endLine":13,"endColumn":8,"suggestions":"119"},{"ruleId":"120","severity":1,"message":"121","line":1,"column":17,"nodeType":"122","messageId":"123","endLine":1,"endColumn":25},{"ruleId":"124","severity":1,"message":"125","line":75,"column":11,"nodeType":"126","endLine":75,"endColumn":123},{"ruleId":"124","severity":1,"message":"125","line":76,"column":11,"nodeType":"126","endLine":76,"endColumn":127},{"ruleId":"120","severity":1,"message":"127","line":8,"column":9,"nodeType":"122","messageId":"123","endLine":8,"endColumn":25},{"ruleId":"120","severity":1,"message":"128","line":13,"column":9,"nodeType":"122","messageId":"123","endLine":13,"endColumn":23},{"ruleId":"124","severity":1,"message":"125","line":43,"column":19,"nodeType":"126","endLine":43,"endColumn":22},{"ruleId":"120","severity":1,"message":"121","line":1,"column":17,"nodeType":"122","messageId":"123","endLine":1,"endColumn":25},{"ruleId":"124","severity":1,"message":"125","line":29,"column":13,"nodeType":"126","endLine":29,"endColumn":16},{"ruleId":"124","severity":1,"message":"125","line":39,"column":19,"nodeType":"126","endLine":39,"endColumn":22},{"ruleId":"124","severity":1,"message":"125","line":50,"column":13,"nodeType":"126","endLine":50,"endColumn":16},{"ruleId":"124","severity":1,"message":"125","line":60,"column":19,"nodeType":"126","endLine":60,"endColumn":22},{"ruleId":"124","severity":1,"message":"125","line":70,"column":25,"nodeType":"126","endLine":70,"endColumn":28},{"ruleId":"124","severity":1,"message":"125","line":20,"column":17,"nodeType":"126","endLine":20,"endColumn":20},{"ruleId":"124","severity":1,"message":"125","line":25,"column":17,"nodeType":"126","endLine":25,"endColumn":20},{"ruleId":"124","severity":1,"message":"125","line":48,"column":17,"nodeType":"126","endLine":48,"endColumn":20},{"ruleId":"124","severity":1,"message":"125","line":53,"column":17,"nodeType":"126","endLine":53,"endColumn":20},{"ruleId":"124","severity":1,"message":"125","line":20,"column":17,"nodeType":"126","endLine":20,"endColumn":20},{"ruleId":"124","severity":1,"message":"125","line":25,"column":17,"nodeType":"126","endLine":25,"endColumn":20},{"ruleId":"124","severity":1,"message":"125","line":48,"column":17,"nodeType":"126","endLine":48,"endColumn":20},{"ruleId":"124","severity":1,"message":"125","line":53,"column":17,"nodeType":"126","endLine":53,"endColumn":20},{"ruleId":"129","severity":1,"message":"130","line":12,"column":11,"nodeType":"126","endLine":12,"endColumn":58},{"ruleId":"129","severity":1,"message":"130","line":13,"column":11,"nodeType":"126","endLine":13,"endColumn":55},{"ruleId":"120","severity":1,"message":"131","line":8,"column":11,"nodeType":"122","messageId":"123","endLine":8,"endColumn":20},{"ruleId":"124","severity":1,"message":"125","line":63,"column":15,"nodeType":"126","endLine":63,"endColumn":35},{"ruleId":"132","severity":1,"message":"133","line":1,"column":1,"nodeType":"134","endLine":9,"endColumn":3},"no-native-reassign",["135"],"no-negated-in-lhs",["136"],"react-hooks/exhaustive-deps","React Hook useEffect has a missing dependency: 'idToken'. Either include it or remove the dependency array.","ArrayExpression",["137"],"no-unused-vars","'useState' is defined but never used.","Identifier","unusedVar","jsx-a11y/anchor-is-valid","The href attribute is required for an anchor to be keyboard accessible. Provide a valid, navigable address as the href value. If you cannot provide an href, but still need the element to resemble a link, use a button and change it with appropriate styles. Learn more: https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/anchor-is-valid.md","JSXOpeningElement","'personalProjects' is assigned a value but never used.","'sharedProjects' is assigned a value but never used.","jsx-a11y/alt-text","img elements must have an alt prop, either with meaningful text, or an empty string for decorative images.","'authState' is assigned a value but never used.","import/no-anonymous-default-export","Assign object to a variable before exporting as module default","ExportDefaultDeclaration","no-global-assign","no-unsafe-negation",{"desc":"138","fix":"139"},"Update the dependencies array to be: [idToken]",{"range":"140","text":"141"},[442,444],"[idToken]"]
\ No newline at end of file
client/node_modules/.cache/babel-loader/005f83078a5d6c94d1841ebd284b9861.json
0 → 100644
View file @
a49a34cc
{
"ast"
:
null
,
"code"
:
"var _jsxFileName =
\"
C:
\\\\
Users
\\\\
Bruger
\\\\
Desktop
\\\\
Web-projects
\\\\
pipit
\\\\
client
\\\\
src
\\\\
components
\\\\
home
\\\\
Home.jsx
\"
,
\n
_s = $RefreshSig$();
\n\n
import { useOktaAuth } from
\"
@okta/okta-react
\"
;
\n
import React, { useState, useEffect } from 'react';
\n
import { NavLink } from 'react-router-dom';
\n
import
\"
./Home.css
\"
;
\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
\n
import Updates from './updates/Updates';
\n
import { jsxDEV as _jsxDEV } from
\"
react/jsx-dev-runtime
\"
;
\n\n
const Home = () => {
\n
_s();
\n\n
const {
\n
authState,
\n
oktaAuth
\n
} = useOktaAuth();
\n
const [userInfo, setUserInfo] = useState(null);
\n
useEffect(() => {
\n
oktaAuth.token.getUserInfo().then(info => {
\n
setUserInfo(info);
\n
});
\n
});
\n\n
if (userInfo) {
\n
return /*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
homepage-container
\"
,
\n
children: [/*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
content-header
\"
,
\n
children: [/*#__PURE__*/_jsxDEV(
\"
h2
\"
, {
\n
className:
\"
welcome-text
\"
,
\n
children: [
\"
Welcome
\"
, userInfo.given_name,
\"
!
\"
]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 22,
\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: 25,
\n
columnNumber: 15
\n
}, this),
\"\\
xA0
\\
xA0Report issues
\"
]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 24,
\n
columnNumber: 13
\n
}, this)
\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 23,
\n
columnNumber: 11
\n
}, this)]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 21,
\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: 31,
\n
columnNumber: 11
\n
}, this)
\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 30,
\n
columnNumber: 9
\n
}, this)]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 20,
\n
columnNumber: 7
\n
}, this);
\n
} else {
\n
return /*#__PURE__*/_jsxDEV(
\"
h1
\"
, {
\n
children:
\"
Loading...
\"\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 39,
\n
columnNumber: 7
\n
}, this);
\n
}
\n
};
\n\n
_s(Home,
\"
/7FunoA1ejJNU8uKGTy1GZFqU2I=
\"
, false, function () {
\n
return [useOktaAuth];
\n
});
\n\n
_c = Home;
\n
export default Home;
\n\n
var _c;
\n\n
$RefreshReg$(_c,
\"
Home
\"
);"
,
"map"
:{
"version"
:
3
,
"sources"
:[
"C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/home/Home.jsx"
],
"names"
:[
"useOktaAuth"
,
"React"
,
"useState"
,
"useEffect"
,
"NavLink"
,
"FontAwesomeIcon"
,
"Updates"
,
"Home"
,
"authState"
,
"oktaAuth"
,
"userInfo"
,
"setUserInfo"
,
"token"
,
"getUserInfo"
,
"then"
,
"info"
,
"given_name"
],
"mappings"
:
";;;AAAA,SAASA,WAAT,QAA4B,kBAA5B;AACA,OAAOC,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;;;AAEA,MAAMC,IAAI,GAAG,MAAM;AAAA;;AACjB,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA;AAAb,MAA0BT,WAAW,EAA3C;AACA,QAAM,CAACU,QAAD,EAAWC,WAAX,IAA0BT,QAAQ,CAAC,IAAD,CAAxC;AAEAC,EAAAA,SAAS,CAAC,MAAM;AACdM,IAAAA,QAAQ,CAACG,KAAT,CAAeC,WAAf,GAA6BC,IAA7B,CAAkCC,IAAI,IAAI;AACxCJ,MAAAA,WAAW,CAACI,IAAD,CAAX;AACD,KAFD;AAGD,GAJQ,CAAT;;AAMA,MAAIL,QAAJ,EAAc;AACZ,wBACE;AAAK,MAAA,SAAS,EAAC,oBAAf;AAAA,8BACE;AAAK,QAAA,SAAS,EAAC,gBAAf;AAAA,gCACE;AAAI,UAAA,SAAS,EAAC,cAAd;AAAA,iCAAsCA,QAAQ,CAACM,UAA/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,wBACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YADF;AAGD;AAGF,CApCD;;GAAMT,I;UAC4BP,W;;;KAD5BO,I;AAsCN,eAAeA,IAAf"
,
"sourcesContent"
:[
"import { useOktaAuth } from
\"
@okta/okta-react
\"
;
\r\n
import React, { useState, useEffect } from 'react'
\r\n
import { NavLink } from 'react-router-dom'
\r\n
import
\"
./Home.css
\"\r\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
\r\n
import Updates from './updates/Updates'
\r\n\r\n
const Home = () => {
\r\n
const { authState, oktaAuth } = useOktaAuth();
\r\n
const [userInfo, setUserInfo] = useState(null);
\r\n\r\n
useEffect(() => {
\r\n
oktaAuth.token.getUserInfo().then(info => {
\r\n
setUserInfo(info);
\r\n
});
\r\n
})
\r\n\r\n
if (userInfo) {
\r\n
return (
\r\n
<div className=
\"
homepage-container
\"
>
\r\n
<div className=
\"
content-header
\"
>
\r\n
<h2 className=
\"
welcome-text
\"
>Welcome {userInfo.given_name}!</h2>
\r\n
<NavLink to=
\"
/reportissue
\"
>
\r\n
<button className=
\"
report-new-issue-button
\"
>
\r\n
<FontAwesomeIcon icon=
\"
exclamation-triangle
\"
></FontAwesomeIcon>
\r\n
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
return (
\r\n
<h1>Loading...</h1>
\r\n
)
\r\n
}
\r\n\r\n\r\n
}
\r\n\r\n
export default Home"
]},
"metadata"
:{},
"sourceType"
:
"module"
}
\ No newline at end of file
client/node_modules/.cache/babel-loader/078c95498ea15ffad8ec36d733f4e849.json
0 → 100644
View file @
a49a34cc
{
"ast"
:
null
,
"code"
:
"var _jsxFileName =
\"
C:
\\\\
Users
\\\\
Bruger
\\\\
Desktop
\\\\
Web-projects
\\\\
pipit
\\\\
client
\\\\
src
\\\\
components
\\\\
home
\\\\
Home.jsx
\"
,
\n
_s = $RefreshSig$();
\n\n
import { useOktaAuth } from
\"
@okta/okta-react
\"
;
\n
import React, { useState, useEffect } from 'react';
\n
import { NavLink } from 'react-router-dom';
\n
import
\"
./Home.css
\"
;
\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
\n
import Updates from './updates/Updates';
\n
import { jsxDEV as _jsxDEV } from
\"
react/jsx-dev-runtime
\"
;
\n\n
const Home = () => {
\n
_s();
\n\n
const {
\n
authState,
\n
oktaAuth
\n
} = useOktaAuth();
\n
const [userInfo, setUserInfo] = useState(null);
\n
useEffect(() => {
\n
oktaAuth.token.getUserInfo().then(info => {
\n
setUserInfo(info);
\n
});
\n
});
\n\n
if (userInfo) {
\n
return /*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
homepage-container
\"
,
\n
children: [/*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
content-header
\"
,
\n
children: [/*#__PURE__*/_jsxDEV(
\"
h2
\"
, {
\n
className:
\"
welcome-text
\"
,
\n
children: [
\"
Welcome
\"
, userInfo.given_name,
\"
!
\"
]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 22,
\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: 25,
\n
columnNumber: 15
\n
}, this),
\"\\
xA0
\\
xA0Report issues
\"
]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 24,
\n
columnNumber: 13
\n
}, this)
\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 23,
\n
columnNumber: 11
\n
}, this)]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 21,
\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: 31,
\n
columnNumber: 11
\n
}, this)
\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 30,
\n
columnNumber: 9
\n
}, this)]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 20,
\n
columnNumber: 7
\n
}, this);
\n
} else {
\n
return /*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
homepage-container
\"
,
\n
children: /*#__PURE__*/_jsxDEV(
\"
h3
\"
, {
\n
children:
\"
Loading...
\"\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,
\"
/7FunoA1ejJNU8uKGTy1GZFqU2I=
\"
, false, function () {
\n
return [useOktaAuth];
\n
});
\n\n
_c = Home;
\n
export default Home;
\n\n
var _c;
\n\n
$RefreshReg$(_c,
\"
Home
\"
);"
,
"map"
:{
"version"
:
3
,
"sources"
:[
"C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/home/Home.jsx"
],
"names"
:[
"useOktaAuth"
,
"React"
,
"useState"
,
"useEffect"
,
"NavLink"
,
"FontAwesomeIcon"
,
"Updates"
,
"Home"
,
"authState"
,
"oktaAuth"
,
"userInfo"
,
"setUserInfo"
,
"token"
,
"getUserInfo"
,
"then"
,
"info"
,
"given_name"
],
"mappings"
:
";;;AAAA,SAASA,WAAT,QAA4B,kBAA5B;AACA,OAAOC,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;;;AAEA,MAAMC,IAAI,GAAG,MAAM;AAAA;;AACjB,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA;AAAb,MAA0BT,WAAW,EAA3C;AACA,QAAM,CAACU,QAAD,EAAWC,WAAX,IAA0BT,QAAQ,CAAC,IAAD,CAAxC;AAEAC,EAAAA,SAAS,CAAC,MAAM;AACdM,IAAAA,QAAQ,CAACG,KAAT,CAAeC,WAAf,GAA6BC,IAA7B,CAAkCC,IAAI,IAAI;AACxCJ,MAAAA,WAAW,CAACI,IAAD,CAAX;AACD,KAFD;AAGD,GAJQ,CAAT;;AAMA,MAAIL,QAAJ,EAAc;AACZ,wBACE;AAAK,MAAA,SAAS,EAAC,oBAAf;AAAA,8BACE;AAAK,QAAA,SAAS,EAAC,gBAAf;AAAA,gCACE;AAAI,UAAA,SAAS,EAAC,cAAd;AAAA,iCAAsCA,QAAQ,CAACM,UAA/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,wBACE;AAAK,MAAA,SAAS,EAAC,oBAAf;AAAA,6BACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,YADF;AAKD;AAGF,CAtCD;;GAAMT,I;UAC4BP,W;;;KAD5BO,I;AAwCN,eAAeA,IAAf"
,
"sourcesContent"
:[
"import { useOktaAuth } from
\"
@okta/okta-react
\"
;
\r\n
import React, { useState, useEffect } from 'react'
\r\n
import { NavLink } from 'react-router-dom'
\r\n
import
\"
./Home.css
\"\r\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
\r\n
import Updates from './updates/Updates'
\r\n\r\n
const Home = () => {
\r\n
const { authState, oktaAuth } = useOktaAuth();
\r\n
const [userInfo, setUserInfo] = useState(null);
\r\n\r\n
useEffect(() => {
\r\n
oktaAuth.token.getUserInfo().then(info => {
\r\n
setUserInfo(info);
\r\n
});
\r\n
})
\r\n\r\n
if (userInfo) {
\r\n
return (
\r\n
<div className=
\"
homepage-container
\"
>
\r\n
<div className=
\"
content-header
\"
>
\r\n
<h2 className=
\"
welcome-text
\"
>Welcome {userInfo.given_name}!</h2>
\r\n
<NavLink to=
\"
/reportissue
\"
>
\r\n
<button className=
\"
report-new-issue-button
\"
>
\r\n
<FontAwesomeIcon icon=
\"
exclamation-triangle
\"
></FontAwesomeIcon>
\r\n
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
return (
\r\n
<div className=
\"
homepage-container
\"
>
\r\n
<h3>Loading...</h3>
\r\n
</div>
\r\n
)
\r\n
}
\r\n\r\n\r\n
}
\r\n\r\n
export default Home"
]},
"metadata"
:{},
"sourceType"
:
"module"
}
\ No newline at end of file
client/node_modules/.cache/babel-loader/11955d330576213261bcc917607f5f53.json
0 → 100644
View file @
a49a34cc
{
"ast"
:
null
,
"code"
:
"var _jsxFileName =
\"
C:
\\\\
Users
\\\\
Bruger
\\\\
Desktop
\\\\
Web-projects
\\\\
pipit
\\\\
client
\\\\
src
\\\\
components
\\\\
home
\\\\
Home.jsx
\"
,
\n
_s = $RefreshSig$();
\n\n
import { useOktaAuth } from
\"
@okta/okta-react
\"
;
\n
import React, { useState, useEffect } from 'react';
\n
import { NavLink } from 'react-router-dom';
\n
import
\"
./Home.css
\"
;
\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
\n
import Updates from './updates/Updates';
\n
import { jsxDEV as _jsxDEV } from
\"
react/jsx-dev-runtime
\"
;
\n\n
const Home = () => {
\n
_s();
\n\n
const {
\n
authState,
\n
oktaAuth
\n
} = useOktaAuth();
\n
const [userInfo, setUserInfo] = useState(null);
\n
const idToken = JSON.parse(localStorage.getItem('okta-token-storage')).idToken.claims;
\n
useEffect(() => {
\n
setUserInfo(idToken);
\n
}, []);
\n\n
if (userInfo) {
\n
return /*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
homepage-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
return /*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
homepage-container
\"
,
\n
children: /*#__PURE__*/_jsxDEV(
\"
h3
\"
, {
\n
children:
\"
...
\"\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 39,
\n
columnNumber: 9
\n
}, this)
\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 38,
\n
columnNumber: 7
\n
}, this);
\n
}
\n
};
\n\n
_s(Home,
\"
/7FunoA1ejJNU8uKGTy1GZFqU2I=
\"
, false, function () {
\n
return [useOktaAuth];
\n
});
\n\n
_c = Home;
\n
export default Home;
\n\n
var _c;
\n\n
$RefreshReg$(_c,
\"
Home
\"
);"
,
"map"
:{
"version"
:
3
,
"sources"
:[
"C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/home/Home.jsx"
],
"names"
:[
"useOktaAuth"
,
"React"
,
"useState"
,
"useEffect"
,
"NavLink"
,
"FontAwesomeIcon"
,
"Updates"
,
"Home"
,
"authState"
,
"oktaAuth"
,
"userInfo"
,
"setUserInfo"
,
"idToken"
,
"JSON"
,
"parse"
,
"localStorage"
,
"getItem"
,
"claims"
,
"name"
],
"mappings"
:
";;;AAAA,SAASA,WAAT,QAA4B,kBAA5B;AACA,OAAOC,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;;;AAEA,MAAMC,IAAI,GAAG,MAAM;AAAA;;AACjB,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA;AAAb,MAA0BT,WAAW,EAA3C;AACA,QAAM,CAACU,QAAD,EAAWC,WAAX,IAA0BT,QAAQ,CAAC,IAAD,CAAxC;AACA,QAAMU,OAAO,GAAGC,IAAI,CAACC,KAAL,CAAWC,YAAY,CAACC,OAAb,CAAqB,oBAArB,CAAX,EAAuDJ,OAAvD,CAA+DK,MAA/E;AAEAd,EAAAA,SAAS,CAAC,MAAM;AACdQ,IAAAA,WAAW,CAACC,OAAD,CAAX;AACD,GAFQ,EAEN,EAFM,CAAT;;AAIA,MAAIF,QAAJ,EAAc;AACZ,wBACE;AAAK,MAAA,SAAS,EAAC,oBAAf;AAAA,8BACE;AAAK,QAAA,SAAS,EAAC,gBAAf;AAAA,gCACE;AAAI,UAAA,SAAS,EAAC,cAAd;AAAA,iCAAsCA,QAAQ,CAACQ,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,wBACE;AAAK,MAAA,SAAS,EAAC,oBAAf;AAAA,6BACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,YADF;AAKD;AAGF,CArCD;;GAAMX,I;UAC4BP,W;;;KAD5BO,I;AAuCN,eAAeA,IAAf"
,
"sourcesContent"
:[
"import { useOktaAuth } from
\"
@okta/okta-react
\"
;
\r\n
import React, { useState, useEffect } from 'react'
\r\n
import { NavLink } from 'react-router-dom'
\r\n
import
\"
./Home.css
\"\r\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
\r\n
import Updates from './updates/Updates'
\r\n\r\n
const Home = () => {
\r\n
const { authState, oktaAuth } = useOktaAuth();
\r\n
const [userInfo, setUserInfo] = useState(null);
\r\n
const idToken = JSON.parse(localStorage.getItem('okta-token-storage')).idToken.claims
\r\n\r\n
useEffect(() => {
\r\n
setUserInfo(idToken)
\r\n
}, [])
\r\n\r\n
if (userInfo) {
\r\n
return (
\r\n
<div className=
\"
homepage-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
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
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\n
export default Home"
]},
"metadata"
:{},
"sourceType"
:
"module"
}
\ No newline at end of file
client/node_modules/.cache/babel-loader/126419f240c1fbae9fd5e74f668cbb55.json
0 → 100644
View file @
a49a34cc
{
"ast"
:
null
,
"code"
:
"var _jsxFileName =
\"
C:
\\\\
Users
\\\\
Bruger
\\\\
Desktop
\\\\
Web-projects
\\\\
pipit
\\\\
client
\\\\
src
\\\\
components
\\\\
home
\\\\
Home.jsx
\"
,
\n
_s = $RefreshSig$();
\n\n
import { useOktaAuth } from
\"
@okta/okta-react
\"
;
\n
import React, { useState, useEffect } from 'react';
\n
import { NavLink } from 'react-router-dom';
\n
import
\"
./Home.css
\"
;
\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
\n
import Updates from './updates/Updates';
\n
import { jsxDEV as _jsxDEV } from
\"
react/jsx-dev-runtime
\"
;
\n\n
const Home = () => {
\n
_s();
\n\n
const {
\n
authState,
\n
oktaAuth
\n
} = useOktaAuth();
\n
const [userInfo, setUserInfo] = useState(null);
\n
useEffect(() => {
\n
if (!authState.isAuthenticated) {
\n
// When user isn't authenticated, forget any user info
\n
setUserInfo(null);
\n
} else {
\n
oktaAuth.token.getUserInfo().then(info => {
\n
setUserInfo(info);
\n
});
\n
}
\n
}, [authState, oktaAuth]); // Update if authState changes
\n\n
return /*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
homepage-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: 26,
\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: 29,
\n
columnNumber: 13
\n
}, this),
\"\\
xA0
\\
xA0Report issues
\"
]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 28,
\n
columnNumber: 11
\n
}, this)
\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 27,
\n
columnNumber: 9
\n
}, this)]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 25,
\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: 35,
\n
columnNumber: 9
\n
}, this)
\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 34,
\n
columnNumber: 7
\n
}, this)]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 24,
\n
columnNumber: 5
\n
}, this);
\n
};
\n\n
_s(Home,
\"
/7FunoA1ejJNU8uKGTy1GZFqU2I=
\"
, false, function () {
\n
return [useOktaAuth];
\n
});
\n\n
_c = Home;
\n
export default Home;
\n\n
var _c;
\n\n
$RefreshReg$(_c,
\"
Home
\"
);"
,
"map"
:{
"version"
:
3
,
"sources"
:[
"C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/home/Home.jsx"
],
"names"
:[
"useOktaAuth"
,
"React"
,
"useState"
,
"useEffect"
,
"NavLink"
,
"FontAwesomeIcon"
,
"Updates"
,
"Home"
,
"authState"
,
"oktaAuth"
,
"userInfo"
,
"setUserInfo"
,
"isAuthenticated"
,
"token"
,
"getUserInfo"
,
"then"
,
"info"
,
"name"
],
"mappings"
:
";;;AAAA,SAASA,WAAT,QAA4B,kBAA5B;AACA,OAAOC,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;;;AAEA,MAAMC,IAAI,GAAG,MAAM;AAAA;;AACjB,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA;AAAb,MAA0BT,WAAW,EAA3C;AACA,QAAM,CAACU,QAAD,EAAWC,WAAX,IAA0BT,QAAQ,CAAC,IAAD,CAAxC;AAEAC,EAAAA,SAAS,CAAC,MAAM;AACd,QAAI,CAACK,SAAS,CAACI,eAAf,EAAgC;AAC9B;AACAD,MAAAA,WAAW,CAAC,IAAD,CAAX;AACD,KAHD,MAGO;AACLF,MAAAA,QAAQ,CAACI,KAAT,CAAeC,WAAf,GAA6BC,IAA7B,CAAkCC,IAAI,IAAI;AACxCL,QAAAA,WAAW,CAACK,IAAD,CAAX;AACD,OAFD;AAGD;AACF,GATQ,EASN,CAACR,SAAD,EAAYC,QAAZ,CATM,CAAT,CAJiB,CAaU;;AAE3B,sBACE;AAAK,IAAA,SAAS,EAAC,oBAAf;AAAA,4BACE;AAAK,MAAA,SAAS,EAAC,gBAAf;AAAA,8BACE;AAAI,QAAA,SAAS,EAAC,cAAd;AAAA,+BAAsCC,QAAQ,CAACO,IAA/C;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,CA/BD;;GAAMV,I;UAC4BP,W;;;KAD5BO,I;AAiCN,eAAeA,IAAf"
,
"sourcesContent"
:[
"import { useOktaAuth } from
\"
@okta/okta-react
\"
;
\r\n
import React, { useState, useEffect } from 'react'
\r\n
import { NavLink } from 'react-router-dom'
\r\n
import
\"
./Home.css
\"\r\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
\r\n
import Updates from './updates/Updates'
\r\n\r\n
const Home = () => {
\r\n
const { authState, oktaAuth } = useOktaAuth();
\r\n
const [userInfo, setUserInfo] = useState(null);
\r\n\r\n
useEffect(() => {
\r\n
if (!authState.isAuthenticated) {
\r\n
// When user isn't authenticated, forget any user info
\r\n
setUserInfo(null);
\r\n
} else {
\r\n
oktaAuth.token.getUserInfo().then(info => {
\r\n
setUserInfo(info);
\r\n
});
\r\n
}
\r\n
}, [authState, oktaAuth]); // Update if authState changes
\r\n\r\n
return (
\r\n
<div className=
\"
homepage-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
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
export default Home"
]},
"metadata"
:{},
"sourceType"
:
"module"
}
\ No newline at end of file
client/node_modules/.cache/babel-loader/17bad84ece8177bf145f09e92f208044.json
0 → 100644
View file @
a49a34cc
{
"ast"
:
null
,
"code"
:
"var _jsxFileName =
\"
C:
\\\\
Users
\\\\
Bruger
\\\\
Desktop
\\\\
Web-projects
\\\\
pipit
\\\\
client
\\\\
src
\\\\
components
\\\\
home
\\\\
Home.jsx
\"
,
\n
_s = $RefreshSig$();
\n\n
import { useOktaAuth } from
\"
@okta/okta-react
\"
;
\n
import React, { useState, useEffect } from 'react';
\n
import { NavLink } from 'react-router-dom';
\n
import
\"
./Home.css
\"
;
\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
\n
import Updates from './updates/Updates';
\n
import { jsxDEV as _jsxDEV } from
\"
react/jsx-dev-runtime
\"
;
\n\n
const Home = () => {
\n
_s();
\n\n
const {
\n
authState,
\n
oktaAuth
\n
} = useOktaAuth();
\n
const [userInfo, setUserInfo] = useState(null);
\n
useEffect(() => {
\n
oktaAuth.token.getUserInfo().then(info => {
\n
setUserInfo(info);
\n
});
\n
}, []);
\n
return /*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
homepage-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: 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: 24,
\n
columnNumber: 13
\n
}, this),
\"\\
xA0
\\
xA0Report issues
\"
]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 23,
\n
columnNumber: 11
\n
}, this)
\n
}, void 0, false, {
\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:
\"
homepage-content
\"
,
\n
children: /*#__PURE__*/_jsxDEV(Updates, {}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 30,
\n
columnNumber: 9
\n
}, this)
\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 29,
\n
columnNumber: 7
\n
}, this)]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 19,
\n
columnNumber: 5
\n
}, this);
\n
};
\n\n
_s(Home,
\"
/7FunoA1ejJNU8uKGTy1GZFqU2I=
\"
, false, function () {
\n
return [useOktaAuth];
\n
});
\n\n
_c = Home;
\n
export default Home;
\n\n
var _c;
\n\n
$RefreshReg$(_c,
\"
Home
\"
);"
,
"map"
:{
"version"
:
3
,
"sources"
:[
"C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/home/Home.jsx"
],
"names"
:[
"useOktaAuth"
,
"React"
,
"useState"
,
"useEffect"
,
"NavLink"
,
"FontAwesomeIcon"
,
"Updates"
,
"Home"
,
"authState"
,
"oktaAuth"
,
"userInfo"
,
"setUserInfo"
,
"token"
,
"getUserInfo"
,
"then"
,
"info"
,
"name"
],
"mappings"
:
";;;AAAA,SAASA,WAAT,QAA4B,kBAA5B;AACA,OAAOC,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;;;AAEA,MAAMC,IAAI,GAAG,MAAM;AAAA;;AACjB,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA;AAAb,MAA0BT,WAAW,EAA3C;AACA,QAAM,CAACU,QAAD,EAAWC,WAAX,IAA0BT,QAAQ,CAAC,IAAD,CAAxC;AAEAC,EAAAA,SAAS,CAAC,MAAM;AACdM,IAAAA,QAAQ,CAACG,KAAT,CAAeC,WAAf,GAA6BC,IAA7B,CAAmCC,IAAD,IAAU;AAC1CJ,MAAAA,WAAW,CAACI,IAAD,CAAX;AACD,KAFD;AAGD,GAJQ,EAIN,EAJM,CAAT;AAMA,sBACE;AAAK,IAAA,SAAS,EAAC,oBAAf;AAAA,4BACE;AAAK,MAAA,SAAS,EAAC,gBAAf;AAAA,8BACE;AAAI,QAAA,SAAS,EAAC,cAAd;AAAA,+BAAsCL,QAAQ,CAACM,IAA/C;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,CA1BD;;GAAMT,I;UAC4BP,W;;;KAD5BO,I;AA4BN,eAAeA,IAAf"
,
"sourcesContent"
:[
"import { useOktaAuth } from
\"
@okta/okta-react
\"
;
\r\n
import React, { useState, useEffect } from 'react'
\r\n
import { NavLink } from 'react-router-dom'
\r\n
import
\"
./Home.css
\"\r\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
\r\n
import Updates from './updates/Updates'
\r\n\r\n
const Home = () => {
\r\n
const { authState, oktaAuth } = useOktaAuth();
\r\n
const [userInfo, setUserInfo] = useState(null);
\r\n\r\n
useEffect(() => {
\r\n
oktaAuth.token.getUserInfo().then((info) => {
\r\n
setUserInfo(info);
\r\n
})
\r\n
}, [])
\r\n\r\n
return (
\r\n
<div className=
\"
homepage-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
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
export default Home"
]},
"metadata"
:{},
"sourceType"
:
"module"
}
\ No newline at end of file
client/node_modules/.cache/babel-loader/1e4cf0fcf964e08d174477c6fe4f6fc5.json
0 → 100644
View file @
a49a34cc
{
"ast"
:
null
,
"code"
:
"var _jsxFileName =
\"
C:
\\\\
Users
\\\\
Bruger
\\\\
Desktop
\\\\
Web-projects
\\\\
pipit
\\\\
client
\\\\
src
\\\\
components
\\\\
home
\\\\
Home.jsx
\"
,
\n
_s = $RefreshSig$();
\n\n
import { useOktaAuth } from
\"
@okta/okta-react
\"
;
\n
import React, { useState, useEffect } from 'react';
\n
import { NavLink } from 'react-router-dom';
\n
import
\"
./Home.css
\"
;
\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
\n
import Updates from './updates/Updates';
\n
import { jsxDEV as _jsxDEV } from
\"
react/jsx-dev-runtime
\"
;
\n\n
const Home = () => {
\n
_s();
\n\n
const {
\n
authState,
\n
oktaAuth
\n
} = useOktaAuth();
\n
const [userInfo, setUserInfo] = useState(null);
\n
useEffect(() => {
\n
if (!authState.isAuthenticated) {
\n
// When user isn't authenticated, forget any user info
\n
setUserInfo(null);
\n
} else {
\n
oktaAuth.token.getUserInfo().then(info => {
\n
setUserInfo(info);
\n
});
\n
}
\n
}, [authState, oktaAuth]); // Update if authState changes
\n\n
return /*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
homepage-container
\"
,
\n
children: [/*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
content-header
\"
,
\n
children: [/*#__PURE__*/_jsxDEV(
\"
h2
\"
, {
\n
className:
\"
welcome-text
\"
,
\n
children: [
\"
Welcome
\"
, userInfo.given_name,
\"
!
\"
]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 26,
\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: 29,
\n
columnNumber: 13
\n
}, this),
\"\\
xA0
\\
xA0Report issues
\"
]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 28,
\n
columnNumber: 11
\n
}, this)
\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 27,
\n
columnNumber: 9
\n
}, this)]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 25,
\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: 35,
\n
columnNumber: 9
\n
}, this)
\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 34,
\n
columnNumber: 7
\n
}, this)]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 24,
\n
columnNumber: 5
\n
}, this);
\n
};
\n\n
_s(Home,
\"
/7FunoA1ejJNU8uKGTy1GZFqU2I=
\"
, false, function () {
\n
return [useOktaAuth];
\n
});
\n\n
_c = Home;
\n
export default Home;
\n\n
var _c;
\n\n
$RefreshReg$(_c,
\"
Home
\"
);"
,
"map"
:{
"version"
:
3
,
"sources"
:[
"C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/home/Home.jsx"
],
"names"
:[
"useOktaAuth"
,
"React"
,
"useState"
,
"useEffect"
,
"NavLink"
,
"FontAwesomeIcon"
,
"Updates"
,
"Home"
,
"authState"
,
"oktaAuth"
,
"userInfo"
,
"setUserInfo"
,
"isAuthenticated"
,
"token"
,
"getUserInfo"
,
"then"
,
"info"
,
"given_name"
],
"mappings"
:
";;;AAAA,SAASA,WAAT,QAA4B,kBAA5B;AACA,OAAOC,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;;;AAEA,MAAMC,IAAI,GAAG,MAAM;AAAA;;AACjB,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA;AAAb,MAA0BT,WAAW,EAA3C;AACA,QAAM,CAACU,QAAD,EAAWC,WAAX,IAA0BT,QAAQ,CAAC,IAAD,CAAxC;AAEAC,EAAAA,SAAS,CAAC,MAAM;AACd,QAAI,CAACK,SAAS,CAACI,eAAf,EAAgC;AAC9B;AACAD,MAAAA,WAAW,CAAC,IAAD,CAAX;AACD,KAHD,MAGO;AACLF,MAAAA,QAAQ,CAACI,KAAT,CAAeC,WAAf,GAA6BC,IAA7B,CAAkCC,IAAI,IAAI;AACxCL,QAAAA,WAAW,CAACK,IAAD,CAAX;AACD,OAFD;AAGD;AACF,GATQ,EASN,CAACR,SAAD,EAAYC,QAAZ,CATM,CAAT,CAJiB,CAaU;;AAE3B,sBACE;AAAK,IAAA,SAAS,EAAC,oBAAf;AAAA,4BACE;AAAK,MAAA,SAAS,EAAC,gBAAf;AAAA,8BACE;AAAI,QAAA,SAAS,EAAC,cAAd;AAAA,+BAAsCC,QAAQ,CAACO,UAA/C;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,CA/BD;;GAAMV,I;UAC4BP,W;;;KAD5BO,I;AAiCN,eAAeA,IAAf"
,
"sourcesContent"
:[
"import { useOktaAuth } from
\"
@okta/okta-react
\"
;
\r\n
import React, { useState, useEffect } from 'react'
\r\n
import { NavLink } from 'react-router-dom'
\r\n
import
\"
./Home.css
\"\r\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
\r\n
import Updates from './updates/Updates'
\r\n\r\n
const Home = () => {
\r\n
const { authState, oktaAuth } = useOktaAuth();
\r\n
const [userInfo, setUserInfo] = useState(null);
\r\n\r\n
useEffect(() => {
\r\n
if (!authState.isAuthenticated) {
\r\n
// When user isn't authenticated, forget any user info
\r\n
setUserInfo(null);
\r\n
} else {
\r\n
oktaAuth.token.getUserInfo().then(info => {
\r\n
setUserInfo(info);
\r\n
});
\r\n
}
\r\n
}, [authState, oktaAuth]); // Update if authState changes
\r\n\r\n
return (
\r\n
<div className=
\"
homepage-container
\"
>
\r\n
<div className=
\"
content-header
\"
>
\r\n
<h2 className=
\"
welcome-text
\"
>Welcome {userInfo.given_name}!</h2>
\r\n
<NavLink to=
\"
/reportissue
\"
>
\r\n
<button className=
\"
report-new-issue-button
\"
>
\r\n
<FontAwesomeIcon icon=
\"
exclamation-triangle
\"
></FontAwesomeIcon>
\r\n
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
export default Home"
]},
"metadata"
:{},
"sourceType"
:
"module"
}
\ No newline at end of file
client/node_modules/.cache/babel-loader/2b888e195b4c0fb9ff1beb2845167d6c.json
0 → 100644
View file @
a49a34cc
{
"ast"
:
null
,
"code"
:
"var _jsxFileName =
\"
C:
\\\\
Users
\\\\
Bruger
\\\\
Desktop
\\\\
Web-projects
\\\\
pipit
\\\\
client
\\\\
src
\\\\
components
\\\\
home
\\\\
Home.jsx
\"
,
\n
_s = $RefreshSig$();
\n\n
import { useOktaAuth } from
\"
@okta/okta-react
\"
;
\n
import React, { useState, useEffect } from 'react';
\n
import { NavLink } from 'react-router-dom';
\n
import
\"
./Home.css
\"
;
\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
\n
import Updates from './updates/Updates';
\n
import { jsxDEV as _jsxDEV } from
\"
react/jsx-dev-runtime
\"
;
\n\n
const Home = () => {
\n
_s();
\n\n
const {
\n
authState,
\n
oktaAuth
\n
} = useOktaAuth();
\n
const [userInfo, setUserInfo] = useState(null);
\n
useEffect(() => {
\n
console.log(oktaAuth.getIdToken.claims);
\n
});
\n
return /*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
homepage-container
\"
,
\n
children: [/*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
content-header
\"
,
\n
children: [/*#__PURE__*/_jsxDEV(
\"
h2
\"
, {
\n
className:
\"
welcome-text
\"
,
\n
children:
\"
Welcome!
\"\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 19,
\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: 22,
\n
columnNumber: 13
\n
}, this),
\"\\
xA0
\\
xA0Report issues
\"
]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 21,
\n
columnNumber: 11
\n
}, this)
\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 20,
\n
columnNumber: 9
\n
}, this)]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 18,
\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: 28,
\n
columnNumber: 9
\n
}, this)
\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 27,
\n
columnNumber: 7
\n
}, this)]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 17,
\n
columnNumber: 5
\n
}, this);
\n
};
\n\n
_s(Home,
\"
/7FunoA1ejJNU8uKGTy1GZFqU2I=
\"
, false, function () {
\n
return [useOktaAuth];
\n
});
\n\n
_c = Home;
\n
export default Home;
\n\n
var _c;
\n\n
$RefreshReg$(_c,
\"
Home
\"
);"
,
"map"
:{
"version"
:
3
,
"sources"
:[
"C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/home/Home.jsx"
],
"names"
:[
"useOktaAuth"
,
"React"
,
"useState"
,
"useEffect"
,
"NavLink"
,
"FontAwesomeIcon"
,
"Updates"
,
"Home"
,
"authState"
,
"oktaAuth"
,
"userInfo"
,
"setUserInfo"
,
"console"
,
"log"
,
"getIdToken"
,
"claims"
],
"mappings"
:
";;;AAAA,SAASA,WAAT,QAA4B,kBAA5B;AACA,OAAOC,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;;;AAEA,MAAMC,IAAI,GAAG,MAAM;AAAA;;AACjB,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA;AAAb,MAA0BT,WAAW,EAA3C;AACA,QAAM,CAACU,QAAD,EAAWC,WAAX,IAA0BT,QAAQ,CAAC,IAAD,CAAxC;AAEAC,EAAAA,SAAS,CAAC,MAAM;AACdS,IAAAA,OAAO,CAACC,GAAR,CAAYJ,QAAQ,CAACK,UAAT,CAAoBC,MAAhC;AACD,GAFQ,CAAT;AAIA,sBACE;AAAK,IAAA,SAAS,EAAC,oBAAf;AAAA,4BACE;AAAK,MAAA,SAAS,EAAC,gBAAf;AAAA,8BACE;AAAI,QAAA,SAAS,EAAC,cAAd;AAAA;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,CAxBD;;GAAMR,I;UAC4BP,W;;;KAD5BO,I;AA0BN,eAAeA,IAAf"
,
"sourcesContent"
:[
"import { useOktaAuth } from
\"
@okta/okta-react
\"
;
\r\n
import React, { useState, useEffect } from 'react'
\r\n
import { NavLink } from 'react-router-dom'
\r\n
import
\"
./Home.css
\"\r\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
\r\n
import Updates from './updates/Updates'
\r\n\r\n
const Home = () => {
\r\n
const { authState, oktaAuth } = useOktaAuth();
\r\n
const [userInfo, setUserInfo] = useState(null);
\r\n\r\n
useEffect(() => {
\r\n
console.log(oktaAuth.getIdToken.claims)
\r\n
})
\r\n\r\n
return (
\r\n
<div className=
\"
homepage-container
\"
>
\r\n
<div className=
\"
content-header
\"
>
\r\n
<h2 className=
\"
welcome-text
\"
>Welcome!</h2>
\r\n
<NavLink to=
\"
/reportissue
\"
>
\r\n
<button className=
\"
report-new-issue-button
\"
>
\r\n
<FontAwesomeIcon icon=
\"
exclamation-triangle
\"
></FontAwesomeIcon>
\r\n
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
export default Home"
]},
"metadata"
:{},
"sourceType"
:
"module"
}
\ No newline at end of file
client/node_modules/.cache/babel-loader/2f4e82fdfd17d2faec2817e2786396dc.json
0 → 100644
View file @
a49a34cc
{
"ast"
:
null
,
"code"
:
"var _jsxFileName =
\"
C:
\\\\
Users
\\\\
Bruger
\\\\
Desktop
\\\\
Web-projects
\\\\
pipit
\\\\
client
\\\\
src
\\\\
components
\\\\
home
\\\\
Home.jsx
\"
,
\n
_s = $RefreshSig$();
\n\n
import { useOktaAuth } from
\"
@okta/okta-react
\"
;
\n
import React, { useState, useEffect } from 'react';
\n
import { NavLink } from 'react-router-dom';
\n
import
\"
./Home.css
\"
;
\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
\n
import Updates from './updates/Updates';
\n
import { jsxDEV as _jsxDEV } from
\"
react/jsx-dev-runtime
\"
;
\n\n
const Home = () => {
\n
_s();
\n\n
const {
\n
authState,
\n
oktaAuth
\n
} = useOktaAuth();
\n
const [userInfo, setUserInfo] = useState(null);
\n
const tokenId = JSON.parse(localStorage.getItem('okta-token-storage'));
\n
useEffect(() => {
\n
tokenId.tokenId.claims.then(info => {
\n
setUserInfo(info);
\n
});
\n
});
\n\n
if (userInfo) {
\n
return /*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
homepage-container
\"
,
\n
children: [/*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
content-header
\"
,
\n
children: [/*#__PURE__*/_jsxDEV(
\"
h2
\"
, {
\n
className:
\"
welcome-text
\"
,
\n
children: [
\"
Welcome
\"
, userInfo.given_name,
\"
!
\"
]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 23,
\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: 26,
\n
columnNumber: 15
\n
}, this),
\"\\
xA0
\\
xA0Report issues
\"
]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 25,
\n
columnNumber: 13
\n
}, this)
\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 24,
\n
columnNumber: 11
\n
}, this)]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 22,
\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: 32,
\n
columnNumber: 11
\n
}, this)
\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 31,
\n
columnNumber: 9
\n
}, this)]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 21,
\n
columnNumber: 7
\n
}, this);
\n
} else {
\n
return /*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
homepage-container
\"
,
\n
children: /*#__PURE__*/_jsxDEV(
\"
h3
\"
, {
\n
children:
\"
Loading...
\"\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 41,
\n
columnNumber: 9
\n
}, this)
\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 40,
\n
columnNumber: 7
\n
}, this);
\n
}
\n
};
\n\n
_s(Home,
\"
/7FunoA1ejJNU8uKGTy1GZFqU2I=
\"
, false, function () {
\n
return [useOktaAuth];
\n
});
\n\n
_c = Home;
\n
export default Home;
\n\n
var _c;
\n\n
$RefreshReg$(_c,
\"
Home
\"
);"
,
"map"
:{
"version"
:
3
,
"sources"
:[
"C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/home/Home.jsx"
],
"names"
:[
"useOktaAuth"
,
"React"
,
"useState"
,
"useEffect"
,
"NavLink"
,
"FontAwesomeIcon"
,
"Updates"
,
"Home"
,
"authState"
,
"oktaAuth"
,
"userInfo"
,
"setUserInfo"
,
"tokenId"
,
"JSON"
,
"parse"
,
"localStorage"
,
"getItem"
,
"claims"
,
"then"
,
"info"
,
"given_name"
],
"mappings"
:
";;;AAAA,SAASA,WAAT,QAA4B,kBAA5B;AACA,OAAOC,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;;;AAEA,MAAMC,IAAI,GAAG,MAAM;AAAA;;AACjB,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA;AAAb,MAA0BT,WAAW,EAA3C;AACA,QAAM,CAACU,QAAD,EAAWC,WAAX,IAA0BT,QAAQ,CAAC,IAAD,CAAxC;AACA,QAAMU,OAAO,GAAGC,IAAI,CAACC,KAAL,CAAWC,YAAY,CAACC,OAAb,CAAqB,oBAArB,CAAX,CAAhB;AAEAb,EAAAA,SAAS,CAAC,MAAM;AACdS,IAAAA,OAAO,CAACA,OAAR,CAAgBK,MAAhB,CAAuBC,IAAvB,CAA4BC,IAAI,IAAI;AAClCR,MAAAA,WAAW,CAACQ,IAAD,CAAX;AACD,KAFD;AAGD,GAJQ,CAAT;;AAMA,MAAIT,QAAJ,EAAc;AACZ,wBACE;AAAK,MAAA,SAAS,EAAC,oBAAf;AAAA,8BACE;AAAK,QAAA,SAAS,EAAC,gBAAf;AAAA,gCACE;AAAI,UAAA,SAAS,EAAC,cAAd;AAAA,iCAAsCA,QAAQ,CAACU,UAA/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,wBACE;AAAK,MAAA,SAAS,EAAC,oBAAf;AAAA,6BACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,YADF;AAKD;AAGF,CAvCD;;GAAMb,I;UAC4BP,W;;;KAD5BO,I;AAyCN,eAAeA,IAAf"
,
"sourcesContent"
:[
"import { useOktaAuth } from
\"
@okta/okta-react
\"
;
\r\n
import React, { useState, useEffect } from 'react'
\r\n
import { NavLink } from 'react-router-dom'
\r\n
import
\"
./Home.css
\"\r\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
\r\n
import Updates from './updates/Updates'
\r\n\r\n
const Home = () => {
\r\n
const { authState, oktaAuth } = useOktaAuth();
\r\n
const [userInfo, setUserInfo] = useState(null);
\r\n
const tokenId = JSON.parse(localStorage.getItem('okta-token-storage'))
\r\n\r\n
useEffect(() => {
\r\n
tokenId.tokenId.claims.then(info => {
\r\n
setUserInfo(info);
\r\n
});
\r\n
})
\r\n\r\n
if (userInfo) {
\r\n
return (
\r\n
<div className=
\"
homepage-container
\"
>
\r\n
<div className=
\"
content-header
\"
>
\r\n
<h2 className=
\"
welcome-text
\"
>Welcome {userInfo.given_name}!</h2>
\r\n
<NavLink to=
\"
/reportissue
\"
>
\r\n
<button className=
\"
report-new-issue-button
\"
>
\r\n
<FontAwesomeIcon icon=
\"
exclamation-triangle
\"
></FontAwesomeIcon>
\r\n
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
return (
\r\n
<div className=
\"
homepage-container
\"
>
\r\n
<h3>Loading...</h3>
\r\n
</div>
\r\n
)
\r\n
}
\r\n\r\n\r\n
}
\r\n\r\n
export default Home"
]},
"metadata"
:{},
"sourceType"
:
"module"
}
\ No newline at end of file
client/node_modules/.cache/babel-loader/39a3a342a8ff78e6cf61758f5f23a317.json
0 → 100644
View file @
a49a34cc
{
"ast"
:
null
,
"code"
:
"var _jsxFileName =
\"
C:
\\\\
Users
\\\\
Bruger
\\\\
Desktop
\\\\
Web-projects
\\\\
pipit
\\\\
client
\\\\
src
\\\\
components
\\\\
home
\\\\
Home.jsx
\"
,
\n
_s = $RefreshSig$();
\n\n
import { useOktaAuth } from
\"
@okta/okta-react
\"
;
\n
import React, { useState, useEffect } from 'react';
\n
import { NavLink } from 'react-router-dom';
\n
import
\"
./Home.css
\"
;
\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
\n
import Updates from './updates/Updates';
\n
import { jsxDEV as _jsxDEV } from
\"
react/jsx-dev-runtime
\"
;
\n\n
const Home = () => {
\n
_s();
\n\n
const {
\n
authState,
\n
oktaAuth
\n
} = useOktaAuth();
\n
const [userInfo, setUserInfo] = useState(null);
\n
useEffect(() => {
\n
const fetchData = async () => {
\n
const response = await fetch(JSON.parse(localStorage.getItem('okta-token-storage')).idToken.claims);
\n
setUserInfo(idToken);
\n
};
\n
});
\n\n
if (userInfo) {
\n
return /*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
homepage-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: 24,
\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: 27,
\n
columnNumber: 15
\n
}, this),
\"\\
xA0
\\
xA0Report issues
\"
]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 26,
\n
columnNumber: 13
\n
}, this)
\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 25,
\n
columnNumber: 11
\n
}, this)]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 23,
\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: 33,
\n
columnNumber: 11
\n
}, this)
\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 32,
\n
columnNumber: 9
\n
}, this)]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 22,
\n
columnNumber: 7
\n
}, this);
\n
} else {
\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: 42,
\n
columnNumber: 9
\n
}, this)
\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 41,
\n
columnNumber: 7
\n
}, this);
\n
}
\n
};
\n\n
_s(Home,
\"
/7FunoA1ejJNU8uKGTy1GZFqU2I=
\"
, false, function () {
\n
return [useOktaAuth];
\n
});
\n\n
_c = Home;
\n
export default Home;
\n\n
var _c;
\n\n
$RefreshReg$(_c,
\"
Home
\"
);"
,
"map"
:{
"version"
:
3
,
"sources"
:[
"C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/home/Home.jsx"
],
"names"
:[
"useOktaAuth"
,
"React"
,
"useState"
,
"useEffect"
,
"NavLink"
,
"FontAwesomeIcon"
,
"Updates"
,
"Home"
,
"authState"
,
"oktaAuth"
,
"userInfo"
,
"setUserInfo"
,
"fetchData"
,
"response"
,
"fetch"
,
"JSON"
,
"parse"
,
"localStorage"
,
"getItem"
,
"idToken"
,
"claims"
,
"name"
],
"mappings"
:
";;;AAAA,SAASA,WAAT,QAA4B,kBAA5B;AACA,OAAOC,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;;;AAEA,MAAMC,IAAI,GAAG,MAAM;AAAA;;AACjB,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA;AAAb,MAA0BT,WAAW,EAA3C;AACA,QAAM,CAACU,QAAD,EAAWC,WAAX,IAA0BT,QAAQ,CAAC,IAAD,CAAxC;AAEAC,EAAAA,SAAS,CAAC,MAAM;AACd,UAAMS,SAAS,GAAG,YAAY;AAC5B,YAAMC,QAAQ,GAAG,MAAMC,KAAK,CAACC,IAAI,CAACC,KAAL,CAAWC,YAAY,CAACC,OAAb,CAAqB,oBAArB,CAAX,EAAuDC,OAAvD,CAA+DC,MAAhE,CAA5B;AACAT,MAAAA,WAAW,CAACQ,OAAD,CAAX;AACD,KAHD;AAKD,GANQ,CAAT;;AAQA,MAAIT,QAAJ,EAAc;AACZ,wBACE;AAAK,MAAA,SAAS,EAAC,oBAAf;AAAA,8BACE;AAAK,QAAA,SAAS,EAAC,gBAAf;AAAA,gCACE;AAAI,UAAA,SAAS,EAAC,cAAd;AAAA,iCAAsCA,QAAQ,CAACW,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,wBACE;AAAK,MAAA,SAAS,EAAC,oBAAf;AAAA,6BACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,YADF;AAKD;AAGF,CAxCD;;GAAMd,I;UAC4BP,W;;;KAD5BO,I;AA0CN,eAAeA,IAAf"
,
"sourcesContent"
:[
"import { useOktaAuth } from
\"
@okta/okta-react
\"
;
\r\n
import React, { useState, useEffect } from 'react'
\r\n
import { NavLink } from 'react-router-dom'
\r\n
import
\"
./Home.css
\"\r\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
\r\n
import Updates from './updates/Updates'
\r\n\r\n
const Home = () => {
\r\n
const { authState, oktaAuth } = useOktaAuth();
\r\n
const [userInfo, setUserInfo] = useState(null);
\r\n\r\n
useEffect(() => {
\r\n
const fetchData = async () => {
\r\n
const response = await fetch(JSON.parse(localStorage.getItem('okta-token-storage')).idToken.claims)
\r\n
setUserInfo(idToken)
\r\n
}
\r\n\r\n
})
\r\n\r\n
if (userInfo) {
\r\n
return (
\r\n
<div className=
\"
homepage-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
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
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\n
export default Home"
]},
"metadata"
:{},
"sourceType"
:
"module"
}
\ No newline at end of file
client/node_modules/.cache/babel-loader/3d598f7bf119d81e15fc9260b8b26cb8.json
0 → 100644
View file @
a49a34cc
{
"ast"
:
null
,
"code"
:
"var _jsxFileName =
\"
C:
\\\\
Users
\\\\
Bruger
\\\\
Desktop
\\\\
Web-projects
\\\\
pipit
\\\\
client
\\\\
src
\\\\
components
\\\\
home
\\\\
Home.jsx
\"
,
\n
_s = $RefreshSig$();
\n\n
import { useOktaAuth } from
\"
@okta/okta-react
\"
;
\n
import React, { useState, useEffect } from 'react';
\n
import { NavLink } from 'react-router-dom';
\n
import
\"
./Home.css
\"
;
\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
\n
import Updates from './updates/Updates';
\n
import { jsxDEV as _jsxDEV } from
\"
react/jsx-dev-runtime
\"
;
\n\n
const Home = () => {
\n
_s();
\n\n
const {
\n
authState,
\n
oktaAuth
\n
} = useOktaAuth();
\n
const [userInfo, setUserInfo] = useState(null);
\n
useEffect(() => {
\n
if (!authState.isAuthenticated) {
\n
// When user isn't authenticated, forget any user info
\n
setUserInfo(null);
\n
} else {
\n
oktaAuth.token.getUserInfo().then(info => {
\n
setUserInfo(info);
\n
});
\n
}
\n
}, [authState, oktaAuth]); // Update if authState changes
\n\n
return /*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
homepage-container
\"
,
\n
children: [/*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
content-header
\"
,
\n
children: [/*#__PURE__*/_jsxDEV(
\"
h2
\"
, {
\n
className:
\"
welcome-text
\"
,
\n
children: [
\"
Welcome
\"
, userInfo ? userInfo.given_name : null,
\"
!
\"
]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 26,
\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: 29,
\n
columnNumber: 13
\n
}, this),
\"\\
xA0
\\
xA0Report issues
\"
]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 28,
\n
columnNumber: 11
\n
}, this)
\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 27,
\n
columnNumber: 9
\n
}, this)]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 25,
\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: 35,
\n
columnNumber: 9
\n
}, this)
\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 34,
\n
columnNumber: 7
\n
}, this)]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 24,
\n
columnNumber: 5
\n
}, this);
\n
};
\n\n
_s(Home,
\"
/7FunoA1ejJNU8uKGTy1GZFqU2I=
\"
, false, function () {
\n
return [useOktaAuth];
\n
});
\n\n
_c = Home;
\n
export default Home;
\n\n
var _c;
\n\n
$RefreshReg$(_c,
\"
Home
\"
);"
,
"map"
:{
"version"
:
3
,
"sources"
:[
"C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/home/Home.jsx"
],
"names"
:[
"useOktaAuth"
,
"React"
,
"useState"
,
"useEffect"
,
"NavLink"
,
"FontAwesomeIcon"
,
"Updates"
,
"Home"
,
"authState"
,
"oktaAuth"
,
"userInfo"
,
"setUserInfo"
,
"isAuthenticated"
,
"token"
,
"getUserInfo"
,
"then"
,
"info"
,
"given_name"
],
"mappings"
:
";;;AAAA,SAASA,WAAT,QAA4B,kBAA5B;AACA,OAAOC,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;;;AAEA,MAAMC,IAAI,GAAG,MAAM;AAAA;;AACjB,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA;AAAb,MAA0BT,WAAW,EAA3C;AACA,QAAM,CAACU,QAAD,EAAWC,WAAX,IAA0BT,QAAQ,CAAC,IAAD,CAAxC;AAEAC,EAAAA,SAAS,CAAC,MAAM;AACd,QAAI,CAACK,SAAS,CAACI,eAAf,EAAgC;AAC9B;AACAD,MAAAA,WAAW,CAAC,IAAD,CAAX;AACD,KAHD,MAGO;AACLF,MAAAA,QAAQ,CAACI,KAAT,CAAeC,WAAf,GAA6BC,IAA7B,CAAkCC,IAAI,IAAI;AACxCL,QAAAA,WAAW,CAACK,IAAD,CAAX;AACD,OAFD;AAGD;AACF,GATQ,EASN,CAACR,SAAD,EAAYC,QAAZ,CATM,CAAT,CAJiB,CAaU;;AAE3B,sBACE;AAAK,IAAA,SAAS,EAAC,oBAAf;AAAA,4BACE;AAAK,MAAA,SAAS,EAAC,gBAAf;AAAA,8BACE;AAAI,QAAA,SAAS,EAAC,cAAd;AAAA,+BAAsCC,QAAQ,GAAGA,QAAQ,CAACO,UAAZ,GAAyB,IAAvE;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,CA/BD;;GAAMV,I;UAC4BP,W;;;KAD5BO,I;AAiCN,eAAeA,IAAf"
,
"sourcesContent"
:[
"import { useOktaAuth } from
\"
@okta/okta-react
\"
;
\r\n
import React, { useState, useEffect } from 'react'
\r\n
import { NavLink } from 'react-router-dom'
\r\n
import
\"
./Home.css
\"\r\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
\r\n
import Updates from './updates/Updates'
\r\n\r\n
const Home = () => {
\r\n
const { authState, oktaAuth } = useOktaAuth();
\r\n
const [userInfo, setUserInfo] = useState(null);
\r\n\r\n
useEffect(() => {
\r\n
if (!authState.isAuthenticated) {
\r\n
// When user isn't authenticated, forget any user info
\r\n
setUserInfo(null);
\r\n
} else {
\r\n
oktaAuth.token.getUserInfo().then(info => {
\r\n
setUserInfo(info);
\r\n
});
\r\n
}
\r\n
}, [authState, oktaAuth]); // Update if authState changes
\r\n\r\n
return (
\r\n
<div className=
\"
homepage-container
\"
>
\r\n
<div className=
\"
content-header
\"
>
\r\n
<h2 className=
\"
welcome-text
\"
>Welcome {userInfo ? userInfo.given_name : null}!</h2>
\r\n
<NavLink to=
\"
/reportissue
\"
>
\r\n
<button className=
\"
report-new-issue-button
\"
>
\r\n
<FontAwesomeIcon icon=
\"
exclamation-triangle
\"
></FontAwesomeIcon>
\r\n
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
export default Home"
]},
"metadata"
:{},
"sourceType"
:
"module"
}
\ No newline at end of file
client/node_modules/.cache/babel-loader/43e608951ce6240807b269c69f156dd9.json
0 → 100644
View file @
a49a34cc
{
"ast"
:
null
,
"code"
:
"var _jsxFileName =
\"
C:
\\\\
Users
\\\\
Bruger
\\\\
Desktop
\\\\
Web-projects
\\\\
pipit
\\\\
client
\\\\
src
\\\\
components
\\\\
home
\\\\
Home.jsx
\"
,
\n
_s = $RefreshSig$();
\n\n
import { useOktaAuth } from
\"
@okta/okta-react
\"
;
\n
import React, { useState, useEffect } from 'react';
\n
import { NavLink } from 'react-router-dom';
\n
import
\"
./Home.css
\"
;
\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
\n
import Updates from './updates/Updates';
\n
import { jsxDEV as _jsxDEV } from
\"
react/jsx-dev-runtime
\"
;
\n\n
const Home = () => {
\n
_s();
\n\n
const {
\n
authState,
\n
oktaAuth
\n
} = useOktaAuth();
\n
const [userInfo, setUserInfo] = useState(null);
\n
const idToken = JSON.parse(localStorage.getItem('okta-token-storage')).idToken.claims;
\n
useEffect(() => {
\n
setUserInfo(idToken);
\n
console.log(userInfo);
\n
}, []);
\n\n
if (userInfo) {
\n
return /*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
homepage-container
\"
,
\n
children: [/*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
content-header
\"
,
\n
children: [/*#__PURE__*/_jsxDEV(
\"
h2
\"
, {
\n
className:
\"
welcome-text
\"
,
\n
children:
\"
Welcome!
\"\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 22,
\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: 25,
\n
columnNumber: 15
\n
}, this),
\"\\
xA0
\\
xA0Report issues
\"
]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 24,
\n
columnNumber: 13
\n
}, this)
\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 23,
\n
columnNumber: 11
\n
}, this)]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 21,
\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: 31,
\n
columnNumber: 11
\n
}, this)
\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 30,
\n
columnNumber: 9
\n
}, this)]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 20,
\n
columnNumber: 7
\n
}, this);
\n
} else {
\n
return /*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
homepage-container
\"
,
\n
children: /*#__PURE__*/_jsxDEV(
\"
h3
\"
, {
\n
children:
\"
Loading...
\"\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,
\"
/7FunoA1ejJNU8uKGTy1GZFqU2I=
\"
, false, function () {
\n
return [useOktaAuth];
\n
});
\n\n
_c = Home;
\n
export default Home;
\n\n
var _c;
\n\n
$RefreshReg$(_c,
\"
Home
\"
);"
,
"map"
:{
"version"
:
3
,
"sources"
:[
"C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/home/Home.jsx"
],
"names"
:[
"useOktaAuth"
,
"React"
,
"useState"
,
"useEffect"
,
"NavLink"
,
"FontAwesomeIcon"
,
"Updates"
,
"Home"
,
"authState"
,
"oktaAuth"
,
"userInfo"
,
"setUserInfo"
,
"idToken"
,
"JSON"
,
"parse"
,
"localStorage"
,
"getItem"
,
"claims"
,
"console"
,
"log"
],
"mappings"
:
";;;AAAA,SAASA,WAAT,QAA4B,kBAA5B;AACA,OAAOC,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;;;AAEA,MAAMC,IAAI,GAAG,MAAM;AAAA;;AACjB,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA;AAAb,MAA0BT,WAAW,EAA3C;AACA,QAAM,CAACU,QAAD,EAAWC,WAAX,IAA0BT,QAAQ,CAAC,IAAD,CAAxC;AACA,QAAMU,OAAO,GAAGC,IAAI,CAACC,KAAL,CAAWC,YAAY,CAACC,OAAb,CAAqB,oBAArB,CAAX,EAAuDJ,OAAvD,CAA+DK,MAA/E;AAEAd,EAAAA,SAAS,CAAC,MAAM;AACdQ,IAAAA,WAAW,CAACC,OAAD,CAAX;AACAM,IAAAA,OAAO,CAACC,GAAR,CAAYT,QAAZ;AACD,GAHQ,EAGN,EAHM,CAAT;;AAKA,MAAIA,QAAJ,EAAc;AACZ,wBACE;AAAK,MAAA,SAAS,EAAC,oBAAf;AAAA,8BACE;AAAK,QAAA,SAAS,EAAC,gBAAf;AAAA,gCACE;AAAI,UAAA,SAAS,EAAC,cAAd;AAAA;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,wBACE;AAAK,MAAA,SAAS,EAAC,oBAAf;AAAA,6BACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,YADF;AAKD;AAGF,CAtCD;;GAAMH,I;UAC4BP,W;;;KAD5BO,I;AAwCN,eAAeA,IAAf"
,
"sourcesContent"
:[
"import { useOktaAuth } from
\"
@okta/okta-react
\"
;
\r\n
import React, { useState, useEffect } from 'react'
\r\n
import { NavLink } from 'react-router-dom'
\r\n
import
\"
./Home.css
\"\r\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
\r\n
import Updates from './updates/Updates'
\r\n\r\n
const Home = () => {
\r\n
const { authState, oktaAuth } = useOktaAuth();
\r\n
const [userInfo, setUserInfo] = useState(null);
\r\n
const idToken = JSON.parse(localStorage.getItem('okta-token-storage')).idToken.claims
\r\n\r\n
useEffect(() => {
\r\n
setUserInfo(idToken)
\r\n
console.log(userInfo)
\r\n
}, [])
\r\n\r\n
if (userInfo) {
\r\n
return (
\r\n
<div className=
\"
homepage-container
\"
>
\r\n
<div className=
\"
content-header
\"
>
\r\n
<h2 className=
\"
welcome-text
\"
>Welcome!</h2>
\r\n
<NavLink to=
\"
/reportissue
\"
>
\r\n
<button className=
\"
report-new-issue-button
\"
>
\r\n
<FontAwesomeIcon icon=
\"
exclamation-triangle
\"
></FontAwesomeIcon>
\r\n
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
return (
\r\n
<div className=
\"
homepage-container
\"
>
\r\n
<h3>Loading...</h3>
\r\n
</div>
\r\n
)
\r\n
}
\r\n\r\n\r\n
}
\r\n\r\n
export default Home"
]},
"metadata"
:{},
"sourceType"
:
"module"
}
\ No newline at end of file
client/node_modules/.cache/babel-loader/4a19edc4dac4777da016ec6b5e992404.json
0 → 100644
View file @
a49a34cc
{
"ast"
:
null
,
"code"
:
"var _jsxFileName =
\"
C:
\\\\
Users
\\\\
Bruger
\\\\
Desktop
\\\\
Web-projects
\\\\
pipit
\\\\
client
\\\\
src
\\\\
components
\\\\
home
\\\\
Home.jsx
\"
,
\n
_s = $RefreshSig$();
\n\n
import { useOktaAuth } from
\"
@okta/okta-react
\"
;
\n
import React, { useState, useEffect } from 'react';
\n
import { NavLink } from 'react-router-dom';
\n
import
\"
./Home.css
\"
;
\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
\n
import Updates from './updates/Updates';
\n
import { jsxDEV as _jsxDEV } from
\"
react/jsx-dev-runtime
\"
;
\n\n
const Home = () => {
\n
_s();
\n\n
const {
\n
authState,
\n
oktaAuth
\n
} = useOktaAuth();
\n
const [userInfo, setUserInfo] = useState(null);
\n
const idToken = JSON.parse(localStorage.getItem('okta-token-storage')).idToken.claims;
\n
useEffect(() => {
\n
setUserInfo(idToken);
\n
}, []);
\n
return /*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
homepage-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: 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,
\"
/7FunoA1ejJNU8uKGTy1GZFqU2I=
\"
, false, function () {
\n
return [useOktaAuth];
\n
});
\n\n
_c = Home;
\n
export default Home;
\n\n
var _c;
\n\n
$RefreshReg$(_c,
\"
Home
\"
);"
,
"map"
:{
"version"
:
3
,
"sources"
:[
"C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/home/Home.jsx"
],
"names"
:[
"useOktaAuth"
,
"React"
,
"useState"
,
"useEffect"
,
"NavLink"
,
"FontAwesomeIcon"
,
"Updates"
,
"Home"
,
"authState"
,
"oktaAuth"
,
"userInfo"
,
"setUserInfo"
,
"idToken"
,
"JSON"
,
"parse"
,
"localStorage"
,
"getItem"
,
"claims"
,
"name"
],
"mappings"
:
";;;AAAA,SAASA,WAAT,QAA4B,kBAA5B;AACA,OAAOC,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;;;AAEA,MAAMC,IAAI,GAAG,MAAM;AAAA;;AACjB,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA;AAAb,MAA0BT,WAAW,EAA3C;AACA,QAAM,CAACU,QAAD,EAAWC,WAAX,IAA0BT,QAAQ,CAAC,IAAD,CAAxC;AACA,QAAMU,OAAO,GAAGC,IAAI,CAACC,KAAL,CAAWC,YAAY,CAACC,OAAb,CAAqB,oBAArB,CAAX,EAAuDJ,OAAvD,CAA+DK,MAA/E;AAEAd,EAAAA,SAAS,CAAC,MAAM;AACdQ,IAAAA,WAAW,CAACC,OAAD,CAAX;AACD,GAFQ,EAEN,EAFM,CAAT;AAIA,sBACE;AAAK,IAAA,SAAS,EAAC,oBAAf;AAAA,4BACE;AAAK,MAAA,SAAS,EAAC,gBAAf;AAAA,8BACE;AAAI,QAAA,SAAS,EAAC,cAAd;AAAA,+BAAsCF,QAAQ,CAACQ,IAA/C;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;;GAAMX,I;UAC4BP,W;;;KAD5BO,I;AA2BN,eAAeA,IAAf"
,
"sourcesContent"
:[
"import { useOktaAuth } from
\"
@okta/okta-react
\"
;
\r\n
import React, { useState, useEffect } from 'react'
\r\n
import { NavLink } from 'react-router-dom'
\r\n
import
\"
./Home.css
\"\r\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
\r\n
import Updates from './updates/Updates'
\r\n\r\n
const Home = () => {
\r\n
const { authState, oktaAuth } = useOktaAuth();
\r\n
const [userInfo, setUserInfo] = useState(null);
\r\n
const idToken = JSON.parse(localStorage.getItem('okta-token-storage')).idToken.claims
\r\n\r\n
useEffect(() => {
\r\n
setUserInfo(idToken)
\r\n
}, [])
\r\n\r\n
return (
\r\n
<div className=
\"
homepage-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
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
export default Home"
]},
"metadata"
:{},
"sourceType"
:
"module"
}
\ No newline at end of file
client/node_modules/.cache/babel-loader/4ce76a16799aa5bc16512e6a07e8b470.json
0 → 100644
View file @
a49a34cc
{
"ast"
:
null
,
"code"
:
"var _jsxFileName =
\"
C:
\\\\
Users
\\\\
Bruger
\\\\
Desktop
\\\\
Web-projects
\\\\
pipit
\\\\
client
\\\\
src
\\\\
components
\\\\
home
\\\\
Home.jsx
\"
,
\n
_s = $RefreshSig$();
\n\n
import { useOktaAuth } from
\"
@okta/okta-react
\"
;
\n
import React, { useState, useEffect } from 'react';
\n
import { NavLink } from 'react-router-dom';
\n
import
\"
./Home.css
\"
;
\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
\n
import Updates from './updates/Updates';
\n
import { jsxDEV as _jsxDEV } from
\"
react/jsx-dev-runtime
\"
;
\n\n
const Home = () => {
\n
_s();
\n\n
const {
\n
authState,
\n
oktaAuth
\n
} = useOktaAuth();
\n
const [userInfo, setUserInfo] = useState(null);
\n
useEffect(() => {
\n
if (!authState.isAuthenticated) {
\n
// When user isn't authenticated, forget any user info
\n
setUserInfo(null);
\n
} else {
\n
oktaAuth.token.getUserInfo().then(info => {
\n
setUserInfo(info);
\n
});
\n
}
\n
}, [authState, oktaAuth]); // Update if authState changes
\n\n
return /*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
homepage-container
\"
,
\n
children: [/*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
content-header
\"
,
\n
children: [/*#__PURE__*/_jsxDEV(
\"
h2
\"
, {
\n
className:
\"
welcome-text
\"
,
\n
children: [
\"
\"
, userInfo ?
\"
Weclome
\"
+ userInfo.given_name +
\"
!
\"
: null]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 26,
\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: 29,
\n
columnNumber: 13
\n
}, this),
\"\\
xA0
\\
xA0Report issues
\"
]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 28,
\n
columnNumber: 11
\n
}, this)
\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 27,
\n
columnNumber: 9
\n
}, this)]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 25,
\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: 35,
\n
columnNumber: 9
\n
}, this)
\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 34,
\n
columnNumber: 7
\n
}, this)]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 24,
\n
columnNumber: 5
\n
}, this);
\n
};
\n\n
_s(Home,
\"
/7FunoA1ejJNU8uKGTy1GZFqU2I=
\"
, false, function () {
\n
return [useOktaAuth];
\n
});
\n\n
_c = Home;
\n
export default Home;
\n\n
var _c;
\n\n
$RefreshReg$(_c,
\"
Home
\"
);"
,
"map"
:{
"version"
:
3
,
"sources"
:[
"C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/home/Home.jsx"
],
"names"
:[
"useOktaAuth"
,
"React"
,
"useState"
,
"useEffect"
,
"NavLink"
,
"FontAwesomeIcon"
,
"Updates"
,
"Home"
,
"authState"
,
"oktaAuth"
,
"userInfo"
,
"setUserInfo"
,
"isAuthenticated"
,
"token"
,
"getUserInfo"
,
"then"
,
"info"
,
"given_name"
],
"mappings"
:
";;;AAAA,SAASA,WAAT,QAA4B,kBAA5B;AACA,OAAOC,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;;;AAEA,MAAMC,IAAI,GAAG,MAAM;AAAA;;AACjB,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA;AAAb,MAA0BT,WAAW,EAA3C;AACA,QAAM,CAACU,QAAD,EAAWC,WAAX,IAA0BT,QAAQ,CAAC,IAAD,CAAxC;AAEAC,EAAAA,SAAS,CAAC,MAAM;AACd,QAAI,CAACK,SAAS,CAACI,eAAf,EAAgC;AAC9B;AACAD,MAAAA,WAAW,CAAC,IAAD,CAAX;AACD,KAHD,MAGO;AACLF,MAAAA,QAAQ,CAACI,KAAT,CAAeC,WAAf,GAA6BC,IAA7B,CAAkCC,IAAI,IAAI;AACxCL,QAAAA,WAAW,CAACK,IAAD,CAAX;AACD,OAFD;AAGD;AACF,GATQ,EASN,CAACR,SAAD,EAAYC,QAAZ,CATM,CAAT,CAJiB,CAaU;;AAE3B,sBACE;AAAK,IAAA,SAAS,EAAC,oBAAf;AAAA,4BACE;AAAK,MAAA,SAAS,EAAC,gBAAf;AAAA,8BACE;AAAI,QAAA,SAAS,EAAC,cAAd;AAAA,wBAA+BC,QAAQ,GAAG,YAAYA,QAAQ,CAACO,UAArB,GAAkC,GAArC,GAA2C,IAAlF;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,CA/BD;;GAAMV,I;UAC4BP,W;;;KAD5BO,I;AAiCN,eAAeA,IAAf"
,
"sourcesContent"
:[
"import { useOktaAuth } from
\"
@okta/okta-react
\"
;
\r\n
import React, { useState, useEffect } from 'react'
\r\n
import { NavLink } from 'react-router-dom'
\r\n
import
\"
./Home.css
\"\r\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
\r\n
import Updates from './updates/Updates'
\r\n\r\n
const Home = () => {
\r\n
const { authState, oktaAuth } = useOktaAuth();
\r\n
const [userInfo, setUserInfo] = useState(null);
\r\n\r\n
useEffect(() => {
\r\n
if (!authState.isAuthenticated) {
\r\n
// When user isn't authenticated, forget any user info
\r\n
setUserInfo(null);
\r\n
} else {
\r\n
oktaAuth.token.getUserInfo().then(info => {
\r\n
setUserInfo(info);
\r\n
});
\r\n
}
\r\n
}, [authState, oktaAuth]); // Update if authState changes
\r\n\r\n
return (
\r\n
<div className=
\"
homepage-container
\"
>
\r\n
<div className=
\"
content-header
\"
>
\r\n
<h2 className=
\"
welcome-text
\"
> {userInfo ?
\"
Weclome
\"
+ userInfo.given_name +
\"
!
\"
: null}</h2>
\r\n
<NavLink to=
\"
/reportissue
\"
>
\r\n
<button className=
\"
report-new-issue-button
\"
>
\r\n
<FontAwesomeIcon icon=
\"
exclamation-triangle
\"
></FontAwesomeIcon>
\r\n
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
export default Home"
]},
"metadata"
:{},
"sourceType"
:
"module"
}
\ No newline at end of file
client/node_modules/.cache/babel-loader/57ae941e1f843db0f83f2365de1f21e4.json
0 → 100644
View file @
a49a34cc
{
"ast"
:
null
,
"code"
:
"var _jsxFileName =
\"
C:
\\\\
Users
\\\\
Bruger
\\\\
Desktop
\\\\
Web-projects
\\\\
pipit
\\\\
client
\\\\
src
\\\\
components
\\\\
home
\\\\
Home.jsx
\"
,
\n
_s = $RefreshSig$();
\n\n
import { useOktaAuth } from
\"
@okta/okta-react
\"
;
\n
import React, { useState, useEffect } from 'react';
\n
import { NavLink } from 'react-router-dom';
\n
import
\"
./Home.css
\"
;
\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
\n
import Updates from './updates/Updates';
\n
import { jsxDEV as _jsxDEV } from
\"
react/jsx-dev-runtime
\"
;
\n\n
const Home = () => {
\n
_s();
\n\n
const {
\n
authState,
\n
oktaAuth
\n
} = useOktaAuth();
\n
const [userInfo, setUserInfo] = useState(null);
\n
const idToken = JSON.parse(localStorage.getItem('okta-token-storage')).idToken.claims;
\n
useEffect(() => {
\n
setUserInfo(idToken);
\n
});
\n\n
if (userInfo) {
\n
return /*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
homepage-container
\"
,
\n
children: [/*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
content-header
\"
,
\n
children: [/*#__PURE__*/_jsxDEV(
\"
h2
\"
, {
\n
className:
\"
welcome-text
\"
,
\n
children: [
\"
Welcome
\"
, userInfo.given_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
return /*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
homepage-container
\"
,
\n
children: /*#__PURE__*/_jsxDEV(
\"
h3
\"
, {
\n
children:
\"
Loading...
\"\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 39,
\n
columnNumber: 9
\n
}, this)
\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 38,
\n
columnNumber: 7
\n
}, this);
\n
}
\n
};
\n\n
_s(Home,
\"
/7FunoA1ejJNU8uKGTy1GZFqU2I=
\"
, false, function () {
\n
return [useOktaAuth];
\n
});
\n\n
_c = Home;
\n
export default Home;
\n\n
var _c;
\n\n
$RefreshReg$(_c,
\"
Home
\"
);"
,
"map"
:{
"version"
:
3
,
"sources"
:[
"C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/home/Home.jsx"
],
"names"
:[
"useOktaAuth"
,
"React"
,
"useState"
,
"useEffect"
,
"NavLink"
,
"FontAwesomeIcon"
,
"Updates"
,
"Home"
,
"authState"
,
"oktaAuth"
,
"userInfo"
,
"setUserInfo"
,
"idToken"
,
"JSON"
,
"parse"
,
"localStorage"
,
"getItem"
,
"claims"
,
"given_name"
],
"mappings"
:
";;;AAAA,SAASA,WAAT,QAA4B,kBAA5B;AACA,OAAOC,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;;;AAEA,MAAMC,IAAI,GAAG,MAAM;AAAA;;AACjB,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA;AAAb,MAA0BT,WAAW,EAA3C;AACA,QAAM,CAACU,QAAD,EAAWC,WAAX,IAA0BT,QAAQ,CAAC,IAAD,CAAxC;AACA,QAAMU,OAAO,GAAGC,IAAI,CAACC,KAAL,CAAWC,YAAY,CAACC,OAAb,CAAqB,oBAArB,CAAX,EAAuDJ,OAAvD,CAA+DK,MAA/E;AAEAd,EAAAA,SAAS,CAAC,MAAM;AACdQ,IAAAA,WAAW,CAACC,OAAD,CAAX;AACD,GAFQ,CAAT;;AAIA,MAAIF,QAAJ,EAAc;AACZ,wBACE;AAAK,MAAA,SAAS,EAAC,oBAAf;AAAA,8BACE;AAAK,QAAA,SAAS,EAAC,gBAAf;AAAA,gCACE;AAAI,UAAA,SAAS,EAAC,cAAd;AAAA,iCAAsCA,QAAQ,CAACQ,UAA/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,wBACE;AAAK,MAAA,SAAS,EAAC,oBAAf;AAAA,6BACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,YADF;AAKD;AAGF,CArCD;;GAAMX,I;UAC4BP,W;;;KAD5BO,I;AAuCN,eAAeA,IAAf"
,
"sourcesContent"
:[
"import { useOktaAuth } from
\"
@okta/okta-react
\"
;
\r\n
import React, { useState, useEffect } from 'react'
\r\n
import { NavLink } from 'react-router-dom'
\r\n
import
\"
./Home.css
\"\r\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
\r\n
import Updates from './updates/Updates'
\r\n\r\n
const Home = () => {
\r\n
const { authState, oktaAuth } = useOktaAuth();
\r\n
const [userInfo, setUserInfo] = useState(null);
\r\n
const idToken = JSON.parse(localStorage.getItem('okta-token-storage')).idToken.claims
\r\n\r\n
useEffect(() => {
\r\n
setUserInfo(idToken)
\r\n
})
\r\n\r\n
if (userInfo) {
\r\n
return (
\r\n
<div className=
\"
homepage-container
\"
>
\r\n
<div className=
\"
content-header
\"
>
\r\n
<h2 className=
\"
welcome-text
\"
>Welcome {userInfo.given_name}!</h2>
\r\n
<NavLink to=
\"
/reportissue
\"
>
\r\n
<button className=
\"
report-new-issue-button
\"
>
\r\n
<FontAwesomeIcon icon=
\"
exclamation-triangle
\"
></FontAwesomeIcon>
\r\n
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
return (
\r\n
<div className=
\"
homepage-container
\"
>
\r\n
<h3>Loading...</h3>
\r\n
</div>
\r\n
)
\r\n
}
\r\n\r\n\r\n
}
\r\n\r\n
export default Home"
]},
"metadata"
:{},
"sourceType"
:
"module"
}
\ No newline at end of file
client/node_modules/.cache/babel-loader/57d71be0d87df9bc4f84c632388d25e6.json
0 → 100644
View file @
a49a34cc
{
"ast"
:
null
,
"code"
:
"var _jsxFileName =
\"
C:
\\\\
Users
\\\\
Bruger
\\\\
Desktop
\\\\
Web-projects
\\\\
pipit
\\\\
client
\\\\
src
\\\\
components
\\\\
home
\\\\
Home.jsx
\"
,
\n
_s = $RefreshSig$();
\n\n
import { useOktaAuth } from
\"
@okta/okta-react
\"
;
\n
import React, { useState, useEffect } from 'react';
\n
import { NavLink } from 'react-router-dom';
\n
import
\"
./Home.css
\"
;
\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
\n
import Updates from './updates/Updates';
\n
import { jsxDEV as _jsxDEV } from
\"
react/jsx-dev-runtime
\"
;
\n\n
const Home = () => {
\n
_s();
\n\n
const {
\n
authState,
\n
oktaAuth
\n
} = useOktaAuth();
\n
const [userInfo, setUserInfo] = useState(null);
\n
useEffect(() => {
\n
if (!authState.isAuthenticated) {
\n
// When user isn't authenticated, forget any user info
\n
setUserInfo(null);
\n
} else {
\n
oktaAuth.token.getUserInfo().then(info => {
\n
setUserInfo(info);
\n
});
\n
}
\n
}, [authState, oktaAuth]); // Update if authState changes
\n\n
if (!userInfo === null) {
\n
return /*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
homepage-container
\"
,
\n
children: [/*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
content-header
\"
,
\n
children: [/*#__PURE__*/_jsxDEV(
\"
h2
\"
, {
\n
className:
\"
welcome-text
\"
,
\n
children: [
\"
Welcome
\"
, userInfo.given_name,
\"
!
\"
]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 27,
\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: 30,
\n
columnNumber: 15
\n
}, this),
\"\\
xA0
\\
xA0Report issues
\"
]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 29,
\n
columnNumber: 13
\n
}, this)
\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 28,
\n
columnNumber: 11
\n
}, this)]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 26,
\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: 36,
\n
columnNumber: 11
\n
}, this)
\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 35,
\n
columnNumber: 9
\n
}, this)]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 25,
\n
columnNumber: 7
\n
}, this);
\n
} else {
\n
return null;
\n
}
\n
};
\n\n
_s(Home,
\"
/7FunoA1ejJNU8uKGTy1GZFqU2I=
\"
, false, function () {
\n
return [useOktaAuth];
\n
});
\n\n
_c = Home;
\n
export default Home;
\n\n
var _c;
\n\n
$RefreshReg$(_c,
\"
Home
\"
);"
,
"map"
:{
"version"
:
3
,
"sources"
:[
"C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/home/Home.jsx"
],
"names"
:[
"useOktaAuth"
,
"React"
,
"useState"
,
"useEffect"
,
"NavLink"
,
"FontAwesomeIcon"
,
"Updates"
,
"Home"
,
"authState"
,
"oktaAuth"
,
"userInfo"
,
"setUserInfo"
,
"isAuthenticated"
,
"token"
,
"getUserInfo"
,
"then"
,
"info"
,
"given_name"
],
"mappings"
:
";;;AAAA,SAASA,WAAT,QAA4B,kBAA5B;AACA,OAAOC,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;;;AAEA,MAAMC,IAAI,GAAG,MAAM;AAAA;;AACjB,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA;AAAb,MAA0BT,WAAW,EAA3C;AACA,QAAM,CAACU,QAAD,EAAWC,WAAX,IAA0BT,QAAQ,CAAC,IAAD,CAAxC;AAEAC,EAAAA,SAAS,CAAC,MAAM;AACd,QAAI,CAACK,SAAS,CAACI,eAAf,EAAgC;AAC9B;AACAD,MAAAA,WAAW,CAAC,IAAD,CAAX;AACD,KAHD,MAGO;AACLF,MAAAA,QAAQ,CAACI,KAAT,CAAeC,WAAf,GAA6BC,IAA7B,CAAkCC,IAAI,IAAI;AACxCL,QAAAA,WAAW,CAACK,IAAD,CAAX;AACD,OAFD;AAGD;AACF,GATQ,EASN,CAACR,SAAD,EAAYC,QAAZ,CATM,CAAT,CAJiB,CAaU;;AAE3B,MAAI,CAACC,QAAD,KAAc,IAAlB,EAAwB;AACtB,wBACE;AAAK,MAAA,SAAS,EAAC,oBAAf;AAAA,8BACE;AAAK,QAAA,SAAS,EAAC,gBAAf;AAAA,gCACE;AAAI,UAAA,SAAS,EAAC,cAAd;AAAA,iCAAsCA,QAAQ,CAACO,UAA/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,WAAO,IAAP;AACD;AAGF,CAvCD;;GAAMV,I;UAC4BP,W;;;KAD5BO,I;AAyCN,eAAeA,IAAf"
,
"sourcesContent"
:[
"import { useOktaAuth } from
\"
@okta/okta-react
\"
;
\r\n
import React, { useState, useEffect } from 'react'
\r\n
import { NavLink } from 'react-router-dom'
\r\n
import
\"
./Home.css
\"\r\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
\r\n
import Updates from './updates/Updates'
\r\n\r\n
const Home = () => {
\r\n
const { authState, oktaAuth } = useOktaAuth();
\r\n
const [userInfo, setUserInfo] = useState(null);
\r\n\r\n
useEffect(() => {
\r\n
if (!authState.isAuthenticated) {
\r\n
// When user isn't authenticated, forget any user info
\r\n
setUserInfo(null);
\r\n
} else {
\r\n
oktaAuth.token.getUserInfo().then(info => {
\r\n
setUserInfo(info);
\r\n
});
\r\n
}
\r\n
}, [authState, oktaAuth]); // Update if authState changes
\r\n\r\n
if (!userInfo === null) {
\r\n
return (
\r\n
<div className=
\"
homepage-container
\"
>
\r\n
<div className=
\"
content-header
\"
>
\r\n
<h2 className=
\"
welcome-text
\"
>Welcome {userInfo.given_name}!</h2>
\r\n
<NavLink to=
\"
/reportissue
\"
>
\r\n
<button className=
\"
report-new-issue-button
\"
>
\r\n
<FontAwesomeIcon icon=
\"
exclamation-triangle
\"
></FontAwesomeIcon>
\r\n
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
return null
\r\n
}
\r\n\r\n\r\n
}
\r\n\r\n
export default Home"
]},
"metadata"
:{},
"sourceType"
:
"module"
}
\ No newline at end of file
client/node_modules/.cache/babel-loader/5cd6f574d7d038dc21229f2e40143764.json
0 → 100644
View file @
a49a34cc
{
"ast"
:
null
,
"code"
:
"var _jsxFileName =
\"
C:
\\\\
Users
\\\\
Bruger
\\\\
Desktop
\\\\
Web-projects
\\\\
pipit
\\\\
client
\\\\
src
\\\\
components
\\\\
home
\\\\
Home.jsx
\"
,
\n
_s = $RefreshSig$();
\n\n
import { useOktaAuth } from
\"
@okta/okta-react
\"
;
\n
import React, { useState, useEffect } from 'react';
\n
import { NavLink } from 'react-router-dom';
\n
import
\"
./Home.css
\"
;
\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
\n
import Updates from './updates/Updates';
\n
import { jsxDEV as _jsxDEV } from
\"
react/jsx-dev-runtime
\"
;
\n\n
const Home = () => {
\n
_s();
\n\n
const {
\n
authState,
\n
oktaAuth
\n
} = useOktaAuth();
\n
const [userInfo, setUserInfo] = useState(null);
\n
const idToken = JSON.parse(localStorage.getItem('okta-token-storage')).idToken.claims;
\n
useEffect(() => {
\n
setUserInfo(idToken);
\n
}, []);
\n\n
if (userInfo) {
\n
return /*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
homepage-container
\"
,
\n
children: [/*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
content-header
\"
,
\n
children: [/*#__PURE__*/_jsxDEV(
\"
h2
\"
, {
\n
className:
\"
welcome-text
\"
,
\n
children:
\"
Welcome!
\"\n
}, void 0, false, {
\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
return /*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
homepage-container
\"
,
\n
children: /*#__PURE__*/_jsxDEV(
\"
h3
\"
, {
\n
children:
\"
Loading...
\"\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 39,
\n
columnNumber: 9
\n
}, this)
\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 38,
\n
columnNumber: 7
\n
}, this);
\n
}
\n
};
\n\n
_s(Home,
\"
/7FunoA1ejJNU8uKGTy1GZFqU2I=
\"
, false, function () {
\n
return [useOktaAuth];
\n
});
\n\n
_c = Home;
\n
export default Home;
\n\n
var _c;
\n\n
$RefreshReg$(_c,
\"
Home
\"
);"
,
"map"
:{
"version"
:
3
,
"sources"
:[
"C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/home/Home.jsx"
],
"names"
:[
"useOktaAuth"
,
"React"
,
"useState"
,
"useEffect"
,
"NavLink"
,
"FontAwesomeIcon"
,
"Updates"
,
"Home"
,
"authState"
,
"oktaAuth"
,
"userInfo"
,
"setUserInfo"
,
"idToken"
,
"JSON"
,
"parse"
,
"localStorage"
,
"getItem"
,
"claims"
],
"mappings"
:
";;;AAAA,SAASA,WAAT,QAA4B,kBAA5B;AACA,OAAOC,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;;;AAEA,MAAMC,IAAI,GAAG,MAAM;AAAA;;AACjB,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA;AAAb,MAA0BT,WAAW,EAA3C;AACA,QAAM,CAACU,QAAD,EAAWC,WAAX,IAA0BT,QAAQ,CAAC,IAAD,CAAxC;AACA,QAAMU,OAAO,GAAGC,IAAI,CAACC,KAAL,CAAWC,YAAY,CAACC,OAAb,CAAqB,oBAArB,CAAX,EAAuDJ,OAAvD,CAA+DK,MAA/E;AAEAd,EAAAA,SAAS,CAAC,MAAM;AACdQ,IAAAA,WAAW,CAACC,OAAD,CAAX;AACD,GAFQ,EAEN,EAFM,CAAT;;AAIA,MAAIF,QAAJ,EAAc;AACZ,wBACE;AAAK,MAAA,SAAS,EAAC,oBAAf;AAAA,8BACE;AAAK,QAAA,SAAS,EAAC,gBAAf;AAAA,gCACE;AAAI,UAAA,SAAS,EAAC,cAAd;AAAA;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,wBACE;AAAK,MAAA,SAAS,EAAC,oBAAf;AAAA,6BACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,YADF;AAKD;AAGF,CArCD;;GAAMH,I;UAC4BP,W;;;KAD5BO,I;AAuCN,eAAeA,IAAf"
,
"sourcesContent"
:[
"import { useOktaAuth } from
\"
@okta/okta-react
\"
;
\r\n
import React, { useState, useEffect } from 'react'
\r\n
import { NavLink } from 'react-router-dom'
\r\n
import
\"
./Home.css
\"\r\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
\r\n
import Updates from './updates/Updates'
\r\n\r\n
const Home = () => {
\r\n
const { authState, oktaAuth } = useOktaAuth();
\r\n
const [userInfo, setUserInfo] = useState(null);
\r\n
const idToken = JSON.parse(localStorage.getItem('okta-token-storage')).idToken.claims
\r\n\r\n
useEffect(() => {
\r\n
setUserInfo(idToken)
\r\n
}, [])
\r\n\r\n
if (userInfo) {
\r\n
return (
\r\n
<div className=
\"
homepage-container
\"
>
\r\n
<div className=
\"
content-header
\"
>
\r\n
<h2 className=
\"
welcome-text
\"
>Welcome!</h2>
\r\n
<NavLink to=
\"
/reportissue
\"
>
\r\n
<button className=
\"
report-new-issue-button
\"
>
\r\n
<FontAwesomeIcon icon=
\"
exclamation-triangle
\"
></FontAwesomeIcon>
\r\n
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
return (
\r\n
<div className=
\"
homepage-container
\"
>
\r\n
<h3>Loading...</h3>
\r\n
</div>
\r\n
)
\r\n
}
\r\n\r\n\r\n
}
\r\n\r\n
export default Home"
]},
"metadata"
:{},
"sourceType"
:
"module"
}
\ No newline at end of file
client/node_modules/.cache/babel-loader/5eb15937a3f408c20e0ee3e298a5d906.json
0 → 100644
View file @
a49a34cc
{
"ast"
:
null
,
"code"
:
"var _jsxFileName =
\"
C:
\\\\
Users
\\\\
Bruger
\\\\
Desktop
\\\\
Web-projects
\\\\
pipit
\\\\
client
\\\\
src
\\\\
components
\\\\
home
\\\\
Home.jsx
\"
,
\n
_s = $RefreshSig$();
\n\n
import { useOktaAuth } from
\"
@okta/okta-react
\"
;
\n
import React, { useState, useEffect } from 'react';
\n
import { NavLink } from 'react-router-dom';
\n
import
\"
./Home.css
\"
;
\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
\n
import Updates from './updates/Updates';
\n
import { jsxDEV as _jsxDEV } from
\"
react/jsx-dev-runtime
\"
;
\n\n
const Home = () => {
\n
_s();
\n\n
const {
\n
authState,
\n
oktaAuth
\n
} = useOktaAuth();
\n
const [userInfo, setUserInfo] = useState(null);
\n
useEffect(() => {
\n
oktaAuth.token.getUserInfo().then(info => {
\n
setUserInfo(info);
\n
});
\n
});
\n\n
if (userInfo) {
\n
return /*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
homepage-container
\"
,
\n
children: [/*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
content-header
\"
,
\n
children: [/*#__PURE__*/_jsxDEV(
\"
h2
\"
, {
\n
className:
\"
welcome-text
\"
,
\n
children: [
\"
Welcome
\"
, userInfo.given_name,
\"
!
\"
]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 22,
\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: 25,
\n
columnNumber: 15
\n
}, this),
\"\\
xA0
\\
xA0Report issues
\"
]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 24,
\n
columnNumber: 13
\n
}, this)
\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 23,
\n
columnNumber: 11
\n
}, this)]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 21,
\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: 31,
\n
columnNumber: 11
\n
}, this)
\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 30,
\n
columnNumber: 9
\n
}, this)]
\n
}, void 0, true, {
\n
fileName: _jsxFileName,
\n
lineNumber: 20,
\n
columnNumber: 7
\n
}, this);
\n
} else {
\n
return null;
\n
}
\n
};
\n\n
_s(Home,
\"
/7FunoA1ejJNU8uKGTy1GZFqU2I=
\"
, false, function () {
\n
return [useOktaAuth];
\n
});
\n\n
_c = Home;
\n
export default Home;
\n\n
var _c;
\n\n
$RefreshReg$(_c,
\"
Home
\"
);"
,
"map"
:{
"version"
:
3
,
"sources"
:[
"C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/home/Home.jsx"
],
"names"
:[
"useOktaAuth"
,
"React"
,
"useState"
,
"useEffect"
,
"NavLink"
,
"FontAwesomeIcon"
,
"Updates"
,
"Home"
,
"authState"
,
"oktaAuth"
,
"userInfo"
,
"setUserInfo"
,
"token"
,
"getUserInfo"
,
"then"
,
"info"
,
"given_name"
],
"mappings"
:
";;;AAAA,SAASA,WAAT,QAA4B,kBAA5B;AACA,OAAOC,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;;;AAEA,MAAMC,IAAI,GAAG,MAAM;AAAA;;AACjB,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA;AAAb,MAA0BT,WAAW,EAA3C;AACA,QAAM,CAACU,QAAD,EAAWC,WAAX,IAA0BT,QAAQ,CAAC,IAAD,CAAxC;AAEAC,EAAAA,SAAS,CAAC,MAAM;AACdM,IAAAA,QAAQ,CAACG,KAAT,CAAeC,WAAf,GAA6BC,IAA7B,CAAkCC,IAAI,IAAI;AACxCJ,MAAAA,WAAW,CAACI,IAAD,CAAX;AACD,KAFD;AAGD,GAJQ,CAAT;;AAMA,MAAIL,QAAJ,EAAc;AACZ,wBACE;AAAK,MAAA,SAAS,EAAC,oBAAf;AAAA,8BACE;AAAK,QAAA,SAAS,EAAC,gBAAf;AAAA,gCACE;AAAI,UAAA,SAAS,EAAC,cAAd;AAAA,iCAAsCA,QAAQ,CAACM,UAA/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,WAAO,IAAP;AACD;AAGF,CAlCD;;GAAMT,I;UAC4BP,W;;;KAD5BO,I;AAoCN,eAAeA,IAAf"
,
"sourcesContent"
:[
"import { useOktaAuth } from
\"
@okta/okta-react
\"
;
\r\n
import React, { useState, useEffect } from 'react'
\r\n
import { NavLink } from 'react-router-dom'
\r\n
import
\"
./Home.css
\"\r\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
\r\n
import Updates from './updates/Updates'
\r\n\r\n
const Home = () => {
\r\n
const { authState, oktaAuth } = useOktaAuth();
\r\n
const [userInfo, setUserInfo] = useState(null);
\r\n\r\n
useEffect(() => {
\r\n
oktaAuth.token.getUserInfo().then(info => {
\r\n
setUserInfo(info);
\r\n
});
\r\n
})
\r\n\r\n
if (userInfo) {
\r\n
return (
\r\n
<div className=
\"
homepage-container
\"
>
\r\n
<div className=
\"
content-header
\"
>
\r\n
<h2 className=
\"
welcome-text
\"
>Welcome {userInfo.given_name}!</h2>
\r\n
<NavLink to=
\"
/reportissue
\"
>
\r\n
<button className=
\"
report-new-issue-button
\"
>
\r\n
<FontAwesomeIcon icon=
\"
exclamation-triangle
\"
></FontAwesomeIcon>
\r\n
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
return null
\r\n
}
\r\n\r\n\r\n
}
\r\n\r\n
export default Home"
]},
"metadata"
:{},
"sourceType"
:
"module"
}
\ No newline at end of file
client/node_modules/.cache/babel-loader/6bcb13f80fd5a9a484afb5e5f7252a74.json
0 → 100644
View file @
a49a34cc
{
"ast"
:
null
,
"code"
:
"var _jsxFileName =
\"
C:
\\\\
Users
\\\\
Bruger
\\\\
Desktop
\\\\
Web-projects
\\\\
pipit
\\\\
client
\\\\
src
\\\\
components
\\\\
project
\\\\
projectOverview
\\\\
ProjectOverview.jsx
\"
,
\n
_s = $RefreshSig$();
\n\n
import React, { useState } from 'react';
\n
import { NavLink } from
\"
react-router-dom
\"
;
\n
import
\"
./ProjectOverview.css
\"
;
\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
\n
import { jsxDEV as _jsxDEV } from
\"
react/jsx-dev-runtime
\"
;
\n\n
const 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/${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:
\"
projectlist-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;
\n
export default ProjectOverview;
\n\n
var _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"
:
";;;AAAA,OAAOA,KAAP,IAAgBC,QAAhB,QAAgC,OAAhC;AACA,SAASC,OAAT,QAAwB,kBAAxB;AACA,OAAO,uBAAP;AACA,SAASC,eAAT,QAAgC,gCAAhC;;;AAEA,MAAMC,eAAe,GAAG,MAAM;AAAA;;AAC5B,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,QAAM,CAACC,yBAAD,EAA4BC,4BAA5B,IAA4DX,QAAQ,CAAC,IAAD,CAA1E;AACA,QAAM,CAACY,2BAAD,EAA8BC,8BAA9B,IAAgEb,QAAQ,CAAC,KAAD,CAA9E;;AAEA,QAAMc,0BAA0B,GAAG,MAAM;AACvCH,IAAAA,4BAA4B,CAAC,IAAD,CAA5B;AACAE,IAAAA,8BAA8B,CAAC,KAAD,CAA9B;AACD,GAHD;;AAKA,QAAME,4BAA4B,GAAG,MAAM;AACzCJ,IAAAA,4BAA4B,CAAC,KAAD,CAA5B;AACAE,IAAAA,8BAA8B,CAAC,IAAD,CAA9B;AACD,GAHD;;AAKA,QAAMG,eAAe,GAAIC,QAAD,IAAc;AACpC,wBACE;AAAK,MAAA,SAAS,EAAC,aAAf;AAAA,6BACE;AAAA,kBACGA,QAAQ,CAACC,GAAT,CAAa,CAACC,QAAD,EAAWC,KAAX,kBACZ;AAAA,iCACE;AAAK,YAAA,SAAS,EAAC,eAAf;AAAA,oCACE;AAAK,cAAA,SAAS,EAAC,mBAAf;AAAA,qCACE,QAAC,OAAD;AAAS,gBAAA,EAAE,EAAG,aAAYH,QAAQ,CAACG,KAAD,CAAR,CAAgBf,EAAG,EAA7C;AAAA,2BAAiDY,QAAQ,CAACG,KAAD,CAAR,CAAgBf,EAAjE,uBACE,QAAC,eAAD;AAAiB,kBAAA,SAAS,EAAC,MAA3B;AAAkC,kBAAA,IAAI,EAAC;AAAvC;AAAA;AAAA;AAAA;AAAA,wBADF;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,oBADF,eAME;AAAK,cAAA,SAAS,EAAC,+BAAf;AAAA,sCACE;AAAK,gBAAA,SAAS,EAAC,iBAAf;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,oBAAf;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,uCACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,sBAXF;AAAA;AAAA;AAAA;AAAA;AAAA,oBANF;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,gBADD;AADH;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,YADF;AAgCD,GAjCD;;AAmCA,sBACE;AAAK,IAAA,SAAS,EAAC,uBAAf;AAAA,4BACE;AAAK,MAAA,SAAS,EAAC,gBAAf;AAAA,8BACE;AAAI,QAAA,SAAS,EAAC,mBAAd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cADF,eAEE;AAAQ,QAAA,SAAS,EAAC,2BAAlB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAFF;AAAA;AAAA;AAAA;AAAA;AAAA,YADF,eAOE;AAAK,MAAA,SAAS,EAAC,6BAAf;AAAA,8BACE;AAAK,QAAA,SAAS,EAAC,oCAAf;AAAA,gCACE;AAAG,UAAA,SAAS,EAAEK,yBAAyB,GAAG,kBAAH,GAAwB,UAA/D;AAA2E,UAAA,OAAO,EAAEI,0BAApF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBADF,eAEE;AAAG,UAAA,SAAS,EAAEF,2BAA2B,GAAG,kBAAH,GAAwB,UAAjE;AAA6E,UAAA,OAAO,EAAEG,4BAAtF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAFF;AAAA;AAAA;AAAA;AAAA;AAAA,cADF,eAKE;AAAK,QAAA,SAAS,EAAC,+BAAf;AAAA,gCACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBADF,eAEE;AAAA,kCACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBADF,eAEE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAFF,eAGE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAHF,eAIE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAJF,eAKE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBALF,eAME;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBANF;AAAA;AAAA;AAAA;AAAA;AAAA,gBAFF;AAAA;AAAA;AAAA;AAAA;AAAA,cALF;AAAA;AAAA;AAAA;AAAA;AAAA,YAPF,EAwBGL,yBAAyB,GAAGM,eAAe,CAACT,cAAD,CAAlB,GAAqCS,eAAe,CAACZ,gBAAD,CAxBhF;AAAA;AAAA;AAAA;AAAA;AAAA,UADF;AA4BD,CAvFD;;GAAMD,e;;KAAAA,e;AAyFN,eAAeA,eAAf"
,
"sourcesContent"
:[
"import React, { useState } from 'react'
\r\n
import { NavLink } from
\"
react-router-dom
\"
;
\r\n
import
\"
./ProjectOverview.css
\"\r\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
\r\n\r\n
const 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/${projects[index].id}`}>{projects[index].id}
\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: 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=
\"
projectlist-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\n
export default ProjectOverview"
]},
"metadata"
:{},
"sourceType"
:
"module"
}
\ No newline at end of file
client/node_modules/.cache/babel-loader/70327c97f3b16a1eee52940d044dfd05.json
0 → 100644
View file @
a49a34cc
{
"ast"
:
null
,
"code"
:
"var _jsxFileName =
\"
C:
\\\\
Users
\\\\
Bruger
\\\\
Desktop
\\\\
Web-projects
\\\\
pipit
\\\\
client
\\\\
src
\\\\
components
\\\\
home
\\\\
Home.jsx
\"
,
\n
_s = $RefreshSig$();
\n\n
import { useOktaAuth } from
\"
@okta/okta-react
\"
;
\n
import React, { useState, useEffect } from 'react';
\n
import { NavLink } from 'react-router-dom';
\n
import
\"
./Home.css
\"
;
\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
\n
import Updates from './updates/Updates';
\n
import { jsxDEV as _jsxDEV } from
\"
react/jsx-dev-runtime
\"
;
\n\n
const Home = () => {
\n
_s();
\n\n
const {
\n
authState,
\n
oktaAuth
\n
} = useOktaAuth();
\n
const [userInfo, setUserInfo] = useState(null);
\n
const tokenId = JSON.parse(localStorage.getItem('okta-token-storage'));
\n
useEffect(() => {
\n
console.log(tokenId.tokenId.claims);
\n
});
\n\n
if (userInfo) {
\n
return /*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
homepage-container
\"
,
\n
children: [/*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
content-header
\"
,
\n
children: [/*#__PURE__*/_jsxDEV(
\"
h2
\"
, {
\n
className:
\"
welcome-text
\"
,
\n
children: [
\"
Welcome
\"
, userInfo.given_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
return /*#__PURE__*/_jsxDEV(
\"
div
\"
, {
\n
className:
\"
homepage-container
\"
,
\n
children: /*#__PURE__*/_jsxDEV(
\"
h3
\"
, {
\n
children:
\"
Loading...
\"\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 39,
\n
columnNumber: 9
\n
}, this)
\n
}, void 0, false, {
\n
fileName: _jsxFileName,
\n
lineNumber: 38,
\n
columnNumber: 7
\n
}, this);
\n
}
\n
};
\n\n
_s(Home,
\"
/7FunoA1ejJNU8uKGTy1GZFqU2I=
\"
, false, function () {
\n
return [useOktaAuth];
\n
});
\n\n
_c = Home;
\n
export default Home;
\n\n
var _c;
\n\n
$RefreshReg$(_c,
\"
Home
\"
);"
,
"map"
:{
"version"
:
3
,
"sources"
:[
"C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/home/Home.jsx"
],
"names"
:[
"useOktaAuth"
,
"React"
,
"useState"
,
"useEffect"
,
"NavLink"
,
"FontAwesomeIcon"
,
"Updates"
,
"Home"
,
"authState"
,
"oktaAuth"
,
"userInfo"
,
"setUserInfo"
,
"tokenId"
,
"JSON"
,
"parse"
,
"localStorage"
,
"getItem"
,
"console"
,
"log"
,
"claims"
,
"given_name"
],
"mappings"
:
";;;AAAA,SAASA,WAAT,QAA4B,kBAA5B;AACA,OAAOC,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;;;AAEA,MAAMC,IAAI,GAAG,MAAM;AAAA;;AACjB,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA;AAAb,MAA0BT,WAAW,EAA3C;AACA,QAAM,CAACU,QAAD,EAAWC,WAAX,IAA0BT,QAAQ,CAAC,IAAD,CAAxC;AACA,QAAMU,OAAO,GAAGC,IAAI,CAACC,KAAL,CAAWC,YAAY,CAACC,OAAb,CAAqB,oBAArB,CAAX,CAAhB;AAEAb,EAAAA,SAAS,CAAC,MAAM;AACdc,IAAAA,OAAO,CAACC,GAAR,CAAYN,OAAO,CAACA,OAAR,CAAgBO,MAA5B;AACD,GAFQ,CAAT;;AAIA,MAAIT,QAAJ,EAAc;AACZ,wBACE;AAAK,MAAA,SAAS,EAAC,oBAAf;AAAA,8BACE;AAAK,QAAA,SAAS,EAAC,gBAAf;AAAA,gCACE;AAAI,UAAA,SAAS,EAAC,cAAd;AAAA,iCAAsCA,QAAQ,CAACU,UAA/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,wBACE;AAAK,MAAA,SAAS,EAAC,oBAAf;AAAA,6BACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,YADF;AAKD;AAGF,CArCD;;GAAMb,I;UAC4BP,W;;;KAD5BO,I;AAuCN,eAAeA,IAAf"
,
"sourcesContent"
:[
"import { useOktaAuth } from
\"
@okta/okta-react
\"
;
\r\n
import React, { useState, useEffect } from 'react'
\r\n
import { NavLink } from 'react-router-dom'
\r\n
import
\"
./Home.css
\"\r\n
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
\r\n
import Updates from './updates/Updates'
\r\n\r\n
const Home = () => {
\r\n
const { authState, oktaAuth } = useOktaAuth();
\r\n
const [userInfo, setUserInfo] = useState(null);
\r\n
const tokenId = JSON.parse(localStorage.getItem('okta-token-storage'))
\r\n\r\n
useEffect(() => {
\r\n
console.log(tokenId.tokenId.claims)
\r\n
})
\r\n\r\n
if (userInfo) {
\r\n
return (
\r\n
<div className=
\"
homepage-container
\"
>
\r\n
<div className=
\"
content-header
\"
>
\r\n
<h2 className=
\"
welcome-text
\"
>Welcome {userInfo.given_name}!</h2>
\r\n
<NavLink to=
\"
/reportissue
\"
>
\r\n
<button className=
\"
report-new-issue-button
\"
>
\r\n
<FontAwesomeIcon icon=
\"
exclamation-triangle
\"
></FontAwesomeIcon>
\r\n
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
return (
\r\n
<div className=
\"
homepage-container
\"
>
\r\n
<h3>Loading...</h3>
\r\n
</div>
\r\n
)
\r\n
}
\r\n\r\n\r\n
}
\r\n\r\n
export default Home"
]},
"metadata"
:{},
"sourceType"
:
"module"
}
\ No newline at end of file
Prev
1
2
3
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment