diff options
author | Hailey <me@haileyok.com> | 2024-09-03 10:55:53 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-03 10:55:53 -0700 |
commit | 0014d4363fa869389d7739ff9e3ffbbb03f5679c (patch) | |
tree | f3afc8371b16ad3c28c0c7d07a4b90479c518fc0 /src/view/com/util/post-ctrls/PostCtrls.tsx | |
parent | bd42f770b8b5144b6b292495a3193369fc726389 (diff) | |
download | voidsky-0014d4363fa869389d7739ff9e3ffbbb03f5679c.tar.zst |
Only animate the like icon when from an actual toggle (#5096)
Diffstat (limited to 'src/view/com/util/post-ctrls/PostCtrls.tsx')
-rw-r--r-- | src/view/com/util/post-ctrls/PostCtrls.tsx | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/view/com/util/post-ctrls/PostCtrls.tsx b/src/view/com/util/post-ctrls/PostCtrls.tsx index 6a58a5624..de73103c7 100644 --- a/src/view/com/util/post-ctrls/PostCtrls.tsx +++ b/src/view/com/util/post-ctrls/PostCtrls.tsx @@ -106,8 +106,7 @@ let PostCtrls = ({ [t], ) as StyleProp<ViewStyle> - const likeValue = post.viewer?.like ? 1 : 0 - const nextExpectedLikeValue = React.useRef(likeValue) + const [isToggleLikeIcon, setIsToggleLikeIcon] = React.useState(false) const onPressToggleLike = React.useCallback(async () => { if (isBlocked) { @@ -119,8 +118,8 @@ let PostCtrls = ({ } try { + setIsToggleLikeIcon(true) if (!post.viewer?.like) { - nextExpectedLikeValue.current = 1 playHaptic() sendInteraction({ item: post.uri, @@ -130,7 +129,6 @@ let PostCtrls = ({ captureAction(ProgressGuideAction.Like) await queueLike() } else { - nextExpectedLikeValue.current = 0 await queueUnlike() } } catch (e: any) { @@ -317,11 +315,16 @@ let PostCtrls = ({ } accessibilityHint="" hitSlop={POST_CTRL_HITSLOP}> - <AnimatedLikeIcon isLiked={Boolean(post.viewer?.like)} big={big} /> + <AnimatedLikeIcon + isLiked={Boolean(post.viewer?.like)} + big={big} + isToggle={isToggleLikeIcon} + /> <CountWheel likeCount={post.likeCount ?? 0} big={big} isLiked={Boolean(post.viewer?.like)} + isToggle={isToggleLikeIcon} /> </Pressable> </View> |