first commit

This commit is contained in:
2026-02-09 10:48:21 +01:00
commit 15f28c0dd6
848 changed files with 107188 additions and 0 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
.alphanumeric-shortcut{position:fixed;bottom:5%;right:5%;inset-inline-start:initial;inset-inline-end:5%;z-index:9999999;font-size:500%;padding:0 .5em .1em;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;border-radius:.42em;border:0!important}

View File

@@ -0,0 +1 @@
define(["exports","./../dom.js","./../focusmanager.js","./../dialoghelper/dialoghelper.js"],function(_exports,_dom,_focusmanager,_dialoghelper){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,require(["css!modules/alphanumericshortcuts/alphanumericshortcuts.css"]);var inputDisplayElement,alpanumericShortcutTimeout,currentDisplayText="";function clearAlphaNumericShortcutTimeout(){alpanumericShortcutTimeout&&(clearTimeout(alpanumericShortcutTimeout),alpanumericShortcutTimeout=null)}function resetAlphaNumericShortcutTimeout(instance){clearAlphaNumericShortcutTimeout(),alpanumericShortcutTimeout=setTimeout(function(){var value=currentDisplayText;currentDisplayText="",inputDisplayElement.innerHTML="",inputDisplayElement.classList.add("hide"),clearAlphaNumericShortcutTimeout(),function(instance,value){instance.onAlphaNumericValueEntered&&instance.onAlphaNumericValueEntered(value)}(this,value)}.bind(instance),2e3)}function onAlphanumericKeyPress(instance,e,chr){3<=currentDisplayText.length||(inputDisplayElement||((inputDisplayElement=document.createElement("div")).classList.add("alphanumeric-shortcut","hide","dialog"),_dom.default.allowBackdropFilter()&&inputDisplayElement.classList.add("dialog-blur"),document.body.appendChild(inputDisplayElement)),currentDisplayText+=chr,inputDisplayElement.innerHTML=currentDisplayText,inputDisplayElement.classList.remove("hide"),resetAlphaNumericShortcutTimeout(instance))}function AlphaNumericShortcuts(options){(this.options=options).focusScope=_focusmanager.default.getCurrentScope(),this.keyDownHandler=this.onKeyDown.bind(this),this.addEventListeners()}AlphaNumericShortcuts.prototype.onKeyDown=function(e){var options,tagName;e.ctrlKey||e.shiftKey||e.altKey||(options=this.options)&&options.focusScope===_focusmanager.default.getCurrentScope()&&"INPUT"!==(tagName=e.target.tagName)&&"TEXTAREA"!==tagName&&(e=(tagName=e.key)?tagName.match(/^[0-9a-zA-Z]+$/):null)&&1===(e=e.toString().toUpperCase()).length&&(options.itemsContainer,onAlphanumericKeyPress(this,0,e))},AlphaNumericShortcuts.prototype.addEventListeners=function(){var keyDownHandler;!this._eventHandlersBound&&(this._eventHandlersBound=!0,keyDownHandler=this.keyDownHandler)&&_dom.default.addEventListener(window,"keydown",keyDownHandler,{passive:!0})},AlphaNumericShortcuts.prototype.removeEventListeners=function(){this._eventHandlersBound=null;var keyDownHandler=this.keyDownHandler;keyDownHandler&&_dom.default.removeEventListener(window,"keydown",keyDownHandler,{passive:!0})},AlphaNumericShortcuts.prototype.pause=function(){this.removeEventListeners()},AlphaNumericShortcuts.prototype.resume=function(){this.addEventListeners()},AlphaNumericShortcuts.prototype.destroy=function(){this.removeEventListeners(),this.keyDownHandler=null,this.options=null};_exports.default=AlphaNumericShortcuts});

View File

@@ -0,0 +1 @@
.alphaPicker{text-align:center;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-align-self:center;align-self:center;-webkit-user-select:none;user-select:none}.alphaPicker-fixed{position:fixed;top:9em;top:calc(9em + env(safe-area-inset-top,0));top:var(--header-height);top:calc(1em + var(--header-height));bottom:4.25em;bottom:calc(4.25em + env(safe-area-inset-bottom,0));z-index:1;-webkit-justify-content:center;justify-content:center}.alphaPickerRow{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;-webkit-flex-direction:row;flex-direction:row;-webkit-flex-grow:1;flex-grow:1}.alphaPickerRow-vertical{-webkit-column-count:1;column-count:1;-webkit-flex-shrink:0;flex-shrink:0;-webkit-flex-direction:column;flex-direction:column;font-size:82%;font-size:clamp(80%, 1rem, 82%);contain:layout style paint}.alphaPickerButton{border:0!important;cursor:pointer;outline:0!important;vertical-align:middle;font-family:inherit;font-size:inherit;min-width:initial;margin:0;padding:.1em .5em;width:auto;border-radius:.42em;-webkit-flex-shrink:0;flex-shrink:0;-webkit-flex-grow:1;flex-grow:1}.alphaPickerButton:focus::before{left:-.1em!important;right:-.1em!important}.alphaPicker:not(:focus-within) .alphaPickerButton-current{color:inherit!important}.alphaPickerButton-vertical{width:2.75ch;padding:0;display:-webkit-flex;display:flex;-webkit-justify-content:center;justify-content:center;-webkit-padding-start:.5em;padding-inline-start:.5em;text-align:center;-webkit-column-break-inside:avoid;break-inside:avoid;max-height:1.4em;contain:layout style;font-weight:600}.alphaPickerButtonIcon{font-size:140%!important}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
@media all and (pointer:fine){.alphaPickerButton-vertical{padding:0}}@media all and (pointer:fine){.alphaPickerRow-vertical{font-size:clamp(80%, 1rem, 88%)}}.alphaPicker-fixed-left{left:0;inset-inline-start:0;inset-inline-end:initial}.alphaPicker-fixed-right{right:0;inset-inline-start:initial;inset-inline-end:0}@media all and (min-width:50em){.alphaPicker-fixed-right{right:.5ch;inset-inline-start:initial;inset-inline-end:.5ch}}@media all and (pointer:fine){.alphaPicker-fixed-right{right:1.8ch;inset-inline-start:initial;inset-inline-end:1.8ch}}@media all and (min-width:62.5em){.alphaPickerButton-vertical{width:3.8ch}}@media all and (min-width:80em){.alphaPicker-fixed-right{right:1.8ch;inset-inline-start:initial;inset-inline-end:1.8ch}}@media all and (min-height:40em){.alphaPickerButton-vertical{max-height:1.6em}}@media all and (min-height:60em){.alphaPickerButton-vertical{max-height:1.8em}}@media all and (min-height:80em){.alphaPickerButton-vertical{max-height:2em}}@media not all and (min-height:29em){.alphaPicker-fixed{display:none!important}}

View File

@@ -0,0 +1 @@
.alphaPicker-fixed{bottom:1.5em;bottom:calc(1.5em + env(safe-area-inset-bottom,0))}.alphaPickerRow-vertical{font-size:clamp(80%, 1rem, 88%)}.alphaPickerButton-vertical{width:3.2ch;min-height:initial;max-height:initial;padding:0}.alphaPicker-fixed-left{left:1.2ch;inset-inline-start:1.2ch;inset-inline-end:initial}.alphaPicker-fixed-right{right:1.2ch;inset-inline-start:initial;inset-inline-end:1.2ch}

View File

@@ -0,0 +1 @@
.appfooter{position:fixed;left:0;right:0;bottom:0;inset-inline-start:0;inset-inline-end:0;z-index:1098;contain:layout style;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;padding-bottom:0;border-top:1px solid transparent;bottom:-1px!important}.appfooter-withContent{padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0);padding-bottom:env(safe-area-inset-bottom,0)}@media not all and (min-width:50em){.appfooter-withContent50w{padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0);padding-bottom:env(safe-area-inset-bottom,0)}}@media all and (min-width:60em){.appfooter-withFullDrawer{left:33.15ch;left:clamp(33.15ch,30%,45.5ch);right:0;inset-inline-start:33.15ch;inset-inline-start:clamp(33.15ch,30%,45.5ch);inset-inline-end:0}@media all and (pointer:fine){.appfooter-withFullDrawer{left:16.5em;left:calc(16.5em + env(safe-area-inset-left,0));right:0;inset-inline-start:16.5em;inset-inline-start:calc(16.5em + env(safe-area-inset-left,0));inset-inline-end:0}.appfooter-withFullDrawer.appFooter-rtl{inset-inline-start:calc(16.5em + env(safe-area-inset-right,0))}}.appfooter-withMiniDrawer{left:10ch;right:0;inset-inline-start:10ch;inset-inline-end:0}}

View File

@@ -0,0 +1 @@
define(["exports","./../dom.js","./../emby-apiclient/events.js","./../common/appsettings.js"],function(_exports,_dom,_events,_appsettings){function setRtlClasses(instance){"rtl"===document.dir?instance.element.classList.add("appFooter-rtl"):instance.element.classList.remove("appFooter-rtl")}function AppFooter(){var elem,_this=this;this.element=((elem=document.createElement("div")).classList.add("appfooter"),_dom.default.allowBackdropFilter()&&elem.classList.add("appfooter-withbackdropfilter"),document.body.appendChild(elem),elem),setRtlClasses(this),_events.default.on(_appsettings.default,"change",function(e,name){"language"===name&&setRtlClasses(_this)})}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,require(["css!modules/appfooter/appfooter.css"]),AppFooter.prototype.add=function(elem){"string"==typeof elem?this.element.insertAdjacentHTML("beforeend",elem):this.element.appendChild(elem)},AppFooter.prototype.insert=function(elem){var thisElement=this.element;"string"==typeof elem?thisElement.insertAdjacentHTML("afterbegin",elem):thisElement.insertBefore(elem,thisElement.firstChild)},AppFooter.prototype.setWithContent=function(withContent){var thisElement=this.element;withContent?thisElement.classList.add("appfooter-withContent"):thisElement.classList.remove("appfooter-withContent")},AppFooter.prototype.setWithContent50w=function(withContent){var thisElement=this.element;withContent?thisElement.classList.add("appfooter-withContent50w"):thisElement.classList.remove("appfooter-withContent50w")},AppFooter.prototype.destroy=function(){this.element=null};_exports.default=new AppFooter});

View File

