'use client'; import { useState } from 'react'; import { motion, AnimatePresence } from 'framer-motion'; export default function Contact() { const [formData, setFormData] = useState({ firstName: '', lastName: '', email: '', phone: '', message: '', }); const [status, setStatus] = useState<'idle' | 'submitting' | 'success' | 'error'>('idle'); const [errorMessage, setErrorMessage] = useState(''); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setStatus('submitting'); setErrorMessage(''); const form = e.currentTarget; const formDataObj = new FormData(form); try { const response = await fetch(form.action, { method: form.method, body: formDataObj, headers: { 'Accept': 'application/json', }, }); if (response.ok) { setStatus('success'); setFormData({ firstName: '', lastName: '', email: '', phone: '', message: '', }); form.reset(); // Reset success message after 6 seconds setTimeout(() => { setStatus('idle'); }, 6000); } else { const responseData = await response.json(); if (responseData.errors) { setErrorMessage(responseData.errors.map((error: { message: string }) => error.message).join(', ')); } else { setErrorMessage('Oops! There was a problem submitting your form. Please try again.'); } setStatus('error'); } } catch (error) { console.error('Form submission error:', error); setErrorMessage('Oops! There was a problem submitting your form. Please check your connection and try again.'); setStatus('error'); } }; const handleChange = (e: React.ChangeEvent) => { setFormData({ ...formData, [e.target.name]: e.target.value, }); }; return (

Contact Me

I'm here for you!

I'm available for both private sessions as well as public speaking arrangements and tailored workshops. Contact me directly for more detailed information and a non-commitment quote.

{status === 'success' ? ( {/* Animated background circles */} {/* Success icon with multiple animations */} {/* Confetti effect using dots */} {[...Array(12)].map((_, i) => ( ))} Thank you for your message! I'll get back to you soon. {/* Subtle pulse animation */} ) : (