'use client'; import clsx from 'clsx'; import Image from '@/components/shared/Image'; import { GlowBg } from '@/components/shared/ui/glow-bg'; import { LandingNewsletterInput } from '@/components/landing/newsletter/LandingNewsletterInput'; /** * A component meant to be used in the landing page. * It shows a newsletter input form with a title, description. */ export const LandingNewsletterSection = ({ children, className, innerClassName, title, titleComponent, description, descriptionComponent, buttonLabel = 'Subscribe', placeholderLabel = 'Enter your email', inputLabel = 'Email address', textPosition = 'center', minHeight = 350, withBackground = false, withBackgroundGlow = false, withAvatars = false, variant = 'primary', backgroundGlowVariant = 'primary', disabled = false, onSubmit = () => {}, }: { children?: React.ReactNode; className?: string; innerClassName?: string; title?: string | React.ReactNode; titleComponent?: React.ReactNode; description?: string | React.ReactNode; descriptionComponent?: React.ReactNode; buttonLabel?: string; placeholderLabel?: string; inputLabel?: string; textPosition?: 'center' | 'left'; minHeight?: number; withBackground?: boolean; withBackgroundGlow?: boolean; withAvatars?: boolean; variant?: 'primary' | 'secondary'; backgroundGlowVariant?: 'primary' | 'secondary'; disabled?: boolean; onSubmit?: (e: React.FormEvent) => void; }) => { return (
{withBackgroundGlow ? (
) : null}
{withAvatars ? (
Person 1 Person 2 Person 3 Person 4 Person 5
) : null} {title ? (

{title}

) : ( titleComponent )} {description ? (

{description}

) : ( descriptionComponent )} {children}
); };