@@ -0,0 +1 @@
:root{--headerlogo-background-position:left center}.rtl:root{--headerlogo-background-position:right center}.pageTitle{vertical-align:middle;margin:0;-webkit-align-items:center;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pageTitleWithLogo{background-position:left center;background-position:var(--headerlogo-background-position);background-size:contain;background-repeat:no-repeat;width:10.25em;height:1.25em}.pageTitleWithDefaultLogo{width:4.7em}.darkContentContainer .pageTitleWithDefaultLogo{background-image:url(../themes/logowhite.png)}.headerButton{-webkit-flex-shrink:0;flex-shrink:0}@supports selector(:hover) and (display:revert) and (column-gap:1em){.headerLeft,.headerRight{-webkit-column-gap:.55em;column-gap:.55em}.headerSectionItem{margin:0!important}.headerSelectedPlayer{-webkit-margin-end:-.5em!important;margin-inline-end:-.5em!important}}.pageTitle-marginstart{-webkit-margin-start:.5em!important;margin-inline-start:.5em!important}@media all and (display-mode:minimal-ui){.headerBackButton-showfullscreen{display:none!important}}.headerUserButtonImage{border-radius:1000px}.headroom-hidden.headroom-scrolling .headerSection{visibility:hidden}.skinHeader{container-type:inline-size;container-name:appheader}@supports (height:calc(3.125em + 2 * max(3em,4em))){.skinHeader{padding-top:max(1.2em,env(safe-area-inset-top,0))}}.skinHeader-withnowplaying{padding-top:0}.headerMiddle{overflow:hidden;-webkit-flex-grow:1;flex-grow:1;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;margin:0 auto}.headerMiddle-withSectionTabs{width:60%}.headerLeft{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;overflow:hidden;-webkit-padding-start:.85em;padding-inline-start:.85em;-webkit-flex-grow:1;flex-grow:1;max-width:60%}.headerRight{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:flex-end;justify-content:flex-end;white-space:nowrap;-webkit-padding-end:.85em;padding-inline-end:.85em;-webkit-flex-grow:0;flex-grow:0;-webkit-margin-start:auto;margin-inline-start:auto;max-width:40%}.headerLeft,.headerRight{box-sizing:border-box;-webkit-flex-shrink:1;flex-shrink:1;-webkit-flex-basis:auto;flex-basis:auto}.headerLeft,.headerRight,.headerMiddle{height:3.127em}.headerTop-withSectionTabs .headerLeft,.headerTop-withSectionTabs .headerRight{width:20%}.sectionTabs{text-align:center}.headerClock{margin:0 .25em;display:inline-block;vertical-align:middle;font-weight:600;font-size:118%}.headerSelectedPlayer{font-weight:400;max-width:10em;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.button-help{color:#42a5f5!important}.btnHeaderPremiere{-webkit-margin-end:1em;margin-inline-end:1em}@media not all and (min-width:48em){.btnHeaderPremiere{display:none!important}}.tabs-viewmenubar{border-radius:100em;display:-webkit-flex;display:flex;container-type:initial!important;container-name:tabs-viewmenubar!important;padding-top:.25em;padding-bottom:.25em}.main-tab-button{padding:0 1.76ch!important;border-radius:100em!important;max-width:40ch;height:1.8em}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
@media all and (orientation:portrait){.pageTitle:not(.pageTitleWithLogo){font-size:1.17em}}@media all and (min-width:60em){.headerHomeButton-withdockeddrawer,.headerMenuButton-withdockeddrawer{display:none!important}.skinHeader-withfulldrawer .pageTitleWithDefaultLogo{display:none}.headerLeft-withdockeddrawer{-webkit-padding-start:3rem;padding-inline-start:3rem}}@supports (container-type:inline-size){@container appheader not (min-width:120em){.headerTop-withSectionTabs{-webkit-flex-wrap:wrap;flex-wrap:wrap}.headerTop-withSectionTabs .headerLeft{width:70%;max-width:initial}.headerTop-withSectionTabs .headerRight{max-width:initial}.headerMiddle-withSectionTabs{-webkit-flex-grow:initial!important;flex-grow:initial!important;-webkit-flex-basis:100%;flex-basis:100%;-webkit-order:3;order:3;margin-top:.45em;width:initial}}}@supports not (container-type:inline-size){@media not all and (min-width:120em){.headerTop-withSectionTabs{-webkit-flex-wrap:wrap;flex-wrap:wrap}.headerTop-withSectionTabs .headerLeft{width:70%;max-width:initial}.headerTop-withSectionTabs .headerRight{max-width:initial}.headerMiddle-withSectionTabs{-webkit-flex-grow:initial!important;flex-grow:initial!important;-webkit-flex-basis:100%;flex-basis:100%;-webkit-order:3;order:3;margin-top:.45em;width:initial}}}@media not all and (min-width:66em){.headerMiddle-withSectionTabs{margin-top:0;height:2.5em}}@media (pointer:fine){.adjustHeaderForEmbeddedScroll{right:1.08em;inset-inline-start:0;inset-inline-end:1.08em}}@media all and (min-width:66em){.tabs-viewmenubar{-webkit-padding-start:3rem;padding-inline-start:3rem;-webkit-padding-end:3rem;padding-inline-end:3rem}}@media not all and (min-width:50em){.headerSettingsButton{display:none!important}}@supports (container-type:inline-size){@container appheader not (min-width:66em){.tabs-viewmenubar-backgroundcontainer{background:0 0!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}@container appheader (min-width:66em){.tabs-viewmenubar{font-size:112%;-webkit-padding-start:.25em;padding-inline-start:.25em;-webkit-padding-end:.25em;padding-inline-end:.25em}}}@supports not (container-type:inline-size){@media not all and (min-width:66em){.tabs-viewmenubar-backgroundcontainer{background:0 0!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}@media all and (min-width:66em){.tabs-viewmenubar{font-size:112%;-webkit-padding-start:.25em;padding-inline-start:.25em;-webkit-padding-end:.25em;padding-inline-end:.25em}}}@supports (container-type:inline-size){@container appheader (min-width:120em){.tabs-viewmenubar{font-size:116%;max-width:90%}.headerTop-withSectionTabs .headerLeft{-webkit-flex-grow:0;flex-grow:0}}}@supports not (container-type:inline-size){@media all and (min-width:120em){.tabs-viewmenubar{font-size:116%;max-width:90%}.headerTop-withSectionTabs .headerLeft{-webkit-flex-grow:0;flex-grow:0}}}@media not all and (min-width:37.5em){.headerLeft{max-width:calc(100% - 20ch)}.headerRight{max-width:20ch}.headerSelectedPlayer{display:none}}

View File

@@ -0,0 +1 @@
.semiTransparent,.appHeader-withfocuspreview{text-shadow:.14em .14em .28em rgba(0,0,0,.45)}.headerNowPlaying{-webkit-flex-basis:100%;flex-basis:100%;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;padding:0 2ch;padding-top:env(safe-area-inset-top,0);height:4em;box-sizing:border-box;margin-bottom:.8em}@supports (height:calc(3.125em + 2 * max(3em,4em))){.headerNowPlaying{height:calc(4em + env(safe-area-inset-top,0))}}.headerTop-withSectionTabs-hideTitle .pageTitle:not(.pageTitleWithDefaultLogo){display:none!important}.headerTop-withSectionTabs .headerHelpButton{display:none!important}.headerTop-withSectionTabs .headerLeft{-webkit-flex-grow:0;flex-grow:0}.tabs-viewmenubar{max-width:90%;font-size:inherit;-webkit-padding-start:.25em;padding-inline-start:.25em;-webkit-padding-end:.25em;padding-inline-end:.25em}

View File

@@ -0,0 +1 @@
define(["exports"],function(_exports){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;var skinHeaderElement=document.querySelector(".skinHeader");function AppHeaderContent(){}AppHeaderContent.prototype.ensureSizeObserver=function(){this.resizeObserver||(this.resizeObserver=new ResizeObserver(function(){this._headerHeight=null}.bind(this),{}),this.resizeObserver.observe(skinHeaderElement))},AppHeaderContent.prototype.getHeight=function(){var height=this._headerHeight;return null==height&&((height=skinHeaderElement.offsetHeight)&&(this._headerHeight=height),this.ensureSizeObserver()),height};_exports.default=new AppHeaderContent});

1
modules/approuter.js Normal file

File diff suppressed because one or more lines are too long

1
modules/babelhelpers.js Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
.backdropContainer{contain:style size;position:fixed;top:0;left:0;right:0;bottom:0;inset-inline-start:0;inset-inline-end:0;z-index:-1;touch-action:none}.backdropImage{background-repeat:no-repeat;background-position:center center;background-size:cover;position:absolute;top:0;bottom:0;left:0;right:0;inset-inline-start:0;inset-inline-end:0;contain:layout style paint;object-fit:cover;object-position:center center;width:100%;height:100%;content-visibility:auto;background-color:#000}.backdropImage-contain{background-size:contain;object-fit:contain}.backdropImageFadeIn{-webkit-animation:backdrop-fadein .8s ease-out normal;animation:backdrop-fadein .8s ease-out normal}@-webkit-keyframes backdrop-fadein{from{opacity:0}to{opacity:1}}@keyframes backdrop-fadein{from{opacity:0}to{opacity:1}}

View File

@@ -0,0 +1 @@
define(["exports","./../emby-apiclient/connectionmanager.js"],function(_exports,_connectionmanager){function BackdropScreenSaver(){this.name="Backdrop Screen Saver",this.type="screensaver",this.id="backdropscreensaver",this.supportsAnonymous=!1}function getItems(query){query=Object.assign({ImageTypes:"Backdrop",EnableImageTypes:"Backdrop",IncludeItemTypes:"Movie,Series,MusicArtist,Game",SortBy:"Random",Recursive:!0,ImageTypeLimit:1,Fields:"ProductionYear"},query);var apiClient=_connectionmanager.default.currentApiClient();return apiClient.getItems(apiClient.getCurrentUserId(),query)}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,BackdropScreenSaver.prototype.show=function(){var instance;this.currentSlideshow||(instance=this,Emby.importModule("./modules/slideshow/slideshow.js").then(function(slideshow){instance.currentSlideshow||((slideshow=new slideshow({showTitle:!0,cover:!0,getItems:getItems,cardFields:["Name","ProductionYear"],interactive:!1,autoplay:!0})).show(),instance.currentSlideshow=slideshow)}))},BackdropScreenSaver.prototype.hide=function(){var currentSlideshow=this.currentSlideshow;currentSlideshow&&(currentSlideshow.hide(),this.currentSlideshow=null)};_exports.default=BackdropScreenSaver});

View File

@@ -0,0 +1 @@
define(["exports","./../emby-apiclient/connectionmanager.js","./../common/servicelocator.js","./../layoutmanager.js","./../common/globalize.js","./../approuter.js","./../actionsheet/actionsheet.js","./../common/itemmanager/itemmanager.js"],function(_exports,_connectionmanager,_servicelocator,_layoutmanager,_globalize,_approuter,_actionsheet,_itemmanager){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;_exports.default=function(options){var apiClient=_connectionmanager.default.currentApiClient();return function(apiClient){return apiClient?_connectionmanager.default.getSignedInUsers(apiClient):Promise.resolve([])}(apiClient).then(function(signedInUsers){return function(apiClient){return apiClient?apiClient.getCurrentUser():Promise.resolve(null)}(apiClient).then(function(user){return _actionsheet.default.show({items:function(options,apiClient,user,signedInUsers){var items=[],showExit=_layoutmanager.default.tv&&_servicelocator.appHost.supports("exit"),exitFirst=options.exitFirst,userIcon=(showExit&&exitFirst&&items.push({name:_globalize.default.translate("Exit"),id:"exit",icon:"&#xe879;"}),!1!==options.settings&&(items.push({name:_globalize.default.translate("HeaderAppSettings"),id:"settings",icon:"&#xe8B8;",secondaryText:_servicelocator.appHost.appName()+" "+_servicelocator.appHost.appVersion()}),user)&&user.Policy.IsAdministrator&&_approuter.default.getRouteInfo(_approuter.default.getRouteUrl("manageserver"))&&items.push({name:_globalize.default.translate("ManageEmbyServer"),id:"manageserver",icon:"dashboard"}),_servicelocator.appHost.supports("multiserver")&&items.push({name:_globalize.default.translate("HeaderChangeServer"),id:"selectserver",icon:_itemmanager.default.getDefaultIcon({Type:"Server"})}),_itemmanager.default.getDefaultIcon(user));if(apiClient&&!_connectionmanager.default.isLoggedIntoConnect()){for(var i=0,length=signedInUsers.length;i<length;i++){var signedInUser=signedInUsers[i];signedInUser.Id!==user.Id&&items.push({name:signedInUser.Name,id:"user-"+signedInUser.Id,ImageUrl:signedInUser.PrimaryImageTag?apiClient.getUserImageUrl(signedInUser.Id,{maxWidth:80,type:"Primary",tag:signedInUser.PrimaryImageTag}):null,icon:userIcon})}items.push({name:_globalize.default.translate("HeaderChangeUser"),id:"changeuser",icon:_itemmanager.default.getDefaultIcon({Type:"User"})})}return items.push({name:_globalize.default.translate("HeaderSignOut"),id:"logout",icon:"&#xe879;"}),showExit&&!exitFirst&&items.push({name:_globalize.default.translate("Exit"),id:"exit",icon:"&#xe879;"}),_servicelocator.appHost.supports("sleep")&&items.push({name:_globalize.default.translate("Sleep"),id:"sleep",icon:"&#xe426;"}),_servicelocator.appHost.supports("shutdown")&&items.push({name:_globalize.default.translate("Shutdown"),id:"shutdown",icon:"&#xe8AC;"}),_servicelocator.appHost.supports("restart")&&items.push({name:_globalize.default.translate("Restart"),id:"restart",icon:"&#xe5D5;"}),items}(options,apiClient,user,signedInUsers),positionTo:options.positionTo,positionY:options.positionY,positionX:options.positionX,transformOrigin:options.transformOrigin,item:!1===options.showUserInfo?null:user,showServerName:!0,hasItemIcon:!0,hasItemImage:!0,roundImage:!0,fields:["Name","ShortOverview"],text:options.text,dialogSize:options.positionTo||!_layoutmanager.default.tv?null:"fullscreen"}).then(function(id){switch(id){case"logout":_approuter.default.logout(apiClient);break;case"changeuser":_approuter.default.showServerLogin({apiClient:apiClient});break;case"home":_approuter.default.goHome();break;case"exit":_servicelocator.appHost.exit();break;case"sleep":_servicelocator.appHost.sleep();break;case"shutdown":_servicelocator.appHost.shutdown();break;case"restart":_servicelocator.appHost.restart();break;case"settings":_approuter.default.showSettings();break;case"manageserver":_layoutmanager.default.tv?_approuter.default.showSettings({start:"server"}):_approuter.default.show(_approuter.default.getRouteUrl("manageserver"));break;case"selectserver":_approuter.default.showSelectServer();break;default:if(!(id||"").startsWith("user-"))return Promise.reject();var userId=id.substring(5);!function(apiClient,userId){_approuter.default.changeToUser({apiClient:apiClient,userId:userId}).catch(function(err){"aborterror"!==((null==err?void 0:err.name)||"").toLowerCase()&&console.log("error changing to user: "+err)})}(apiClient,userId)}return Promise.resolve()})})})}});

1
modules/browser.js Normal file
View File

@@ -0,0 +1 @@
define(["exports"],function(_exports){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;var userAgent=navigator.userAgent,browser={},userAgentLower=userAgent.toLowerCase(),_navigator$platform=(/(edg)[ \/]([\w.]+)/.exec(userAgentLower)?browser.edg=!0:/(opera)[ \/]([\w.]+)/.exec(userAgentLower)||/(opr)[ \/]([\w.]+)/.exec(userAgentLower)?browser.opera=!0:/(firefox)[ \/]([\w.]+)/.exec(userAgentLower)&&(browser.firefox=!0),browser.firefox||(/(chrome)[ \/]([\w.]+)/.exec(userAgentLower)?browser.chrome=!0:(/(safari)[ \/]([\w.]+)/.exec(userAgentLower)||userAgentLower.includes("webkit"))&&(browser.safari=!0)),userAgentLower.includes("playstation")&&(browser.playstation=!0,browser.tv=!0,userAgentLower.includes("playstation 4"))&&(browser.ps4=!0),browser.xboxOne=!!userAgentLower.includes("xbox"),browser.tizen=userAgentLower.includes("tizen")||null!=globalThis.tizen,browser.netcast=userAgentLower.includes("netcast")||userAgentLower.includes("Web0S".toLowerCase()),browser.electron=userAgentLower.includes("electron"),browser.windows=userAgentLower.includes("windows"),browser.android=userAgentLower.includes("android"),browser.tizen&&(browser.sdkVersion=function(){var v;if("undefined"!=typeof tizen&&tizen.systeminfo)return v=tizen.systeminfo.getCapability("http://tizen.org/feature/platform.version"),parseFloat(v)}()),browser.tv=function(userAgent){return!!((userAgent=userAgent.toLowerCase()).includes("tv")||userAgent.includes("viera")||userAgent.includes("web0s")||userAgent.includes("zidoo"))}(userAgent),(browser.tv&&userAgentLower.includes("opr/")||globalThis.location&&(globalThis.location.href||"").toString().toLowerCase().includes("operatv"))&&(browser.tv=!0,browser.operaTv=!0),(browser.xboxOne||browser.playstation||browser.tizen||browser.netcast||browser.operaTv||userAgentLower.includes("smarthub")||userAgentLower.includes("smarttv")||userAgentLower.includes("tv/"))&&(browser.tv=!0),(null==(_navigator$platform=navigator.platform)?void 0:_navigator$platform.toLowerCase())||"");browser.iOS=userAgentLower.includes("ipad")||userAgentLower.includes("iphone")||userAgentLower.includes("ipod touch")||"iphone"===_navigator$platform||_navigator$platform.startsWith("mac")&&1<navigator.maxTouchPoints,browser.iOS||(browser.osx=userAgentLower.includes("mac os x")||_navigator$platform.startsWith("mac")),browser.chromecast=browser.chrome&&userAgentLower.includes("crkey"),function(browser,userAgent){var userAgentData=navigator.userAgentData;if(userAgentData||(userAgentData={},navigator.userAgentData=userAgentData),null==userAgentData.mobile)try{userAgentData.mobile=function(userAgent){var lower=userAgent.toLowerCase();if(lower.includes("android tv"))return!1;for(var terms=["mobi","ipad","iphone","ipod","silk","kindle fire","opera mini"],i=0,length=terms.length;i<length;i++)if(lower.includes(terms[i]))return!0;return"undefined"!=typeof document&&"ontouchstart"in document.documentElement}(userAgent)}catch(err){console.log("error setting userAgentData.mobile: "+err)}!function(userAgentData,browser){var brands=userAgentData.brands;if(brands||(userAgentData.brands=brands=[]),!brands.length){userAgentData=browser.edg?"Edge":browser.opera?"Opera":browser.chrome?"Chrome":browser.firefox?"Firefox":browser.safari?"Safari":"Web Browser";try{brands.push({brand:userAgentData})}catch(err){console.log("error adding brands: "+err)}if(browser.chrome)try{brands.push({brand:"Chromium"})}catch(err){console.log("error adding brands: "+err)}}}(userAgentData,browser),userAgentData.getHighEntropyValues||(userAgentData.getHighEntropyValues=function(){var info={};return this.android?info.platform="Android":this.iOS?info.platform="iOS":this.ipad?info.platform="iPadOS":this.osx?info.platform="macOS":this.xboxOne?info.platform="Xbox One":this.windows?info.platform="Windows":this.playstation?info.platform="PlayStation":this.netcast?info.platform="LG TV":this.tizen?info.platform="Samsung TV":this.operaTv&&(info.platform="Opera TV"),Promise.resolve(info)}.bind(browser))}(browser,userAgent),_exports.default=browser});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
@media not all and (pointer:fine){.cardBox-touchzoom{transition:-webkit-transform .6s ease-out;transition:transform .6s ease-out;transition-delay:0.1s}.card-autoactive:active,.itemElement-activetouch{z-index:10;contain:layout style}.card-autoactive:active>.cardBox-touchzoom,.itemElement-activetouch>.cardBox-touchzoom{-webkit-transform:scale(1.08);transform:scale(1.08)}}@media all and (min-width:60em) and (max-width:99em){.withFullDrawer{--app-cards-size-adjust:-1}}@media all and (orientation:landscape){:root{--backdrop-cards:2}}@media all and (orientation:portrait) and (min-width:24em){:root{--backdrop-cards:2}}@media all and (orientation:portrait) and (min-width:31.25em){:root{--square-cards:3}}@media all and (min-width:31.25em){:root{--four-three-cards:3}}@media all and (min-width:36em){:root{--square-cards:3;--portrait-cards:4}}@media all and (min-width:40em){:root{--square-cards:4;--small-sidefooter-cards:2}}@media all and (orientation:landscape) and (min-width:40em){:root{--portrait-cards:5}}@media all and (orientation:landscape) and (min-width:50em){:root{--square-cards:5}}@media all and (min-width:45em){:root{--four-three-cards:4;--sidefooter-cards:2}}@media all and (min-width:50em){:root{--small-sidefooter-cards:3}}@media (min-width:50em){:root{--backdrop-cards:3}}@media all and (min-width:55em){:root{--banner-cards:2;--square-cards:5;--portrait-cards:5}}@media (min-width:62.5em){:root{--backdrop-cards:4}}@media all and (min-width:66em){:root{--small-sidefooter-cards:4}}@media all and (min-width:70em){:root{--four-three-cards:5;--square-cards:6;--portrait-cards:6}}@media all and (min-width:76em){:root{--sidefooter-cards:3}}@media all and (min-width:82.5em){:root{--backdrop-cards:5}}@media all and (min-width:85em){:root{--square-cards:7;--portrait-cards:7}}@media all and (min-width:100em){:root{--banner-cards:3;--small-sidefooter-cards:5;--four-three-cards:6;--square-cards:8;--portrait-cards:8}}@media all and (min-width:115em){:root{--small-sidefooter-cards:6;--portrait-cards:9;--square-cards:9}}@media all and (min-width:120em){:root{--small-sidefooter-cards:6}}@media all and (min-width:130em){:root{--square-cards:10;--portrait-cards:10}}@media all and (min-width:131.25em){:root{--backdrop-cards:6;--four-three-cards:7;--sidefooter-cards:4}}@media all and (min-width:145em){:root{--square-cards:11;--portrait-cards:11}}@media all and (min-width:150em){:root{--banner-cards:4}}@media all and (min-width:160em){:root{--backdrop-cards:7;--small-sidefooter-cards:7;--four-three-cards:8;--square-cards:12;--portrait-cards:12}}@media all and (min-width:175em){:root{--square-cards:13;--portrait-cards:13}}@media all and (min-width:180em){:root{--small-sidefooter-cards:8;--four-three-cards:9}}@media all and (min-width:190em){:root{--square-cards:14;--portrait-cards:14}}@media all and (min-width:200em){:root{--banner-cards:5;--sidefooter-cards:5;--backdrop-cards:8;--small-sidefooter-cards:9;--four-three-cards:10}}@media all and (min-width:205em){:root{--square-cards:15;--portrait-cards:15}}@media all and (min-width:220em){:root{--sidefooter-cards:6;--backdrop-cards:9;--small-sidefooter-cards:10;--four-three-cards:11;--square-cards:16;--portrait-cards:16}}@media all and (min-width:240em){:root{--banner-cards:6;--sidefooter-cards:7;--small-sidefooter-cards:11;--four-three-cards:12;--square-cards:17;--portrait-cards:17}}

View File

@@ -0,0 +1 @@
.cardOverlayButton{color:rgba(255,255,255,.76);margin:0;z-index:1}.cardOverlayButton-br{position:absolute;bottom:.5em;right:.25em;inset-inline-start:initial;inset-inline-end:.25em;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-flex-wrap:wrap;flex-wrap:wrap;-webkit-justify-content:flex-end;justify-content:flex-end}.cardOverlayButton-fab{padding:.25em;font-size:140%}@media all and (orientation:portrait) and (max-width:35em){.scrollX{--backdrop-cards:1.2}}.cardOverlayContainer{background:rgba(51,51,51,.5);opacity:0;transition:opacity .2s ease-out;position:absolute;top:0;bottom:0;left:0;right:0;inset-inline-start:0;inset-inline-end:0;-webkit-user-select:none;user-select:none;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;border-radius:.42em;z-index:2;contain:layout style;-webkit-user-select:none;user-select:none}@media not all and (pointer:fine){.cardOverlayContainer{display:none}}.cardContent-button+.cardOverlayContainer{cursor:pointer}.chkCardSelectContainer{font-size:88%;width:auto!important;margin:0!important;display:-webkit-inline-flex!important;display:inline-flex!important;-webkit-align-items:flex-start!important;align-items:flex-start!important;padding-top:.8em!important;position:absolute!important;top:0;left:0;inset-inline-start:0;inset-inline-end:initial;padding:.35em .25em!important}@media (pointer:fine){.card-hoverable:hover .cardOverlayContainer{opacity:1;display:-webkit-flex;display:flex}}.chkCardSelect{top:0;left:0;inset-inline-start:0;inset-inline-end:initial}.chkCardSelect-checkboxLabel::before{border-radius:100em!important;box-shadow:0 .25em .4375em rgba(0,0,0,.25)}.chkCardSelect-checkboxLabel::after{border-width:.2em!important}.cardOverlayFab-primary{font-size:280%;padding:.1em;position:absolute;top:50%;left:50%;inset-inline-start:50%;inset-inline-end:initial;margin-top:-.6em!important;margin-bottom:0!important;-webkit-margin-start:-.6em!important;margin-inline-start:-.6em!important;-webkit-margin-end:0!important;margin-inline-end:0!important}.multi-select-active .cardIndicator{display:none}.multi-select-active .cardOverlayContainer{opacity:1!important;display:-webkit-flex!important;display:flex!important}.multi-select-active .cardOverlayButton:not(.chkCardSelectContainer){display:none!important}.item-multiselected .cardOverlayContainer{background:0 0!important}

View File

@@ -0,0 +1 @@
.cardPlayedIndicator,.cardTimerIndicator,.cardUserDisabledIcon{border-radius:100em;font-size:1.1em;height:1.25em;width:1.25em;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;top:.18em;position:absolute;right:.18em;inset-inline-start:initial;inset-inline-end:.18em;contain:layout style}.cardTimerIndicator{font-size:1.28em}.cardUserDisabledIcon{font-size:1.4em;color:#777;background:#d3d3d3;height:1.4em;width:1.4em}.cardPlayedIndicator+.cardTimerIndicator{right:1.5em;inset-inline-start:initial;inset-inline-end:1.5em}.cardCountIndicator{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;top:.225em;position:absolute;right:.225em;inset-inline-start:initial;inset-inline-end:.225em;contain:layout style}.cardProgramIndicator{contain:layout style;display:-webkit-inline-flex;display:inline-flex;margin-top:0;margin-bottom:.2em;-webkit-margin-start:.35em;margin-inline-start:.35em;-webkit-margin-end:0;margin-inline-end:0;padding:.08em .5em;border-radius:.42em;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;text-transform:uppercase;text-shadow:none;font-size:86%;font-weight:600}.appfooter-drag-reorder-active{display:none!important}.dragClone .cardBox{transition:-webkit-transform ease-out .3s!important;transition:transform ease-out .3s!important}.dragClone.dragging .cardBox{-webkit-transform:scale(70%)!important;transform:scale(70%)!important}.dragClone .cardOverlayContainer{display:none!important}.cardIndicatorIcon{font-size:1.6em;top:.225em;left:.225em;inset-inline-start:.225em;inset-inline-end:initial;position:absolute;color:#fff}.cardIndicatorIcon-dragHandle{right:.225em;inset-inline-start:initial;inset-inline-end:.225em;text-shadow:.14em .14em .28em rgba(0,0,0,.45);cursor:pointer}.cardMediaInfoItems{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;-webkit-column-gap:initial!important;column-gap:initial!important;-webkit-flex-wrap:nowrap;flex-wrap:nowrap}.cardMediaInfoItem{-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center}.cardMediaInfoItem+.cardMediaInfoItem{-webkit-margin-start:.5em!important;margin-inline-start:.5em!important}.cardMediaInfoItem .starIcon{line-height:.96}.card.dragging-over{position:relative;contain:none!important;z-index:1}.dragging-over-left::before{content:' ';width:.24em;position:absolute;top:.8em;bottom:.8em;left:-.14em;inset-inline-start:-.14em;inset-inline-end:initial;z-index:99999;border-radius:100em}.dragging-over-right::after{content:' ';width:.24em;position:absolute;right:-.14em;top:.8em;bottom:.8em;inset-inline-start:initial;inset-inline-end:-.14em;z-index:99999;border-radius:100em}.cardProgressBarContainer{background:0 0!important;height:.22em}.visualCardBox-vibrant-lg::before{content:" ";position:absolute;top:0;bottom:0;left:0;right:0;inset-inline-start:0;inset-inline-end:0;background:rgba(0,0,0,.2);z-index:-1}.autoWidthCardBox{contain:layout style}.card:focus .cardContent-bxsborder{contain:initial;content-visibility:initial;overflow:visible}.card:focus-visible .cardContent-bxsborder-fv{contain:initial;content-visibility:initial;overflow:visible}.sideFooterCard:focus .cardBox-sideFooter-f{overflow:visible}.sideFooterCard:focus .cardContent-sideFooter-f{border-start-start-radius:inherit;border-end-start-radius:inherit}.card:focus .cardContent-bxsborder::before{content:" ";position:absolute;top:-.34em;left:-.34em;right:-.34em;bottom:-.34em;border-width:.22em;border-style:solid;border-radius:.6em}.card:focus-visible .cardContent-bxsborder-fv::before{content:" ";position:absolute;top:-.34em;left:-.34em;right:-.34em;bottom:-.34em;border-width:.22em;border-style:solid;border-radius:.6em}.card:focus .cardContent-round::before{border-radius:100em}.cardImage-bxsborder{border-radius:inherit}.cardImage-bxsborder-fv{border-radius:inherit}.buttonCardBox{border-radius:100em;margin:.4em}.buttonCardBox::before,.cardBox-sideFooter::before{display:none!important}.cardText-watching{visibility:hidden}.cardText-currentwatching{visibility:visible}

View File

@@ -0,0 +1 @@
.squareCard{width:16.6666667%}.squareCard-horiz{width:15.3333333vw}.portraitCard{width:16.6666667%}.portraitCard-horiz{width:15.3333333vw}.bannerCard{width:33.333333%}.bannerCard-horiz{width:30.66667vw}.sideFooterCard{width:25%}.sideFooterCard-horiz{width:23vw}.fourThreeCard{width:25%}.fourThreeCard-horiz{width:23vw}.backdropCard{width:25%}.backdropCard-horiz{width:23vw}

View File

@@ -0,0 +1 @@
.spotlightItemsContainer{height:auto}.spotlightButtonsItemsContainer{container-type:initial;height:auto}.spotlightButtonCard-horizontal{width:33.333333%}

View File

@@ -0,0 +1 @@
.squareCard-xGrid{width:7em}.portraitCard-xGrid{width:7em}.fourThreeCard-xGrid{width:9em}.backdropCard-xGrid{width:12em}.wideSpotlightCard{width:24em!important}.spotlightButtonCardContent-horizontal{height:calc((55vh / 3) - .6em);aspect-ratio:initial!important;padding-bottom:0!important}

View File

@@ -0,0 +1 @@
.squareCard-xGrid{width:calc((((100cqh / (max((3 + var(--user-cards-size-adjust) + var(--app-cards-size-adjust)),1))) - .6em)/ (1 / 1)) + .6em)}.portraitCard-xGrid{width:calc((((100cqh / (max((2 + var(--user-cards-size-adjust) + var(--app-cards-size-adjust)),1))) - .6em)/ (3 / 2)) + .6em)}.fourThreeCard-xGrid{width:calc((((100cqh / (max((3 + var(--user-cards-size-adjust) + var(--app-cards-size-adjust)),1))) - .6em)/ (3 / 4)) + .6em)}.backdropCard-xGrid{width:calc((((100cqh / (max((3 + var(--user-cards-size-adjust) + var(--app-cards-size-adjust)),1))) - .6em)/ (9 / 16)) + .6em)}.wideSpotlightCard{width:calc((((100cqh * 2 / 3) - .6em)/ (9 / 16)) + .6em)}.spotlightButtonCardContent-horizontal{height:calc((100cqh / 3) - .6em);aspect-ratio:initial!important;padding-bottom:0!important}

View File

@@ -0,0 +1 @@
.squareCard-xGrid{width:calc((((55vh / (3 + var(--app-cards-size-adjust) + var(--user-cards-size-adjust))) - .6em)/ (1 / 1)) + .6em)}.portraitCard-xGrid{width:calc((((55vh / (2 + var(--app-cards-size-adjust) + var(--user-cards-size-adjust))) - .6em)/ (3 / 2)) + .6em)}.fourThreeCard-xGrid{width:calc((((55vh / (3 + var(--app-cards-size-adjust) + var(--user-cards-size-adjust))) - .6em)/ (3 / 4)) + .6em)}.backdropCard-xGrid{width:calc((((55vh / (3 + var(--app-cards-size-adjust) + var(--user-cards-size-adjust))) - .6em)/ (9 / 16)) + .6em)}.wideSpotlightCard{width:calc((((55vh * 2 / 3) - .6em)/ (9 / 16)) + .6em)}.spotlightButtonCardContent-horizontal{height:calc((55vh / 3) - .6em);aspect-ratio:initial!important;padding-bottom:0!important}

View File

@@ -0,0 +1 @@
.squareCard-xGrid{width:calc((((55vh / (max((3 + var(--user-cards-size-adjust) + var(--app-cards-size-adjust)),1))) - .6em)/ (1 / 1)) + .6em)}.portraitCard-xGrid{width:calc((((55vh / (max((2 + var(--user-cards-size-adjust) + var(--app-cards-size-adjust)),1))) - .6em)/ (3 / 2)) + .6em)}.fourThreeCard-xGrid{width:calc((((55vh / (max((3 + var(--user-cards-size-adjust) + var(--app-cards-size-adjust)),1))) - .6em)/ (3 / 4)) + .6em)}.backdropCard-xGrid{width:calc((((55vh / (max((3 + var(--user-cards-size-adjust) + var(--app-cards-size-adjust)),1))) - .6em)/ (9 / 16)) + .6em)}.wideSpotlightCard{width:calc((((55vh * 2 / 3) - .6em)/ (9 / 16)) + .6em)}.spotlightButtonCardContent-horizontal{height:calc((55vh / 3) - .6em);aspect-ratio:initial!important;padding-bottom:0!important}

View File

@@ -0,0 +1 @@
.squareCard{width:16.6666667%;width:calc(100% / (var(--square-cards) + var(--app-cards-size-adjust)))}.squareCard-horiz{width:15.3333333vw;width:calc(93vw / var(--square-cards))}.portraitCard{width:16.6666667%;width:calc(100% / (var(--portrait-cards) + var(--app-cards-size-adjust)))}.portraitCard-horiz{width:15.3333333vw;width:calc(93vw / var(--portrait-cards))}.bannerCard{width:33.333333%;width:calc(100% / (var(--banner-cards) + var(--app-cards-size-adjust)))}.bannerCard-horiz{width:30.66667vw;width:calc(93vw / var(--banner-cards))}.sideFooterCard{width:25%;width:calc(100% / (var(--sidefooter-cards) + var(--app-cards-size-adjust)))}.sideFooterCard-horiz{width:23vw;width:calc(93vw / var(--sidefooter-cards))}.smallSideFooterCard{width:16.6666667%;width:calc(100% / (var(--small-sidefooter-cards) + var(--app-cards-size-adjust)))}.smallSideFooterCard-horiz{width:15.3333333vw;width:calc(93vw / (var(--small-sidefooter-cards)))}.fourThreeCard{width:25%;width:calc(100% / (var(--four-three-cards) + var(--app-cards-size-adjust)))}.fourThreeCard-horiz{width:23vw;width:calc(93vw / var(--four-three-cards))}.backdropCard{width:25%;width:calc(100% / (var(--backdrop-cards) + var(--app-cards-size-adjust)))}.backdropCard-horiz{width:23vw;width:calc(93vw / var(--backdrop-cards))}

View File

@@ -0,0 +1 @@
@supports (width:max(10em,5vw)){.squareCard{width:calc(100% / max((var(--square-cards) + var(--user-cards-size-adjust) + var(--app-cards-size-adjust)),2))}.squareCard-horiz{width:calc(93vw / max((var(--square-cards) + var(--user-cards-size-adjust)),2))}.portraitCard{width:calc(100% / max((var(--portrait-cards) + var(--user-cards-size-adjust) + var(--app-cards-size-adjust)),3))}.portraitCard-horiz{width:calc(93vw / max((var(--portrait-cards) + var(--user-cards-size-adjust)),3))}.bannerCard{width:calc(100% / max((var(--banner-cards) + var(--user-cards-size-adjust) + var(--app-cards-size-adjust)),1))}.bannerCard-horiz{width:calc(93vw / max((var(--banner-cards) + var(--user-cards-size-adjust)),1))}.sideFooterCard{width:calc(100% / max((var(--sidefooter-cards) + var(--user-cards-size-adjust) + var(--app-cards-size-adjust)),1))}.sideFooterCard-horiz{width:calc(93vw / max((var(--sidefooter-cards) + var(--user-cards-size-adjust)),1))}.smallSideFooterCard{width:calc(100% / max((var(--small-sidefooter-cards) + var(--user-cards-size-adjust) + var(--app-cards-size-adjust)),1.3))}.smallSideFooterCard-horiz{width:calc(93vw / max((var(--small-sidefooter-cards) + var(--user-cards-size-adjust)),1.3))}.fourThreeCard{width:calc(100% / max((var(--four-three-cards) + var(--user-cards-size-adjust) + var(--app-cards-size-adjust)),2))}.fourThreeCard-horiz{width:calc(93vw / max((var(--four-three-cards) + var(--user-cards-size-adjust)),2))}.backdropCard{width:calc(100% / max((var(--backdrop-cards) + var(--user-cards-size-adjust) + var(--app-cards-size-adjust)),1))}.backdropCard-horiz{width:calc(93vw / max((var(--backdrop-cards) + var(--user-cards-size-adjust)),1))}}

View File

@@ -0,0 +1 @@
:root{--square-cards:5;--banner-cards:3;--sidefooter-cards:3;--small-sidefooter-cards:4;--portrait-cards:6;--backdrop-cards:4;--four-three-cards:5}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
.cardOverlayContainer{bottom:initial!important}.cardPadder-backdrop{padding-bottom:56.25%}.cardPadder-margin.cardPadder-backdrop{margin-bottom:56.25%}.cardPadder-square{padding-bottom:100%}.cardPadder-margin.cardPadder-square{margin-bottom:100%}.cardPadder-portrait{padding-bottom:150%}.cardPadder-margin.cardPadder-portrait{margin-bottom:150%}.cardPadder-fourThree{padding-bottom:75%}.cardPadder-margin.cardPadder-fourThree{margin-bottom:75%}.cardPadder-banner{padding-bottom:18.5%}.cardPadder-margin.cardPadder-banner{margin-bottom:18.5%}

View File

@@ -0,0 +1 @@
define(["exports","./../dom.js","./../emby-apiclient/connectionmanager.js","./../emby-apiclient/events.js","./../common/usersettings/usersettings.js","./../common/playback/playbackmanager.js","./../common/itemmanager/itemmanager.js","./../common/globalize.js","./../loading/loading.js","./../dialoghelper/dialoghelper.js"],function(_exports,_dom,_connectionmanager,_events,_usersettings,_playbackmanager,_itemmanager,_globalize,_loading,_dialoghelper){var currentChangeOptions,inputDisplayElement,alpanumericShortcutTimeout;function clearState(){clearAlphaNumericShortcutTimeout(),currentChangeOptions=null;var elem=inputDisplayElement;elem&&(elem.innerHTML="",elem.classList.add("hide"))}function onAlphanumericShortcutTimeout(){var options=currentChangeOptions,options=(clearState(),null==options?void 0:options.newItem);options&&(_loading.default.show(),_playbackmanager.default.play({items:[options]}))}function clearAlphaNumericShortcutTimeout(){alpanumericShortcutTimeout&&(clearTimeout(alpanumericShortcutTimeout),alpanumericShortcutTimeout=null)}function updateDisplayElement(options){var item=options.currentItem,offset=options.offset;!function(apiClient,options){var query;return options.channelsResult?Promise.resolve(options.channelsResult):(query={UserId:apiClient.getCurrentUserId(),IsAiring:!0,ImageTypeLimit:1,EnableImageTypes:"Primary,Thumb,Backdrop",Fields:"ProgramPrimaryImageAspectRatio,PrimaryImageAspectRatio",EnableUserData:!1,SortBy:"ChannelNumber,SortName",AddCurrentProgram:!1},_usersettings.default.addLiveTvChannelSortingToQuery(query,_globalize.default),apiClient.getLiveTvChannels(query).then(function(result){return options.channelsResult=result}))}(_connectionmanager.default.getApiClient(item),options).then(function(result){for(var index=-1,channels=result.Items,i=0,length=channels.length;i<length;i++)if(channels[i].Id===item.Id){index=i;break}-1===index&&(index=0),index+=offset,index=Math.min(channels.length-1,index),index=Math.max(index,0),(item=channels[index])&&(options.numChannels=channels.length,options.newItem=item,options.newItemIndex=index,function(item){var html,elem=inputDisplayElement;elem&&(html="",html+=_itemmanager.default.getDisplayName(item,{channelNumberFirst:!0}),elem.innerHTML=html,elem.classList.remove("hide"))}(item))})}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,require(["css!modules/alphanumericshortcuts/alphanumericshortcuts.css"]),_events.default.on(_playbackmanager.default,"playbackstop",clearState);_exports.default={onChannelChangeRequest:function(options){inputDisplayElement||((inputDisplayElement=document.createElement("div")).classList.add("alphanumeric-shortcut","hide","dialog"),_dom.default.allowBackdropFilter()&&inputDisplayElement.classList.add("dialog-blur"),document.body.appendChild(inputDisplayElement));var maxIndex,index,currentOptions=currentChangeOptions;currentOptions?(null!=(index=currentOptions.newItemIndex)&&(maxIndex=currentOptions.numChannels-1,(index=index+options.offset)<0?options.offset+=0-index:maxIndex<index&&(options.offset-=index-maxIndex)),currentOptions.offset+=options.offset,options=currentOptions):currentChangeOptions=options,updateDisplayElement(options),clearAlphaNumericShortcutTimeout(),alpanumericShortcutTimeout=setTimeout(onAlphanumericShortcutTimeout,2e3)}}});

View File

@@ -0,0 +1 @@
define(["exports","./../emby-apiclient/connectionmanager.js","./../emby-apiclient/events.js","./../common/servicelocator.js"],function(_exports,_connectionmanager,_events,_servicelocator){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;var protocols="(?:(?:http|https|rtsp|ftp):\\/\\/)",linkRegExp=RegExp("(?:(?:(?:http|https|rtsp|ftp):\\/\\/)?(?:(?:[a-z0-9\\$\\-\\_\\.\\+\\!\\*\\'\\(\\)\\,\\;\\?\\&\\=]|(?:\\%[a-f0-9]{2})){1,64}(?:\\:(?:[a-z0-9\\$\\-\\_\\.\\+\\!\\*\\'\\(\\)\\,\\;\\?\\&\\=]|(?:\\%[a-f0-9]{2})){1,25})?\\@)?(?:((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:)))(%.+)?|(?:25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9])\\.(?:25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9]|0)\\.(?:25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9]|0)\\.(?:25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[0-9])))(?:\\:\\d{1,5})?(?:\\/(?:(?:[a-z0-9\\/\\@\\&\\#\\~\\*\\_\\-\\+])|(?:\\%[a-f0-9]{2})|(?:[\\;\\?\\:\\.\\!\\'\\(\\)\\,\\=]+(?=(?:[a-z0-9\\/\\@\\&\\#\\~\\*\\_\\-\\+])|(?:\\%[a-f0-9]{2}))))*|\\b|$)","gi"),protocolRegExp=RegExp("^"+protocols,"i");var LinkParser={parse:function(text){for(var links=[],match=linkRegExp.exec(text);match;){var txt=match[0],pos=match.index,len=txt.length,url=function(url){return url=url.match(protocolRegExp)?url:"http://"+url}(text);links.push({pos:pos,text:txt,len:len,url:url}),match=linkRegExp.exec(text)}return links}},cache={};function clearCache(){cache={}}function addToCache(key,value){cache[key]={value:value,time:Date.now()}}_events.default.on(_connectionmanager.default,"localusersignedin",clearCache),_events.default.on(_connectionmanager.default,"localusersignedout",clearCache);_exports.default={getServerAddress:function(apiClient){var serverAddress=apiClient.serverAddress();if(!(address=(address=serverAddress).toLowerCase()).includes("127.0.0.1")&&!address.includes("localhost")){if(function(address){return 1===LinkParser.parse(address).length}(serverAddress))return Promise.resolve(serverAddress);if(serverAddress.toLowerCase().startsWith("https:")&&_servicelocator.appHost.supports("multiserver"))return Promise.resolve(serverAddress)}var address=function(key){key=cache[key];if(key&&Date.now()-key.time<18e4)return key.value;return null}(serverAddress);return address?Promise.resolve(address):apiClient.getEndpointInfo().then(function(endpoint){return endpoint.IsInNetwork?apiClient.getPublicSystemInfo().then(function(info){return info.LocalAddress?(addToCache(serverAddress,info.LocalAddress),info.LocalAddress):(addToCache(serverAddress,serverAddress),serverAddress)}):(addToCache(serverAddress,serverAddress),serverAddress)})}}});

File diff suppressed because one or more lines are too long

1
modules/colorjs/color.js Normal file
View File

@@ -0,0 +1 @@
define(["exports"],function(_exports){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;var calculateColorDifference=function(color1,color2){return Math.pow(color2.r-color1.r,2)+Math.pow(color2.g-color1.g,2)+Math.pow(color2.b-color1.b,2)},orderByLuminance=function(rgbValues){function calculateLuminance(p){return.2126*p.r+.7152*p.g+.0722*p.b}return rgbValues.sort(function(p1,p2){return calculateLuminance(p2)-calculateLuminance(p1)})};function buildPalette(colorsList){for(var orderedByColor=orderByLuminance(colorsList),colors=[],i=0;i<orderedByColor.length;i++){var color=orderedByColor[i];if(0<i)if(calculateColorDifference(color,orderedByColor[i-1])<120)continue;var rgb="rgb("+color.r+", "+color.g+", "+color.b+")";colors.push({css:rgb,color:color,relativeLuminance:function(color){var r_srgb=color.r/255,g_srgb=color.g/255,color=color.b/255;return.2126*(r_srgb<=.03928?r_srgb/12.92:Math.pow((.055+r_srgb)/1.055,2.4))+.7152*(g_srgb<=.03928?g_srgb/12.92:Math.pow((.055+g_srgb)/1.055,2.4))+.0722*(color<=.03928?color/12.92:Math.pow((.055+color)/1.055,2.4))}(color)})}return colors}var findBiggestColorRange=function(rgbValues){var rMin=Number.MAX_VALUE,gMin=Number.MAX_VALUE,bMin=Number.MAX_VALUE,rMax=Number.MIN_VALUE,gMax=Number.MIN_VALUE,bMax=Number.MIN_VALUE,rgbValues=(rgbValues.forEach(function(pixel){rMin=Math.min(rMin,pixel.r),gMin=Math.min(gMin,pixel.g),bMin=Math.min(bMin,pixel.b),rMax=Math.max(rMax,pixel.r),gMax=Math.max(gMax,pixel.g),bMax=Math.max(bMax,pixel.b)}),rMax-rMin),gRange=gMax-gMin,bRange=bMax-bMin,bRange=Math.max(rgbValues,gRange,bRange);return bRange===rgbValues?"r":bRange===gRange?"g":"b"},quantization=function(rgbValues,depth){var componentToSortBy,color;return 4===depth||0===rgbValues.length?((color=rgbValues.reduce(function(prev,curr){return prev.r+=curr.r,prev.g+=curr.g,prev.b+=curr.b,prev},{r:0,g:0,b:0})).r=Math.round(color.r/rgbValues.length),color.g=Math.round(color.g/rgbValues.length),color.b=Math.round(color.b/rgbValues.length),[color]):(componentToSortBy=findBiggestColorRange(rgbValues),rgbValues.sort(function(p1,p2){return p1[componentToSortBy]-p2[componentToSortBy]}),color=rgbValues.length/2,[].concat(babelHelpers.toConsumableArray(quantization(rgbValues.slice(0,color),depth+1)),babelHelpers.toConsumableArray(quantization(rgbValues.slice(1+color),depth+1))))};_exports.default={getPalette:function(url){return new Promise(function(resolve,reject){var image=new Image;image.crossOrigin="Anonymous",image.onload=function(){var canvas=document.createElement("canvas"),ctx=(canvas.width=image.width,canvas.height=image.height,canvas.getContext("2d"));ctx.drawImage(image,0,0);ctx=function(imageData){for(var rgbValues=[],i=0;i<imageData.length;i+=4){var rgb={r:imageData[i],g:imageData[i+1],b:imageData[i+2]};rgbValues.push(rgb)}return rgbValues}(ctx.getImageData(0,0,canvas.width,canvas.height).data),canvas=quantization(ctx,0);resolve(buildPalette(canvas))},image.onerror=reject,image.src=url})}}});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
define(["exports","./globalize.js"],function(_exports,_globalize){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;var units=[["year",31536e6],["month",2592e6],["week",6048e5],["day",864e5],["hour",36e5],["minute",6e4],["second",1e3]];function numberToString(value,maximumFractionDigits){try{return new Intl.NumberFormat(_globalize.default.getCurrentLocales(),{style:"decimal",maximumFractionDigits:null==maximumFractionDigits?1:maximumFractionDigits}).format(value)}catch(err){return console.log("Error in NumberFormat: "+err),value}}function getRawResolutionText(item){return item.Width&&item.Height?item.Width+"x"+item.Height:null}_exports.default={formatRelativeTime:function(date,isPastEvent){for(var unit,date=(date="string"==typeof date?new Date(Date.parse(date)):date).getTime()-Date.now(),elapsedMsAbs=Math.abs(date),i=0,length=units.length;i<length&&!(elapsedMsAbs>=(unit=units[i])[1]);i++);return date=Math.round(date/unit[1]),!1!==isPastEvent&&-1<(date=Math.min(date,1))&&(date=-1,unit=units[units.length-1]),new Intl.RelativeTimeFormat(_globalize.default.getCurrentLocales(),{numeric:"always",style:"long"}).format(date,unit[0])},bitrateToString:function(value){return 1e3<(value/=1e3)?numberToString(value/=1e3,0)+" mbps":numberToString(parseInt(value))+" kbps"},sizeToString:function(size){var gb=1073741824;return gb<=size?numberToString(size/gb,1)+" GB":numberToString(size/1048576,1)+" MB"},numberToString:numberToString,getResolutionText:function(item){var videoStream,width,height;return"Video"===item.MediaType&&(videoStream=function(item){for(var _,mediaStreams=(null==(_=(item.MediaSources||[])[0])?void 0:_.MediaStreams)||item.MediaStreams||[],i=0,length=mediaStreams.length;i<length;i++){var mediaStream=mediaStreams[i];if("Video"===mediaStream.Type)return mediaStream}return null}(item))?(width=videoStream.Width,height=videoStream.Height,width&&height?3800<=width||2e3<=height?"4K":2500<=width||1400<=height?videoStream.IsInterlaced?"1440i":"1440p":1800<=width||1e3<=height?videoStream.IsInterlaced?"1080i":"1080p":1200<=width||700<=height?videoStream.IsInterlaced?"720i":"720p":700<=width||400<=height?videoStream.IsInterlaced?"480i":"480p":"SD":null):getRawResolutionText(item)}}});

View File

@@ -0,0 +1 @@
define(["exports","./globalize.js"],function(_exports,_globalize){function getDisplayRunningTime(ticks){var duration={},hours=ticks/36e9,hours=((hours=Math.floor(hours))&&(duration.hours=hours),(ticks-=36e9*hours)/6e8),hours=(ticks-=6e8*(hours=Math.floor(hours)),duration.minutes=hours,ticks/1e7),hours=Math.floor(hours);duration.seconds=hours;ticks=getDurationFormatter(_globalize.default.getCurrentLocale(),{style:"digital",fractionalDigits:0,hoursDisplay:"auto",minutesDisplay:"always",secondsDisplay:"always",millisecondsDisplay:"auto",microsecondsDisplay:"auto",nanosecondsDisplay:"auto"}).format(duration);return ticks=ticks.startsWith("0")?ticks.substring(1):ticks}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;var toLocaleTimeStringSupportsLocales=function(){try{(new Date).toLocaleTimeString("i")}catch(e){return"RangeError"===e.name}return!1}(),dateTimeFormatters={};function getDateTimeFormatter(locale,options){var key=locale||"und",formatter=(key=(key=(key=(key=(key=(key=(key=(key=(key+=options.weekday||"null")+(options.year||"null"))+(options.month||"null"))+(options.day||"null"))+(options.hour||"null"))+(options.minute||"null"))+(options.second||"null"))+(options.dateStyle||"null"))+(options.timeStyle||"null"),dateTimeFormatters[key]);return formatter||(console.log("creating DateTimeFormat for "+locale+", with options: "+JSON.stringify(options)),formatter=new Intl.DateTimeFormat(locale,options),dateTimeFormatters[key]=formatter),formatter}var durationFormatters={};function getDurationFormatter(locale,options){var key=locale||"und",formatter=(key=(key=(key=(key=(key=(key=(key=(key+=options.style||"style")+(options.fractionalDigits||"fractionalDigits"))+(options.hoursDisplay||"hoursDisplay"))+(options.minutesDisplay||"minutesDisplay"))+(options.secondsDisplay||"secondsDisplay"))+(options.millisecondsDisplay||"millisecondsDisplay"))+(options.microsecondsDisplay||"microsecondsDisplay"))+(options.nanosecondsDisplay||"nanosecondsDisplay"),durationFormatters[key]);return formatter||(console.log("creating DurationFormat for "+locale+", with options: "+JSON.stringify(options)),formatter=new Intl.DurationFormat(locale,options),durationFormatters[key]=formatter),formatter}function toLocaleTimeString(date,options){if(date)return options=options||{},getDateTimeFormatter(_globalize.default.getCurrentDateTimeLocale(),options).format(date);throw new Error("date cannot be null")}_exports.default={parseISO8601Date:function(s){return new Date(Date.parse(s))},getDisplayRunningTime:getDisplayRunningTime,toLocaleDateString:function(date,options){if(date)return options=options||{},getDateTimeFormatter(_globalize.default.getCurrentDateTimeLocale(),options).format(date);throw new Error("date cannot be null")},toLocaleString:function(date,options){if(date)return options=options||{dateStyle:"short",timeStyle:"short"},getDateTimeFormatter(_globalize.default.getCurrentDateTimeLocale(),options).format(date);throw new Error("date cannot be null")},getDisplayTime:function(date){if(!date)throw new Error("date cannot be null");if("string"===(typeof date).toString().toLowerCase())try{date=new Date(Date.parse(date))}catch(err){return date}var time,suffix,timeLower;return toLocaleTimeStringSupportsLocales?toLocaleTimeString(date,{hour:"numeric",minute:"2-digit"}):((timeLower=(time=toLocaleTimeString(date)).toLowerCase()).includes("am")||timeLower.includes("pm")?(time=timeLower,timeLower=date.getHours()%12,suffix=11<date.getHours()?"pm":"am",time=(timeLower=timeLower||12)+(timeLower=":"+(timeLower=(timeLower=date.getMinutes())<10?"0"+timeLower:timeLower))+suffix):2<(date=time.split(":")).length&&(date.length=2,time=date.join(":")),time)},isRelativeDay:function(date,offsetInDays){var yesterday;if(date)return offsetInDays=(yesterday=new Date).getDate()+offsetInDays,yesterday.setDate(offsetInDays),date.getFullYear()===yesterday.getFullYear()&&date.getMonth()===yesterday.getMonth()&&date.getDate()===offsetInDays;throw new Error("date cannot be null")},toLocaleTimeString:toLocaleTimeString,supportsLocalization:function(){return toLocaleTimeStringSupportsLocales},getHumanReadableRuntime:function(ticks){var days=Math.trunc(ticks/864e9),hours=Math.trunc(ticks%864e9/36e9),minutes=Math.trunc(ticks%36e9/6e8),duration={},hasValue=!1;return days&&(duration.days=days,hasValue=!0),hours&&(duration.hours=hours,hasValue=!0),minutes&&(duration.minutes=minutes,hasValue=!0),hasValue?getDurationFormatter(_globalize.default.getCurrentLocale(),{style:"narrow"}).format(duration):getDisplayRunningTime(ticks)}}});

View File

@@ -0,0 +1 @@
define(["exports","./../globalize.js","./../../dialog/dialog.js"],function(_exports,_globalize,_dialog){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=function(text,title){title="string"==typeof text?{title:title,text:text}:text;text=[];!1!==title.confirmButton&&text.push({name:title.confirmText||_globalize.default.translate("ButtonGotIt"),id:"ok",href:title.confirmHref});return title.buttons=text,title.dialogType="alert",(0,_dialog.default)(title).then(function(result){return"ok"===result?Promise.resolve():Promise.reject()})}});

View File

@@ -0,0 +1 @@
define(["exports","./../globalize.js","./../../dialog/dialog.js"],function(_exports,_globalize,_dialog){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=function(text,title){var options;options="string"==typeof text?{title:title,text:text}:text;title=[];title.push({name:options.cancelText||_globalize.default.translate("Cancel"),id:"cancel",type:"cancel"===options.primary?null:"cancel"}),title.push({name:options.confirmText||_globalize.default.translate("ButtonOk"),id:"ok",type:"cancel"===options.primary?"cancel":"submit"}),"cancel"!==options.primary&&title.reverse();return options.buttons=title,options.dialogType="confirm",(0,_dialog.default)(options).then(function(result){return"ok"===result?Promise.resolve():options.cancelResult?Promise.reject(options.cancelResult):Promise.reject()})}});

View File

@@ -0,0 +1 @@
define(["exports"],function(_exports){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;_exports.default={fileExists:function(path){return Promise.reject()},directoryExists:function(path){return Promise.reject()}}});

View File

@@ -0,0 +1 @@
define(["exports","./../emby-apiclient/events.js","./../emby-apiclient/connectionmanager.js","./appsettings.js"],function(_exports,_events,_connectionmanager,_appsettings){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;var currentCulture,currentDateTimeCulture,currentLocales,cacheParam,allTranslations={},allStrings={},rtlLocales=["ar","he","fa","ur","ug"],arabicLocales=["ar","fa","ur","ug"];function getCurrentLocale(){return currentCulture}function normalizeNavigatorLanguage(lang){return lang=lang&&lang.split("@")[0]}function updateCurrentCulture(){var dir,dateTimeCulture,culture=_appsettings.default.language()||function(){var culture="undefined"==typeof document?null:document.documentElement.getAttribute("data-culture");return culture||(navigator.language?normalizeNavigatorLanguage(navigator.language):navigator.userLanguage?normalizeNavigatorLanguage(navigator.userLanguage):navigator.languages&&navigator.languages.length?normalizeNavigatorLanguage(navigator.languages[0]):"en-us")}();"undefined"!=typeof document&&CSS.supports("text-align","start")&&CSS.supports("inset-inline-start","0")&&(dir=rtlLocales.includes((culture||"").toLowerCase())?"rtl":"ltr","rtl"==(document.dir=dir)?document.documentElement.classList.add("rtl"):document.documentElement.classList.remove("rtl"),arabicLocales.includes((culture||"").toLowerCase())?document.documentElement.classList.add("rtl-arabic"):document.documentElement.classList.remove("rtl-arabic")),currentCulture=normalizeLocaleName(culture),currentLocales=[currentCulture];try{dateTimeCulture=_appsettings.default.dateTimeLocale()}catch(err){}currentDateTimeCulture=dateTimeCulture?normalizeLocaleName(dateTimeCulture):currentCulture,function(culture){for(var i in allTranslations)ensureTranslation(allTranslations[i],culture)}(currentCulture),_connectionmanager.default.setCurrentLocale(currentCulture)}function ensureTranslation(translationInfo,culture){return translationInfo.dictionaries[culture]?Promise.resolve():function(translations,lang){lang=normalizeLocaleName(lang);var filtered=translations.filter(function(t){return normalizeLocaleName(t.lang)===lang});filtered.length||(filtered=translations.filter(function(t){return"en-us"===normalizeLocaleName(t.lang)}));if(!filtered.length)return Promise.resolve();translations=filtered[0].path;cacheParam&&(translations=(translations+=-1===translations.indexOf("?")?"?":"&")+cacheParam);return("undefined"==typeof XMLHttpRequest?function(url){return fetch(url).then(function(response){return response.json()})}:function(url){return new Promise(function(resolve,reject){var xhr=new XMLHttpRequest;xhr.open("GET",url,!0),xhr.onload=function(e){this.status<400?resolve(JSON.parse(this.response)):resolve()},xhr.onerror=function(){resolve()},xhr.send()})})(translations)}(translationInfo.translations,culture).then(function(dictionary){translationInfo.dictionaries[culture]=!0,dictionary&&(allStrings[culture]?allStrings[culture]=Object.assign(dictionary,allStrings[culture]||{}):allStrings[culture]=dictionary)})}function normalizeLocaleName(culture){var parts=(culture=culture.replace("_","-")).split("-"),parts=(culture=2===parts.length&&parts[0].toLowerCase()===parts[1].toLowerCase()?parts[0].toLowerCase():culture).toLowerCase();return"ca-es"===parts?"ca":"sv-se"===parts?"sv":parts}function register(options){allTranslations[options.name]={translations:options.strings||options.translations,dictionaries:{}}}function translateKey(key){var dictionary=allStrings[currentCulture];if(dictionary){dictionary=dictionary[key];if(dictionary)return dictionary}return key}function translate(key){for(var val=translateKey(key),i=1;i<arguments.length;i++)val=val.replaceAll("{"+(i-1)+"}",arguments[i]);return val}function translateHtml(html){var endIndex,startIndex=html.indexOf("${");return-1===startIndex||-1===(endIndex=html.indexOf("}",startIndex+=2))?html:(endIndex=translateKey(startIndex=html.substring(startIndex,endIndex)),translateHtml(html=html.replace("${"+startIndex+"}",endIndex)))}updateCurrentCulture(),_events.default.on(_connectionmanager.default,"localusersignedin",updateCurrentCulture),_events.default.on(_appsettings.default,"change",function(e,name){switch(name){case"language":case"datetimelocale":updateCurrentCulture()}});_exports.default={getString:translate,translate:translate,translateDocument:translateHtml,translateHtml:translateHtml,loadStrings:function(options){var locale=currentCulture;return"string"==typeof options?ensureTranslation(allTranslations[options],locale):(register(options),ensureTranslation(allTranslations[options.name],locale))},getCurrentLocale:getCurrentLocale,getCurrentDateTimeLocale:function(){return currentDateTimeCulture},getCurrentLocales:function(){return currentLocales},register:register,setCacheParam:function(value){cacheParam=value}}});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
define(["exports","./itemmanager/itemmanager.js"],function(_exports,_itemmanager){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;_exports.default={getDisplayName:function(item,options){return _itemmanager.default.getDisplayName(item,options)},supportsAddingToCollection:function(item,user){return _itemmanager.default.canAddToCollection(item,user)},supportsAddingToPlaylist:function(item){return _itemmanager.default.canAddToPlaylist(item)},canDelete:function(item,user){return _itemmanager.default.canDelete(item,user)},canEdit:function(item,user){return _itemmanager.default.canEdit([item],user)},canEditImages:function(item,user){return _itemmanager.default.canEditImages(item,user)},canMarkPlayed:function(item){return _itemmanager.default.canMarkPlayed(item)},canRate:function(item){return _itemmanager.default.canRate(item)},canConvert:function(item,user){return _itemmanager.default.canConvert(item,user)},canRefreshMetadata:function(item,user){return _itemmanager.default.canRefreshMetadata(item,user)},supportsMediaSourceSelection:function(item){switch(item.Type){case"Movie":case"Trailer":case"Video":case"Episode":case"MusicVideo":case"TvChannel":return!0;default:return!1}},supportsExtras:function(item){if(item.IsFolder)return!1;switch(item.Type){case"TvChannel":case"Program":return!1}return"Video"===item.MediaType},normalizeMediaStreamForDisplay:function(item,mediaSource,stream){return"Subtitle"===(stream=Object.assign({},stream)).Type&&"Audio"===item.MediaType&&(stream.SubtitleType="Lyrics"),"MediaStream"!==stream.Type&&(stream.StreamType=stream.Type,stream.Type="MediaStream"),stream.ServerId=item.ServerId,stream.ItemId=item.Id,stream.MediaSourceId=mediaSource.Id,stream}}});

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
define(["exports","./baseitemcontroller.js","./../globalize.js"],function(_exports,_baseitemcontroller,_globalize){function GenericItemController(){_baseitemcontroller.default.apply(this,arguments)}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,Object.assign(GenericItemController.prototype,_baseitemcontroller.default.prototype),GenericItemController.prototype.getTypeNames=function(){return["GenericListItem"]},GenericItemController.prototype.getDisplayName=function(item,options){return item.Name},GenericItemController.prototype.isSingleItemFetchRequired=function(typeName){return!1},GenericItemController.prototype.getDefaultIcon=function(item){return item.Icon||"folder"},GenericItemController.prototype.canDelete=function(item,user){return!0===item.CanDelete},GenericItemController.prototype.getDeleteCommand=function(items){var cmd=_baseitemcontroller.default.prototype.getDeleteCommand.apply(this,arguments),item=items[0];return"remove"===(null==item?void 0:item.DeleteType)&&(cmd.name=_globalize.default.translate("Remove"),cmd.icon="remove_circle"),cmd},GenericItemController.prototype.enableLibraryItemDeleteConfirmation=function(){return!1},GenericItemController.prototype.canRefreshMetadata=function(item,user){return!1},GenericItemController.prototype.getNameSortOption=function(itemType){return null},GenericItemController.prototype.canAddToPlaylist=function(item){return!1},GenericItemController.prototype.canAddToCollection=function(item,user){return!1},GenericItemController.prototype.canConvert=function(item,user){return!1},GenericItemController.prototype.canEdit=function(items,user){return 1===items.length&&!0===items[0].CanEdit},GenericItemController.prototype.canRate=function(item){return!1},GenericItemController.prototype.canMarkPlayed=function(item){return!1},GenericItemController.prototype.canEditImages=function(item,user){return!1},GenericItemController.prototype.canEditSubtitles=function(item,user){return!1},GenericItemController.prototype.editItems=function(items,options){return Promise.reject("nocommands")},GenericItemController.prototype.enableDeleteConfirmation=function(options){return!!this.getDeleteMessages(options.items[0])},GenericItemController.prototype.showDeleteConfirmation=function(options){return this.enableDeleteConfirmation(options)?_baseitemcontroller.default.prototype.showDeleteConfirmation.apply(this,arguments):Promise.resolve()},GenericItemController.prototype.isDeletePrimaryCommand=function(itemType){return!0},GenericItemController.prototype.getDeleteMessages=function(item){return"remove"===item.DeleteType?{single:{text:_globalize.default.translate("ConfirmRemoveItem"),title:_globalize.default.translate("Remove"),confirmText:_globalize.default.translate("Remove")},plural:{text:_globalize.default.translate("ConfirmRemoveItem"),title:_globalize.default.translate("Remove"),confirmText:_globalize.default.translate("Remove")}}:{single:{text:_globalize.default.translate("DeleteDeviceConfirmation"),title:_globalize.default.translate("HeaderDeleteItem")},plural:{text:_globalize.default.translate("DeleteDeviceConfirmation"),title:_globalize.default.translate("HeaderDeleteItems")}}},GenericItemController.prototype.deleteItemsInternal=function(options){return Promise.reject("nocommands")},GenericItemController.prototype.getCommands=function(options){return _baseitemcontroller.default.prototype.getCommands.apply(this,arguments)},GenericItemController.prototype.executeCommand=function(command,items,options){return _baseitemcontroller.default.prototype.executeCommand.apply(this,arguments)},GenericItemController.prototype.resolveField=function(item,field){return _baseitemcontroller.default.prototype.resolveField.apply(this,arguments)},GenericItemController.prototype.canReorder=function(item,user){return item.CanReorder},GenericItemController.prototype.canMoveUp=function(item,user){return!!this.canReorder(item,user)&&item.CanMoveUp},GenericItemController.prototype.canMoveDown=function(item,user){return!!this.canReorder(item,user)&&item.CanMoveDown},GenericItemController.prototype.moveInOrder=function(items,options){return Promise.reject()};_exports.default=GenericItemController});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
define(["exports","./servicelocator.js","./../emby-apiclient/events.js"],function(_exports,_servicelocator,_events){function onInterval(){this._lastInterval=Date.now();var options=this.options;options&&options.onInterval()}function MethodTimer(options){this.options=options,this.boundOnAppResume=function(){var options,started=this.isStarted();this.stopInterval(),started&&((started=this._lastInterval)&&(options=this.options)&&started+options.timeoutMs<=Date.now()&&onInterval.call(this),this.startInterval())}.bind(this),this.boundOnInterval=onInterval.bind(this),_events.default.on(_servicelocator.appHost,"resume",this.boundOnAppResume),this.startInterval()}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,MethodTimer.prototype.stopInterval=function(){this._interval&&(("interval"===this._intervalType?clearInterval:clearTimeout)(this._interval),this._interval=null,this._intervalType=null)},MethodTimer.prototype.startInterval=function(){this._lastInterval=Date.now(),"interval"===this.options.type?(this._interval=setInterval(this.boundOnInterval,this.options.timeoutMs),this._intervalType="interval"):this._interval=setTimeout(this.boundOnInterval,this.options.timeoutMs)},MethodTimer.prototype.isStarted=function(){return null!=this._interval},MethodTimer.prototype.destroy=function(){this.options=null,this.boundOnAppResume&&(_events.default.off(_servicelocator.appHost,"resume",this.boundOnAppResume),this.boundOnAppResume=null),this.stopInterval(),this.boundOnInterval=null,this._lastInterval=null};_exports.default=MethodTimer});

View File

@@ -0,0 +1 @@
define(["exports","./../servicelocator.js","./../usersettings/usersettings.js"],function(_exports,_servicelocator,_usersettings){function getResolvedPromise(){return Promise.resolve()}function showMessage(text,userSettingsKey,appHostFeature){var dayNum,options;return _servicelocator.appHost.supports(appHostFeature)||(userSettingsKey+=(appHostFeature=new Date).getFullYear()+"-w"+(appHostFeature=appHostFeature,dayNum=(appHostFeature=new Date(Date.UTC(appHostFeature.getFullYear(),appHostFeature.getMonth(),appHostFeature.getDate()))).getUTCDay()||7,appHostFeature.setUTCDate(appHostFeature.getUTCDate()+4-dayNum),dayNum=new Date(Date.UTC(appHostFeature.getUTCFullYear(),0,1)),Math.ceil(((appHostFeature-dayNum)/864e5+1)/7)),"1"===_usersettings.default.get(userSettingsKey,!1))?Promise.resolve():(_usersettings.default.set(userSettingsKey,"1",!1),options=text,Emby.importModule("./modules/common/dialogs/alert.js").then(function(alert){return alert(options)}).catch(getResolvedPromise))}function ExpirementalPlaybackWarnings(){this.name="Experimental playback warnings",this.type="preplayintercept",this.id="expirementalplaybackwarnings"}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,ExpirementalPlaybackWarnings.prototype.intercept=function(options){options=options.item;return options?"iso"===options.Container||"blurayiso"===options.Container||"dvdiso"===options.Container?showMessage("Playback of ISO files in this app is experimental. Some titles may not work at all. For a better experience, consider converting to mkv video files, or use an Emby app with native ISO support.","isoexpirementalinfo","nativeisoplayback"):"bluray"===options.Container?showMessage("Playback of Bluray folders in this app is experimental. Some titles may not work at all. For a better experience, consider converting to mkv video files, or use an Emby app with native Bluray folder support.","blurayexpirementalinfo","nativeblurayplayback"):"dvd"===options.Container?showMessage("Playback of Dvd folders in this app is experimental. Some titles may not work at all. For a better experience, consider converting to mkv video files, or use an Emby app with native Dvd folder support.","dvdexpirementalinfo","nativedvdplayback"):Promise.resolve():Promise.resolve()};_exports.default=ExpirementalPlaybackWarnings});

View File

@@ -0,0 +1 @@
define(["exports","./../globalize.js","./../../emby-apiclient/connectionmanager.js"],function(_exports,_globalize,_connectionmanager){function showErrorMessage(){return options=_globalize.default.translate("MessagePlayAccessRestricted"),Emby.importModule("./modules/common/dialogs/alert.js").then(function(alert){return alert(options)}).then(function(){return Promise.reject()});var options}function PlayAccessValidation(){this.name="Playback validation",this.type="preplayintercept",this.id="playaccessvalidation",this.order=-2}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,PlayAccessValidation.prototype.intercept=function(options){var item=options.item;return(item=item&&item.ServerId)?_connectionmanager.default.getApiClient(item).getCurrentUser().then(function(user){return user.Policy.EnableMediaPlayback?Promise.resolve():options.fullscreen?showErrorMessage():Promise.reject()}):Promise.resolve()};_exports.default=PlayAccessValidation});

View File

@@ -0,0 +1 @@
define(["exports","./playbackmanager.js","./../globalize.js","./../../emby-apiclient/connectionmanager.js"],function(_exports,_playbackmanager,_globalize,_connectionmanager){function promptUserToPlayActiveRecording(timer,displayItem,options){var items=[];return items.push({name:_globalize.default.translate("PlayFromLivePosition"),id:"playlive",icon:"&#xe037;"}),items.push({name:_globalize.default.translate("PlayFromStartOfRecording"),id:"playrecording",icon:"&#xe037;"}),function(options){return Emby.importModule("./modules/actionsheet/actionsheet.js").then(function(ActionSheet){return ActionSheet.show(options)})}({items:items,item:displayItem,text:_globalize.default.translate("ThisChannelIsActivelyRecording"),hasItemIcon:!0,longPreview:!0}).then(function(result){return"playrecording"===result?function(timer,options){return _connectionmanager.default.getApiClient(timer).getLiveTvRecordings({TimerId:timer.Id,IsInProgress:!0}).then(function(result){result=result.Items.filter(function(i){return i.TimerId===timer.Id})[0];return result?_playbackmanager.default.play({items:[result]}):_playbackmanager.default.play(options)})}(timer,options):"playlive"===result?_playbackmanager.default.play(options):options.cancelResult?Promise.reject(options.cancelResult):Promise.reject()})}function playChannelWithTimerId(displayItem,timerId,options){return _connectionmanager.default.getApiClient(displayItem).getLiveTvTimer(timerId).then(function(timer){return function(timer,displayItem,options){var now=Date.now();return now>=Date.parse(timer.StartDate)&&now<Date.parse(timer.EndDate)?promptUserToPlayActiveRecording(timer,displayItem,options):_playbackmanager.default.play(options)}(timer,displayItem,options)})}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;_exports.default={play:function(options){var _options$items;if(1===(null==(_options$items=options.items)?void 0:_options$items.length)){var item=options.items[0];switch(item.Type){case"TvChannel":return function(item,options){var _item$CurrentProgram=null==(_item$CurrentProgram=item.CurrentProgram)?void 0:_item$CurrentProgram.TimerId;return _item$CurrentProgram?playChannelWithTimerId(item.CurrentProgram||item,_item$CurrentProgram,options):_playbackmanager.default.play(options)}(item,options);case"Program":return function(item,options){var timerId=item.TimerId;return timerId?playChannelWithTimerId(item,timerId,options):_playbackmanager.default.play(options)}(item,options)}}return _playbackmanager.default.play(options)}}});

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
define(["exports","./playbackmanager.js","./../../emby-apiclient/apiclient.js"],function(_exports,_playbackmanager,_apiclient){function validatePlayback(options){var feature="playback";if("playback"===(feature=!options.item||"TvChannel"!==options.item.Type&&"Recording"!==options.item.Type?feature:"livetv")){var player=_playbackmanager.default.getCurrentPlayer();if(player&&!player.isLocalPlayer)return Promise.resolve()}return function(feature,options){return Emby.importModule("./modules/registrationservices/registrationservices.js").then(function(registrationServices){return registrationServices.validateFeature(feature,options)})}(feature,options).then(function(result){result&&result.enableTimeLimit&&(stopAutoStopTimer(),autoStopTimeout=setTimeout(onAutoStopTimeout,63e3))})}var autoStopTimeout;function onAutoStopTimeout(){stopAutoStopTimer(),_playbackmanager.default.stop()}function stopAutoStopTimer(){autoStopTimeout&&(clearTimeout(autoStopTimeout),autoStopTimeout=null)}function PlaybackValidation(){this.name="Playback validation",this.type="preplayintercept",this.id="playbackvalidation",this.order=-1}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,PlaybackValidation.prototype.intercept=function(options){return!options.fullscreen||options.item&&_apiclient.default.isLocalItem(options.item)?Promise.resolve():validatePlayback(options)};_exports.default=PlaybackValidation});

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
define(["exports","./../globalize.js","./../../dialog/dialog.js","./playbackmanager.js"],function(_exports,_globalize,_dialog,_playbackmanager){function PlayQueueConfirmation(){this.name="Play Queue Confirmation",this.type="preplayintercept",this.id="playqueueconfirmation"}function showConfirmation(playOptions){var player=_playbackmanager.default.getCurrentPlayer(),options={text:_globalize.default.translate("AfterThisPlaysConfirmation")},items=[];return items.push({name:_globalize.default.translate("Keep"),id:"keep",type:"submit"}),items.push({name:_globalize.default.translate("Clear"),id:"clear"}),items.push({name:_globalize.default.translate("Cancel"),id:"cancel",type:"cancel"}),options.buttons=items,(0,_dialog.default)(options).then(function(result){return"cancel"===result?Promise.reject():"keep"===result?function(options,player){var currentPlaylistIndex=_playbackmanager.default.getCurrentPlaylistIndex(player);return-1===currentPlaylistIndex?Promise.resolve():_playbackmanager.default.getPlaylist({StartIndex:currentPlaylistIndex},player).then(function(result){var items=options.items,result=result.Items;if(!result.length)return Promise.resolve();items.push.apply(items,babelHelpers.toConsumableArray(result))})}(playOptions,player):Promise.resolve()})}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,PlayQueueConfirmation.prototype.intercept=function(options){var item=options.item;if(item&&"play"===options.command&&"Audio"===options.mediaType&&_playbackmanager.default.isPlayingAudio()&&options.fullscreen){item=_playbackmanager.default.getCurrentPlaylistLength();if(1<item)return showConfirmation(options)}return Promise.resolve()};_exports.default=PlayQueueConfirmation});

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
define(["exports","./../globalize.js","./../../actionsheet/actionsheet.js","./playbackmanager.js","./../dataformatter.js"],function(_exports,_globalize,_actionsheet,_playbackmanager,_dataformatter){function showToast(options){Emby.importModule("./modules/toast/toast.js").then(function(toast){return toast(options)})}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;_exports.default={show:function(options){for(var player=options.player,menuItems=[],currentMode=_playbackmanager.default.getSleepTimerMode(player),now=(currentMode&&"None"!==currentMode&&menuItems.push({name:_globalize.default.translate("TurnOffTimer"),id:"stoptimer"}),menuItems.push({name:_globalize.default.translate("AfterCurrentItem"),id:"afteritem"}),Date.now()),increments=[3e5,6e5,9e5,12e5,18e5,27e5,36e5,72e5,108e5,144e5],i=0,length=increments.length;i<length;i++){var time=now+increments[i],date=new Date(time);menuItems.push({name:_dataformatter.default.formatRelativeTime(date,!1),id:time})}return _actionsheet.default.show({items:menuItems,positionTo:options.positionTo,positionX:options.positionX,positionY:options.positionY,transformOrigin:options.transformOrigin,noTextWrap:options.noTextWrap,title:_globalize.default.translate("HeaderStopPlayback"),hasItemSelectionState:!1}).then(function(result){switch(result){case"afteritem":_playbackmanager.default.setSleepTimer({sleepTimerMode:"AfterItem"},player),showToast({text:_globalize.default.translate("SleepTimerIsSet"),icon:"&#xe5ca;"});break;case"stoptimer":_playbackmanager.default.setSleepTimer({sleepTimerMode:"None"},player),showToast({text:_globalize.default.translate("SleepTimerIsOff"),icon:"&#xe426;"});break;default:var _time=parseInt(result);_time&&!isNaN(_time)&&(_playbackmanager.default.setSleepTimer({sleepTimerMode:"AtTime",sleepTimerEndTime:new Date(_time)},player),showToast({text:_globalize.default.translate("SleepTimerIsSet"),icon:"&#xe425;"}))}})}}});

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
define(["exports"],function(_exports){function supportsConnectionTypeDetection(){if("undefined"!=typeof navigator){var connection=navigator.connection;if(connection){var connectionType=connection.type;if(connectionType||void 0!==connectionType)return!0;connectionType=connection.effectiveType;if("slow-2g"===connectionType||"2g"===connectionType||"3g"===connectionType)return!0}}return!1}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;_exports.default={supportsConnectionTypeDetection:supportsConnectionTypeDetection,getDefaultQuality:function(networkType){switch(networkType){case"wan":return function(){if("undefined"!=typeof navigator){var connection=navigator.connection;if(connection){var downlink=connection.downlink;if(downlink&&0<downlink&&downlink<Number.POSITIVE_INFINITY)return downlink=downlink*1e6*.7,downlink=parseInt(downlink);if((downlink=connection.downlinkMax)&&0<downlink&&downlink<Number.POSITIVE_INFINITY)return downlink=downlink*1e6*.7,downlink=parseInt(downlink)}}return null}()||(supportsConnectionTypeDetection()?12e6:4000002);case"cellular":return 1000001;default:return 2e8}}}});

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
define(["exports"],function(_exports){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;_exports.default={paramsToString:function(params){var key,urlSearchParams=new URLSearchParams;for(key in params){var value=params[key];null!=value&&""!==value&&urlSearchParams.set(key,value)}return urlSearchParams.toString()}}});

View File

@@ -0,0 +1 @@
define(["exports","./../emby-apiclient/connectionmanager.js","./../loading/loading.js","./globalize.js","./itemmanager/itemmanager.js"],function(_exports,_connectionmanager,_loading,_globalize,_itemmanager){function showToast(options){Emby.importModule("./modules/toast/toast.js").then(function(toast){return toast(options)})}function changeRecordingToSeries(apiClient,timerId,programId,confirmTimerCancellation){return _loading.default.show(),apiClient.getItem(apiClient.getCurrentUserId(),programId).then(function(item){return item.IsSeries?apiClient.getNewLiveTvTimerDefaults({programId:programId}).then(function(timerDefaults){return apiClient.createLiveTvSeriesTimer(timerDefaults).then(function(){_loading.default.hide(),showToast(_globalize.default.translate("SeriesRecordingScheduled"))})}):cancelTimer(apiClient,timerId,confirmTimerCancellation).then(function(result){return _loading.default.hide(),Promise.resolve(result)})})}function cancelTimer(apiClient,timerId,confirm){return _itemmanager.default.deleteItems({items:[{Id:timerId,ServerId:apiClient.serverId(),Type:"Timer"}],confirm:!0===confirm,navigate:!1})}function createRecording(apiClient,programId,isSeries){return _loading.default.show(),apiClient.getNewLiveTvTimerDefaults({programId:programId}).then(function(item){return(isSeries?apiClient.createLiveTvSeriesTimer(item):apiClient.createLiveTvTimer(item)).then(function(){_loading.default.hide(),showToast(_globalize.default.translate("RecordingScheduled"))})})}function showMultiCancellationPrompt(serverId,programId,timerId,timerStatus,seriesTimerId){var options,items=[];return items.push({name:_globalize.default.translate("HeaderKeepRecording"),id:"cancel",type:"submit"}),items.push("InProgress"===timerStatus?{name:_globalize.default.translate("HeaderStopRecording"),id:"canceltimer",type:"cancel"}:{name:_globalize.default.translate("HeaderCancelRecording"),id:"canceltimer",type:"cancel"}),items.push({name:_globalize.default.translate("HeaderCancelSeries"),id:"cancelseriestimer",type:"cancel"}),options={text:_globalize.default.translate("MessageConfirmRecordingCancellation"),buttons:items},Emby.importModule("./modules/dialog/dialog.js").then(function(dialog){return dialog(options)}).then(function(result){var apiClient=_connectionmanager.default.getApiClient(serverId);return"canceltimer"===result?(_loading.default.show(),cancelTimer(apiClient,timerId,!0)):"cancelseriestimer"===result?(_loading.default.show(),apiClient.cancelLiveTvSeriesTimer(seriesTimerId).then(function(){showToast(_globalize.default.translate("SeriesCancelled")),_loading.default.hide()})):Promise.resolve()})}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;_exports.default={cancelTimer:cancelTimer,createRecording:createRecording,changeRecordingToSeries:changeRecordingToSeries,toggleRecording:function(serverId,programId,timerId,timerStatus,seriesTimerId){var apiClient=_connectionmanager.default.getApiClient(serverId),hasTimer=timerId&&"Cancelled"!==timerStatus;return seriesTimerId&&hasTimer?showMultiCancellationPrompt(serverId,0,timerId,timerStatus,seriesTimerId):hasTimer&&programId?changeRecordingToSeries(apiClient,timerId,programId,!0):programId?createRecording(apiClient,programId):Promise.reject()}}});

View File

@@ -0,0 +1 @@
define(["exports","./../loading/loading.js","./globalize.js"],function(_exports,_loading,_globalize){function ResponseHelper(){}function showAlertAndReject(options,response){function onDone(){return Promise.reject(response)}return function(options){return Emby.importModule("./modules/common/dialogs/alert.js").then(function(alert){return alert(options)})}(options).then(onDone,onDone)}function getErrorObject(response,msg,errorTitle,options){return errorTitle||!1!==(null==options?void 0:options.enableDefaultTitle)&&(errorTitle=_globalize.default.translate("Error")),"string"==typeof response&&msg.push(response),{title:errorTitle,text:msg.join("\n\n")||_globalize.default.translate("DefaultErrorMessage"),html:msg.join("<br/><br/>")||_globalize.default.translate("DefaultErrorMessage"),response:response,centerText:msg.length<2}}function getErrorInfo(response,options){var _response$headers,errorCode=response.errorCode||response,errorTitle=response.errorTitle;switch(errorCode){case"noitems":return Promise.resolve({text:_globalize.default.translate("NoSelectedItemsSupportOperation"),response:response});case"nocommands":return Promise.resolve({text:_globalize.default.translate("NoOperationsForSelectedItems"),response:response});case"RateLimitExceeded":return Promise.resolve({title:errorTitle||_globalize.default.translate("HeaderPlaybackError"),text:_globalize.default.translate("RateLimitExceeded"),response:response});case"NoPlayableItems":case"NoCompatibleStream":case"PlaceHolder":return Promise.resolve({title:errorTitle||_globalize.default.translate("HeaderPlaybackError"),text:_globalize.default.translate("PlaybackError"+errorCode),response:response})}errorTitle||401===response.status&&(errorTitle=_globalize.default.translate("HeaderSignInError"));var msg=[];return response.json&&"application/json"===(null==(_response$headers=response.headers)?void 0:_response$headers.get("Content-Type"))?response.json().then(function(responseInfo){return responseInfo.Message&&msg.push(responseInfo.Message),responseInfo.Title&&(errorTitle=responseInfo.Title),getErrorObject(response,msg,errorTitle,options)}):response.text?response.text().then(function(responseText){return responseText&&msg.push(responseText),getErrorObject(response,msg,errorTitle,options)}):Promise.resolve(getErrorObject(response,msg,errorTitle,options))}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,ResponseHelper.prototype.handleConfigurationSavedResponse=function(response){var options;return _loading.default.hide(),options=_globalize.default.translate("SettingsSaved"),Emby.importModule("./modules/toast/toast.js").then(function(toast){toast(options)}),Promise.resolve(response)},ResponseHelper.prototype.getErrorInfo=getErrorInfo,ResponseHelper.prototype.handleErrorResponse=function(response){return _loading.default.hide(),console.error(response||"Error",new Error),getErrorInfo(response).then(function(errorInfo){return showAlertAndReject(errorInfo)})};_exports.default=new ResponseHelper});

View File

@@ -0,0 +1 @@
define(["exports","./dialogs/confirm.js","./globalize.js"],function(_exports,_confirm,_globalize){function formatTextWithDisruptions(text,disruptions){return text=disruptions.length?(text=(text+="\n\n")+_globalize.default.translate("FollowingActivityWillBeDisrupted")+"\n\n")+disruptions.map(function(i){return"- "+i}).join("\n"):text}function formatHtmlWithDisruptions(text,disruptions){return disruptions.length?(text=(text+="<p>")+_globalize.default.translate("FollowingActivityWillBeDisrupted")+"</p><ul>")+disruptions.map(function(i){return"<li>"+i+"</li>"}).join("")+"</ul>":null}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;_exports.default={confirmRestartOrShutdown:function(options){return function(options){return options=[(options=options.apiClient).getSessions({IsPlaying:!0}),options.getLiveTvRecordings({IsInProgress:!0})],Promise.all(options).then(function(responses){var sessions=responses[0],responses=responses[1].Items,list=[];return 1===sessions.length?list.push(_globalize.default.translate("OneActivePlaybackSession")):sessions.length&&list.push(_globalize.default.translate("NumActivePlaybackSessions",sessions.length)),1===responses.length?list.push(_globalize.default.translate("OneActiveRecording")):responses.length&&list.push(_globalize.default.translate("NumActiveRecordings",responses.length)),list})}(options).then(function(disruptions){return("shutdown"===options.type?function(disruptions){return(0,_confirm.default)({title:_globalize.default.translate("Shutdown"),text:formatTextWithDisruptions(_globalize.default.translate("MessageConfirmShutdown"),disruptions),html:formatHtmlWithDisruptions(_globalize.default.translate("MessageConfirmShutdown"),disruptions),confirmText:_globalize.default.translate("Shutdown"),primary:"cancel",centerText:0===disruptions.length})}:function(disruptions){return(0,_confirm.default)({title:_globalize.default.translate("Restart"),text:formatTextWithDisruptions(_globalize.default.translate("MessageConfirmRestart"),disruptions),html:formatHtmlWithDisruptions(_globalize.default.translate("MessageConfirmRestart"),disruptions),confirmText:_globalize.default.translate("Restart"),primary:"cancel",centerText:0===disruptions.length})})(disruptions)})}}});

View File

@@ -0,0 +1 @@
define(["exports"],function(_exports){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.iapManager=_exports.fullscreenManager=_exports.fileRepository=_exports.cameraUpload=_exports.appStorage=_exports.appLogger=_exports.appHost=_exports.apiClientFactory=void 0,_exports.initialize=function(services){services.appStorage&&(_exports.appStorage=services.appStorage);services.appHost&&(_exports.appHost=services.appHost);services.fullscreenManager&&(_exports.fullscreenManager=services.fullscreenManager);services.shell&&(_exports.shell=services.shell);services.iapManager&&(_exports.iapManager=services.iapManager);services.wakeOnLan&&(_exports.wakeOnLan=services.wakeOnLan);services.serverDiscovery&&(_exports.serverDiscovery=services.serverDiscovery);services.fileRepository&&(_exports.fileRepository=services.fileRepository);services.itemRepository&&(_exports.itemRepository=services.itemRepository);services.transferManager&&(_exports.transferManager=services.transferManager);services.userActionRepository&&(_exports.userActionRepository=services.userActionRepository);services.localSync&&(_exports.localSync=services.localSync);services.cameraUpload&&(_exports.cameraUpload=services.cameraUpload);services.apiClientFactory&&(_exports.apiClientFactory=services.apiClientFactory);services.appLogger&&(_exports.appLogger=services.appLogger)},_exports.wakeOnLan=_exports.userActionRepository=_exports.transferManager=_exports.shell=_exports.serverDiscovery=_exports.localSync=_exports.itemRepository=void 0});

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More