1 line
83 KiB
JSON
1 line
83 KiB
JSON
{"ast":null,"code":"var _jsxFileName = \"/home/gnx/Desktop/ETB/ETB-FrontEnd/src/components/Auth/Login.tsx\",\n _s = $RefreshSig$();\nimport React, { useState } from 'react';\nimport { Box, TextField, Button, Typography, Alert, CircularProgress, Container, Avatar, Grid, IconButton, InputAdornment } from '@mui/material';\nimport { Security, Person, Lock, Visibility, VisibilityOff, Shield, Business, VerifiedUser, Key, Login as LoginIcon, CheckCircle } from '@mui/icons-material';\nimport { useAuth } from './AuthContext';\nimport { motion, AnimatePresence } from 'framer-motion';\nimport { colors } from '../../theme/theme';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst Login = () => {\n _s();\n const [formData, setFormData] = useState({\n username: '',\n password: ''\n });\n const [error, setError] = useState('');\n const [showPassword, setShowPassword] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n const {\n login,\n loading\n } = useAuth();\n const handleInputChange = (field, value) => {\n setFormData(prev => ({\n ...prev,\n [field]: value\n }));\n setError('');\n };\n const handleSubmit = async e => {\n e.preventDefault();\n setError('');\n setIsLoading(true);\n if (!formData.username || !formData.password) {\n setError('Please enter both username and password');\n setIsLoading(false);\n return;\n }\n const result = await login(formData.username, formData.password);\n if (!result.success) {\n setError(result.error || 'Login failed');\n }\n setIsLoading(false);\n };\n return /*#__PURE__*/_jsxDEV(Box, {\n sx: {\n minHeight: '100vh',\n display: 'flex',\n flexDirection: 'column',\n background: 'linear-gradient(135deg, #0f1419 0%, #1a2332 50%, #0f1419 100%)',\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: `\n radial-gradient(circle at 20% 80%, rgba(24, 144, 255, 0.1) 0%, transparent 50%),\n radial-gradient(circle at 80% 20%, rgba(82, 196, 26, 0.1) 0%, transparent 50%),\n radial-gradient(circle at 40% 40%, rgba(114, 46, 209, 0.1) 0%, transparent 50%)\n `,\n zIndex: 0\n },\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n background: 'url(\"data:image/svg+xml,%3Csvg width=\"60\" height=\"60\" viewBox=\"0 0 60 60\" xmlns=\"http://www.w3.org/2000/svg\"%3E%3Cg fill=\"none\" fill-rule=\"evenodd\"%3E%3Cg fill=\"%23ffffff\" fill-opacity=\"0.02\"%3E%3Ccircle cx=\"30\" cy=\"30\" r=\"1\"/%3E%3C/g%3E%3C/g%3E%3C/svg%3E\")',\n zIndex: 0\n }\n },\n children: [/*#__PURE__*/_jsxDEV(motion.div, {\n initial: {\n opacity: 0,\n y: -50\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(Container, {\n maxWidth: \"lg\",\n sx: {\n position: 'relative',\n zIndex: 1,\n py: 4\n },\n children: /*#__PURE__*/_jsxDEV(Box, {\n sx: {\n textAlign: 'center'\n },\n children: [/*#__PURE__*/_jsxDEV(Box, {\n sx: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n mb: 3\n },\n children: [/*#__PURE__*/_jsxDEV(Avatar, {\n sx: {\n width: {\n xs: 56,\n sm: 64,\n md: 72\n },\n height: {\n xs: 56,\n sm: 64,\n md: 72\n },\n background: colors.gradients.primary,\n mr: 3\n },\n children: /*#__PURE__*/_jsxDEV(Business, {\n sx: {\n fontSize: {\n xs: '1.75rem',\n sm: '2rem',\n md: '2.25rem'\n }\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 126,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 120,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(Box, {\n children: [/*#__PURE__*/_jsxDEV(Typography, {\n variant: \"h3\",\n sx: {\n fontWeight: 800,\n color: 'white',\n fontSize: {\n xs: '1.75rem',\n sm: '2rem',\n md: '2.25rem'\n },\n mb: 0.5\n },\n children: \"ETB Enterprise\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 129,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(Typography, {\n variant: \"h6\",\n sx: {\n color: 'rgba(255,255,255,0.8)',\n fontSize: {\n xs: '1rem',\n sm: '1.125rem'\n },\n fontWeight: 500\n },\n children: \"Enterprise IT Services Platform\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 137,\n columnNumber: 17\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 128,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 119,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Typography, {\n variant: \"h4\",\n sx: {\n fontWeight: 700,\n color: 'white',\n fontSize: {\n xs: '1.5rem',\n sm: '1.75rem',\n md: '2rem'\n },\n mb: 2\n },\n children: \"Secure Enterprise Access\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 147,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Typography, {\n variant: \"body1\",\n sx: {\n color: 'rgba(255,255,255,0.7)',\n fontSize: {\n xs: '0.875rem',\n sm: '1rem'\n },\n maxWidth: '800px',\n mx: 'auto',\n lineHeight: 1.6\n },\n children: \"Access your enterprise IT services platform with enterprise-grade security and advanced authentication protocols.\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 155,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 118,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 117,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 112,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(Box, {\n sx: {\n flex: 1,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center'\n },\n children: /*#__PURE__*/_jsxDEV(Container, {\n maxWidth: \"md\",\n sx: {\n position: 'relative',\n zIndex: 1\n },\n children: /*#__PURE__*/_jsxDEV(motion.div, {\n initial: {\n opacity: 0,\n y: 50,\n scale: 0.9\n },\n animate: {\n opacity: 1,\n y: 0,\n scale: 1\n },\n transition: {\n duration: 1.2,\n delay: 0.4,\n ease: [0.25, 0.46, 0.45, 0.94]\n },\n children: /*#__PURE__*/_jsxDEV(Box, {\n sx: {\n background: 'linear-gradient(145deg, rgba(15, 20, 25, 0.95) 0%, rgba(26, 35, 50, 0.95) 100%)',\n backdropFilter: 'blur(30px)',\n border: '1px solid rgba(255, 255, 255, 0.1)',\n borderRadius: 6,\n boxShadow: `\n 0 25px 80px rgba(0, 0, 0, 0.4),\n 0 10px 40px rgba(0, 0, 0, 0.2),\n inset 0 1px 0 rgba(255, 255, 255, 0.1)\n `,\n overflow: 'hidden',\n position: 'relative',\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n height: 4,\n background: 'linear-gradient(90deg, #1890ff 0%, #52c41a 50%, #722ed1 100%)',\n zIndex: 1\n },\n '&::after': {\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(82, 196, 26, 0.1) 0%, transparent 50%)\n `,\n zIndex: 0\n }\n },\n children: /*#__PURE__*/_jsxDEV(Box, {\n sx: {\n p: 5,\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.6,\n delay: 0.6\n },\n children: /*#__PURE__*/_jsxDEV(Box, {\n sx: {\n textAlign: 'center',\n mb: 4\n },\n children: [/*#__PURE__*/_jsxDEV(Box, {\n sx: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 80,\n height: 80,\n borderRadius: '50%',\n background: 'linear-gradient(135deg, #1890ff 0%, #52c41a 100%)',\n mb: 3,\n boxShadow: '0 8px 32px rgba(24, 144, 255, 0.3)'\n },\n children: /*#__PURE__*/_jsxDEV(Shield, {\n sx: {\n fontSize: '2rem',\n color: 'white'\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 231,\n columnNumber: 23\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 220,\n columnNumber: 21\n }, this), /*#__PURE__*/_jsxDEV(Typography, {\n variant: \"h3\",\n sx: {\n fontWeight: 800,\n color: 'white',\n fontSize: {\n xs: '1.75rem',\n md: '2rem'\n },\n mb: 1,\n letterSpacing: '-0.02em'\n },\n children: \"Enterprise Access\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 233,\n columnNumber: 21\n }, this), /*#__PURE__*/_jsxDEV(Typography, {\n variant: \"body1\",\n sx: {\n color: 'rgba(255,255,255,0.7)',\n fontSize: '1rem',\n fontWeight: 400\n },\n children: \"Secure authentication portal for authorized personnel\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 242,\n columnNumber: 21\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 219,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 214,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(AnimatePresence, {\n children: error && /*#__PURE__*/_jsxDEV(motion.div, {\n initial: {\n opacity: 0,\n y: -20,\n scale: 0.95\n },\n animate: {\n opacity: 1,\n y: 0,\n scale: 1\n },\n exit: {\n opacity: 0,\n y: -20,\n scale: 0.95\n },\n transition: {\n duration: 0.3\n },\n children: /*#__PURE__*/_jsxDEV(Alert, {\n severity: \"error\",\n sx: {\n mb: 4,\n borderRadius: 3,\n background: 'rgba(245, 34, 45, 0.15)',\n border: '1px solid rgba(245, 34, 45, 0.3)',\n '& .MuiAlert-message': {\n color: '#ff4d4f',\n fontSize: '0.875rem',\n fontWeight: 500\n },\n '& .MuiAlert-icon': {\n color: '#ff4d4f'\n }\n },\n children: error\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 261,\n columnNumber: 23\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 255,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 253,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(Box, {\n component: \"form\",\n onSubmit: handleSubmit,\n children: [/*#__PURE__*/_jsxDEV(motion.div, {\n initial: {\n opacity: 0,\n y: 10\n },\n animate: {\n opacity: 1,\n y: 0\n },\n transition: {\n duration: 0.4,\n delay: 0.8\n },\n children: /*#__PURE__*/_jsxDEV(Box, {\n sx: {\n mb: 3\n },\n children: [/*#__PURE__*/_jsxDEV(Typography, {\n variant: \"body2\",\n sx: {\n color: 'rgba(255,255,255,0.8)',\n fontSize: '0.875rem',\n fontWeight: 600,\n mb: 1.5,\n textTransform: 'uppercase',\n letterSpacing: '0.5px'\n },\n children: \"Username\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 292,\n columnNumber: 23\n }, this), /*#__PURE__*/_jsxDEV(TextField, {\n fullWidth: true,\n placeholder: \"Enter your enterprise username\",\n value: formData.username,\n onChange: e => handleInputChange('username', e.target.value),\n required: true,\n sx: {\n '& .MuiOutlinedInput-root': {\n background: 'rgba(255, 255, 255, 0.05)',\n borderRadius: 4,\n border: '2px solid rgba(255, 255, 255, 0.1)',\n transition: 'all 0.3s ease',\n '& fieldset': {\n border: 'none'\n },\n '&:hover': {\n background: 'rgba(255, 255, 255, 0.08)',\n border: '2px solid rgba(24, 144, 255, 0.4)',\n boxShadow: '0 4px 20px rgba(24, 144, 255, 0.15)'\n },\n '&.Mui-focused': {\n background: 'rgba(255, 255, 255, 0.1)',\n border: '2px solid rgba(24, 144, 255, 0.8)',\n boxShadow: '0 6px 30px rgba(24, 144, 255, 0.25)'\n }\n },\n '& .MuiOutlinedInput-input': {\n color: 'white',\n fontSize: '1rem',\n fontWeight: 500,\n py: 2.5,\n '&::placeholder': {\n color: 'rgba(255,255,255,0.5)',\n opacity: 1\n }\n }\n },\n InputProps: {\n startAdornment: /*#__PURE__*/_jsxDEV(InputAdornment, {\n position: \"start\",\n children: /*#__PURE__*/_jsxDEV(Person, {\n sx: {\n color: 'rgba(255,255,255,0.6)',\n fontSize: '1.5rem'\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 342,\n columnNumber: 31\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 341,\n columnNumber: 29\n }, this)\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 302,\n columnNumber: 23\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 291,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 286,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(motion.div, {\n initial: {\n opacity: 0,\n y: 10\n },\n animate: {\n opacity: 1,\n y: 0\n },\n transition: {\n duration: 0.4,\n delay: 1.0\n },\n children: /*#__PURE__*/_jsxDEV(Box, {\n sx: {\n mb: 4\n },\n children: [/*#__PURE__*/_jsxDEV(Typography, {\n variant: \"body2\",\n sx: {\n color: 'rgba(255,255,255,0.8)',\n fontSize: '0.875rem',\n fontWeight: 600,\n mb: 1.5,\n textTransform: 'uppercase',\n letterSpacing: '0.5px'\n },\n children: \"Password\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 356,\n columnNumber: 23\n }, this), /*#__PURE__*/_jsxDEV(TextField, {\n fullWidth: true,\n placeholder: \"Enter your secure password\",\n type: showPassword ? 'text' : 'password',\n value: formData.password,\n onChange: e => handleInputChange('password', e.target.value),\n required: true,\n sx: {\n '& .MuiOutlinedInput-root': {\n background: 'rgba(255, 255, 255, 0.05)',\n borderRadius: 4,\n border: '2px solid rgba(255, 255, 255, 0.1)',\n transition: 'all 0.3s ease',\n '& fieldset': {\n border: 'none'\n },\n '&:hover': {\n background: 'rgba(255, 255, 255, 0.08)',\n border: '2px solid rgba(24, 144, 255, 0.4)',\n boxShadow: '0 4px 20px rgba(24, 144, 255, 0.15)'\n },\n '&.Mui-focused': {\n background: 'rgba(255, 255, 255, 0.1)',\n border: '2px solid rgba(24, 144, 255, 0.8)',\n boxShadow: '0 6px 30px rgba(24, 144, 255, 0.25)'\n }\n },\n '& .MuiOutlinedInput-input': {\n color: 'white',\n fontSize: '1rem',\n fontWeight: 500,\n py: 2.5,\n '&::placeholder': {\n color: 'rgba(255,255,255,0.5)',\n opacity: 1\n }\n }\n },\n InputProps: {\n startAdornment: /*#__PURE__*/_jsxDEV(InputAdornment, {\n position: \"start\",\n children: /*#__PURE__*/_jsxDEV(Lock, {\n sx: {\n color: 'rgba(255,255,255,0.6)',\n fontSize: '1.5rem'\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 407,\n columnNumber: 31\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 406,\n columnNumber: 29\n }, this),\n endAdornment: /*#__PURE__*/_jsxDEV(IconButton, {\n onClick: () => setShowPassword(!showPassword),\n edge: \"end\",\n sx: {\n color: 'rgba(255,255,255,0.6)',\n '&:hover': {\n color: 'rgba(255,255,255,0.9)',\n background: 'rgba(255, 255, 255, 0.1)'\n }\n },\n children: showPassword ? /*#__PURE__*/_jsxDEV(VisibilityOff, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 422,\n columnNumber: 47\n }, this) : /*#__PURE__*/_jsxDEV(Visibility, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 422,\n columnNumber: 67\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 411,\n columnNumber: 29\n }, this)\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 366,\n columnNumber: 23\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 355,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 350,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(motion.div, {\n initial: {\n opacity: 0,\n y: 10\n },\n animate: {\n opacity: 1,\n y: 0\n },\n transition: {\n duration: 0.4,\n delay: 1.2\n },\n children: /*#__PURE__*/_jsxDEV(Button, {\n type: \"submit\",\n fullWidth: true,\n variant: \"contained\",\n disabled: loading || isLoading,\n startIcon: loading || isLoading ? /*#__PURE__*/_jsxDEV(CircularProgress, {\n size: 24,\n color: \"inherit\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 440,\n columnNumber: 57\n }, this) : /*#__PURE__*/_jsxDEV(LoginIcon, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 440,\n columnNumber: 106\n }, this),\n sx: {\n py: 3,\n borderRadius: 4,\n background: 'linear-gradient(135deg, #1890ff 0%, #52c41a 100%)',\n color: 'white',\n fontWeight: 700,\n fontSize: '1.125rem',\n textTransform: 'none',\n boxShadow: '0 8px 32px rgba(24, 144, 255, 0.4)',\n border: 'none',\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(45deg, transparent 30%, rgba(255, 255, 255, 0.2) 50%, transparent 70%)',\n transform: 'translateX(-100%)',\n transition: 'transform 0.6s ease'\n },\n '&:hover': {\n background: 'linear-gradient(135deg, #40a9ff 0%, #73d13d 100%)',\n boxShadow: '0 12px 40px rgba(24, 144, 255, 0.5)',\n transform: 'translateY(-2px)',\n '&::before': {\n transform: 'translateX(100%)'\n }\n },\n '&:disabled': {\n background: 'rgba(255, 255, 255, 0.1)',\n color: 'rgba(255, 255, 255, 0.5)',\n boxShadow: 'none',\n transform: 'none'\n },\n transition: 'all 0.3s cubic-bezier(0.4, 0, 0.2, 1)'\n },\n children: loading || isLoading ? 'Authenticating...' : 'Access Enterprise Portal'\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 435,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 430,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(motion.div, {\n initial: {\n opacity: 0\n },\n animate: {\n opacity: 1\n },\n transition: {\n duration: 0.4,\n delay: 1.4\n },\n children: /*#__PURE__*/_jsxDEV(Box, {\n sx: {\n mt: 4,\n p: 3,\n background: 'rgba(255, 255, 255, 0.03)',\n borderRadius: 3,\n border: '1px solid rgba(255, 255, 255, 0.1)',\n textAlign: 'center'\n },\n children: /*#__PURE__*/_jsxDEV(Typography, {\n variant: \"caption\",\n sx: {\n color: 'rgba(255,255,255,0.6)',\n fontSize: '0.75rem',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: 1\n },\n children: [/*#__PURE__*/_jsxDEV(Security, {\n sx: {\n fontSize: '1rem'\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 507,\n columnNumber: 25\n }, this), \"This is a secure enterprise portal. All activities are monitored and logged.\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 499,\n columnNumber: 23\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 491,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 486,\n columnNumber: 19\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 285,\n columnNumber: 17\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 212,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 176,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 171,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 170,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 169,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(motion.div, {\n initial: {\n opacity: 0,\n y: 50\n },\n animate: {\n opacity: 1,\n y: 0\n },\n transition: {\n duration: 0.8,\n delay: 0.8,\n ease: [0.25, 0.46, 0.45, 0.94]\n },\n children: /*#__PURE__*/_jsxDEV(Container, {\n maxWidth: \"lg\",\n sx: {\n position: 'relative',\n zIndex: 1,\n py: 4\n },\n children: /*#__PURE__*/_jsxDEV(Grid, {\n container: true,\n spacing: 3,\n children: [{\n icon: /*#__PURE__*/_jsxDEV(Shield, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 528,\n columnNumber: 23\n }, this),\n title: 'Enterprise Security',\n desc: 'Bank-grade encryption'\n }, {\n icon: /*#__PURE__*/_jsxDEV(VerifiedUser, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 529,\n columnNumber: 23\n }, this),\n title: 'Multi-Factor Auth',\n desc: 'Advanced authentication'\n }, {\n icon: /*#__PURE__*/_jsxDEV(Key, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 530,\n columnNumber: 23\n }, this),\n title: 'SSO Integration',\n desc: 'Single sign-on ready'\n }, {\n icon: /*#__PURE__*/_jsxDEV(Security, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 531,\n columnNumber: 23\n }, this),\n title: 'Zero Trust Architecture',\n desc: 'Never trust, always verify'\n }, {\n icon: /*#__PURE__*/_jsxDEV(CheckCircle, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 532,\n columnNumber: 23\n }, this),\n title: 'Compliance Ready',\n desc: 'SOC2, ISO27001, GDPR certified'\n }, {\n icon: /*#__PURE__*/_jsxDEV(Business, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 533,\n columnNumber: 23\n }, this),\n title: 'Enterprise SSO',\n desc: 'Active Directory integration'\n }].map((feature, index) => /*#__PURE__*/_jsxDEV(Grid, {\n item: true,\n xs: 12,\n sm: 6,\n md: 4,\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.4,\n delay: 1.0 + index * 0.1\n },\n children: /*#__PURE__*/_jsxDEV(Box, {\n sx: {\n display: 'flex',\n alignItems: 'center',\n p: 3,\n background: 'rgba(255, 255, 255, 0.05)',\n borderRadius: 3,\n border: '1px solid rgba(255, 255, 255, 0.1)',\n transition: 'all 0.3s ease',\n height: '100%',\n '&:hover': {\n background: 'rgba(255, 255, 255, 0.08)',\n border: '1px solid rgba(255, 255, 255, 0.2)',\n transform: 'translateY(-4px)',\n boxShadow: '0 8px 24px rgba(0, 0, 0, 0.2)'\n }\n },\n children: [/*#__PURE__*/_jsxDEV(Box, {\n sx: {\n color: colors.primary[400],\n mr: 2,\n display: 'flex',\n alignItems: 'center'\n },\n children: feature.icon\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 557,\n columnNumber: 21\n }, this), /*#__PURE__*/_jsxDEV(Box, {\n children: [/*#__PURE__*/_jsxDEV(Typography, {\n variant: \"body1\",\n sx: {\n fontWeight: 600,\n color: 'white',\n fontSize: '0.875rem',\n mb: 0.5\n },\n children: feature.title\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 566,\n columnNumber: 23\n }, this), /*#__PURE__*/_jsxDEV(Typography, {\n variant: \"caption\",\n sx: {\n color: 'rgba(255,255,255,0.6)',\n fontSize: '0.75rem'\n },\n children: feature.desc\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 574,\n columnNumber: 23\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 565,\n columnNumber: 21\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 541,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 536,\n columnNumber: 17\n }, this)\n }, index, false, {\n fileName: _jsxFileName,\n lineNumber: 535,\n columnNumber: 15\n }, this))\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 526,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 525,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 520,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 77,\n columnNumber: 5\n }, this);\n};\n_s(Login, \"hh72xqYe9JLbdBgL0Zabc7AXTCs=\", false, function () {\n return [useAuth];\n});\n_c = Login;\nexport default Login;\nvar _c;\n$RefreshReg$(_c, \"Login\");","map":{"version":3,"names":["React","useState","Box","TextField","Button","Typography","Alert","CircularProgress","Container","Avatar","Grid","IconButton","InputAdornment","Security","Person","Lock","Visibility","VisibilityOff","Shield","Business","VerifiedUser","Key","Login","LoginIcon","CheckCircle","useAuth","motion","AnimatePresence","colors","jsxDEV","_jsxDEV","_s","formData","setFormData","username","password","error","setError","showPassword","setShowPassword","isLoading","setIsLoading","login","loading","handleInputChange","field","value","prev","handleSubmit","e","preventDefault","result","success","sx","minHeight","display","flexDirection","background","position","overflow","content","top","left","right","bottom","zIndex","children","div","initial","opacity","y","animate","transition","duration","ease","maxWidth","py","textAlign","alignItems","justifyContent","mb","width","xs","sm","md","height","gradients","primary","mr","fontSize","fileName","_jsxFileName","lineNumber","columnNumber","variant","fontWeight","color","mx","lineHeight","flex","scale","delay","backdropFilter","border","borderRadius","boxShadow","p","letterSpacing","exit","severity","component","onSubmit","textTransform","fullWidth","placeholder","onChange","target","required","InputProps","startAdornment","type","endAdornment","onClick","edge","disabled","startIcon","size","transform","mt","gap","container","spacing","icon","title","desc","map","feature","index","item","_c","$RefreshReg$"],"sources":["/home/gnx/Desktop/ETB/ETB-FrontEnd/src/components/Auth/Login.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport {\n Box,\n TextField,\n Button,\n Typography,\n Alert,\n CircularProgress,\n Container,\n Avatar,\n Grid,\n IconButton,\n InputAdornment,\n} from '@mui/material';\nimport {\n Security,\n Person,\n Lock,\n Visibility,\n VisibilityOff,\n Shield,\n Business,\n VerifiedUser,\n Key,\n Login as LoginIcon,\n CheckCircle,\n} from '@mui/icons-material';\nimport { useAuth } from './AuthContext';\nimport { motion, AnimatePresence } from 'framer-motion';\nimport { glassShadows, colors } from '../../theme/theme';\n\ninterface FormData {\n username: string;\n password: string;\n}\n\n\nconst Login: React.FC = () => {\n const [formData, setFormData] = useState<FormData>({\n username: '',\n password: ''\n });\n const [error, setError] = useState<string>('');\n const [showPassword, setShowPassword] = useState<boolean>(false);\n const [isLoading, setIsLoading] = useState<boolean>(false);\n const { login, loading } = useAuth();\n\n const handleInputChange = (field: keyof FormData, value: string): void => {\n setFormData(prev => ({\n ...prev,\n [field]: value\n }));\n setError('');\n };\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>): Promise<void> => {\n e.preventDefault();\n setError('');\n setIsLoading(true);\n\n if (!formData.username || !formData.password) {\n setError('Please enter both username and password');\n setIsLoading(false);\n return;\n }\n\n const result = await login(formData.username, formData.password);\n if (!result.success) {\n setError(result.error || 'Login failed');\n }\n setIsLoading(false);\n };\n\n\n\n return (\n <Box\n sx={{\n minHeight: '100vh',\n display: 'flex',\n flexDirection: 'column',\n background: 'linear-gradient(135deg, #0f1419 0%, #1a2332 50%, #0f1419 100%)',\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: `\n radial-gradient(circle at 20% 80%, rgba(24, 144, 255, 0.1) 0%, transparent 50%),\n radial-gradient(circle at 80% 20%, rgba(82, 196, 26, 0.1) 0%, transparent 50%),\n radial-gradient(circle at 40% 40%, rgba(114, 46, 209, 0.1) 0%, transparent 50%)\n `,\n zIndex: 0,\n },\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n background: 'url(\"data:image/svg+xml,%3Csvg width=\"60\" height=\"60\" viewBox=\"0 0 60 60\" xmlns=\"http://www.w3.org/2000/svg\"%3E%3Cg fill=\"none\" fill-rule=\"evenodd\"%3E%3Cg fill=\"%23ffffff\" fill-opacity=\"0.02\"%3E%3Ccircle cx=\"30\" cy=\"30\" r=\"1\"/%3E%3C/g%3E%3C/g%3E%3C/svg%3E\")',\n zIndex: 0,\n },\n }}\n >\n {/* Top Section - ETB Enterprise Branding */}\n <motion.div\n initial={{ opacity: 0, y: -50 }}\n animate={{ opacity: 1, y: 0 }}\n transition={{ duration: 0.8, ease: [0.25, 0.46, 0.45, 0.94] }}\n >\n <Container maxWidth=\"lg\" sx={{ position: 'relative', zIndex: 1, py: 4 }}>\n <Box sx={{ textAlign: 'center' }}>\n <Box sx={{ display: 'flex', alignItems: 'center', justifyContent: 'center', mb: 3 }}>\n <Avatar sx={{ \n width: { xs: 56, sm: 64, md: 72 }, \n height: { xs: 56, sm: 64, md: 72 },\n background: colors.gradients.primary,\n mr: 3,\n }}>\n <Business sx={{ fontSize: { xs: '1.75rem', sm: '2rem', md: '2.25rem' } }} />\n </Avatar>\n <Box>\n <Typography variant=\"h3\" sx={{ \n fontWeight: 800,\n color: 'white',\n fontSize: { xs: '1.75rem', sm: '2rem', md: '2.25rem' },\n mb: 0.5,\n }}>\n ETB Enterprise\n </Typography>\n <Typography variant=\"h6\" sx={{ \n color: 'rgba(255,255,255,0.8)',\n fontSize: { xs: '1rem', sm: '1.125rem' },\n fontWeight: 500,\n }}>\n Enterprise IT Services Platform\n </Typography>\n </Box>\n </Box>\n \n <Typography variant=\"h4\" sx={{ \n fontWeight: 700,\n color: 'white',\n fontSize: { xs: '1.5rem', sm: '1.75rem', md: '2rem' },\n mb: 2,\n }}>\n Secure Enterprise Access\n </Typography>\n <Typography variant=\"body1\" sx={{ \n color: 'rgba(255,255,255,0.7)',\n fontSize: { xs: '0.875rem', sm: '1rem' },\n maxWidth: '800px',\n mx: 'auto',\n lineHeight: 1.6,\n }}>\n Access your enterprise IT services platform with enterprise-grade security and advanced authentication protocols.\n </Typography>\n </Box>\n </Container>\n </motion.div>\n\n {/* Middle Section - Enterprise Login Container */}\n <Box sx={{ flex: 1, display: 'flex', alignItems: 'center', justifyContent: 'center' }}>\n <Container maxWidth=\"md\" sx={{ position: 'relative', zIndex: 1 }}>\n <motion.div\n initial={{ opacity: 0, y: 50, scale: 0.9 }}\n animate={{ opacity: 1, y: 0, scale: 1 }}\n transition={{ duration: 1.2, delay: 0.4, ease: [0.25, 0.46, 0.45, 0.94] }}\n >\n <Box sx={{\n background: 'linear-gradient(145deg, rgba(15, 20, 25, 0.95) 0%, rgba(26, 35, 50, 0.95) 100%)',\n backdropFilter: 'blur(30px)',\n border: '1px solid rgba(255, 255, 255, 0.1)',\n borderRadius: 6,\n boxShadow: `\n 0 25px 80px rgba(0, 0, 0, 0.4),\n 0 10px 40px rgba(0, 0, 0, 0.2),\n inset 0 1px 0 rgba(255, 255, 255, 0.1)\n `,\n overflow: 'hidden',\n position: 'relative',\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n height: 4,\n background: 'linear-gradient(90deg, #1890ff 0%, #52c41a 50%, #722ed1 100%)',\n zIndex: 1,\n },\n '&::after': {\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(82, 196, 26, 0.1) 0%, transparent 50%)\n `,\n zIndex: 0,\n },\n }}>\n <Box sx={{ p: 5, position: 'relative', zIndex: 1 }}>\n {/* Enterprise Header */}\n <motion.div\n initial={{ opacity: 0, y: 20 }}\n animate={{ opacity: 1, y: 0 }}\n transition={{ duration: 0.6, delay: 0.6 }}\n >\n <Box sx={{ textAlign: 'center', mb: 4 }}>\n <Box sx={{ \n display: 'inline-flex', \n alignItems: 'center', \n justifyContent: 'center',\n width: 80,\n height: 80,\n borderRadius: '50%',\n background: 'linear-gradient(135deg, #1890ff 0%, #52c41a 100%)',\n mb: 3,\n boxShadow: '0 8px 32px rgba(24, 144, 255, 0.3)',\n }}>\n <Shield sx={{ fontSize: '2rem', color: 'white' }} />\n </Box>\n <Typography variant=\"h3\" sx={{ \n fontWeight: 800,\n color: 'white',\n fontSize: { xs: '1.75rem', md: '2rem' },\n mb: 1,\n letterSpacing: '-0.02em',\n }}>\n Enterprise Access\n </Typography>\n <Typography variant=\"body1\" sx={{ \n color: 'rgba(255,255,255,0.7)',\n fontSize: '1rem',\n fontWeight: 400,\n }}>\n Secure authentication portal for authorized personnel\n </Typography>\n </Box>\n </motion.div>\n\n {/* Error Alert */}\n <AnimatePresence>\n {error && (\n <motion.div\n initial={{ opacity: 0, y: -20, scale: 0.95 }}\n animate={{ opacity: 1, y: 0, scale: 1 }}\n exit={{ opacity: 0, y: -20, scale: 0.95 }}\n transition={{ duration: 0.3 }}\n >\n <Alert \n severity=\"error\" \n sx={{ \n mb: 4,\n borderRadius: 3,\n background: 'rgba(245, 34, 45, 0.15)',\n border: '1px solid rgba(245, 34, 45, 0.3)',\n '& .MuiAlert-message': {\n color: '#ff4d4f',\n fontSize: '0.875rem',\n fontWeight: 500,\n },\n '& .MuiAlert-icon': {\n color: '#ff4d4f',\n },\n }}\n >\n {error}\n </Alert>\n </motion.div>\n )}\n </AnimatePresence>\n\n {/* Enterprise Login Form */}\n <Box component=\"form\" onSubmit={handleSubmit}>\n <motion.div\n initial={{ opacity: 0, y: 10 }}\n animate={{ opacity: 1, y: 0 }}\n transition={{ duration: 0.4, delay: 0.8 }}\n >\n <Box sx={{ mb: 3 }}>\n <Typography variant=\"body2\" sx={{ \n color: 'rgba(255,255,255,0.8)',\n fontSize: '0.875rem',\n fontWeight: 600,\n mb: 1.5,\n textTransform: 'uppercase',\n letterSpacing: '0.5px',\n }}>\n Username\n </Typography>\n <TextField\n fullWidth\n placeholder=\"Enter your enterprise username\"\n value={formData.username}\n onChange={(e) => handleInputChange('username', e.target.value)}\n required\n sx={{ \n '& .MuiOutlinedInput-root': {\n background: 'rgba(255, 255, 255, 0.05)',\n borderRadius: 4,\n border: '2px solid rgba(255, 255, 255, 0.1)',\n transition: 'all 0.3s ease',\n '& fieldset': {\n border: 'none',\n },\n '&:hover': {\n background: 'rgba(255, 255, 255, 0.08)',\n border: '2px solid rgba(24, 144, 255, 0.4)',\n boxShadow: '0 4px 20px rgba(24, 144, 255, 0.15)',\n },\n '&.Mui-focused': {\n background: 'rgba(255, 255, 255, 0.1)',\n border: '2px solid rgba(24, 144, 255, 0.8)',\n boxShadow: '0 6px 30px rgba(24, 144, 255, 0.25)',\n },\n },\n '& .MuiOutlinedInput-input': {\n color: 'white',\n fontSize: '1rem',\n fontWeight: 500,\n py: 2.5,\n '&::placeholder': {\n color: 'rgba(255,255,255,0.5)',\n opacity: 1,\n },\n },\n }}\n InputProps={{\n startAdornment: (\n <InputAdornment position=\"start\">\n <Person sx={{ color: 'rgba(255,255,255,0.6)', fontSize: '1.5rem' }} />\n </InputAdornment>\n )\n }}\n />\n </Box>\n </motion.div>\n \n <motion.div\n initial={{ opacity: 0, y: 10 }}\n animate={{ opacity: 1, y: 0 }}\n transition={{ duration: 0.4, delay: 1.0 }}\n >\n <Box sx={{ mb: 4 }}>\n <Typography variant=\"body2\" sx={{ \n color: 'rgba(255,255,255,0.8)',\n fontSize: '0.875rem',\n fontWeight: 600,\n mb: 1.5,\n textTransform: 'uppercase',\n letterSpacing: '0.5px',\n }}>\n Password\n </Typography>\n <TextField\n fullWidth\n placeholder=\"Enter your secure password\"\n type={showPassword ? 'text' : 'password'}\n value={formData.password}\n onChange={(e) => handleInputChange('password', e.target.value)}\n required\n sx={{ \n '& .MuiOutlinedInput-root': {\n background: 'rgba(255, 255, 255, 0.05)',\n borderRadius: 4,\n border: '2px solid rgba(255, 255, 255, 0.1)',\n transition: 'all 0.3s ease',\n '& fieldset': {\n border: 'none',\n },\n '&:hover': {\n background: 'rgba(255, 255, 255, 0.08)',\n border: '2px solid rgba(24, 144, 255, 0.4)',\n boxShadow: '0 4px 20px rgba(24, 144, 255, 0.15)',\n },\n '&.Mui-focused': {\n background: 'rgba(255, 255, 255, 0.1)',\n border: '2px solid rgba(24, 144, 255, 0.8)',\n boxShadow: '0 6px 30px rgba(24, 144, 255, 0.25)',\n },\n },\n '& .MuiOutlinedInput-input': {\n color: 'white',\n fontSize: '1rem',\n fontWeight: 500,\n py: 2.5,\n '&::placeholder': {\n color: 'rgba(255,255,255,0.5)',\n opacity: 1,\n },\n },\n }}\n InputProps={{\n startAdornment: (\n <InputAdornment position=\"start\">\n <Lock sx={{ color: 'rgba(255,255,255,0.6)', fontSize: '1.5rem' }} />\n </InputAdornment>\n ),\n endAdornment: (\n <IconButton\n onClick={() => setShowPassword(!showPassword)}\n edge=\"end\"\n sx={{ \n color: 'rgba(255,255,255,0.6)',\n '&:hover': {\n color: 'rgba(255,255,255,0.9)',\n background: 'rgba(255, 255, 255, 0.1)',\n },\n }}\n >\n {showPassword ? <VisibilityOff /> : <Visibility />}\n </IconButton>\n )\n }}\n />\n </Box>\n </motion.div>\n \n <motion.div\n initial={{ opacity: 0, y: 10 }}\n animate={{ opacity: 1, y: 0 }}\n transition={{ duration: 0.4, delay: 1.2 }}\n >\n <Button\n type=\"submit\"\n fullWidth\n variant=\"contained\"\n disabled={loading || isLoading}\n startIcon={loading || isLoading ? <CircularProgress size={24} color=\"inherit\" /> : <LoginIcon />}\n sx={{ \n py: 3,\n borderRadius: 4,\n background: 'linear-gradient(135deg, #1890ff 0%, #52c41a 100%)',\n color: 'white',\n fontWeight: 700,\n fontSize: '1.125rem',\n textTransform: 'none',\n boxShadow: '0 8px 32px rgba(24, 144, 255, 0.4)',\n border: 'none',\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(45deg, transparent 30%, rgba(255, 255, 255, 0.2) 50%, transparent 70%)',\n transform: 'translateX(-100%)',\n transition: 'transform 0.6s ease',\n },\n '&:hover': {\n background: 'linear-gradient(135deg, #40a9ff 0%, #73d13d 100%)',\n boxShadow: '0 12px 40px rgba(24, 144, 255, 0.5)',\n transform: 'translateY(-2px)',\n '&::before': {\n transform: 'translateX(100%)',\n },\n },\n '&:disabled': {\n background: 'rgba(255, 255, 255, 0.1)',\n color: 'rgba(255, 255, 255, 0.5)',\n boxShadow: 'none',\n transform: 'none',\n },\n transition: 'all 0.3s cubic-bezier(0.4, 0, 0.2, 1)',\n }}\n >\n {loading || isLoading ? 'Authenticating...' : 'Access Enterprise Portal'}\n </Button>\n </motion.div>\n\n {/* Security Notice */}\n <motion.div\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n transition={{ duration: 0.4, delay: 1.4 }}\n >\n <Box sx={{ \n mt: 4, \n p: 3, \n background: 'rgba(255, 255, 255, 0.03)',\n borderRadius: 3,\n border: '1px solid rgba(255, 255, 255, 0.1)',\n textAlign: 'center',\n }}>\n <Typography variant=\"caption\" sx={{ \n color: 'rgba(255,255,255,0.6)',\n fontSize: '0.75rem',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: 1,\n }}>\n <Security sx={{ fontSize: '1rem' }} />\n This is a secure enterprise portal. All activities are monitored and logged.\n </Typography>\n </Box>\n </motion.div>\n </Box>\n </Box>\n </Box>\n </motion.div>\n </Container>\n </Box>\n\n {/* Bottom Section - Security Features */}\n <motion.div\n initial={{ opacity: 0, y: 50 }}\n animate={{ opacity: 1, y: 0 }}\n transition={{ duration: 0.8, delay: 0.8, ease: [0.25, 0.46, 0.45, 0.94] }}\n >\n <Container maxWidth=\"lg\" sx={{ position: 'relative', zIndex: 1, py: 4 }}>\n <Grid container spacing={3}>\n {[\n { icon: <Shield />, title: 'Enterprise Security', desc: 'Bank-grade encryption' },\n { icon: <VerifiedUser />, title: 'Multi-Factor Auth', desc: 'Advanced authentication' },\n { icon: <Key />, title: 'SSO Integration', desc: 'Single sign-on ready' },\n { icon: <Security />, title: 'Zero Trust Architecture', desc: 'Never trust, always verify' },\n { icon: <CheckCircle />, title: 'Compliance Ready', desc: 'SOC2, ISO27001, GDPR certified' },\n { icon: <Business />, title: 'Enterprise SSO', desc: 'Active Directory integration' },\n ].map((feature, index) => (\n <Grid item xs={12} sm={6} md={4} key={index}>\n <motion.div\n initial={{ opacity: 0, y: 20 }}\n animate={{ opacity: 1, y: 0 }}\n transition={{ duration: 0.4, delay: 1.0 + index * 0.1 }}\n >\n <Box sx={{\n display: 'flex',\n alignItems: 'center',\n p: 3,\n background: 'rgba(255, 255, 255, 0.05)',\n borderRadius: 3,\n border: '1px solid rgba(255, 255, 255, 0.1)',\n transition: 'all 0.3s ease',\n height: '100%',\n '&:hover': {\n background: 'rgba(255, 255, 255, 0.08)',\n border: '1px solid rgba(255, 255, 255, 0.2)',\n transform: 'translateY(-4px)',\n boxShadow: '0 8px 24px rgba(0, 0, 0, 0.2)',\n }\n }}>\n <Box sx={{ \n color: colors.primary[400], \n mr: 2,\n display: 'flex',\n alignItems: 'center',\n }}>\n {feature.icon}\n </Box>\n <Box>\n <Typography variant=\"body1\" sx={{ \n fontWeight: 600,\n color: 'white',\n fontSize: '0.875rem',\n mb: 0.5,\n }}>\n {feature.title}\n </Typography>\n <Typography variant=\"caption\" sx={{ \n color: 'rgba(255,255,255,0.6)',\n fontSize: '0.75rem',\n }}>\n {feature.desc}\n </Typography>\n </Box>\n </Box>\n </motion.div>\n </Grid>\n ))}\n </Grid>\n </Container>\n </motion.div>\n </Box>\n );\n};\n\nexport default Login;"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} |