/* eslint-disable react-hooks/exhaustive-deps */ import { useEffect, useState } from 'react'; import { Value, timing, Easing, Node } from 'react-native-reanimated'; const useAnimatedProgress = ( grow: number, duration: number, callback?: (data: any) => void, ): Node => { const time = !duration || duration === 0 ? 200 : duration; const value = grow; const [translateX] = useState(new Value(0)); useEffect(() => { timing(translateX, { toValue: value, duration: time, easing: Easing.inOut(Easing.ease), }).start(callback); }, [value, callback]); return translateX; }; export default useAnimatedProgress;