UNPKG

homebridge-config-ui-x

Version:

A web based management, configuration and control platform for Homebridge.

1 lines 20.1 kB
import{a as E,i as D}from"./chunk-D39XL-zh.js";import{$ as Le$1,Ct as Qo,E as Dy,Fr as se,Gr as uy,Jr as ve$1,Kr as v3,M as Fe,Pr as sc,Q as Ko,Qn as i$,Rt as Te,Tn as ac,U as I_,Un as g,Wt as UT,Yr as vy,Yt as Va,b as Co,d as Ay,dt as Nf,fn as Z,hr as nc,jt as S_,li as yr,lt as NU,pt as Ot,rr as jd,tr as ii,tt as Ln,u as An,ui as z0,ut as N_,vt as Py,wr as q,x as Cr}from"./chunk-D96TCRAL.js";import{c as k,i as Uo,l as le$1,o as X,s as fr,t as Dt}from"./chunk-DZYp0NQB.js";import{n as zt}from"./chunk-CdJ3i4Aq.js";import{dt as k$1,ft as he$1,pt as j,ut as si}from"./main-E3N63CH7.js";import{t as ds}from"./chunk-CiY-LsUw.js";import{r as D$1,t as A}from"./chunk-nWnpef0a.js";import{t as O}from"./chunk-C-2fYS21.js";import{t as Ti}from"./chunk-Cgpv3T9Y2.js";import{t as J}from"./chunk-bhmKVFCr.js";import{t as n}from"./chunk-D3aLTjX52.js";var de=D(Ti(),1);var N=()=>[`/`];var he=()=>({exact:!0});var fe=()=>[`/plugins`];var ve=()=>[`/accessories`];var be=()=>[`/support`];var _e=()=>[`/logs`];var xe=()=>[`/platform-tools/terminal`];var Ce=()=>[`/config`];var Me=()=>[`/settings`];var Se=()=>[`/power-options`];function we(o,C){if(o&1){let e=sc();Va(0,`div`,19)(1,`button`,28),S_(2,`translate`),S_(3,`translate`),ac(`click`,function(){Ko(e);return Qo(ve$1().openUnderVoltageModal())}),Va(4,`div`,21),Dy(5,`i`,29),jd(),Va(6,`div`,23),Ot(7),S_(8,`translate`),jd()()()}o&2&&(se(),Cr(`aria-label`,`${N_(2,2,`rpi.throttled.undervoltage_title`)} - ${N_(3,4,`rpi.throttled.undervoltage_description`)}`),se(6),Py(N_(8,6,`rpi.throttled.undervoltage_title`)))}function ye(o,C){if(o&1&&(Va(0,`div`,19)(1,`button`,24,4),S_(3,`translate`),S_(4,`translate`),Va(5,`div`,21),Dy(6,`i`,30),jd(),Va(7,`div`,23),Ot(8),S_(9,`translate`),jd()()()),o&2){let e=UT(2);se(),vy(`routerLink`,I_(9,_e)),Cr(`aria-label`,N_(3,3,`menu.linux.label_logs`)+(e.isActive?`, ${N_(4,5,`menu.current_page`)}`:``)),se(7),Py(N_(9,7,`menu.linux.label_logs`))}}function Oe(o,C){if(o&1&&(Va(0,`div`,19)(1,`button`,24,5),S_(3,`translate`),S_(4,`translate`),Va(5,`div`,21),Dy(6,`i`,31),jd(),Va(7,`div`,23),Ot(8),S_(9,`translate`),jd()()()),o&2){let e=UT(2);se(),vy(`routerLink`,I_(9,xe)),Cr(`aria-label`,N_(3,3,`menu.linux.label_terminal`)+(e.isActive?`, ${N_(4,5,`menu.current_page`)}`:``)),se(7),Py(N_(9,7,`menu.linux.label_terminal`))}}function Pe(o,C){if(o&1&&(Va(0,`div`,19)(1,`button`,24,6),S_(3,`translate`),S_(4,`translate`),Va(5,`div`,21),Dy(6,`i`,32),jd(),Va(7,`div`,23),Ot(8),S_(9,`translate`),jd()()()),o&2){let e=UT(2);se(),vy(`routerLink`,I_(9,Ce)),Cr(`aria-label`,N_(3,3,`menu.config_json_editor`)+(e.isActive?`, ${N_(4,5,`menu.current_page`)}`:``)),se(7),Py(N_(9,7,`menu.config_json_editor`))}}function ke(o,C){if(o&1&&(Va(0,`div`,19)(1,`button`,24,7),S_(3,`translate`),S_(4,`translate`),Va(5,`div`,21),Dy(6,`i`,33),jd(),Va(7,`div`,23),Ot(8),S_(9,`translate`),jd()()()),o&2){let e=UT(2);se(),vy(`routerLink`,I_(9,Me)),Cr(`aria-label`,N_(3,3,`menu.label_settings`)+(e.isActive?`, ${N_(4,5,`menu.current_page`)}`:``)),se(7),Py(N_(9,7,`menu.label_settings`))}}function Le(o,C){if(o&1&&(Va(0,`div`,19)(1,`button`,24,8),S_(3,`translate`),S_(4,`translate`),Va(5,`div`,21),Dy(6,`i`,34),jd(),Va(7,`div`,23),Ot(8),S_(9,`translate`),jd()()()),o&2){let e=UT(2);se(),vy(`routerLink`,I_(9,Se)),Cr(`aria-label`,N_(3,3,`menu.restart.title`)+(e.isActive?`, ${N_(4,5,`menu.current_page`)}`:``)),se(7),Py(N_(9,7,`menu.restart.title`))}}function Ee(o,C){if(o&1){let e=sc();Va(0,`div`,19)(1,`button`,28),S_(2,`translate`),ac(`click`,function(){Ko(e);return Qo(ve$1().reloadPage())}),Va(3,`div`,21),Dy(4,`i`,35),jd(),Va(5,`div`,23),Ot(6),S_(7,`translate`),jd()()()}o&2&&(se(),Cr(`aria-label`,N_(2,2,`menu.reload`)),se(5),Py(N_(7,4,`menu.reload`)))}function $e(o,C){if(o&1){let e=sc();Va(0,`div`,19)(1,`button`,28),S_(2,`translate`),ac(`click`,function(){Ko(e);return Qo(ve$1().logout())}),Va(3,`div`,21),Dy(4,`i`,36),jd(),Va(5,`div`,23),Ot(6),S_(7,`translate`),jd()()()}o&2&&(se(),Cr(`aria-label`,N_(2,2,`menu.tooltip_logout`)),se(5),Py(N_(7,4,`menu.tooltip_logout`)))}var le=(()=>{class o{injector=g(Te);destroyRef=g(Z);$auth=g(he$1);$authHelper=g(k$1);$settings=g(zt);$modal=g(si);$notification=g(j);$renderer=g(yr);$router=g(le$1);$toastr=g(z0);$translate=g(Nf);initialIsExpanded=i$(!1);isExpanded=q(!1);formAuth=q(this.$settings.formAuth);isAdmin=this.$auth.user.admin;enableTerminalAccess=this.$settings.env.enableTerminalAccess;canViewLogs=!this.$settings.env.restrictLogsToAdmins||this.$auth.user.admin;rPiCurrentlyUnderVoltage=q(!1);rPiWasUnderVoltage=q(!1);legacyOtpToastShown=q(!1);isMobile=q(!1);freezeMenu=q(!1);isPwa=n();sidebarMouseEnterListener=()=>this.openSidebar();sidebarMouseLeaveListener=()=>this.closeSidebar();touchstartListener;clickListener;constructor(){this.isMobile.set(window.innerWidth<768),ii(()=>{let t=this.$notification.raspberryPiThrottled();t[`Under Voltage`]&&this.rPiCurrentlyUnderVoltage.set(!0),t[`Under-voltage has occurred`]&&this.rPiWasUnderVoltage.set(!0)}),ii(()=>{let t=this.$notification.formAuthEnabled();t!==null&&this.formAuth.set(t)}),ii(()=>{this.$notification.legacyOtpDetected()&&!this.legacyOtpToastShown()&&(this.legacyOtpToastShown.set(!0),setTimeout(()=>{this.$toastr.warning(this.$translate.instant(`users.toast_legacy_otp_message`),this.$translate.instant(`users.toast_legacy_otp_title`),{timeOut:0,tapToDismiss:!0,disableTimeOut:!0}).onTap.subscribe(()=>{this.$router.navigate([`/users`])})},3e3))});let e,l=()=>{clearTimeout(e),e=setTimeout(()=>{this.updateListeners()},500)};window.addEventListener(`resize`,l),this.destroyRef.onDestroy(()=>{clearTimeout(e),window.removeEventListener(`resize`,l)}),this.$router.events.pipe(An()).subscribe(t=>E(this,null,function*(){if(t instanceof X&&this.$settings.formAuth&&t.url!==`/login`&&!(yield this.$authHelper.isAuthenticated())){window.sessionStorage.setItem(`target_route`,t.url),yield this.$router.navigate([`/login`]);return}t instanceof k&&queueMicrotask(()=>{this.closeSidebar(),this.freezeMenu.set(!0),setTimeout(()=>{this.freezeMenu.set(!1)},750)})}))}ngOnInit(){this.isExpanded.set(this.initialIsExpanded());let e=document.querySelector(`.sidebar`),l=document.querySelector(`.m-header`),t=document.querySelector(`.content`);this.isMobile()?(this.touchstartListener=m=>{if(t.contains(m.target)&&this.isExpanded()){m.preventDefault(),this.toggleSidebar();return}!e.contains(m.target)&&!l.contains(m.target)&&this.isExpanded()&&(m.preventDefault(),this.closeSidebar())},document.addEventListener(`touchstart`,this.touchstartListener,{passive:!1})):(this.updateListeners(),l.addEventListener(`mouseenter`,this.sidebarMouseEnterListener,{passive:!1}),l.addEventListener(`mouseleave`,this.sidebarMouseLeaveListener,{passive:!1}),this.clickListener=m=>{e.contains(m.target)&&m.clientX>60&&this.closeSidebar()},document.addEventListener(`click`,this.clickListener,{passive:!1}))}toggleSidebar(){this.freezeMenu()||(this.isExpanded.set(!this.isExpanded()),this.updateContentStyles())}openUnderVoltageModal(){let e=uy([{provide:D$1,useValue:{title:this.$translate.instant(`rpi.throttled.undervoltage_title`),message:this.$translate.instant(this.rPiCurrentlyUnderVoltage()?`rpi.throttled.currently_message`:`rpi.throttled.previously_message`),ctaButtonLabel:this.$translate.instant(`form.button_more_info`),faIconClass:`fas fa-bolt yellow-text`,ctaButtonLink:`https://pimylifeup.com/raspberry-pi-low-voltage-warning`}}],this.injector);this.$modal.open(J,{size:`lg`,backdrop:`static`,injector:e})}handleKeydown(e){if(e.key===`Enter`){let l=e.target;[`menuitem`,`button`].includes(l.getAttribute(`role`))&&l.click()}}reloadPage(){window.location.reload()}ngOnDestroy(){this.touchstartListener&&document.removeEventListener(`touchstart`,this.touchstartListener),this.clickListener&&document.removeEventListener(`click`,this.clickListener);let e=document.querySelector(`.sidebar`),l=document.querySelector(`.m-header`);e&&(e.removeEventListener(`mouseenter`,this.sidebarMouseEnterListener),e.removeEventListener(`mouseleave`,this.sidebarMouseLeaveListener)),l&&(l.removeEventListener(`mouseenter`,this.sidebarMouseEnterListener),l.removeEventListener(`mouseleave`,this.sidebarMouseLeaveListener))}logout(){this.$auth.logout()}openSidebar(){this.freezeMenu()||(this.isExpanded.set(!0),this.updateContentStyles())}closeSidebar(){this.freezeMenu()||(this.isExpanded.set(!1),this.updateContentStyles())}updateContentStyles(){let e=document.querySelector(`.content`);this.isExpanded()?(this.$renderer.setStyle(e,`opacity`,`20%`),this.$renderer.setStyle(e,`pointer-events`,`none`),this.$renderer.setStyle(e,`overflow`,`hidden`)):(this.$renderer.removeStyle(e,`opacity`),this.$renderer.removeStyle(e,`pointer-events`),this.$renderer.removeStyle(e,`overflow`))}updateListeners(){this.isMobile.set(window.innerWidth<768);let e=document.querySelector(`.sidebar`);e.removeEventListener(`mouseenter`,this.sidebarMouseEnterListener),e.removeEventListener(`mouseleave`,this.sidebarMouseLeaveListener),(this.isMobile()||!this.isMobile()&&this.$settings.menuMode!==`freeze`)&&(e.addEventListener(`mouseenter`,this.sidebarMouseEnterListener,{passive:!1}),e.addEventListener(`mouseleave`,this.sidebarMouseLeaveListener,{passive:!1}))}static ɵfac=function(l){return new(l||o)};static ɵcmp=nc({type:o,selectors:[[`app-sidebar`]],inputs:{initialIsExpanded:[1,`initialIsExpanded`]},decls:68,vars:70,consts:[[`statusRla`,`routerLinkActive`],[`pluginsRla`,`routerLinkActive`],[`accessoriesRla`,`routerLinkActive`],[`supportRla`,`routerLinkActive`],[`logsRla`,`routerLinkActive`],[`terminalRla`,`routerLinkActive`],[`configRla`,`routerLinkActive`],[`settingsRla`,`routerLinkActive`],[`powerRla`,`routerLinkActive`],[1,`m-header`,`text-end`,3,`click`,`keydown`],[1,`me-2`,`d-block`,`d-lg-none`,`m-header-label`],[`tabindex`,`-1`,`aria-hidden`,`true`,3,`routerLink`],[`ngSrc`,`assets/homebridge-logo.svg`,`alt`,``,`height`,`35`,`width`,`35`,1,`hb-logo-img`],[1,`hb-logo-text-mobile`],[`aria-hidden`,`true`,1,`hamburger-icon`],[`id`,`sidebar`,1,`sidebar`],[1,`header`],[1,`hb-logo-text`],[1,`link-wrapper`],[1,`link`],[`type`,`button`,`routerLinkActive`,`active`,1,`link-row`,3,`routerLink`,`routerLinkActiveOptions`],[1,`icon`],[`aria-hidden`,`true`,1,`fas`,`fa-house`],[1,`title`],[`type`,`button`,`routerLinkActive`,`active`,1,`link-row`,3,`routerLink`],[`aria-hidden`,`true`,1,`fas`,`fa-plug`],[`aria-hidden`,`true`,1,`fas`,`fa-lightbulb`],[`aria-hidden`,`true`,1,`far`,`fa-circle-question`],[`type`,`button`,1,`link-row`,3,`click`],[`aria-hidden`,`true`,1,`fas`,`fa-bolt`,`fa-beat`,`yellow-text`,`fa-beat-scale-lg`],[`aria-hidden`,`true`,1,`fas`,`fa-wave-square`],[`aria-hidden`,`true`,1,`fas`,`fa-terminal`],[`aria-hidden`,`true`,1,`fas`,`fa-code`],[`aria-hidden`,`true`,1,`fas`,`fa-cog`],[`aria-hidden`,`true`,1,`fas`,`fa-power-off`],[`aria-hidden`,`true`,1,`fas`,`fa-arrows-rotate`],[`aria-hidden`,`true`,1,`fas`,`fa-right-from-bracket`]],template:function(l,t){if(l&1&&(Va(0,`div`,9),S_(1,`translate`),ac(`click`,function(){return t.toggleSidebar()})(`keydown`,function(z){return t.handleKeydown(z)}),Dy(2,`span`,10),Va(3,`a`,11),Dy(4,`img`,12),Va(5,`div`,13),Ot(6,`Homebridge`),jd()(),Va(7,`div`,14),Dy(8,`span`)(9,`span`)(10,`span`)(11,`span`),jd()(),Va(12,`div`,15),S_(13,`translate`),Va(14,`div`,16)(15,`a`,11),Dy(16,`img`,12),Va(17,`div`,17),Ot(18,`Homebridge`),jd()()(),Va(19,`div`,18)(20,`div`,19)(21,`button`,20,0),S_(23,`translate`),S_(24,`translate`),Va(25,`div`,21),Dy(26,`i`,22),jd(),Va(27,`div`,23),Ot(28),S_(29,`translate`),jd()()(),Fe(30,we,9,8,`div`,19),Va(31,`div`,19)(32,`button`,24,1),S_(34,`translate`),S_(35,`translate`),Va(36,`div`,21),Dy(37,`i`,25),jd(),Va(38,`div`,23),Ot(39),S_(40,`translate`),jd()()(),Va(41,`div`,19)(42,`button`,24,2),S_(44,`translate`),S_(45,`translate`),Va(46,`div`,21),Dy(47,`i`,26),jd(),Va(48,`div`,23),Ot(49),S_(50,`translate`),jd()()(),Fe(51,ye,10,10,`div`,19),Fe(52,Oe,10,10,`div`,19),Fe(53,Pe,10,10,`div`,19),Fe(54,ke,10,10,`div`,19),Va(55,`div`,19)(56,`button`,24,3),S_(58,`translate`),S_(59,`translate`),Va(60,`div`,21),Dy(61,`i`,27),jd(),Va(62,`div`,23),Ot(63),S_(64,`translate`),jd()()(),Fe(65,Le,10,10,`div`,19),Fe(66,Ee,8,6,`div`,19),Fe(67,$e,8,6,`div`,19),jd()()),l&2){let m=UT(22),z=UT(33),pe=UT(43),ce=UT(57);Cr(`tabindex`,t.isMobile()?`0`:`-1`)(`role`,t.isMobile()?`button`:null)(`aria-hidden`,t.isMobile()?null:`true`)(`aria-expanded`,t.isMobile()?t.isExpanded()?`true`:`false`:null)(`aria-controls`,t.isMobile()?`sidebar`:null)(`aria-label`,t.isMobile()?N_(1,35,`menu.sidebar.aria_menu`):null),se(3),vy(`routerLink`,I_(63,N)),se(4),Ay(`hamburger-icon-cross`,t.isExpanded()),se(5),Ay(`expanded`,t.isExpanded()),Cr(`role`,t.isMobile()?null:`navigation`)(`aria-label`,t.isMobile()?null:N_(13,37,`menu.sidebar.aria_menu`)),se(3),vy(`routerLink`,I_(64,N)),se(6),vy(`routerLink`,I_(65,N))(`routerLinkActiveOptions`,I_(66,he)),Cr(`aria-label`,N_(23,39,`menu.label_status`)+(m.isActive?`, ${N_(24,41,`menu.current_page`)}`:``)),se(7),Py(N_(29,43,`menu.label_status`)),se(2),Le$1(t.rPiWasUnderVoltage()||t.rPiCurrentlyUnderVoltage()?30:-1),se(2),vy(`routerLink`,I_(67,fe)),Cr(`aria-label`,N_(34,45,`menu.label_plugins`)+(z.isActive?`, ${N_(35,47,`menu.current_page`)}`:``)),se(7),Py(N_(40,49,`menu.label_plugins`)),se(3),vy(`routerLink`,I_(68,ve)),Cr(`aria-label`,N_(44,51,`menu.label_accessories`)+(pe.isActive?`, ${N_(45,53,`menu.current_page`)}`:``)),se(7),Py(N_(50,55,`menu.label_accessories`)),se(2),Le$1(t.canViewLogs?51:-1),se(),Le$1(t.enableTerminalAccess&&t.isAdmin?52:-1),se(),Le$1(t.isAdmin?53:-1),se(),Le$1(t.isAdmin?54:-1),se(2),vy(`routerLink`,I_(69,be)),Cr(`aria-label`,N_(58,57,`support.title`)+(ce.isActive?`, ${N_(59,59,`menu.current_page`)}`:``)),se(7),Py(N_(64,61,`support.title`)),se(2),Le$1(t.isAdmin?65:-1),se(),Le$1(t.isPwa?66:-1),se(),Le$1(t.formAuth()?67:-1)}},dependencies:[Dt,NU,Uo,v3],styles:[`.m-header[_ngcontent-%COMP%]{position:fixed;top:0;left:0;width:100%;height:65px;z-index:510;display:flex;align-items:center;padding-left:3px;padding-right:3px}.m-header[_ngcontent-%COMP%]:hover{cursor:pointer}@media(min-width:768px){.m-header[_ngcontent-%COMP%]{display:none}}.m-header-label[_ngcontent-%COMP%]{font-size:.9rem;color:#ddd}.hb-logo-img[_ngcontent-%COMP%]{height:35px;width:35px}.fa-beat-scale-lg[_ngcontent-%COMP%]{--%NS%fa-beat-scale: 1.5}.sidebar[_ngcontent-%COMP%]{position:fixed;left:0;top:0;height:100vh;transition:.3s;width:60px;z-index:500}.sidebar[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;padding:15px 10px 15px 11px;font-size:.85rem}.sidebar[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]:hover{cursor:pointer}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{overflow-x:hidden;overflow-y:auto;max-height:calc(100vh - 80px)!important;scrollbar-width:thin}@media(max-width:767px){.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{padding-bottom:60px}}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%]{background:transparent;border:0;color:inherit;font:inherit;text-align:left;width:100%;display:flex;align-items:center;padding:15px 10px;cursor:pointer;transition:.2s;font-size:17px}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{flex:0 0 38px;display:flex;align-items:center;justify-content:center}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{flex:1;transition:.3s;max-width:0;overflow:hidden;white-space:nowrap}@media(max-width:767px){.sidebar[_ngcontent-%COMP%]{width:0}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{display:none}}.sidebar.expanded[_ngcontent-%COMP%]{width:210px}@media(max-width:767px){.sidebar.expanded[_ngcontent-%COMP%]{width:210px}.sidebar.expanded[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{display:block}}.sidebar.expanded[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{max-width:150px;padding-left:10px}.hamburger-icon[_ngcontent-%COMP%]{margin:-7px 0 0 25px}@media(min-width:768px){.hb-logo-text[_ngcontent-%COMP%]{color:#fff;position:absolute;top:17px;font-size:22px;padding-left:3px}.sidebar.expanded[_ngcontent-%COMP%] .hb-logo-text[_ngcontent-%COMP%]{opacity:1;left:55px;transition:.3s}.sidebar[_ngcontent-%COMP%]:not(.expanded) .hb-logo-text[_ngcontent-%COMP%]{opacity:0;left:40px;transition:.3s}.hb-logo-text-mobile[_ngcontent-%COMP%], .hamburger-icon[_ngcontent-%COMP%]{display:none!important}}@media(max-width:767px){.hb-logo-text[_ngcontent-%COMP%]{display:none!important}.hb-logo-text-mobile[_ngcontent-%COMP%]{color:#fff;position:absolute;top:17px;font-size:22px;padding-left:3px;opacity:1;left:55px}.hamburger-icon[_ngcontent-%COMP%]{position:absolute;right:10px;top:28px;width:30px;transform:rotate(0);transition:.5s ease-in-out;cursor:pointer}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:block;position:absolute;height:2px;width:100%;background-color:#fff;border-radius:9px;opacity:1;left:0;transform:rotate(0);transition:.25s ease-in-out}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(1){top:0}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(2), .hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(3){top:10px}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(4){top:20px}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(1){top:10px;width:0;left:50%}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(2){transform:rotate(45deg)}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(3){transform:rotate(-45deg)}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(4){top:10px;width:0;left:50%}}`]})}return o})();var pt=(()=>{class o{injector=g(Te);$auth=g(he$1);$modal=g(si);$router=g(le$1);$settings=g(zt);$translate=g(Nf);$ws=g(ds);io;lastReconnectCheck=0;sidebarExpanded=q(!1);ngOnInit(){this.io=this.$ws.connectToNamespace(`app`),this.io.socket.on(`reconnect`,()=>{let e=Date.now();e-this.lastReconnectCheck<5e3||(this.lastReconnectCheck=e,this.$auth.checkToken())}),this.compareServerUiVersion()}ngOnDestroy(){this.io?.socket?.removeAllListeners(`reconnect`),this.io?.end?.()}compareServerUiVersion(){return E(this,null,function*(){if(this.$settings.settingsLoaded||(yield Ln(this.$settings.onSettingsLoaded)),!this.$router.url.endsWith(`/restart`)&&(0,de.lt)(this.$settings.uiVersion,Co.serverTarget)){console.log(`Server restart required. UI Version: ${Co.serverTarget} - Server Version: ${this.$settings.uiVersion} `);let e=uy([{provide:A,useValue:{title:this.$translate.instant(`platform.version.service_restart_required`),message:this.$translate.instant(`platform.version.restart_required`,{serverVersion:this.$settings.uiVersion,uiVersion:Co.serverTarget}),confirmButtonLabel:this.$translate.instant(`menu.tooltip_restart`),faIconClass:`fas fa-power-off orange-text`}}],this.injector),l=this.$modal.open(O,{size:`lg`,backdrop:`static`,keyboard:!1,injector:e});try{yield l.result,this.$router.navigate([`/restart`])}catch(t){}}})}static ɵfac=function(l){return new(l||o)};static ɵcmp=nc({type:o,selectors:[[`app-layout`]],decls:3,vars:3,consts:[[3,`initialIsExpanded`],[1,`content`,`px-3`,`p-md-4`]],template:function(l,t){l&1&&(Dy(0,`app-sidebar`,0),Va(1,`div`,1),Dy(2,`router-outlet`),jd()),l&2&&(vy(`initialIsExpanded`,t.sidebarExpanded()),se(),Ay(`sidebarExpanded`,t.sidebarExpanded()))},dependencies:[le,fr],styles:[`.content[_ngcontent-%COMP%]{margin-left:60px;transition:.3s;height:100%}@media(max-width:767px){.content[_ngcontent-%COMP%]{margin-left:0;padding-top:85px!important}}@media(min-width:768px){.content[_ngcontent-%COMP%]{height:100%}}a[_ngcontent-%COMP%]:hover{text-decoration:none!important}`]})}return o})();export{pt as LayoutComponent};