diff --git a/packages/app/src/components/MediaRow/ModernMediaRow.js b/packages/app/src/components/MediaRow/ModernMediaRow.js index 760826d4..d6dd8b4f 100644 --- a/packages/app/src/components/MediaRow/ModernMediaRow.js +++ b/packages/app/src/components/MediaRow/ModernMediaRow.js @@ -38,7 +38,7 @@ const ModernMediaRow = ({ const keyPrefix = rowId || title || rowIndex || ''; useEffect(() => { - const el = rowElementRef.current; + const el = document.querySelector(`[data-row-index="${rowIndex}"]`) || rowElementRef.current; registerRowRef?.(rowIndex, el); return () => registerRowRef?.(rowIndex, null); }, [rowIndex, registerRowRef]); @@ -100,10 +100,10 @@ const ModernMediaRow = ({ const handleBlur = useCallback((e) => { const nextTarget = e.relatedTarget; - const rowNode = rowElementRef.current; - if (rowNode && nextTarget && rowNode.contains(nextTarget)) return; + const rowNode = document.querySelector(`[data-row-index="${rowIndex}"]`) || rowElementRef.current; + if (rowNode && nextTarget && typeof rowNode.contains === 'function' && rowNode.contains(nextTarget)) return; setFocusedItemId(null); - }, []); + }, [rowIndex]); const handleFocusedChange = useCallback((itemId) => { setFocusedItemId(itemId || null); diff --git a/packages/app/src/views/Browse/Browse.js b/packages/app/src/views/Browse/Browse.js index d689b5a9..40c92bef 100644 --- a/packages/app/src/views/Browse/Browse.js +++ b/packages/app/src/views/Browse/Browse.js @@ -940,7 +940,7 @@ const Browse = ({ api.getResumeItems(), api.getNextUp(), api.getUserConfiguration().catch(() => null), - api.getRandomItems(settings.featuredContentType, settings.featuredItemCount), + api.getRandomItems(settings.featuredContentType, settings.featuredItemCount).catch(() => null), settings.mergeContinueWatchingNextUp ? api.getItems({ IncludeItemTypes: 'Episode', Filters: 'IsPlayed',