"use client"; import { memo } from "react"; import TextAnimation from "@/components/text/TextAnimation"; import EmailSignupForm from "@/components/form/EmailSignupForm"; import Tag from "@/components/shared/Tag"; import { cls, shouldUseInvertedText } from "@/lib/utils"; import { useTheme } from "@/providers/themeProvider/ThemeProvider"; import type { AnimationType } from "@/components/text/types"; import { LucideIcon } from "lucide-react"; interface ContactFormProps { title: string; description: string; tag: string; tagIcon?: LucideIcon; useInvertedBackground: "noInvert" | "invertDefault" | "invertCard"; inputPlaceholder?: string; buttonText?: string; termsText?: string; onSubmit?: (email: string) => void; centered?: boolean; className?: string; tagClassName?: string; titleClassName?: string; descriptionClassName?: string; formWrapperClassName?: string; formClassName?: string; inputClassName?: string; buttonClassName?: string; buttonTextClassName?: string; termsClassName?: string; } const ContactForm = ({ title, description, tag, tagIcon, useInvertedBackground, inputPlaceholder = "Enter your email", buttonText = "Sign Up", termsText = "By clicking Sign Up you're confirming that you agree with our Terms and Conditions.", onSubmit, centered = false, className = "", tagClassName = "", titleClassName = "", descriptionClassName = "", formWrapperClassName = "", formClassName = "", inputClassName = "", buttonClassName = "", buttonTextClassName = "", termsClassName = "", }: ContactFormProps) => { const theme = useTheme(); const shouldUseLightText = shouldUseInvertedText(useInvertedBackground, theme.cardStyle); return (

{termsText}

); }; ContactForm.displayName = "ContactForm"; export default memo(ContactForm);