import { BaseItemDto } from "@jellyfin/sdk/lib/generated-client/models"; import { View } from "react-native"; import { EpisodeCard } from "./EpisodeCard"; import { Text } from "../common/Text"; import { useMemo } from "react"; import { SeasonPicker } from "../series/SeasonPicker"; export const SeriesCard: React.FC<{ items: BaseItemDto[] }> = ({ items }) => { const groupBySeason = useMemo(() => { const seasons: Record = {}; items.forEach((item) => { if (!seasons[item.SeasonName!]) { seasons[item.SeasonName!] = []; } seasons[item.SeasonName!].push(item); }); return Object.values(seasons).sort( (a, b) => a[0].IndexNumber! - b[0].IndexNumber! ); }, [items]); return ( {items[0].SeriesName} {items.length} TV-Series {groupBySeason.map((seasonItems, seasonIndex) => ( {seasonItems[0].SeasonName} {seasonItems.map((item, index) => ( ))} ))} ); };