"use client" import { useState } from "react" import { useRouter } from "next/navigation" export default function GuessForm({ photoId }: { photoId: string }) { const router = useRouter() const [guessText, setGuessText] = useState("") const [error, setError] = useState("") const [loading, setLoading] = useState(false) const handleSubmit = async (e: React.FormEvent) => { e.preventDefault() setError("") if (!guessText.trim()) { setError("Please enter a guess") return } setLoading(true) try { const response = await fetch(`/api/photos/${photoId}/guess`, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ guessText: guessText.trim() }), }) const data = await response.json() if (!response.ok) { setError(data.error || "Failed to submit guess") } else { router.refresh() } } catch { setError("An error occurred. Please try again.") } finally { setLoading(false) } } return (
setGuessText(e.target.value)} placeholder="Enter your guess..." className="mt-1 block w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm bg-white text-gray-900 focus:outline-none focus:ring-purple-500 focus:border-purple-500" />
{error && (

{error}

)}
) }