import { useRef } from "react"; import { ActivityIndicator, Keyboard, Text, View } from "react-native"; import Animated, { LinearTransition } from "react-native-reanimated"; import { useScrollToTop } from "@react-navigation/native"; import type { ZBookmark } from "@hoarder/shared/types/bookmarks"; import BookmarkCard from "./BookmarkCard"; export default function BookmarkList({ bookmarks, header, onRefresh, fetchNextPage, isFetchingNextPage, isRefreshing, }: { bookmarks: ZBookmark[]; onRefresh: () => void; isRefreshing: boolean; fetchNextPage?: () => void; header?: React.ReactElement; isFetchingNextPage?: boolean; }) { const flatListRef = useRef(null); useScrollToTop(flatListRef); return ( } ListEmptyComponent={ No Bookmarks } data={bookmarks} refreshing={isRefreshing} onRefresh={onRefresh} onScrollBeginDrag={Keyboard.dismiss} keyExtractor={(b) => b.id} onEndReached={fetchNextPage} ListFooterComponent={ isFetchingNextPage ? ( ) : ( ) } /> ); }