From e2b25e5255e11bb70b4034113c6017d155a4917d Mon Sep 17 00:00:00 2001 From: Samuel Newman Date: Sat, 18 Jan 2025 20:00:42 +0000 Subject: [PATCH] play haptic on like --- src/screens/VideoFeed/index.tsx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/screens/VideoFeed/index.tsx b/src/screens/VideoFeed/index.tsx index bf28481922..6b46d3445a 100644 --- a/src/screens/VideoFeed/index.tsx +++ b/src/screens/VideoFeed/index.tsx @@ -1,4 +1,4 @@ -import React, {useCallback, useMemo, useRef, useState} from 'react' +import {useCallback, useEffect, useMemo, useRef, useState} from 'react' import { LayoutAnimation, ListRenderItem, @@ -45,6 +45,7 @@ import { import {NativeStackScreenProps} from '@react-navigation/native-stack' import {HITSLOP_20} from '#/lib/constants' +import {useHaptics} from '#/lib/haptics' import {useNonReactiveCallback} from '#/lib/hooks/useNonReactiveCallback' import {CommonNavigatorParams, NavigationProp} from '#/lib/routes/types' import {sanitizeDisplayName} from '#/lib/strings/display-names' @@ -173,7 +174,7 @@ function Feed() { const {data, error, hasNextPage, isFetchingNextPage, fetchNextPage} = usePostFeedQuery(feedDesc) - const videos = React.useMemo(() => { + const videos = useMemo(() => { let vids = data?.pages .flatMap(page => page.slices.flatMap(slice => slice.items)) @@ -406,7 +407,7 @@ function VideoItem({ const {width, height} = useSafeAreaFrame() const {onItemSeen} = useFeedFeedbackContext() - React.useEffect(() => { + useEffect(() => { let to: NodeJS.Timeout | null = null if (active) { to = setTimeout(() => { @@ -733,6 +734,7 @@ function PlayPauseTapArea({ post: Shadow }) { const doubleTapRef = useRef | null>(null) + const playHaptic = useHaptics() const [queueLike] = usePostLikeMutationQueue(post, 'ImmersiveVideo') const {sendInteraction} = useFeedFeedbackContext() @@ -751,6 +753,7 @@ function PlayPauseTapArea({ if (doubleTapRef.current) { clearTimeout(doubleTapRef.current) doubleTapRef.current = null + playHaptic('Light') queueLike() sendInteraction({ item: post.uri,