diff --git a/dashboard-ui/components/tvguide/tvguide.js b/dashboard-ui/components/tvguide/tvguide.js index 8e7b7fea6..bcf6684d6 100644 --- a/dashboard-ui/components/tvguide/tvguide.js +++ b/dashboard-ui/components/tvguide/tvguide.js @@ -63,7 +63,9 @@ // Add one second to avoid getting programs that are just ending date = new Date(date.getTime() + 1000); - var nextDay = new Date(date.getTime() + msPerDay - 1); + // Subtract to avoid getting programs that are starting when the grid ends + var nextDay = new Date(date.getTime() + msPerDay - 2000); + Logger.log(nextDay); channelsPromise.done(function (channelsResult) { @@ -213,9 +215,7 @@ var endPercent = (renderEndMs - renderStartMs) / msPerDay; endPercent *= 100; - html += '
'; - - var cssClass = "programCellInner"; + var cssClass = "programCell"; var addAccent = true; if (program.IsKids) { @@ -232,7 +232,7 @@ addAccent = false; } - html += ''; + html += ''; html += '
'; html += program.Name; @@ -269,8 +269,6 @@ } html += ''; - - html += '
'; } html += '
'; @@ -291,9 +289,9 @@ programGrid.innerHTML = html.join(''); $(programGrid).scrollTop(0).scrollLeft(0); - + if (options.enableHoverMenu) { - $(programGrid).createGuideHoverMenu('.programCellInner'); + $(programGrid).createGuideHoverMenu('.programCell'); } } diff --git a/dashboard-ui/css/livetv.css b/dashboard-ui/css/livetv.css index 3703ad806..601dafb7d 100644 --- a/dashboard-ui/css/livetv.css +++ b/dashboard-ui/css/livetv.css @@ -98,7 +98,7 @@ .programAccent { position: absolute; bottom: 0; - left: 6px; + left: 0; right: 0; height: 2px; } @@ -267,13 +267,9 @@ position: absolute; top: 0; bottom: 6px; -} - -.programCellInner { border-left: 6px solid #161616; background-color: #212121; display: block; - height: 100%; color: #fff !important; text-decoration: none; font-weight: 400 !important; diff --git a/dashboard-ui/itemdetails.html b/dashboard-ui/itemdetails.html index 05a854b0c..4921f3861 100644 --- a/dashboard-ui/itemdetails.html +++ b/dashboard-ui/itemdetails.html @@ -195,8 +195,8 @@

${HeaderMediaInfo}

-
- +
+ ${ButtonSplitVersionsApart}
diff --git a/dashboard-ui/scripts/librarylist.js b/dashboard-ui/scripts/librarylist.js index 2f66cc02c..f44244432 100644 --- a/dashboard-ui/scripts/librarylist.js +++ b/dashboard-ui/scripts/librarylist.js @@ -1248,6 +1248,12 @@ ironIcon: 'playlist-add' }); + items.push({ + name: Globalize.translate('HeaderGroupVersions'), + id: 'groupvideos', + ironIcon: 'call-merge' + }); + items.push({ name: Globalize.translate('ButtonRefresh'), id: 'refresh', @@ -1282,6 +1288,9 @@ PlaylistManager.showPanel(items); hideSelections(); break; + case 'groupvideos': + combineVersions($($.mobile.activePage)[0], items); + break; case 'refresh': items.map(function (itemId) { @@ -1318,14 +1327,7 @@ }); } - function getSelectedItems() { - - return selectedItems; - } - - function combineVersions(page) { - - var selection = getSelectedItems(); + function combineVersions(page, selection) { if (selection.length < 2) { @@ -1337,15 +1339,7 @@ return; } - var names = $('.chkItemSelect:checked', page).parents('.card').get().reverse().map(function (e) { - - return $('.cardText', e).html(); - - }).join('
'); - - var msg = Globalize.translate('MessageTheFollowingItemsWillBeGrouped') + "

" + names; - - msg += "

" + Globalize.translate('MessageConfirmItemGrouping'); + var msg = Globalize.translate('MessageTheSelectedItemsWillBeGrouped'); Dashboard.confirm(msg, Globalize.translate('HeaderGroupVersions'), function (confirmResult) { @@ -1361,7 +1355,7 @@ }).done(function () { Dashboard.hideLoadingMsg(); - + hideSelections(); $('.itemsContainer', page).trigger('needsrefresh'); }); } diff --git a/dashboard-ui/strings/javascript/javascript.json b/dashboard-ui/strings/javascript/javascript.json index 35112e3f6..109b82688 100644 --- a/dashboard-ui/strings/javascript/javascript.json +++ b/dashboard-ui/strings/javascript/javascript.json @@ -215,8 +215,7 @@ "MessageChromecastConnectionError": "Your Chromecast receiver is unable to connect to your Emby Server. Please check their connections and try again.", "MessagePleaseSelectOneItem": "Please select at least one item.", "MessagePleaseSelectTwoItems": "Please select at least two items.", - "MessageTheFollowingItemsWillBeGrouped": "The following titles will be grouped into one item:", - "MessageConfirmItemGrouping": "Emby apps will automatically choose the optimal version to play based on device and network performance. Are you sure you wish to continue?", + "MessageTheSelectedItemsWillBeGrouped": "The selected videos will be grouped into one virtual item. Emby apps will automatically choose which version to play based on device and network performance. Are you sure you wish to continue?", "HeaderResume": "Resume", "HeaderMyViews": "My Views", "HeaderLibraryFolders": "Media Folders", diff --git a/dashboard-ui/thirdparty/emby-icons.html b/dashboard-ui/thirdparty/emby-icons.html index 4ace27612..009ce14c8 100644 --- a/dashboard-ui/thirdparty/emby-icons.html +++ b/dashboard-ui/thirdparty/emby-icons.html @@ -40,6 +40,7 @@ See [iron-iconset](#iron-iconset) and [iron-iconset-svg](#iron-iconset-svg) for + diff --git a/dashboard-ui/vulcanize-out.html b/dashboard-ui/vulcanize-out.html index 46c02bbc8..a725ff431 100644 --- a/dashboard-ui/vulcanize-out.html +++ b/dashboard-ui/vulcanize-out.html @@ -19494,6 +19494,7 @@ iron-selector:not(.narrow-layout) #main ::content [paper-drawer-toggle] { +