homebridge-config-ui-x
Version:
A web based management, configuration and control platform for Homebridge.
1 lines • 59.7 kB
JavaScript
import{a as Ie}from"./chunk-L6O2DL5Y.js";import{a as $e}from"./chunk-3UI2RHE7.js";import{w as Te}from"./chunk-3OSK5OW7.js";import{g as X,m as T,n as Y}from"./chunk-OHFVMRCL.js";import{A as Q,b as G,c as _e,e as q,f as ue,g as te,j as P,k as ge,l as K,m as ve,n as be,o as fe,p as xe,q as he,r as Ce,s as Se,t as we,u as ke,v as ye,z as J}from"./chunk-MMYB2ZMV.js";import{d as U,e as Ee}from"./chunk-QY7HUYL5.js";import{b as Z}from"./chunk-3P637DAY.js";import{h as A,j as Be,k as N}from"./chunk-SXUVUFAV.js";import{a as M,b as E}from"./chunk-KPKQNEWS.js";import{$a as t,Ac as o,Bc as l,Cc as W,Gb as x,Hb as v,Ib as b,Kb as F,Lb as V,M as ee,Mb as R,Nb as g,Ob as i,Pb as a,Qb as c,Ub as k,Xa as re,Xb as f,Ya as oe,Yb as u,ac as le,bc as se,bd as L,cc as de,gd as j,h as B,jc as r,kc as p,la as w,lb as y,lc as _,qc as pe,ra as C,rc as ce,sa as S,sc as me,w as I,wc as H,xc as $,yc as O}from"./chunk-QSPBB6EE.js";function He(n,m){n&1&&(i(0,"div",12),c(1,"i",13),a(),i(2,"p",14),r(3),o(4,"translate"),a()),n&2&&(t(3),p(l(4,1,"reset.no_accessories")))}function Ue(n,m){n&1&&(i(0,"div",12),c(1,"i",15),a(),i(2,"ul",16)(3,"li"),r(4),o(5,"translate"),a(),i(6,"li"),r(7),o(8,"translate"),a(),i(9,"li"),r(10),o(11,"translate"),a()(),i(12,"ngb-alert",17)(13,"p",18),r(14),o(15,"translate"),a()()),n&2&&(t(4),p(l(5,5,"reset.accessory_all.list_1")),t(3),p(l(8,7,"reset.accessory_all.list_2")),t(3),p(l(11,9,"reset.accessory_all.list_3")),t(2),g("dismissible",!1),t(2),p(l(15,11,"reset.action_is_irreversible")))}function Oe(n,m){if(n&1){let e=k();i(0,"button",19),o(1,"translate"),f("click",function(){C(e);let s=u();return S(s.$activeModal.dismiss("Dismiss"))}),r(2),o(3,"translate"),a()}if(n&2){let e=u();g("disabled",e.clicked),x("aria-label",l(1,3,"form.button_close")),t(2),_(" ",l(3,5,"form.button_close")," ")}}function Le(n,m){if(n&1){let e=k();i(0,"button",20),o(1,"translate"),f("click",function(){C(e);let s=u();return S(s.$activeModal.dismiss("Dismiss"))}),r(2),o(3,"translate"),a()}n&2&&(x("aria-label",l(1,2,"form.button_close")),t(2),_(" ",l(3,4,"form.button_close")," "))}function ze(n,m){n&1&&(r(0),o(1,"translate")),n&2&&_(" ",l(1,1,"form.button_remove")," ")}function We(n,m){n&1&&c(0,"i",22)}function je(n,m){if(n&1){let e=k();i(0,"button",21),f("click",function(){C(e);let s=u();return S(s.onResetCachedAccessoriesClick())}),v(1,ze,2,3),v(2,We,1,0,"i",22),a()}if(n&2){let e=u();g("disabled",e.clicked),t(),b(e.clicked?-1:1),t(),b(e.clicked?2:-1)}}var Me=(()=>{class n{$activeModal=w(T);$api=w(N);$router=w(U);$toastr=w(A);$translate=w(M);clicked=!1;cachedAccessories=[];constructor(){}ngOnInit(){this.loadCachedAccessories()}loadCachedAccessories(){return B(this,null,function*(){try{this.cachedAccessories=yield I(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(d){return new(d||n)};static \u0275cmp=y({type:n,selectors:[["ng-component"]],decls:17,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-circle-check","primary-text",2,"font-size","75px"],[1,"mb-0","text-center"],[1,"fas","fa-fw","fa-network-wired","primary-text",2,"font-size","75px"],[1,"mb-3"],["type","error",1,"mb-0",3,"dismissible"],[1,"text-center","mb-0"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(d,s){d&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),o(4,"translate"),a(),i(5,"button",3),o(6,"translate"),f("click",function(){return s.$activeModal.dismiss("Dismiss")}),a()(),i(7,"div",4),v(8,He,5,3),v(9,Ue,16,13),a(),i(10,"div",5)(11,"div",6),v(12,Oe,4,7,"button",7),a(),i(13,"div",8),v(14,Le,4,6,"button",9),a(),i(15,"div",10),v(16,je,3,3,"button",11),a()()()),d&2&&(t(3),p(l(4,8,"reset.accessory_all.title")),t(2),g("disabled",s.clicked),x("aria-label",l(6,10,"form.button_close")),t(3),b(s.cachedAccessories.length===0?8:-1),t(),b(s.cachedAccessories.length>0?9:-1),t(3),b(s.cachedAccessories.length>0?12:-1),t(2),b(s.cachedAccessories.length===0?14:-1),t(2),b(s.cachedAccessories.length>0?16:-1))},dependencies:[X,E],encapsulation:2})}return n})();var Ge=(n,m)=>({"green-text":n,"grey-text":m}),qe=(n,m)=>({"btn-danger":n,"btn-elegant":m}),Ke=(n,m,e)=>({"fa-broom":n,"fa-undo":m,"fa-spinner fa-pulse":e});function Je(n,m){n&1&&(i(0,"div",12),c(1,"i",13),a(),i(2,"p",14),r(3),o(4,"translate"),a()),n&2&&(t(3),p(l(4,1,"reset.bridge_accessories.empty")))}function Qe(n,m){if(n&1){let e=k();i(0,"li",18)(1,"span"),r(2),c(3,"br"),i(4,"small",19),c(5,"i",20),r(6),o(7,"translate"),i(8,"span",21),r(9),a()()(),i(10,"button",22),o(11,"translate"),f("click",function(){let s=C(e).$implicit,h=u(2);return S(h.toggleList(s._id))}),c(12,"i",23),a()()}if(n&2){let e=m.$implicit,d=u(2);t(2),_(" ",e.name," "),t(3),g("ngClass",$(12,Ge,e._isPaired,!e._isPaired)),t(),_(" ",l(7,8,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),p(e._username),t(),g("disabled",d.clicked)("ngClass",$(15,qe,!d.toDelete.includes(e._id),d.toDelete.includes(e._id))),x("aria-label",l(11,10,"form.button_delete")),t(2),g("ngClass",O(18,Ke,!d.toDelete.includes(e._id),d.toDelete.includes(e._id)&&!d.clicked,d.toDelete.includes(e._id)&&d.clicked))}}function Xe(n,m){if(n&1&&(i(0,"div",12),c(1,"i",15),a(),i(2,"ul",16)(3,"li"),r(4),o(5,"translate"),a(),i(6,"li"),r(7),o(8,"translate"),a(),i(9,"li"),r(10),o(11,"translate"),a()(),i(12,"ul",17),V(13,Qe,13,22,"li",18,F),a()),n&2){let e=u();t(4),p(l(5,3,"reset.bridge_accessories.list_1")),t(3),p(l(8,5,"reset.clear_cache_single.list_3")),t(3),p(l(11,7,"reset.bridge_accessories.list_2")),t(3),R(e.pairings)}}function Ye(n,m){if(n&1){let e=k();i(0,"button",24),f("click",function(){C(e);let s=u();return S(s.$activeModal.dismiss("Dismiss"))}),r(1),o(2,"translate"),a()}if(n&2){let e=u();g("disabled",e.clicked),t(),_(" ",l(2,2,"form.button_close")," ")}}function Ze(n,m){if(n&1){let e=k();i(0,"button",25),f("click",function(){C(e);let s=u();return S(s.$activeModal.dismiss("Dismiss"))}),r(1),o(2,"translate"),a()}n&2&&(t(),_(" ",l(2,1,"form.button_close")," "))}function et(n,m){if(n&1&&r(0),n&2){let e=u(3);_(" (",e.toDelete.length,") ")}}function tt(n,m){if(n&1&&(r(0),o(1,"translate"),v(2,et,1,1)),n&2){let e=u(2);_(" ",l(1,2,"form.button_remove")," "),t(2),b(e.toDelete.length>0?2:-1)}}function it(n,m){n&1&&c(0,"i",27)}function nt(n,m){if(n&1){let e=k();i(0,"button",26),f("click",function(){C(e);let s=u();return S(s.cleanBridges())}),v(1,tt,3,4),v(2,it,1,0,"i",27),a()}if(n&2){let e=u();g("disabled",!e.toDelete.length||e.clicked),t(),b(e.clicked?-1:1),t(),b(e.clicked?2:-1)}}var Ae=(()=>{class n{$activeModal=w(T);$api=w(N);$router=w(U);$toastr=w(A);$translate=w(M);clicked=!1;pairings=[];toDelete=[];constructor(){}ngOnInit(){this.loadPairings()}loadPairings(){return B(this,null,function*(){try{this.pairings=(yield I(this.$api.get("/server/pairings"))).filter(e=>e._category==="bridge"&&!e._main).sort((e,d)=>e.name.localeCompare(d.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(d=>d!==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(d){return new(d||n)};static \u0275cmp=y({type:n,selectors:[["ng-component"]],decls:17,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-circle-check","primary-text",2,"font-size","75px"],[1,"mb-0","text-center"],[1,"fas","fa-fw","fa-broom","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"fas","fa-fw","fa-link",3,"ngClass"],[1,"font-monospace"],[1,"btn","btn-danger","m-0","ms-3",3,"click","disabled","ngClass"],[1,"fas","fa-fw",3,"ngClass"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(d,s){d&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),o(4,"translate"),a(),i(5,"button",3),o(6,"translate"),f("click",function(){return s.$activeModal.dismiss("Dismiss")}),a()(),i(7,"div",4),v(8,Je,5,3),v(9,Xe,15,9),a(),i(10,"div",5)(11,"div",6),v(12,Ye,3,4,"button",7),a(),i(13,"div",8),v(14,Ze,3,3,"button",9),a(),i(15,"div",10),v(16,nt,3,3,"button",11),a()()()),d&2&&(t(3),p(l(4,8,"reset.bridge_accessories.title")),t(2),g("disabled",s.clicked),x("aria-label",l(6,10,"form.button_close")),t(3),b(s.pairings.length===0?8:-1),t(),b(s.pairings.length>0?9:-1),t(3),b(s.pairings.length>0?12:-1),t(2),b(s.pairings.length===0?14:-1),t(2),b(s.pairings.length>0?16:-1))},dependencies:[L,E],encapsulation:2})}return n})();function at(n,m){n&1&&(r(0),o(1,"translate")),n&2&&_(" ",l(1,1,"form.button_reset")," ")}function rt(n,m){n&1&&c(0,"i",16)}var Ne=(()=>{class n{$activeModal=w(T);$api=w(N);$route=w(U);$toastr=w(A);$translate=w(M);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(d){return new(d||n)};static \u0275cmp=y({type:n,selectors:[["ng-component"]],decls:38,vars:33,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-bridge","primary-text",2,"font-size","75px"],[1,"mb-3"],["type","error",1,"mb-0",3,"dismissible"],[1,"text-center","mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(d,s){d&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),o(4,"translate"),a(),i(5,"button",3),o(6,"translate"),f("click",function(){return s.$activeModal.dismiss("Dismiss")}),a()(),i(7,"div",4)(8,"div",5),c(9,"i",6),a(),i(10,"ul",7)(11,"li"),r(12),o(13,"translate"),a(),i(14,"li"),r(15),o(16,"translate"),a(),i(17,"li"),r(18),o(19,"translate"),a(),i(20,"li"),r(21),o(22,"translate"),a()(),i(23,"ngb-alert",8)(24,"p",9),r(25),o(26,"translate"),a()()(),i(27,"div",10)(28,"div",11)(29,"button",12),o(30,"translate"),f("click",function(){return s.$activeModal.dismiss("Dismiss")}),r(31),o(32,"translate"),a()(),c(33,"div",13),i(34,"div",14)(35,"button",15),f("click",function(){return s.onResetHomebridgeAccessoryClick()}),v(36,at,2,3),v(37,rt,1,0,"i",16),a()()()()),d&2&&(t(3),p(l(4,15,"reset.bridge_all.title")),t(2),g("disabled",s.clicked),x("aria-label",l(6,17,"form.button_close")),t(7),p(l(13,19,"reset.bridge_all.list_1")),t(3),p(l(16,21,"reset.bridge_all.list_2")),t(3),p(l(19,23,"reset.bridge_all.list_3")),t(3),p(l(22,25,"reset.bridge_all.list_4")),t(2),g("dismissible",!1),t(2),p(l(26,27,"reset.action_is_irreversible")),t(4),g("disabled",s.clicked),x("aria-label",l(30,29,"form.button_close")),t(2),_(" ",l(32,31,"form.button_close")," "),t(4),g("disabled",s.clicked),t(),b(s.clicked?-1:36),t(),b(s.clicked?37:-1))},dependencies:[X,E],encapsulation:2})}return n})();var ie=(n,m)=>({"green-text":n,"grey-text":m}),ne=(n,m)=>({"btn-danger":n,"btn-elegant":m}),Fe=(n,m,e)=>({"fa-refresh":n,"fa-undo":m,"fa-spinner fa-pulse":e}),ot=(n,m,e)=>({"fa-trash":n,"fa-undo":m,"fa-spinner fa-pulse":e});function lt(n,m){n&1&&(i(0,"div",12),c(1,"i",13),a(),i(2,"p",14),r(3),o(4,"translate"),a()),n&2&&(t(3),p(l(4,1,"reset.bridges.empty")))}function st(n,m){if(n&1){let e=k();i(0,"li",20)(1,"span"),r(2),c(3,"br"),i(4,"small",21),c(5,"i",22),r(6),o(7,"translate"),i(8,"span",23),r(9),a(),r(10),o(11,"titlecase"),a()(),i(12,"button",24),o(13,"translate"),f("click",function(){let s=C(e).$implicit,h=u(3);return S(h.toggleList(s._id,!1))}),c(14,"i",25),a()()}if(n&2){let e=m.$implicit,d=u(3);t(2),_(" ",e.name," "),t(3),g("ngClass",$(15,ie,e._isPaired,!e._isPaired)),t(),_(" ",l(7,9,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),p(e._username),t(),_(" \xB7 ",e._main?"Homebridge":l(11,11,e._category)," "),t(2),g("disabled",d.clicked)("ngClass",$(18,ne,!d.isInList(e._id),d.isInList(e._id))),x("aria-label",l(13,13,"form.button_unpair")),t(2),g("ngClass",O(21,Fe,!d.isInList(e._id),d.isInList(e._id)&&!d.clicked,d.isInList(e._id)&&d.clicked))}}function dt(n,m){if(n&1&&(i(0,"ul",16)(1,"li",17)(2,"h6",18),r(3),o(4,"translate"),a(),i(5,"p",19),r(6),o(7,"translate"),a()(),V(8,st,15,25,"li",20,F),a()),n&2){let e=u(2);t(3),p(l(4,2,"reset.bridge_ind.head_non_child")),t(3),p(l(7,4,"reset.bridge_ind.desc_non_child")),t(2),R(e.pairingsNonChild)}}function pt(n,m){if(n&1){let e=k();i(0,"li",20)(1,"span"),r(2),c(3,"br"),i(4,"small",21),c(5,"i",22),r(6),o(7,"translate"),i(8,"span",23),r(9),a()()(),i(10,"button",24),o(11,"translate"),f("click",function(){let s=C(e).$implicit,h=u(3);return S(h.toggleList(s._id,!0))}),c(12,"i",25),a()()}if(n&2){let e=m.$implicit,d=u(3);t(2),_(" ",e.name," "),t(3),g("ngClass",$(12,ie,e._isPaired,!e._isPaired)),t(),_(" ",l(7,8,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),p(e._username),t(),g("disabled",d.clicked)("ngClass",$(15,ne,!d.isInList(e._id),d.isInList(e._id))),x("aria-label",l(11,10,"form.button_unpair")),t(2),g("ngClass",O(18,Fe,!d.isInList(e._id),d.isInList(e._id)&&!d.clicked,d.isInList(e._id)&&d.clicked))}}function ct(n,m){if(n&1&&(i(0,"ul",16)(1,"li",17)(2,"h6",18),r(3),o(4,"translate"),a(),i(5,"p",19),r(6),o(7,"translate"),a()(),V(8,pt,13,22,"li",20,F),a()),n&2){let e=u(2);t(3),p(l(4,2,"reset.bridge_ind.head_child_active")),t(3),p(l(7,4,"reset.bridge_ind.desc_child_active")),t(2),R(e.pairingsChildActive)}}function mt(n,m){if(n&1){let e=k();i(0,"li",20)(1,"span"),r(2),c(3,"br"),i(4,"small",21),c(5,"i",22),r(6),o(7,"translate"),i(8,"span",23),r(9),a()()(),i(10,"button",24),o(11,"translate"),f("click",function(){let s=C(e).$implicit,h=u(3);return S(h.toggleList(s._id,!1))}),c(12,"i",25),a()()}if(n&2){let e=m.$implicit,d=u(3);t(2),_(" ",e.name," "),t(3),g("ngClass",$(12,ie,e._isPaired,!e._isPaired)),t(),_(" ",l(7,8,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),p(e._username),t(),g("disabled",d.clicked)("ngClass",$(15,ne,!d.isInList(e._id),d.isInList(e._id))),x("aria-label",l(11,10,"form.button_unpair")),t(2),g("ngClass",O(18,ot,!d.isInList(e._id),d.isInList(e._id)&&!d.clicked,d.isInList(e._id)&&d.clicked))}}function _t(n,m){if(n&1&&(i(0,"ul",16)(1,"li",17)(2,"h6",18),r(3),o(4,"translate"),a(),i(5,"p",19),r(6),o(7,"translate"),a()(),V(8,mt,13,22,"li",20,F),a()),n&2){let e=u(2);t(3),p(l(4,2,"reset.bridge_ind.head_child_stale")),t(3),p(l(7,4,"reset.bridge_ind.desc_child_stale")),t(2),R(e.pairingsChildStale)}}function ut(n,m){if(n&1&&(i(0,"div",12),c(1,"i",15),a(),v(2,dt,10,6,"ul",16),v(3,ct,10,6,"ul",16),v(4,_t,10,6,"ul",16)),n&2){let e=u();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 gt(n,m){if(n&1){let e=k();i(0,"button",26),f("click",function(){C(e);let s=u();return S(s.$activeModal.dismiss("Dismiss"))}),r(1),o(2,"translate"),a()}if(n&2){let e=u();g("disabled",e.clicked),t(),_(" ",l(2,2,"form.button_close")," ")}}function vt(n,m){if(n&1){let e=k();i(0,"button",27),f("click",function(){C(e);let s=u();return S(s.$activeModal.dismiss("Dismiss"))}),r(1),o(2,"translate"),a()}n&2&&(t(),_(" ",l(2,1,"form.button_close")," "))}function bt(n,m){if(n&1&&r(0),n&2){let e=u(3);_(" (",e.toDelete.length,") ")}}function ft(n,m){if(n&1&&(r(0),o(1,"translate"),v(2,bt,1,1)),n&2){let e=u(2);_(" ",l(1,2,"form.button_reset")," "),t(2),b(e.toDelete.length>0?2:-1)}}function xt(n,m){n&1&&c(0,"i",29)}function ht(n,m){if(n&1){let e=k();i(0,"button",28),f("click",function(){C(e);let s=u();return S(s.removeBridges())}),v(1,ft,3,4),v(2,xt,1,0,"i",29),a()}if(n&2){let e=u();g("disabled",!e.toDelete.length||e.clicked),t(),b(e.clicked?-1:1),t(),b(e.clicked?2:-1)}}var Ve=(()=>{class n{$activeModal=w(T);$api=w(N);$router=w(U);$toastr=w(A);$translate=w(M);clicked=!1;pairingsNonChild=[];pairingsChildActive=[];pairingsChildStale=[];toDelete=[];constructor(){}ngOnInit(){this.loadPairings()}loadPairings(){return B(this,null,function*(){try{let e=(yield I(this.$api.get("/server/pairings"))).filter(d=>!d._main).sort((d,s)=>d.name.localeCompare(s.name));this.pairingsChildActive=e.filter(d=>d._category==="bridge"&&!d._couldBeStale),this.pairingsNonChild=e.filter(d=>d._category!=="bridge"),this.pairingsChildStale=e.filter(d=>d._category==="bridge"&&d._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,d=!1){this.toDelete.some(s=>s.id===e)?this.toDelete=this.toDelete.filter(s=>s.id!==e):this.toDelete.push({id:e,resetPairingInfo:d})}isInList(e){return this.toDelete.some(d=>d.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(d){return new(d||n)};static \u0275cmp=y({type:n,selectors:[["ng-component"]],decls:17,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-circle-check","primary-text",2,"font-size","75px"],[1,"text-center","mb-0"],[1,"fas","fa-fw","fa-bridge","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mt-3","mb-0"],[1,"list-group-item"],[1,"mb-1","text-center"],[1,"mb-0","small","grey-text","text-center"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"fas","fa-fw","fa-link",3,"ngClass"],[1,"font-monospace"],[1,"btn","btn-danger","m-0","ms-3",3,"click","disabled","ngClass"],[1,"fas","fa-fw",3,"ngClass"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(d,s){d&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),o(4,"translate"),a(),i(5,"button",3),o(6,"translate"),f("click",function(){return s.$activeModal.dismiss("Dismiss")}),a()(),i(7,"div",4),v(8,lt,5,3),v(9,ut,5,3),a(),i(10,"div",5)(11,"div",6),v(12,gt,3,4,"button",7),a(),i(13,"div",8),v(14,vt,3,3,"button",9),a(),i(15,"div",10),v(16,ht,3,3,"button",11),a()()()),d&2&&(t(3),p(l(4,8,"reset.bridge_ind.title")),t(2),g("disabled",s.clicked),x("aria-label",l(6,10,"form.button_close")),t(3),b(s.pairingsChildActive.length===0&&s.pairingsChildStale.length===0&&s.pairingsNonChild.length===0?8:-1),t(),b(s.pairingsChildActive.length>0||s.pairingsChildStale.length>0||s.pairingsNonChild.length>0?9:-1),t(3),b(s.pairingsChildActive.length>0||s.pairingsChildStale.length>0||s.pairingsNonChild.length>0?12:-1),t(2),b(s.pairingsChildActive.length===0&&s.pairingsChildStale.length===0&&s.pairingsNonChild.length===0?14:-1),t(2),b(s.pairingsChildActive.length>0||s.pairingsChildStale.length>0||s.pairingsNonChild.length>0?16:-1))},dependencies:[L,j,E],encapsulation:2})}return n})();function St(n,m){if(n&1){let e=k();i(0,"li",10)(1,"span")(2,"label",17)(3,"input",18),me("ngModelChange",function(s){let h=C(e).$implicit;return ce(h.selected,s)||(h.selected=s),S(s)}),a(),i(4,"span"),r(5),a(),c(6,"span",19),a()(),i(7,"span",20),r(8),a()()}if(n&2){let e=m.$implicit;t(2),g("for","adapter"+e.iface),t(),g("id","adapter"+e.iface),pe("ngModel",e.selected),t(2),p(e.iface),t(3),p(e.ip4||e.ip6)}}var Re=(()=>{class n{$activeModal=w(T);availableNetworkAdapters=[];bridgeNetworkAdapters=[];constructor(){}submit(){this.$activeModal.close(this.availableNetworkAdapters.filter(e=>e.selected).map(e=>e.iface))}static \u0275fac=function(d){return new(d||n)};static \u0275cmp=y({type:n,selectors:[["ng-component"]],inputs:{availableNetworkAdapters:"availableNetworkAdapters",bridgeNetworkAdapters:"bridgeNetworkAdapters"},decls:35,vars:24,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-ethernet","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box"],[1,"list-group-item","d-flex","flex-row","justify-content-between"],[1,"list-group-item","d-flex","flex-row","flex-wrap","justify-content-between"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click"],[1,"hb-uix-switch","d-inline","pe-3",3,"for"],["type","checkbox",3,"ngModelChange","id","ngModel"],[1,"hb-uix-slider","hb-uix-round"],[1,"font-monospace"]],template:function(d,s){d&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),o(4,"translate"),a(),i(5,"button",3),o(6,"translate"),f("click",function(){return s.$activeModal.dismiss("Dismiss")}),a()(),i(7,"div",4)(8,"div",5),c(9,"i",6),a(),i(10,"ul",7)(11,"li"),r(12),o(13,"translate"),a()(),i(14,"ul",8)(15,"li",9)(16,"strong"),r(17),o(18,"translate"),a(),i(19,"strong"),r(20),o(21,"translate"),a()(),V(22,St,9,5,"li",10,F),a()(),i(24,"div",11)(25,"div",12)(26,"button",13),o(27,"translate"),f("click",function(){return s.$activeModal.dismiss("Dismiss")}),r(28),o(29,"translate"),a()(),c(30,"div",14),i(31,"div",15)(32,"button",16),f("click",function(){return s.submit()}),r(33),o(34,"translate"),a()()()()),d&2&&(t(3),p(l(4,8,"settings.network.title_network_interfaces")),t(2),x("aria-label",l(6,10,"form.button_close")),t(7),p(l(13,12,"settings.network.message_network_interface")),t(5),p(l(18,14,"settings.network.label_interface_name")),t(3),p(l(21,16,"settings.network.label_ip_address")),t(2),R(s.availableNetworkAdapters),t(4),x("aria-label",l(27,18,"form.button_close")),t(2),_(" ",l(29,20,"form.button_close")," "),t(5),_(" ",l(34,22,"form.button_save")," "))},dependencies:[J,G,q,K,E],encapsulation:2})}return n})();var wt=["wallpaperInput"],kt=n=>({maxFileSizeText:n});function yt(n,m){if(n&1){let e=k();i(0,"div",10),c(1,"img",20),i(2,"button",21),o(3,"translate"),f("click",function(){C(e);let s=u();return S(s.clearWallpaper())}),c(4,"i",22),a()()}if(n&2){let e=u();t(),g("src",e.wallpaperUrl,oe),t(),x("aria-label",l(3,2,"form.button_delete"))}}function Et(n,m){n&1&&c(0,"div",11)}var De=(()=>{class n{$activeModal=w(T);$api=w(N);$modal=w(Y);$settings=w(Z);$toastr=w(A);$translate=w(M);clicked=!1;maxFileSizeText=globalThis.backup.maxBackupSizeText;selectedFile;wallpaperUrl=null;originalWallpaperUrl=null;wallpaperInput;constructor(){}ngOnInit(){this.$settings.env.customWallpaperHash&&(this.wallpaperUrl=`${Be.api.base}/auth/wallpaper/${this.$settings.env.customWallpaperHash}`,this.originalWallpaperUrl=this.wallpaperUrl)}onFileChange(e){if(e.length){this.selectedFile=e[0];let d=new FileReader;d.onload=s=>{this.wallpaperUrl=s.target.result},d.readAsDataURL(this.selectedFile)}else delete this.selectedFile,this.wallpaperUrl=this.originalWallpaperUrl}saveWallpaper(){if(this.clicked=!0,this.selectedFile){let e=new FormData;e.append("wallpaper",this.selectedFile,this.selectedFile.name),this.$api.post("/server/wallpaper",e).subscribe({next:()=>{this.$activeModal.close(),this.$toastr.success(this.$translate.instant("settings.display.wallpaper_success"),this.$translate.instant("toast.title_success"))},error:d=>{console.error(d),this.$toastr.error(d.error?.message,this.$translate.instant("toast.title_error")),this.clicked=!1}})}else this.$api.delete("/server/wallpaper").subscribe({next:()=>{this.$activeModal.close()},error:e=>{console.error(e),this.$toastr.error(e.error?.message,this.$translate.instant("toast.title_error")),this.clicked=!1}})}clearWallpaper(){this.selectedFile=null,this.wallpaperUrl=this.wallpaperUrl===this.originalWallpaperUrl?null:this.originalWallpaperUrl,this.wallpaperInput.nativeElement.value=""}cancel(){this.$activeModal.dismiss()}static \u0275fac=function(d){return new(d||n)};static \u0275cmp=y({type:n,selectors:[["ng-component"]],viewQuery:function(d,s){if(d&1&&le(wt,5),d&2){let h;se(h=de())&&(s.wallpaperInput=h.first)}},decls:36,vars:28,consts:[["wallpaperInput",""],[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-image","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"mb-3","text-center"],[1,"position-relative","d-inline-block"],[1,"gradient","anim","rounded",2,"height","200px","width","350px","margin","0 auto"],[1,"mb-0"],["type","file","id","wallpaper","accept","image/*",1,"form-control",3,"change"],[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-primary",3,"click","disabled"],["alt","Current Wallpaper",1,"img-fluid","rounded","mx-auto","d-block",2,"height","200px",3,"src"],[1,"btn","btn-danger","position-absolute",2,"top","10px","right","10px",3,"click"],[1,"fas","fa-fw","fa-trash"]],template:function(d,s){if(d&1){let h=k();i(0,"div",1)(1,"div",2)(2,"h5",3),r(3),o(4,"translate"),a(),i(5,"button",4),o(6,"translate"),f("click",function(){return C(h),S(s.$activeModal.dismiss("Dismiss"))}),a()(),i(7,"div",5)(8,"div",6),c(9,"i",7),a(),i(10,"ul",8)(11,"li"),r(12),o(13,"translate"),a(),i(14,"li"),r(15),o(16,"translate"),a(),i(17,"li"),r(18),o(19,"translate"),a()(),i(20,"div",9),v(21,yt,5,4,"div",10)(22,Et,1,0,"div",11),a(),i(23,"div",12)(24,"input",13,0),f("change",function(Pe){return C(h),S(s.onFileChange(Pe.target.files))}),a()()(),i(26,"div",14)(27,"div",15)(28,"button",16),f("click",function(){return C(h),S(s.cancel())}),r(29),o(30,"translate"),a()(),c(31,"div",17),i(32,"div",18)(33,"button",19),f("click",function(){return C(h),S(s.saveWallpaper())}),r(34),o(35,"translate"),a()()()()}d&2&&(t(3),p(l(4,11,"settings.display.wallpaper")),t(2),g("disabled",s.clicked),x("aria-label",l(6,13,"form.button_close")),t(7),p(l(13,15,"settings.display.wallpaper_intro")),t(3),p(W(16,17,"settings.display.wallpaper_rule",H(26,kt,s.maxFileSizeText))),t(3),p(l(19,20,"settings.display.wallpaper_rule2")),t(3),b(s.wallpaperUrl?21:22),t(7),g("disabled",s.clicked),t(),_(" ",l(30,22,"form.button_close")," "),t(4),g("disabled",s.wallpaperUrl===s.originalWallpaperUrl||s.clicked),t(),_(" ",l(35,24,"form.button_save")," "))},dependencies:[Q,E],styles:[".anim[_ngcontent-%COMP%]{-webkit-animation:_ngcontent-%COMP%_gradient 20s ease infinite;-moz-animation:gradient 20s ease infinite;-o-animation:gradient 20s ease infinite;animation:_ngcontent-%COMP%_gradient 20s ease infinite}@keyframes _ngcontent-%COMP%_gradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}"]})}return n})();var ae=n=>({"is-invalid":n}),Bt=n=>({link:n}),It=n=>({"fa-pulse":n}),$t=(n,m)=>({"badge-danger":n,"badge-info":m});function Tt(n,m){n&1&&(i(0,"li",20)(1,"small",21),r(2),o(3,"translate"),a(),i(4,"button",22),o(5,"translate"),r(6),o(7,"translate"),a()()),n&2&&(t(2),p(l(3,3,"settings.changes.saved")),t(2),x("aria-label",l(5,5,"menu.tooltip_restart")),t(2),_(" ",l(7,7,"menu.tooltip_restart")," "))}function Mt(n,m){if(n&1){let e=k();i(0,"ul",5)(1,"li",12)(2,"span"),r(3,"Homebridge Name"),a(),i(4,"div",13),c(5,"input",14),o(6,"translate"),a()(),i(7,"li",15)(8,"span",16),r(9),o(10,"translate"),a(),i(11,"button",17),o(12,"translate"),f("click",function(){C(e);let s=u();return S(s.openUiSettings())}),c(13,"i",18),a()(),i(14,"li",15)(15,"span",16),r(16),o(17,"translate"),a(),i(18,"button",17),o(19,"translate"),f("click",function(){C(e);let s=u();return S(s.openBackupModal())}),c(20,"i",18),a()(),i(21,"li",15)(22,"span",16),r(23),o(24,"translate"),a(),i(25,"a",19),o(26,"translate"),c(27,"i",18),a()(),v(28,Tt,8,9,"li",20),a()}if(n&2){let e=u();t(5),g("formControl",e.hbNameFormControl)("ngClass",H(24,ae,e.isInvalidHbName)),x("aria-label",l(6,10,"settings.network.port_ui")),t(4),p(l(10,12,"menu.label_settings_advanced")),t(2),x("aria-label",l(12,14,"menu.label_settings_advanced")),t(5),_(" ",l(17,16,"backup.title_backup")," "),t(2),x("aria-label",l(19,18,"backup.title_backup")),t(5),_(" ",l(24,20,"menu.tooltip_user_accounts")," "),t(2),x("aria-label",l(26,22,"menu.tooltip_user_accounts")),t(3),b(e.hasChangedHbName&&!e.isInvalidHbName?28:-1)}}function At(n,m){if(n&1){let e=k();i(0,"ul",6)(1,"li",12),r(2),o(3,"translate"),i(4,"div",23)(5,"select",24),f("ngModelChange",function(s){C(e);let h=u();return S(h.saveUiSettingChange("lang",s))}),i(6,"option",25),r(7),o(8,"translate"),a(),i(9,"option",26),r(10,"Bulgarian (bg)"),a(),i(11,"option",27),r(12,"Catalan (ca)"),a(),i(13,"option",28),r(14,"Chinese - Simplified (zh-CN)"),a(),i(15,"option",29),r(16,"Chinese - Traditional (zh-TW)"),a(),i(17,"option",30),r(18,"Czech (cs)"),a(),i(19,"option",31),r(20,"Dutch (nl)"),a(),i(21,"option",32),r(22,"English (en)"),a(),i(23,"option",33),r(24,"Finnish (fi)"),a(),i(25,"option",34),r(26,"French (fr)"),a(),i(27,"option",35),r(28,"German (de)"),a(),i(29,"option",36),r(30,"Hebrew (he)"),a(),i(31,"option",37),r(32,"Hungarian (hu)"),a(),i(33,"option",38),r(34,"Indonesian (id)"),a(),i(35,"option",39),r(36,"Italian (it)"),a(),i(37,"option",40),r(38,"Japanese (ja)"),a(),i(39,"option",41),r(40,"Korean (ko)"),a(),i(41,"option",42),r(42,"Macedonian (mk)"),a(),i(43,"option",43),r(44,"Norwegian (no)"),a(),i(45,"option",44),r(46,"Polish (pl)"),a(),i(47,"option",45),r(48,"Portuguese (Brazil)"),a(),i(49,"option",46),r(50,"Portuguese (Portugal)"),a(),i(51,"option",47),r(52,"Russian (ru)"),a(),i(53,"option",48),r(54,"Slovenian (sl)"),a(),i(55,"option",49),r(56,"Spanish (es)"),a(),i(57,"option",50),r(58,"Swedish (sv)"),a(),i(59,"option",51),r(60,"Thai (th)"),a(),i(61,"option",52),r(62,"Turkish (tr)"),a(),i(63,"option",53),r(64,"Ukrainian (uk)"),a()()()(),i(65,"li",12),r(66),o(67,"translate"),i(68,"div",23)(69,"select",24),f("ngModelChange",function(s){C(e);let h=u();return S(h.saveUiSettingChange("theme",s))}),i(70,"option",54),r(71),o(72,"translate"),a(),i(73,"option",55),r(74),o(75,"translate"),a(),i(76,"option",56),r(77),o(78,"translate"),a(),i(79,"option",57),r(80),o(81,"translate"),a(),i(82,"option",58),r(83),o(84,"translate"),a(),i(85,"option",59),r(86),o(87,"translate"),a(),i(88,"option",60),r(89),o(90,"translate"),a(),i(91,"option",61),r(92),o(93,"translate"),a(),i(94,"option",62),r(95),o(96,"translate"),a(),i(97,"option",63),r(98),o(99,"translate"),a(),i(100,"option",64),r(101),o(102,"translate"),a(),i(103,"option",65),r(104),o(105,"translate"),a(),i(106,"option",66),r(107),o(108,"translate"),a()()()(),i(109,"li",12),r(110),o(111,"translate"),i(112,"div",23)(113,"select",24),f("ngModelChange",function(s){C(e);let h=u();return S(h.saveUiSettingChange("lightingMode",s))}),i(114,"option",25),r(115),o(116,"translate"),a(),i(117,"option",67),r(118),o(119,"translate"),a(),i(120,"option",68),r(121),o(122,"translate"),a()()()(),i(123,"li",12),r(124),o(125,"translate"),i(126,"div",23)(127,"select",24),f("ngModelChange",function(s){C(e);let h=u();return S(h.saveUiSettingChange("menuMode",s))}),i(128,"option",69),r(129),o(130,"translate"),a(),i(131,"option",70),r(132),o(133,"translate"),a()()()(),i(134,"li",12),r(135),o(136,"translate"),i(137,"div",23)(138,"select",24),f("ngModelChange",function(s){C(e);let h=u();return S(h.saveUiSettingChange("tempUnits",s))}),i(139,"option",71),r(140),o(141,"translate"),a(),i(142,"option",72),r(143),o(144,"translate"),a()()()(),i(145,"li",15)(146,"span",16),r(147),o(148,"translate"),a(),i(149,"button",17),o(150,"translate"),f("click",function(){C(e);let s=u();return S(s.openWallpaperModal())}),c(151,"i",18),a()()()}if(n&2){let e=u();t(2),_(" ",l(3,33,"settings.display.lang")," "),t(3),g("ngModel",e.$settings.env.lang),t(2),p(l(8,35,"form.select.auto")),t(59),_(" ",l(67,37,"settings.display.theme")," "),t(3),g("ngModel",e.$settings.theme),t(2),p(l(72,39,"settings.display.orange")),t(3),p(l(75,41,"settings.display.red")),t(3),p(l(78,43,"settings.display.pink")),t(3),p(l(81,45,"settings.display.purple")),t(3),p(l(84,47,"settings.display.deep_purple")),t(3),p(l(87,49,"settings.display.indigo")),t(3),p(l(90,51,"settings.display.blue")),t(3),p(l(93,53,"settings.display.bluegrey")),t(3),p(l(96,55,"settings.display.cyan")),t(3),p(l(99,57,"settings.display.green")),t(3),p(l(102,59,"settings.display.teal")),t(3),p(l(105,61,"settings.display.grey")),t(3),p(l(108,63,"settings.display.brown")),t(3),_(" ",l(111,65,"settings.display.lighting_mode")," "),t(3),g("ngModel",e.$settings.lightingMode),t(2),p(l(116,67,"form.select.auto")),t(3),p(l(119,69,"settings.display.light")),t(3),p(l(122,71,"settings.display.dark")),t(3),_(" ",l(125,73,"settings.display.menu_mode")," "),t(3),g("ngModel",e.$settings.menuMode),t(2),p(l(130,75,"settings.display.menu_default")),t(3),p(l(133,77,"settings.display.menu_freeze")),t(3),_(" ",l(136,79,"settings.display.temp_units")," "),t(3),g("ngModel",e.$settings.env.temperatureUnits),t(2),p(l(141,81,"settings.display.temp_units.c")),t(3),p(l(144,83,"settings.display.temp_units.f")),t(4),p(l(148,85,"settings.display.wallpaper")),t(2),x("aria-label",l(150,87,"settings.display.wallpaper"))}}function Nt(n,m){if(n&1&&(i(0,"li",15)(1,"span"),r(2),o(3,"translate"),i(4,"code"),r(5,"-D"),a(),c(6,"br"),i(7,"small",74),r(8),o(9,"translate"),a()(),c(10,"input",75),o(11,"translate"),c(12,"label",76),a()),n&2){let e=u(3);t(2),_(" ",l(3,3,"settings.startup.debug")," "),t(6),_(" ",l(9,5,e.isHbV2?"settings.startup.debug_desc_v2":"settings.startup.debug_desc_v1")," "),t(2),x("aria-label",l(11,7,"settings.startup.debug"))}}function Ft(n,m){n&1&&(i(0,"li",15)(1,"span"),r(2),o(3,"translate"),i(4,"code"),r(5,"-I"),a(),c(6,"br"),i(7,"small",74),r(8),o(9,"translate"),a()(),c(10,"input",77),o(11,"translate"),c(12,"label",78),a()),n&2&&(t(2),_(" ",l(3,3,"settings.startup.insecure")," "),t(6),p(l(9,5,"settings.startup.insecure_desc")),t(2),x("aria-label",l(11,7,"settings.startup.insecure")))}function Vt(n,m){n&1&&(i(0,"li",15)(1,"span"),r(2),o(3,"translate"),i(4,"code"),r(5,"-K"),a(),c(6,"br"),i(7,"small",74),r(8),o(9,"translate"),a()(),c(10,"input",79),o(11,"translate"),c(12,"label",80),a()),n&2&&(t(2),_(" ",l(3,3,"settings.startup.keep_accessories")," "),t(6),p(l(9,5,"settings.startup.keep_accessories_desc")),t(2),x("aria-label",l(11,7,"settings.startup.keep_accessories")))}function Rt(n,m){if(n&1&&(i(0,"li",12)(1,"span")(2,"span",81),r(3,"DEBUG"),a(),c(4,"br")(5,"small",82),o(6,"translate"),a(),i(7,"div",23),c(8,"input",83),a()()),n&2){let e=u(3);t(5),g("innerHTML",W(6,1,"settings.service.debug_tooltip",H(4,Bt,e.linkDebug)),re)}}function Dt(n,m){n&1&&(i(0,"li",12)(1,"span")(2,"span",81),r(3,"NODE_OPTIONS"),a(),c(4,"br"),i(5,"small",74),r(6),o(7,"translate"),a()(),i(8,"div",23),c(9,"input",84),a()()),n&2&&(t(6),p(l(7,1,"settings.service.node_tooltip")))}function Pt(n,m){n&1&&(i(0,"li",15)(1,"span"),r(2),o(3,"translate"),c(4,"br"),i(5,"small",74),r(6),o(7,"translate"),a()(),i(8,"a",85),o(9,"translate"),c(10,"i",18),a()()),n&2&&(t(2),_(" ",l(3,3,"menu.docker.startup_script")),t(4),p(l(7,5,"platform.docker.script_help")),t(2),x("aria-label",l(9,7,"menu.docker.startup_script")))}function Ht(n,m){n&1&&(i(0,"li",20)(1,"small",21),r(2),o(3,"translate"),a(),i(4,"button",22),o(5,"translate"),r(6),o(7,"translate"),a()()),n&2&&(t(2),p(l(3,3,"settings.changes.saved")),t(2),x("aria-label",l(5,5,"menu.tooltip_restart")),t(2),_(" ",l(7,7,"menu.tooltip_restart")," "))}function Ut(n,m){if(n&1&&(i(0,"ul",73),v(1,Nt,13,9,"li",15),v(2,Ft,13,9,"li",15),v(3,Vt,13,9,"li",15),v(4,Rt,9,6,"li",12),v(5,Dt,10,3,"li",12),v(6,Pt,11,9,"li",15),v(7,Ht,8,9,"li",20),a()),n&2){let e=u(2);t(),b(e.$settings.env.serviceMode?1:-1),t(),b(e.$settings.env.serviceMode?2:-1),t(),b(e.$settings.env.serviceMode?3:-1),t(),b(e.$settings.env.serviceMode?4:-1),t(),b(e.$settings.env.serviceMode?5:-1),t(),b(e.$settings.env.runningInDocker?6:-1),t(),b(e.hasChangedService?7:-1)}}function Ot(n,m){if(n&1){let e=k();i(0,"form",7)(1,"div",2),f("click",function(){C(e);let s=u();return S(s.toggleSection("startup"))}),i(2,"h5",3),c(3,"i",4),r(4),o(5,"translate"),a()(),v(6,Ut,8,7,"ul",73),a()}if(n&2){let e=u();g("formGroup",e.serviceForm),t(),x("aria-expanded",e.showFields.startup?"true":"false")("aria-controls","fieldsStartup"),t(2),g("ngClass",e.showFields.startup?"fa-chevron-down":"fa-chevron-right"),t(),_(" ",l(5,6,"settings.title_startup_options")," "),t(2),b(e.showFields.startup?6:-1)}}function Lt(n,m){n&1&&c(0,"i",97)}function zt(n,m){if(n&1&&(i(0,"span",87),v(1,Lt,1,0,"i",97),r(2),i(3,"span",98),r(4),o(5,"translate"),a()()),n&2){let e=m.$implicit;g("ngClass",$(6,$t,e.missing,!e.missing)),t(),b(e.missing?1:-1),t(),_(" ",e.iface,": "),t(2),p(e.missing?l(5,4,"settings.mdns_advertiser_not_connected"):e.ip4||e.ip6)}}function Wt(n,m){n&1&&(i(0,"option",91),r(1),o(2,"translate"),a()),n&2&&(t(),_("Avahi (",l(2,1,"settings.mdns_advertiser_rec"),")"))}function jt(n,m){n&1&&(i(0,"option",94),r(1),o(2,"translate"),a()),n&2&&(t(),_("systemd-resolved (",l(2,1,"settings.mdns_advertiser_exp"),")"))}function Gt(n,m){n&1&&(i(0,"li",20)(1,"small",21),r(2),o(3,"translate"),a(),i(4,"button",22),o(5,"translate"),r(6),o(7,"translate"),a()()),n&2&&(t(2),p(l(3,3,"settings.changes.saved")),t(2),x("aria-label",l(5,5,"menu.tooltip_restart")),t(2),_(" ",l(7,7,"menu.tooltip_restart")," "))}function qt(n,m){if(n&1){let e=k();i(0,"ul",8)(1,"li",15)(2,"span",16),r(3),o(4,"translate"),c(5,"br"),i(6,"div",86),r(7),o(8,"translate"),a(),V(9,zt,6,9,"span",87,F),a(),i(11,"button",88),o(12,"translate"),f("click",function(){C(e);let s=u();return S(s.selectNetworkInterfaces())}),c(13,"i",89),a()(),i(14,"li",12)(15,"span"),r(16),o(17,"translate"),c(18,"br"),i(19,"small",74),r(20),o(21,"translate"),a()(),i(22,"div",23)(23,"select",90),o(24,"translate"),v(25,Wt,3,3,"option",91),i(26,"option",92),r(27),o(28,"translate"),a(),i(29,"option",93),r(30,"Bonjour HAP"),a(),v(31,jt,3,3,"option",94),a()()(),i(32,"li",12)(33,"span"),r(34),o(35,"translate"),c(36,"br"),i(37,"small",74),r(38),o(39,"translate"),a()(),i(40,"div",23),c(41,"input",95),o(42,"translate"),a()(),i(43,"li",12)(44,"span"),r(45),o(46,"translate"),c(47,"br"),i(48,"small",74),r(49),o(50,"translate"),a()(),i(51,"div",23),c(52,"input",96),o(53,"translate"),a()(),v(54,Gt,8,9,"li",20),a()}if(n&2){let e=u();t(3),_(" ",l(4,22,"settings.network.title_network_interfaces")),t(4),p(l(8,24,"settings.network.message_network_interface")),t(2),R(e.bridgeNetworkAdapters),t(2),g("disabled",!e.availableNetworkAdapters.length),x("aria-label",l(12,26,"settings.network.title_network_interfaces")),t(2),g("ngClass",H(48,It,!e.availableNetworkAdapters.length)),t(3),_(" ",l(17,28,"settings.mdns_advertiser")),t(4),p(l(21,30,"settings.mdns_advertiser_help")),t(3),g("formControl",e.legacyMdnsFormControl),x("aria-label",l(24,32,"settings.mdns_advertiser")),t(2),b(e.showAvahiMdnsOption?25:-1),t(2),_(" Ciao ",e.showAvahiMdnsOption?"":"("+l(28,34,"settings.mdns_advertiser_rec")+")"," "),t(4),b(e.showResolvedMdnsOption?31:-1),t(3),_(" ",l(35,36,"settings.network.port_hb")),t(4),p(l(39,38,"settings.network.port_hb_desc")),t(3),g("formControl",e.hbPortFormControl)("ngClass",H(50,ae,e.isInvalidHbPort)),x("aria-label",l(42,40,"settings.network.port_ui")),t(4),_(" ",l(46,42,"settings.network.port_ui")),t(4),p(l(50,44,"settings.network.port_ui_desc")),t(3),g("ngClass",H(52,ae,e.isInvalidHbUiPort)),x("aria-label",l(53,46,"settings.network.port_ui")),t(2),b(e.hasChangedHbPort&&!e.isInvalidHbPort||e.hasChangedUiSettings||e.hasChangedMdns||e.hasChangedBridgeNetworkAdapters?54:-1)}}function Kt(n,m){n&1&&(i(0,"p",9),r(1),o(2,"translate"),a()),n&2&&(t(),p(l(2,1,"settings.cache.desc")))}function Jt(n,m){if(n&1){let e=k();i(0,"ul",99)(1,"li",15)(2,"span",16),r(3),o(4,"translate"),c(5,"br"),i(6,"small",74),r(7),o(8,"translate"),a()(),i(9,"button",17),o(10,"translate"),f("click",function(){C(e);let s=u(2);return S(s.removeSingleCachedAccessories())}),c(11,"i",18),a()(),i(12,"li",15)(13,"span",16),r(14),o(15,"translate"),c(16,"br"),i(17,"small",74),r(18),o(19,"translate"),a()(),i(20,"button",17),o(21,"translate"),f("click",function(){C(e);let s=u(2);return S(s.removeBridgeAccessories())}),c(22,"i",18),a()(),i(23,"li",15)(24,"span",16),r(25),o(26,"translate"),c(27,"br"),i(28,"small",74),r(29),o(30,"translate"),a()(),i(31,"button",17),o(32,"translate"),f("click",function(){C(e);let s=u(2);return S(s.removeAllCachedAccessories())}),c(33,"i",18),a()()()}n&2&&(t(3),_(" ",l(4,9,"reset.accessory_ind.title")),t(4),p(l(8,11,"reset.accessory_ind.desc")),t(2),x("aria-label",l(10,13,"reset.accessory_ind.title")),t(5),_(" ",l(15,15,"reset.bridge_accessories.title")),t(4),p(l(19,17,"reset.bridge_accessories.desc")),t(2),x("aria-label",l(21,19,"reset.accessory_all.title")),t(5),_(" ",l(26,21,"reset.accessory_all.title")),t(4),p(l(30,23,"reset.accessory_all.desc")),t(2),x("aria-label",l(32,25,"reset.accessory_all.title")))}function Qt(n,m){if(n&1){let e=k();i(0,"div",1)(1,"div",2),f("click",function(){C(e);let s=u();return S(s.toggleSection("cache"))}),i(2,"h5",3),c(3,"i",4),r(4),o(5,"translate"),a()(),v(6,Kt,3,3,"p",9),v(7,Jt,34,27,"ul",99),a()}if(n&2){let e=u();t(),x("aria-expanded",e.showFields.cache?"true":"false")("aria-controls","fieldsCache"),t(2),g("ngClass",e.showFields.cache?"fa-chevron-down":"fa-chevron-right"),t(),_(" ",l(5,6,"settings.cache.title")," "),t(2),b(e.showFields.cache?6:-1),t(),b(e.showFields.cache?7:-1)}}function Xt(n,m){n&1&&(i(0,"p",9),r(1),o(2,"translate"),a()),n&2&&(t(),p(l(2,1,"reset.bridges.desc")))}function Yt(n,m){if(n&1){let e=k();i(0,"li",15)(1,"span",16),r(2),o(3,"translate"),c(4,"br"),i(5,"small",74),r(6),o(7,"translate"),a()(),i(8,"button",17),o(9,"translate"),f("click",function(){C(e);let s=u(2);return S(s.unpairAccessory())}),c(10,"i",18),a()()}n&2&&(t(2),_(" ",l(3,3,"reset.bridge_ind.title")),t(4),p(l(7,5,"reset.bridge_ind.desc")),t(2),x("aria-label",l(9,7,"reset.bridge_ind.title")))}function Zt(n,m){if(n&1){let e=k();i(0,"ul",10),v(1,Yt,11,9,"li",15),i(2,"li",15)(3,"span",16),r(4),o(5,"translate"),o(6,"titlecase"),c(7,"br"),i(8,"small",74),r(9),o(10,"translate"),a()(),i(11,"button",17),o(12,"translate"),f("click",function(){C(e);let s=u();return S(s.resetHomebridgeState())}),c(13,"i",18),a()()()}if(n&2){let e=u();t(),b(e.$settings.env.serviceMode?1:-1),t(3),_(" ",l(6,6,l(5,4,"reset.bridge_all.title"))),t(5),p(l(10,8,"reset.bridge_all.desc")),t(2),x("aria-label",l(12,10,"reset.bridge_all.title"))}}var En=(()=>{class n{$api=w(N);$modal=w(Y);$plugin=w(Te);$settings=w(Z);$toastr=w(A);$translate=w(M);originalServiceForm={HOMEBRIDGE_DEBUG:!1,HOMEBRIDGE_KEEP_ORPHANS:!1,HOMEBRIDGE_INSECURE:!0,ENV_DEBUG:"",ENV_NODE_OPTIONS:""};originalUiSettingsForm={port:0};originalMdnsSetting="";originalBridgeNetworkAdapters=[];originalHbPort=0;originalHbName="";hasChangedService=!1;hasChangedUiSettings=!1;hasChangedMdns=!1;hasChangedBridgeNetworkAdapters=!1;hasChangedHbPort=!1;hasChangedHbName=!1;isInvalidHbPort=!1;isInvalidHbName=!1;isInvalidHbUiPort=!1;serviceForm=new te({HOMEBRIDGE_DEBUG:new P(!1),HOMEBRIDGE_KEEP_ORPHANS:new P(!1),HOMEBRIDGE_INSECURE:new P(!0),ENV_DEBUG:new P(""),ENV_NODE_OPTIONS:new P("")});uiSettingsForm=new te({port:new P(0)});legacyMdnsFormControl=new ge(!1);showAvahiMdnsOption=!1;showResolvedMdnsOption=!1;availableNetworkAdapters=[];bridgeNetworkAdapters=[];hbPortFormControl=new P(0);hbNameFormControl=new P("");isHbV2=!1;showFields={general:!0,display:!0,startup:!0,network:!0,reset:!0,cache:!0};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.initNetworkingOptions(),this.$settings.env.serviceMode&&this.initServiceModeForm()}initUiSettingsForm(){this.originalUiSettingsForm={port:this.$settings.env.port},this.uiSettingsForm.patchValue({port:this.$settings.env.port}),this.uiSettingsForm.valueChanges.pipe(ee(500)).subscribe(e=>{let d=!1;Object.keys(e).forEach(s=>{this.originalUiSettingsForm[s]!==e[s]&&(this.saveUiSettingChange(s,e[s]),d=!0)}),this.hasChangedUiSettings=d})}initServiceModeForm(){this.$api.get("/platform-tools/hb-service/homebridge-startup-settings").subscribe({next:e=>{Object.keys(e).forEach(d=>{this.originalServiceForm[d]=e[d]}),this.serviceForm.patchValue(e),this.serviceForm.valueChanges.pipe(ee(500)).subscribe(this.saveServiceModeSettings.bind(this))},error:e=>{console.error(e),this.$toastr.error(e.message,this.$translate.instant("toast.title_error"))}})}saveUiSettingChange(e,d){switch(e){case"lang":this.$settings.setLang(d);break;case"lightingMode":this.$settings.setLightingMode(d,"user");break;case"menuMode":this.$settings.setMenuMode(d),window.location.reload();break;case"theme":this.$settings.setTheme(d);break;case"tempUnits":this.$settings.setEnvItem("temperatureUnits",d);break;case"port":if(!d||typeof d!="number"||d<1025||d>65533||Number.isInteger(d)===!1||d===this.hbPortFormControl.value){this.isInvalidHbUiPort=!0;return}this.$settings.setEnvItem("port",d),this.isInvalidHbUiPort=!1;break}I(this.$api.put("/config-editor/ui",{key:e,value:d})).catch(s=>{console.error(s),this.$toastr.error(s.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(Ie,{size:"lg",backdrop:"static"})}openWallpaperModal(){this.$modal.open(De,{size:"lg",backdrop:"static"})}saveServiceModeSettings(e=this.serviceForm.value){this.$api.put("/platform-tools/hb-service/homebridge-startup-settings",e).subscribe({next:()=>{this.hasChangedService=JSON.stringify(e)!==JSON.stringify(this.originalServiceForm)},error:d=>{console.error(d),this.$toastr.error(d.message,this.$tra