diff --git a/src/components/sections/contact/ContactCenter.tsx b/src/components/sections/contact/ContactCenter.tsx
index 01cf223..e0cae92 100644
--- a/src/components/sections/contact/ContactCenter.tsx
+++ b/src/components/sections/contact/ContactCenter.tsx
@@ -1,3 +1,131 @@
-export function ContactCenter() {
- return
Contact Center
;
+"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";
+import type { ButtonAnimationType } from "@/types/button";
+
+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;
+ tagAnimation?: ButtonAnimationType;
+ background: ContactCenterBackgroundProps;
+ useInvertedBackground: boolean;
+ 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,
+ tagAnimation,
+ 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;