diff options
author | Samuel Newman <mozzius@protonmail.com> | 2024-10-28 21:02:38 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-28 21:02:38 +0200 |
commit | 5bce043e1ebad182b06f63daab8b7e397771578e (patch) | |
tree | bb50c03ff6af319a0a1e796205b49caaaf985a24 /src/view/com/post-thread/PostThreadComposePrompt.tsx | |
parent | 2e3844c7b428d6479246f4d51993679f0e5cb33f (diff) | |
download | voidsky-5bce043e1ebad182b06f63daab8b7e397771578e.tar.zst |
FAB - delay followup haptic (#5974)
Diffstat (limited to 'src/view/com/post-thread/PostThreadComposePrompt.tsx')
-rw-r--r-- | src/view/com/post-thread/PostThreadComposePrompt.tsx | 26 |
1 files changed, 11 insertions, 15 deletions
diff --git a/src/view/com/post-thread/PostThreadComposePrompt.tsx b/src/view/com/post-thread/PostThreadComposePrompt.tsx index c5582922a..7af0be999 100644 --- a/src/view/com/post-thread/PostThreadComposePrompt.tsx +++ b/src/view/com/post-thread/PostThreadComposePrompt.tsx @@ -5,11 +5,10 @@ import {useLingui} from '@lingui/react' import {PressableScale} from '#/lib/custom-animations/PressableScale' import {useHaptics} from '#/lib/haptics' -import {useHapticsDisabled} from '#/state/preferences' import {useProfileQuery} from '#/state/queries/profile' import {useSession} from '#/state/session' import {UserAvatar} from '#/view/com/util/UserAvatar' -import {atoms as a, useBreakpoints, useTheme} from '#/alf' +import {atoms as a, native, useBreakpoints, useTheme} from '#/alf' import {useInteractionState} from '#/components/hooks/useInteractionState' import {Text} from '#/components/Typography' @@ -23,24 +22,13 @@ export function PostThreadComposePrompt({ const {_} = useLingui() const {gtMobile} = useBreakpoints() const t = useTheme() - const playHaptics = useHaptics() - const isHapticsDisabled = useHapticsDisabled() + const playHaptic = useHaptics() const { state: hovered, onIn: onHoverIn, onOut: onHoverOut, } = useInteractionState() - const onPress = () => { - playHaptics('Light') - setTimeout( - () => { - onPressCompose() - }, - isHapticsDisabled ? 0 : 75, - ) - } - return ( <PressableScale accessibilityRole="button" @@ -53,7 +41,15 @@ export function PostThreadComposePrompt({ t.atoms.border_contrast_low, t.atoms.bg, ]} - onPress={onPress} + onPressIn={() => playHaptic('Light')} + onPress={() => { + onPressCompose() + setTimeout(() => playHaptic('Medium'), 200) + }} + onLongPress={native(() => { + onPressCompose() + setTimeout(() => playHaptic('Heavy'), 200) + })} onHoverIn={onHoverIn} onHoverOut={onHoverOut}> <View |