import { useState, useEffect } from 'react' import { useNavigate } from 'react-router-dom' import { useAuth } from '../contexts/AuthContext' import { Box, Container, TextField, Button, Typography, Link, Paper, IconButton, InputAdornment, Checkbox, FormControlLabel, Select, MenuItem, Avatar, Stack, Divider } from '@mui/material' import { Visibility, VisibilityOff, Language, HelpOutline, KeyboardArrowDown } from '@mui/icons-material' const LoginPage = () => { const [email, setEmail] = useState('') const [password, setPassword] = useState('') const [showPassword, setShowPassword] = useState(false) const [isLoading, setIsLoading] = useState(false) const [rememberMe, setRememberMe] = useState(false) const [language, setLanguage] = useState('ko') const { login, user } = useAuth() const navigate = useNavigate() useEffect(() => { if (user) { navigate('/dashboard') } }, [user, navigate]) const handleSubmit = async (e: React.FormEvent) => { e.preventDefault() setIsLoading(true) try { await login(email, password) if (rememberMe) { localStorage.setItem('last_user_email', email) } } catch (error) { console.error('Login error:', error) } finally { setIsLoading(false) } } return ( {/* Logo and Title */} AiMond AiMond Account로 로그인 {/* Login Form */}
setEmail(e.target.value)} placeholder="이메일" required sx={{ mb: 2, '& .MuiOutlinedInput-root': { '&:hover fieldset': { borderColor: '#1976d2', }, }, }} size="medium" autoComplete="email" /> 비밀번호를 잊으셨나요? setPassword(e.target.value)} placeholder="비밀번호를 입력하세요" required sx={{ mb: 1 }} size="medium" InputProps={{ endAdornment: ( setShowPassword(!showPassword)} edge="end" size="small" > {showPassword ? : } ), }} /> setRememberMe(e.target.checked)} size="small" sx={{ color: '#5f6368' }} /> } label={ 로그인 상태 유지 } sx={{ mb: 4 }} /> 하나의 AiMond 계정으로 모든 AiMond 서비스를 이용하실 수 있습니다 {/* Service Icons */} A M D S C 계정 만들기
{/* Language Selection Link */} 도움말개인정보처리방침약관
{/* Footer */} 도움말 개인정보처리방침 약관
) } export default LoginPage