Files
ETB/ETB-FrontEnd/node_modules/.cache/babel-loader/e9259f21e5f666520fa7b8b0b034a5418276c9643923a943757607582bbcf559.json
Iliyan Angelov 306b20e24a Frontend start
2025-09-14 00:54:48 +03:00

1 line
77 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 } 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 } from '@mui/icons-material';\nimport { useNavigate, useLocation } from 'react-router-dom';\nimport { useAuth } from '../Auth/AuthContext';\nimport { useTheme } from '../../theme/ThemeProvider';\nimport { motion } from 'framer-motion';\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: 70,\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: 75,\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: 87,\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: 97,\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: 107,\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: 116,\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: 127,\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: 136,\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: 146,\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: 156,\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: 166,\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: 178,\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$roleData3, _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: '100%',\n background: 'linear-gradient(180deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0.05) 100%)',\n backdropFilter: 'blur(20px)',\n borderRight: '1px solid rgba(255,255,255,0.2)'\n },\n children: [/*#__PURE__*/_jsxDEV(Box, {\n sx: {\n p: 3,\n background: 'linear-gradient(135deg, rgba(102, 126, 234, 0.1) 0%, rgba(118, 75, 162, 0.1) 100%)',\n borderBottom: '1px solid rgba(255,255,255,0.1)',\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: 'radial-gradient(circle at 50% 0%, rgba(102, 126, 234, 0.1) 0%, transparent 70%)'\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.6\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(Box, {\n sx: {\n width: 40,\n height: 40,\n borderRadius: 2,\n background: 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n mr: 2,\n boxShadow: '0 4px 20px rgba(102, 126, 234, 0.3)'\n },\n children: /*#__PURE__*/_jsxDEV(Typography, {\n variant: \"h6\",\n sx: {\n color: 'white',\n fontWeight: 700\n },\n children: \"E\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 263,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 252,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Box, {\n children: [/*#__PURE__*/_jsxDEV(Typography, {\n variant: \"h6\",\n sx: {\n fontWeight: 700,\n color: 'text.primary',\n lineHeight: 1.2\n },\n children: \"ETB Enterprise\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 268,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(Typography, {\n variant: \"caption\",\n sx: {\n color: 'text.secondary',\n fontWeight: 500\n },\n children: \"IT Services Platform\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 275,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 267,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 251,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 246,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 230,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(Box, {\n sx: {\n flex: 1,\n overflow: 'auto',\n py: 2\n },\n children: /*#__PURE__*/_jsxDEV(List, {\n sx: {\n px: 2\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: -20\n },\n animate: {\n opacity: 1,\n x: 0\n },\n transition: {\n duration: 0.4,\n delay: index * 0.05\n },\n children: /*#__PURE__*/_jsxDEV(Box, {\n sx: {\n mb: 1\n },\n children: [/*#__PURE__*/_jsxDEV(ListItem, {\n disablePadding: true,\n children: /*#__PURE__*/_jsxDEV(motion.div, {\n whileHover: {\n scale: 1.02\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: 2,\n mb: 0.5,\n position: 'relative',\n overflow: 'hidden',\n background: isSelected ? 'linear-gradient(135deg, rgba(102, 126, 234, 0.15) 0%, rgba(118, 75, 162, 0.15) 100%)' : 'transparent',\n border: isSelected ? '1px solid rgba(102, 126, 234, 0.3)' : '1px solid transparent',\n '&:hover': {\n background: 'linear-gradient(135deg, rgba(102, 126, 234, 0.1) 0%, rgba(118, 75, 162, 0.1) 100%)',\n border: '1px solid rgba(102, 126, 234, 0.2)',\n transform: 'translateX(4px)'\n },\n '&::before': isSelected ? {\n content: '\"\"',\n position: 'absolute',\n left: 0,\n top: 0,\n bottom: 0,\n width: 4,\n background: 'linear-gradient(180deg, #667eea 0%, #764ba2 100%)',\n borderRadius: '0 2px 2px 0'\n } : {},\n transition: 'all 0.2s ease-in-out'\n },\n children: [/*#__PURE__*/_jsxDEV(ListItemIcon, {\n sx: {\n minWidth: 40,\n color: isSelected ? 'primary.main' : 'text.secondary',\n transition: 'color 0.2s ease-in-out'\n },\n children: item.icon\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 355,\n columnNumber: 25\n }, this), /*#__PURE__*/_jsxDEV(ListItemText, {\n primary: item.text,\n sx: {\n '& .MuiListItemText-primary': {\n fontWeight: isSelected ? 600 : 500,\n fontSize: '0.875rem',\n color: isSelected ? 'primary.main' : 'text.primary',\n transition: 'all 0.2s ease-in-out'\n }\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 362,\n columnNumber: 25\n }, this), item.children && /*#__PURE__*/_jsxDEV(motion.div, {\n animate: {\n rotate: isExpanded ? 180 : 0\n },\n transition: {\n duration: 0.2\n },\n children: /*#__PURE__*/_jsxDEV(ExpandMore, {\n sx: {\n color: isSelected ? 'primary.main' : 'text.secondary',\n transition: 'color 0.2s ease-in-out'\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 378,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 374,\n columnNumber: 27\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 317,\n columnNumber: 23\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 312,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 311,\n columnNumber: 19\n }, this), item.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: 2\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: -10\n },\n animate: {\n opacity: 1,\n x: 0\n },\n transition: {\n duration: 0.3,\n delay: childIndex * 0.05\n },\n children: /*#__PURE__*/_jsxDEV(ListItemButton, {\n onClick: () => handleNavigation(child.path),\n selected: isChildSelected,\n sx: {\n borderRadius: 2,\n mb: 0.5,\n background: isChildSelected ? 'linear-gradient(135deg, rgba(102, 126, 234, 0.1) 0%, rgba(118, 75, 162, 0.1) 100%)' : 'transparent',\n border: isChildSelected ? '1px solid rgba(102, 126, 234, 0.2)' : '1px solid transparent',\n '&:hover': {\n background: 'linear-gradient(135deg, rgba(102, 126, 234, 0.08) 0%, rgba(118, 75, 162, 0.08) 100%)',\n border: '1px solid rgba(102, 126, 234, 0.15)',\n transform: 'translateX(4px)'\n },\n '&::before': isChildSelected ? {\n content: '\"\"',\n position: 'absolute',\n left: 0,\n top: 0,\n bottom: 0,\n width: 3,\n background: 'linear-gradient(180deg, #667eea 0%, #764ba2 100%)',\n borderRadius: '0 2px 2px 0'\n } : {},\n transition: 'all 0.2s ease-in-out'\n },\n children: /*#__PURE__*/_jsxDEV(ListItemText, {\n primary: child.text,\n sx: {\n pl: 2,\n '& .MuiListItemText-primary': {\n fontWeight: isChildSelected ? 600 : 400,\n fontSize: '0.8rem',\n color: isChildSelected ? 'primary.main' : 'text.secondary',\n transition: 'all 0.2s ease-in-out'\n }\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 430,\n columnNumber: 33\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 400,\n columnNumber: 31\n }, this)\n }, child.text, false, {\n fileName: _jsxFileName,\n lineNumber: 394,\n columnNumber: 29\n }, this);\n })\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 390,\n columnNumber: 23\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 389,\n columnNumber: 21\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 310,\n columnNumber: 17\n }, this)\n }, item.text, false, {\n fileName: _jsxFileName,\n lineNumber: 304,\n columnNumber: 15\n }, this);\n })\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 288,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 287,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(Box, {\n sx: {\n p: 2,\n borderTop: '1px solid rgba(255,255,255,0.1)',\n background: 'rgba(0,0,0,0.02)'\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.6,\n delay: 0.8\n },\n children: /*#__PURE__*/_jsxDEV(Box, {\n sx: {\n display: 'flex',\n alignItems: 'center',\n p: 2,\n borderRadius: 2,\n background: 'linear-gradient(135deg, rgba(102, 126, 234, 0.05) 0%, rgba(118, 75, 162, 0.05) 100%)',\n border: '1px solid rgba(102, 126, 234, 0.1)'\n },\n children: [/*#__PURE__*/_jsxDEV(Avatar, {\n sx: {\n width: 32,\n height: 32,\n bgcolor: 'primary.main',\n mr: 2,\n fontSize: '0.875rem',\n fontWeight: 600\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: 475,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Box, {\n sx: {\n flex: 1,\n minWidth: 0\n },\n children: [/*#__PURE__*/_jsxDEV(Typography, {\n variant: \"body2\",\n sx: {\n fontWeight: 600,\n color: 'text.primary',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n },\n children: (user === null || user === void 0 ? void 0 : user.name) || 'User'\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 486,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(Typography, {\n variant: \"caption\",\n sx: {\n color: 'text.secondary',\n display: 'block'\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: 495,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 485,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 467,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 462,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 457,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 223,\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: 510,\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: 526,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 519,\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: 528,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(Box, {\n sx: {\n display: 'flex',\n alignItems: 'center',\n gap: 2\n },\n children: [/*#__PURE__*/_jsxDEV(IconButton, {\n onClick: toggleMode,\n sx: {\n color: 'inherit',\n transition: 'transform 0.2s ease-in-out',\n '&:hover': {\n transform: 'scale(1.1)'\n }\n },\n children: mode === 'light' ? /*#__PURE__*/_jsxDEV(DarkMode, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 542,\n columnNumber: 35\n }, this) : /*#__PURE__*/_jsxDEV(LightMode, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 542,\n columnNumber: 50\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 532,\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 bgcolor: (user === null || user === void 0 ? void 0 : (_user$roleData3 = user.roleData) === null || _user$roleData3 === void 0 ? void 0 : _user$roleData3.color) || 'default',\n color: 'white',\n fontWeight: 600\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 544,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(IconButton, {\n color: \"inherit\",\n onClick: handleUserMenuOpen,\n sx: {\n transition: 'transform 0.2s ease-in-out',\n '&:hover': {\n transform: 'scale(1.05)'\n }\n },\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$name2 = user.name) === null || _user$name2 === void 0 ? void 0 : _user$name2.charAt(0)) || 'U'\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 563,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 553,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 531,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 518,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 511,\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: 575,\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: 589,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 570,\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: 608,\n columnNumber: 9\n }, this), children]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 600,\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: 628,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 627,\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: 630,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 626,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(Divider, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 635,\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: 638,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 637,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(ListItemText, {\n primary: \"Logout\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 640,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 636,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 613,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 509,\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","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","useNavigate","useLocation","useAuth","useTheme","motion","jsxDEV","_jsxDEV","drawerWidth","menuItems","text","icon","fileName","_jsxFileName","lineNumber","columnNumber","path","children","adminOnly","executiveOnly","Layout","_s","_user$name","_user$roleData","_user$roleData2","_user$roleData3","_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","p","borderBottom","position","overflow","content","top","left","right","bottom","div","initial","opacity","y","animate","transition","duration","display","alignItems","zIndex","width","borderRadius","justifyContent","mr","boxShadow","variant","color","fontWeight","lineHeight","flex","py","px","map","item","index","isSelected","pathname","isExpanded","x","delay","mb","disablePadding","whileHover","scale","whileTap","style","onClick","selected","border","transform","minWidth","primary","fontSize","rotate","in","timeout","unmountOnExit","component","pl","child","childIndex","isChildSelected","borderTop","bgcolor","name","charAt","textOverflow","whiteSpace","roleData","sm","ml","edge","noWrap","flexGrow","gap","label","size","flexShrink","open","onClose","ModalProps","keepMounted","xs","boxSizing","anchorEl","Boolean","anchorOrigin","vertical","horizontal","transformOrigin","disabled","secondary","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} 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} from '@mui/icons-material';\nimport { useNavigate, useLocation } from 'react-router-dom';\nimport { useAuth } from '../Auth/AuthContext';\nimport { useTheme } from '../../theme/ThemeProvider';\nimport { motion } from 'framer-motion';\n\nconst drawerWidth = 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: '100%', \n background: 'linear-gradient(180deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0.05) 100%)',\n backdropFilter: 'blur(20px)',\n borderRight: '1px solid rgba(255,255,255,0.2)',\n }}>\n {/* Header */}\n <Box sx={{ \n p: 3, \n background: 'linear-gradient(135deg, rgba(102, 126, 234, 0.1) 0%, rgba(118, 75, 162, 0.1) 100%)',\n borderBottom: '1px solid rgba(255,255,255,0.1)',\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: 'radial-gradient(circle at 50% 0%, rgba(102, 126, 234, 0.1) 0%, transparent 70%)',\n }\n }}>\n <motion.div\n initial={{ opacity: 0, y: -20 }}\n animate={{ opacity: 1, y: 0 }}\n transition={{ duration: 0.6 }}\n >\n <Box sx={{ display: 'flex', alignItems: 'center', position: 'relative', zIndex: 1 }}>\n <Box sx={{\n width: 40,\n height: 40,\n borderRadius: 2,\n background: 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n mr: 2,\n boxShadow: '0 4px 20px rgba(102, 126, 234, 0.3)',\n }}>\n <Typography variant=\"h6\" sx={{ color: 'white', fontWeight: 700 }}>\n E\n </Typography>\n </Box>\n <Box>\n <Typography variant=\"h6\" sx={{ \n fontWeight: 700, \n color: 'text.primary',\n lineHeight: 1.2,\n }}>\n ETB Enterprise\n </Typography>\n <Typography variant=\"caption\" sx={{ \n color: 'text.secondary',\n fontWeight: 500,\n }}>\n 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: 2 }}>\n <List sx={{ px: 2 }}>\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: -20 }}\n animate={{ opacity: 1, x: 0 }}\n transition={{ duration: 0.4, delay: index * 0.05 }}\n >\n <Box sx={{ mb: 1 }}>\n <ListItem disablePadding>\n <motion.div\n whileHover={{ scale: 1.02 }}\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: 2,\n mb: 0.5,\n position: 'relative',\n overflow: 'hidden',\n background: isSelected \n ? 'linear-gradient(135deg, rgba(102, 126, 234, 0.15) 0%, rgba(118, 75, 162, 0.15) 100%)'\n : 'transparent',\n border: isSelected \n ? '1px solid rgba(102, 126, 234, 0.3)'\n : '1px solid transparent',\n '&:hover': {\n background: 'linear-gradient(135deg, rgba(102, 126, 234, 0.1) 0%, rgba(118, 75, 162, 0.1) 100%)',\n border: '1px solid rgba(102, 126, 234, 0.2)',\n transform: 'translateX(4px)',\n },\n '&::before': isSelected ? {\n content: '\"\"',\n position: 'absolute',\n left: 0,\n top: 0,\n bottom: 0,\n width: 4,\n background: 'linear-gradient(180deg, #667eea 0%, #764ba2 100%)',\n borderRadius: '0 2px 2px 0',\n } : {},\n transition: 'all 0.2s ease-in-out',\n }}\n >\n <ListItemIcon sx={{ \n minWidth: 40,\n color: isSelected ? 'primary.main' : 'text.secondary',\n transition: 'color 0.2s ease-in-out',\n }}>\n {item.icon}\n </ListItemIcon>\n <ListItemText \n primary={item.text}\n sx={{\n '& .MuiListItemText-primary': {\n fontWeight: isSelected ? 600 : 500,\n fontSize: '0.875rem',\n color: isSelected ? 'primary.main' : 'text.primary',\n transition: 'all 0.2s ease-in-out',\n }\n }}\n />\n {item.children && (\n <motion.div\n animate={{ rotate: isExpanded ? 180 : 0 }}\n transition={{ duration: 0.2 }}\n >\n <ExpandMore sx={{ \n color: isSelected ? 'primary.main' : 'text.secondary',\n transition: 'color 0.2s ease-in-out',\n }} />\n </motion.div>\n )}\n </ListItemButton>\n </motion.div>\n </ListItem>\n \n {item.children && (\n <Collapse in={isExpanded} timeout=\"auto\" unmountOnExit>\n <List component=\"div\" disablePadding sx={{ pl: 2 }}>\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: -10 }}\n animate={{ opacity: 1, x: 0 }}\n transition={{ duration: 0.3, delay: childIndex * 0.05 }}\n >\n <ListItemButton\n onClick={() => handleNavigation(child.path)}\n selected={isChildSelected}\n sx={{\n borderRadius: 2,\n mb: 0.5,\n background: isChildSelected \n ? 'linear-gradient(135deg, rgba(102, 126, 234, 0.1) 0%, rgba(118, 75, 162, 0.1) 100%)'\n : 'transparent',\n border: isChildSelected \n ? '1px solid rgba(102, 126, 234, 0.2)'\n : '1px solid transparent',\n '&:hover': {\n background: 'linear-gradient(135deg, rgba(102, 126, 234, 0.08) 0%, rgba(118, 75, 162, 0.08) 100%)',\n border: '1px solid rgba(102, 126, 234, 0.15)',\n transform: 'translateX(4px)',\n },\n '&::before': isChildSelected ? {\n content: '\"\"',\n position: 'absolute',\n left: 0,\n top: 0,\n bottom: 0,\n width: 3,\n background: 'linear-gradient(180deg, #667eea 0%, #764ba2 100%)',\n borderRadius: '0 2px 2px 0',\n } : {},\n transition: 'all 0.2s ease-in-out',\n }}\n >\n <ListItemText \n primary={child.text}\n sx={{\n pl: 2,\n '& .MuiListItemText-primary': {\n fontWeight: isChildSelected ? 600 : 400,\n fontSize: '0.8rem',\n color: isChildSelected ? 'primary.main' : 'text.secondary',\n transition: 'all 0.2s ease-in-out',\n }\n }}\n />\n </ListItemButton>\n </motion.div>\n );\n })}\n </List>\n </Collapse>\n )}\n </Box>\n </motion.div>\n );\n })}\n </List>\n </Box>\n\n {/* Footer */}\n <Box sx={{ \n p: 2, \n borderTop: '1px solid rgba(255,255,255,0.1)',\n background: 'rgba(0,0,0,0.02)',\n }}>\n <motion.div\n initial={{ opacity: 0, y: 20 }}\n animate={{ opacity: 1, y: 0 }}\n transition={{ duration: 0.6, delay: 0.8 }}\n >\n <Box sx={{ \n display: 'flex', \n alignItems: 'center', \n p: 2,\n borderRadius: 2,\n background: 'linear-gradient(135deg, rgba(102, 126, 234, 0.05) 0%, rgba(118, 75, 162, 0.05) 100%)',\n border: '1px solid rgba(102, 126, 234, 0.1)',\n }}>\n <Avatar sx={{ \n width: 32, \n height: 32, \n bgcolor: 'primary.main',\n mr: 2,\n fontSize: '0.875rem',\n fontWeight: 600,\n }}>\n {user?.name?.charAt(0) || 'U'}\n </Avatar>\n <Box sx={{ flex: 1, minWidth: 0 }}>\n <Typography variant=\"body2\" sx={{ \n fontWeight: 600,\n color: 'text.primary',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n }}>\n {user?.name || 'User'}\n </Typography>\n <Typography variant=\"caption\" sx={{ \n color: 'text.secondary',\n display: 'block',\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={{ 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 <IconButton\n onClick={toggleMode}\n sx={{ \n color: 'inherit',\n transition: 'transform 0.2s ease-in-out',\n '&:hover': {\n transform: 'scale(1.1)',\n }\n }}\n >\n {mode === 'light' ? <DarkMode /> : <LightMode />}\n </IconButton>\n <Chip\n label={user?.roleData?.name || 'User'}\n size=\"small\"\n sx={{\n bgcolor: user?.roleData?.color || 'default',\n color: 'white',\n fontWeight: 600,\n }}\n />\n <IconButton\n color=\"inherit\"\n onClick={handleUserMenuOpen}\n sx={{\n transition: 'transform 0.2s ease-in-out',\n '&:hover': {\n transform: 'scale(1.05)',\n }\n }}\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":[]}