import { Ionicons } from "@expo/vector-icons"; import { Image } from "expo-image"; import React from "react"; import { Animated, Pressable, View } from "react-native"; import { Text } from "@/components/common/Text"; import { useScaledTVTypography } from "@/constants/TVTypography"; import { useTVFocusAnimation } from "./hooks/useTVFocusAnimation"; export interface TVActorCardProps { person: { Id?: string | null; Name?: string | null; Role?: string | null; }; apiBasePath?: string; onPress: () => void; hasTVPreferredFocus?: boolean; } export const TVActorCard = React.forwardRef( ({ person, apiBasePath, onPress, hasTVPreferredFocus }, ref) => { const typography = useScaledTVTypography(); const { focused, handleFocus, handleBlur, animatedStyle } = useTVFocusAnimation({ scaleAmount: 1.08 }); const imageUrl = person.Id ? `${apiBasePath}/Items/${person.Id}/Images/Primary?fillWidth=280&fillHeight=280&quality=90` : null; return ( {imageUrl ? ( ) : ( )} {person.Name} {person.Role && ( {person.Role} )} ); }, );