mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
Fix 'undefined' on Chromecast and cleanup on nowPlayingBar.js
This commit is contained in:
parent
6aae85e991
commit
d13e1acf8d
3 changed files with 30 additions and 22 deletions
|
@ -457,15 +457,6 @@ define(['require', 'datetime', 'itemHelper', 'events', 'browser', 'imageLoader',
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function getTextActionButton(item, text) {
|
|
||||||
|
|
||||||
if (!text) {
|
|
||||||
text = itemHelper.getDisplayName(item);
|
|
||||||
}
|
|
||||||
|
|
||||||
return `<a>${text}</a>`;
|
|
||||||
}
|
|
||||||
|
|
||||||
function seriesImageUrl(item, options) {
|
function seriesImageUrl(item, options) {
|
||||||
|
|
||||||
if (!item) {
|
if (!item) {
|
||||||
|
@ -541,18 +532,25 @@ define(['require', 'datetime', 'itemHelper', 'events', 'browser', 'imageLoader',
|
||||||
if (textLines.length > 1) {
|
if (textLines.length > 1) {
|
||||||
textLines[1].secondary = true;
|
textLines[1].secondary = true;
|
||||||
}
|
}
|
||||||
nowPlayingTextElement.innerHTML = textLines.map(function (nowPlayingName) {
|
|
||||||
|
|
||||||
var cssClass = nowPlayingName.secondary ? ' class="nowPlayingBarSecondaryText"' : '';
|
if (textLines) {
|
||||||
|
nowPlayingTextElement.innerHTML = '';
|
||||||
if (nowPlayingName.item) {
|
let itemText = document.createElement('div');
|
||||||
var nowPlayingText = getTextActionButton(nowPlayingName.item, nowPlayingName.text);
|
let secondaryText = document.createElement('div');
|
||||||
return `<div ${cssClass}>${nowPlayingText}</div>`;
|
secondaryText.classList.add('nowPlayingBarSecondaryText');
|
||||||
|
if (textLines[0].text) {
|
||||||
|
let text = document.createElement('a');
|
||||||
|
text.innerHTML = textLines[0].text;
|
||||||
|
itemText.appendChild(text);
|
||||||
}
|
}
|
||||||
|
if (textLines[1].text) {
|
||||||
return `<div ${cssClass}>${nowPlayingText}</div>`;
|
let text = document.createElement('a');
|
||||||
|
text.innerHTML = textLines[1].text;
|
||||||
}).join('');
|
secondaryText.appendChild(text);
|
||||||
|
}
|
||||||
|
nowPlayingTextElement.appendChild(itemText);
|
||||||
|
nowPlayingTextElement.appendChild(secondaryText);
|
||||||
|
}
|
||||||
|
|
||||||
var imgHeight = 70;
|
var imgHeight = 70;
|
||||||
|
|
||||||
|
|
|
@ -3945,7 +3945,7 @@ define(['events', 'datetime', 'appSettings', 'itemHelper', 'pluginManager', 'pla
|
||||||
|
|
||||||
player = player || this._currentPlayer;
|
player = player || this._currentPlayer;
|
||||||
if (player && !enableLocalPlaylistManagement(player)) {
|
if (player && !enableLocalPlaylistManagement(player)) {
|
||||||
return player.setShuffleMode(value);
|
return player.setQueueShuffleMode(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
this._playQueueManager.setShuffleMode(value);
|
this._playQueueManager.setShuffleMode(value);
|
||||||
|
|
|
@ -120,9 +120,9 @@ define(['browser', 'datetime', 'backdrop', 'libraryBrowser', 'listView', 'imageL
|
||||||
if (item.Type == 'Audio' || item.MediaStreams[0].Type == 'Audio') {
|
if (item.Type == 'Audio' || item.MediaStreams[0].Type == 'Audio') {
|
||||||
var songName = item.Name;
|
var songName = item.Name;
|
||||||
if (item.Album != null && item.Artists != null) {
|
if (item.Album != null && item.Artists != null) {
|
||||||
|
var artistsSeries = '';
|
||||||
var albumName = item.Album;
|
var albumName = item.Album;
|
||||||
if (item.ArtistItems != null) {
|
if (item.ArtistItems != null) {
|
||||||
var artistsSeries = '';
|
|
||||||
for (let artist of item.ArtistItems) {
|
for (let artist of item.ArtistItems) {
|
||||||
let artistName = artist.Name;
|
let artistName = artist.Name;
|
||||||
let artistId = artist.Id;
|
let artistId = artist.Id;
|
||||||
|
@ -131,8 +131,18 @@ define(['browser', 'datetime', 'backdrop', 'libraryBrowser', 'listView', 'imageL
|
||||||
artistsSeries += ', ';
|
artistsSeries += ', ';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
context.querySelector('.nowPlayingArtist').innerHTML = artistsSeries;
|
} else if (item.Artists) {
|
||||||
|
// For some reason, Chromecast Player doesn't return a item.ArtistItems object, so we need to fallback
|
||||||
|
// to normal item.Artists item.
|
||||||
|
// TODO: Normalise fields returned by all the players
|
||||||
|
for (let artist of item.Artists) {
|
||||||
|
artistsSeries += `<a>${artist}</a>`;
|
||||||
|
if (artist !== item.Artists.slice(-1)[0]) {
|
||||||
|
artistsSeries += ', ';
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
context.querySelector('.nowPlayingArtist').innerHTML = artistsSeries;
|
||||||
context.querySelector('.nowPlayingAlbum').innerHTML = '<a class="button-link emby-button" is="emby-linkbutton" href="itemdetails.html?id=' + item.AlbumId + `&serverId=${nowPlayingServerId}">${albumName}</a>`;
|
context.querySelector('.nowPlayingAlbum').innerHTML = '<a class="button-link emby-button" is="emby-linkbutton" href="itemdetails.html?id=' + item.AlbumId + `&serverId=${nowPlayingServerId}">${albumName}</a>`;
|
||||||
}
|
}
|
||||||
context.querySelector('.nowPlayingSongName').innerHTML = songName;
|
context.querySelector('.nowPlayingSongName').innerHTML = songName;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue