import React, { useState } from 'react'; import { useNavigate } from 'react-router-dom'; import { login } from '../api'; import { useAuth } from '../auth/AuthContext'; import { PasswordInput } from '../components/PasswordInput'; import bokBadge from '../assets/bok-removebg.png'; export const LoginPage: React.FC = () => { const [username, setUsername] = useState(''); const [password, setPassword] = useState(''); const [error, setError] = useState(null); const [busy, setBusy] = useState(false); const { refresh } = useAuth(); const navigate = useNavigate(); const onSubmit = async (e: React.FormEvent) => { e.preventDefault(); setError(null); setBusy(true); try { const user = await login({ username, password }); await refresh(); navigate(user.mustChangePassword ? '/change-password' : '/dashboard', { replace: true }); } catch (err) { setError(err instanceof Error ? err.message : '로그인 실패'); } finally { setBusy(false); } }; return (

IT센터 출입자관리

시스템에 로그인하세요

{error &&
{error}
}

테스트 계정: a(관리자) / s(보안) / h(호스트) · 비밀번호 1

); };