/** * Copyright (c) JOB TODAY S.A. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * */ import { Animated } from 'react-native' const INITIAL_POSITION = { x: 0, y: 0 } const ANIMATION_CONFIG = { duration: 200, useNativeDriver: true } const useAnimatedComponents = () => { const headerTranslate = new Animated.ValueXY(INITIAL_POSITION) const toggleVisible = (isVisible: boolean) => { if (isVisible) { Animated.parallel([ Animated.timing(headerTranslate.y, { ...ANIMATION_CONFIG, toValue: 0 }) ]).start() } else { Animated.parallel([ Animated.timing(headerTranslate.y, { ...ANIMATION_CONFIG, toValue: -300 }) ]).start() } } const headerTransform = headerTranslate.getTranslateTransform() return [headerTransform, toggleVisible] as const } export default useAnimatedComponents