'use client' import { useState } from 'react' import { Button } from '@/components/ui/button' import { Input } from '@/components/ui/input' import { Label } from '@/components/ui/label' import { Textarea } from '@/components/ui/textarea' import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card' export default function ContactForm() { const [formData, setFormData] = useState({ name: '', email: '', message: '' }) const [status, setStatus] = useState<'idle' | 'loading' | 'success' | 'error'>('idle') const [error, setError] = useState('') const handleSubmit = async (e: React.FormEvent) => { e.preventDefault() setStatus('loading') setError('') try { const response = await fetch('/api/send-email', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(formData) }) if (!response.ok) { throw new Error('Failed to send email') } setStatus('success') setFormData({ name: '', email: '', message: '' }) } catch { setStatus('error') setError('Failed to send email. Please try again.') } } const handleChange = (e: React.ChangeEvent) => { setFormData(prev => ({ ...prev, [e.target.name]: e.target.value })) } return (
Contact Us Send us a message and we'll get back to you.