import { useRouter } from 'next/router'; import { useState } from 'react'; import PagesMetaHead from '../../components/PagesMetaHead'; import Button from '../../components/reusable/Button'; import FormInput from '../../components/reusable/FormInput'; function AdminLogin() { const router = useRouter(); const [password, setPassword] = useState(''); const [error, setError] = useState(''); const [submitting, setSubmitting] = useState(false); async function handleSubmit(event) { event.preventDefault(); if (submitting) return; setSubmitting(true); setError(''); try { const res = await fetch('/api/auth/login', { method: 'POST', headers: { 'Content-Type': 'application/json' }, credentials: 'include', body: JSON.stringify({ password }), }); if (res.status === 401) { setError('비밀번호가 올바르지 않습니다.'); return; } if (!res.ok) { setError('서버 오류로 로그인에 실패했습니다. 잠시 후 다시 시도해주세요.'); return; } router.replace('/admin'); } catch (err) { console.error('[admin login] request failed', err); setError('네트워크 오류로 로그인에 실패했습니다.'); } finally { setSubmitting(false); } } return (
포트폴리오 관리 페이지에 접근하려면 비밀번호를 입력해주세요.