From f62b0458a742dc7e00c5ca75064718bc6fef53b7 Mon Sep 17 00:00:00 2001 From: Hailey Date: Wed, 8 May 2024 13:56:36 -0700 Subject: [PATCH] =?UTF-8?q?[=F0=9F=90=B4]=20Adjust=20press=20and=20hold=20?= =?UTF-8?q?delay=20on=20messages=20(#3918)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * adjust press and hold delay on messages * adjust hit slop --- src/components/dms/ActionsWrapper.tsx | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/components/dms/ActionsWrapper.tsx b/src/components/dms/ActionsWrapper.tsx index 19a3e0424b..315f459de9 100644 --- a/src/components/dms/ActionsWrapper.tsx +++ b/src/components/dms/ActionsWrapper.tsx @@ -1,4 +1,4 @@ -import React, {useCallback} from 'react' +import React from 'react' import {Keyboard, Pressable, View} from 'react-native' import Animated, { cancelAnimation, @@ -9,6 +9,7 @@ import Animated, { } from 'react-native-reanimated' import {ChatBskyConvoDefs} from '@atproto-labs/api' +import {HITSLOP_10} from 'lib/constants' import {useHaptics} from 'lib/haptics' import {atoms as a} from '#/alf' import {MessageMenu} from '#/components/dms/MessageMenu' @@ -37,12 +38,12 @@ export function ActionsWrapper({ // Reanimated's `runOnJS` doesn't like refs, so we can't use `runOnJS(menuControl.open)()`. Instead, we'll use this // function - const open = useCallback(() => { + const open = React.useCallback(() => { Keyboard.dismiss() menuControl.open() }, [menuControl]) - const shrink = useCallback(() => { + const shrink = React.useCallback(() => { 'worklet' cancelAnimation(scale) scale.value = withTiming(1, {duration: 200}, () => { @@ -52,7 +53,7 @@ export function ActionsWrapper({ const grow = React.useCallback(() => { 'worklet' - scale.value = withTiming(1.05, {duration: 750}, finished => { + scale.value = withTiming(1.05, {duration: 450}, finished => { if (!finished) return animationDidComplete.value = true runOnJS(playHaptic)() @@ -74,7 +75,8 @@ export function ActionsWrapper({ style={animatedStyle} unstable_pressDelay={200} onPressIn={grow} - onTouchEnd={shrink}> + onTouchEnd={shrink} + hitSlop={HITSLOP_10}> {children}