1 line
107 KiB
JSON
1 line
107 KiB
JSON
{"ast":null,"code":"var _jsxFileName = \"/home/gnx/Desktop/ETB/ETB-FrontEnd/src/components/Layout/Layout.tsx\",\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, Tooltip, Badge } 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, ExpandMore, AccountCircle, Logout, Assessment as AssessmentIcon, DarkMode, LightMode, Notifications, Settings, Rocket, FlashOn } from '@mui/icons-material';\nimport { useNavigate, useLocation } from 'react-router-dom';\nimport { useAuth } from '../Auth/AuthContext';\nimport { useTheme } from '../../theme/ThemeProvider';\nimport { motion, AnimatePresence } from 'framer-motion';\nimport { colors, glassShadows } from '../../theme/theme';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst drawerWidth = 320;\nconst mobileDrawerWidth = 280;\nconst menuItems = [{\n text: 'Dashboard',\n icon: /*#__PURE__*/_jsxDEV(DashboardIcon, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 78,\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: 83,\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: 95,\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: 105,\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: 115,\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: 124,\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: 135,\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: 144,\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 text: 'Advanced Reporting',\n path: '/reporting/advanced'\n }]\n}, {\n text: 'Security & Compliance',\n icon: /*#__PURE__*/_jsxDEV(SecurityIcon, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 154,\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: 164,\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: 174,\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 text: 'Integrations',\n path: '/admin/integrations'\n }],\n adminOnly: true\n}, {\n text: 'Executive Dashboard',\n icon: /*#__PURE__*/_jsxDEV(AssessmentIcon, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 186,\n columnNumber: 11\n }, this),\n path: '/executive',\n executiveOnly: true\n}];\nconst Layout = ({\n children\n}) => {\n _s();\n var _user$name, _user$roleData, _user$roleData2, _user$name2;\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 hasPermission\n } = useAuth();\n const {\n mode,\n toggleMode\n } = useTheme();\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(Box, {\n sx: {\n height: '100vh',\n background: 'rgba(255, 255, 255, 0.1)',\n backdropFilter: 'blur(50px)',\n borderRight: '2px solid rgba(24, 144, 255, 0.2)',\n position: 'relative',\n overflow: 'hidden',\n display: 'flex',\n flexDirection: 'column',\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n background: `\n radial-gradient(circle at 20% 20%, rgba(24, 144, 255, 0.1) 0%, transparent 50%),\n radial-gradient(circle at 80% 80%, rgba(114, 46, 209, 0.1) 0%, transparent 50%),\n radial-gradient(circle at 40% 60%, rgba(82, 196, 26, 0.05) 0%, transparent 50%)\n `,\n zIndex: 0\n }\n },\n children: [/*#__PURE__*/_jsxDEV(Box, {\n sx: {\n p: {\n xs: 2,\n sm: 3,\n md: 4\n },\n background: 'rgba(24, 144, 255, 0.1)',\n borderBottom: '2px solid rgba(24, 144, 255, 0.2)',\n position: 'relative',\n overflow: 'hidden',\n flexShrink: 0,\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n background: 'linear-gradient(135deg, rgba(24, 144, 255, 0.1) 0%, rgba(114, 46, 209, 0.1) 100%)'\n }\n },\n children: /*#__PURE__*/_jsxDEV(motion.div, {\n initial: {\n opacity: 0,\n y: -20\n },\n animate: {\n opacity: 1,\n y: 0\n },\n transition: {\n duration: 0.8,\n ease: [0.25, 0.46, 0.45, 0.94]\n },\n children: /*#__PURE__*/_jsxDEV(Box, {\n sx: {\n display: 'flex',\n alignItems: 'center',\n position: 'relative',\n zIndex: 1\n },\n children: [/*#__PURE__*/_jsxDEV(motion.div, {\n whileHover: {\n scale: 1.1,\n rotate: 5\n },\n transition: {\n duration: 0.3\n },\n children: /*#__PURE__*/_jsxDEV(Box, {\n sx: {\n width: 56,\n height: 56,\n borderRadius: 4,\n background: colors.gradients.enterprise,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n mr: 3,\n boxShadow: glassShadows.enterprise,\n border: '2px solid rgba(255, 255, 255, 0.3)'\n },\n children: /*#__PURE__*/_jsxDEV(Rocket, {\n sx: {\n color: 'white',\n fontSize: '1.5rem'\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 295,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 283,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 279,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Box, {\n children: [/*#__PURE__*/_jsxDEV(Typography, {\n variant: \"h5\",\n sx: {\n fontWeight: 900,\n color: 'text.primary',\n lineHeight: 1.2,\n background: 'linear-gradient(135deg, #1890ff 0%, #722ed1 50%, #52c41a 100%)',\n backgroundClip: 'text',\n WebkitBackgroundClip: 'text',\n WebkitTextFillColor: 'transparent'\n },\n children: \"ETB Enterprise\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 299,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(Typography, {\n variant: \"body2\",\n sx: {\n color: 'text.secondary',\n fontWeight: 600,\n fontSize: '0.875rem'\n },\n children: \"Next-Gen IT Services Platform\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 310,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 298,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 278,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 273,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 256,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(Box, {\n sx: {\n flex: 1,\n overflow: 'auto',\n py: 3,\n position: 'relative',\n zIndex: 1\n },\n children: /*#__PURE__*/_jsxDEV(List, {\n sx: {\n px: 3\n },\n children: menuItems.map((item, index) => {\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 const isSelected = location.pathname === item.path;\n const isExpanded = openMenus[item.text];\n return /*#__PURE__*/_jsxDEV(motion.div, {\n initial: {\n opacity: 0,\n x: -30\n },\n animate: {\n opacity: 1,\n x: 0\n },\n transition: {\n duration: 0.6,\n delay: index * 0.08,\n ease: [0.25, 0.46, 0.45, 0.94]\n },\n children: /*#__PURE__*/_jsxDEV(Box, {\n sx: {\n mb: 2\n },\n children: [/*#__PURE__*/_jsxDEV(ListItem, {\n disablePadding: true,\n children: /*#__PURE__*/_jsxDEV(motion.div, {\n whileHover: {\n scale: 1.02,\n x: 4\n },\n whileTap: {\n scale: 0.98\n },\n style: {\n width: '100%'\n },\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: isSelected,\n sx: {\n borderRadius: 4,\n mb: 1,\n position: 'relative',\n overflow: 'hidden',\n background: isSelected ? 'rgba(24, 144, 255, 0.15)' : 'transparent',\n border: isSelected ? '2px solid rgba(24, 144, 255, 0.4)' : '2px solid transparent',\n backdropFilter: 'blur(20px)',\n '&:hover': {\n background: 'rgba(24, 144, 255, 0.1)',\n border: '2px solid rgba(24, 144, 255, 0.3)',\n transform: 'translateX(8px)',\n boxShadow: '0 8px 32px rgba(24, 144, 255, 0.2)'\n },\n '&::before': isSelected ? {\n content: '\"\"',\n position: 'absolute',\n left: 0,\n top: 0,\n bottom: 0,\n width: 6,\n background: colors.gradients.primary,\n borderRadius: '0 4px 4px 0'\n } : {},\n transition: 'all 0.4s cubic-bezier(0.4, 0, 0.2, 1)'\n },\n children: [/*#__PURE__*/_jsxDEV(ListItemIcon, {\n sx: {\n minWidth: 48,\n color: isSelected ? 'primary.main' : 'text.secondary',\n transition: 'all 0.3s ease-in-out',\n '&:hover': {\n color: 'primary.main'\n }\n },\n children: /*#__PURE__*/_jsxDEV(motion.div, {\n whileHover: {\n scale: 1.1,\n rotate: 5\n },\n transition: {\n duration: 0.2\n },\n children: item.icon\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 401,\n columnNumber: 27\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 393,\n columnNumber: 25\n }, this), /*#__PURE__*/_jsxDEV(ListItemText, {\n primary: item.text,\n sx: {\n '& .MuiListItemText-primary': {\n fontWeight: isSelected ? 800 : 600,\n fontSize: '1rem',\n color: isSelected ? 'primary.main' : 'text.primary',\n transition: 'all 0.3s ease-in-out'\n }\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 408,\n columnNumber: 25\n }, this), item.children && /*#__PURE__*/_jsxDEV(motion.div, {\n animate: {\n rotate: isExpanded ? 180 : 0\n },\n transition: {\n duration: 0.3,\n ease: [0.4, 0, 0.2, 1]\n },\n children: /*#__PURE__*/_jsxDEV(ExpandMore, {\n sx: {\n color: isSelected ? 'primary.main' : 'text.secondary',\n transition: 'color 0.3s ease-in-out'\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 424,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 420,\n columnNumber: 27\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 353,\n columnNumber: 23\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 348,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 347,\n columnNumber: 19\n }, this), item.children && /*#__PURE__*/_jsxDEV(AnimatePresence, {\n children: /*#__PURE__*/_jsxDEV(Collapse, {\n in: isExpanded,\n timeout: \"auto\",\n unmountOnExit: true,\n children: /*#__PURE__*/_jsxDEV(List, {\n component: \"div\",\n disablePadding: true,\n sx: {\n pl: 3\n },\n children: item.children.map((child, childIndex) => {\n const isChildSelected = location.pathname === child.path;\n return /*#__PURE__*/_jsxDEV(motion.div, {\n initial: {\n opacity: 0,\n x: -20,\n scale: 0.95\n },\n animate: {\n opacity: 1,\n x: 0,\n scale: 1\n },\n exit: {\n opacity: 0,\n x: -20,\n scale: 0.95\n },\n transition: {\n duration: 0.4,\n delay: childIndex * 0.05,\n ease: [0.25, 0.46, 0.45, 0.94]\n },\n children: /*#__PURE__*/_jsxDEV(ListItemButton, {\n onClick: () => handleNavigation(child.path),\n selected: isChildSelected,\n sx: {\n borderRadius: 3,\n mb: 1,\n background: isChildSelected ? 'rgba(24, 144, 255, 0.12)' : 'transparent',\n border: isChildSelected ? '2px solid rgba(24, 144, 255, 0.3)' : '2px solid transparent',\n backdropFilter: 'blur(20px)',\n '&:hover': {\n background: 'rgba(24, 144, 255, 0.08)',\n border: '2px solid rgba(24, 144, 255, 0.2)',\n transform: 'translateX(6px)',\n boxShadow: '0 6px 24px rgba(24, 144, 255, 0.15)'\n },\n '&::before': isChildSelected ? {\n content: '\"\"',\n position: 'absolute',\n left: 0,\n top: 0,\n bottom: 0,\n width: 4,\n background: colors.gradients.primary,\n borderRadius: '0 3px 3px 0'\n } : {},\n transition: 'all 0.3s cubic-bezier(0.4, 0, 0.2, 1)'\n },\n children: /*#__PURE__*/_jsxDEV(ListItemText, {\n primary: child.text,\n sx: {\n pl: 3,\n '& .MuiListItemText-primary': {\n fontWeight: isChildSelected ? 700 : 500,\n fontSize: '0.875rem',\n color: isChildSelected ? 'primary.main' : 'text.secondary',\n transition: 'all 0.3s ease-in-out'\n }\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 480,\n columnNumber: 35\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 448,\n columnNumber: 33\n }, this)\n }, child.text, false, {\n fileName: _jsxFileName,\n lineNumber: 441,\n columnNumber: 31\n }, this);\n })\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 437,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 436,\n columnNumber: 23\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 435,\n columnNumber: 21\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 346,\n columnNumber: 17\n }, this)\n }, item.text, false, {\n fileName: _jsxFileName,\n lineNumber: 340,\n columnNumber: 15\n }, this);\n })\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 324,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 323,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(Box, {\n sx: {\n p: 3,\n borderTop: '2px solid rgba(24, 144, 255, 0.2)',\n background: 'rgba(24, 144, 255, 0.05)',\n position: 'relative',\n zIndex: 1\n },\n children: /*#__PURE__*/_jsxDEV(motion.div, {\n initial: {\n opacity: 0,\n y: 20\n },\n animate: {\n opacity: 1,\n y: 0\n },\n transition: {\n duration: 0.8,\n delay: 1.0,\n ease: [0.25, 0.46, 0.45, 0.94]\n },\n children: /*#__PURE__*/_jsxDEV(Box, {\n sx: {\n display: 'flex',\n alignItems: 'center',\n p: 3,\n borderRadius: 4,\n background: 'rgba(24, 144, 255, 0.1)',\n border: '2px solid rgba(24, 144, 255, 0.2)',\n backdropFilter: 'blur(20px)',\n position: 'relative',\n overflow: 'hidden',\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n background: 'linear-gradient(135deg, rgba(24, 144, 255, 0.1) 0%, rgba(114, 46, 209, 0.1) 100%)',\n opacity: 0,\n transition: 'opacity 0.4s ease'\n },\n '&:hover::before': {\n opacity: 1\n }\n },\n children: [/*#__PURE__*/_jsxDEV(motion.div, {\n whileHover: {\n scale: 1.1,\n rotate: 5\n },\n transition: {\n duration: 0.3\n },\n children: /*#__PURE__*/_jsxDEV(Avatar, {\n sx: {\n width: 48,\n height: 48,\n background: colors.gradients.primary,\n mr: 3,\n fontSize: '1.125rem',\n fontWeight: 800,\n border: '2px solid rgba(255, 255, 255, 0.3)',\n boxShadow: '0 8px 24px rgba(24, 144, 255, 0.3)',\n position: 'relative',\n zIndex: 1\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: 549,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 545,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Box, {\n sx: {\n flex: 1,\n minWidth: 0,\n position: 'relative',\n zIndex: 1\n },\n children: [/*#__PURE__*/_jsxDEV(Typography, {\n variant: \"body1\",\n sx: {\n fontWeight: 800,\n color: 'text.primary',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n fontSize: '1rem'\n },\n children: (user === null || user === void 0 ? void 0 : user.name) || 'User'\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 565,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(Typography, {\n variant: \"body2\",\n sx: {\n color: 'text.secondary',\n display: 'block',\n fontWeight: 600,\n fontSize: '0.875rem'\n },\n children: (user === null || user === void 0 ? void 0 : (_user$roleData = user.roleData) === null || _user$roleData === void 0 ? void 0 : _user$roleData.name) || 'User Role'\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 575,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 564,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 520,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 515,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 508,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 231,\n columnNumber: 5\n }, this);\n return /*#__PURE__*/_jsxDEV(Box, {\n sx: {\n display: 'flex',\n height: '100vh',\n overflow: 'hidden',\n width: '100vw'\n },\n children: [/*#__PURE__*/_jsxDEV(CssBaseline, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 597,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(AppBar, {\n position: \"fixed\",\n sx: {\n width: {\n xs: '100%',\n sm: `calc(100% - ${drawerWidth}px)`\n },\n ml: {\n xs: 0,\n sm: `${drawerWidth}px`\n },\n zIndex: theme => theme.zIndex.drawer + 1\n },\n children: /*#__PURE__*/_jsxDEV(Toolbar, {\n sx: {\n minHeight: {\n xs: 56,\n sm: 64\n },\n px: {\n xs: 2,\n sm: 3\n }\n },\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 p: 1\n },\n children: /*#__PURE__*/_jsxDEV(MenuIcon, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 627,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 616,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(Typography, {\n variant: \"h5\",\n noWrap: true,\n component: \"div\",\n sx: {\n flexGrow: 1,\n fontWeight: 800,\n background: 'linear-gradient(135deg, #1890ff 0%, #722ed1 50%, #52c41a 100%)',\n backgroundClip: 'text',\n WebkitBackgroundClip: 'text',\n WebkitTextFillColor: 'transparent',\n fontSize: {\n xs: '1.25rem',\n sm: '1.5rem'\n },\n display: {\n xs: 'none',\n sm: 'block'\n }\n },\n children: \"Enterprise Command Center\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 629,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(Typography, {\n variant: \"h6\",\n noWrap: true,\n component: \"div\",\n sx: {\n flexGrow: 1,\n fontWeight: 800,\n background: 'linear-gradient(135deg, #1890ff 0%, #722ed1 50%, #52c41a 100%)',\n backgroundClip: 'text',\n WebkitBackgroundClip: 'text',\n WebkitTextFillColor: 'transparent',\n fontSize: '1.125rem',\n display: {\n xs: 'block',\n sm: 'none'\n }\n },\n children: \"ETB Enterprise\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 646,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(Box, {\n sx: {\n display: 'flex',\n alignItems: 'center',\n gap: {\n xs: 1,\n sm: 2\n },\n flexWrap: 'nowrap'\n },\n children: [/*#__PURE__*/_jsxDEV(Tooltip, {\n title: \"Refresh Data\",\n children: /*#__PURE__*/_jsxDEV(IconButton, {\n sx: {\n background: 'rgba(24, 144, 255, 0.1)',\n border: '2px solid rgba(24, 144, 255, 0.3)',\n color: 'primary.main',\n p: {\n xs: 0.5,\n sm: 1\n },\n '&:hover': {\n background: 'rgba(24, 144, 255, 0.2)',\n transform: 'scale(1.1) rotate(180deg)'\n },\n transition: 'all 0.3s ease'\n },\n children: /*#__PURE__*/_jsxDEV(FlashOn, {\n sx: {\n fontSize: {\n xs: '1.25rem',\n sm: '1.5rem'\n }\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 683,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 670,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 669,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Tooltip, {\n title: \"Notifications\",\n children: /*#__PURE__*/_jsxDEV(IconButton, {\n sx: {\n background: 'rgba(114, 46, 209, 0.1)',\n border: '2px solid rgba(114, 46, 209, 0.3)',\n color: 'secondary.main',\n p: {\n xs: 0.5,\n sm: 1\n },\n '&:hover': {\n background: 'rgba(114, 46, 209, 0.2)',\n transform: 'scale(1.1)'\n },\n transition: 'all 0.3s ease'\n },\n children: /*#__PURE__*/_jsxDEV(Badge, {\n badgeContent: 3,\n color: \"error\",\n children: /*#__PURE__*/_jsxDEV(Notifications, {\n sx: {\n fontSize: {\n xs: '1.25rem',\n sm: '1.5rem'\n }\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 701,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 700,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 687,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 686,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Tooltip, {\n title: \"Settings\",\n children: /*#__PURE__*/_jsxDEV(IconButton, {\n sx: {\n background: 'rgba(82, 196, 26, 0.1)',\n border: '2px solid rgba(82, 196, 26, 0.3)',\n color: 'success.main',\n p: {\n xs: 0.5,\n sm: 1\n },\n '&:hover': {\n background: 'rgba(82, 196, 26, 0.2)',\n transform: 'scale(1.1)'\n },\n transition: 'all 0.3s ease'\n },\n children: /*#__PURE__*/_jsxDEV(Settings, {\n sx: {\n fontSize: {\n xs: '1.25rem',\n sm: '1.5rem'\n }\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 719,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 706,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 705,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Tooltip, {\n title: \"Toggle Theme\",\n children: /*#__PURE__*/_jsxDEV(IconButton, {\n onClick: toggleMode,\n sx: {\n background: 'rgba(255, 193, 7, 0.1)',\n border: '2px solid rgba(255, 193, 7, 0.3)',\n color: 'warning.main',\n p: {\n xs: 0.5,\n sm: 1\n },\n '&:hover': {\n background: 'rgba(255, 193, 7, 0.2)',\n transform: 'scale(1.1)'\n },\n transition: 'all 0.3s ease'\n },\n children: mode === 'light' ? /*#__PURE__*/_jsxDEV(DarkMode, {\n sx: {\n fontSize: {\n xs: '1.25rem',\n sm: '1.5rem'\n }\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 738,\n columnNumber: 19\n }, this) : /*#__PURE__*/_jsxDEV(LightMode, {\n sx: {\n fontSize: {\n xs: '1.25rem',\n sm: '1.5rem'\n }\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 739,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 723,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 722,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Chip, {\n label: (user === null || user === void 0 ? void 0 : (_user$roleData2 = user.roleData) === null || _user$roleData2 === void 0 ? void 0 : _user$roleData2.name) || 'User',\n size: \"small\",\n sx: {\n background: colors.gradients.primary,\n color: 'white',\n fontWeight: 800,\n fontSize: {\n xs: '0.75rem',\n sm: '0.875rem'\n },\n height: {\n xs: 28,\n sm: 36\n },\n border: '2px solid rgba(255, 255, 255, 0.3)',\n display: {\n xs: 'none',\n md: 'flex'\n },\n '&:hover': {\n transform: 'scale(1.05)'\n },\n transition: 'all 0.3s ease'\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 743,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(IconButton, {\n color: \"inherit\",\n onClick: handleUserMenuOpen,\n sx: {\n transition: 'all 0.3s ease',\n p: {\n xs: 0.5,\n sm: 1\n },\n '&:hover': {\n transform: 'scale(1.1)'\n }\n },\n children: /*#__PURE__*/_jsxDEV(Avatar, {\n sx: {\n width: {\n xs: 32,\n sm: 40\n },\n height: {\n xs: 32,\n sm: 40\n },\n background: colors.gradients.secondary,\n border: '2px solid rgba(255, 255, 255, 0.3)',\n boxShadow: '0 4px 16px rgba(114, 46, 209, 0.3)',\n fontWeight: 800,\n fontSize: {\n xs: '0.875rem',\n sm: '1rem'\n }\n },\n children: (user === null || user === void 0 ? void 0 : (_user$name2 = user.name) === null || _user$name2 === void 0 ? void 0 : _user$name2.charAt(0)) || 'U'\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 771,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 760,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 663,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 612,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 598,\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 height: '100vh'\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: mobileDrawerWidth,\n height: '100vh',\n overflow: 'hidden'\n }\n },\n children: drawer\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 795,\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 height: '100vh',\n overflow: 'hidden'\n }\n },\n open: true,\n children: drawer\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 814,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 786,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(Box, {\n component: \"main\",\n sx: {\n flexGrow: 1,\n p: {\n xs: 2,\n sm: 3\n },\n width: {\n sm: `calc(100% - ${drawerWidth}px)`\n },\n height: '100vh',\n overflow: 'hidden',\n display: 'flex',\n flexDirection: 'column'\n },\n children: [/*#__PURE__*/_jsxDEV(Toolbar, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 842,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(Box, {\n sx: {\n flex: 1,\n overflow: 'auto',\n height: 'calc(100vh - 64px)',\n '&::-webkit-scrollbar': {\n width: '6px'\n },\n '&::-webkit-scrollbar-track': {\n background: 'rgba(0, 0, 0, 0.05)',\n borderRadius: '3px'\n },\n '&::-webkit-scrollbar-thumb': {\n background: 'rgba(24, 144, 255, 0.3)',\n borderRadius: '3px',\n '&:hover': {\n background: 'rgba(24, 144, 255, 0.5)'\n }\n }\n },\n children: children\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 843,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 830,\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: 882,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 881,\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: 884,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 880,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(Divider, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 889,\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: 892,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 891,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(ListItemText, {\n primary: \"Logout\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 894,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 890,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 867,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 591,\n columnNumber: 5\n }, this);\n};\n_s(Layout, \"YoEXiAItlYuU4nxWmLKLbUN1eR0=\", false, function () {\n return [useNavigate, useLocation, useAuth, useTheme];\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","Tooltip","Badge","MenuIcon","Dashboard","DashboardIcon","BugReport","IncidentIcon","Build","ProblemIcon","SwapHoriz","ChangeIcon","Store","ServiceIcon","Storage","CMDBIcon","MenuBook","KnowledgeIcon","Assessment","ReportingIcon","Security","SecurityIcon","SmartToy","AutomationIcon","AdminPanelSettings","AdminIcon","ExpandMore","AccountCircle","Logout","AssessmentIcon","DarkMode","LightMode","Notifications","Settings","Rocket","FlashOn","useNavigate","useLocation","useAuth","useTheme","motion","AnimatePresence","colors","glassShadows","jsxDEV","_jsxDEV","drawerWidth","mobileDrawerWidth","menuItems","text","icon","fileName","_jsxFileName","lineNumber","columnNumber","path","children","adminOnly","executiveOnly","Layout","_s","_user$name","_user$roleData","_user$roleData2","_user$name2","mobileOpen","setMobileOpen","openMenus","setOpenMenus","userMenuAnchor","setUserMenuAnchor","navigate","location","user","logout","hasModuleAccess","hasPermission","mode","toggleMode","handleDrawerToggle","handleMenuToggle","menuText","prev","handleNavigation","handleUserMenuOpen","event","currentTarget","handleUserMenuClose","handleLogout","drawer","sx","height","background","backdropFilter","borderRight","position","overflow","display","flexDirection","content","top","left","right","bottom","zIndex","p","xs","sm","md","borderBottom","flexShrink","div","initial","opacity","y","animate","transition","duration","ease","alignItems","whileHover","scale","rotate","width","borderRadius","gradients","enterprise","justifyContent","mr","boxShadow","border","color","fontSize","variant","fontWeight","lineHeight","backgroundClip","WebkitBackgroundClip","WebkitTextFillColor","flex","py","px","map","item","index","isSelected","pathname","isExpanded","x","delay","mb","disablePadding","whileTap","style","onClick","selected","transform","primary","minWidth","in","timeout","unmountOnExit","component","pl","child","childIndex","isChildSelected","exit","borderTop","name","charAt","textOverflow","whiteSpace","roleData","ml","theme","minHeight","edge","noWrap","flexGrow","gap","flexWrap","title","badgeContent","label","size","secondary","open","onClose","ModalProps","keepMounted","boxSizing","anchorEl","Boolean","anchorOrigin","vertical","horizontal","transformOrigin","disabled","email","_c","$RefreshReg$"],"sources":["/home/gnx/Desktop/ETB/ETB-FrontEnd/src/components/Layout/Layout.tsx"],"sourcesContent":["import React, { useState, ReactNode } 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 Tooltip,\n Badge,\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 ExpandMore,\n AccountCircle,\n Logout,\n Assessment as AssessmentIcon,\n DarkMode,\n LightMode,\n Notifications,\n Settings,\n Rocket,\n FlashOn,\n} from '@mui/icons-material';\nimport { useNavigate, useLocation } from 'react-router-dom';\nimport { useAuth } from '../Auth/AuthContext';\nimport { useTheme } from '../../theme/ThemeProvider';\nimport { motion, AnimatePresence } from 'framer-motion';\nimport { colors, glassShadows } from '../../theme/theme';\n\nconst drawerWidth = 320;\nconst mobileDrawerWidth = 280;\n\ninterface MenuItemChild {\n text: string;\n path: string;\n}\n\ninterface MenuItemType {\n text: string;\n icon: React.ReactElement;\n path: string;\n children?: MenuItemChild[];\n adminOnly?: boolean;\n executiveOnly?: boolean;\n}\n\ninterface LayoutProps {\n children: ReactNode;\n}\n\nconst menuItems: MenuItemType[] = [\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 { text: 'Advanced Reporting', path: '/reporting/advanced' },\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 { text: 'Integrations', path: '/admin/integrations' },\n ],\n adminOnly: true,\n },\n {\n text: 'Executive Dashboard',\n icon: <AssessmentIcon />,\n path: '/executive',\n executiveOnly: true,\n },\n];\n\nconst Layout: React.FC<LayoutProps> = ({ children }) => {\n const [mobileOpen, setMobileOpen] = useState<boolean>(false);\n const [openMenus, setOpenMenus] = useState<Record<string, boolean>>({});\n const [userMenuAnchor, setUserMenuAnchor] = useState<null | HTMLElement>(null);\n const navigate = useNavigate();\n const location = useLocation();\n const { user, logout, hasModuleAccess, hasPermission } = useAuth();\n const { mode, toggleMode } = useTheme();\n\n const handleDrawerToggle = (): void => {\n setMobileOpen(!mobileOpen);\n };\n\n const handleMenuToggle = (menuText: string): void => {\n setOpenMenus(prev => ({\n ...prev,\n [menuText]: !prev[menuText]\n }));\n };\n\n const handleNavigation = (path: string): void => {\n navigate(path);\n setMobileOpen(false);\n };\n\n const handleUserMenuOpen = (event: React.MouseEvent<HTMLElement>): void => {\n setUserMenuAnchor(event.currentTarget);\n };\n\n const handleUserMenuClose = (): void => {\n setUserMenuAnchor(null);\n };\n\n const handleLogout = (): void => {\n logout();\n handleUserMenuClose();\n };\n\n const drawer = (\n <Box sx={{ \n height: '100vh', \n background: 'rgba(255, 255, 255, 0.1)',\n backdropFilter: 'blur(50px)',\n borderRight: '2px solid rgba(24, 144, 255, 0.2)',\n position: 'relative',\n overflow: 'hidden',\n display: 'flex',\n flexDirection: 'column',\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n background: `\n radial-gradient(circle at 20% 20%, rgba(24, 144, 255, 0.1) 0%, transparent 50%),\n radial-gradient(circle at 80% 80%, rgba(114, 46, 209, 0.1) 0%, transparent 50%),\n radial-gradient(circle at 40% 60%, rgba(82, 196, 26, 0.05) 0%, transparent 50%)\n `,\n zIndex: 0,\n },\n }}>\n {/* Header */}\n <Box sx={{ \n p: { xs: 2, sm: 3, md: 4 }, \n background: 'rgba(24, 144, 255, 0.1)',\n borderBottom: '2px solid rgba(24, 144, 255, 0.2)',\n position: 'relative',\n overflow: 'hidden',\n flexShrink: 0,\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n background: 'linear-gradient(135deg, rgba(24, 144, 255, 0.1) 0%, rgba(114, 46, 209, 0.1) 100%)',\n }\n }}>\n <motion.div\n initial={{ opacity: 0, y: -20 }}\n animate={{ opacity: 1, y: 0 }}\n transition={{ duration: 0.8, ease: [0.25, 0.46, 0.45, 0.94] }}\n >\n <Box sx={{ display: 'flex', alignItems: 'center', position: 'relative', zIndex: 1 }}>\n <motion.div\n whileHover={{ scale: 1.1, rotate: 5 }}\n transition={{ duration: 0.3 }}\n >\n <Box sx={{\n width: 56,\n height: 56,\n borderRadius: 4,\n background: colors.gradients.enterprise,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n mr: 3,\n boxShadow: glassShadows.enterprise,\n border: '2px solid rgba(255, 255, 255, 0.3)',\n }}>\n <Rocket sx={{ color: 'white', fontSize: '1.5rem' }} />\n </Box>\n </motion.div>\n <Box>\n <Typography variant=\"h5\" sx={{ \n fontWeight: 900, \n color: 'text.primary',\n lineHeight: 1.2,\n background: 'linear-gradient(135deg, #1890ff 0%, #722ed1 50%, #52c41a 100%)',\n backgroundClip: 'text',\n WebkitBackgroundClip: 'text',\n WebkitTextFillColor: 'transparent',\n }}>\n ETB Enterprise\n </Typography>\n <Typography variant=\"body2\" sx={{ \n color: 'text.secondary',\n fontWeight: 600,\n fontSize: '0.875rem',\n }}>\n Next-Gen IT Services Platform\n </Typography>\n </Box>\n </Box>\n </motion.div>\n </Box>\n\n {/* Navigation */}\n <Box sx={{ flex: 1, overflow: 'auto', py: 3, position: 'relative', zIndex: 1 }}>\n <List sx={{ px: 3 }}>\n {menuItems.map((item, index) => {\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 const isSelected = location.pathname === item.path;\n const isExpanded = openMenus[item.text];\n \n return (\n <motion.div\n key={item.text}\n initial={{ opacity: 0, x: -30 }}\n animate={{ opacity: 1, x: 0 }}\n transition={{ duration: 0.6, delay: index * 0.08, ease: [0.25, 0.46, 0.45, 0.94] }}\n >\n <Box sx={{ mb: 2 }}>\n <ListItem disablePadding>\n <motion.div\n whileHover={{ scale: 1.02, x: 4 }}\n whileTap={{ scale: 0.98 }}\n style={{ width: '100%' }}\n >\n <ListItemButton\n onClick={() => {\n if (item.children) {\n handleMenuToggle(item.text);\n } else {\n handleNavigation(item.path);\n }\n }}\n selected={isSelected}\n sx={{\n borderRadius: 4,\n mb: 1,\n position: 'relative',\n overflow: 'hidden',\n background: isSelected \n ? 'rgba(24, 144, 255, 0.15)'\n : 'transparent',\n border: isSelected \n ? '2px solid rgba(24, 144, 255, 0.4)'\n : '2px solid transparent',\n backdropFilter: 'blur(20px)',\n '&:hover': {\n background: 'rgba(24, 144, 255, 0.1)',\n border: '2px solid rgba(24, 144, 255, 0.3)',\n transform: 'translateX(8px)',\n boxShadow: '0 8px 32px rgba(24, 144, 255, 0.2)',\n },\n '&::before': isSelected ? {\n content: '\"\"',\n position: 'absolute',\n left: 0,\n top: 0,\n bottom: 0,\n width: 6,\n background: colors.gradients.primary,\n borderRadius: '0 4px 4px 0',\n } : {},\n transition: 'all 0.4s cubic-bezier(0.4, 0, 0.2, 1)',\n }}\n >\n <ListItemIcon sx={{ \n minWidth: 48,\n color: isSelected ? 'primary.main' : 'text.secondary',\n transition: 'all 0.3s ease-in-out',\n '&:hover': {\n color: 'primary.main',\n },\n }}>\n <motion.div\n whileHover={{ scale: 1.1, rotate: 5 }}\n transition={{ duration: 0.2 }}\n >\n {item.icon}\n </motion.div>\n </ListItemIcon>\n <ListItemText \n primary={item.text}\n sx={{\n '& .MuiListItemText-primary': {\n fontWeight: isSelected ? 800 : 600,\n fontSize: '1rem',\n color: isSelected ? 'primary.main' : 'text.primary',\n transition: 'all 0.3s ease-in-out',\n }\n }}\n />\n {item.children && (\n <motion.div\n animate={{ rotate: isExpanded ? 180 : 0 }}\n transition={{ duration: 0.3, ease: [0.4, 0, 0.2, 1] }}\n >\n <ExpandMore sx={{ \n color: isSelected ? 'primary.main' : 'text.secondary',\n transition: 'color 0.3s ease-in-out',\n }} />\n </motion.div>\n )}\n </ListItemButton>\n </motion.div>\n </ListItem>\n \n {item.children && (\n <AnimatePresence>\n <Collapse in={isExpanded} timeout=\"auto\" unmountOnExit>\n <List component=\"div\" disablePadding sx={{ pl: 3 }}>\n {item.children.map((child, childIndex) => {\n const isChildSelected = location.pathname === child.path;\n return (\n <motion.div\n key={child.text}\n initial={{ opacity: 0, x: -20, scale: 0.95 }}\n animate={{ opacity: 1, x: 0, scale: 1 }}\n exit={{ opacity: 0, x: -20, scale: 0.95 }}\n transition={{ duration: 0.4, delay: childIndex * 0.05, ease: [0.25, 0.46, 0.45, 0.94] }}\n >\n <ListItemButton\n onClick={() => handleNavigation(child.path)}\n selected={isChildSelected}\n sx={{\n borderRadius: 3,\n mb: 1,\n background: isChildSelected \n ? 'rgba(24, 144, 255, 0.12)'\n : 'transparent',\n border: isChildSelected \n ? '2px solid rgba(24, 144, 255, 0.3)'\n : '2px solid transparent',\n backdropFilter: 'blur(20px)',\n '&:hover': {\n background: 'rgba(24, 144, 255, 0.08)',\n border: '2px solid rgba(24, 144, 255, 0.2)',\n transform: 'translateX(6px)',\n boxShadow: '0 6px 24px rgba(24, 144, 255, 0.15)',\n },\n '&::before': isChildSelected ? {\n content: '\"\"',\n position: 'absolute',\n left: 0,\n top: 0,\n bottom: 0,\n width: 4,\n background: colors.gradients.primary,\n borderRadius: '0 3px 3px 0',\n } : {},\n transition: 'all 0.3s cubic-bezier(0.4, 0, 0.2, 1)',\n }}\n >\n <ListItemText \n primary={child.text}\n sx={{\n pl: 3,\n '& .MuiListItemText-primary': {\n fontWeight: isChildSelected ? 700 : 500,\n fontSize: '0.875rem',\n color: isChildSelected ? 'primary.main' : 'text.secondary',\n transition: 'all 0.3s ease-in-out',\n }\n }}\n />\n </ListItemButton>\n </motion.div>\n );\n })}\n </List>\n </Collapse>\n </AnimatePresence>\n )}\n </Box>\n </motion.div>\n );\n })}\n </List>\n </Box>\n\n {/* Footer */}\n <Box sx={{ \n p: 3, \n borderTop: '2px solid rgba(24, 144, 255, 0.2)',\n background: 'rgba(24, 144, 255, 0.05)',\n position: 'relative',\n zIndex: 1,\n }}>\n <motion.div\n initial={{ opacity: 0, y: 20 }}\n animate={{ opacity: 1, y: 0 }}\n transition={{ duration: 0.8, delay: 1.0, ease: [0.25, 0.46, 0.45, 0.94] }}\n >\n <Box sx={{ \n display: 'flex', \n alignItems: 'center', \n p: 3,\n borderRadius: 4,\n background: 'rgba(24, 144, 255, 0.1)',\n border: '2px solid rgba(24, 144, 255, 0.2)',\n backdropFilter: 'blur(20px)',\n position: 'relative',\n overflow: 'hidden',\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n background: 'linear-gradient(135deg, rgba(24, 144, 255, 0.1) 0%, rgba(114, 46, 209, 0.1) 100%)',\n opacity: 0,\n transition: 'opacity 0.4s ease',\n },\n '&:hover::before': {\n opacity: 1,\n },\n }}>\n <motion.div\n whileHover={{ scale: 1.1, rotate: 5 }}\n transition={{ duration: 0.3 }}\n >\n <Avatar sx={{ \n width: 48, \n height: 48, \n background: colors.gradients.primary,\n mr: 3,\n fontSize: '1.125rem',\n fontWeight: 800,\n border: '2px solid rgba(255, 255, 255, 0.3)',\n boxShadow: '0 8px 24px rgba(24, 144, 255, 0.3)',\n position: 'relative',\n zIndex: 1,\n }}>\n {user?.name?.charAt(0) || 'U'}\n </Avatar>\n </motion.div>\n <Box sx={{ flex: 1, minWidth: 0, position: 'relative', zIndex: 1 }}>\n <Typography variant=\"body1\" sx={{ \n fontWeight: 800,\n color: 'text.primary',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n fontSize: '1rem',\n }}>\n {user?.name || 'User'}\n </Typography>\n <Typography variant=\"body2\" sx={{ \n color: 'text.secondary',\n display: 'block',\n fontWeight: 600,\n fontSize: '0.875rem',\n }}>\n {user?.roleData?.name || 'User Role'}\n </Typography>\n </Box>\n </Box>\n </motion.div>\n </Box>\n </Box>\n );\n\n return (\n <Box sx={{ \n display: 'flex', \n height: '100vh',\n overflow: 'hidden',\n width: '100vw'\n }}>\n <CssBaseline />\n <AppBar\n position=\"fixed\"\n sx={{\n width: { \n xs: '100%',\n sm: `calc(100% - ${drawerWidth}px)` \n },\n ml: { \n xs: 0,\n sm: `${drawerWidth}px` \n },\n zIndex: (theme) => theme.zIndex.drawer + 1,\n }}\n >\n <Toolbar sx={{ \n minHeight: { xs: 56, sm: 64 },\n px: { xs: 2, sm: 3 }\n }}>\n <IconButton\n color=\"inherit\"\n aria-label=\"open drawer\"\n edge=\"start\"\n onClick={handleDrawerToggle}\n sx={{ \n mr: 2, \n display: { sm: 'none' },\n p: 1\n }}\n >\n <MenuIcon />\n </IconButton>\n <Typography \n variant=\"h5\" \n noWrap \n component=\"div\" \n sx={{ \n flexGrow: 1,\n fontWeight: 800,\n background: 'linear-gradient(135deg, #1890ff 0%, #722ed1 50%, #52c41a 100%)',\n backgroundClip: 'text',\n WebkitBackgroundClip: 'text',\n WebkitTextFillColor: 'transparent',\n fontSize: { xs: '1.25rem', sm: '1.5rem' },\n display: { xs: 'none', sm: 'block' }\n }}\n >\n Enterprise Command Center\n </Typography>\n <Typography \n variant=\"h6\" \n noWrap \n component=\"div\" \n sx={{ \n flexGrow: 1,\n fontWeight: 800,\n background: 'linear-gradient(135deg, #1890ff 0%, #722ed1 50%, #52c41a 100%)',\n backgroundClip: 'text',\n WebkitBackgroundClip: 'text',\n WebkitTextFillColor: 'transparent',\n fontSize: '1.125rem',\n display: { xs: 'block', sm: 'none' }\n }}\n >\n ETB Enterprise\n </Typography>\n <Box sx={{ \n display: 'flex', \n alignItems: 'center', \n gap: { xs: 1, sm: 2 },\n flexWrap: 'nowrap'\n }}>\n <Tooltip title=\"Refresh Data\">\n <IconButton\n sx={{ \n background: 'rgba(24, 144, 255, 0.1)',\n border: '2px solid rgba(24, 144, 255, 0.3)',\n color: 'primary.main',\n p: { xs: 0.5, sm: 1 },\n '&:hover': {\n background: 'rgba(24, 144, 255, 0.2)',\n transform: 'scale(1.1) rotate(180deg)',\n },\n transition: 'all 0.3s ease',\n }}\n >\n <FlashOn sx={{ fontSize: { xs: '1.25rem', sm: '1.5rem' } }} />\n </IconButton>\n </Tooltip>\n <Tooltip title=\"Notifications\">\n <IconButton\n sx={{ \n background: 'rgba(114, 46, 209, 0.1)',\n border: '2px solid rgba(114, 46, 209, 0.3)',\n color: 'secondary.main',\n p: { xs: 0.5, sm: 1 },\n '&:hover': {\n background: 'rgba(114, 46, 209, 0.2)',\n transform: 'scale(1.1)',\n },\n transition: 'all 0.3s ease',\n }}\n >\n <Badge badgeContent={3} color=\"error\">\n <Notifications sx={{ fontSize: { xs: '1.25rem', sm: '1.5rem' } }} />\n </Badge>\n </IconButton>\n </Tooltip>\n <Tooltip title=\"Settings\">\n <IconButton\n sx={{ \n background: 'rgba(82, 196, 26, 0.1)',\n border: '2px solid rgba(82, 196, 26, 0.3)',\n color: 'success.main',\n p: { xs: 0.5, sm: 1 },\n '&:hover': {\n background: 'rgba(82, 196, 26, 0.2)',\n transform: 'scale(1.1)',\n },\n transition: 'all 0.3s ease',\n }}\n >\n <Settings sx={{ fontSize: { xs: '1.25rem', sm: '1.5rem' } }} />\n </IconButton>\n </Tooltip>\n <Tooltip title=\"Toggle Theme\">\n <IconButton\n onClick={toggleMode}\n sx={{ \n background: 'rgba(255, 193, 7, 0.1)',\n border: '2px solid rgba(255, 193, 7, 0.3)',\n color: 'warning.main',\n p: { xs: 0.5, sm: 1 },\n '&:hover': {\n background: 'rgba(255, 193, 7, 0.2)',\n transform: 'scale(1.1)',\n },\n transition: 'all 0.3s ease',\n }}\n >\n {mode === 'light' ? \n <DarkMode sx={{ fontSize: { xs: '1.25rem', sm: '1.5rem' } }} /> : \n <LightMode sx={{ fontSize: { xs: '1.25rem', sm: '1.5rem' } }} />\n }\n </IconButton>\n </Tooltip>\n <Chip\n label={user?.roleData?.name || 'User'}\n size=\"small\"\n sx={{\n background: colors.gradients.primary,\n color: 'white',\n fontWeight: 800,\n fontSize: { xs: '0.75rem', sm: '0.875rem' },\n height: { xs: 28, sm: 36 },\n border: '2px solid rgba(255, 255, 255, 0.3)',\n display: { xs: 'none', md: 'flex' },\n '&:hover': {\n transform: 'scale(1.05)',\n },\n transition: 'all 0.3s ease',\n }}\n />\n <IconButton\n color=\"inherit\"\n onClick={handleUserMenuOpen}\n sx={{\n transition: 'all 0.3s ease',\n p: { xs: 0.5, sm: 1 },\n '&:hover': {\n transform: 'scale(1.1)',\n }\n }}\n >\n <Avatar sx={{ \n width: { xs: 32, sm: 40 }, \n height: { xs: 32, sm: 40 }, \n background: colors.gradients.secondary,\n border: '2px solid rgba(255, 255, 255, 0.3)',\n boxShadow: '0 4px 16px rgba(114, 46, 209, 0.3)',\n fontWeight: 800,\n fontSize: { xs: '0.875rem', sm: '1rem' }\n }}>\n {user?.name?.charAt(0) || 'U'}\n </Avatar>\n </IconButton>\n </Box>\n </Toolbar>\n </AppBar>\n <Box\n component=\"nav\"\n sx={{ \n width: { sm: drawerWidth }, \n flexShrink: { sm: 0 },\n height: '100vh'\n }}\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': { \n boxSizing: 'border-box', \n width: mobileDrawerWidth,\n height: '100vh',\n overflow: 'hidden'\n },\n }}\n >\n {drawer}\n </Drawer>\n <Drawer\n variant=\"permanent\"\n sx={{\n display: { xs: 'none', sm: 'block' },\n '& .MuiDrawer-paper': { \n boxSizing: 'border-box', \n width: drawerWidth,\n height: '100vh',\n overflow: 'hidden'\n },\n }}\n open\n >\n {drawer}\n </Drawer>\n </Box>\n <Box\n component=\"main\"\n sx={{\n flexGrow: 1,\n p: { xs: 2, sm: 3 },\n width: { sm: `calc(100% - ${drawerWidth}px)` },\n height: '100vh',\n overflow: 'hidden',\n display: 'flex',\n flexDirection: 'column'\n }}\n >\n <Toolbar />\n <Box sx={{ \n flex: 1, \n overflow: 'auto',\n height: 'calc(100vh - 64px)',\n '&::-webkit-scrollbar': {\n width: '6px',\n },\n '&::-webkit-scrollbar-track': {\n background: 'rgba(0, 0, 0, 0.05)',\n borderRadius: '3px',\n },\n '&::-webkit-scrollbar-thumb': {\n background: 'rgba(24, 144, 255, 0.3)',\n borderRadius: '3px',\n '&:hover': {\n background: 'rgba(24, 144, 255, 0.5)',\n },\n },\n }}>\n {children}\n </Box>\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":[]} |