EmbyCrackedClient/web/home/hometab.js

1 line
3 KiB
JavaScript
Raw Permalink Normal View History

2025-06-25 11:46:04 +08:00
import BaseTab from"./../modules/tabbedview/basetab.js";import loading from"./../modules/loading/loading.js";import homeSections from"./../modules/homesections/homesections.js";import"./../modules/emby-elements/emby-itemscontainer/emby-itemscontainer.js";import connectionManager from"./../modules/emby-apiclient/connectionmanager.js";import userSettings from"./../modules/common/usersettings/usersettings.js";import layoutManager from"./../modules/layoutmanager.js";import appHeader from"./../modules/appheader/appheader.js";import skinViewManager from"./../modules/skinviewmanager.js";import globalize from"./../modules/common/globalize.js";function HomeTab(view,params){BaseTab.apply(this,arguments),this.view=view,this.params=params,this.apiClient=connectionManager.currentApiClient(),this.sectionsContainer=view.querySelector(".sections"),view.querySelector(".sections").addEventListener("settingschange",onHomeScreenSettingsChanged.bind(this))}function onHomeScreenSettingsChanged(){this.sectionsRendered=!1,this.paused||this.onResume({refresh:!0})}function autoFocus(){!this.instance.autoFocus()&&this.retries<20?(this.retries++,setTimeout(autoFocus.bind(this),100)):(this.view=null,this.retries=null)}Object.assign(HomeTab.prototype,BaseTab.prototype),HomeTab.prototype.enablePushDownFocusPreview=function(){return layoutManager.tv&&userSettings.enableHomescreenFocusPreviews()&&"y"===this.scrollDirection()},HomeTab.prototype.onResume=function(options){var serverName;return skinViewManager.getSkinOptions().showTitleOnHomeTab&&(serverName=connectionManager.currentApiClient().serverName(),serverName=globalize.translate("Home")+" - "+serverName,appHeader.setTitle(serverName)),BaseTab.prototype.onResume.apply(this,arguments),this.sectionsRendered?(serverName=this.sectionsContainer)?homeSections.resume(serverName,options):Promise.resolve():this.refresh(options)},HomeTab.prototype.refresh=function(options){loading.show();let view=this.view,apiClient=this.apiClient,instance=(this.destroyHomeSections(),this.sectionsRendered=!0,this);return apiClient.getCurrentUser().then(function(user){return homeSections.loadSections({element:view.querySelector(".sections"),apiClient:apiClient,user:user,requestedItemFields:instance.getRequestedItemFields(),requestedImageTypes:instance.getRequestedImageTypes(),enableFocusPreview:instance.enableFocusPreview()}).then(function(){var state;instance.addFocusBehavior(view),options.autoFocus&&!instance.autoFocus()&&(state={retries:0,instance:instance},setTimeout(autoFocus.bind(state),100)),loading.hide()})})},HomeTab.prototype.onPause=function(){BaseTab.prototype.onPause.apply(this,arguments);var sectionsContainer=this.sectionsContainer;sectionsContainer&&homeSections.pause(sectionsContainer)},HomeTab.prototype.destroy=function(){BaseTab.prototype.destroy.apply(this,arguments),this.destroyHomeSections(),this.sectionsContainer=null},HomeTab.prototype.destroyHomeSections=function(){var sectionsContainer=this.sectionsContainer;sectionsContainer&&(sectionsContainer.innerHTML="")};export default HomeTab;