import { FlashList } from "@shopify/flash-list"; import { t } from "i18next"; import type React from "react"; import type { PropsWithChildren } from "react"; import { View, type ViewProps, type ViewStyle } from "react-native"; import { Text } from "@/components/common/Text"; import { DiscoverSliderType } from "@/utils/jellyseerr/server/constants/discover"; import type DiscoverSlider from "@/utils/jellyseerr/server/entity/DiscoverSlider"; export interface SlideProps { slide: DiscoverSlider; contentContainerStyle?: ViewStyle; } interface Props extends SlideProps { data: T[]; renderItem: (item: T, index: number) => React.ReactElement | null; keyExtractor: (item: T) => string; onEndReached?: (() => void) | null | undefined; } const Slide = ({ data, slide, renderItem, keyExtractor, onEndReached, contentContainerStyle, ...props }: PropsWithChildren & ViewProps>) => { return ( {t(`search.${DiscoverSliderType[slide.type].toString().toLowerCase()}`)} item ? renderItem(item, index) : null } /> ); }; export default Slide;