'use client'; import React, { useState } from 'react'; import { useTranslations } from 'next-intl'; import { Input, Textarea, Button } from '@/components/ui'; import { sendContactFormAction } from '@/app/actions/contact'; import { useAnalytics } from '@/components/analytics/useAnalytics'; interface RequestQuoteFormProps { productName: string; } export default function RequestQuoteForm({ productName }: RequestQuoteFormProps) { const t = useTranslations('Products.form'); const { trackEvent } = useAnalytics(); const [email, setEmail] = useState(''); const [request, setRequest] = useState(''); const [status, setStatus] = useState<'idle' | 'submitting' | 'success' | 'error'>('idle'); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setStatus('submitting'); const formData = new FormData(); formData.append('name', 'Product Inquiry'); // Default name for product inquiries formData.append('email', email); formData.append('message', request); formData.append('productName', productName); try { const result = await sendContactFormAction(formData); if (result.success) { trackEvent('contact_form_submission', { form_type: 'product_quote', product_name: productName, email: email, }); setStatus('success'); setEmail(''); setRequest(''); } else { setStatus('error'); } } catch (error) { console.error('Form submission error:', error); setStatus('error'); } }; if (status === 'success') { return (
{t('successDesc', { productName })}