'use client'; import { motion, useReducedMotion } from 'framer-motion'; import { useEffect, useState } from 'react'; interface GradientOrbsProps { className?: string; count?: number; } interface Orb { id: number; size: number; x: number; y: number; color: string; duration: number; delay: number; } const colorPalette = [ 'rgba(196, 30, 58, 0.15)', 'rgba(255, 232, 236, 0.2)', 'rgba(255, 240, 243, 0.18)', 'rgba(245, 245, 245, 0.15)', 'rgba(255, 214, 221, 0.2)', 'rgba(224, 74, 104, 0.12)', ]; export function GradientOrbs({ className = '', count = 5 }: GradientOrbsProps) { const prefersReducedMotion = useReducedMotion(); const [orbs, setOrbs] = useState([]); useEffect(() => { const generatedOrbs: Orb[] = Array.from({ length: count }, (_, i) => ({ id: i, size: Math.random() * 400 + 200, x: Math.random() * 100, y: Math.random() * 100, color: colorPalette[i % colorPalette.length] ?? 'rgba(196, 30, 58, 0.15)', duration: Math.random() * 20 + 15, delay: Math.random() * 5, })); setOrbs(generatedOrbs); }, [count]); return (