import { IconCircleCheck as CheckCircle, IconLoader2 as Loader2, IconSend as Send, } from '@tabler/icons-react'; import { useMutation } from '@tanstack/react-query'; import { useState } from 'react'; import { Nav } from '@/components/Nav'; import { SEO } from '@/components/SEO'; import FooterSection from '@/components/sections/footer'; import { Button } from '@/components/ui/button'; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card'; import { Input } from '@/components/ui/input'; import { Label } from '@/components/ui/label'; import { Textarea } from '@/components/ui/textarea'; import { apiJson } from '@/lib/api'; interface ContactForm { name: string; email: string; subject: string; message: string; } export function submitContactForm(form: ContactForm) { return apiJson('/api/v1/contact/submit', { method: 'POST', body: form }, 'Failed to submit'); } export default function Contact() { const [name, setName] = useState(''); const [email, setEmail] = useState(''); const [subject, setSubject] = useState(''); const [message, setMessage] = useState(''); const submitMutation = useMutation({ mutationFn: () => submitContactForm({ name, email, subject, message }), onSuccess: () => { setName(''); setEmail(''); setSubject(''); setMessage(''); }, }); return (
Thank you for reaching out. We'll get back to you as soon as possible.