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 &&
)}