From dec26f6c0ea56f0b3066553d88057a7f9cfea509 Mon Sep 17 00:00:00 2001 From: grafixeyehero Date: Sat, 15 Feb 2020 03:47:07 +0300 Subject: [PATCH 1/5] Fix nowplaying for tv mode --- src/components/appRouter.js | 3 +++ src/scripts/librarymenu.js | 28 ++++++++++++++++++++++++++++ src/scripts/site.js | 4 ---- 3 files changed, 31 insertions(+), 4 deletions(-) diff --git a/src/components/appRouter.js b/src/components/appRouter.js index 7b36d01bdd..b08d46d82c 100644 --- a/src/components/appRouter.js +++ b/src/components/appRouter.js @@ -14,6 +14,9 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM }, showSettings: function () { show('/settings/settings.html'); + }, + showNowPlaying: function () { + show("/nowplaying.html"); } }; diff --git a/src/scripts/librarymenu.js b/src/scripts/librarymenu.js index 406edbff5e..7d86dec42e 100644 --- a/src/scripts/librarymenu.js +++ b/src/scripts/librarymenu.js @@ -12,6 +12,7 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", " html += ""; html += '
'; html += ''; + html += ''; html += ''; html += ''; html += ''; @@ -27,6 +28,7 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", " headerHomeButton = skinHeader.querySelector(".headerHomeButton"); headerUserButton = skinHeader.querySelector(".headerUserButton"); headerCastButton = skinHeader.querySelector(".headerCastButton"); + headerAudioPlayerButton = skinHeader.querySelector(".headerAudioPlayerButton"); headerSearchButton = skinHeader.querySelector(".headerSearchButton"); lazyLoadViewMenuBarImages(); @@ -82,6 +84,7 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", " if (!layoutManager.tv) { headerCastButton.classList.remove("hide"); } + } else { headerHomeButton.classList.add("hide"); headerCastButton.classList.add("hide"); @@ -116,6 +119,10 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", " Dashboard.navigate("home.html"); } + function showAudioPlayer() { + return appRouter.showNowPlaying(); + } + function bindMenuEvents() { mainDrawerButton = document.querySelector(".mainDrawerButton"); @@ -140,9 +147,29 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", " headerCastButton.addEventListener("click", onCastButtonClicked); } + headerAudioPlayerButton.addEventListener("click", showAudioPlayer); + if (layoutManager.mobile) { initHeadRoom(skinHeader); } + events.on(playbackManager, 'playbackstart', onPlaybackStart); + events.on(playbackManager, 'playbackstop', onPlaybackStop); + } + + function onPlaybackStart(e) { + + if (playbackManager.isPlayingAudio() && layoutManager.tv) { + headerAudioPlayerButton.classList.remove("hide"); + } else { + headerAudioPlayerButton.classList.add("hide"); + } + } + + function onPlaybackStop(e, stopInfo) { + + if (stopInfo.nextMediaType != 'Audio') { + headerAudioPlayerButton.classList.add("hide"); + } } function onCastButtonClicked() { @@ -763,6 +790,7 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", " var currentUser; var headerCastButton; var headerSearchButton; + var headerAudioPlayerButton; var enableLibraryNavDrawer = !layoutManager.tv; var skinHeader = document.querySelector(".skinHeader"); var requiresUserRefresh = true; diff --git a/src/scripts/site.js b/src/scripts/site.js index 0cf65158d5..eb6a0ba566 100644 --- a/src/scripts/site.js +++ b/src/scripts/site.js @@ -989,10 +989,6 @@ var AppInfo = {}; Dashboard.navigate("mypreferencesmenu.html"); }; - appRouter.showNowPlaying = function () { - Dashboard.navigate("nowplaying.html"); - }; - appRouter.setTitle = function (title) { LibraryMenu.setTitle(title); }; From 0e506a24b1911dae66cc84b5d13e581fb2bdcc8c Mon Sep 17 00:00:00 2001 From: grafixeyehero Date: Sat, 15 Feb 2020 19:24:36 +0300 Subject: [PATCH 2/5] fix padding for tv mode --- src/assets/css/librarybrowser.css | 1 + 1 file changed, 1 insertion(+) diff --git a/src/assets/css/librarybrowser.css b/src/assets/css/librarybrowser.css index 1b5b9ded6d..7a3e0ada68 100644 --- a/src/assets/css/librarybrowser.css +++ b/src/assets/css/librarybrowser.css @@ -522,6 +522,7 @@ .layout-tv .detailPagePrimaryContainer { position: relative; + top: 0; } .detailSticky { From 7e58b448cd252edb6d1c0a1b5dc031128d7d3c55 Mon Sep 17 00:00:00 2001 From: grafixeyehero Date: Wed, 19 Feb 2020 02:10:40 +0300 Subject: [PATCH 3/5] apply suggestion make position slider navigable by keyboard --- src/components/remotecontrol/remotecontrol.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/components/remotecontrol/remotecontrol.js b/src/components/remotecontrol/remotecontrol.js index 29e7e8f42b..0316e19a0b 100644 --- a/src/components/remotecontrol/remotecontrol.js +++ b/src/components/remotecontrol/remotecontrol.js @@ -1,4 +1,4 @@ -define(["browser", "datetime", "backdrop", "libraryBrowser", "listView", "imageLoader", "playbackManager", "nowPlayingHelper", "events", "connectionManager", "apphost", "globalize", "cardStyle", "emby-itemscontainer", "css!./remotecontrol.css", "emby-ratingbutton"], function (browser, datetime, backdrop, libraryBrowser, listView, imageLoader, playbackManager, nowPlayingHelper, events, connectionManager, appHost, globalize) { +define(["browser", "datetime", "backdrop", "libraryBrowser", "listView", "imageLoader", "playbackManager", "nowPlayingHelper", "events", "connectionManager", "apphost", "globalize", "layoutManager", "userSettings", "cardStyle", "emby-itemscontainer", "css!./remotecontrol.css", "emby-ratingbutton"], function (browser, datetime, backdrop, libraryBrowser, listView, imageLoader, playbackManager, nowPlayingHelper, events, connectionManager, appHost, globalize, layoutManager, userSettings) { "use strict"; function showAudioMenu(context, player, button, item) { @@ -228,6 +228,11 @@ define(["browser", "datetime", "backdrop", "libraryBrowser", "listView", "imageL buttonVisible(context.querySelector(".btnFastForward"), null != item); var positionSlider = context.querySelector(".nowPlayingPositionSlider"); + if (positionSlider && item && item.RunTimeTicks) { + positionSlider.setKeyboardSteps(userSettings.skipBackLength() * 1000000 / item.RunTimeTicks, + userSettings.skipForwardLength() * 1000000 / item.RunTimeTicks); + } + if (positionSlider && !positionSlider.dragging) { positionSlider.disabled = !playState.CanSeek; var isProgressClear = state.MediaSource && null == state.MediaSource.RunTimeTicks; @@ -687,6 +692,12 @@ define(["browser", "datetime", "backdrop", "libraryBrowser", "listView", "imageL context.querySelector(".sendMessageForm").addEventListener("submit", onMessageSubmit); context.querySelector(".typeTextForm").addEventListener("submit", onSendStringSubmit); events.on(playbackManager, "playerchange", onPlayerChange); + + if (layoutManager.tv) { + var positionSlider = context.querySelector(".nowPlayingPositionSlider"); + positionSlider.classList.add("focusable"); + positionSlider.enableKeyboardDragging(); + } } function onDialogClosed(e) { From 2d509e9fb652b72c8206c8a37736aa1d6bc840e6 Mon Sep 17 00:00:00 2001 From: grafixeyehero Date: Wed, 19 Feb 2020 02:11:29 +0300 Subject: [PATCH 4/5] apply suggestion make focus --- src/nowplaying.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/nowplaying.html b/src/nowplaying.html index 78813255c8..94180ed397 100644 --- a/src/nowplaying.html +++ b/src/nowplaying.html @@ -12,7 +12,7 @@
-
+
From a12da2309ff6d33ac415f1b4da1f5e0e6c84d1a2 Mon Sep 17 00:00:00 2001 From: grafixeyehero Date: Thu, 20 Feb 2020 19:46:34 +0300 Subject: [PATCH 5/5] apply suggustion change --- src/scripts/librarymenu.js | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/scripts/librarymenu.js b/src/scripts/librarymenu.js index 7d86dec42e..9e5748f449 100644 --- a/src/scripts/librarymenu.js +++ b/src/scripts/librarymenu.js @@ -12,7 +12,7 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", " html += "
"; html += '
'; html += ''; - html += ''; + html += ''; html += ''; html += ''; html += ''; @@ -84,7 +84,6 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", " if (!layoutManager.tv) { headerCastButton.classList.remove("hide"); } - } else { headerHomeButton.classList.add("hide"); headerCastButton.classList.add("hide"); @@ -157,7 +156,6 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", " } function onPlaybackStart(e) { - if (playbackManager.isPlayingAudio() && layoutManager.tv) { headerAudioPlayerButton.classList.remove("hide"); } else { @@ -166,7 +164,6 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", " } function onPlaybackStop(e, stopInfo) { - if (stopInfo.nextMediaType != 'Audio') { headerAudioPlayerButton.classList.add("hide"); }