import { useState } from 'react' import { useNavigate } from 'react-router-dom' import { login } from '../api/client' export default function Login() { const navigate = useNavigate() const [username, setUsername] = useState('') const [password, setPassword] = useState('') const [error, setError] = useState('') const [loading, setLoading] = useState(false) async function handleSubmit(e: React.FormEvent) { e.preventDefault() setLoading(true) setError('') try { const res = await login(username, password) const token = res.data?.data?.token if (!token) throw new Error('토큰 없음') localStorage.setItem('esn_token', token) navigate('/dashboard') } catch { setError('로그인 실패: 아이디/비밀번호를 확인하세요.') } finally { setLoading(false) } } return (

zioinfo-esn

ESL 통합 관리 플랫폼

setUsername(e.target.value)} placeholder="admin" className="w-full bg-panel border border-edge rounded px-3 py-2 text-sm text-white placeholder-gray-600 focus:border-brand focus:outline-none" />
setPassword(e.target.value)} placeholder="••••••••" className="w-full bg-panel border border-edge rounded px-3 py-2 text-sm text-white placeholder-gray-600 focus:border-brand focus:outline-none" />
{error &&

{error}

}
) }