"use client"; import ContactForm from "@/components/form/ContactForm"; import HeroBackgrounds, { type HeroBackgroundVariantProps } from "@/components/background/HeroBackgrounds"; import { cls } from "@/lib/utils"; import { LucideIcon } from "lucide-react"; import { sendContactEmail } from "@/utils/sendContactEmail"; type ContactCenterBackgroundProps = Extract< HeroBackgroundVariantProps, | { variant: "plain" } | { variant: "animated-grid" } | { variant: "canvas-reveal" } | { variant: "cell-wave" } | { variant: "downward-rays-animated" } | { variant: "downward-rays-animated-grid" } | { variant: "downward-rays-static" } | { variant: "downward-rays-static-grid" } | { variant: "gradient-bars" } | { variant: "radial-gradient" } | { variant: "rotated-rays-animated" } | { variant: "rotated-rays-animated-grid" } | { variant: "rotated-rays-static" } | { variant: "rotated-rays-static-grid" } | { variant: "sparkles-gradient" } >; interface ContactCenterProps { title: string; description: string; tag: string; tagIcon?: LucideIcon; background: ContactCenterBackgroundProps; useInvertedBackground: "noInvert" | "invertDefault"; tagClassName?: string; inputPlaceholder?: string; buttonText?: string; termsText?: string; onSubmit?: (email: string) => void; ariaLabel?: string; className?: string; containerClassName?: string; contentClassName?: string; titleClassName?: string; descriptionClassName?: string; formWrapperClassName?: string; formClassName?: string; inputClassName?: string; buttonClassName?: string; buttonTextClassName?: string; termsClassName?: string; } const ContactCenter = ({ title, description, tag, tagIcon, background, useInvertedBackground, tagClassName = "", inputPlaceholder = "Enter your email", buttonText = "Sign Up", termsText = "By clicking Sign Up you're confirming that you agree with our Terms and Conditions.", onSubmit, ariaLabel = "Contact section", className = "", containerClassName = "", contentClassName = "", titleClassName = "", descriptionClassName = "", formWrapperClassName = "", formClassName = "", inputClassName = "", buttonClassName = "", buttonTextClassName = "", termsClassName = "", }: ContactCenterProps) => { const handleSubmit = async (email: string) => { try { await sendContactEmail({ email }); console.log("Email send successfully"); } catch (error) { console.error("Failed to send email:", error); } }; return (
); }; ContactCenter.displayName = "ContactCenter"; export default ContactCenter;