homebridge-config-ui-x 4.75.1-beta.2 → 4.76.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 (137) hide show
  1. package/CHANGELOG.md +4 -1
  2. package/config.schema.json +1 -11
  3. package/dist/core/auth/auth.controller.d.ts +1 -1
  4. package/dist/core/config/config.service.d.ts +4 -4
  5. package/dist/core/config/config.service.js +15 -10
  6. package/dist/core/config/config.service.js.map +1 -1
  7. package/dist/modules/server/server.controller.d.ts +6 -1
  8. package/dist/modules/server/server.controller.js +51 -2
  9. package/dist/modules/server/server.controller.js.map +1 -1
  10. package/dist/modules/server/server.service.d.ts +3 -0
  11. package/dist/modules/server/server.service.js +47 -0
  12. package/dist/modules/server/server.service.js.map +1 -1
  13. package/package.json +6 -6
  14. package/public/chunk-23W3KOPX.js +1 -0
  15. package/public/{chunk-HE5M3EM4.js → chunk-2QXNFD4L.js} +1 -1
  16. package/public/chunk-2UK3TVG5.js +1 -0
  17. package/public/{chunk-UDM5XWBO.js → chunk-35OGCMTN.js} +1 -1
  18. package/public/{chunk-RI7DCDJD.js → chunk-3OSK5OW7.js} +16 -16
  19. package/public/{chunk-EGGX5SGW.js → chunk-3P637DAY.js} +1 -1
  20. package/public/{chunk-SQAPWTDH.js → chunk-3UI2RHE7.js} +1 -1
  21. package/public/{chunk-Q7VA22QV.js → chunk-3XNLIEKF.js} +1 -1
  22. package/public/{chunk-3GULJZHP.js → chunk-4O7NT7TT.js} +1 -1
  23. package/public/{chunk-2PGR64P5.js → chunk-6M524CF7.js} +1 -1
  24. package/public/chunk-6QG5IQ4P.js +1 -0
  25. package/public/{chunk-XZR7OZ6I.js → chunk-6SEBWKRM.js} +1 -1
  26. package/public/chunk-767BKZ7R.js +1 -0
  27. package/public/{chunk-JMCN2SQV.js → chunk-77GWB2NW.js} +1 -1
  28. package/public/{chunk-HHNFJRKH.js → chunk-7LZPZXYJ.js} +1 -1
  29. package/public/{chunk-OIOAEYOL.js → chunk-7RHMOJD4.js} +1 -1
  30. package/public/{chunk-HM7UOZT2.js → chunk-7ZRJGJS4.js} +1 -1
  31. package/public/{chunk-JWU6IVTI.js → chunk-D26UVXC6.js} +1 -1
  32. package/public/chunk-DHMNT764.js +6 -0
  33. package/public/chunk-DRQQJII6.js +1 -0
  34. package/public/chunk-ELDYQ6YR.js +1 -0
  35. package/public/{chunk-K6DFEHMG.js → chunk-ELHEUVMQ.js} +1 -1
  36. package/public/chunk-ELY26M6O.js +1 -0
  37. package/public/chunk-ES4OXUT3.js +1 -0
  38. package/public/{chunk-WWIFLV45.js → chunk-G4NGBV4X.js} +1 -1
  39. package/public/{chunk-4NDOCFGG.js → chunk-GVYGDSJA.js} +1 -1
  40. package/public/chunk-GXLP4A7T.js +1 -0
  41. package/public/{chunk-2KZLICGS.js → chunk-HCBOC2IE.js} +1 -1
  42. package/public/{chunk-LTDUXFUG.js → chunk-HHPGR3HF.js} +1 -1
  43. package/public/{chunk-Z6QDMWSL.js → chunk-I462DY2L.js} +1 -1
  44. package/public/chunk-ICBBBHGA.js +1 -0
  45. package/public/chunk-IXHEKHOP.js +1 -0
  46. package/public/{chunk-4XCUHCZU.js → chunk-J6ICAYDY.js} +1 -1
  47. package/public/{chunk-WM3ZC7RY.js → chunk-JRQEWFL4.js} +1 -1
  48. package/public/chunk-JVKXR53D.js +8 -0
  49. package/public/{chunk-KO5P6YA2.js → chunk-JW2WSFV4.js} +1 -1
  50. package/public/chunk-KBDUNWU6.js +1 -0
  51. package/public/chunk-KNJE27OR.js +1 -0
  52. package/public/{chunk-DJKI5XBW.js → chunk-KPKQNEWS.js} +1 -1
  53. package/public/{chunk-GV7Q453O.js → chunk-KUFAY5CP.js} +1 -1
  54. package/public/chunk-L6O2DL5Y.js +1 -0
  55. package/public/chunk-LSTZMB44.js +1 -0
  56. package/public/{chunk-YJULXWER.js → chunk-M5RAVDOZ.js} +1 -1
  57. package/public/{chunk-AX4XM5D6.js → chunk-MEXZXAVI.js} +1 -1
  58. package/public/chunk-MJIXZLEQ.js +1 -0
  59. package/public/{chunk-HLSZVFAU.js → chunk-MMYB2ZMV.js} +1 -1
  60. package/public/chunk-MYUTX6Z7.js +1 -0
  61. package/public/chunk-NFTKN5FB.js +1 -0
  62. package/public/chunk-NUWUI5TL.js +1 -0
  63. package/public/chunk-NWW4GSXL.js +1 -0
  64. package/public/{chunk-PPRBUR7T.js → chunk-O7QMSLAF.js} +1 -1
  65. package/public/{chunk-7S2SCSTB.js → chunk-OHFVMRCL.js} +1 -1
  66. package/public/chunk-OKVWPTSO.js +1 -0
  67. package/public/chunk-OPLHZVPF.js +1 -0
  68. package/public/{chunk-YXEV6KOV.js → chunk-P5DRV4DP.js} +1 -1
  69. package/public/{chunk-YC7T54ZI.js → chunk-P6S67JES.js} +1 -1
  70. package/public/chunk-QDPVD7AX.js +1 -0
  71. package/public/chunk-QI5Q4LLX.js +1 -0
  72. package/public/chunk-QSPBB6EE.js +7 -0
  73. package/public/{chunk-QR7L4UUP.js → chunk-QY7HUYL5.js} +1 -1
  74. package/public/{chunk-ASBFWS7L.js → chunk-R3JWGCC5.js} +2 -2
  75. package/public/{chunk-FNFPXZX4.js → chunk-S5GO52VD.js} +1 -1
  76. package/public/{chunk-FBR4HHZM.js → chunk-S5L52QFG.js} +1 -1
  77. package/public/chunk-SLEKX5ZW.js +1 -0
  78. package/public/{chunk-6NWL7CB3.js → chunk-SSP2WH7X.js} +1 -1
  79. package/public/chunk-SXUVUFAV.js +1 -0
  80. package/public/{chunk-3VIG5M5R.js → chunk-TIE2WSHM.js} +1 -1
  81. package/public/chunk-TTOIHHUA.js +1 -0
  82. package/public/chunk-U523HCBT.js +1 -0
  83. package/public/{chunk-VEAJQAIK.js → chunk-UEU2XVIZ.js} +1 -1
  84. package/public/chunk-URPP7FFC.js +1 -0
  85. package/public/chunk-VBJHDIGP.js +1 -0
  86. package/public/chunk-VOHAH4EQ.js +1 -0
  87. package/public/chunk-VUVQAY4Z.js +1 -0
  88. package/public/chunk-VXQDDKS2.js +1 -0
  89. package/public/{chunk-D356JN6H.js → chunk-VXWFTLY2.js} +1 -1
  90. package/public/{chunk-UV3HFKCM.js → chunk-WWGBT67K.js} +1 -1
  91. package/public/{chunk-CHQVUHUA.js → chunk-XJY7A24W.js} +1 -1
  92. package/public/{chunk-B7GLOYT7.js → chunk-YHPS7HTH.js} +1 -1
  93. package/public/{chunk-Q5OTW6S6.js → chunk-YM5DEMA2.js} +1 -1
  94. package/public/chunk-YYBGACDB.js +1 -0
  95. package/public/{chunk-FHMZVMZK.js → chunk-ZCCLGLMW.js} +1 -1
  96. package/public/index.html +1 -1
  97. package/public/main-SLEDZ3DR.js +1 -0
  98. package/public/chunk-2RNJSFS7.js +0 -1
  99. package/public/chunk-53MG7QXV.js +0 -1
  100. package/public/chunk-7SJGSEPE.js +0 -1
  101. package/public/chunk-B55KOX6X.js +0 -1
  102. package/public/chunk-CJE5DDBP.js +0 -1
  103. package/public/chunk-DJH66SYI.js +0 -1
  104. package/public/chunk-EPTOZSA7.js +0 -1
  105. package/public/chunk-F35OBQXB.js +0 -1
  106. package/public/chunk-GNNIKKPO.js +0 -1
  107. package/public/chunk-GOBFGQBD.js +0 -1
  108. package/public/chunk-GSIVCSHF.js +0 -1
  109. package/public/chunk-I43RBOES.js +0 -1
  110. package/public/chunk-JLKEMUT4.js +0 -1
  111. package/public/chunk-K3HG3U3G.js +0 -1
  112. package/public/chunk-LVF2KE6Q.js +0 -1
  113. package/public/chunk-M35EINNZ.js +0 -1
  114. package/public/chunk-MCKPRFP5.js +0 -1
  115. package/public/chunk-NC6GKPI3.js +0 -1
  116. package/public/chunk-OTIJ6UCA.js +0 -1
  117. package/public/chunk-PSHNG66A.js +0 -1
  118. package/public/chunk-Q24LUFZD.js +0 -1
  119. package/public/chunk-SQFRAUFL.js +0 -1
  120. package/public/chunk-SSDIHLPQ.js +0 -1
  121. package/public/chunk-SZEMJJPT.js +0 -1
  122. package/public/chunk-T37NITXH.js +0 -1
  123. package/public/chunk-TCMMHINS.js +0 -1
  124. package/public/chunk-TLI3C4PG.js +0 -8
  125. package/public/chunk-TZLUGJNM.js +0 -1
  126. package/public/chunk-U4V4ICSI.js +0 -7
  127. package/public/chunk-UH63AXBP.js +0 -1
  128. package/public/chunk-UR24V3JB.js +0 -1
  129. package/public/chunk-VFV3NRSA.js +0 -1
  130. package/public/chunk-VISPEG4X.js +0 -1
  131. package/public/chunk-W53FO25Q.js +0 -1
  132. package/public/chunk-XM5KQQOD.js +0 -1
  133. package/public/chunk-Y6BMKDRD.js +0 -1
  134. package/public/chunk-YLVYOIDF.js +0 -1
  135. package/public/chunk-ZDF5ST5S.js +0 -6
  136. package/public/main-C4GUNBUS.js +0 -1
  137. /package/public/{polyfills-4F4B5XMZ.js → polyfills-GCAZ7JAV.js} +0 -0
