import { cn } from '@/lib/utils'; import { sanitizeColor, safeBoolean, safeSelect } from './types'; import { useAnimationPause } from '@/hooks/useAnimationLoop'; interface Props { settings: Record; } const isMobile = typeof window !== 'undefined' && window.innerWidth < 768; const SPEED_DURATIONS: Record = { slow: '90s', normal: '60s', fast: '30s', }; export default function AuroraBackground({ settings }: Props) { const isLegacySeed = settings.firstColor === '#00d2ff' && settings.secondColor === '#7928ca' && settings.thirdColor === '#ff0080'; const firstColor = isLegacySeed ? '#3b82f6' : sanitizeColor(settings.firstColor, '#3b82f6'); const secondColor = isLegacySeed ? '#a5b4fc' : sanitizeColor(settings.secondColor, '#a5b4fc'); const thirdColor = isLegacySeed ? '#93c5fd' : sanitizeColor(settings.thirdColor, '#93c5fd'); const speed = safeSelect(settings.speed, ['slow', 'normal', 'fast'] as const, 'normal'); const showRadialGradient = safeBoolean(settings.showRadialGradient, true); const paused = useAnimationPause(); return (
); }