diff --git a/src/components/alphaPicker/AlphaPickerComponent.js b/src/components/alphaPicker/AlphaPickerComponent.js index 717b9f969..ae325c24f 100644 --- a/src/components/alphaPicker/AlphaPickerComponent.js +++ b/src/components/alphaPicker/AlphaPickerComponent.js @@ -21,10 +21,6 @@ const AlphaPickerComponent = ({ onAlphaPicked = () => {} }) => { }; }, []); - useEffect(() => { - - }, [ alphaPicker ]); - return (
{ - const [ apiClient, setApiClient ] = useState(); const [ movies, setMovies ] = useState([]); const [ episodes, setEpisodes ] = useState([]); const [ sports, setSports ] = useState([]); @@ -55,10 +57,6 @@ const LiveTVSearchResults = ({ serverId, parentId, collectionType, query }) => { const isLiveTV = () => collectionType === 'livetv'; - useEffect(() => { - if (serverId) setApiClient(ServerConnections.getApiClient(serverId)); - }, [ serverId ]); - useEffect(() => { // Reset state setMovies([]); @@ -70,6 +68,8 @@ const LiveTVSearchResults = ({ serverId, parentId, collectionType, query }) => { setVideos([]); if (query && isLiveTV()) { + const apiClient = ServerConnections.getApiClient(serverId); + // Movies row fetchItems(apiClient, { IncludeItemTypes: 'LiveTvProgram', diff --git a/src/components/search/SearchResults.js b/src/components/search/SearchResults.js index daf32d477..7aaa55b50 100644 --- a/src/components/search/SearchResults.js +++ b/src/components/search/SearchResults.js @@ -6,8 +6,10 @@ import globalize from '../../scripts/globalize'; import ServerConnections from '../ServerConnections'; import SearchResultsRow from './SearchResultsRow'; -const SearchResultsComponent = ({ serverId, parentId, collectionType, query }) => { - const [ apiClient, setApiClient ] = useState(); +/* + * React component to display search result rows for global search and non-live tv library search + */ +const SearchResults = ({ serverId, parentId, collectionType, query }) => { const [ movies, setMovies ] = useState([]); const [ shows, setShows ] = useState([]); const [ episodes, setEpisodes ] = useState([]); @@ -71,10 +73,6 @@ const SearchResultsComponent = ({ serverId, parentId, collectionType, query }) = const isTVShows = () => collectionType === 'tvshows' || collectionType === 'tv'; - useEffect(() => { - if (serverId) setApiClient(ServerConnections.getApiClient(serverId)); - }, [ serverId ]); - useEffect(() => { // Reset state setMovies([]); @@ -93,6 +91,8 @@ const SearchResultsComponent = ({ serverId, parentId, collectionType, query }) = setPeople([]); if (query) { + const apiClient = ServerConnections.getApiClient(serverId); + // Movie libraries if (!collectionType || isMovies()) { // Movies row @@ -248,11 +248,11 @@ const SearchResultsComponent = ({ serverId, parentId, collectionType, query }) = ); }; -SearchResultsComponent.propTypes = { +SearchResults.propTypes = { serverId: PropTypes.string, parentId: PropTypes.string, collectionType: PropTypes.string, query: PropTypes.string }; -export default SearchResultsComponent; +export default SearchResults; diff --git a/src/components/search/SearchResultsRow.js b/src/components/search/SearchResultsRow.js index df40154cb..3667d8486 100644 --- a/src/components/search/SearchResultsRow.js +++ b/src/components/search/SearchResultsRow.js @@ -3,6 +3,9 @@ import React, { useEffect, useRef } from 'react'; import cardBuilder from '../cardbuilder/cardBuilder'; +import '../../elements/emby-scroller/emby-scroller'; +import '../../elements/emby-itemscontainer/emby-itemscontainer'; + // There seems to be some compatibility issues here between // React and our legacy web components, so we need to inject // them as an html string for now =/ diff --git a/src/components/search/SearchSuggestions.js b/src/components/search/SearchSuggestions.js index 23fab5cf1..fbfd2de8a 100644 --- a/src/components/search/SearchSuggestions.js +++ b/src/components/search/SearchSuggestions.js @@ -5,6 +5,8 @@ import { appRouter } from '../appRouter'; import globalize from '../../scripts/globalize'; import ServerConnections from '../ServerConnections'; +import '../../elements/emby-button/emby-button'; + // There seems to be some compatibility issues here between // React and our legacy web components, so we need to inject // them as an html string for now =/