import { clsx } from 'clsx'; import { LandingFeature } from '@/components/landing/feature/LandingFeature'; import { GlowBg } from '@/components/shared/ui/glow-bg'; export interface FeatureListItem { title: string; description: string; icon: React.ReactNode; } /** * A component meant to be used on the landing page. * It displays a grid list of features. * * Each feature has a title, description and icon. */ export const LandingFeatureList = ({ className, title, titleComponent, description, descriptionComponent, featureItems, withBackground = false, withBackgroundGlow = false, variant = 'primary', backgroundGlowVariant = 'primary', }: { className?: string; title?: string | React.ReactNode; titleComponent?: React.ReactNode; description?: string | React.ReactNode; descriptionComponent?: React.ReactNode; featureItems: FeatureListItem[]; withBackground?: boolean; withBackgroundGlow?: boolean; variant?: 'primary' | 'secondary'; backgroundGlowVariant?: 'primary' | 'secondary'; }) => { return (
{withBackgroundGlow ? (
) : null}
{title ? (

{title}

) : ( titleComponent )} {description ? (

{description}

) : ( descriptionComponent )}
{featureItems.map((featureItem, index) => ( ))}
); };