'use client'; import React, { useState } from 'react'; import { useTranslations } from 'next-intl'; import { Button, Heading, Card, Input, Textarea, Label } from '@/components/ui'; import { sendContactFormAction } from '@/app/actions/contact'; import { useAnalytics } from '@/components/analytics/useAnalytics'; export default function ContactForm() { const t = useTranslations('Contact'); const { trackEvent } = useAnalytics(); const [status, setStatus] = useState<'idle' | 'submitting' | 'success' | 'error'>('idle'); async function handleSubmit(e: React.FormEvent) { e.preventDefault(); setStatus('submitting'); const formData = new FormData(e.currentTarget); try { const result = await sendContactFormAction(formData); if (result.success) { trackEvent('contact_form_submission', { form_type: 'general', email: formData.get('email') as string, }); setStatus('success'); (e.target as HTMLFormElement).reset(); } else { setStatus('error'); } } catch (error) { console.error('Form submission error:', error); setStatus('error'); } } if (status === 'success') { return (
{t('form.successTitle') || 'Message Sent!'}

{t('form.successDesc') || 'Thank you for your message. We will get back to you as soon as possible.'}

); } return ( {t('form.title')}