diff --git a/src/components/home/ContentItem.tsx b/src/components/home/ContentItem.tsx index 8c1ea5e..1c7728c 100644 --- a/src/components/home/ContentItem.tsx +++ b/src/components/home/ContentItem.tsx @@ -53,8 +53,6 @@ const POSTER_WIDTH = posterLayout.posterWidth; const ContentItem = React.memo(({ item, onPress }: ContentItemProps) => { const [menuVisible, setMenuVisible] = useState(false); const [isWatched, setIsWatched] = useState(false); - const [imageLoaded, setImageLoaded] = useState(false); - const [imageError, setImageError] = useState(false); const { currentTheme } = useTheme(); const handleLongPress = useCallback(() => { @@ -108,25 +106,7 @@ const ContentItem = React.memo(({ item, onPress }: ContentItemProps) => { placeholder={{ uri: 'https://via.placeholder.com/300x450' }} placeholderContentFit="cover" recyclingKey={item.id} - onLoadStart={() => { - setImageLoaded(false); - setImageError(false); - }} - onLoadEnd={() => setImageLoaded(true)} - onError={() => { - setImageError(true); - setImageLoaded(true); - }} /> - {(!imageLoaded || imageError) && ( - - {!imageError ? ( - - ) : ( - - )} - - )} {isWatched && ( diff --git a/src/screens/MetadataScreen.tsx b/src/screens/MetadataScreen.tsx index e553d24..a91fcc5 100644 --- a/src/screens/MetadataScreen.tsx +++ b/src/screens/MetadataScreen.tsx @@ -281,6 +281,11 @@ const MetadataScreen: React.FC = () => { return ErrorComponent; } + // Show loading screen if metadata is not yet available + if (loading || !isContentReady) { + return ; + } + return ( { /> {/* Cast Section with skeleton when loading */} - {loadingCast ? ( - - - - {[...Array(4)].map((_, index) => ( - - ))} - - - ) : ( - - )} + {/* Recommendations Section with skeleton when loading */} {type === 'movie' && ( - loadingRecommendations ? ( - - - - {[...Array(3)].map((_, index) => ( - - ))} - - - ) : ( - - ) + )} {/* Series/Movie Content with episode skeleton when loading */} {type === 'series' ? ( - (loadingSeasons || Object.keys(groupedEpisodes).length === 0) ? ( - - - - {[...Array(6)].map((_, index) => ( - - ))} - - - ) : ( - - ) + ) : ( metadata && )}