EmbyCrackedClient/web/livetv/livetv.js

1 line
4 KiB
JavaScript
Raw Permalink Normal View History

2025-06-25 11:46:04 +08:00
import connectionManager from"./../modules/emby-apiclient/connectionmanager.js";import TabbedView from"./../modules/tabbedview/tabbedview.js";import globalize from"./../modules/common/globalize.js";import"./../modules/emby-elements/emby-itemscontainer/emby-itemscontainer.js";import"./../modules/emby-elements/emby-button/emby-button.js";import"./../modules/emby-elements/emby-scroller/emby-scroller.js";import focusManager from"./../modules/focusmanager.js";import registrationServices from"./../modules/registrationservices/registrationservices.js";import userSettings from"./../modules/common/usersettings/usersettings.js";import mainTabsManager from"./../modules/maintabsmanager.js";function getTabs(){var subviews=this.item?.Subviews||[];return[{name:globalize.translate("Programs"),id:"suggestions"},{name:globalize.translate("Guide"),id:"guide"},{name:globalize.translate("Channels"),id:"channels"},{name:globalize.translate("Tags"),id:"tags",enabled:subviews.includes("tags")},{name:globalize.translate("Recordings"),id:"recordings"},{name:globalize.translate("Schedule"),id:"schedule"},{name:globalize.translate("Series"),id:"series"}]}function hideShowAll(view,className,hide){var elems=view.querySelectorAll("."+className);for(let i=0,length=elems.length;i<length;i++)hide?elems[i].classList.add("hide"):elems[i].classList.remove("hide")}function validateUnlock(view,showDialog){return registrationServices.validateFeature("livetv",{showDialog:showDialog,viewOnly:!0}).then(function(){hideShowAll(view,"tabContent",!1),view.querySelector(".unlockContainer").classList.add("hide")},function(){hideShowAll(view,"tabContent",!0),view.querySelector(".unlockContainer").classList.remove("hide"),focusManager.focus(view.querySelector(".btnUnlock"))})}function validateTabLoad(index){return validateUnlock(this.view,!1)}function LiveTVView(view,params){TabbedView.apply(this,arguments),view.querySelector(".unlockText").innerHTML=globalize.translate("DvrSubscriptionRequired","",""),view.querySelector(".btnUnlockText").innerHTML=globalize.translate("HeaderBecomeProjectSupporter"),validateUnlock(view,!1),view.querySelector(".btnUnlock").addEventListener("click",function(){validateUnlock(view,!0)})}Object.assign(LiveTVView.prototype,TabbedView.prototype),LiveTVView.prototype.getTabs=getTabs,LiveTVView.prototype.validateTabLoad=validateTabLoad,LiveTVView.prototype.getDefaultTabUserSettingsValue=function(folderId){return userSettings.get("landing-livetv")},LiveTVView.prototype.loadTabController=function(id){switch(id){case"collections":return Emby.importModule("./modules/tabbedview/collectionstab.js");case"genres":return Emby.importModule("./modules/tabbedview/genrestab.js");case"tags":return Emby.importModule("./modules/tabbedview/tagstab.js");case"suggestions":return Emby.importModule("./livetv/suggestions.js");case"guide":return Emby.importModule("./livetv/guide.js");case"channels":return Emby.importModule("./livetv/channels.js");case"recordings":return Emby.importModule("./livetv/recordings.js");case"schedule":return Emby.importModule("./livetv/schedule.js");case"series":return Emby.importModule("./livetv/series.js");default:throw new Error("tab not found: "+id)}},LiveTVView.prototype.fetchItem=function(){var params=this.params,params=connectionManager.getApiClient(params.serverId);return params.getJSON(params.getUrl("LiveTV/Folder"))},LiveTVView.prototype.getTabControllerOptions=function(id){var options=TabbedView.prototype.getTabControllerOptions.apply(this,arguments);return"tags"===id&&(options.tagsApiClientMethod="getLiveTvChannelTags",options.prefixesApiClientMethod="getLiveTvChannelTagPrefixes"),options},LiveTVView.prototype.enableWindowInputCommands=function(){return!0},LiveTVView.prototype.onWindowInputCommand=function(e){switch(e.detail.command){case"livetv":return void e.preventDefault();case"recordedtv":return mainTabsManager.selectedTabIndex(4),void e.preventDefault();case"guide":return mainTabsManager.selectedTabIndex(1),void e.preventDefault()}TabbedView.prototype.onWindowInputCommand.apply(this,arguments)};export default LiveTVView;