'),"tv"===currentMode?html+='
':html+='
',html+='
',"tv"===currentMode?html+='
':html+='
',"tv"===currentMode?html+='
':html+='
',html+='
';var tvTextClass="tv"===currentMode?"":" hide";html+='
',"tv"===currentMode?html+='
':html+='
',html=(html+='
')+'
',"tv"===currentMode?html+='
':html+='
',html=(html=(html+='
')+'
')+'
';let toggleButtonIconClass="toggleButtonIcon";return dom.allowBackdropFilter()&&(toggleButtonIconClass+=" toggleButtonIcon-backdropfilter"),html=(html=(html=(html=(html+='
')+('
'))+'
'+'
')+'
'+'
')+"
"+"
",html="tv"!==currentMode?(html=(html+='
')+'
'+globalize.translate("HeaderAddToPlayQueue")+" ")+"":html}function onSlideDownComplete(e){var elem=e.currentTarget;elem===e.target&&elem.classList.contains("nowPlayingBar-hidden")&&elem.classList.add("hide")}function slideDown(elem){elem._visible&&(elem._visible=!1,"tv"===currentMode?(inputManager.off(headerElement,onInputCommand),elem.classList.add("nowPlayingBar-hidden","hide"),headerElement.classList.remove("skinHeader-withnowplaying"),document.documentElement.classList.remove("withheadernowplaying")):(elem.classList.remove("nowPlayingBar-footer-transition"),elem.offsetWidth,elem.classList.add("nowPlayingBar-footer-transition"),elem.offsetWidth,elem.classList.add("nowPlayingBar-hidden")))}function onInputCommand(e){"up"===e.detail.command&&focusManager.focus(nowPlayingBarTVTextElement)}function slideUp(elem){elem._visible||(elem._visible=!0,"tv"===currentMode?(elem.classList.remove("nowPlayingBar-hidden","hide"),headerElement.classList.add("skinHeader-withnowplaying"),document.documentElement.classList.add("withheadernowplaying"),inputManager.off(headerElement,onInputCommand),inputManager.on(headerElement,onInputCommand)):(elem.classList.remove("hide"),elem.offsetWidth,elem.classList.remove("nowPlayingBar-hidden")))}function onPlayPauseClick(){playbackManager.playPause(currentPlayer)}function onStopClick(){currentPlayer&&playbackManager.stop(currentPlayer)}let dragCounter=0;function onDragEnter(e){e.dataTransfer.dropEffect="copy";e=window.CurrentDragInfo,e=e?e.item:null;e&&playbackManager.canQueue(e)&&(this.classList.add("nowPlayingBar-dragging-over"),dragCounter++)}function onDragOver(e){e.dataTransfer.dropEffect="copy";var data=window.CurrentDragInfo,data=data?data.item:null;data&&playbackManager.canQueue(data)&&e.preventDefault()}function onDragLeave(e){var data=window.CurrentDragInfo,data=data?data.item:null;data&&playbackManager.canQueue(data)&&0===--dragCounter&&this.classList.remove("nowPlayingBar-dragging-over")}function onDragEnd(e){this.classList.remove("nowPlayingBar-dragging-over")}function showToast(options){return Emby.importModule("./modules/toast/toast.js").then(function(toast){return toast(options)})}function onDrop(e){dragCounter=0,e.preventDefault(),this.classList.remove("nowPlayingBar-dragging-over");let items=window.CurrentDragInfo?.items||[];items.length&&(items=items.filter(function(i){return playbackManager.canQueue(i)})).length&&(playbackManager.queue({items:items}),showToast({text:globalize.translate("HeaderAddedToPlayQueue"),icon:""}))}function bindEvents(elem){"tv"!==currentMode&&dom.addEventListener(elem,dom.whichTransitionEvent(),onSlideDownComplete,{passive:!0}),nowPlayingImageElement=elem.querySelector(".nowPlayingBarImage"),nowPlayingTextElement=elem.querySelector(".nowPlayingBarText"),nowPlayingBarTVTextElement=elem.querySelector(".nowPlayingBarTVText"),nowPlayingBarFavoriteButton=elem.querySelector(".nowPlayingBarFavoriteButton"),positionSlider=elem.querySelector(".nowPlayingBarPositionSlider"),osdController=new OsdController({nowPlayingPositionSlider:positionSlider,positionTextElem:elem.querySelector(".nowPlayingBarCurrentTime"),durationTextElem:null,enableSeekThumbnails:!1}),events.on(osdController,"displayitemupdated",onDisplayItemUpdated),osdController.bindToPlayer(currentPlayer),(muteButton=elem.querySelector(".muteButton")).addEventListener("click",function(){currentPlayer&&playbackManager.toggleMute(currentPlayer)}),stopButtonRight=elem.querySelector(".stopButton-right");var stopButtons=elem.querySelectorAll(".stopButton");for(let i=0,length=stopButtons.length;i
',(html=(html+=text)+'')+text+"
"):(html+='')+text+"
"}function seriesImageUrl(item,options){if(item)return"Episode"!==item.Type?null:((options=options||{}).type=options.type||"Primary","Primary"===options.type&&item.SeriesPrimaryImageTag?(options.tag=item.SeriesPrimaryImageTag,{url:connectionManager.getApiClient(item).getImageUrl(item.SeriesId,options),aspect:"2/3"}):"Thumb"===options.type&&item.ParentThumbImageTag?(options.tag=item.ParentThumbImageTag,{url:connectionManager.getApiClient(item).getImageUrl(item.ParentThumbItemId,options),aspect:"16/9"}):null);throw new Error("item cannot be null!")}function imageUrl(item,options){if(!item)throw new Error("item cannot be null!");(options=options||{}).type=options.type||"Primary";var imageTags=item.ImageTags||{};return options.tag=item.PrimaryImageTag||imageTags[options.type],options.tag?{url:connectionManager.getApiClient(item).getImageUrl(item.PrimaryImageItemId||item.Id||item.ItemId,options),aspect:item.PrimaryImageAspectRatio?item.PrimaryImageAspectRatio.toString():"1"}:item.AlbumId&&item.AlbumPrimaryImageTag?(options.tag=item.AlbumPrimaryImageTag,{url:connectionManager.getApiClient(item).getImageUrl(item.AlbumId,options),aspect:"1"}):null}function getNowPlayingNames(nowPlayingItem,includeNonNameInfo,enableTextLinks){let topText=nowPlayingItem.Name,bottomText=(topText=nowPlayingItem.AlbumId&&"Audio"===nowPlayingItem.MediaType?getTextActionButton({Id:nowPlayingItem.AlbumId,Name:nowPlayingItem.Album,Type:"MusicAlbum",IsFolder:!0,ServerId:nowPlayingItem.ServerId},topText,null,enableTextLinks):itemManager.getDisplayName(nowPlayingItem,{})||nowPlayingItem.Name,"");nowPlayingItem.ArtistItems&&nowPlayingItem.ArtistItems.length?bottomText=nowPlayingItem.ArtistItems.map(function(a,index){return getTextActionButton({Id:a.Id,Name:a.Name,Type:"MusicArtist",IsFolder:!0,ServerId:nowPlayingItem.ServerId},null,null,enableTextLinks,index'+topText+" "),bottomText&&includeNonNameInfo.push('
'+bottomText+"
")):(includeNonNameInfo.push('
'+topText+"
"),bottomText&&includeNonNameInfo.push('
'+bottomText+"
")),includeNonNameInfo}let currentImgUrl;function onDisplayItemUpdated(e,item,displayItem,state){var textLines=displayItem?getNowPlayingNames(displayItem,null,!0):[],textLines=(nowPlayingTextElement.innerHTML=textLines.join(""),nowPlayingBarTVTextElement.innerHTML=(displayItem?getNowPlayingNames(displayItem):[]).join('
-
'),displayItem?seriesImageUrl(displayItem,{height:70})||imageUrl(displayItem,{height:70}):null),url=textLines?textLines.url:null;url!==currentImgUrl&&((currentImgUrl=url)?(nowPlayingImageElement.style["aspect-ratio"]=textLines.aspect,nowPlayingImageElement.style.backgroundImage="url('"+url+"')",nowPlayingImageElement.classList.remove("defaultCardBackground"),nowPlayingImageElement.innerHTML=""):(nowPlayingImageElement.style.backgroundImage="",nowPlayingImageElement.style["aspect-ratio"]="1",nowPlayingImageElement.classList.add("defaultCardBackground"),nowPlayingImageElement.innerHTML='
'+itemManager.getDefaultIcon(displayItem)+" ")),displayItem&&itemManager.canRate(item)?(nowPlayingBarFavoriteButton.setItem(displayItem),nowPlayingBarFavoriteButton.classList.remove("hide")):(nowPlayingBarFavoriteButton.classList.add("hide"),nowPlayingBarFavoriteButton.setItem(null))}function onPlaybackStart(e,state){osdController?.onPlaybackStart(e,state);onStateChanged.call(this,e,state)}function onShuffleChange(e){isEnabled&&updateShuffleDisplay(playbackManager.getShuffle(this))}function onRepeatModeChange(e){isEnabled&&updateRepeatModeDisplay(playbackManager.getRepeatMode(this))}function showNowPlayingBar(){isVisibilityAllowed?("tv"!==currentMode&&appFooter&&appFooter.setWithContent(!0),getNowPlayingBar().then(slideUp)):hideNowPlayingBar()}function hideNowPlayingBar(){isEnabled=!1;var elem=nowPlayingBarElement;elem&&slideDown(elem),"tv"!==currentMode&&appFooter&&appFooter.setWithContent(!1)}function onPlaybackStopped(e,state){osdController?.onPlaybackStopped(e,state);this.isLocalPlayer?"Audio"!==state.NextMediaType&&"Video"!==state.NextMediaType&&hideNowPlayingBar():state.NextMediaType||hideNowPlayingBar()}function onPlayPauseStateChanged(e){isEnabled&&updatePlayPauseState(this.paused())}function onStateChanged(event,state){let player=this;if(state.IsBackgroundPlayback)hideNowPlayingBar();else if(state.NowPlayingItem){if(player.isLocalPlayer&&state.NowPlayingItem){if("Video"===state.NowPlayingItem.MediaType)if(!userSettings.enableVideoUnderUI())return void hideNowPlayingBar();if("Audio"!==state.NowPlayingItem.MediaType&&"Video"!==state.NowPlayingItem.MediaType)return void hideNowPlayingBar()}isEnabled=!0,nowPlayingBarElement?updatePlayerStateInternal(event,state,player):getNowPlayingBar().then(function(){updatePlayerStateInternal(event,state,player)})}else hideNowPlayingBar()}function onTimeUpdate(e){var now;!isEnabled||(now=Date.now())-lastUpdateTime<700||(lastUpdateTime=now,currentRuntimeTicks=playbackManager.duration(this),updateTimeDisplay(playbackManager.currentTime(this),currentRuntimeTicks,playbackManager.getSeekableRanges(this)))}function releaseCurrentPlayer(){osdController?.releaseCurrentPlayer();var player=currentPlayer;player&&(events.off(player,"playbackstart",onPlaybackStart),events.off(player,"statechange",onPlaybackStart),events.off(player,"repeatmodechange",onRepeatModeChange),events.off(player,"shufflechange",onShuffleChange),events.off(player,"playbackstop",onPlaybackStopped),events.off(player,"volumechange",onVolumeChanged),events.off(player,"pause",onPlayPauseStateChanged),events.off(player,"unpause",onPlayPauseStateChanged),events.off(player,"timeupdate",onTimeUpdate),currentPlayer=null,hideNowPlayingBar())}function onVolumeChanged(e){isEnabled&&updatePlayerVolumeState(this.isMuted(),this.getVolume())}function refreshFromPlayer(player){var state=playbackManager.getPlayerState(player);onStateChanged.call(player,{type:"init"},state)}function bindToPlayer(player){osdController?.bindToPlayer(player),player!==currentPlayer&&(releaseCurrentPlayer(),currentPlayer=player)&&(refreshFromPlayer(player),events.on(player,"playbackstart",onPlaybackStart),events.on(player,"statechange",onPlaybackStart),events.on(player,"repeatmodechange",onRepeatModeChange),events.on(player,"shufflechange",onShuffleChange),events.on(player,"playbackstop",onPlaybackStopped),events.on(player,"volumechange",onVolumeChanged),events.on(player,"pause",onPlayPauseStateChanged),events.on(player,"unpause",onPlayPauseStateChanged),events.on(player,"timeupdate",onTimeUpdate))}function isEnabledForView(e){return!1!==e.detail.enableMediaControl&&!("tv"===currentMode&&!e.detail.enableMediaControlTV)}events.on(playbackManager,"playerchange",function(e,player){bindToPlayer(player)}),bindToPlayer(playbackManager.getCurrentPlayer()),document.addEventListener("viewbeforeshow",function(e){"true"!==e.detail.params?.asDialog&&(isEnabledForView(e)?isVisibilityAllowed||(isVisibilityAllowed=!0,currentPlayer?refreshFromPlayer(currentPlayer):hideNowPlayingBar()):isVisibilityAllowed&&(isVisibilityAllowed=!1,hideNowPlayingBar()))});