diff --git a/components/search/TVJellyseerrSearchResults.tsx b/components/search/TVJellyseerrSearchResults.tsx
index cba3a5548..699c50401 100644
--- a/components/search/TVJellyseerrSearchResults.tsx
+++ b/components/search/TVJellyseerrSearchResults.tsx
@@ -401,10 +401,6 @@ export const TVJellyseerrSearchResults: React.FC<
}) => {
const { t } = useTranslation();
- const hasMovies = movieResults && movieResults.length > 0;
- const hasTv = tvResults && tvResults.length > 0;
- const hasPersons = personResults && personResults.length > 0;
-
if (loading) {
return null;
}
@@ -431,22 +427,26 @@ export const TVJellyseerrSearchResults: React.FC<
return (
+ {/* No section requests `hasTVPreferredFocus`: the native search field
+ keeps focus while typing, otherwise the first result would re-grab
+ focus on every keystroke as results re-render. The user navigates
+ down to the grid manually. */}
diff --git a/components/search/TVSearchPage.tsx b/components/search/TVSearchPage.tsx
index ab928d845..54ad07e1e 100644
--- a/components/search/TVSearchPage.tsx
+++ b/components/search/TVSearchPage.tsx
@@ -280,13 +280,17 @@ export const TVSearchPage: React.FC = ({
{/* Library Search Results */}
{isLibraryMode && !loading && (
- {sections.map((section, index) => (
+ {sections.map((section) => (