homebridge-config-ui-x 5.10.0 → 5.10.1-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/TODO-MATTER.md +15 -0
  2. package/dist/core/auth/auth.controller.d.ts +4 -0
  3. package/dist/core/config/config.interfaces.d.ts +14 -0
  4. package/dist/core/config/config.service.d.ts +6 -0
  5. package/dist/core/config/config.service.js +8 -0
  6. package/dist/core/config/config.service.js.map +1 -1
  7. package/dist/core/config/config.startup.js +48 -17
  8. package/dist/core/config/config.startup.js.map +1 -1
  9. package/dist/core/feature-flags/feature-flags.registry.js +5 -0
  10. package/dist/core/feature-flags/feature-flags.registry.js.map +1 -1
  11. package/dist/core/homebridge-ipc/homebridge-ipc.service.js +1 -0
  12. package/dist/core/homebridge-ipc/homebridge-ipc.service.js.map +1 -1
  13. package/dist/core/spa/spa-html.service.d.ts +5 -0
  14. package/dist/core/spa/spa-html.service.js +32 -0
  15. package/dist/core/spa/spa-html.service.js.map +1 -0
  16. package/dist/core/spa/spa.filter.d.ts +3 -0
  17. package/dist/core/spa/spa.filter.js +22 -2
  18. package/dist/core/spa/spa.filter.js.map +1 -1
  19. package/dist/core/ssl/ssl-cert-generator.service.d.ts +15 -0
  20. package/dist/core/ssl/ssl-cert-generator.service.js +125 -0
  21. package/dist/core/ssl/ssl-cert-generator.service.js.map +1 -0
  22. package/dist/globalDefaults.js +3 -0
  23. package/dist/globalDefaults.js.map +1 -1
  24. package/dist/main.js +18 -4
  25. package/dist/main.js.map +1 -1
  26. package/dist/modules/accessories/accessories.controller.d.ts +1 -1
  27. package/dist/modules/accessories/accessories.interfaces.d.ts +94 -0
  28. package/dist/modules/accessories/accessories.interfaces.js +2 -0
  29. package/dist/modules/accessories/accessories.interfaces.js.map +1 -0
  30. package/dist/modules/accessories/accessories.module.js +2 -0
  31. package/dist/modules/accessories/accessories.module.js.map +1 -1
  32. package/dist/modules/accessories/accessories.service.d.ts +21 -3
  33. package/dist/modules/accessories/accessories.service.js +280 -17
  34. package/dist/modules/accessories/accessories.service.js.map +1 -1
  35. package/dist/modules/child-bridges/child-bridges.interfaces.d.ts +9 -0
  36. package/dist/modules/config-editor/config-editor.controller.d.ts +4 -0
  37. package/dist/modules/config-editor/config-editor.controller.js +64 -0
  38. package/dist/modules/config-editor/config-editor.controller.js.map +1 -1
  39. package/dist/modules/config-editor/config-editor.service.d.ts +6 -1
  40. package/dist/modules/config-editor/config-editor.service.js +45 -1
  41. package/dist/modules/config-editor/config-editor.service.js.map +1 -1
  42. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js +1 -1
  43. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js.map +1 -1
  44. package/dist/modules/plugins/plugins.service.js +15 -0
  45. package/dist/modules/plugins/plugins.service.js.map +1 -1
  46. package/dist/modules/server/server.controller.d.ts +50 -0
  47. package/dist/modules/server/server.controller.js +201 -2
  48. package/dist/modules/server/server.controller.js.map +1 -1
  49. package/dist/modules/server/server.service.d.ts +48 -0
  50. package/dist/modules/server/server.service.js +502 -14
  51. package/dist/modules/server/server.service.js.map +1 -1
  52. package/dist/modules/status/status.gateway.d.ts +2 -0
  53. package/dist/modules/status/status.interfaces.d.ts +11 -0
  54. package/dist/modules/status/status.service.d.ts +4 -1
  55. package/dist/modules/status/status.service.js +21 -2
  56. package/dist/modules/status/status.service.js.map +1 -1
  57. package/docs/ssl-upload-pr.md +103 -0
  58. package/package.json +3 -1
  59. package/public/3rdpartylicenses.txt +52 -52
  60. package/public/assets/matter.svg +8 -0
  61. package/public/chunk-2G3RYG7T.js +4 -0
  62. package/public/{chunk-INEQMM2I.js → chunk-2OV2S53D.js} +1 -1
  63. package/public/{chunk-WZOQNFMH.js → chunk-2PQS43HJ.js} +1 -1
  64. package/public/chunk-3MP4NIEN.js +1 -0
  65. package/public/chunk-3NF5LSRS.js +1 -0
  66. package/public/{chunk-ABJURGQA.js → chunk-3OCGL4VG.js} +1 -1
  67. package/public/chunk-3OS2E7NT.js +1 -0
  68. package/public/chunk-3U4TTBN3.js +1 -0
  69. package/public/{chunk-QDT36PQN.js → chunk-4C4OAXTJ.js} +1 -1
  70. package/public/{chunk-QH66HEIY.js → chunk-4EQFXSOO.js} +1 -1
  71. package/public/{chunk-GOWJQFU3.js → chunk-4Y574DAY.js} +1 -1
  72. package/public/{chunk-PBN5VTOU.js → chunk-5FFAA6YO.js} +1 -1
  73. package/public/{chunk-SAWH3ANN.js → chunk-6AGYELAU.js} +1 -1
  74. package/public/{chunk-G4HQSJ23.js → chunk-6VUYO4JJ.js} +1 -1
  75. package/public/chunk-6Y44WRYZ.js +5 -0
  76. package/public/{chunk-IJB6PBR5.js → chunk-7RBF5X4H.js} +1 -1
  77. package/public/chunk-AEA5MWJV.js +1 -0
  78. package/public/chunk-AQ7KVNYY.js +1 -0
  79. package/public/chunk-BRVBWBXQ.js +1 -0
  80. package/public/{chunk-5DT3N4NO.js → chunk-BZZVKG3V.js} +1 -1
  81. package/public/{chunk-WGI4RZDV.js → chunk-CYZAN4CD.js} +1 -1
  82. package/public/{chunk-2ATI5RL3.js → chunk-DSA6B4PW.js} +1 -1
  83. package/public/chunk-DT7PMMCU.js +1 -0
  84. package/public/{chunk-TDRGDK3T.js → chunk-EXSN7ASU.js} +1 -1
  85. package/public/chunk-F5RNPJMD.js +16 -0
  86. package/public/{chunk-3TGMHJM3.js → chunk-FFBQ244V.js} +1 -1
  87. package/public/{chunk-E3OCSFY5.js → chunk-G4KDX4LF.js} +5 -5
  88. package/public/{chunk-XS5676NQ.js → chunk-GBXDLKOS.js} +1 -1
  89. package/public/{chunk-DN72EAQ5.js → chunk-HUESZB2Q.js} +1 -1
  90. package/public/{chunk-STKYISTF.js → chunk-HXBITOYP.js} +1 -1
  91. package/public/{chunk-OKTWUEQP.js → chunk-IC3ZXYWP.js} +1 -1
  92. package/public/{chunk-ERT4USI6.js → chunk-ICS7ZICH.js} +1 -1
  93. package/public/chunk-ILKO7HAU.js +68 -0
  94. package/public/chunk-JL6T3BSX.js +1 -0
  95. package/public/{chunk-4TYE7FOW.js → chunk-JXLJRPJS.js} +1 -1
  96. package/public/chunk-K3NHKO4E.js +1 -0
  97. package/public/{chunk-UD5DX3PK.js → chunk-K3PIHMRS.js} +1 -1
  98. package/public/chunk-KKHQOHXA.js +1 -0
  99. package/public/chunk-LGUE3JKA.js +1 -0
  100. package/public/chunk-LNBMZDII.js +1 -0
  101. package/public/{chunk-FKIJIVEG.js → chunk-LXMBIF6W.js} +1 -1
  102. package/public/chunk-M3CXG4MR.js +1 -0
  103. package/public/{chunk-LFWS6OUH.js → chunk-MA74SXNP.js} +1 -1
  104. package/public/chunk-N3WEHNOH.js +1 -0
  105. package/public/{chunk-726EPARV.js → chunk-NP2OU6PT.js} +1 -1
  106. package/public/chunk-NRCW2EPZ.js +50 -0
  107. package/public/{chunk-MGSFT332.js → chunk-OJ37C3YB.js} +1 -1
  108. package/public/{chunk-AY5APEAK.js → chunk-P2DQFTI7.js} +1 -1
  109. package/public/{chunk-B57RMJ4J.js → chunk-PYAOOAFS.js} +1 -1
  110. package/public/chunk-QRB4TY6A.js +1 -0
  111. package/public/chunk-QTWA67OK.js +2 -0
  112. package/public/{chunk-Z6SZHO36.js → chunk-RAWL26R7.js} +1 -1
  113. package/public/{chunk-5FAEMT7K.js → chunk-RFNZZH35.js} +1 -1
  114. package/public/{chunk-OQU6YMM6.js → chunk-RHJH4NAL.js} +1 -1
  115. package/public/{chunk-RWL56OKC.js → chunk-UASZBKBZ.js} +1 -1
  116. package/public/{chunk-N7EXU2NV.js → chunk-UCNN3X7L.js} +1 -1
  117. package/public/{chunk-UX77G732.js → chunk-UYFTDKBB.js} +1 -1
  118. package/public/{chunk-UD7BEYXY.js → chunk-VXWLFCOQ.js} +1 -1
  119. package/public/chunk-W7GOVRP4.js +1 -0
  120. package/public/{chunk-H5WFRSS4.js → chunk-WDFYORD4.js} +1 -1
  121. package/public/chunk-WL5GK7PI.js +19 -0
  122. package/public/{chunk-TNZDCJJB.js → chunk-WTSUWA7S.js} +1 -1
  123. package/public/{chunk-QONMKSXQ.js → chunk-XCJH7PUD.js} +1 -1
  124. package/public/{chunk-RFQQSATI.js → chunk-XKXSOWIU.js} +1 -1
  125. package/public/{chunk-DMDEAXJH.js → chunk-YCRH56FY.js} +1 -1
  126. package/public/{chunk-SQWHIT2O.js → chunk-ZMTA7EPT.js} +1 -1
  127. package/public/chunk-ZTJZA6OC.js +1 -0
  128. package/public/chunk-ZUM4REDQ.js +1 -0
  129. package/public/{chunk-RUWA3EFR.js → chunk-ZUYIWQNV.js} +1 -1
  130. package/public/index.html +2 -2
  131. package/public/main-ZIKN743D.js +1 -0
  132. package/public/media/matter-P563JGDL.svg +8 -0
  133. package/public/{styles-7EFV5QBG.css → styles-WNHDEKE4.css} +1 -1
  134. package/scripts/extract-plugin-alias.js +53 -2
  135. package/public/chunk-6FMRO7HY.js +0 -19
  136. package/public/chunk-6WCXE37R.js +0 -4
  137. package/public/chunk-ALWUQZSW.js +0 -1
  138. package/public/chunk-ASYRF2UP.js +0 -1
  139. package/public/chunk-BDFSTR4R.js +0 -1
  140. package/public/chunk-CKGQSHVZ.js +0 -1
  141. package/public/chunk-EZCJGSOY.js +0 -5
  142. package/public/chunk-HPLLPVW3.js +0 -1
  143. package/public/chunk-IHZHS7ZW.js +0 -40
  144. package/public/chunk-IR2HMKD2.js +0 -1
  145. package/public/chunk-J3RGEHLW.js +0 -1
  146. package/public/chunk-JEESCTKG.js +0 -16
  147. package/public/chunk-LKJ4JJLK.js +0 -1
  148. package/public/chunk-MJHLBHHD.js +0 -1
  149. package/public/chunk-MK4QUOAX.js +0 -1
  150. package/public/chunk-RV34PNIK.js +0 -1
  151. package/public/chunk-S2OEXAQE.js +0 -1
  152. package/public/chunk-SBHNM2QO.js +0 -1
  153. package/public/chunk-SDSUBQRV.js +0 -2
  154. package/public/chunk-TTFY54LY.js +0 -1
  155. package/public/chunk-TXPIYSRT.js +0 -50
  156. package/public/chunk-VLO3EC7G.js +0 -1
  157. package/public/chunk-X4UYQV4U.js +0 -1
  158. package/public/chunk-XDYNVDC3.js +0 -1
  159. package/public/chunk-YHWOJFWU.js +0 -1
  160. package/public/main-BIEDFTMT.js +0 -1
