From e0e9853d49da889c9b1ce7cd66f206ced2bf8e68 Mon Sep 17 00:00:00 2001 From: theguymadmax Date: Fri, 18 Jul 2025 17:15:11 -0400 Subject: [PATCH] Add play all button to movies --- src/apps/experimental/routes/movies/index.tsx | 1 + src/controllers/movies/movies.html | 1 + src/controllers/movies/movies.js | 10 ++++++++++ 3 files changed, 12 insertions(+) diff --git a/src/apps/experimental/routes/movies/index.tsx b/src/apps/experimental/routes/movies/index.tsx index b9e78263b5..9d509037b2 100644 --- a/src/apps/experimental/routes/movies/index.tsx +++ b/src/apps/experimental/routes/movies/index.tsx @@ -11,6 +11,7 @@ import { MovieSuggestionsSectionsView } from 'types/sections'; const moviesTabContent: LibraryTabContent = { viewType: LibraryTab.Movies, collectionType: CollectionType.Movies, + isBtnPlayAllEnabled: true, isBtnShuffleEnabled: true, itemType: [BaseItemKind.Movie] }; diff --git a/src/controllers/movies/movies.html b/src/controllers/movies/movies.html index 5791ddf8d8..7fb94ecf25 100644 --- a/src/controllers/movies/movies.html +++ b/src/controllers/movies/movies.html @@ -3,6 +3,7 @@
+ diff --git a/src/controllers/movies/movies.js b/src/controllers/movies/movies.js index e8c37f7f92..e1617b483c 100644 --- a/src/controllers/movies/movies.js +++ b/src/controllers/movies/movies.js @@ -30,6 +30,14 @@ export default function (view, params, tabContent, options) { return ApiClient.getItems(ApiClient.getCurrentUserId(), query); } + function playAll() { + ApiClient.getItem(ApiClient.getCurrentUserId(), params.topParentId).then(function (item) { + playbackManager.play({ + items: [item] + }); + }); + } + function shuffle() { isLoading = true; loading.show(); @@ -94,6 +102,7 @@ export default function (view, params, tabContent, options) { elem.addEventListener('click', onPreviousPageClick); } + tabContent.querySelector('.btnPlayAll')?.classList.toggle('hide', result.TotalRecordCount < 1); tabContent.querySelector('.btnShuffle')?.classList.toggle('hide', result.TotalRecordCount < 1); isLoading = false; @@ -266,6 +275,7 @@ export default function (view, params, tabContent, options) { itemsContainer.refreshItems(); }); + tabElement.querySelector('.btnPlayAll').addEventListener('click', playAll); tabElement.querySelector('.btnShuffle')?.addEventListener('click', shuffle); };