+
-
diff --git a/src/controllers/movies/moviesrecommended.js b/src/controllers/movies/moviesrecommended.js
index 27ddbe615e..2fe0a57d27 100644
--- a/src/controllers/movies/moviesrecommended.js
+++ b/src/controllers/movies/moviesrecommended.js
@@ -231,8 +231,6 @@ function getTabs() {
name: globalize.translate('Movies')
}, {
name: globalize.translate('Suggestions')
- }, {
- name: globalize.translate('Trailers')
}, {
name: globalize.translate('Favorites')
}, {
@@ -248,13 +246,13 @@ function getDefaultTabIndex(folderId) {
return 1;
case LibraryTab.Favorites:
- return 3;
+ return 2;
case LibraryTab.Collections:
- return 4;
+ return 3;
case LibraryTab.Genres:
- return 5;
+ return 4;
default:
return 0;
@@ -280,30 +278,18 @@ export default function (view, params) {
}
const getTabController = (page, index, callback) => {
- let depends = '';
+ let depends = 'movies';
switch (index) {
- case 0:
- depends = 'movies';
- break;
-
case 1:
depends = 'moviesrecommended.js';
break;
- case 2:
- depends = 'movietrailers';
- break;
-
case 3:
- depends = 'movies';
- break;
-
- case 4:
depends = 'moviecollections';
break;
- case 5:
+ case 4:
depends = 'moviegenres';
break;
}
@@ -323,7 +309,7 @@ export default function (view, params) {
if (index === suggestionsTabIndex) {
controller = this;
- } else if (index == 0 || index == 3) {
+ } else if (index == 0 || index == 2) {
controller = new ControllerFactory(view, params, tabContent, {
mode: index ? 'favorites' : 'movies'
});
diff --git a/src/controllers/movies/movietrailers.js b/src/controllers/movies/movietrailers.js
deleted file mode 100644
index 9607bbc7c6..0000000000
--- a/src/controllers/movies/movietrailers.js
+++ /dev/null
@@ -1,275 +0,0 @@
-import loading from '../../components/loading/loading';
-import libraryBrowser from '../../scripts/libraryBrowser';
-import imageLoader from '../../components/images/imageLoader';
-import { AlphaPicker } from '../../components/alphaPicker/alphaPicker';
-import listView from '../../components/listview/listview';
-import cardBuilder from '../../components/cardbuilder/cardBuilder';
-import * as userSettings from '../../scripts/settings/userSettings';
-import globalize from '../../lib/globalize';
-import Events from '../../utils/events.ts';
-import { setFilterStatus } from 'components/filterdialog/filterIndicator';
-
-import '../../elements/emby-itemscontainer/emby-itemscontainer';
-
-export default function (view, params, tabContent) {
- function getPageData() {
- const key = getSavedQueryKey();
- let pageData = data[key];
-
- if (!pageData) {
- pageData = data[key] = {
- query: {
- SortBy: 'SortName',
- SortOrder: 'Ascending',
- IncludeItemTypes: 'Trailer',
- Recursive: true,
- Fields: 'PrimaryImageAspectRatio,SortName',
- ImageTypeLimit: 1,
- EnableImageTypes: 'Primary,Backdrop,Banner,Thumb',
- StartIndex: 0
- },
- view: userSettings.getSavedView(key) || 'Poster'
- };
-
- if (userSettings.libraryPageSize() > 0) {
- pageData.query['Limit'] = userSettings.libraryPageSize();
- }
-
- userSettings.loadQuerySettings(key, pageData.query);
- }
-
- return pageData;
- }
-
- function getQuery() {
- return getPageData().query;
- }
-
- function getSavedQueryKey() {
- return params.topParentId + '-' + 'trailers';
- }
-
- const reloadItems = () => {
- loading.show();
- isLoading = true;
- const query = getQuery();
- setFilterStatus(tabContent, query);
-
- ApiClient.getItems(ApiClient.getCurrentUserId(), query).then((result) => {
- function onNextPageClick() {
- if (isLoading) {
- return;
- }
-
- if (userSettings.libraryPageSize() > 0) {
- query.StartIndex += query.Limit;
- }
- reloadItems();
- }
-
- function onPreviousPageClick() {
- if (isLoading) {
- return;
- }
-
- if (userSettings.libraryPageSize() > 0) {
- query.StartIndex = Math.max(0, query.StartIndex - query.Limit);
- }
- reloadItems();
- }
-
- window.scrollTo(0, 0);
- this.alphaPicker?.updateControls(query);
- const pagingHtml = libraryBrowser.getQueryPagingHtml({
- startIndex: query.StartIndex,
- limit: query.Limit,
- totalRecordCount: result.TotalRecordCount,
- showLimit: false,
- updatePageSizeSetting: false,
- addLayoutButton: false,
- sortButton: false,
- filterButton: false
- });
- let html;
- const viewStyle = this.getCurrentViewStyle();
-
- if (viewStyle == 'Thumb') {
- html = cardBuilder.getCardsHtml({
- items: result.Items,
- shape: 'backdrop',
- preferThumb: true,
- context: 'movies',
- overlayPlayButton: true
- });
- } else if (viewStyle == 'ThumbCard') {
- html = cardBuilder.getCardsHtml({
- items: result.Items,
- shape: 'backdrop',
- preferThumb: true,
- context: 'movies',
- cardLayout: true,
- showTitle: true,
- showYear: true,
- centerText: true
- });
- } else if (viewStyle == 'Banner') {
- html = cardBuilder.getCardsHtml({
- items: result.Items,
- shape: 'banner',
- preferBanner: true,
- context: 'movies'
- });
- } else if (viewStyle == 'List') {
- html = listView.getListViewHtml({
- items: result.Items,
- context: 'movies',
- sortBy: query.SortBy
- });
- } else if (viewStyle == 'PosterCard') {
- html = cardBuilder.getCardsHtml({
- items: result.Items,
- shape: 'portrait',
- context: 'movies',
- showTitle: true,
- showYear: true,
- cardLayout: true,
- centerText: true
- });
- } else {
- html = cardBuilder.getCardsHtml({
- items: result.Items,
- shape: 'portrait',
- context: 'movies',
- centerText: true,
- overlayPlayButton: true,
- showTitle: true,
- showYear: true
- });
- }
-
- let elems = tabContent.querySelectorAll('.paging');
-
- for (const elem of elems) {
- elem.innerHTML = pagingHtml;
- }
-
- elems = tabContent.querySelectorAll('.btnNextPage');
- for (const elem of elems) {
- elem.addEventListener('click', onNextPageClick);
- }
-
- elems = tabContent.querySelectorAll('.btnPreviousPage');
- for (const elem of elems) {
- elem.addEventListener('click', onPreviousPageClick);
- }
-
- if (!result.Items.length) {
- html = '';
-
- html += '
';
- html += '
' + globalize.translate('MessageNothingHere') + '
';
- html += '
' + globalize.translate('MessageNoTrailersFound') + '
';
- html += '
';
- }
-
- const itemsContainer = tabContent.querySelector('.itemsContainer');
- itemsContainer.innerHTML = html;
- imageLoader.lazyChildren(itemsContainer);
- userSettings.saveQuerySettings(getSavedQueryKey(), query);
- loading.hide();
- isLoading = false;
- });
- };
-
- const data = {};
- let isLoading = false;
-
- this.showFilterMenu = function () {
- import('../../components/filterdialog/filterdialog').then(({ default: FilterDialog }) => {
- const filterDialog = new FilterDialog({
- query: getQuery(),
- mode: 'movies',
- serverId: ApiClient.serverId()
- });
- Events.on(filterDialog, 'filterchange', function () {
- getQuery().StartIndex = 0;
- reloadItems();
- });
- filterDialog.show();
- });
- };
-
- this.getCurrentViewStyle = function () {
- return getPageData().view;
- };
-
- const initPage = (tabElement) => {
- const alphaPickerElement = tabElement.querySelector('.alphaPicker');
- const itemsContainer = tabElement.querySelector('.itemsContainer');
- alphaPickerElement.addEventListener('alphavaluechanged', function (e) {
- const newValue = e.detail.value;
- const query = getQuery();
- if (newValue === '#') {
- query.NameLessThan = 'A';
- delete query.NameStartsWith;
- } else {
- query.NameStartsWith = newValue;
- delete query.NameLessThan;
- }
- query.StartIndex = 0;
- reloadItems();
- });
- this.alphaPicker = new AlphaPicker({
- element: alphaPickerElement,
- valueChangeEvent: 'click'
- });
-
- tabElement.querySelector('.alphaPicker').classList.add('alphabetPicker-right');
- alphaPickerElement.classList.add('alphaPicker-fixed-right');
- itemsContainer.classList.add('padded-right-withalphapicker');
-
- tabElement.querySelector('.btnFilter').addEventListener('click', () => {
- this.showFilterMenu();
- });
- tabElement.querySelector('.btnSort').addEventListener('click', function (e) {
- libraryBrowser.showSortMenu({
- items: [{
- name: globalize.translate('Name'),
- id: 'SortName'
- }, {
- name: globalize.translate('OptionCommunityRating'),
- id: 'CommunityRating,SortName'
- }, {
- name: globalize.translate('OptionDateAdded'),
- id: 'DateCreated,SortName'
- }, {
- name: globalize.translate('OptionDatePlayed'),
- id: 'DatePlayed,SortName'
- }, {
- name: globalize.translate('OptionParentalRating'),
- id: 'OfficialRating,SortName'
- }, {
- name: globalize.translate('OptionPlayCount'),
- id: 'PlayCount,SortName'
- }, {
- name: globalize.translate('OptionReleaseDate'),
- id: 'PremiereDate,SortName'
- }],
- callback: function () {
- getQuery().StartIndex = 0;
- reloadItems();
- },
- query: getQuery(),
- button: e.target
- });
- });
- };
-
- initPage(tabContent);
-
- this.renderTab = () => {
- reloadItems();
- this.alphaPicker?.updateControls(getQuery());
- };
-}
-
diff --git a/src/hooks/useFetchItems.ts b/src/hooks/useFetchItems.ts
index 8ff38cb0ef..27c7fcd4e9 100644
--- a/src/hooks/useFetchItems.ts
+++ b/src/hooks/useFetchItems.ts
@@ -374,7 +374,6 @@ export const useGetItemsViewByType = (
LibraryTab.Movies,
LibraryTab.Favorites,
LibraryTab.Collections,
- LibraryTab.Trailers,
LibraryTab.Series,
LibraryTab.Episodes,
LibraryTab.Networks,
diff --git a/src/strings/en-us.json b/src/strings/en-us.json
index affcf90a10..f5e71049ef 100644
--- a/src/strings/en-us.json
+++ b/src/strings/en-us.json
@@ -1146,7 +1146,6 @@
"MessageNoRepositories": "No repositories.",
"MessageNoServersAvailable": "No servers have been found using the automatic server discovery.",
"MessageNothingHere": "Nothing here.",
- "MessageNoTrailersFound": "Install the trailers channel to enhance your movie experience by adding a library of internet trailers.",
"MessagePasswordResetForUsers": "The following users have had their passwords reset. They can now sign in with the PIN codes that were used to do the reset.",
"MessagePlayAccessRestricted": "Playback of this content is currently restricted. Please contact your server administrator for more information.",
"MessagePleaseEnsureInternetMetadata": "Please ensure downloading of internet metadata is enabled.",
diff --git a/src/types/libraryTab.ts b/src/types/libraryTab.ts
index 16840b3d9d..5479191e96 100644
--- a/src/types/libraryTab.ts
+++ b/src/types/libraryTab.ts
@@ -18,7 +18,6 @@ export enum LibraryTab {
SeriesTimers = 'seriestimers',
Songs = 'songs',
Suggestions = 'suggestions',
- Trailers = 'trailers',
Upcoming = 'upcoming',
PhotoAlbums = 'photoalbums',
Photos = 'photos',