From 7d6195764025ddd4067c975c8f724d5afa0c11a0 Mon Sep 17 00:00:00 2001 From: Hailey Date: Thu, 25 Jul 2024 13:18:59 -0700 Subject: [PATCH] tweak --- src/view/com/util/post-embeds/VideoEmbed.tsx | 32 ++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/src/view/com/util/post-embeds/VideoEmbed.tsx b/src/view/com/util/post-embeds/VideoEmbed.tsx index 5e5293a553..d171702e71 100644 --- a/src/view/com/util/post-embeds/VideoEmbed.tsx +++ b/src/view/com/util/post-embeds/VideoEmbed.tsx @@ -1,8 +1,11 @@ -import React, {useCallback} from 'react' -import {View} from 'react-native' +import React, {useCallback, useState} from 'react' +import {View, ViewToken} from 'react-native' import {msg} from '@lingui/macro' import {useLingui} from '@lingui/react' +import {useFocusEffect} from '@react-navigation/native' +import {useNonReactiveCallback} from 'lib/hooks/useNonReactiveCallback' +import {VisibilityEmitter} from 'view/com/util/List' import {atoms as a, useTheme} from '#/alf' import {Button, ButtonIcon} from '#/components/Button' import {Play_Filled_Corner2_Rounded as PlayIcon} from '#/components/icons/Play' @@ -14,6 +17,31 @@ export function VideoEmbed({source}: {source: string}) { const {active, setActive} = useActiveVideoView() const {_} = useLingui() + const [isVisibleInList, setIsVisibleInList] = useState(false) + const [isVisibleOnScreen, setIsVisibleOnScreen] = useState(false) + + useFocusEffect( + useNonReactiveCallback(() => { + const onViewableItemsChanged = (viewableItems: ViewToken[]) => { + console.log('test') + console.log(viewableItems) + } + + VisibilityEmitter.addListener( + 'viewableItemsChanged', + onViewableItemsChanged, + ) + console.log('hello') + return () => { + console.log('bye') + VisibilityEmitter.removeListener( + 'viewableItemsChanged', + onViewableItemsChanged, + ) + } + }), + ) + const onPress = useCallback(() => setActive(source), [setActive, source]) return (