import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Textarea } from "@/components/ui/textarea"; import { AnimatePresence, motion } from "framer-motion"; import { CheckCircle, Send, X } from "lucide-react"; import { useState } from "react"; interface ContactModalProps { isOpen: boolean; onClose: () => void; } export default function ContactModal({ isOpen, onClose }: ContactModalProps) { const [formData, setFormData] = useState({ name: "", email: "", message: "", }); const [isSubmitting, setIsSubmitting] = useState(false); const [isSuccess, setIsSuccess] = useState(false); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setIsSubmitting(true); // Simulate form submission await new Promise((resolve) => setTimeout(resolve, 1500)); setIsSubmitting(false); setIsSuccess(true); // Reset after showing success setTimeout(() => { setIsSuccess(false); setFormData({ name: "", email: "", message: "" }); onClose(); }, 2000); }; const handleChange = ( e: React.ChangeEvent, ) => { setFormData((prev) => ({ ...prev, [e.target.name]: e.target.value, })); }; return ( {isOpen && ( {/* Backdrop */} {/* Modal */} {/* Close button */} {/* Content */}
{isSuccess ? (

Message Sent!

We'll get back to you soon.

) : (

Let's Talk

Ready to start your project? Tell us about it.