From 17f44e3fac033ece23c81a08bfc911093ed4a2de Mon Sep 17 00:00:00 2001 From: SenorSmartyPants Date: Thu, 20 Jan 2022 15:58:14 -0600 Subject: [PATCH 1/2] Display MediaSourceCount for all media Types All items support alternate local versions, even if it's not documented. Tested with episode and musicVideo types. Added MSC to list items as well. --- src/components/homesections/homesections.js | 2 +- src/components/listview/listview.js | 5 +++++ src/controllers/itemDetails/index.js | 3 ++- src/controllers/list.js | 4 ++-- src/controllers/shows/tvrecommended.js | 2 +- 5 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/components/homesections/homesections.js b/src/components/homesections/homesections.js index 94f0e2d3aa..b46bb1f762 100644 --- a/src/components/homesections/homesections.js +++ b/src/components/homesections/homesections.js @@ -607,7 +607,7 @@ import ServerConnections from '../ServerConnections'; oldestDateForNextUp.setDate(oldestDateForNextUp.getDate() - userSettings.maxDaysForNextUp()); return apiClient.getNextUpEpisodes({ Limit: enableScrollX() ? 24 : 15, - Fields: 'PrimaryImageAspectRatio,DateCreated,BasicSyncInfo,Path', + Fields: 'PrimaryImageAspectRatio,DateCreated,BasicSyncInfo,Path,MediaSourceCount', UserId: apiClient.getCurrentUserId(), ImageTypeLimit: 1, EnableImageTypes: 'Primary,Backdrop,Banner,Thumb', diff --git a/src/components/listview/listview.js b/src/components/listview/listview.js index 3bc9582796..037d75de90 100644 --- a/src/components/listview/listview.js +++ b/src/components/listview/listview.js @@ -282,6 +282,11 @@ import ServerConnections from '../ServerConnections'; html += '
' + cardBuilder.getDefaultText(item, options); } + const mediaSourceCount = item.MediaSourceCount || 1; + if (mediaSourceCount > 1 && options.disableIndicators !== true) { + html += '
' + mediaSourceCount + '
'; + } + let indicatorsHtml = ''; indicatorsHtml += indicators.getPlayedIndicatorHtml(item); diff --git a/src/controllers/itemDetails/index.js b/src/controllers/itemDetails/index.js index 77299f5da1..d3dda0f861 100644 --- a/src/controllers/itemDetails/index.js +++ b/src/controllers/itemDetails/index.js @@ -864,7 +864,8 @@ function renderNextUp(page, item, user) { ServerConnections.getApiClient(item.ServerId).getNextUpEpisodes({ SeriesId: item.Id, - UserId: user.Id + UserId: user.Id, + Fields: 'MediaSourceCount', }).then(function (result) { if (result.Items.length) { section.classList.remove('hide'); diff --git a/src/controllers/list.js b/src/controllers/list.js index 6d1499366a..dc4deba67e 100644 --- a/src/controllers/list.js +++ b/src/controllers/list.js @@ -251,7 +251,7 @@ import { appRouter } from '../components/appRouter'; if (params.type === 'nextup') { return apiClient.getNextUpEpisodes(modifyQueryWithFilters(instance, { Limit: limit, - Fields: 'PrimaryImageAspectRatio,DateCreated,BasicSyncInfo', + Fields: 'PrimaryImageAspectRatio,DateCreated,BasicSyncInfo,MediaSourceCount', UserId: apiClient.getCurrentUserId(), ImageTypeLimit: 1, EnableImageTypes: 'Primary,Backdrop,Thumb', @@ -320,7 +320,7 @@ import { appRouter } from '../components/appRouter'; return apiClient.getItems(apiClient.getCurrentUserId(), modifyQueryWithFilters(instance, { StartIndex: startIndex, Limit: limit, - Fields: 'PrimaryImageAspectRatio,SortName,Path,SongCount,ChildCount', + Fields: 'PrimaryImageAspectRatio,SortName,Path,SongCount,ChildCount,MediaSourceCount', ImageTypeLimit: 1, ParentId: item.Id, SortBy: sortBy diff --git a/src/controllers/shows/tvrecommended.js b/src/controllers/shows/tvrecommended.js index 1f523df7b6..949c631cac 100644 --- a/src/controllers/shows/tvrecommended.js +++ b/src/controllers/shows/tvrecommended.js @@ -178,7 +178,7 @@ import autoFocuser from '../../components/autoFocuser'; const query = { userId: userId, Limit: 24, - Fields: 'PrimaryImageAspectRatio,DateCreated,BasicSyncInfo', + Fields: 'PrimaryImageAspectRatio,DateCreated,BasicSyncInfo,MediaSourceCount', ParentId: parentId, ImageTypeLimit: 1, EnableImageTypes: 'Primary,Backdrop,Thumb', From 02744dbffcc1564817b56f1085991217c68bd526 Mon Sep 17 00:00:00 2001 From: SenorSmartyPants Date: Thu, 20 Jan 2022 16:06:24 -0600 Subject: [PATCH 2/2] Fix dangling comma --- src/controllers/itemDetails/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/controllers/itemDetails/index.js b/src/controllers/itemDetails/index.js index d3dda0f861..2889709301 100644 --- a/src/controllers/itemDetails/index.js +++ b/src/controllers/itemDetails/index.js @@ -865,7 +865,7 @@ function renderNextUp(page, item, user) { ServerConnections.getApiClient(item.ServerId).getNextUpEpisodes({ SeriesId: item.Id, UserId: user.Id, - Fields: 'MediaSourceCount', + Fields: 'MediaSourceCount' }).then(function (result) { if (result.Items.length) { section.classList.remove('hide');