import { Animated, StyleSheet, View } from 'react-native' import { clockTypes, PossibleClockTypes } from './timeUtils' import { ReactElement, useEffect, useRef } from 'react' import AnalogClockHours from './AnalogClockHours' import AnalogClockMinutes from './AnalogClockMinutes' export default function AnimatedClockSwitcher({ focused, hours, minutes, }: { focused: PossibleClockTypes hours: ReactElement minutes: ReactElement }) { const collapsed = focused === clockTypes.hours const animatedCollapsed = useRef( new Animated.Value(collapsed ? 1 : 0) ) useEffect(() => { Animated.timing(animatedCollapsed.current, { toValue: collapsed ? 1 : 0, duration: 250, useNativeDriver: true, }).start() }, [collapsed]) return ( {hours} {minutes} ) }