'use client' import { useState, useEffect } from 'react' import { useRouter } from 'next/navigation' export default function AdminLoginPage() { const router = useRouter() const [password, setPassword] = useState('') const [error, setError] = useState('') const [loading, setLoading] = useState(false) useEffect(() => { // Check if already authenticated fetch('/api/admin/check') .then((res) => res.json()) .then((data) => { if (data.authenticated) { router.push('/admin') } }) }, [router]) const handleSubmit = async (e: React.FormEvent) => { e.preventDefault() setError('') setLoading(true) try { const response = await fetch('/api/admin/login', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ password }), }) const data = await response.json() if (response.ok) { router.push('/admin') } else { setError(data.error || 'Invalid password') } } catch (error) { setError('Failed to login. Please try again.') } finally { setLoading(false) } } return (

Admin Login

setPassword(e.target.value)} required style={{ width: '100%', padding: '12px', borderRadius: '8px', border: '1px solid var(--border)', background: 'var(--bg-soft)', color: 'var(--text)', fontSize: '16px' }} />
{error && (
{error}
)}
) }