import React, { useEffect } from 'react'; import { StyleSheet } from 'react-native'; import Animated, { useAnimatedStyle, useSharedValue, withRepeat, withSequence, withTiming, } from 'react-native-reanimated'; import { Colors, Shadows } from '@/constants/theme'; interface PulsingDotProps { size?: number; color?: string; } export default function PulsingDot({ size = 6, color = Colors.accent.green }: PulsingDotProps) { const opacity = useSharedValue(1); useEffect(() => { opacity.value = withRepeat( withSequence( withTiming(0.4, { duration: 1000 }), withTiming(1, { duration: 1000 }) ), -1 ); }, []); const animatedStyle = useAnimatedStyle(() => ({ opacity: opacity.value, })); return ( ); }