import React, { useState } from 'react'; import PublicNavbar from '../components/PublicNavbar'; import PublicFooter from '../components/PublicFooter'; import { Button } from '../components/ui/button'; import { Card } from '../components/ui/card'; import { Input } from '../components/ui/input'; import { Label } from '../components/ui/label'; import { Textarea } from '../components/ui/textarea'; import { Checkbox } from '../components/ui/checkbox'; import { Mail, MapPin, Loader2 } from 'lucide-react'; import api from '../utils/api'; import { toast } from 'sonner'; const ContactUs = () => { const [formData, setFormData] = useState({ firstName: '', lastName: '', email: '', subject: '', message: '', consent: false }); const [loading, setLoading] = useState(false); const handleChange = (e) => { const { name, value } = e.target; setFormData(prev => ({ ...prev, [name]: value })); }; const handleConsentChange = (checked) => { setFormData(prev => ({ ...prev, consent: checked })); }; const handleSubmit = async (e) => { e.preventDefault(); // Validation if (!formData.firstName.trim()) { toast.error('Please enter your first name'); return; } if (!formData.lastName.trim()) { toast.error('Please enter your last name'); return; } if (!formData.email.trim()) { toast.error('Please enter your email'); return; } if (!formData.subject.trim()) { toast.error('Please enter a subject'); return; } if (!formData.message.trim()) { toast.error('Please enter your message'); return; } if (!formData.consent) { toast.error('Please consent to LOAF storing your information'); return; } setLoading(true); try { await api.post('/contact', { first_name: formData.firstName, last_name: formData.lastName, email: formData.email, subject: formData.subject, message: formData.message }); toast.success('Message sent successfully! We\'ll get back to you soon.'); // Reset form setFormData({ firstName: '', lastName: '', email: '', subject: '', message: '', consent: false }); } catch (error) { console.error('Failed to send message:', error); toast.error(error.response?.data?.detail || 'Failed to send message. Please try again.'); } finally { setLoading(false); } }; return (
{/* Contact Form */}

Contact Form

{/* First Name & Last Name */}
{/* Email */}
{/* Subject */}
{/* Message */}