diff --git a/ApiClient.js b/ApiClient.js index 69f3f020c..36476511e 100644 --- a/ApiClient.js +++ b/ApiClient.js @@ -575,6 +575,17 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi }); }; + self.getSeasons = function (itemId, options) { + + var url = self.getUrl("Shows/" + itemId + "/Seasons", options); + + return self.ajax({ + type: "GET", + url: url, + dataType: "json" + }); + }; + self.getSimilarMovies = function (itemId, options) { var url = self.getUrl("Movies/" + itemId + "/Similar", options); diff --git a/dashboard-ui/css/images/userdata/playedoff.png b/dashboard-ui/css/images/userdata/playedoff.png index 250b97931..61925ee6f 100644 Binary files a/dashboard-ui/css/images/userdata/playedoff.png and b/dashboard-ui/css/images/userdata/playedoff.png differ diff --git a/dashboard-ui/css/images/userdata/playedon.png b/dashboard-ui/css/images/userdata/playedon.png index 53f535365..24224004d 100644 Binary files a/dashboard-ui/css/images/userdata/playedon.png and b/dashboard-ui/css/images/userdata/playedon.png differ diff --git a/dashboard-ui/css/librarybrowser.css b/dashboard-ui/css/librarybrowser.css index 365a0c78d..182530312 100644 --- a/dashboard-ui/css/librarybrowser.css +++ b/dashboard-ui/css/librarybrowser.css @@ -27,7 +27,6 @@ .viewMenuBar { background: #444; background-image: linear-gradient(#444,#2d2d2d); - font-size: 13px; font-weight: bold; position: fixed; right: 0; @@ -35,6 +34,7 @@ z-index: 1000; top: 0; border-bottom: 1px solid #111; + font-size: 13px; } .viewSummary { @@ -47,6 +47,7 @@ padding: 7px .5em 6px; display: inline-block; vertical-align: middle; + font-family: Arial; } .viewMenuLink:hover { @@ -348,7 +349,6 @@ a.itemTag:hover { bottom: 0; left: 0; right: 0; - font-size: 13px; background-color: rgba(0,0,0,0.7); } @@ -421,7 +421,7 @@ a.itemTag:hover { color: #000!important; } -.itemName { +.inlineItemName { font-size: 22px; } @@ -782,8 +782,6 @@ a.itemTag:hover { .userDataIcons .itemProgressText { vertical-align: top; - position: relative; - top: 3px; margin-right: 1.5em; } @@ -794,7 +792,6 @@ a.itemTag:hover { } .itemProgressText { - font-size: 12px; color: #ddd; vertical-align: middle; } diff --git a/dashboard-ui/css/metadataeditor.css b/dashboard-ui/css/metadataeditor.css index 5735773bb..1cbcc4430 100644 --- a/dashboard-ui/css/metadataeditor.css +++ b/dashboard-ui/css/metadataeditor.css @@ -72,6 +72,11 @@ height: 180px; } +/* Fixes button running outside of list */ +.btnRemoveFromEditorList .ui-btn-inner { + padding-right: 0!important; +} + @media all and (min-width: 500px) { .availableImagesList { @@ -132,6 +137,14 @@ margin: .5em 0; } +.editorTile .tileContent{ + color: #000; +} + +.editorTile .ui-field-contain{ + margin: 0 0 .5em; +} + @media all and (min-width: 700px) { .availableImagesList { diff --git a/dashboard-ui/css/search.css b/dashboard-ui/css/search.css index 634221ded..35e65c781 100644 --- a/dashboard-ui/css/search.css +++ b/dashboard-ui/css/search.css @@ -6,7 +6,7 @@ .txtSearch { vertical-align: middle; - font: 13px arial,sans-serif; + font-size: 14px; margin: 0 .15em 0 0; width: 80px; padding: 0; @@ -96,7 +96,7 @@ } .searchHintSecondaryText { - font-size: 11px; + font-size: 12px; color: #999; margin-top: 3px; white-space: nowrap; diff --git a/dashboard-ui/css/site.css b/dashboard-ui/css/site.css index 6b7362f2c..3601edd1e 100644 --- a/dashboard-ui/css/site.css +++ b/dashboard-ui/css/site.css @@ -1,29 +1,29 @@ @font-face { - font-family: "Open Sans"; - font-style: normal; - font-weight: 700; - src: local("Open Sans Bold"), local("OpenSans-Bold"), url(http://themes.googleusercontent.com/static/fonts/opensans/v6/k3k702ZOKiLJc3WVjuplzJ1r3JsPcQLi8jytr04NNhU.woff) format('woff'); -} - -@font-face { - font-family: "Open Sans"; + font-family: 'Open Sans'; font-style: normal; font-weight: 300; - src: local("Open Sans Light"), local("OpenSans-Light"), url(http://themes.googleusercontent.com/static/fonts/opensans/v6/DXI1ORHCpsQm3Vp6mXoaTZ1r3JsPcQLi8jytr04NNhU.woff) format('woff'); + src: local('Open Sans Light'), local('OpenSans-Light'), url(http://themes.googleusercontent.com/static/fonts/opensans/v6/DXI1ORHCpsQm3Vp6mXoaTXhCUOGz7vYGh680lGh-uXM.woff) format('woff'); } @font-face { - font-family: "Open Sans"; - font-style: normal; - font-weight: 800; - src: local("Open Sans Extrabold"), local("OpenSans-Extrabold"), url(http://themes.googleusercontent.com/static/fonts/opensans/v6/EInbV5DfGHOiMmvb1Xr-hp1r3JsPcQLi8jytr04NNhU.woff) format('woff'); -} - -@font-face { - font-family: "Open Sans"; + font-family: 'Open Sans'; font-style: normal; font-weight: 400; - src: local("Open Sans"), local("OpenSans"), url(http://themes.googleusercontent.com/static/fonts/opensans/v6/K88pR3goAWT7BTt32Z01mz8E0i7KZn-EPnyo3HZu7kw.woff) format('woff'); + src: local('Open Sans'), local('OpenSans'), url(http://themes.googleusercontent.com/static/fonts/opensans/v6/cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff) format('woff'); +} + +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + src: local('Open Sans Bold'), local('OpenSans-Bold'), url(http://themes.googleusercontent.com/static/fonts/opensans/v6/k3k702ZOKiLJc3WVjuplzHhCUOGz7vYGh680lGh-uXM.woff) format('woff'); +} + +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 800; + src: local('Open Sans Extrabold'), local('OpenSans-Extrabold'), url(http://themes.googleusercontent.com/static/fonts/opensans/v6/EInbV5DfGHOiMmvb1Xr-hnhCUOGz7vYGh680lGh-uXM.woff) format('woff'); } * { @@ -68,9 +68,12 @@ h2 { font-size: 20pt; } -.libraryPage:not(.metadataEditorPage) h1 a { - font-weight: 200!important; +h1 a { + font-weight: 300!important; text-decoration: none; +} + +.libraryPage:not(.metadataEditorPage) h1 a { color: #fff!important; } @@ -1004,7 +1007,7 @@ input[type="range"]::-ms-fill-upper { } .mediaFlyoutOptionSecondaryText { - font-size: 11px; + font-size: 12px; color: #999; margin-top: 3px; white-space: nowrap; diff --git a/dashboard-ui/edititemmetadata.html b/dashboard-ui/edititemmetadata.html index 3e4bac8ec..208e354d5 100644 --- a/dashboard-ui/edititemmetadata.html +++ b/dashboard-ui/edititemmetadata.html @@ -37,7 +37,7 @@
+
diff --git a/dashboard-ui/itemdetails.html b/dashboard-ui/itemdetails.html index 447eff25e..1f353a065 100644 --- a/dashboard-ui/itemdetails.html +++ b/dashboard-ui/itemdetails.html @@ -114,7 +114,7 @@
+
diff --git a/dashboard-ui/library.html b/dashboard-ui/library.html index fff51b064..7252e449d 100644 --- a/dashboard-ui/library.html +++ b/dashboard-ui/library.html @@ -32,7 +32,7 @@
-Read media library wiki.
+Refer to media library wiki.
Configure images and sort orders by browsing and editing.
diff --git a/dashboard-ui/livetvchannel.html b/dashboard-ui/livetvchannel.html index a18f5af87..366c0d738 100644 --- a/dashboard-ui/livetvchannel.html +++ b/dashboard-ui/livetvchannel.html @@ -19,7 +19,7 @@+
diff --git a/dashboard-ui/scripts/Itemdetailpage.js b/dashboard-ui/scripts/Itemdetailpage.js index 50511229a..c4d18a3be 100644 --- a/dashboard-ui/scripts/Itemdetailpage.js +++ b/dashboard-ui/scripts/Itemdetailpage.js @@ -22,7 +22,7 @@ Dashboard.getCurrentUser().done(function (user) { var imageHref = user.Configuration.IsAdministrator ? "edititemimages.html?id=" + item.Id : ""; - + $('#itemImage', page).html(LibraryBrowser.getDetailImageHtml(item, imageHref)); setInitialCollapsibleState(page, item, context, user); @@ -509,21 +509,32 @@ var promise; - if (item.Type == "Season" && item.IndexNumber != null) { + if (item.Type == "Series") { - promise = ApiClient.getEpisodes(item.SeriesId, { + promise = ApiClient.getSeasons(item.Id, { - season: item.IndexNumber, userId: Dashboard.getCurrentUserId() }); } + else if (item.Type == "Season" && item.IndexNumber != null) { - else if (item.Type == "Series" || item.Type == "Season") { - if (!user.Configuration.DisplayMissingEpisodes) { - query.IsMissing = false; - } - if (!user.Configuration.DisplayUnairedEpisodes) { - query.IsVirtualUnaired = false; + if (item.IndexNumber == null) { + + // If there's no known season number, just use generic folder browsing + if (!user.Configuration.DisplayMissingEpisodes) { + query.IsMissing = false; + } + if (!user.Configuration.DisplayUnairedEpisodes) { + query.IsVirtualUnaired = false; + } + } else { + + // Use dedicated episodes endpoint + promise = ApiClient.getEpisodes(item.SeriesId, { + + season: item.IndexNumber, + userId: Dashboard.getCurrentUserId() + }); } } @@ -607,7 +618,7 @@ var html = ''; - var reviews = result.ItemReviews; + var reviews = result.Items; for (var i = 0, length = reviews.length; i < length; i++) { diff --git a/dashboard-ui/scripts/edititemmetadata.js b/dashboard-ui/scripts/edititemmetadata.js index 26e4103b4..754bf0f9b 100644 --- a/dashboard-ui/scripts/edititemmetadata.js +++ b/dashboard-ui/scripts/edititemmetadata.js @@ -151,18 +151,12 @@ if (node == '-1') { - callback({ attr: { id: 'root', rel: 'folder', itemtype: 'root' }, data: 'Root', state: 'open' }); + loadChildrenOfRootNode(callback); return; } var id = node.attr("id"); - if (id == 'root') { - - loadChildrenOfRootNode(callback); - return; - } - if (id == 'livetv') { loadLiveTvServices(openItems, callback); @@ -989,7 +983,7 @@ } var html = ''; for (var i = 0; i < items.length; i++) { - html += '
Read media library wiki.
+Refer to media library wiki.