import { useRef } from "react"; import { ActivityIndicator, Keyboard, View } from "react-native"; import Animated, { LinearTransition } from "react-native-reanimated"; import { Text } from "@/components/ui/Text"; import { useScrollToTop } from "@react-navigation/native"; import type { ZHighlight } from "@karakeep/shared/types/highlights"; import HighlightCard from "./HighlightCard"; export default function HighlightList({ highlights, header, onRefresh, fetchNextPage, isFetchingNextPage, isRefreshing, }: { highlights: ZHighlight[]; onRefresh: () => void; isRefreshing: boolean; fetchNextPage?: () => void; header?: React.ReactElement; isFetchingNextPage?: boolean; }) { const flatListRef = useRef(null); useScrollToTop(flatListRef); return ( } ListEmptyComponent={ No Highlights Highlights you create will appear here } data={highlights} refreshing={isRefreshing} onRefresh={onRefresh} onScrollBeginDrag={Keyboard.dismiss} keyExtractor={(h) => h.id} onEndReached={fetchNextPage} ListFooterComponent={ isFetchingNextPage ? ( ) : ( ) } /> ); }