'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 (