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 0cbc638417..6308ab1d9c 100644
--- a/src/controllers/itemDetails/index.js
+++ b/src/controllers/itemDetails/index.js
@@ -868,7 +868,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 2ec22ff6c4..c271cfa7a3 100644
--- a/src/controllers/list.js
+++ b/src/controllers/list.js
@@ -254,7 +254,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',
@@ -323,7 +323,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',