@@ -1 +0,0 @@
1
- import{a}from"./chunk-OIOAEYOL.js";import"./chunk-HE5M3EM4.js";import"./chunk-QR7L4UUP.js";import"./chunk-HHNFJRKH.js";import"./chunk-EGGX5SGW.js";import"./chunk-I43RBOES.js";import"./chunk-ASBFWS7L.js";import"./chunk-DJKI5XBW.js";import"./chunk-U4V4ICSI.js";export{a as RestartLinuxComponent};
@@ -1 +0,0 @@
1
- import{b as a}from"./chunk-K6DFEHMG.js";import"./chunk-TLI3C4PG.js";import"./chunk-SQAPWTDH.js";import"./chunk-XZR7OZ6I.js";import"./chunk-7S2SCSTB.js";import"./chunk-HLSZVFAU.js";import"./chunk-HE5M3EM4.js";import"./chunk-QR7L4UUP.js";import"./chunk-HHNFJRKH.js";import"./chunk-EGGX5SGW.js";import"./chunk-I43RBOES.js";import"./chunk-ASBFWS7L.js";import"./chunk-DJKI5XBW.js";import"./chunk-U4V4ICSI.js";export{a as AccessoriesComponent};
@@ -1 +0,0 @@
1
- import{a as we}from"./chunk-Q24LUFZD.js";import{a as ke}from"./chunk-SQAPWTDH.js";import{v as ye}from"./chunk-RI7DCDJD.js";import{g as J,m as N,n as Ce}from"./chunk-7S2SCSTB.js";import{A as fe,b as G,c as oe,e as W,f as le,g as Z,j as D,k as se,l as q,m as de,n as pe,o as ce,p as me,q as _e,r as ue,s as ge,t as ve,u as be,v as xe,z as K}from"./chunk-HLSZVFAU.js";import{d as P,e as he}from"./chunk-QR7L4UUP.js";import{b as Se}from"./chunk-EGGX5SGW.js";import{h as V,k as R}from"./chunk-I43RBOES.js";import{a as F,b as $}from"./chunk-DJKI5XBW.js";import{$a as t,Ac as o,Bc as l,Cc as Y,Gb as f,Hb as g,Ib as v,Kb as A,Lb as T,M as Q,Mb as M,Nb as b,Ob as i,Pb as a,Qb as m,Ub as k,Xa as X,Xb as x,Yb as u,bd as O,gd as j,h as y,jc as r,kc as p,la as w,lb as B,lc as _,qc as ne,ra as h,rc as ae,sa as S,sc as re,w as E,wc as H,xc as I,yc as L}from"./chunk-U4V4ICSI.js";function Me(n,c){n&1&&(i(0,"div",12),m(1,"i",13),a(),i(2,"p",14),r(3),o(4,"translate"),a()),n&2&&(t(3),p(l(4,1,"reset.no_accessories")))}function Ne(n,c){n&1&&(i(0,"div",12),m(1,"i",15),a(),i(2,"ul",16)(3,"li"),r(4),o(5,"translate"),a(),i(6,"li"),r(7),o(8,"translate"),a(),i(9,"li"),r(10),o(11,"translate"),a()(),i(12,"ngb-alert",17)(13,"p",18),r(14),o(15,"translate"),a()()),n&2&&(t(4),p(l(5,5,"reset.accessory_all.list_1")),t(3),p(l(8,7,"reset.accessory_all.list_2")),t(3),p(l(11,9,"reset.accessory_all.list_3")),t(2),b("dismissible",!1),t(2),p(l(15,11,"reset.action_is_irreversible")))}function Fe(n,c){if(n&1){let e=k();i(0,"button",19),o(1,"translate"),x("click",function(){h(e);let d=u();return S(d.$activeModal.dismiss("Dismiss"))}),r(2),o(3,"translate"),a()}if(n&2){let e=u();b("disabled",e.clicked),f("aria-label",l(1,3,"form.button_close")),t(2),_(" ",l(3,5,"form.button_close")," ")}}function Ve(n,c){if(n&1){let e=k();i(0,"button",20),o(1,"translate"),x("click",function(){h(e);let d=u();return S(d.$activeModal.dismiss("Dismiss"))}),r(2),o(3,"translate"),a()}n&2&&(f("aria-label",l(1,2,"form.button_close")),t(2),_(" ",l(3,4,"form.button_close")," "))}function Re(n,c){n&1&&(r(0),o(1,"translate")),n&2&&_(" ",l(1,1,"form.button_remove")," ")}function De(n,c){n&1&&m(0,"i",22)}function Pe(n,c){if(n&1){let e=k();i(0,"button",21),x("click",function(){h(e);let d=u();return S(d.onResetCachedAccessoriesClick())}),g(1,Re,2,3),g(2,De,1,0,"i",22),a()}if(n&2){let e=u();b("disabled",e.clicked),t(),v(e.clicked?-1:1),t(),v(e.clicked?2:-1)}}var Ee=(()=>{class n{$activeModal=w(N);$api=w(R);$router=w(P);$toastr=w(V);$translate=w(F);clicked=!1;cachedAccessories=[];constructor(){}ngOnInit(){this.loadCachedAccessories()}loadCachedAccessories(){return y(this,null,function*(){try{this.cachedAccessories=yield E(this.$api.get("/server/cached-accessories"))}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("reset.error_message"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}onResetCachedAccessoriesClick(){return this.clicked=!0,this.$api.put("/server/reset-cached-accessories",{}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.delete_success"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}})},error:e=>{this.clicked=!1,console.error(e),this.$toastr.error(this.$translate.instant("reset.failed_to_reset"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(s){return new(s||n)};static \u0275cmp=B({type:n,selectors:[["ng-component"]],decls:17,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-circle-check","primary-text",2,"font-size","75px"],[1,"mb-0","text-center"],[1,"fas","fa-fw","fa-network-wired","primary-text",2,"font-size","75px"],[1,"mb-3"],["type","error",1,"mb-0",3,"dismissible"],[1,"text-center","mb-0"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(s,d){s&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),o(4,"translate"),a(),i(5,"button",3),o(6,"translate"),x("click",function(){return d.$activeModal.dismiss("Dismiss")}),a()(),i(7,"div",4),g(8,Me,5,3),g(9,Ne,16,13),a(),i(10,"div",5)(11,"div",6),g(12,Fe,4,7,"button",7),a(),i(13,"div",8),g(14,Ve,4,6,"button",9),a(),i(15,"div",10),g(16,Pe,3,3,"button",11),a()()()),s&2&&(t(3),p(l(4,8,"reset.accessory_all.title")),t(2),b("disabled",d.clicked),f("aria-label",l(6,10,"form.button_close")),t(3),v(d.cachedAccessories.length===0?8:-1),t(),v(d.cachedAccessories.length>0?9:-1),t(3),v(d.cachedAccessories.length>0?12:-1),t(2),v(d.cachedAccessories.length===0?14:-1),t(2),v(d.cachedAccessories.length>0?16:-1))},dependencies:[J,$],encapsulation:2})}return n})();var He=(n,c)=>({"green-text":n,"grey-text":c}),Le=(n,c)=>({"btn-danger":n,"btn-elegant":c}),Oe=(n,c,e)=>({"fa-broom":n,"fa-undo":c,"fa-spinner fa-pulse":e});function Ue(n,c){n&1&&(i(0,"div",12),m(1,"i",13),a(),i(2,"p",14),r(3),o(4,"translate"),a()),n&2&&(t(3),p(l(4,1,"reset.bridge_accessories.empty")))}function ze(n,c){if(n&1){let e=k();i(0,"li",18)(1,"span"),r(2),m(3,"br"),i(4,"small",19),m(5,"i",20),r(6),o(7,"translate"),i(8,"span",21),r(9),a()()(),i(10,"button",22),o(11,"translate"),x("click",function(){let d=h(e).$implicit,C=u(2);return S(C.toggleList(d._id))}),m(12,"i",23),a()()}if(n&2){let e=c.$implicit,s=u(2);t(2),_(" ",e.name," "),t(3),b("ngClass",I(12,He,e._isPaired,!e._isPaired)),t(),_(" ",l(7,8,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),p(e._username),t(),b("disabled",s.clicked)("ngClass",I(15,Le,!s.toDelete.includes(e._id),s.toDelete.includes(e._id))),f("aria-label",l(11,10,"form.button_delete")),t(2),b("ngClass",L(18,Oe,!s.toDelete.includes(e._id),s.toDelete.includes(e._id)&&!s.clicked,s.toDelete.includes(e._id)&&s.clicked))}}function je(n,c){if(n&1&&(i(0,"div",12),m(1,"i",15),a(),i(2,"ul",16)(3,"li"),r(4),o(5,"translate"),a(),i(6,"li"),r(7),o(8,"translate"),a(),i(9,"li"),r(10),o(11,"translate"),a()(),i(12,"ul",17),T(13,ze,13,22,"li",18,A),a()),n&2){let e=u();t(4),p(l(5,3,"reset.bridge_accessories.list_1")),t(3),p(l(8,5,"reset.clear_cache_single.list_3")),t(3),p(l(11,7,"reset.bridge_accessories.list_2")),t(3),M(e.pairings)}}function Ge(n,c){if(n&1){let e=k();i(0,"button",24),x("click",function(){h(e);let d=u();return S(d.$activeModal.dismiss("Dismiss"))}),r(1),o(2,"translate"),a()}if(n&2){let e=u();b("disabled",e.clicked),t(),_(" ",l(2,2,"form.button_close")," ")}}function We(n,c){if(n&1){let e=k();i(0,"button",25),x("click",function(){h(e);let d=u();return S(d.$activeModal.dismiss("Dismiss"))}),r(1),o(2,"translate"),a()}n&2&&(t(),_(" ",l(2,1,"form.button_close")," "))}function qe(n,c){if(n&1&&r(0),n&2){let e=u(3);_(" (",e.toDelete.length,") ")}}function Ke(n,c){if(n&1&&(r(0),o(1,"translate"),g(2,qe,1,1)),n&2){let e=u(2);_(" ",l(1,2,"form.button_remove")," "),t(2),v(e.toDelete.length>0?2:-1)}}function Je(n,c){n&1&&m(0,"i",27)}function Qe(n,c){if(n&1){let e=k();i(0,"button",26),x("click",function(){h(e);let d=u();return S(d.cleanBridges())}),g(1,Ke,3,4),g(2,Je,1,0,"i",27),a()}if(n&2){let e=u();b("disabled",!e.toDelete.length||e.clicked),t(),v(e.clicked?-1:1),t(),v(e.clicked?2:-1)}}var Be=(()=>{class n{$activeModal=w(N);$api=w(R);$router=w(P);$toastr=w(V);$translate=w(F);clicked=!1;pairings=[];toDelete=[];constructor(){}ngOnInit(){this.loadPairings()}loadPairings(){return y(this,null,function*(){try{this.pairings=(yield E(this.$api.get("/server/pairings"))).filter(e=>e._category==="bridge"&&!e._main).sort((e,s)=>e.name.localeCompare(s.name))}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.load_error"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}toggleList(e){this.toDelete.includes(e)?this.toDelete=this.toDelete.filter(s=>s!==e):this.toDelete.push(e)}cleanBridges(){return this.clicked=!0,this.$api.delete("/server/pairings/accessories",{body:this.toDelete.map(e=>({id:e}))}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.accessory_ind.done"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}})},error:e=>{this.clicked=!1,console.error(e),this.$toastr.error(this.$translate.instant("reset.accessory_ind.fail"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(s){return new(s||n)};static \u0275cmp=B({type:n,selectors:[["ng-component"]],decls:17,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-circle-check","primary-text",2,"font-size","75px"],[1,"mb-0","text-center"],[1,"fas","fa-fw","fa-broom","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"fas","fa-fw","fa-link",3,"ngClass"],[1,"font-monospace"],[1,"btn","btn-danger","m-0","ms-3",3,"click","disabled","ngClass"],[1,"fas","fa-fw",3,"ngClass"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(s,d){s&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),o(4,"translate"),a(),i(5,"button",3),o(6,"translate"),x("click",function(){return d.$activeModal.dismiss("Dismiss")}),a()(),i(7,"div",4),g(8,Ue,5,3),g(9,je,15,9),a(),i(10,"div",5)(11,"div",6),g(12,Ge,3,4,"button",7),a(),i(13,"div",8),g(14,We,3,3,"button",9),a(),i(15,"div",10),g(16,Qe,3,3,"button",11),a()()()),s&2&&(t(3),p(l(4,8,"reset.bridge_accessories.title")),t(2),b("disabled",d.clicked),f("aria-label",l(6,10,"form.button_close")),t(3),v(d.pairings.length===0?8:-1),t(),v(d.pairings.length>0?9:-1),t(3),v(d.pairings.length>0?12:-1),t(2),v(d.pairings.length===0?14:-1),t(2),v(d.pairings.length>0?16:-1))},dependencies:[O,$],encapsulation:2})}return n})();function Xe(n,c){n&1&&(r(0),o(1,"translate")),n&2&&_(" ",l(1,1,"form.button_reset")," ")}function Ye(n,c){n&1&&m(0,"i",16)}var Ie=(()=>{class n{$activeModal=w(N);$api=w(R);$route=w(P);$toastr=w(V);$translate=w(F);clicked;constructor(){}onResetHomebridgeAccessoryClick(){return this.clicked=!0,this.$api.put("/server/reset-homebridge-accessory",{}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.accessory_reset"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$route.navigate(["/restart"])},error:e=>{console.error(e),this.$toastr.error(this.$translate.instant("reset.failed_to_reset"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(s){return new(s||n)};static \u0275cmp=B({type:n,selectors:[["ng-component"]],decls:38,vars:33,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-bridge","primary-text",2,"font-size","75px"],[1,"mb-3"],["type","error",1,"mb-0",3,"dismissible"],[1,"text-center","mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(s,d){s&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),o(4,"translate"),a(),i(5,"button",3),o(6,"translate"),x("click",function(){return d.$activeModal.dismiss("Dismiss")}),a()(),i(7,"div",4)(8,"div",5),m(9,"i",6),a(),i(10,"ul",7)(11,"li"),r(12),o(13,"translate"),a(),i(14,"li"),r(15),o(16,"translate"),a(),i(17,"li"),r(18),o(19,"translate"),a(),i(20,"li"),r(21),o(22,"translate"),a()(),i(23,"ngb-alert",8)(24,"p",9),r(25),o(26,"translate"),a()()(),i(27,"div",10)(28,"div",11)(29,"button",12),o(30,"translate"),x("click",function(){return d.$activeModal.dismiss("Dismiss")}),r(31),o(32,"translate"),a()(),m(33,"div",13),i(34,"div",14)(35,"button",15),x("click",function(){return d.onResetHomebridgeAccessoryClick()}),g(36,Xe,2,3),g(37,Ye,1,0,"i",16),a()()()()),s&2&&(t(3),p(l(4,15,"reset.bridge_all.title")),t(2),b("disabled",d.clicked),f("aria-label",l(6,17,"form.button_close")),t(7),p(l(13,19,"reset.bridge_all.list_1")),t(3),p(l(16,21,"reset.bridge_all.list_2")),t(3),p(l(19,23,"reset.bridge_all.list_3")),t(3),p(l(22,25,"reset.bridge_all.list_4")),t(2),b("dismissible",!1),t(2),p(l(26,27,"reset.action_is_irreversible")),t(4),b("disabled",d.clicked),f("aria-label",l(30,29,"form.button_close")),t(2),_(" ",l(32,31,"form.button_close")," "),t(4),b("disabled",d.clicked),t(),v(d.clicked?-1:36),t(),v(d.clicked?37:-1))},dependencies:[J,$],encapsulation:2})}return n})();var ee=(n,c)=>({"green-text":n,"grey-text":c}),te=(n,c)=>({"btn-danger":n,"btn-elegant":c}),$e=(n,c,e)=>({"fa-refresh":n,"fa-undo":c,"fa-spinner fa-pulse":e}),Ze=(n,c,e)=>({"fa-trash":n,"fa-undo":c,"fa-spinner fa-pulse":e});function et(n,c){n&1&&(i(0,"div",12),m(1,"i",13),a(),i(2,"p",14),r(3),o(4,"translate"),a()),n&2&&(t(3),p(l(4,1,"reset.bridges.empty")))}function tt(n,c){if(n&1){let e=k();i(0,"li",20)(1,"span"),r(2),m(3,"br"),i(4,"small",21),m(5,"i",22),r(6),o(7,"translate"),i(8,"span",23),r(9),a(),r(10),o(11,"titlecase"),a()(),i(12,"button",24),o(13,"translate"),x("click",function(){let d=h(e).$implicit,C=u(3);return S(C.toggleList(d._id,!1))}),m(14,"i",25),a()()}if(n&2){let e=c.$implicit,s=u(3);t(2),_(" ",e.name," "),t(3),b("ngClass",I(15,ee,e._isPaired,!e._isPaired)),t(),_(" ",l(7,9,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),p(e._username),t(),_(" \xB7 ",e._main?"Homebridge":l(11,11,e._category)," "),t(2),b("disabled",s.clicked)("ngClass",I(18,te,!s.isInList(e._id),s.isInList(e._id))),f("aria-label",l(13,13,"form.button_unpair")),t(2),b("ngClass",L(21,$e,!s.isInList(e._id),s.isInList(e._id)&&!s.clicked,s.isInList(e._id)&&s.clicked))}}function it(n,c){if(n&1&&(i(0,"ul",16)(1,"li",17)(2,"h6",18),r(3),o(4,"translate"),a(),i(5,"p",19),r(6),o(7,"translate"),a()(),T(8,tt,15,25,"li",20,A),a()),n&2){let e=u(2);t(3),p(l(4,2,"reset.bridge_ind.head_non_child")),t(3),p(l(7,4,"reset.bridge_ind.desc_non_child")),t(2),M(e.pairingsNonChild)}}function nt(n,c){if(n&1){let e=k();i(0,"li",20)(1,"span"),r(2),m(3,"br"),i(4,"small",21),m(5,"i",22),r(6),o(7,"translate"),i(8,"span",23),r(9),a()()(),i(10,"button",24),o(11,"translate"),x("click",function(){let d=h(e).$implicit,C=u(3);return S(C.toggleList(d._id,!0))}),m(12,"i",25),a()()}if(n&2){let e=c.$implicit,s=u(3);t(2),_(" ",e.name," "),t(3),b("ngClass",I(12,ee,e._isPaired,!e._isPaired)),t(),_(" ",l(7,8,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),p(e._username),t(),b("disabled",s.clicked)("ngClass",I(15,te,!s.isInList(e._id),s.isInList(e._id))),f("aria-label",l(11,10,"form.button_unpair")),t(2),b("ngClass",L(18,$e,!s.isInList(e._id),s.isInList(e._id)&&!s.clicked,s.isInList(e._id)&&s.clicked))}}function at(n,c){if(n&1&&(i(0,"ul",16)(1,"li",17)(2,"h6",18),r(3),o(4,"translate"),a(),i(5,"p",19),r(6),o(7,"translate"),a()(),T(8,nt,13,22,"li",20,A),a()),n&2){let e=u(2);t(3),p(l(4,2,"reset.bridge_ind.head_child_active")),t(3),p(l(7,4,"reset.bridge_ind.desc_child_active")),t(2),M(e.pairingsChildActive)}}function rt(n,c){if(n&1){let e=k();i(0,"li",20)(1,"span"),r(2),m(3,"br"),i(4,"small",21),m(5,"i",22),r(6),o(7,"translate"),i(8,"span",23),r(9),a()()(),i(10,"button",24),o(11,"translate"),x("click",function(){let d=h(e).$implicit,C=u(3);return S(C.toggleList(d._id,!1))}),m(12,"i",25),a()()}if(n&2){let e=c.$implicit,s=u(3);t(2),_(" ",e.name," "),t(3),b("ngClass",I(12,ee,e._isPaired,!e._isPaired)),t(),_(" ",l(7,8,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),p(e._username),t(),b("disabled",s.clicked)("ngClass",I(15,te,!s.isInList(e._id),s.isInList(e._id))),f("aria-label",l(11,10,"form.button_unpair")),t(2),b("ngClass",L(18,Ze,!s.isInList(e._id),s.isInList(e._id)&&!s.clicked,s.isInList(e._id)&&s.clicked))}}function ot(n,c){if(n&1&&(i(0,"ul",16)(1,"li",17)(2,"h6",18),r(3),o(4,"translate"),a(),i(5,"p",19),r(6),o(7,"translate"),a()(),T(8,rt,13,22,"li",20,A),a()),n&2){let e=u(2);t(3),p(l(4,2,"reset.bridge_ind.head_child_stale")),t(3),p(l(7,4,"reset.bridge_ind.desc_child_stale")),t(2),M(e.pairingsChildStale)}}function lt(n,c){if(n&1&&(i(0,"div",12),m(1,"i",15),a(),g(2,it,10,6,"ul",16),g(3,at,10,6,"ul",16),g(4,ot,10,6,"ul",16)),n&2){let e=u();t(2),v(e.pairingsNonChild.length>0?2:-1),t(),v(e.pairingsChildActive.length>0?3:-1),t(),v(e.pairingsChildStale.length>0?4:-1)}}function st(n,c){if(n&1){let e=k();i(0,"button",26),x("click",function(){h(e);let d=u();return S(d.$activeModal.dismiss("Dismiss"))}),r(1),o(2,"translate"),a()}if(n&2){let e=u();b("disabled",e.clicked),t(),_(" ",l(2,2,"form.button_close")," ")}}function dt(n,c){if(n&1){let e=k();i(0,"button",27),x("click",function(){h(e);let d=u();return S(d.$activeModal.dismiss("Dismiss"))}),r(1),o(2,"translate"),a()}n&2&&(t(),_(" ",l(2,1,"form.button_close")," "))}function pt(n,c){if(n&1&&r(0),n&2){let e=u(3);_(" (",e.toDelete.length,") ")}}function ct(n,c){if(n&1&&(r(0),o(1,"translate"),g(2,pt,1,1)),n&2){let e=u(2);_(" ",l(1,2,"form.button_reset")," "),t(2),v(e.toDelete.length>0?2:-1)}}function mt(n,c){n&1&&m(0,"i",29)}function _t(n,c){if(n&1){let e=k();i(0,"button",28),x("click",function(){h(e);let d=u();return S(d.removeBridges())}),g(1,ct,3,4),g(2,mt,1,0,"i",29),a()}if(n&2){let e=u();b("disabled",!e.toDelete.length||e.clicked),t(),v(e.clicked?-1:1),t(),v(e.clicked?2:-1)}}var Ae=(()=>{class n{$activeModal=w(N);$api=w(R);$router=w(P);$toastr=w(V);$translate=w(F);clicked=!1;pairingsNonChild=[];pairingsChildActive=[];pairingsChildStale=[];toDelete=[];constructor(){}ngOnInit(){this.loadPairings()}loadPairings(){return y(this,null,function*(){try{let e=(yield E(this.$api.get("/server/pairings"))).filter(s=>!s._main).sort((s,d)=>s.name.localeCompare(d.name));this.pairingsChildActive=e.filter(s=>s._category==="bridge"&&!s._couldBeStale),this.pairingsNonChild=e.filter(s=>s._category!=="bridge"),this.pairingsChildStale=e.filter(s=>s._category==="bridge"&&s._couldBeStale)}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.load_error"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}toggleList(e,s=!1){this.toDelete.some(d=>d.id===e)?this.toDelete=this.toDelete.filter(d=>d.id!==e):this.toDelete.push({id:e,resetPairingInfo:s})}isInList(e){return this.toDelete.some(s=>s.id===e)}removeBridges(){return this.clicked=!0,this.$api.delete("/server/pairings",{body:this.toDelete}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.bridge_ind.done"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}})},error:e=>{this.clicked=!1,console.error(e),this.$toastr.error(this.$translate.instant("reset.bridge_ind.fail"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(s){return new(s||n)};static \u0275cmp=B({type:n,selectors:[["ng-component"]],decls:17,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-circle-check","primary-text",2,"font-size","75px"],[1,"text-center","mb-0"],[1,"fas","fa-fw","fa-bridge","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mt-3","mb-0"],[1,"list-group-item"],[1,"mb-1","text-center"],[1,"mb-0","small","grey-text","text-center"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"fas","fa-fw","fa-link",3,"ngClass"],[1,"font-monospace"],[1,"btn","btn-danger","m-0","ms-3",3,"click","disabled","ngClass"],[1,"fas","fa-fw",3,"ngClass"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(s,d){s&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),o(4,"translate"),a(),i(5,"button",3),o(6,"translate"),x("click",function(){return d.$activeModal.dismiss("Dismiss")}),a()(),i(7,"div",4),g(8,et,5,3),g(9,lt,5,3),a(),i(10,"div",5)(11,"div",6),g(12,st,3,4,"button",7),a(),i(13,"div",8),g(14,dt,3,3,"button",9),a(),i(15,"div",10),g(16,_t,3,3,"button",11),a()()()),s&2&&(t(3),p(l(4,8,"reset.bridge_ind.title")),t(2),b("disabled",d.clicked),f("aria-label",l(6,10,"form.button_close")),t(3),v(d.pairingsChildActive.length===0&&d.pairingsChildStale.length===0&&d.pairingsNonChild.length===0?8:-1),t(),v(d.pairingsChildActive.length>0||d.pairingsChildStale.length>0||d.pairingsNonChild.length>0?9:-1),t(3),v(d.pairingsChildActive.length>0||d.pairingsChildStale.length>0||d.pairingsNonChild.length>0?12:-1),t(2),v(d.pairingsChildActive.length===0&&d.pairingsChildStale.length===0&&d.pairingsNonChild.length===0?14:-1),t(2),v(d.pairingsChildActive.length>0||d.pairingsChildStale.length>0||d.pairingsNonChild.length>0?16:-1))},dependencies:[O,j,$],encapsulation:2})}return n})();function gt(n,c){if(n&1){let e=k();i(0,"li",10)(1,"span")(2,"label",17)(3,"input",18),re("ngModelChange",function(d){let C=h(e).$implicit;return ae(C.selected,d)||(C.selected=d),S(d)}),a(),i(4,"span"),r(5),a(),m(6,"span",19),a()(),i(7,"span",20),r(8),a()()}if(n&2){let e=c.$implicit;t(2),b("for","adapter"+e.iface),t(),b("id","adapter"+e.iface),ne("ngModel",e.selected),t(2),p(e.iface),t(3),p(e.ip4||e.ip6)}}var Te=(()=>{class n{$activeModal=w(N);availableNetworkAdapters=[];bridgeNetworkAdapters=[];constructor(){}submit(){this.$activeModal.close(this.availableNetworkAdapters.filter(e=>e.selected).map(e=>e.iface))}static \u0275fac=function(s){return new(s||n)};static \u0275cmp=B({type:n,selectors:[["ng-component"]],inputs:{availableNetworkAdapters:"availableNetworkAdapters",bridgeNetworkAdapters:"bridgeNetworkAdapters"},decls:35,vars:24,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-ethernet","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box"],[1,"list-group-item","d-flex","flex-row","justify-content-between"],[1,"list-group-item","d-flex","flex-row","flex-wrap","justify-content-between"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click"],[1,"hb-uix-switch","d-inline","pe-3",3,"for"],["type","checkbox",3,"ngModelChange","id","ngModel"],[1,"hb-uix-slider","hb-uix-round"],[1,"font-monospace"]],template:function(s,d){s&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),o(4,"translate"),a(),i(5,"button",3),o(6,"translate"),x("click",function(){return d.$activeModal.dismiss("Dismiss")}),a()(),i(7,"div",4)(8,"div",5),m(9,"i",6),a(),i(10,"ul",7)(11,"li"),r(12),o(13,"translate"),a()(),i(14,"ul",8)(15,"li",9)(16,"strong"),r(17),o(18,"translate"),a(),i(19,"strong"),r(20),o(21,"translate"),a()(),T(22,gt,9,5,"li",10,A),a()(),i(24,"div",11)(25,"div",12)(26,"button",13),o(27,"translate"),x("click",function(){return d.$activeModal.dismiss("Dismiss")}),r(28),o(29,"translate"),a()(),m(30,"div",14),i(31,"div",15)(32,"button",16),x("click",function(){return d.submit()}),r(33),o(34,"translate"),a()()()()),s&2&&(t(3),p(l(4,8,"settings.network.title_network_interfaces")),t(2),f("aria-label",l(6,10,"form.button_close")),t(7),p(l(13,12,"settings.network.message_network_interface")),t(5),p(l(18,14,"settings.network.label_interface_name")),t(3),p(l(21,16,"settings.network.label_ip_address")),t(2),M(d.availableNetworkAdapters),t(4),f("aria-label",l(27,18,"form.button_close")),t(2),_(" ",l(29,20,"form.button_close")," "),t(5),_(" ",l(34,22,"form.button_save")," "))},dependencies:[K,G,W,q,$],encapsulation:2})}return n})();var ie=n=>({"is-invalid":n}),vt=n=>({file:n}),bt=n=>({link:n}),xt=n=>({"fa-pulse":n}),ft=(n,c)=>({"badge-danger":n,"badge-info":c});function Ct(n,c){n&1&&(i(0,"li",20)(1,"small",21),r(2),o(3,"translate"),a(),i(4,"button",22),o(5,"translate"),r(6),o(7,"translate"),a()()),n&2&&(t(2),p(l(3,3,"settings.changes.saved")),t(2),f("aria-label",l(5,5,"menu.tooltip_restart")),t(2),_(" ",l(7,7,"menu.tooltip_restart")," "))}function ht(n,c){if(n&1){let e=k();i(0,"ul",5)(1,"li",12)(2,"span"),r(3," Homebridge Name "),a(),i(4,"div",13),m(5,"input",14),o(6,"translate"),a()(),i(7,"li",15)(8,"span",16),r(9),o(10,"translate"),a(),i(11,"button",17),o(12,"translate"),x("click",function(){h(e);let d=u();return S(d.openUiSettings())}),m(13,"i",18),a()(),i(14,"li",15)(15,"span",16),r(16),o(17,"translate"),a(),i(18,"button",17),o(19,"translate"),x("click",function(){h(e);let d=u();return S(d.openBackupModal())}),m(20,"i",18),a()(),i(21,"li",15)(22,"span",16),r(23),o(24,"translate"),a(),i(25,"a",19),o(26,"translate"),m(27,"i",18),a()(),g(28,Ct,8,9,"li",20),a()}if(n&2){let e=u();t(5),b("formControl",e.hbNameFormControl)("ngClass",H(24,ie,e.isInvalidHbName)),f("aria-label",l(6,10,"settings.network.port_ui")),t(4),_(" ",l(10,12,"menu.label_settings_advanced")," "),t(2),f("aria-label",l(12,14,"menu.label_settings_advanced")),t(5),_(" ",l(17,16,"backup.title_backup")," "),t(2),f("aria-label",l(19,18,"backup.title_backup")),t(5),_(" ",l(24,20,"menu.tooltip_user_accounts")," "),t(2),f("aria-label",l(26,22,"menu.tooltip_user_accounts")),t(3),v(e.hasChangedHbName&&!e.isInvalidHbName?28:-1)}}function St(n,c){n&1&&(i(0,"li",20)(1,"small",21),r(2),o(3,"translate"),a(),i(4,"button",22),o(5,"translate"),r(6),o(7,"translate"),a()()),n&2&&(t(2),p(l(3,3,"settings.changes.saved")),t(2),f("aria-label",l(5,5,"menu.tooltip_restart")),t(2),_(" ",l(7,7,"menu.tooltip_restart")," "))}function wt(n,c){if(n&1){let e=k();i(0,"ul",6)(1,"li",12),r(2),o(3,"translate"),i(4,"div",23)(5,"select",24),x("ngModelChange",function(d){h(e);let C=u();return S(C.saveUiSettingChange("lang",d))}),i(6,"option",25),r(7),o(8,"translate"),a(),i(9,"option",26),r(10,"Bulgarian (bg)"),a(),i(11,"option",27),r(12,"Catalan (ca)"),a(),i(13,"option",28),r(14,"Chinese - Simplified (zh-CN)"),a(),i(15,"option",29),r(16,"Chinese - Traditional (zh-TW)"),a(),i(17,"option",30),r(18,"Czech (cs)"),a(),i(19,"option",31),r(20,"Dutch (nl)"),a(),i(21,"option",32),r(22,"English (en)"),a(),i(23,"option",33),r(24,"Finnish (fi)"),a(),i(25,"option",34),r(26,"French (fr)"),a(),i(27,"option",35),r(28,"German (de)"),a(),i(29,"option",36),r(30,"Hebrew (he)"),a(),i(31,"option",37),r(32,"Hungarian (hu)"),a(),i(33,"option",38),r(34,"Indonesian (id)"),a(),i(35,"option",39),r(36,"Italian (it)"),a(),i(37,"option",40),r(38,"Japanese (ja)"),a(),i(39,"option",41),r(40,"Korean (ko)"),a(),i(41,"option",42),r(42,"Macedonian (mk)"),a(),i(43,"option",43),r(44,"Norwegian (no)"),a(),i(45,"option",44),r(46,"Polish (pl)"),a(),i(47,"option",45),r(48,"Portuguese (Brazil)"),a(),i(49,"option",46),r(50,"Portuguese (Portugal)"),a(),i(51,"option",47),r(52,"Russian (ru)"),a(),i(53,"option",48),r(54,"Slovenian (sl)"),a(),i(55,"option",49),r(56,"Spanish (es)"),a(),i(57,"option",50),r(58,"Swedish (sv)"),a(),i(59,"option",51),r(60,"Thai (th)"),a(),i(61,"option",52),r(62,"Turkish (tr)"),a(),i(63,"option",53),r(64,"Ukrainian (uk)"),a()()()(),i(65,"li",12),r(66),o(67,"translate"),i(68,"div",23)(69,"select",24),x("ngModelChange",function(d){h(e);let C=u();return S(C.saveUiSettingChange("theme",d))}),i(70,"option",54),r(71),o(72,"translate"),a(),i(73,"option",55),r(74),o(75,"translate"),a(),i(76,"option",56),r(77),o(78,"translate"),a(),i(79,"option",57),r(80),o(81,"translate"),a(),i(82,"option",58),r(83),o(84,"translate"),a(),i(85,"option",59),r(86),o(87,"translate"),a(),i(88,"option",60),r(89),o(90,"translate"),a(),i(91,"option",61),r(92),o(93,"translate"),a(),i(94,"option",62),r(95),o(96,"translate"),a(),i(97,"option",63),r(98),o(99,"translate"),a(),i(100,"option",64),r(101),o(102,"translate"),a(),i(103,"option",65),r(104),o(105,"translate"),a(),i(106,"option",66),r(107),o(108,"translate"),a()()()(),i(109,"li",12),r(110),o(111,"translate"),i(112,"div",23)(113,"select",24),x("ngModelChange",function(d){h(e);let C=u();return S(C.saveUiSettingChange("lightingMode",d))}),i(114,"option",25),r(115),o(116,"translate"),a(),i(117,"option",67),r(118),o(119,"translate"),a(),i(120,"option",68),r(121),o(122,"translate"),a()()()(),i(123,"li",12),r(124),o(125,"translate"),i(126,"div",23)(127,"select",24),x("ngModelChange",function(d){h(e);let C=u();return S(C.saveUiSettingChange("menuMode",d))}),i(128,"option",69),r(129),o(130,"translate"),a(),i(131,"option",70),r(132),o(133,"translate"),a()()()(),i(134,"li",12)(135,"span"),r(136),o(137,"translate"),m(138,"br")(139,"small",71),o(140,"translate"),a(),i(141,"div",23)(142,"input",72),x("ngModelChange",function(d){h(e);let C=u();return S(C.saveUiSettingChange("loginWallpaper",d))}),a()()(),i(143,"li",12),r(144),o(145,"translate"),i(146,"div",23)(147,"select",24),x("ngModelChange",function(d){h(e);let C=u();return S(C.saveUiSettingChange("tempUnits",d))}),i(148,"option",73),r(149),o(150,"translate"),a(),i(151,"option",74),r(152),o(153,"translate"),a()()()(),g(154,St,8,9,"li",20),a()}if(n&2){let e=u();t(2),_(" ",l(3,35,"settings.display.lang")," "),t(3),b("ngModel",e.$settings.env.lang),t(2),p(l(8,37,"form.select.auto")),t(59),_(" ",l(67,39,"settings.display.theme")," "),t(3),b("ngModel",e.$settings.theme),t(2),p(l(72,41,"settings.display.orange")),t(3),p(l(75,43,"settings.display.red")),t(3),p(l(78,45,"settings.display.pink")),t(3),p(l(81,47,"settings.display.purple")),t(3),p(l(84,49,"settings.display.deep_purple")),t(3),p(l(87,51,"settings.display.indigo")),t(3),p(l(90,53,"settings.display.blue")),t(3),p(l(93,55,"settings.display.bluegrey")),t(3),p(l(96,57,"settings.display.cyan")),t(3),p(l(99,59,"settings.display.green")),t(3),p(l(102,61,"settings.display.teal")),t(3),p(l(105,63,"settings.display.grey")),t(3),p(l(108,65,"settings.display.brown")),t(3),_(" ",l(111,67,"settings.display.lighting_mode")," "),t(3),b("ngModel",e.$settings.lightingMode),t(2),p(l(116,69,"form.select.auto")),t(3),p(l(119,71,"settings.display.light")),t(3),p(l(122,73,"settings.display.dark")),t(3),_(" ",l(125,75,"settings.display.menu_mode")," "),t(3),b("ngModel",e.$settings.menuMode),t(2),p(l(130,77,"settings.display.menu_default")),t(3),p(l(133,79,"settings.display.menu_freeze")),t(4),_(" ",l(137,81,"settings.display.login_wallpaper")),t(3),b("innerHTML",Y(140,83,"settings.display.login_wallpaper_desc",H(92,vt,e.file)),X),t(3),b("ngModel",e.$settings.loginWallpaper),t(2),_(" ",l(145,86,"settings.display.temp_units")," "),t(3),b("ngModel",e.$settings.env.temperatureUnits),t(2),p(l(150,88,"settings.display.temp_units.c")),t(3),p(l(153,90,"settings.display.temp_units.f")),t(2),v(e.hasChangedLoginWallpaper?154:-1)}}function kt(n,c){if(n&1&&(i(0,"li",15)(1,"span"),r(2),o(3,"translate"),i(4,"code"),r(5,"-D"),a(),m(6,"br"),i(7,"small",76),r(8),o(9,"translate"),a()(),m(10,"input",77),o(11,"translate"),m(12,"label",78),a()),n&2){let e=u(3);t(2),_(" ",l(3,3,"settings.startup.debug")," "),t(6),_(" ",l(9,5,e.isHbV2?"settings.startup.debug_desc_v2":"settings.startup.debug_desc_v1")," "),t(2),f("aria-label",l(11,7,"settings.startup.debug"))}}function yt(n,c){n&1&&(i(0,"li",15)(1,"span"),r(2),o(3,"translate"),i(4,"code"),r(5,"-I"),a(),m(6,"br"),i(7,"small",76),r(8),o(9,"translate"),a()(),m(10,"input",79),o(11,"translate"),m(12,"label",80),a()),n&2&&(t(2),_(" ",l(3,3,"settings.startup.insecure")," "),t(6),p(l(9,5,"settings.startup.insecure_desc")),t(2),f("aria-label",l(11,7,"settings.startup.insecure")))}function Et(n,c){n&1&&(i(0,"li",15)(1,"span"),r(2),o(3,"translate"),i(4,"code"),r(5,"-K"),a(),m(6,"br"),i(7,"small",76),r(8),o(9,"translate"),a()(),m(10,"input",81),o(11,"translate"),m(12,"label",82),a()),n&2&&(t(2),_(" ",l(3,3,"settings.startup.keep_accessories")," "),t(6),p(l(9,5,"settings.startup.keep_accessories_desc")),t(2),f("aria-label",l(11,7,"settings.startup.keep_accessories")))}function Bt(n,c){if(n&1&&(i(0,"li",12)(1,"span")(2,"span",83),r(3,"DEBUG"),a(),m(4,"br")(5,"small",71),o(6,"translate"),a(),i(7,"div",23),m(8,"input",84),a()()),n&2){let e=u(3);t(5),b("innerHTML",Y(6,1,"settings.service.debug_tooltip",H(4,bt,e.linkDebug)),X)}}function It(n,c){n&1&&(i(0,"li",12)(1,"span")(2,"span",83),r(3,"NODE_OPTIONS"),a(),m(4,"br"),i(5,"small",76),r(6),o(7,"translate"),a()(),i(8,"div",23),m(9,"input",85),a()()),n&2&&(t(6),p(l(7,1,"settings.service.node_tooltip")))}function $t(n,c){n&1&&(i(0,"li",15)(1,"span"),r(2),o(3,"translate"),m(4,"br"),i(5,"small",76),r(6),o(7,"translate"),a()(),i(8,"a",86),o(9,"translate"),m(10,"i",18),a()()),n&2&&(t(2),_(" ",l(3,3,"menu.docker.startup_script")),t(4),p(l(7,5,"platform.docker.script_help")),t(2),f("aria-label",l(9,7,"menu.docker.startup_script")))}function At(n,c){n&1&&(i(0,"li",20)(1,"small",21),r(2),o(3,"translate"),a(),i(4,"button",22),o(5,"translate"),r(6),o(7,"translate"),a()()),n&2&&(t(2),p(l(3,3,"settings.changes.saved")),t(2),f("aria-label",l(5,5,"menu.tooltip_restart")),t(2),_(" ",l(7,7,"menu.tooltip_restart")," "))}function Tt(n,c){if(n&1&&(i(0,"ul",75),g(1,kt,13,9,"li",15),g(2,yt,13,9,"li",15),g(3,Et,13,9,"li",15),g(4,Bt,9,6,"li",12),g(5,It,10,3,"li",12),g(6,$t,11,9,"li",15),g(7,At,8,9,"li",20),a()),n&2){let e=u(2);t(),v(e.$settings.env.serviceMode?1:-1),t(),v(e.$settings.env.serviceMode?2:-1),t(),v(e.$settings.env.serviceMode?3:-1),t(),v(e.$settings.env.serviceMode?4:-1),t(),v(e.$settings.env.serviceMode?5:-1),t(),v(e.$settings.env.runningInDocker?6:-1),t(),v(e.hasChangedService?7:-1)}}function Mt(n,c){if(n&1){let e=k();i(0,"form",7)(1,"div",2),x("click",function(){h(e);let d=u();return S(d.toggleSection("startup"))}),i(2,"h5",3),m(3,"i",4),r(4),o(5,"translate"),a()(),g(6,Tt,8,7,"ul",75),a()}if(n&2){let e=u();b("formGroup",e.serviceForm),t(),f("aria-expanded",e.showFields.startup?"true":"false")("aria-controls","fieldsStartup"),t(2),b("ngClass",e.showFields.startup?"fa-chevron-down":"fa-chevron-right"),t(),_(" ",l(5,6,"settings.title_startup_options")," "),t(2),v(e.showFields.startup?6:-1)}}function Nt(n,c){n&1&&m(0,"i",98)}function Ft(n,c){if(n&1&&(i(0,"span",88),g(1,Nt,1,0,"i",98),r(2),i(3,"span",99),r(4),o(5,"translate"),a()()),n&2){let e=c.$implicit;b("ngClass",I(6,ft,e.missing,!e.missing)),t(),v(e.missing?1:-1),t(),_(" ",e.iface,": "),t(2),p(e.missing?l(5,4,"settings.mdns_advertiser_not_connected"):e.ip4||e.ip6)}}function Vt(n,c){n&1&&(i(0,"option",92),r(1),o(2,"translate"),a()),n&2&&(t(),_("Avahi (",l(2,1,"settings.mdns_advertiser_rec"),")"))}function Rt(n,c){n&1&&(i(0,"option",95),r(1),o(2,"translate"),a()),n&2&&(t(),_("systemd-resolved (",l(2,1,"settings.mdns_advertiser_exp"),")"))}function Dt(n,c){n&1&&(i(0,"li",20)(1,"small",21),r(2),o(3,"translate"),a(),i(4,"button",22),o(5,"translate"),r(6),o(7,"translate"),a()()),n&2&&(t(2),p(l(3,3,"settings.changes.saved")),t(2),f("aria-label",l(5,5,"menu.tooltip_restart")),t(2),_(" ",l(7,7,"menu.tooltip_restart")," "))}function Pt(n,c){if(n&1){let e=k();i(0,"ul",8)(1,"li",15)(2,"span",16),r(3),o(4,"translate"),m(5,"br"),i(6,"div",87),r(7),o(8,"translate"),a(),T(9,Ft,6,9,"span",88,A),a(),i(11,"button",89),o(12,"translate"),x("click",function(){h(e);let d=u();return S(d.selectNetworkInterfaces())}),m(13,"i",90),a()(),i(14,"li",12)(15,"span"),r(16),o(17,"translate"),m(18,"br"),i(19,"small",76),r(20),o(21,"translate"),a()(),i(22,"div",23)(23,"select",91),o(24,"translate"),g(25,Vt,3,3,"option",92),i(26,"option",93),r(27),o(28,"translate"),a(),i(29,"option",94),r(30,"Bonjour HAP"),a(),g(31,Rt,3,3,"option",95),a()()(),i(32,"li",12)(33,"span"),r(34),o(35,"translate"),m(36,"br"),i(37,"small",76),r(38),o(39,"translate"),a()(),i(40,"div",23),m(41,"input",96),o(42,"translate"),a()(),i(43,"li",12)(44,"span"),r(45),o(46,"translate"),m(47,"br"),i(48,"small",76),r(49),o(50,"translate"),a()(),i(51,"div",23),m(52,"input",97),o(53,"translate"),a()(),g(54,Dt,8,9,"li",20),a()}if(n&2){let e=u();t(3),_(" ",l(4,22,"settings.network.title_network_interfaces")),t(4),p(l(8,24,"settings.network.message_network_interface")),t(2),M(e.bridgeNetworkAdapters),t(2),b("disabled",!e.availableNetworkAdapters.length),f("aria-label",l(12,26,"settings.network.title_network_interfaces")),t(2),b("ngClass",H(48,xt,!e.availableNetworkAdapters.length)),t(3),_(" ",l(17,28,"settings.mdns_advertiser")),t(4),p(l(21,30,"settings.mdns_advertiser_help")),t(3),b("formControl",e.legacyMdnsFormControl),f("aria-label",l(24,32,"settings.mdns_advertiser")),t(2),v(e.showAvahiMdnsOption?25:-1),t(2),_(" Ciao ",e.showAvahiMdnsOption?"":"("+l(28,34,"settings.mdns_advertiser_rec")+")"," "),t(4),v(e.showResolvedMdnsOption?31:-1),t(3),_(" ",l(35,36,"settings.network.port_hb")),t(4),p(l(39,38,"settings.network.port_hb_desc")),t(3),b("formControl",e.hbPortFormControl)("ngClass",H(50,ie,e.isInvalidHbPort)),f("aria-label",l(42,40,"settings.network.port_ui")),t(4),_(" ",l(46,42,"settings.network.port_ui")),t(4),p(l(50,44,"settings.network.port_ui_desc")),t(3),b("ngClass",H(52,ie,e.isInvalidHbUiPort)),f("aria-label",l(53,46,"settings.network.port_ui")),t(2),v(e.hasChangedHbPort&&!e.isInvalidHbPort||e.hasChangedUiSettings||e.hasChangedMdns||e.hasChangedBridgeNetworkAdapters?54:-1)}}function Ht(n,c){n&1&&(i(0,"p",9),r(1),o(2,"translate"),a()),n&2&&(t(),p(l(2,1,"settings.cache.desc")))}function Lt(n,c){if(n&1){let e=k();i(0,"ul",100)(1,"li",15)(2,"span",16),r(3),o(4,"translate"),m(5,"br"),i(6,"small",76),r(7),o(8,"translate"),a()(),i(9,"button",17),o(10,"translate"),x("click",function(){h(e);let d=u(2);return S(d.removeSingleCachedAccessories())}),m(11,"i",18),a()(),i(12,"li",15)(13,"span",16),r(14),o(15,"translate"),m(16,"br"),i(17,"small",76),r(18),o(19,"translate"),a()(),i(20,"button",17),o(21,"translate"),x("click",function(){h(e);let d=u(2);return S(d.removeBridgeAccessories())}),m(22,"i",18),a()(),i(23,"li",15)(24,"span",16),r(25),o(26,"translate"),m(27,"br"),i(28,"small",76),r(29),o(30,"translate"),a()(),i(31,"button",17),o(32,"translate"),x("click",function(){h(e);let d=u(2);return S(d.removeAllCachedAccessories())}),m(33,"i",18),a()()()}n&2&&(t(3),_(" ",l(4,9,"reset.accessory_ind.title")),t(4),p(l(8,11,"reset.accessory_ind.desc")),t(2),f("aria-label",l(10,13,"reset.accessory_ind.title")),t(5),_(" ",l(15,15,"reset.bridge_accessories.title")),t(4),p(l(19,17,"reset.bridge_accessories.desc")),t(2),f("aria-label",l(21,19,"reset.accessory_all.title")),t(5),_(" ",l(26,21,"reset.accessory_all.title")),t(4),p(l(30,23,"reset.accessory_all.desc")),t(2),f("aria-label",l(32,25,"reset.accessory_all.title")))}function Ot(n,c){if(n&1){let e=k();i(0,"div",1)(1,"div",2),x("click",function(){h(e);let d=u();return S(d.toggleSection("cache"))}),i(2,"h5",3),m(3,"i",4),r(4),o(5,"translate"),a()(),g(6,Ht,3,3,"p",9),g(7,Lt,34,27,"ul",100),a()}if(n&2){let e=u();t(),f("aria-expanded",e.showFields.cache?"true":"false")("aria-controls","fieldsCache"),t(2),b("ngClass",e.showFields.cache?"fa-chevron-down":"fa-chevron-right"),t(),_(" ",l(5,6,"settings.cache.title")," "),t(2),v(e.showFields.cache?6:-1),t(),v(e.showFields.cache?7:-1)}}function Ut(n,c){n&1&&(i(0,"p",9),r(1),o(2,"translate"),a()),n&2&&(t(),p(l(2,1,"reset.bridges.desc")))}function zt(n,c){if(n&1){let e=k();i(0,"li",15)(1,"span",16),r(2),o(3,"translate"),m(4,"br"),i(5,"small",76),r(6),o(7,"translate"),a()(),i(8,"button",17),o(9,"translate"),x("click",function(){h(e);let d=u(2);return S(d.unpairAccessory())}),m(10,"i",18),a()()}n&2&&(t(2),_(" ",l(3,3,"reset.bridge_ind.title")),t(4),p(l(7,5,"reset.bridge_ind.desc")),t(2),f("aria-label",l(9,7,"reset.bridge_ind.title")))}function jt(n,c){if(n&1){let e=k();i(0,"ul",10),g(1,zt,11,9,"li",15),i(2,"li",15)(3,"span",16),r(4),o(5,"translate"),o(6,"titlecase"),m(7,"br"),i(8,"small",76),r(9),o(10,"translate"),a()(),i(11,"button",17),o(12,"translate"),x("click",function(){h(e);let d=u();return S(d.resetHomebridgeState())}),m(13,"i",18),a()()()}if(n&2){let e=u();t(),v(e.$settings.env.serviceMode?1:-1),t(3),_(" ",l(6,6,l(5,4,"reset.bridge_all.title"))),t(5),p(l(10,8,"reset.bridge_all.desc")),t(2),f("aria-label",l(12,10,"reset.bridge_all.title"))}}var rn=(()=>{class n{$api=w(R);$modal=w(Ce);$plugin=w(ye);$settings=w(Se);$toastr=w(V);$translate=w(F);originalServiceForm={HOMEBRIDGE_DEBUG:!1,HOMEBRIDGE_KEEP_ORPHANS:!1,HOMEBRIDGE_INSECURE:!0,ENV_DEBUG:"",ENV_NODE_OPTIONS:""};originalUiSettingsForm={port:0};originalLoginWallpaper="";originalMdnsSetting="";originalBridgeNetworkAdapters=[];originalHbPort=0;originalHbName="";hasChangedService=!1;hasChangedUiSettings=!1;hasChangedMdns=!1;hasChangedBridgeNetworkAdapters=!1;hasChangedHbPort=!1;hasChangedHbName=!1;hasChangedLoginWallpaper=!1;isInvalidHbPort=!1;isInvalidHbName=!1;isInvalidHbUiPort=!1;serviceForm=new Z({HOMEBRIDGE_DEBUG:new D(!1),HOMEBRIDGE_KEEP_ORPHANS:new D(!1),HOMEBRIDGE_INSECURE:new D(!0),ENV_DEBUG:new D(""),ENV_NODE_OPTIONS:new D("")});uiSettingsForm=new Z({port:new D(0)});loginWallpaper="";legacyMdnsFormControl=new se(!1);showAvahiMdnsOption=!1;showResolvedMdnsOption=!1;availableNetworkAdapters=[];bridgeNetworkAdapters=[];hbPortFormControl=new D(0);hbNameFormControl=new D("");isHbV2=!1;showFields={general:!0,display:!0,startup:!0,network:!0,reset:!0,cache:!0};file='<span class="font-monospace">ui-wallpaper.jpg</span>';linkDebug='<a href="https://github.com/homebridge/homebridge-config-ui-x/wiki/Debug-Common-Values" target="_blank"><i class="fa fa-fw fa-external-link-alt primary-text"></i></a>';constructor(){}ngOnInit(){this.isHbV2=this.$settings.env.homebridgeVersion.startsWith("2"),this.hbNameFormControl.patchValue(this.$settings.env.homebridgeInstanceName),this.hbNameFormControl.valueChanges.subscribe(e=>this.setHomebridgeName(e)),this.originalHbName=this.$settings.env.homebridgeInstanceName,this.initUiSettingsForm(),this.initDisplaySettingsForm(),this.initNetworkingOptions(),this.$settings.env.serviceMode&&this.initServiceModeForm()}initUiSettingsForm(){this.originalUiSettingsForm={port:this.$settings.env.port},this.uiSettingsForm.patchValue({port:this.$settings.env.port}),this.uiSettingsForm.valueChanges.pipe(Q(500)).subscribe(e=>{let s=!1;Object.keys(e).forEach(d=>{this.originalUiSettingsForm[d]!==e[d]&&(this.saveUiSettingChange(d,e[d]),s=!0)}),this.hasChangedUiSettings=s})}initServiceModeForm(){this.$api.get("/platform-tools/hb-service/homebridge-startup-settings").subscribe({next:e=>{Object.keys(e).forEach(s=>{this.originalServiceForm[s]=e[s]}),this.serviceForm.patchValue(e),this.serviceForm.valueChanges.pipe(Q(500)).subscribe(this.saveServiceModeSettings.bind(this))},error:e=>{console.error(e),this.$toastr.error(e.message,this.$translate.instant("toast.title_error"))}})}initDisplaySettingsForm(){this.originalLoginWallpaper=this.$settings.loginWallpaper,this.loginWallpaper=this.$settings.loginWallpaper}saveUiSettingChange(e,s){switch(e){case"lang":this.$settings.setLang(s);break;case"lightingMode":this.$settings.setLightingMode(s,"user");break;case"menuMode":this.$settings.setMenuMode(s),window.location.reload();break;case"theme":this.$settings.setTheme(s);break;case"tempUnits":this.$settings.setEnvItem("temperatureUnits",s);break;case"loginWallpaper":this.$settings.setEnvItem("loginWallpaper",s),this.hasChangedLoginWallpaper=s!==this.originalLoginWallpaper;break;case"port":if(!s||typeof s!="number"||s<1025||s>65533||Number.isInteger(s)===!1||s===this.hbPortFormControl.value){this.isInvalidHbUiPort=!0;return}this.$settings.setEnvItem("port",s),this.isInvalidHbUiPort=!1;break}E(this.$api.put("/config-editor/ui",{key:e,value:s})).catch(d=>{console.error(d),this.$toastr.error(d.message,this.$translate.instant("toast.title_error"))})}openUiSettings(){this.$plugin.settings({name:"homebridge-config-ui-x",displayName:"Homebridge UI",settingsSchema:!0,links:{}})}openBackupModal(){this.$modal.open(we,{size:"lg",backdrop:"static"})}saveServiceModeSettings(e=this.serviceForm.value){this.$api.put("/platform-tools/hb-service/homebridge-startup-settings",e).subscribe({next:()=>{this.hasChangedService=JSON.stringify(e)!==JSON.stringify(this.originalServiceForm)},error:s=>{console.error(s),this.$toastr.error(s.message,this.$translate.instant("toast.title_error"))}})}resetHomebridgeState(){this.$modal.open(Ie,{size:"lg",backdrop:"static"})}unpairAccessory(){this.$modal.open(Ae,{size:"lg",backdrop:"static"})}removeAllCachedAccessories(){this.$modal.open(Ee,{size:"lg",backdrop:"static"})}removeSingleCachedAccessories(){this.$modal.open(ke,{size:"lg",backdrop:"static"})}removeBridgeAccessories(){this.$modal.open(Be,{size:"lg",backdrop:"static"})}initNetworkingOptions(){return y(this,null,function*(){try{this.getNetworkSettings(),(this.$settings.env.runningInLinux||this.$settings.env.runningInDocker||this.$settings.env.runningInSynologyPackage||this.$settings.env.runningInPackageMode)&&(this.showAvahiMdnsOption=!0,this.showResolvedMdnsOption=!0)}catch{}})}getNetworkSettings(){return y(this,null,function*(){return Promise.all([E(this.$api.get("/server/network-interfaces/system")),E(this.$api.get("/server/network-interfaces/bridge")),E(this.$api.get("/server/mdns-advertiser")),E(this.$api.get("/server/port"))]).then(([e,s,d,C])=>{this.availableNetworkAdapters=e,this.buildBridgeNetworkAdapterList(s),this.legacyMdnsFormControl.patchValue(d.advertiser),this.originalMdnsSetting=d.advertiser,this.originalBridgeNetworkAdapters=this.bridgeNetworkAdapters.map(U=>U.iface),this.legacyMdnsFormControl.valueChanges.subscribe(U=>{this.setHomebridgeMdnsSetting(U)}),this.hbPortFormControl.patchValue(C.port),this.hbPortFormControl.valueChanges.subscribe(U=>this.setHomebridgePort(U)),this.originalHbPort=C.port})})}setHomebridgeMdnsSetting(e){return y(this,null,function*(){this.$api.put("/server/mdns-advertiser",{advertiser:e}).subscribe({next:()=>{this.hasChangedMdns=e!==this.originalMdnsSetting},error:s=>{console.error(s),this.$toastr.error(s.message,this.$translate.instant("toast.title_error"))}})})}setNetworkInterfaces(e){return y(this,null,function*(){this.$api.put("/server/network-interfaces/bridge",{adapters:e}).subscribe({next:()=>{this.hasChangedBridgeNetworkAdapters=this.originalBridgeNetworkAdapters.join(",")!==e.join(",")},error:s=>{console.error(s),this.$toastr.error(s.message,this.$translate.instant("toast.title_error"))}})})}setHomebridgeName(e){return y(this,null,function*(){if(!e||!/^[\p{L}\p{N}][\p{L}\p{N} ']*[\p{L}\p{N}]$/u.test(e)){this.isInvalidHbName=!0;return}this.$api.put("/server/name",{name:e}).subscribe({next:()=>{this.hasChangedHbName=this.originalHbName!==e,this.$settings.setEnvItem("homebridgeInstanceName",e),this.isInvalidHbName=!1},error:()=>{this.isInvalidHbName=!0}})})}setHomebridgePort(e){return y(this,null,function*(){if(e===this.uiSettingsForm.get("port").value){this.isInvalidHbPort=!0;return}this.$api.put("/server/port",{port:e}).subscribe({next:()=>{this.hasChangedHbPort=this.originalHbPort!==e,this.isInvalidHbPort=!1},error:()=>{this.isInvalidHbPort=!0}})})}buildBridgeNetworkAdapterList(e){if(!e.length){this.bridgeNetworkAdapters=[];return}this.bridgeNetworkAdapters=e.map(s=>{let d=this.availableNetworkAdapters.find(C=>C.iface===s);return d?(d.selected=!0,d.missing=!1,d):{iface:s,missing:!0}})}selectNetworkInterfaces(){let e=this.$modal.open(Te,{size:"lg",backdrop:"static"});e.componentInstance.availableNetworkAdapters=this.availableNetworkAdapters,e.componentInstance.bridgeNetworkAdapters=this.bridgeNetworkAdapters,e.result.then(s=>{this.buildBridgeNetworkAdapterList(s),this.setNetworkInterfaces(s)}).catch(()=>{})}toggleSection(e){this.showFields[e]=!this.showFields[e]}static \u0275fac=function(s){return new(s||n)};static \u0275cmp=B({type:n,selectors:[["ng-component"]],decls:35,vars:35,consts:[[1,"primary-text","m-0"],[1,"my-4"],["role","button","tabindex","0",1,"mt-3","hover-pointer",3,"click"],[1,"primary-text"],[1,"fa","fa-fw",3,"ngClass"],["id","fieldsGeneral",1,"list-group","list-group-box","mt-2","mx-0"],["id","fieldsDisplay",1,"list-group","list-group-box","mt-2","mx-0"],["novalidate","",1,"my-4",3,"formGroup"],["id","fieldsNetwork",1,"list-group","list-group-box","mt-2","mx-0"],[1,"small","grey-text","mb-2","mx-0"],["id","fieldsReset",1,"list-group","list-group-box","mt-2","mx-0"],[1,"pb-3"],[1,"list-group-item","d-block","d-md-flex","justify-content-between","align-items-center"],[1,"my-3","my-md-0","pl-0","pl-md-5","w-auto"],["type","text",1,"form-control","custom-input","resp-input",3,"formControl","ngClass"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"pe-2"],[1,"btn","btn-primary","waves-effect","m-0","ms-3",2,"min-width","50px",3,"click"],[1,"fas","fa-fw","fa-arrow-right"],["routerLink","/users",1,"btn","btn-primary","waves-effect","m-0","ms-3",2,"min-width","50px"],[1,"list-group-item","d-flex","flex-column","align-items-center"],[1,"grey-text","my-2"],["routerLink","/restart",1,"btn","btn-primary","waves-effect","my-2"],[1,"my-3","my-md-0","ps-0","ps-md-5","w-auto"],[1,"custom-select","resp-select",3,"ngModelChange","ngModel"],["value","auto"],["value","bg"],["value","ca"],["value","zh-CN"],["value","zh-TW"],["value","cs"],["value","nl"],["value","en"],["value","fi"],["value","fr"],["value","de"],["value","he"],["value","hu"],["value","id"],["value","it"],["value","ja"],["value","ko"],["value","mk"],["value","no"],["value","pl"],["value","pt-BR"],["value","pt"],["value","ru"],["value","sl"],["value","es"],["value","sv"],["value","th"],["value","tr"],["value","uk"],["value","orange"],["value","red"],["value","pink"],["value","purple"],["value","deep-purple"],["value","indigo"],["value","blue"],["value","blue-grey"],["value","cyan"],["value","green"],["value","teal"],["value","grey"],["value","brown"],["value","light"],["value","dark"],["value","default"],["value","freeze"],[1,"grey-text","pe-2",3,"innerHTML"],["name","search_wallpaper","autocomplete","off","type","text","placeholder","/path-to/image.png",1,"form-control","custom-input","resp-input",3,"ngModelChange","ngModel"],["value","c"],["value","f"],["id","fieldsStartup",1,"list-group","list-group-box","mb-4","mx-0"],[1,"grey-text","pe-2"],["type","checkbox","id","homebridgeDebugMode","formControlName","HOMEBRIDGE_DEBUG",1,"rendux-input"],["for","homebridgeDebugMode",1,"rendux-label","ms-3",2,"min-width","50px"],["type","checkbox","id","homebridgeInsecureMode","formControlName","HOMEBRIDGE_INSECURE",1,"rendux-input"],["for","homebridgeInsecureMode",1,"rendux-label","ms-3",2,"min-width","50px"],["type","checkbox","id","homebridgeKeepOrphans","formControlName","HOMEBRIDGE_KEEP_ORPHANS",1,"rendux-input"],["for","homebridgeKeepOrphans",1,"rendux-label","ms-3",2,"min-width","50px"],[1,"font-monospace"],["formControlName","ENV_DEBUG","type","text","placeholder","HAP-NodeJS:Advertiser,HAP-NodeJS:Service",1,"form-control","custom-input","resp-input"],["formControlName","ENV_NODE_OPTIONS","type","text","placeholder","--max-old-space-size=512 --max-http-header-size=8192",1,"form-control","custom-input","resp-input"],["routerLink","/platform-tools/docker/startup-script",1,"btn","btn-primary","waves-effect","m-0","ms-3",2,"min-width","50px"],[1,"small","grey-text","pe-2"],[1,"badge","badge-primary","me-1",3,"ngClass"],[1,"btn","btn-primary","waves-effect","m-0","ms-3",2,"min-width","50px",3,"click","disabled"],[1,"fas","fa-fw","fa-arrow-right",3,"ngClass"],[1,"custom-select","resp-select",3,"formControl"],["value","avahi"],["value","ciao"],["value","bonjour-hap"],["value","resolved"],["type","number","min","1025","max","65533",1,"form-control","custom-input","resp-input",3,"formControl","ngClass"],["type","number","min","1025","max","65533","placeholder","8581","formControlName","port",1,"form-control","custom-input","resp-input",3,"ngClass"],[1,"fas","fa-fw","fa-exclamation-triangle"],[1,"fw-normal"],["id","fieldsCache",1,"list-group","list-group-box","mb-4","mx-0"]],template:function(s,d){s&1&&(i(0,"h3",0),r(1),o(2,"translate"),a(),i(3,"div",1)(4,"div",2),x("click",function(){return d.toggleSection("general")}),i(5,"h5",3),m(6,"i",4),r(7),o(8,"translate"),a()(),g(9,ht,29,26,"ul",5),a(),i(10,"div",1)(11,"div",2),x("click",function(){return d.toggleSection("display")}),i(12,"h5",3),m(13,"i",4),r(14),o(15,"translate"),a()(),g(16,wt,155,94,"ul",6),a(),g(17,Mt,7,8,"form",7),i(18,"form",7)(19,"div",2),x("click",function(){return d.toggleSection("network")}),i(20,"h5",3),m(21,"i",4),r(22),o(23,"translate"),a()(),g(24,Pt,55,54,"ul",8),a(),g(25,Ot,8,8,"div",1),i(26,"div",1)(27,"div",2),x("click",function(){return d.toggleSection("reset")}),i(28,"h5",3),m(29,"i",4),r(30),o(31,"translate"),a()(),g(32,Ut,3,3,"p",9),g(33,jt,14,12,"ul",10),a(),m(34,"div",11)),s&2&&(t(),p(l(2,25,"menu.settings.title")),t(3),f("aria-expanded",d.showFields.general?"true":"false")("aria-controls","fieldsGeneral"),t(2),b("ngClass",d.showFields.general?"fa-chevron-down":"fa-chevron-right"),t(),_(" ",l(8,27,"settings.general.title_general")," "),t(2),v(d.showFields.general?9:-1),t(2),f("aria-expanded",d.showFields.display?"true":"false")("aria-controls","fieldsDisplay"),t(2),b("ngClass",d.showFields.display?"fa-chevron-down":"fa-chevron-right"),t(),_(" ",l(15,29,"settings.general.title_display")," "),t(2),v(d.showFields.display?16:-1),t(),v(d.$settings.env.serviceMode||d.$settings.env.runningInDocker?17:-1),t(),b("formGroup",d.uiSettingsForm),t(),f("aria-expanded",d.showFields.network?"true":"false")("aria-controls","fieldsNetwork"),t(2),b("ngClass",d.showFields.network?"fa-chevron-down":"fa-chevron-right"),t(),_(" ",l(23,31,"settings.network.title_network")," "),t(2),v(d.showFields.network?24:-1),t(),v(d.$settings.env.serviceMode?25:-1),t(2),f("aria-expanded",d.showFields.reset?"true":"false")("aria-controls","fieldsReset"),t(2),b("ngClass",d.showFields.reset?"fa-chevron-down":"fa-chevron-right"),t(),_(" ",l(31,33,"reset.bridges.title")," "),t(2),v(d.showFields.reset?32:-1),t(),v(d.showFields.reset?33:-1))},dependencies:[O,he,K,de,ge,ve,oe,pe,G,ue,W,le,xe,be,q,fe,ce,me,_e,j,$],encapsulation:2})}return n})();export{Ee as a,Ie as b,Te as c,rn as d};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-SSDIHLPQ.js";import"./chunk-3GULJZHP.js";import"./chunk-4XCUHCZU.js";import"./chunk-RI7DCDJD.js";import"./chunk-GV7Q453O.js";import"./chunk-CHQVUHUA.js";import"./chunk-3VIG5M5R.js";import"./chunk-XZR7OZ6I.js";import"./chunk-FBR4HHZM.js";import"./chunk-Q7VA22QV.js";import"./chunk-FHMZVMZK.js";import"./chunk-JMCN2SQV.js";import"./chunk-YXEV6KOV.js";import"./chunk-UH63AXBP.js";import"./chunk-LTDUXFUG.js";import"./chunk-2PGR64P5.js";import"./chunk-7S2SCSTB.js";import"./chunk-HLSZVFAU.js";import"./chunk-HE5M3EM4.js";import"./chunk-QR7L4UUP.js";import"./chunk-HHNFJRKH.js";import"./chunk-EGGX5SGW.js";import"./chunk-I43RBOES.js";import"./chunk-ASBFWS7L.js";import"./chunk-DJKI5XBW.js";import"./chunk-U4V4ICSI.js";export{a as PluginsComponent};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-UV3HFKCM.js";import"./chunk-CHQVUHUA.js";import"./chunk-XZR7OZ6I.js";import"./chunk-HLSZVFAU.js";import"./chunk-QR7L4UUP.js";import"./chunk-EGGX5SGW.js";import"./chunk-I43RBOES.js";import"./chunk-ASBFWS7L.js";import"./chunk-DJKI5XBW.js";import"./chunk-U4V4ICSI.js";export{a as StartupScriptComponent};
@@ -1 +0,0 @@
1
- import{a as f}from"./chunk-KO5P6YA2.js";import{a as s}from"./chunk-SSDIHLPQ.js";import"./chunk-3GULJZHP.js";import"./chunk-4XCUHCZU.js";import"./chunk-RI7DCDJD.js";import"./chunk-GV7Q453O.js";import"./chunk-CHQVUHUA.js";import"./chunk-3VIG5M5R.js";import"./chunk-XZR7OZ6I.js";import"./chunk-FBR4HHZM.js";import"./chunk-Q7VA22QV.js";import"./chunk-FHMZVMZK.js";import"./chunk-JMCN2SQV.js";import"./chunk-YXEV6KOV.js";import"./chunk-UH63AXBP.js";import"./chunk-LTDUXFUG.js";import"./chunk-2PGR64P5.js";import{q as l}from"./chunk-7S2SCSTB.js";import{A as u,z as m}from"./chunk-HLSZVFAU.js";import"./chunk-HE5M3EM4.js";import{g as e}from"./chunk-QR7L4UUP.js";import"./chunk-HHNFJRKH.js";import"./chunk-EGGX5SGW.js";import"./chunk-I43RBOES.js";import"./chunk-ASBFWS7L.js";import{c as p}from"./chunk-DJKI5XBW.js";import{ha as t,kd as n,mb as r}from"./chunk-U4V4ICSI.js";var g=[{path:"",loadComponent:()=>import("./chunk-B55KOX6X.js").then(o=>o.PluginsComponent)}],d=(()=>{class o{static \u0275fac=function(i){return new(i||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[e.forChild(g),e]})}return o})();var v=(()=>{class o{static \u0275fac=function(i){return new(i||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[n,m,u,p.forChild(),l,f,d,s]})}return o})();export{v as PluginsModule};
@@ -1 +0,0 @@
1
- import{a as f,b as u}from"./chunk-K6DFEHMG.js";import{a as d}from"./chunk-B7GLOYT7.js";import{c as p}from"./chunk-TLI3C4PG.js";import"./chunk-SQAPWTDH.js";import"./chunk-3VIG5M5R.js";import"./chunk-XZR7OZ6I.js";import{q as n}from"./chunk-7S2SCSTB.js";import{z as s}from"./chunk-HLSZVFAU.js";import"./chunk-HE5M3EM4.js";import{g as i}from"./chunk-QR7L4UUP.js";import"./chunk-HHNFJRKH.js";import"./chunk-EGGX5SGW.js";import"./chunk-I43RBOES.js";import"./chunk-ASBFWS7L.js";import{c}from"./chunk-DJKI5XBW.js";import{ha as r,kd as m,mb as e}from"./chunk-U4V4ICSI.js";var C=[{path:"",loadComponent:()=>import("./chunk-53MG7QXV.js").then(o=>o.AccessoriesComponent)}],l=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=e({type:o});static \u0275inj=r({imports:[i.forChild(C),i]})}return o})();var S=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=e({type:o});static \u0275inj=r({imports:[m,s,n,p,c.forChild(),d,l,u,f]})}return o})();export{S as AccessoriesModule};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-VEAJQAIK.js";import"./chunk-HE5M3EM4.js";import"./chunk-QR7L4UUP.js";import"./chunk-HHNFJRKH.js";import"./chunk-EGGX5SGW.js";import"./chunk-I43RBOES.js";import"./chunk-ASBFWS7L.js";import"./chunk-DJKI5XBW.js";import"./chunk-U4V4ICSI.js";export{a as ContainerRestartComponent};
@@ -1 +0,0 @@
1
- import"./chunk-OIOAEYOL.js";import"./chunk-YC7T54ZI.js";import"./chunk-HE5M3EM4.js";import{g as n}from"./chunk-QR7L4UUP.js";import"./chunk-HHNFJRKH.js";import"./chunk-EGGX5SGW.js";import"./chunk-I43RBOES.js";import"./chunk-ASBFWS7L.js";import{c as m}from"./chunk-DJKI5XBW.js";import{ha as t,kd as i,mb as r}from"./chunk-U4V4ICSI.js";var d=[{path:"",redirectTo:"/",pathMatch:"full"},{path:"restart-server",loadComponent:()=>import("./chunk-2RNJSFS7.js").then(o=>o.RestartLinuxComponent)},{path:"shutdown-server",loadComponent:()=>import("./chunk-Y6BMKDRD.js").then(o=>o.ShutdownLinuxComponent)}],u=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[n.forChild(d),n]})}return o})();var g=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[i,m.forChild(),u]})}return o})();export{g as LinuxModule};
@@ -1 +0,0 @@
1
- import"./chunk-YJULXWER.js";import{q as p}from"./chunk-7S2SCSTB.js";import{A as m}from"./chunk-HLSZVFAU.js";import{g as i}from"./chunk-QR7L4UUP.js";import"./chunk-EGGX5SGW.js";import"./chunk-I43RBOES.js";import"./chunk-ASBFWS7L.js";import{c as s}from"./chunk-DJKI5XBW.js";import{ha as t,kd as n,mb as r}from"./chunk-U4V4ICSI.js";var a=[{path:"",loadComponent:()=>import("./chunk-XM5KQQOD.js").then(o=>o.PowerOptionsComponent)}],u=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[i.forChild(a),i]})}return o})();var j=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[n,u,p,m,s]})}return o})();export{j as PowerOptionsModule};
@@ -1 +0,0 @@
1
- import{A as j,c as O,d as C,e as T,f as N,g as q,j as w,m as H,p as z,q as D,w as G,x as Q,z as A}from"./chunk-HLSZVFAU.js";import{d as U}from"./chunk-QR7L4UUP.js";import{c as X}from"./chunk-HHNFJRKH.js";import{b as K}from"./chunk-EGGX5SGW.js";import{j as J}from"./chunk-I43RBOES.js";import{b as W}from"./chunk-DJKI5XBW.js";import{$a as n,Ac as l,Bc as d,Hb as p,Ib as u,Lc as b,M as I,Nb as m,Nc as P,Ob as r,Pb as a,Qb as s,Xa as x,Xb as M,Yb as F,bd as B,dc as f,ec as L,ed as R,fb as k,h as y,jc as c,kc as v,la as g,lb as E,lc as V,sd as $,w as S,wc as h}from"./chunk-U4V4ICSI.js";var Z=["password"],ee=["username"],te=["otp"],ie=e=>({background:e}),Y=e=>({"is-invalid":e});function ne(e,_){if(e&1&&(r(0,"div",8)(1,"span",12),s(2,"i",13),a(),s(3,"input",14,0),l(5,"translate"),a(),r(6,"div",8)(7,"span",12),s(8,"i",15),a(),s(9,"input",16,1),l(11,"translate"),a()),e&2){let i=F();n(3),m("placeholder",d(5,4,"users.label_username"))("ngClass",h(8,Y,i.form.controls.username.dirty&&i.form.controls.username.errors)),n(6),m("placeholder",d(11,6,"users.label_password"))("ngClass",h(10,Y,i.form.controls.password.dirty&&i.form.controls.password.errors))}}function oe(e,_){e&1&&(r(0,"div",8)(1,"span",12),s(2,"i",17),a(),s(3,"input",18,2),l(5,"translate"),a()),e&2&&(n(3),m("placeholder",d(5,1,"login.label_2fa_code")))}function ae(e,_){e&1&&(r(0,"div",9)(1,"div",12),s(2,"i",19),a(),r(3,"div",20)(4,"div",21),c(5),l(6,"translate"),a(),s(7,"div",22),l(8,"translate"),a()()),e&2&&(n(5),v(d(6,2,"login.invalid_credentials")),n(2),m("innerHTML",d(8,4,"login.invalid_credentials_2"),x))}function re(e,_){e&1&&(r(0,"div",9)(1,"div",12),s(2,"i",19),a(),r(3,"div",20)(4,"div",21),c(5),l(6,"translate"),a(),s(7,"div",22),l(8,"translate"),a()()),e&2&&(n(5),v(d(6,2,"login.invalid_code")),n(2),m("innerHTML",d(8,4,"login.invalid_credentials_2"),x))}var _e=(()=>{class e{cdr;$auth=g(X);$router=g(U);$settings=g(K);passwordInput=b("password");usernameInput=b("username");otpInput=b("otp");form;backgroundStyle;invalidCredentials=!1;invalid2faCode=!1;twoFactorCodeRequired=!1;inProgress=!1;targetRoute;constructor(i){this.cdr=i}ngOnInit(){this.form=new q({username:new w(""),password:new w("")}),this.form.valueChanges.pipe(I(500)).subscribe(i=>{let o=this.passwordInput()?.nativeElement.value;o&&o!==i.password&&this.form.controls.password.setValue(o)}),this.targetRoute=window.sessionStorage.getItem("target_route")||"",this.setBackground()}ngAfterViewChecked(){this.cdr.detectChanges()}setBackground(){return y(this,null,function*(){if(this.$settings.settingsLoaded||(yield S(this.$settings.onSettingsLoaded)),this.$settings.env.customWallpaperHash&&this.$settings.env.customWallpaperHash){let i=`${J.api.base}/auth/wallpaper/${this.$settings.env.customWallpaperHash}`;this.backgroundStyle=`url('${i}') center/cover`}})}onSubmit(){return y(this,null,function*(){this.invalidCredentials=!1,this.invalid2faCode=!1,this.inProgress=!0,document.getElementById("submit-button")?.blur();let i=this.passwordInput()?.nativeElement.value;i&&i!==this.form.get("password").value&&this.form.controls.password.setValue(i);let o=this.usernameInput()?.nativeElement.value;if(o&&o!==this.form.get("username").value&&this.form.controls.username.setValue(o),this.twoFactorCodeRequired){let t=this.otpInput()?.nativeElement.value;t&&t!==this.form.get("otp").value&&this.form.controls.username.setValue(t)}try{yield this.$auth.login(this.form.getRawValue()),this.$router.navigateByUrl(this.targetRoute),window.sessionStorage.removeItem("target_route")}catch(t){t.status===412?(this.form.controls.otp?(this.form.controls.otp.setErrors(["Invalid Code"]),this.invalid2faCode=!0):this.form.addControl("otp",new w("",[C.required,C.minLength(6),C.maxLength(6)])),this.twoFactorCodeRequired=!0,setTimeout(()=>{document.getElementById("form-ota").focus()},100)):this.invalidCredentials=!0}this.inProgress=!1})}static \u0275fac=function(o){return new(o||e)(k(P))};static \u0275cmp=E({type:e,selectors:[["ng-component"]],viewQuery:function(o,t){o&1&&(f(t.passwordInput,Z,5),f(t.usernameInput,ee,5),f(t.otpInput,te,5)),o&2&&L(3)},decls:15,vars:15,consts:[["username",""],["password",""],["otp",""],[1,"login-container","gradient","d-flex","align-items-start","justify-content-center",3,"ngStyle"],[1,"w-100","login-card","d-flex","py-4","flex-column"],["ngSrc","/assets/homebridge-color-round.svg","alt","Homebridge Logo","height","100","width","100","priority","true",1,"homebridge-logo","mx-auto","my-3"],["novalidate","",3,"ngSubmit","formGroup"],[1,"mb-4","text-center"],[1,"input-group","mb-4"],[1,"input-group","no-border","mb-4"],[1,"text-center"],["tabindex","3","id","submit-button","type","submit",1,"btn","btn-primary","mb-4",3,"disabled"],[1,"input-group-text","custom-input"],[1,"fas","fa-fw","fa-user","primary-text","fa-lg"],["formControlName","username","type","text","id","form-username","autofocus","","autocomplete","username","autocapitalize","none","tabindex","1","required","",1,"form-control","custom-input",3,"placeholder","ngClass"],[1,"fas","fa-fw","fa-lock","primary-text","fa-lg"],["formControlName","password","type","password","id","form-pass","autocomplete","current-password","tabindex","2","required","",1,"form-control","custom-input",3,"placeholder","ngClass"],[1,"fas","fa-fw","fa-key","primary-text","fa-lg"],["formControlName","otp","type","text","id","form-ota","autofocus","","autocomplete","one-time-code","autocapitalize","none","inputmode","numeric","pattern","[0-9]*","tabindex","1",1,"form-control","custom-input",3,"placeholder"],[1,"fas","fa-fw","fa-exclamation-triangle","pink-text","fa-lg"],[1,"form-control","custom-input"],[1,"small","grey-text","fw-semibold"],[1,"small","grey-text",3,"innerHTML"]],template:function(o,t){o&1&&(r(0,"div",3)(1,"div",4),s(2,"img",5),r(3,"form",6),M("ngSubmit",function(){return t.onSubmit()}),r(4,"h4",7),c(5),l(6,"translate"),a(),p(7,ne,12,12),p(8,oe,6,3,"div",8),p(9,ae,9,6,"div",9),p(10,re,9,6,"div",9),r(11,"div",10)(12,"button",11),c(13),l(14,"translate"),a()()()()()),o&2&&(m("ngStyle",h(13,ie,t.backgroundStyle)),n(3),m("formGroup",t.form),n(2),v(d(6,9,"setup.welcome_to_homebridge")),n(2),u(t.twoFactorCodeRequired?-1:7),n(),u(t.twoFactorCodeRequired?8:-1),n(),u(t.invalidCredentials?9:-1),n(),u(t.invalid2faCode?10:-1),n(2),m("disabled",t.form.invalid),n(),V(" ",d(14,11,"form.label_continue")," "))},dependencies:[R,A,H,O,T,N,G,Q,j,z,D,B,W,$],styles:["body{overflow:scroll!important} body.dark-mode .login-card{background-color:#2b2b2b;color:#fff}.login-container[_ngcontent-%COMP%]{z-index:-1;padding-top:2em;padding-bottom:2em;min-height:100%;background-size:300% 300%;-webkit-animation:_ngcontent-%COMP%_gradient 20s ease infinite;-moz-animation:gradient 20s ease infinite;-o-animation:gradient 20s ease infinite;animation:_ngcontent-%COMP%_gradient 20s ease infinite}@keyframes _ngcontent-%COMP%_gradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.login-card[_ngcontent-%COMP%]{max-width:550px;border-radius:1rem;padding-right:25px;padding-left:25px;background-color:#ffffffe6}.login-card[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:focus{background-color:inherit!important}@media screen and (max-width: 575px){.login-card[_ngcontent-%COMP%]{margin-left:1em;margin-right:1em}}.homebridge-logo[_ngcontent-%COMP%]{margin-bottom:10px}.btn-primary[_ngcontent-%COMP%]{background-color:#4a266c!important;border-color:#4a266c!important}"]})}return e})();export{_e as a};
@@ -1 +0,0 @@
1
- import{e as ft,m as gt}from"./chunk-ASBFWS7L.js";import{$a as r,Fb as M,Gb as E,Nb as l,Ob as h,Pb as p,Qb as F,Rb as Y,Sb as K,Ub as Q,Wa as ht,Wb as mt,Xa as q,Xb as j,Yb as c,a as u,b as T,cb as dt,dd as J,e as xt,fb as y,ga as C,gc as A,ha as lt,ic as m,ja as ct,jc as f,ka as w,la as _,lb as G,lc as b,ma as ut,mb as pt,n as g,ra as V,rb as S,sa as z,ua as N,ub as U,va as Z,za as O}from"./chunk-U4V4ICSI.js";var Tt=xt((De,Ut)=>{Ut.exports={name:"homebridge-config-ui-x",displayName:"Homebridge UI",version:"4.75.1-beta.2",description:"A web based management, configuration and control platform for Homebridge.",author:"oznu <dev@oz.nu>",license:"MIT",funding:[{type:"github",url:"https://github.com/sponsors/oznu"},{type:"paypal",url:"https://paypal.me/oznu"}],repository:{type:"git",url:"git+https://github.com/homebridge/homebridge-config-ui-x.git"},bugs:{url:"https://github.com/homebridge/homebridge-config-ui-x/issues"},keywords:["homebridge-plugin","ui","gui","web","homebridge","homebridge-config-ui-x","ui-x","config-ui-x","homebridge-x","homebridge server","homebridge ui","homebridge-ui","homebridge gui","homebridge-gui","web interface","config ui","management","config editor","linux","macOS","osx","windows","raspberry pi","accessory control","smart home","hb-service"],main:"./dist/index.js",bin:{"homebridge-config-ui-x":"dist/bin/standalone.js","hb-service":"dist/bin/hb-service.js"},engines:{node:"^18 || ^20 || ^22",homebridge:"^1.8.0 || ^2.0.0-beta.0"},scripts:{build:"npm run build:server && npm run build:ui","build:server":"rimraf dist && tsc -p tsconfig.build.json","build:ui":"npm run build --prefix ui",check:"npm run check:server && npm run check:ui","check:server":"npm install && npm outdated","check:ui":"npm install --prefix ui && npm outdated --prefix ui","lang-sync":"ts-node scripts/lang-sync.ts",lint:"eslint . --max-warnings=0","lint:fix":"npm run lint -- --fix",prepublishOnly:"npm i --package-lock-only && npm run lint && npm run build",start:"ts-node -r tsconfig-paths/register src/main.ts",test:"vitest run","test-coverage":"npm run test -- --coverage","upgrade-install":"./scripts/upgrade-install.sh",watch:'concurrently "npm run watch:ui" "npm run watch:server"',"watch:server":"nodemon","watch:ui":"npm run start --prefix ui"},dependencies:{"@fastify/helmet":"11.1.1","@fastify/multipart":"8.3.1","@fastify/static":"7.0.4","@homebridge/hap-client":"2.2.0","@homebridge/node-pty-prebuilt-multiarch":"0.11.14","@nestjs/axios":"3.1.3","@nestjs/common":"10.4.18","@nestjs/core":"10.4.18","@nestjs/jwt":"10.2.0","@nestjs/passport":"10.0.3","@nestjs/platform-fastify":"10.4.18","@nestjs/platform-socket.io":"10.4.18","@nestjs/swagger":"8.1.1","@nestjs/websockets":"10.4.18",axios:"1.9.0","bash-color":"0.0.4","class-transformer":"0.5.1","class-validator":"0.14.2",commander:"13.1.0",dayjs:"1.11.13",fastify:"4.29.1","fs-extra":"11.3.0",jsonwebtoken:"9.0.2",lodash:"4.17.21","node-cache":"5.1.2","node-schedule":"2.1.1",ora:"5.4.1",otplib:"12.0.1","p-limit":"3.1.0",passport:"0.7.0","passport-jwt":"4.0.1","reflect-metadata":"0.2.2",rxjs:"7.8.2",semver:"7.7.2",systeminformation:"5.27.1",tail:"2.2.6",tar:"7.4.3","tcp-port-used":"1.0.2",unzipper:"0.12.3"},devDependencies:{"@antfu/eslint-config":"^4.13.2","@nestjs/testing":"^10.4.18","@prettier/plugin-xml":"^3.4.1","@types/fs-extra":"^11.0.4","@types/lodash":"^4.17.17","@types/node":"^22.15.29","@types/node-schedule":"^2.1.7","@types/passport-jwt":"^4.0.1","@types/semver":"^7.7.0","@types/tail":"^2.2.3","@types/tcp-port-used":"^1.0.4","@types/unzipper":"^0.10.11","@vitest/coverage-v8":"^3.2.0",concurrently:"^9.1.2","eslint-plugin-format":"^1.0.1","form-data":"^4.0.2",nodemon:"^3.1.10",rimraf:"^6.0.1","ts-loader":"^9.5.2","ts-node":"^10.9.2","tsconfig-paths":"^4.2.0",typescript:"^5.8.3","unplugin-swc":"^1.5.4",vitest:"^3.2.0"},overrides:{"@nestjs/platform-fastify":{fastify:"4.29.1"}},maintainers:[{email:"bwp91@icloud.com",name:"bwp91"},{email:"dev@oz.nu",name:"oznu"},{email:"northern.man1@gmail.com",name:"northernman"},{email:"mail@anderl-bauer.de",name:"supereg"},{email:"khaos.tian@gmail.com",name:"khaost"},{email:"erik.baauw@xs4all.nl",name:"ebaauw"},{email:"donavan.becker@icloud.com",name:"donavanbecker"},{email:"dustin.greif@gmail.com",name:"dustin.greif"},{email:"nfarina@gmail.com",name:"nfarina"}],scarfSettings:{enabled:!1}}});var v=function(i){return i[i.State=0]="State",i[i.Transition=1]="Transition",i[i.Sequence=2]="Sequence",i[i.Group=3]="Group",i[i.Animate=4]="Animate",i[i.Keyframes=5]="Keyframes",i[i.Style=6]="Style",i[i.Trigger=7]="Trigger",i[i.Reference=8]="Reference",i[i.AnimateChild=9]="AnimateChild",i[i.AnimateRef=10]="AnimateRef",i[i.Query=11]="Query",i[i.Stagger=12]="Stagger",i}(v||{}),It="*";function tt(i,s){return{type:v.Trigger,name:i,definitions:s,options:{}}}function P(i,s=null){return{type:v.Animate,styles:s,timings:i}}function Yt(i,s=null){return{type:v.Sequence,steps:i,options:s}}function R(i){return{type:v.Style,styles:i,offset:null}}function H(i,s,t){return{type:v.State,name:i,styles:s,options:t}}function B(i,s,t=null){return{type:v.Transition,expr:i,animation:s,options:t}}var W=class{_onDoneFns=[];_onStartFns=[];_onDestroyFns=[];_originalOnDoneFns=[];_originalOnStartFns=[];_started=!1;_destroyed=!1;_finished=!1;_position=0;parentPlayer=null;totalTime;constructor(s=0,t=0){this.totalTime=s+t}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(s=>s()),this._onDoneFns=[])}onStart(s){this._originalOnStartFns.push(s),this._onStartFns.push(s)}onDone(s){this._originalOnDoneFns.push(s),this._onDoneFns.push(s)}onDestroy(s){this._onDestroyFns.push(s)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){queueMicrotask(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(s=>s()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(s=>s()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(s){this._position=this.totalTime?s*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(s){let t=s=="start"?this._onStartFns:this._onDoneFns;t.forEach(e=>e()),t.length=0}},X=class{_onDoneFns=[];_onStartFns=[];_finished=!1;_started=!1;_destroyed=!1;_onDestroyFns=[];parentPlayer=null;totalTime=0;players;constructor(s){this.players=s;let t=0,e=0,n=0,o=this.players.length;o==0?queueMicrotask(()=>this._onFinish()):this.players.forEach(a=>{a.onDone(()=>{++t==o&&this._onFinish()}),a.onDestroy(()=>{++e==o&&this._onDestroy()}),a.onStart(()=>{++n==o&&this._onStart()})}),this.totalTime=this.players.reduce((a,d)=>Math.max(a,d.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(s=>s()),this._onDoneFns=[])}init(){this.players.forEach(s=>s.init())}onStart(s){this._onStartFns.push(s)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(s=>s()),this._onStartFns=[])}onDone(s){this._onDoneFns.push(s)}onDestroy(s){this._onDestroyFns.push(s)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(s=>s.play())}pause(){this.players.forEach(s=>s.pause())}restart(){this.players.forEach(s=>s.restart())}finish(){this._onFinish(),this.players.forEach(s=>s.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(s=>s.destroy()),this._onDestroyFns.forEach(s=>s()),this._onDestroyFns=[])}reset(){this.players.forEach(s=>s.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(s){let t=s*this.totalTime;this.players.forEach(e=>{let n=e.totalTime?Math.min(1,t/e.totalTime):1;e.setPosition(n)})}getPosition(){let s=this.players.reduce((t,e)=>t===null||e.totalTime>t.totalTime?e:t,null);return s!=null?s.getPosition():0}beforeDestroy(){this.players.forEach(s=>{s.beforeDestroy&&s.beforeDestroy()})}triggerCallback(s){let t=s=="start"?this._onStartFns:this._onDoneFns;t.forEach(e=>e()),t.length=0}},Ot="!";var _t=["toast-component",""];function Et(i,s){if(i&1){let t=Q();h(0,"button",5),j("click",function(){V(t);let n=c();return z(n.remove())}),h(1,"span",6),f(2,"\xD7"),p()()}}function Ft(i,s){if(i&1&&(Y(0),f(1),K()),i&2){let t=c(2);r(),b("[",t.duplicatesCount+1,"]")}}function jt(i,s){if(i&1&&(h(0,"div"),f(1),S(2,Ft,2,1,"ng-container",4),p()),i&2){let t=c();m(t.options.titleClass),E("aria-label",t.title),r(),b(" ",t.title," "),r(),l("ngIf",t.duplicatesCount)}}function At(i,s){if(i&1&&F(0,"div",7),i&2){let t=c();m(t.options.messageClass),l("innerHTML",t.message,q)}}function Rt(i,s){if(i&1&&(h(0,"div",8),f(1),p()),i&2){let t=c();m(t.options.messageClass),E("aria-label",t.message),r(),b(" ",t.message," ")}}function Ht(i,s){if(i&1&&(h(0,"div"),F(1,"div",9),p()),i&2){let t=c();r(),A("width",t.width()+"%")}}function kt(i,s){if(i&1){let t=Q();h(0,"button",5),j("click",function(){V(t);let n=c();return z(n.remove())}),h(1,"span",6),f(2,"\xD7"),p()()}}function Nt(i,s){if(i&1&&(Y(0),f(1),K()),i&2){let t=c(2);r(),b("[",t.duplicatesCount+1,"]")}}function Mt(i,s){if(i&1&&(h(0,"div"),f(1),S(2,Nt,2,1,"ng-container",4),p()),i&2){let t=c();m(t.options.titleClass),E("aria-label",t.title),r(),b(" ",t.title," "),r(),l("ngIf",t.duplicatesCount)}}function Pt(i,s){if(i&1&&F(0,"div",7),i&2){let t=c();m(t.options.messageClass),l("innerHTML",t.message,q)}}function Bt(i,s){if(i&1&&(h(0,"div",8),f(1),p()),i&2){let t=c();m(t.options.messageClass),E("aria-label",t.message),r(),b(" ",t.message," ")}}function $t(i,s){if(i&1&&(h(0,"div"),F(1,"div",9),p()),i&2){let t=c();r(),A("width",t.width()+"%")}}var et=class{_attachedHost;component;viewContainerRef;injector;constructor(s,t){this.component=s,this.injector=t}attach(s,t){return this._attachedHost=s,s.attach(this,t)}detach(){let s=this._attachedHost;if(s)return this._attachedHost=void 0,s.detach()}get isAttached(){return this._attachedHost!=null}setAttachedHost(s){this._attachedHost=s}},it=class{_attachedPortal;_disposeFn;attach(s,t){return this._attachedPortal=s,this.attachComponentPortal(s,t)}detach(){this._attachedPortal&&this._attachedPortal.setAttachedHost(),this._attachedPortal=void 0,this._disposeFn&&(this._disposeFn(),this._disposeFn=void 0)}setDisposeFn(s){this._disposeFn=s}},st=class{_overlayRef;componentInstance;duplicatesCount=0;_afterClosed=new g;_activate=new g;_manualClose=new g;_resetTimeout=new g;_countDuplicate=new g;constructor(s){this._overlayRef=s}manualClose(){this._manualClose.next(),this._manualClose.complete()}manualClosed(){return this._manualClose.asObservable()}timeoutReset(){return this._resetTimeout.asObservable()}countDuplicate(){return this._countDuplicate.asObservable()}close(){this._overlayRef.detach(),this._afterClosed.next(),this._manualClose.next(),this._afterClosed.complete(),this._manualClose.complete(),this._activate.complete(),this._resetTimeout.complete(),this._countDuplicate.complete()}afterClosed(){return this._afterClosed.asObservable()}isInactive(){return this._activate.isStopped}activate(){this._activate.next(),this._activate.complete()}afterActivate(){return this._activate.asObservable()}onDuplicate(s,t){s&&this._resetTimeout.next(),t&&this._countDuplicate.next(++this.duplicatesCount)}},D=class{toastId;config;message;title;toastType;toastRef;_onTap=new g;_onAction=new g;constructor(s,t,e,n,o,a){this.toastId=s,this.config=t,this.message=e,this.title=n,this.toastType=o,this.toastRef=a,this.toastRef.afterClosed().subscribe(()=>{this._onAction.complete(),this._onTap.complete()})}triggerTap(){this._onTap.next(),this.config.tapToDismiss&&this._onTap.complete()}onTap(){return this._onTap.asObservable()}triggerAction(s){this._onAction.next(s)}onAction(){return this._onAction.asObservable()}},vt={maxOpened:0,autoDismiss:!1,newestOnTop:!0,preventDuplicates:!1,countDuplicates:!1,resetTimeoutOnDuplicate:!1,includeTitleDuplicates:!1,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},closeButton:!1,disableTimeOut:!1,timeOut:5e3,extendedTimeOut:1e3,enableHtml:!1,progressBar:!1,toastClass:"ngx-toastr",positionClass:"toast-top-right",titleClass:"toast-title",messageClass:"toast-message",easing:"ease-in",easeTime:300,tapToDismiss:!0,onActivateTick:!1,progressAnimation:"decreasing"},yt=new ct("ToastConfig"),nt=class extends it{_hostDomElement;_componentFactoryResolver;_appRef;constructor(s,t,e){super(),this._hostDomElement=s,this._componentFactoryResolver=t,this._appRef=e}attachComponentPortal(s,t){let e=this._componentFactoryResolver.resolveComponentFactory(s.component),n;return n=e.create(s.injector),this._appRef.attachView(n.hostView),this.setDisposeFn(()=>{this._appRef.detachView(n.hostView),n.destroy()}),t?this._hostDomElement.insertBefore(this._getComponentRootNode(n),this._hostDomElement.firstChild):this._hostDomElement.appendChild(this._getComponentRootNode(n)),n}_getComponentRootNode(s){return s.hostView.rootNodes[0]}},Lt=(()=>{class i{_document=_(Z);_containerElement;ngOnDestroy(){this._containerElement&&this._containerElement.parentNode&&this._containerElement.parentNode.removeChild(this._containerElement)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){let t=this._document.createElement("div");t.classList.add("overlay-container"),t.setAttribute("aria-live","polite"),this._document.body.appendChild(t),this._containerElement=t}static \u0275fac=function(e){return new(e||i)};static \u0275prov=C({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})(),ot=class{_portalHost;constructor(s){this._portalHost=s}attach(s,t=!0){return this._portalHost.attach(s,t)}detach(){return this._portalHost.detach()}},Vt=(()=>{class i{_overlayContainer=_(Lt);_componentFactoryResolver=_(dt);_appRef=_(M);_document=_(Z);_paneElements=new Map;create(t,e){return this._createOverlayRef(this.getPaneElement(t,e))}getPaneElement(t="",e){return this._paneElements.get(e)||this._paneElements.set(e,{}),this._paneElements.get(e)[t]||(this._paneElements.get(e)[t]=this._createPaneElement(t,e)),this._paneElements.get(e)[t]}_createPaneElement(t,e){let n=this._document.createElement("div");return n.id="toast-container",n.classList.add(t),n.classList.add("toast-container"),e?e.getContainerElement().appendChild(n):this._overlayContainer.getContainerElement().appendChild(n),n}_createPortalHost(t){return new nt(t,this._componentFactoryResolver,this._appRef)}_createOverlayRef(t){return new ot(this._createPortalHost(t))}static \u0275fac=function(e){return new(e||i)};static \u0275prov=C({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})(),bt=(()=>{class i{overlay;_injector;sanitizer;ngZone;toastrConfig;currentlyActive=0;toasts=[];overlayContainer;previousToastMessage;index=0;constructor(t,e,n,o,a){this.overlay=e,this._injector=n,this.sanitizer=o,this.ngZone=a,this.toastrConfig=u(u({},t.default),t.config),t.config.iconClasses&&(this.toastrConfig.iconClasses=u(u({},t.default.iconClasses),t.config.iconClasses))}show(t,e,n={},o=""){return this._preBuildNotification(o,t,e,this.applyConfig(n))}success(t,e,n={}){let o=this.toastrConfig.iconClasses.success||"";return this._preBuildNotification(o,t,e,this.applyConfig(n))}error(t,e,n={}){let o=this.toastrConfig.iconClasses.error||"";return this._preBuildNotification(o,t,e,this.applyConfig(n))}info(t,e,n={}){let o=this.toastrConfig.iconClasses.info||"";return this._preBuildNotification(o,t,e,this.applyConfig(n))}warning(t,e,n={}){let o=this.toastrConfig.iconClasses.warning||"";return this._preBuildNotification(o,t,e,this.applyConfig(n))}clear(t){for(let e of this.toasts)if(t!==void 0){if(e.toastId===t){e.toastRef.manualClose();return}}else e.toastRef.manualClose()}remove(t){let e=this._findToast(t);if(!e||(e.activeToast.toastRef.close(),this.toasts.splice(e.index,1),this.currentlyActive=this.currentlyActive-1,!this.toastrConfig.maxOpened||!this.toasts.length))return!1;if(this.currentlyActive<this.toastrConfig.maxOpened&&this.toasts[this.currentlyActive]){let n=this.toasts[this.currentlyActive].toastRef;n.isInactive()||(this.currentlyActive=this.currentlyActive+1,n.activate())}return!0}findDuplicate(t="",e="",n,o){let{includeTitleDuplicates:a}=this.toastrConfig;for(let d of this.toasts){let k=a&&d.title===t;if((!a||k)&&d.message===e)return d.toastRef.onDuplicate(n,o),d}return null}applyConfig(t={}){return u(u({},this.toastrConfig),t)}_findToast(t){for(let e=0;e<this.toasts.length;e++)if(this.toasts[e].toastId===t)return{index:e,activeToast:this.toasts[e]};return null}_preBuildNotification(t,e,n,o){return o.onActivateTick?this.ngZone.run(()=>this._buildNotification(t,e,n,o)):this._buildNotification(t,e,n,o)}_buildNotification(t,e,n,o){if(!o.toastComponent)throw new Error("toastComponent required");let a=this.findDuplicate(n,e,this.toastrConfig.resetTimeoutOnDuplicate&&o.timeOut>0,this.toastrConfig.countDuplicates);if((this.toastrConfig.includeTitleDuplicates&&n||e)&&this.toastrConfig.preventDuplicates&&a!==null)return a;this.previousToastMessage=e;let d=!1;this.toastrConfig.maxOpened&&this.currentlyActive>=this.toastrConfig.maxOpened&&(d=!0,this.toastrConfig.autoDismiss&&this.clear(this.toasts[0].toastId));let k=this.overlay.create(o.positionClass,this.overlayContainer);this.index=this.index+1;let rt=e;e&&o.enableHtml&&(rt=this.sanitizer.sanitize(ht.HTML,e));let I=new st(k),$=new D(this.index,o,rt,n,t,I),Ct=[{provide:D,useValue:$}],wt=N.create({providers:Ct,parent:this._injector}),Dt=new et(o.toastComponent,wt),at=k.attach(Dt,o.newestOnTop);I.componentInstance=at.instance;let L={toastId:this.index,title:n||"",message:e||"",toastRef:I,onShown:I.afterActivate(),onHidden:I.afterClosed(),onTap:$.onTap(),onAction:$.onAction(),portal:at};return d||(this.currentlyActive=this.currentlyActive+1,setTimeout(()=>{L.toastRef.activate()})),this.toasts.push(L),L}static \u0275fac=function(e){return new(e||i)(w(yt),w(Vt),w(N),w(gt),w(U))};static \u0275prov=C({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})(),zt=(()=>{class i{toastrService;toastPackage;ngZone;message;title;options;duplicatesCount;originalTimeout;width=O(-1);toastClasses="";state;get _state(){return this.state()}get displayStyle(){if(this.state().value==="inactive")return"none"}timeout;intervalId;hideTime;sub;sub1;sub2;sub3;constructor(t,e,n){this.toastrService=t,this.toastPackage=e,this.ngZone=n,this.message=e.message,this.title=e.title,this.options=e.config,this.originalTimeout=e.config.timeOut,this.toastClasses=`${e.toastType} ${e.config.toastClass}`,this.sub=e.toastRef.afterActivate().subscribe(()=>{this.activateToast()}),this.sub1=e.toastRef.manualClosed().subscribe(()=>{this.remove()}),this.sub2=e.toastRef.timeoutReset().subscribe(()=>{this.resetTimeout()}),this.sub3=e.toastRef.countDuplicate().subscribe(o=>{this.duplicatesCount=o}),this.state=O({value:"inactive",params:{easeTime:this.toastPackage.config.easeTime,easing:"ease-in"}})}ngOnDestroy(){this.sub.unsubscribe(),this.sub1.unsubscribe(),this.sub2.unsubscribe(),this.sub3.unsubscribe(),clearInterval(this.intervalId),clearTimeout(this.timeout)}activateToast(){this.state.update(t=>T(u({},t),{value:"active"})),!(this.options.disableTimeOut===!0||this.options.disableTimeOut==="timeOut")&&this.options.timeOut&&(this.outsideTimeout(()=>this.remove(),this.options.timeOut),this.hideTime=new Date().getTime()+this.options.timeOut,this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10))}updateProgress(){if(this.width()===0||this.width()===100||!this.options.timeOut)return;let t=new Date().getTime(),e=this.hideTime-t;this.width.set(e/this.options.timeOut*100),this.options.progressAnimation==="increasing"&&this.width.update(n=>100-n),this.width()<=0&&this.width.set(0),this.width()>=100&&this.width.set(100)}resetTimeout(){clearTimeout(this.timeout),clearInterval(this.intervalId),this.state.update(t=>T(u({},t),{value:"active"})),this.outsideTimeout(()=>this.remove(),this.originalTimeout),this.options.timeOut=this.originalTimeout,this.hideTime=new Date().getTime()+(this.options.timeOut||0),this.width.set(-1),this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10)}remove(){this.state().value!=="removed"&&(clearTimeout(this.timeout),this.state.update(t=>T(u({},t),{value:"removed"})),this.outsideTimeout(()=>this.toastrService.remove(this.toastPackage.toastId),+this.toastPackage.config.easeTime))}tapToast(){this.state().value!=="removed"&&(this.toastPackage.triggerTap(),this.options.tapToDismiss&&this.remove())}stickAround(){this.state().value!=="removed"&&this.options.disableTimeOut!=="extendedTimeOut"&&(clearTimeout(this.timeout),this.options.timeOut=0,this.hideTime=0,clearInterval(this.intervalId),this.width.set(0))}delayedHideToast(){this.options.disableTimeOut===!0||this.options.disableTimeOut==="extendedTimeOut"||this.options.extendedTimeOut===0||this.state().value==="removed"||(this.outsideTimeout(()=>this.remove(),this.options.extendedTimeOut),this.options.timeOut=this.options.extendedTimeOut,this.hideTime=new Date().getTime()+(this.options.timeOut||0),this.width.set(-1),this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10))}outsideTimeout(t,e){this.ngZone?this.ngZone.runOutsideAngular(()=>this.timeout=setTimeout(()=>this.runInsideAngular(t),e)):this.timeout=setTimeout(()=>t(),e)}outsideInterval(t,e){this.ngZone?this.ngZone.runOutsideAngular(()=>this.intervalId=setInterval(()=>this.runInsideAngular(t),e)):this.intervalId=setInterval(()=>t(),e)}runInsideAngular(t){this.ngZone?this.ngZone.run(()=>t()):t()}static \u0275fac=function(e){return new(e||i)(y(bt),y(D),y(U))};static \u0275cmp=G({type:i,selectors:[["","toast-component",""]],hostVars:5,hostBindings:function(e,n){e&1&&j("click",function(){return n.tapToast()})("mouseenter",function(){return n.stickAround()})("mouseleave",function(){return n.delayedHideToast()}),e&2&&(mt("@flyInOut",n._state),m(n.toastClasses),A("display",n.displayStyle))},attrs:_t,decls:5,vars:5,consts:[["type","button","class","toast-close-button","aria-label","Close",3,"click",4,"ngIf"],[3,"class",4,"ngIf"],["role","alert",3,"class","innerHTML",4,"ngIf"],["role","alert",3,"class",4,"ngIf"],[4,"ngIf"],["type","button","aria-label","Close",1,"toast-close-button",3,"click"],["aria-hidden","true"],["role","alert",3,"innerHTML"],["role","alert"],[1,"toast-progress"]],template:function(e,n){e&1&&S(0,Et,3,0,"button",0)(1,jt,3,5,"div",1)(2,At,1,3,"div",2)(3,Rt,2,4,"div",3)(4,Ht,2,2,"div",4),e&2&&(l("ngIf",n.options.closeButton),r(),l("ngIf",n.title),r(),l("ngIf",n.message&&n.options.enableHtml),r(),l("ngIf",n.message&&!n.options.enableHtml),r(),l("ngIf",n.options.progressBar))},dependencies:[J],encapsulation:2,data:{animation:[tt("flyInOut",[H("inactive",R({opacity:0})),H("active",R({opacity:1})),H("removed",R({opacity:0})),B("inactive => active",P("{{ easeTime }}ms {{ easing }}")),B("active => removed",P("{{ easeTime }}ms {{ easing }}"))])]},changeDetection:0})}return i})(),Zt=T(u({},vt),{toastComponent:zt}),qt=(i={})=>ut([{provide:yt,useValue:{default:Zt,config:i}}]),be=(()=>{class i{static forRoot(t={}){return{ngModule:i,providers:[qt(t)]}}static \u0275fac=function(e){return new(e||i)};static \u0275mod=pt({type:i});static \u0275inj=lt({})}return i})();var Gt=(()=>{class i{toastrService;toastPackage;appRef;message;title;options;duplicatesCount;originalTimeout;width=O(-1);toastClasses="";get displayStyle(){return this.state()==="inactive"?"none":null}state=O("inactive");timeout;intervalId;hideTime;sub;sub1;sub2;sub3;constructor(t,e,n){this.toastrService=t,this.toastPackage=e,this.appRef=n,this.message=e.message,this.title=e.title,this.options=e.config,this.originalTimeout=e.config.timeOut,this.toastClasses=`${e.toastType} ${e.config.toastClass}`,this.sub=e.toastRef.afterActivate().subscribe(()=>{this.activateToast()}),this.sub1=e.toastRef.manualClosed().subscribe(()=>{this.remove()}),this.sub2=e.toastRef.timeoutReset().subscribe(()=>{this.resetTimeout()}),this.sub3=e.toastRef.countDuplicate().subscribe(o=>{this.duplicatesCount=o})}ngOnDestroy(){this.sub.unsubscribe(),this.sub1.unsubscribe(),this.sub2.unsubscribe(),this.sub3.unsubscribe(),clearInterval(this.intervalId),clearTimeout(this.timeout)}activateToast(){this.state.set("active"),!(this.options.disableTimeOut===!0||this.options.disableTimeOut==="timeOut")&&this.options.timeOut&&(this.timeout=setTimeout(()=>{this.remove()},this.options.timeOut),this.hideTime=new Date().getTime()+this.options.timeOut,this.options.progressBar&&(this.intervalId=setInterval(()=>this.updateProgress(),10))),this.options.onActivateTick&&this.appRef.tick()}updateProgress(){if(this.width()===0||this.width()===100||!this.options.timeOut)return;let t=new Date().getTime(),e=this.hideTime-t;this.width.set(e/this.options.timeOut*100),this.options.progressAnimation==="increasing"&&this.width.update(n=>100-n),this.width()<=0&&this.width.set(0),this.width()>=100&&this.width.set(100)}resetTimeout(){clearTimeout(this.timeout),clearInterval(this.intervalId),this.state.set("active"),this.options.timeOut=this.originalTimeout,this.timeout=setTimeout(()=>this.remove(),this.originalTimeout),this.hideTime=new Date().getTime()+(this.originalTimeout||0),this.width.set(-1),this.options.progressBar&&(this.intervalId=setInterval(()=>this.updateProgress(),10))}remove(){this.state()!=="removed"&&(clearTimeout(this.timeout),this.state.set("removed"),this.timeout=setTimeout(()=>this.toastrService.remove(this.toastPackage.toastId)))}tapToast(){this.state()!=="removed"&&(this.toastPackage.triggerTap(),this.options.tapToDismiss&&this.remove())}stickAround(){this.state()!=="removed"&&(clearTimeout(this.timeout),this.options.timeOut=0,this.hideTime=0,clearInterval(this.intervalId),this.width.set(0))}delayedHideToast(){this.options.disableTimeOut===!0||this.options.disableTimeOut==="extendedTimeOut"||this.options.extendedTimeOut===0||this.state()==="removed"||(this.timeout=setTimeout(()=>this.remove(),this.options.extendedTimeOut),this.options.timeOut=this.options.extendedTimeOut,this.hideTime=new Date().getTime()+(this.options.timeOut||0),this.width.set(-1),this.options.progressBar&&(this.intervalId=setInterval(()=>this.updateProgress(),10)))}static \u0275fac=function(e){return new(e||i)(y(bt),y(D),y(M))};static \u0275cmp=G({type:i,selectors:[["","toast-component",""]],hostVars:4,hostBindings:function(e,n){e&1&&j("click",function(){return n.tapToast()})("mouseenter",function(){return n.stickAround()})("mouseleave",function(){return n.delayedHideToast()}),e&2&&(m(n.toastClasses),A("display",n.displayStyle))},attrs:_t,decls:5,vars:5,consts:[["type","button","class","toast-close-button","aria-label","Close",3,"click",4,"ngIf"],[3,"class",4,"ngIf"],["role","alert",3,"class","innerHTML",4,"ngIf"],["role","alert",3,"class",4,"ngIf"],[4,"ngIf"],["type","button","aria-label","Close",1,"toast-close-button",3,"click"],["aria-hidden","true"],["role","alert",3,"innerHTML"],["role","alert"],[1,"toast-progress"]],template:function(e,n){e&1&&S(0,kt,3,0,"button",0)(1,Mt,3,5,"div",1)(2,Pt,1,3,"div",2)(3,Bt,2,4,"div",3)(4,$t,2,2,"div",4),e&2&&(l("ngIf",n.options.closeButton),r(),l("ngIf",n.title),r(),l("ngIf",n.message&&n.options.enableHtml),r(),l("ngIf",n.message&&!n.options.enableHtml),r(),l("ngIf",n.options.progressBar))},dependencies:[J],encapsulation:2,changeDetection:0})}return i})(),Te=T(u({},vt),{toastComponent:Gt});var x={serverTarget:Tt().version,production:!0,socket:"",api:{base:"/api",socket:`${window.location.protocol==="http:"?"ws://":"wss://"}${window.location.host}`,origin:window.location.origin},jwt:{tokenKey:"access_token",allowedDomains:[document.location.host],disallowedRoutes:[`${window.location.protocol}//${document.location.host}/api/auth/login`]},apiHttpOptions:{},owm:{appid:"fec67b55f7f74deaa28df89ba6a60821"}};var Fe=(()=>{class i{$http=_(ft);constructor(){}get(t,e){return this.$http.get(`${x.api.base}${t}`,e)}post(t,e,n){return this.$http.post(`${x.api.base}${t}`,e,n)}put(t,e,n){return this.$http.put(`${x.api.base}${t}`,e,n)}patch(t,e,n){return this.$http.patch(`${x.api.base}${t}`,e,n)}delete(t,e){return this.$http.delete(`${x.api.base}${t}`,e)}static \u0275fac=function(e){return new(e||i)};static \u0275prov=C({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();export{v as a,It as b,Yt as c,R as d,W as e,X as f,Ot as g,bt as h,be as i,x as j,Fe as k};
@@ -1 +0,0 @@
1
- import{a as X}from"./chunk-UR24V3JB.js";import{a as H}from"./chunk-UH63AXBP.js";import{a as Z}from"./chunk-LTDUXFUG.js";import{a as R}from"./chunk-2PGR64P5.js";import{n as L}from"./chunk-7S2SCSTB.js";import"./chunk-HLSZVFAU.js";import{a as j}from"./chunk-HE5M3EM4.js";import{a as W,c as q,d as V,e as N,f as D}from"./chunk-QR7L4UUP.js";import{c as B}from"./chunk-HHNFJRKH.js";import{b as $}from"./chunk-EGGX5SGW.js";import{j as T}from"./chunk-I43RBOES.js";import"./chunk-ASBFWS7L.js";import{a as P,b as U}from"./chunk-DJKI5XBW.js";import{$a as o,Ac as d,Bc as l,Gb as u,Hb as x,Ib as y,Nb as c,Ob as n,Pb as a,Qb as p,Ub as S,Xb as _,Yb as w,bd as E,eb as F,g as Y,h as z,jc as f,kc as g,la as m,lb as O,ra as h,sa as b,sd as K,vc as v,w as A,wc as M}from"./chunk-U4V4ICSI.js";var Q=Y(Z(),1);function G(){var i;return typeof window<"u"&&(window?.matchMedia("(display-mode: standalone)").matches||((i=window.navigator)===null||i===void 0?void 0:i.standalone)||document.referrer.startsWith("android-app://")||window?.Windows||/trident.+(msapphost|webview)\//i.test(navigator.userAgent)||document.referrer.startsWith("app-info://platform/microsoft-store"))}var I=()=>["/"],te=i=>({"hamburger-icon-cross":i}),ne=i=>({expanded:i}),ie=()=>({exact:!0}),oe=()=>["/accessories"],re=()=>["/support"],ae=()=>["/power-options"],se=()=>["/plugins"],de=()=>["/logs"],le=()=>["/platform-tools/terminal"],pe=()=>["/config"],ce=()=>["/settings"];function me(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",19),d(2,"translate"),d(3,"translate"),_("click",function(){h(e);let t=w();return b(t.openUnderVoltageModal())})("keydown",function(t){h(e);let r=w();return b(r.handleKeydown(t))}),n(4,"div",12),p(5,"i",20),a(),n(6,"div",14),f(7),d(8,"translate"),a()()()}i&2&&(o(),u("aria-label",l(2,2,"rpi.throttled.undervoltage_title")+" - "+l(3,4,"rpi.throttled.undervoltage_description")),o(6),g(l(8,6,"rpi.throttled.undervoltage_title")))}function ue(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){h(e);let r=w();return b(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",21),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),c("routerLink",v(8,se))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.label_plugins")),o(5),g(l(7,6,"menu.label_plugins")))}function _e(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){h(e);let r=w();return b(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",22),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),c("routerLink",v(8,de))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.linux.label_logs")),o(5),g(l(7,6,"menu.linux.label_logs")))}function fe(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){h(e);let r=w();return b(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",23),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),c("routerLink",v(8,le))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.linux.label_terminal")),o(5),g(l(7,6,"menu.linux.label_terminal")))}function ge(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){h(e);let r=w();return b(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",24),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),c("routerLink",v(8,pe))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.config_json_editor")),o(5),g(l(7,6,"menu.config_json_editor")))}function ve(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){h(e);let r=w();return b(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",25),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),c("routerLink",v(8,ce))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.label_settings")),o(5),g(l(7,6,"menu.label_settings")))}function he(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",19),d(2,"translate"),_("click",function(){h(e);let t=w();return b(t.reloadPage())})("keydown",function(t){h(e);let r=w();return b(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",26),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),u("aria-label",l(2,2,"menu.reload")),o(5),g(l(7,4,"menu.reload")))}function be(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",19),d(2,"translate"),_("click",function(){h(e);let t=w();return b(t.$auth.logout())})("keydown",function(t){h(e);let r=w();return b(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",27),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),u("aria-label",l(2,2,"menu.tooltip_logout")),o(5),g(l(7,4,"menu.tooltip_logout")))}var J=(()=>{class i{router=m(V);translate=m(P);$auth=m(B);$settings=m($);$modal=m(L);$notification=m(X);$translate=m(P);renderer=m(F);isExpanded=!1;rPiCurrentlyUnderVoltage=!1;rPiWasUnderVoltage=!1;isMobile=!1;freezeMenu=!1;isPwa=G();constructor(){let e=this.router;this.isMobile=window.innerWidth<768;let s;window.addEventListener("resize",()=>{clearTimeout(s),s=setTimeout(()=>{this.updateListeners()},500)}),e.events.subscribe(t=>{t instanceof W&&(this.closeSidebar(),this.freezeMenu=!0,setTimeout(()=>{this.freezeMenu=!1},750))})}ngOnInit(){this.$notification.raspberryPiThrottled.subscribe(r=>{r["Under Voltage"]&&(this.rPiCurrentlyUnderVoltage=!0),r["Under-voltage has occurred"]&&(this.rPiWasUnderVoltage=!0)});let e=document.querySelector(".sidebar"),s=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)&&!s.contains(r.target)&&this.isExpanded&&(r.preventDefault(),this.closeSidebar())},{passive:!1}):(this.updateListeners(),s.addEventListener("mouseenter",()=>this.openSidebar(),{passive:!1}),s.addEventListener("mouseleave",()=>this.closeSidebar(),{passive:!1}),document.addEventListener("click",r=>{e.contains(r.target)&&r.clientX>60&&this.closeSidebar()},{passive:!1})),this.updateContentStyles()}openSidebar(){this.freezeMenu||(this.isExpanded=!0,this.updateContentStyles())}closeSidebar(){this.freezeMenu||(this.isExpanded=!1,this.updateContentStyles())}toggleSidebar(){this.freezeMenu||(this.isExpanded=!this.isExpanded,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"))}openUnderVoltageModal(){let e=this.$modal.open(H,{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-fw fa-bolt yellow-text",e.componentInstance.ctaButtonLink="https://pimylifeup.com/raspberry-pi-low-voltage-warning"}handleKeydown(e){if(e.key==="Enter"){let s=e.target;["menuitem","button"].includes(s.getAttribute("role"))&&s.click()}}reloadPage(){window.location.reload()}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}))}ngOnDestroy(){document.removeEventListener("touchstart",()=>{}),document.removeEventListener("click",()=>{})}static \u0275fac=function(s){return new(s||i)};static \u0275cmp=O({type:i,selectors:[["app-sidebar"]],inputs:{isExpanded:"isExpanded"},decls:61,vars:67,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-fw","fa-house"],[1,"title"],["role","menuitem","tabindex","0",1,"link-row",3,"keydown","routerLink","routerLinkActive"],[1,"fa","fa-fw","fa-lightbulb"],[1,"fa","fa-fw","fa-question-circle-o"],[1,"fa","fa-fw","fa-power-off"],["role","menuitem","tabindex","0",1,"link-row",3,"click","keydown"],[1,"fas","fa-fw","fa-bolt","fa-beat","yellow-text",2,"--fa-beat-scale","1.5"],[1,"fa","fa-fw","fa-plug"],[1,"fa","fa-fw","fa-wave-square"],[1,"fa","fa-fw","fa-terminal"],[1,"fa","fa-fw","fa-code"],[1,"fa","fa-fw","fa-cog"],[1,"fa","fa-fw","fa-refresh"],[1,"fa","fa-fw","fa-right-from-bracket"]],template:function(s,t){s&1&&(n(0,"div",0),d(1,"translate"),_("click",function(){return t.toggleSidebar()})("keydown",function(C){return t.handleKeydown(C)}),p(2,"span",1),n(3,"a",2),d(4,"translate"),p(5,"img",3),n(6,"div",4),f(7,"Homebridge"),a()(),n(8,"div",5),p(9,"span")(10,"span")(11,"span")(12,"span"),a()(),n(13,"div",6)(14,"div",7),_("click",function(){return t.toggleSidebar()})("keydown",function(C){return t.handleKeydown(C)}),n(15,"a",2),d(16,"translate"),p(17,"img",3),n(18,"div",8),f(19,"Homebridge"),a()()(),n(20,"div",9)(21,"div",10)(22,"div",11),d(23,"translate"),_("keydown",function(C){return t.handleKeydown(C)}),n(24,"div",12),p(25,"i",13),a(),n(26,"div",14),f(27),d(28,"translate"),a()()(),x(29,me,9,8,"div",10),x(30,ue,8,9,"div",10),n(31,"div",10)(32,"div",15),d(33,"translate"),_("keydown",function(C){return t.handleKeydown(C)}),n(34,"div",12),p(35,"i",16),a(),n(36,"div",14),f(37),d(38,"translate"),a()()(),x(39,_e,8,9,"div",10),x(40,fe,8,9,"div",10),x(41,ge,8,9,"div",10),x(42,ve,8,9,"div",10),n(43,"div",10)(44,"div",15),d(45,"translate"),_("keydown",function(C){return t.handleKeydown(C)}),n(46,"div",12),p(47,"i",17),a(),n(48,"div",14),f(49),d(50,"translate"),a()()(),n(51,"div",10)(52,"div",15),d(53,"translate"),_("keydown",function(C){return t.handleKeydown(C)}),n(54,"div",12),p(55,"i",18),a(),n(56,"div",14),f(57),d(58,"translate"),a()()(),x(59,he,8,6,"div",10),x(60,be,8,6,"div",10),a()()),s&2&&(u("aria-expanded",t.isExpanded?"true":"false")("aria-controls","sidebar")("aria-label",l(1,34,"menu.sidebar.aria_menu")),o(3),c("routerLink",v(56,I)),u("aria-label",l(4,36,"menu.label_status")),o(5),c("ngClass",M(57,te,t.isExpanded)),o(5),c("ngClass",M(59,ne,t.isExpanded)),o(2),c("routerLink",v(61,I)),u("aria-label",l(16,38,"menu.label_status")),o(7),c("routerLink",v(62,I))("routerLinkActive","active")("routerLinkActiveOptions",v(63,ie)),u("aria-label",l(23,40,"menu.label_status")),o(5),g(l(28,42,"menu.label_status")),o(2),y(t.rPiWasUnderVoltage||t.rPiCurrentlyUnderVoltage?29:-1),o(),y(t.$auth.user.admin?30:-1),o(2),c("routerLink",v(64,oe))("routerLinkActive","active"),u("aria-label",l(33,44,"menu.label_accessories")),o(5),g(l(38,46,"menu.label_accessories")),o(2),y(t.$auth.user.admin?39:-1),o(),y(t.$settings.env.enableTerminalAccess&&t.$auth.user.admin?40:-1),o(),y(t.$auth.user.admin?41:-1),o(),y(t.$auth.user.admin?42:-1),o(2),c("routerLink",v(65,re))("routerLinkActive","active"),u("aria-label",l(45,48,"support.title")),o(5),g(l(50,50,"support.title")),o(3),c("routerLink",v(66,ae))("routerLinkActive","active"),u("aria-label",l(53,52,"menu.restart.title")),o(5),g(l(58,54,"menu.restart.title")),o(2),y(t.isPwa?59:-1),o(),y(t.$settings.formAuth?60:-1))},dependencies:[N,K,E,D,U],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-y:auto;max-height:calc(100vh - 80px)!important}.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;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0);-webkit-transition:.5s ease-in-out;-moz-transition:.5s ease-in-out;-o-transition:.5s ease-in-out;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;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0);-webkit-transition:.25s ease-in-out;-moz-transition:.25s ease-in-out;-o-transition:.25s ease-in-out;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){-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(3){-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(4){top:10px;width:0;left:50%}}"]})}return i})();var we=i=>({sidebarExpanded:i}),Xe=(()=>{class i{$auth=m(B);$modal=m(L);$router=m(V);$settings=m($);$translate=m(P);$ws=m(j);sidebarExpanded=!1;io;constructor(){}ngOnInit(){this.io=this.$ws.connectToNamespace("app"),this.io.socket.on("reconnect",()=>{this.$auth.checkToken()}),this.compareServerUiVersion()}compareServerUiVersion(){return z(this,null,function*(){if(this.$settings.settingsLoaded||(yield A(this.$settings.onSettingsLoaded)),this.$router.url!=="/restart"&&(0,Q.lt)(this.$settings.uiVersion,T.serverTarget)){console.log(`Server restart required. UI Version: ${T.serverTarget} - Server Version: ${this.$settings.uiVersion} `);let e=this.$modal.open(R,{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:T.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(s){return new(s||i)};static \u0275cmp=O({type:i,selectors:[["app-layout"]],decls:3,vars:4,consts:[[3,"isExpanded"],[1,"content","px-3","p-md-4",3,"ngClass"]],template:function(s,t){s&1&&(p(0,"app-sidebar",0),n(1,"div",1),p(2,"router-outlet"),a()),s&2&&(c("isExpanded",t.sidebarExpanded),o(),c("ngClass",M(2,we,t.sidebarExpanded)))},dependencies:[J,E,q],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 i})();export{Xe as LayoutComponent};
@@ -1 +0,0 @@
1
- import{e as a}from"./chunk-T37NITXH.js";import"./chunk-FHMZVMZK.js";import"./chunk-7S2SCSTB.js";import"./chunk-HLSZVFAU.js";import"./chunk-QR7L4UUP.js";import"./chunk-HHNFJRKH.js";import"./chunk-EGGX5SGW.js";import"./chunk-I43RBOES.js";import"./chunk-ASBFWS7L.js";import"./chunk-DJKI5XBW.js";import"./chunk-U4V4ICSI.js";export{a as UsersComponent};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-Q5OTW6S6.js";import"./chunk-WM3ZC7RY.js";import"./chunk-GV7Q453O.js";import"./chunk-CHQVUHUA.js";import"./chunk-XZR7OZ6I.js";import"./chunk-7S2SCSTB.js";import"./chunk-HLSZVFAU.js";import"./chunk-QR7L4UUP.js";import"./chunk-EGGX5SGW.js";import"./chunk-I43RBOES.js";import"./chunk-ASBFWS7L.js";import"./chunk-DJKI5XBW.js";import"./chunk-U4V4ICSI.js";export{a as ConfigEditorComponent};
@@ -1 +0,0 @@
1
- import"./chunk-Z6QDMWSL.js";import"./chunk-HM7UOZT2.js";import"./chunk-Q7VA22QV.js";import"./chunk-YXEV6KOV.js";import"./chunk-HE5M3EM4.js";import{g as i}from"./chunk-QR7L4UUP.js";import"./chunk-HHNFJRKH.js";import"./chunk-EGGX5SGW.js";import"./chunk-I43RBOES.js";import"./chunk-ASBFWS7L.js";import{c as m}from"./chunk-DJKI5XBW.js";import{ha as t,kd as n,mb as r}from"./chunk-U4V4ICSI.js";var u=[{path:"",loadComponent:()=>import("./chunk-NC6GKPI3.js").then(o=>o.TerminalComponent)}],a=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[i.forChild(u),i]})}return o})();var T=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[n,a,m.forChild()]})}return o})();export{T as TerminalModule};
@@ -1 +0,0 @@
1
- import{a as l,b as u,c as a,d as g}from"./chunk-7SJGSEPE.js";import{a as f}from"./chunk-PPRBUR7T.js";import"./chunk-Q24LUFZD.js";import{a as c}from"./chunk-SQAPWTDH.js";import"./chunk-RI7DCDJD.js";import"./chunk-GV7Q453O.js";import"./chunk-CHQVUHUA.js";import"./chunk-3VIG5M5R.js";import"./chunk-XZR7OZ6I.js";import"./chunk-FBR4HHZM.js";import"./chunk-Q7VA22QV.js";import"./chunk-FHMZVMZK.js";import"./chunk-JMCN2SQV.js";import"./chunk-YXEV6KOV.js";import"./chunk-LTDUXFUG.js";import"./chunk-2PGR64P5.js";import{q as s}from"./chunk-7S2SCSTB.js";import{A as p,z as n}from"./chunk-HLSZVFAU.js";import"./chunk-HE5M3EM4.js";import{g as i}from"./chunk-QR7L4UUP.js";import"./chunk-HHNFJRKH.js";import"./chunk-EGGX5SGW.js";import"./chunk-I43RBOES.js";import"./chunk-ASBFWS7L.js";import{c as d}from"./chunk-DJKI5XBW.js";import{ha as t,kd as m,mb as e}from"./chunk-U4V4ICSI.js";var v=[{path:"",loadComponent:()=>import("./chunk-YLVYOIDF.js").then(o=>o.SettingsComponent),canActivate:[f]}],C=(()=>{class o{static \u0275fac=function(r){return new(r||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[i.forChild(v),i]})}return o})();var K=(()=>{class o{static \u0275fac=function(r){return new(r||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[m,n,p,d,s,C,g,u,l,c,a]})}return o})();export{K as SettingsModule};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-Z6QDMWSL.js";import"./chunk-HM7UOZT2.js";import"./chunk-Q7VA22QV.js";import"./chunk-YXEV6KOV.js";import"./chunk-HE5M3EM4.js";import"./chunk-HHNFJRKH.js";import"./chunk-EGGX5SGW.js";import"./chunk-I43RBOES.js";import"./chunk-ASBFWS7L.js";import"./chunk-DJKI5XBW.js";import"./chunk-U4V4ICSI.js";export{a as TerminalComponent};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-D356JN6H.js";import"./chunk-HE5M3EM4.js";import"./chunk-QR7L4UUP.js";import"./chunk-HHNFJRKH.js";import"./chunk-EGGX5SGW.js";import"./chunk-I43RBOES.js";import"./chunk-ASBFWS7L.js";import"./chunk-DJKI5XBW.js";import"./chunk-U4V4ICSI.js";export{a as RestartComponent};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-GSIVCSHF.js";import"./chunk-HLSZVFAU.js";import"./chunk-QR7L4UUP.js";import"./chunk-HHNFJRKH.js";import"./chunk-EGGX5SGW.js";import"./chunk-I43RBOES.js";import"./chunk-ASBFWS7L.js";import"./chunk-DJKI5XBW.js";import"./chunk-U4V4ICSI.js";export{a as LoginComponent};
@@ -1 +0,0 @@
1
- import{a as te}from"./chunk-JMCN2SQV.js";import{a as Z,b as ee}from"./chunk-YXEV6KOV.js";import{m as E,n as I,o as q}from"./chunk-7S2SCSTB.js";import{a as J}from"./chunk-HE5M3EM4.js";import{d as G}from"./chunk-QR7L4UUP.js";import{h as M,k as D}from"./chunk-I43RBOES.js";import{c as O,d as U}from"./chunk-ASBFWS7L.js";import{a as R,b as F}from"./chunk-DJKI5XBW.js";import{$a as i,Ac as s,Bc as l,Cc as y,Gb as g,Hb as u,Ib as _,Kb as A,Lb as N,Mb as W,Nb as b,Ob as r,Pb as a,Qb as m,Ub as T,Xb as h,Yb as d,bd as H,g as P,h as $,id as j,jc as c,kc as f,la as C,lb as S,lc as x,ra as v,sa as B,wc as w,xc as z}from"./chunk-U4V4ICSI.js";var V=P(te(),1);var L=P(Z(),1),Q=P(ee(),1);var ne=t=>({maxBackupSizeText:t});function ae(t,p){if(t&1&&m(0,"input",10),t&2){let e=d(2);b("value",e.selectedBackup.fileName)}}function oe(t,p){if(t&1){let e=T();r(0,"input",12),h("change",function(o){v(e);let k=d(2);return B(k.handleRestoreFileInput(o.target.files))}),a()}}function re(t,p){if(t&1&&(r(0,"div",4)(1,"div",7),m(2,"i",8),a(),r(3,"ul",9)(4,"li"),c(5),s(6,"translate"),a(),r(7,"li"),c(8),s(9,"translate"),a(),r(10,"li"),c(11),s(12,"translate"),a(),r(13,"li"),c(14),s(15,"translate"),a()(),u(16,ae,1,1,"input",10),u(17,oe,1,0,"input",11),a()),t&2){let e=d();i(5),f(l(6,6,"backup.restore_help_one")),i(3),f(l(9,8,"backup.restore_help_two")),i(3),f(y(12,10,"backup.restore_max_size",w(15,ne,e.maxFileSizeText))),i(3),f(l(15,13,"backup.restore_warning")),i(2),_(e.selectedBackup?16:-1),i(),_(e.selectedBackup?-1:17)}}function se(t,p){if(t&1){let e=T();r(0,"button",18),s(1,"translate"),h("click",function(){v(e);let o=d(2);return B(o.$activeModal.dismiss("Dismiss"))}),c(2),s(3,"translate"),a()}if(t&2){let e=d(2);b("disabled",e.clicked),g("aria-label",l(1,3,"form.button_close")),i(2),x(" ",l(3,5,"form.button_close")," ")}}function le(t,p){if(t&1){let e=T();r(0,"button",18),s(1,"translate"),h("click",function(){v(e);let o=d(2);return B(o.reopenBackupModal())}),c(2),s(3,"translate"),a()}if(t&2){let e=d(2);b("disabled",e.clicked),g("aria-label",l(1,3,"form.button_back")),i(2),x(" ",l(3,5,"form.button_back")," ")}}function ce(t,p){t&1&&m(0,"i",19)}function pe(t,p){if(t&1&&(r(0,"span"),c(1),a()),t&2){let e=d(3);i(),x("",e.uploadPercent,"% - ")}}function de(t,p){t&1&&(r(0,"span"),c(1," Extracting Archive"),a())}function me(t,p){t&1&&(r(0,"span"),c(1),s(2,"translate"),a()),t&2&&(i(),x(" ",l(2,1,"backup.label_uploading")))}function ue(t,p){if(t&1&&(r(0,"span"),u(1,ce,1,0,"i",19),u(2,pe,2,1,"span"),u(3,de,2,0,"span"),u(4,me,3,3,"span"),a()),t&2){let e=d(2);i(),_(!e.uploadPercent||e.uploadPercent===100?1:-1),i(),_(e.uploadPercent&&e.uploadPercent!==100?2:-1),i(),_(e.uploadPercent===100?3:-1),i(),_(e.uploadPercent!==100?4:-1)}}function _e(t,p){t&1&&(c(0),s(1,"translate")),t&2&&x(" ",l(1,1,"form.button_restore")," ")}function be(t,p){if(t&1){let e=T();r(0,"div",6)(1,"div",13),u(2,se,4,7,"button",14),u(3,le,4,7,"button",14),a(),m(4,"div",15),r(5,"div",16)(6,"button",17),h("click",function(){v(e);let o=d();return B(o.onRestoreBackupClick())}),u(7,ue,5,4,"span"),u(8,_e,2,3),a()()()}if(t&2){let e=d();i(2),_(e.setupWizardRestore?2:-1),i(),_(e.setupWizardRestore?-1:3),i(3),b("disabled",!e.selectedBackup&&!e.selectedFile||e.clicked),i(),_(e.clicked?7:-1),i(),_(e.clicked?-1:8)}}function ke(t,p){if(t&1){let e=T();r(0,"div",6),m(1,"div",13),r(2,"div",15)(3,"button",20),h("click",function(){v(e);let o=d();return B(o.postBackupRestart())}),c(4),s(5,"translate"),a()(),m(6,"div",16),a()}t&2&&(i(4),x(" ",l(5,1,"menu.hbrestart.title")," "))}var X=(()=>{class t{$activeModal=C(E);$api=C(D);$modal=C(I);$route=C(G);$toastr=C(M);$translate=C(R);$ws=C(J);setupWizardRestore=!1;selectedBackup=null;clicked=!1;maxFileSizeText=globalThis.backup.maxBackupSizeText;selectedFile;restoreInProgress=!1;restoreStarted=!1;restoreFailed=!1;restoreArchiveType="homebridge";uploadPercent=0;term=new L.Terminal;termTarget;fitAddon=new Q.FitAddon;io;constructor(){}ngOnInit(){return $(this,null,function*(){this.io=this.$ws.connectToNamespace("backup"),this.termTarget=document.getElementById("plugin-log-output"),this.term.open(this.termTarget),this.fitAddon.fit(),this.io.socket.on("stdout",e=>{this.term.write(e)}),this.setupWizardRestore&&(this.restoreStarted=!0,this.restoreInProgress=!0,this.startRestore())})}onRestoreBackupClick(){this.selectedBackup?this.restoreScheduledBackup():this.restoreArchiveType==="homebridge"?this.uploadHomebridgeArchive():this.restoreArchiveType==="hbfx"&&this.uploadHbfxArchive()}uploadHomebridgeArchive(){this.term.reset(),this.clicked=!0;let e=new FormData;e.append("restoreArchive",this.selectedFile,this.selectedFile.name),this.$api.post("/backup/restore",e).subscribe({next:()=>{this.restoreStarted=!0,this.restoreInProgress=!0,setTimeout(()=>{this.startRestore()},500),this.clicked=!1},error:n=>{console.error(n),this.$toastr.error(n.error?.message||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error")),this.clicked=!1}})}restoreScheduledBackup(){return $(this,null,function*(){this.term.reset(),this.clicked=!0,this.$api.post(`/backup/scheduled-backups/${this.selectedBackup.id}/restore`,{}).subscribe({next:()=>{this.restoreStarted=!0,this.restoreInProgress=!0,setTimeout(()=>{this.startRestore()},500),this.clicked=!1},error:e=>{console.error(e),this.$toastr.error(e.error?.message||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error")),this.clicked=!1}})})}startRestore(){return $(this,null,function*(){this.io.request("do-restore").subscribe({next:()=>{this.restoreInProgress=!1,this.$toastr.success(this.$translate.instant("backup.backup_restored"),this.$translate.instant("toast.title_success")),this.setupWizardRestore&&this.postBackupRestart()},error:e=>{this.restoreFailed=!0,console.error(e),this.$toastr.error(this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"))}})})}uploadHbfxArchive(){this.term.reset(),this.clicked=!0;let e=new FormData;e.append("restoreArchive",this.selectedFile,this.selectedFile.name),this.$api.post("/backup/restore/hbfx",e,{reportProgress:!0,observe:"events"}).subscribe({next:n=>{n.type===O.UploadProgress?this.uploadPercent=Math.round(100*n.loaded/n.total):n instanceof U&&(this.restoreStarted=!0,this.restoreInProgress=!0,setTimeout(()=>{this.startHbfxRestore()},500),this.clicked=!1)},error:n=>{this.clicked=!1,console.error(n),this.$toastr.error(n.error?.message||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"))}})}startHbfxRestore(){return $(this,null,function*(){this.io.request("do-restore-hbfx").subscribe({next:()=>{this.restoreInProgress=!1,this.$toastr.success(this.$translate.instant("backup.backup_restored"),this.$translate.instant("toast.title_success"))},error:e=>{this.restoreFailed=!0,console.error(e),this.$toastr.error(this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"))}})})}handleRestoreFileInput(e){e.length?(this.selectedFile=e[0],this.selectedFile.name.endsWith(".hbfx")?this.restoreArchiveType="hbfx":this.restoreArchiveType="homebridge"):delete this.selectedFile}postBackupRestart(){this.$api.put("/backup/restart",{}).subscribe({next:()=>{this.$activeModal.close(!0),this.$route.navigate(["/"])},error:()=>{}})}reopenBackupModal(){this.$activeModal.dismiss(),this.$modal.open(K,{size:"lg",backdrop:"static"})}ngOnDestroy(){this.io.end()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=S({type:t,selectors:[["ng-component"]],inputs:{setupWizardRestore:"setupWizardRestore",selectedBackup:"selectedBackup"},decls:11,vars:11,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],["id","plugin-log-output",1,"modal-body",3,"hidden"],[1,"modal-footer","justify-content-between"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-hard-drive","primary-text",2,"font-size","75px"],[1,"mb-3"],["type","text","disabled","",1,"form-control","custom-input",3,"value"],["type","file","id","restoreFileUpload","accept","application/gzip, .gz, .hbfx",1,"form-control"],["type","file","id","restoreFileUpload","accept","application/gzip, .gz, .hbfx",1,"form-control",3,"change"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"fa","fa-fw","fa-circle-notch","fa-spin"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click"]],template:function(n,o){n&1&&(r(0,"div",0)(1,"div",1)(2,"h5",2),c(3),s(4,"translate"),a(),r(5,"button",3),s(6,"translate"),h("click",function(){return o.$activeModal.dismiss("Dismiss")}),a()(),u(7,re,18,17,"div",4),m(8,"div",5),u(9,be,9,5,"div",6),u(10,ke,7,3,"div",6),a()),n&2&&(i(3),f(l(4,7,"backup.title_backup")),i(2),b("disabled",o.restoreInProgress),g("aria-label",l(6,9,"form.button_close")),i(2),_(!o.restoreStarted&&!o.setupWizardRestore?7:-1),i(),b("hidden",!o.restoreStarted),i(),_(!o.restoreStarted||o.restoreFailed===!0?9:-1),i(),_(!o.restoreInProgress&&o.restoreStarted?10:-1))},dependencies:[F],encapsulation:2})}return t})();var fe=(t,p)=>({"fa-arrow-right":t,"fa-cog fa-spin":p}),he=t=>({backupTime:t,dayCount:7}),xe=(t,p)=>({"fa-trash":t,"fa-cog fa-spin":p}),Ce=(t,p)=>({backupSize:t,maxBackupSizeText:p});function ge(t,p){if(t&1&&(c(0),s(1,"date"),s(2,"translate")),t&2){let e=d(2);x(" ",y(2,4,"backup.scheduled_backup_time",w(7,he,y(1,1,e.backupTime,"shortTime")))," ")}}function ve(t,p){t&1&&(c(0),s(1,"translate")),t&2&&x(" ",l(1,1,"backup.scheduled_backup_disabled")," ")}function Be(t,p){if(t&1&&(r(0,"span",24),s(1,"translate"),m(2,"i",31),c(3),a()),t&2){let e=d().$implicit;b("ngbTooltip",y(1,2,"backup.backup_exceeds_max_size",z(5,Ce,e.size+"MB",e.maxBackupSizeText))),i(3),x(" ",e.size,"MB ")}}function Te(t,p){if(t&1&&(r(0,"span"),c(1),a()),t&2){let e=d().$implicit;i(),x(" ",e.size,"MB ")}}function ye(t,p){if(t&1){let e=T();r(0,"li",9)(1,"span")(2,"span",23),c(3),s(4,"date"),a(),m(5,"br"),r(6,"small",10),c(7),s(8,"date"),u(9,Be,4,8,"span",24),u(10,Te,2,1,"span"),a()(),r(11,"span",25)(12,"button",26),s(13,"translate"),s(14,"translate"),h("click",function(){let o=v(e).$implicit,k=d(2);return B(k.restore(o))}),m(15,"i",27),a(),r(16,"button",28),s(17,"translate"),s(18,"translate"),h("click",function(){let o=v(e).$implicit,k=d(2);return B(k.download(o))}),m(19,"i",29),a(),r(20,"button",30),s(21,"translate"),s(22,"translate"),h("click",function(){let o=v(e).$implicit,k=d(2);return B(k.delete(o))}),m(23,"i",12),a()()()}if(t&2){let e=p.$implicit,n=d(2);i(2),b("ngbTooltip",e.fileName),i(),x(" ",y(4,15,e.timestamp,"mediumDate")," "),i(4),x(" ",y(8,18,e.timestamp,"shortTime")," \xB7 "),i(2),_(e.size>e.maxBackupSize?9:-1),i(),_(e.size<=e.maxBackupSize?10:-1),i(2),b("disabled",n.clicked||n.deleting||e.size>e.maxBackupSize)("ngbTooltip",l(13,21,"form.button_restore")),g("aria-label",l(14,23,"form.button_restore")),i(4),b("disabled",n.clicked||n.deleting)("ngbTooltip",l(17,25,"form.button_download")),g("aria-label",l(18,27,"form.button_download")),i(4),b("disabled",n.clicked||n.deleting)("ngbTooltip",l(21,29,"form.button_delete")),g("aria-label",l(22,31,"form.button_delete")),i(3),b("ngClass",z(33,xe,e.id!==n.deleting,e.id===n.deleting))}}function $e(t,p){if(t&1&&(r(0,"ul",14)(1,"li",20)(2,"h6",21),c(3),s(4,"translate"),a(),r(5,"p",22),u(6,ge,3,9),u(7,ve,2,3),a()(),N(8,ye,24,36,"li",9,A),a()),t&2){let e=d();i(3),f(l(4,3,"backup.files_auto")),i(3),_(e.backupTime?6:-1),i(),_(e.backupTime?-1:7),i(),W(e.scheduledBackups)}}var K=(()=>{class t{$activeModal=C(E);$api=C(D);$modal=C(I);$toastr=C(M);$translate=C(R);clicked=!1;scheduledBackups=[];backupTime;deleting=null;constructor(){}ngOnInit(){this.getScheduledBackups(),this.getNextBackup()}getScheduledBackups(){this.$api.get("/backup/scheduled-backups").subscribe({next:e=>{this.scheduledBackups=e},error:e=>console.error(e)})}getNextBackup(){this.$api.get("/backup/scheduled-backups/next").subscribe({next:e=>{this.backupTime=e.next},error:e=>{console.error(e)}})}download(e){this.$api.get(`/backup/scheduled-backups/${e.id}`,{observe:"response",responseType:"blob"}).subscribe({next:n=>{let o=e.fileName||"homebridge-backup.tar.gz",k=n.body.size;if(k>globalThis.backup.maxBackupSize){let Y=this.$translate.instant("backup.backup_exceeds_max_size",{maxBackupSizeText:globalThis.backup.maxBackupSizeText,size:`${(k/1048576).toFixed(1)}MB`});this.$toastr.warning(Y,this.$translate.instant("toast.title_warning"))}(0,V.saveAs)(n.body,o)},error:n=>{console.error(n),this.$toastr.error(this.$translate.instant("backup.backup_download_failed"),this.$translate.instant("toast.title_error"))}})}restore(e){this.$activeModal.close();let n=this.$modal.open(X,{size:"lg",backdrop:"static"});n.componentInstance.selectedBackup=e}delete(e){this.deleting=e.id,this.$api.delete(`/backup/scheduled-backups/${e.id}`).subscribe({next:()=>{this.getScheduledBackups(),this.deleting=null},error:n=>{this.deleting=null,console.error(n),this.$toastr.error(this.$translate.instant("backup.backup_delete_failed"),this.$translate.instant("toast.title_error"))}})}onDownloadBackupClick(){return $(this,null,function*(){this.clicked=!0,this.$api.get("/backup/download",{observe:"response",responseType:"blob"}).subscribe({next:e=>{let n=e.headers.get("File-Name")||"homebridge-backup.tar.gz";this.clicked=!1;let o=e.body.size;if(o>globalThis.backup.maxBackupSize){let k=this.$translate.instant("backup.backup_exceeds_max_size",{maxBackupSizeText:globalThis.backup.maxBackupSizeText,size:`${(o/1048576).toFixed(1)}MB`});this.$toastr.warning(k,this.$translate.instant("toast.title_warning"))}(0,V.saveAs)(e.body,n)},error:e=>{this.clicked=!1,console.error(e),this.$toastr.error(this.$translate.instant("backup.backup_download_failed"),this.$translate.instant("toast.title_error"))}})})}Date=Date;static \u0275fac=function(n){return new(n||t)};static \u0275cmp=S({type:t,selectors:[["ng-component"]],decls:53,vars:45,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-hard-drive","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"btn","btn-primary","m-0","ms-3",3,"click","disabled"],[1,"fas","fa-fw",3,"ngClass"],[1,"fas","fa-fw","fa-arrow-right"],[1,"list-group","list-group-box","mt-3","mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-start"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-end"],[1,"list-group-item"],[1,"mb-1","text-center"],[1,"small","grey-text","mb-0","text-center"],["container","modal","openDelay","150","triggers","hover",3,"ngbTooltip"],["container","modal","openDelay","150","triggers","hover",1,"red-text",3,"ngbTooltip"],[2,"display","flex","flex-wrap","nowrap"],["placement","bottom","container","modal","openDelay","150","triggers","hover",1,"btn","btn-primary","m-0","ms-3",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-history"],["placement","bottom","container","modal","openDelay","150","triggers","hover",1,"btn","btn-primary","m-0","ms-2",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-download"],["placement","bottom","container","modal","openDelay","150","triggers","hover",1,"btn","btn-danger","m-0","ms-2",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-exclamation-circle"]],template:function(n,o){n&1&&(r(0,"div",0)(1,"div",1)(2,"h5",2),c(3),s(4,"translate"),a(),r(5,"button",3),s(6,"translate"),h("click",function(){return o.$activeModal.dismiss("Dismiss")}),a()(),r(7,"div",4)(8,"div",5),m(9,"i",6),a(),r(10,"ul",7)(11,"li"),c(12),s(13,"translate"),a(),r(14,"li"),c(15),s(16,"translate"),a(),r(17,"li"),c(18),s(19,"translate"),a()(),r(20,"ul",8)(21,"li",9)(22,"div")(23,"span"),c(24),s(25,"translate"),a(),m(26,"br"),r(27,"small",10),c(28),s(29,"translate"),a()(),r(30,"button",11),s(31,"translate"),h("click",function(){return o.onDownloadBackupClick()}),m(32,"i",12),a()(),r(33,"li",9)(34,"div")(35,"span"),c(36),s(37,"translate"),a(),m(38,"br"),r(39,"small",10),c(40),s(41,"translate"),a()(),r(42,"button",11),s(43,"translate"),h("click",function(){return o.restore(null)}),m(44,"i",13),a()()(),u(45,$e,10,5,"ul",14),a(),r(46,"div",15),m(47,"div",16),r(48,"div",17)(49,"button",18),h("click",function(){return o.$activeModal.dismiss("Dismiss")}),c(50),s(51,"translate"),a()(),m(52,"div",19),a()()),n&2&&(i(3),f(l(4,18,"backup.title_backup")),i(2),b("disabled",o.clicked||o.deleting),g("aria-label",l(6,20,"form.button_close")),i(7),f(l(13,22,"backup.backup_help_one")),i(3),f(l(16,24,"backup.backup_help_two")),i(3),f(l(19,26,"backup.backup_warning")),i(6),f(l(25,28,"backup.backup_now")),i(4),f(l(29,30,"backup.backup_now_desc")),i(2),b("disabled",o.clicked),g("aria-label",l(31,32,"backup.backup_now")),i(2),b("ngClass",z(42,fe,!o.clicked,o.clicked)),i(4),f(l(37,34,"backup.restore_now")),i(4),f(l(41,36,"backup.restore_now_desc")),i(2),b("disabled",o.clicked),g("aria-label",l(43,38,"backup.restore_now")),i(3),_(o.scheduledBackups.length?45:-1),i(4),b("disabled",o.clicked||o.deleting),i(),x(" ",l(51,40,"form.button_close")," "))},dependencies:[q,H,j,F],encapsulation:2})}return t})();export{K as a,X as b};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-FNFPXZX4.js";import"./chunk-Q24LUFZD.js";import"./chunk-JMCN2SQV.js";import"./chunk-YXEV6KOV.js";import"./chunk-7S2SCSTB.js";import"./chunk-HLSZVFAU.js";import"./chunk-HE5M3EM4.js";import"./chunk-QR7L4UUP.js";import"./chunk-HHNFJRKH.js";import"./chunk-EGGX5SGW.js";import"./chunk-I43RBOES.js";import"./chunk-ASBFWS7L.js";import"./chunk-DJKI5XBW.js";import"./chunk-U4V4ICSI.js";export{a as SetupWizardComponent};