diff --git a/dashboard-ui/css/librarybrowser.css b/dashboard-ui/css/librarybrowser.css index 626e1273a3..a1aa9ac5ee 100644 --- a/dashboard-ui/css/librarybrowser.css +++ b/dashboard-ui/css/librarybrowser.css @@ -832,6 +832,10 @@ a.itemTag:hover { background: rgba(82, 181, 75, .8); } +.unplayedIndicator div:after { + background-color: transparent !important; +} + .itemProgress { vertical-align: top; font-size: 19px; diff --git a/dashboard-ui/scripts/itemdetailpage.js b/dashboard-ui/scripts/itemdetailpage.js index 7e8e5badd0..af31d75dfd 100644 --- a/dashboard-ui/scripts/itemdetailpage.js +++ b/dashboard-ui/scripts/itemdetailpage.js @@ -458,7 +458,10 @@ var html = LibraryBrowser.getPosterViewHtml({ items: result.Items, useAverageAspectRatio: item.MediaType != "Game", - shape: item.Type == "MusicAlbum" ? "square" : "portrait" + shape: item.Type == "MusicAlbum" ? "square" : "portrait", + showParentTitle: item.Type == "MusicAlbum", + showTitle: item.Type == "MusicAlbum" || item.Type == "Game", + borderless: item.Type == "Game" }); $('#similarContent', page).html(html); @@ -521,10 +524,12 @@ var sortBy = item.Type == "BoxSet" ? "ProductionYear,SortName" : "SortName"; + var fields = "ItemCounts,DateCreated,AudioInfo,PrimaryImageAspectRatio"; + var query = { ParentId: item.Id, SortBy: sortBy, - Fields: "ItemCounts,DateCreated,AudioInfo" + Fields: fields }; var promise; @@ -533,7 +538,8 @@ promise = ApiClient.getSeasons(item.Id, { - userId: user.Id + userId: user.Id, + Fields: fields }); } else if (item.Type == "Season") { @@ -542,7 +548,8 @@ promise = ApiClient.getEpisodes(item.SeriesId, { seasonId: item.Id, - userId: user.Id + userId: user.Id, + Fields: fields }); } @@ -562,13 +569,34 @@ shape = "smallBackdrop"; } - var html = LibraryBrowser.getPosterDetailViewHtml({ - items: result.Items, - useAverageAspectRatio: true, - shape: shape, - showParentName: false, - displayAsSpecial: item.Type == "Season" && item.IndexNumber - }); + var html; + + if (item.Type == "Series" || item.Type == "BoxSet") { + html = LibraryBrowser.getPosterViewHtml({ + items: result.Items, + shape: "portrait", + useAverageAspectRatio: true, + showTitle: true + }); + } + else if (item.Type == "Season") { + html = LibraryBrowser.getPosterViewHtml({ + items: result.Items, + shape: "smallBackdrop", + useAverageAspectRatio: true, + showTitle: true, + displayAsSpecial: item.Type == "Season" && item.IndexNumber + }); + } + else { + html = LibraryBrowser.getPosterDetailViewHtml({ + items: result.Items, + useAverageAspectRatio: true, + shape: shape, + showParentName: false, + displayAsSpecial: item.Type == "Season" && item.IndexNumber + }); + } $('#childrenContent', page).html(html); diff --git a/dashboard-ui/scripts/librarybrowser.js b/dashboard-ui/scripts/librarybrowser.js index 61ef798143..fc96030edc 100644 --- a/dashboard-ui/scripts/librarybrowser.js +++ b/dashboard-ui/scripts/librarybrowser.js @@ -662,12 +662,12 @@ var html = ""; + var primaryImageAspectRatio = options.useAverageAspectRatio ? LibraryBrowser.getAveragePrimaryImageAspectRatio(items) : null; + for (var i = 0, length = items.length; i < length; i++) { var item = items[i]; - var primaryImageAspectRatio = options.useAverageAspectRatio ? LibraryBrowser.getAveragePrimaryImageAspectRatio([item]) : null; - var futureDateText; if (item.PremiereDate) { @@ -883,7 +883,7 @@ } html += ''; - var name = LibraryBrowser.getPosterViewDisplayName(item); + var name = LibraryBrowser.getPosterViewDisplayName(item, options.displayAsSpecial); if (!imgUrl && !options.showTitle) { html += "
"; @@ -1089,8 +1089,23 @@ getPlayedIndicatorHtml: function (item) { - if (item.RecursiveUnplayedItemCount) { - return '
' + item.RecursiveUnplayedItemCount + '
'; + if (item.Type == "Series" || item.Type == "Season" || item.Type == "BoxSet") { + if (item.RecursiveUnplayedItemCount) { + return '
' + item.RecursiveUnplayedItemCount + '
'; + } + } + + if (item.PlayedPercentage == 100) { + return '
'; + } + + if (item.MediaType == "Video") { + + var userData = item.UserData || {}; + + if (userData.Played) { + return '
'; + } } return ''; diff --git a/dashboard-ui/scripts/livetvchannel.js b/dashboard-ui/scripts/livetvchannel.js index 9e5f38eff3..f455d269d7 100644 --- a/dashboard-ui/scripts/livetvchannel.js +++ b/dashboard-ui/scripts/livetvchannel.js @@ -271,7 +271,7 @@ $('#btnPlay', page).on('click', function () { var userdata = currentItem.UserData || {}; - LibraryBrowser.showPlayMenu(this, currentItem.Name, currentItem.Type, currentItem.MediaType, userdata.PlaybackPositionTicks); + LibraryBrowser.showPlayMenu(this, currentItem.Id, currentItem.Type, currentItem.MediaType, userdata.PlaybackPositionTicks); }); $('#btnRemote', page).on('click', function () { diff --git a/dashboard-ui/scripts/tvstudios.js b/dashboard-ui/scripts/tvstudios.js index 0160d3b140..d993e9dfa8 100644 --- a/dashboard-ui/scripts/tvstudios.js +++ b/dashboard-ui/scripts/tvstudios.js @@ -29,13 +29,19 @@ var checkSortOption = $('.radioSortBy:checked', page); $('.viewSummary', page).html(LibraryBrowser.getViewSummaryHtml(query, checkSortOption)).trigger('create'); - html += LibraryBrowser.getPosterViewHtml({ + //html += LibraryBrowser.getPosterViewHtml({ + // items: result.Items, + // useAverageAspectRatio: true, + // shape: "backdrop", + // showTitle: false, + // overlayText: false, + // context: 'tv' + //}); + + html += LibraryBrowser.getPosterDetailViewHtml({ items: result.Items, - useAverageAspectRatio: true, - shape: "backdrop", - showTitle: false, - overlayText: false, - context: 'tv' + context: "tv", + shape: "backdrop" }); html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount);