diff --git a/src/components/maintabsmanager.js b/src/components/maintabsmanager.js index 36aa17b49a..5ce5b55c9a 100644 --- a/src/components/maintabsmanager.js +++ b/src/components/maintabsmanager.js @@ -138,21 +138,23 @@ import '../elements/emby-button/emby-button'; configureSwipeTabs(view, tabsElem); - tabsElem.addEventListener('beforetabchange', function (e) { - const tabContainers = getTabContainersFn(); - if (e.detail.previousIndex != null) { - const previousPanel = tabContainers[e.detail.previousIndex]; - if (previousPanel) { - previousPanel.classList.remove('is-active'); + if (getTabContainersFn) { + tabsElem.addEventListener('beforetabchange', function (e) { + const tabContainers = getTabContainersFn(); + if (e.detail.previousIndex != null) { + const previousPanel = tabContainers[e.detail.previousIndex]; + if (previousPanel) { + previousPanel.classList.remove('is-active'); + } } - } - const newPanel = tabContainers[e.detail.selectedTabIndex]; + const newPanel = tabContainers[e.detail.selectedTabIndex]; - if (newPanel) { - newPanel.classList.add('is-active'); - } - }); + if (newPanel) { + newPanel.classList.add('is-active'); + } + }); + } if (onBeforeTabChange) { tabsElem.addEventListener('beforetabchange', onBeforeTabChange); diff --git a/src/strings/en-us.json b/src/strings/en-us.json index 4fa437b462..37e3c5bb43 100644 --- a/src/strings/en-us.json +++ b/src/strings/en-us.json @@ -1065,6 +1065,7 @@ "MessageItemsAdded": "Items added.", "MessageItemSaved": "Item saved.", "MessageLeaveEmptyToInherit": "Leave empty to inherit settings from a parent item or the global default value.", + "MessageNoFavoritesAvailable": "No favorites are currently available.", "MessageNoAvailablePlugins": "No available plugins.", "MessageNoCollectionsAvailable": "Collections allow you to enjoy personalized groupings of Movies, Series, and Albums. Click the '+' button to start creating collections.", "MessageNoGenresAvailable": "Enable some metadata providers to pull genres from the internet.", diff --git a/src/view/components/GenresItemsContainer.tsx b/src/view/components/GenresItemsContainer.tsx index 65ca30448a..2a616f0a82 100644 --- a/src/view/components/GenresItemsContainer.tsx +++ b/src/view/components/GenresItemsContainer.tsx @@ -1,14 +1,15 @@ -import { BaseItemDtoQueryResult } from '@thornbill/jellyfin-sdk/dist/generated-client'; -import React, { FunctionComponent, useCallback, useEffect, useRef } from 'react'; - -import cardBuilder from '../../components/cardbuilder/cardBuilder'; -import globalize from '../../scripts/globalize'; -import lazyLoader from '../../components/lazyLoader/lazyLoaderIntersectionObserver'; -import layoutManager from '../../components/layoutManager'; -import { appRouter } from '../../components/appRouter'; -import escapeHTML from 'escape-html'; import '../../elements/emby-button/emby-button'; import '../../elements/emby-itemscontainer/emby-itemscontainer'; + +import { BaseItemDtoQueryResult } from '@thornbill/jellyfin-sdk/dist/generated-client'; +import escapeHTML from 'escape-html'; +import React, { FunctionComponent, useCallback, useEffect, useRef } from 'react'; + +import { appRouter } from '../../components/appRouter'; +import cardBuilder from '../../components/cardbuilder/cardBuilder'; +import layoutManager from '../../components/layoutManager'; +import lazyLoader from '../../components/lazyLoader/lazyLoaderIntersectionObserver'; +import globalize from '../../scripts/globalize'; import { IQuery } from './type'; type GenresItemsContainerProps = { diff --git a/src/view/movies/MoviesView.tsx b/src/view/movies/MoviesView.tsx index 74e72da160..4a6d19be6d 100644 --- a/src/view/movies/MoviesView.tsx +++ b/src/view/movies/MoviesView.tsx @@ -141,7 +141,7 @@ const MoviesView: FunctionComponent = ({ topParentId }: IProps) => { - +