From 7b0f4ed859ae3a19795137e07b30a185d527ec21 Mon Sep 17 00:00:00 2001 From: Dmitry Lyzo Date: Sun, 20 Feb 2022 23:34:21 +0300 Subject: [PATCH] Fix playing theme song when using parent links Navigation by plain links breaks the theme song player because there is no BaseItemDto in 'state'. --- src/controllers/itemDetails/index.js | 48 ++++------------------------ 1 file changed, 7 insertions(+), 41 deletions(-) diff --git a/src/controllers/itemDetails/index.js b/src/controllers/itemDetails/index.js index 6308ab1d9c..bd16a267d6 100644 --- a/src/controllers/itemDetails/index.js +++ b/src/controllers/itemDetails/index.js @@ -439,7 +439,6 @@ function getArtistLinksHtml(artists, serverId, context) { * @param {Object} context - Application context. */ function renderName(item, container, context) { - let parentRoute; const parentNameHtml = []; let parentNameLast = false; @@ -450,55 +449,19 @@ function renderName(item, container, context) { parentNameHtml.push(getArtistLinksHtml(item.ArtistItems, item.ServerId, context)); parentNameLast = true; } else if (item.SeriesName && item.Type === 'Episode') { - parentRoute = appRouter.getRouteUrl({ - Id: item.SeriesId, - Name: item.SeriesName, - Type: 'Series', - IsFolder: true, - ServerId: item.ServerId - }, { - context: context - }); - parentNameHtml.push('' + item.SeriesName + ''); + parentNameHtml.push(`${item.SeriesName}`); } else if (item.IsSeries || item.EpisodeTitle) { parentNameHtml.push(item.Name); } if (item.SeriesName && item.Type === 'Season') { - parentRoute = appRouter.getRouteUrl({ - Id: item.SeriesId, - Name: item.SeriesName, - Type: 'Series', - IsFolder: true, - ServerId: item.ServerId - }, { - context: context - }); - parentNameHtml.push('' + item.SeriesName + ''); + parentNameHtml.push(`${item.SeriesName}`); } else if (item.ParentIndexNumber != null && item.Type === 'Episode') { - parentRoute = appRouter.getRouteUrl({ - Id: item.SeasonId, - Name: item.SeasonName, - Type: 'Season', - IsFolder: true, - ServerId: item.ServerId - }, { - context: context - }); - parentNameHtml.push('' + item.SeasonName + ''); + parentNameHtml.push(`${item.SeasonName}`); } else if (item.ParentIndexNumber != null && item.IsSeries) { parentNameHtml.push(item.SeasonName || 'S' + item.ParentIndexNumber); } else if (item.Album && item.AlbumId && (item.Type === 'MusicVideo' || item.Type === 'Audio')) { - parentRoute = appRouter.getRouteUrl({ - Id: item.AlbumId, - Name: item.Album, - Type: 'MusicAlbum', - IsFolder: true, - ServerId: item.ServerId - }, { - context: context - }); - parentNameHtml.push('' + item.Album + ''); + parentNameHtml.push(`${item.Album}`); } else if (item.Album) { parentNameHtml.push(item.Album); } @@ -2105,8 +2068,11 @@ export default function (view, params) { Events.on(apiClient, 'message', onWebSocketMessage); Events.on(playbackManager, 'playerchange', onPlayerChange); + + itemShortcuts.on(view.querySelector('.nameContainer')); }); view.addEventListener('viewbeforehide', function () { + itemShortcuts.off(view.querySelector('.nameContainer')); Events.off(apiClient, 'message', onWebSocketMessage); Events.off(playbackManager, 'playerchange', onPlayerChange); libraryMenu.setTransparentMenu(false);