homebridge-config-ui-x 5.0.0-beta.57 → 5.0.0-beta.58

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 (79) hide show
  1. package/CHANGELOG.md +3 -2
  2. package/package.json +2 -2
  3. package/public/{chunk-HND4X35J.js → chunk-23MX2RYM.js} +1 -1
  4. package/public/{chunk-BBUICPD3.js → chunk-2DTUW4BQ.js} +1 -1
  5. package/public/{chunk-3IKQJJ35.js → chunk-2RVVTWRS.js} +1 -1
  6. package/public/{chunk-J3P6NF5H.js → chunk-2S74RGBT.js} +1 -1
  7. package/public/{chunk-ZY3WVSWR.js → chunk-4DDILWHT.js} +1 -1
  8. package/public/{chunk-L5H6KHHM.js → chunk-4G7ZDKNN.js} +1 -1
  9. package/public/{chunk-7RDZL576.js → chunk-4MSG3J54.js} +1 -1
  10. package/public/{chunk-RAAYBP75.js → chunk-577BAH3V.js} +1 -1
  11. package/public/chunk-5CD6UY26.js +1 -0
  12. package/public/{chunk-QWTSQNT5.js → chunk-5JX3WJ75.js} +1 -1
  13. package/public/chunk-6IVKBDY3.js +1 -0
  14. package/public/{chunk-NMSMHD6N.js → chunk-6YTPTS6B.js} +1 -1
  15. package/public/{chunk-MHW5U4MP.js → chunk-7EXS2XSS.js} +1 -1
  16. package/public/chunk-AACSPNPY.js +1 -0
  17. package/public/{chunk-5FJB3FCA.js → chunk-BPL5NSAH.js} +1 -1
  18. package/public/chunk-BVWRKFL4.js +1 -0
  19. package/public/{chunk-2WH4IK5A.js → chunk-CDFIWRUN.js} +1 -1
  20. package/public/{chunk-BYW5V4GN.js → chunk-COS4S4TF.js} +1 -1
  21. package/public/{chunk-PP4ZCDNB.js → chunk-DHD5B57R.js} +1 -1
  22. package/public/{chunk-7LJ3B6ZP.js → chunk-E4RC6SFQ.js} +1 -1
  23. package/public/{chunk-EGR6APYX.js → chunk-EFRUFBVV.js} +1 -1
  24. package/public/{chunk-HFN3B3QR.js → chunk-F2WTESJ5.js} +1 -1
  25. package/public/{chunk-ECER442J.js → chunk-FLLCMU6N.js} +1 -1
  26. package/public/{chunk-O5YJ4X2O.js → chunk-FVOM7UH5.js} +1 -1
  27. package/public/{chunk-GFNUBCXV.js → chunk-GESK3FQM.js} +1 -1
  28. package/public/{chunk-5YY5PB7J.js → chunk-GESYNVZG.js} +1 -1
  29. package/public/{chunk-D7VOCNML.js → chunk-H4OP7ZVZ.js} +1 -1
  30. package/public/{chunk-6W4AJ2ZZ.js → chunk-HG4S4RSY.js} +1 -1
  31. package/public/{chunk-UZKR4SPQ.js → chunk-HL2O26LV.js} +1 -1
  32. package/public/chunk-HMRIGCJI.js +1 -0
  33. package/public/chunk-HXIW4X6X.js +1 -0
  34. package/public/{chunk-AOXOXBCJ.js → chunk-IOLNIJQG.js} +1 -1
  35. package/public/{chunk-362DCP5A.js → chunk-ITOAGZL4.js} +1 -1
  36. package/public/{chunk-XUQW3U5Y.js → chunk-JQDX6FK5.js} +1 -1
  37. package/public/{chunk-4BSIYTAL.js → chunk-LBAF32C7.js} +1 -1
  38. package/public/{chunk-J5Z3G3OU.js → chunk-LDSEKWL2.js} +1 -1
  39. package/public/{chunk-IINEZ45K.js → chunk-LX2F7RI5.js} +1 -1
  40. package/public/{chunk-HODXHCDJ.js → chunk-MJQAP75V.js} +1 -1
  41. package/public/{chunk-ZDGOOOSQ.js → chunk-MTPIIXAA.js} +1 -1
  42. package/public/chunk-N3Q4VHAE.js +1 -0
  43. package/public/chunk-NQBORIV5.js +1 -0
  44. package/public/{chunk-6RGVIHF3.js → chunk-NVQBON4I.js} +1 -1
  45. package/public/chunk-PMY2C777.js +1 -0
  46. package/public/chunk-QAH2JRRC.js +1 -0
  47. package/public/{chunk-YAATCUBG.js → chunk-QM3KC7UQ.js} +1 -1
  48. package/public/{chunk-YOBUG76J.js → chunk-QNUEP7BH.js} +1 -1
  49. package/public/chunk-RMG5A2H7.js +1 -0
  50. package/public/chunk-RRUYNAXU.js +1 -0
  51. package/public/{chunk-ITMRCE56.js → chunk-TUIBXFMS.js} +1 -1
  52. package/public/chunk-U7YCCT3P.js +1 -0
  53. package/public/{chunk-LROU3O4M.js → chunk-VRPY2NXD.js} +1 -1
  54. package/public/{chunk-ME47A4CF.js → chunk-W6QBIHKF.js} +1 -1
  55. package/public/chunk-X6IRSH7Q.js +1 -0
  56. package/public/{chunk-4TQHPYJK.js → chunk-X6PDUPUB.js} +1 -1
  57. package/public/{chunk-LVDKZONP.js → chunk-XD64C3NO.js} +1 -1
  58. package/public/{chunk-GVTYCQYL.js → chunk-XZX72VUZ.js} +1 -1
  59. package/public/{chunk-MI3HMMGX.js → chunk-YDDAOFL5.js} +1 -1
  60. package/public/{chunk-6C6D5JTI.js → chunk-YJ225ZS6.js} +1 -1
  61. package/public/chunk-YS2TSHIA.js +1 -0
  62. package/public/{chunk-QO3XIGOO.js → chunk-ZO7RBGTN.js} +1 -1
  63. package/public/index.html +1 -1
  64. package/public/{main-OIGLGXZB.js → main-AUSJMH3S.js} +1 -1
  65. package/public/chunk-4JZV3RMY.js +0 -1
  66. package/public/chunk-CDJKWLLD.js +0 -1
  67. package/public/chunk-CUIO3EP4.js +0 -1
  68. package/public/chunk-F7V44PP3.js +0 -1
  69. package/public/chunk-FHYCTWTJ.js +0 -1
  70. package/public/chunk-I3KKIRTX.js +0 -1
  71. package/public/chunk-IGBVA5MG.js +0 -1
  72. package/public/chunk-IZTRU4LC.js +0 -1
  73. package/public/chunk-NFDY2BQU.js +0 -1
  74. package/public/chunk-PIYDYGCD.js +0 -1
  75. package/public/chunk-RPVIKP3Y.js +0 -1
  76. package/public/chunk-UDDAX4U6.js +0 -1
  77. package/public/chunk-WNM6WQXW.js +0 -1
  78. package/public/chunk-YIVO4VCZ.js +0 -1
  79. package/public/chunk-YMRGMDKR.js +0 -1
