Files
OrionTV/components/HelloWave.tsx
zimplexing 7e6095d2bb Update
2025-07-04 18:10:28 +08:00

41 lines
859 B
TypeScript

import {StyleSheet} from 'react-native';
import Animated, {
useSharedValue,
useAnimatedStyle,
withTiming,
withRepeat,
withSequence,
} from 'react-native-reanimated';
import {ThemedText} from '@/components/ThemedText';
export function HelloWave() {
const rotationAnimation = useSharedValue(0);
rotationAnimation.value = withRepeat(
withSequence(
withTiming(25, {duration: 150}),
withTiming(0, {duration: 150}),
),
4, // Run the animation 4 times
);
const animatedStyle = useAnimatedStyle(() => ({
transform: [{rotate: `${rotationAnimation.value}deg`}],
}));
return (
<Animated.View style={animatedStyle}>
<ThemedText style={styles.text}>👋</ThemedText>
</Animated.View>
);
}
const styles = StyleSheet.create({
text: {
fontSize: 28,
lineHeight: 32,
marginTop: -6,
},
});