'use client'; import { motion, useReducedMotion } from 'framer-motion'; import { ReactNode, useEffect, useState } from 'react'; import { LucideIcon } from 'lucide-react'; interface SponsorBenefitCardProps { icon: LucideIcon; title: string; description: string; stats?: { value: string; label: string; }; variant?: 'default' | 'highlight'; delay?: number; } export default function SponsorBenefitCard({ icon: Icon, title, description, stats, variant = 'default', delay = 0, }: SponsorBenefitCardProps) { const shouldReduceMotion = useReducedMotion(); const [isMounted, setIsMounted] = useState(false); useEffect(() => { setIsMounted(true); }, []); const isHighlight = variant === 'highlight'; const cardContent = (
{/* Icon */}
{/* Content */}

{title}

{description}

{/* Stats */} {stats && (
{stats.value} {stats.label}
)} {/* Highlight Glow Effect */} {isHighlight && (
)}
); if (!isMounted || shouldReduceMotion) { return
{cardContent}
; } return ( {cardContent} ); }