aboutsummaryrefslogtreecommitdiff
path: root/src/components/common
diff options
context:
space:
mode:
authorIvan Chen <ivan@tagg.id>2021-07-20 17:58:31 -0400
committerIvan Chen <ivan@tagg.id>2021-07-20 17:58:31 -0400
commit74c853034e893aeda18ee78f59e4539fba6d8fc0 (patch)
tree01a114c3e48ae5ef3231b7cbba30c03e550196ec /src/components/common
parent3d616c5d445919c476aa926c6d2c44db38cbab37 (diff)
Fix logic to make progress bar work
Diffstat (limited to 'src/components/common')
-rw-r--r--src/components/common/GradientProgressBar.tsx10
1 files changed, 7 insertions, 3 deletions
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<number>;
}
const GradientProgressBar: FC<GradientProgressBarProps> = ({
style,
progress,
}) => {
+ const animatedProgressStyle = useAnimatedStyle<ViewStyle>(() => ({
+ width: `${(1 - progress.value) * 100}%`,
+ }));
return (
<LinearGradient
style={[styles.bar, style]}
useAngle={true}
colors={[TAGG_PURPLE, TAGG_LIGHT_BLUE_2]}>
- <View style={[styles.blank, {width: `${(1 - progress) * 100}%`}]} />
+ <Animated.View style={[styles.blank, animatedProgressStyle]} />
</LinearGradient>
);
};