@@ -0,0 +1 @@
1
+ import{k as tt,n as et,q as it}from"./chunk-LGUE3JKA.js";import{e as st}from"./chunk-XKXSOWIU.js";import{W as Q,e as ct,g as ht,h as z,ia as G,n as P,na as I,pd as X,x as N}from"./chunk-6Y44WRYZ.js";var rt=ct((B,U)=>{(function(w,k){typeof B=="object"&&typeof U<"u"?U.exports=k():typeof define=="function"&&define.amd?define(k):(w=typeof globalThis<"u"?globalThis:w||self).dayjs=k()})(B,function(){"use strict";var w=1e3,k=6e4,i=36e5,h="millisecond",d="second",m="minute",v="hour",y="day",f="week",T="month",J="quarter",L="year",_="date",K="Invalid Date",nt=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,ot=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,at={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(n){var s=["th","st","nd","rd"],t=n%100;return"["+n+(s[(t-20)%10]||s[t]||s[0])+"]"}},V=function(n,s,t){var r=String(n);return!r||r.length>=s?n:""+Array(s+1-r.length).join(t)+n},ut={s:V,z:function(n){var s=-n.utcOffset(),t=Math.abs(s),r=Math.floor(t/60),e=t%60;return(s<=0?"+":"-")+V(r,2,"0")+":"+V(e,2,"0")},m:function n(s,t){if(s.date()<t.date())return-n(t,s);var r=12*(t.year()-s.year())+(t.month()-s.month()),e=s.clone().add(r,T),o=t-e<0,a=s.clone().add(r+(o?-1:1),T);return+(-(r+(t-e)/(o?e-a:a-e))||0)},a:function(n){return n<0?Math.ceil(n)||0:Math.floor(n)},p:function(n){return{M:T,y:L,w:f,d:y,D:_,h:v,m,s:d,ms:h,Q:J}[n]||String(n||"").toLowerCase().replace(/s$/,"")},u:function(n){return n===void 0}},j="en",D={};D[j]=at;var q="$isDayjsObject",F=function(n){return n instanceof Y||!(!n||!n[q])},W=function n(s,t,r){var e;if(!s)return j;if(typeof s=="string"){var o=s.toLowerCase();D[o]&&(e=o),t&&(D[o]=t,e=o);var a=s.split("-");if(!e&&a.length>1)return n(a[0])}else{var c=s.name;D[c]=s,e=c}return!r&&e&&(j=e),e||!r&&j},g=function(n,s){if(F(n))return n.clone();var t=typeof s=="object"?s:{};return t.date=n,t.args=arguments,new Y(t)},u=ut;u.l=W,u.i=F,u.w=function(n,s){return g(n,{locale:s.$L,utc:s.$u,x:s.$x,$offset:s.$offset})};var Y=(function(){function n(t){this.$L=W(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[q]=!0}var s=n.prototype;return s.parse=function(t){this.$d=(function(r){var e=r.date,o=r.utc;if(e===null)return new Date(NaN);if(u.u(e))return new Date;if(e instanceof Date)return new Date(e);if(typeof e=="string"&&!/Z$/i.test(e)){var a=e.match(nt);if(a){var c=a[2]-1||0,l=(a[7]||"0").substring(0,3);return o?new Date(Date.UTC(a[1],c,a[3]||1,a[4]||0,a[5]||0,a[6]||0,l)):new Date(a[1],c,a[3]||1,a[4]||0,a[5]||0,a[6]||0,l)}}return new Date(e)})(t),this.init()},s.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},s.$utils=function(){return u},s.isValid=function(){return this.$d.toString()!==K},s.isSame=function(t,r){var e=g(t);return this.startOf(r)<=e&&e<=this.endOf(r)},s.isAfter=function(t,r){return g(t)<this.startOf(r)},s.isBefore=function(t,r){return this.endOf(r)<g(t)},s.$g=function(t,r,e){return u.u(t)?this[r]:this.set(e,t)},s.unix=function(){return Math.floor(this.valueOf()/1e3)},s.valueOf=function(){return this.$d.getTime()},s.startOf=function(t,r){var e=this,o=!!u.u(r)||r,a=u.p(t),c=function(x,M){var S=u.w(e.$u?Date.UTC(e.$y,M,x):new Date(e.$y,M,x),e);return o?S:S.endOf(y)},l=function(x,M){return u.w(e.toDate()[x].apply(e.toDate("s"),(o?[0,0,0,0]:[23,59,59,999]).slice(M)),e)},$=this.$W,p=this.$M,b=this.$D,H="set"+(this.$u?"UTC":"");switch(a){case L:return o?c(1,0):c(31,11);case T:return o?c(1,p):c(0,p+1);case f:var O=this.$locale().weekStart||0,A=($<O?$+7:$)-O;return c(o?b-A:b+(6-A),p);case y:case _:return l(H+"Hours",0);case v:return l(H+"Minutes",1);case m:return l(H+"Seconds",2);case d:return l(H+"Milliseconds",3);default:return this.clone()}},s.endOf=function(t){return this.startOf(t,!1)},s.$set=function(t,r){var e,o=u.p(t),a="set"+(this.$u?"UTC":""),c=(e={},e[y]=a+"Date",e[_]=a+"Date",e[T]=a+"Month",e[L]=a+"FullYear",e[v]=a+"Hours",e[m]=a+"Minutes",e[d]=a+"Seconds",e[h]=a+"Milliseconds",e)[o],l=o===y?this.$D+(r-this.$W):r;if(o===T||o===L){var $=this.clone().set(_,1);$.$d[c](l),$.init(),this.$d=$.set(_,Math.min(this.$D,$.daysInMonth())).$d}else c&&this.$d[c](l);return this.init(),this},s.set=function(t,r){return this.clone().$set(t,r)},s.get=function(t){return this[u.p(t)]()},s.add=function(t,r){var e,o=this;t=Number(t);var a=u.p(r),c=function(p){var b=g(o);return u.w(b.date(b.date()+Math.round(p*t)),o)};if(a===T)return this.set(T,this.$M+t);if(a===L)return this.set(L,this.$y+t);if(a===y)return c(1);if(a===f)return c(7);var l=(e={},e[m]=k,e[v]=i,e[d]=w,e)[a]||1,$=this.$d.getTime()+t*l;return u.w($,this)},s.subtract=function(t,r){return this.add(-1*t,r)},s.format=function(t){var r=this,e=this.$locale();if(!this.isValid())return e.invalidDate||K;var o=t||"YYYY-MM-DDTHH:mm:ssZ",a=u.z(this),c=this.$H,l=this.$m,$=this.$M,p=e.weekdays,b=e.months,H=e.meridiem,O=function(M,S,R,C){return M&&(M[S]||M(r,o))||R[S].slice(0,C)},A=function(M){return u.s(c%12||12,M,"0")},x=H||function(M,S,R){var C=M<12?"AM":"PM";return R?C.toLowerCase():C};return o.replace(ot,function(M,S){return S||(function(R){switch(R){case"YY":return String(r.$y).slice(-2);case"YYYY":return u.s(r.$y,4,"0");case"M":return $+1;case"MM":return u.s($+1,2,"0");case"MMM":return O(e.monthsShort,$,b,3);case"MMMM":return O(b,$);case"D":return r.$D;case"DD":return u.s(r.$D,2,"0");case"d":return String(r.$W);case"dd":return O(e.weekdaysMin,r.$W,p,2);case"ddd":return O(e.weekdaysShort,r.$W,p,3);case"dddd":return p[r.$W];case"H":return String(c);case"HH":return u.s(c,2,"0");case"h":return A(1);case"hh":return A(2);case"a":return x(c,l,!0);case"A":return x(c,l,!1);case"m":return String(l);case"mm":return u.s(l,2,"0");case"s":return String(r.$s);case"ss":return u.s(r.$s,2,"0");case"SSS":return u.s(r.$ms,3,"0");case"Z":return a}return null})(M)||a.replace(":","")})},s.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},s.diff=function(t,r,e){var o,a=this,c=u.p(r),l=g(t),$=(l.utcOffset()-this.utcOffset())*k,p=this-l,b=function(){return u.m(a,l)};switch(c){case L:o=b()/12;break;case T:o=b();break;case J:o=b()/3;break;case f:o=(p-$)/6048e5;break;case y:o=(p-$)/864e5;break;case v:o=p/i;break;case m:o=p/k;break;case d:o=p/w;break;default:o=p}return e?o:u.a(o)},s.daysInMonth=function(){return this.endOf(T).$D},s.$locale=function(){return D[this.$L]},s.locale=function(t,r){if(!t)return this.$L;var e=this.clone(),o=W(t,r,!0);return o&&(e.$L=o),e},s.clone=function(){return u.w(this.$d,this)},s.toDate=function(){return new Date(this.valueOf())},s.toJSON=function(){return this.isValid()?this.toISOString():null},s.toISOString=function(){return this.$d.toISOString()},s.toString=function(){return this.$d.toUTCString()},n})(),Z=Y.prototype;return g.prototype=Z,[["$ms",h],["$s",d],["$m",m],["$H",v],["$W",y],["$M",T],["$y",L],["$D",_]].forEach(function(n){Z[n[1]]=function(s){return this.$g(s,n[0],n[1])}}),g.extend=function(n,s){return n.$i||(n(s,Y,g),n.$i=!0),g},g.locale=W,g.isDayjs=F,g.unix=function(n){return g(1e3*n)},g.en=D[j],g.Ls=D,g.p={},g})});var E=ht(rt(),1);var bt=(()=>{class w{$api=I(it);$router=I(st);$title=I(X);$toastr=I(et);$translate=I(tt);settingsLoadedSubject=new P;defaultTheme="deep-purple";forbiddenKeys=["__proto__","constructor","prototype"];restartToastRef=null;env={};host;proxyHost;webroot;originalWebroot;formAuth=!0;sessionTimeout=28800;sessionTimeoutInactivityBased=!1;uiVersion;theme;lightingMode;currentLightingMode;actualLightingMode;browserLightingMode;menuMode;keepOrphans;wallpaper;serverTimeOffset=0;rtl=!1;browserLang;onSettingsLoaded=this.settingsLoadedSubject.pipe(Q());settingsLoaded=!1;themeList=["orange","red","pink","purple","deep-purple","indigo","blue","blue-grey","cyan","green","teal","grey","brown"];constructor(){this.getAppSettings()}getAppSettings(){return z(this,null,function*(){let i=yield N(this.$api.get("/auth/settings"));this.formAuth=i.formAuth,this.sessionTimeout=i.sessionTimeout,this.sessionTimeoutInactivityBased=i.sessionTimeoutInactivityBased,this.env=i.env,this.host=i.host,this.webroot=i.webroot,this.originalWebroot=i.originalWebroot,this.proxyHost=i.proxyHost,this.lightingMode=i.lightingMode,this.wallpaper=i.wallpaper,this.setLightingMode(this.lightingMode,"user"),this.setTheme(i.theme),this.setMenuMode(i.menuMode),this.setKeepOrphans(i.keepOrphans),this.setTitle(this.env.homebridgeInstanceName),this.checkServerTime(i.serverTimestamp),this.setUiVersion(i.env.packageVersion),this.setLang(this.env.lang),this.settingsLoaded=!0,this.settingsLoadedSubject.next(void 0),this.browserLang=this.$translate.getBrowserCultureLang()})}setBrowserLightingMode(i){this.browserLightingMode=i,this.lightingMode==="auto"&&this.setLightingMode(i,"browser")}setLightingMode(i,h){h==="user"&&(this.lightingMode=i),this.currentLightingMode=i,this.actualLightingMode=this.currentLightingMode==="auto"?this.browserLightingMode:this.currentLightingMode,this.theme&&this.setTheme(this.theme)}setTheme(i){(!i||!this.themeList.includes(i))&&(i=this.defaultTheme,N(this.$api.put("/config-editor/ui",{key:"theme",value:i})).catch(m=>console.error("Error saving setTheme:",m)));let h=window.document.querySelector("body");h.classList.remove(`config-ui-x-${this.theme}`),h.classList.remove(`config-ui-x-dark-mode-${this.theme}`),this.theme=i,this.actualLightingMode==="dark"?(h.classList.add(`config-ui-x-dark-mode-${this.theme}`),h.classList.contains("dark-mode")||h.classList.add("dark-mode")):(h.classList.add(`config-ui-x-${this.theme}`),h.classList.contains("dark-mode")&&h.classList.remove("dark-mode")),window.document.querySelectorAll("iframe").forEach((m,v)=>{try{let y=m.contentDocument;if(y){let f=y.body;this.actualLightingMode==="dark"?(f.classList.contains(`config-ui-x-${this.theme}`)&&f.classList.remove(`config-ui-x-${this.theme}`),f.classList.contains(`config-ui-x-dark-mode-${this.theme}`)||f.classList.add(`config-ui-x-dark-mode-${this.theme}`),f.classList.contains("dark-mode")||f.classList.add("dark-mode"),f.style.backgroundColor="#242424 !important",f.style.color="#ffffff !important"):(f.classList.contains(`config-ui-x-${this.theme}`)||f.classList.add(`config-ui-x-${this.theme}`),f.classList.contains(`config-ui-x-dark-mode-${this.theme}`)&&f.classList.remove(`config-ui-x-dark-mode-${this.theme}`),f.classList.contains("dark-mode")&&f.classList.remove("dark-mode"),f.style.backgroundColor="#ffffff !important",f.style.color="#000000 !important"),m.contentWindow.postMessage({type:"theme-update",isDark:this.actualLightingMode==="dark",theme:i},window.location.origin)}}catch(y){console.warn(`Iframe ${v}: Access denied (cross-origin?)`,{error:y,src:m.src})}})}setMenuMode(i){this.menuMode=i}setKeepOrphans(i){this.keepOrphans=i}setLang(i){i?this.$translate.use(i):i="auto",this.env.lang=i}setItem(i,h){this[i]=h}setEnvItem(i,h){if(i.includes(".")){let d=i.split("."),m=this.env;for(let v=0;v<d.length-1;v+=1){if(this.forbiddenKeys.includes(d[v]))return;m[d[v]]||(m[d[v]]={}),m=m[d[v]]}this.forbiddenKeys.includes(d[d.length-1])||(m[d[d.length-1]]=h)}else this.env[i]=h}checkServerTime(i){let d=(0,E.default)(i).diff((0,E.default)(),"hour");this.serverTimeOffset=d*60*60,(d>=8||d<=-8)&&this.$toastr.warning(this.$translate.instant("settings.datetime.incorrect"),this.$translate.instant("toast.title_warning"),{timeOut:2e4,tapToDismiss:!1}).onTap.subscribe(()=>{window.open("https://homebridge.io/w/JqTFs","_blank")})}setUiVersion(i){this.uiVersion||(this.uiVersion=i)}setTitle(i){this.$title.setTitle(i||"Homebridge")}setPageTitle(i){let h=this.env.homebridgeInstanceName||"Homebridge";i?this.$title.setTitle(`${h} \u2014 ${i}`):this.$title.setTitle(h)}isFeatureEnabled(i){return this.env.featureFlags?.[i]??!1}showRestartToast(){return this.restartToastRef||(this.restartToastRef=this.$toastr.info(this.$translate.instant("settings.changes.saved"),this.$translate.instant("menu.hbrestart.title"),{timeOut:0,tapToDismiss:!0,disableTimeOut:!0,positionClass:"toast-bottom-right",enableHtml:!0}),this.restartToastRef&&this.restartToastRef.onTap&&this.restartToastRef.onTap.subscribe(()=>{this.$router.navigate(["/restart"])})),this.restartToastRef}dismissRestartToast(){this.restartToastRef&&(this.$toastr.clear(this.restartToastRef.toastId),this.restartToastRef=void 0)}static \u0275fac=function(h){return new(h||w)};static \u0275prov=G({token:w,factory:w.\u0275fac,providedIn:"root"})}return w})();export{rt as a,bt as b};
@@ -1 +1 @@
1
- import{ia as o,n as e}from"./chunk-EZCJGSOY.js";var n=new e,f=(()=>{class t{readyEvent;constructor(){this.readyEvent=n}static \u0275fac=function(r){return new(r||t)};static \u0275prov=o({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function d(){n.next(void 0)}export{f as a,d as b};
1
+ import{ia as o,n as e}from"./chunk-6Y44WRYZ.js";var n=new e,f=(()=>{class t{readyEvent;constructor(){this.readyEvent=n}static \u0275fac=function(r){return new(r||t)};static \u0275prov=o({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function d(){n.next(void 0)}export{f as a,d as b};
@@ -0,0 +1 @@
1
+ import{a as Q}from"./chunk-TUN7H57E.js";import{b as X}from"./chunk-VXWLFCOQ.js";import{a as Y}from"./chunk-2OV2S53D.js";import{a as Z}from"./chunk-MA74SXNP.js";import{a as ne}from"./chunk-EXSN7ASU.js";import"./chunk-RHJH4NAL.js";import{a as J}from"./chunk-NP2OU6PT.js";import{n as L}from"./chunk-G4KDX4LF.js";import"./chunk-ICS7ZICH.js";import{a as $}from"./chunk-N3WEHNOH.js";import{a as G}from"./chunk-WDFYORD4.js";import{b as I}from"./chunk-LXMBIF6W.js";import{b as B}from"./chunk-JL6T3BSX.js";import{k as V,l as q,p as A}from"./chunk-LGUE3JKA.js";import{a as D,b as N,d as W,e as T,f as H,g as j}from"./chunk-XKXSOWIU.js";import{$b as h,Ib as S,Lb as _,Nb as x,Qa as n,Rc as E,Za as U,_b as g,db as O,dd as R,g as ie,h as P,lc as v,mc as M,na as c,pb as u,qb as w,rb as y,sa as b,sc as d,ta as C,tc as l,wb as m,x as F,xb as i,ya as K,yb as s,zb as p}from"./chunk-6Y44WRYZ.js";var te=ie(ne(),1);var z=()=>["/"],re=o=>({"hamburger-icon-cross":o}),ae=o=>({expanded:o}),se=()=>({exact:!0}),de=()=>["/plugins"],le=()=>["/accessories"],pe=()=>["/logs"],ce=()=>["/support"],me=()=>["/platform-tools/terminal"],ue=()=>["/config"],_e=()=>["/settings"],ge=()=>["/power-options"];function fe(o,k){if(o&1){let e=S();i(0,"div",10)(1,"div",20),d(2,"translate"),d(3,"translate"),_("click",function(){b(e);let t=x();return C(t.openUnderVoltageModal())})("keydown",function(t){b(e);let r=x();return C(r.handleKeydown(t))}),i(4,"div",12),p(5,"i",21),s(),i(6,"div",14),g(7),d(8,"translate"),s()()()}o&2&&(n(),u("aria-label",l(2,2,"rpi.throttled.undervoltage_title")+" - "+l(3,4,"rpi.throttled.undervoltage_description")),n(6),h(l(8,6,"rpi.throttled.undervoltage_title")))}function he(o,k){if(o&1){let e=S();i(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){b(e);let r=x();return C(r.handleKeydown(t))}),i(3,"div",12),p(4,"i",22),s(),i(5,"div",14),g(6),d(7,"translate"),s()()()}o&2&&(n(),m("routerLink",v(8,me))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.linux.label_terminal")),n(5),h(l(7,6,"menu.linux.label_terminal")))}function ve(o,k){if(o&1){let e=S();i(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){b(e);let r=x();return C(r.handleKeydown(t))}),i(3,"div",12),p(4,"i",23),s(),i(5,"div",14),g(6),d(7,"translate"),s()()()}o&2&&(n(),m("routerLink",v(8,ue))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.config_json_editor")),n(5),h(l(7,6,"menu.config_json_editor")))}function be(o,k){if(o&1){let e=S();i(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){b(e);let r=x();return C(r.handleKeydown(t))}),i(3,"div",12),p(4,"i",24),s(),i(5,"div",14),g(6),d(7,"translate"),s()()()}o&2&&(n(),m("routerLink",v(8,_e))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.label_settings")),n(5),h(l(7,6,"menu.label_settings")))}function Ce(o,k){if(o&1){let e=S();i(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){b(e);let r=x();return C(r.handleKeydown(t))}),i(3,"div",12),p(4,"i",25),s(),i(5,"div",14),g(6),d(7,"translate"),s()()()}o&2&&(n(),m("routerLink",v(8,ge))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.restart.title")),n(5),h(l(7,6,"menu.restart.title")))}function xe(o,k){if(o&1){let e=S();i(0,"div",10)(1,"div",20),d(2,"translate"),_("click",function(){b(e);let t=x();return C(t.reloadPage())})("keydown",function(t){b(e);let r=x();return C(r.handleKeydown(t))}),i(3,"div",12),p(4,"i",26),s(),i(5,"div",14),g(6),d(7,"translate"),s()()()}o&2&&(n(),u("aria-label",l(2,2,"menu.reload")),n(5),h(l(7,4,"menu.reload")))}function we(o,k){if(o&1){let e=S();i(0,"div",10)(1,"div",20),d(2,"translate"),_("click",function(){b(e);let t=x();return C(t.logout())})("keydown",function(t){b(e);let r=x();return C(r.handleKeydown(t))}),i(3,"div",12),p(4,"i",27),s(),i(5,"div",14),g(6),d(7,"translate"),s()()()}o&2&&(n(),u("aria-label",l(2,2,"menu.tooltip_logout")),n(5),h(l(7,4,"menu.tooltip_logout")))}var ee=(()=>{class o{$auth=c(I);$authHelper=c(X);$destroyRef=c(K);$settings=c(B);$modal=c(L);$notification=c(Z);$renderer=c(U);$router=c(T);$translate=c(V);isExpanded=!1;formAuth=this.$settings.formAuth;isAdmin=this.$auth.user.admin;enableTerminalAccess=this.$settings.env.enableTerminalAccess;rPiCurrentlyUnderVoltage=!1;rPiWasUnderVoltage=!1;isMobile=!1;freezeMenu=!1;isPwa=Q();constructor(){this.isMobile=window.innerWidth<768;let e;window.addEventListener("resize",()=>{clearTimeout(e),e=setTimeout(()=>{this.updateListeners()},500)}),this.$router.events.pipe($(this.$destroyRef)).subscribe(a=>P(this,null,function*(){if(a instanceof D&&this.$settings.formAuth&&a.url!=="/login"&&!(yield this.$authHelper.isAuthenticated())){window.sessionStorage.setItem("target_route",a.url),yield this.$router.navigate(["/login"]);return}a instanceof N&&(this.closeSidebar(),this.freezeMenu=!0,setTimeout(()=>{this.freezeMenu=!1},750))}))}ngOnInit(){this.$notification.raspberryPiThrottled.pipe($(this.$destroyRef)).subscribe(r=>{r["Under Voltage"]&&(this.rPiCurrentlyUnderVoltage=!0),r["Under-voltage has occurred"]&&(this.rPiWasUnderVoltage=!0)}),this.$notification.formAuthEnabled.pipe($(this.$destroyRef)).subscribe(r=>{this.formAuth=r});let e=document.querySelector(".sidebar"),a=document.querySelector(".m-header"),t=document.querySelector(".content");this.isMobile?document.addEventListener("touchstart",r=>{if(t.contains(r.target)&&this.isExpanded){r.preventDefault(),this.toggleSidebar();return}!e.contains(r.target)&&!a.contains(r.target)&&this.isExpanded&&(r.preventDefault(),this.closeSidebar())},{passive:!1}):(this.updateListeners(),a.addEventListener("mouseenter",()=>this.openSidebar(),{passive:!1}),a.addEventListener("mouseleave",()=>this.closeSidebar(),{passive:!1}),document.addEventListener("click",r=>{e.contains(r.target)&&r.clientX>60&&this.closeSidebar()},{passive:!1})),this.updateContentStyles()}toggleSidebar(){this.freezeMenu||(this.isExpanded=!this.isExpanded,this.updateContentStyles())}openUnderVoltageModal(){let e=this.$modal.open(Y,{size:"lg",backdrop:"static"});e.componentInstance.title=this.$translate.instant("rpi.throttled.undervoltage_title"),e.componentInstance.message=this.$translate.instant(this.rPiCurrentlyUnderVoltage?"rpi.throttled.currently_message":"rpi.throttled.previously_message"),e.componentInstance.ctaButtonLabel=this.$translate.instant("form.button_more_info"),e.componentInstance.faIconClass="fas fa-bolt yellow-text",e.componentInstance.ctaButtonLink="https://pimylifeup.com/raspberry-pi-low-voltage-warning"}handleKeydown(e){if(e.key==="Enter"){let a=e.target;["menuitem","button"].includes(a.getAttribute("role"))&&a.click()}}reloadPage(){window.location.reload()}ngOnDestroy(){document.removeEventListener("touchstart",()=>{}),document.removeEventListener("click",()=>{})}logout(){this.$auth.logout()}openSidebar(){this.freezeMenu||(this.isExpanded=!0,this.updateContentStyles())}closeSidebar(){this.freezeMenu||(this.isExpanded=!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=window.innerWidth<768;let e=document.querySelector(".sidebar");e.removeAllListeners(),(this.isMobile||!this.isMobile&&this.$settings.menuMode!=="freeze")&&(e.addEventListener("mouseenter",()=>this.openSidebar(),{passive:!1}),e.addEventListener("mouseleave",()=>this.closeSidebar(),{passive:!1}))}static \u0275fac=function(a){return new(a||o)};static \u0275cmp=O({type:o,selectors:[["app-sidebar"]],inputs:{isExpanded:"isExpanded"},decls:68,vars:75,consts:[["tabindex","0","role","button",1,"m-header","text-end",3,"click","keydown"],[1,"me-2","d-block","d-lg-none",2,"font-size","0.9rem","color","#dddddd"],[3,"routerLink"],["ngSrc","assets/homebridge-logo.svg","alt","HB Logo","height","35","width","35",2,"height","35px","width","35px"],[1,"hb-logo-text-mobile"],[1,"hamburger-icon",3,"ngClass"],["role","navigation","id","sidebar",1,"sidebar",3,"ngClass"],["tabindex","0","role","button",1,"header",3,"click","keydown"],[1,"hb-logo-text"],[1,"link-wrapper"],[1,"link"],["role","menuitem","tabindex","0",1,"link-row",3,"keydown","routerLink","routerLinkActive","routerLinkActiveOptions"],[1,"icon"],[1,"fa","fa-house"],[1,"title"],["role","menuitem","tabindex","0",1,"link-row",3,"keydown","routerLink","routerLinkActive"],[1,"fa","fa-plug"],[1,"fa","fa-lightbulb"],[1,"fa","fa-wave-square"],[1,"fa","fa-question-circle-o"],["role","menuitem","tabindex","0",1,"link-row",3,"click","keydown"],[1,"fas","fa-bolt","fa-beat","yellow-text",2,"--fa-beat-scale","1.5"],[1,"fa","fa-terminal"],[1,"fa","fa-code"],[1,"fa","fa-cog"],[1,"fa","fa-power-off"],[1,"fa","fa-refresh"],[1,"fa","fa-right-from-bracket"]],template:function(a,t){a&1&&(i(0,"div",0),d(1,"translate"),_("click",function(){return t.toggleSidebar()})("keydown",function(f){return t.handleKeydown(f)}),p(2,"span",1),i(3,"a",2),d(4,"translate"),p(5,"img",3),i(6,"div",4),g(7,"Homebridge"),s()(),i(8,"div",5),p(9,"span")(10,"span")(11,"span")(12,"span"),s()(),i(13,"div",6)(14,"div",7),_("click",function(){return t.toggleSidebar()})("keydown",function(f){return t.handleKeydown(f)}),i(15,"a",2),d(16,"translate"),p(17,"img",3),i(18,"div",8),g(19,"Homebridge"),s()()(),i(20,"div",9)(21,"div",10)(22,"div",11),d(23,"translate"),_("keydown",function(f){return t.handleKeydown(f)}),i(24,"div",12),p(25,"i",13),s(),i(26,"div",14),g(27),d(28,"translate"),s()()(),w(29,fe,9,8,"div",10),i(30,"div",10)(31,"div",15),d(32,"translate"),_("keydown",function(f){return t.handleKeydown(f)}),i(33,"div",12),p(34,"i",16),s(),i(35,"div",14),g(36),d(37,"translate"),s()()(),i(38,"div",10)(39,"div",15),d(40,"translate"),_("keydown",function(f){return t.handleKeydown(f)}),i(41,"div",12),p(42,"i",17),s(),i(43,"div",14),g(44),d(45,"translate"),s()()(),i(46,"div",10)(47,"div",15),d(48,"translate"),_("keydown",function(f){return t.handleKeydown(f)}),i(49,"div",12),p(50,"i",18),s(),i(51,"div",14),g(52),d(53,"translate"),s()()(),w(54,he,8,9,"div",10),w(55,ve,8,9,"div",10),w(56,be,8,9,"div",10),i(57,"div",10)(58,"div",15),d(59,"translate"),_("keydown",function(f){return t.handleKeydown(f)}),i(60,"div",12),p(61,"i",19),s(),i(62,"div",14),g(63),d(64,"translate"),s()()(),w(65,Ce,8,9,"div",10),w(66,xe,8,6,"div",10),w(67,we,8,6,"div",10),s()()),a&2&&(u("aria-expanded",t.isExpanded?"true":"false")("aria-controls","sidebar")("aria-label",l(1,37,"menu.sidebar.aria_menu")),n(3),m("routerLink",v(63,z)),u("aria-label",l(4,39,"menu.label_status")),n(5),m("ngClass",M(64,re,t.isExpanded)),n(5),m("ngClass",M(66,ae,t.isExpanded)),n(2),m("routerLink",v(68,z)),u("aria-label",l(16,41,"menu.label_status")),n(7),m("routerLink",v(69,z))("routerLinkActive","active")("routerLinkActiveOptions",v(70,se)),u("aria-label",l(23,43,"menu.label_status")),n(5),h(l(28,45,"menu.label_status")),n(2),y(t.rPiWasUnderVoltage||t.rPiCurrentlyUnderVoltage?29:-1),n(2),m("routerLink",v(71,de))("routerLinkActive","active"),u("aria-label",l(32,47,"menu.label_plugins")),n(5),h(l(37,49,"menu.label_plugins")),n(3),m("routerLink",v(72,le))("routerLinkActive","active"),u("aria-label",l(40,51,"menu.label_accessories")),n(5),h(l(45,53,"menu.label_accessories")),n(3),m("routerLink",v(73,pe))("routerLinkActive","active"),u("aria-label",l(48,55,"menu.linux.label_logs")),n(5),h(l(53,57,"menu.linux.label_logs")),n(2),y(t.enableTerminalAccess&&t.isAdmin?54:-1),n(),y(t.isAdmin?55:-1),n(),y(t.isAdmin?56:-1),n(2),m("routerLink",v(74,ce))("routerLinkActive","active"),u("aria-label",l(59,59,"support.title")),n(5),h(l(64,61,"support.title")),n(2),y(t.isAdmin?65:-1),n(),y(t.isPwa?66:-1),n(),y(t.formAuth?67:-1))},dependencies:[H,R,E,j,q],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}}.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%]{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 ye=o=>({sidebarExpanded:o}),Ze=(()=>{class o{$auth=c(I);$modal=c(L);$router=c(T);$settings=c(B);$translate=c(V);$ws=c(G);io;sidebarExpanded=!1;ngOnInit(){this.io=this.$ws.connectToNamespace("app"),this.io.socket.on("reconnect",()=>{this.$auth.checkToken()}),this.compareServerUiVersion()}compareServerUiVersion(){return P(this,null,function*(){if(this.$settings.settingsLoaded||(yield F(this.$settings.onSettingsLoaded)),!this.$router.url.endsWith("/restart")&&(0,te.lt)(this.$settings.uiVersion,A.serverTarget)){console.log(`Server restart required. UI Version: ${A.serverTarget} - Server Version: ${this.$settings.uiVersion} `);let e=this.$modal.open(J,{size:"lg",backdrop:"static"});e.componentInstance.title=this.$translate.instant("platform.version.service_restart_required"),e.componentInstance.message=this.$translate.instant("platform.version.restart_required",{serverVersion:this.$settings.uiVersion,uiVersion:A.serverTarget}),e.componentInstance.confirmButtonLabel=this.$translate.instant("menu.tooltip_restart"),e.componentInstance.faIconClass="fas fa-power-off orange-text",e.result.then(()=>this.$router.navigate(["/restart"])).catch(()=>{})}})}static \u0275fac=function(a){return new(a||o)};static \u0275cmp=O({type:o,selectors:[["app-layout"]],decls:3,vars:4,consts:[[3,"isExpanded"],[1,"content","px-3","p-md-4",3,"ngClass"]],template:function(a,t){a&1&&(p(0,"app-sidebar",0),i(1,"div",1),p(2,"router-outlet"),s()),a&2&&(m("isExpanded",t.sidebarExpanded),n(),m("ngClass",M(2,ye,t.sidebarExpanded)))},dependencies:[ee,E,W],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{Ze as LayoutComponent};