diff --git a/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/cardbuilder.js b/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/cardbuilder.js
index 6f66afe8a9..94ba80f168 100644
--- a/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/cardbuilder.js
+++ b/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/cardbuilder.js
@@ -1273,7 +1273,7 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo
if (coveredImage) {
imgClass += ' coveredImage-img';
}
- cardImageContainerOpen += '
';
+ cardImageContainerOpen += '
';
} else {
cardImageContainerOpen = imgUrl ? ('
';
}
+ var supportsImageAnalysis = appHost.supports('imageanalysis');
+
html += cardBuilder.getCardsHtml({
items: group.items,
showLocationTypeIndicator: false,
@@ -118,9 +120,11 @@
showDetailsMenu: true,
centerText: true,
context: 'home-upcoming',
- overlayMoreButton: true,
+ overlayMoreButton: !supportsImageAnalysis,
showParentTitle: true,
- allowBottomPadding: allowBottomPadding
+ allowBottomPadding: allowBottomPadding,
+ cardLayout: supportsImageAnalysis,
+ vibrant: supportsImageAnalysis
});
html += '
';
diff --git a/dashboard-ui/scripts/itemdetailpage.js b/dashboard-ui/scripts/itemdetailpage.js
index bd96924a47..eec5bf5ea3 100644
--- a/dashboard-ui/scripts/itemdetailpage.js
+++ b/dashboard-ui/scripts/itemdetailpage.js
@@ -1143,7 +1143,7 @@
overlayText: true,
lazy: true,
showDetailsMenu: true,
- overlayPlayButton: AppInfo.enableAppLayouts
+ overlayPlayButton: true
});
}
else if (item.Type == "GameSystem") {
diff --git a/dashboard-ui/scripts/itemlistpage.js b/dashboard-ui/scripts/itemlistpage.js
index f39830105c..db312cad41 100644
--- a/dashboard-ui/scripts/itemlistpage.js
+++ b/dashboard-ui/scripts/itemlistpage.js
@@ -120,6 +120,7 @@
posterOptions.showYear = true;
posterOptions.cardLayout = true;
posterOptions.centerText = false;
+ posterOptions.vibrant = true;
html = cardBuilder.getCardsHtml(posterOptions);
}
diff --git a/dashboard-ui/scripts/livetvsuggested.js b/dashboard-ui/scripts/livetvsuggested.js
index d9712b35dc..27293ede0a 100644
--- a/dashboard-ui/scripts/livetvsuggested.js
+++ b/dashboard-ui/scripts/livetvsuggested.js
@@ -1,4 +1,4 @@
-define(['libraryBrowser', 'cardBuilder', 'dom', 'scrollStyles', 'emby-itemscontainer', 'emby-tabs', 'emby-button'], function (libraryBrowser, cardBuilder, dom) {
+define(['libraryBrowser', 'cardBuilder', 'apphost', 'scrollStyles', 'emby-itemscontainer', 'emby-tabs', 'emby-button'], function (libraryBrowser, cardBuilder, appHost) {
function enableScrollX() {
return browserInfo.mobile && AppInfo.enableAppLayouts;
@@ -113,6 +113,8 @@
function renderItems(page, items, sectionClass, overlayButton, shape) {
+ var supportsImageAnalysis = appHost.supports('imageanalysis');
+
var html = cardBuilder.getCardsHtml({
items: items,
preferThumb: !shape,
@@ -124,12 +126,14 @@
coverImage: true,
overlayText: false,
lazy: true,
- overlayMoreButton: overlayButton != 'play',
+ overlayMoreButton: overlayButton != 'play' && !supportsImageAnalysis,
overlayPlayButton: overlayButton == 'play',
allowBottomPadding: !enableScrollX(),
showAirTime: true,
showAirDateTime: true,
- showChannelName: true
+ showChannelName: true,
+ vibrant: true,
+ cardLayout: supportsImageAnalysis
//cardFooterAside: 'logo'
});
diff --git a/dashboard-ui/scripts/moviecollections.js b/dashboard-ui/scripts/moviecollections.js
index 901c86551a..7ef98822f5 100644
--- a/dashboard-ui/scripts/moviecollections.js
+++ b/dashboard-ui/scripts/moviecollections.js
@@ -113,7 +113,8 @@
lazy: true,
cardLayout: true,
showTitle: true,
- showItemCounts: true
+ showItemCounts: true,
+ vibrant: true
});
}
else if (viewStyle == "Banner") {
@@ -143,7 +144,8 @@
showTitle: true,
centerText: false,
cardLayout: true,
- showItemCounts: true
+ showItemCounts: true,
+ vibrant: true
});
}
else {
diff --git a/dashboard-ui/scripts/movies.js b/dashboard-ui/scripts/movies.js
index 9bce149fbb..2ad6bac06f 100644
--- a/dashboard-ui/scripts/movies.js
+++ b/dashboard-ui/scripts/movies.js
@@ -1,4 +1,4 @@
-define(['events', 'libraryBrowser', 'imageLoader', 'alphaPicker', 'listView', 'cardBuilder', 'emby-itemscontainer'], function (events, libraryBrowser, imageLoader, alphaPicker, listView, cardBuilder) {
+define(['events', 'libraryBrowser', 'imageLoader', 'alphaPicker', 'listView', 'cardBuilder', 'apphost', 'emby-itemscontainer'], function (events, libraryBrowser, imageLoader, alphaPicker, listView, cardBuilder, appHost) {
return function (view, params, tabContent) {
@@ -92,6 +92,8 @@
var html;
var viewStyle = self.getCurrentViewStyle();
+ var supportsImageAnalysis = appHost.supports('imageanalysis');
+
if (viewStyle == "Thumb") {
html = cardBuilder.getCardsHtml({
@@ -114,7 +116,7 @@
cardLayout: true,
showTitle: true,
showYear: true,
- vibrant: true
+ vibrant: supportsImageAnalysis
});
}
else if (viewStyle == "Banner") {
@@ -145,7 +147,7 @@
showYear: true,
lazy: true,
cardLayout: true,
- vibrant: true
+ vibrant: supportsImageAnalysis
});
}
else {
diff --git a/dashboard-ui/scripts/musicalbums.js b/dashboard-ui/scripts/musicalbums.js
index 543fca0a2d..bab36f1c95 100644
--- a/dashboard-ui/scripts/musicalbums.js
+++ b/dashboard-ui/scripts/musicalbums.js
@@ -110,7 +110,8 @@
coverImage: true,
showParentTitle: true,
lazy: true,
- cardLayout: true
+ cardLayout: true,
+ vibrant: true
});
}
else {
diff --git a/dashboard-ui/scripts/musicartists.js b/dashboard-ui/scripts/musicartists.js
index 7ba0904d03..7f0e0e76e7 100644
--- a/dashboard-ui/scripts/musicartists.js
+++ b/dashboard-ui/scripts/musicartists.js
@@ -111,7 +111,8 @@
coverImage: true,
lazy: true,
cardLayout: true,
- showSongCount: true
+ showSongCount: true,
+ vibrant: true
});
}
else {
diff --git a/dashboard-ui/scripts/musicgenres.js b/dashboard-ui/scripts/musicgenres.js
index 12b6866328..5122bda770 100644
--- a/dashboard-ui/scripts/musicgenres.js
+++ b/dashboard-ui/scripts/musicgenres.js
@@ -79,7 +79,8 @@
showItemCounts: true,
cardLayout: true,
showTitle: true,
- lazy: true
+ lazy: true,
+ vibrant: true
});
}
else if (viewStyle == "PosterCard") {
@@ -90,7 +91,8 @@
showItemCounts: true,
lazy: true,
cardLayout: true,
- showTitle: true
+ showTitle: true,
+ vibrant: true
});
}
else if (viewStyle == "Poster") {
diff --git a/dashboard-ui/scripts/searchpage.js b/dashboard-ui/scripts/searchpage.js
index 28b5632312..b8bb9ab056 100644
--- a/dashboard-ui/scripts/searchpage.js
+++ b/dashboard-ui/scripts/searchpage.js
@@ -45,9 +45,7 @@
}
function showTextSuggestions() {
- if (AppInfo.enableAppLayouts) {
- textSuggestions.classList.remove('hide');
- }
+ textSuggestions.classList.remove('hide');
}
function getAdditionalTextLines(hint) {
@@ -176,10 +174,8 @@
}, 300);
}
- if (AppInfo.enableAppLayouts) {
- showTextSuggestions();
- loadSuggestions(view);
- }
+ showTextSuggestions();
+ loadSuggestions(view);
view.querySelector('.txtSearch').addEventListener('input', function () {
onSearchChange(this.value);
diff --git a/dashboard-ui/scripts/sections.js b/dashboard-ui/scripts/sections.js
index dbde26b19e..1b5776d9c4 100644
--- a/dashboard-ui/scripts/sections.js
+++ b/dashboard-ui/scripts/sections.js
@@ -1,4 +1,4 @@
-define(['libraryBrowser', 'cardBuilder', 'appSettings', 'components/groupedcards', 'dom', 'scrollStyles', 'emby-button', 'paper-icon-button-light', 'emby-itemscontainer'], function (libraryBrowser, cardBuilder, appSettings, groupedcards, dom) {
+define(['libraryBrowser', 'cardBuilder', 'appSettings', 'components/groupedcards', 'dom', 'apphost', 'scrollStyles', 'emby-button', 'paper-icon-button-light', 'emby-itemscontainer'], function (libraryBrowser, cardBuilder, appSettings, groupedcards, dom, appHost) {
function getUserViews(userId) {
@@ -450,6 +450,7 @@
} else {
html += '';
}
+
html += cardBuilder.getCardsHtml({
items: items,
shape: scrollX ? 'overflowBackdrop' : shape,
@@ -555,6 +556,9 @@
} else {
html += '
';
}
+
+ var supportsImageAnalysis = appHost.supports('imageanalysis');
+
html += cardBuilder.getCardsHtml({
items: result.Items,
preferThumb: true,
@@ -566,7 +570,10 @@
overlayPlayButton: true,
context: 'home',
centerText: true,
- allowBottomPadding: !enableScrollX()
+ allowBottomPadding: !enableScrollX(),
+ cardLayout: supportsImageAnalysis,
+ vibrant: supportsImageAnalysis,
+ cardFooterAside: 'none'
});
html += '
';
}
@@ -684,6 +691,9 @@
} else {
html += '
';
}
+
+ var supportsImageAnalysis = appHost.supports('imageanalysis');
+
html += cardBuilder.getCardsHtml({
items: result.Items,
shape: enableScrollX() ? 'autooverflow' : 'auto',
@@ -696,7 +706,10 @@
overlayText: false,
overlayPlayButton: true,
allowBottomPadding: !enableScrollX(),
- preferThumb: true
+ preferThumb: true,
+ cardLayout: supportsImageAnalysis,
+ vibrant: supportsImageAnalysis,
+ cardFooterAside: 'none'
});
html += '
';
diff --git a/dashboard-ui/scripts/site.js b/dashboard-ui/scripts/site.js
index 290e9a4779..a4c7c8206d 100644
--- a/dashboard-ui/scripts/site.js
+++ b/dashboard-ui/scripts/site.js
@@ -2800,7 +2800,6 @@ var AppInfo = {};
initRequireWithBrowser(browser);
window.browserInfo = browser;
-
setAppInfo();
setDocumentClasses(browser);
diff --git a/dashboard-ui/scripts/tvlatest.js b/dashboard-ui/scripts/tvlatest.js
index 229e0a7162..661e9aee31 100644
--- a/dashboard-ui/scripts/tvlatest.js
+++ b/dashboard-ui/scripts/tvlatest.js
@@ -61,7 +61,7 @@
centerText: true,
lazy: true,
showTitle: false,
- overlayPlayButton: AppInfo.enableAppLayouts
+ overlayPlayButton: true
});
}
diff --git a/dashboard-ui/scripts/tvrecommended.js b/dashboard-ui/scripts/tvrecommended.js
index 8a5b2934da..63d1e7050d 100644
--- a/dashboard-ui/scripts/tvrecommended.js
+++ b/dashboard-ui/scripts/tvrecommended.js
@@ -1,4 +1,4 @@
-define(['libraryBrowser', 'dom', 'components/categorysyncbuttons', 'cardBuilder', 'scrollStyles', 'emby-itemscontainer', 'emby-tabs', 'emby-button'], function (libraryBrowser, dom, categorysyncbuttons, cardBuilder) {
+define(['libraryBrowser', 'dom', 'components/categorysyncbuttons', 'cardBuilder', 'apphost', 'scrollStyles', 'emby-itemscontainer', 'emby-tabs', 'emby-button'], function (libraryBrowser, dom, categorysyncbuttons, cardBuilder, appHost) {
return function (view, params) {
@@ -34,6 +34,9 @@
}
var container = view.querySelector('#nextUpItems');
+
+ var supportsImageAnalysis = appHost.supports('imageanalysis');
+
cardBuilder.buildCards(result.Items, {
itemsContainer: container,
preferThumb: true,
@@ -43,7 +46,10 @@
showParentTitle: true,
overlayText: false,
centerText: true,
- overlayPlayButton: AppInfo.enableAppLayouts
+ overlayPlayButton: true,
+ cardLayout: supportsImageAnalysis,
+ vibrant: supportsImageAnalysis,
+ cardFooterAside: 'none'
});
Dashboard.hideLoadingMsg();
@@ -92,6 +98,7 @@
var allowBottomPadding = !enableScrollX();
var container = view.querySelector('#resumableItems');
+
cardBuilder.buildCards(result.Items, {
itemsContainer: container,
preferThumb: true,
diff --git a/dashboard-ui/scripts/tvshows.js b/dashboard-ui/scripts/tvshows.js
index 4830913407..bb676c05fa 100644
--- a/dashboard-ui/scripts/tvshows.js
+++ b/dashboard-ui/scripts/tvshows.js
@@ -1,4 +1,4 @@
-define(['events', 'libraryBrowser', 'imageLoader', 'alphaPicker', 'listView', 'cardBuilder', 'emby-itemscontainer'], function (events, libraryBrowser, imageLoader, alphaPicker, listView, cardBuilder) {
+define(['events', 'libraryBrowser', 'imageLoader', 'alphaPicker', 'listView', 'cardBuilder', 'apphost', 'emby-itemscontainer'], function (events, libraryBrowser, imageLoader, alphaPicker, listView, cardBuilder, appHost) {
return function (view, params, tabContent) {
@@ -92,6 +92,8 @@
var html;
var viewStyle = self.getCurrentViewStyle();
+ var supportsImageAnalysis = appHost.supports('imageanalysis');
+
if (viewStyle == "Thumb") {
html = cardBuilder.getCardsHtml({
@@ -114,7 +116,7 @@
cardLayout: true,
showTitle: true,
showSeriesYear: true,
- vibrant: true
+ vibrant: supportsImageAnalysis
});
}
else if (viewStyle == "Banner") {
@@ -145,7 +147,7 @@
showYear: true,
lazy: true,
cardLayout: true,
- vibrant: true
+ vibrant: supportsImageAnalysis
});
}
else {
diff --git a/dashboard-ui/scripts/tvupcoming.js b/dashboard-ui/scripts/tvupcoming.js
index 8e2fcc6bb8..02f1829b50 100644
--- a/dashboard-ui/scripts/tvupcoming.js
+++ b/dashboard-ui/scripts/tvupcoming.js
@@ -1,4 +1,4 @@
-define(['datetime', 'libraryBrowser', 'cardBuilder', 'scrollStyles', 'emby-itemscontainer'], function (datetime, libraryBrowser, cardBuilder) {
+define(['datetime', 'libraryBrowser', 'cardBuilder', 'apphost', 'scrollStyles', 'emby-itemscontainer'], function (datetime, libraryBrowser, cardBuilder, appHost) {
function getUpcomingPromise(context, params) {
@@ -110,6 +110,8 @@
html += '
';
}
+ var supportsImageAnalysis = appHost.supports('imageanalysis');
+
html += cardBuilder.getCardsHtml({
items: group.items,
showLocationTypeIndicator: false,
@@ -121,8 +123,8 @@
centerText: true,
showParentTitle: true,
allowBottomPadding: allowBottomPadding,
- cardLayout: true,
- vibrant: true
+ cardLayout: supportsImageAnalysis,
+ vibrant: supportsImageAnalysis
});
html += '
';
diff --git a/dashboard-ui/strings/en-US.json b/dashboard-ui/strings/en-US.json
index e6b9f5f51b..f27609da2e 100644
--- a/dashboard-ui/strings/en-US.json
+++ b/dashboard-ui/strings/en-US.json
@@ -2142,5 +2142,6 @@
"LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.",
"ButtonPlayExternalPlayer": "Play with external player",
"WillRecord": "Will record",
- "NotScheduledToRecord": "Not scheduled to record"
+ "NotScheduledToRecord": "Not scheduled to record",
+ "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update."
}