import BaseSettingsView from"./../modules/viewmanager/basesettingsview.js";import"./../modules/emby-elements/emby-select/emby-select.js";import"./../modules/emby-elements/emby-input/emby-input.js";import"./../modules/emby-elements/emby-button/emby-button.js";import"./../modules/emby-elements/emby-textarea/emby-textarea.js";import"./../modules/emby-elements/emby-checkbox/emby-checkbox.js";import loading from"./../modules/loading/loading.js";import globalize from"./../modules/common/globalize.js";import{appHost}from"./../modules/common/servicelocator.js";import formHelper from"./../modules/common/responsehelper.js";let brandingConfigKey="branding",currentBrandingOptions,currentLanguage;function loadPage(page,config,languageOptions,systemInfo){systemInfo.OperatingSystem.toLowerCase().includes("windows")?page.querySelector(".windowsStartupDescription").classList.remove("hide"):page.querySelector(".windowsStartupDescription").classList.add("hide"),systemInfo.SupportsAutoRunAtStartup?page.querySelector(".fldRunAtStartup").classList.remove("hide"):page.querySelector(".fldRunAtStartup").classList.add("hide"),systemInfo.CanLaunchWebBrowser?page.querySelector(".fldRunWebAppAtStartup").classList.remove("hide"):page.querySelector(".fldRunWebAppAtStartup").classList.add("hide"),page.querySelector(".txtCachePath").value=config.CachePath||"";var selectLocalizationLanguage=page.querySelector(".selectLocalizationLanguage");selectLocalizationLanguage.innerHTML=languageOptions.map(function(l){return'"}),selectLocalizationLanguage.value=config.UICulture,currentLanguage=config.UICulture,page.querySelector(".chkRunAtStartup").checked=config.RunAtStartup,page.querySelector(".chkRunWebAppAtStartup").checked=config.AutoRunWebApp||!1,systemInfo.CanSelfUpdate?(page.querySelector(".fldAutomaticUpdates").classList.remove("hide"),page.querySelector(".autoRestartLabel").innerHTML=globalize.translate("LabelAllowServerAutoRestartServerOrPlugin")):(page.querySelector(".fldAutomaticUpdates").classList.add("hide"),page.querySelector(".autoRestartLabel").innerHTML=globalize.translate("LabelAllowServerAutoRestartPlugin")),page.querySelector(".chkEnableAutomaticServerUpdates").checked=config.EnableAutoUpdate,page.querySelector(".chkEnableAutomaticRestart").checked=config.EnableAutomaticRestart,systemInfo.CanSelfRestart?page.querySelector(".fldEnableAutomaticRestart").classList.remove("hide"):page.querySelector(".fldEnableAutomaticRestart").classList.add("hide"),systemInfo.CanSelfRestart||systemInfo.CanSelfUpdate?page.querySelector(".autoUpdatesContainer").classList.remove("hide"):page.querySelector(".autoUpdatesContainer").classList.add("hide"),loading.hide()}function onSubmit(e){loading.show();let form=this;return ApiClient.getServerConfiguration().then(function(config){config.UICulture=form.querySelector(".selectLocalizationLanguage").value,config.CachePath=form.querySelector(".txtCachePath").value;let requiresReload=!1;config.UICulture!==currentLanguage&&(requiresReload=!0),config.RunAtStartup=form.querySelector(".chkRunAtStartup").checked,config.AutoRunWebApp=form.querySelector(".chkRunWebAppAtStartup").checked,config.EnableAutomaticRestart=form.querySelector(".chkEnableAutomaticRestart").checked,config.EnableAutoUpdate=form.querySelector(".chkEnableAutomaticServerUpdates").checked,ApiClient.updateServerConfiguration(config).then(function(){ApiClient.getNamedConfiguration(brandingConfigKey).then(function(brandingConfig){brandingConfig.LoginDisclaimer=form.querySelector(".txtLoginDisclaimer").value,brandingConfig.CustomCss=form.querySelector(".txtCustomCss").value,currentBrandingOptions&&brandingConfig.CustomCss!==currentBrandingOptions.CustomCss&&(requiresReload=!0),ApiClient.updateNamedConfiguration(brandingConfigKey,brandingConfig).then(function(){formHelper.handleConfigurationSavedResponse(),requiresReload&&!appHost.supports("multiserver")&&window.location.reload(!0)})})})}),e.preventDefault(),e.stopPropagation(),!1}function View(view,params){BaseSettingsView.apply(this,arguments),view.querySelector(".btnSelectCachePath").addEventListener("click",function(){Emby.importModule("./modules/directorybrowser/directorybrowser.js").then(function(directoryBrowser){let picker=new directoryBrowser;picker.show({callback:function(path){path&&(view.querySelector(".txtCachePath").value=path),picker.close()},validateWriteable:!0,header:globalize.translate("HeaderSelectServerCachePath"),instruction:globalize.translate("HeaderSelectServerCachePathHelp")})})}),view.querySelector(".dashboardGeneralForm").addEventListener("submit",onSubmit)}Object.assign(View.prototype,BaseSettingsView.prototype),View.prototype.loadSettingsInternal=function(){var promise1=ApiClient.getServerConfiguration(),promise2=ApiClient.getJSON(ApiClient.getUrl("Localization/Options")),promise3=ApiClient.getSystemInfo();let view=this.view;return Promise.all([promise1,promise2,promise3]).then(function(responses){return loadPage(view,responses[0],responses[1],responses[2]),ApiClient.getNamedConfiguration(brandingConfigKey).then(function(config){currentBrandingOptions=config,view.querySelector(".txtLoginDisclaimer").value=config.LoginDisclaimer||"",view.querySelector(".txtCustomCss").value=config.CustomCss||""})})};export default View;