import { Ionicons } from "@expo/vector-icons"; import React, { useRef, useState } from "react"; import { Animated, Easing, Pressable, View } from "react-native"; import { AnimatedEqualizer } from "@/components/music/AnimatedEqualizer"; interface TVThemeMusicIndicatorProps { isPlaying: boolean; isMuted: boolean; hasThemeMusic: boolean; onToggleMute: () => void; disabled?: boolean; } export const TVThemeMusicIndicator: React.FC = ({ isPlaying, isMuted, hasThemeMusic, onToggleMute, disabled = false, }) => { const [focused, setFocused] = useState(false); const scale = useRef(new Animated.Value(1)).current; const animateTo = (v: number) => Animated.timing(scale, { toValue: v, duration: 150, easing: Easing.out(Easing.quad), useNativeDriver: true, }).start(); if (!hasThemeMusic || !isPlaying) return null; return ( { setFocused(true); animateTo(1.15); }} onBlur={() => { setFocused(false); animateTo(1); }} disabled={disabled} focusable={!disabled} > {isMuted ? ( ) : ( )} ); };