import BaseTab from"./basetab.js";import itemManager from"./../modules/common/itemmanager/itemmanager.js";import mediaInfo from"./../modules/mediainfo/mediainfo.js";import cardBuilder from"./../modules/cardbuilder/cardbuilder.js";import dom from"./../modules/dom.js";import playbackManager from"./../modules/common/playback/playbackmanager.js";import globalize from"./../modules/common/globalize.js";import layoutManager from"./../modules/layoutmanager.js";let BackdropFilterSupported=CSS.supports("backdrop-filter","blur(1em)")||CSS.supports("-webkit-backdrop-filter","blur(1em)");function showAlert(options){return Emby.importModule("./modules/common/dialogs/alert.js").then(function(alert){return alert(options)})}function getDetailImageItems(){let item=this.currentOptions.displayItem;var items=[];return item&&(item.SeriesPrimaryImageTag&&(item={Id:item.SeriesId,Name:item.SeriesName,ServerId:item.ServerId,ImageTags:{Primary:item.SeriesPrimaryImageTag},IsFolder:!0,PrimaryImageAspectRatio:2/3}),items.push(item)),Promise.resolve({Items:items,TotalRecordCount:items.length})}function getDetailImageListOptions(items){return{renderer:cardBuilder,options:{overlayText:!0,fields:[],action:"none",multiSelect:!1,ratingButton:!1,playedButton:!1,cardClass:"osdInfoImageCard",cardBoxClass:"osdInfoImageCardBox",cardContentClass:"legacyLazyLoadImmediate",defaultIcon:!0,typeIndicator:!1,playedIndicator:!1,syncIndicator:!1,timerIndicator:!1,randomDefaultBackground:!1,staticElement:!0,progress:!1,hoverPlayButton:!1,moreButton:!1,enableUserData:!1},virtualScrollLayout:"vertical-grid"}}function initDetailImage(instance,view){view=view.querySelector(".videoosd-poster");view.fetchData=getDetailImageItems.bind(instance),view.getListOptions=getDetailImageListOptions,instance.imageItemsContainer=view}function InfoTab(view){BaseTab.apply(this,arguments),this.enableSecondaryText=!1,BackdropFilterSupported&&dom.allowBackdropFilter()?BackdropFilterSupported&&(this.enableSecondaryText=!0,view.classList.add("dialog-blur"),view.classList.remove("videoosd-tabBackground")):view.classList.add("videoosd-tabBackground")}function onReadMoreClick(e){var e=e.currentTarget.closest(".videoosd-info-overview").querySelector(".osdinfo-overview-text"),item=this.currentOptions.displayItem;showAlert({html:e.innerHTML,confirmButton:!1,title:itemManager.getDisplayName(item)||item.Name,centerText:!1,item:item})}function onPlayFromBeginningClick(e){playbackManager.seek(0)}function fillMediaSourceInfo(instance,mediaSource,currentPlayer){instance=instance.view.querySelector(".videoosd-info-mediasourceInfo");if(mediaSource){var infos=[],mediaSource=(mediaSource.MediaStreams||[]).filter(function(m){return"Video"===m.Type})[0],mediaSource=(mediaSource&&infos.push('
'+mediaSource.DisplayTitle+"
"),playbackManager.audioTracks(currentPlayer));let currentIndex=playbackManager.getAudioStreamIndex(currentPlayer);currentPlayer=mediaSource.filter(function(m){return m.Index===currentIndex})[0];currentPlayer&&infos.push('
'+currentPlayer.DisplayTitle+"
"),instance.innerHTML=infos.join(""),infos.length?instance.classList.remove("hide"):instance.classList.add("hide")}else instance.classList.add("hide")}function fillOverview(elem,overview){var textElement=elem.querySelector(".osdinfo-overview-text"),btnReadMore=elem.querySelector(".btnInfoTabReadMore");btnReadMore.innerHTML=globalize.translate("More"),layoutManager.tv?(elem.classList.remove("videoosd-info-overview-scroll"),textElement.classList.add("osdinfo-overview-text-readmore")):(elem.classList.add("videoosd-info-overview-scroll"),textElement.classList.remove("osdinfo-overview-text-readmore")),overview?(textElement.innerHTML=overview,elem.classList.remove("hide"),overview=textElement.closest("button"),layoutManager.tv?overview.removeAttribute("disabled"):overview.setAttribute("disabled","disabled"),btnReadMore.classList.add("hide")):(elem.classList.add("hide"),textElement.innerHTML="")}Object.assign(InfoTab.prototype,BaseTab.prototype),InfoTab.prototype.loadTemplate=function(){var view=this.view,secondaryTextClass=this.enableSecondaryText?" secondaryText":"";return view.innerHTML=`

'+globalize.translate("HeaderReadMore")+`
`,view.querySelector(".btnPlayFromBeginningText").innerHTML=globalize.translate("FromBeginning"),view.querySelector(".btnInfoTabOverviewText").addEventListener("click",onReadMoreClick.bind(this)),view.querySelector(".btnInfoTabReadMore").addEventListener("click",onReadMoreClick.bind(this)),view.querySelector(".btnPlayFromBeginning").addEventListener("click",onPlayFromBeginningClick.bind(this)),this.infoTabButtonsContainer=view.querySelector(".infoTabButtonsContainer"),layoutManager.tv||this.infoTabButtonsContainer.classList.add("infoTabButtonsContainer-autohide"),initDetailImage(this,view),Promise.resolve()},InfoTab.prototype.refreshItem=function(){BaseTab.prototype.refreshItem.apply(this,arguments),this.imageItemsContainer.refreshItems();var options=this.currentOptions,item=options.displayItem,mediaSource=options.mediaSource,options=options.currentPlayer,titleElem=this.view.querySelector(".videoosd-info-title"),title2Elem=this.view.querySelector(".videoosd-info-title2"),seriesName=item.SeriesName||(item.IsSeries||item.EpisodeTitle?item.Name:null),seriesName=(seriesName?(titleElem.innerHTML=seriesName,"Program"===item.Type?title2Elem.classList.add("hide"):(title2Elem.innerHTML=itemManager.getDisplayName(item,{}),title2Elem.classList.remove("hide"))):(titleElem.innerHTML=itemManager.getDisplayName(item,{}),title2Elem.classList.add("hide")),item.Overview),titleElem=seriesName?dom.stripScripts(seriesName):"";fillOverview(this.view.querySelector(".videoosd-info-overview"),titleElem),mediaInfo.fillPrimaryMediaInfo(this.view.querySelector(".videoosd-info-mediainfo"),item,{endsAt:!1,bitrate:"Audio"===item.MediaType,mediaSource:mediaSource}),mediaInfo.fillSecondaryMediaInfo(this.view.querySelector(".videoosd-info-mediainfo2"),item,{mediaSource:mediaSource}),fillMediaSourceInfo(this,mediaSource,options),mediaSource.RunTimeTicks?this.infoTabButtonsContainer.classList.remove("hide"):this.infoTabButtonsContainer.classList.add("hide")},InfoTab.prototype.onResume=function(options){let instance=this;return BaseTab.prototype.onResume.apply(this,arguments).then(function(){var optionsWithoutRefresh=Object.assign(Object.assign({},options),{refresh:!1});return instance.imageItemsContainer.resume(optionsWithoutRefresh).then(function(){options.refresh&&instance.refreshItem()})})},InfoTab.prototype.onPause=function(){BaseTab.prototype.onPause.apply(this,arguments),this.imageItemsContainer.pause()},InfoTab.prototype.destroy=function(){BaseTab.prototype.destroy.apply(this,arguments),this.endsAtElem=null,this.imageItemsContainer=null,this.infoTabButtonsContainer=null};export default InfoTab;