import events from"./emby-apiclient/events.js";import connectionManager from"./emby-apiclient/connectionmanager.js";import globalize from"./common/globalize.js";import pluginManager from"./common/pluginmanager.js";import queryString from"./common/querystring.js";import browser from"./browser.js";import layoutManager from"./layoutmanager.js";import skinManager from"./skinmanager.js";import loading from"./loading/loading.js";import{appHost}from"./common/servicelocator.js";import textEncoding from"./common/textencoding.js";import viewManager from"./viewmanager/viewmanager.js";import backdrop from"./backdrop/backdrop.js";import page from"./pagejs/page.js";import ApiClient from"./emby-apiclient/apiclient.js";import BaseAppRouter from"./common/baseapprouter.js";function showAlert(options){return Emby.importModule("./modules/common/dialogs/alert.js").then(function(alert){return alert(options)})}function showAlertAndResolve(options){return showAlert(options).catch(function(){return Promise.resolve()})}function loadDialogHelper(){return Emby.importModule("./modules/dialoghelper/dialoghelper.js")}function loadAppHeader(){return Emby.importModule("./modules/appheader/appheader.js")}function AppRouter(){BaseAppRouter.apply(this,arguments)}Object.assign(AppRouter.prototype,BaseAppRouter.prototype),AppRouter.prototype.showProfilePinPrompt=function(options){return Emby.importModule("./modules/profilepinprompt/profilepinprompt.js").then(function(PinPrompt){return(new PinPrompt).show(options)})};let IsHostedWebApp="standalone"===globalThis.appMode&&!browser.electron,AllowSessionStorageUsage="standalone"===(globalThis.appMode||"standalone")&&!browser.electron;function getServerLoginRouteUrl(options){var params,url;return"manual"===options.loginType||options.username?(params={serverId:options.apiClient.serverId()},url="/startup/manuallogin.html?",options.username&&(params.user=options.username),url+queryString.paramsToString(params)):"visual"===options.loginType?"/startup/login.html?serverId="+options.apiClient.serverId():void 0}function addressFormatToHtml(address){return''+textEncoding.htmlEncode(address)+""}function addressFormatToText(address){return textEncoding.htmlEncode(address)}function showWebAppConnectionError(server,addresses){var html=[],currentProtocol=(html.push('

'+globalize.translate("MessageUnableToConnectToServer")+"

"),(window.location.protocol||"").toLowerCase());if("https:"!==currentProtocol)return null;if(containsSecureContext(addresses))return null;{let addressHtml="

"+globalize.translate("IfTryingToConnectToHttp")+"

";addressHtml+="",html.push(addressHtml)}return showAlertAndResolve({html:html.join(""),title:server.Name?globalize.translate("TitleUnableToReachName",textEncoding.htmlEncode(server.Name)):globalize.translate("TitleUnableToReachServer"),centerText:!1})}function getServerAddressesFromResult(result){var list=[];return result.Address?list.push(result.Address):(result=result.Server||{})&&(result.ManualAddress&&!list.includes(result.ManualAddress)&&list.push(result.ManualAddress),result.LocalAddress&&!list.includes(result.LocalAddress)&&list.push(result.LocalAddress),result.RemoteAddress)&&!list.includes(result.RemoteAddress)&&list.push(result.RemoteAddress),list}function containsSecureContext(addresses){for(let i=0,length=addresses.length;i