@@ -0,0 +1 @@
1
+ import{a}from"./chunk-U7YCCT3P.js";import"./chunk-ENRL5IRP.js";import"./chunk-DWUJUZ6J.js";import"./chunk-ITOAGZL4.js";import"./chunk-HL2O26LV.js";import"./chunk-CMCSOAXY.js";import"./chunk-AT2FVBH6.js";import"./chunk-GZS22B5R.js";import"./chunk-4DDILWHT.js";import"./chunk-HKLJJXUX.js";import"./chunk-ZC5PN6KE.js";import"./chunk-OIONECW5.js";import"./chunk-ZIEZJHQ3.js";import"./chunk-JUAHATIH.js";import"./chunk-L6QFBAQD.js";import"./chunk-YRKK76EB.js";import"./chunk-ACZLPZJM.js";import"./chunk-VNJJI7TG.js";import"./chunk-CDFIWRUN.js";import"./chunk-4T2QSCYW.js";import"./chunk-6YTPTS6B.js";import"./chunk-HG4S4RSY.js";import"./chunk-COS4S4TF.js";import"./chunk-ZZ5DUZ3T.js";import"./chunk-5FC5GQ62.js";import"./chunk-YSEOPOHR.js";export{a as PluginsComponent};
@@ -1 +1 @@
1
- import{a as ke}from"./chunk-5FJB3FCA.js";import{a as we}from"./chunk-GFNUBCXV.js";import{v as ye}from"./chunk-362DCP5A.js";import{g as J,m as M,n as he}from"./chunk-ACZLPZJM.js";import{b as G,c as le,e as W,f as se,g as Z,j as D,k as oe,l as q,m as pe,n as de,o as ce,p as me,q as ue,r as _e,s as ge,t as be,u as ve,v as fe,y as K,z as xe}from"./chunk-VNJJI7TG.js";import{d as P,e as Ce}from"./chunk-4T2QSCYW.js";import{b as Se}from"./chunk-6W4AJ2ZZ.js";import{h as V,k as R}from"./chunk-BYW5V4GN.js";import{a as F,b as $}from"./chunk-5FC5GQ62.js";import{$c as O,Ac as L,Cc as l,Dc as s,Ec as Y,Jb as f,Kb as _,M as Q,Pb as b,Rb as A,Sb as N,Tb as T,Ub as i,Vb as n,Wb as c,_b as w,bc as v,cb as X,cc as g,ed as j,gb as t,h as y,ma as C,mc as r,nc as d,oc as u,tb as B,tc as ne,ua as S,uc as ae,va as k,vc as re,w as E,yc as H,zb as h,zc as I}from"./chunk-YSEOPOHR.js";function Te(a,m){a&1&&(i(0,"div",12),c(1,"i",13),n(),i(2,"p",14),r(3),l(4,"translate"),n()),a&2&&(t(3),d(s(4,1,"reset.no_accessories")))}function Me(a,m){a&1&&(i(0,"div",12),c(1,"i",15),n(),i(2,"ul",16)(3,"li"),r(4),l(5,"translate"),n(),i(6,"li"),r(7),l(8,"translate"),n(),i(9,"li"),r(10),l(11,"translate"),n()(),i(12,"ngb-alert",17)(13,"p",18),r(14),l(15,"translate"),n()()),a&2&&(t(4),d(s(5,5,"reset.accessory_all.list_1")),t(3),d(s(8,7,"reset.accessory_all.list_2")),t(3),d(s(11,9,"reset.accessory_all.list_3")),t(2),_("dismissible",!1),t(2),d(s(15,11,"reset.action_is_irreversible")))}function Fe(a,m){if(a&1){let e=w();i(0,"button",19),l(1,"translate"),v("click",function(){S(e);let o=g();return k(o.$activeModal.dismiss("Dismiss"))}),r(2),l(3,"translate"),n()}if(a&2){let e=g();_("disabled",e.clicked),f("aria-label",s(1,3,"form.button_close")),t(2),u(" ",s(3,5,"form.button_close")," ")}}function Ve(a,m){if(a&1){let e=w();i(0,"button",20),l(1,"translate"),v("click",function(){S(e);let o=g();return k(o.$activeModal.dismiss("Dismiss"))}),r(2),l(3,"translate"),n()}a&2&&(f("aria-label",s(1,2,"form.button_close")),t(2),u(" ",s(3,4,"form.button_close")," "))}function Re(a,m){a&1&&(r(0),l(1,"translate")),a&2&&u(" ",s(1,1,"form.button_remove")," ")}function De(a,m){a&1&&c(0,"i",22)}function Pe(a,m){if(a&1){let e=w();i(0,"button",21),v("click",function(){S(e);let o=g();return k(o.onResetCachedAccessoriesClick())}),h(1,Re,2,3)(2,De,1,0,"i",22),n()}if(a&2){let e=g();_("disabled",e.clicked),t(),b(e.clicked?-1:1),t(),b(e.clicked?2:-1)}}var Ee=(()=>{class a{$activeModal=C(M);$api=C(R);$router=C(P);$toastr=C(V);$translate=C(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(p){return new(p||a)};static \u0275cmp=B({type:a,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(p,o){p&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),l(4,"translate"),n(),i(5,"button",3),l(6,"translate"),v("click",function(){return o.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4),h(8,Te,5,3)(9,Me,16,13),n(),i(10,"div",5)(11,"div",6),h(12,Fe,4,7,"button",7),n(),i(13,"div",8),h(14,Ve,4,6,"button",9),n(),i(15,"div",10),h(16,Pe,3,3,"button",11),n()()()),p&2&&(t(3),d(s(4,8,"reset.accessory_all.title")),t(2),_("disabled",o.clicked),f("aria-label",s(6,10,"form.button_close")),t(3),b(o.cachedAccessories.length===0?8:-1),t(),b(o.cachedAccessories.length>0?9:-1),t(3),b(o.cachedAccessories.length>0?12:-1),t(2),b(o.cachedAccessories.length===0?14:-1),t(2),b(o.cachedAccessories.length>0?16:-1))},dependencies:[J,$],encapsulation:2})}return a})();var He=(a,m)=>({"green-text":a,"grey-text":m}),Le=(a,m)=>({"btn-danger":a,"btn-elegant":m}),Oe=(a,m,e)=>({"fa-broom":a,"fa-undo":m,"fa-spinner fa-pulse":e});function Ue(a,m){a&1&&(i(0,"div",12),c(1,"i",13),n(),i(2,"p",14),r(3),l(4,"translate"),n()),a&2&&(t(3),d(s(4,1,"reset.bridge_accessories.empty")))}function ze(a,m){if(a&1){let e=w();i(0,"li",18)(1,"span"),r(2),c(3,"br"),i(4,"small",19),c(5,"i",20),r(6),l(7,"translate"),i(8,"span",21),r(9),n()()(),i(10,"button",22),l(11,"translate"),v("click",function(){let o=S(e).$implicit,x=g(2);return k(x.toggleList(o._id))}),c(12,"i",23),n()()}if(a&2){let e=m.$implicit,p=g(2);t(2),u(" ",e.name," "),t(3),_("ngClass",I(12,He,e._isPaired,!e._isPaired)),t(),u(" ",s(7,8,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),d(e._username),t(),_("disabled",p.clicked)("ngClass",I(15,Le,!p.toDelete.includes(e._id),p.toDelete.includes(e._id))),f("aria-label",s(11,10,"form.button_delete")),t(2),_("ngClass",L(18,Oe,!p.toDelete.includes(e._id),p.toDelete.includes(e._id)&&!p.clicked,p.toDelete.includes(e._id)&&p.clicked))}}function je(a,m){if(a&1&&(i(0,"div",12),c(1,"i",15),n(),i(2,"ul",16)(3,"li"),r(4),l(5,"translate"),n(),i(6,"li"),r(7),l(8,"translate"),n(),i(9,"li"),r(10),l(11,"translate"),n()(),i(12,"ul",17),N(13,ze,13,22,"li",18,A),n()),a&2){let e=g();t(4),d(s(5,3,"reset.bridge_accessories.list_1")),t(3),d(s(8,5,"reset.clear_cache_single.list_3")),t(3),d(s(11,7,"reset.bridge_accessories.list_2")),t(3),T(e.pairings)}}function Ge(a,m){if(a&1){let e=w();i(0,"button",24),v("click",function(){S(e);let o=g();return k(o.$activeModal.dismiss("Dismiss"))}),r(1),l(2,"translate"),n()}if(a&2){let e=g();_("disabled",e.clicked),t(),u(" ",s(2,2,"form.button_close")," ")}}function We(a,m){if(a&1){let e=w();i(0,"button",25),v("click",function(){S(e);let o=g();return k(o.$activeModal.dismiss("Dismiss"))}),r(1),l(2,"translate"),n()}a&2&&(t(),u(" ",s(2,1,"form.button_close")," "))}function qe(a,m){if(a&1&&r(0),a&2){let e=g(3);u(" (",e.toDelete.length,") ")}}function Ke(a,m){if(a&1&&(r(0),l(1,"translate"),h(2,qe,1,1)),a&2){let e=g(2);u(" ",s(1,2,"form.button_remove")," "),t(2),b(e.toDelete.length>0?2:-1)}}function Je(a,m){a&1&&c(0,"i",27)}function Qe(a,m){if(a&1){let e=w();i(0,"button",26),v("click",function(){S(e);let o=g();return k(o.cleanBridges())}),h(1,Ke,3,4)(2,Je,1,0,"i",27),n()}if(a&2){let e=g();_("disabled",!e.toDelete.length||e.clicked),t(),b(e.clicked?-1:1),t(),b(e.clicked?2:-1)}}var Be=(()=>{class a{$activeModal=C(M);$api=C(R);$router=C(P);$toastr=C(V);$translate=C(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,p)=>e.name.localeCompare(p.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(p=>p!==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(p){return new(p||a)};static \u0275cmp=B({type:a,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(p,o){p&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),l(4,"translate"),n(),i(5,"button",3),l(6,"translate"),v("click",function(){return o.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4),h(8,Ue,5,3)(9,je,15,9),n(),i(10,"div",5)(11,"div",6),h(12,Ge,3,4,"button",7),n(),i(13,"div",8),h(14,We,3,3,"button",9),n(),i(15,"div",10),h(16,Qe,3,3,"button",11),n()()()),p&2&&(t(3),d(s(4,8,"reset.bridge_accessories.title")),t(2),_("disabled",o.clicked),f("aria-label",s(6,10,"form.button_close")),t(3),b(o.pairings.length===0?8:-1),t(),b(o.pairings.length>0?9:-1),t(3),b(o.pairings.length>0?12:-1),t(2),b(o.pairings.length===0?14:-1),t(2),b(o.pairings.length>0?16:-1))},dependencies:[O,$],encapsulation:2})}return a})();function Xe(a,m){a&1&&(r(0),l(1,"translate")),a&2&&u(" ",s(1,1,"form.button_reset")," ")}function Ye(a,m){a&1&&c(0,"i",16)}var Ie=(()=>{class a{$activeModal=C(M);$api=C(R);$route=C(P);$toastr=C(V);$translate=C(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(p){return new(p||a)};static \u0275cmp=B({type:a,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(p,o){p&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),l(4,"translate"),n(),i(5,"button",3),l(6,"translate"),v("click",function(){return o.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4)(8,"div",5),c(9,"i",6),n(),i(10,"ul",7)(11,"li"),r(12),l(13,"translate"),n(),i(14,"li"),r(15),l(16,"translate"),n(),i(17,"li"),r(18),l(19,"translate"),n(),i(20,"li"),r(21),l(22,"translate"),n()(),i(23,"ngb-alert",8)(24,"p",9),r(25),l(26,"translate"),n()()(),i(27,"div",10)(28,"div",11)(29,"button",12),l(30,"translate"),v("click",function(){return o.$activeModal.dismiss("Dismiss")}),r(31),l(32,"translate"),n()(),c(33,"div",13),i(34,"div",14)(35,"button",15),v("click",function(){return o.onResetHomebridgeAccessoryClick()}),h(36,Xe,2,3)(37,Ye,1,0,"i",16),n()()()()),p&2&&(t(3),d(s(4,15,"reset.bridge_all.title")),t(2),_("disabled",o.clicked),f("aria-label",s(6,17,"form.button_close")),t(7),d(s(13,19,"reset.bridge_all.list_1")),t(3),d(s(16,21,"reset.bridge_all.list_2")),t(3),d(s(19,23,"reset.bridge_all.list_3")),t(3),d(s(22,25,"reset.bridge_all.list_4")),t(2),_("dismissible",!1),t(2),d(s(26,27,"reset.action_is_irreversible")),t(4),_("disabled",o.clicked),f("aria-label",s(30,29,"form.button_close")),t(2),u(" ",s(32,31,"form.button_close")," "),t(4),_("disabled",o.clicked),t(),b(o.clicked?-1:36),t(),b(o.clicked?37:-1))},dependencies:[J,$],encapsulation:2})}return a})();var ee=(a,m)=>({"green-text":a,"grey-text":m}),te=(a,m)=>({"btn-danger":a,"btn-elegant":m}),$e=(a,m,e)=>({"fa-refresh":a,"fa-undo":m,"fa-spinner fa-pulse":e}),Ze=(a,m,e)=>({"fa-trash":a,"fa-undo":m,"fa-spinner fa-pulse":e});function et(a,m){a&1&&(i(0,"div",12),c(1,"i",13),n(),i(2,"p",14),r(3),l(4,"translate"),n()),a&2&&(t(3),d(s(4,1,"reset.bridges.empty")))}function tt(a,m){if(a&1){let e=w();i(0,"li",20)(1,"span"),r(2),c(3,"br"),i(4,"small",21),c(5,"i",22),r(6),l(7,"translate"),i(8,"span",23),r(9),n(),r(10),l(11,"titlecase"),n()(),i(12,"button",24),l(13,"translate"),v("click",function(){let o=S(e).$implicit,x=g(3);return k(x.toggleList(o._id,!1))}),c(14,"i",25),n()()}if(a&2){let e=m.$implicit,p=g(3);t(2),u(" ",e.name," "),t(3),_("ngClass",I(15,ee,e._isPaired,!e._isPaired)),t(),u(" ",s(7,9,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),d(e._username),t(),u(" \xB7 ",e._main?"Homebridge":s(11,11,e._category)," "),t(2),_("disabled",p.clicked)("ngClass",I(18,te,!p.isInList(e._id),p.isInList(e._id))),f("aria-label",s(13,13,"form.button_unpair")),t(2),_("ngClass",L(21,$e,!p.isInList(e._id),p.isInList(e._id)&&!p.clicked,p.isInList(e._id)&&p.clicked))}}function it(a,m){if(a&1&&(i(0,"ul",16)(1,"li",17)(2,"h6",18),r(3),l(4,"translate"),n(),i(5,"p",19),r(6),l(7,"translate"),n()(),N(8,tt,15,25,"li",20,A),n()),a&2){let e=g(2);t(3),d(s(4,2,"reset.bridge_ind.head_non_child")),t(3),d(s(7,4,"reset.bridge_ind.desc_non_child")),t(2),T(e.pairingsNonChild)}}function nt(a,m){if(a&1){let e=w();i(0,"li",20)(1,"span"),r(2),c(3,"br"),i(4,"small",21),c(5,"i",22),r(6),l(7,"translate"),i(8,"span",23),r(9),n()()(),i(10,"button",24),l(11,"translate"),v("click",function(){let o=S(e).$implicit,x=g(3);return k(x.toggleList(o._id,!0))}),c(12,"i",25),n()()}if(a&2){let e=m.$implicit,p=g(3);t(2),u(" ",e.name," "),t(3),_("ngClass",I(12,ee,e._isPaired,!e._isPaired)),t(),u(" ",s(7,8,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),d(e._username),t(),_("disabled",p.clicked)("ngClass",I(15,te,!p.isInList(e._id),p.isInList(e._id))),f("aria-label",s(11,10,"form.button_unpair")),t(2),_("ngClass",L(18,$e,!p.isInList(e._id),p.isInList(e._id)&&!p.clicked,p.isInList(e._id)&&p.clicked))}}function at(a,m){if(a&1&&(i(0,"ul",16)(1,"li",17)(2,"h6",18),r(3),l(4,"translate"),n(),i(5,"p",19),r(6),l(7,"translate"),n()(),N(8,nt,13,22,"li",20,A),n()),a&2){let e=g(2);t(3),d(s(4,2,"reset.bridge_ind.head_child_active")),t(3),d(s(7,4,"reset.bridge_ind.desc_child_active")),t(2),T(e.pairingsChildActive)}}function rt(a,m){if(a&1){let e=w();i(0,"li",20)(1,"span"),r(2),c(3,"br"),i(4,"small",21),c(5,"i",22),r(6),l(7,"translate"),i(8,"span",23),r(9),n()()(),i(10,"button",24),l(11,"translate"),v("click",function(){let o=S(e).$implicit,x=g(3);return k(x.toggleList(o._id,!1))}),c(12,"i",25),n()()}if(a&2){let e=m.$implicit,p=g(3);t(2),u(" ",e.name," "),t(3),_("ngClass",I(12,ee,e._isPaired,!e._isPaired)),t(),u(" ",s(7,8,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),d(e._username),t(),_("disabled",p.clicked)("ngClass",I(15,te,!p.isInList(e._id),p.isInList(e._id))),f("aria-label",s(11,10,"form.button_unpair")),t(2),_("ngClass",L(18,Ze,!p.isInList(e._id),p.isInList(e._id)&&!p.clicked,p.isInList(e._id)&&p.clicked))}}function lt(a,m){if(a&1&&(i(0,"ul",16)(1,"li",17)(2,"h6",18),r(3),l(4,"translate"),n(),i(5,"p",19),r(6),l(7,"translate"),n()(),N(8,rt,13,22,"li",20,A),n()),a&2){let e=g(2);t(3),d(s(4,2,"reset.bridge_ind.head_child_stale")),t(3),d(s(7,4,"reset.bridge_ind.desc_child_stale")),t(2),T(e.pairingsChildStale)}}function st(a,m){if(a&1&&(i(0,"div",12),c(1,"i",15),n(),h(2,it,10,6,"ul",16)(3,at,10,6,"ul",16)(4,lt,10,6,"ul",16)),a&2){let e=g();t(2),b(e.pairingsNonChild.length>0?2:-1),t(),b(e.pairingsChildActive.length>0?3:-1),t(),b(e.pairingsChildStale.length>0?4:-1)}}function ot(a,m){if(a&1){let e=w();i(0,"button",26),v("click",function(){S(e);let o=g();return k(o.$activeModal.dismiss("Dismiss"))}),r(1),l(2,"translate"),n()}if(a&2){let e=g();_("disabled",e.clicked),t(),u(" ",s(2,2,"form.button_close")," ")}}function pt(a,m){if(a&1){let e=w();i(0,"button",27),v("click",function(){S(e);let o=g();return k(o.$activeModal.dismiss("Dismiss"))}),r(1),l(2,"translate"),n()}a&2&&(t(),u(" ",s(2,1,"form.button_close")," "))}function dt(a,m){if(a&1&&r(0),a&2){let e=g(3);u(" (",e.toDelete.length,") ")}}function ct(a,m){if(a&1&&(r(0),l(1,"translate"),h(2,dt,1,1)),a&2){let e=g(2);u(" ",s(1,2,"form.button_reset")," "),t(2),b(e.toDelete.length>0?2:-1)}}function mt(a,m){a&1&&c(0,"i",29)}function ut(a,m){if(a&1){let e=w();i(0,"button",28),v("click",function(){S(e);let o=g();return k(o.removeBridges())}),h(1,ct,3,4)(2,mt,1,0,"i",29),n()}if(a&2){let e=g();_("disabled",!e.toDelete.length||e.clicked),t(),b(e.clicked?-1:1),t(),b(e.clicked?2:-1)}}var Ae=(()=>{class a{$activeModal=C(M);$api=C(R);$router=C(P);$toastr=C(V);$translate=C(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(p=>!p._main).sort((p,o)=>p.name.localeCompare(o.name));this.pairingsChildActive=e.filter(p=>p._category==="bridge"&&!p._couldBeStale),this.pairingsNonChild=e.filter(p=>p._category!=="bridge"),this.pairingsChildStale=e.filter(p=>p._category==="bridge"&&p._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,p=!1){this.toDelete.some(o=>o.id===e)?this.toDelete=this.toDelete.filter(o=>o.id!==e):this.toDelete.push({id:e,resetPairingInfo:p})}isInList(e){return this.toDelete.some(p=>p.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(p){return new(p||a)};static \u0275cmp=B({type:a,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(p,o){p&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),l(4,"translate"),n(),i(5,"button",3),l(6,"translate"),v("click",function(){return o.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4),h(8,et,5,3)(9,st,5,3),n(),i(10,"div",5)(11,"div",6),h(12,ot,3,4,"button",7),n(),i(13,"div",8),h(14,pt,3,3,"button",9),n(),i(15,"div",10),h(16,ut,3,3,"button",11),n()()()),p&2&&(t(3),d(s(4,8,"reset.bridge_ind.title")),t(2),_("disabled",o.clicked),f("aria-label",s(6,10,"form.button_close")),t(3),b(o.pairingsChildActive.length===0&&o.pairingsChildStale.length===0&&o.pairingsNonChild.length===0?8:-1),t(),b(o.pairingsChildActive.length>0||o.pairingsChildStale.length>0||o.pairingsNonChild.length>0?9:-1),t(3),b(o.pairingsChildActive.length>0||o.pairingsChildStale.length>0||o.pairingsNonChild.length>0?12:-1),t(2),b(o.pairingsChildActive.length===0&&o.pairingsChildStale.length===0&&o.pairingsNonChild.length===0?14:-1),t(2),b(o.pairingsChildActive.length>0||o.pairingsChildStale.length>0||o.pairingsNonChild.length>0?16:-1))},dependencies:[O,j,$],encapsulation:2})}return a})();function gt(a,m){if(a&1){let e=w();i(0,"li",10)(1,"span")(2,"label",17)(3,"input",18),re("ngModelChange",function(o){let x=S(e).$implicit;return ae(x.selected,o)||(x.selected=o),k(o)}),n(),i(4,"span"),r(5),n(),c(6,"span",19),n()(),i(7,"span",20),r(8),n()()}if(a&2){let e=m.$implicit;t(2),_("for","adapter"+e.iface),t(),_("id","adapter"+e.iface),ne("ngModel",e.selected),t(2),d(e.iface),t(3),d(e.ip4||e.ip6)}}var Ne=(()=>{class a{$activeModal=C(M);availableNetworkAdapters=[];bridgeNetworkAdapters=[];constructor(){}submit(){this.$activeModal.close(this.availableNetworkAdapters.filter(e=>e.selected).map(e=>e.iface))}static \u0275fac=function(p){return new(p||a)};static \u0275cmp=B({type:a,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(p,o){p&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),l(4,"translate"),n(),i(5,"button",3),l(6,"translate"),v("click",function(){return o.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4)(8,"div",5),c(9,"i",6),n(),i(10,"ul",7)(11,"li"),r(12),l(13,"translate"),n()(),i(14,"ul",8)(15,"li",9)(16,"strong"),r(17),l(18,"translate"),n(),i(19,"strong"),r(20),l(21,"translate"),n()(),N(22,gt,9,5,"li",10,A),n()(),i(24,"div",11)(25,"div",12)(26,"button",13),l(27,"translate"),v("click",function(){return o.$activeModal.dismiss("Dismiss")}),r(28),l(29,"translate"),n()(),c(30,"div",14),i(31,"div",15)(32,"button",16),v("click",function(){return o.submit()}),r(33),l(34,"translate"),n()()()()),p&2&&(t(3),d(s(4,8,"settings.network.title_network_interfaces")),t(2),f("aria-label",s(6,10,"form.button_close")),t(7),d(s(13,12,"settings.network.message_network_interface")),t(5),d(s(18,14,"settings.network.label_interface_name")),t(3),d(s(21,16,"settings.network.label_ip_address")),t(2),T(o.availableNetworkAdapters),t(4),f("aria-label",s(27,18,"form.button_close")),t(2),u(" ",s(29,20,"form.button_close")," "),t(5),u(" ",s(34,22,"form.button_save")," "))},dependencies:[K,G,W,q,$],encapsulation:2})}return a})();var ie=a=>({"is-invalid":a}),bt=a=>({file:a}),vt=a=>({link:a}),ft=a=>({"fa-pulse":a}),xt=(a,m)=>({"badge-danger":a,"badge-info":m});function ht(a,m){a&1&&(i(0,"li",22)(1,"small",23),r(2),l(3,"translate"),n(),i(4,"button",24),l(5,"translate"),r(6),l(7,"translate"),n()()),a&2&&(t(2),d(s(3,3,"settings.changes.saved")),t(2),f("aria-label",s(5,5,"menu.tooltip_restart")),t(2),u(" ",s(7,7,"menu.tooltip_restart")," "))}function Ct(a,m){if(a&1){let e=w();i(0,"ul",5)(1,"li",14)(2,"span"),r(3," Homebridge Name "),n(),i(4,"div",15),c(5,"input",16),l(6,"translate"),n()(),i(7,"li",17)(8,"span",18),r(9),l(10,"translate"),n(),i(11,"button",19),l(12,"translate"),v("click",function(){S(e);let o=g();return k(o.openUiSettings())}),c(13,"i",20),n()(),i(14,"li",17)(15,"span",18),r(16),l(17,"translate"),n(),i(18,"button",19),l(19,"translate"),v("click",function(){S(e);let o=g();return k(o.openBackupModal())}),c(20,"i",20),n()(),i(21,"li",17)(22,"span",18),r(23),l(24,"translate"),n(),i(25,"a",21),l(26,"translate"),c(27,"i",20),n()(),h(28,ht,8,9,"li",22),n()}if(a&2){let e=g();t(5),_("formControl",e.hbNameFormControl)("ngClass",H(24,ie,e.isInvalidHbName)),f("aria-label",s(6,10,"settings.network.port_ui")),t(4),u(" ",s(10,12,"menu.label_settings_advanced")," "),t(2),f("aria-label",s(12,14,"menu.label_settings_advanced")),t(5),u(" ",s(17,16,"backup.title_backup")," "),t(2),f("aria-label",s(19,18,"backup.title_backup")),t(5),u(" ",s(24,20,"menu.tooltip_user_accounts")," "),t(2),f("aria-label",s(26,22,"menu.tooltip_user_accounts")),t(3),b(e.hasChangedHbName&&!e.isInvalidHbName?28:-1)}}function St(a,m){a&1&&(i(0,"li",22)(1,"small",23),r(2),l(3,"translate"),n(),i(4,"button",24),l(5,"translate"),r(6),l(7,"translate"),n()()),a&2&&(t(2),d(s(3,3,"settings.changes.saved")),t(2),f("aria-label",s(5,5,"menu.tooltip_restart")),t(2),u(" ",s(7,7,"menu.tooltip_restart")," "))}function kt(a,m){if(a&1){let e=w();i(0,"ul",6)(1,"li",14),r(2),l(3,"translate"),i(4,"div",25)(5,"select",26),v("ngModelChange",function(o){S(e);let x=g();return k(x.saveUiSettingChange("lang",o))}),i(6,"option",27),r(7),l(8,"translate"),n(),i(9,"option",28),r(10,"Bulgarian (bg)"),n(),i(11,"option",29),r(12,"Catalan (ca)"),n(),i(13,"option",30),r(14,"Chinese - Simplified (zh-CN)"),n(),i(15,"option",31),r(16,"Chinese - Traditional (zh-TW)"),n(),i(17,"option",32),r(18,"Czech (cs)"),n(),i(19,"option",33),r(20,"Dutch (nl)"),n(),i(21,"option",34),r(22,"English (en)"),n(),i(23,"option",35),r(24,"Finnish (fi)"),n(),i(25,"option",36),r(26,"French (fr)"),n(),i(27,"option",37),r(28,"German (de)"),n(),i(29,"option",38),r(30,"Hebrew (he)"),n(),i(31,"option",39),r(32,"Hungarian (hu)"),n(),i(33,"option",40),r(34,"Indonesian (id)"),n(),i(35,"option",41),r(36,"Italian (it)"),n(),i(37,"option",42),r(38,"Japanese (ja)"),n(),i(39,"option",43),r(40,"Korean (ko)"),n(),i(41,"option",44),r(42,"Macedonian (mk)"),n(),i(43,"option",45),r(44,"Norwegian (no)"),n(),i(45,"option",46),r(46,"Polish (pl)"),n(),i(47,"option",47),r(48,"Portuguese (Brazil)"),n(),i(49,"option",48),r(50,"Portuguese (Portugal)"),n(),i(51,"option",49),r(52,"Russian (ru)"),n(),i(53,"option",50),r(54,"Slovenian (sl)"),n(),i(55,"option",51),r(56,"Spanish (es)"),n(),i(57,"option",52),r(58,"Swedish (sv)"),n(),i(59,"option",53),r(60,"Thai (th)"),n(),i(61,"option",54),r(62,"Turkish (tr)"),n(),i(63,"option",55),r(64,"Ukrainian (uk)"),n()()()(),i(65,"li",14),r(66),l(67,"translate"),i(68,"div",25)(69,"select",26),v("ngModelChange",function(o){S(e);let x=g();return k(x.saveUiSettingChange("theme",o))}),i(70,"option",56),r(71),l(72,"translate"),n(),i(73,"option",57),r(74),l(75,"translate"),n(),i(76,"option",58),r(77),l(78,"translate"),n(),i(79,"option",59),r(80),l(81,"translate"),n(),i(82,"option",60),r(83),l(84,"translate"),n(),i(85,"option",61),r(86),l(87,"translate"),n(),i(88,"option",62),r(89),l(90,"translate"),n(),i(91,"option",63),r(92),l(93,"translate"),n(),i(94,"option",64),r(95),l(96,"translate"),n(),i(97,"option",65),r(98),l(99,"translate"),n(),i(100,"option",66),r(101),l(102,"translate"),n(),i(103,"option",67),r(104),l(105,"translate"),n(),i(106,"option",68),r(107),l(108,"translate"),n()()()(),i(109,"li",14),r(110),l(111,"translate"),i(112,"div",25)(113,"select",26),v("ngModelChange",function(o){S(e);let x=g();return k(x.saveUiSettingChange("lightingMode",o))}),i(114,"option",27),r(115),l(116,"translate"),n(),i(117,"option",69),r(118),l(119,"translate"),n(),i(120,"option",70),r(121),l(122,"translate"),n()()()(),i(123,"li",14),r(124),l(125,"translate"),i(126,"div",25)(127,"select",26),v("ngModelChange",function(o){S(e);let x=g();return k(x.saveUiSettingChange("menuMode",o))}),i(128,"option",71),r(129),l(130,"translate"),n(),i(131,"option",72),r(132),l(133,"translate"),n()()()(),i(134,"li",14)(135,"span"),r(136),l(137,"translate"),c(138,"br")(139,"small",73),l(140,"translate"),n(),i(141,"div",25)(142,"input",74),v("ngModelChange",function(o){S(e);let x=g();return k(x.saveUiSettingChange("loginWallpaper",o))}),n()()(),i(143,"li",14),r(144),l(145,"translate"),i(146,"div",25)(147,"select",26),v("ngModelChange",function(o){S(e);let x=g();return k(x.saveUiSettingChange("tempUnits",o))}),i(148,"option",75),r(149),l(150,"translate"),n(),i(151,"option",76),r(152),l(153,"translate"),n()()()(),h(154,St,8,9,"li",22),n()}if(a&2){let e=g();t(2),u(" ",s(3,35,"settings.display.lang")," "),t(3),_("ngModel",e.$settings.env.lang),t(2),d(s(8,37,"form.select.auto")),t(59),u(" ",s(67,39,"settings.display.theme")," "),t(3),_("ngModel",e.$settings.theme),t(2),d(s(72,41,"settings.display.orange")),t(3),d(s(75,43,"settings.display.red")),t(3),d(s(78,45,"settings.display.pink")),t(3),d(s(81,47,"settings.display.purple")),t(3),d(s(84,49,"settings.display.deep_purple")),t(3),d(s(87,51,"settings.display.indigo")),t(3),d(s(90,53,"settings.display.blue")),t(3),d(s(93,55,"settings.display.bluegrey")),t(3),d(s(96,57,"settings.display.cyan")),t(3),d(s(99,59,"settings.display.green")),t(3),d(s(102,61,"settings.display.teal")),t(3),d(s(105,63,"settings.display.grey")),t(3),d(s(108,65,"settings.display.brown")),t(3),u(" ",s(111,67,"settings.display.lighting_mode")," "),t(3),_("ngModel",e.$settings.lightingMode),t(2),d(s(116,69,"form.select.auto")),t(3),d(s(119,71,"settings.display.light")),t(3),d(s(122,73,"settings.display.dark")),t(3),u(" ",s(125,75,"settings.display.menu_mode")," "),t(3),_("ngModel",e.$settings.menuMode),t(2),d(s(130,77,"settings.display.menu_default")),t(3),d(s(133,79,"settings.display.menu_freeze")),t(4),u(" ",s(137,81,"settings.display.login_wallpaper"),""),t(3),_("innerHTML",Y(140,83,"settings.display.login_wallpaper_desc",H(92,bt,e.file)),X),t(3),_("ngModel",e.$settings.loginWallpaper),t(2),u(" ",s(145,86,"settings.display.temp_units")," "),t(3),_("ngModel",e.$settings.env.temperatureUnits),t(2),d(s(150,88,"settings.display.temp_units.c")),t(3),d(s(153,90,"settings.display.temp_units.f")),t(2),b(e.hasChangedLoginWallpaper?154:-1)}}function wt(a,m){a&1&&(i(0,"li",17)(1,"span"),r(2),l(3,"translate"),c(4,"br"),i(5,"small",77),r(6),l(7,"translate"),n()(),i(8,"a",87),l(9,"translate"),c(10,"i",20),n()()),a&2&&(t(2),u(" ",s(3,3,"menu.docker.startup_script"),""),t(4),d(s(7,5,"platform.docker.script_help")),t(2),f("aria-label",s(9,7,"menu.docker.startup_script")))}function yt(a,m){a&1&&(i(0,"li",22)(1,"small",23),r(2),l(3,"translate"),n(),i(4,"button",24),l(5,"translate"),r(6),l(7,"translate"),n()()),a&2&&(t(2),d(s(3,3,"settings.changes.saved")),t(2),f("aria-label",s(5,5,"menu.tooltip_restart")),t(2),u(" ",s(7,7,"menu.tooltip_restart")," "))}function Et(a,m){if(a&1&&(i(0,"ul",8)(1,"li",17)(2,"span"),r(3),l(4,"translate"),i(5,"code"),r(6,"-D"),n(),c(7,"br"),i(8,"small",77),r(9),l(10,"translate"),n()(),c(11,"input",78),l(12,"translate"),c(13,"label",79),n(),i(14,"li",17)(15,"span"),r(16),l(17,"translate"),i(18,"code"),r(19,"-I"),n(),c(20,"br"),i(21,"small",77),r(22),l(23,"translate"),n()(),c(24,"input",80),l(25,"translate"),c(26,"label",81),n(),i(27,"li",17)(28,"span"),r(29),l(30,"translate"),i(31,"code"),r(32,"-K"),n(),c(33,"br"),i(34,"small",77),r(35),l(36,"translate"),n()(),c(37,"input",82),l(38,"translate"),c(39,"label",83),n(),i(40,"li",14)(41,"span")(42,"span",84),r(43,"DEBUG"),n(),c(44,"br")(45,"small",73),l(46,"translate"),n(),i(47,"div",25),c(48,"input",85),n()(),i(49,"li",14)(50,"span")(51,"span",84),r(52,"NODE_OPTIONS"),n(),c(53,"br"),i(54,"small",77),r(55),l(56,"translate"),n()(),i(57,"div",25),c(58,"input",86),n()(),h(59,wt,11,9,"li",17)(60,yt,8,9,"li",22),n()),a&2){let e=g();t(3),u(" ",s(4,13,"settings.startup.debug")," "),t(6),u(" ",s(10,15,e.isHbV2?"settings.startup.debug_desc_v2":"settings.startup.debug_desc_v1")," "),t(2),f("aria-label",s(12,17,"settings.startup.debug")),t(5),u(" ",s(17,19,"settings.startup.insecure")," "),t(6),d(s(23,21,"settings.startup.insecure_desc")),t(2),f("aria-label",s(25,23,"settings.startup.insecure")),t(5),u(" ",s(30,25,"settings.startup.keep_accessories")," "),t(6),d(s(36,27,"settings.startup.keep_accessories_desc")),t(2),f("aria-label",s(38,29,"settings.startup.keep_accessories")),t(8),_("innerHTML",Y(46,31,"settings.service.debug_tooltip",H(36,vt,e.linkDebug)),X),t(10),d(s(56,34,"settings.service.node_tooltip")),t(4),b(e.$settings.env.runningInDocker?59:-1),t(),b(e.hasChangedService?60:-1)}}function Bt(a,m){a&1&&c(0,"i",99)}function It(a,m){if(a&1&&(i(0,"span",89),h(1,Bt,1,0,"i",99),r(2),i(3,"span",100),r(4),l(5,"translate"),n()()),a&2){let e=m.$implicit;_("ngClass",I(6,xt,e.missing,!e.missing)),t(),b(e.missing?1:-1),t(),u(" ",e.iface,": "),t(2),d(e.missing?s(5,4,"settings.mdns_advertiser_not_connected"):e.ip4||e.ip6)}}function $t(a,m){a&1&&(i(0,"option",93),r(1),l(2,"translate"),n()),a&2&&(t(),u("Avahi (",s(2,1,"settings.mdns_advertiser_rec"),")"))}function At(a,m){a&1&&(i(0,"option",96),r(1),l(2,"translate"),n()),a&2&&(t(),u("systemd-resolved (",s(2,1,"settings.mdns_advertiser_exp"),")"))}function Nt(a,m){a&1&&(i(0,"li",22)(1,"small",23),r(2),l(3,"translate"),n(),i(4,"button",24),l(5,"translate"),r(6),l(7,"translate"),n()()),a&2&&(t(2),d(s(3,3,"settings.changes.saved")),t(2),f("aria-label",s(5,5,"menu.tooltip_restart")),t(2),u(" ",s(7,7,"menu.tooltip_restart")," "))}function Tt(a,m){if(a&1){let e=w();i(0,"ul",9)(1,"li",17)(2,"span",18),r(3),l(4,"translate"),c(5,"br"),i(6,"div",88),r(7),l(8,"translate"),n(),N(9,It,6,9,"span",89,A),n(),i(11,"button",90),l(12,"translate"),v("click",function(){S(e);let o=g();return k(o.selectNetworkInterfaces())}),c(13,"i",91),n()(),i(14,"li",14)(15,"span"),r(16),l(17,"translate"),c(18,"br"),i(19,"small",77),r(20),l(21,"translate"),n()(),i(22,"div",25)(23,"select",92),l(24,"translate"),h(25,$t,3,3,"option",93),i(26,"option",94),r(27),l(28,"translate"),n(),i(29,"option",95),r(30,"Bonjour HAP"),n(),h(31,At,3,3,"option",96),n()()(),i(32,"li",14)(33,"span"),r(34),l(35,"translate"),c(36,"br"),i(37,"small",77),r(38),l(39,"translate"),n()(),i(40,"div",25),c(41,"input",97),l(42,"translate"),n()(),i(43,"li",14)(44,"span"),r(45),l(46,"translate"),c(47,"br"),i(48,"small",77),r(49),l(50,"translate"),n()(),i(51,"div",25),c(52,"input",98),l(53,"translate"),n()(),h(54,Nt,8,9,"li",22),n()}if(a&2){let e=g();t(3),u(" ",s(4,22,"settings.network.title_network_interfaces"),""),t(4),d(s(8,24,"settings.network.message_network_interface")),t(2),T(e.bridgeNetworkAdapters),t(2),_("disabled",!e.availableNetworkAdapters.length),f("aria-label",s(12,26,"settings.network.title_network_interfaces")),t(2),_("ngClass",H(48,ft,!e.availableNetworkAdapters.length)),t(3),u(" ",s(17,28,"settings.mdns_advertiser"),""),t(4),d(s(21,30,"settings.mdns_advertiser_help")),t(3),_("formControl",e.legacyMdnsFormControl),f("aria-label",s(24,32,"settings.mdns_advertiser")),t(2),b(e.showAvahiMdnsOption?25:-1),t(2),u(" Ciao ",e.showAvahiMdnsOption?"":"("+s(28,34,"settings.mdns_advertiser_rec")+")"," "),t(4),b(e.showResolvedMdnsOption?31:-1),t(3),u(" ",s(35,36,"settings.network.port_hb"),""),t(4),d(s(39,38,"settings.network.port_hb_desc")),t(3),_("formControl",e.hbPortFormControl)("ngClass",H(50,ie,e.isInvalidHbPort)),f("aria-label",s(42,40,"settings.network.port_ui")),t(4),u(" ",s(46,42,"settings.network.port_ui"),""),t(4),d(s(50,44,"settings.network.port_ui_desc")),t(3),_("ngClass",H(52,ie,e.isInvalidHbUiPort)),f("aria-label",s(53,46,"settings.network.port_ui")),t(2),b(e.hasChangedHbPort&&!e.isInvalidHbPort||e.hasChangedUiSettings||e.hasChangedMdns||e.hasChangedBridgeNetworkAdapters?54:-1)}}function Mt(a,m){a&1&&(i(0,"p",10),r(1),l(2,"translate"),n()),a&2&&(t(),d(s(2,1,"settings.cache.desc")))}function Ft(a,m){if(a&1){let e=w();i(0,"ul",11)(1,"li",17)(2,"span",18),r(3),l(4,"translate"),c(5,"br"),i(6,"small",77),r(7),l(8,"translate"),n()(),i(9,"button",19),l(10,"translate"),v("click",function(){S(e);let o=g();return k(o.removeSingleCachedAccessories())}),c(11,"i",20),n()(),i(12,"li",17)(13,"span",18),r(14),l(15,"translate"),c(16,"br"),i(17,"small",77),r(18),l(19,"translate"),n()(),i(20,"button",19),l(21,"translate"),v("click",function(){S(e);let o=g();return k(o.removeBridgeAccessories())}),c(22,"i",20),n()(),i(23,"li",17)(24,"span",18),r(25),l(26,"translate"),c(27,"br"),i(28,"small",77),r(29),l(30,"translate"),n()(),i(31,"button",19),l(32,"translate"),v("click",function(){S(e);let o=g();return k(o.removeAllCachedAccessories())}),c(33,"i",20),n()()()}a&2&&(t(3),u(" ",s(4,9,"reset.accessory_ind.title"),""),t(4),d(s(8,11,"reset.accessory_ind.desc")),t(2),f("aria-label",s(10,13,"reset.accessory_ind.title")),t(5),u(" ",s(15,15,"reset.bridge_accessories.title"),""),t(4),d(s(19,17,"reset.bridge_accessories.desc")),t(2),f("aria-label",s(21,19,"reset.accessory_all.title")),t(5),u(" ",s(26,21,"reset.accessory_all.title"),""),t(4),d(s(30,23,"reset.accessory_all.desc")),t(2),f("aria-label",s(32,25,"reset.accessory_all.title")))}function Vt(a,m){a&1&&(i(0,"p",10),r(1),l(2,"translate"),n()),a&2&&(t(),d(s(2,1,"reset.bridges.desc")))}function Rt(a,m){if(a&1){let e=w();i(0,"ul",12)(1,"li",17)(2,"span",18),r(3),l(4,"translate"),c(5,"br"),i(6,"small",77),r(7),l(8,"translate"),n()(),i(9,"button",19),l(10,"translate"),v("click",function(){S(e);let o=g();return k(o.unpairAccessory())}),c(11,"i",20),n()(),i(12,"li",17)(13,"span",18),r(14),l(15,"translate"),l(16,"titlecase"),c(17,"br"),i(18,"small",77),r(19),l(20,"translate"),n()(),i(21,"button",19),l(22,"translate"),v("click",function(){S(e);let o=g();return k(o.resetHomebridgeState())}),c(23,"i",20),n()()()}a&2&&(t(3),u(" ",s(4,6,"reset.bridge_ind.title"),""),t(4),d(s(8,8,"reset.bridge_ind.desc")),t(2),f("aria-label",s(10,10,"reset.bridge_ind.title")),t(5),u(" ",s(16,14,s(15,12,"reset.bridge_all.title")),""),t(5),d(s(20,16,"reset.bridge_all.desc")),t(2),f("aria-label",s(22,18,"reset.bridge_all.title")))}var Qi=(()=>{class a{$api=C(R);$modal=C(he);$plugin=C(ye);$settings=C(Se);$toastr=C(V);$translate=C(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 oe(!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.initStartupSettingsForm()}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 p=!1;Object.keys(e).forEach(o=>{this.originalUiSettingsForm[o]!==e[o]&&(this.saveUiSettingChange(o,e[o]),p=!0)}),this.hasChangedUiSettings=p})}initStartupSettingsForm(){this.$api.get("/platform-tools/hb-service/homebridge-startup-settings").subscribe({next:e=>{Object.keys(e).forEach(p=>{this.originalServiceForm[p]=e[p]}),this.serviceForm.patchValue(e),this.serviceForm.valueChanges.pipe(Q(500)).subscribe(this.saveStartupSettingsSettings.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,p){switch(e){case"lang":this.$settings.setLang(p);break;case"lightingMode":this.$settings.setLightingMode(p,"user");break;case"menuMode":this.$settings.setMenuMode(p),window.location.reload();break;case"theme":this.$settings.setTheme(p);break;case"tempUnits":this.$settings.setEnvItem("temperatureUnits",p);break;case"loginWallpaper":this.$settings.setEnvItem("loginWallpaper",p),this.hasChangedLoginWallpaper=p!==this.originalLoginWallpaper;break;case"port":if(!p||typeof p!="number"||p<1025||p>65533||Number.isInteger(p)===!1||p===this.hbPortFormControl.value){this.isInvalidHbUiPort=!0;return}this.$settings.setEnvItem("port",p),this.isInvalidHbUiPort=!1;break}E(this.$api.put("/config-editor/ui",{key:e,value:p})).catch(o=>{console.error(o),this.$toastr.error(o.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(ke,{size:"lg",backdrop:"static"})}saveStartupSettingsSettings(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:p=>{console.error(p),this.$toastr.error(p.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(we,{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,p,o,x])=>{this.availableNetworkAdapters=e,this.buildBridgeNetworkAdapterList(p),this.legacyMdnsFormControl.patchValue(o.advertiser),this.originalMdnsSetting=o.advertiser,this.originalBridgeNetworkAdapters=this.bridgeNetworkAdapters.map(U=>U.iface),this.legacyMdnsFormControl.valueChanges.subscribe(U=>{this.setHomebridgeMdnsSetting(U)}),this.hbPortFormControl.patchValue(x.port),this.hbPortFormControl.valueChanges.subscribe(U=>this.setHomebridgePort(U)),this.originalHbPort=x.port})})}setHomebridgeMdnsSetting(e){return y(this,null,function*(){this.$api.put("/server/mdns-advertiser",{advertiser:e}).subscribe({next:()=>{this.hasChangedMdns=e!==this.originalMdnsSetting},error:p=>{console.error(p),this.$toastr.error(p.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:p=>{console.error(p),this.$toastr.error(p.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(p=>{let o=this.availableNetworkAdapters.find(x=>x.iface===p);return o?(o.selected=!0,o.missing=!1,o):{iface:p,missing:!0}})}selectNetworkInterfaces(){let e=this.$modal.open(Ne,{size:"lg",backdrop:"static"});e.componentInstance.availableNetworkAdapters=this.availableNetworkAdapters,e.componentInstance.bridgeNetworkAdapters=this.bridgeNetworkAdapters,e.result.then(p=>{this.buildBridgeNetworkAdapterList(p),this.setNetworkInterfaces(p)}).catch(()=>{})}toggleSection(e){this.showFields[e]=!this.showFields[e]}static \u0275fac=function(p){return new(p||a)};static \u0275cmp=B({type:a,selectors:[["ng-component"]],decls:48,vars:49,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","fieldsStartup",1,"list-group","list-group-box","mb-4","mx-0"],["id","fieldsNetwork",1,"list-group","list-group-box","mt-2","mx-0"],[1,"small","grey-text","mb-2","mx-0"],["id","fieldsCache",1,"list-group","list-group-box","mb-4","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"],[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"]],template:function(p,o){p&1&&(i(0,"h3",0),r(1),l(2,"translate"),n(),i(3,"div",1)(4,"div",2),v("click",function(){return o.toggleSection("general")}),i(5,"h5",3),c(6,"i",4),r(7),l(8,"translate"),n()(),h(9,Ct,29,26,"ul",5),n(),i(10,"div",1)(11,"div",2),v("click",function(){return o.toggleSection("display")}),i(12,"h5",3),c(13,"i",4),r(14),l(15,"translate"),n()(),h(16,kt,155,94,"ul",6),n(),i(17,"form",7)(18,"div",2),v("click",function(){return o.toggleSection("startup")}),i(19,"h5",3),c(20,"i",4),r(21),l(22,"translate"),n()(),h(23,Et,61,38,"ul",8),n(),i(24,"form",7)(25,"div",2),v("click",function(){return o.toggleSection("network")}),i(26,"h5",3),c(27,"i",4),r(28),l(29,"translate"),n()(),h(30,Tt,55,54,"ul",9),n(),i(31,"div",1)(32,"div",2),v("click",function(){return o.toggleSection("cache")}),i(33,"h5",3),c(34,"i",4),r(35),l(36,"translate"),n()(),h(37,Mt,3,3,"p",10)(38,Ft,34,27,"ul",11),n(),i(39,"div",1)(40,"div",2),v("click",function(){return o.toggleSection("reset")}),i(41,"h5",3),c(42,"i",4),r(43),l(44,"translate"),n()(),h(45,Vt,3,3,"p",10)(46,Rt,24,20,"ul",12),n(),c(47,"div",13)),p&2&&(t(),d(s(2,35,"menu.settings.title")),t(3),f("aria-expanded",o.showFields.general?"true":"false")("aria-controls","fieldsGeneral"),t(2),_("ngClass",o.showFields.general?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",s(8,37,"settings.general.title_general")," "),t(2),b(o.showFields.general?9:-1),t(2),f("aria-expanded",o.showFields.display?"true":"false")("aria-controls","fieldsDisplay"),t(2),_("ngClass",o.showFields.display?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",s(15,39,"settings.general.title_display")," "),t(2),b(o.showFields.display?16:-1),t(),_("formGroup",o.serviceForm),t(),f("aria-expanded",o.showFields.startup?"true":"false")("aria-controls","fieldsStartup"),t(2),_("ngClass",o.showFields.startup?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",s(22,41,"settings.title_startup_options")," "),t(2),b(o.showFields.startup?23:-1),t(),_("formGroup",o.uiSettingsForm),t(),f("aria-expanded",o.showFields.network?"true":"false")("aria-controls","fieldsNetwork"),t(2),_("ngClass",o.showFields.network?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",s(29,43,"settings.network.title_network")," "),t(2),b(o.showFields.network?30:-1),t(2),f("aria-expanded",o.showFields.cache?"true":"false")("aria-controls","fieldsCache"),t(2),_("ngClass",o.showFields.cache?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",s(36,45,"settings.cache.title")," "),t(2),b(o.showFields.cache?37:-1),t(),b(o.showFields.cache?38:-1),t(2),f("aria-expanded",o.showFields.reset?"true":"false")("aria-controls","fieldsReset"),t(2),_("ngClass",o.showFields.reset?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",s(44,47,"reset.bridges.title")," "),t(2),b(o.showFields.reset?45:-1),t(),b(o.showFields.reset?46:-1))},dependencies:[O,Ce,K,pe,ge,be,le,de,G,_e,W,se,fe,ve,q,xe,ce,me,ue,j,$],encapsulation:2})}return a})();export{Ee as a,Ie as b,Ne as c,Qi as d};
1
+ import{a as ke}from"./chunk-BPL5NSAH.js";import{a as we}from"./chunk-GESK3FQM.js";import{v as ye}from"./chunk-ITOAGZL4.js";import{g as J,m as M,n as he}from"./chunk-ACZLPZJM.js";import{b as G,c as le,e as W,f as se,g as Z,j as D,k as oe,l as q,m as pe,n as de,o as ce,p as me,q as ue,r as _e,s as ge,t as be,u as ve,v as fe,y as K,z as xe}from"./chunk-VNJJI7TG.js";import{d as P,e as Ce}from"./chunk-4T2QSCYW.js";import{b as Se}from"./chunk-HG4S4RSY.js";import{h as V,k as R}from"./chunk-COS4S4TF.js";import{a as F,b as $}from"./chunk-5FC5GQ62.js";import{$c as O,Ac as L,Cc as l,Dc as s,Ec as Y,Jb as f,Kb as _,M as Q,Pb as b,Rb as A,Sb as N,Tb as T,Ub as i,Vb as n,Wb as c,_b as w,bc as v,cb as X,cc as g,ed as j,gb as t,h as y,ma as C,mc as r,nc as d,oc as u,tb as B,tc as ne,ua as S,uc as ae,va as k,vc as re,w as E,yc as H,zb as h,zc as I}from"./chunk-YSEOPOHR.js";function Te(a,m){a&1&&(i(0,"div",12),c(1,"i",13),n(),i(2,"p",14),r(3),l(4,"translate"),n()),a&2&&(t(3),d(s(4,1,"reset.no_accessories")))}function Me(a,m){a&1&&(i(0,"div",12),c(1,"i",15),n(),i(2,"ul",16)(3,"li"),r(4),l(5,"translate"),n(),i(6,"li"),r(7),l(8,"translate"),n(),i(9,"li"),r(10),l(11,"translate"),n()(),i(12,"ngb-alert",17)(13,"p",18),r(14),l(15,"translate"),n()()),a&2&&(t(4),d(s(5,5,"reset.accessory_all.list_1")),t(3),d(s(8,7,"reset.accessory_all.list_2")),t(3),d(s(11,9,"reset.accessory_all.list_3")),t(2),_("dismissible",!1),t(2),d(s(15,11,"reset.action_is_irreversible")))}function Fe(a,m){if(a&1){let e=w();i(0,"button",19),l(1,"translate"),v("click",function(){S(e);let o=g();return k(o.$activeModal.dismiss("Dismiss"))}),r(2),l(3,"translate"),n()}if(a&2){let e=g();_("disabled",e.clicked),f("aria-label",s(1,3,"form.button_close")),t(2),u(" ",s(3,5,"form.button_close")," ")}}function Ve(a,m){if(a&1){let e=w();i(0,"button",20),l(1,"translate"),v("click",function(){S(e);let o=g();return k(o.$activeModal.dismiss("Dismiss"))}),r(2),l(3,"translate"),n()}a&2&&(f("aria-label",s(1,2,"form.button_close")),t(2),u(" ",s(3,4,"form.button_close")," "))}function Re(a,m){a&1&&(r(0),l(1,"translate")),a&2&&u(" ",s(1,1,"form.button_remove")," ")}function De(a,m){a&1&&c(0,"i",22)}function Pe(a,m){if(a&1){let e=w();i(0,"button",21),v("click",function(){S(e);let o=g();return k(o.onResetCachedAccessoriesClick())}),h(1,Re,2,3)(2,De,1,0,"i",22),n()}if(a&2){let e=g();_("disabled",e.clicked),t(),b(e.clicked?-1:1),t(),b(e.clicked?2:-1)}}var Ee=(()=>{class a{$activeModal=C(M);$api=C(R);$router=C(P);$toastr=C(V);$translate=C(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(p){return new(p||a)};static \u0275cmp=B({type:a,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(p,o){p&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),l(4,"translate"),n(),i(5,"button",3),l(6,"translate"),v("click",function(){return o.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4),h(8,Te,5,3)(9,Me,16,13),n(),i(10,"div",5)(11,"div",6),h(12,Fe,4,7,"button",7),n(),i(13,"div",8),h(14,Ve,4,6,"button",9),n(),i(15,"div",10),h(16,Pe,3,3,"button",11),n()()()),p&2&&(t(3),d(s(4,8,"reset.accessory_all.title")),t(2),_("disabled",o.clicked),f("aria-label",s(6,10,"form.button_close")),t(3),b(o.cachedAccessories.length===0?8:-1),t(),b(o.cachedAccessories.length>0?9:-1),t(3),b(o.cachedAccessories.length>0?12:-1),t(2),b(o.cachedAccessories.length===0?14:-1),t(2),b(o.cachedAccessories.length>0?16:-1))},dependencies:[J,$],encapsulation:2})}return a})();var He=(a,m)=>({"green-text":a,"grey-text":m}),Le=(a,m)=>({"btn-danger":a,"btn-elegant":m}),Oe=(a,m,e)=>({"fa-broom":a,"fa-undo":m,"fa-spinner fa-pulse":e});function Ue(a,m){a&1&&(i(0,"div",12),c(1,"i",13),n(),i(2,"p",14),r(3),l(4,"translate"),n()),a&2&&(t(3),d(s(4,1,"reset.bridge_accessories.empty")))}function ze(a,m){if(a&1){let e=w();i(0,"li",18)(1,"span"),r(2),c(3,"br"),i(4,"small",19),c(5,"i",20),r(6),l(7,"translate"),i(8,"span",21),r(9),n()()(),i(10,"button",22),l(11,"translate"),v("click",function(){let o=S(e).$implicit,x=g(2);return k(x.toggleList(o._id))}),c(12,"i",23),n()()}if(a&2){let e=m.$implicit,p=g(2);t(2),u(" ",e.name," "),t(3),_("ngClass",I(12,He,e._isPaired,!e._isPaired)),t(),u(" ",s(7,8,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),d(e._username),t(),_("disabled",p.clicked)("ngClass",I(15,Le,!p.toDelete.includes(e._id),p.toDelete.includes(e._id))),f("aria-label",s(11,10,"form.button_delete")),t(2),_("ngClass",L(18,Oe,!p.toDelete.includes(e._id),p.toDelete.includes(e._id)&&!p.clicked,p.toDelete.includes(e._id)&&p.clicked))}}function je(a,m){if(a&1&&(i(0,"div",12),c(1,"i",15),n(),i(2,"ul",16)(3,"li"),r(4),l(5,"translate"),n(),i(6,"li"),r(7),l(8,"translate"),n(),i(9,"li"),r(10),l(11,"translate"),n()(),i(12,"ul",17),N(13,ze,13,22,"li",18,A),n()),a&2){let e=g();t(4),d(s(5,3,"reset.bridge_accessories.list_1")),t(3),d(s(8,5,"reset.clear_cache_single.list_3")),t(3),d(s(11,7,"reset.bridge_accessories.list_2")),t(3),T(e.pairings)}}function Ge(a,m){if(a&1){let e=w();i(0,"button",24),v("click",function(){S(e);let o=g();return k(o.$activeModal.dismiss("Dismiss"))}),r(1),l(2,"translate"),n()}if(a&2){let e=g();_("disabled",e.clicked),t(),u(" ",s(2,2,"form.button_close")," ")}}function We(a,m){if(a&1){let e=w();i(0,"button",25),v("click",function(){S(e);let o=g();return k(o.$activeModal.dismiss("Dismiss"))}),r(1),l(2,"translate"),n()}a&2&&(t(),u(" ",s(2,1,"form.button_close")," "))}function qe(a,m){if(a&1&&r(0),a&2){let e=g(3);u(" (",e.toDelete.length,") ")}}function Ke(a,m){if(a&1&&(r(0),l(1,"translate"),h(2,qe,1,1)),a&2){let e=g(2);u(" ",s(1,2,"form.button_remove")," "),t(2),b(e.toDelete.length>0?2:-1)}}function Je(a,m){a&1&&c(0,"i",27)}function Qe(a,m){if(a&1){let e=w();i(0,"button",26),v("click",function(){S(e);let o=g();return k(o.cleanBridges())}),h(1,Ke,3,4)(2,Je,1,0,"i",27),n()}if(a&2){let e=g();_("disabled",!e.toDelete.length||e.clicked),t(),b(e.clicked?-1:1),t(),b(e.clicked?2:-1)}}var Be=(()=>{class a{$activeModal=C(M);$api=C(R);$router=C(P);$toastr=C(V);$translate=C(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,p)=>e.name.localeCompare(p.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(p=>p!==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(p){return new(p||a)};static \u0275cmp=B({type:a,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(p,o){p&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),l(4,"translate"),n(),i(5,"button",3),l(6,"translate"),v("click",function(){return o.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4),h(8,Ue,5,3)(9,je,15,9),n(),i(10,"div",5)(11,"div",6),h(12,Ge,3,4,"button",7),n(),i(13,"div",8),h(14,We,3,3,"button",9),n(),i(15,"div",10),h(16,Qe,3,3,"button",11),n()()()),p&2&&(t(3),d(s(4,8,"reset.bridge_accessories.title")),t(2),_("disabled",o.clicked),f("aria-label",s(6,10,"form.button_close")),t(3),b(o.pairings.length===0?8:-1),t(),b(o.pairings.length>0?9:-1),t(3),b(o.pairings.length>0?12:-1),t(2),b(o.pairings.length===0?14:-1),t(2),b(o.pairings.length>0?16:-1))},dependencies:[O,$],encapsulation:2})}return a})();function Xe(a,m){a&1&&(r(0),l(1,"translate")),a&2&&u(" ",s(1,1,"form.button_reset")," ")}function Ye(a,m){a&1&&c(0,"i",16)}var Ie=(()=>{class a{$activeModal=C(M);$api=C(R);$route=C(P);$toastr=C(V);$translate=C(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(p){return new(p||a)};static \u0275cmp=B({type:a,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(p,o){p&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),l(4,"translate"),n(),i(5,"button",3),l(6,"translate"),v("click",function(){return o.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4)(8,"div",5),c(9,"i",6),n(),i(10,"ul",7)(11,"li"),r(12),l(13,"translate"),n(),i(14,"li"),r(15),l(16,"translate"),n(),i(17,"li"),r(18),l(19,"translate"),n(),i(20,"li"),r(21),l(22,"translate"),n()(),i(23,"ngb-alert",8)(24,"p",9),r(25),l(26,"translate"),n()()(),i(27,"div",10)(28,"div",11)(29,"button",12),l(30,"translate"),v("click",function(){return o.$activeModal.dismiss("Dismiss")}),r(31),l(32,"translate"),n()(),c(33,"div",13),i(34,"div",14)(35,"button",15),v("click",function(){return o.onResetHomebridgeAccessoryClick()}),h(36,Xe,2,3)(37,Ye,1,0,"i",16),n()()()()),p&2&&(t(3),d(s(4,15,"reset.bridge_all.title")),t(2),_("disabled",o.clicked),f("aria-label",s(6,17,"form.button_close")),t(7),d(s(13,19,"reset.bridge_all.list_1")),t(3),d(s(16,21,"reset.bridge_all.list_2")),t(3),d(s(19,23,"reset.bridge_all.list_3")),t(3),d(s(22,25,"reset.bridge_all.list_4")),t(2),_("dismissible",!1),t(2),d(s(26,27,"reset.action_is_irreversible")),t(4),_("disabled",o.clicked),f("aria-label",s(30,29,"form.button_close")),t(2),u(" ",s(32,31,"form.button_close")," "),t(4),_("disabled",o.clicked),t(),b(o.clicked?-1:36),t(),b(o.clicked?37:-1))},dependencies:[J,$],encapsulation:2})}return a})();var ee=(a,m)=>({"green-text":a,"grey-text":m}),te=(a,m)=>({"btn-danger":a,"btn-elegant":m}),$e=(a,m,e)=>({"fa-refresh":a,"fa-undo":m,"fa-spinner fa-pulse":e}),Ze=(a,m,e)=>({"fa-trash":a,"fa-undo":m,"fa-spinner fa-pulse":e});function et(a,m){a&1&&(i(0,"div",12),c(1,"i",13),n(),i(2,"p",14),r(3),l(4,"translate"),n()),a&2&&(t(3),d(s(4,1,"reset.bridges.empty")))}function tt(a,m){if(a&1){let e=w();i(0,"li",20)(1,"span"),r(2),c(3,"br"),i(4,"small",21),c(5,"i",22),r(6),l(7,"translate"),i(8,"span",23),r(9),n(),r(10),l(11,"titlecase"),n()(),i(12,"button",24),l(13,"translate"),v("click",function(){let o=S(e).$implicit,x=g(3);return k(x.toggleList(o._id,!1))}),c(14,"i",25),n()()}if(a&2){let e=m.$implicit,p=g(3);t(2),u(" ",e.name," "),t(3),_("ngClass",I(15,ee,e._isPaired,!e._isPaired)),t(),u(" ",s(7,9,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),d(e._username),t(),u(" \xB7 ",e._main?"Homebridge":s(11,11,e._category)," "),t(2),_("disabled",p.clicked)("ngClass",I(18,te,!p.isInList(e._id),p.isInList(e._id))),f("aria-label",s(13,13,"form.button_unpair")),t(2),_("ngClass",L(21,$e,!p.isInList(e._id),p.isInList(e._id)&&!p.clicked,p.isInList(e._id)&&p.clicked))}}function it(a,m){if(a&1&&(i(0,"ul",16)(1,"li",17)(2,"h6",18),r(3),l(4,"translate"),n(),i(5,"p",19),r(6),l(7,"translate"),n()(),N(8,tt,15,25,"li",20,A),n()),a&2){let e=g(2);t(3),d(s(4,2,"reset.bridge_ind.head_non_child")),t(3),d(s(7,4,"reset.bridge_ind.desc_non_child")),t(2),T(e.pairingsNonChild)}}function nt(a,m){if(a&1){let e=w();i(0,"li",20)(1,"span"),r(2),c(3,"br"),i(4,"small",21),c(5,"i",22),r(6),l(7,"translate"),i(8,"span",23),r(9),n()()(),i(10,"button",24),l(11,"translate"),v("click",function(){let o=S(e).$implicit,x=g(3);return k(x.toggleList(o._id,!0))}),c(12,"i",25),n()()}if(a&2){let e=m.$implicit,p=g(3);t(2),u(" ",e.name," "),t(3),_("ngClass",I(12,ee,e._isPaired,!e._isPaired)),t(),u(" ",s(7,8,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),d(e._username),t(),_("disabled",p.clicked)("ngClass",I(15,te,!p.isInList(e._id),p.isInList(e._id))),f("aria-label",s(11,10,"form.button_unpair")),t(2),_("ngClass",L(18,$e,!p.isInList(e._id),p.isInList(e._id)&&!p.clicked,p.isInList(e._id)&&p.clicked))}}function at(a,m){if(a&1&&(i(0,"ul",16)(1,"li",17)(2,"h6",18),r(3),l(4,"translate"),n(),i(5,"p",19),r(6),l(7,"translate"),n()(),N(8,nt,13,22,"li",20,A),n()),a&2){let e=g(2);t(3),d(s(4,2,"reset.bridge_ind.head_child_active")),t(3),d(s(7,4,"reset.bridge_ind.desc_child_active")),t(2),T(e.pairingsChildActive)}}function rt(a,m){if(a&1){let e=w();i(0,"li",20)(1,"span"),r(2),c(3,"br"),i(4,"small",21),c(5,"i",22),r(6),l(7,"translate"),i(8,"span",23),r(9),n()()(),i(10,"button",24),l(11,"translate"),v("click",function(){let o=S(e).$implicit,x=g(3);return k(x.toggleList(o._id,!1))}),c(12,"i",25),n()()}if(a&2){let e=m.$implicit,p=g(3);t(2),u(" ",e.name," "),t(3),_("ngClass",I(12,ee,e._isPaired,!e._isPaired)),t(),u(" ",s(7,8,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),d(e._username),t(),_("disabled",p.clicked)("ngClass",I(15,te,!p.isInList(e._id),p.isInList(e._id))),f("aria-label",s(11,10,"form.button_unpair")),t(2),_("ngClass",L(18,Ze,!p.isInList(e._id),p.isInList(e._id)&&!p.clicked,p.isInList(e._id)&&p.clicked))}}function lt(a,m){if(a&1&&(i(0,"ul",16)(1,"li",17)(2,"h6",18),r(3),l(4,"translate"),n(),i(5,"p",19),r(6),l(7,"translate"),n()(),N(8,rt,13,22,"li",20,A),n()),a&2){let e=g(2);t(3),d(s(4,2,"reset.bridge_ind.head_child_stale")),t(3),d(s(7,4,"reset.bridge_ind.desc_child_stale")),t(2),T(e.pairingsChildStale)}}function st(a,m){if(a&1&&(i(0,"div",12),c(1,"i",15),n(),h(2,it,10,6,"ul",16)(3,at,10,6,"ul",16)(4,lt,10,6,"ul",16)),a&2){let e=g();t(2),b(e.pairingsNonChild.length>0?2:-1),t(),b(e.pairingsChildActive.length>0?3:-1),t(),b(e.pairingsChildStale.length>0?4:-1)}}function ot(a,m){if(a&1){let e=w();i(0,"button",26),v("click",function(){S(e);let o=g();return k(o.$activeModal.dismiss("Dismiss"))}),r(1),l(2,"translate"),n()}if(a&2){let e=g();_("disabled",e.clicked),t(),u(" ",s(2,2,"form.button_close")," ")}}function pt(a,m){if(a&1){let e=w();i(0,"button",27),v("click",function(){S(e);let o=g();return k(o.$activeModal.dismiss("Dismiss"))}),r(1),l(2,"translate"),n()}a&2&&(t(),u(" ",s(2,1,"form.button_close")," "))}function dt(a,m){if(a&1&&r(0),a&2){let e=g(3);u(" (",e.toDelete.length,") ")}}function ct(a,m){if(a&1&&(r(0),l(1,"translate"),h(2,dt,1,1)),a&2){let e=g(2);u(" ",s(1,2,"form.button_reset")," "),t(2),b(e.toDelete.length>0?2:-1)}}function mt(a,m){a&1&&c(0,"i",29)}function ut(a,m){if(a&1){let e=w();i(0,"button",28),v("click",function(){S(e);let o=g();return k(o.removeBridges())}),h(1,ct,3,4)(2,mt,1,0,"i",29),n()}if(a&2){let e=g();_("disabled",!e.toDelete.length||e.clicked),t(),b(e.clicked?-1:1),t(),b(e.clicked?2:-1)}}var Ae=(()=>{class a{$activeModal=C(M);$api=C(R);$router=C(P);$toastr=C(V);$translate=C(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(p=>!p._main).sort((p,o)=>p.name.localeCompare(o.name));this.pairingsChildActive=e.filter(p=>p._category==="bridge"&&!p._couldBeStale),this.pairingsNonChild=e.filter(p=>p._category!=="bridge"),this.pairingsChildStale=e.filter(p=>p._category==="bridge"&&p._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,p=!1){this.toDelete.some(o=>o.id===e)?this.toDelete=this.toDelete.filter(o=>o.id!==e):this.toDelete.push({id:e,resetPairingInfo:p})}isInList(e){return this.toDelete.some(p=>p.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(p){return new(p||a)};static \u0275cmp=B({type:a,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(p,o){p&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),l(4,"translate"),n(),i(5,"button",3),l(6,"translate"),v("click",function(){return o.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4),h(8,et,5,3)(9,st,5,3),n(),i(10,"div",5)(11,"div",6),h(12,ot,3,4,"button",7),n(),i(13,"div",8),h(14,pt,3,3,"button",9),n(),i(15,"div",10),h(16,ut,3,3,"button",11),n()()()),p&2&&(t(3),d(s(4,8,"reset.bridge_ind.title")),t(2),_("disabled",o.clicked),f("aria-label",s(6,10,"form.button_close")),t(3),b(o.pairingsChildActive.length===0&&o.pairingsChildStale.length===0&&o.pairingsNonChild.length===0?8:-1),t(),b(o.pairingsChildActive.length>0||o.pairingsChildStale.length>0||o.pairingsNonChild.length>0?9:-1),t(3),b(o.pairingsChildActive.length>0||o.pairingsChildStale.length>0||o.pairingsNonChild.length>0?12:-1),t(2),b(o.pairingsChildActive.length===0&&o.pairingsChildStale.length===0&&o.pairingsNonChild.length===0?14:-1),t(2),b(o.pairingsChildActive.length>0||o.pairingsChildStale.length>0||o.pairingsNonChild.length>0?16:-1))},dependencies:[O,j,$],encapsulation:2})}return a})();function gt(a,m){if(a&1){let e=w();i(0,"li",10)(1,"span")(2,"label",17)(3,"input",18),re("ngModelChange",function(o){let x=S(e).$implicit;return ae(x.selected,o)||(x.selected=o),k(o)}),n(),i(4,"span"),r(5),n(),c(6,"span",19),n()(),i(7,"span",20),r(8),n()()}if(a&2){let e=m.$implicit;t(2),_("for","adapter"+e.iface),t(),_("id","adapter"+e.iface),ne("ngModel",e.selected),t(2),d(e.iface),t(3),d(e.ip4||e.ip6)}}var Ne=(()=>{class a{$activeModal=C(M);availableNetworkAdapters=[];bridgeNetworkAdapters=[];constructor(){}submit(){this.$activeModal.close(this.availableNetworkAdapters.filter(e=>e.selected).map(e=>e.iface))}static \u0275fac=function(p){return new(p||a)};static \u0275cmp=B({type:a,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(p,o){p&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),l(4,"translate"),n(),i(5,"button",3),l(6,"translate"),v("click",function(){return o.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4)(8,"div",5),c(9,"i",6),n(),i(10,"ul",7)(11,"li"),r(12),l(13,"translate"),n()(),i(14,"ul",8)(15,"li",9)(16,"strong"),r(17),l(18,"translate"),n(),i(19,"strong"),r(20),l(21,"translate"),n()(),N(22,gt,9,5,"li",10,A),n()(),i(24,"div",11)(25,"div",12)(26,"button",13),l(27,"translate"),v("click",function(){return o.$activeModal.dismiss("Dismiss")}),r(28),l(29,"translate"),n()(),c(30,"div",14),i(31,"div",15)(32,"button",16),v("click",function(){return o.submit()}),r(33),l(34,"translate"),n()()()()),p&2&&(t(3),d(s(4,8,"settings.network.title_network_interfaces")),t(2),f("aria-label",s(6,10,"form.button_close")),t(7),d(s(13,12,"settings.network.message_network_interface")),t(5),d(s(18,14,"settings.network.label_interface_name")),t(3),d(s(21,16,"settings.network.label_ip_address")),t(2),T(o.availableNetworkAdapters),t(4),f("aria-label",s(27,18,"form.button_close")),t(2),u(" ",s(29,20,"form.button_close")," "),t(5),u(" ",s(34,22,"form.button_save")," "))},dependencies:[K,G,W,q,$],encapsulation:2})}return a})();var ie=a=>({"is-invalid":a}),bt=a=>({file:a}),vt=a=>({link:a}),ft=a=>({"fa-pulse":a}),xt=(a,m)=>({"badge-danger":a,"badge-info":m});function ht(a,m){a&1&&(i(0,"li",22)(1,"small",23),r(2),l(3,"translate"),n(),i(4,"button",24),l(5,"translate"),r(6),l(7,"translate"),n()()),a&2&&(t(2),d(s(3,3,"settings.changes.saved")),t(2),f("aria-label",s(5,5,"menu.tooltip_restart")),t(2),u(" ",s(7,7,"menu.tooltip_restart")," "))}function Ct(a,m){if(a&1){let e=w();i(0,"ul",5)(1,"li",14)(2,"span"),r(3," Homebridge Name "),n(),i(4,"div",15),c(5,"input",16),l(6,"translate"),n()(),i(7,"li",17)(8,"span",18),r(9),l(10,"translate"),n(),i(11,"button",19),l(12,"translate"),v("click",function(){S(e);let o=g();return k(o.openUiSettings())}),c(13,"i",20),n()(),i(14,"li",17)(15,"span",18),r(16),l(17,"translate"),n(),i(18,"button",19),l(19,"translate"),v("click",function(){S(e);let o=g();return k(o.openBackupModal())}),c(20,"i",20),n()(),i(21,"li",17)(22,"span",18),r(23),l(24,"translate"),n(),i(25,"a",21),l(26,"translate"),c(27,"i",20),n()(),h(28,ht,8,9,"li",22),n()}if(a&2){let e=g();t(5),_("formControl",e.hbNameFormControl)("ngClass",H(24,ie,e.isInvalidHbName)),f("aria-label",s(6,10,"settings.network.port_ui")),t(4),u(" ",s(10,12,"menu.label_settings_advanced")," "),t(2),f("aria-label",s(12,14,"menu.label_settings_advanced")),t(5),u(" ",s(17,16,"backup.title_backup")," "),t(2),f("aria-label",s(19,18,"backup.title_backup")),t(5),u(" ",s(24,20,"menu.tooltip_user_accounts")," "),t(2),f("aria-label",s(26,22,"menu.tooltip_user_accounts")),t(3),b(e.hasChangedHbName&&!e.isInvalidHbName?28:-1)}}function St(a,m){a&1&&(i(0,"li",22)(1,"small",23),r(2),l(3,"translate"),n(),i(4,"button",24),l(5,"translate"),r(6),l(7,"translate"),n()()),a&2&&(t(2),d(s(3,3,"settings.changes.saved")),t(2),f("aria-label",s(5,5,"menu.tooltip_restart")),t(2),u(" ",s(7,7,"menu.tooltip_restart")," "))}function kt(a,m){if(a&1){let e=w();i(0,"ul",6)(1,"li",14),r(2),l(3,"translate"),i(4,"div",25)(5,"select",26),v("ngModelChange",function(o){S(e);let x=g();return k(x.saveUiSettingChange("lang",o))}),i(6,"option",27),r(7),l(8,"translate"),n(),i(9,"option",28),r(10,"Bulgarian (bg)"),n(),i(11,"option",29),r(12,"Catalan (ca)"),n(),i(13,"option",30),r(14,"Chinese - Simplified (zh-CN)"),n(),i(15,"option",31),r(16,"Chinese - Traditional (zh-TW)"),n(),i(17,"option",32),r(18,"Czech (cs)"),n(),i(19,"option",33),r(20,"Dutch (nl)"),n(),i(21,"option",34),r(22,"English (en)"),n(),i(23,"option",35),r(24,"Finnish (fi)"),n(),i(25,"option",36),r(26,"French (fr)"),n(),i(27,"option",37),r(28,"German (de)"),n(),i(29,"option",38),r(30,"Hebrew (he)"),n(),i(31,"option",39),r(32,"Hungarian (hu)"),n(),i(33,"option",40),r(34,"Indonesian (id)"),n(),i(35,"option",41),r(36,"Italian (it)"),n(),i(37,"option",42),r(38,"Japanese (ja)"),n(),i(39,"option",43),r(40,"Korean (ko)"),n(),i(41,"option",44),r(42,"Macedonian (mk)"),n(),i(43,"option",45),r(44,"Norwegian (no)"),n(),i(45,"option",46),r(46,"Polish (pl)"),n(),i(47,"option",47),r(48,"Portuguese (Brazil)"),n(),i(49,"option",48),r(50,"Portuguese (Portugal)"),n(),i(51,"option",49),r(52,"Russian (ru)"),n(),i(53,"option",50),r(54,"Slovenian (sl)"),n(),i(55,"option",51),r(56,"Spanish (es)"),n(),i(57,"option",52),r(58,"Swedish (sv)"),n(),i(59,"option",53),r(60,"Thai (th)"),n(),i(61,"option",54),r(62,"Turkish (tr)"),n(),i(63,"option",55),r(64,"Ukrainian (uk)"),n()()()(),i(65,"li",14),r(66),l(67,"translate"),i(68,"div",25)(69,"select",26),v("ngModelChange",function(o){S(e);let x=g();return k(x.saveUiSettingChange("theme",o))}),i(70,"option",56),r(71),l(72,"translate"),n(),i(73,"option",57),r(74),l(75,"translate"),n(),i(76,"option",58),r(77),l(78,"translate"),n(),i(79,"option",59),r(80),l(81,"translate"),n(),i(82,"option",60),r(83),l(84,"translate"),n(),i(85,"option",61),r(86),l(87,"translate"),n(),i(88,"option",62),r(89),l(90,"translate"),n(),i(91,"option",63),r(92),l(93,"translate"),n(),i(94,"option",64),r(95),l(96,"translate"),n(),i(97,"option",65),r(98),l(99,"translate"),n(),i(100,"option",66),r(101),l(102,"translate"),n(),i(103,"option",67),r(104),l(105,"translate"),n(),i(106,"option",68),r(107),l(108,"translate"),n()()()(),i(109,"li",14),r(110),l(111,"translate"),i(112,"div",25)(113,"select",26),v("ngModelChange",function(o){S(e);let x=g();return k(x.saveUiSettingChange("lightingMode",o))}),i(114,"option",27),r(115),l(116,"translate"),n(),i(117,"option",69),r(118),l(119,"translate"),n(),i(120,"option",70),r(121),l(122,"translate"),n()()()(),i(123,"li",14),r(124),l(125,"translate"),i(126,"div",25)(127,"select",26),v("ngModelChange",function(o){S(e);let x=g();return k(x.saveUiSettingChange("menuMode",o))}),i(128,"option",71),r(129),l(130,"translate"),n(),i(131,"option",72),r(132),l(133,"translate"),n()()()(),i(134,"li",14)(135,"span"),r(136),l(137,"translate"),c(138,"br")(139,"small",73),l(140,"translate"),n(),i(141,"div",25)(142,"input",74),v("ngModelChange",function(o){S(e);let x=g();return k(x.saveUiSettingChange("loginWallpaper",o))}),n()()(),i(143,"li",14),r(144),l(145,"translate"),i(146,"div",25)(147,"select",26),v("ngModelChange",function(o){S(e);let x=g();return k(x.saveUiSettingChange("tempUnits",o))}),i(148,"option",75),r(149),l(150,"translate"),n(),i(151,"option",76),r(152),l(153,"translate"),n()()()(),h(154,St,8,9,"li",22),n()}if(a&2){let e=g();t(2),u(" ",s(3,35,"settings.display.lang")," "),t(3),_("ngModel",e.$settings.env.lang),t(2),d(s(8,37,"form.select.auto")),t(59),u(" ",s(67,39,"settings.display.theme")," "),t(3),_("ngModel",e.$settings.theme),t(2),d(s(72,41,"settings.display.orange")),t(3),d(s(75,43,"settings.display.red")),t(3),d(s(78,45,"settings.display.pink")),t(3),d(s(81,47,"settings.display.purple")),t(3),d(s(84,49,"settings.display.deep_purple")),t(3),d(s(87,51,"settings.display.indigo")),t(3),d(s(90,53,"settings.display.blue")),t(3),d(s(93,55,"settings.display.bluegrey")),t(3),d(s(96,57,"settings.display.cyan")),t(3),d(s(99,59,"settings.display.green")),t(3),d(s(102,61,"settings.display.teal")),t(3),d(s(105,63,"settings.display.grey")),t(3),d(s(108,65,"settings.display.brown")),t(3),u(" ",s(111,67,"settings.display.lighting_mode")," "),t(3),_("ngModel",e.$settings.lightingMode),t(2),d(s(116,69,"form.select.auto")),t(3),d(s(119,71,"settings.display.light")),t(3),d(s(122,73,"settings.display.dark")),t(3),u(" ",s(125,75,"settings.display.menu_mode")," "),t(3),_("ngModel",e.$settings.menuMode),t(2),d(s(130,77,"settings.display.menu_default")),t(3),d(s(133,79,"settings.display.menu_freeze")),t(4),u(" ",s(137,81,"settings.display.login_wallpaper"),""),t(3),_("innerHTML",Y(140,83,"settings.display.login_wallpaper_desc",H(92,bt,e.file)),X),t(3),_("ngModel",e.$settings.loginWallpaper),t(2),u(" ",s(145,86,"settings.display.temp_units")," "),t(3),_("ngModel",e.$settings.env.temperatureUnits),t(2),d(s(150,88,"settings.display.temp_units.c")),t(3),d(s(153,90,"settings.display.temp_units.f")),t(2),b(e.hasChangedLoginWallpaper?154:-1)}}function wt(a,m){a&1&&(i(0,"li",17)(1,"span"),r(2),l(3,"translate"),c(4,"br"),i(5,"small",77),r(6),l(7,"translate"),n()(),i(8,"a",87),l(9,"translate"),c(10,"i",20),n()()),a&2&&(t(2),u(" ",s(3,3,"menu.docker.startup_script"),""),t(4),d(s(7,5,"platform.docker.script_help")),t(2),f("aria-label",s(9,7,"menu.docker.startup_script")))}function yt(a,m){a&1&&(i(0,"li",22)(1,"small",23),r(2),l(3,"translate"),n(),i(4,"button",24),l(5,"translate"),r(6),l(7,"translate"),n()()),a&2&&(t(2),d(s(3,3,"settings.changes.saved")),t(2),f("aria-label",s(5,5,"menu.tooltip_restart")),t(2),u(" ",s(7,7,"menu.tooltip_restart")," "))}function Et(a,m){if(a&1&&(i(0,"ul",8)(1,"li",17)(2,"span"),r(3),l(4,"translate"),i(5,"code"),r(6,"-D"),n(),c(7,"br"),i(8,"small",77),r(9),l(10,"translate"),n()(),c(11,"input",78),l(12,"translate"),c(13,"label",79),n(),i(14,"li",17)(15,"span"),r(16),l(17,"translate"),i(18,"code"),r(19,"-I"),n(),c(20,"br"),i(21,"small",77),r(22),l(23,"translate"),n()(),c(24,"input",80),l(25,"translate"),c(26,"label",81),n(),i(27,"li",17)(28,"span"),r(29),l(30,"translate"),i(31,"code"),r(32,"-K"),n(),c(33,"br"),i(34,"small",77),r(35),l(36,"translate"),n()(),c(37,"input",82),l(38,"translate"),c(39,"label",83),n(),i(40,"li",14)(41,"span")(42,"span",84),r(43,"DEBUG"),n(),c(44,"br")(45,"small",73),l(46,"translate"),n(),i(47,"div",25),c(48,"input",85),n()(),i(49,"li",14)(50,"span")(51,"span",84),r(52,"NODE_OPTIONS"),n(),c(53,"br"),i(54,"small",77),r(55),l(56,"translate"),n()(),i(57,"div",25),c(58,"input",86),n()(),h(59,wt,11,9,"li",17)(60,yt,8,9,"li",22),n()),a&2){let e=g();t(3),u(" ",s(4,13,"settings.startup.debug")," "),t(6),u(" ",s(10,15,e.isHbV2?"settings.startup.debug_desc_v2":"settings.startup.debug_desc_v1")," "),t(2),f("aria-label",s(12,17,"settings.startup.debug")),t(5),u(" ",s(17,19,"settings.startup.insecure")," "),t(6),d(s(23,21,"settings.startup.insecure_desc")),t(2),f("aria-label",s(25,23,"settings.startup.insecure")),t(5),u(" ",s(30,25,"settings.startup.keep_accessories")," "),t(6),d(s(36,27,"settings.startup.keep_accessories_desc")),t(2),f("aria-label",s(38,29,"settings.startup.keep_accessories")),t(8),_("innerHTML",Y(46,31,"settings.service.debug_tooltip",H(36,vt,e.linkDebug)),X),t(10),d(s(56,34,"settings.service.node_tooltip")),t(4),b(e.$settings.env.runningInDocker?59:-1),t(),b(e.hasChangedService?60:-1)}}function Bt(a,m){a&1&&c(0,"i",99)}function It(a,m){if(a&1&&(i(0,"span",89),h(1,Bt,1,0,"i",99),r(2),i(3,"span",100),r(4),l(5,"translate"),n()()),a&2){let e=m.$implicit;_("ngClass",I(6,xt,e.missing,!e.missing)),t(),b(e.missing?1:-1),t(),u(" ",e.iface,": "),t(2),d(e.missing?s(5,4,"settings.mdns_advertiser_not_connected"):e.ip4||e.ip6)}}function $t(a,m){a&1&&(i(0,"option",93),r(1),l(2,"translate"),n()),a&2&&(t(),u("Avahi (",s(2,1,"settings.mdns_advertiser_rec"),")"))}function At(a,m){a&1&&(i(0,"option",96),r(1),l(2,"translate"),n()),a&2&&(t(),u("systemd-resolved (",s(2,1,"settings.mdns_advertiser_exp"),")"))}function Nt(a,m){a&1&&(i(0,"li",22)(1,"small",23),r(2),l(3,"translate"),n(),i(4,"button",24),l(5,"translate"),r(6),l(7,"translate"),n()()),a&2&&(t(2),d(s(3,3,"settings.changes.saved")),t(2),f("aria-label",s(5,5,"menu.tooltip_restart")),t(2),u(" ",s(7,7,"menu.tooltip_restart")," "))}function Tt(a,m){if(a&1){let e=w();i(0,"ul",9)(1,"li",17)(2,"span",18),r(3),l(4,"translate"),c(5,"br"),i(6,"div",88),r(7),l(8,"translate"),n(),N(9,It,6,9,"span",89,A),n(),i(11,"button",90),l(12,"translate"),v("click",function(){S(e);let o=g();return k(o.selectNetworkInterfaces())}),c(13,"i",91),n()(),i(14,"li",14)(15,"span"),r(16),l(17,"translate"),c(18,"br"),i(19,"small",77),r(20),l(21,"translate"),n()(),i(22,"div",25)(23,"select",92),l(24,"translate"),h(25,$t,3,3,"option",93),i(26,"option",94),r(27),l(28,"translate"),n(),i(29,"option",95),r(30,"Bonjour HAP"),n(),h(31,At,3,3,"option",96),n()()(),i(32,"li",14)(33,"span"),r(34),l(35,"translate"),c(36,"br"),i(37,"small",77),r(38),l(39,"translate"),n()(),i(40,"div",25),c(41,"input",97),l(42,"translate"),n()(),i(43,"li",14)(44,"span"),r(45),l(46,"translate"),c(47,"br"),i(48,"small",77),r(49),l(50,"translate"),n()(),i(51,"div",25),c(52,"input",98),l(53,"translate"),n()(),h(54,Nt,8,9,"li",22),n()}if(a&2){let e=g();t(3),u(" ",s(4,22,"settings.network.title_network_interfaces"),""),t(4),d(s(8,24,"settings.network.message_network_interface")),t(2),T(e.bridgeNetworkAdapters),t(2),_("disabled",!e.availableNetworkAdapters.length),f("aria-label",s(12,26,"settings.network.title_network_interfaces")),t(2),_("ngClass",H(48,ft,!e.availableNetworkAdapters.length)),t(3),u(" ",s(17,28,"settings.mdns_advertiser"),""),t(4),d(s(21,30,"settings.mdns_advertiser_help")),t(3),_("formControl",e.legacyMdnsFormControl),f("aria-label",s(24,32,"settings.mdns_advertiser")),t(2),b(e.showAvahiMdnsOption?25:-1),t(2),u(" Ciao ",e.showAvahiMdnsOption?"":"("+s(28,34,"settings.mdns_advertiser_rec")+")"," "),t(4),b(e.showResolvedMdnsOption?31:-1),t(3),u(" ",s(35,36,"settings.network.port_hb"),""),t(4),d(s(39,38,"settings.network.port_hb_desc")),t(3),_("formControl",e.hbPortFormControl)("ngClass",H(50,ie,e.isInvalidHbPort)),f("aria-label",s(42,40,"settings.network.port_ui")),t(4),u(" ",s(46,42,"settings.network.port_ui"),""),t(4),d(s(50,44,"settings.network.port_ui_desc")),t(3),_("ngClass",H(52,ie,e.isInvalidHbUiPort)),f("aria-label",s(53,46,"settings.network.port_ui")),t(2),b(e.hasChangedHbPort&&!e.isInvalidHbPort||e.hasChangedUiSettings||e.hasChangedMdns||e.hasChangedBridgeNetworkAdapters?54:-1)}}function Mt(a,m){a&1&&(i(0,"p",10),r(1),l(2,"translate"),n()),a&2&&(t(),d(s(2,1,"settings.cache.desc")))}function Ft(a,m){if(a&1){let e=w();i(0,"ul",11)(1,"li",17)(2,"span",18),r(3),l(4,"translate"),c(5,"br"),i(6,"small",77),r(7),l(8,"translate"),n()(),i(9,"button",19),l(10,"translate"),v("click",function(){S(e);let o=g();return k(o.removeSingleCachedAccessories())}),c(11,"i",20),n()(),i(12,"li",17)(13,"span",18),r(14),l(15,"translate"),c(16,"br"),i(17,"small",77),r(18),l(19,"translate"),n()(),i(20,"button",19),l(21,"translate"),v("click",function(){S(e);let o=g();return k(o.removeBridgeAccessories())}),c(22,"i",20),n()(),i(23,"li",17)(24,"span",18),r(25),l(26,"translate"),c(27,"br"),i(28,"small",77),r(29),l(30,"translate"),n()(),i(31,"button",19),l(32,"translate"),v("click",function(){S(e);let o=g();return k(o.removeAllCachedAccessories())}),c(33,"i",20),n()()()}a&2&&(t(3),u(" ",s(4,9,"reset.accessory_ind.title"),""),t(4),d(s(8,11,"reset.accessory_ind.desc")),t(2),f("aria-label",s(10,13,"reset.accessory_ind.title")),t(5),u(" ",s(15,15,"reset.bridge_accessories.title"),""),t(4),d(s(19,17,"reset.bridge_accessories.desc")),t(2),f("aria-label",s(21,19,"reset.accessory_all.title")),t(5),u(" ",s(26,21,"reset.accessory_all.title"),""),t(4),d(s(30,23,"reset.accessory_all.desc")),t(2),f("aria-label",s(32,25,"reset.accessory_all.title")))}function Vt(a,m){a&1&&(i(0,"p",10),r(1),l(2,"translate"),n()),a&2&&(t(),d(s(2,1,"reset.bridges.desc")))}function Rt(a,m){if(a&1){let e=w();i(0,"ul",12)(1,"li",17)(2,"span",18),r(3),l(4,"translate"),c(5,"br"),i(6,"small",77),r(7),l(8,"translate"),n()(),i(9,"button",19),l(10,"translate"),v("click",function(){S(e);let o=g();return k(o.unpairAccessory())}),c(11,"i",20),n()(),i(12,"li",17)(13,"span",18),r(14),l(15,"translate"),l(16,"titlecase"),c(17,"br"),i(18,"small",77),r(19),l(20,"translate"),n()(),i(21,"button",19),l(22,"translate"),v("click",function(){S(e);let o=g();return k(o.resetHomebridgeState())}),c(23,"i",20),n()()()}a&2&&(t(3),u(" ",s(4,6,"reset.bridge_ind.title"),""),t(4),d(s(8,8,"reset.bridge_ind.desc")),t(2),f("aria-label",s(10,10,"reset.bridge_ind.title")),t(5),u(" ",s(16,14,s(15,12,"reset.bridge_all.title")),""),t(5),d(s(20,16,"reset.bridge_all.desc")),t(2),f("aria-label",s(22,18,"reset.bridge_all.title")))}var Qi=(()=>{class a{$api=C(R);$modal=C(he);$plugin=C(ye);$settings=C(Se);$toastr=C(V);$translate=C(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 oe(!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.initStartupSettingsForm()}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 p=!1;Object.keys(e).forEach(o=>{this.originalUiSettingsForm[o]!==e[o]&&(this.saveUiSettingChange(o,e[o]),p=!0)}),this.hasChangedUiSettings=p})}initStartupSettingsForm(){this.$api.get("/platform-tools/hb-service/homebridge-startup-settings").subscribe({next:e=>{Object.keys(e).forEach(p=>{this.originalServiceForm[p]=e[p]}),this.serviceForm.patchValue(e),this.serviceForm.valueChanges.pipe(Q(500)).subscribe(this.saveStartupSettingsSettings.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,p){switch(e){case"lang":this.$settings.setLang(p);break;case"lightingMode":this.$settings.setLightingMode(p,"user");break;case"menuMode":this.$settings.setMenuMode(p),window.location.reload();break;case"theme":this.$settings.setTheme(p);break;case"tempUnits":this.$settings.setEnvItem("temperatureUnits",p);break;case"loginWallpaper":this.$settings.setEnvItem("loginWallpaper",p),this.hasChangedLoginWallpaper=p!==this.originalLoginWallpaper;break;case"port":if(!p||typeof p!="number"||p<1025||p>65533||Number.isInteger(p)===!1||p===this.hbPortFormControl.value){this.isInvalidHbUiPort=!0;return}this.$settings.setEnvItem("port",p),this.isInvalidHbUiPort=!1;break}E(this.$api.put("/config-editor/ui",{key:e,value:p})).catch(o=>{console.error(o),this.$toastr.error(o.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(ke,{size:"lg",backdrop:"static"})}saveStartupSettingsSettings(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:p=>{console.error(p),this.$toastr.error(p.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(we,{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,p,o,x])=>{this.availableNetworkAdapters=e,this.buildBridgeNetworkAdapterList(p),this.legacyMdnsFormControl.patchValue(o.advertiser),this.originalMdnsSetting=o.advertiser,this.originalBridgeNetworkAdapters=this.bridgeNetworkAdapters.map(U=>U.iface),this.legacyMdnsFormControl.valueChanges.subscribe(U=>{this.setHomebridgeMdnsSetting(U)}),this.hbPortFormControl.patchValue(x.port),this.hbPortFormControl.valueChanges.subscribe(U=>this.setHomebridgePort(U)),this.originalHbPort=x.port})})}setHomebridgeMdnsSetting(e){return y(this,null,function*(){this.$api.put("/server/mdns-advertiser",{advertiser:e}).subscribe({next:()=>{this.hasChangedMdns=e!==this.originalMdnsSetting},error:p=>{console.error(p),this.$toastr.error(p.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:p=>{console.error(p),this.$toastr.error(p.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(p=>{let o=this.availableNetworkAdapters.find(x=>x.iface===p);return o?(o.selected=!0,o.missing=!1,o):{iface:p,missing:!0}})}selectNetworkInterfaces(){let e=this.$modal.open(Ne,{size:"lg",backdrop:"static"});e.componentInstance.availableNetworkAdapters=this.availableNetworkAdapters,e.componentInstance.bridgeNetworkAdapters=this.bridgeNetworkAdapters,e.result.then(p=>{this.buildBridgeNetworkAdapterList(p),this.setNetworkInterfaces(p)}).catch(()=>{})}toggleSection(e){this.showFields[e]=!this.showFields[e]}static \u0275fac=function(p){return new(p||a)};static \u0275cmp=B({type:a,selectors:[["ng-component"]],decls:48,vars:49,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","fieldsStartup",1,"list-group","list-group-box","mb-4","mx-0"],["id","fieldsNetwork",1,"list-group","list-group-box","mt-2","mx-0"],[1,"small","grey-text","mb-2","mx-0"],["id","fieldsCache",1,"list-group","list-group-box","mb-4","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"],[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"]],template:function(p,o){p&1&&(i(0,"h3",0),r(1),l(2,"translate"),n(),i(3,"div",1)(4,"div",2),v("click",function(){return o.toggleSection("general")}),i(5,"h5",3),c(6,"i",4),r(7),l(8,"translate"),n()(),h(9,Ct,29,26,"ul",5),n(),i(10,"div",1)(11,"div",2),v("click",function(){return o.toggleSection("display")}),i(12,"h5",3),c(13,"i",4),r(14),l(15,"translate"),n()(),h(16,kt,155,94,"ul",6),n(),i(17,"form",7)(18,"div",2),v("click",function(){return o.toggleSection("startup")}),i(19,"h5",3),c(20,"i",4),r(21),l(22,"translate"),n()(),h(23,Et,61,38,"ul",8),n(),i(24,"form",7)(25,"div",2),v("click",function(){return o.toggleSection("network")}),i(26,"h5",3),c(27,"i",4),r(28),l(29,"translate"),n()(),h(30,Tt,55,54,"ul",9),n(),i(31,"div",1)(32,"div",2),v("click",function(){return o.toggleSection("cache")}),i(33,"h5",3),c(34,"i",4),r(35),l(36,"translate"),n()(),h(37,Mt,3,3,"p",10)(38,Ft,34,27,"ul",11),n(),i(39,"div",1)(40,"div",2),v("click",function(){return o.toggleSection("reset")}),i(41,"h5",3),c(42,"i",4),r(43),l(44,"translate"),n()(),h(45,Vt,3,3,"p",10)(46,Rt,24,20,"ul",12),n(),c(47,"div",13)),p&2&&(t(),d(s(2,35,"menu.settings.title")),t(3),f("aria-expanded",o.showFields.general?"true":"false")("aria-controls","fieldsGeneral"),t(2),_("ngClass",o.showFields.general?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",s(8,37,"settings.general.title_general")," "),t(2),b(o.showFields.general?9:-1),t(2),f("aria-expanded",o.showFields.display?"true":"false")("aria-controls","fieldsDisplay"),t(2),_("ngClass",o.showFields.display?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",s(15,39,"settings.general.title_display")," "),t(2),b(o.showFields.display?16:-1),t(),_("formGroup",o.serviceForm),t(),f("aria-expanded",o.showFields.startup?"true":"false")("aria-controls","fieldsStartup"),t(2),_("ngClass",o.showFields.startup?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",s(22,41,"settings.title_startup_options")," "),t(2),b(o.showFields.startup?23:-1),t(),_("formGroup",o.uiSettingsForm),t(),f("aria-expanded",o.showFields.network?"true":"false")("aria-controls","fieldsNetwork"),t(2),_("ngClass",o.showFields.network?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",s(29,43,"settings.network.title_network")," "),t(2),b(o.showFields.network?30:-1),t(2),f("aria-expanded",o.showFields.cache?"true":"false")("aria-controls","fieldsCache"),t(2),_("ngClass",o.showFields.cache?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",s(36,45,"settings.cache.title")," "),t(2),b(o.showFields.cache?37:-1),t(),b(o.showFields.cache?38:-1),t(2),f("aria-expanded",o.showFields.reset?"true":"false")("aria-controls","fieldsReset"),t(2),_("ngClass",o.showFields.reset?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",s(44,47,"reset.bridges.title")," "),t(2),b(o.showFields.reset?45:-1),t(),b(o.showFields.reset?46:-1))},dependencies:[O,Ce,K,pe,ge,be,le,de,G,_e,W,se,fe,ve,q,xe,ce,me,ue,j,$],encapsulation:2})}return a})();export{Ee as a,Ie as b,Ne as c,Qi as d};
@@ -0,0 +1 @@
1
+ import{a}from"./chunk-GESYNVZG.js";import"./chunk-BPL5NSAH.js";import"./chunk-OIONECW5.js";import"./chunk-ZIEZJHQ3.js";import"./chunk-ACZLPZJM.js";import"./chunk-VNJJI7TG.js";import"./chunk-CDFIWRUN.js";import"./chunk-4T2QSCYW.js";import"./chunk-6YTPTS6B.js";import"./chunk-HG4S4RSY.js";import"./chunk-COS4S4TF.js";import"./chunk-ZZ5DUZ3T.js";import"./chunk-5FC5GQ62.js";import"./chunk-YSEOPOHR.js";export{a as SetupWizardComponent};
@@ -1 +1 @@
1
- import{a as _,b as D}from"./chunk-6W4AJ2ZZ.js";import{j as c,k as S}from"./chunk-BYW5V4GN.js";import{f as x}from"./chunk-ZZ5DUZ3T.js";import{C as v,Qc as I,g as O,ga as h,h as a,ha as E,ja as y,la as l,ma as f,r as p,ub as j,w as d,x as T,z as w}from"./chunk-YSEOPOHR.js";var g=new y("JWT_OPTIONS"),m=(()=>{class r{constructor(e=null){this.tokenGetter=e&&e.tokenGetter||function(){}}urlBase64Decode(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:{t+="==";break}case 3:{t+="=";break}default:throw new Error("Illegal base64url string!")}return this.b64DecodeUnicode(t)}b64decode(e){let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o="";if(e=String(e).replace(/=+$/,""),e.length%4===1)throw new Error("'atob' failed: The string to be decoded is not correctly encoded.");for(let i=0,s,n,b=0;n=e.charAt(b++);~n&&(s=i%4?s*64+n:n,i++%4)?o+=String.fromCharCode(255&s>>(-2*i&6)):0)n=t.indexOf(n);return o}b64DecodeUnicode(e){return decodeURIComponent(Array.prototype.map.call(this.b64decode(e),t=>"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2)).join(""))}decodeToken(e=this.tokenGetter()){return e instanceof Promise?e.then(t=>this._decodeToken(t)):this._decodeToken(e)}_decodeToken(e){if(!e||e==="")return null;let t=e.split(".");if(t.length!==3)throw new Error("The inspected token doesn't appear to be a JWT. Check to make sure it has three parts and see https://jwt.io for more.");let o=this.urlBase64Decode(t[1]);if(!o)throw new Error("Cannot decode the token.");return JSON.parse(o)}getTokenExpirationDate(e=this.tokenGetter()){return e instanceof Promise?e.then(t=>this._getTokenExpirationDate(t)):this._getTokenExpirationDate(e)}_getTokenExpirationDate(e){let t;if(t=this.decodeToken(e),!t||!t.hasOwnProperty("exp"))return null;let o=new Date(0);return o.setUTCSeconds(t.exp),o}isTokenExpired(e=this.tokenGetter(),t){return e instanceof Promise?e.then(o=>this._isTokenExpired(o,t)):this._isTokenExpired(e,t)}_isTokenExpired(e,t){if(!e||e==="")return!0;let o=this.getTokenExpirationDate(e);return t=t||0,o===null?!1:!(o.valueOf()>new Date().valueOf()+t*1e3)}getAuthScheme(e,t){return typeof e=="function"?e(t):e}}return r.\u0275fac=function(e){return new(e||r)(l(g))},r.\u0275prov=h({token:r,factory:r.\u0275fac}),r})(),$=r=>r instanceof Promise?v(()=>r):p(r),R=(()=>{class r{constructor(e,t,o){this.jwtHelper=t,this.document=o,this.standardPorts=["80","443"],this.tokenGetter=e.tokenGetter,this.headerName=e.headerName||"Authorization",this.authScheme=e.authScheme||e.authScheme===""?e.authScheme:"Bearer ",this.allowedDomains=e.allowedDomains||[],this.disallowedRoutes=e.disallowedRoutes||[],this.throwNoTokenError=e.throwNoTokenError||!1,this.skipWhenExpired=e.skipWhenExpired}isAllowedDomain(e){let t=new URL(e.url,this.document.location.origin);if(t.host===this.document.location.host)return!0;let o=`${t.hostname}${t.port&&!this.standardPorts.includes(t.port)?":"+t.port:""}`;return this.allowedDomains.findIndex(i=>typeof i=="string"?i===o:i instanceof RegExp?i.test(o):!1)>-1}isDisallowedRoute(e){let t=new URL(e.url,this.document.location.origin);return this.disallowedRoutes.findIndex(o=>{if(typeof o=="string"){let i=new URL(o,this.document.location.origin);return i.hostname===t.hostname&&i.pathname===t.pathname}return o instanceof RegExp?o.test(e.url):!1})>-1}handleInterception(e,t,o){let i=this.jwtHelper.getAuthScheme(this.authScheme,t);if(!e&&this.throwNoTokenError)throw new Error("Could not get token from tokenGetter function.");let s=p(!1);return this.skipWhenExpired&&(s=e?$(this.jwtHelper.isTokenExpired(e)):p(!0)),e?s.pipe(T(n=>n&&this.skipWhenExpired?t.clone():t.clone({setHeaders:{[this.headerName]:`${i}${e}`}})),w(n=>o.handle(n))):o.handle(t)}intercept(e,t){if(!this.isAllowedDomain(e)||this.isDisallowedRoute(e))return t.handle(e);let o=this.tokenGetter(e);return $(o).pipe(w(i=>this.handleInterception(i,e,t)))}}return r.\u0275fac=function(e){return new(e||r)(l(g),l(m),l(I))},r.\u0275prov=h({token:r,factory:r.\u0275fac}),r})(),F=(()=>{class r{constructor(e){if(e)throw new Error("JwtModule is already loaded. It should only be imported in your application's main module.")}static forRoot(e){return{ngModule:r,providers:[{provide:x,useClass:R,multi:!0},e.jwtOptionsProvider||{provide:g,useValue:e.config},m]}}}return r.\u0275fac=function(e){return new(e||r)(l(r,12))},r.\u0275mod=j({type:r}),r.\u0275inj=E({}),r})();var k=O(_(),1);var q=(()=>{class r{$api=f(S);$jwtHelper=f(m);$settings=f(D);token;user={};logoutTimer;constructor(){this.loadToken()}login(e){return a(this,null,function*(){let t=yield d(this.$api.post("/auth/login",e));if(!this.validateToken(t.access_token))throw new Error("Invalid username or password.");window.localStorage.setItem(c.jwt.tokenKey,t.access_token),yield this.$settings.getAppSettings()})}noauth(){return a(this,null,function*(){let e=yield d(this.$api.post("/auth/noauth",{}));if(this.validateToken(e.access_token))window.localStorage.setItem(c.jwt.tokenKey,e.access_token),yield this.$settings.getAppSettings();else throw new Error("Invalid username or password.")})}logout(){this.user=null,this.token=null,window.localStorage.removeItem(c.jwt.tokenKey),window.location.reload()}loadToken(){return a(this,null,function*(){this.$settings.settingsLoaded||(yield d(this.$settings.onSettingsLoaded));let e=window.localStorage.getItem(c.jwt.tokenKey);e&&this.validateToken(e)})}validateToken(e){try{return this.$jwtHelper.isTokenExpired(e,this.$settings.serverTimeOffset)&&this.logout(),this.user=this.$jwtHelper.decodeToken(e),this.token=e,this.setLogoutTimer(),!0}catch{return window.localStorage.removeItem(c.jwt.tokenKey),this.token=null,!1}}checkToken(){return a(this,null,function*(){try{return yield d(this.$api.get("/auth/check"))}catch(e){e.status===401&&(console.error("Current token is not valid"),this.logout())}})}setLogoutTimer(){if(clearTimeout(this.logoutTimer),!this.$jwtHelper.isTokenExpired(this.token,this.$settings.serverTimeOffset)){let t=(0,k.default)(this.$jwtHelper.getTokenExpirationDate(this.token)).diff((0,k.default)().add(this.$settings.serverTimeOffset,"s"),"millisecond");t<=2147483647&&(this.logoutTimer=setTimeout(()=>a(this,null,function*(){this.$settings.formAuth===!1?(yield this.noauth(),window.location.reload()):this.logout()}),t))}}isLoggedIn(){return this.$settings.env.instanceId!==this.user.instanceId?(console.error("Token does not match instance"),!1):this.user&&this.token&&!this.$jwtHelper.isTokenExpired(this.token,this.$settings.serverTimeOffset)}static \u0275fac=function(t){return new(t||r)};static \u0275prov=h({token:r,factory:r.\u0275fac})}return r})();export{m as a,F as b,q as c};
1
+ import{a as _,b as D}from"./chunk-HG4S4RSY.js";import{j as c,k as S}from"./chunk-COS4S4TF.js";import{f as x}from"./chunk-ZZ5DUZ3T.js";import{C as v,Qc as I,g as O,ga as h,h as a,ha as E,ja as y,la as l,ma as f,r as p,ub as j,w as d,x as T,z as w}from"./chunk-YSEOPOHR.js";var g=new y("JWT_OPTIONS"),m=(()=>{class r{constructor(e=null){this.tokenGetter=e&&e.tokenGetter||function(){}}urlBase64Decode(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:{t+="==";break}case 3:{t+="=";break}default:throw new Error("Illegal base64url string!")}return this.b64DecodeUnicode(t)}b64decode(e){let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o="";if(e=String(e).replace(/=+$/,""),e.length%4===1)throw new Error("'atob' failed: The string to be decoded is not correctly encoded.");for(let i=0,s,n,b=0;n=e.charAt(b++);~n&&(s=i%4?s*64+n:n,i++%4)?o+=String.fromCharCode(255&s>>(-2*i&6)):0)n=t.indexOf(n);return o}b64DecodeUnicode(e){return decodeURIComponent(Array.prototype.map.call(this.b64decode(e),t=>"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2)).join(""))}decodeToken(e=this.tokenGetter()){return e instanceof Promise?e.then(t=>this._decodeToken(t)):this._decodeToken(e)}_decodeToken(e){if(!e||e==="")return null;let t=e.split(".");if(t.length!==3)throw new Error("The inspected token doesn't appear to be a JWT. Check to make sure it has three parts and see https://jwt.io for more.");let o=this.urlBase64Decode(t[1]);if(!o)throw new Error("Cannot decode the token.");return JSON.parse(o)}getTokenExpirationDate(e=this.tokenGetter()){return e instanceof Promise?e.then(t=>this._getTokenExpirationDate(t)):this._getTokenExpirationDate(e)}_getTokenExpirationDate(e){let t;if(t=this.decodeToken(e),!t||!t.hasOwnProperty("exp"))return null;let o=new Date(0);return o.setUTCSeconds(t.exp),o}isTokenExpired(e=this.tokenGetter(),t){return e instanceof Promise?e.then(o=>this._isTokenExpired(o,t)):this._isTokenExpired(e,t)}_isTokenExpired(e,t){if(!e||e==="")return!0;let o=this.getTokenExpirationDate(e);return t=t||0,o===null?!1:!(o.valueOf()>new Date().valueOf()+t*1e3)}getAuthScheme(e,t){return typeof e=="function"?e(t):e}}return r.\u0275fac=function(e){return new(e||r)(l(g))},r.\u0275prov=h({token:r,factory:r.\u0275fac}),r})(),$=r=>r instanceof Promise?v(()=>r):p(r),R=(()=>{class r{constructor(e,t,o){this.jwtHelper=t,this.document=o,this.standardPorts=["80","443"],this.tokenGetter=e.tokenGetter,this.headerName=e.headerName||"Authorization",this.authScheme=e.authScheme||e.authScheme===""?e.authScheme:"Bearer ",this.allowedDomains=e.allowedDomains||[],this.disallowedRoutes=e.disallowedRoutes||[],this.throwNoTokenError=e.throwNoTokenError||!1,this.skipWhenExpired=e.skipWhenExpired}isAllowedDomain(e){let t=new URL(e.url,this.document.location.origin);if(t.host===this.document.location.host)return!0;let o=`${t.hostname}${t.port&&!this.standardPorts.includes(t.port)?":"+t.port:""}`;return this.allowedDomains.findIndex(i=>typeof i=="string"?i===o:i instanceof RegExp?i.test(o):!1)>-1}isDisallowedRoute(e){let t=new URL(e.url,this.document.location.origin);return this.disallowedRoutes.findIndex(o=>{if(typeof o=="string"){let i=new URL(o,this.document.location.origin);return i.hostname===t.hostname&&i.pathname===t.pathname}return o instanceof RegExp?o.test(e.url):!1})>-1}handleInterception(e,t,o){let i=this.jwtHelper.getAuthScheme(this.authScheme,t);if(!e&&this.throwNoTokenError)throw new Error("Could not get token from tokenGetter function.");let s=p(!1);return this.skipWhenExpired&&(s=e?$(this.jwtHelper.isTokenExpired(e)):p(!0)),e?s.pipe(T(n=>n&&this.skipWhenExpired?t.clone():t.clone({setHeaders:{[this.headerName]:`${i}${e}`}})),w(n=>o.handle(n))):o.handle(t)}intercept(e,t){if(!this.isAllowedDomain(e)||this.isDisallowedRoute(e))return t.handle(e);let o=this.tokenGetter(e);return $(o).pipe(w(i=>this.handleInterception(i,e,t)))}}return r.\u0275fac=function(e){return new(e||r)(l(g),l(m),l(I))},r.\u0275prov=h({token:r,factory:r.\u0275fac}),r})(),F=(()=>{class r{constructor(e){if(e)throw new Error("JwtModule is already loaded. It should only be imported in your application's main module.")}static forRoot(e){return{ngModule:r,providers:[{provide:x,useClass:R,multi:!0},e.jwtOptionsProvider||{provide:g,useValue:e.config},m]}}}return r.\u0275fac=function(e){return new(e||r)(l(r,12))},r.\u0275mod=j({type:r}),r.\u0275inj=E({}),r})();var k=O(_(),1);var q=(()=>{class r{$api=f(S);$jwtHelper=f(m);$settings=f(D);token;user={};logoutTimer;constructor(){this.loadToken()}login(e){return a(this,null,function*(){let t=yield d(this.$api.post("/auth/login",e));if(!this.validateToken(t.access_token))throw new Error("Invalid username or password.");window.localStorage.setItem(c.jwt.tokenKey,t.access_token),yield this.$settings.getAppSettings()})}noauth(){return a(this,null,function*(){let e=yield d(this.$api.post("/auth/noauth",{}));if(this.validateToken(e.access_token))window.localStorage.setItem(c.jwt.tokenKey,e.access_token),yield this.$settings.getAppSettings();else throw new Error("Invalid username or password.")})}logout(){this.user=null,this.token=null,window.localStorage.removeItem(c.jwt.tokenKey),window.location.reload()}loadToken(){return a(this,null,function*(){this.$settings.settingsLoaded||(yield d(this.$settings.onSettingsLoaded));let e=window.localStorage.getItem(c.jwt.tokenKey);e&&this.validateToken(e)})}validateToken(e){try{return this.$jwtHelper.isTokenExpired(e,this.$settings.serverTimeOffset)&&this.logout(),this.user=this.$jwtHelper.decodeToken(e),this.token=e,this.setLogoutTimer(),!0}catch{return window.localStorage.removeItem(c.jwt.tokenKey),this.token=null,!1}}checkToken(){return a(this,null,function*(){try{return yield d(this.$api.get("/auth/check"))}catch(e){e.status===401&&(console.error("Current token is not valid"),this.logout())}})}setLogoutTimer(){if(clearTimeout(this.logoutTimer),!this.$jwtHelper.isTokenExpired(this.token,this.$settings.serverTimeOffset)){let t=(0,k.default)(this.$jwtHelper.getTokenExpirationDate(this.token)).diff((0,k.default)().add(this.$settings.serverTimeOffset,"s"),"millisecond");t<=2147483647&&(this.logoutTimer=setTimeout(()=>a(this,null,function*(){this.$settings.formAuth===!1?(yield this.noauth(),window.location.reload()):this.logout()}),t))}}isLoggedIn(){return this.$settings.env.instanceId!==this.user.instanceId?(console.error("Token does not match instance"),!1):this.user&&this.token&&!this.$jwtHelper.isTokenExpired(this.token,this.$settings.serverTimeOffset)}static \u0275fac=function(t){return new(t||r)};static \u0275prov=h({token:r,factory:r.\u0275fac})}return r})();export{m as a,F as b,q as c};
@@ -1 +1 @@
1
- import{a as X}from"./chunk-ER76XVWX.js";import{a as H}from"./chunk-JUAHATIH.js";import{a as Z}from"./chunk-L6QFBAQD.js";import{a as R}from"./chunk-YRKK76EB.js";import{n as L}from"./chunk-ACZLPZJM.js";import"./chunk-VNJJI7TG.js";import{a as j}from"./chunk-2WH4IK5A.js";import{a as W,c as q,d as V,e as N,f as D}from"./chunk-4T2QSCYW.js";import{c as B}from"./chunk-NMSMHD6N.js";import{b as $}from"./chunk-6W4AJ2ZZ.js";import{j as T}from"./chunk-BYW5V4GN.js";import"./chunk-ZZ5DUZ3T.js";import{a as M,b as U}from"./chunk-5FC5GQ62.js";import{$c as E,Cc as d,Dc as l,Jb as u,Kb as c,Pb as C,Ub as n,Vb as a,Wb as p,_b as y,bc as _,cc as w,g as Y,gb as o,h as z,lb as F,ma as m,mc as f,nc as g,qd as K,tb as P,ua as h,va as b,w as A,xc as v,yc as k,zb as O}from"./chunk-YSEOPOHR.js";var Q=Y(Z(),1);function G(){var i;return typeof window<"u"&&((window==null?void 0:window.matchMedia("(display-mode: standalone)").matches)||((i=window.navigator)===null||i===void 0?void 0:i.standalone)||document.referrer.startsWith("android-app://")||(window==null?void 0: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,S){if(i&1){let e=y();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,S){if(i&1){let e=y();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,S){if(i&1){let e=y();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,S){if(i&1){let e=y();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,S){if(i&1){let e=y();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,S){if(i&1){let e=y();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,S){if(i&1){let e=y();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,S){if(i&1){let e=y();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(M);$auth=m(B);$settings=m($);$modal=m(L);$notification=m(X);$translate=m(M);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=P({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(x){return t.handleKeydown(x)}),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(x){return t.handleKeydown(x)}),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(x){return t.handleKeydown(x)}),n(24,"div",12),p(25,"i",13),a(),n(26,"div",14),f(27),d(28,"translate"),a()()(),O(29,me,9,8,"div",10)(30,ue,8,9,"div",10),n(31,"div",10)(32,"div",15),d(33,"translate"),_("keydown",function(x){return t.handleKeydown(x)}),n(34,"div",12),p(35,"i",16),a(),n(36,"div",14),f(37),d(38,"translate"),a()()(),O(39,_e,8,9,"div",10)(40,fe,8,9,"div",10)(41,ge,8,9,"div",10)(42,ve,8,9,"div",10),n(43,"div",10)(44,"div",15),d(45,"translate"),_("keydown",function(x){return t.handleKeydown(x)}),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(x){return t.handleKeydown(x)}),n(54,"div",12),p(55,"i",18),a(),n(56,"div",14),f(57),d(58,"translate"),a()()(),O(59,he,8,6,"div",10)(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",k(57,te,t.isExpanded)),o(5),c("ngClass",k(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),C(t.rPiWasUnderVoltage||t.rPiCurrentlyUnderVoltage?29:-1),o(),C(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),C(t.$auth.user.admin?39:-1),o(),C(t.$settings.env.enableTerminalAccess&&t.$auth.user.admin?40:-1),o(),C(t.$auth.user.admin?41:-1),o(),C(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),C(t.isPwa?59:-1),o(),C(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(M);$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=P({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",k(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
+ import{a as X}from"./chunk-ER76XVWX.js";import{a as H}from"./chunk-JUAHATIH.js";import{a as Z}from"./chunk-L6QFBAQD.js";import{a as R}from"./chunk-YRKK76EB.js";import{n as L}from"./chunk-ACZLPZJM.js";import"./chunk-VNJJI7TG.js";import{a as j}from"./chunk-CDFIWRUN.js";import{a as W,c as q,d as V,e as N,f as D}from"./chunk-4T2QSCYW.js";import{c as B}from"./chunk-6YTPTS6B.js";import{b as $}from"./chunk-HG4S4RSY.js";import{j as T}from"./chunk-COS4S4TF.js";import"./chunk-ZZ5DUZ3T.js";import{a as M,b as U}from"./chunk-5FC5GQ62.js";import{$c as E,Cc as d,Dc as l,Jb as u,Kb as c,Pb as C,Ub as n,Vb as a,Wb as p,_b as y,bc as _,cc as w,g as Y,gb as o,h as z,lb as F,ma as m,mc as f,nc as g,qd as K,tb as P,ua as h,va as b,w as A,xc as v,yc as k,zb as O}from"./chunk-YSEOPOHR.js";var Q=Y(Z(),1);function G(){var i;return typeof window<"u"&&((window==null?void 0:window.matchMedia("(display-mode: standalone)").matches)||((i=window.navigator)===null||i===void 0?void 0:i.standalone)||document.referrer.startsWith("android-app://")||(window==null?void 0: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,S){if(i&1){let e=y();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,S){if(i&1){let e=y();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,S){if(i&1){let e=y();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,S){if(i&1){let e=y();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,S){if(i&1){let e=y();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,S){if(i&1){let e=y();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,S){if(i&1){let e=y();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,S){if(i&1){let e=y();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(M);$auth=m(B);$settings=m($);$modal=m(L);$notification=m(X);$translate=m(M);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=P({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(x){return t.handleKeydown(x)}),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(x){return t.handleKeydown(x)}),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(x){return t.handleKeydown(x)}),n(24,"div",12),p(25,"i",13),a(),n(26,"div",14),f(27),d(28,"translate"),a()()(),O(29,me,9,8,"div",10)(30,ue,8,9,"div",10),n(31,"div",10)(32,"div",15),d(33,"translate"),_("keydown",function(x){return t.handleKeydown(x)}),n(34,"div",12),p(35,"i",16),a(),n(36,"div",14),f(37),d(38,"translate"),a()()(),O(39,_e,8,9,"div",10)(40,fe,8,9,"div",10)(41,ge,8,9,"div",10)(42,ve,8,9,"div",10),n(43,"div",10)(44,"div",15),d(45,"translate"),_("keydown",function(x){return t.handleKeydown(x)}),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(x){return t.handleKeydown(x)}),n(54,"div",12),p(55,"i",18),a(),n(56,"div",14),f(57),d(58,"translate"),a()()(),O(59,he,8,6,"div",10)(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",k(57,te,t.isExpanded)),o(5),c("ngClass",k(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),C(t.rPiWasUnderVoltage||t.rPiCurrentlyUnderVoltage?29:-1),o(),C(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),C(t.$auth.user.admin?39:-1),o(),C(t.$settings.env.enableTerminalAccess&&t.$auth.user.admin?40:-1),o(),C(t.$auth.user.admin?41:-1),o(),C(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),C(t.isPwa?59:-1),o(),C(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(M);$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=P({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",k(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};
@@ -0,0 +1 @@
1
+ import{a}from"./chunk-FVOM7UH5.js";import"./chunk-CMCSOAXY.js";import"./chunk-GZS22B5R.js";import"./chunk-VNJJI7TG.js";import"./chunk-4T2QSCYW.js";import"./chunk-HG4S4RSY.js";import"./chunk-COS4S4TF.js";import"./chunk-ZZ5DUZ3T.js";import"./chunk-5FC5GQ62.js";import"./chunk-YSEOPOHR.js";export{a as StartupScriptComponent};