24 lines
12 KiB
JavaScript
24 lines
12 KiB
JavaScript
|
|
import events from"events";import loading from"loading";import globalize from"globalize";import navDrawer from"./../../navdrawer/navdrawer.js";import userSettings from"userSettings";import{appHost}from"serviceLocator";import skinViewManager from"skinViewManager";import viewManager from"viewManager";import winThemeSettings from"./settings/winthemesettings.js";import layoutManager from"layoutManager";import VideoGlue from"./videoGlue.js";import playbackManager from"playbackManager";let DrawerStates={Closed:0,Open:1,Docked:2,DockedMini:3},lastDrawerState=DrawerStates.Docked,isSmallWidth=!1,mediaQueryWindowWidth,areDrawerButtonsCreated,headerFullScreenButton,headerExitButton,gluedVideo;function onPlayerChange(){bindToPlayer(playbackManager.getCurrentPlayer())}function bindToPlayer(newPlayer){var bgContainer;gluedVideo?.destroy(),gluedVideo=null,newPlayer&&newPlayer.supports("geometrycontrol")&&(bgContainer=document.querySelector(".backgroundContainer"),gluedVideo=new VideoGlue(newPlayer,bgContainer))}function onLoadingStateChange(e,isLoadingActive){isLoadingActive?window.NativeWindowControl.startLogoRotation():window.NativeWindowControl.stopLogoRotation()}function onDrawerStateChange(e,drawerState){lastDrawerState=drawerState,updateTitleBarMode(),areDrawerButtonsCreated||ensureDrawerButtons()}function onMediaQueryChange(e){isSmallWidth=e.matches,updateTitleBarMode()}function updateTitleBarMode(){isSmallWidth?window.NativeWindowControl.setTitlebarMode("TallWithConstrainedLogo"):lastDrawerState===DrawerStates.Docked?window.NativeWindowControl.setTitlebarMode("TallWithExtendedLogo"):lastDrawerState===DrawerStates.DockedMini?window.NativeWindowControl.setTitlebarMode("TallWithIconOnly"):lastDrawerState!==DrawerStates.Open&&lastDrawerState!==DrawerStates.Closed||window.NativeWindowControl.setTitlebarMode("TallWithConstrainedLogo")}function onUserSettingsChanged(e,name){"language"===name&&setTimeout(onLanguageChanged,2e3)}function onLanguageChanged(){var firstChild,strOn=globalize.translate("On"),strOn=`
|
||
|
|
body.settings-view-active .checkboxContainer .emby-checkbox::after {
|
||
|
|
content: '${globalize.translate("Off")}' !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
body.settings-view-active .checkboxContainer .emby-checkbox:checked::after {
|
||
|
|
content: '${strOn}' !important;
|
||
|
|
}
|
||
|
|
`;let styleElement=document.getElementById("native-theme-strings");styleElement||((styleElement=document.createElement("style")).id="native-theme-strings",(firstChild=document.head.firstChild)?document.head.insertBefore(styleElement,firstChild):document.head.appendChild(styleElement)),styleElement.innerHTML=strOn}function onSuperThemeStatusChanged(e){window.NativeThemeInterop.getSuperThemeStatus()?.SuperThemeEnabled?document.documentElement.classList.add("supertheme"):document.documentElement.classList.remove("supertheme")}function onThemeInfoChanged(e){let themeInfo=window.NativeThemeInterop.getNativeThemeInfo(),cssVariables="";Object.keys(themeInfo.Colors).forEach(function(key){var key=themeInfo.Colors[key],hue=key.H,saturation=key.S.toFixed(1)+"%",lightness=key.L.toFixed(1)+"%",alpha=(key.A/255).toFixed(2);key.IsExtra?cssVariables+=`--win-${key.ColorName}: ${key.HexValue};
|
||
|
|
`:cssVariables=(cssVariables=(cssVariables=(cssVariables=(cssVariables+=`--win-${key.ColorName.toLowerCase()}-color-hue: ${hue};
|
||
|
|
`)+`--win-${key.ColorName.toLowerCase()}-color-saturation: ${saturation};
|
||
|
|
`)+`--win-${key.ColorName.toLowerCase()}-color-lightness: ${lightness};
|
||
|
|
`)+`--win-${key.ColorName.toLowerCase()}-color-alpha: ${alpha};
|
||
|
|
`)+`--win-${key.ColorName.toLowerCase()}-color: ${key.HexValue};
|
||
|
|
`});var firstChild;let styleElement=document.getElementById("native-theme-styles");styleElement||((styleElement=document.createElement("style")).id="native-theme-styles",(firstChild=document.head.firstChild)?document.head.insertBefore(styleElement,firstChild):document.head.appendChild(styleElement)),styleElement.innerHTML=`:root { ${cssVariables} }`}function onDrawerToggleButtonClick(e){var state=navDrawer.getDrawerState();state===DrawerStates.Open?(userSettings.drawerStyle("closed"),navDrawer.close()):state===DrawerStates.Docked||state===DrawerStates.Open?(userSettings.drawerStyle("docked-mini"),navDrawer.open(!0,!0)):((state=!mediaQueryWindowWidth.matches)&&userSettings.drawerStyle("docked"),navDrawer.open(state))}function onDrawerCloseButtonClick(e){userSettings.drawerStyle("closed"),navDrawer.close()}function onHeaderMenuButtonClick(e){e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation();e=!mediaQueryWindowWidth.matches;e&&userSettings.drawerStyle("docked"),navDrawer.open(e)}function ensureDrawerButtons(){var mainDrawer,Menu=globalize.translate("Menu"),Close=globalize.translate("Close"),Menu=`
|
||
|
|
<div class="navDrawerButtonHeader flex flex-direction-row">
|
||
|
|
<button type="button" is="paper-icon-button-light" class="drawerToggleButton headerButton headerSectionItem md-icon" title="${Menu}" aria-label="${Menu}">
|
||
|
|

|
||
|
|
</button>
|
||
|
|
<button type="button" is="paper-icon-button-light" class="drawerCloseButton headerButton headerSectionItem md-icon" title="${Close}" aria-label="${Close}">
|
||
|
|
close
|
||
|
|
</button>
|
||
|
|
</div>
|
||
|
|
`,Close=document.querySelector(".mainDrawer .navDrawerButtonHeader"),Menu=(Close||((mainDrawer=document.querySelector(".mainDrawer")).insertAdjacentHTML("afterbegin",Menu),(Close=mainDrawer.querySelector(".navDrawerButtonHeader")).querySelector(".drawerToggleButton").addEventListener("click",onDrawerToggleButtonClick),Close.querySelector(".drawerCloseButton").addEventListener("click",onDrawerCloseButtonClick)),document.querySelector(".skinHeader .headerLeft .headerMenuButton"));Menu&&Menu.addEventListener("click",onHeaderMenuButtonClick,!0),areDrawerButtonsCreated=!0}function cleanupDrawerButtons(){var drawerToggleButton=document.querySelector(".mainDrawer .navDrawerButtonHeader .drawerToggleButton"),drawerToggleButton=(drawerToggleButton&&(drawerToggleButton.removeEventListener("click",onDrawerToggleButtonClick),drawerToggleButton.remove()),document.querySelector(".mainDrawer .navDrawerButtonHeader .drawerCloseButton")),drawerToggleButton=(drawerToggleButton&&(drawerToggleButton.removeEventListener("click",onDrawerCloseButtonClick),drawerToggleButton.remove()),document.querySelector(".mainDrawer .navDrawerButtonHeader")),drawerToggleButton=(drawerToggleButton&&drawerToggleButton.remove(),document.querySelector(".skinHeader .headerLeft .headerMenuButton"));drawerToggleButton&&drawerToggleButton.removeEventListener("click",onHeaderMenuButtonClick,!0),areDrawerButtonsCreated=!1}function onFullScreenButtonClick(e){"Normal"===appHost.getWindowState()?appHost.setWindowState("Fullscreen"):appHost.setWindowState("Normal")}function onExitButtonClick(e){appHost.exit()}function onViewbeforeshow(e){"true"!==e.detail.params?.asDialog&&(e.detail.settingsTheme?document.body.classList.add("settings-view-active"):document.body.classList.remove("settings-view-active"))}function cleanupHeaderButtons(){headerFullScreenButton&&(headerFullScreenButton.removeEventListener("click",onFullScreenButtonClick),headerFullScreenButton.remove(),headerFullScreenButton=null),headerExitButton&&(headerExitButton.removeEventListener("click",onExitButtonClick),headerExitButton.remove(),headerExitButton=null)}function checkAndFixSettingsTheme(){try{var settingsTheme=userSettings.settingsTheme();"windows"!==settingsTheme&&"maintheme"!==settingsTheme&&settingsTheme&&userSettings.settingsTheme("")}catch(err){}return userSettings.enableBackdrops()&&userSettings.enableBackdrops(!1),!1}function showAlert(options){return Emby.importModule("./modules/common/dialogs/alert.js").then(function(alert){return alert(options)})}function monitorLayoutChange(){checkAndFixLayoutMode()&&showAlert("The Windows theme does not support any other mode than Desktop mode. Changing back to Desktop mode.").then(function(){window.location.reload()})}function checkAndFixLayoutMode(){return"tv"===layoutManager.getSavedLayout()&&"windows"===userSettings.theme()&&(layoutManager.setLayout("desktop",!0),!0)}function onFocusBlur(){document.hasFocus()?document.body.classList.add("window-focus"):document.body.classList.remove("window-focus")}function ThemeController(){}ThemeController.prototype.load=function(currentThemeInfo){if(checkAndFixSettingsTheme(),skinViewManager.setSkinOptions({showTitleOnHomeTab:!0,dontUseNativeDropDowns:!0,dialogAnimationTimeout:50}),skinViewManager.initFromTheme=!0,window.NativeWindowControl&&(window.NativeWindowControl.isLogoRotationSupported()&&events.on(loading,"loading-state-change",onLoadingStateChange),window.NativeWindowControl.isTitlebarModeSupported("TallWithExtendedLogo"))){(mediaQueryWindowWidth=window.matchMedia("not all and (min-width: 60em)")).addListener(onMediaQueryChange),isSmallWidth=mediaQueryWindowWidth.matches,events.on(navDrawer,"drawer-state-change",onDrawerStateChange);let currentState=navDrawer.getDrawerState();setTimeout(()=>{onDrawerStateChange(navDrawer,currentState),ensureDrawerButtons()})}return window.NativeThemeInterop&&(events.on(window.NativeThemeInterop,"nativethemeinfochanged",onThemeInfoChanged),onThemeInfoChanged(window.NativeThemeInterop),events.on(window.NativeThemeInterop,"superthemestatuschanged",onSuperThemeStatusChanged
|