diff --git a/src/controllers/movies/movies.html b/src/controllers/movies/movies.html
index 428b83de45..63fe332a8e 100644
--- a/src/controllers/movies/movies.html
+++ b/src/controllers/movies/movies.html
@@ -6,6 +6,7 @@
+
diff --git a/src/controllers/movies/movies.js b/src/controllers/movies/movies.js
index e8137fd764..22f0c18469 100644
--- a/src/controllers/movies/movies.js
+++ b/src/controllers/movies/movies.js
@@ -6,6 +6,7 @@ import { AlphaPicker } from '../../components/alphaPicker/alphaPicker';
import listView from '../../components/listview/listview';
import cardBuilder from '../../components/cardbuilder/cardBuilder';
import globalize from '../../scripts/globalize';
+import { playbackManager } from '../../components/playback/playbackmanager';
import '../../elements/emby-itemscontainer/emby-itemscontainer';
/* eslint-disable indent */
@@ -52,6 +53,19 @@ import '../../elements/emby-itemscontainer/emby-itemscontainer';
itemsContainer.refreshItems();
}
+ function onShuffleClick() {
+ if (isLoading) {
+ return;
+ }
+
+ ApiClient.getItem(
+ ApiClient.getCurrentUserId(),
+ params.topParentId
+ ).then(item => {
+ playbackManager.shuffle(item);
+ });
+ }
+
window.scrollTo(0, 0);
this.alphaPicker?.updateControls(query);
const pagingHtml = libraryBrowser.getQueryPagingHtml({
@@ -77,6 +91,10 @@ import '../../elements/emby-itemscontainer/emby-itemscontainer';
elem.addEventListener('click', onPreviousPageClick);
}
+ for (const elem of tabContent.querySelectorAll('.btnShuffle')) {
+ elem.addEventListener('click', onShuffleClick);
+ }
+
isLoading = false;
loading.hide();