'use client' import { AnimatePresence, motion } from 'framer-motion' import { useState, type ChangeEvent, type FormEvent } from 'react' import emailjs from '@emailjs/browser' import { CheckCircle, Send, X } from 'lucide-react' interface ContactFormProps { isOpen: boolean onClose: () => void title?: string formType?: 'investor' | 'partner' | 'agent_waitlist' | 'storage_waitlist' | 'compute_waitlist' | 'gpu_waitlist' } const initialFormState = { name: '', email: '', company: '', message: '', } export default function ContactForm({ isOpen, onClose, title = 'Book a Meeting', formType, }: ContactFormProps) { const [formData, setFormData] = useState(initialFormState) const [isSubmitting, setIsSubmitting] = useState(false) const [isSubmitted, setIsSubmitted] = useState(false) const handleInputChange = (e: ChangeEvent) => { const { name, value } = e.target setFormData((prev) => ({ ...prev, [name]: value, })) } const handleSubmit = async (e: FormEvent) => { e.preventDefault() setIsSubmitting(true) try { const templateParams = { from_name: formData.name, from_email: formData.email, company: formData.company, message: formData.message, to_email: 'emre@incubaid.com', form_type: formType || 'General Inquiry', } await emailjs.send( 'service_03d0vf8', 'template_6o6e8oe', templateParams, 'bhkly3gzrO-SA9w7v', ) setIsSubmitted(true) setTimeout(() => { setIsSubmitted(false) setFormData(initialFormState) onClose() }, 3000) } catch (error) { console.error('Email sending failed:', error) alert('Failed to send message. Please try again.') } finally { setIsSubmitting(false) } } return ( {isOpen && (

{title}

{isSubmitted ? (

Thank you!

We'll get back to you soon.

) : (