import React, { useEffect, useRef } from 'react'; import { Animated, StyleSheet, Text, View } from 'react-native'; interface Props { visible: boolean; } export const SimulationBanner: React.FC = ({ visible }) => { const opacity = useRef(new Animated.Value(1)).current; useEffect(() => { if (!visible) return; const pulse = Animated.loop( Animated.sequence([ Animated.timing(opacity, { toValue: 0.4, duration: 800, useNativeDriver: true }), Animated.timing(opacity, { toValue: 1.0, duration: 800, useNativeDriver: true }), ]), ); pulse.start(); return () => pulse.stop(); }, [visible, opacity]); if (!visible) return null; return ( SIMULATED DATA - NOT CONNECTED TO REAL SENSORS ); }; const styles = StyleSheet.create({ banner: { backgroundColor: '#e74c3c', paddingVertical: 6, paddingHorizontal: 12, borderRadius: 6, alignItems: 'center', marginBottom: 8, }, text: { color: '#ffffff', fontWeight: '700', fontSize: 12, letterSpacing: 0.5, textAlign: 'center', }, });