import { ScrollingCollectionList } from "@/components/home/ScrollingCollectionList"; import { TAB_HEIGHT } from "@/constants/Values"; import { apiAtom, userAtom } from "@/providers/JellyfinProvider"; import { BaseItemDto } from "@jellyfin/sdk/lib/generated-client"; import { getLiveTvApi } from "@jellyfin/sdk/lib/utils/api"; import { useAtom } from "jotai"; import React from "react"; import { ScrollView, View } from "react-native"; import { useSafeAreaInsets } from "react-native-safe-area-context"; import { useTranslation } from "react-i18next"; export default function page() { const [api] = useAtom(apiAtom); const [user] = useAtom(userAtom); const insets = useSafeAreaInsets(); const { t } = useTranslation(); return ( { if (!api) return [] as BaseItemDto[]; const res = await getLiveTvApi(api).getRecommendedPrograms({ userId: user?.Id, isAiring: true, limit: 24, imageTypeLimit: 1, enableImageTypes: ["Primary", "Thumb", "Backdrop"], enableTotalRecordCount: false, fields: ["ChannelInfo", "PrimaryImageAspectRatio"], }); return res.data.Items || []; }} orientation="horizontal" /> { if (!api) return [] as BaseItemDto[]; const res = await getLiveTvApi(api).getLiveTvPrograms({ userId: user?.Id, hasAired: false, limit: 9, isMovie: false, isSeries: true, isSports: false, isNews: false, isKids: false, enableTotalRecordCount: false, fields: ["ChannelInfo", "PrimaryImageAspectRatio"], enableImageTypes: ["Primary", "Thumb", "Backdrop"], }); return res.data.Items || []; }} orientation="horizontal" /> { if (!api) return [] as BaseItemDto[]; const res = await getLiveTvApi(api).getLiveTvPrograms({ userId: user?.Id, hasAired: false, limit: 9, isMovie: true, enableTotalRecordCount: false, fields: ["ChannelInfo"], enableImageTypes: ["Primary", "Thumb", "Backdrop"], }); return res.data.Items || []; }} orientation="horizontal" /> { if (!api) return [] as BaseItemDto[]; const res = await getLiveTvApi(api).getLiveTvPrograms({ userId: user?.Id, hasAired: false, limit: 9, isSports: true, enableTotalRecordCount: false, fields: ["ChannelInfo"], enableImageTypes: ["Primary", "Thumb", "Backdrop"], }); return res.data.Items || []; }} orientation="horizontal" /> { if (!api) return [] as BaseItemDto[]; const res = await getLiveTvApi(api).getLiveTvPrograms({ userId: user?.Id, hasAired: false, limit: 9, isKids: true, enableTotalRecordCount: false, fields: ["ChannelInfo"], enableImageTypes: ["Primary", "Thumb", "Backdrop"], }); return res.data.Items || []; }} orientation="horizontal" /> { if (!api) return [] as BaseItemDto[]; const res = await getLiveTvApi(api).getLiveTvPrograms({ userId: user?.Id, hasAired: false, limit: 9, isNews: true, enableTotalRecordCount: false, fields: ["ChannelInfo"], enableImageTypes: ["Primary", "Thumb", "Backdrop"], }); return res.data.Items || []; }} orientation="horizontal" /> ); }