diff options
-rw-r--r-- | src/view/com/post-thread/PostThreadComposePrompt.tsx | 15 | ||||
-rw-r--r-- | src/view/com/util/fab/FABInner.tsx | 16 | ||||
-rw-r--r-- | src/view/com/util/post-ctrls/PostCtrls.tsx | 1 | ||||
-rw-r--r-- | src/view/com/util/post-ctrls/RepostButton.tsx | 2 |
4 files changed, 23 insertions, 11 deletions
diff --git a/src/view/com/post-thread/PostThreadComposePrompt.tsx b/src/view/com/post-thread/PostThreadComposePrompt.tsx index 7af0be999..2b58cc5fe 100644 --- a/src/view/com/post-thread/PostThreadComposePrompt.tsx +++ b/src/view/com/post-thread/PostThreadComposePrompt.tsx @@ -5,10 +5,11 @@ import {useLingui} from '@lingui/react' import {PressableScale} from '#/lib/custom-animations/PressableScale' import {useHaptics} from '#/lib/haptics' +import {isIOS} from '#/platform/detection' import {useProfileQuery} from '#/state/queries/profile' import {useSession} from '#/state/session' import {UserAvatar} from '#/view/com/util/UserAvatar' -import {atoms as a, native, useBreakpoints, useTheme} from '#/alf' +import {atoms as a, ios, useBreakpoints, useTheme} from '#/alf' import {useInteractionState} from '#/components/hooks/useInteractionState' import {Text} from '#/components/Typography' @@ -41,14 +42,18 @@ export function PostThreadComposePrompt({ t.atoms.border_contrast_low, t.atoms.bg, ]} - onPressIn={() => playHaptic('Light')} + onPressIn={ios(() => playHaptic('Light'))} onPress={() => { onPressCompose() - setTimeout(() => playHaptic('Medium'), 200) + if (isIOS) { + setTimeout(() => playHaptic('Medium'), 10) + } else { + playHaptic('Light') + } }} - onLongPress={native(() => { + onLongPress={ios(() => { onPressCompose() - setTimeout(() => playHaptic('Heavy'), 200) + playHaptic('Heavy') })} onHoverIn={onHoverIn} onHoverOut={onHoverOut}> diff --git a/src/view/com/util/fab/FABInner.tsx b/src/view/com/util/fab/FABInner.tsx index b7b06bd7e..3d660732e 100644 --- a/src/view/com/util/fab/FABInner.tsx +++ b/src/view/com/util/fab/FABInner.tsx @@ -10,8 +10,8 @@ import {useMinimalShellFabTransform} from '#/lib/hooks/useMinimalShellTransform' import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries' import {clamp} from '#/lib/numbers' import {gradients} from '#/lib/styles' -import {isWeb} from '#/platform/detection' -import {native} from '#/alf' +import {isIOS, isWeb} from '#/platform/detection' +import {ios} from '#/alf' export interface FABProps extends ComponentProps<typeof TouchableWithoutFeedback> { @@ -41,14 +41,18 @@ export function FABInner({testID, icon, onPress, ...props}: FABProps) { ]}> <PressableScale testID={testID} - onPressIn={() => playHaptic('Light')} + onPressIn={ios(() => playHaptic('Light'))} onPress={evt => { onPress?.(evt) - setTimeout(() => playHaptic('Medium'), 200) + if (isIOS) { + setTimeout(() => playHaptic('Medium'), 10) + } else { + playHaptic('Light') + } }} - onLongPress={native((evt: any) => { + onLongPress={ios((evt: any) => { onPress?.(evt) - setTimeout(() => playHaptic('Heavy'), 200) + playHaptic('Heavy') })} targetScale={0.9} {...props}> diff --git a/src/view/com/util/post-ctrls/PostCtrls.tsx b/src/view/com/util/post-ctrls/PostCtrls.tsx index 160053a8c..8b04016a4 100644 --- a/src/view/com/util/post-ctrls/PostCtrls.tsx +++ b/src/view/com/util/post-ctrls/PostCtrls.tsx @@ -250,6 +250,7 @@ let PostCtrls = ({ style={btnStyle} onPress={() => { if (!post.viewer?.replyDisabled) { + playHaptic('Light') requireAuth(() => onPressReply()) } }} diff --git a/src/view/com/util/post-ctrls/RepostButton.tsx b/src/view/com/util/post-ctrls/RepostButton.tsx index 936746f51..28889429f 100644 --- a/src/view/com/util/post-ctrls/RepostButton.tsx +++ b/src/view/com/util/post-ctrls/RepostButton.tsx @@ -51,9 +51,11 @@ let RepostButton = ({ <Button testID="repostBtn" onPress={() => { + playHaptic('Light') requireAuth(() => dialogControl.open()) }} onLongPress={() => { + playHaptic('Heavy') requireAuth(() => onQuote()) }} style={[ |