homebridge-config-ui-x 5.0.0-beta.81 → 5.0.0-beta.82
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.
- package/CHANGELOG.md +1 -0
- package/config.schema.json +0 -10
- package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js +2 -4
- package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js.map +1 -1
- package/package.json +8 -8
- package/public/chunk-2KJXJ74I.js +1 -0
- package/public/{chunk-SKS24AVF.js → chunk-2LO7J6CX.js} +1 -1
- package/public/{chunk-7Z74FGCO.js → chunk-2MLDRIHX.js} +1 -1
- package/public/{chunk-ZOK6NY4K.js → chunk-2NHVZMJQ.js} +1 -1
- package/public/{chunk-RKG5F4ZV.js → chunk-2W7OCLWM.js} +1 -1
- package/public/{chunk-HI45ZEZU.js → chunk-3AGNIOAT.js} +1 -1
- package/public/chunk-3KIEHKCO.js +1 -0
- package/public/{chunk-6US6MXBM.js → chunk-3XNLIEKF.js} +1 -1
- package/public/{chunk-TP425OA6.js → chunk-4O7NT7TT.js} +1 -1
- package/public/{chunk-FD54JRNF.js → chunk-4ZQRBYN2.js} +1 -1
- package/public/{chunk-PL6ZMRTL.js → chunk-56MP3THJ.js} +1 -1
- package/public/chunk-5EJRIKNA.js +1 -0
- package/public/{chunk-LEMXCMWD.js → chunk-6M524CF7.js} +1 -1
- package/public/{chunk-ZA436JJP.js → chunk-6SEBWKRM.js} +1 -1
- package/public/chunk-6VAASZ56.js +1 -0
- package/public/{chunk-RMMQMQZX.js → chunk-77GWB2NW.js} +1 -1
- package/public/{chunk-ZVGCGGDU.js → chunk-7JAZ6YZU.js} +1 -1
- package/public/chunk-AISLE7IL.js +1 -0
- package/public/{chunk-Y5I5EFKZ.js → chunk-AJ6GJNTJ.js} +1 -1
- package/public/{chunk-2O6AXIBR.js → chunk-AYCZAF2F.js} +1 -1
- package/public/{chunk-XYRZUWP2.js → chunk-AYVEU54B.js} +1 -1
- package/public/chunk-BHHXAFK7.js +1 -0
- package/public/{chunk-UHT54HTE.js → chunk-CS263YZK.js} +1 -1
- package/public/{chunk-I7XHOSDH.js → chunk-DBUE6L4G.js} +1 -1
- package/public/{chunk-D6GDUL63.js → chunk-DTM2LDC2.js} +1 -1
- package/public/chunk-ES4OXUT3.js +1 -0
- package/public/{chunk-2HBIS5KD.js → chunk-FTRT5VYG.js} +1 -1
- package/public/chunk-G6CYPNCE.js +1 -0
- package/public/chunk-GEPGUWJ5.js +1 -0
- package/public/{chunk-QAQ62ONT.js → chunk-GVYGDSJA.js} +1 -1
- package/public/{chunk-VXLVIRES.js → chunk-GW2GAOYI.js} +1 -1
- package/public/{chunk-FQEUOMOT.js → chunk-HHPGR3HF.js} +1 -1
- package/public/chunk-HJNTSAJC.js +1 -0
- package/public/chunk-HSL7FKQV.js +1 -0
- package/public/{chunk-GN7IXG4L.js → chunk-J6ICAYDY.js} +1 -1
- package/public/{chunk-2UZO6OQ7.js → chunk-JHVESBMV.js} +1 -1
- package/public/chunk-JMXERD5H.js +1 -0
- package/public/{chunk-7VVMNL54.js → chunk-JRQEWFL4.js} +1 -1
- package/public/{chunk-MZFFFGFF.js → chunk-KNJE27OR.js} +1 -1
- package/public/{chunk-4SITUFK3.js → chunk-KPKQNEWS.js} +1 -1
- package/public/{chunk-VUTUDBG5.js → chunk-KQMFBKIW.js} +1 -1
- package/public/chunk-L6IN767M.js +1 -0
- package/public/{chunk-W3624K3I.js → chunk-LZMYOUER.js} +1 -1
- package/public/{chunk-YDBOT4OU.js → chunk-M3BGMVK2.js} +1 -1
- package/public/{chunk-RQA2H3J6.js → chunk-MMYB2ZMV.js} +1 -1
- package/public/chunk-NJZOZVFU.js +1 -0
- package/public/{chunk-SKVHW32E.js → chunk-OHFVMRCL.js} +1 -1
- package/public/chunk-OKVWPTSO.js +1 -0
- package/public/chunk-OL34S5CT.js +1 -0
- package/public/{chunk-TIXTDDTD.js → chunk-P5DRV4DP.js} +1 -1
- package/public/{chunk-P6HYOLET.js → chunk-POM4LPCT.js} +1 -1
- package/public/chunk-Q4HCUSRK.js +1 -0
- package/public/chunk-QFIY3HAF.js +1 -0
- package/public/{chunk-4UM5QHY6.js → chunk-QQJKCAO7.js} +1 -1
- package/public/chunk-QSPBB6EE.js +7 -0
- package/public/{chunk-2SEP7Q76.js → chunk-QY7HUYL5.js} +1 -1
- package/public/{chunk-USOUWLNH.js → chunk-R3JWGCC5.js} +1 -1
- package/public/{chunk-S2XBNDS5.js → chunk-R7CJRGFF.js} +1 -1
- package/public/{chunk-GJL2B6EX.js → chunk-RNPMAIOX.js} +1 -1
- package/public/chunk-RR4IIKTX.js +1 -0
- package/public/chunk-RYHLTQYO.js +1 -0
- package/public/{chunk-EON6XHIW.js → chunk-S5CDKXVB.js} +1 -1
- package/public/{chunk-WCO7YV6E.js → chunk-SWUFN3VA.js} +1 -1
- package/public/{chunk-MVL5EQPC.js → chunk-SYX6K3UY.js} +1 -1
- package/public/{chunk-MXAKDDIW.js → chunk-TGIB4ZX6.js} +1 -1
- package/public/{chunk-EGECSH4K.js → chunk-TIE2WSHM.js} +1 -1
- package/public/chunk-TOQT2KGE.js +1 -0
- package/public/{chunk-IH7IL35X.js → chunk-TSKDSTFW.js} +1 -1
- package/public/{chunk-A7263J2F.js → chunk-UJITN276.js} +1 -1
- package/public/{chunk-BI2JONL7.js → chunk-UX7BMYXK.js} +1 -1
- package/public/chunk-VLIUAQTO.js +1 -0
- package/public/chunk-WC5Z3OBC.js +1 -0
- package/public/chunk-WFQGQTIW.js +1 -0
- package/public/chunk-WIKRRVSH.js +1 -0
- package/public/chunk-WKP4F5BC.js +1 -0
- package/public/{chunk-57WSQ6T6.js → chunk-WO4SU6FR.js} +1 -1
- package/public/chunk-WYPDRGD5.js +1 -0
- package/public/chunk-XJ6UUWBR.js +1 -0
- package/public/{chunk-BVWBB74Y.js → chunk-XJY7A24W.js} +1 -1
- package/public/{chunk-Y4XTCS5Q.js → chunk-Y2AESYEL.js} +2 -14
- package/public/{chunk-ADC7QO6N.js → chunk-ZCCLGLMW.js} +1 -1
- package/public/{chunk-3RCQ6L4J.js → chunk-ZHSEY5LO.js} +1 -1
- package/public/index.html +1 -1
- package/public/main-YALAPFYL.js +1 -0
- package/public/chunk-2BYFJJKD.js +0 -1
- package/public/chunk-62DAT7AX.js +0 -1
- package/public/chunk-67A3U7JY.js +0 -1
- package/public/chunk-7ZNHDMCE.js +0 -1
- package/public/chunk-AU74FUFM.js +0 -1
- package/public/chunk-CIDCYWQD.js +0 -1
- package/public/chunk-COJPC76A.js +0 -1
- package/public/chunk-F2CIREEO.js +0 -1
- package/public/chunk-F75NHZPV.js +0 -1
- package/public/chunk-HWJ734TY.js +0 -1
- package/public/chunk-I5VNJY5H.js +0 -1
- package/public/chunk-JIT72ITX.js +0 -1
- package/public/chunk-LBGUEPBU.js +0 -1
- package/public/chunk-LIG3MQU2.js +0 -1
- package/public/chunk-MCY32ZEQ.js +0 -1
- package/public/chunk-OZ3D5PEN.js +0 -1
- package/public/chunk-PAZ5V5TQ.js +0 -7
- package/public/chunk-PDQGIGL6.js +0 -1
- package/public/chunk-PGJGS3YA.js +0 -1
- package/public/chunk-QHRWSZEW.js +0 -1
- package/public/chunk-QOVSP2KD.js +0 -1
- package/public/chunk-QT6YV32Y.js +0 -1
- package/public/chunk-TRIO3R5X.js +0 -1
- package/public/chunk-UBLIT2K3.js +0 -1
- package/public/chunk-UNO5SD4B.js +0 -1
- package/public/chunk-VL2VV7JU.js +0 -1
- package/public/chunk-VQEPN6H2.js +0 -1
- package/public/chunk-VUKQDY5X.js +0 -1
- package/public/chunk-YHXSTLHD.js +0 -1
- package/public/main-N277YXB2.js +0 -1
- /package/public/{polyfills-4F4B5XMZ.js → polyfills-GCAZ7JAV.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as Ie}from"./chunk-YHXSTLHD.js";import{a as $e}from"./chunk-ZVGCGGDU.js";import{w as Te}from"./chunk-Y4XTCS5Q.js";import{g as X,m as T,n as Y}from"./chunk-SKVHW32E.js";import{A as Q,b as G,c as ue,e as q,f as _e,g as te,j as P,k as ge,l as K,m as be,n as ve,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-RQA2H3J6.js";import{d as U,e as Ee}from"./chunk-2SEP7Q76.js";import{b as Z}from"./chunk-7ZNHDMCE.js";import{h as N,j as Be,k as M}from"./chunk-7Z74FGCO.js";import{a as A,b as E}from"./chunk-4SITUFK3.js";import{$a as t,Ac as o,Bc as s,Cc as W,Gb as x,Hb as v,Ib as f,Kb as F,Lb as V,M as ee,Mb as R,Nb as _,Ob as i,Pb as n,Qb as c,Ub as k,Xa as re,Xb as b,Ya as le,Yb as g,ac as oe,bc as se,bd as L,cc as de,gd as j,h as B,jc as r,kc as p,la as C,lb as y,lc as u,qc as pe,ra as S,rc as ce,sa as w,sc as me,w as I,wc as H,xc as $,yc as O}from"./chunk-PAZ5V5TQ.js";function He(a,m){a&1&&(i(0,"div",12),c(1,"i",13),n(),i(2,"p",14),r(3),o(4,"translate"),n()),a&2&&(t(3),p(s(4,1,"reset.no_accessories")))}function Ue(a,m){a&1&&(i(0,"div",12),c(1,"i",15),n(),i(2,"ul",16)(3,"li"),r(4),o(5,"translate"),n(),i(6,"li"),r(7),o(8,"translate"),n(),i(9,"li"),r(10),o(11,"translate"),n()(),i(12,"ngb-alert",17)(13,"p",18),r(14),o(15,"translate"),n()()),a&2&&(t(4),p(s(5,5,"reset.accessory_all.list_1")),t(3),p(s(8,7,"reset.accessory_all.list_2")),t(3),p(s(11,9,"reset.accessory_all.list_3")),t(2),_("dismissible",!1),t(2),p(s(15,11,"reset.action_is_irreversible")))}function Oe(a,m){if(a&1){let e=k();i(0,"button",19),o(1,"translate"),b("click",function(){S(e);let l=g();return w(l.$activeModal.dismiss("Dismiss"))}),r(2),o(3,"translate"),n()}if(a&2){let e=g();_("disabled",e.clicked),x("aria-label",s(1,3,"form.button_close")),t(2),u(" ",s(3,5,"form.button_close")," ")}}function Le(a,m){if(a&1){let e=k();i(0,"button",20),o(1,"translate"),b("click",function(){S(e);let l=g();return w(l.$activeModal.dismiss("Dismiss"))}),r(2),o(3,"translate"),n()}a&2&&(x("aria-label",s(1,2,"form.button_close")),t(2),u(" ",s(3,4,"form.button_close")," "))}function ze(a,m){a&1&&(r(0),o(1,"translate")),a&2&&u(" ",s(1,1,"form.button_remove")," ")}function We(a,m){a&1&&c(0,"i",22)}function je(a,m){if(a&1){let e=k();i(0,"button",21),b("click",function(){S(e);let l=g();return w(l.onResetCachedAccessoriesClick())}),v(1,ze,2,3),v(2,We,1,0,"i",22),n()}if(a&2){let e=g();_("disabled",e.clicked),t(),f(e.clicked?-1:1),t(),f(e.clicked?2:-1)}}var Ae=(()=>{class a{$activeModal=C(T);$api=C(M);$router=C(U);$toastr=C(N);$translate=C(A);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||a)};static \u0275cmp=y({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(d,l){d&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),o(4,"translate"),n(),i(5,"button",3),o(6,"translate"),b("click",function(){return l.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4),v(8,He,5,3),v(9,Ue,16,13),n(),i(10,"div",5)(11,"div",6),v(12,Oe,4,7,"button",7),n(),i(13,"div",8),v(14,Le,4,6,"button",9),n(),i(15,"div",10),v(16,je,3,3,"button",11),n()()()),d&2&&(t(3),p(s(4,8,"reset.accessory_all.title")),t(2),_("disabled",l.clicked),x("aria-label",s(6,10,"form.button_close")),t(3),f(l.cachedAccessories.length===0?8:-1),t(),f(l.cachedAccessories.length>0?9:-1),t(3),f(l.cachedAccessories.length>0?12:-1),t(2),f(l.cachedAccessories.length===0?14:-1),t(2),f(l.cachedAccessories.length>0?16:-1))},dependencies:[X,E],encapsulation:2})}return a})();var Ge=(a,m)=>({"green-text":a,"grey-text":m}),qe=(a,m)=>({"btn-danger":a,"btn-elegant":m}),Ke=(a,m,e)=>({"fa-broom":a,"fa-undo":m,"fa-spinner fa-pulse":e});function Je(a,m){a&1&&(i(0,"div",12),c(1,"i",13),n(),i(2,"p",14),r(3),o(4,"translate"),n()),a&2&&(t(3),p(s(4,1,"reset.bridge_accessories.empty")))}function Qe(a,m){if(a&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),n()()(),i(10,"button",22),o(11,"translate"),b("click",function(){let l=S(e).$implicit,h=g(2);return w(h.toggleList(l._id))}),c(12,"i",23),n()()}if(a&2){let e=m.$implicit,d=g(2);t(2),u(" ",e.name," "),t(3),_("ngClass",$(12,Ge,e._isPaired,!e._isPaired)),t(),u(" ",s(7,8,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),p(e._username),t(),_("disabled",d.clicked)("ngClass",$(15,qe,!d.toDelete.includes(e._id),d.toDelete.includes(e._id))),x("aria-label",s(11,10,"form.button_delete")),t(2),_("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(a,m){if(a&1&&(i(0,"div",12),c(1,"i",15),n(),i(2,"ul",16)(3,"li"),r(4),o(5,"translate"),n(),i(6,"li"),r(7),o(8,"translate"),n(),i(9,"li"),r(10),o(11,"translate"),n()(),i(12,"ul",17),V(13,Qe,13,22,"li",18,F),n()),a&2){let e=g();t(4),p(s(5,3,"reset.bridge_accessories.list_1")),t(3),p(s(8,5,"reset.clear_cache_single.list_3")),t(3),p(s(11,7,"reset.bridge_accessories.list_2")),t(3),R(e.pairings)}}function Ye(a,m){if(a&1){let e=k();i(0,"button",24),b("click",function(){S(e);let l=g();return w(l.$activeModal.dismiss("Dismiss"))}),r(1),o(2,"translate"),n()}if(a&2){let e=g();_("disabled",e.clicked),t(),u(" ",s(2,2,"form.button_close")," ")}}function Ze(a,m){if(a&1){let e=k();i(0,"button",25),b("click",function(){S(e);let l=g();return w(l.$activeModal.dismiss("Dismiss"))}),r(1),o(2,"translate"),n()}a&2&&(t(),u(" ",s(2,1,"form.button_close")," "))}function et(a,m){if(a&1&&r(0),a&2){let e=g(3);u(" (",e.toDelete.length,") ")}}function tt(a,m){if(a&1&&(r(0),o(1,"translate"),v(2,et,1,1)),a&2){let e=g(2);u(" ",s(1,2,"form.button_remove")," "),t(2),f(e.toDelete.length>0?2:-1)}}function it(a,m){a&1&&c(0,"i",27)}function nt(a,m){if(a&1){let e=k();i(0,"button",26),b("click",function(){S(e);let l=g();return w(l.cleanBridges())}),v(1,tt,3,4),v(2,it,1,0,"i",27),n()}if(a&2){let e=g();_("disabled",!e.toDelete.length||e.clicked),t(),f(e.clicked?-1:1),t(),f(e.clicked?2:-1)}}var Ne=(()=>{class a{$activeModal=C(T);$api=C(M);$router=C(U);$toastr=C(N);$translate=C(A);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||a)};static \u0275cmp=y({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(d,l){d&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),o(4,"translate"),n(),i(5,"button",3),o(6,"translate"),b("click",function(){return l.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4),v(8,Je,5,3),v(9,Xe,15,9),n(),i(10,"div",5)(11,"div",6),v(12,Ye,3,4,"button",7),n(),i(13,"div",8),v(14,Ze,3,3,"button",9),n(),i(15,"div",10),v(16,nt,3,3,"button",11),n()()()),d&2&&(t(3),p(s(4,8,"reset.bridge_accessories.title")),t(2),_("disabled",l.clicked),x("aria-label",s(6,10,"form.button_close")),t(3),f(l.pairings.length===0?8:-1),t(),f(l.pairings.length>0?9:-1),t(3),f(l.pairings.length>0?12:-1),t(2),f(l.pairings.length===0?14:-1),t(2),f(l.pairings.length>0?16:-1))},dependencies:[L,E],encapsulation:2})}return a})();function at(a,m){a&1&&(r(0),o(1,"translate")),a&2&&u(" ",s(1,1,"form.button_reset")," ")}function rt(a,m){a&1&&c(0,"i",16)}var Me=(()=>{class a{$activeModal=C(T);$api=C(M);$route=C(U);$toastr=C(N);$translate=C(A);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||a)};static \u0275cmp=y({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(d,l){d&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),o(4,"translate"),n(),i(5,"button",3),o(6,"translate"),b("click",function(){return l.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4)(8,"div",5),c(9,"i",6),n(),i(10,"ul",7)(11,"li"),r(12),o(13,"translate"),n(),i(14,"li"),r(15),o(16,"translate"),n(),i(17,"li"),r(18),o(19,"translate"),n(),i(20,"li"),r(21),o(22,"translate"),n()(),i(23,"ngb-alert",8)(24,"p",9),r(25),o(26,"translate"),n()()(),i(27,"div",10)(28,"div",11)(29,"button",12),o(30,"translate"),b("click",function(){return l.$activeModal.dismiss("Dismiss")}),r(31),o(32,"translate"),n()(),c(33,"div",13),i(34,"div",14)(35,"button",15),b("click",function(){return l.onResetHomebridgeAccessoryClick()}),v(36,at,2,3),v(37,rt,1,0,"i",16),n()()()()),d&2&&(t(3),p(s(4,15,"reset.bridge_all.title")),t(2),_("disabled",l.clicked),x("aria-label",s(6,17,"form.button_close")),t(7),p(s(13,19,"reset.bridge_all.list_1")),t(3),p(s(16,21,"reset.bridge_all.list_2")),t(3),p(s(19,23,"reset.bridge_all.list_3")),t(3),p(s(22,25,"reset.bridge_all.list_4")),t(2),_("dismissible",!1),t(2),p(s(26,27,"reset.action_is_irreversible")),t(4),_("disabled",l.clicked),x("aria-label",s(30,29,"form.button_close")),t(2),u(" ",s(32,31,"form.button_close")," "),t(4),_("disabled",l.clicked),t(),f(l.clicked?-1:36),t(),f(l.clicked?37:-1))},dependencies:[X,E],encapsulation:2})}return a})();var ie=(a,m)=>({"green-text":a,"grey-text":m}),ne=(a,m)=>({"btn-danger":a,"btn-elegant":m}),Fe=(a,m,e)=>({"fa-refresh":a,"fa-undo":m,"fa-spinner fa-pulse":e}),lt=(a,m,e)=>({"fa-trash":a,"fa-undo":m,"fa-spinner fa-pulse":e});function ot(a,m){a&1&&(i(0,"div",12),c(1,"i",13),n(),i(2,"p",14),r(3),o(4,"translate"),n()),a&2&&(t(3),p(s(4,1,"reset.bridges.empty")))}function st(a,m){if(a&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),n(),r(10),o(11,"titlecase"),n()(),i(12,"button",24),o(13,"translate"),b("click",function(){let l=S(e).$implicit,h=g(3);return w(h.toggleList(l._id,!1))}),c(14,"i",25),n()()}if(a&2){let e=m.$implicit,d=g(3);t(2),u(" ",e.name," "),t(3),_("ngClass",$(15,ie,e._isPaired,!e._isPaired)),t(),u(" ",s(7,9,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),p(e._username),t(),u(" \xB7 ",e._main?"Homebridge":s(11,11,e._category)," "),t(2),_("disabled",d.clicked)("ngClass",$(18,ne,!d.isInList(e._id),d.isInList(e._id))),x("aria-label",s(13,13,"form.button_unpair")),t(2),_("ngClass",O(21,Fe,!d.isInList(e._id),d.isInList(e._id)&&!d.clicked,d.isInList(e._id)&&d.clicked))}}function dt(a,m){if(a&1&&(i(0,"ul",16)(1,"li",17)(2,"h6",18),r(3),o(4,"translate"),n(),i(5,"p",19),r(6),o(7,"translate"),n()(),V(8,st,15,25,"li",20,F),n()),a&2){let e=g(2);t(3),p(s(4,2,"reset.bridge_ind.head_non_child")),t(3),p(s(7,4,"reset.bridge_ind.desc_non_child")),t(2),R(e.pairingsNonChild)}}function pt(a,m){if(a&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),n()()(),i(10,"button",24),o(11,"translate"),b("click",function(){let l=S(e).$implicit,h=g(3);return w(h.toggleList(l._id,!0))}),c(12,"i",25),n()()}if(a&2){let e=m.$implicit,d=g(3);t(2),u(" ",e.name," "),t(3),_("ngClass",$(12,ie,e._isPaired,!e._isPaired)),t(),u(" ",s(7,8,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),p(e._username),t(),_("disabled",d.clicked)("ngClass",$(15,ne,!d.isInList(e._id),d.isInList(e._id))),x("aria-label",s(11,10,"form.button_unpair")),t(2),_("ngClass",O(18,Fe,!d.isInList(e._id),d.isInList(e._id)&&!d.clicked,d.isInList(e._id)&&d.clicked))}}function ct(a,m){if(a&1&&(i(0,"ul",16)(1,"li",17)(2,"h6",18),r(3),o(4,"translate"),n(),i(5,"p",19),r(6),o(7,"translate"),n()(),V(8,pt,13,22,"li",20,F),n()),a&2){let e=g(2);t(3),p(s(4,2,"reset.bridge_ind.head_child_active")),t(3),p(s(7,4,"reset.bridge_ind.desc_child_active")),t(2),R(e.pairingsChildActive)}}function mt(a,m){if(a&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),n()()(),i(10,"button",24),o(11,"translate"),b("click",function(){let l=S(e).$implicit,h=g(3);return w(h.toggleList(l._id,!1))}),c(12,"i",25),n()()}if(a&2){let e=m.$implicit,d=g(3);t(2),u(" ",e.name," "),t(3),_("ngClass",$(12,ie,e._isPaired,!e._isPaired)),t(),u(" ",s(7,8,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),p(e._username),t(),_("disabled",d.clicked)("ngClass",$(15,ne,!d.isInList(e._id),d.isInList(e._id))),x("aria-label",s(11,10,"form.button_unpair")),t(2),_("ngClass",O(18,lt,!d.isInList(e._id),d.isInList(e._id)&&!d.clicked,d.isInList(e._id)&&d.clicked))}}function ut(a,m){if(a&1&&(i(0,"ul",16)(1,"li",17)(2,"h6",18),r(3),o(4,"translate"),n(),i(5,"p",19),r(6),o(7,"translate"),n()(),V(8,mt,13,22,"li",20,F),n()),a&2){let e=g(2);t(3),p(s(4,2,"reset.bridge_ind.head_child_stale")),t(3),p(s(7,4,"reset.bridge_ind.desc_child_stale")),t(2),R(e.pairingsChildStale)}}function _t(a,m){if(a&1&&(i(0,"div",12),c(1,"i",15),n(),v(2,dt,10,6,"ul",16),v(3,ct,10,6,"ul",16),v(4,ut,10,6,"ul",16)),a&2){let e=g();t(2),f(e.pairingsNonChild.length>0?2:-1),t(),f(e.pairingsChildActive.length>0?3:-1),t(),f(e.pairingsChildStale.length>0?4:-1)}}function gt(a,m){if(a&1){let e=k();i(0,"button",26),b("click",function(){S(e);let l=g();return w(l.$activeModal.dismiss("Dismiss"))}),r(1),o(2,"translate"),n()}if(a&2){let e=g();_("disabled",e.clicked),t(),u(" ",s(2,2,"form.button_close")," ")}}function bt(a,m){if(a&1){let e=k();i(0,"button",27),b("click",function(){S(e);let l=g();return w(l.$activeModal.dismiss("Dismiss"))}),r(1),o(2,"translate"),n()}a&2&&(t(),u(" ",s(2,1,"form.button_close")," "))}function vt(a,m){if(a&1&&r(0),a&2){let e=g(3);u(" (",e.toDelete.length,") ")}}function ft(a,m){if(a&1&&(r(0),o(1,"translate"),v(2,vt,1,1)),a&2){let e=g(2);u(" ",s(1,2,"form.button_reset")," "),t(2),f(e.toDelete.length>0?2:-1)}}function xt(a,m){a&1&&c(0,"i",29)}function ht(a,m){if(a&1){let e=k();i(0,"button",28),b("click",function(){S(e);let l=g();return w(l.removeBridges())}),v(1,ft,3,4),v(2,xt,1,0,"i",29),n()}if(a&2){let e=g();_("disabled",!e.toDelete.length||e.clicked),t(),f(e.clicked?-1:1),t(),f(e.clicked?2:-1)}}var Ve=(()=>{class a{$activeModal=C(T);$api=C(M);$router=C(U);$toastr=C(N);$translate=C(A);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,l)=>d.name.localeCompare(l.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(l=>l.id===e)?this.toDelete=this.toDelete.filter(l=>l.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||a)};static \u0275cmp=y({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(d,l){d&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),o(4,"translate"),n(),i(5,"button",3),o(6,"translate"),b("click",function(){return l.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4),v(8,ot,5,3),v(9,_t,5,3),n(),i(10,"div",5)(11,"div",6),v(12,gt,3,4,"button",7),n(),i(13,"div",8),v(14,bt,3,3,"button",9),n(),i(15,"div",10),v(16,ht,3,3,"button",11),n()()()),d&2&&(t(3),p(s(4,8,"reset.bridge_ind.title")),t(2),_("disabled",l.clicked),x("aria-label",s(6,10,"form.button_close")),t(3),f(l.pairingsChildActive.length===0&&l.pairingsChildStale.length===0&&l.pairingsNonChild.length===0?8:-1),t(),f(l.pairingsChildActive.length>0||l.pairingsChildStale.length>0||l.pairingsNonChild.length>0?9:-1),t(3),f(l.pairingsChildActive.length>0||l.pairingsChildStale.length>0||l.pairingsNonChild.length>0?12:-1),t(2),f(l.pairingsChildActive.length===0&&l.pairingsChildStale.length===0&&l.pairingsNonChild.length===0?14:-1),t(2),f(l.pairingsChildActive.length>0||l.pairingsChildStale.length>0||l.pairingsNonChild.length>0?16:-1))},dependencies:[L,j,E],encapsulation:2})}return a})();function St(a,m){if(a&1){let e=k();i(0,"li",10)(1,"span")(2,"label",17)(3,"input",18),me("ngModelChange",function(l){let h=S(e).$implicit;return ce(h.selected,l)||(h.selected=l),w(l)}),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),pe("ngModel",e.selected),t(2),p(e.iface),t(3),p(e.ip4||e.ip6)}}var Re=(()=>{class a{$activeModal=C(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||a)};static \u0275cmp=y({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(d,l){d&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),o(4,"translate"),n(),i(5,"button",3),o(6,"translate"),b("click",function(){return l.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4)(8,"div",5),c(9,"i",6),n(),i(10,"ul",7)(11,"li"),r(12),o(13,"translate"),n()(),i(14,"ul",8)(15,"li",9)(16,"strong"),r(17),o(18,"translate"),n(),i(19,"strong"),r(20),o(21,"translate"),n()(),V(22,St,9,5,"li",10,F),n()(),i(24,"div",11)(25,"div",12)(26,"button",13),o(27,"translate"),b("click",function(){return l.$activeModal.dismiss("Dismiss")}),r(28),o(29,"translate"),n()(),c(30,"div",14),i(31,"div",15)(32,"button",16),b("click",function(){return l.submit()}),r(33),o(34,"translate"),n()()()()),d&2&&(t(3),p(s(4,8,"settings.network.title_network_interfaces")),t(2),x("aria-label",s(6,10,"form.button_close")),t(7),p(s(13,12,"settings.network.message_network_interface")),t(5),p(s(18,14,"settings.network.label_interface_name")),t(3),p(s(21,16,"settings.network.label_ip_address")),t(2),R(l.availableNetworkAdapters),t(4),x("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:[J,G,q,K,E],encapsulation:2})}return a})();var wt=["wallpaperInput"],kt=a=>({maxFileSizeText:a});function yt(a,m){if(a&1){let e=k();i(0,"div",10),c(1,"img",20),i(2,"button",21),o(3,"translate"),b("click",function(){S(e);let l=g();return w(l.clearWallpaper())}),c(4,"i",22),n()()}if(a&2){let e=g();t(),_("src",e.wallpaperUrl,le),t(),x("aria-label",s(3,2,"form.button_delete"))}}function Et(a,m){a&1&&c(0,"div",11)}var De=(()=>{class a{$activeModal=C(T);$api=C(M);$modal=C(Y);$settings=C(Z);$toastr=C(N);$translate=C(A);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=l=>{this.wallpaperUrl=l.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||a)};static \u0275cmp=y({type:a,selectors:[["ng-component"]],viewQuery:function(d,l){if(d&1&&oe(wt,5),d&2){let h;se(h=de())&&(l.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,l){if(d&1){let h=k();i(0,"div",1)(1,"div",2)(2,"h5",3),r(3),o(4,"translate"),n(),i(5,"button",4),o(6,"translate"),b("click",function(){return S(h),w(l.$activeModal.dismiss("Dismiss"))}),n()(),i(7,"div",5)(8,"div",6),c(9,"i",7),n(),i(10,"ul",8)(11,"li"),r(12),o(13,"translate"),n(),i(14,"li"),r(15),o(16,"translate"),n(),i(17,"li"),r(18),o(19,"translate"),n()(),i(20,"div",9),v(21,yt,5,4,"div",10)(22,Et,1,0,"div",11),n(),i(23,"div",12)(24,"input",13,0),b("change",function(Pe){return S(h),w(l.onFileChange(Pe.target.files))}),n()()(),i(26,"div",14)(27,"div",15)(28,"button",16),b("click",function(){return S(h),w(l.cancel())}),r(29),o(30,"translate"),n()(),c(31,"div",17),i(32,"div",18)(33,"button",19),b("click",function(){return S(h),w(l.saveWallpaper())}),r(34),o(35,"translate"),n()()()()}d&2&&(t(3),p(s(4,11,"settings.display.wallpaper")),t(2),_("disabled",l.clicked),x("aria-label",s(6,13,"form.button_close")),t(7),p(s(13,15,"settings.display.wallpaper_intro")),t(3),p(W(16,17,"settings.display.wallpaper_rule",H(26,kt,l.maxFileSizeText))),t(3),p(s(19,20,"settings.display.wallpaper_rule2")),t(3),f(l.wallpaperUrl?21:22),t(7),_("disabled",l.clicked),t(),u(" ",s(30,22,"form.button_close")," "),t(4),_("disabled",l.wallpaperUrl===l.originalWallpaperUrl||l.clicked),t(),u(" ",s(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 a})();var ae=a=>({"is-invalid":a}),Bt=a=>({link:a}),It=a=>({"fa-pulse":a}),$t=(a,m)=>({"badge-danger":a,"badge-info":m});function Tt(a,m){a&1&&(i(0,"li",22)(1,"small",23),r(2),o(3,"translate"),n(),i(4,"button",24),o(5,"translate"),r(6),o(7,"translate"),n()()),a&2&&(t(2),p(s(3,3,"settings.changes.saved")),t(2),x("aria-label",s(5,5,"menu.tooltip_restart")),t(2),u(" ",s(7,7,"menu.tooltip_restart")," "))}function At(a,m){if(a&1){let e=k();i(0,"ul",5)(1,"li",14)(2,"span"),r(3,"Homebridge Name"),n(),i(4,"div",15),c(5,"input",16),o(6,"translate"),n()(),i(7,"li",17)(8,"span",18),r(9),o(10,"translate"),n(),i(11,"button",19),o(12,"translate"),b("click",function(){S(e);let l=g();return w(l.openUiSettings())}),c(13,"i",20),n()(),i(14,"li",17)(15,"span",18),r(16),o(17,"translate"),n(),i(18,"button",19),o(19,"translate"),b("click",function(){S(e);let l=g();return w(l.openBackupModal())}),c(20,"i",20),n()(),i(21,"li",17)(22,"span",18),r(23),o(24,"translate"),n(),i(25,"a",21),o(26,"translate"),c(27,"i",20),n()(),v(28,Tt,8,9,"li",22),n()}if(a&2){let e=g();t(5),_("formControl",e.hbNameFormControl)("ngClass",H(24,ae,e.isInvalidHbName)),x("aria-label",s(6,10,"settings.network.port_ui")),t(4),p(s(10,12,"menu.label_settings_advanced")),t(2),x("aria-label",s(12,14,"menu.label_settings_advanced")),t(5),u(" ",s(17,16,"backup.title_backup")," "),t(2),x("aria-label",s(19,18,"backup.title_backup")),t(5),u(" ",s(24,20,"menu.tooltip_user_accounts")," "),t(2),x("aria-label",s(26,22,"menu.tooltip_user_accounts")),t(3),f(e.hasChangedHbName&&!e.isInvalidHbName?28:-1)}}function Nt(a,m){if(a&1){let e=k();i(0,"ul",6)(1,"li",14),r(2),o(3,"translate"),i(4,"div",25)(5,"select",26),b("ngModelChange",function(l){S(e);let h=g();return w(h.saveUiSettingChange("lang",l))}),i(6,"option",27),r(7),o(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),o(67,"translate"),i(68,"div",25)(69,"select",26),b("ngModelChange",function(l){S(e);let h=g();return w(h.saveUiSettingChange("theme",l))}),i(70,"option",56),r(71),o(72,"translate"),n(),i(73,"option",57),r(74),o(75,"translate"),n(),i(76,"option",58),r(77),o(78,"translate"),n(),i(79,"option",59),r(80),o(81,"translate"),n(),i(82,"option",60),r(83),o(84,"translate"),n(),i(85,"option",61),r(86),o(87,"translate"),n(),i(88,"option",62),r(89),o(90,"translate"),n(),i(91,"option",63),r(92),o(93,"translate"),n(),i(94,"option",64),r(95),o(96,"translate"),n(),i(97,"option",65),r(98),o(99,"translate"),n(),i(100,"option",66),r(101),o(102,"translate"),n(),i(103,"option",67),r(104),o(105,"translate"),n(),i(106,"option",68),r(107),o(108,"translate"),n()()()(),i(109,"li",14),r(110),o(111,"translate"),i(112,"div",25)(113,"select",26),b("ngModelChange",function(l){S(e);let h=g();return w(h.saveUiSettingChange("lightingMode",l))}),i(114,"option",27),r(115),o(116,"translate"),n(),i(117,"option",69),r(118),o(119,"translate"),n(),i(120,"option",70),r(121),o(122,"translate"),n()()()(),i(123,"li",14),r(124),o(125,"translate"),i(126,"div",25)(127,"select",26),b("ngModelChange",function(l){S(e);let h=g();return w(h.saveUiSettingChange("menuMode",l))}),i(128,"option",71),r(129),o(130,"translate"),n(),i(131,"option",72),r(132),o(133,"translate"),n()()()(),i(134,"li",14),r(135),o(136,"translate"),i(137,"div",25)(138,"select",26),b("ngModelChange",function(l){S(e);let h=g();return w(h.saveUiSettingChange("tempUnits",l))}),i(139,"option",73),r(140),o(141,"translate"),n(),i(142,"option",74),r(143),o(144,"translate"),n()()()(),i(145,"li",17)(146,"span",18),r(147),o(148,"translate"),n(),i(149,"button",19),o(150,"translate"),b("click",function(){S(e);let l=g();return w(l.openWallpaperModal())}),c(151,"i",20),n()()()}if(a&2){let e=g();t(2),u(" ",s(3,33,"settings.display.lang")," "),t(3),_("ngModel",e.$settings.env.lang),t(2),p(s(8,35,"form.select.auto")),t(59),u(" ",s(67,37,"settings.display.theme")," "),t(3),_("ngModel",e.$settings.theme),t(2),p(s(72,39,"settings.display.orange")),t(3),p(s(75,41,"settings.display.red")),t(3),p(s(78,43,"settings.display.pink")),t(3),p(s(81,45,"settings.display.purple")),t(3),p(s(84,47,"settings.display.deep_purple")),t(3),p(s(87,49,"settings.display.indigo")),t(3),p(s(90,51,"settings.display.blue")),t(3),p(s(93,53,"settings.display.bluegrey")),t(3),p(s(96,55,"settings.display.cyan")),t(3),p(s(99,57,"settings.display.green")),t(3),p(s(102,59,"settings.display.teal")),t(3),p(s(105,61,"settings.display.grey")),t(3),p(s(108,63,"settings.display.brown")),t(3),u(" ",s(111,65,"settings.display.lighting_mode")," "),t(3),_("ngModel",e.$settings.lightingMode),t(2),p(s(116,67,"form.select.auto")),t(3),p(s(119,69,"settings.display.light")),t(3),p(s(122,71,"settings.display.dark")),t(3),u(" ",s(125,73,"settings.display.menu_mode")," "),t(3),_("ngModel",e.$settings.menuMode),t(2),p(s(130,75,"settings.display.menu_default")),t(3),p(s(133,77,"settings.display.menu_freeze")),t(3),u(" ",s(136,79,"settings.display.temp_units")," "),t(3),_("ngModel",e.$settings.env.temperatureUnits),t(2),p(s(141,81,"settings.display.temp_units.c")),t(3),p(s(144,83,"settings.display.temp_units.f")),t(4),p(s(148,85,"settings.display.wallpaper")),t(2),x("aria-label",s(150,87,"settings.display.wallpaper"))}}function Mt(a,m){a&1&&(i(0,"li",17)(1,"span"),r(2),o(3,"translate"),c(4,"br"),i(5,"small",75),r(6),o(7,"translate"),n()(),i(8,"a",86),o(9,"translate"),c(10,"i",20),n()()),a&2&&(t(2),u(" ",s(3,3,"menu.docker.startup_script")),t(4),p(s(7,5,"platform.docker.script_help")),t(2),x("aria-label",s(9,7,"menu.docker.startup_script")))}function Ft(a,m){a&1&&(i(0,"li",22)(1,"small",23),r(2),o(3,"translate"),n(),i(4,"button",24),o(5,"translate"),r(6),o(7,"translate"),n()()),a&2&&(t(2),p(s(3,3,"settings.changes.saved")),t(2),x("aria-label",s(5,5,"menu.tooltip_restart")),t(2),u(" ",s(7,7,"menu.tooltip_restart")," "))}function Vt(a,m){if(a&1&&(i(0,"ul",8)(1,"li",17)(2,"span"),r(3),o(4,"translate"),i(5,"code"),r(6,"-D"),n(),c(7,"br"),i(8,"small",75),r(9),o(10,"translate"),n()(),c(11,"input",76),o(12,"translate"),c(13,"label",77),n(),i(14,"li",17)(15,"span"),r(16),o(17,"translate"),i(18,"code"),r(19,"-I"),n(),c(20,"br"),i(21,"small",75),r(22),o(23,"translate"),n()(),c(24,"input",78),o(25,"translate"),c(26,"label",79),n(),i(27,"li",17)(28,"span"),r(29),o(30,"translate"),i(31,"code"),r(32,"-K"),n(),c(33,"br"),i(34,"small",75),r(35),o(36,"translate"),n()(),c(37,"input",80),o(38,"translate"),c(39,"label",81),n(),i(40,"li",14)(41,"span")(42,"span",82),r(43,"DEBUG"),n(),c(44,"br")(45,"small",83),o(46,"translate"),n(),i(47,"div",25),c(48,"input",84),n()(),i(49,"li",14)(50,"span")(51,"span",82),r(52,"NODE_OPTIONS"),n(),c(53,"br"),i(54,"small",75),r(55),o(56,"translate"),n()(),i(57,"div",25),c(58,"input",85),n()(),v(59,Mt,11,9,"li",17),v(60,Ft,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),x("aria-label",s(12,17,"settings.startup.debug")),t(5),u(" ",s(17,19,"settings.startup.insecure")," "),t(6),p(s(23,21,"settings.startup.insecure_desc")),t(2),x("aria-label",s(25,23,"settings.startup.insecure")),t(5),u(" ",s(30,25,"settings.startup.keep_accessories")," "),t(6),p(s(36,27,"settings.startup.keep_accessories_desc")),t(2),x("aria-label",s(38,29,"settings.startup.keep_accessories")),t(8),_("innerHTML",W(46,31,"settings.service.debug_tooltip",H(36,Bt,e.linkDebug)),re),t(10),p(s(56,34,"settings.service.node_tooltip")),t(4),f(e.$settings.env.runningInDocker?59:-1),t(),f(e.hasChangedService?60:-1)}}function Rt(a,m){a&1&&c(0,"i",98)}function Dt(a,m){if(a&1&&(i(0,"span",88),v(1,Rt,1,0,"i",98),r(2),i(3,"span",99),r(4),o(5,"translate"),n()()),a&2){let e=m.$implicit;_("ngClass",$(6,$t,e.missing,!e.missing)),t(),f(e.missing?1:-1),t(),u(" ",e.iface,": "),t(2),p(e.missing?s(5,4,"settings.mdns_advertiser_not_connected"):e.ip4||e.ip6)}}function Pt(a,m){a&1&&(i(0,"option",92),r(1),o(2,"translate"),n()),a&2&&(t(),u("Avahi (",s(2,1,"settings.mdns_advertiser_rec"),")"))}function Ht(a,m){a&1&&(i(0,"option",95),r(1),o(2,"translate"),n()),a&2&&(t(),u("systemd-resolved (",s(2,1,"settings.mdns_advertiser_exp"),")"))}function Ut(a,m){a&1&&(i(0,"li",22)(1,"small",23),r(2),o(3,"translate"),n(),i(4,"button",24),o(5,"translate"),r(6),o(7,"translate"),n()()),a&2&&(t(2),p(s(3,3,"settings.changes.saved")),t(2),x("aria-label",s(5,5,"menu.tooltip_restart")),t(2),u(" ",s(7,7,"menu.tooltip_restart")," "))}function Ot(a,m){if(a&1){let e=k();i(0,"ul",9)(1,"li",17)(2,"span",18),r(3),o(4,"translate"),c(5,"br"),i(6,"div",87),r(7),o(8,"translate"),n(),V(9,Dt,6,9,"span",88,F),n(),i(11,"button",89),o(12,"translate"),b("click",function(){S(e);let l=g();return w(l.selectNetworkInterfaces())}),c(13,"i",90),n()(),i(14,"li",14)(15,"span"),r(16),o(17,"translate"),c(18,"br"),i(19,"small",75),r(20),o(21,"translate"),n()(),i(22,"div",25)(23,"select",91),o(24,"translate"),v(25,Pt,3,3,"option",92),i(26,"option",93),r(27),o(28,"translate"),n(),i(29,"option",94),r(30,"Bonjour HAP"),n(),v(31,Ht,3,3,"option",95),n()()(),i(32,"li",14)(33,"span"),r(34),o(35,"translate"),c(36,"br"),i(37,"small",75),r(38),o(39,"translate"),n()(),i(40,"div",25),c(41,"input",96),o(42,"translate"),n()(),i(43,"li",14)(44,"span"),r(45),o(46,"translate"),c(47,"br"),i(48,"small",75),r(49),o(50,"translate"),n()(),i(51,"div",25),c(52,"input",97),o(53,"translate"),n()(),v(54,Ut,8,9,"li",22),n()}if(a&2){let e=g();t(3),u(" ",s(4,22,"settings.network.title_network_interfaces")),t(4),p(s(8,24,"settings.network.message_network_interface")),t(2),R(e.bridgeNetworkAdapters),t(2),_("disabled",!e.availableNetworkAdapters.length),x("aria-label",s(12,26,"settings.network.title_network_interfaces")),t(2),_("ngClass",H(48,It,!e.availableNetworkAdapters.length)),t(3),u(" ",s(17,28,"settings.mdns_advertiser")),t(4),p(s(21,30,"settings.mdns_advertiser_help")),t(3),_("formControl",e.legacyMdnsFormControl),x("aria-label",s(24,32,"settings.mdns_advertiser")),t(2),f(e.showAvahiMdnsOption?25:-1),t(2),u(" Ciao ",e.showAvahiMdnsOption?"":"("+s(28,34,"settings.mdns_advertiser_rec")+")"," "),t(4),f(e.showResolvedMdnsOption?31:-1),t(3),u(" ",s(35,36,"settings.network.port_hb")),t(4),p(s(39,38,"settings.network.port_hb_desc")),t(3),_("formControl",e.hbPortFormControl)("ngClass",H(50,ae,e.isInvalidHbPort)),x("aria-label",s(42,40,"settings.network.port_ui")),t(4),u(" ",s(46,42,"settings.network.port_ui")),t(4),p(s(50,44,"settings.network.port_ui_desc")),t(3),_("ngClass",H(52,ae,e.isInvalidHbUiPort)),x("aria-label",s(53,46,"settings.network.port_ui")),t(2),f(e.hasChangedHbPort&&!e.isInvalidHbPort||e.hasChangedUiSettings||e.hasChangedMdns||e.hasChangedBridgeNetworkAdapters?54:-1)}}function Lt(a,m){a&1&&(i(0,"p",10),r(1),o(2,"translate"),n()),a&2&&(t(),p(s(2,1,"settings.cache.desc")))}function zt(a,m){if(a&1){let e=k();i(0,"ul",11)(1,"li",17)(2,"span",18),r(3),o(4,"translate"),c(5,"br"),i(6,"small",75),r(7),o(8,"translate"),n()(),i(9,"button",19),o(10,"translate"),b("click",function(){S(e);let l=g();return w(l.removeSingleCachedAccessories())}),c(11,"i",20),n()(),i(12,"li",17)(13,"span",18),r(14),o(15,"translate"),c(16,"br"),i(17,"small",75),r(18),o(19,"translate"),n()(),i(20,"button",19),o(21,"translate"),b("click",function(){S(e);let l=g();return w(l.removeBridgeAccessories())}),c(22,"i",20),n()(),i(23,"li",17)(24,"span",18),r(25),o(26,"translate"),c(27,"br"),i(28,"small",75),r(29),o(30,"translate"),n()(),i(31,"button",19),o(32,"translate"),b("click",function(){S(e);let l=g();return w(l.removeAllCachedAccessories())}),c(33,"i",20),n()()()}a&2&&(t(3),u(" ",s(4,9,"reset.accessory_ind.title")),t(4),p(s(8,11,"reset.accessory_ind.desc")),t(2),x("aria-label",s(10,13,"reset.accessory_ind.title")),t(5),u(" ",s(15,15,"reset.bridge_accessories.title")),t(4),p(s(19,17,"reset.bridge_accessories.desc")),t(2),x("aria-label",s(21,19,"reset.accessory_all.title")),t(5),u(" ",s(26,21,"reset.accessory_all.title")),t(4),p(s(30,23,"reset.accessory_all.desc")),t(2),x("aria-label",s(32,25,"reset.accessory_all.title")))}function Wt(a,m){a&1&&(i(0,"p",10),r(1),o(2,"translate"),n()),a&2&&(t(),p(s(2,1,"reset.bridges.desc")))}function jt(a,m){if(a&1){let e=k();i(0,"ul",12)(1,"li",17)(2,"span",18),r(3),o(4,"translate"),c(5,"br"),i(6,"small",75),r(7),o(8,"translate"),n()(),i(9,"button",19),o(10,"translate"),b("click",function(){S(e);let l=g();return w(l.unpairAccessory())}),c(11,"i",20),n()(),i(12,"li",17)(13,"span",18),r(14),o(15,"translate"),o(16,"titlecase"),c(17,"br"),i(18,"small",75),r(19),o(20,"translate"),n()(),i(21,"button",19),o(22,"translate"),b("click",function(){S(e);let l=g();return w(l.resetHomebridgeState())}),c(23,"i",20),n()()()}a&2&&(t(3),u(" ",s(4,6,"reset.bridge_ind.title")),t(4),p(s(8,8,"reset.bridge_ind.desc")),t(2),x("aria-label",s(10,10,"reset.bridge_ind.title")),t(5),u(" ",s(16,14,s(15,12,"reset.bridge_all.title"))),t(5),p(s(20,16,"reset.bridge_all.desc")),t(2),x("aria-label",s(22,18,"reset.bridge_all.title")))}var fn=(()=>{class a{$api=C(M);$modal=C(Y);$plugin=C(Te);$settings=C(Z);$toastr=C(N);$translate=C(A);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.initStartupSettingsForm()}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(l=>{this.originalUiSettingsForm[l]!==e[l]&&(this.saveUiSettingChange(l,e[l]),d=!0)}),this.hasChangedUiSettings=d})}initStartupSettingsForm(){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.saveStartupSettingsSettings.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(l=>{console.error(l),this.$toastr.error(l.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"})}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:d=>{console.error(d),this.$toastr.error(d.message,this.$translate.instant("toast.title_error"))}})}resetHomebridgeState(){this.$modal.open(Me,{size:"lg",backdrop:"static"})}unpairAccessory(){this.$modal.open(Ve,{size:"lg",backdrop:"static"})}removeAllCachedAccessories(){this.$modal.open(Ae,{size:"lg",backdrop:"static"})}removeSingleCachedAccessories(){this.$modal.open($e,{size:"lg",backdrop:"static"})}removeBridgeAccessories(){this.$modal.open(Ne,{size:"lg",backdrop:"static"})}initNetworkingOptions(){return B(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 B(this,null,function*(){return Promise.all([I(this.$api.get("/server/network-interfaces/system")),I(this.$api.get("/server/network-interfaces/bridge")),I(this.$api.get("/server/mdns-advertiser")),I(this.$api.get("/server/port"))]).then(([e,d,l,h])=>{this.availableNetworkAdapters=e,this.buildBridgeNetworkAdapterList(d),this.legacyMdnsFormControl.patchValue(l.advertiser),this.originalMdnsSetting=l.advertiser,this.originalBridgeNetworkAdapters=this.bridgeNetworkAdapters.map(D=>D.iface),this.legacyMdnsFormControl.valueChanges.subscribe(D=>{this.setHomebridgeMdnsSetting(D)}),this.hbPortFormControl.patchValue(h.port),this.hbPortFormControl.valueChanges.subscribe(D=>this.setHomebridgePort(D)),this.originalHbPort=h.port})})}setHomebridgeMdnsSetting(e){return B(this,null,function*(){this.$api.put("/server/mdns-advertiser",{advertiser:e}).subscribe({next:()=>{this.hasChangedMdns=e!==this.originalMdnsSetting},error:d=>{console.error(d),this.$toastr.error(d.message,this.$translate.instant("toast.title_error"))}})})}setNetworkInterfaces(e){return B(this,null,function*(){this.$api.put("/server/network-interfaces/bridge",{adapters:e}).subscribe({next:()=>{this.hasChangedBridgeNetworkAdapters=this.originalBridgeNetworkAdapters.join(",")!==e.join(",")},error:d=>{console.error(d),this.$toastr.error(d.message,this.$translate.instant("toast.title_error"))}})})}setHomebridgeName(e){return B(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 B(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(d=>{let l=this.availableNetworkAdapters.find(h=>h.iface===d);return l?(l.selected=!0,l.missing=!1,l):{iface:d,missing:!0}})}selectNetworkInterfaces(){let e=this.$modal.open(Re,{size:"lg",backdrop:"static"});e.componentInstance.availableNetworkAdapters=this.availableNetworkAdapters,e.componentInstance.bridgeNetworkAdapters=this.bridgeNetworkAdapters,e.result.then(d=>{this.buildBridgeNetworkAdapterList(d),this.setNetworkInterfaces(d)}).catch(()=>{})}toggleSection(e){this.showFields[e]=!this.showFields[e]}static \u0275fac=function(d){return new(d||a)};static \u0275cmp=y({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"],["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"],[1,"grey-text","pe-2",3,"innerHTML"],["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(d,l){d&1&&(i(0,"h3",0),r(1),o(2,"translate"),n(),i(3,"div",1)(4,"div",2),b("click",function(){return l.toggleSection("general")}),i(5,"h5",3),c(6,"i",4),r(7),o(8,"translate"),n()(),v(9,At,29,26,"ul",5),n(),i(10,"div",1)(11,"div",2),b("click",function(){return l.toggleSection("display")}),i(12,"h5",3),c(13,"i",4),r(14),o(15,"translate"),n()(),v(16,Nt,152,89,"ul",6),n(),i(17,"form",7)(18,"div",2),b("click",function(){return l.toggleSection("startup")}),i(19,"h5",3),c(20,"i",4),r(21),o(22,"translate"),n()(),v(23,Vt,61,38,"ul",8),n(),i(24,"form",7)(25,"div",2),b("click",function(){return l.toggleSection("network")}),i(26,"h5",3),c(27,"i",4),r(28),o(29,"translate"),n()(),v(30,Ot,55,54,"ul",9),n(),i(31,"div",1)(32,"div",2),b("click",function(){return l.toggleSection("cache")}),i(33,"h5",3),c(34,"i",4),r(35),o(36,"translate"),n()(),v(37,Lt,3,3,"p",10),v(38,zt,34,27,"ul",11),n(),i(39,"div",1)(40,"div",2),b("click",function(){return l.toggleSection("reset")}),i(41,"h5",3),c(42,"i",4),r(43),o(44,"translate"),n()(),v(45,Wt,3,3,"p",10),v(46,jt,24,20,"ul",12),n(),c(47,"div",13)),d&2&&(t(),p(s(2,35,"menu.settings.title")),t(3),x("aria-expanded",l.showFields.general?"true":"false")("aria-controls","fieldsGeneral"),t(2),_("ngClass",l.showFields.general?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",s(8,37,"settings.general.title_general")," "),t(2),f(l.showFields.general?9:-1),t(2),x("aria-expanded",l.showFields.display?"true":"false")("aria-controls","fieldsDisplay"),t(2),_("ngClass",l.showFields.display?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",s(15,39,"settings.general.title_display")," "),t(2),f(l.showFields.display?16:-1),t(),_("formGroup",l.serviceForm),t(),x("aria-expanded",l.showFields.startup?"true":"false")("aria-controls","fieldsStartup"),t(2),_("ngClass",l.showFields.startup?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",s(22,41,"settings.title_startup_options")," "),t(2),f(l.showFields.startup?23:-1),t(),_("formGroup",l.uiSettingsForm),t(),x("aria-expanded",l.showFields.network?"true":"false")("aria-controls","fieldsNetwork"),t(2),_("ngClass",l.showFields.network?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",s(29,43,"settings.network.title_network")," "),t(2),f(l.showFields.network?30:-1),t(2),x("aria-expanded",l.showFields.cache?"true":"false")("aria-controls","fieldsCache"),t(2),_("ngClass",l.showFields.cache?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",s(36,45,"settings.cache.title")," "),t(2),f(l.showFields.cache?37:-1),t(),f(l.showFields.cache?38:-1),t(2),x("aria-expanded",l.showFields.reset?"true":"false")("aria-controls","fieldsReset"),t(2),_("ngClass",l.showFields.reset?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",s(44,47,"reset.bridges.title")," "),t(2),f(l.showFields.reset?45:-1),t(),f(l.showFields.reset?46:-1))},dependencies:[L,Ee,J,be,Se,we,ue,ve,G,Ce,q,_e,ye,ke,K,Q,fe,xe,he,j,E],encapsulation:2})}return a})();export{Ae as a,Me as b,Re as c,De as d,fn as e};
|
|
1
|
+
import{a as Ie}from"./chunk-BHHXAFK7.js";import{a as $e}from"./chunk-7JAZ6YZU.js";import{w as Te}from"./chunk-Y2AESYEL.js";import{g as X,m as T,n as Y}from"./chunk-OHFVMRCL.js";import{A as Q,b as G,c as ue,e as q,f as _e,g as te,j as P,k as ge,l as K,m as be,n as ve,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-HSL7FKQV.js";import{h as N,j as Be,k as M}from"./chunk-2MLDRIHX.js";import{a as A,b as E}from"./chunk-KPKQNEWS.js";import{$a as t,Ac as o,Bc as s,Cc as W,Gb as x,Hb as v,Ib as f,Kb as F,Lb as V,M as ee,Mb as R,Nb as _,Ob as i,Pb as n,Qb as c,Ub as k,Xa as re,Xb as b,Ya as le,Yb as g,ac as oe,bc as se,bd as L,cc as de,gd as j,h as B,jc as r,kc as p,la as C,lb as y,lc as u,qc as pe,ra as S,rc as ce,sa as w,sc as me,w as I,wc as H,xc as $,yc as O}from"./chunk-QSPBB6EE.js";function He(a,m){a&1&&(i(0,"div",12),c(1,"i",13),n(),i(2,"p",14),r(3),o(4,"translate"),n()),a&2&&(t(3),p(s(4,1,"reset.no_accessories")))}function Ue(a,m){a&1&&(i(0,"div",12),c(1,"i",15),n(),i(2,"ul",16)(3,"li"),r(4),o(5,"translate"),n(),i(6,"li"),r(7),o(8,"translate"),n(),i(9,"li"),r(10),o(11,"translate"),n()(),i(12,"ngb-alert",17)(13,"p",18),r(14),o(15,"translate"),n()()),a&2&&(t(4),p(s(5,5,"reset.accessory_all.list_1")),t(3),p(s(8,7,"reset.accessory_all.list_2")),t(3),p(s(11,9,"reset.accessory_all.list_3")),t(2),_("dismissible",!1),t(2),p(s(15,11,"reset.action_is_irreversible")))}function Oe(a,m){if(a&1){let e=k();i(0,"button",19),o(1,"translate"),b("click",function(){S(e);let l=g();return w(l.$activeModal.dismiss("Dismiss"))}),r(2),o(3,"translate"),n()}if(a&2){let e=g();_("disabled",e.clicked),x("aria-label",s(1,3,"form.button_close")),t(2),u(" ",s(3,5,"form.button_close")," ")}}function Le(a,m){if(a&1){let e=k();i(0,"button",20),o(1,"translate"),b("click",function(){S(e);let l=g();return w(l.$activeModal.dismiss("Dismiss"))}),r(2),o(3,"translate"),n()}a&2&&(x("aria-label",s(1,2,"form.button_close")),t(2),u(" ",s(3,4,"form.button_close")," "))}function ze(a,m){a&1&&(r(0),o(1,"translate")),a&2&&u(" ",s(1,1,"form.button_remove")," ")}function We(a,m){a&1&&c(0,"i",22)}function je(a,m){if(a&1){let e=k();i(0,"button",21),b("click",function(){S(e);let l=g();return w(l.onResetCachedAccessoriesClick())}),v(1,ze,2,3),v(2,We,1,0,"i",22),n()}if(a&2){let e=g();_("disabled",e.clicked),t(),f(e.clicked?-1:1),t(),f(e.clicked?2:-1)}}var Ae=(()=>{class a{$activeModal=C(T);$api=C(M);$router=C(U);$toastr=C(N);$translate=C(A);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||a)};static \u0275cmp=y({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(d,l){d&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),o(4,"translate"),n(),i(5,"button",3),o(6,"translate"),b("click",function(){return l.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4),v(8,He,5,3),v(9,Ue,16,13),n(),i(10,"div",5)(11,"div",6),v(12,Oe,4,7,"button",7),n(),i(13,"div",8),v(14,Le,4,6,"button",9),n(),i(15,"div",10),v(16,je,3,3,"button",11),n()()()),d&2&&(t(3),p(s(4,8,"reset.accessory_all.title")),t(2),_("disabled",l.clicked),x("aria-label",s(6,10,"form.button_close")),t(3),f(l.cachedAccessories.length===0?8:-1),t(),f(l.cachedAccessories.length>0?9:-1),t(3),f(l.cachedAccessories.length>0?12:-1),t(2),f(l.cachedAccessories.length===0?14:-1),t(2),f(l.cachedAccessories.length>0?16:-1))},dependencies:[X,E],encapsulation:2})}return a})();var Ge=(a,m)=>({"green-text":a,"grey-text":m}),qe=(a,m)=>({"btn-danger":a,"btn-elegant":m}),Ke=(a,m,e)=>({"fa-broom":a,"fa-undo":m,"fa-spinner fa-pulse":e});function Je(a,m){a&1&&(i(0,"div",12),c(1,"i",13),n(),i(2,"p",14),r(3),o(4,"translate"),n()),a&2&&(t(3),p(s(4,1,"reset.bridge_accessories.empty")))}function Qe(a,m){if(a&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),n()()(),i(10,"button",22),o(11,"translate"),b("click",function(){let l=S(e).$implicit,h=g(2);return w(h.toggleList(l._id))}),c(12,"i",23),n()()}if(a&2){let e=m.$implicit,d=g(2);t(2),u(" ",e.name," "),t(3),_("ngClass",$(12,Ge,e._isPaired,!e._isPaired)),t(),u(" ",s(7,8,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),p(e._username),t(),_("disabled",d.clicked)("ngClass",$(15,qe,!d.toDelete.includes(e._id),d.toDelete.includes(e._id))),x("aria-label",s(11,10,"form.button_delete")),t(2),_("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(a,m){if(a&1&&(i(0,"div",12),c(1,"i",15),n(),i(2,"ul",16)(3,"li"),r(4),o(5,"translate"),n(),i(6,"li"),r(7),o(8,"translate"),n(),i(9,"li"),r(10),o(11,"translate"),n()(),i(12,"ul",17),V(13,Qe,13,22,"li",18,F),n()),a&2){let e=g();t(4),p(s(5,3,"reset.bridge_accessories.list_1")),t(3),p(s(8,5,"reset.clear_cache_single.list_3")),t(3),p(s(11,7,"reset.bridge_accessories.list_2")),t(3),R(e.pairings)}}function Ye(a,m){if(a&1){let e=k();i(0,"button",24),b("click",function(){S(e);let l=g();return w(l.$activeModal.dismiss("Dismiss"))}),r(1),o(2,"translate"),n()}if(a&2){let e=g();_("disabled",e.clicked),t(),u(" ",s(2,2,"form.button_close")," ")}}function Ze(a,m){if(a&1){let e=k();i(0,"button",25),b("click",function(){S(e);let l=g();return w(l.$activeModal.dismiss("Dismiss"))}),r(1),o(2,"translate"),n()}a&2&&(t(),u(" ",s(2,1,"form.button_close")," "))}function et(a,m){if(a&1&&r(0),a&2){let e=g(3);u(" (",e.toDelete.length,") ")}}function tt(a,m){if(a&1&&(r(0),o(1,"translate"),v(2,et,1,1)),a&2){let e=g(2);u(" ",s(1,2,"form.button_remove")," "),t(2),f(e.toDelete.length>0?2:-1)}}function it(a,m){a&1&&c(0,"i",27)}function nt(a,m){if(a&1){let e=k();i(0,"button",26),b("click",function(){S(e);let l=g();return w(l.cleanBridges())}),v(1,tt,3,4),v(2,it,1,0,"i",27),n()}if(a&2){let e=g();_("disabled",!e.toDelete.length||e.clicked),t(),f(e.clicked?-1:1),t(),f(e.clicked?2:-1)}}var Ne=(()=>{class a{$activeModal=C(T);$api=C(M);$router=C(U);$toastr=C(N);$translate=C(A);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||a)};static \u0275cmp=y({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(d,l){d&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),o(4,"translate"),n(),i(5,"button",3),o(6,"translate"),b("click",function(){return l.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4),v(8,Je,5,3),v(9,Xe,15,9),n(),i(10,"div",5)(11,"div",6),v(12,Ye,3,4,"button",7),n(),i(13,"div",8),v(14,Ze,3,3,"button",9),n(),i(15,"div",10),v(16,nt,3,3,"button",11),n()()()),d&2&&(t(3),p(s(4,8,"reset.bridge_accessories.title")),t(2),_("disabled",l.clicked),x("aria-label",s(6,10,"form.button_close")),t(3),f(l.pairings.length===0?8:-1),t(),f(l.pairings.length>0?9:-1),t(3),f(l.pairings.length>0?12:-1),t(2),f(l.pairings.length===0?14:-1),t(2),f(l.pairings.length>0?16:-1))},dependencies:[L,E],encapsulation:2})}return a})();function at(a,m){a&1&&(r(0),o(1,"translate")),a&2&&u(" ",s(1,1,"form.button_reset")," ")}function rt(a,m){a&1&&c(0,"i",16)}var Me=(()=>{class a{$activeModal=C(T);$api=C(M);$route=C(U);$toastr=C(N);$translate=C(A);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||a)};static \u0275cmp=y({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(d,l){d&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),o(4,"translate"),n(),i(5,"button",3),o(6,"translate"),b("click",function(){return l.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4)(8,"div",5),c(9,"i",6),n(),i(10,"ul",7)(11,"li"),r(12),o(13,"translate"),n(),i(14,"li"),r(15),o(16,"translate"),n(),i(17,"li"),r(18),o(19,"translate"),n(),i(20,"li"),r(21),o(22,"translate"),n()(),i(23,"ngb-alert",8)(24,"p",9),r(25),o(26,"translate"),n()()(),i(27,"div",10)(28,"div",11)(29,"button",12),o(30,"translate"),b("click",function(){return l.$activeModal.dismiss("Dismiss")}),r(31),o(32,"translate"),n()(),c(33,"div",13),i(34,"div",14)(35,"button",15),b("click",function(){return l.onResetHomebridgeAccessoryClick()}),v(36,at,2,3),v(37,rt,1,0,"i",16),n()()()()),d&2&&(t(3),p(s(4,15,"reset.bridge_all.title")),t(2),_("disabled",l.clicked),x("aria-label",s(6,17,"form.button_close")),t(7),p(s(13,19,"reset.bridge_all.list_1")),t(3),p(s(16,21,"reset.bridge_all.list_2")),t(3),p(s(19,23,"reset.bridge_all.list_3")),t(3),p(s(22,25,"reset.bridge_all.list_4")),t(2),_("dismissible",!1),t(2),p(s(26,27,"reset.action_is_irreversible")),t(4),_("disabled",l.clicked),x("aria-label",s(30,29,"form.button_close")),t(2),u(" ",s(32,31,"form.button_close")," "),t(4),_("disabled",l.clicked),t(),f(l.clicked?-1:36),t(),f(l.clicked?37:-1))},dependencies:[X,E],encapsulation:2})}return a})();var ie=(a,m)=>({"green-text":a,"grey-text":m}),ne=(a,m)=>({"btn-danger":a,"btn-elegant":m}),Fe=(a,m,e)=>({"fa-refresh":a,"fa-undo":m,"fa-spinner fa-pulse":e}),lt=(a,m,e)=>({"fa-trash":a,"fa-undo":m,"fa-spinner fa-pulse":e});function ot(a,m){a&1&&(i(0,"div",12),c(1,"i",13),n(),i(2,"p",14),r(3),o(4,"translate"),n()),a&2&&(t(3),p(s(4,1,"reset.bridges.empty")))}function st(a,m){if(a&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),n(),r(10),o(11,"titlecase"),n()(),i(12,"button",24),o(13,"translate"),b("click",function(){let l=S(e).$implicit,h=g(3);return w(h.toggleList(l._id,!1))}),c(14,"i",25),n()()}if(a&2){let e=m.$implicit,d=g(3);t(2),u(" ",e.name," "),t(3),_("ngClass",$(15,ie,e._isPaired,!e._isPaired)),t(),u(" ",s(7,9,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),p(e._username),t(),u(" \xB7 ",e._main?"Homebridge":s(11,11,e._category)," "),t(2),_("disabled",d.clicked)("ngClass",$(18,ne,!d.isInList(e._id),d.isInList(e._id))),x("aria-label",s(13,13,"form.button_unpair")),t(2),_("ngClass",O(21,Fe,!d.isInList(e._id),d.isInList(e._id)&&!d.clicked,d.isInList(e._id)&&d.clicked))}}function dt(a,m){if(a&1&&(i(0,"ul",16)(1,"li",17)(2,"h6",18),r(3),o(4,"translate"),n(),i(5,"p",19),r(6),o(7,"translate"),n()(),V(8,st,15,25,"li",20,F),n()),a&2){let e=g(2);t(3),p(s(4,2,"reset.bridge_ind.head_non_child")),t(3),p(s(7,4,"reset.bridge_ind.desc_non_child")),t(2),R(e.pairingsNonChild)}}function pt(a,m){if(a&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),n()()(),i(10,"button",24),o(11,"translate"),b("click",function(){let l=S(e).$implicit,h=g(3);return w(h.toggleList(l._id,!0))}),c(12,"i",25),n()()}if(a&2){let e=m.$implicit,d=g(3);t(2),u(" ",e.name," "),t(3),_("ngClass",$(12,ie,e._isPaired,!e._isPaired)),t(),u(" ",s(7,8,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),p(e._username),t(),_("disabled",d.clicked)("ngClass",$(15,ne,!d.isInList(e._id),d.isInList(e._id))),x("aria-label",s(11,10,"form.button_unpair")),t(2),_("ngClass",O(18,Fe,!d.isInList(e._id),d.isInList(e._id)&&!d.clicked,d.isInList(e._id)&&d.clicked))}}function ct(a,m){if(a&1&&(i(0,"ul",16)(1,"li",17)(2,"h6",18),r(3),o(4,"translate"),n(),i(5,"p",19),r(6),o(7,"translate"),n()(),V(8,pt,13,22,"li",20,F),n()),a&2){let e=g(2);t(3),p(s(4,2,"reset.bridge_ind.head_child_active")),t(3),p(s(7,4,"reset.bridge_ind.desc_child_active")),t(2),R(e.pairingsChildActive)}}function mt(a,m){if(a&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),n()()(),i(10,"button",24),o(11,"translate"),b("click",function(){let l=S(e).$implicit,h=g(3);return w(h.toggleList(l._id,!1))}),c(12,"i",25),n()()}if(a&2){let e=m.$implicit,d=g(3);t(2),u(" ",e.name," "),t(3),_("ngClass",$(12,ie,e._isPaired,!e._isPaired)),t(),u(" ",s(7,8,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),p(e._username),t(),_("disabled",d.clicked)("ngClass",$(15,ne,!d.isInList(e._id),d.isInList(e._id))),x("aria-label",s(11,10,"form.button_unpair")),t(2),_("ngClass",O(18,lt,!d.isInList(e._id),d.isInList(e._id)&&!d.clicked,d.isInList(e._id)&&d.clicked))}}function ut(a,m){if(a&1&&(i(0,"ul",16)(1,"li",17)(2,"h6",18),r(3),o(4,"translate"),n(),i(5,"p",19),r(6),o(7,"translate"),n()(),V(8,mt,13,22,"li",20,F),n()),a&2){let e=g(2);t(3),p(s(4,2,"reset.bridge_ind.head_child_stale")),t(3),p(s(7,4,"reset.bridge_ind.desc_child_stale")),t(2),R(e.pairingsChildStale)}}function _t(a,m){if(a&1&&(i(0,"div",12),c(1,"i",15),n(),v(2,dt,10,6,"ul",16),v(3,ct,10,6,"ul",16),v(4,ut,10,6,"ul",16)),a&2){let e=g();t(2),f(e.pairingsNonChild.length>0?2:-1),t(),f(e.pairingsChildActive.length>0?3:-1),t(),f(e.pairingsChildStale.length>0?4:-1)}}function gt(a,m){if(a&1){let e=k();i(0,"button",26),b("click",function(){S(e);let l=g();return w(l.$activeModal.dismiss("Dismiss"))}),r(1),o(2,"translate"),n()}if(a&2){let e=g();_("disabled",e.clicked),t(),u(" ",s(2,2,"form.button_close")," ")}}function bt(a,m){if(a&1){let e=k();i(0,"button",27),b("click",function(){S(e);let l=g();return w(l.$activeModal.dismiss("Dismiss"))}),r(1),o(2,"translate"),n()}a&2&&(t(),u(" ",s(2,1,"form.button_close")," "))}function vt(a,m){if(a&1&&r(0),a&2){let e=g(3);u(" (",e.toDelete.length,") ")}}function ft(a,m){if(a&1&&(r(0),o(1,"translate"),v(2,vt,1,1)),a&2){let e=g(2);u(" ",s(1,2,"form.button_reset")," "),t(2),f(e.toDelete.length>0?2:-1)}}function xt(a,m){a&1&&c(0,"i",29)}function ht(a,m){if(a&1){let e=k();i(0,"button",28),b("click",function(){S(e);let l=g();return w(l.removeBridges())}),v(1,ft,3,4),v(2,xt,1,0,"i",29),n()}if(a&2){let e=g();_("disabled",!e.toDelete.length||e.clicked),t(),f(e.clicked?-1:1),t(),f(e.clicked?2:-1)}}var Ve=(()=>{class a{$activeModal=C(T);$api=C(M);$router=C(U);$toastr=C(N);$translate=C(A);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,l)=>d.name.localeCompare(l.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(l=>l.id===e)?this.toDelete=this.toDelete.filter(l=>l.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||a)};static \u0275cmp=y({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(d,l){d&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),o(4,"translate"),n(),i(5,"button",3),o(6,"translate"),b("click",function(){return l.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4),v(8,ot,5,3),v(9,_t,5,3),n(),i(10,"div",5)(11,"div",6),v(12,gt,3,4,"button",7),n(),i(13,"div",8),v(14,bt,3,3,"button",9),n(),i(15,"div",10),v(16,ht,3,3,"button",11),n()()()),d&2&&(t(3),p(s(4,8,"reset.bridge_ind.title")),t(2),_("disabled",l.clicked),x("aria-label",s(6,10,"form.button_close")),t(3),f(l.pairingsChildActive.length===0&&l.pairingsChildStale.length===0&&l.pairingsNonChild.length===0?8:-1),t(),f(l.pairingsChildActive.length>0||l.pairingsChildStale.length>0||l.pairingsNonChild.length>0?9:-1),t(3),f(l.pairingsChildActive.length>0||l.pairingsChildStale.length>0||l.pairingsNonChild.length>0?12:-1),t(2),f(l.pairingsChildActive.length===0&&l.pairingsChildStale.length===0&&l.pairingsNonChild.length===0?14:-1),t(2),f(l.pairingsChildActive.length>0||l.pairingsChildStale.length>0||l.pairingsNonChild.length>0?16:-1))},dependencies:[L,j,E],encapsulation:2})}return a})();function St(a,m){if(a&1){let e=k();i(0,"li",10)(1,"span")(2,"label",17)(3,"input",18),me("ngModelChange",function(l){let h=S(e).$implicit;return ce(h.selected,l)||(h.selected=l),w(l)}),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),pe("ngModel",e.selected),t(2),p(e.iface),t(3),p(e.ip4||e.ip6)}}var Re=(()=>{class a{$activeModal=C(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||a)};static \u0275cmp=y({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(d,l){d&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),o(4,"translate"),n(),i(5,"button",3),o(6,"translate"),b("click",function(){return l.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4)(8,"div",5),c(9,"i",6),n(),i(10,"ul",7)(11,"li"),r(12),o(13,"translate"),n()(),i(14,"ul",8)(15,"li",9)(16,"strong"),r(17),o(18,"translate"),n(),i(19,"strong"),r(20),o(21,"translate"),n()(),V(22,St,9,5,"li",10,F),n()(),i(24,"div",11)(25,"div",12)(26,"button",13),o(27,"translate"),b("click",function(){return l.$activeModal.dismiss("Dismiss")}),r(28),o(29,"translate"),n()(),c(30,"div",14),i(31,"div",15)(32,"button",16),b("click",function(){return l.submit()}),r(33),o(34,"translate"),n()()()()),d&2&&(t(3),p(s(4,8,"settings.network.title_network_interfaces")),t(2),x("aria-label",s(6,10,"form.button_close")),t(7),p(s(13,12,"settings.network.message_network_interface")),t(5),p(s(18,14,"settings.network.label_interface_name")),t(3),p(s(21,16,"settings.network.label_ip_address")),t(2),R(l.availableNetworkAdapters),t(4),x("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:[J,G,q,K,E],encapsulation:2})}return a})();var wt=["wallpaperInput"],kt=a=>({maxFileSizeText:a});function yt(a,m){if(a&1){let e=k();i(0,"div",10),c(1,"img",20),i(2,"button",21),o(3,"translate"),b("click",function(){S(e);let l=g();return w(l.clearWallpaper())}),c(4,"i",22),n()()}if(a&2){let e=g();t(),_("src",e.wallpaperUrl,le),t(),x("aria-label",s(3,2,"form.button_delete"))}}function Et(a,m){a&1&&c(0,"div",11)}var De=(()=>{class a{$activeModal=C(T);$api=C(M);$modal=C(Y);$settings=C(Z);$toastr=C(N);$translate=C(A);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=l=>{this.wallpaperUrl=l.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||a)};static \u0275cmp=y({type:a,selectors:[["ng-component"]],viewQuery:function(d,l){if(d&1&&oe(wt,5),d&2){let h;se(h=de())&&(l.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,l){if(d&1){let h=k();i(0,"div",1)(1,"div",2)(2,"h5",3),r(3),o(4,"translate"),n(),i(5,"button",4),o(6,"translate"),b("click",function(){return S(h),w(l.$activeModal.dismiss("Dismiss"))}),n()(),i(7,"div",5)(8,"div",6),c(9,"i",7),n(),i(10,"ul",8)(11,"li"),r(12),o(13,"translate"),n(),i(14,"li"),r(15),o(16,"translate"),n(),i(17,"li"),r(18),o(19,"translate"),n()(),i(20,"div",9),v(21,yt,5,4,"div",10)(22,Et,1,0,"div",11),n(),i(23,"div",12)(24,"input",13,0),b("change",function(Pe){return S(h),w(l.onFileChange(Pe.target.files))}),n()()(),i(26,"div",14)(27,"div",15)(28,"button",16),b("click",function(){return S(h),w(l.cancel())}),r(29),o(30,"translate"),n()(),c(31,"div",17),i(32,"div",18)(33,"button",19),b("click",function(){return S(h),w(l.saveWallpaper())}),r(34),o(35,"translate"),n()()()()}d&2&&(t(3),p(s(4,11,"settings.display.wallpaper")),t(2),_("disabled",l.clicked),x("aria-label",s(6,13,"form.button_close")),t(7),p(s(13,15,"settings.display.wallpaper_intro")),t(3),p(W(16,17,"settings.display.wallpaper_rule",H(26,kt,l.maxFileSizeText))),t(3),p(s(19,20,"settings.display.wallpaper_rule2")),t(3),f(l.wallpaperUrl?21:22),t(7),_("disabled",l.clicked),t(),u(" ",s(30,22,"form.button_close")," "),t(4),_("disabled",l.wallpaperUrl===l.originalWallpaperUrl||l.clicked),t(),u(" ",s(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 a})();var ae=a=>({"is-invalid":a}),Bt=a=>({link:a}),It=a=>({"fa-pulse":a}),$t=(a,m)=>({"badge-danger":a,"badge-info":m});function Tt(a,m){a&1&&(i(0,"li",22)(1,"small",23),r(2),o(3,"translate"),n(),i(4,"button",24),o(5,"translate"),r(6),o(7,"translate"),n()()),a&2&&(t(2),p(s(3,3,"settings.changes.saved")),t(2),x("aria-label",s(5,5,"menu.tooltip_restart")),t(2),u(" ",s(7,7,"menu.tooltip_restart")," "))}function At(a,m){if(a&1){let e=k();i(0,"ul",5)(1,"li",14)(2,"span"),r(3,"Homebridge Name"),n(),i(4,"div",15),c(5,"input",16),o(6,"translate"),n()(),i(7,"li",17)(8,"span",18),r(9),o(10,"translate"),n(),i(11,"button",19),o(12,"translate"),b("click",function(){S(e);let l=g();return w(l.openUiSettings())}),c(13,"i",20),n()(),i(14,"li",17)(15,"span",18),r(16),o(17,"translate"),n(),i(18,"button",19),o(19,"translate"),b("click",function(){S(e);let l=g();return w(l.openBackupModal())}),c(20,"i",20),n()(),i(21,"li",17)(22,"span",18),r(23),o(24,"translate"),n(),i(25,"a",21),o(26,"translate"),c(27,"i",20),n()(),v(28,Tt,8,9,"li",22),n()}if(a&2){let e=g();t(5),_("formControl",e.hbNameFormControl)("ngClass",H(24,ae,e.isInvalidHbName)),x("aria-label",s(6,10,"settings.network.port_ui")),t(4),p(s(10,12,"menu.label_settings_advanced")),t(2),x("aria-label",s(12,14,"menu.label_settings_advanced")),t(5),u(" ",s(17,16,"backup.title_backup")," "),t(2),x("aria-label",s(19,18,"backup.title_backup")),t(5),u(" ",s(24,20,"menu.tooltip_user_accounts")," "),t(2),x("aria-label",s(26,22,"menu.tooltip_user_accounts")),t(3),f(e.hasChangedHbName&&!e.isInvalidHbName?28:-1)}}function Nt(a,m){if(a&1){let e=k();i(0,"ul",6)(1,"li",14),r(2),o(3,"translate"),i(4,"div",25)(5,"select",26),b("ngModelChange",function(l){S(e);let h=g();return w(h.saveUiSettingChange("lang",l))}),i(6,"option",27),r(7),o(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),o(67,"translate"),i(68,"div",25)(69,"select",26),b("ngModelChange",function(l){S(e);let h=g();return w(h.saveUiSettingChange("theme",l))}),i(70,"option",56),r(71),o(72,"translate"),n(),i(73,"option",57),r(74),o(75,"translate"),n(),i(76,"option",58),r(77),o(78,"translate"),n(),i(79,"option",59),r(80),o(81,"translate"),n(),i(82,"option",60),r(83),o(84,"translate"),n(),i(85,"option",61),r(86),o(87,"translate"),n(),i(88,"option",62),r(89),o(90,"translate"),n(),i(91,"option",63),r(92),o(93,"translate"),n(),i(94,"option",64),r(95),o(96,"translate"),n(),i(97,"option",65),r(98),o(99,"translate"),n(),i(100,"option",66),r(101),o(102,"translate"),n(),i(103,"option",67),r(104),o(105,"translate"),n(),i(106,"option",68),r(107),o(108,"translate"),n()()()(),i(109,"li",14),r(110),o(111,"translate"),i(112,"div",25)(113,"select",26),b("ngModelChange",function(l){S(e);let h=g();return w(h.saveUiSettingChange("lightingMode",l))}),i(114,"option",27),r(115),o(116,"translate"),n(),i(117,"option",69),r(118),o(119,"translate"),n(),i(120,"option",70),r(121),o(122,"translate"),n()()()(),i(123,"li",14),r(124),o(125,"translate"),i(126,"div",25)(127,"select",26),b("ngModelChange",function(l){S(e);let h=g();return w(h.saveUiSettingChange("menuMode",l))}),i(128,"option",71),r(129),o(130,"translate"),n(),i(131,"option",72),r(132),o(133,"translate"),n()()()(),i(134,"li",14),r(135),o(136,"translate"),i(137,"div",25)(138,"select",26),b("ngModelChange",function(l){S(e);let h=g();return w(h.saveUiSettingChange("tempUnits",l))}),i(139,"option",73),r(140),o(141,"translate"),n(),i(142,"option",74),r(143),o(144,"translate"),n()()()(),i(145,"li",17)(146,"span",18),r(147),o(148,"translate"),n(),i(149,"button",19),o(150,"translate"),b("click",function(){S(e);let l=g();return w(l.openWallpaperModal())}),c(151,"i",20),n()()()}if(a&2){let e=g();t(2),u(" ",s(3,33,"settings.display.lang")," "),t(3),_("ngModel",e.$settings.env.lang),t(2),p(s(8,35,"form.select.auto")),t(59),u(" ",s(67,37,"settings.display.theme")," "),t(3),_("ngModel",e.$settings.theme),t(2),p(s(72,39,"settings.display.orange")),t(3),p(s(75,41,"settings.display.red")),t(3),p(s(78,43,"settings.display.pink")),t(3),p(s(81,45,"settings.display.purple")),t(3),p(s(84,47,"settings.display.deep_purple")),t(3),p(s(87,49,"settings.display.indigo")),t(3),p(s(90,51,"settings.display.blue")),t(3),p(s(93,53,"settings.display.bluegrey")),t(3),p(s(96,55,"settings.display.cyan")),t(3),p(s(99,57,"settings.display.green")),t(3),p(s(102,59,"settings.display.teal")),t(3),p(s(105,61,"settings.display.grey")),t(3),p(s(108,63,"settings.display.brown")),t(3),u(" ",s(111,65,"settings.display.lighting_mode")," "),t(3),_("ngModel",e.$settings.lightingMode),t(2),p(s(116,67,"form.select.auto")),t(3),p(s(119,69,"settings.display.light")),t(3),p(s(122,71,"settings.display.dark")),t(3),u(" ",s(125,73,"settings.display.menu_mode")," "),t(3),_("ngModel",e.$settings.menuMode),t(2),p(s(130,75,"settings.display.menu_default")),t(3),p(s(133,77,"settings.display.menu_freeze")),t(3),u(" ",s(136,79,"settings.display.temp_units")," "),t(3),_("ngModel",e.$settings.env.temperatureUnits),t(2),p(s(141,81,"settings.display.temp_units.c")),t(3),p(s(144,83,"settings.display.temp_units.f")),t(4),p(s(148,85,"settings.display.wallpaper")),t(2),x("aria-label",s(150,87,"settings.display.wallpaper"))}}function Mt(a,m){a&1&&(i(0,"li",17)(1,"span"),r(2),o(3,"translate"),c(4,"br"),i(5,"small",75),r(6),o(7,"translate"),n()(),i(8,"a",86),o(9,"translate"),c(10,"i",20),n()()),a&2&&(t(2),u(" ",s(3,3,"menu.docker.startup_script")),t(4),p(s(7,5,"platform.docker.script_help")),t(2),x("aria-label",s(9,7,"menu.docker.startup_script")))}function Ft(a,m){a&1&&(i(0,"li",22)(1,"small",23),r(2),o(3,"translate"),n(),i(4,"button",24),o(5,"translate"),r(6),o(7,"translate"),n()()),a&2&&(t(2),p(s(3,3,"settings.changes.saved")),t(2),x("aria-label",s(5,5,"menu.tooltip_restart")),t(2),u(" ",s(7,7,"menu.tooltip_restart")," "))}function Vt(a,m){if(a&1&&(i(0,"ul",8)(1,"li",17)(2,"span"),r(3),o(4,"translate"),i(5,"code"),r(6,"-D"),n(),c(7,"br"),i(8,"small",75),r(9),o(10,"translate"),n()(),c(11,"input",76),o(12,"translate"),c(13,"label",77),n(),i(14,"li",17)(15,"span"),r(16),o(17,"translate"),i(18,"code"),r(19,"-I"),n(),c(20,"br"),i(21,"small",75),r(22),o(23,"translate"),n()(),c(24,"input",78),o(25,"translate"),c(26,"label",79),n(),i(27,"li",17)(28,"span"),r(29),o(30,"translate"),i(31,"code"),r(32,"-K"),n(),c(33,"br"),i(34,"small",75),r(35),o(36,"translate"),n()(),c(37,"input",80),o(38,"translate"),c(39,"label",81),n(),i(40,"li",14)(41,"span")(42,"span",82),r(43,"DEBUG"),n(),c(44,"br")(45,"small",83),o(46,"translate"),n(),i(47,"div",25),c(48,"input",84),n()(),i(49,"li",14)(50,"span")(51,"span",82),r(52,"NODE_OPTIONS"),n(),c(53,"br"),i(54,"small",75),r(55),o(56,"translate"),n()(),i(57,"div",25),c(58,"input",85),n()(),v(59,Mt,11,9,"li",17),v(60,Ft,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),x("aria-label",s(12,17,"settings.startup.debug")),t(5),u(" ",s(17,19,"settings.startup.insecure")," "),t(6),p(s(23,21,"settings.startup.insecure_desc")),t(2),x("aria-label",s(25,23,"settings.startup.insecure")),t(5),u(" ",s(30,25,"settings.startup.keep_accessories")," "),t(6),p(s(36,27,"settings.startup.keep_accessories_desc")),t(2),x("aria-label",s(38,29,"settings.startup.keep_accessories")),t(8),_("innerHTML",W(46,31,"settings.service.debug_tooltip",H(36,Bt,e.linkDebug)),re),t(10),p(s(56,34,"settings.service.node_tooltip")),t(4),f(e.$settings.env.runningInDocker?59:-1),t(),f(e.hasChangedService?60:-1)}}function Rt(a,m){a&1&&c(0,"i",98)}function Dt(a,m){if(a&1&&(i(0,"span",88),v(1,Rt,1,0,"i",98),r(2),i(3,"span",99),r(4),o(5,"translate"),n()()),a&2){let e=m.$implicit;_("ngClass",$(6,$t,e.missing,!e.missing)),t(),f(e.missing?1:-1),t(),u(" ",e.iface,": "),t(2),p(e.missing?s(5,4,"settings.mdns_advertiser_not_connected"):e.ip4||e.ip6)}}function Pt(a,m){a&1&&(i(0,"option",92),r(1),o(2,"translate"),n()),a&2&&(t(),u("Avahi (",s(2,1,"settings.mdns_advertiser_rec"),")"))}function Ht(a,m){a&1&&(i(0,"option",95),r(1),o(2,"translate"),n()),a&2&&(t(),u("systemd-resolved (",s(2,1,"settings.mdns_advertiser_exp"),")"))}function Ut(a,m){a&1&&(i(0,"li",22)(1,"small",23),r(2),o(3,"translate"),n(),i(4,"button",24),o(5,"translate"),r(6),o(7,"translate"),n()()),a&2&&(t(2),p(s(3,3,"settings.changes.saved")),t(2),x("aria-label",s(5,5,"menu.tooltip_restart")),t(2),u(" ",s(7,7,"menu.tooltip_restart")," "))}function Ot(a,m){if(a&1){let e=k();i(0,"ul",9)(1,"li",17)(2,"span",18),r(3),o(4,"translate"),c(5,"br"),i(6,"div",87),r(7),o(8,"translate"),n(),V(9,Dt,6,9,"span",88,F),n(),i(11,"button",89),o(12,"translate"),b("click",function(){S(e);let l=g();return w(l.selectNetworkInterfaces())}),c(13,"i",90),n()(),i(14,"li",14)(15,"span"),r(16),o(17,"translate"),c(18,"br"),i(19,"small",75),r(20),o(21,"translate"),n()(),i(22,"div",25)(23,"select",91),o(24,"translate"),v(25,Pt,3,3,"option",92),i(26,"option",93),r(27),o(28,"translate"),n(),i(29,"option",94),r(30,"Bonjour HAP"),n(),v(31,Ht,3,3,"option",95),n()()(),i(32,"li",14)(33,"span"),r(34),o(35,"translate"),c(36,"br"),i(37,"small",75),r(38),o(39,"translate"),n()(),i(40,"div",25),c(41,"input",96),o(42,"translate"),n()(),i(43,"li",14)(44,"span"),r(45),o(46,"translate"),c(47,"br"),i(48,"small",75),r(49),o(50,"translate"),n()(),i(51,"div",25),c(52,"input",97),o(53,"translate"),n()(),v(54,Ut,8,9,"li",22),n()}if(a&2){let e=g();t(3),u(" ",s(4,22,"settings.network.title_network_interfaces")),t(4),p(s(8,24,"settings.network.message_network_interface")),t(2),R(e.bridgeNetworkAdapters),t(2),_("disabled",!e.availableNetworkAdapters.length),x("aria-label",s(12,26,"settings.network.title_network_interfaces")),t(2),_("ngClass",H(48,It,!e.availableNetworkAdapters.length)),t(3),u(" ",s(17,28,"settings.mdns_advertiser")),t(4),p(s(21,30,"settings.mdns_advertiser_help")),t(3),_("formControl",e.legacyMdnsFormControl),x("aria-label",s(24,32,"settings.mdns_advertiser")),t(2),f(e.showAvahiMdnsOption?25:-1),t(2),u(" Ciao ",e.showAvahiMdnsOption?"":"("+s(28,34,"settings.mdns_advertiser_rec")+")"," "),t(4),f(e.showResolvedMdnsOption?31:-1),t(3),u(" ",s(35,36,"settings.network.port_hb")),t(4),p(s(39,38,"settings.network.port_hb_desc")),t(3),_("formControl",e.hbPortFormControl)("ngClass",H(50,ae,e.isInvalidHbPort)),x("aria-label",s(42,40,"settings.network.port_ui")),t(4),u(" ",s(46,42,"settings.network.port_ui")),t(4),p(s(50,44,"settings.network.port_ui_desc")),t(3),_("ngClass",H(52,ae,e.isInvalidHbUiPort)),x("aria-label",s(53,46,"settings.network.port_ui")),t(2),f(e.hasChangedHbPort&&!e.isInvalidHbPort||e.hasChangedUiSettings||e.hasChangedMdns||e.hasChangedBridgeNetworkAdapters?54:-1)}}function Lt(a,m){a&1&&(i(0,"p",10),r(1),o(2,"translate"),n()),a&2&&(t(),p(s(2,1,"settings.cache.desc")))}function zt(a,m){if(a&1){let e=k();i(0,"ul",11)(1,"li",17)(2,"span",18),r(3),o(4,"translate"),c(5,"br"),i(6,"small",75),r(7),o(8,"translate"),n()(),i(9,"button",19),o(10,"translate"),b("click",function(){S(e);let l=g();return w(l.removeSingleCachedAccessories())}),c(11,"i",20),n()(),i(12,"li",17)(13,"span",18),r(14),o(15,"translate"),c(16,"br"),i(17,"small",75),r(18),o(19,"translate"),n()(),i(20,"button",19),o(21,"translate"),b("click",function(){S(e);let l=g();return w(l.removeBridgeAccessories())}),c(22,"i",20),n()(),i(23,"li",17)(24,"span",18),r(25),o(26,"translate"),c(27,"br"),i(28,"small",75),r(29),o(30,"translate"),n()(),i(31,"button",19),o(32,"translate"),b("click",function(){S(e);let l=g();return w(l.removeAllCachedAccessories())}),c(33,"i",20),n()()()}a&2&&(t(3),u(" ",s(4,9,"reset.accessory_ind.title")),t(4),p(s(8,11,"reset.accessory_ind.desc")),t(2),x("aria-label",s(10,13,"reset.accessory_ind.title")),t(5),u(" ",s(15,15,"reset.bridge_accessories.title")),t(4),p(s(19,17,"reset.bridge_accessories.desc")),t(2),x("aria-label",s(21,19,"reset.accessory_all.title")),t(5),u(" ",s(26,21,"reset.accessory_all.title")),t(4),p(s(30,23,"reset.accessory_all.desc")),t(2),x("aria-label",s(32,25,"reset.accessory_all.title")))}function Wt(a,m){a&1&&(i(0,"p",10),r(1),o(2,"translate"),n()),a&2&&(t(),p(s(2,1,"reset.bridges.desc")))}function jt(a,m){if(a&1){let e=k();i(0,"ul",12)(1,"li",17)(2,"span",18),r(3),o(4,"translate"),c(5,"br"),i(6,"small",75),r(7),o(8,"translate"),n()(),i(9,"button",19),o(10,"translate"),b("click",function(){S(e);let l=g();return w(l.unpairAccessory())}),c(11,"i",20),n()(),i(12,"li",17)(13,"span",18),r(14),o(15,"translate"),o(16,"titlecase"),c(17,"br"),i(18,"small",75),r(19),o(20,"translate"),n()(),i(21,"button",19),o(22,"translate"),b("click",function(){S(e);let l=g();return w(l.resetHomebridgeState())}),c(23,"i",20),n()()()}a&2&&(t(3),u(" ",s(4,6,"reset.bridge_ind.title")),t(4),p(s(8,8,"reset.bridge_ind.desc")),t(2),x("aria-label",s(10,10,"reset.bridge_ind.title")),t(5),u(" ",s(16,14,s(15,12,"reset.bridge_all.title"))),t(5),p(s(20,16,"reset.bridge_all.desc")),t(2),x("aria-label",s(22,18,"reset.bridge_all.title")))}var fn=(()=>{class a{$api=C(M);$modal=C(Y);$plugin=C(Te);$settings=C(Z);$toastr=C(N);$translate=C(A);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.initStartupSettingsForm()}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(l=>{this.originalUiSettingsForm[l]!==e[l]&&(this.saveUiSettingChange(l,e[l]),d=!0)}),this.hasChangedUiSettings=d})}initStartupSettingsForm(){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.saveStartupSettingsSettings.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(l=>{console.error(l),this.$toastr.error(l.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"})}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:d=>{console.error(d),this.$toastr.error(d.message,this.$translate.instant("toast.title_error"))}})}resetHomebridgeState(){this.$modal.open(Me,{size:"lg",backdrop:"static"})}unpairAccessory(){this.$modal.open(Ve,{size:"lg",backdrop:"static"})}removeAllCachedAccessories(){this.$modal.open(Ae,{size:"lg",backdrop:"static"})}removeSingleCachedAccessories(){this.$modal.open($e,{size:"lg",backdrop:"static"})}removeBridgeAccessories(){this.$modal.open(Ne,{size:"lg",backdrop:"static"})}initNetworkingOptions(){return B(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 B(this,null,function*(){return Promise.all([I(this.$api.get("/server/network-interfaces/system")),I(this.$api.get("/server/network-interfaces/bridge")),I(this.$api.get("/server/mdns-advertiser")),I(this.$api.get("/server/port"))]).then(([e,d,l,h])=>{this.availableNetworkAdapters=e,this.buildBridgeNetworkAdapterList(d),this.legacyMdnsFormControl.patchValue(l.advertiser),this.originalMdnsSetting=l.advertiser,this.originalBridgeNetworkAdapters=this.bridgeNetworkAdapters.map(D=>D.iface),this.legacyMdnsFormControl.valueChanges.subscribe(D=>{this.setHomebridgeMdnsSetting(D)}),this.hbPortFormControl.patchValue(h.port),this.hbPortFormControl.valueChanges.subscribe(D=>this.setHomebridgePort(D)),this.originalHbPort=h.port})})}setHomebridgeMdnsSetting(e){return B(this,null,function*(){this.$api.put("/server/mdns-advertiser",{advertiser:e}).subscribe({next:()=>{this.hasChangedMdns=e!==this.originalMdnsSetting},error:d=>{console.error(d),this.$toastr.error(d.message,this.$translate.instant("toast.title_error"))}})})}setNetworkInterfaces(e){return B(this,null,function*(){this.$api.put("/server/network-interfaces/bridge",{adapters:e}).subscribe({next:()=>{this.hasChangedBridgeNetworkAdapters=this.originalBridgeNetworkAdapters.join(",")!==e.join(",")},error:d=>{console.error(d),this.$toastr.error(d.message,this.$translate.instant("toast.title_error"))}})})}setHomebridgeName(e){return B(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 B(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(d=>{let l=this.availableNetworkAdapters.find(h=>h.iface===d);return l?(l.selected=!0,l.missing=!1,l):{iface:d,missing:!0}})}selectNetworkInterfaces(){let e=this.$modal.open(Re,{size:"lg",backdrop:"static"});e.componentInstance.availableNetworkAdapters=this.availableNetworkAdapters,e.componentInstance.bridgeNetworkAdapters=this.bridgeNetworkAdapters,e.result.then(d=>{this.buildBridgeNetworkAdapterList(d),this.setNetworkInterfaces(d)}).catch(()=>{})}toggleSection(e){this.showFields[e]=!this.showFields[e]}static \u0275fac=function(d){return new(d||a)};static \u0275cmp=y({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"],["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"],[1,"grey-text","pe-2",3,"innerHTML"],["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(d,l){d&1&&(i(0,"h3",0),r(1),o(2,"translate"),n(),i(3,"div",1)(4,"div",2),b("click",function(){return l.toggleSection("general")}),i(5,"h5",3),c(6,"i",4),r(7),o(8,"translate"),n()(),v(9,At,29,26,"ul",5),n(),i(10,"div",1)(11,"div",2),b("click",function(){return l.toggleSection("display")}),i(12,"h5",3),c(13,"i",4),r(14),o(15,"translate"),n()(),v(16,Nt,152,89,"ul",6),n(),i(17,"form",7)(18,"div",2),b("click",function(){return l.toggleSection("startup")}),i(19,"h5",3),c(20,"i",4),r(21),o(22,"translate"),n()(),v(23,Vt,61,38,"ul",8),n(),i(24,"form",7)(25,"div",2),b("click",function(){return l.toggleSection("network")}),i(26,"h5",3),c(27,"i",4),r(28),o(29,"translate"),n()(),v(30,Ot,55,54,"ul",9),n(),i(31,"div",1)(32,"div",2),b("click",function(){return l.toggleSection("cache")}),i(33,"h5",3),c(34,"i",4),r(35),o(36,"translate"),n()(),v(37,Lt,3,3,"p",10),v(38,zt,34,27,"ul",11),n(),i(39,"div",1)(40,"div",2),b("click",function(){return l.toggleSection("reset")}),i(41,"h5",3),c(42,"i",4),r(43),o(44,"translate"),n()(),v(45,Wt,3,3,"p",10),v(46,jt,24,20,"ul",12),n(),c(47,"div",13)),d&2&&(t(),p(s(2,35,"menu.settings.title")),t(3),x("aria-expanded",l.showFields.general?"true":"false")("aria-controls","fieldsGeneral"),t(2),_("ngClass",l.showFields.general?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",s(8,37,"settings.general.title_general")," "),t(2),f(l.showFields.general?9:-1),t(2),x("aria-expanded",l.showFields.display?"true":"false")("aria-controls","fieldsDisplay"),t(2),_("ngClass",l.showFields.display?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",s(15,39,"settings.general.title_display")," "),t(2),f(l.showFields.display?16:-1),t(),_("formGroup",l.serviceForm),t(),x("aria-expanded",l.showFields.startup?"true":"false")("aria-controls","fieldsStartup"),t(2),_("ngClass",l.showFields.startup?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",s(22,41,"settings.title_startup_options")," "),t(2),f(l.showFields.startup?23:-1),t(),_("formGroup",l.uiSettingsForm),t(),x("aria-expanded",l.showFields.network?"true":"false")("aria-controls","fieldsNetwork"),t(2),_("ngClass",l.showFields.network?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",s(29,43,"settings.network.title_network")," "),t(2),f(l.showFields.network?30:-1),t(2),x("aria-expanded",l.showFields.cache?"true":"false")("aria-controls","fieldsCache"),t(2),_("ngClass",l.showFields.cache?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",s(36,45,"settings.cache.title")," "),t(2),f(l.showFields.cache?37:-1),t(),f(l.showFields.cache?38:-1),t(2),x("aria-expanded",l.showFields.reset?"true":"false")("aria-controls","fieldsReset"),t(2),_("ngClass",l.showFields.reset?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",s(44,47,"reset.bridges.title")," "),t(2),f(l.showFields.reset?45:-1),t(),f(l.showFields.reset?46:-1))},dependencies:[L,Ee,J,be,Se,we,ue,ve,G,Ce,q,_e,ye,ke,K,Q,fe,xe,he,j,E],encapsulation:2})}return a})();export{Ae as a,Me as b,Re as c,De as d,fn as e};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as j,c as $,d as C,e as T,f as N,g as q,j as w,m as H,p as z,q as D,w as G,x as Q,z as A}from"./chunk-
|
|
1
|
+
import{A as j,c as $,d as C,e as T,f as N,g as q,j as w,m as H,p as z,q as D,w as G,x as Q,z as A}from"./chunk-MMYB2ZMV.js";import{d as U}from"./chunk-QY7HUYL5.js";import{c as X}from"./chunk-SYX6K3UY.js";import{b as K}from"./chunk-HSL7FKQV.js";import{j as J}from"./chunk-2MLDRIHX.js";import{b as W}from"./chunk-KPKQNEWS.js";import{$a as n,Ac as l,Bc as d,Hb as p,Ib as u,Lc as b,M as I,Nb as m,Nc as V,Ob as r,Pb as a,Qb as s,Xa as x,Xb as M,Yb as F,bd as B,dc as v,ec as L,ed as O,fb as k,h as y,jc as c,kc as h,la as f,lb as E,lc as P,sd as R,w as S,wc as g}from"./chunk-QSPBB6EE.js";var Z=["password"],ee=["username"],te=["otp"],ie=e=>({background:e}),ne=e=>({anim:e}),Y=e=>({"is-invalid":e});function oe(e,_){if(e&1&&(r(0,"div",8)(1,"span",12),s(2,"i",13),a(),s(3,"input",14,0),l(5,"translate"),a(),r(6,"div",8)(7,"span",12),s(8,"i",15),a(),s(9,"input",16,1),l(11,"translate"),a()),e&2){let i=F();n(3),m("placeholder",d(5,4,"users.label_username"))("ngClass",g(8,Y,i.form.controls.username.dirty&&i.form.controls.username.errors)),n(6),m("placeholder",d(11,6,"users.label_password"))("ngClass",g(10,Y,i.form.controls.password.dirty&&i.form.controls.password.errors))}}function ae(e,_){e&1&&(r(0,"div",8)(1,"span",12),s(2,"i",17),a(),s(3,"input",18,2),l(5,"translate"),a()),e&2&&(n(3),m("placeholder",d(5,1,"login.label_2fa_code")))}function re(e,_){e&1&&(r(0,"div",9)(1,"div",12),s(2,"i",19),a(),r(3,"div",20)(4,"div",21),c(5),l(6,"translate"),a(),s(7,"div",22),l(8,"translate"),a()()),e&2&&(n(5),h(d(6,2,"login.invalid_credentials")),n(2),m("innerHTML",d(8,4,"login.invalid_credentials_2"),x))}function se(e,_){e&1&&(r(0,"div",9)(1,"div",12),s(2,"i",19),a(),r(3,"div",20)(4,"div",21),c(5),l(6,"translate"),a(),s(7,"div",22),l(8,"translate"),a()()),e&2&&(n(5),h(d(6,2,"login.invalid_code")),n(2),m("innerHTML",d(8,4,"login.invalid_credentials_2"),x))}var ye=(()=>{class e{cdr;$auth=f(X);$router=f(U);$settings=f(K);passwordInput=b("password");usernameInput=b("username");otpInput=b("otp");form;backgroundStyle;invalidCredentials=!1;invalid2faCode=!1;twoFactorCodeRequired=!1;inProgress=!1;targetRoute;constructor(i){this.cdr=i}ngOnInit(){this.form=new q({username:new w(""),password:new w("")}),this.form.valueChanges.pipe(I(500)).subscribe(i=>{let o=this.passwordInput()?.nativeElement.value;o&&o!==i.password&&this.form.controls.password.setValue(o)}),this.targetRoute=window.sessionStorage.getItem("target_route")||"",this.setBackground()}ngAfterViewChecked(){this.cdr.detectChanges()}setBackground(){return y(this,null,function*(){if(this.$settings.settingsLoaded||(yield S(this.$settings.onSettingsLoaded)),this.$settings.env.customWallpaperHash&&this.$settings.env.customWallpaperHash){let i=`${J.api.base}/auth/wallpaper/${this.$settings.env.customWallpaperHash}`;this.backgroundStyle=`url('${i}') center/cover`}})}onSubmit(){return y(this,null,function*(){this.invalidCredentials=!1,this.invalid2faCode=!1,this.inProgress=!0,document.getElementById("submit-button")?.blur();let i=this.passwordInput()?.nativeElement.value;i&&i!==this.form.get("password").value&&this.form.controls.password.setValue(i);let o=this.usernameInput()?.nativeElement.value;if(o&&o!==this.form.get("username").value&&this.form.controls.username.setValue(o),this.twoFactorCodeRequired){let t=this.otpInput()?.nativeElement.value;t&&t!==this.form.get("otp").value&&this.form.controls.username.setValue(t)}try{yield this.$auth.login(this.form.getRawValue()),this.$router.navigateByUrl(this.targetRoute),window.sessionStorage.removeItem("target_route")}catch(t){t.status===412?(this.form.controls.otp?(this.form.controls.otp.setErrors(["Invalid Code"]),this.invalid2faCode=!0):this.form.addControl("otp",new w("",[C.required,C.minLength(6),C.maxLength(6)])),this.twoFactorCodeRequired=!0,setTimeout(()=>{document.getElementById("form-ota").focus()},100)):this.invalidCredentials=!0}this.inProgress=!1})}static \u0275fac=function(o){return new(o||e)(k(V))};static \u0275cmp=E({type:e,selectors:[["ng-component"]],viewQuery:function(o,t){o&1&&(v(t.passwordInput,Z,5),v(t.usernameInput,ee,5),v(t.otpInput,te,5)),o&2&&L(3)},decls:15,vars:18,consts:[["username",""],["password",""],["otp",""],[1,"login-container","gradient","d-flex","align-items-start","justify-content-center",3,"ngStyle","ngClass"],[1,"w-100","login-card","d-flex","py-4","flex-column"],["ngSrc","/assets/homebridge-color-round.svg","alt","Homebridge Logo","height","100","width","100","priority","true",1,"homebridge-logo","mx-auto","my-3"],["novalidate","",3,"ngSubmit","formGroup"],[1,"mb-4","text-center"],[1,"input-group","mb-4"],[1,"input-group","no-border","mb-4"],[1,"text-center"],["tabindex","3","id","submit-button","type","submit",1,"btn","btn-primary","mb-4",3,"disabled"],[1,"input-group-text","custom-input"],[1,"fas","fa-fw","fa-user","primary-text","fa-lg"],["formControlName","username","type","text","id","form-username","autofocus","","autocomplete","username","autocapitalize","none","tabindex","1","required","",1,"form-control","custom-input",3,"placeholder","ngClass"],[1,"fas","fa-fw","fa-lock","primary-text","fa-lg"],["formControlName","password","type","password","id","form-pass","autocomplete","current-password","tabindex","2","required","",1,"form-control","custom-input",3,"placeholder","ngClass"],[1,"fas","fa-fw","fa-key","primary-text","fa-lg"],["formControlName","otp","type","text","id","form-ota","autofocus","","autocomplete","one-time-code","autocapitalize","none","inputmode","numeric","pattern","[0-9]*","tabindex","1",1,"form-control","custom-input",3,"placeholder"],[1,"fas","fa-fw","fa-exclamation-triangle","pink-text","fa-lg"],[1,"form-control","custom-input"],[1,"small","grey-text","fw-semibold"],[1,"small","grey-text",3,"innerHTML"]],template:function(o,t){o&1&&(r(0,"div",3)(1,"div",4),s(2,"img",5),r(3,"form",6),M("ngSubmit",function(){return t.onSubmit()}),r(4,"h4",7),c(5),l(6,"translate"),a(),p(7,oe,12,12),p(8,ae,6,3,"div",8),p(9,re,9,6,"div",9),p(10,se,9,6,"div",9),r(11,"div",10)(12,"button",11),c(13),l(14,"translate"),a()()()()()),o&2&&(m("ngStyle",g(14,ie,t.backgroundStyle))("ngClass",g(16,ne,!t.backgroundStyle)),n(3),m("formGroup",t.form),n(2),h(d(6,10,"setup.welcome_to_homebridge")),n(2),u(t.twoFactorCodeRequired?-1:7),n(),u(t.twoFactorCodeRequired?8:-1),n(),u(t.invalidCredentials?9:-1),n(),u(t.invalid2faCode?10:-1),n(2),m("disabled",t.form.invalid),n(),P(" ",d(14,12,"form.label_continue")," "))},dependencies:[O,A,H,$,T,N,G,Q,j,z,D,B,W,R],styles:["body{overflow:scroll!important} body.dark-mode .login-card{background-color:#2b2b2b;color:#fff}.login-container[_ngcontent-%COMP%]{z-index:-1;padding-top:2em;padding-bottom:2em;min-height:100%;background-size:300% 300%}.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%}}.login-card[_ngcontent-%COMP%]{max-width:550px;border-radius:1rem;padding-right:25px;padding-left:25px;background-color:#ffffffe6}.login-card[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:focus{background-color:inherit!important}@media screen and (max-width: 575px){.login-card[_ngcontent-%COMP%]{margin-left:1em;margin-right:1em}}.homebridge-logo[_ngcontent-%COMP%]{margin-bottom:10px}.btn-primary[_ngcontent-%COMP%]{background-color:#4a266c!important;border-color:#4a266c!important}"]})}return e})();export{ye as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a}from"./chunk-RNPMAIOX.js";import"./chunk-MMYB2ZMV.js";import"./chunk-QY7HUYL5.js";import"./chunk-SYX6K3UY.js";import"./chunk-HSL7FKQV.js";import"./chunk-2MLDRIHX.js";import"./chunk-R3JWGCC5.js";import"./chunk-KPKQNEWS.js";import"./chunk-QSPBB6EE.js";export{a as LoginComponent};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a}from"./chunk-S5CDKXVB.js";import"./chunk-JRQEWFL4.js";import"./chunk-FTRT5VYG.js";import"./chunk-XJY7A24W.js";import"./chunk-6SEBWKRM.js";import"./chunk-OHFVMRCL.js";import"./chunk-MMYB2ZMV.js";import"./chunk-QY7HUYL5.js";import"./chunk-HSL7FKQV.js";import"./chunk-2MLDRIHX.js";import"./chunk-R3JWGCC5.js";import"./chunk-KPKQNEWS.js";import"./chunk-QSPBB6EE.js";export{a as ConfigEditorComponent};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as ee}from"./chunk-7VVMNL54.js";import{a as Z,b as ne}from"./chunk-2HBIS5KD.js";import{a as W,b as Y}from"./chunk-BVWBB74Y.js";import{a as X}from"./chunk-ZA436JJP.js";import{m as J,n as K,o as U}from"./chunk-SKVHW32E.js";import{c as N,e as F,l as q,z}from"./chunk-RQA2H3J6.js";import{b as G}from"./chunk-2SEP7Q76.js";import{b as Q}from"./chunk-7ZNHDMCE.js";import{h as M,k as V}from"./chunk-7Z74FGCO.js";import{a as k,b as T}from"./chunk-4SITUFK3.js";import{$a as n,Ac as s,Bc as d,Cc as O,Gb as C,Hb as m,Ib as p,Kb as I,Lb as j,Mb as H,Nb as v,Ob as r,Pb as a,Qb as w,Ub as b,Xb as _,Yb as l,eb as D,g as oe,h as S,id as L,jc as y,kc as x,la as h,lb as $,lc as E,qc as R,ra as g,rc as P,sa as u,sc as B,w as A}from"./chunk-PAZ5V5TQ.js";var ie=oe(ne(),1);function ae(o,f){o&1&&(r(0,"div",5),w(1,"i",12),a())}function se(o,f){if(o&1){let e=b();r(0,"li",17),y(1),s(2,"date"),r(3,"button",18),s(4,"translate"),_("click",function(){let t=g(e).$implicit,c=l(3);return u(c.restore(t.id))}),w(5,"i",19),a()()}if(o&2){let e=f.$implicit;n(),E(" ",O(2,2,e.timestamp,"medium")," "),n(2),C("aria-label",d(4,5,"config.restore.copy_to_editor"))}}function le(o,f){if(o&1&&(r(0,"ul",15),j(1,se,6,7,"li",17,I),a()),o&2){let e=l(2);n(),H(e.backupList)}}function de(o,f){o&1&&(r(0,"p",16),y(1),s(2,"translate"),a()),o&2&&(n(),x(d(2,1,"config.restore.no_backups")))}function ce(o,f){if(o&1&&(r(0,"div",13),w(1,"i",14),a(),r(2,"p",13),y(3),s(4,"translate"),a(),m(5,le,3,0,"ul",15),m(6,de,3,3,"p",16)),o&2){let e=l();n(3),x(d(4,3,"config.restore.title_restore_homebridge_backup")),n(2),p(e.backupList&&e.backupList.length?5:-1),n(),p(!e.backupList||!e.backupList.length?6:-1)}}function me(o,f){if(o&1){let e=b();r(0,"button",20),s(1,"translate"),_("click",function(){g(e);let t=l();return u(t.$activeModal.dismiss("Dismiss"))}),y(2),s(3,"translate"),a()}o&2&&(C("aria-label",d(1,2,"form.button_close")),n(2),E(" ",d(3,4,"form.button_close")," "))}function pe(o,f){if(o&1){let e=b();r(0,"button",20),s(1,"translate"),_("click",function(){g(e);let t=l();return u(t.$activeModal.dismiss("Dismiss"))}),y(2),s(3,"translate"),a()}o&2&&(C("aria-label",d(1,2,"form.button_close")),n(2),E(" ",d(3,4,"form.button_close")," "))}function fe(o,f){if(o&1){let e=b();r(0,"button",21),s(1,"translate"),_("click",function(){g(e);let t=l();return u(t.deleteAllBackups())}),y(2),s(3,"translate"),a()}o&2&&(C("aria-label",d(1,2,"form.button_remove")),n(2),E(" ",d(3,4,"form.button_remove")," "))}var te=(()=>{class o{$activeModal=h(J);$api=h(V);$toastr=h(M);$translate=h(k);loading=!0;backupList=[];constructor(){}ngOnInit(){this.$api.get("/config-editor/backups").subscribe({next:e=>{this.loading=!1,this.backupList=e},error:e=>{this.loading=!1,console.error(e),this.$toastr.error(e.error.message||e.message,this.$translate.instant("toast.title_error"))}})}restore(e){return this.$activeModal.close(e)}deleteAllBackups(){return this.$api.delete("/config-editor/backups").subscribe({next:()=>{this.$activeModal.dismiss(),this.$toastr.success(this.$translate.instant("config.restore.toast_backups_deleted"),this.$translate.instant("toast.title_success"))},error:e=>{console.error(e),this.$toastr.error(e.error.message||e.message,this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(i){return new(i||o)};static \u0275cmp=$({type:o,selectors:[["ng-component"]],decls:17,vars:11,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","primary-text"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-end"],["type","button",1,"btn","btn-danger","me-auto"],[1,"fa","fa-fw","fa-cog","fa-spin",2,"font-size","75px"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-history","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box"],[1,"text-center","mb-0"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"btn","btn-primary","m-0","ms-3",3,"click"],[1,"fas","fa-fw","fa-arrow-right"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button",1,"btn","btn-danger","me-auto",3,"click"]],template:function(i,t){i&1&&(r(0,"div",0)(1,"div",1)(2,"h5",2),y(3),s(4,"translate"),a(),r(5,"button",3),s(6,"translate"),_("click",function(){return t.$activeModal.dismiss("Dismiss")}),a()(),r(7,"div",4),m(8,ae,2,0,"div",5),m(9,ce,7,5),a(),r(10,"div",6)(11,"div",7),m(12,me,4,6,"button",8),a(),r(13,"div",9),m(14,pe,4,6,"button",8),a(),r(15,"div",10),m(16,fe,4,6,"button",11),a()()()),i&2&&(n(3),x(d(4,7,"form.button_restore")),n(2),C("aria-label",d(6,9,"form.button_close")),n(3),p(t.loading?8:-1),n(),p(t.loading?-1:9),n(3),p(!t.loading&&t.backupList.length?12:-1),n(2),p(t.loading||!t.loading&&!t.backupList.length?14:-1),n(2),p(!t.loading&&t.backupList.length?16:-1))},dependencies:[L,T],encapsulation:2})}return o})();function ge(o,f){if(o&1){let e=b();r(0,"button",13),s(1,"translate"),s(2,"translate"),_("click",function(){g(e);let t=l();return u(t.onExportConfig())}),w(3,"i",14),a()}o&2&&(v("ngbTooltip",d(1,2,"form.button_download")),C("aria-label",d(2,4,"form.button_download")))}function ue(o,f){if(o&1){let e=b();r(0,"button",15),s(1,"translate"),s(2,"translate"),_("click",function(){g(e);let t=l();return u(t.onCancelRestore())}),w(3,"i",16),a()}if(o&2){let e=l();v("disabled",e.saveInProgress)("ngbTooltip",d(1,3,"form.button_cancel")),C("aria-label",d(2,5,"form.button_cancel"))}}function he(o,f){if(o&1){let e=b();r(0,"button",13),s(1,"translate"),s(2,"translate"),_("click",function(){g(e);let t=l();return u(t.onRestore())}),w(3,"i",17),a()}o&2&&(v("ngbTooltip",d(1,2,"form.button_restore")),C("aria-label",d(2,4,"form.button_restore")))}function _e(o,f){o&1&&w(0,"i",8)}function be(o,f){o&1&&w(0,"i",9)}function Ce(o,f){if(o&1){let e=b();r(0,"ngx-monaco-editor",18),_("onInit",function(t){g(e);let c=l();return u(c.onEditorInit(t))})("keydown.control.s",function(t){g(e);let c=l();return t.preventDefault(),u(c.onSave())})("keydown.meta.s",function(t){g(e);let c=l();return t.preventDefault(),u(c.onSave())}),a()}if(o&2){let e=l();v("options",e.editorOptions)("model",e.monacoEditorModel)}}function ye(o,f){if(o&1){let e=b();r(0,"ngx-monaco-diff-editor",19),_("onInit",function(t){g(e);let c=l();return u(c.onInitDiffEditor(t))})("keydown.control.s",function(t){g(e);let c=l();return t.preventDefault(),u(c.onSave())})("keydown.meta.s",function(t){g(e);let c=l();return t.preventDefault(),u(c.onSave())}),a()}if(o&2){let e=l();v("options",e.editorOptions)("originalModel",e.monacoEditorModel)("modifiedModel",e.monacoEditorModel)}}function we(o,f){if(o&1){let e=b();r(0,"textarea",20),B("ngModelChange",function(t){g(e);let c=l();return P(c.homebridgeConfig,t)||(c.homebridgeConfig=t),u(t)}),y(1," "),a()}if(o&2){let e=l();R("ngModel",e.homebridgeConfig)}}var Ke=(()=>{class o{$api=h(V);$md=h(X);$modal=h(K);$monacoEditor=h(ee);$route=h(G);$renderer=h(D);$settings=h(Q);$toastr=h(M);$translate=h(k);homebridgeConfig;originalConfig;saveInProgress;isMobile=!1;monacoEditor;editorOptions;monacoEditorModel;editorDecorations=[];lastHeight;visualViewPortEventCallback;constructor(){this.isMobile=this.$md.detect.mobile()}ngOnInit(){this.editorOptions={language:"json",theme:this.$settings.actualLightingMode==="dark"?"vs-dark":"vs-light",automaticLayout:!0};let e=document.querySelector(".content");this.$renderer.setStyle(e,"height","100%"),this.visualViewPortEventCallback=()=>this.visualViewPortChanged(),this.lastHeight=window.innerHeight,window.visualViewport&&!this.isMobile&&(window.visualViewport.addEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.disableTouchMove()),this.visualViewPortEventCallback=()=>this.visualViewPortChanged(),this.lastHeight=window.innerHeight,window.visualViewport&&!this.isMobile&&(window.visualViewport.addEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.disableTouchMove()),this.$route.data.subscribe(i=>{this.homebridgeConfig=i.config}),this.monacoEditorModel={value:"{}",language:"json",uri:window.monaco?window.monaco.Uri.parse("a://homebridge/config.json"):void 0},window.monaco?this.setMonacoEditorModel():this.$monacoEditor.readyEvent.subscribe({next:()=>{this.setMonacoEditorModel()}})}onEditorInit(e){window.editor=e,this.monacoEditor=e,this.monacoEditor.getModel().setValue(this.homebridgeConfig)}onInitDiffEditor(e){this.monacoEditor=e.modifiedEditor,e.getModel().original.setValue(this.originalConfig),e.getModel().modified.setValue(this.homebridgeConfig),window.editor=e}onSave(){return S(this,null,function*(){if(!this.saveInProgress){this.monacoEditor&&(this.editorDecorations=this.monacoEditor.deltaDecorations(this.editorDecorations,[])),this.saveInProgress=!0;try{if(!this.isMobile){yield this.monacoEditor.getAction("editor.action.formatDocument").run();let i=window.monaco.editor.getModelMarkers({owner:"json"});for(let t of i)if(t.message==="Duplicate object key"){this.saveInProgress=!1,this.$toastr.error(this.$translate.instant("config.config_invalid_json"),this.$translate.instant("toast.title_error"));return}this.homebridgeConfig=this.monacoEditor.getModel().getValue()}let e=this.parseConfigFromEditor();this.homebridgeConfig=JSON.stringify(e,null,4),typeof e.bridge!="object"?this.$toastr.error(this.$translate.instant("config.config_bridge_missing"),this.$translate.instant("toast.title_error")):/^(?:[0-9A-F]{2}:){5}[0-9A-F]{2}$/i.test(e.bridge.username)?e.accessories&&!Array.isArray(e.accessories)?this.$toastr.error(this.$translate.instant("config.config_accessory_must_be_array"),this.$translate.instant("toast.title_error")):e.platforms&&!Array.isArray(e.platforms)?this.$toastr.error(this.$translate.instant("config.config_platform_must_be_array"),this.$translate.instant("toast.title_error")):e.platforms&&Array.isArray(e.platforms)&&!this.validateSection(e.platforms,"platform")||e.accessories&&Array.isArray(e.accessories)&&!this.validateSection(e.accessories,"accessory")||e.plugins&&Array.isArray(e.plugins)&&!this.validatePlugins(e.plugins,"plugins")||e.disabledPlugins&&Array.isArray(e.disabledPlugins)&&!this.validatePlugins(e.disabledPlugins,"disabledPlugins")||(yield this.saveConfig(e),this.originalConfig=""):this.$toastr.error(this.$translate.instant("config.config_username_error"),this.$translate.instant("toast.title_error"))}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("config.config_invalid_json"),this.$translate.instant("toast.title_error"))}this.saveInProgress=!1}})}parseConfigFromEditor(){try{return JSON.parse(this.homebridgeConfig)}catch{let i=ie.default.parse(this.homebridgeConfig);return this.homebridgeConfig=JSON.stringify(i,null,4),this.monacoEditor&&this.monacoEditor.getModel().setValue(this.homebridgeConfig),i}}saveConfig(e){return S(this,null,function*(){try{let i=yield A(this.$api.post("/config-editor",e));this.homebridgeConfig=JSON.stringify(i,null,4),this.$modal.open(Z,{size:"lg",backdrop:"static"})}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("config.failed_to_save_config"),this.$translate.instant("toast.title_error"))}})}onRestore(){this.$modal.open(te,{size:"lg",backdrop:"static"}).result.then(e=>{this.originalConfig||(this.originalConfig=this.homebridgeConfig),this.$api.get(`/config-editor/backups/${e}`).subscribe({next:i=>{this.$toastr.info(this.$translate.instant("config.restore.confirm"),this.$translate.instant("config.title_backup_loaded")),this.homebridgeConfig=JSON.stringify(i,null,4),this.monacoEditor&&window.editor.modifiedEditor&&(this.editorDecorations=this.monacoEditor.deltaDecorations(this.editorDecorations,[]),this.monacoEditor.executeEdits("beautifier",[{identifier:"delete",range:new monaco.Range(1,1,this.monacoEditor.getModel().getLineCount()+10,1),text:"",forceMoveMarkers:!0}]),this.monacoEditor.executeEdits("beautifier",[{identifier:"insert",range:new monaco.Range(1,1,1,1),text:this.homebridgeConfig,forceMoveMarkers:!0}]))},error:i=>{console.error(i),this.$toastr.error(i.error.message||this.$translate.instant("backup.load_error"),this.$translate.instant("toast.title_error"))}})}).catch(()=>{})}onExportConfig(){let e=`data:text/json;charset=utf-8,${encodeURIComponent(this.homebridgeConfig)}`,i=document.createElement("a");i.setAttribute("href",e),i.setAttribute("download","config.json"),document.body.appendChild(i),i.click(),i.remove()}onCancelRestore(){this.homebridgeConfig=this.originalConfig,this.originalConfig=""}validateSection(e,i){for(let t of e){if(typeof t!="object"||Array.isArray(t))return this.$toastr.error(this.$translate.instant("config.error_blocks_objects",{type:i}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(t),!1;if(!t[i])return this.$toastr.error(this.$translate.instant("config.error_blocks_type",{type:i}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(t),!1;if(typeof t[i]!="string")return this.$toastr.error(this.$translate.instant("config.error_string_type",{type:i}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(t),!1}return!0}validatePlugins(e,i){for(let t of e)if(typeof t!="string")return this.$toastr.error(this.$translate.instant("config.error_string_array",{key:i}),this.$translate.instant("toast.title_error")),!1;return!0}highlightOffendingArrayItem(e){this.monacoEditor&&(e=JSON.stringify(e,null,4).split(`
|
|
1
|
+
import{a as ee}from"./chunk-JRQEWFL4.js";import{a as Z,b as ne}from"./chunk-FTRT5VYG.js";import{a as W,b as Y}from"./chunk-XJY7A24W.js";import{a as X}from"./chunk-6SEBWKRM.js";import{m as J,n as K,o as U}from"./chunk-OHFVMRCL.js";import{c as N,e as F,l as q,z}from"./chunk-MMYB2ZMV.js";import{b as G}from"./chunk-QY7HUYL5.js";import{b as Q}from"./chunk-HSL7FKQV.js";import{h as M,k as V}from"./chunk-2MLDRIHX.js";import{a as k,b as T}from"./chunk-KPKQNEWS.js";import{$a as n,Ac as s,Bc as d,Cc as O,Gb as C,Hb as m,Ib as p,Kb as I,Lb as j,Mb as H,Nb as v,Ob as r,Pb as a,Qb as w,Ub as b,Xb as _,Yb as l,eb as D,g as oe,h as S,id as L,jc as y,kc as x,la as h,lb as $,lc as E,qc as R,ra as g,rc as P,sa as u,sc as B,w as A}from"./chunk-QSPBB6EE.js";var ie=oe(ne(),1);function ae(o,f){o&1&&(r(0,"div",5),w(1,"i",12),a())}function se(o,f){if(o&1){let e=b();r(0,"li",17),y(1),s(2,"date"),r(3,"button",18),s(4,"translate"),_("click",function(){let t=g(e).$implicit,c=l(3);return u(c.restore(t.id))}),w(5,"i",19),a()()}if(o&2){let e=f.$implicit;n(),E(" ",O(2,2,e.timestamp,"medium")," "),n(2),C("aria-label",d(4,5,"config.restore.copy_to_editor"))}}function le(o,f){if(o&1&&(r(0,"ul",15),j(1,se,6,7,"li",17,I),a()),o&2){let e=l(2);n(),H(e.backupList)}}function de(o,f){o&1&&(r(0,"p",16),y(1),s(2,"translate"),a()),o&2&&(n(),x(d(2,1,"config.restore.no_backups")))}function ce(o,f){if(o&1&&(r(0,"div",13),w(1,"i",14),a(),r(2,"p",13),y(3),s(4,"translate"),a(),m(5,le,3,0,"ul",15),m(6,de,3,3,"p",16)),o&2){let e=l();n(3),x(d(4,3,"config.restore.title_restore_homebridge_backup")),n(2),p(e.backupList&&e.backupList.length?5:-1),n(),p(!e.backupList||!e.backupList.length?6:-1)}}function me(o,f){if(o&1){let e=b();r(0,"button",20),s(1,"translate"),_("click",function(){g(e);let t=l();return u(t.$activeModal.dismiss("Dismiss"))}),y(2),s(3,"translate"),a()}o&2&&(C("aria-label",d(1,2,"form.button_close")),n(2),E(" ",d(3,4,"form.button_close")," "))}function pe(o,f){if(o&1){let e=b();r(0,"button",20),s(1,"translate"),_("click",function(){g(e);let t=l();return u(t.$activeModal.dismiss("Dismiss"))}),y(2),s(3,"translate"),a()}o&2&&(C("aria-label",d(1,2,"form.button_close")),n(2),E(" ",d(3,4,"form.button_close")," "))}function fe(o,f){if(o&1){let e=b();r(0,"button",21),s(1,"translate"),_("click",function(){g(e);let t=l();return u(t.deleteAllBackups())}),y(2),s(3,"translate"),a()}o&2&&(C("aria-label",d(1,2,"form.button_remove")),n(2),E(" ",d(3,4,"form.button_remove")," "))}var te=(()=>{class o{$activeModal=h(J);$api=h(V);$toastr=h(M);$translate=h(k);loading=!0;backupList=[];constructor(){}ngOnInit(){this.$api.get("/config-editor/backups").subscribe({next:e=>{this.loading=!1,this.backupList=e},error:e=>{this.loading=!1,console.error(e),this.$toastr.error(e.error.message||e.message,this.$translate.instant("toast.title_error"))}})}restore(e){return this.$activeModal.close(e)}deleteAllBackups(){return this.$api.delete("/config-editor/backups").subscribe({next:()=>{this.$activeModal.dismiss(),this.$toastr.success(this.$translate.instant("config.restore.toast_backups_deleted"),this.$translate.instant("toast.title_success"))},error:e=>{console.error(e),this.$toastr.error(e.error.message||e.message,this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(i){return new(i||o)};static \u0275cmp=$({type:o,selectors:[["ng-component"]],decls:17,vars:11,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","primary-text"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-end"],["type","button",1,"btn","btn-danger","me-auto"],[1,"fa","fa-fw","fa-cog","fa-spin",2,"font-size","75px"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-history","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box"],[1,"text-center","mb-0"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"btn","btn-primary","m-0","ms-3",3,"click"],[1,"fas","fa-fw","fa-arrow-right"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button",1,"btn","btn-danger","me-auto",3,"click"]],template:function(i,t){i&1&&(r(0,"div",0)(1,"div",1)(2,"h5",2),y(3),s(4,"translate"),a(),r(5,"button",3),s(6,"translate"),_("click",function(){return t.$activeModal.dismiss("Dismiss")}),a()(),r(7,"div",4),m(8,ae,2,0,"div",5),m(9,ce,7,5),a(),r(10,"div",6)(11,"div",7),m(12,me,4,6,"button",8),a(),r(13,"div",9),m(14,pe,4,6,"button",8),a(),r(15,"div",10),m(16,fe,4,6,"button",11),a()()()),i&2&&(n(3),x(d(4,7,"form.button_restore")),n(2),C("aria-label",d(6,9,"form.button_close")),n(3),p(t.loading?8:-1),n(),p(t.loading?-1:9),n(3),p(!t.loading&&t.backupList.length?12:-1),n(2),p(t.loading||!t.loading&&!t.backupList.length?14:-1),n(2),p(!t.loading&&t.backupList.length?16:-1))},dependencies:[L,T],encapsulation:2})}return o})();function ge(o,f){if(o&1){let e=b();r(0,"button",13),s(1,"translate"),s(2,"translate"),_("click",function(){g(e);let t=l();return u(t.onExportConfig())}),w(3,"i",14),a()}o&2&&(v("ngbTooltip",d(1,2,"form.button_download")),C("aria-label",d(2,4,"form.button_download")))}function ue(o,f){if(o&1){let e=b();r(0,"button",15),s(1,"translate"),s(2,"translate"),_("click",function(){g(e);let t=l();return u(t.onCancelRestore())}),w(3,"i",16),a()}if(o&2){let e=l();v("disabled",e.saveInProgress)("ngbTooltip",d(1,3,"form.button_cancel")),C("aria-label",d(2,5,"form.button_cancel"))}}function he(o,f){if(o&1){let e=b();r(0,"button",13),s(1,"translate"),s(2,"translate"),_("click",function(){g(e);let t=l();return u(t.onRestore())}),w(3,"i",17),a()}o&2&&(v("ngbTooltip",d(1,2,"form.button_restore")),C("aria-label",d(2,4,"form.button_restore")))}function _e(o,f){o&1&&w(0,"i",8)}function be(o,f){o&1&&w(0,"i",9)}function Ce(o,f){if(o&1){let e=b();r(0,"ngx-monaco-editor",18),_("onInit",function(t){g(e);let c=l();return u(c.onEditorInit(t))})("keydown.control.s",function(t){g(e);let c=l();return t.preventDefault(),u(c.onSave())})("keydown.meta.s",function(t){g(e);let c=l();return t.preventDefault(),u(c.onSave())}),a()}if(o&2){let e=l();v("options",e.editorOptions)("model",e.monacoEditorModel)}}function ye(o,f){if(o&1){let e=b();r(0,"ngx-monaco-diff-editor",19),_("onInit",function(t){g(e);let c=l();return u(c.onInitDiffEditor(t))})("keydown.control.s",function(t){g(e);let c=l();return t.preventDefault(),u(c.onSave())})("keydown.meta.s",function(t){g(e);let c=l();return t.preventDefault(),u(c.onSave())}),a()}if(o&2){let e=l();v("options",e.editorOptions)("originalModel",e.monacoEditorModel)("modifiedModel",e.monacoEditorModel)}}function we(o,f){if(o&1){let e=b();r(0,"textarea",20),B("ngModelChange",function(t){g(e);let c=l();return P(c.homebridgeConfig,t)||(c.homebridgeConfig=t),u(t)}),y(1," "),a()}if(o&2){let e=l();R("ngModel",e.homebridgeConfig)}}var Ke=(()=>{class o{$api=h(V);$md=h(X);$modal=h(K);$monacoEditor=h(ee);$route=h(G);$renderer=h(D);$settings=h(Q);$toastr=h(M);$translate=h(k);homebridgeConfig;originalConfig;saveInProgress;isMobile=!1;monacoEditor;editorOptions;monacoEditorModel;editorDecorations=[];lastHeight;visualViewPortEventCallback;constructor(){this.isMobile=this.$md.detect.mobile()}ngOnInit(){this.editorOptions={language:"json",theme:this.$settings.actualLightingMode==="dark"?"vs-dark":"vs-light",automaticLayout:!0};let e=document.querySelector(".content");this.$renderer.setStyle(e,"height","100%"),this.visualViewPortEventCallback=()=>this.visualViewPortChanged(),this.lastHeight=window.innerHeight,window.visualViewport&&!this.isMobile&&(window.visualViewport.addEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.disableTouchMove()),this.visualViewPortEventCallback=()=>this.visualViewPortChanged(),this.lastHeight=window.innerHeight,window.visualViewport&&!this.isMobile&&(window.visualViewport.addEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.disableTouchMove()),this.$route.data.subscribe(i=>{this.homebridgeConfig=i.config}),this.monacoEditorModel={value:"{}",language:"json",uri:window.monaco?window.monaco.Uri.parse("a://homebridge/config.json"):void 0},window.monaco?this.setMonacoEditorModel():this.$monacoEditor.readyEvent.subscribe({next:()=>{this.setMonacoEditorModel()}})}onEditorInit(e){window.editor=e,this.monacoEditor=e,this.monacoEditor.getModel().setValue(this.homebridgeConfig)}onInitDiffEditor(e){this.monacoEditor=e.modifiedEditor,e.getModel().original.setValue(this.originalConfig),e.getModel().modified.setValue(this.homebridgeConfig),window.editor=e}onSave(){return S(this,null,function*(){if(!this.saveInProgress){this.monacoEditor&&(this.editorDecorations=this.monacoEditor.deltaDecorations(this.editorDecorations,[])),this.saveInProgress=!0;try{if(!this.isMobile){yield this.monacoEditor.getAction("editor.action.formatDocument").run();let i=window.monaco.editor.getModelMarkers({owner:"json"});for(let t of i)if(t.message==="Duplicate object key"){this.saveInProgress=!1,this.$toastr.error(this.$translate.instant("config.config_invalid_json"),this.$translate.instant("toast.title_error"));return}this.homebridgeConfig=this.monacoEditor.getModel().getValue()}let e=this.parseConfigFromEditor();this.homebridgeConfig=JSON.stringify(e,null,4),typeof e.bridge!="object"?this.$toastr.error(this.$translate.instant("config.config_bridge_missing"),this.$translate.instant("toast.title_error")):/^(?:[0-9A-F]{2}:){5}[0-9A-F]{2}$/i.test(e.bridge.username)?e.accessories&&!Array.isArray(e.accessories)?this.$toastr.error(this.$translate.instant("config.config_accessory_must_be_array"),this.$translate.instant("toast.title_error")):e.platforms&&!Array.isArray(e.platforms)?this.$toastr.error(this.$translate.instant("config.config_platform_must_be_array"),this.$translate.instant("toast.title_error")):e.platforms&&Array.isArray(e.platforms)&&!this.validateSection(e.platforms,"platform")||e.accessories&&Array.isArray(e.accessories)&&!this.validateSection(e.accessories,"accessory")||e.plugins&&Array.isArray(e.plugins)&&!this.validatePlugins(e.plugins,"plugins")||e.disabledPlugins&&Array.isArray(e.disabledPlugins)&&!this.validatePlugins(e.disabledPlugins,"disabledPlugins")||(yield this.saveConfig(e),this.originalConfig=""):this.$toastr.error(this.$translate.instant("config.config_username_error"),this.$translate.instant("toast.title_error"))}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("config.config_invalid_json"),this.$translate.instant("toast.title_error"))}this.saveInProgress=!1}})}parseConfigFromEditor(){try{return JSON.parse(this.homebridgeConfig)}catch{let i=ie.default.parse(this.homebridgeConfig);return this.homebridgeConfig=JSON.stringify(i,null,4),this.monacoEditor&&this.monacoEditor.getModel().setValue(this.homebridgeConfig),i}}saveConfig(e){return S(this,null,function*(){try{let i=yield A(this.$api.post("/config-editor",e));this.homebridgeConfig=JSON.stringify(i,null,4),this.$modal.open(Z,{size:"lg",backdrop:"static"})}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("config.failed_to_save_config"),this.$translate.instant("toast.title_error"))}})}onRestore(){this.$modal.open(te,{size:"lg",backdrop:"static"}).result.then(e=>{this.originalConfig||(this.originalConfig=this.homebridgeConfig),this.$api.get(`/config-editor/backups/${e}`).subscribe({next:i=>{this.$toastr.info(this.$translate.instant("config.restore.confirm"),this.$translate.instant("config.title_backup_loaded")),this.homebridgeConfig=JSON.stringify(i,null,4),this.monacoEditor&&window.editor.modifiedEditor&&(this.editorDecorations=this.monacoEditor.deltaDecorations(this.editorDecorations,[]),this.monacoEditor.executeEdits("beautifier",[{identifier:"delete",range:new monaco.Range(1,1,this.monacoEditor.getModel().getLineCount()+10,1),text:"",forceMoveMarkers:!0}]),this.monacoEditor.executeEdits("beautifier",[{identifier:"insert",range:new monaco.Range(1,1,1,1),text:this.homebridgeConfig,forceMoveMarkers:!0}]))},error:i=>{console.error(i),this.$toastr.error(i.error.message||this.$translate.instant("backup.load_error"),this.$translate.instant("toast.title_error"))}})}).catch(()=>{})}onExportConfig(){let e=`data:text/json;charset=utf-8,${encodeURIComponent(this.homebridgeConfig)}`,i=document.createElement("a");i.setAttribute("href",e),i.setAttribute("download","config.json"),document.body.appendChild(i),i.click(),i.remove()}onCancelRestore(){this.homebridgeConfig=this.originalConfig,this.originalConfig=""}validateSection(e,i){for(let t of e){if(typeof t!="object"||Array.isArray(t))return this.$toastr.error(this.$translate.instant("config.error_blocks_objects",{type:i}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(t),!1;if(!t[i])return this.$toastr.error(this.$translate.instant("config.error_blocks_type",{type:i}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(t),!1;if(typeof t[i]!="string")return this.$toastr.error(this.$translate.instant("config.error_string_type",{type:i}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(t),!1}return!0}validatePlugins(e,i){for(let t of e)if(typeof t!="string")return this.$toastr.error(this.$translate.instant("config.error_string_array",{key:i}),this.$translate.instant("toast.title_error")),!1;return!0}highlightOffendingArrayItem(e){this.monacoEditor&&(e=JSON.stringify(e,null,4).split(`
|
|
2
2
|
`).map(i=>` ${i}`).join(`
|
|
3
3
|
`),setTimeout(()=>{let i=this.monacoEditor.getModel().findMatches(e);if(i.length){let t=i[0].range,c=new monaco.Range(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn);this.editorDecorations=this.monacoEditor.deltaDecorations(this.editorDecorations,[{range:c,options:{isWholeLine:!0,linesDecorationsClassName:"hb-monaco-editor-line-error"}}])}},200))}setMonacoEditorModel(){if(window.monaco.languages.json.jsonDefaults.diagnosticsOptions.schemas.some(i=>i.uri==="http://homebridge/config.json"))return;let e=monaco.Uri.parse("a://homebridge/config.json");window.monaco.languages.json.jsonDefaults.setDiagnosticsOptions({allowComments:!1,validate:!0,schemas:[{uri:"http://homebridge/config.json",fileMatch:[e.toString()],schema:{type:"object",required:["bridge"],properties:{bridge:{type:"object",required:["name","username","port","pin"],properties:{name:{type:"string",description:`The Homebridge instance name.
|
|
4
4
|
This should be unique if you are running multiple instances of Homebridge.`,default:"Homebridge"},username:{type:"string",description:`Homebridge username must be 6 pairs of colon-separated hexadecimal characters (A-F 0-9).
|