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

added content to user dropdown menu and fixed open-close bug. Made refactoring changes

parent edbda3d6
[{"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\index.js":"1","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\App.js":"2","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\navigationbar\\navigationbar.js":"3"},{"size":197,"mtime":1626217127935,"results":"4","hashOfConfig":"5"},{"size":415,"mtime":1626358395432,"results":"6","hashOfConfig":"5"},{"size":3685,"mtime":1626359418548,"results":"7","hashOfConfig":"5"},{"filePath":"8","messages":"9","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"10"},"iyhzrm",{"filePath":"11","messages":"12","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"13","messages":"14","errorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\index.js",[],["15","16"],"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\App.js",[],"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\navigationbar\\navigationbar.js",["17","18","19","20"],{"ruleId":"21","replacedBy":"22"},{"ruleId":"23","replacedBy":"24"},{"ruleId":"25","severity":1,"message":"26","line":1,"column":17,"nodeType":"27","messageId":"28","endLine":1,"endColumn":26},{"ruleId":"25","severity":1,"message":"29","line":2,"column":10,"nodeType":"27","messageId":"28","endLine":2,"endColumn":14},{"ruleId":"30","severity":1,"message":"31","line":46,"column":19,"nodeType":"32","endLine":46,"endColumn":66},{"ruleId":"30","severity":1,"message":"31","line":47,"column":19,"nodeType":"32","endLine":47,"endColumn":63},"no-native-reassign",["33"],"no-negated-in-lhs",["34"],"no-unused-vars","'Component' is defined but never used.","Identifier","unusedVar","'Link' is defined 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.","JSXOpeningElement","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.js":"2","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\navigationbar\\navigationbar.js":"3","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\navigationbar\\Navigationbar.js":"4","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\navigationbar\\searchbar\\Searchbar.js":"5","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\navigationbar\\userDropdownMenu\\UserDropdownMenu.js":"6","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\navigationbar\\navigationLinks\\NavigationLinks.js":"7","C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\navigationbar\\logo\\Logo.js":"8"},{"size":197,"mtime":1626217127935,"results":"9","hashOfConfig":"10"},{"size":415,"mtime":1626443307677,"results":"11","hashOfConfig":"10"},{"size":2293,"mtime":1626443292886,"results":"12","hashOfConfig":"10"},{"size":860,"mtime":1626449892823,"results":"13","hashOfConfig":"10"},{"size":520,"mtime":1626448630699,"results":"14","hashOfConfig":"10"},{"size":1840,"mtime":1626448296210,"results":"15","hashOfConfig":"10"},{"size":639,"mtime":1626449425478,"results":"16","hashOfConfig":"10"},{"size":587,"mtime":1626449789087,"results":"17","hashOfConfig":"10"},{"filePath":"18","messages":"19","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"20"},"iyhzrm",{"filePath":"21","messages":"22","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"20"},{"filePath":"23","messages":"24","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"25","messages":"26","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"27","messages":"28","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"29","messages":"30","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"31","messages":"32","errorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"33","messages":"34","errorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\index.js",[],["35","36"],"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\App.js",[],"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\navigationbar\\navigationbar.js",["37","38","39"],"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\navigationbar\\Navigationbar.js",["40"],"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\navigationbar\\searchbar\\Searchbar.js",[],"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\navigationbar\\userDropdownMenu\\UserDropdownMenu.js",[],"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\navigationbar\\navigationLinks\\NavigationLinks.js",["41","42","43","44"],"C:\\Users\\Bruger\\Desktop\\Web-projects\\pipit\\client\\src\\components\\navigationbar\\logo\\Logo.js",["45","46","47","48","49","50"],{"ruleId":"51","replacedBy":"52"},{"ruleId":"53","replacedBy":"54"},{"ruleId":"55","severity":1,"message":"56","line":1,"column":17,"nodeType":"57","messageId":"58","endLine":1,"endColumn":26},{"ruleId":"59","severity":1,"message":"60","line":23,"column":19,"nodeType":"61","endLine":23,"endColumn":66},{"ruleId":"59","severity":1,"message":"60","line":24,"column":19,"nodeType":"61","endLine":24,"endColumn":63},{"ruleId":"55","severity":1,"message":"56","line":1,"column":17,"nodeType":"57","messageId":"58","endLine":1,"endColumn":26},{"ruleId":"55","severity":1,"message":"62","line":1,"column":17,"nodeType":"57","messageId":"58","endLine":1,"endColumn":23},{"ruleId":"55","severity":1,"message":"63","line":1,"column":25,"nodeType":"57","messageId":"58","endLine":1,"endColumn":33},{"ruleId":"55","severity":1,"message":"64","line":1,"column":35,"nodeType":"57","messageId":"58","endLine":1,"endColumn":44},{"ruleId":"55","severity":1,"message":"65","line":3,"column":10,"nodeType":"57","messageId":"58","endLine":3,"endColumn":25},{"ruleId":"55","severity":1,"message":"62","line":1,"column":17,"nodeType":"57","messageId":"58","endLine":1,"endColumn":23},{"ruleId":"55","severity":1,"message":"63","line":1,"column":25,"nodeType":"57","messageId":"58","endLine":1,"endColumn":33},{"ruleId":"55","severity":1,"message":"64","line":1,"column":35,"nodeType":"57","messageId":"58","endLine":1,"endColumn":44},{"ruleId":"55","severity":1,"message":"65","line":3,"column":10,"nodeType":"57","messageId":"58","endLine":3,"endColumn":25},{"ruleId":"59","severity":1,"message":"60","line":12,"column":11,"nodeType":"61","endLine":12,"endColumn":58},{"ruleId":"59","severity":1,"message":"60","line":13,"column":11,"nodeType":"61","endLine":13,"endColumn":55},"no-native-reassign",["66"],"no-negated-in-lhs",["67"],"no-unused-vars","'Component' is defined but never used.","Identifier","unusedVar","jsx-a11y/alt-text","img elements must have an alt prop, either with meaningful text, or an empty string for decorative images.","JSXOpeningElement","'useRef' is defined but never used.","'useState' is defined but never used.","'useEffect' is defined but never used.","'FontAwesomeIcon' is defined but never used.","no-global-assign","no-unsafe-negation"]
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\Bruger\\\\Desktop\\\\Web-projects\\\\pipit\\\\client\\\\src\\\\components\\\\navigationbar\\\\navigationbar_components\\\\userDropdownMenu.js\",\n _s = $RefreshSig$();\n\nimport React from 'react';\nimport useComponentVisible from '../../../custom_hooks/useComponentVisible';\nimport \"../navigationbar.css\";\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nconst DropDown = () => {\n _s();\n\n const {\n ref,\n isComponentVisible\n } = useComponentVisible(true);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n ref: ref,\n children: !isComponentVisible && /*#__PURE__*/_jsxDEV(\"div\", {\n id: \"userMenuDropdown\",\n className: \"user-dropdown-menu-content\",\n children: [/*#__PURE__*/_jsxDEV(\"a\", {\n className: \"user-profile-link\",\n href: \"./\",\n children: \"Link 1\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Link 2\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Link 3\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 32\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 9,\n columnNumber: 5\n }, this);\n};\n\n_s(DropDown, \"s16x+rwK9S5+ZEc7FmFd3HHfYVM=\", false, function () {\n return [useComponentVisible];\n});\n\n_c = DropDown;\n\nfunction userDropdownMenu(props) {\n return /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"navbar-user-dropdown-container\",\n children: [/*#__PURE__*/_jsxDEV(\"button\", {\n className: \"user-dropdown-menu-toggle-button\",\n onClick: this.showMenu,\n children: [/*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"user-icon\",\n icon: \"user-circle\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 25,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"down-arrow\",\n icon: \"angle-down\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 26,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 24,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(DropDown, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 29,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 5\n }, this);\n}\n\nexport default userDropdownMenu;\n\nvar _c;\n\n$RefreshReg$(_c, \"DropDown\");","map":{"version":3,"sources":["C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/navigationbar/navigationbar_components/userDropdownMenu.js"],"names":["React","useComponentVisible","FontAwesomeIcon","DropDown","ref","isComponentVisible","userDropdownMenu","props","showMenu"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,mBAAP,MAAgC,2CAAhC;AACA,OAAO,sBAAP;AACA,SAASC,eAAT,QAAgC,gCAAhC;;;AAEA,MAAMC,QAAQ,GAAG,MAAM;AAAA;;AACrB,QAAM;AAAEC,IAAAA,GAAF;AAAOC,IAAAA;AAAP,MAA8BJ,mBAAmB,CAAC,IAAD,CAAvD;AACA,sBACE;AAAK,IAAA,GAAG,EAAEG,GAAV;AAAA,cACG,CAACC,kBAAD,iBAAwB;AAAK,MAAA,EAAE,EAAC,kBAAR;AAA2B,MAAA,SAAS,EAAC,4BAArC;AAAA,8BACvB;AAAG,QAAA,SAAS,EAAC,mBAAb;AAAiC,QAAA,IAAI,EAAC,IAAtC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cADuB,eAEvB;AAAG,QAAA,IAAI,EAAC,IAAR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAFuB,eAGvB;AAAG,QAAA,IAAI,EAAC,IAAR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAHuB;AAAA;AAAA;AAAA;AAAA;AAAA;AAD3B;AAAA;AAAA;AAAA;AAAA,UADF;AASD,CAXD;;GAAMF,Q;UACgCF,mB;;;KADhCE,Q;;AAaN,SAASG,gBAAT,CAA0BC,KAA1B,EAAiC;AAE/B,sBACE;AAAA,2BACE;AAAK,MAAA,SAAS,EAAC,gCAAf;AAAA,8BACE;AAAQ,QAAA,SAAS,EAAC,kCAAlB;AAAqD,QAAA,OAAO,EAAE,KAAKC,QAAnE;AAAA,gCACE,QAAC,eAAD;AAAiB,UAAA,SAAS,EAAC,WAA3B;AAAuC,UAAA,IAAI,EAAC;AAA5C;AAAA;AAAA;AAAA;AAAA,gBADF,eAEE,QAAC,eAAD;AAAiB,UAAA,SAAS,EAAC,YAA3B;AAAwC,UAAA,IAAI,EAAC;AAA7C;AAAA;AAAA;AAAA;AAAA,gBAFF;AAAA;AAAA;AAAA;AAAA;AAAA,cADF,eAME,QAAC,QAAD;AAAA;AAAA;AAAA;AAAA,cANF;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,UADF;AAYD;;AAED,eAAeF,gBAAf","sourcesContent":["import React from 'react'\r\nimport useComponentVisible from '../../../custom_hooks/useComponentVisible';\r\nimport \"../navigationbar.css\"\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\n\r\nconst DropDown = () => {\r\n const { ref, isComponentVisible } = useComponentVisible(true);\r\n return (\r\n <div ref={ref}>\r\n {!isComponentVisible && (<div id=\"userMenuDropdown\" className=\"user-dropdown-menu-content\">\r\n <a className=\"user-profile-link\" href=\"./\">Link 1</a>\r\n <a href=\"./\">Link 2</a>\r\n <a href=\"./\">Link 3</a>\r\n </div>)}\r\n </div>\r\n );\r\n}\r\n\r\nfunction userDropdownMenu(props) {\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\" onClick={this.showMenu}>\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 <DropDown></DropDown>\r\n </div>\r\n </li>\r\n )\r\n}\r\n\r\nexport default userDropdownMenu"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\Bruger\\\\Desktop\\\\Web-projects\\\\pipit\\\\client\\\\src\\\\components\\\\navigationbar\\\\navigationbar.js\";\nimport React, { Component, useRef, useEffect } from 'react';\nimport { Link } from \"react-router-dom\";\nimport \"./navigationbar.css\";\nimport logo_picture from \"../../images/bird-logo.jpg\";\nimport logo_text from \"../../images/logo-text.jpg\";\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nfunction handleOutsideElementClick() {}\n\nclass Navigationbar extends Component {\n constructor() {\n super();\n this.state = {\n showMenu: false\n };\n this.showMenu = this.showMenu.bind(this);\n this.closeMenu = this.closeMenu.bind(this);\n }\n\n showMenu(event) {\n event.preventDefault();\n\n if (this.state.showMenu == false) {\n this.setState({\n showMenu: true\n });\n document.addEventListener('click', function () {\n handleOutsideElementClick;\n });\n }\n\n if (this.state.showMenu == true && !this.dropdownMenu.contains(event.target)) this.setState({\n showMenu: false\n });\n }\n\n closeMenu(event) {\n if (!this.dropdownMenu.contains(event.target)) {\n this.setState({\n showMenu: false\n }, () => {\n document.removeEventListener('click', this.closeMenu);\n console.log(this.state.showMenu);\n });\n }\n }\n\n render() {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"navbar\",\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"header-content\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"title-container\",\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n className: \"title\",\n children: /*#__PURE__*/_jsxDEV(\"span\", {\n className: \"title-icon\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n id: \"logo\",\n href: \"./\",\n children: [/*#__PURE__*/_jsxDEV(\"img\", {\n src: logo_picture,\n width: \"24\",\n height: \"24\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 60,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"img\", {\n src: logo_text,\n width: \"48\",\n height: \"24\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 61,\n columnNumber: 19\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 59,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 58,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 57,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"ul\", {\n className: \"left-unstyled-navbar\",\n children: [/*#__PURE__*/_jsxDEV(\"li\", {\n className: \"report-bug-navbutton-container\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n className: \"activeUnderlined\",\n href: \"./\",\n children: \"Report Bugs\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 69,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 68,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n className: \"manage-projects-navbutton-container\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Projects\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 72,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 71,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n className: \"manage-team-navbutton-container\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Team\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 75,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 74,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 67,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 54,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"searchbar-profile-container\",\n children: /*#__PURE__*/_jsxDEV(\"ul\", {\n className: \"right-unstyled-navbar\",\n children: [/*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"navbar-searchbar-container\",\n children: [/*#__PURE__*/_jsxDEV(\"input\", {\n className: \"searchbar-input\",\n type: \"text\",\n name: \"\",\n placeholder: \"Search..\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 87,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"a\", {\n className: \"search-button\",\n href: \"./\",\n type: \"submit\",\n children: /*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n icon: \"search\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 90,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 89,\n columnNumber: 19\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 86,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 85,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"navbar-user-dropdown-container\",\n children: [/*#__PURE__*/_jsxDEV(\"button\", {\n className: \"user-dropdown-menu-toggle-button\",\n onClick: this.showMenu,\n children: [/*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"user-icon\",\n icon: \"user-circle\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 99,\n columnNumber: 21\n }, this), /*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"down-arrow\",\n icon: \"angle-down\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 100,\n columnNumber: 21\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 98,\n columnNumber: 19\n }, this), this.state.showMenu ? /*#__PURE__*/_jsxDEV(\"div\", {\n id: \"userMenuDropdown\",\n className: \"user-dropdown-menu-content\",\n ref: element => {\n this.dropdownMenu = element;\n },\n children: [/*#__PURE__*/_jsxDEV(\"a\", {\n className: \"user-profile-link\",\n href: \"./\",\n children: \"Link 1\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 106,\n columnNumber: 25\n }, this), /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Link 2\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 107,\n columnNumber: 25\n }, this), /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Link 3\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 108,\n columnNumber: 25\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 105,\n columnNumber: 23\n }, this) : null]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 97,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 96,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 82,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 81,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 51,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 50,\n columnNumber: 7\n }, this);\n }\n\n}\n\nexport default Navigationbar;","map":{"version":3,"sources":["C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/navigationbar/navigationbar.js"],"names":["React","Component","useRef","useEffect","Link","logo_picture","logo_text","FontAwesomeIcon","handleOutsideElementClick","Navigationbar","constructor","state","showMenu","bind","closeMenu","event","preventDefault","setState","document","addEventListener","dropdownMenu","contains","target","removeEventListener","console","log","render","element"],"mappings":"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","sourcesContent":["import React, { Component, useRef, useEffect } from 'react'\r\nimport { Link } from \"react-router-dom\"\r\nimport \"./navigationbar.css\"\r\nimport logo_picture from \"../../images/bird-logo.jpg\"\r\nimport logo_text from \"../../images/logo-text.jpg\"\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\n\r\nfunction handleOutsideElementClick() {\r\n\r\n}\r\n\r\nclass Navigationbar extends Component {\r\n constructor() {\r\n super();\r\n\r\n this.state = {\r\n showMenu: false,\r\n };\r\n\r\n this.showMenu = this.showMenu.bind(this);\r\n this.closeMenu = this.closeMenu.bind(this);\r\n }\r\n\r\n showMenu(event) {\r\n event.preventDefault();\r\n\r\n if (this.state.showMenu == false) {\r\n this.setState({ showMenu: true })\r\n document.addEventListener('click', function () { handleOutsideElementClick })\r\n }\r\n\r\n if (this.state.showMenu == true && !this.dropdownMenu.contains(event.target))\r\n this.setState({ showMenu: false })\r\n }\r\n\r\n closeMenu(event) {\r\n\r\n if (!this.dropdownMenu.contains(event.target)) {\r\n\r\n this.setState({ showMenu: false }, () => {\r\n document.removeEventListener('click', this.closeMenu);\r\n console.log(this.state.showMenu)\r\n });\r\n\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <div className=\"navbar\" >\r\n <div className=\"header-content\">\r\n\r\n {/* logo and navigation links*/}\r\n <div className=\"title-container\">\r\n\r\n {/* logo */}\r\n <h1 className=\"title\">\r\n <span className=\"title-icon\">\r\n <a id=\"logo\" href=\"./\">\r\n <img src={logo_picture} width=\"24\" height=\"24\"></img>\r\n <img src={logo_text} width=\"48\" height=\"24\"></img>\r\n </a>\r\n </span>\r\n </h1>\r\n\r\n {/* navigation links */}\r\n <ul className=\"left-unstyled-navbar\">\r\n <li className=\"report-bug-navbutton-container\">\r\n <a className=\"activeUnderlined\" href=\"./\">Report Bugs</a>\r\n </li>\r\n <li className=\"manage-projects-navbutton-container\">\r\n <a href=\"./\">Projects</a>\r\n </li>\r\n <li className=\"manage-team-navbutton-container\">\r\n <a href=\"./\">Team</a>\r\n </li>\r\n </ul>\r\n </div>\r\n\r\n {/* searchbar and profile submenu */}\r\n <div className=\"searchbar-profile-container\">\r\n <ul className=\"right-unstyled-navbar\">\r\n\r\n {/* searchbar */}\r\n <li>\r\n <div className=\"navbar-searchbar-container\">\r\n <input className=\"searchbar-input\" type=\"text\" name=\"\" placeholder=\"Search..\">\r\n </input>\r\n <a className=\"search-button\" href=\"./\" type=\"submit\">\r\n <FontAwesomeIcon icon=\"search\"></FontAwesomeIcon>\r\n </a>\r\n </div>\r\n </li>\r\n\r\n {/* profile submenu */}\r\n <li>\r\n <div className=\"navbar-user-dropdown-container\">\r\n <button className=\"user-dropdown-menu-toggle-button\" onClick={this.showMenu}>\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 {this.state.showMenu\r\n ? (\r\n <div id=\"userMenuDropdown\" className=\"user-dropdown-menu-content\" ref={(element) => { this.dropdownMenu = element }}>\r\n <a className=\"user-profile-link\" href=\"./\">Link 1</a>\r\n <a href=\"./\">Link 2</a>\r\n <a href=\"./\">Link 3</a>\r\n </div>\r\n )\r\n : (\r\n null\r\n )\r\n }\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div >\r\n )\r\n }\r\n}\r\n\r\n\r\nexport default Navigationbar"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\Bruger\\\\Desktop\\\\Web-projects\\\\pipit\\\\client\\\\src\\\\components\\\\navigationbar\\\\navigationbar.js\";\nimport React, { Component, useRef, useEffect } from 'react';\nimport { Link } from \"react-router-dom\";\nimport \"./navigationbar.css\";\nimport logo_picture from \"../../images/bird-logo.jpg\";\nimport logo_text from \"../../images/logo-text.jpg\";\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nfunction handleOutsideElementClick(event) {\n if (!this.dropdownMenu.contains(event.target)) this.setState({\n showMenu: false\n });\n document.removeEventListener('click', this.closeMenu);\n console.log(this.state.showMenu);\n}\n\nclass Navigationbar extends Component {\n constructor() {\n super();\n this.state = {\n showMenu: false\n };\n this.showMenu = this.showMenu.bind(this);\n }\n\n showMenu(event) {\n event.preventDefault();\n\n if (this.state.showMenu == false) {\n this.setState({\n showMenu: true\n });\n document.addEventListener('click', function () {\n handleOutsideElementClick(event);\n });\n console.log(this.state.showMenu);\n }\n }\n\n render() {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"navbar\",\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"header-content\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"title-container\",\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n className: \"title\",\n children: /*#__PURE__*/_jsxDEV(\"span\", {\n className: \"title-icon\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n id: \"logo\",\n href: \"./\",\n children: [/*#__PURE__*/_jsxDEV(\"img\", {\n src: logo_picture,\n width: \"24\",\n height: \"24\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 48,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"img\", {\n src: logo_text,\n width: \"48\",\n height: \"24\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 49,\n columnNumber: 19\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 47,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 46,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 45,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"ul\", {\n className: \"left-unstyled-navbar\",\n children: [/*#__PURE__*/_jsxDEV(\"li\", {\n className: \"report-bug-navbutton-container\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n className: \"activeUnderlined\",\n href: \"./\",\n children: \"Report Bugs\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 57,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 56,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n className: \"manage-projects-navbutton-container\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Projects\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 60,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 59,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n className: \"manage-team-navbutton-container\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Team\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 63,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 62,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 55,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 42,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"searchbar-profile-container\",\n children: /*#__PURE__*/_jsxDEV(\"ul\", {\n className: \"right-unstyled-navbar\",\n children: [/*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"navbar-searchbar-container\",\n children: [/*#__PURE__*/_jsxDEV(\"input\", {\n className: \"searchbar-input\",\n type: \"text\",\n name: \"\",\n placeholder: \"Search..\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 75,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"a\", {\n className: \"search-button\",\n href: \"./\",\n type: \"submit\",\n children: /*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n icon: \"search\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 78,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 77,\n columnNumber: 19\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 74,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 73,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"navbar-user-dropdown-container\",\n children: [/*#__PURE__*/_jsxDEV(\"button\", {\n className: \"user-dropdown-menu-toggle-button\",\n onClick: this.showMenu,\n children: [/*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"user-icon\",\n icon: \"user-circle\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 87,\n columnNumber: 21\n }, this), /*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"down-arrow\",\n icon: \"angle-down\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 88,\n columnNumber: 21\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 86,\n columnNumber: 19\n }, this), this.state.showMenu ? /*#__PURE__*/_jsxDEV(\"div\", {\n id: \"userMenuDropdown\",\n className: \"user-dropdown-menu-content\",\n ref: element => {\n this.dropdownMenu = element;\n },\n children: [/*#__PURE__*/_jsxDEV(\"a\", {\n className: \"user-profile-link\",\n href: \"./\",\n children: \"Link 1\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 94,\n columnNumber: 25\n }, this), /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Link 2\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 95,\n columnNumber: 25\n }, this), /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Link 3\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 96,\n columnNumber: 25\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 93,\n columnNumber: 23\n }, this) : null]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 85,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 84,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 70,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 69,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\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\nexport default Navigationbar;","map":{"version":3,"sources":["C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/navigationbar/navigationbar.js"],"names":["React","Component","useRef","useEffect","Link","logo_picture","logo_text","FontAwesomeIcon","handleOutsideElementClick","event","dropdownMenu","contains","target","setState","showMenu","document","removeEventListener","closeMenu","console","log","state","Navigationbar","constructor","bind","preventDefault","addEventListener","render","element"],"mappings":"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","sourcesContent":["import React, { Component, useRef, useEffect } from 'react'\r\nimport { Link } from \"react-router-dom\"\r\nimport \"./navigationbar.css\"\r\nimport logo_picture from \"../../images/bird-logo.jpg\"\r\nimport logo_text from \"../../images/logo-text.jpg\"\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\n\r\nfunction handleOutsideElementClick(event) {\r\n if (!this.dropdownMenu.contains(event.target))\r\n this.setState({ showMenu: false })\r\n document.removeEventListener('click', this.closeMenu);\r\n console.log(this.state.showMenu)\r\n}\r\n\r\nclass Navigationbar extends Component {\r\n constructor() {\r\n super();\r\n\r\n this.state = {\r\n showMenu: false,\r\n };\r\n\r\n this.showMenu = this.showMenu.bind(this);\r\n }\r\n\r\n showMenu(event) {\r\n event.preventDefault();\r\n\r\n if (this.state.showMenu == false) {\r\n this.setState({ showMenu: true })\r\n document.addEventListener('click', function () { handleOutsideElementClick(event) })\r\n console.log(this.state.showMenu)\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <div className=\"navbar\" >\r\n <div className=\"header-content\">\r\n\r\n {/* logo and navigation links*/}\r\n <div className=\"title-container\">\r\n\r\n {/* logo */}\r\n <h1 className=\"title\">\r\n <span className=\"title-icon\">\r\n <a id=\"logo\" href=\"./\">\r\n <img src={logo_picture} width=\"24\" height=\"24\"></img>\r\n <img src={logo_text} width=\"48\" height=\"24\"></img>\r\n </a>\r\n </span>\r\n </h1>\r\n\r\n {/* navigation links */}\r\n <ul className=\"left-unstyled-navbar\">\r\n <li className=\"report-bug-navbutton-container\">\r\n <a className=\"activeUnderlined\" href=\"./\">Report Bugs</a>\r\n </li>\r\n <li className=\"manage-projects-navbutton-container\">\r\n <a href=\"./\">Projects</a>\r\n </li>\r\n <li className=\"manage-team-navbutton-container\">\r\n <a href=\"./\">Team</a>\r\n </li>\r\n </ul>\r\n </div>\r\n\r\n {/* searchbar and profile submenu */}\r\n <div className=\"searchbar-profile-container\">\r\n <ul className=\"right-unstyled-navbar\">\r\n\r\n {/* searchbar */}\r\n <li>\r\n <div className=\"navbar-searchbar-container\">\r\n <input className=\"searchbar-input\" type=\"text\" name=\"\" placeholder=\"Search..\">\r\n </input>\r\n <a className=\"search-button\" href=\"./\" type=\"submit\">\r\n <FontAwesomeIcon icon=\"search\"></FontAwesomeIcon>\r\n </a>\r\n </div>\r\n </li>\r\n\r\n {/* profile submenu */}\r\n <li>\r\n <div className=\"navbar-user-dropdown-container\">\r\n <button className=\"user-dropdown-menu-toggle-button\" onClick={this.showMenu}>\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 {this.state.showMenu\r\n ? (\r\n <div id=\"userMenuDropdown\" className=\"user-dropdown-menu-content\" ref={(element) => { this.dropdownMenu = element }}>\r\n <a className=\"user-profile-link\" href=\"./\">Link 1</a>\r\n <a href=\"./\">Link 2</a>\r\n <a href=\"./\">Link 3</a>\r\n </div>\r\n )\r\n : (\r\n null\r\n )\r\n }\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div >\r\n )\r\n }\r\n}\r\n\r\n\r\nexport default Navigationbar"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\Bruger\\\\Desktop\\\\Web-projects\\\\pipit\\\\client\\\\src\\\\components\\\\navigationbar\\\\navigationbar.js\";\nimport React, { Component, useRef, useEffect } from 'react';\nimport { Link } from \"react-router-dom\";\nimport \"./navigationbar.css\";\nimport logo_picture from \"../../images/bird-logo.jpg\";\nimport logo_text from \"../../images/logo-text.jpg\";\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nclass Navigationbar extends Component {\n constructor() {\n super();\n this.state = {\n showMenu: false\n };\n this.showMenu = this.showMenu.bind(this);\n this.closeMenu = this.closeMenu.bind(this);\n }\n\n showMenu(event) {\n event.preventDefault();\n this.setState({\n showMenu: true\n }, () => {\n document.addEventListener('click', this.closeMenu());\n console.log(this.state.showMenu);\n });\n }\n\n closeMenu(event) {\n if (!this.dropdownMenu.contains(event.target)) {\n this.setState({\n showMenu: false\n }, () => {\n document.removeEventListener('click', this.closeMenu);\n console.log(this.state.showMenu);\n });\n }\n }\n\n render() {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"navbar\",\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"header-content\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"title-container\",\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n className: \"title\",\n children: /*#__PURE__*/_jsxDEV(\"span\", {\n className: \"title-icon\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n id: \"logo\",\n href: \"./\",\n children: [/*#__PURE__*/_jsxDEV(\"img\", {\n src: logo_picture,\n width: \"24\",\n height: \"24\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 53,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"img\", {\n src: logo_text,\n width: \"48\",\n height: \"24\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 54,\n columnNumber: 19\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 52,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 51,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 50,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"ul\", {\n className: \"left-unstyled-navbar\",\n children: [/*#__PURE__*/_jsxDEV(\"li\", {\n className: \"report-bug-navbutton-container\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n className: \"activeUnderlined\",\n href: \"./\",\n children: \"Report Bugs\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 62,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 61,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n className: \"manage-projects-navbutton-container\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Projects\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 65,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 64,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n className: \"manage-team-navbutton-container\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Team\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 68,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 67,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 60,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 47,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"searchbar-profile-container\",\n children: /*#__PURE__*/_jsxDEV(\"ul\", {\n className: \"right-unstyled-navbar\",\n children: [/*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"navbar-searchbar-container\",\n children: [/*#__PURE__*/_jsxDEV(\"input\", {\n className: \"searchbar-input\",\n type: \"text\",\n name: \"\",\n placeholder: \"Search..\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 80,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"a\", {\n className: \"search-button\",\n href: \"./\",\n type: \"submit\",\n children: /*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n icon: \"search\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 83,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 82,\n columnNumber: 19\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 79,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 78,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"navbar-user-dropdown-container\",\n children: [/*#__PURE__*/_jsxDEV(\"button\", {\n className: \"user-dropdown-menu-toggle-button\",\n onClick: this.showMenu,\n children: [/*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"user-icon\",\n icon: \"user-circle\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 92,\n columnNumber: 21\n }, this), /*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"down-arrow\",\n icon: \"angle-down\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 93,\n columnNumber: 21\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 91,\n columnNumber: 19\n }, this), this.state.showMenu ? /*#__PURE__*/_jsxDEV(\"div\", {\n id: \"userMenuDropdown\",\n className: \"user-dropdown-menu-content\",\n ref: element => {\n this.dropdownMenu = element;\n },\n children: [/*#__PURE__*/_jsxDEV(\"a\", {\n className: \"user-profile-link\",\n href: \"./\",\n children: \"Link 1\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 99,\n columnNumber: 25\n }, this), /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Link 2\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 100,\n columnNumber: 25\n }, this), /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Link 3\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 101,\n columnNumber: 25\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 98,\n columnNumber: 23\n }, this) : null]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 90,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 89,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 75,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 74,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 44,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 43,\n columnNumber: 7\n }, this);\n }\n\n}\n\nexport default Navigationbar;","map":{"version":3,"sources":["C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/navigationbar/navigationbar.js"],"names":["React","Component","useRef","useEffect","Link","logo_picture","logo_text","FontAwesomeIcon","Navigationbar","constructor","state","showMenu","bind","closeMenu","event","preventDefault","setState","document","addEventListener","console","log","dropdownMenu","contains","target","removeEventListener","render","element"],"mappings":"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","sourcesContent":["import React, { Component, useRef, useEffect } from 'react'\r\nimport { Link } from \"react-router-dom\"\r\nimport \"./navigationbar.css\"\r\nimport logo_picture from \"../../images/bird-logo.jpg\"\r\nimport logo_text from \"../../images/logo-text.jpg\"\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\n\r\nclass Navigationbar extends Component {\r\n constructor() {\r\n super();\r\n\r\n this.state = {\r\n showMenu: false,\r\n };\r\n\r\n this.showMenu = this.showMenu.bind(this);\r\n this.closeMenu = this.closeMenu.bind(this);\r\n }\r\n\r\n showMenu(event) {\r\n event.preventDefault();\r\n\r\n this.setState({ showMenu: true }, () => {\r\n document.addEventListener('click', this.closeMenu());\r\n console.log(this.state.showMenu)\r\n });\r\n }\r\n\r\n closeMenu(event) {\r\n\r\n if (!this.dropdownMenu.contains(event.target)) {\r\n\r\n this.setState({ showMenu: false }, () => {\r\n document.removeEventListener('click', this.closeMenu);\r\n console.log(this.state.showMenu)\r\n });\r\n\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <div className=\"navbar\" >\r\n <div className=\"header-content\">\r\n\r\n {/* logo and navigation links*/}\r\n <div className=\"title-container\">\r\n\r\n {/* logo */}\r\n <h1 className=\"title\">\r\n <span className=\"title-icon\">\r\n <a id=\"logo\" href=\"./\">\r\n <img src={logo_picture} width=\"24\" height=\"24\"></img>\r\n <img src={logo_text} width=\"48\" height=\"24\"></img>\r\n </a>\r\n </span>\r\n </h1>\r\n\r\n {/* navigation links */}\r\n <ul className=\"left-unstyled-navbar\">\r\n <li className=\"report-bug-navbutton-container\">\r\n <a className=\"activeUnderlined\" href=\"./\">Report Bugs</a>\r\n </li>\r\n <li className=\"manage-projects-navbutton-container\">\r\n <a href=\"./\">Projects</a>\r\n </li>\r\n <li className=\"manage-team-navbutton-container\">\r\n <a href=\"./\">Team</a>\r\n </li>\r\n </ul>\r\n </div>\r\n\r\n {/* searchbar and profile submenu */}\r\n <div className=\"searchbar-profile-container\">\r\n <ul className=\"right-unstyled-navbar\">\r\n\r\n {/* searchbar */}\r\n <li>\r\n <div className=\"navbar-searchbar-container\">\r\n <input className=\"searchbar-input\" type=\"text\" name=\"\" placeholder=\"Search..\">\r\n </input>\r\n <a className=\"search-button\" href=\"./\" type=\"submit\">\r\n <FontAwesomeIcon icon=\"search\"></FontAwesomeIcon>\r\n </a>\r\n </div>\r\n </li>\r\n\r\n {/* profile submenu */}\r\n <li>\r\n <div className=\"navbar-user-dropdown-container\">\r\n <button className=\"user-dropdown-menu-toggle-button\" onClick={this.showMenu}>\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 {this.state.showMenu\r\n ? (\r\n <div id=\"userMenuDropdown\" className=\"user-dropdown-menu-content\" ref={(element) => { this.dropdownMenu = element }}>\r\n <a className=\"user-profile-link\" href=\"./\">Link 1</a>\r\n <a href=\"./\">Link 2</a>\r\n <a href=\"./\">Link 3</a>\r\n </div>\r\n )\r\n : (\r\n null\r\n )\r\n }\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div >\r\n )\r\n }\r\n}\r\n\r\n\r\nexport default Navigationbar"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\Bruger\\\\Desktop\\\\Web-projects\\\\pipit\\\\client\\\\src\\\\components\\\\navigationbar\\\\navigationbar.js\";\nimport React, { Component, useRef, useEffect } from 'react';\nimport { Link } from \"react-router-dom\";\nimport \"./navigationbar.css\";\nimport logo_picture from \"../../images/bird-logo.jpg\";\nimport logo_text from \"../../images/logo-text.jpg\";\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nclass Navigationbar extends Component {\n constructor() {\n super();\n this.state = {\n showMenu: false\n };\n this.showMenu = this.showMenu.bind(this);\n this.closeMenu = this.closeMenu.bind(this);\n }\n\n showMenu(event) {\n event.preventDefault();\n this.setState({\n showMenu: true\n }, () => {\n document.addEventListener('click', closeMenu());\n console.log(this.state.showMenu);\n });\n }\n\n closeMenu(event) {\n if (!this.dropdownMenu.contains(event.target)) {\n this.setState({\n showMenu: false\n }, () => {\n document.removeEventListener('click', this.closeMenu);\n console.log(this.state.showMenu);\n });\n }\n }\n\n render() {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"navbar\",\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"header-content\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"title-container\",\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n className: \"title\",\n children: /*#__PURE__*/_jsxDEV(\"span\", {\n className: \"title-icon\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n id: \"logo\",\n href: \"./\",\n children: [/*#__PURE__*/_jsxDEV(\"img\", {\n src: logo_picture,\n width: \"24\",\n height: \"24\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 53,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"img\", {\n src: logo_text,\n width: \"48\",\n height: \"24\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 54,\n columnNumber: 19\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 52,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 51,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 50,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"ul\", {\n className: \"left-unstyled-navbar\",\n children: [/*#__PURE__*/_jsxDEV(\"li\", {\n className: \"report-bug-navbutton-container\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n className: \"activeUnderlined\",\n href: \"./\",\n children: \"Report Bugs\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 62,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 61,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n className: \"manage-projects-navbutton-container\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Projects\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 65,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 64,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n className: \"manage-team-navbutton-container\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Team\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 68,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 67,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 60,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 47,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"searchbar-profile-container\",\n children: /*#__PURE__*/_jsxDEV(\"ul\", {\n className: \"right-unstyled-navbar\",\n children: [/*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"navbar-searchbar-container\",\n children: [/*#__PURE__*/_jsxDEV(\"input\", {\n className: \"searchbar-input\",\n type: \"text\",\n name: \"\",\n placeholder: \"Search..\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 80,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"a\", {\n className: \"search-button\",\n href: \"./\",\n type: \"submit\",\n children: /*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n icon: \"search\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 83,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 82,\n columnNumber: 19\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 79,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 78,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"navbar-user-dropdown-container\",\n children: [/*#__PURE__*/_jsxDEV(\"button\", {\n className: \"user-dropdown-menu-toggle-button\",\n onClick: this.showMenu,\n children: [/*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"user-icon\",\n icon: \"user-circle\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 92,\n columnNumber: 21\n }, this), /*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"down-arrow\",\n icon: \"angle-down\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 93,\n columnNumber: 21\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 91,\n columnNumber: 19\n }, this), this.state.showMenu ? /*#__PURE__*/_jsxDEV(\"div\", {\n id: \"userMenuDropdown\",\n className: \"user-dropdown-menu-content\",\n ref: element => {\n this.dropdownMenu = element;\n },\n children: [/*#__PURE__*/_jsxDEV(\"a\", {\n className: \"user-profile-link\",\n href: \"./\",\n children: \"Link 1\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 99,\n columnNumber: 25\n }, this), /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Link 2\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 100,\n columnNumber: 25\n }, this), /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Link 3\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 101,\n columnNumber: 25\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 98,\n columnNumber: 23\n }, this) : null]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 90,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 89,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 75,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 74,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 44,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 43,\n columnNumber: 7\n }, this);\n }\n\n}\n\nexport default Navigationbar;","map":{"version":3,"sources":["C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/navigationbar/navigationbar.js"],"names":["React","Component","useRef","useEffect","Link","logo_picture","logo_text","FontAwesomeIcon","Navigationbar","constructor","state","showMenu","bind","closeMenu","event","preventDefault","setState","document","addEventListener","console","log","dropdownMenu","contains","target","removeEventListener","render","element"],"mappings":"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","sourcesContent":["import React, { Component, useRef, useEffect } from 'react'\r\nimport { Link } from \"react-router-dom\"\r\nimport \"./navigationbar.css\"\r\nimport logo_picture from \"../../images/bird-logo.jpg\"\r\nimport logo_text from \"../../images/logo-text.jpg\"\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\n\r\nclass Navigationbar extends Component {\r\n constructor() {\r\n super();\r\n\r\n this.state = {\r\n showMenu: false,\r\n };\r\n\r\n this.showMenu = this.showMenu.bind(this);\r\n this.closeMenu = this.closeMenu.bind(this);\r\n }\r\n\r\n showMenu(event) {\r\n event.preventDefault();\r\n\r\n this.setState({ showMenu: true }, () => {\r\n document.addEventListener('click', closeMenu());\r\n console.log(this.state.showMenu)\r\n });\r\n }\r\n\r\n closeMenu(event) {\r\n\r\n if (!this.dropdownMenu.contains(event.target)) {\r\n\r\n this.setState({ showMenu: false }, () => {\r\n document.removeEventListener('click', this.closeMenu);\r\n console.log(this.state.showMenu)\r\n });\r\n\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <div className=\"navbar\" >\r\n <div className=\"header-content\">\r\n\r\n {/* logo and navigation links*/}\r\n <div className=\"title-container\">\r\n\r\n {/* logo */}\r\n <h1 className=\"title\">\r\n <span className=\"title-icon\">\r\n <a id=\"logo\" href=\"./\">\r\n <img src={logo_picture} width=\"24\" height=\"24\"></img>\r\n <img src={logo_text} width=\"48\" height=\"24\"></img>\r\n </a>\r\n </span>\r\n </h1>\r\n\r\n {/* navigation links */}\r\n <ul className=\"left-unstyled-navbar\">\r\n <li className=\"report-bug-navbutton-container\">\r\n <a className=\"activeUnderlined\" href=\"./\">Report Bugs</a>\r\n </li>\r\n <li className=\"manage-projects-navbutton-container\">\r\n <a href=\"./\">Projects</a>\r\n </li>\r\n <li className=\"manage-team-navbutton-container\">\r\n <a href=\"./\">Team</a>\r\n </li>\r\n </ul>\r\n </div>\r\n\r\n {/* searchbar and profile submenu */}\r\n <div className=\"searchbar-profile-container\">\r\n <ul className=\"right-unstyled-navbar\">\r\n\r\n {/* searchbar */}\r\n <li>\r\n <div className=\"navbar-searchbar-container\">\r\n <input className=\"searchbar-input\" type=\"text\" name=\"\" placeholder=\"Search..\">\r\n </input>\r\n <a className=\"search-button\" href=\"./\" type=\"submit\">\r\n <FontAwesomeIcon icon=\"search\"></FontAwesomeIcon>\r\n </a>\r\n </div>\r\n </li>\r\n\r\n {/* profile submenu */}\r\n <li>\r\n <div className=\"navbar-user-dropdown-container\">\r\n <button className=\"user-dropdown-menu-toggle-button\" onClick={this.showMenu}>\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 {this.state.showMenu\r\n ? (\r\n <div id=\"userMenuDropdown\" className=\"user-dropdown-menu-content\" ref={(element) => { this.dropdownMenu = element }}>\r\n <a className=\"user-profile-link\" href=\"./\">Link 1</a>\r\n <a href=\"./\">Link 2</a>\r\n <a href=\"./\">Link 3</a>\r\n </div>\r\n )\r\n : (\r\n null\r\n )\r\n }\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div >\r\n )\r\n }\r\n}\r\n\r\n\r\nexport default Navigationbar"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\Bruger\\\\Desktop\\\\Web-projects\\\\pipit\\\\client\\\\src\\\\components\\\\navigationbar\\\\navigationbar.js\";\nimport React, { Component, useRef, useEffect } from 'react';\nimport { Link } from \"react-router-dom\";\nimport \"./navigationbar.css\";\nimport logo_picture from \"../../images/bird-logo.jpg\";\nimport logo_text from \"../../images/logo-text.jpg\";\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nfunction handleOutsideElementClick() {}\n\nclass Navigationbar extends Component {\n constructor() {\n super();\n this.state = {\n showMenu: false\n };\n this.showMenu = this.showMenu.bind(this);\n this.closeMenu = this.closeMenu.bind(this);\n }\n\n showMenu(event) {\n event.preventDefault();\n\n if (this.state.showMenu == false) {\n this.setState({\n showMenu: true\n });\n document.addEventListener('click', function () {\n handleOutsideElementClick();\n });\n }\n\n if (this.state.showMenu == true && !this.dropdownMenu.contains(event.target)) this.setState({\n showMenu: false\n });\n }\n\n closeMenu(event) {\n if (!this.dropdownMenu.contains(event.target)) {\n this.setState({\n showMenu: false\n }, () => {\n document.removeEventListener('click', this.closeMenu);\n console.log(this.state.showMenu);\n });\n }\n }\n\n render() {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"navbar\",\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"header-content\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"title-container\",\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n className: \"title\",\n children: /*#__PURE__*/_jsxDEV(\"span\", {\n className: \"title-icon\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n id: \"logo\",\n href: \"./\",\n children: [/*#__PURE__*/_jsxDEV(\"img\", {\n src: logo_picture,\n width: \"24\",\n height: \"24\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 60,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"img\", {\n src: logo_text,\n width: \"48\",\n height: \"24\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 61,\n columnNumber: 19\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 59,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 58,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 57,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"ul\", {\n className: \"left-unstyled-navbar\",\n children: [/*#__PURE__*/_jsxDEV(\"li\", {\n className: \"report-bug-navbutton-container\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n className: \"activeUnderlined\",\n href: \"./\",\n children: \"Report Bugs\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 69,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 68,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n className: \"manage-projects-navbutton-container\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Projects\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 72,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 71,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n className: \"manage-team-navbutton-container\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Team\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 75,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 74,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 67,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 54,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"searchbar-profile-container\",\n children: /*#__PURE__*/_jsxDEV(\"ul\", {\n className: \"right-unstyled-navbar\",\n children: [/*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"navbar-searchbar-container\",\n children: [/*#__PURE__*/_jsxDEV(\"input\", {\n className: \"searchbar-input\",\n type: \"text\",\n name: \"\",\n placeholder: \"Search..\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 87,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"a\", {\n className: \"search-button\",\n href: \"./\",\n type: \"submit\",\n children: /*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n icon: \"search\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 90,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 89,\n columnNumber: 19\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 86,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 85,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"navbar-user-dropdown-container\",\n children: [/*#__PURE__*/_jsxDEV(\"button\", {\n className: \"user-dropdown-menu-toggle-button\",\n onClick: this.showMenu,\n children: [/*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"user-icon\",\n icon: \"user-circle\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 99,\n columnNumber: 21\n }, this), /*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"down-arrow\",\n icon: \"angle-down\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 100,\n columnNumber: 21\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 98,\n columnNumber: 19\n }, this), this.state.showMenu ? /*#__PURE__*/_jsxDEV(\"div\", {\n id: \"userMenuDropdown\",\n className: \"user-dropdown-menu-content\",\n ref: element => {\n this.dropdownMenu = element;\n },\n children: [/*#__PURE__*/_jsxDEV(\"a\", {\n className: \"user-profile-link\",\n href: \"./\",\n children: \"Link 1\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 106,\n columnNumber: 25\n }, this), /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Link 2\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 107,\n columnNumber: 25\n }, this), /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Link 3\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 108,\n columnNumber: 25\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 105,\n columnNumber: 23\n }, this) : null]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 97,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 96,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 82,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 81,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 51,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 50,\n columnNumber: 7\n }, this);\n }\n\n}\n\nexport default Navigationbar;","map":{"version":3,"sources":["C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/navigationbar/navigationbar.js"],"names":["React","Component","useRef","useEffect","Link","logo_picture","logo_text","FontAwesomeIcon","handleOutsideElementClick","Navigationbar","constructor","state","showMenu","bind","closeMenu","event","preventDefault","setState","document","addEventListener","dropdownMenu","contains","target","removeEventListener","console","log","render","element"],"mappings":"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","sourcesContent":["import React, { Component, useRef, useEffect } from 'react'\r\nimport { Link } from \"react-router-dom\"\r\nimport \"./navigationbar.css\"\r\nimport logo_picture from \"../../images/bird-logo.jpg\"\r\nimport logo_text from \"../../images/logo-text.jpg\"\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\n\r\nfunction handleOutsideElementClick() {\r\n\r\n}\r\n\r\nclass Navigationbar extends Component {\r\n constructor() {\r\n super();\r\n\r\n this.state = {\r\n showMenu: false,\r\n };\r\n\r\n this.showMenu = this.showMenu.bind(this);\r\n this.closeMenu = this.closeMenu.bind(this);\r\n }\r\n\r\n showMenu(event) {\r\n event.preventDefault();\r\n\r\n if (this.state.showMenu == false) {\r\n this.setState({ showMenu: true })\r\n document.addEventListener('click', function () { handleOutsideElementClick() })\r\n }\r\n\r\n if (this.state.showMenu == true && !this.dropdownMenu.contains(event.target))\r\n this.setState({ showMenu: false })\r\n }\r\n\r\n closeMenu(event) {\r\n\r\n if (!this.dropdownMenu.contains(event.target)) {\r\n\r\n this.setState({ showMenu: false }, () => {\r\n document.removeEventListener('click', this.closeMenu);\r\n console.log(this.state.showMenu)\r\n });\r\n\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <div className=\"navbar\" >\r\n <div className=\"header-content\">\r\n\r\n {/* logo and navigation links*/}\r\n <div className=\"title-container\">\r\n\r\n {/* logo */}\r\n <h1 className=\"title\">\r\n <span className=\"title-icon\">\r\n <a id=\"logo\" href=\"./\">\r\n <img src={logo_picture} width=\"24\" height=\"24\"></img>\r\n <img src={logo_text} width=\"48\" height=\"24\"></img>\r\n </a>\r\n </span>\r\n </h1>\r\n\r\n {/* navigation links */}\r\n <ul className=\"left-unstyled-navbar\">\r\n <li className=\"report-bug-navbutton-container\">\r\n <a className=\"activeUnderlined\" href=\"./\">Report Bugs</a>\r\n </li>\r\n <li className=\"manage-projects-navbutton-container\">\r\n <a href=\"./\">Projects</a>\r\n </li>\r\n <li className=\"manage-team-navbutton-container\">\r\n <a href=\"./\">Team</a>\r\n </li>\r\n </ul>\r\n </div>\r\n\r\n {/* searchbar and profile submenu */}\r\n <div className=\"searchbar-profile-container\">\r\n <ul className=\"right-unstyled-navbar\">\r\n\r\n {/* searchbar */}\r\n <li>\r\n <div className=\"navbar-searchbar-container\">\r\n <input className=\"searchbar-input\" type=\"text\" name=\"\" placeholder=\"Search..\">\r\n </input>\r\n <a className=\"search-button\" href=\"./\" type=\"submit\">\r\n <FontAwesomeIcon icon=\"search\"></FontAwesomeIcon>\r\n </a>\r\n </div>\r\n </li>\r\n\r\n {/* profile submenu */}\r\n <li>\r\n <div className=\"navbar-user-dropdown-container\">\r\n <button className=\"user-dropdown-menu-toggle-button\" onClick={this.showMenu}>\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 {this.state.showMenu\r\n ? (\r\n <div id=\"userMenuDropdown\" className=\"user-dropdown-menu-content\" ref={(element) => { this.dropdownMenu = element }}>\r\n <a className=\"user-profile-link\" href=\"./\">Link 1</a>\r\n <a href=\"./\">Link 2</a>\r\n <a href=\"./\">Link 3</a>\r\n </div>\r\n )\r\n : (\r\n null\r\n )\r\n }\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div >\r\n )\r\n }\r\n}\r\n\r\n\r\nexport default Navigationbar"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\Bruger\\\\Desktop\\\\Web-projects\\\\pipit\\\\client\\\\src\\\\components\\\\navigationbar\\\\navigationbar_components\\\\UserDropdownMenu.js\";\nimport React from 'react';\nimport useComponentVisible from '../../../custom_hooks/useComponentVisible';\nimport \"../navigationbar.css\";\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nfunction UserDropdownMenu() {\n return /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"navbar-user-dropdown-container\",\n children: [/*#__PURE__*/_jsxDEV(\"button\", {\n className: \"user-dropdown-menu-toggle-button\",\n onClick: this.showMenu,\n children: [/*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"user-icon\",\n icon: \"user-circle\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"down-arrow\",\n icon: \"angle-down\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n id: \"userMenuDropdown\",\n className: \"user-dropdown-menu-content\",\n children: [/*#__PURE__*/_jsxDEV(\"a\", {\n className: \"user-profile-link\",\n href: \"./\",\n children: \"Link 1\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 17,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Link 2\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 18,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Link 3\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 16,\n columnNumber: 9\n }, this), \")}\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 9,\n columnNumber: 5\n }, this);\n}\n\n_c = UserDropdownMenu;\nexport default UserDropdownMenu;\n\nvar _c;\n\n$RefreshReg$(_c, \"UserDropdownMenu\");","map":{"version":3,"sources":["C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/navigationbar/navigationbar_components/UserDropdownMenu.js"],"names":["React","useComponentVisible","FontAwesomeIcon","UserDropdownMenu","showMenu"],"mappings":";AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,mBAAP,MAAgC,2CAAhC;AACA,OAAO,sBAAP;AACA,SAASC,eAAT,QAAgC,gCAAhC;;;AAGA,SAASC,gBAAT,GAA4B;AAC1B,sBACE;AAAA,2BACE;AAAK,MAAA,SAAS,EAAC,gCAAf;AAAA,8BACE;AAAQ,QAAA,SAAS,EAAC,kCAAlB;AAAqD,QAAA,OAAO,EAAE,KAAKC,QAAnE;AAAA,gCACE,QAAC,eAAD;AAAiB,UAAA,SAAS,EAAC,WAA3B;AAAuC,UAAA,IAAI,EAAC;AAA5C;AAAA;AAAA;AAAA;AAAA,gBADF,eAEE,QAAC,eAAD;AAAiB,UAAA,SAAS,EAAC,YAA3B;AAAwC,UAAA,IAAI,EAAC;AAA7C;AAAA;AAAA;AAAA;AAAA,gBAFF;AAAA;AAAA;AAAA;AAAA;AAAA,cADF,eAME;AAAK,QAAA,EAAE,EAAC,kBAAR;AAA2B,QAAA,SAAS,EAAC,4BAArC;AAAA,gCACE;AAAG,UAAA,SAAS,EAAC,mBAAb;AAAiC,UAAA,IAAI,EAAC,IAAtC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBADF,eAEE;AAAG,UAAA,IAAI,EAAC,IAAR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAFF,eAGE;AAAG,UAAA,IAAI,EAAC,IAAR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAHF;AAAA;AAAA;AAAA;AAAA;AAAA,cANF;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,UADF;AAiBD;;KAlBQD,gB;AAoBT,eAAeA,gBAAf","sourcesContent":["import React from 'react'\r\nimport useComponentVisible from '../../../custom_hooks/useComponentVisible';\r\nimport \"../navigationbar.css\"\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\n\r\n\r\nfunction UserDropdownMenu() {\r\n return (\r\n <li>\r\n <div className=\"navbar-user-dropdown-container\">\r\n <button className=\"user-dropdown-menu-toggle-button\" onClick={this.showMenu}>\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 id=\"userMenuDropdown\" className=\"user-dropdown-menu-content\">\r\n <a className=\"user-profile-link\" href=\"./\">Link 1</a>\r\n <a href=\"./\">Link 2</a>\r\n <a href=\"./\">Link 3</a>\r\n </div>)}\r\n </div>\r\n\r\n </li >\r\n )\r\n}\r\n\r\nexport default UserDropdownMenu"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
{"ast":null,"code":"var _s = $RefreshSig$();\n\nimport { useState, useEffect, useRef } from 'react';\nexport default function useComponentVisible(initialIsVisible) {\n _s();\n\n const [isComponentVisible, setIsComponentVisible] = useState(initialIsVisible);\n const ref = useRef(null);\n\n const handleClickOutside = event => {\n console.log(\"outside click\");\n\n if (ref.current && !ref.current.contains(event.target)) {\n setIsComponentVisible(false);\n }\n };\n\n useEffect(() => {\n document.addEventListener('click', handleClickOutside, true);\n return () => {\n document.removeEventListener('click', handleClickOutside, true);\n };\n });\n return {\n ref,\n isComponentVisible,\n setIsComponentVisible\n };\n}\n\n_s(useComponentVisible, \"AWy8khZlo/E0vRuiUJhN+9iJdmI=\");","map":{"version":3,"sources":["C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/custom_hooks/useComponentVisible.js"],"names":["useState","useEffect","useRef","useComponentVisible","initialIsVisible","isComponentVisible","setIsComponentVisible","ref","handleClickOutside","event","console","log","current","contains","target","document","addEventListener","removeEventListener"],"mappings":";;AAAA,SAASA,QAAT,EAAmBC,SAAnB,EAA8BC,MAA9B,QAA4C,OAA5C;AAEA,eAAe,SAASC,mBAAT,CAA6BC,gBAA7B,EAA+C;AAAA;;AAC5D,QAAM,CAACC,kBAAD,EAAqBC,qBAArB,IAA8CN,QAAQ,CAACI,gBAAD,CAA5D;AACA,QAAMG,GAAG,GAAGL,MAAM,CAAC,IAAD,CAAlB;;AAEA,QAAMM,kBAAkB,GAAIC,KAAD,IAAW;AACpCC,IAAAA,OAAO,CAACC,GAAR,CAAY,eAAZ;;AACA,QAAIJ,GAAG,CAACK,OAAJ,IAAe,CAACL,GAAG,CAACK,OAAJ,CAAYC,QAAZ,CAAqBJ,KAAK,CAACK,MAA3B,CAApB,EAAwD;AACtDR,MAAAA,qBAAqB,CAAC,KAAD,CAArB;AACD;AACF,GALD;;AAOAL,EAAAA,SAAS,CAAC,MAAM;AACdc,IAAAA,QAAQ,CAACC,gBAAT,CAA0B,OAA1B,EAAmCR,kBAAnC,EAAuD,IAAvD;AACA,WAAO,MAAM;AACXO,MAAAA,QAAQ,CAACE,mBAAT,CAA6B,OAA7B,EAAsCT,kBAAtC,EAA0D,IAA1D;AACD,KAFD;AAGD,GALQ,CAAT;AAOA,SAAO;AAAED,IAAAA,GAAF;AAAOF,IAAAA,kBAAP;AAA2BC,IAAAA;AAA3B,GAAP;AACD;;GAnBuBH,mB","sourcesContent":["import { useState, useEffect, useRef } from 'react';\r\n\r\nexport default function useComponentVisible(initialIsVisible) {\r\n const [isComponentVisible, setIsComponentVisible] = useState(initialIsVisible);\r\n const ref = useRef(null);\r\n\r\n const handleClickOutside = (event) => {\r\n console.log(\"outside click\")\r\n if (ref.current && !ref.current.contains(event.target)) {\r\n setIsComponentVisible(false);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n document.addEventListener('click', handleClickOutside, true);\r\n return () => {\r\n document.removeEventListener('click', handleClickOutside, true);\r\n };\r\n });\r\n\r\n return { ref, isComponentVisible, setIsComponentVisible };\r\n}"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\Bruger\\\\Desktop\\\\Web-projects\\\\pipit\\\\client\\\\src\\\\components\\\\navigationbar\\\\navigationbar_components\\\\userDropdownMenu.js\",\n _s = $RefreshSig$();\n\nimport React from 'react';\nimport useComponentVisible from '../../../custom_hooks/useComponentVisible';\nimport \"../navigationbar.css\";\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nconst DropDown = () => {\n _s();\n\n const {\n ref,\n isComponentVisible\n } = useComponentVisible(true);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n ref: ref,\n children: !isComponentVisible && /*#__PURE__*/_jsxDEV(\"div\", {\n id: \"userMenuDropdown\",\n className: \"user-dropdown-menu-content\",\n children: [/*#__PURE__*/_jsxDEV(\"a\", {\n className: \"user-profile-link\",\n href: \"./\",\n children: \"Link 1\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Link 2\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Link 3\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 32\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 9,\n columnNumber: 5\n }, this);\n};\n\n_s(DropDown, \"s16x+rwK9S5+ZEc7FmFd3HHfYVM=\", false, function () {\n return [useComponentVisible];\n});\n\n_c = DropDown;\n\nfunction UserDropdownMenu() {\n return /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"navbar-user-dropdown-container\",\n children: [/*#__PURE__*/_jsxDEV(\"button\", {\n className: \"user-dropdown-menu-toggle-button\",\n onClick: this.showMenu,\n children: [/*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"user-icon\",\n icon: \"user-circle\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 25,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"down-arrow\",\n icon: \"angle-down\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 26,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 24,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(DropDown, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 29,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 5\n }, this);\n}\n\n_c2 = UserDropdownMenu;\nexport default UserDropdownMenu;\n\nvar _c, _c2;\n\n$RefreshReg$(_c, \"DropDown\");\n$RefreshReg$(_c2, \"UserDropdownMenu\");","map":{"version":3,"sources":["C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/navigationbar/navigationbar_components/userDropdownMenu.js"],"names":["React","useComponentVisible","FontAwesomeIcon","DropDown","ref","isComponentVisible","UserDropdownMenu","showMenu"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,mBAAP,MAAgC,2CAAhC;AACA,OAAO,sBAAP;AACA,SAASC,eAAT,QAAgC,gCAAhC;;;AAEA,MAAMC,QAAQ,GAAG,MAAM;AAAA;;AACrB,QAAM;AAAEC,IAAAA,GAAF;AAAOC,IAAAA;AAAP,MAA8BJ,mBAAmB,CAAC,IAAD,CAAvD;AACA,sBACE;AAAK,IAAA,GAAG,EAAEG,GAAV;AAAA,cACG,CAACC,kBAAD,iBAAwB;AAAK,MAAA,EAAE,EAAC,kBAAR;AAA2B,MAAA,SAAS,EAAC,4BAArC;AAAA,8BACvB;AAAG,QAAA,SAAS,EAAC,mBAAb;AAAiC,QAAA,IAAI,EAAC,IAAtC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cADuB,eAEvB;AAAG,QAAA,IAAI,EAAC,IAAR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAFuB,eAGvB;AAAG,QAAA,IAAI,EAAC,IAAR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAHuB;AAAA;AAAA;AAAA;AAAA;AAAA;AAD3B;AAAA;AAAA;AAAA;AAAA,UADF;AASD,CAXD;;GAAMF,Q;UACgCF,mB;;;KADhCE,Q;;AAaN,SAASG,gBAAT,GAA4B;AAE1B,sBACE;AAAA,2BACE;AAAK,MAAA,SAAS,EAAC,gCAAf;AAAA,8BACE;AAAQ,QAAA,SAAS,EAAC,kCAAlB;AAAqD,QAAA,OAAO,EAAE,KAAKC,QAAnE;AAAA,gCACE,QAAC,eAAD;AAAiB,UAAA,SAAS,EAAC,WAA3B;AAAuC,UAAA,IAAI,EAAC;AAA5C;AAAA;AAAA;AAAA;AAAA,gBADF,eAEE,QAAC,eAAD;AAAiB,UAAA,SAAS,EAAC,YAA3B;AAAwC,UAAA,IAAI,EAAC;AAA7C;AAAA;AAAA;AAAA;AAAA,gBAFF;AAAA;AAAA;AAAA;AAAA;AAAA,cADF,eAME,QAAC,QAAD;AAAA;AAAA;AAAA;AAAA,cANF;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,UADF;AAYD;;MAdQD,gB;AAgBT,eAAeA,gBAAf","sourcesContent":["import React from 'react'\r\nimport useComponentVisible from '../../../custom_hooks/useComponentVisible';\r\nimport \"../navigationbar.css\"\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\n\r\nconst DropDown = () => {\r\n const { ref, isComponentVisible } = useComponentVisible(true);\r\n return (\r\n <div ref={ref}>\r\n {!isComponentVisible && (<div id=\"userMenuDropdown\" className=\"user-dropdown-menu-content\">\r\n <a className=\"user-profile-link\" href=\"./\">Link 1</a>\r\n <a href=\"./\">Link 2</a>\r\n <a href=\"./\">Link 3</a>\r\n </div>)}\r\n </div>\r\n );\r\n}\r\n\r\nfunction UserDropdownMenu() {\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\" onClick={this.showMenu}>\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 <DropDown></DropDown>\r\n </div>\r\n </li>\r\n )\r\n}\r\n\r\nexport default UserDropdownMenu"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\Bruger\\\\Desktop\\\\Web-projects\\\\pipit\\\\client\\\\src\\\\components\\\\navigationbar\\\\navigationbar_components\\\\UserDropdownMenu.js\",\n _s = $RefreshSig$();\n\nimport React, { useRef, useState, useEffect } from 'react';\nimport \"userDropdownMenu\";\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nfunction UserDropdownMenu() {\n _s();\n\n const dropdownRef = useRef(null);\n const [isActive, setIsActive] = useState(false);\n\n const onClick = () => setIsActive(!isActive);\n\n useEffect(() => {\n const pageClickEvent = e => {\n if (dropdownRef.current !== null && !dropdownRef.current.contains(e.target)) {\n setIsActive(!isActive);\n }\n }; // If the item is active (ie open) then listen for clicks\n\n\n if (isActive) {\n window.addEventListener('click', pageClickEvent);\n }\n\n return () => {\n window.removeEventListener('click', pageClickEvent);\n };\n }, [isActive]);\n return /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"navbar-user-dropdown-container\",\n children: [/*#__PURE__*/_jsxDEV(\"button\", {\n className: `user-dropdown-menu-toggle-button ${isActive ? 'active' : 'inactive'}`,\n onClick: onClick,\n children: [/*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"user-icon\",\n icon: \"user-circle\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 35,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"down-arrow\",\n icon: \"angle-down\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 36,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 34,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n ref: dropdownRef,\n className: `user-dropDown-menu-content ${isActive ? 'active' : 'inactive'}`,\n children: /*#__PURE__*/_jsxDEV(\"ul\", {\n children: [/*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: [/*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n icon: \"user\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 41,\n columnNumber: 30\n }, this), \" Account\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 41,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 41,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: [/*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n icon: \"envelope\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 42,\n columnNumber: 30\n }, this), \" Messages\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 42,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 42,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: [/*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n icon: \"cog\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 43,\n columnNumber: 30\n }, this), \" Preferences\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 43,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 43,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: [/*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n icon: \"sign-out-alt\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 44,\n columnNumber: 30\n }, this), \" Sign out\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 44,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 44,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 40,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 39,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 33,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 32,\n columnNumber: 5\n }, this);\n}\n\n_s(UserDropdownMenu, \"+2ios9YLl+dWpD7Y2mDqdcbDdLo=\");\n\n_c = UserDropdownMenu;\nexport default UserDropdownMenu;\n\nvar _c;\n\n$RefreshReg$(_c, \"UserDropdownMenu\");","map":{"version":3,"sources":["C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/navigationbar/navigationbar_components/UserDropdownMenu.js"],"names":["React","useRef","useState","useEffect","FontAwesomeIcon","UserDropdownMenu","dropdownRef","isActive","setIsActive","onClick","pageClickEvent","e","current","contains","target","window","addEventListener","removeEventListener"],"mappings":"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","sourcesContent":["import React, { useRef, useState, useEffect } from 'react'\r\nimport \"userDropdownMenu\"\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\n\r\n\r\nfunction UserDropdownMenu() {\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\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><a href=\"./\"><FontAwesomeIcon icon=\"user\"></FontAwesomeIcon> Account</a></li>\r\n <li><a href=\"./\"><FontAwesomeIcon icon=\"envelope\"></FontAwesomeIcon> Messages</a></li>\r\n <li><a href=\"./\"><FontAwesomeIcon icon=\"cog\"></FontAwesomeIcon> Preferences</a></li>\r\n <li><a href=\"./\"><FontAwesomeIcon icon=\"sign-out-alt\"></FontAwesomeIcon> Sign out</a></li>\r\n </ul>\r\n </div>\r\n </div>\r\n </li >\r\n )\r\n}\r\n\r\nexport default UserDropdownMenu"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\Bruger\\\\Desktop\\\\Web-projects\\\\pipit\\\\client\\\\src\\\\components\\\\navigationbar\\\\navigationbar.js\";\nimport React, { Component } from 'react';\nimport { Link } from \"react-router-dom\";\nimport \"./navigationbar.css\";\nimport logo_picture from \"../../images/bird-logo.jpg\";\nimport logo_text from \"../../images/logo-text.jpg\";\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nclass Navigationbar extends Component {\n constructor() {\n super();\n this.state = {\n showMenu: false\n };\n this.showMenu = this.showMenu.bind(this);\n this.closeMenu = this.closeMenu.bind(this);\n }\n\n showMenu(event) {\n event.preventDefault();\n this.setState({\n showMenu: true\n }, () => {\n document.addEventListener('click', this.closeMenu);\n console.log(this.state.showMenu);\n });\n }\n\n closeMenu(event) {\n if (!this.dropdownMenu.contains(event.target)) {\n this.setState({\n showMenu: false\n }, () => {\n document.removeEventListener('click', this.closeMenu);\n console.log(this.state.showMenu);\n });\n }\n }\n\n render() {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"navbar\",\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"header-content\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"title-container\",\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n className: \"title\",\n children: /*#__PURE__*/_jsxDEV(\"span\", {\n className: \"title-icon\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n id: \"logo\",\n href: \"./\",\n children: [/*#__PURE__*/_jsxDEV(\"img\", {\n src: logo_picture,\n width: \"24\",\n height: \"24\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 53,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"img\", {\n src: logo_text,\n width: \"48\",\n height: \"24\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 54,\n columnNumber: 19\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 52,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 51,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 50,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"ul\", {\n className: \"left-unstyled-navbar\",\n children: [/*#__PURE__*/_jsxDEV(\"li\", {\n className: \"report-bug-navbutton-container\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n className: \"activeUnderlined\",\n href: \"./\",\n children: \"Report Bugs\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 62,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 61,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n className: \"manage-projects-navbutton-container\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Projects\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 65,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 64,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n className: \"manage-team-navbutton-container\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Team\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 68,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 67,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 60,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 47,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"searchbar-profile-container\",\n children: /*#__PURE__*/_jsxDEV(\"ul\", {\n className: \"right-unstyled-navbar\",\n children: [/*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"navbar-searchbar-container\",\n children: [/*#__PURE__*/_jsxDEV(\"input\", {\n className: \"searchbar-input\",\n type: \"text\",\n name: \"\",\n placeholder: \"Search..\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 80,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"a\", {\n className: \"search-button\",\n href: \"./\",\n type: \"submit\",\n children: /*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n icon: \"search\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 83,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 82,\n columnNumber: 19\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 79,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 78,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"navbar-user-dropdown-container\",\n children: [/*#__PURE__*/_jsxDEV(\"button\", {\n className: \"user-dropdown-menu-toggle-button\",\n onClick: this.showMenu,\n children: [/*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"user-icon\",\n icon: \"user-circle\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 92,\n columnNumber: 21\n }, this), /*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"down-arrow\",\n icon: \"angle-down\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 93,\n columnNumber: 21\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 91,\n columnNumber: 19\n }, this), this.state.showMenu ? /*#__PURE__*/_jsxDEV(\"div\", {\n id: \"userMenuDropdown\",\n className: \"user-dropdown-menu-content\",\n ref: element => {\n this.dropdownMenu = element;\n },\n children: [/*#__PURE__*/_jsxDEV(\"a\", {\n className: \"user-profile-link\",\n href: \"./\",\n children: \"Link 1\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 99,\n columnNumber: 25\n }, this), /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Link 2\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 100,\n columnNumber: 25\n }, this), /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Link 3\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 101,\n columnNumber: 25\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 98,\n columnNumber: 23\n }, this) : null]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 90,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 89,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 75,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 74,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 44,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 43,\n columnNumber: 7\n }, this);\n }\n\n}\n\nexport default Navigationbar;","map":{"version":3,"sources":["C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/navigationbar/navigationbar.js"],"names":["React","Component","Link","logo_picture","logo_text","FontAwesomeIcon","Navigationbar","constructor","state","showMenu","bind","closeMenu","event","preventDefault","setState","document","addEventListener","console","log","dropdownMenu","contains","target","removeEventListener","render","element"],"mappings":"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","sourcesContent":["import React, { Component } from 'react'\r\nimport { Link } from \"react-router-dom\"\r\nimport \"./navigationbar.css\"\r\nimport logo_picture from \"../../images/bird-logo.jpg\"\r\nimport logo_text from \"../../images/logo-text.jpg\"\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\n\r\nclass Navigationbar extends Component {\r\n constructor() {\r\n super();\r\n\r\n this.state = {\r\n showMenu: false,\r\n };\r\n\r\n this.showMenu = this.showMenu.bind(this);\r\n this.closeMenu = this.closeMenu.bind(this);\r\n }\r\n\r\n showMenu(event) {\r\n event.preventDefault();\r\n\r\n this.setState({ showMenu: true }, () => {\r\n document.addEventListener('click', this.closeMenu);\r\n console.log(this.state.showMenu)\r\n });\r\n }\r\n\r\n closeMenu(event) {\r\n\r\n if (!this.dropdownMenu.contains(event.target)) {\r\n\r\n this.setState({ showMenu: false }, () => {\r\n document.removeEventListener('click', this.closeMenu);\r\n console.log(this.state.showMenu)\r\n });\r\n\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <div className=\"navbar\" >\r\n <div className=\"header-content\">\r\n\r\n {/* logo and navigation links*/}\r\n <div className=\"title-container\">\r\n\r\n {/* logo */}\r\n <h1 className=\"title\">\r\n <span className=\"title-icon\">\r\n <a id=\"logo\" href=\"./\">\r\n <img src={logo_picture} width=\"24\" height=\"24\"></img>\r\n <img src={logo_text} width=\"48\" height=\"24\"></img>\r\n </a>\r\n </span>\r\n </h1>\r\n\r\n {/* navigation links */}\r\n <ul className=\"left-unstyled-navbar\">\r\n <li className=\"report-bug-navbutton-container\">\r\n <a className=\"activeUnderlined\" href=\"./\">Report Bugs</a>\r\n </li>\r\n <li className=\"manage-projects-navbutton-container\">\r\n <a href=\"./\">Projects</a>\r\n </li>\r\n <li className=\"manage-team-navbutton-container\">\r\n <a href=\"./\">Team</a>\r\n </li>\r\n </ul>\r\n </div>\r\n\r\n {/* searchbar and profile submenu */}\r\n <div className=\"searchbar-profile-container\">\r\n <ul className=\"right-unstyled-navbar\">\r\n\r\n {/* searchbar */}\r\n <li>\r\n <div className=\"navbar-searchbar-container\">\r\n <input className=\"searchbar-input\" type=\"text\" name=\"\" placeholder=\"Search..\">\r\n </input>\r\n <a className=\"search-button\" href=\"./\" type=\"submit\">\r\n <FontAwesomeIcon icon=\"search\"></FontAwesomeIcon>\r\n </a>\r\n </div>\r\n </li>\r\n\r\n {/* profile submenu */}\r\n <li>\r\n <div className=\"navbar-user-dropdown-container\">\r\n <button className=\"user-dropdown-menu-toggle-button\" onClick={this.showMenu}>\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 {this.state.showMenu\r\n ? (\r\n <div id=\"userMenuDropdown\" className=\"user-dropdown-menu-content\" ref={(element) => { this.dropdownMenu = element }}>\r\n <a className=\"user-profile-link\" href=\"./\">Link 1</a>\r\n <a href=\"./\">Link 2</a>\r\n <a href=\"./\">Link 3</a>\r\n </div>\r\n )\r\n : (\r\n null\r\n )\r\n }\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div >\r\n )\r\n }\r\n}\r\n\r\n\r\nexport default Navigationbar"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\Bruger\\\\Desktop\\\\Web-projects\\\\pipit\\\\client\\\\src\\\\components\\\\navigationbar\\\\navigationbar_components\\\\UserDropdownMenu.js\",\n _s = $RefreshSig$();\n\nimport React, { useRef, useState } from 'react';\nimport \"../navigationbar.css\";\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nfunction UserDropdownMenu() {\n _s();\n\n const dropdownRef = useRef(null);\n const [isActive, setIsActive] = useState(false);\n\n const onClick = () => setIsActive(!isActive);\n\n return /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"navbar-user-dropdown-container\",\n children: [/*#__PURE__*/_jsxDEV(\"button\", {\n className: \"user-dropdown-menu-toggle-button\",\n onClick: onClick,\n children: [/*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"user-icon\",\n icon: \"user-circle\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 15,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"down-arrow\",\n icon: \"angle-down\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 16,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n ref: dropdownRef,\n className: `user-dropDown-menu-content ${isActive ? 'active' : 'inactive'}`,\n children: /*#__PURE__*/_jsxDEV(\"ul\", {\n children: [/*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: [\" \", /*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n icon: \"user\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 29\n }, this), \" Account\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Messages\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 25,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 25,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Prefecrences\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 26,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 26,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Sign out\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 27,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 27,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 5\n }, this);\n}\n\n_s(UserDropdownMenu, \"iCsEp132pgOQlkdcuBeEMRO/ncg=\");\n\n_c = UserDropdownMenu;\nexport default UserDropdownMenu;\n\nvar _c;\n\n$RefreshReg$(_c, \"UserDropdownMenu\");","map":{"version":3,"sources":["C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/navigationbar/navigationbar_components/UserDropdownMenu.js"],"names":["React","useRef","useState","FontAwesomeIcon","UserDropdownMenu","dropdownRef","isActive","setIsActive","onClick"],"mappings":";;;AAAA,OAAOA,KAAP,IAAgBC,MAAhB,EAAwBC,QAAxB,QAAwC,OAAxC;AACA,OAAO,sBAAP;AACA,SAASC,eAAT,QAAgC,gCAAhC;;;AAGA,SAASC,gBAAT,GAA4B;AAAA;;AAC1B,QAAMC,WAAW,GAAGJ,MAAM,CAAC,IAAD,CAA1B;AACA,QAAM,CAACK,QAAD,EAAWC,WAAX,IAA0BL,QAAQ,CAAC,KAAD,CAAxC;;AACA,QAAMM,OAAO,GAAG,MAAMD,WAAW,CAAC,CAACD,QAAF,CAAjC;;AAEA,sBACE;AAAA,2BACE;AAAK,MAAA,SAAS,EAAC,gCAAf;AAAA,8BACE;AAAQ,QAAA,SAAS,EAAC,kCAAlB;AAAqD,QAAA,OAAO,EAAEE,OAA9D;AAAA,gCACE,QAAC,eAAD;AAAiB,UAAA,SAAS,EAAC,WAA3B;AAAuC,UAAA,IAAI,EAAC;AAA5C;AAAA;AAAA;AAAA;AAAA,gBADF,eAEE,QAAC,eAAD;AAAiB,UAAA,SAAS,EAAC,YAA3B;AAAwC,UAAA,IAAI,EAAC;AAA7C;AAAA;AAAA;AAAA;AAAA,gBAFF;AAAA;AAAA;AAAA;AAAA;AAAA,cADF,eAME;AAAK,QAAA,GAAG,EAAEH,WAAV;AAAuB,QAAA,SAAS,EAAG,8BAA6BC,QAAQ,GAAG,QAAH,GAAc,UAAW,EAAjG;AAAA,+BACE;AAAA,kCACE;AAAA,mCACE;AAAG,cAAA,IAAI,EAAC,IAAR;AAAA,2CAAc,QAAC,eAAD;AAAiB,gBAAA,IAAI,EAAC;AAAtB;AAAA;AAAA;AAAA;AAAA,sBAAd;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,kBADF,eAKE;AAAA,mCAAI;AAAG,cAAA,IAAI,EAAC,IAAR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAJ;AAAA;AAAA;AAAA;AAAA,kBALF,eAME;AAAA,mCAAI;AAAG,cAAA,IAAI,EAAC,IAAR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAJ;AAAA;AAAA;AAAA;AAAA,kBANF,eAOE;AAAA,mCAAI;AAAG,cAAA,IAAI,EAAC,IAAR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAJ;AAAA;AAAA;AAAA;AAAA,kBAPF;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,cANF;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,UADF;AAsBD;;GA3BQF,gB;;KAAAA,gB;AA6BT,eAAeA,gBAAf","sourcesContent":["import React, { useRef, useState } from 'react'\r\nimport \"../navigationbar.css\"\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\n\r\n\r\nfunction UserDropdownMenu() {\r\n const dropdownRef = useRef(null);\r\n const [isActive, setIsActive] = useState(false);\r\n const onClick = () => setIsActive(!isActive);\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\" 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=\"./\"> <FontAwesomeIcon icon=\"user\"></FontAwesomeIcon> Account</a>\r\n\r\n </li>\r\n <li><a href=\"./\">Messages</a></li>\r\n <li><a href=\"./\">Prefecrences</a></li>\r\n <li><a href=\"./\">Sign out</a></li>\r\n </ul>\r\n </div>\r\n </div>\r\n </li >\r\n )\r\n}\r\n\r\nexport default UserDropdownMenu"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\Bruger\\\\Desktop\\\\Web-projects\\\\pipit\\\\client\\\\src\\\\components\\\\navigationbar\\\\searchbar\\\\Searchbar.js\";\nimport React from 'react';\nimport \"./searchbar.css\";\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nfunction searchbar() {\n return /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"navbar-searchbar-container\",\n children: [/*#__PURE__*/_jsxDEV(\"input\", {\n className: \"searchbar-input\",\n type: \"text\",\n name: \"\",\n placeholder: \"Search..\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 9,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"a\", {\n className: \"search-button\",\n href: \"./\",\n type: \"submit\",\n children: /*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n icon: \"search\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 8,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 7,\n columnNumber: 5\n }, this);\n}\n\nexport default searchbar;","map":{"version":3,"sources":["C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/navigationbar/searchbar/Searchbar.js"],"names":["React","FontAwesomeIcon","searchbar"],"mappings":";AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAO,iBAAP;AACA,SAASC,eAAT,QAAgC,gCAAhC;;;AAEA,SAASC,SAAT,GAAqB;AACnB,sBACE;AAAA,2BACE;AAAK,MAAA,SAAS,EAAC,4BAAf;AAAA,8BACE;AAAO,QAAA,SAAS,EAAC,iBAAjB;AAAmC,QAAA,IAAI,EAAC,MAAxC;AAA+C,QAAA,IAAI,EAAC,EAApD;AAAuD,QAAA,WAAW,EAAC;AAAnE;AAAA;AAAA;AAAA;AAAA,cADF,eAGE;AAAG,QAAA,SAAS,EAAC,eAAb;AAA6B,QAAA,IAAI,EAAC,IAAlC;AAAuC,QAAA,IAAI,EAAC,QAA5C;AAAA,+BACE,QAAC,eAAD;AAAiB,UAAA,IAAI,EAAC;AAAtB;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,cAHF;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,UADF;AAWD;;AACD,eAAeA,SAAf","sourcesContent":["import React from 'react'\r\nimport \"./searchbar.css\"\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\n\r\nfunction searchbar() {\r\n return (\r\n <li>\r\n <div className=\"navbar-searchbar-container\">\r\n <input className=\"searchbar-input\" type=\"text\" name=\"\" placeholder=\"Search..\">\r\n </input>\r\n <a className=\"search-button\" href=\"./\" type=\"submit\">\r\n <FontAwesomeIcon icon=\"search\"></FontAwesomeIcon>\r\n </a>\r\n </div>\r\n </li>\r\n )\r\n}\r\nexport default searchbar"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\Bruger\\\\Desktop\\\\Web-projects\\\\pipit\\\\client\\\\src\\\\components\\\\navigationbar\\\\Navigationbar.js\";\nimport React, { Component } from 'react';\nimport \"./navigationbar.css\";\nimport Searchbar from './searchbar/Searchbar';\nimport UserDropdownMenu from './userDropdownMenu/UserDropdownMenu';\nimport logo_picture from \"../../images/bird-logo.jpg\";\nimport logo_text from \"../../images/logo-text.jpg\";\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nclass Navigationbar extends React.Component {\n render() {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"navbar\",\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"header-content\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"title-container\",\n children: /*#__PURE__*/_jsxDEV(\"h1\", {\n className: \"title\",\n children: /*#__PURE__*/_jsxDEV(\"span\", {\n className: \"title-icon\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n id: \"logo\",\n href: \"./\",\n children: [/*#__PURE__*/_jsxDEV(\"img\", {\n src: logo_picture,\n width: \"24\",\n height: \"24\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 24,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"img\", {\n src: logo_text,\n width: \"48\",\n height: \"24\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 25,\n columnNumber: 19\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 18,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"ul\", {\n className: \"left-unstyled-navbar\",\n children: [/*#__PURE__*/_jsxDEV(\"li\", {\n className: \"report-bug-navbutton-container\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n className: \"activeUnderlined\",\n href: \"./\",\n children: \"Report Bugs\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 33,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 32,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n className: \"manage-projects-navbutton-container\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Projects\"\n }, void 0, false, {\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), /*#__PURE__*/_jsxDEV(\"li\", {\n className: \"manage-team-navbutton-container\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Team\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 39,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 38,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 31,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"searchbar-profile-container\",\n children: /*#__PURE__*/_jsxDEV(\"ul\", {\n className: \"right-unstyled-navbar\",\n children: [/*#__PURE__*/_jsxDEV(Searchbar, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 47,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(UserDropdownMenu, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 48,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 46,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 45,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 15,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 7\n }, this);\n }\n\n}\n\nexport default Navigationbar;","map":{"version":3,"sources":["C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/navigationbar/Navigationbar.js"],"names":["React","Component","Searchbar","UserDropdownMenu","logo_picture","logo_text","FontAwesomeIcon","Navigationbar","render"],"mappings":";AAAA,OAAOA,KAAP,IAAgBC,SAAhB,QAAiC,OAAjC;AACA,OAAO,qBAAP;AACA,OAAOC,SAAP,MAAsB,uBAAtB;AACA,OAAOC,gBAAP,MAA6B,qCAA7B;AACA,OAAOC,YAAP,MAAyB,4BAAzB;AACA,OAAOC,SAAP,MAAsB,4BAAtB;AACA,SAASC,eAAT,QAAgC,gCAAhC;;;AAIA,MAAMC,aAAN,SAA4BP,KAAK,CAACC,SAAlC,CAA4C;AAC1CO,EAAAA,MAAM,GAAG;AACP,wBACE;AAAK,MAAA,SAAS,EAAC,QAAf;AAAA,6BACE;AAAK,QAAA,SAAS,EAAC,gBAAf;AAAA,gCAGE;AAAK,UAAA,SAAS,EAAC,iBAAf;AAAA,iCAGE;AAAI,YAAA,SAAS,EAAC,OAAd;AAAA,mCACE;AAAM,cAAA,SAAS,EAAC,YAAhB;AAAA,qCACE;AAAG,gBAAA,EAAE,EAAC,MAAN;AAAa,gBAAA,IAAI,EAAC,IAAlB;AAAA,wCACE;AAAK,kBAAA,GAAG,EAAEJ,YAAV;AAAwB,kBAAA,KAAK,EAAC,IAA9B;AAAmC,kBAAA,MAAM,EAAC;AAA1C;AAAA;AAAA;AAAA;AAAA,wBADF,eAEE;AAAK,kBAAA,GAAG,EAAEC,SAAV;AAAqB,kBAAA,KAAK,EAAC,IAA3B;AAAgC,kBAAA,MAAM,EAAC;AAAvC;AAAA;AAAA;AAAA;AAAA,wBAFF;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA;AAHF;AAAA;AAAA;AAAA;AAAA,gBAHF,eAgBE;AAAI,UAAA,SAAS,EAAC,sBAAd;AAAA,kCACE;AAAI,YAAA,SAAS,EAAC,gCAAd;AAAA,mCACE;AAAG,cAAA,SAAS,EAAC,kBAAb;AAAgC,cAAA,IAAI,EAAC,IAArC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,kBADF,eAIE;AAAI,YAAA,SAAS,EAAC,qCAAd;AAAA,mCACE;AAAG,cAAA,IAAI,EAAC,IAAR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,kBAJF,eAOE;AAAI,YAAA,SAAS,EAAC,iCAAd;AAAA,mCACE;AAAG,cAAA,IAAI,EAAC,IAAR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,kBAPF;AAAA;AAAA;AAAA;AAAA;AAAA,gBAhBF,eA8BE;AAAK,UAAA,SAAS,EAAC,6BAAf;AAAA,iCACE;AAAI,YAAA,SAAS,EAAC,uBAAd;AAAA,oCACE,QAAC,SAAD;AAAA;AAAA;AAAA;AAAA,oBADF,eAEE,QAAC,gBAAD;AAAA;AAAA;AAAA;AAAA,oBAFF;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,gBA9BF;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,YADF;AAyCD;;AA3CyC;;AA+C5C,eAAeE,aAAf","sourcesContent":["import React, { Component } from 'react'\r\nimport \"./navigationbar.css\"\r\nimport Searchbar from './searchbar/Searchbar'\r\nimport UserDropdownMenu from './userDropdownMenu/UserDropdownMenu'\r\nimport logo_picture from \"../../images/bird-logo.jpg\"\r\nimport logo_text from \"../../images/logo-text.jpg\"\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\n\r\n\r\n\r\nclass Navigationbar extends React.Component {\r\n render() {\r\n return (\r\n <div className=\"navbar\" >\r\n <div className=\"header-content\">\r\n\r\n {/* logo and navigation links*/}\r\n <div className=\"title-container\">\r\n\r\n {/* logo */}\r\n <h1 className=\"title\">\r\n <span className=\"title-icon\">\r\n <a id=\"logo\" href=\"./\">\r\n <img src={logo_picture} width=\"24\" height=\"24\"></img>\r\n <img src={logo_text} width=\"48\" height=\"24\"></img>\r\n </a>\r\n </span>\r\n </h1>\r\n </div>\r\n {/* navigation links */}\r\n <ul className=\"left-unstyled-navbar\">\r\n <li className=\"report-bug-navbutton-container\">\r\n <a className=\"activeUnderlined\" href=\"./\">Report Bugs</a>\r\n </li>\r\n <li className=\"manage-projects-navbutton-container\">\r\n <a href=\"./\">Projects</a>\r\n </li>\r\n <li className=\"manage-team-navbutton-container\">\r\n <a href=\"./\">Team</a>\r\n </li>\r\n </ul>\r\n\r\n\r\n {/* searchbar and profile submenu container*/}\r\n <div className=\"searchbar-profile-container\">\r\n <ul className=\"right-unstyled-navbar\">\r\n <Searchbar />\r\n <UserDropdownMenu />\r\n </ul>\r\n </div>\r\n </div>\r\n </div >\r\n )\r\n }\r\n}\r\n\r\n\r\nexport default Navigationbar"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\Bruger\\\\Desktop\\\\Web-projects\\\\pipit\\\\client\\\\src\\\\components\\\\navigationbar\\\\navigationbar_components\\\\userDropdownMenu.js\",\n _s = $RefreshSig$();\n\nimport React, { Component } from 'react';\nimport useComponentVisible from '../../../custom_hooks/useComponentVisible';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nconst DropDown = () => {\n _s();\n\n const {\n ref,\n isComponentVisible\n } = useComponentVisible(true);\n return /*#__PURE__*/_jsxDEV(\"div\", {\n ref: ref,\n children: !isComponentVisible && /*#__PURE__*/_jsxDEV(\"div\", {\n id: \"userMenuDropdown\",\n className: \"user-dropdown-menu-content\",\n children: [/*#__PURE__*/_jsxDEV(\"a\", {\n className: \"user-profile-link\",\n href: \"./\",\n children: \"Link 1\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Link 2\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Link 3\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 9,\n columnNumber: 32\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 8,\n columnNumber: 5\n }, this);\n};\n\n_s(DropDown, \"s16x+rwK9S5+ZEc7FmFd3HHfYVM=\", false, function () {\n return [useComponentVisible];\n});\n\n_c = DropDown;\n\nclass userDropdownMenu extends Component {\n render() {\n return /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"navbar-user-dropdown-container\",\n children: [/*#__PURE__*/_jsxDEV(\"button\", {\n className: \"user-dropdown-menu-toggle-button\",\n onClick: this.showMenu,\n children: [/*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"user-icon\",\n icon: \"user-circle\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 24,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"down-arrow\",\n icon: \"angle-down\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 25,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(DropDown, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 28,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 7\n }, this);\n }\n\n}\n\nexport default userDropdownMenu;\n\nvar _c;\n\n$RefreshReg$(_c, \"DropDown\");","map":{"version":3,"sources":["C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/navigationbar/navigationbar_components/userDropdownMenu.js"],"names":["React","Component","useComponentVisible","FontAwesomeIcon","DropDown","ref","isComponentVisible","userDropdownMenu","render","showMenu"],"mappings":";;;AAAA,OAAOA,KAAP,IAAgBC,SAAhB,QAAiC,OAAjC;AACA,OAAOC,mBAAP,MAAgC,2CAAhC;AACA,SAASC,eAAT,QAAgC,gCAAhC;;;AAEA,MAAMC,QAAQ,GAAG,MAAM;AAAA;;AACrB,QAAM;AAAEC,IAAAA,GAAF;AAAOC,IAAAA;AAAP,MAA8BJ,mBAAmB,CAAC,IAAD,CAAvD;AACA,sBACE;AAAK,IAAA,GAAG,EAAEG,GAAV;AAAA,cACG,CAACC,kBAAD,iBAAwB;AAAK,MAAA,EAAE,EAAC,kBAAR;AAA2B,MAAA,SAAS,EAAC,4BAArC;AAAA,8BACvB;AAAG,QAAA,SAAS,EAAC,mBAAb;AAAiC,QAAA,IAAI,EAAC,IAAtC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cADuB,eAEvB;AAAG,QAAA,IAAI,EAAC,IAAR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAFuB,eAGvB;AAAG,QAAA,IAAI,EAAC,IAAR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAHuB;AAAA;AAAA;AAAA;AAAA;AAAA;AAD3B;AAAA;AAAA;AAAA;AAAA,UADF;AASD,CAXD;;GAAMF,Q;UACgCF,mB;;;KADhCE,Q;;AAaN,MAAMG,gBAAN,SAA+BN,SAA/B,CAAyC;AACvCO,EAAAA,MAAM,GAAG;AACP,wBACE;AAAA,6BACE;AAAK,QAAA,SAAS,EAAC,gCAAf;AAAA,gCACE;AAAQ,UAAA,SAAS,EAAC,kCAAlB;AAAqD,UAAA,OAAO,EAAE,KAAKC,QAAnE;AAAA,kCACE,QAAC,eAAD;AAAiB,YAAA,SAAS,EAAC,WAA3B;AAAuC,YAAA,IAAI,EAAC;AAA5C;AAAA;AAAA;AAAA;AAAA,kBADF,eAEE,QAAC,eAAD;AAAiB,YAAA,SAAS,EAAC,YAA3B;AAAwC,YAAA,IAAI,EAAC;AAA7C;AAAA;AAAA;AAAA;AAAA,kBAFF;AAAA;AAAA;AAAA;AAAA;AAAA,gBADF,eAME,QAAC,QAAD;AAAA;AAAA;AAAA;AAAA,gBANF;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,YADF;AAYD;;AAdsC;;AAiBzC,eAAeF,gBAAf","sourcesContent":["import React, { Component } from 'react'\r\nimport useComponentVisible from '../../../custom_hooks/useComponentVisible';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\n\r\nconst DropDown = () => {\r\n const { ref, isComponentVisible } = useComponentVisible(true);\r\n return (\r\n <div ref={ref}>\r\n {!isComponentVisible && (<div id=\"userMenuDropdown\" className=\"user-dropdown-menu-content\">\r\n <a className=\"user-profile-link\" href=\"./\">Link 1</a>\r\n <a href=\"./\">Link 2</a>\r\n <a href=\"./\">Link 3</a>\r\n </div>)}\r\n </div>\r\n );\r\n}\r\n\r\nclass userDropdownMenu extends Component {\r\n render() {\r\n return (\r\n <li>\r\n <div className=\"navbar-user-dropdown-container\">\r\n <button className=\"user-dropdown-menu-toggle-button\" onClick={this.showMenu}>\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 <DropDown></DropDown>\r\n </div>\r\n </li>\r\n )\r\n }\r\n}\r\n\r\nexport default userDropdownMenu"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\Bruger\\\\Desktop\\\\Web-projects\\\\pipit\\\\client\\\\src\\\\components\\\\navigationbar\\\\navigationbar_components\\\\UserDropdownMenu.js\",\n _s = $RefreshSig$();\n\nimport React, { useRef, useState } from 'react';\nimport \"../navigationbar.css\";\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nfunction UserDropdownMenu() {\n _s();\n\n const dropdownRef = useRef(null);\n const [isActive, setIsActive] = useState(false);\n\n const onClick = () => setIsActive(!isActive);\n\n useEffect(() => {\n const pageClickEvent = e => {\n console.log(e);\n };\n }, [isActive]);\n return /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"navbar-user-dropdown-container\",\n children: [/*#__PURE__*/_jsxDEV(\"button\", {\n ref: dropdownRef,\n className: `user-dropdown-menu-toggle-button ${isActive ? 'active' : 'inactive'}`,\n onClick: onClick,\n children: [/*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"user-icon\",\n icon: \"user-circle\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 24,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"down-arrow\",\n icon: \"angle-down\"\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 ref: dropdownRef,\n className: `user-dropDown-menu-content ${isActive ? 'active' : 'inactive'}`,\n children: /*#__PURE__*/_jsxDEV(\"ul\", {\n children: [/*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: [/*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n icon: \"user\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 30,\n columnNumber: 30\n }, this), \" Account\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 30,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 30,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: [/*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n icon: \"envelope\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 31,\n columnNumber: 30\n }, this), \" Messages\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 31,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 31,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: [/*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n icon: \"cog\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 32,\n columnNumber: 30\n }, this), \" Preferences\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 32,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 32,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: [/*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n icon: \"sign-out-alt\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 33,\n columnNumber: 30\n }, this), \" Sign out\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 33,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 33,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 29,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 28,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 5\n }, this);\n}\n\n_s(UserDropdownMenu, \"+2ios9YLl+dWpD7Y2mDqdcbDdLo=\");\n\n_c = UserDropdownMenu;\nexport default UserDropdownMenu;\n\nvar _c;\n\n$RefreshReg$(_c, \"UserDropdownMenu\");","map":{"version":3,"sources":["C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/navigationbar/navigationbar_components/UserDropdownMenu.js"],"names":["React","useRef","useState","FontAwesomeIcon","UserDropdownMenu","dropdownRef","isActive","setIsActive","onClick","useEffect","pageClickEvent","e","console","log"],"mappings":";;;AAAA,OAAOA,KAAP,IAAgBC,MAAhB,EAAwBC,QAAxB,QAAwC,OAAxC;AACA,OAAO,sBAAP;AACA,SAASC,eAAT,QAAgC,gCAAhC;;;AAGA,SAASC,gBAAT,GAA4B;AAAA;;AAC1B,QAAMC,WAAW,GAAGJ,MAAM,CAAC,IAAD,CAA1B;AACA,QAAM,CAACK,QAAD,EAAWC,WAAX,IAA0BL,QAAQ,CAAC,KAAD,CAAxC;;AACA,QAAMM,OAAO,GAAG,MAAMD,WAAW,CAAC,CAACD,QAAF,CAAjC;;AAEAG,EAAAA,SAAS,CAAC,MAAM;AACd,UAAMC,cAAc,GAAIC,CAAD,IAAO;AAC5BC,MAAAA,OAAO,CAACC,GAAR,CAAYF,CAAZ;AACD,KAFD;AAID,GALQ,EAKN,CAACL,QAAD,CALM,CAAT;AASA,sBACE;AAAA,2BACE;AAAK,MAAA,SAAS,EAAC,gCAAf;AAAA,8BACE;AAAQ,QAAA,GAAG,EAAED,WAAb;AAA0B,QAAA,SAAS,EAAG,oCAAmCC,QAAQ,GAAG,QAAH,GAAc,UAAW,EAA1G;AAA6G,QAAA,OAAO,EAAEE,OAAtH;AAAA,gCACE,QAAC,eAAD;AAAiB,UAAA,SAAS,EAAC,WAA3B;AAAuC,UAAA,IAAI,EAAC;AAA5C;AAAA;AAAA;AAAA;AAAA,gBADF,eAEE,QAAC,eAAD;AAAiB,UAAA,SAAS,EAAC,YAA3B;AAAwC,UAAA,IAAI,EAAC;AAA7C;AAAA;AAAA;AAAA;AAAA,gBAFF;AAAA;AAAA;AAAA;AAAA;AAAA,cADF,eAME;AAAK,QAAA,GAAG,EAAEH,WAAV;AAAuB,QAAA,SAAS,EAAG,8BAA6BC,QAAQ,GAAG,QAAH,GAAc,UAAW,EAAjG;AAAA,+BACE;AAAA,kCACE;AAAA,mCAAI;AAAG,cAAA,IAAI,EAAC,IAAR;AAAA,sCAAa,QAAC,eAAD;AAAiB,gBAAA,IAAI,EAAC;AAAtB;AAAA;AAAA;AAAA;AAAA,sBAAb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAJ;AAAA;AAAA;AAAA;AAAA,kBADF,eAEE;AAAA,mCAAI;AAAG,cAAA,IAAI,EAAC,IAAR;AAAA,sCAAa,QAAC,eAAD;AAAiB,gBAAA,IAAI,EAAC;AAAtB;AAAA;AAAA;AAAA;AAAA,sBAAb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAJ;AAAA;AAAA;AAAA;AAAA,kBAFF,eAGE;AAAA,mCAAI;AAAG,cAAA,IAAI,EAAC,IAAR;AAAA,sCAAa,QAAC,eAAD;AAAiB,gBAAA,IAAI,EAAC;AAAtB;AAAA;AAAA;AAAA;AAAA,sBAAb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAJ;AAAA;AAAA;AAAA;AAAA,kBAHF,eAIE;AAAA,mCAAI;AAAG,cAAA,IAAI,EAAC,IAAR;AAAA,sCAAa,QAAC,eAAD;AAAiB,gBAAA,IAAI,EAAC;AAAtB;AAAA;AAAA;AAAA;AAAA,sBAAb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAJ;AAAA;AAAA;AAAA;AAAA,kBAJF;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,cANF;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,UADF;AAmBD;;GAjCQF,gB;;KAAAA,gB;AAmCT,eAAeA,gBAAf","sourcesContent":["import React, { useRef, useState } from 'react'\r\nimport \"../navigationbar.css\"\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\n\r\n\r\nfunction UserDropdownMenu() {\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 console.log(e);\r\n };\r\n\r\n }, [isActive]);\r\n\r\n\r\n\r\n return (\r\n <li>\r\n <div className=\"navbar-user-dropdown-container\">\r\n <button ref={dropdownRef} 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><a href=\"./\"><FontAwesomeIcon icon=\"user\"></FontAwesomeIcon> Account</a></li>\r\n <li><a href=\"./\"><FontAwesomeIcon icon=\"envelope\"></FontAwesomeIcon> Messages</a></li>\r\n <li><a href=\"./\"><FontAwesomeIcon icon=\"cog\"></FontAwesomeIcon> Preferences</a></li>\r\n <li><a href=\"./\"><FontAwesomeIcon icon=\"sign-out-alt\"></FontAwesomeIcon> Sign out</a></li>\r\n </ul>\r\n </div>\r\n </div>\r\n </li >\r\n )\r\n}\r\n\r\nexport default UserDropdownMenu"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\Bruger\\\\Desktop\\\\Web-projects\\\\pipit\\\\client\\\\src\\\\components\\\\navigationbar\\\\Navigationbar.js\";\nimport React, { Component } from 'react';\nimport \"./navigationbar.css\";\nimport Logo from './logo/Logo';\nimport NavigationLinks from './navigationLinks/NavigationLinks';\nimport Searchbar from './searchbar/Searchbar';\nimport UserDropdownMenu from './userDropdownMenu/UserDropdownMenu';\nimport logo_picture from \"../../images/bird-logo.jpg\";\nimport logo_text from \"../../images/logo-text.jpg\";\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nclass Navigationbar extends React.Component {\n render() {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"navbar\",\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"header-content\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"title-navigation-links-container\",\n children: [/*#__PURE__*/_jsxDEV(Logo, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 23,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(NavigationLinks, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 24,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"searchbar-profile-container\",\n children: /*#__PURE__*/_jsxDEV(\"ul\", {\n className: \"right-unstyled-navbar\",\n children: [/*#__PURE__*/_jsxDEV(Searchbar, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 28,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(UserDropdownMenu, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 29,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 27,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 26,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 17,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 16,\n columnNumber: 7\n }, this);\n }\n\n}\n\nexport default Navigationbar;","map":{"version":3,"sources":["C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/navigationbar/Navigationbar.js"],"names":["React","Component","Logo","NavigationLinks","Searchbar","UserDropdownMenu","logo_picture","logo_text","FontAwesomeIcon","Navigationbar","render"],"mappings":";AAAA,OAAOA,KAAP,IAAgBC,SAAhB,QAAiC,OAAjC;AACA,OAAO,qBAAP;AACA,OAAOC,IAAP,MAAiB,aAAjB;AACA,OAAOC,eAAP,MAA4B,mCAA5B;AACA,OAAOC,SAAP,MAAsB,uBAAtB;AACA,OAAOC,gBAAP,MAA6B,qCAA7B;AACA,OAAOC,YAAP,MAAyB,4BAAzB;AACA,OAAOC,SAAP,MAAsB,4BAAtB;AACA,SAASC,eAAT,QAAgC,gCAAhC;;;AAIA,MAAMC,aAAN,SAA4BT,KAAK,CAACC,SAAlC,CAA4C;AAC1CS,EAAAA,MAAM,GAAG;AACP,wBACE;AAAK,MAAA,SAAS,EAAC,QAAf;AAAA,6BACE;AAAK,QAAA,SAAS,EAAC,gBAAf;AAAA,gCAGE;AAAK,UAAA,SAAS,EAAC,kCAAf;AAAA,kCAGE,QAAC,IAAD;AAAA;AAAA;AAAA;AAAA,kBAHF,eAIE,QAAC,eAAD;AAAA;AAAA;AAAA;AAAA,kBAJF;AAAA;AAAA;AAAA;AAAA;AAAA,gBAHF,eASE;AAAK,UAAA,SAAS,EAAC,6BAAf;AAAA,iCACE;AAAI,YAAA,SAAS,EAAC,uBAAd;AAAA,oCACE,QAAC,SAAD;AAAA;AAAA;AAAA;AAAA,oBADF,eAEE,QAAC,gBAAD;AAAA;AAAA;AAAA;AAAA,oBAFF;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,gBATF;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,YADF;AAoBD;;AAtByC;;AA0B5C,eAAeD,aAAf","sourcesContent":["import React, { Component } from 'react'\r\nimport \"./navigationbar.css\"\r\nimport Logo from './logo/Logo'\r\nimport NavigationLinks from './navigationLinks/NavigationLinks'\r\nimport Searchbar from './searchbar/Searchbar'\r\nimport UserDropdownMenu from './userDropdownMenu/UserDropdownMenu'\r\nimport logo_picture from \"../../images/bird-logo.jpg\"\r\nimport logo_text from \"../../images/logo-text.jpg\"\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\n\r\n\r\n\r\nclass Navigationbar extends React.Component {\r\n render() {\r\n return (\r\n <div className=\"navbar\" >\r\n <div className=\"header-content\">\r\n\r\n {/* logo and navigation links*/}\r\n <div className=\"title-navigation-links-container\">\r\n\r\n {/* logo */}\r\n <Logo />\r\n <NavigationLinks />\r\n </div>\r\n <div className=\"searchbar-profile-container\">\r\n <ul className=\"right-unstyled-navbar\">\r\n <Searchbar />\r\n <UserDropdownMenu />\r\n </ul>\r\n </div>\r\n </div>\r\n </div >\r\n )\r\n }\r\n}\r\n\r\n\r\nexport default Navigationbar"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\Bruger\\\\Desktop\\\\Web-projects\\\\pipit\\\\client\\\\src\\\\components\\\\navigationbar\\\\navigationbar.js\";\nimport React, { Component } from 'react';\nimport { Link } from \"react-router-dom\";\nimport \"./navigationbar.css\";\nimport logo_picture from \"../../images/bird-logo.jpg\";\nimport logo_text from \"../../images/logo-text.jpg\";\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nclass Navigationbar extends Component {\n constructor() {\n super();\n this.state = {\n showMenu: false\n };\n this.showMenu = this.showMenu.bind(this);\n this.closeMenu = this.closeMenu.bind(this);\n }\n\n showMenu(event) {\n event.preventDefault();\n this.setState({\n showMenu: true\n }, () => {\n document.addEventListener('click', () => this.closeMenu);\n console.log(this.state.showMenu);\n });\n }\n\n closeMenu(event) {\n if (!this.dropdownMenu.contains(event.target)) {\n this.setState({\n showMenu: false\n }, () => {\n document.removeEventListener('click', () => this.closeMenu);\n console.log(this.state.showMenu);\n });\n }\n }\n\n render() {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"navbar\",\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"header-content\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"title-container\",\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n className: \"title\",\n children: /*#__PURE__*/_jsxDEV(\"span\", {\n className: \"title-icon\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n id: \"logo\",\n href: \"./\",\n children: [/*#__PURE__*/_jsxDEV(\"img\", {\n src: logo_picture,\n width: \"24\",\n height: \"24\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 53,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"img\", {\n src: logo_text,\n width: \"48\",\n height: \"24\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 54,\n columnNumber: 19\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 52,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 51,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 50,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"ul\", {\n className: \"left-unstyled-navbar\",\n children: [/*#__PURE__*/_jsxDEV(\"li\", {\n className: \"report-bug-navbutton-container\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n className: \"activeUnderlined\",\n href: \"./\",\n children: \"Report Bugs\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 62,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 61,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n className: \"manage-projects-navbutton-container\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Projects\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 65,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 64,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n className: \"manage-team-navbutton-container\",\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Team\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 68,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 67,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 60,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 47,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"searchbar-profile-container\",\n children: /*#__PURE__*/_jsxDEV(\"ul\", {\n className: \"right-unstyled-navbar\",\n children: [/*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"navbar-searchbar-container\",\n children: [/*#__PURE__*/_jsxDEV(\"input\", {\n className: \"searchbar-input\",\n type: \"text\",\n name: \"\",\n placeholder: \"Search..\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 80,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"a\", {\n className: \"search-button\",\n href: \"./\",\n type: \"submit\",\n children: /*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n icon: \"search\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 83,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 82,\n columnNumber: 19\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 79,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 78,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"navbar-user-dropdown-container\",\n children: [/*#__PURE__*/_jsxDEV(\"button\", {\n className: \"user-dropdown-menu-toggle-button\",\n onClick: this.showMenu,\n children: [/*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"user-icon\",\n icon: \"user-circle\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 92,\n columnNumber: 21\n }, this), /*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"down-arrow\",\n icon: \"angle-down\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 93,\n columnNumber: 21\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 91,\n columnNumber: 19\n }, this), this.state.showMenu ? /*#__PURE__*/_jsxDEV(\"div\", {\n id: \"userMenuDropdown\",\n className: \"user-dropdown-menu-content\",\n ref: element => {\n this.dropdownMenu = element;\n },\n children: [/*#__PURE__*/_jsxDEV(\"a\", {\n className: \"user-profile-link\",\n href: \"./\",\n children: \"Link 1\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 99,\n columnNumber: 25\n }, this), /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Link 2\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 100,\n columnNumber: 25\n }, this), /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Link 3\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 101,\n columnNumber: 25\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 98,\n columnNumber: 23\n }, this) : null]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 90,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 89,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 75,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 74,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 44,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 43,\n columnNumber: 7\n }, this);\n }\n\n}\n\nexport default Navigationbar;","map":{"version":3,"sources":["C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/navigationbar/navigationbar.js"],"names":["React","Component","Link","logo_picture","logo_text","FontAwesomeIcon","Navigationbar","constructor","state","showMenu","bind","closeMenu","event","preventDefault","setState","document","addEventListener","console","log","dropdownMenu","contains","target","removeEventListener","render","element"],"mappings":"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","sourcesContent":["import React, { Component } from 'react'\r\nimport { Link } from \"react-router-dom\"\r\nimport \"./navigationbar.css\"\r\nimport logo_picture from \"../../images/bird-logo.jpg\"\r\nimport logo_text from \"../../images/logo-text.jpg\"\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\n\r\nclass Navigationbar extends Component {\r\n constructor() {\r\n super();\r\n\r\n this.state = {\r\n showMenu: false,\r\n };\r\n\r\n this.showMenu = this.showMenu.bind(this);\r\n this.closeMenu = this.closeMenu.bind(this);\r\n }\r\n\r\n showMenu(event) {\r\n event.preventDefault();\r\n\r\n this.setState({ showMenu: true }, () => {\r\n document.addEventListener('click', () => this.closeMenu);\r\n console.log(this.state.showMenu)\r\n });\r\n }\r\n\r\n closeMenu(event) {\r\n\r\n if (!this.dropdownMenu.contains(event.target)) {\r\n\r\n this.setState({ showMenu: false }, () => {\r\n document.removeEventListener('click', () => this.closeMenu);\r\n console.log(this.state.showMenu)\r\n });\r\n\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <div className=\"navbar\" >\r\n <div className=\"header-content\">\r\n\r\n {/* logo and navigation links*/}\r\n <div className=\"title-container\">\r\n\r\n {/* logo */}\r\n <h1 className=\"title\">\r\n <span className=\"title-icon\">\r\n <a id=\"logo\" href=\"./\">\r\n <img src={logo_picture} width=\"24\" height=\"24\"></img>\r\n <img src={logo_text} width=\"48\" height=\"24\"></img>\r\n </a>\r\n </span>\r\n </h1>\r\n\r\n {/* navigation links */}\r\n <ul className=\"left-unstyled-navbar\">\r\n <li className=\"report-bug-navbutton-container\">\r\n <a className=\"activeUnderlined\" href=\"./\">Report Bugs</a>\r\n </li>\r\n <li className=\"manage-projects-navbutton-container\">\r\n <a href=\"./\">Projects</a>\r\n </li>\r\n <li className=\"manage-team-navbutton-container\">\r\n <a href=\"./\">Team</a>\r\n </li>\r\n </ul>\r\n </div>\r\n\r\n {/* searchbar and profile submenu */}\r\n <div className=\"searchbar-profile-container\">\r\n <ul className=\"right-unstyled-navbar\">\r\n\r\n {/* searchbar */}\r\n <li>\r\n <div className=\"navbar-searchbar-container\">\r\n <input className=\"searchbar-input\" type=\"text\" name=\"\" placeholder=\"Search..\">\r\n </input>\r\n <a className=\"search-button\" href=\"./\" type=\"submit\">\r\n <FontAwesomeIcon icon=\"search\"></FontAwesomeIcon>\r\n </a>\r\n </div>\r\n </li>\r\n\r\n {/* profile submenu */}\r\n <li>\r\n <div className=\"navbar-user-dropdown-container\">\r\n <button className=\"user-dropdown-menu-toggle-button\" onClick={this.showMenu}>\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 {this.state.showMenu\r\n ? (\r\n <div id=\"userMenuDropdown\" className=\"user-dropdown-menu-content\" ref={(element) => { this.dropdownMenu = element }}>\r\n <a className=\"user-profile-link\" href=\"./\">Link 1</a>\r\n <a href=\"./\">Link 2</a>\r\n <a href=\"./\">Link 3</a>\r\n </div>\r\n )\r\n : (\r\n null\r\n )\r\n }\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div >\r\n )\r\n }\r\n}\r\n\r\n\r\nexport default Navigationbar"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\Bruger\\\\Desktop\\\\Web-projects\\\\pipit\\\\client\\\\src\\\\components\\\\navigationbar\\\\navigationbar_components\\\\UserDropdownMenu.js\",\n _s = $RefreshSig$();\n\nimport React, { useRef, useState } from 'react';\nimport \"../navigationbar.css\";\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nfunction UserDropdownMenu() {\n _s();\n\n const dropdownRef = useRef(null);\n const [isActive, setIsActive] = useState(false);\n\n const onClick = () => setIsActive(!isActive);\n\n return /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"navbar-user-dropdown-container\",\n children: [/*#__PURE__*/_jsxDEV(\"button\", {\n className: \"user-dropdown-menu-toggle-button\",\n onClick: onClick,\n children: [/*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"user-icon\",\n icon: \"user-circle\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 15,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n className: \"down-arrow\",\n icon: \"angle-down\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 16,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n ref: dropdownRef,\n className: `user-dropDown-menu-content ${isActive ? 'active' : 'inactive'}`,\n children: /*#__PURE__*/_jsxDEV(\"ul\", {\n children: [/*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: [\" \", /*#__PURE__*/_jsxDEV(FontAwesomeIcon, {\n icon: \"user\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 29\n }, this), \" \\\"\\\"Account\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 22,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Messages\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 25,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 25,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Prefecrences\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 26,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 26,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: /*#__PURE__*/_jsxDEV(\"a\", {\n href: \"./\",\n children: \"Sign out\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 27,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 27,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 5\n }, this);\n}\n\n_s(UserDropdownMenu, \"iCsEp132pgOQlkdcuBeEMRO/ncg=\");\n\n_c = UserDropdownMenu;\nexport default UserDropdownMenu;\n\nvar _c;\n\n$RefreshReg$(_c, \"UserDropdownMenu\");","map":{"version":3,"sources":["C:/Users/Bruger/Desktop/Web-projects/pipit/client/src/components/navigationbar/navigationbar_components/UserDropdownMenu.js"],"names":["React","useRef","useState","FontAwesomeIcon","UserDropdownMenu","dropdownRef","isActive","setIsActive","onClick"],"mappings":";;;AAAA,OAAOA,KAAP,IAAgBC,MAAhB,EAAwBC,QAAxB,QAAwC,OAAxC;AACA,OAAO,sBAAP;AACA,SAASC,eAAT,QAAgC,gCAAhC;;;AAGA,SAASC,gBAAT,GAA4B;AAAA;;AAC1B,QAAMC,WAAW,GAAGJ,MAAM,CAAC,IAAD,CAA1B;AACA,QAAM,CAACK,QAAD,EAAWC,WAAX,IAA0BL,QAAQ,CAAC,KAAD,CAAxC;;AACA,QAAMM,OAAO,GAAG,MAAMD,WAAW,CAAC,CAACD,QAAF,CAAjC;;AAEA,sBACE;AAAA,2BACE;AAAK,MAAA,SAAS,EAAC,gCAAf;AAAA,8BACE;AAAQ,QAAA,SAAS,EAAC,kCAAlB;AAAqD,QAAA,OAAO,EAAEE,OAA9D;AAAA,gCACE,QAAC,eAAD;AAAiB,UAAA,SAAS,EAAC,WAA3B;AAAuC,UAAA,IAAI,EAAC;AAA5C;AAAA;AAAA;AAAA;AAAA,gBADF,eAEE,QAAC,eAAD;AAAiB,UAAA,SAAS,EAAC,YAA3B;AAAwC,UAAA,IAAI,EAAC;AAA7C;AAAA;AAAA;AAAA;AAAA,gBAFF;AAAA;AAAA;AAAA;AAAA;AAAA,cADF,eAME;AAAK,QAAA,GAAG,EAAEH,WAAV;AAAuB,QAAA,SAAS,EAAG,8BAA6BC,QAAQ,GAAG,QAAH,GAAc,UAAW,EAAjG;AAAA,+BACE;AAAA,kCACE;AAAA,mCACE;AAAG,cAAA,IAAI,EAAC,IAAR;AAAA,2CAAc,QAAC,eAAD;AAAiB,gBAAA,IAAI,EAAC;AAAtB;AAAA;AAAA;AAAA;AAAA,sBAAd;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,kBADF,eAKE;AAAA,mCAAI;AAAG,cAAA,IAAI,EAAC,IAAR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAJ;AAAA;AAAA;AAAA;AAAA,kBALF,eAME;AAAA,mCAAI;AAAG,cAAA,IAAI,EAAC,IAAR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAJ;AAAA;AAAA;AAAA;AAAA,kBANF,eAOE;AAAA,mCAAI;AAAG,cAAA,IAAI,EAAC,IAAR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAJ;AAAA;AAAA;AAAA;AAAA,kBAPF;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,cANF;AAAA;AAAA;AAAA;AAAA;AAAA;AADF;AAAA;AAAA;AAAA;AAAA,UADF;AAsBD;;GA3BQF,gB;;KAAAA,gB;AA6BT,eAAeA,gBAAf","sourcesContent":["import React, { useRef, useState } from 'react'\r\nimport \"../navigationbar.css\"\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\n\r\n\r\nfunction UserDropdownMenu() {\r\n const dropdownRef = useRef(null);\r\n const [isActive, setIsActive] = useState(false);\r\n const onClick = () => setIsActive(!isActive);\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\" 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=\"./\"> <FontAwesomeIcon icon=\"user\"></FontAwesomeIcon> \"\"Account</a>\r\n\r\n </li>\r\n <li><a href=\"./\">Messages</a></li>\r\n <li><a href=\"./\">Prefecrences</a></li>\r\n <li><a href=\"./\">Sign out</a></li>\r\n </ul>\r\n </div>\r\n </div>\r\n </li >\r\n )\r\n}\r\n\r\nexport default UserDropdownMenu"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment