'use client' import { useState } from 'react' import { Send } from 'lucide-react' interface ContactFormData { name: string email: string phone: string company: string message: string } export default function ContactForm() { const [formData, setFormData] = useState({ name: '', email: '', phone: '', company: '', message: '' }) const [isSubmitting, setIsSubmitting] = useState(false) const [submitStatus, setSubmitStatus] = useState<'idle' | 'success' | 'error'>('idle') const handleSubmit = async (e: React.FormEvent) => { e.preventDefault() setIsSubmitting(true) setSubmitStatus('idle') try { const apiUrl = process.env.NEXT_PUBLIC_API_URL || 'http://localhost:8000' const response = await fetch(`${apiUrl}/api/v1/contact`, { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(formData), }) if (response.ok) { setSubmitStatus('success') setFormData({ name: '', email: '', phone: '', company: '', message: '' }) } else { setSubmitStatus('error') } } catch (error) { setSubmitStatus('error') } finally { setIsSubmitting(false) } } return (
setFormData({ ...formData, name: e.target.value })} placeholder="Иван Иванов" />
setFormData({ ...formData, email: e.target.value })} placeholder="ivan@company.com" />
setFormData({ ...formData, phone: e.target.value })} placeholder="+7 (999) 123-45-67" />
setFormData({ ...formData, company: e.target.value })} placeholder="Название компании" />