Add video support
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
@@ -98,7 +98,7 @@ const Memes = () => {
|
||||
[sort, sortDirection, favoritesOnly, filter, search],
|
||||
);
|
||||
|
||||
const [scrollOffset, setScrollOffset] = useState(0);
|
||||
const previousOffset = useRef(0);
|
||||
|
||||
const handleScroll = (event: NativeSyntheticEvent<NativeScrollEvent>) => {
|
||||
const currentOffset = event.nativeEvent.contentOffset.y;
|
||||
@@ -106,13 +106,13 @@ const Memes = () => {
|
||||
if (currentOffset <= 150) {
|
||||
dispatch(setNavVisible(true));
|
||||
} else {
|
||||
const diff = currentOffset - scrollOffset;
|
||||
if (Math.abs(diff) > 50) {
|
||||
const diff = currentOffset - previousOffset.current;
|
||||
if (Math.abs(diff) > 35) {
|
||||
dispatch(setNavVisible(diff < 0));
|
||||
}
|
||||
}
|
||||
|
||||
setScrollOffset(currentOffset);
|
||||
previousOffset.current = currentOffset;
|
||||
};
|
||||
|
||||
const flashListRef = useRef<FlashList<Meme>>(null);
|
||||
@@ -120,7 +120,7 @@ const Memes = () => {
|
||||
useFocusEffect(
|
||||
useCallback(() => {
|
||||
const handleBackPress = () => {
|
||||
if (scrollOffset <= 0) return false;
|
||||
if (previousOffset.current <= 0) return false;
|
||||
flashListRef.current?.scrollToOffset({ offset: 0, animated: true });
|
||||
return true;
|
||||
};
|
||||
@@ -129,7 +129,7 @@ const Memes = () => {
|
||||
|
||||
return () =>
|
||||
BackHandler.removeEventListener('hardwareBackPress', handleBackPress);
|
||||
}, [scrollOffset]),
|
||||
}, []),
|
||||
);
|
||||
|
||||
useFocusEffect(
|
||||
|
Reference in New Issue
Block a user