import BaseTab from"./../modules/tabbedview/basetab.js";import globalize from"./../modules/common/globalize.js";import connectionManager from"./../modules/emby-apiclient/connectionmanager.js";import cardBuilder from"./../modules/cardbuilder/cardbuilder.js";import listView from"./../modules/listview/listview.js";import appRouter from"./../modules/approuter.js";import"./../modules/emby-elements/emby-scroller/emby-scroller.js";import"./../modules/emby-elements/emby-itemscontainer/emby-itemscontainer.js";import serverNotifications from"./../modules/common/input/api.js";import events from"./../modules/emby-apiclient/events.js";import layoutManager from"./../modules/layoutmanager.js";import userSettings from"./../modules/common/usersettings/usersettings.js";function getSections(instance,apiClient){var instance=instance.enableFocusPreview(),sections=[{name:"HeaderFavoriteChannels",types:"TvChannel",shape:"autooverflow",fields:instance?[]:["Name","CurrentProgramParentName","CurrentProgramTime"],overlayPlayButton:!0,centerText:!0,defaultBackground:!0,preferThumb:"auto",bottomPadding:instance?"focuspreview":null,programIndicators:!instance},{name:"HeaderFavoriteShows",types:"Series",shape:"autooverflow",fields:instance?[]:["Name","ProductionYear"],overlayPlayButton:!0,centerText:!0,bottomPadding:instance?"focuspreview":null},{name:"HeaderFavoriteEpisodes",types:"Episode",shape:"autooverflow",preferThumb:!1,fields:instance?[]:["ParentName","Name"],overlayPlayButton:!0,centerText:!0,bottomPadding:instance?"focuspreview":null},{name:"HeaderFavoriteMovies",types:"Movie",shape:"autooverflow",fields:instance?[]:["Name","ProductionYear"],overlayPlayButton:!0,centerText:!0,bottomPadding:instance?"focuspreview":null},{name:"HeaderFavoriteMusicVideos",types:"MusicVideo",shape:"autooverflow",fields:instance?[]:["Name","ParentName"],overlayPlayButton:!0,centerText:!0,bottomPadding:instance?"focuspreview":null},{name:"HeaderFavoriteVideos",types:"Video",shape:"autooverflow",preferThumb:!0,fields:instance?[]:["Name"],overlayPlayButton:!0,centerText:!0,bottomPadding:instance?"focuspreview":null},{name:"HeaderFavoriteCollections",types:"BoxSet",shape:"autooverflow",fields:instance?[]:["Name"],overlayPlayButton:!0,centerText:!0,bottomPadding:instance?"focuspreview":null},{name:"HeaderFavoritePlaylists",types:"Playlist",shape:"autooverflow",preferThumb:!1,fields:instance?[]:["Name"],centerText:!0,overlayPlayButton:!0,bottomPadding:instance?"focuspreview":null},{name:"HeaderFavoriteArtists",types:"MusicArtist",shape:"autooverflow",round:!0,preferThumb:!1,fields:instance?[]:["Name"],centerText:!0,overlayPlayButton:!0,bottomPadding:instance?"focuspreview":null,cardSizeOffset:"1"},{name:"HeaderFavoriteAlbums",types:"MusicAlbum",shape:"autooverflow",preferThumb:!1,fields:instance?[]:["Name","ParentName"],centerText:!0,overlayPlayButton:!0,bottomPadding:instance?"focuspreview":null},{name:"HeaderFavoriteSongs",types:"Audio",sideFooter:!0,shape:"autooverflow",preferThumb:!1,fields:["ParentName","Name"],centerText:!1,action:"instantmix",bottomPadding:instance?"focuspreview":null},{name:"HeaderFavoritePhotos",types:"Photo",shape:"autooverflow",preferThumb:!1,fields:instance?[]:["Name","ProductionYear"],centerText:!0,bottomPadding:instance?"focuspreview":null},{name:"HeaderFavoriteGames",types:"Game",shape:"autooverflow",preferThumb:!1,fields:instance?[]:["Name","ParentName","ProductionYear"],centerText:!0,bottomPadding:instance?"focuspreview":null}];return sections.push({name:"HeaderFavoritePeople",types:"Person",shape:"autooverflow",fields:instance?[]:["Name"],centerText:!0,bottomPadding:instance?"focuspreview":null}),sections}function getFetchDataFn(section){return function(query){var apiClient=this.apiClient;let fields=this.getRequestedItemFields()+",PrimaryImageAspectRatio";section.fields.includes("ProductionYear")&&(fields+=",ProductionYear","Series"===section.types)&&(fields+=",Status,EndDate");var query=Object.assign({SortBy:"Episode"===section.types?"SeriesSortName,ParentIndexNumber,IndexNumber,SortName":"SortName",SortOrder:"Ascending",Filters:"IsFavorite",Recursive:!0,Fields:fields,CollapseBoxSetItems:!1},query||{}),userId=("TvChannel"===section.types&&(query.SortBy="ChannelNumber,SortName",query.Fields+=",CurrentProgram"),apiClient.getCurrentUserId());return"MusicArtist"===section.types?apiClient.getArtists(userId,query):"Person"===section.types?apiClient.getPeople(userId,query):(query.IncludeItemTypes=section.types,apiClient.getItems(userId,query))}}function getRouteUrl(section,serverId){return appRouter.getRouteUrl("list",{serverId:serverId,itemTypes:section.types,isFavorite:!0})}function getListOptionsFn(section){return function(items){return section.sideFooter&&!layoutManager.tv?{renderer:listView,options:{action:"playallfromhere",overlayPlayButton:!1,verticalWrap:!0,mediaInfo:!1,enableSideMediaInfo:!1,enableUserDataButtons:!1,fields:["Name","ParentName"]},virtualScrollLayout:"horizontal-grid"}:{renderer:cardBuilder,options:{preferThumb:section.preferThumb,shape:section.shape,sideFooter:section.sideFooter,centerText:section.centerText,fields:section.fields,scalable:!0,overlayPlayButton:section.overlayPlayButton,action:section.action,channelNumberFirst:!0,focusTransformTitleAdjust:!0,programIndicators:section.programIndicators},virtualScrollLayout:"horizontal-grid"}}}function onUserDataChanged(e,apiClient,userData){this.paused&&(this.needsRefresh=!0)}function FavoritesTab(view,params){BaseTab.apply(this,arguments),this.view=view,this.params=params,this.apiClient=connectionManager.currentApiClient(),this.sectionsContainer=view.querySelector(".sections"),createSections(this,this.sectionsContainer,this.apiClient),this.onUserDataChangedFn=onUserDataChanged.bind(this);params=this.onUserDataChangedFn;params&&events.on(serverNotifications,"UserDataChanged",params)}function createSections(instance,elem,apiClient){var sections=getSections(instance,apiClient);let html="",i,length;var clickTitles=!layoutManager.tv||!instance.enableFocusPreview();for(i=0,length=sections.length;i')+('
'),clickTitles&&(html+=''),html=(html+='

')+globalize.translate(section.name)+"

",clickTitles&&(html+="
"),html+="
","itemsContainer scrollSlider focusable focuscontainer-x");section.sideFooter&&(itemsContainerClass+=" itemsContainer-sideFooters");section=section.cardSizeOffset?' data-cardsizeoffset="1"':"";html=html+('
')+""}html+='
',elem.innerHTML=html;var elems=elem.querySelectorAll(".itemsContainer");for(i=0,length=elems.length;i