";
+ html += "
";
html += '';
html += '' + item.Name + '';
html += "
";
diff --git a/dashboard-ui/scripts/librarybrowser.js b/dashboard-ui/scripts/librarybrowser.js
index 96e0351160..dca882b45d 100644
--- a/dashboard-ui/scripts/librarybrowser.js
+++ b/dashboard-ui/scripts/librarybrowser.js
@@ -472,7 +472,12 @@
}
if (item.CollectionType == 'channels') {
- return 'channelslatest.html';
+
+ if (AppInfo.enableLatestChannelItems) {
+ return 'channelslatest.html';
+ } else {
+ return 'channels.html';
+ }
}
if (context != 'folders') {
diff --git a/dashboard-ui/scripts/librarylist.js b/dashboard-ui/scripts/librarylist.js
index e2a80d07f6..90508c342b 100644
--- a/dashboard-ui/scripts/librarylist.js
+++ b/dashboard-ui/scripts/librarylist.js
@@ -919,8 +919,8 @@
function resetImages(page) {
- //$('cardImage', page).remove();
- $('.cardImage', page).each(resetCardImage);
+ $('cardImage', page).remove();
+ //$('.cardImage', page).each(resetCardImage);
}
$(document).on('pageinit', ".libraryPage", function () {
diff --git a/dashboard-ui/scripts/moviesrecommended.js b/dashboard-ui/scripts/moviesrecommended.js
index 42fac1951a..7aa56d39e2 100644
--- a/dashboard-ui/scripts/moviesrecommended.js
+++ b/dashboard-ui/scripts/moviesrecommended.js
@@ -2,10 +2,14 @@
function loadLatest(page, userId, parentId) {
+ var limit = AppInfo.hasLowImageBandwidth ?
+ 15 :
+ 18;
+
var options = {
IncludeItemTypes: "Movie",
- Limit: 18,
+ Limit: limit,
Fields: "PrimaryImageAspectRatio,MediaSourceCount,SyncInfo",
ParentId: parentId,
ImageTypeLimit: 1,
@@ -24,6 +28,46 @@
});
}
+ function loadResume(page, userId, parentId) {
+
+ var screenWidth = $(window).width();
+
+ var options = {
+
+ SortBy: "DatePlayed",
+ SortOrder: "Descending",
+ IncludeItemTypes: "Movie",
+ Filters: "IsResumable",
+ Limit: screenWidth >= 1920 ? 6 : (screenWidth >= 1600 ? 4 : 3),
+ Recursive: true,
+ Fields: "PrimaryImageAspectRatio,MediaSourceCount,SyncInfo",
+ CollapseBoxSetItems: false,
+ ParentId: parentId,
+ ImageTypeLimit: 1,
+ EnableImageTypes: "Primary,Backdrop,Banner,Thumb"
+ };
+
+ ApiClient.getItems(userId, options).done(function (result) {
+
+ if (result.Items.length) {
+ $('#resumableSection', page).show();
+ } else {
+ $('#resumableSection', page).hide();
+ }
+
+ $('#resumableItems', page).html(LibraryBrowser.getPosterViewHtml({
+ items: result.Items,
+ preferThumb: true,
+ shape: 'backdrop',
+ overlayText: true,
+ showTitle: true,
+ lazy: true
+
+ })).lazyChildren().trigger('create');
+
+ });
+ }
+
function getRecommendationHtml(recommendation) {
var html = '';
@@ -62,58 +106,10 @@
return html;
}
- $(document).on('pageinit', "#moviesRecommendedPage", function () {
-
- var page = this;
-
- $('.recommendations', page).createCardMenus();
-
- }).on('pagebeforeshow', "#moviesRecommendedPage", function () {
-
- var parentId = LibraryMenu.getTopParentId();
+ function loadSuggestions(page, userId, parentId) {
var screenWidth = $(window).width();
- var page = this;
- var userId = Dashboard.getCurrentUserId();
-
- var options = {
-
- SortBy: "DatePlayed",
- SortOrder: "Descending",
- IncludeItemTypes: "Movie",
- Filters: "IsResumable",
- Limit: screenWidth >= 1920 ? 6 : (screenWidth >= 1600 ? 4 : 3),
- Recursive: true,
- Fields: "PrimaryImageAspectRatio,MediaSourceCount,SyncInfo",
- CollapseBoxSetItems: false,
- ParentId: parentId,
- ImageTypeLimit: 1,
- EnableImageTypes: "Primary,Backdrop,Banner,Thumb"
- };
-
- ApiClient.getItems(userId, options).done(function (result) {
-
- if (result.Items.length) {
- $('#resumableSection', page).show();
- } else {
- $('#resumableSection', page).hide();
- }
-
- $('#resumableItems', page).html(LibraryBrowser.getPosterViewHtml({
- items: result.Items,
- preferThumb: true,
- shape: 'backdrop',
- overlayText: true,
- showTitle: true,
- lazy: true
-
- })).lazyChildren().trigger('create');
-
- });
-
- loadLatest(page, userId, parentId);
-
var url = ApiClient.getUrl("Movies/Recommendations", {
userId: userId,
@@ -138,6 +134,27 @@
$('.noItemsMessage', page).hide();
$('.recommendations', page).html(html).lazyChildren();
});
+ }
+
+ $(document).on('pageinit', "#moviesRecommendedPage", function () {
+
+ var page = this;
+
+ $('.recommendations', page).createCardMenus();
+
+ }).on('pagebeforeshow', "#moviesRecommendedPage", function () {
+
+ var parentId = LibraryMenu.getTopParentId();
+
+ var page = this;
+ var userId = Dashboard.getCurrentUserId();
+
+ loadResume(page, userId, parentId);
+ loadLatest(page, userId, parentId);
+
+ if (!AppInfo.hasLowImageBandwidth) {
+ loadSuggestions(page, userId, parentId);
+ }
});
diff --git a/dashboard-ui/scripts/site.js b/dashboard-ui/scripts/site.js
index 313bbbf939..7b71129395 100644
--- a/dashboard-ui/scripts/site.js
+++ b/dashboard-ui/scripts/site.js
@@ -1354,12 +1354,12 @@ var Dashboard = {
var isBackdrop = imageType.toLowerCase() == 'backdrop';
if (isBackdrop) {
- quality -= 15;
+ quality -= 10;
}
if (AppInfo.hasLowImageBandwidth) {
- quality -= 10;
+ quality -= 15;
if (isBackdrop) {
quality -= 10;
@@ -1487,6 +1487,16 @@ var AppInfo = {};
AppInfo.enableHeadRoom = true;
}
}
+
+ if (!AppInfo.hasLowImageBandwidth) {
+ AppInfo.enableLatestChannelItems = true;
+ AppInfo.enableStudioTabs = true;
+ AppInfo.enablePeopleTabs = true;
+ AppInfo.enableTvEpisodesTab = true;
+ AppInfo.enableMusicSongsTab = true;
+ AppInfo.enableMusicArtistsTab = true;
+ AppInfo.enableHomeLatestTab = true;
+ }
}
function initializeApiClient(apiClient) {
@@ -1559,6 +1569,38 @@ var AppInfo = {};
$(document.body).addClass('largeCardMargin');
}
+ if (!AppInfo.enableLatestChannelItems) {
+ $(document.body).addClass('latestChannelItemsDisabled');
+ }
+
+ if (!AppInfo.enableStudioTabs) {
+ $(document.body).addClass('studioTabDisabled');
+ }
+
+ if (!AppInfo.enablePeopleTabs) {
+ $(document.body).addClass('peopleTabDisabled');
+ }
+
+ if (!AppInfo.enableTvEpisodesTab) {
+ $(document.body).addClass('tvEpisodesTabDisabled');
+ }
+
+ if (!AppInfo.enableMusicSongsTab) {
+ $(document.body).addClass('musicSongsTabDisabled');
+ }
+
+ if (!AppInfo.enableMusicArtistsTab) {
+ $(document.body).addClass('musicArtistsTabDisabled');
+ }
+
+ if (!AppInfo.enableHomeLatestTab) {
+ $(document.body).addClass('homeLatestTabDisabled');
+ }
+
+ if (Dashboard.isRunningInCordova()) {
+ $(document).addClass('nativeApp');
+ }
+
var videoPlayerHtml = '
diff --git a/dashboard-ui/tvpeople.html b/dashboard-ui/tvpeople.html
index 4c93612faf..3af811e360 100644
--- a/dashboard-ui/tvpeople.html
+++ b/dashboard-ui/tvpeople.html
@@ -10,10 +10,10 @@
${TabLatest}
${TabUpcoming}
${TabShows}
-
${TabEpisodes}
+
${TabEpisodes}
${TabGenres}
${TabPeople}
-
${TabNetworks}
+
${TabNetworks}
diff --git a/dashboard-ui/tvrecommended.html b/dashboard-ui/tvrecommended.html
index 62ef7c3113..756913afdb 100644
--- a/dashboard-ui/tvrecommended.html
+++ b/dashboard-ui/tvrecommended.html
@@ -8,7 +8,7 @@
diff --git a/dashboard-ui/tvupcoming.html b/dashboard-ui/tvupcoming.html
index 4ace1a5ff3..49d32cd8dc 100644
--- a/dashboard-ui/tvupcoming.html
+++ b/dashboard-ui/tvupcoming.html
@@ -7,7 +7,7 @@