EmbyCrackedClient/web/modules/layoutmanager.js

1 line
1.4 KiB
JavaScript
Raw Normal View History

2025-06-25 11:46:04 +08:00
import browser from"./browser.js";import events from"./emby-apiclient/events.js";import appSettings from"./common/appsettings.js";import{appHost}from"./common/servicelocator.js";let currentLayout;function setLayout(instance,layout,selectedLayout){layout===selectedLayout?(instance[layout]=!0,"tv"===layout&&document.documentElement.classList.add("layout-"+layout)):(instance[layout]=!1,"tv"===layout&&document.documentElement.classList.remove("layout-"+layout))}function LayoutManager(){var saved=this.getSavedLayout();saved?this.setLayout(saved,!1):this.autoLayout()}LayoutManager.prototype.setLayout=function(layout,save){var changed;layout&&"auto"!==layout?(setLayout(this,"mobile",layout),setLayout(this,"tv",layout),setLayout(this,"desktop",layout),!1!==save&&appSettings.set("layout",layout),changed=currentLayout!==layout,currentLayout=layout,changed&&events.trigger(this,"modechange")):(this.autoLayout(),!1!==save&&appSettings.set("layout",""))},LayoutManager.prototype.getSavedLayout=function(layout){return appSettings.get("layout")},LayoutManager.prototype.autoLayout=function(){this.setLayout(this.getDefaultLayout(),!1)},LayoutManager.prototype.getDefaultLayout=function(){if(appHost.getDefaultLayout){var result=appHost.getDefaultLayout();if(result)return result}return browser.tv||(!(result=navigator.userAgentData)||!result.mobile)&&(browser.electron||window.location.href.toString().toLowerCase().includes("tv.emby"))?"tv":"mobile"};export default new LayoutManager;