1 line
44 KiB
JSON
1 line
44 KiB
JSON
{"ast":null,"code":"var _jsxFileName = \"/home/gnx/Desktop/ETB/ETB-FrontEnd/src/components/Layout/Layout.js\",\n _s = $RefreshSig$();\nimport React, { useState } from 'react';\nimport { AppBar, Box, CssBaseline, Drawer, IconButton, List, ListItem, ListItemButton, ListItemIcon, ListItemText, Toolbar, Typography, Collapse, Divider, Avatar, Menu, MenuItem, Chip } from '@mui/material';\nimport { Menu as MenuIcon, Dashboard as DashboardIcon, BugReport as IncidentIcon, Build as ProblemIcon, SwapHoriz as ChangeIcon, Store as ServiceIcon, Storage as CMDBIcon, MenuBook as KnowledgeIcon, Assessment as ReportingIcon, Security as SecurityIcon, SmartToy as AutomationIcon, AdminPanelSettings as AdminIcon, ExpandLess, ExpandMore, AccountCircle, Logout } from '@mui/icons-material';\nimport { useNavigate, useLocation } from 'react-router-dom';\nimport { useAuth } from '../Auth/AuthContext';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst drawerWidth = 280;\nconst menuItems = [{\n text: 'Dashboard',\n icon: /*#__PURE__*/_jsxDEV(DashboardIcon, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 48,\n columnNumber: 11\n }, this),\n path: '/'\n}, {\n text: 'Incident Management',\n icon: /*#__PURE__*/_jsxDEV(IncidentIcon, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 53,\n columnNumber: 11\n }, this),\n path: '/incident-management',\n children: [{\n text: 'Dashboard',\n path: '/incident-management'\n }, {\n text: 'Incident Logging',\n path: '/incident-management/logging'\n }, {\n text: 'Incident Tracking',\n path: '/incident-management/tracking'\n }, {\n text: 'Lifecycle Management',\n path: '/incident-management/lifecycle'\n }, {\n text: 'Self-Service Portal',\n path: '/incident-management/self-service'\n }]\n}, {\n text: 'Problem Management',\n icon: /*#__PURE__*/_jsxDEV(ProblemIcon, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 65,\n columnNumber: 11\n }, this),\n path: '/problem-management',\n children: [{\n text: 'Dashboard',\n path: '/problem-management'\n }, {\n text: 'Root Cause Analysis',\n path: '/problem-management/root-cause'\n }, {\n text: 'Problem Records',\n path: '/problem-management/records'\n }]\n}, {\n text: 'Change Management',\n icon: /*#__PURE__*/_jsxDEV(ChangeIcon, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 75,\n columnNumber: 11\n }, this),\n path: '/change-management',\n children: [{\n text: 'Dashboard',\n path: '/change-management'\n }, {\n text: 'Change Requests',\n path: '/change-management/requests'\n }, {\n text: 'Release Management',\n path: '/change-management/releases'\n }]\n}, {\n text: 'Service Catalog',\n icon: /*#__PURE__*/_jsxDEV(ServiceIcon, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 85,\n columnNumber: 11\n }, this),\n path: '/service-catalog',\n children: [{\n text: 'Service Catalog',\n path: '/service-catalog'\n }, {\n text: 'Service Portal',\n path: '/service-portal'\n }]\n}, {\n text: 'Configuration Management',\n icon: /*#__PURE__*/_jsxDEV(CMDBIcon, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 94,\n columnNumber: 11\n }, this),\n path: '/cmdb',\n children: [{\n text: 'Dashboard',\n path: '/cmdb'\n }, {\n text: 'Configuration Items',\n path: '/cmdb/configuration-items'\n }, {\n text: 'Impact Analysis',\n path: '/cmdb/impact-analysis'\n }, {\n text: 'Dependency Mapping',\n path: '/cmdb/dependency-mapping'\n }]\n}, {\n text: 'Knowledge Management',\n icon: /*#__PURE__*/_jsxDEV(KnowledgeIcon, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 105,\n columnNumber: 11\n }, this),\n path: '/knowledge-management',\n children: [{\n text: 'Dashboard',\n path: '/knowledge-management'\n }, {\n text: 'Knowledge Articles',\n path: '/knowledge-management/articles'\n }]\n}, {\n text: 'Reporting & Analytics',\n icon: /*#__PURE__*/_jsxDEV(ReportingIcon, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 114,\n columnNumber: 11\n }, this),\n path: '/reporting',\n children: [{\n text: 'Dashboard',\n path: '/reporting'\n }, {\n text: 'Analytics',\n path: '/reporting/analytics'\n }]\n}, {\n text: 'Security & Compliance',\n icon: /*#__PURE__*/_jsxDEV(SecurityIcon, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 123,\n columnNumber: 11\n }, this),\n path: '/security',\n children: [{\n text: 'Dashboard',\n path: '/security'\n }, {\n text: 'Security Incidents',\n path: '/security/incidents'\n }, {\n text: 'Compliance Reports',\n path: '/security/compliance'\n }]\n}, {\n text: 'Automation & AI',\n icon: /*#__PURE__*/_jsxDEV(AutomationIcon, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 133,\n columnNumber: 11\n }, this),\n path: '/automation',\n children: [{\n text: 'Dashboard',\n path: '/automation'\n }, {\n text: 'Virtual Agent',\n path: '/automation/virtual-agent'\n }, {\n text: 'Workflow Automation',\n path: '/automation/workflows'\n }]\n}, {\n text: 'Administration',\n icon: /*#__PURE__*/_jsxDEV(AdminIcon, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 143,\n columnNumber: 11\n }, this),\n path: '/admin',\n children: [{\n text: 'Dashboard',\n path: '/admin'\n }, {\n text: 'User Management',\n path: '/admin/users'\n }, {\n text: 'SLA Management',\n path: '/admin/sla'\n }],\n adminOnly: true\n}, {\n text: 'Executive Dashboard',\n icon: /*#__PURE__*/_jsxDEV(Assessment, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 154,\n columnNumber: 11\n }, this),\n path: '/executive',\n executiveOnly: true\n}];\nfunction Layout({\n children\n}) {\n _s();\n var _user$roleData, _user$roleData2, _user$name;\n const [mobileOpen, setMobileOpen] = useState(false);\n const [openMenus, setOpenMenus] = useState({});\n const [userMenuAnchor, setUserMenuAnchor] = useState(null);\n const navigate = useNavigate();\n const location = useLocation();\n const {\n user,\n logout,\n hasModuleAccess\n } = useAuth();\n const handleDrawerToggle = () => {\n setMobileOpen(!mobileOpen);\n };\n const handleMenuToggle = menuText => {\n setOpenMenus(prev => ({\n ...prev,\n [menuText]: !prev[menuText]\n }));\n };\n const handleNavigation = path => {\n navigate(path);\n setMobileOpen(false);\n };\n const handleUserMenuOpen = event => {\n setUserMenuAnchor(event.currentTarget);\n };\n const handleUserMenuClose = () => {\n setUserMenuAnchor(null);\n };\n const handleLogout = () => {\n logout();\n handleUserMenuClose();\n };\n const drawer = /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(Toolbar, {\n children: /*#__PURE__*/_jsxDEV(Typography, {\n variant: \"h6\",\n noWrap: true,\n component: \"div\",\n children: \"ETB - Enterprise IT Services\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 200,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 199,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(Divider, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 204,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(List, {\n children: menuItems.map(item => {\n // Check if user has access to admin modules\n if (item.adminOnly && !hasModuleAccess('admin')) {\n return null;\n }\n\n // Check if user has access to executive modules\n if (item.executiveOnly && !hasPermission('executive.view')) {\n return null;\n }\n return /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(ListItem, {\n disablePadding: true,\n children: /*#__PURE__*/_jsxDEV(ListItemButton, {\n onClick: () => {\n if (item.children) {\n handleMenuToggle(item.text);\n } else {\n handleNavigation(item.path);\n }\n },\n selected: location.pathname === item.path,\n children: [/*#__PURE__*/_jsxDEV(ListItemIcon, {\n children: item.icon\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 230,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(ListItemText, {\n primary: item.text\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 231,\n columnNumber: 19\n }, this), item.children && (openMenus[item.text] ? /*#__PURE__*/_jsxDEV(ExpandLess, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 233,\n columnNumber: 44\n }, this) : /*#__PURE__*/_jsxDEV(ExpandMore, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 233,\n columnNumber: 61\n }, this))]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 220,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 219,\n columnNumber: 15\n }, this), item.children && /*#__PURE__*/_jsxDEV(Collapse, {\n in: openMenus[item.text],\n timeout: \"auto\",\n unmountOnExit: true,\n children: /*#__PURE__*/_jsxDEV(List, {\n component: \"div\",\n disablePadding: true,\n children: item.children.map(child => /*#__PURE__*/_jsxDEV(ListItemButton, {\n sx: {\n pl: 4\n },\n onClick: () => handleNavigation(child.path),\n selected: location.pathname === child.path,\n children: /*#__PURE__*/_jsxDEV(ListItemText, {\n primary: child.text\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 247,\n columnNumber: 25\n }, this)\n }, child.text, false, {\n fileName: _jsxFileName,\n lineNumber: 241,\n columnNumber: 23\n }, this))\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 239,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 238,\n columnNumber: 17\n }, this)]\n }, item.text, true, {\n fileName: _jsxFileName,\n lineNumber: 218,\n columnNumber: 13\n }, this);\n })\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 205,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 198,\n columnNumber: 5\n }, this);\n return /*#__PURE__*/_jsxDEV(Box, {\n sx: {\n display: 'flex'\n },\n children: [/*#__PURE__*/_jsxDEV(CssBaseline, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 262,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(AppBar, {\n position: \"fixed\",\n sx: {\n width: {\n sm: `calc(100% - ${drawerWidth}px)`\n },\n ml: {\n sm: `${drawerWidth}px`\n }\n },\n children: /*#__PURE__*/_jsxDEV(Toolbar, {\n children: [/*#__PURE__*/_jsxDEV(IconButton, {\n color: \"inherit\",\n \"aria-label\": \"open drawer\",\n edge: \"start\",\n onClick: handleDrawerToggle,\n sx: {\n mr: 2,\n display: {\n sm: 'none'\n }\n },\n children: /*#__PURE__*/_jsxDEV(MenuIcon, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 278,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 271,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(Typography, {\n variant: \"h6\",\n noWrap: true,\n component: \"div\",\n sx: {\n flexGrow: 1\n },\n children: \"Enterprise IT Services Management System\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 280,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(Box, {\n sx: {\n display: 'flex',\n alignItems: 'center',\n gap: 2\n },\n children: [/*#__PURE__*/_jsxDEV(Chip, {\n label: (user === null || user === void 0 ? void 0 : (_user$roleData = user.roleData) === null || _user$roleData === void 0 ? void 0 : _user$roleData.name) || 'User',\n size: \"small\",\n sx: {\n bgcolor: (user === null || user === void 0 ? void 0 : (_user$roleData2 = user.roleData) === null || _user$roleData2 === void 0 ? void 0 : _user$roleData2.color) || 'default',\n color: 'white'\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 284,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(IconButton, {\n color: \"inherit\",\n onClick: handleUserMenuOpen,\n children: /*#__PURE__*/_jsxDEV(Avatar, {\n sx: {\n width: 32,\n height: 32,\n bgcolor: 'secondary.main'\n },\n children: (user === null || user === void 0 ? void 0 : (_user$name = user.name) === null || _user$name === void 0 ? void 0 : _user$name.charAt(0)) || 'U'\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 296,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 292,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 283,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 270,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 263,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(Box, {\n component: \"nav\",\n sx: {\n width: {\n sm: drawerWidth\n },\n flexShrink: {\n sm: 0\n }\n },\n \"aria-label\": \"mailbox folders\",\n children: [/*#__PURE__*/_jsxDEV(Drawer, {\n variant: \"temporary\",\n open: mobileOpen,\n onClose: handleDrawerToggle,\n ModalProps: {\n keepMounted: true\n },\n sx: {\n display: {\n xs: 'block',\n sm: 'none'\n },\n '& .MuiDrawer-paper': {\n boxSizing: 'border-box',\n width: drawerWidth\n }\n },\n children: drawer\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 308,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(Drawer, {\n variant: \"permanent\",\n sx: {\n display: {\n xs: 'none',\n sm: 'block'\n },\n '& .MuiDrawer-paper': {\n boxSizing: 'border-box',\n width: drawerWidth\n }\n },\n open: true,\n children: drawer\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 322,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 303,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(Box, {\n component: \"main\",\n sx: {\n flexGrow: 1,\n p: 3,\n width: {\n sm: `calc(100% - ${drawerWidth}px)`\n }\n },\n children: [/*#__PURE__*/_jsxDEV(Toolbar, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 341,\n columnNumber: 9\n }, this), children]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 333,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(Menu, {\n anchorEl: userMenuAnchor,\n open: Boolean(userMenuAnchor),\n onClose: handleUserMenuClose,\n anchorOrigin: {\n vertical: 'bottom',\n horizontal: 'right'\n },\n transformOrigin: {\n vertical: 'top',\n horizontal: 'right'\n },\n children: [/*#__PURE__*/_jsxDEV(MenuItem, {\n disabled: true,\n children: [/*#__PURE__*/_jsxDEV(ListItemIcon, {\n children: /*#__PURE__*/_jsxDEV(AccountCircle, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 361,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 360,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(ListItemText, {\n primary: user === null || user === void 0 ? void 0 : user.name,\n secondary: user === null || user === void 0 ? void 0 : user.email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 363,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 359,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(Divider, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 368,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(MenuItem, {\n onClick: handleLogout,\n children: [/*#__PURE__*/_jsxDEV(ListItemIcon, {\n children: /*#__PURE__*/_jsxDEV(Logout, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 371,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 370,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(ListItemText, {\n primary: \"Logout\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 373,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 369,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 346,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 261,\n columnNumber: 5\n }, this);\n}\n_s(Layout, \"5byb3IKUyPZwZLmkCIL2K8mtsn4=\", false, function () {\n return [useNavigate, useLocation, useAuth];\n});\n_c = Layout;\nexport default Layout;\nvar _c;\n$RefreshReg$(_c, \"Layout\");","map":{"version":3,"names":["React","useState","AppBar","Box","CssBaseline","Drawer","IconButton","List","ListItem","ListItemButton","ListItemIcon","ListItemText","Toolbar","Typography","Collapse","Divider","Avatar","Menu","MenuItem","Chip","MenuIcon","Dashboard","DashboardIcon","BugReport","IncidentIcon","Build","ProblemIcon","SwapHoriz","ChangeIcon","Store","ServiceIcon","Storage","CMDBIcon","MenuBook","KnowledgeIcon","Assessment","ReportingIcon","Security","SecurityIcon","SmartToy","AutomationIcon","AdminPanelSettings","AdminIcon","ExpandLess","ExpandMore","AccountCircle","Logout","useNavigate","useLocation","useAuth","jsxDEV","_jsxDEV","drawerWidth","menuItems","text","icon","fileName","_jsxFileName","lineNumber","columnNumber","path","children","adminOnly","executiveOnly","Layout","_s","_user$roleData","_user$roleData2","_user$name","mobileOpen","setMobileOpen","openMenus","setOpenMenus","userMenuAnchor","setUserMenuAnchor","navigate","location","user","logout","hasModuleAccess","handleDrawerToggle","handleMenuToggle","menuText","prev","handleNavigation","handleUserMenuOpen","event","currentTarget","handleUserMenuClose","handleLogout","drawer","variant","noWrap","component","map","item","hasPermission","disablePadding","onClick","selected","pathname","primary","in","timeout","unmountOnExit","child","sx","pl","display","position","width","sm","ml","color","edge","mr","flexGrow","alignItems","gap","label","roleData","name","size","bgcolor","height","charAt","flexShrink","open","onClose","ModalProps","keepMounted","xs","boxSizing","p","anchorEl","Boolean","anchorOrigin","vertical","horizontal","transformOrigin","disabled","secondary","email","_c","$RefreshReg$"],"sources":["/home/gnx/Desktop/ETB/ETB-FrontEnd/src/components/Layout/Layout.js"],"sourcesContent":["import React, { useState } from 'react';\nimport {\n AppBar,\n Box,\n CssBaseline,\n Drawer,\n IconButton,\n List,\n ListItem,\n ListItemButton,\n ListItemIcon,\n ListItemText,\n Toolbar,\n Typography,\n Collapse,\n Divider,\n Avatar,\n Menu,\n MenuItem,\n Chip,\n} from '@mui/material';\nimport {\n Menu as MenuIcon,\n Dashboard as DashboardIcon,\n BugReport as IncidentIcon,\n Build as ProblemIcon,\n SwapHoriz as ChangeIcon,\n Store as ServiceIcon,\n Storage as CMDBIcon,\n MenuBook as KnowledgeIcon,\n Assessment as ReportingIcon,\n Security as SecurityIcon,\n SmartToy as AutomationIcon,\n AdminPanelSettings as AdminIcon,\n ExpandLess,\n ExpandMore,\n AccountCircle,\n Logout,\n} from '@mui/icons-material';\nimport { useNavigate, useLocation } from 'react-router-dom';\nimport { useAuth } from '../Auth/AuthContext';\n\nconst drawerWidth = 280;\n\nconst menuItems = [\n {\n text: 'Dashboard',\n icon: <DashboardIcon />,\n path: '/',\n },\n {\n text: 'Incident Management',\n icon: <IncidentIcon />,\n path: '/incident-management',\n children: [\n { text: 'Dashboard', path: '/incident-management' },\n { text: 'Incident Logging', path: '/incident-management/logging' },\n { text: 'Incident Tracking', path: '/incident-management/tracking' },\n { text: 'Lifecycle Management', path: '/incident-management/lifecycle' },\n { text: 'Self-Service Portal', path: '/incident-management/self-service' },\n ],\n },\n {\n text: 'Problem Management',\n icon: <ProblemIcon />,\n path: '/problem-management',\n children: [\n { text: 'Dashboard', path: '/problem-management' },\n { text: 'Root Cause Analysis', path: '/problem-management/root-cause' },\n { text: 'Problem Records', path: '/problem-management/records' },\n ],\n },\n {\n text: 'Change Management',\n icon: <ChangeIcon />,\n path: '/change-management',\n children: [\n { text: 'Dashboard', path: '/change-management' },\n { text: 'Change Requests', path: '/change-management/requests' },\n { text: 'Release Management', path: '/change-management/releases' },\n ],\n },\n {\n text: 'Service Catalog',\n icon: <ServiceIcon />,\n path: '/service-catalog',\n children: [\n { text: 'Service Catalog', path: '/service-catalog' },\n { text: 'Service Portal', path: '/service-portal' },\n ],\n },\n {\n text: 'Configuration Management',\n icon: <CMDBIcon />,\n path: '/cmdb',\n children: [\n { text: 'Dashboard', path: '/cmdb' },\n { text: 'Configuration Items', path: '/cmdb/configuration-items' },\n { text: 'Impact Analysis', path: '/cmdb/impact-analysis' },\n { text: 'Dependency Mapping', path: '/cmdb/dependency-mapping' },\n ],\n },\n {\n text: 'Knowledge Management',\n icon: <KnowledgeIcon />,\n path: '/knowledge-management',\n children: [\n { text: 'Dashboard', path: '/knowledge-management' },\n { text: 'Knowledge Articles', path: '/knowledge-management/articles' },\n ],\n },\n {\n text: 'Reporting & Analytics',\n icon: <ReportingIcon />,\n path: '/reporting',\n children: [\n { text: 'Dashboard', path: '/reporting' },\n { text: 'Analytics', path: '/reporting/analytics' },\n ],\n },\n {\n text: 'Security & Compliance',\n icon: <SecurityIcon />,\n path: '/security',\n children: [\n { text: 'Dashboard', path: '/security' },\n { text: 'Security Incidents', path: '/security/incidents' },\n { text: 'Compliance Reports', path: '/security/compliance' },\n ],\n },\n {\n text: 'Automation & AI',\n icon: <AutomationIcon />,\n path: '/automation',\n children: [\n { text: 'Dashboard', path: '/automation' },\n { text: 'Virtual Agent', path: '/automation/virtual-agent' },\n { text: 'Workflow Automation', path: '/automation/workflows' },\n ],\n },\n {\n text: 'Administration',\n icon: <AdminIcon />,\n path: '/admin',\n children: [\n { text: 'Dashboard', path: '/admin' },\n { text: 'User Management', path: '/admin/users' },\n { text: 'SLA Management', path: '/admin/sla' },\n ],\n adminOnly: true,\n },\n {\n text: 'Executive Dashboard',\n icon: <Assessment />,\n path: '/executive',\n executiveOnly: true,\n },\n];\n\nfunction Layout({ children }) {\n const [mobileOpen, setMobileOpen] = useState(false);\n const [openMenus, setOpenMenus] = useState({});\n const [userMenuAnchor, setUserMenuAnchor] = useState(null);\n const navigate = useNavigate();\n const location = useLocation();\n const { user, logout, hasModuleAccess } = useAuth();\n\n const handleDrawerToggle = () => {\n setMobileOpen(!mobileOpen);\n };\n\n const handleMenuToggle = (menuText) => {\n setOpenMenus(prev => ({\n ...prev,\n [menuText]: !prev[menuText]\n }));\n };\n\n const handleNavigation = (path) => {\n navigate(path);\n setMobileOpen(false);\n };\n\n const handleUserMenuOpen = (event) => {\n setUserMenuAnchor(event.currentTarget);\n };\n\n const handleUserMenuClose = () => {\n setUserMenuAnchor(null);\n };\n\n const handleLogout = () => {\n logout();\n handleUserMenuClose();\n };\n\n const drawer = (\n <div>\n <Toolbar>\n <Typography variant=\"h6\" noWrap component=\"div\">\n ETB - Enterprise IT Services\n </Typography>\n </Toolbar>\n <Divider />\n <List>\n {menuItems.map((item) => {\n // Check if user has access to admin modules\n if (item.adminOnly && !hasModuleAccess('admin')) {\n return null;\n }\n \n // Check if user has access to executive modules\n if (item.executiveOnly && !hasPermission('executive.view')) {\n return null;\n }\n \n return (\n <div key={item.text}>\n <ListItem disablePadding>\n <ListItemButton\n onClick={() => {\n if (item.children) {\n handleMenuToggle(item.text);\n } else {\n handleNavigation(item.path);\n }\n }}\n selected={location.pathname === item.path}\n >\n <ListItemIcon>{item.icon}</ListItemIcon>\n <ListItemText primary={item.text} />\n {item.children && (\n openMenus[item.text] ? <ExpandLess /> : <ExpandMore />\n )}\n </ListItemButton>\n </ListItem>\n {item.children && (\n <Collapse in={openMenus[item.text]} timeout=\"auto\" unmountOnExit>\n <List component=\"div\" disablePadding>\n {item.children.map((child) => (\n <ListItemButton\n key={child.text}\n sx={{ pl: 4 }}\n onClick={() => handleNavigation(child.path)}\n selected={location.pathname === child.path}\n >\n <ListItemText primary={child.text} />\n </ListItemButton>\n ))}\n </List>\n </Collapse>\n )}\n </div>\n );\n })}\n </List>\n </div>\n );\n\n return (\n <Box sx={{ display: 'flex' }}>\n <CssBaseline />\n <AppBar\n position=\"fixed\"\n sx={{\n width: { sm: `calc(100% - ${drawerWidth}px)` },\n ml: { sm: `${drawerWidth}px` },\n }}\n >\n <Toolbar>\n <IconButton\n color=\"inherit\"\n aria-label=\"open drawer\"\n edge=\"start\"\n onClick={handleDrawerToggle}\n sx={{ mr: 2, display: { sm: 'none' } }}\n >\n <MenuIcon />\n </IconButton>\n <Typography variant=\"h6\" noWrap component=\"div\" sx={{ flexGrow: 1 }}>\n Enterprise IT Services Management System\n </Typography>\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 2 }}>\n <Chip\n label={user?.roleData?.name || 'User'}\n size=\"small\"\n sx={{\n bgcolor: user?.roleData?.color || 'default',\n color: 'white'\n }}\n />\n <IconButton\n color=\"inherit\"\n onClick={handleUserMenuOpen}\n >\n <Avatar sx={{ width: 32, height: 32, bgcolor: 'secondary.main' }}>\n {user?.name?.charAt(0) || 'U'}\n </Avatar>\n </IconButton>\n </Box>\n </Toolbar>\n </AppBar>\n <Box\n component=\"nav\"\n sx={{ width: { sm: drawerWidth }, flexShrink: { sm: 0 } }}\n aria-label=\"mailbox folders\"\n >\n <Drawer\n variant=\"temporary\"\n open={mobileOpen}\n onClose={handleDrawerToggle}\n ModalProps={{\n keepMounted: true,\n }}\n sx={{\n display: { xs: 'block', sm: 'none' },\n '& .MuiDrawer-paper': { boxSizing: 'border-box', width: drawerWidth },\n }}\n >\n {drawer}\n </Drawer>\n <Drawer\n variant=\"permanent\"\n sx={{\n display: { xs: 'none', sm: 'block' },\n '& .MuiDrawer-paper': { boxSizing: 'border-box', width: drawerWidth },\n }}\n open\n >\n {drawer}\n </Drawer>\n </Box>\n <Box\n component=\"main\"\n sx={{\n flexGrow: 1,\n p: 3,\n width: { sm: `calc(100% - ${drawerWidth}px)` },\n }}\n >\n <Toolbar />\n {children}\n </Box>\n \n {/* User Menu */}\n <Menu\n anchorEl={userMenuAnchor}\n open={Boolean(userMenuAnchor)}\n onClose={handleUserMenuClose}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'right',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right',\n }}\n >\n <MenuItem disabled>\n <ListItemIcon>\n <AccountCircle />\n </ListItemIcon>\n <ListItemText\n primary={user?.name}\n secondary={user?.email}\n />\n </MenuItem>\n <Divider />\n <MenuItem onClick={handleLogout}>\n <ListItemIcon>\n <Logout />\n </ListItemIcon>\n <ListItemText primary=\"Logout\" />\n </MenuItem>\n </Menu>\n </Box>\n );\n}\n\nexport default Layout;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} |