diff --git a/dashboard-ui/css/card.css b/dashboard-ui/css/card.css index 9c0ba2cf32..79838727a1 100644 --- a/dashboard-ui/css/card.css +++ b/dashboard-ui/css/card.css @@ -182,7 +182,7 @@ } .visualCardBox .outerCardFooter { - padding: 3px; + padding: .5em .3em; position: relative; } @@ -230,7 +230,7 @@ } .outerCardFooter .cardText + .cardText { - opacity: .8; + opacity: .6; } .outerCardFooter .cardText:first-child { diff --git a/dashboard-ui/css/librarybrowser.css b/dashboard-ui/css/librarybrowser.css index abf8f1e188..0dbf5fa17c 100644 --- a/dashboard-ui/css/librarybrowser.css +++ b/dashboard-ui/css/librarybrowser.css @@ -57,6 +57,24 @@ contain: style; } +.textActionButton { + border: 0 !important; + background: transparent; + border: 0 !important; + padding: 0 !important; + cursor: pointer; + outline: none !important; + color: inherit; + vertical-align: middle; + font-family: inherit; + font-size: inherit; +} + + .textActionButton:hover { + text-decoration: underline; + opacity: 1; + } + .pageWithAbsoluteTabs .pageTabContent, .libraryPage > .ui-content { padding-top: 10px; } diff --git a/dashboard-ui/scripts/homeupcoming.js b/dashboard-ui/scripts/homeupcoming.js index e116fa7274..f9b19cc143 100644 --- a/dashboard-ui/scripts/homeupcoming.js +++ b/dashboard-ui/scripts/homeupcoming.js @@ -115,7 +115,8 @@ showDetailsMenu: true, centerText: true, context: 'home-upcoming', - overlayMoreButton: true + overlayMoreButton: true, + showParentTitle: true }); html += ''; diff --git a/dashboard-ui/scripts/librarybrowser.js b/dashboard-ui/scripts/librarybrowser.js index 3459c03721..b1c945abb3 100644 --- a/dashboard-ui/scripts/librarybrowser.js +++ b/dashboard-ui/scripts/librarybrowser.js @@ -1447,7 +1447,7 @@ var footerCssClass = progressHtml ? 'cardFooter fullCardFooter' : 'cardFooter'; - html += LibraryBrowser.getCardFooterText(item, options, showTitle, imgUrl, forceName, footerCssClass, progressHtml); + html += LibraryBrowser.getCardFooterText(item, options, showTitle, imgUrl, forceName, footerCssClass, progressHtml, false); footerOverlayed = true; } else if (progressHtml) { @@ -1475,7 +1475,7 @@ html += ''; if (!options.overlayText && !footerOverlayed) { - html += LibraryBrowser.getCardFooterText(item, options, showTitle, imgUrl, forceName, 'cardFooter outerCardFooter', progressHtml); + html += LibraryBrowser.getCardFooterText(item, options, showTitle, imgUrl, forceName, 'cardFooter outerCardFooter', progressHtml, true); } // cardBox @@ -1487,7 +1487,20 @@ return html; }, - getCardFooterText: function (item, options, showTitle, imgUrl, forceName, footerClass, progressHtml) { + getTextActionButton: function (item, text) { + + if (!text) { + text = itemHelper.getDisplayName(item); + } + + var html = ''; + + return html; + }, + + getCardFooterText: function (item, options, showTitle, imgUrl, forceName, footerClass, progressHtml, isOuterFooter) { var html = ''; @@ -1509,9 +1522,22 @@ var lines = []; - if (options.showParentTitle) { + var parentTitleUnderneath = item.Type == 'MusicAlbum' || item.Type == 'Audio' || item.Type == 'MusicVideo'; + if (options.showParentTitle && !parentTitleUnderneath) { - lines.push(item.EpisodeTitle ? item.Name : (item.SeriesName || item.Album || item.AlbumArtist || item.GameSystem || "")); + if (isOuterFooter && item.Type == 'Episode' && item.SeriesName && item.SeriesId) { + + lines.push(LibraryBrowser.getTextActionButton({ + Id: item.SeriesId, + Name: item.SeriesName, + Type: 'Series', + IsFolder: true + })); + } + else { + + lines.push(item.EpisodeTitle ? item.Name : (item.SeriesName || item.Album || item.AlbumArtist || item.GameSystem || "")); + } } if (showTitle || forceName) { @@ -1519,6 +1545,17 @@ lines.push(htmlEncode(name)); } + if (options.showParentTitle && parentTitleUnderneath) { + + if (isOuterFooter && item.AlbumArtists && item.AlbumArtists.length) { + item.AlbumArtists[0].Type = 'MusicArtist'; + item.AlbumArtists[0].IsFolder = true; + lines.push(LibraryBrowser.getTextActionButton(item.AlbumArtists[0])); + } else { + lines.push(item.EpisodeTitle ? item.Name : (item.SeriesName || item.Album || item.AlbumArtist || item.GameSystem || "")); + } + } + if (options.showItemCounts) { var itemCountHtml = LibraryBrowser.getItemCountsHtml(options, item); diff --git a/dashboard-ui/scripts/movies.js b/dashboard-ui/scripts/movies.js index d36ba471b7..da5e6c7d03 100644 --- a/dashboard-ui/scripts/movies.js +++ b/dashboard-ui/scripts/movies.js @@ -205,6 +205,7 @@ var alphaPickerElement = tabContent.querySelector('.alphaPicker'); alphaPickerElement.addEventListener('alphavaluechanged', function (e) { var newValue = e.detail.value; + alert(newValue); var query = getQuery(tabContent); query.NameStartsWithOrGreater = newValue; query.StartIndex = 0; diff --git a/dashboard-ui/scripts/tvupcoming.js b/dashboard-ui/scripts/tvupcoming.js index 2270258c5b..eef18362eb 100644 --- a/dashboard-ui/scripts/tvupcoming.js +++ b/dashboard-ui/scripts/tvupcoming.js @@ -116,7 +116,8 @@ lazy: true, showDetailsMenu: true, centerText: true, - overlayMoreButton: true + overlayMoreButton: true, + showParentTitle: true }); html += '';