'use client' import { useState } from 'react'; import { Button } from '@/components/ui/button'; export default function ContactForm() { const [formData, setFormData] = useState({ name: '', email: '', message: '', }); const [status, setStatus] = useState<'idle' | 'loading' | 'success' | 'error'>('idle'); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setStatus('loading'); try { const response = await fetch('/api/contact', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(formData), }); if (!response.ok) throw new Error('Failed to send message'); setStatus('success'); setFormData({ name: '', email: '', message: '' }); setTimeout(() => setStatus('idle'), 3000); } catch (_error) { setStatus('error'); setTimeout(() => setStatus('idle'), 3000); } }; const handleChange = (e: React.ChangeEvent) => { setFormData(prev => ({ ...prev, [e.target.name]: e.target.value, })); }; return (