From 74c853034e893aeda18ee78f59e4539fba6d8fc0 Mon Sep 17 00:00:00 2001 From: Ivan Chen Date: Tue, 20 Jul 2021 17:58:31 -0400 Subject: Fix logic to make progress bar work --- src/components/common/GradientProgressBar.tsx | 10 +++++++--- src/components/moments/MomentUploadProgressBar.tsx | 18 +++++++++++------- 2 files changed, 18 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/components/common/GradientProgressBar.tsx b/src/components/common/GradientProgressBar.tsx index 2f7f0431..fc62bd3c 100644 --- a/src/components/common/GradientProgressBar.tsx +++ b/src/components/common/GradientProgressBar.tsx @@ -1,6 +1,7 @@ import React, {FC} from 'react'; -import {StyleSheet, View, ViewProps} from 'react-native'; +import {StyleSheet, ViewProps, ViewStyle} from 'react-native'; import LinearGradient from 'react-native-linear-gradient'; +import Animated, {useAnimatedStyle} from 'react-native-reanimated'; import { TAGG_LIGHT_BLUE_2, TAGG_LIGHT_BLUE_3, @@ -9,19 +10,22 @@ import { import {normalize} from '../../utils'; interface GradientProgressBarProps extends ViewProps { - progress: number; + progress: Animated.SharedValue; } const GradientProgressBar: FC = ({ style, progress, }) => { + const animatedProgressStyle = useAnimatedStyle(() => ({ + width: `${(1 - progress.value) * 100}%`, + })); return ( - + ); }; diff --git a/src/components/moments/MomentUploadProgressBar.tsx b/src/components/moments/MomentUploadProgressBar.tsx index 7310727e..26c20a46 100644 --- a/src/components/moments/MomentUploadProgressBar.tsx +++ b/src/components/moments/MomentUploadProgressBar.tsx @@ -1,6 +1,7 @@ -import React from 'react'; +import React, {useEffect} from 'react'; import {StyleSheet, Text} from 'react-native'; import {View} from 'react-native-animatable'; +import {Easing, useSharedValue, withTiming} from 'react-native-reanimated'; import {SafeAreaView} from 'react-native-safe-area-context'; import {useSelector} from 'react-redux'; import {RootState} from '../../store/rootReducer'; @@ -12,17 +13,20 @@ interface MomentUploadProgressBarProps {} const MomentUploadProgressBar: React.FC = ({}) => { const {momentUploadStatus} = useSelector((state: RootState) => state.user); - // const [progress, setProgress] = useState(0); - // const progressTime = useSharedValue(0); - // const [indeterminate, setIndeterminate] = useState(false); - // const range = new Animated.Value(0); - // const transX = new Animated.Value(0); + const progress = useSharedValue(0); + + useEffect(() => { + progress.value = withTiming(1, { + duration: 5000, + easing: Easing.linear, + }); + }, []); return ( Uploading Moment... - + ); -- cgit v1.2.3-70-g09d2