import type { BaseItemDto } from "@jellyfin/sdk/lib/generated-client/models"; import { Image } from "expo-image"; import { useAtom } from "jotai"; import { useMemo, useState } from "react"; import { View } from "react-native"; import { WatchedIndicator } from "@/components/WatchedIndicator"; import { apiAtom } from "@/providers/JellyfinProvider"; type MoviePosterProps = { item: BaseItemDto; showProgress?: boolean; }; export const EpisodePoster: React.FC = ({ item, showProgress = false, }) => { const [api] = useAtom(apiAtom); const url = useMemo(() => { if (item.Type === "Episode") { return `${api?.basePath}/Items/${item.ParentBackdropItemId}/Images/Thumb?fillHeight=389&quality=80&tag=${item.ParentThumbImageTag}`; } }, [item]); const [progress, _setProgress] = useState( item.UserData?.PlayedPercentage || 0, ); const blurhash = useMemo(() => { const key = item.ImageTags?.Primary as string; return item.ImageBlurHashes?.Primary?.[key]; }, [item]); return ( {showProgress && progress > 0 && ( )} ); };