homebridge-config-ui-x 5.0.0-beta.1 → 5.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/package.json +1 -1
  2. package/public/{chunk-FPOZAQLC.js → chunk-2ZL77L5V.js} +1 -1
  3. package/public/{chunk-DOLYKWZH.js → chunk-36QI2JZZ.js} +1 -1
  4. package/public/{chunk-S4SOWUAW.js → chunk-54RIF7BL.js} +1 -1
  5. package/public/{chunk-ZEONO5N6.js → chunk-6PFEOQAC.js} +1 -1
  6. package/public/{chunk-422JXES4.js → chunk-AA4ALV5Q.js} +1 -1
  7. package/public/{chunk-FBP5C7VG.js → chunk-C4DMFK2F.js} +1 -1
  8. package/public/{chunk-TS27NWVA.js → chunk-CMASH2I6.js} +1 -1
  9. package/public/{chunk-BQLALGZ5.js → chunk-D63P2BMG.js} +1 -1
  10. package/public/{chunk-C4OONTE3.js → chunk-E6TKCZQK.js} +1 -1
  11. package/public/{chunk-LS7T2AVU.js → chunk-EEAGROCO.js} +1 -1
  12. package/public/{chunk-K6TZNXIW.js → chunk-EXLYVJ3I.js} +1 -1
  13. package/public/{chunk-VROGSJLF.js → chunk-H7H7YVXE.js} +1 -1
  14. package/public/{chunk-3KSUXL3K.js → chunk-LL4U2S7T.js} +1 -1
  15. package/public/{chunk-5UYN5OWH.js → chunk-MMU5EB5I.js} +1 -1
  16. package/public/{chunk-VVILZWTF.js → chunk-MQHO5ODL.js} +1 -1
  17. package/public/{chunk-Z47RP4BH.js → chunk-MQOC5AAT.js} +1 -1
  18. package/public/{chunk-7564WJJL.js → chunk-NJRXPLIM.js} +1 -1
  19. package/public/{chunk-T5QVI4H2.js → chunk-NLHSKWUN.js} +1 -1
  20. package/public/{chunk-DRWF7R4E.js → chunk-PCHM6ESV.js} +1 -1
  21. package/public/{chunk-K3YXRBTH.js → chunk-PREOLVG7.js} +1 -1
  22. package/public/{chunk-RID7V4NP.js → chunk-RYWTZYEC.js} +1 -1
  23. package/public/{chunk-WCQIGCXO.js → chunk-TCMARCBB.js} +1 -1
  24. package/public/{chunk-NZPTOWFC.js → chunk-UBGLUD5C.js} +1 -1
  25. package/public/{chunk-RIWBPQF3.js → chunk-V7NUKNPP.js} +1 -1
  26. package/public/{chunk-7R6JSPNH.js → chunk-W5QNZH4U.js} +1 -1
  27. package/public/{chunk-B6G7GTDI.js → chunk-YXVNS6GA.js} +1 -1
  28. package/public/index.html +1 -1
  29. package/public/{main-VTRWQ63R.js → main-EIMWK4RL.js} +2 -2
@@ -1 +1 @@
1
- import{a as be}from"./chunk-K3YXRBTH.js";import{a as ne}from"./chunk-ZEONO5N6.js";import{d as Pe}from"./chunk-3KSUXL3K.js";import"./chunk-4R6MSI5I.js";import"./chunk-SJTXTMYT.js";import"./chunk-6QEO3BTW.js";import"./chunk-B6C32ZRK.js";import{b as Xe}from"./chunk-LS7T2AVU.js";import"./chunk-GNQUXZMN.js";import"./chunk-THFLPY67.js";import"./chunk-7564WJJL.js";import{d as je}from"./chunk-TS27NWVA.js";import{a as Ve}from"./chunk-7R6JSPNH.js";import"./chunk-JM7QCDMZ.js";import"./chunk-RIWBPQF3.js";import{G as R,M as V,N as G,O as Fe,Q as De,b as ee,c as he,e as te,f as xe,g as se,j as H,k as Se,l as ie,m as ke,n as ye,o as Ce,p as we,q as Ie,r as Be,s as Ee,t as $e,u as Te,v as Me,y as Ae,z as Ne}from"./chunk-WCDFKYP6.js";import{c as F,k as D,m as ve}from"./chunk-S4SOWUAW.js";import{a as N,b as $,c as fe}from"./chunk-F22FMU37.js";import{$ as E,$b as ue,Ab as z,Ga as k,H as ae,Ka as v,La as m,Pb as O,Qb as j,Rb as A,Ua as t,Va as i,Wa as g,X as Y,Xb as J,Za as w,Zb as me,aa as Z,ab as b,bb as h,g as Qe,h as u,ha as y,i as B,ia as C,jb as a,kb as _,lb as f,mb as P,ob as pe,pb as ce,qb as de,sc as ge,t as T,ta as oe,tc as _e,ub as q,vb as M,vc as re,wa as e,xa as S,yb as r,zb as s}from"./chunk-IGUSDGD6.js";var le=Qe(Xe(),1);var Ye=(n,c)=>({"fa-download":n,"fa-cog fa-spin":c}),Ze=n=>({backupTime:n,dayCount:7}),et=(n,c)=>({"fa-trash":n,"fa-cog fa-spin":c}),tt=(n,c)=>({backupSize:n,maxBackupSizeText:c});function it(n,c){if(n&1&&(t(0,"li"),a(1),r(2,"date"),r(3,"translate"),i()),n&2){let p=h();e(),f(" ",z(3,4,"backup.scheduled_backup_time",q(7,Ze,z(2,1,p.backupTime,"shortTime")))," ")}}function nt(n,c){if(n&1&&(t(0,"span",30),r(1,"translate"),g(2,"i",31),a(3),i()),n&2){let p=h().$implicit;m("ngbTooltip",z(1,2,"backup.backup_exceeds_max_size",M(5,tt,p.size+"MB",p.maxBackupSizeText))),e(3),f(" ",p.size,"MB ")}}function at(n,c){if(n&1&&(t(0,"span"),a(1),i()),n&2){let p=h().$implicit;e(),f(" ",p.size,"MB ")}}function rt(n,c){if(n&1){let p=w();t(0,"li",10)(1,"span")(2,"span",25),a(3),r(4,"date"),i(),g(5,"br"),t(6,"small",11),a(7),r(8,"date"),k(9,nt,4,8,"span",26)(10,at,2,1,"span",8),i()(),t(11,"span",12)(12,"button",27),r(13,"translate"),r(14,"translate"),b("click",function(){let o=y(p).$implicit,d=h();return C(d.restore(o))}),g(15,"i",14),i(),t(16,"button",15),r(17,"translate"),r(18,"translate"),b("click",function(){let o=y(p).$implicit,d=h();return C(d.download(o))}),g(19,"i",28),i(),t(20,"button",29),r(21,"translate"),r(22,"translate"),b("click",function(){let o=y(p).$implicit,d=h();return C(d.delete(o))}),g(23,"i",16),i()()()}if(n&2){let p=c.$implicit,l=h();e(2),m("ngbTooltip",p.fileName),e(),f(" ",z(4,15,p.timestamp,"mediumDate")," "),e(4),f(" ",z(8,18,p.timestamp,"shortTime")," \xB7 "),e(2),m("ngIf",p.size>p.maxBackupSize),e(),m("ngIf",p.size<=p.maxBackupSize),e(2),m("disabled",l.clicked||l.deleting||p.size>p.maxBackupSize)("ngbTooltip",s(13,21,"form.button_restore")),v("aria-label",s(14,23,"form.button_restore")),e(4),m("disabled",l.clicked||l.deleting)("ngbTooltip",s(17,25,"form.button_download")),v("aria-label",s(18,27,"form.button_download")),e(4),m("disabled",l.clicked||l.deleting)("ngbTooltip",s(21,29,"form.button_delete")),v("aria-label",s(22,31,"form.button_delete")),e(3),m("ngClass",M(33,et,p.id!==l.deleting,p.id===l.deleting))}}function st(n,c){if(n&1&&(t(0,"div")(1,"div",32)(2,"h4",33),a(3),r(4,"translate"),i(),t(5,"p"),a(6),i()()()),n&2){let p=h();e(3),_(s(4,2,"toast.title_error")),e(3),_(p.errorMessage)}}var Oe=(()=>{let c=class c{constructor(l,o,d,x,I){u(this,"$activeModal");u(this,"$api");u(this,"$modal");u(this,"$toastr");u(this,"$translate");u(this,"clicked",!1);u(this,"scheduledBackups",[]);u(this,"backupTime");u(this,"errorMessage","");u(this,"deleting",null);u(this,"Date",Date);this.$activeModal=l,this.$api=o,this.$modal=d,this.$toastr=x,this.$translate=I}ngOnInit(){this.getScheduledBackups(),this.getNextBackup()}getScheduledBackups(){this.$api.get("/backup/scheduled-backups").subscribe({next:l=>{this.scheduledBackups=l},error:l=>{this.errorMessage=l.error.message||l.message}})}getNextBackup(){this.$api.get("/backup/scheduled-backups/next").subscribe({next:l=>{this.backupTime=l.next},error:l=>{console.error(l)}})}download(l){this.$api.get(`/backup/scheduled-backups/${l.id}`,{observe:"response",responseType:"blob"}).subscribe({next:o=>{let d=l.fileName||"homebridge-backup.tar.gz",x=o.body.size;if(x>globalThis.backup.maxBackupSize){let I=this.$translate.instant("backup.backup_exceeds_max_size",{maxBackupSizeText:globalThis.backup.maxBackupSizeText,size:`${(x/1048576).toFixed(1)}MB`});this.$toastr.warning(I,this.$translate.instant("toast.title_warning"))}(0,le.saveAs)(o.body,d)},error:o=>{console.error(o),this.$toastr.error(this.$translate.instant("backup.backup_download_failed"),this.$translate.instant("toast.title_error"))}})}restore(l){this.$activeModal.close();let o=this.$modal.open(ne,{size:"lg",backdrop:"static"});o.componentInstance.selectedBackup=l}delete(l){this.deleting=l.id,this.$api.delete(`/backup/scheduled-backups/${l.id}`).subscribe({next:()=>{this.getScheduledBackups(),this.deleting=null},error:o=>{this.deleting=null,console.error(o),this.$toastr.error(this.$translate.instant("backup.backup_delete_failed"),this.$translate.instant("toast.title_error"))}})}onDownloadBackupClick(){return B(this,null,function*(){this.clicked=!0,this.$api.get("/backup/download",{observe:"response",responseType:"blob"}).subscribe({next:l=>{let o=l.headers.get("File-Name")||"homebridge-backup.tar.gz";this.clicked=!1;let d=l.body.size;if(d>globalThis.backup.maxBackupSize){let x=this.$translate.instant("backup.backup_exceeds_max_size",{maxBackupSizeText:globalThis.backup.maxBackupSizeText,size:`${(d/1048576).toFixed(1)}MB`});this.$toastr.warning(x,this.$translate.instant("toast.title_warning"))}(0,le.saveAs)(l.body,o)},error:l=>{this.clicked=!1,console.error(l),this.$toastr.error(this.$translate.instant("backup.backup_download_failed"),this.$translate.instant("toast.title_error"))}})})}};u(c,"\u0275fac",function(o){return new(o||c)(S(V),S(F),S(G),S(D),S(N))}),u(c,"\u0275cmp",E({type:c,selectors:[["ng-component"]],decls:54,vars:51,consts:[[1,"modal-content","hb-backup-modal"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center","mt-2","mb-3"],[1,"fas","fa-fw","fa-hard-drive","primary-text",2,"font-size","75px"],[4,"ngIf"],[1,"list-group","list-group-box","mt-2"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[2,"display","flex","flex-wrap","nowrap"],["disabled","",1,"btn","btn-primary","ml-3"],[1,"fas","fa-fw","fa-history"],["placement","bottom","container","modal","openDelay","150","triggers","hover",1,"btn","btn-primary","ml-1",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw",3,"ngClass"],["disabled","",1,"btn","btn-danger","ml-1"],[1,"fas","fa-fw","fa-trash"],["class","list-group-item d-flex justify-content-between align-items-center",4,"ngFor","ngForOf"],[1,"modal-footer","justify-content-between"],[1,"text-left"],[1,"text-center"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-right"],["container","modal","openDelay","150","triggers","hover",3,"ngbTooltip"],["container","modal","openDelay","150","triggers","hover","class","red-text",3,"ngbTooltip",4,"ngIf"],["placement","bottom","container","modal","openDelay","150","triggers","hover",1,"btn","btn-primary","ml-3",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-download"],["placement","bottom","container","modal","openDelay","150","triggers","hover",1,"btn","btn-danger","ml-1",3,"click","disabled","ngbTooltip"],["container","modal","openDelay","150","triggers","hover",1,"red-text",3,"ngbTooltip"],[1,"fas","fa-fw","fa-exclamation-circle"],["role","alert",1,"alert","alert-error"],[1,"alert-heading"]],template:function(o,d){o&1&&(t(0,"div",0)(1,"div",1)(2,"h5",2),a(3),r(4,"translate"),i(),t(5,"button",3),r(6,"translate"),b("click",function(){return d.$activeModal.dismiss("Dismiss")}),t(7,"span",4),a(8,"\xD7"),i()()(),t(9,"div",5)(10,"div",6),g(11,"i",7),i(),t(12,"ul")(13,"li"),a(14),r(15,"translate"),i(),t(16,"li"),a(17),r(18,"translate"),i(),t(19,"li"),a(20),r(21,"translate"),i(),k(22,it,4,9,"li",8),i(),t(23,"ul",9)(24,"li",10)(25,"span")(26,"span"),a(27),r(28,"date"),i(),g(29,"br"),t(30,"small",11),a(31),r(32,"date"),r(33,"translate"),i()(),t(34,"span",12)(35,"button",13),r(36,"translate"),g(37,"i",14),i(),t(38,"button",15),r(39,"translate"),r(40,"translate"),b("click",function(){return d.onDownloadBackupClick()}),g(41,"i",16),i(),t(42,"button",17),r(43,"translate"),g(44,"i",18),i()()(),k(45,rt,24,36,"li",19),i(),k(46,st,7,4,"div",8),i(),t(47,"div",20),g(48,"div",21),t(49,"div",22)(50,"button",23),b("click",function(){return d.$activeModal.dismiss("Dismiss")}),a(51),r(52,"translate"),i()(),g(53,"div",24),i()()),o&2&&(e(3),_(s(4,20,"backup.title_backup")),e(2),m("disabled",d.clicked||d.deleting),v("aria-label",s(6,22,"form.button_close")),e(9),_(s(15,24,"backup.backup_help_one")),e(3),_(s(18,26,"backup.backup_help_two")),e(3),_(s(21,28,"backup.backup_warning")),e(2),m("ngIf",d.backupTime),e(5),f(" ",z(28,30,d.Date.now(),"mediumDate")," "),e(4),P("",z(32,33,d.Date.now(),"shortTime")," \xB7 ",s(33,36,"backup.now"),""),e(4),v("aria-label",s(36,38,"form.button_restore")),e(3),m("disabled",d.clicked)("ngbTooltip",s(39,40,"form.button_download")),v("aria-label",s(40,42,"form.button_download")),e(3),m("ngClass",M(48,Ye,!d.clicked,d.clicked)),e(),v("aria-label",s(43,44,"form.button_delete")),e(3),m("ngForOf",d.scheduledBackups),e(),m("ngIf",d.errorMessage),e(4),m("disabled",d.clicked||d.deleting),e(),f(" ",s(52,46,"form.button_close")," "))},dependencies:[O,j,A,Fe,me,$],encapsulation:2}));let n=c;return n})();function lt(n,c){n&1&&(t(0,"div",11),g(1,"i",15),t(2,"p",16),a(3),r(4,"translate"),i()()),n&2&&(e(3),_(s(4,1,"reset.remove_cached_accessories_single_empty")))}function ot(n,c){n&1&&(t(0,"div")(1,"div",17),g(2,"i",18),i(),t(3,"ngb-alert",19)(4,"p",20),a(5),r(6,"translate"),i(),t(7,"ul",21)(8,"li"),a(9),r(10,"translate"),i(),t(11,"li"),a(12),r(13,"translate"),i(),t(14,"li",16),a(15),r(16,"translate"),i()()()()),n&2&&(e(3),m("dismissible",!1),e(2),_(s(6,5,"reset.action_is_irreversible")),e(4),_(s(10,7,"reset.clear_cache_all.list_1")),e(3),_(s(13,9,"reset.clear_cache_all.list_2")),e(3),_(s(16,11,"reset.clear_cache_all.list_3")))}function pt(n,c){if(n&1){let p=w();t(0,"button",22),r(1,"translate"),b("click",function(){y(p);let o=h();return C(o.$activeModal.dismiss("Dismiss"))}),a(2),r(3,"translate"),i()}if(n&2){let p=h();m("disabled",p.clicked),v("aria-label",s(1,3,"form.button_close")),e(2),f(" ",s(3,5,"form.button_close")," ")}}function ct(n,c){if(n&1){let p=w();t(0,"button",23),r(1,"translate"),b("click",function(){y(p);let o=h();return C(o.$activeModal.dismiss("Dismiss"))}),a(2),r(3,"translate"),i()}n&2&&(v("aria-label",s(1,2,"form.button_close")),e(2),f(" ",s(3,4,"form.button_close")," "))}function dt(n,c){n&1&&(t(0,"span"),a(1),r(2,"translate"),i()),n&2&&(e(),_(s(2,1,"form.button_remove")))}function mt(n,c){n&1&&g(0,"i",26)}function ut(n,c){if(n&1){let p=w();t(0,"button",24),b("click",function(){y(p);let o=h();return C(o.onResetCachedAccessoriesClick())}),k(1,dt,3,3,"span",7)(2,mt,1,0,"i",25),i()}if(n&2){let p=h();m("disabled",p.clicked),e(),m("ngIf",!p.clicked),e(),m("ngIf",p.clicked)}}var Re=(()=>{let c=class c{constructor(l,o,d,x){u(this,"$activeModal");u(this,"$api");u(this,"$toastr");u(this,"$translate");u(this,"clicked");u(this,"cachedAccessories",[]);this.$activeModal=l,this.$api=o,this.$toastr=d,this.$translate=x}ngOnInit(){this.loadCachedAccessories()}loadCachedAccessories(){return B(this,null,function*(){try{this.cachedAccessories=yield T(this.$api.get("/server/cached-accessories"))}catch(l){console.error(l),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()},error:l=>{this.clicked=!1,console.error(l),this.$toastr.error(this.$translate.instant("reset.failed_to_reset"),this.$translate.instant("toast.title_error"))}})}};u(c,"\u0275fac",function(o){return new(o||c)(S(V),S(F),S(D),S(N))}),u(c,"\u0275cmp",E({type:c,selectors:[["ng-component"]],decls:19,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],["class","text-center",4,"ngIf"],[4,"ngIf"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","class","btn btn-elegant","data-dismiss","modal",3,"disabled","click",4,"ngIf"],[1,"text-center"],["type","button","class","btn btn-elegant","data-dismiss","modal",3,"click",4,"ngIf"],[1,"text-right"],["type","button","class","btn btn-danger","data-dismiss","modal",3,"disabled","click",4,"ngIf"],[1,"fas","fa-fw","fa-circle-check","mb-4","primary-text",2,"font-size","75px"],[1,"mb-0"],[1,"text-center","mb-4"],[1,"fas","fa-fw","fa-network-wired","mb-4","primary-text",2,"font-size","75px"],["type","error",2,"margin-bottom","0",3,"dismissible"],[1,"font-weight-bold"],[1,"mb-0","text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],["class","fas fa-fw fa-spinner fa-pulse",4,"ngIf"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(o,d){o&1&&(t(0,"div",0)(1,"div",1)(2,"h5",2),a(3),r(4,"translate"),i(),t(5,"button",3),r(6,"translate"),b("click",function(){return d.$activeModal.dismiss("Dismiss")}),t(7,"span",4),a(8,"\xD7"),i()()(),t(9,"div",5),k(10,lt,5,3,"div",6)(11,ot,17,13,"div",7),i(),t(12,"div",8)(13,"div",9),k(14,pt,4,7,"button",10),i(),t(15,"div",11),k(16,ct,4,6,"button",12),i(),t(17,"div",13),k(18,ut,3,3,"button",14),i()()()),o&2&&(e(3),_(s(4,8,"reset.clear_cache_all.title")),e(2),m("disabled",d.clicked),v("aria-label",s(6,10,"form.button_close")),e(5),m("ngIf",d.cachedAccessories.length===0),e(),m("ngIf",d.cachedAccessories.length>0),e(3),m("ngIf",d.cachedAccessories.length>0),e(2),m("ngIf",d.cachedAccessories.length===0),e(2),m("ngIf",d.cachedAccessories.length>0))},dependencies:[A,R,$],encapsulation:2}));let n=c;return n})();var gt=(n,c)=>({"green-text":n,"red-text":c}),_t=(n,c)=>({"fa-trash":n,"fa-cog fa-spin":c});function ft(n,c){n&1&&(t(0,"div",10),g(1,"i",13),t(2,"p",14),a(3),r(4,"translate"),i()()),n&2&&(e(3),_(s(4,1,"reset.clear_cache_bridge.empty")))}function vt(n,c){if(n&1){let p=w();t(0,"li",21)(1,"span"),a(2),r(3,"titlecase"),g(4,"br"),t(5,"small",22),g(6,"i",23),a(7),r(8,"translate"),i()(),t(9,"button",24),r(10,"translate"),b("click",function(){let o=y(p).$implicit,d=h(2);return C(d.removeAccessories(o._id))}),g(11,"i",25),i()()}if(n&2){let p=c.$implicit,l=h(2);e(2),P(" ",p.displayName," (",p._main?"Homebridge":s(3,8,p._category),") "),e(4),m("ngClass",M(14,gt,p._isPaired,!p._isPaired)),e(),P(" ",s(8,10,p._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 ",p._username," "),e(2),m("disabled",l.deleting||l.deleted.includes(p._id)),v("aria-label",s(10,12,"form.button_delete")),e(2),m("ngClass",M(17,_t,p._id!==l.deleting,p._id===l.deleting))}}function bt(n,c){if(n&1&&(t(0,"div")(1,"div",15),g(2,"i",16),i(),t(3,"ngb-alert",17)(4,"ul",18)(5,"li"),a(6),r(7,"translate"),i(),t(8,"li"),a(9),r(10,"translate"),i(),t(11,"li"),a(12),r(13,"translate"),i()()(),t(14,"ul",19),k(15,vt,12,20,"li",20),i()()),n&2){let p=h();e(3),m("dismissible",!1),e(3),_(s(7,5,"reset.clear_cache_bridge.list_1")),e(3),_(s(10,7,"reset.clear_cache_single.list_3")),e(3),_(s(13,9,"reset.clear_cache_bridge.list_2")),e(3),m("ngForOf",p.pairings)}}var Ue=(()=>{let c=class c{constructor(l,o,d,x,I){u(this,"$activeModal");u(this,"$api");u(this,"$modal");u(this,"$toastr");u(this,"$translate");u(this,"pairings",[]);u(this,"deleting",null);u(this,"deleted",[]);this.$activeModal=l,this.$api=o,this.$modal=d,this.$toastr=x,this.$translate=I}ngOnInit(){this.loadPairings()}loadPairings(){return B(this,null,function*(){try{this.pairings=(yield T(this.$api.get("/server/pairings"))).filter(l=>l._category==="bridge"&&!l._main).sort((l,o)=>o._main?1:-1)}catch(l){console.error(l),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.load_error"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}removeAccessories(l){this.deleting=l,this.$api.delete(`/server/pairings/${l}/accessories`).subscribe({next:()=>B(this,null,function*(){yield this.loadPairings(),this.deleting=null,this.deleted.push(l),this.$toastr.success("",this.$translate.instant("toast.title_success"))}),error:o=>{this.deleting=null,console.error(o),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.unpair_error"),this.$translate.instant("toast.title_error"))}})}ngOnDestroy(){if(this.deleted.length){let l=this.$modal.open(je,{size:"lg",backdrop:"static"});l.componentInstance.bridges=this.deleted.map(o=>{let{_username:d,displayName:x}=this.pairings.find(I=>I._id===o);return{displayName:x,username:d}})}}};u(c,"\u0275fac",function(o){return new(o||c)(S(V),S(F),S(G),S(D),S(N))}),u(c,"\u0275cmp",E({type:c,selectors:[["ng-component"]],decls:19,vars:13,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],["class","text-center",4,"ngIf"],[4,"ngIf"],[1,"modal-footer","justify-content-between"],[1,"text-left"],[1,"text-center"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-right"],[1,"fas","fa-fw","fa-circle-check","mb-4","primary-text",2,"font-size","75px"],[1,"mb-0"],[1,"text-center","mb-4"],[1,"fas","fa-fw","fa-network-wired","primary-text",2,"font-size","75px"],["type","warning",3,"dismissible"],[1,"mb-0","text-left"],[1,"list-group","list-group-box","mt-2"],["class","list-group-item d-flex justify-content-between align-items-center",4,"ngFor","ngForOf"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"fas","fa-fw","fa-link",3,"ngClass"],[1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw",3,"ngClass"]],template:function(o,d){o&1&&(t(0,"div",0)(1,"div",1)(2,"h5",2),a(3),r(4,"translate"),i(),t(5,"button",3),r(6,"translate"),b("click",function(){return d.$activeModal.dismiss("Dismiss")}),t(7,"span",4),a(8,"\xD7"),i()()(),t(9,"div",5),k(10,ft,5,3,"div",6)(11,bt,16,11,"div",7),i(),t(12,"div",8),g(13,"div",9),t(14,"div",10)(15,"button",11),b("click",function(){return d.$activeModal.dismiss("Dismiss")}),a(16),r(17,"translate"),i()(),g(18,"div",12),i()()),o&2&&(e(3),_(s(4,7,"reset.clear_cache_bridge.title")),e(2),m("disabled",d.deleting),v("aria-label",s(6,9,"form.button_close")),e(5),m("ngIf",d.pairings.length===0),e(),m("ngIf",d.pairings.length>0),e(4),m("disabled",d.deleting),e(),f(" ",s(17,11,"form.button_close")," "))},dependencies:[O,j,A,R,J,$],encapsulation:2}));let n=c;return n})();var ht=(n,c)=>({"fa-trash":n,"fa-cog fa-spin":c});function xt(n,c){n&1&&(t(0,"div",10),g(1,"i",13),t(2,"p",14),a(3),r(4,"translate"),i()()),n&2&&(e(3),_(s(4,1,"reset.remove_cached_accessories_single_empty")))}function St(n,c){if(n&1){let p=w();t(0,"li",21)(1,"span"),a(2),g(3,"br"),t(4,"small",22),a(5),i()(),t(6,"button",23),r(7,"translate"),b("click",function(){let o=y(p).$implicit,d=h(2);return C(d.removeAccessory(o))}),g(8,"i",24),i()()}if(n&2){let p=c.$implicit,l=h(2);e(2),P(" ",p.displayName," (",p.plugin,") "),e(3),_(p.UUID),e(),m("disabled",l.deleting),v("aria-label",s(7,6,"form.button_delete")),e(2),m("ngClass",M(8,ht,p.UUID!==l.deleting,p.UUID===l.deleting))}}function kt(n,c){if(n&1&&(t(0,"div")(1,"div",15),g(2,"i",16),i(),t(3,"ngb-alert",17)(4,"ul",18)(5,"li"),a(6),r(7,"translate"),i(),t(8,"li"),a(9),r(10,"translate"),i(),t(11,"li"),a(12),r(13,"translate"),i(),t(14,"li",14),a(15),r(16,"translate"),i()()(),t(17,"ul",19),k(18,St,9,11,"li",20),i()()),n&2){let p=h();e(3),m("dismissible",!1),e(3),_(s(7,6,"reset.clear_cache_single.list_1")),e(3),_(s(10,8,"reset.clear_cache_single.list_2")),e(3),_(s(13,10,"reset.clear_cache_single.list_3")),e(3),_(s(16,12,"reset.clear_cache_single.list_4")),e(3),m("ngForOf",p.cachedAccessories)}}var ze=(()=>{let c=class c{constructor(l,o,d,x){u(this,"$activeModal");u(this,"$api");u(this,"$toastr");u(this,"$translate");u(this,"cachedAccessories",[]);u(this,"deleting",null);this.$activeModal=l,this.$api=o,this.$toastr=d,this.$translate=x}ngOnInit(){this.loadCachedAccessories()}loadCachedAccessories(){return B(this,null,function*(){try{this.cachedAccessories=yield T(this.$api.get("/server/cached-accessories"))}catch(l){console.error(l),this.$toastr.error(this.$translate.instant("reset.error_message"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}removeAccessory(l){this.deleting=l.UUID,this.$toastr.info(this.$translate.instant("reset.removing_cached_accessory_please_wait")),this.$api.delete(`/server/cached-accessories/${l.UUID}`,{params:{cacheFile:l.$cacheFile}}).subscribe({next:()=>B(this,null,function*(){yield this.loadCachedAccessories(),this.deleting=null,this.cachedAccessories.length||this.$activeModal.close(),this.$toastr.success(this.$translate.instant("reset.cached_accessory_removed"),this.$translate.instant("toast.title_success"))}),error:o=>{this.deleting=null,console.error(o),this.$toastr.error(this.$translate.instant("reset.delete_failed"),this.$translate.instant("toast.title_error"))}})}};u(c,"\u0275fac",function(o){return new(o||c)(S(V),S(F),S(D),S(N))}),u(c,"\u0275cmp",E({type:c,selectors:[["ng-component"]],decls:19,vars:13,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],["class","text-center",4,"ngIf"],[4,"ngIf"],[1,"modal-footer","justify-content-between"],[1,"text-left"],[1,"text-center"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-right"],[1,"fas","fa-fw","fa-circle-check","mb-4","primary-text",2,"font-size","75px"],[1,"mb-0"],[1,"text-center","mb-4"],[1,"fas","fa-fw","fa-network-wired","mb-4","primary-text",2,"font-size","75px"],["type","warning",3,"dismissible"],[1,"mb-0","text-left"],[1,"list-group","list-group-box","mt-2"],["class","list-group-item d-flex justify-content-between align-items-center",4,"ngFor","ngForOf"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"btn","btn-danger","ml-3",3,"click","disabled"],[1,"fas","fa-fw",3,"ngClass"]],template:function(o,d){o&1&&(t(0,"div",0)(1,"div",1)(2,"h5",2),a(3),r(4,"translate"),i(),t(5,"button",3),r(6,"translate"),b("click",function(){return d.$activeModal.dismiss("Dismiss")}),t(7,"span",4),a(8,"\xD7"),i()()(),t(9,"div",5),k(10,xt,5,3,"div",6)(11,kt,19,14,"div",7),i(),t(12,"div",8),g(13,"div",9),t(14,"div",10)(15,"button",11),b("click",function(){return d.$activeModal.dismiss("Dismiss")}),a(16),r(17,"translate"),i()(),g(18,"div",12),i()()),o&2&&(e(3),_(s(4,7,"reset.clear_cache_single.title")),e(2),m("disabled",d.deleting),v("aria-label",s(6,9,"form.button_close")),e(5),m("ngIf",d.cachedAccessories.length===0),e(),m("ngIf",d.cachedAccessories.length>0),e(4),m("disabled",d.deleting),e(),f(" ",s(17,11,"form.button_close")," "))},dependencies:[O,j,A,R,$],encapsulation:2}));let n=c;return n})();function Ct(n,c){if(n&1){let p=w();t(0,"li",18)(1,"span")(2,"label",19)(3,"input",20),de("ngModelChange",function(o){let d=y(p).$implicit;return ce(d.selected,o)||(d.selected=o),C(o)}),i(),t(4,"span"),a(5),i(),g(6,"span",21),i()(),t(7,"span"),a(8),i()()}if(n&2){let p=c.$implicit;e(2),m("for","adapter"+p.iface),e(),m("id","adapter"+p.iface),pe("ngModel",p.selected),e(2),_(p.iface),e(3),f(" ",p.ip4||p.ip6," ")}}var He=(()=>{let c=class c{constructor(l){u(this,"$activeModal");u(this,"availableNetworkAdapters");u(this,"bridgeNetworkAdapters");this.$activeModal=l}submit(){this.$activeModal.close(this.availableNetworkAdapters.filter(l=>l.selected).map(l=>l.iface))}};u(c,"\u0275fac",function(o){return new(o||c)(S(V))}),u(c,"\u0275cmp",E({type:c,selectors:[["ng-component"]],inputs:{availableNetworkAdapters:"availableNetworkAdapters",bridgeNetworkAdapters:"bridgeNetworkAdapters"},decls:37,vars:25,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center","mb-4"],[1,"fas","fa-fw","fa-ethernet","mb-4","primary-text",2,"font-size","75px"],[1,"alert"],[1,"list-group","list-group-box"],[1,"list-group-item","d-flex","flex-row","justify-content-between"],["class","list-group-item d-flex flex-row flex-wrap justify-content-between",4,"ngFor","ngForOf"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-right"],["type","button","data-dismiss","modal",1,"btn","btn-primary",3,"click"],[1,"list-group-item","d-flex","flex-row","flex-wrap","justify-content-between"],[1,"hb-uix-switch","d-inline","pr-3",3,"for"],["type","checkbox",3,"ngModelChange","id","ngModel"],[1,"hb-uix-slider","hb-uix-round"]],template:function(o,d){o&1&&(t(0,"div",0)(1,"div",1)(2,"h5",2),a(3),r(4,"translate"),i(),t(5,"button",3),r(6,"translate"),b("click",function(){return d.$activeModal.dismiss("Dismiss")}),t(7,"span",4),a(8,"\xD7"),i()()(),t(9,"div",5)(10,"div",6),g(11,"i",7),i(),t(12,"div",8),a(13),r(14,"translate"),i(),t(15,"ul",9)(16,"li",10)(17,"span")(18,"strong"),a(19),r(20,"translate"),i()(),t(21,"span")(22,"strong"),a(23),r(24,"translate"),i()()(),k(25,Ct,9,5,"li",11),i()(),t(26,"div",12)(27,"div",13)(28,"button",14),r(29,"translate"),b("click",function(){return d.$activeModal.dismiss("Dismiss")}),a(30),r(31,"translate"),i()(),g(32,"div",15),t(33,"div",16)(34,"button",17),b("click",function(){return d.submit()}),a(35),r(36,"translate"),i()()()()),o&2&&(e(3),_(s(4,9,"settings.network.title_network_interfaces")),e(2),v("aria-label",s(6,11,"form.button_close")),e(8),_(s(14,13,"settings.network.message_network_interface")),e(6),_(s(20,15,"settings.network.label_interface_name")),e(4),_(s(24,17,"settings.network.label_ip_address")),e(2),m("ngForOf",d.availableNetworkAdapters),e(3),v("aria-label",s(29,19,"form.button_close")),e(2),f(" ",s(31,21,"form.button_close")," "),e(5),f(" ",s(36,23,"form.button_save")," "))},dependencies:[j,ee,te,ie,$],encapsulation:2}));let n=c;return n})();function It(n,c){n&1&&(t(0,"span"),a(1),r(2,"translate"),i()),n&2&&(e(),_(s(2,1,"form.button_reset")))}function Bt(n,c){n&1&&g(0,"i",20)}var Ge=(()=>{let c=class c{constructor(l,o,d,x,I){u(this,"$activeModal");u(this,"$api");u(this,"$route");u(this,"$toastr");u(this,"$translate");u(this,"clicked");this.$activeModal=l,this.$api=o,this.$route=d,this.$toastr=x,this.$translate=I}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:l=>{console.error(l),this.$toastr.error(this.$translate.instant("reset.failed_to_reset"),this.$translate.instant("toast.title_error"))}})}};u(c,"\u0275fac",function(o){return new(o||c)(S(V),S(F),S(ge),S(D),S(N))}),u(c,"\u0275cmp",E({type:c,selectors:[["ng-component"]],decls:40,vars:33,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center","mb-4"],[1,"fas","fa-fw","fa-bridge","primary-text",2,"font-size","75px"],["type","error",2,"margin-bottom","0",3,"dismissible"],[1,"font-weight-bold"],[1,"mb-0","text-left"],[1,"mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-center"],[1,"text-right"],["type","button","data-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[4,"ngIf"],["class","fas fa-fw fa-spinner fa-pulse",4,"ngIf"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(o,d){o&1&&(t(0,"div",0)(1,"div",1)(2,"h5",2),a(3),r(4,"translate"),i(),t(5,"button",3),r(6,"translate"),b("click",function(){return d.$activeModal.dismiss("Dismiss")}),t(7,"span",4),a(8,"\xD7"),i()()(),t(9,"div",5)(10,"div",6),g(11,"i",7),i(),t(12,"ngb-alert",8)(13,"p",9),a(14),r(15,"translate"),i(),t(16,"ul",10)(17,"li"),a(18),r(19,"translate"),i(),t(20,"li"),a(21),r(22,"translate"),i(),t(23,"li"),a(24),r(25,"translate"),i(),t(26,"li",11),a(27),r(28,"translate"),i()()()(),t(29,"div",12)(30,"div",13)(31,"button",14),r(32,"translate"),b("click",function(){return d.$activeModal.dismiss("Dismiss")}),a(33),r(34,"translate"),i()(),g(35,"div",15),t(36,"div",16)(37,"button",17),b("click",function(){return d.onResetHomebridgeAccessoryClick()}),k(38,It,3,3,"span",18)(39,Bt,1,0,"i",19),i()()()()),o&2&&(e(3),_(s(4,15,"reset.bridges_all.title")),e(2),m("disabled",d.clicked),v("aria-label",s(6,17,"form.button_close")),e(7),m("dismissible",!1),e(2),_(s(15,19,"reset.action_is_irreversible")),e(4),_(s(19,21,"reset.bridges_all.list_1")),e(3),_(s(22,23,"reset.bridges_all.list_2")),e(3),_(s(25,25,"reset.bridges_all.list_3")),e(3),_(s(28,27,"reset.bridges_all.list_4")),e(4),m("disabled",d.clicked),v("aria-label",s(32,29,"form.button_close")),e(2),f(" ",s(34,31,"form.button_close")," "),e(4),m("disabled",d.clicked),e(),m("ngIf",!d.clicked),e(),m("ngIf",d.clicked))},dependencies:[A,R,$],encapsulation:2}));let n=c;return n})();var Et=(n,c)=>({"green-text":n,"red-text":c}),$t=(n,c)=>({"fa-link-slash":n,"fa-cog fa-spin":c});function Tt(n,c){n&1&&(t(0,"div",10),g(1,"i",13),t(2,"p",14),a(3),r(4,"translate"),i()()),n&2&&(e(3),_(s(4,1,"reset.bridges.empty")))}function Mt(n,c){if(n&1){let p=w();t(0,"li",21)(1,"span"),a(2),r(3,"titlecase"),g(4,"br"),t(5,"small",22),g(6,"i",23),a(7),r(8,"translate"),i()(),t(9,"button",24),r(10,"translate"),b("click",function(){let o=y(p).$implicit,d=h(2);return C(d.removeAccessory(o._id))}),g(11,"i",25),i()()}if(n&2){let p=c.$implicit,l=h(2);e(2),P(" ",p.displayName," (",p._main?"Homebridge":s(3,8,p._category),") "),e(4),m("ngClass",M(14,Et,p._isPaired,!p._isPaired)),e(),P(" ",s(8,10,p._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 ",p._username," "),e(2),m("disabled",l.deleting),v("aria-label",s(10,12,"form.button_unpair")),e(2),m("ngClass",M(17,$t,p._id!==l.deleting,p._id===l.deleting))}}function At(n,c){if(n&1&&(t(0,"div")(1,"div",15),g(2,"i",16),i(),t(3,"ngb-alert",17)(4,"ul",18)(5,"li"),a(6),r(7,"translate"),i(),t(8,"li"),a(9),r(10,"translate"),i(),t(11,"li",14),a(12),r(13,"translate"),i()()(),t(14,"ul",19),k(15,Mt,12,20,"li",20),i()()),n&2){let p=h();e(3),m("dismissible",!1),e(3),_(s(7,5,"reset.bridges_single.list_1")),e(3),_(s(10,7,"reset.bridges_single.list_2")),e(3),_(s(13,9,"reset.bridges_single.list_3")),e(3),m("ngForOf",p.pairings)}}var Le=(()=>{let c=class c{constructor(l,o,d,x,I){u(this,"$activeModal");u(this,"$api");u(this,"$modal");u(this,"$toastr");u(this,"$translate");u(this,"pairings",[]);u(this,"deleting",null);u(this,"unpaired",!1);this.$activeModal=l,this.$api=o,this.$modal=d,this.$toastr=x,this.$translate=I}ngOnInit(){this.loadPairings()}loadPairings(){return B(this,null,function*(){try{this.pairings=(yield T(this.$api.get("/server/pairings"))).sort((l,o)=>o._main?1:-1)}catch(l){console.error(l),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.load_error"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}removeAccessory(l){this.deleting=l,this.$api.delete(`/server/pairings/${l}`).subscribe({next:()=>B(this,null,function*(){yield this.loadPairings(),this.pairings.length||this.$activeModal.close(),this.deleting=null,this.unpaired=!0,this.$toastr.success(this.$translate.instant("plugins.settings.restart_required"),this.$translate.instant("toast.title_success"))}),error:o=>{this.deleting=null,console.error(o),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.unpair_error"),this.$translate.instant("toast.title_error"))}})}ngOnDestroy(){this.unpaired&&this.$modal.open(Ve,{size:"lg",backdrop:"static"})}};u(c,"\u0275fac",function(o){return new(o||c)(S(V),S(F),S(G),S(D),S(N))}),u(c,"\u0275cmp",E({type:c,selectors:[["ng-component"]],decls:19,vars:13,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],["class","text-center",4,"ngIf"],[4,"ngIf"],[1,"modal-footer","justify-content-between"],[1,"text-left"],[1,"text-center"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-right"],[1,"fas","fa-fw","fa-circle-check","mb-4","primary-text",2,"font-size","75px"],[1,"mb-0"],[1,"text-center","mb-4"],[1,"fas","fa-fw","fa-bridge","primary-text",2,"font-size","75px"],["type","warning",3,"dismissible"],[1,"mb-0","text-left"],[1,"list-group","list-group-box","mt-2"],["class","list-group-item d-flex justify-content-between align-items-center",4,"ngFor","ngForOf"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"fas","fa-fw","fa-link",3,"ngClass"],[1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw",3,"ngClass"]],template:function(o,d){o&1&&(t(0,"div",0)(1,"div",1)(2,"h5",2),a(3),r(4,"translate"),i(),t(5,"button",3),r(6,"translate"),b("click",function(){return d.$activeModal.dismiss("Dismiss")}),t(7,"span",4),a(8,"\xD7"),i()()(),t(9,"div",5),k(10,Tt,5,3,"div",6)(11,At,16,11,"div",7),i(),t(12,"div",8),g(13,"div",9),t(14,"div",10)(15,"button",11),b("click",function(){return d.$activeModal.dismiss("Dismiss")}),a(16),r(17,"translate"),i()(),g(18,"div",12),i()()),o&2&&(e(3),_(s(4,7,"reset.bridges_single.title")),e(2),m("disabled",d.deleting),v("aria-label",s(6,9,"form.button_close")),e(5),m("ngIf",d.pairings.length===0),e(),m("ngIf",d.pairings.length>0),e(4),m("disabled",d.deleting),e(),f(" ",s(17,11,"form.button_close")," "))},dependencies:[O,j,A,R,J,$],encapsulation:2}));let n=c;return n})();var Nt=n=>({"fa-pulse":n}),We=n=>({"is-invalid":n}),Ft=(n,c)=>({"badge-danger":n,"badge-info":c});function Dt(n,c){if(n&1){let p=w();t(0,"ul",14)(1,"li",15)(2,"span",16),a(3),r(4,"translate"),i(),t(5,"button",17),r(6,"translate"),b("click",function(){y(p);let o=h();return C(o.openBackupModal())}),g(7,"i",18),i()(),t(8,"li",15)(9,"span",16),a(10),r(11,"translate"),i(),t(12,"button",17),r(13,"translate"),b("click",function(){y(p);let o=h();return C(o.openRestoreModal())}),g(14,"i",18),i()(),t(15,"li",15)(16,"span",16),a(17),r(18,"translate"),i(),t(19,"a",19),r(20,"translate"),g(21,"i",18),i()(),t(22,"li",15)(23,"span",16),a(24),r(25,"translate"),i(),t(26,"button",17),r(27,"translate"),b("click",function(){y(p);let o=h();return C(o.openUiSettings())}),g(28,"i",20),i()()()}n&2&&(e(3),f(" ",s(4,8,"backup.title_backup")," "),e(2),v("aria-label",s(6,10,"backup.title_backup")),e(5),f(" ",s(11,12,"form.button_restore")," "),e(2),v("aria-label",s(13,14,"form.button_restore")),e(5),f(" ",s(18,16,"menu.tooltip_user_accounts")," "),e(2),v("aria-label",s(20,18,"menu.tooltip_user_accounts")),e(5),f(" ",s(25,20,"menu.label_settings_advanced")," "),e(2),v("aria-label",s(27,22,"menu.label_settings_advanced")))}function Vt(n,c){n&1&&(t(0,"li",74)(1,"small",75),a(2),r(3,"translate"),i(),t(4,"button",76),r(5,"translate"),a(6),r(7,"translate"),i()()),n&2&&(e(2),_(s(3,3,"settings.changes.saved")),e(2),v("aria-label",s(5,5,"menu.tooltip_restart")),e(2),f(" ",s(7,7,"menu.tooltip_restart")," "))}function jt(n,c){if(n&1){let p=w();t(0,"ul",21)(1,"li",22)(2,"span"),a(3),r(4,"translate"),i(),t(5,"div",23)(6,"select",24),b("ngModelChange",function(o){y(p);let d=h();return C(d.saveUiSettingChange("lang",o))}),t(7,"option",25),a(8),r(9,"translate"),i(),t(10,"option",26),a(11,"Bulgarian (bg)"),i(),t(12,"option",27),a(13,"Catalan (ca)"),i(),t(14,"option",28),a(15,"Chinese - Simplified (zh-CN)"),i(),t(16,"option",29),a(17,"Chinese - Traditional (zh-TW)"),i(),t(18,"option",30),a(19,"Czech (cs)"),i(),t(20,"option",31),a(21,"Dutch (nl)"),i(),t(22,"option",32),a(23,"English (en)"),i(),t(24,"option",33),a(25,"Finnish (fi)"),i(),t(26,"option",34),a(27,"French (fr)"),i(),t(28,"option",35),a(29,"German (de)"),i(),t(30,"option",36),a(31,"Hebrew (he)"),i(),t(32,"option",37),a(33,"Hungarian (hu)"),i(),t(34,"option",38),a(35,"Indonesian (id)"),i(),t(36,"option",39),a(37,"Italian (it)"),i(),t(38,"option",40),a(39,"Japanese (ja)"),i(),t(40,"option",41),a(41,"Korean (ko)"),i(),t(42,"option",42),a(43,"Macedonian (mk)"),i(),t(44,"option",43),a(45,"Norwegian (no)"),i(),t(46,"option",44),a(47,"Polish (pl)"),i(),t(48,"option",45),a(49,"Portuguese (Brazil)"),i(),t(50,"option",46),a(51,"Portuguese (Portugal)"),i(),t(52,"option",47),a(53,"Russian (ru)"),i(),t(54,"option",48),a(55,"Slovenian (sl)"),i(),t(56,"option",49),a(57,"Spanish (es)"),i(),t(58,"option",50),a(59,"Swedish (sv)"),i(),t(60,"option",51),a(61,"Thai (th)"),i(),t(62,"option",52),a(63,"Turkish (tr)"),i(),t(64,"option",53),a(65,"Ukrainian (uk)"),i()()()(),t(66,"li",22)(67,"span"),a(68),r(69,"translate"),i(),t(70,"div",23)(71,"select",24),b("ngModelChange",function(o){y(p);let d=h();return C(d.saveUiSettingChange("theme",o))}),t(72,"option",54),a(73),r(74,"translate"),i(),t(75,"option",55),a(76),r(77,"translate"),i(),t(78,"option",56),a(79),r(80,"translate"),i(),t(81,"option",57),a(82),r(83,"translate"),i(),t(84,"option",58),a(85),r(86,"translate"),i(),t(87,"option",59),a(88),r(89,"translate"),i(),t(90,"option",60),a(91),r(92,"translate"),i(),t(93,"option",61),a(94),r(95,"translate"),i(),t(96,"option",62),a(97),r(98,"translate"),i(),t(99,"option",63),a(100),r(101,"translate"),i(),t(102,"option",64),a(103),r(104,"translate"),i(),t(105,"option",65),a(106),r(107,"translate"),i(),t(108,"option",66),a(109),r(110,"translate"),i()()()(),t(111,"li",22)(112,"span"),a(113),r(114,"translate"),i(),t(115,"div",23)(116,"select",24),b("ngModelChange",function(o){y(p);let d=h();return C(d.saveUiSettingChange("lightingMode",o))}),t(117,"option",25),a(118),r(119,"translate"),i(),t(120,"option",67),a(121),r(122,"translate"),i(),t(123,"option",68),a(124),r(125,"translate"),i()()()(),t(126,"li",22)(127,"span"),a(128),r(129,"translate"),g(130,"br")(131,"small",69),r(132,"translate"),i(),t(133,"div",23)(134,"input",70),b("ngModelChange",function(o){y(p);let d=h();return C(d.saveUiSettingChange("loginWallpaper",o))}),i()()(),t(135,"li",22)(136,"span"),a(137),r(138,"translate"),i(),t(139,"div",23)(140,"select",24),b("ngModelChange",function(o){y(p);let d=h();return C(d.saveUiSettingChange("tempUnits",o))}),t(141,"option",71),a(142),r(143,"translate"),i(),t(144,"option",72),a(145),r(146,"translate"),i()()()(),k(147,Vt,8,9,"li",73),i()}if(n&2){let p=h();e(3),_(s(4,31,"settings.display.lang")),e(3),m("ngModel",p.$settings.env.lang),e(2),_(s(9,33,"form.select.auto")),e(60),_(s(69,35,"settings.display.theme")),e(3),m("ngModel",p.$settings.theme),e(2),_(s(74,37,"settings.display.orange")),e(3),_(s(77,39,"settings.display.red")),e(3),_(s(80,41,"settings.display.pink")),e(3),_(s(83,43,"settings.display.purple")),e(3),_(s(86,45,"settings.display.deep_purple")),e(3),_(s(89,47,"settings.display.indigo")),e(3),_(s(92,49,"settings.display.blue")),e(3),_(s(95,51,"settings.display.bluegrey")),e(3),_(s(98,53,"settings.display.cyan")),e(3),_(s(101,55,"settings.display.green")),e(3),_(s(104,57,"settings.display.teal")),e(3),_(s(107,59,"settings.display.grey")),e(3),_(s(110,61,"settings.display.brown")),e(4),_(s(114,63,"settings.display.lighting_mode")),e(3),m("ngModel",p.$settings.lightingMode),e(2),_(s(119,65,"form.select.auto")),e(3),_(s(122,67,"settings.display.light")),e(3),_(s(125,69,"settings.display.dark")),e(4),f(" ",s(129,71,"settings.display.login_wallpaper"),""),e(3),m("innerHTML",s(132,73,"settings.display.login_wallpaper_desc"),oe),e(3),m("ngModel",p.$settings.loginWallpaper),e(3),_(s(138,75,"settings.display.temp_units")),e(3),m("ngModel",p.$settings.env.temperatureUnits),e(2),_(s(143,77,"settings.display.temp_units.c")),e(3),_(s(146,79,"settings.display.temp_units.f")),e(2),m("ngIf",p.hasChangedLoginWallpaper)}}function Pt(n,c){if(n&1&&(t(0,"li",15)(1,"span"),a(2),r(3,"translate"),t(4,"code"),a(5,"-D"),i(),g(6,"br"),t(7,"small",81),a(8),r(9,"translate"),i()(),g(10,"input",82),r(11,"translate"),g(12,"label",83),i()),n&2){let p=h(3);e(2),f(" ",s(3,3,"settings.startup.debug")," "),e(6),f(" ",s(9,5,p.isHbV2?"settings.startup.debug_desc_v2":"settings.startup.debug_desc_v1")," "),e(2),v("aria-label",s(11,7,"settings.startup.debug"))}}function Ot(n,c){n&1&&(t(0,"li",15)(1,"span"),a(2),r(3,"translate"),t(4,"code"),a(5,"-I"),i(),g(6,"br"),t(7,"small",81),a(8),r(9,"translate"),i()(),g(10,"input",84),r(11,"translate"),g(12,"label",85),i()),n&2&&(e(2),f(" ",s(3,3,"settings.startup.insecure")," "),e(6),_(s(9,5,"settings.startup.insecure_desc")),e(2),v("aria-label",s(11,7,"settings.startup.insecure")))}function Rt(n,c){n&1&&(t(0,"li",15)(1,"span"),a(2),r(3,"translate"),t(4,"code"),a(5,"-K"),i(),g(6,"br"),t(7,"small",81),a(8),r(9,"translate"),i()(),g(10,"input",86),r(11,"translate"),g(12,"label",87),i()),n&2&&(e(2),f(" ",s(3,3,"settings.startup.keep_accessories")," "),e(6),_(s(9,5,"settings.startup.keep_accessories_desc")),e(2),v("aria-label",s(11,7,"settings.startup.keep_accessories")))}function Ut(n,c){n&1&&(t(0,"li",22)(1,"span")(2,"span",88),a(3,"DEBUG"),i(),g(4,"br"),t(5,"small",81),a(6),r(7,"translate"),t(8,"a",89),a(9),r(10,"translate"),g(11,"i",90),i()()(),t(12,"div",23),g(13,"input",91),i()()),n&2&&(e(6),f(" ",s(7,2,"settings.service.debug_tooltip")," "),e(3),f(" ",s(10,4,"form.button_more_info")," "))}function zt(n,c){n&1&&(t(0,"li",22)(1,"span")(2,"span",88),a(3,"NODE_OPTIONS"),i(),g(4,"br"),t(5,"small",81),a(6),r(7,"translate"),i()(),t(8,"div",23),g(9,"input",92),i()()),n&2&&(e(6),_(s(7,1,"settings.service.node_tooltip")))}function Ht(n,c){n&1&&(t(0,"li",15)(1,"span"),a(2),r(3,"translate"),g(4,"br"),t(5,"small",81),a(6),r(7,"translate"),i()(),t(8,"a",93),r(9,"translate"),g(10,"i",18),i()()),n&2&&(e(2),f(" ",s(3,3,"menu.docker.startup_script"),""),e(4),_(s(7,5,"platform.docker.script_help")),e(2),v("aria-label",s(9,7,"menu.docker.startup_script")))}function Gt(n,c){n&1&&(t(0,"li",74)(1,"small",75),a(2),r(3,"translate"),i(),t(4,"button",76),r(5,"translate"),a(6),r(7,"translate"),i()()),n&2&&(e(2),_(s(3,3,"settings.changes.saved")),e(2),v("aria-label",s(5,5,"menu.tooltip_restart")),e(2),f(" ",s(7,7,"menu.tooltip_restart")," "))}function Lt(n,c){if(n&1&&(t(0,"ul",78),k(1,Pt,13,9,"li",79)(2,Ot,13,9,"li",79)(3,Rt,13,9,"li",79)(4,Ut,14,6,"li",80)(5,zt,10,3,"li",80)(6,Ht,11,9,"li",79)(7,Gt,8,9,"li",73),i()),n&2){let p=h(2);e(),m("ngIf",p.$settings.env.serviceMode),e(),m("ngIf",p.$settings.env.serviceMode),e(),m("ngIf",p.$settings.env.serviceMode),e(),m("ngIf",p.$settings.env.serviceMode),e(),m("ngIf",p.$settings.env.serviceMode),e(),m("ngIf",p.$settings.env.runningInDocker),e(),m("ngIf",p.hasChangedService)}}function Wt(n,c){if(n&1){let p=w();t(0,"form",8)(1,"div",2),b("click",function(){y(p);let o=h();return C(o.toggleSection("startup"))}),t(2,"h5",3),g(3,"i",4),a(4),r(5,"translate"),i()(),k(6,Lt,8,7,"ul",77),i()}if(n&2){let p=h();m("formGroup",p.serviceForm),e(),v("aria-expanded",p.showFields.startup?"true":"false")("aria-controls","fieldsStartup"),e(2),m("ngClass",p.showFields.startup?"fa-chevron-down":"fa-chevron-right"),e(),f(" ",s(5,6,"settings.title_startup_options")," "),e(2),m("ngIf",p.showFields.startup)}}function Kt(n,c){n&1&&g(0,"i",108)}function qt(n,c){if(n&1&&(t(0,"span")(1,"span",105),k(2,Kt,1,0,"i",106),a(3),t(4,"span",107),a(5),r(6,"translate"),i()()()),n&2){let p=c.$implicit;e(),m("ngClass",M(6,Ft,p.missing,!p.missing)),e(),m("ngIf",p.missing),e(),f(" ",p.iface,": "),e(2),_(p.missing?s(6,4,"settings.mdns_advertiser_not_connected"):p.ip4||p.ip6)}}function Jt(n,c){n&1&&(t(0,"option",109),a(1),r(2,"translate"),i()),n&2&&(e(),f(" Avahi (",s(2,1,"settings.mdns_advertiser_rec"),") "))}function Qt(n,c){n&1&&(t(0,"option",110),a(1),r(2,"translate"),i()),n&2&&(e(),f(" systemd-resolved (",s(2,1,"settings.mdns_advertiser_exp"),") "))}function Xt(n,c){n&1&&(t(0,"li",74)(1,"small",75),a(2),r(3,"translate"),i(),t(4,"button",76),r(5,"translate"),a(6),r(7,"translate"),i()()),n&2&&(e(2),_(s(3,3,"settings.changes.saved")),e(2),v("aria-label",s(5,5,"menu.tooltip_restart")),e(2),f(" ",s(7,7,"menu.tooltip_restart")," "))}function Yt(n,c){if(n&1){let p=w();t(0,"ul",94)(1,"li",15)(2,"span",16)(3,"div"),a(4),r(5,"translate"),g(6,"br"),t(7,"small",81),a(8),r(9,"translate"),i()(),k(10,qt,7,9,"span",95),i(),t(11,"button",96),r(12,"translate"),b("click",function(){y(p);let o=h();return C(o.selectNetworkInterfaces())}),g(13,"i",97),i()(),t(14,"li",22)(15,"span"),a(16),r(17,"translate"),g(18,"br"),t(19,"small",81),a(20),r(21,"translate"),i()(),t(22,"div",23)(23,"select",98),r(24,"translate"),k(25,Jt,3,3,"option",99),t(26,"option",100),a(27),r(28,"translate"),i(),t(29,"option",101),a(30,"Bonjour HAP"),i(),k(31,Qt,3,3,"option",102),i()()(),t(32,"li",22)(33,"span"),a(34),r(35,"translate"),g(36,"br"),t(37,"small",81),a(38),r(39,"translate"),i()(),t(40,"div",23),g(41,"input",103),r(42,"translate"),i()(),t(43,"li",22)(44,"span"),a(45),r(46,"translate"),g(47,"br"),t(48,"small",81),a(49),r(50,"translate"),i()(),t(51,"div",23),g(52,"input",104),r(53,"translate"),i()(),k(54,Xt,8,9,"li",73),i()}if(n&2){let p=h();e(4),f(" ",s(5,23,"settings.network.title_network_interfaces"),""),e(4),_(s(9,25,"settings.network.message_network_interface")),e(2),m("ngForOf",p.bridgeNetworkAdapters),e(),m("disabled",!p.availableNetworkAdapters.length),v("aria-label",s(12,27,"settings.network.title_network_interfaces")),e(2),m("ngClass",q(49,Nt,!p.availableNetworkAdapters.length)),e(3),f(" ",s(17,29,"settings.mdns_advertiser"),""),e(4),_(s(21,31,"settings.mdns_advertiser_help")),e(3),m("formControl",p.legacyMdnsFormControl),v("aria-label",s(24,33,"settings.mdns_advertiser")),e(2),m("ngIf",p.showAvahiMdnsOption),e(2),f(" Ciao ",p.showAvahiMdnsOption?"":"("+s(28,35,"settings.mdns_advertiser_rec")+")"," "),e(4),m("ngIf",p.showResolvedMdnsOption),e(3),f(" ",s(35,37,"settings.network.port_hb"),""),e(4),_(s(39,39,"settings.network.port_hb_desc")),e(3),m("formControl",p.hbPortFormControl)("ngClass",q(51,We,p.isInvalidHbPort)),v("aria-label",s(42,41,"settings.network.port_ui")),e(4),f(" ",s(46,43,"settings.network.port_ui"),""),e(4),_(s(50,45,"settings.network.port_ui_desc")),e(3),m("ngClass",q(53,We,p.isInvalidHbUiPort)),v("aria-label",s(53,47,"settings.network.port_ui")),e(2),m("ngIf",p.hasChangedHbPort||p.hasChangedUiSettings||p.hasChangedMdns||p.hasChangedBridgeNetworkAdapters)}}function Zt(n,c){n&1&&(t(0,"p",112),a(1),r(2,"translate"),i()),n&2&&(e(),_(s(2,1,"settings.cache.desc")))}function ei(n,c){if(n&1){let p=w();t(0,"ul",113)(1,"li",15)(2,"span",16),a(3),r(4,"translate"),g(5,"br"),t(6,"small",81),a(7),r(8,"translate"),i()(),t(9,"button",17),r(10,"translate"),b("click",function(){y(p);let o=h(2);return C(o.removeSingleCachedAccessories())}),g(11,"i",18),i()(),t(12,"li",15)(13,"span",16),a(14),r(15,"translate"),g(16,"br"),t(17,"small",81),a(18),r(19,"translate"),i()(),t(20,"button",17),r(21,"translate"),b("click",function(){y(p);let o=h(2);return C(o.removeBridgeAccessories())}),g(22,"i",18),i()(),t(23,"li",15)(24,"span",16),a(25),r(26,"translate"),g(27,"br"),t(28,"small",81),a(29),r(30,"translate"),i()(),t(31,"button",17),r(32,"translate"),b("click",function(){y(p);let o=h(2);return C(o.removeAllCachedAccessories())}),g(33,"i",18),i()()()}n&2&&(e(3),f(" ",s(4,9,"reset.clear_cache_single.title"),""),e(4),_(s(8,11,"reset.clear_cache_single.desc")),e(2),v("aria-label",s(10,13,"reset.clear_cache_single.title")),e(5),f(" ",s(15,15,"reset.clear_cache_bridge.title"),""),e(4),_(s(19,17,"reset.clear_cache_bridge.desc")),e(2),v("aria-label",s(21,19,"reset.clear_cache_all.title")),e(5),f(" ",s(26,21,"reset.clear_cache_all.title"),""),e(4),_(s(30,23,"reset.clear_cache_all.desc")),e(2),v("aria-label",s(32,25,"reset.clear_cache_all.title")))}function ti(n,c){if(n&1){let p=w();t(0,"div",1)(1,"div",2),b("click",function(){y(p);let o=h();return C(o.toggleSection("cache"))}),t(2,"h5",3),g(3,"i",4),a(4),r(5,"translate"),i()(),k(6,Zt,3,3,"p",11)(7,ei,34,27,"ul",111),i()}if(n&2){let p=h();e(),v("aria-expanded",p.showFields.cache?"true":"false")("aria-controls","fieldsCache"),e(2),m("ngClass",p.showFields.cache?"fa-chevron-down":"fa-chevron-right"),e(),f(" ",s(5,6,"settings.cache.title")," "),e(2),m("ngIf",p.showFields.cache),e(),m("ngIf",p.showFields.cache)}}function ii(n,c){n&1&&(t(0,"p",112),a(1),r(2,"translate"),i()),n&2&&(e(),_(s(2,1,"reset.bridges.desc")))}function ni(n,c){if(n&1){let p=w();t(0,"ul",114)(1,"li",15)(2,"span",16),a(3),r(4,"translate"),g(5,"br"),t(6,"small",81),a(7),r(8,"translate"),i()(),t(9,"button",17),r(10,"translate"),b("click",function(){y(p);let o=h();return C(o.unpairAccessory())}),g(11,"i",18),i()(),t(12,"li",15)(13,"span",16),a(14),r(15,"translate"),r(16,"titlecase"),g(17,"br"),t(18,"small",81),a(19),r(20,"translate"),i()(),t(21,"button",17),r(22,"translate"),b("click",function(){y(p);let o=h();return C(o.resetHomebridgeState())}),g(23,"i",18),i()()()}n&2&&(e(3),f(" ",s(4,6,"reset.bridges_single.title"),""),e(4),_(s(8,8,"reset.bridges_single.desc")),e(2),v("aria-label",s(10,10,"reset.bridges_single.title")),e(5),f(" ",s(16,14,s(15,12,"reset.bridges_all.title")),""),e(5),_(s(20,16,"reset.bridges_all.desc")),e(2),v("aria-label",s(22,18,"reset.bridges_all.title")))}var Ke=(()=>{let c=class c{constructor(l,o,d,x,I,Je){u(this,"$api");u(this,"$modal");u(this,"$plugin");u(this,"$settings");u(this,"$toastr");u(this,"$translate");u(this,"originalServiceForm",{HOMEBRIDGE_DEBUG:!1,HOMEBRIDGE_KEEP_ORPHANS:!1,HOMEBRIDGE_INSECURE:!0,ENV_DEBUG:"",ENV_NODE_OPTIONS:""});u(this,"originalUiSettingsForm",{port:0});u(this,"originalLoginWallpaper","");u(this,"originalMdnsSetting","");u(this,"originalBridgeNetworkAdapters",[]);u(this,"originalHbPort",0);u(this,"hasChangedService",!1);u(this,"hasChangedUiSettings",!1);u(this,"hasChangedMdns",!1);u(this,"hasChangedBridgeNetworkAdapters",!1);u(this,"hasChangedHbPort",!1);u(this,"hasChangedLoginWallpaper",!1);u(this,"isInvalidHbPort",!1);u(this,"isInvalidHbUiPort",!1);u(this,"serviceForm",new se({HOMEBRIDGE_DEBUG:new H(!1),HOMEBRIDGE_KEEP_ORPHANS:new H(!1),HOMEBRIDGE_INSECURE:new H(!0),ENV_DEBUG:new H(""),ENV_NODE_OPTIONS:new H("")}));u(this,"uiSettingsForm",new se({port:new H(0)}));u(this,"loginWallpaper","");u(this,"legacyMdnsFormControl",new Se(!1));u(this,"showAvahiMdnsOption",!1);u(this,"showResolvedMdnsOption",!1);u(this,"availableNetworkAdapters",[]);u(this,"bridgeNetworkAdapters",[]);u(this,"hbPortFormControl",new H(0));u(this,"isHbV2",!1);u(this,"showFields",{general:!0,display:!0,startup:!0,network:!0,reset:!0,cache:!0});this.$api=l,this.$modal=o,this.$plugin=d,this.$settings=x,this.$toastr=I,this.$translate=Je}ngOnInit(){this.isHbV2=this.$settings.env.homebridgeVersion.startsWith("2"),this.initUiSettingsForm(),this.initDisplaySettingsForm(),this.initNetworkingOptions(),this.$settings.env.serviceMode&&this.initServiceModeForm()}initUiSettingsForm(){this.originalUiSettingsForm={port:this.$settings.env.port},this.uiSettingsForm.patchValue({port:this.$settings.env.port}),this.uiSettingsForm.valueChanges.pipe(ae(500)).subscribe(l=>{let o=!1;Object.keys(l).forEach(d=>{this.originalUiSettingsForm[d]!==l[d]&&(this.saveUiSettingChange(d,l[d]),o=!0)}),this.hasChangedUiSettings=o})}initServiceModeForm(){this.$api.get("/platform-tools/hb-service/homebridge-startup-settings").subscribe({next:l=>{Object.keys(l).forEach(o=>{this.originalServiceForm[o]=l[o]}),this.serviceForm.patchValue(l),this.serviceForm.valueChanges.pipe(ae(500)).subscribe(this.saveServiceModeSettings.bind(this))},error:l=>{console.error(l),this.$toastr.error(l.message,this.$translate.instant("toast.title_error"))}})}initDisplaySettingsForm(){this.originalLoginWallpaper=this.$settings.loginWallpaper,this.loginWallpaper=this.$settings.loginWallpaper}saveUiSettingChange(l,o){switch(l){case"lang":this.$settings.setLang(o);break;case"lightingMode":this.$settings.setLightingMode(o,"user");break;case"theme":this.$settings.setTheme(o);break;case"tempUnits":this.$settings.setEnvItem("temperatureUnits",o);break;case"loginWallpaper":this.$settings.setEnvItem("loginWallpaper",o),this.hasChangedLoginWallpaper=o!==this.originalLoginWallpaper;break;case"port":if(!o||typeof o!="number"||o<1025||o>65533||Number.isInteger(o)===!1||o===this.hbPortFormControl.value){this.isInvalidHbUiPort=!0;return}this.$settings.setEnvItem("port",o),this.isInvalidHbUiPort=!1;break}T(this.$api.put("/config-editor/ui",{key:l,value:o})).catch(d=>{console.error(d),this.$toastr.error(d.message,this.$translate.instant("toast.title_error"))})}openUiSettings(){this.$plugin.settings({name:"homebridge-config-ui-x",displayName:"Homebridge UI",settingsSchema:!0,links:{}})}openRestoreModal(){this.$modal.open(ne,{size:"lg",backdrop:"static"})}openBackupModal(){this.$modal.open(Oe,{size:"lg",backdrop:"static"})}saveServiceModeSettings(l=this.serviceForm.value){this.$api.put("/platform-tools/hb-service/homebridge-startup-settings",l).subscribe({next:()=>{this.hasChangedService=JSON.stringify(l)!==JSON.stringify(this.originalServiceForm)},error:o=>{console.error(o),this.$toastr.error(o.message,this.$translate.instant("toast.title_error"))}})}resetHomebridgeState(){this.$modal.open(Ge,{size:"lg",backdrop:"static"})}unpairAccessory(){this.$modal.open(Le,{size:"lg",backdrop:"static"})}removeAllCachedAccessories(){this.$modal.open(Re,{size:"lg",backdrop:"static"})}removeSingleCachedAccessories(){this.$modal.open(ze,{size:"lg",backdrop:"static"})}removeBridgeAccessories(){this.$modal.open(Ue,{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([T(this.$api.get("/server/network-interfaces/system")),T(this.$api.get("/server/network-interfaces/bridge")),T(this.$api.get("/server/mdns-advertiser")),T(this.$api.get("/server/port"))]).then(([l,o,d,x])=>{this.availableNetworkAdapters=l,this.buildBridgeNetworkAdapterList(o),this.legacyMdnsFormControl.patchValue(d.advertiser),this.originalMdnsSetting=d.advertiser,this.originalBridgeNetworkAdapters=this.bridgeNetworkAdapters.map(I=>I.iface),this.legacyMdnsFormControl.valueChanges.subscribe(I=>{this.setHomebridgeMdnsSetting(I)}),this.hbPortFormControl.patchValue(x.port),this.hbPortFormControl.valueChanges.subscribe(I=>this.setHomebridgePort(I)),this.originalHbPort=x.port})})}setHomebridgeMdnsSetting(l){return B(this,null,function*(){this.$api.put("/server/mdns-advertiser",{advertiser:l}).subscribe({next:()=>{this.hasChangedMdns=l!==this.originalMdnsSetting},error:o=>{console.error(o),this.$toastr.error(o.message,this.$translate.instant("toast.title_error"))}})})}setNetworkInterfaces(l){return B(this,null,function*(){this.$api.put("/server/network-interfaces/bridge",{adapters:l}).subscribe({next:()=>{this.hasChangedBridgeNetworkAdapters=this.originalBridgeNetworkAdapters.join(",")!==l.join(",")},error:o=>{console.error(o),this.$toastr.error(o.message,this.$translate.instant("toast.title_error"))}})})}setHomebridgePort(l){return B(this,null,function*(){if(l===this.uiSettingsForm.get("port").value){this.isInvalidHbPort=!0;return}this.$api.put("/server/port",{port:l}).subscribe({next:()=>{this.hasChangedHbPort=this.originalHbPort!==l,this.isInvalidHbPort=!1},error:()=>{this.isInvalidHbPort=!0}})})}buildBridgeNetworkAdapterList(l){if(!l.length){this.bridgeNetworkAdapters=[];return}this.bridgeNetworkAdapters=l.map(o=>{let d=this.availableNetworkAdapters.find(x=>x.iface===o);return d?(d.selected=!0,d.missing=!1,d):{iface:o,missing:!0}})}selectNetworkInterfaces(){let l=this.$modal.open(He,{size:"lg",backdrop:"static"});l.componentInstance.availableNetworkAdapters=this.availableNetworkAdapters,l.componentInstance.bridgeNetworkAdapters=this.bridgeNetworkAdapters,l.result.then(o=>{this.buildBridgeNetworkAdapterList(o),this.setNetworkInterfaces(o)}).catch(()=>{})}toggleSection(l){this.showFields[l]=!this.showFields[l]}};u(c,"\u0275fac",function(o){return new(o||c)(S(F),S(G),S(Pe),S(ve),S(D),S(N))}),u(c,"\u0275cmp",E({type:c,selectors:[["ng-component"]],decls:35,vars:35,consts:[[1,"primary-text","m-0"],[1,"my-4"],["role","button","tabindex","0",1,"mt-3","hover-pointer",3,"click"],[1,"primary-text"],[1,"fa","fa-fw",3,"ngClass"],["class","list-group list-group-box mt-2 mx-0","id","fieldsGeneral",4,"ngIf"],["class","list-group list-group-box mt-2 mx-0","id","fieldsDisplay",4,"ngIf"],["class","my-4","novalidate","",3,"formGroup",4,"ngIf"],["novalidate","",1,"my-4",3,"formGroup"],["class","list-group list-group-box mt-2 mx-0","id","fieldsNetwork",4,"ngIf"],["class","my-4",4,"ngIf"],["class","small grey-text mb-2 mx-0",4,"ngIf"],["class","list-group list-group-box mt-2 mx-0","id","fieldsReset",4,"ngIf"],[1,"pb-3"],["id","fieldsGeneral",1,"list-group","list-group-box","mt-2","mx-0"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"pr-2"],[1,"btn","btn-primary","waves-effect","m-0","ml-3",2,"min-width","50px",3,"click"],[1,"fas","fa-fw","fa-chevron-right"],["routerLink","/users",1,"btn","btn-primary","waves-effect","m-0","ml-3",2,"min-width","50px"],[1,"fas","fa-fw","fa-sliders"],["id","fieldsDisplay",1,"list-group","list-group-box","mt-2","mx-0"],[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"],[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"],[1,"grey-text","pr-2",3,"innerHTML"],["name","search_wallpaper","autocomplete","off","type","text","placeholder","/path-to/image.png",1,"form-control","custom-input","form-control-sm","resp-input",3,"ngModelChange","ngModel"],["value","c"],["value","f"],["class","list-group-item d-flex flex-column align-items-center",4,"ngIf"],[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"],["class","list-group list-group-box mb-4 mx-0","id","fieldsStartup",4,"ngIf"],["id","fieldsStartup",1,"list-group","list-group-box","mb-4","mx-0"],["class","list-group-item d-flex justify-content-between align-items-center",4,"ngIf"],["class","list-group-item d-block d-md-flex justify-content-between align-items-center",4,"ngIf"],[1,"grey-text","pr-2"],["type","checkbox","id","homebridgeDebugMode","formControlName","HOMEBRIDGE_DEBUG",1,"rendux-input"],["for","homebridgeDebugMode",1,"rendux-label","ml-3",2,"min-width","50px"],["type","checkbox","id","homebridgeInsecureMode","formControlName","HOMEBRIDGE_INSECURE",1,"rendux-input"],["for","homebridgeInsecureMode",1,"rendux-label","ml-3",2,"min-width","50px"],["type","checkbox","id","homebridgeKeepOrphans","formControlName","HOMEBRIDGE_KEEP_ORPHANS",1,"rendux-input"],["for","homebridgeKeepOrphans",1,"rendux-label","ml-3",2,"min-width","50px"],[1,"text-monospace"],["href","https://github.com/homebridge/homebridge-config-ui-x/wiki/Debug-Common-Values","target","_blank"],[1,"fa","fa/fw","fas","fa-fw","fa-external-link-alt"],["formControlName","ENV_DEBUG","type","text","placeholder","HAP-NodeJS:Advertiser,HAP-NodeJS:Service",1,"form-control","custom-input","form-control-sm","resp-input"],["formControlName","ENV_NODE_OPTIONS","type","text","placeholder","--max-old-space-size=512 --max-http-header-size=8192",1,"form-control","custom-input","form-control-sm","resp-input"],["routerLink","/platform-tools/docker/startup-script",1,"btn","btn-primary","waves-effect","m-0","ml-3",2,"min-width","50px"],["id","fieldsNetwork",1,"list-group","list-group-box","mt-2","mx-0"],[4,"ngFor","ngForOf"],[1,"btn","btn-primary","waves-effect","m-0","ml-3",2,"min-width","50px",3,"click","disabled"],[1,"fas","fa-fw","fa-chevron-right",3,"ngClass"],[1,"custom-select","resp-select",3,"formControl"],["value","avahi",4,"ngIf"],["value","ciao"],["value","bonjour-hap"],["value","resolved",4,"ngIf"],["type","number","min","1025","max","65533",1,"form-control","custom-input","form-control-sm","resp-input",3,"formControl","ngClass"],["type","number","min","1025","max","65533","placeholder","8581","formControlName","port",1,"form-control","custom-input","form-control-sm","resp-input",3,"ngClass"],[1,"badge","badge-pill","mr-1",3,"ngClass"],["class","fas fa-fw fa-exclamation-triangle",4,"ngIf"],[1,"font-weight-normal"],[1,"fas","fa-fw","fa-exclamation-triangle"],["value","avahi"],["value","resolved"],["class","list-group list-group-box mb-4 mx-0","id","fieldsCache",4,"ngIf"],[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"]],template:function(o,d){o&1&&(t(0,"h3",0),a(1),r(2,"translate"),i(),t(3,"div",1)(4,"div",2),b("click",function(){return d.toggleSection("general")}),t(5,"h5",3),g(6,"i",4),a(7),r(8,"translate"),i()(),k(9,Dt,29,24,"ul",5),i(),t(10,"div",1)(11,"div",2),b("click",function(){return d.toggleSection("display")}),t(12,"h5",3),g(13,"i",4),a(14),r(15,"translate"),i()(),k(16,jt,148,81,"ul",6),i(),k(17,Wt,7,8,"form",7),t(18,"form",8)(19,"div",2),b("click",function(){return d.toggleSection("network")}),t(20,"h5",3),g(21,"i",4),a(22),r(23,"translate"),i()(),k(24,Yt,55,55,"ul",9),i(),k(25,ti,8,8,"div",10),t(26,"div",1)(27,"div",2),b("click",function(){return d.toggleSection("reset")}),t(28,"h5",3),g(29,"i",4),a(30),r(31,"translate"),i()(),k(32,ii,3,3,"p",11)(33,ni,24,20,"ul",12),i(),g(34,"div",13)),o&2&&(e(),_(s(2,25,"menu.settings.title")),e(3),v("aria-expanded",d.showFields.general?"true":"false")("aria-controls","fieldsGeneral"),e(2),m("ngClass",d.showFields.general?"fa-chevron-down":"fa-chevron-right"),e(),f(" ",s(8,27,"settings.general.title_general")," "),e(2),m("ngIf",d.showFields.general),e(2),v("aria-expanded",d.showFields.display?"true":"false")("aria-controls","fieldsDisplay"),e(2),m("ngClass",d.showFields.display?"fa-chevron-down":"fa-chevron-right"),e(),f(" ",s(15,29,"settings.general.title_display")," "),e(2),m("ngIf",d.showFields.display),e(),m("ngIf",d.$settings.env.serviceMode||d.$settings.env.runningInDocker),e(),m("formGroup",d.uiSettingsForm),e(),v("aria-expanded",d.showFields.network?"true":"false")("aria-controls","fieldsNetwork"),e(2),m("ngClass",d.showFields.network?"fa-chevron-down":"fa-chevron-right"),e(),f(" ",s(23,31,"settings.network.title_network")," "),e(2),m("ngIf",d.showFields.network),e(),m("ngIf",d.$settings.env.serviceMode),e(2),v("aria-expanded",d.showFields.reset?"true":"false")("aria-controls","fieldsReset"),e(2),m("ngClass",d.showFields.reset?"fa-chevron-down":"fa-chevron-right"),e(),f(" ",s(31,33,"reset.bridges.title")," "),e(2),m("ngIf",d.showFields.reset),e(),m("ngIf",d.showFields.reset))},dependencies:[O,j,A,ke,Ee,$e,he,ye,ee,Be,te,xe,Me,Te,ie,Ce,we,Ie,_e,J,$],encapsulation:2}));let n=c;return n})();var ai=[{path:"",component:Ke,canActivate:[be]}],qe=(()=>{let c=class c{};u(c,"\u0275fac",function(o){return new(o||c)}),u(c,"\u0275mod",Z({type:c})),u(c,"\u0275inj",Y({imports:[re.forChild(ai),re]}));let n=c;return n})();var fn=(()=>{let c=class c{};u(c,"\u0275fac",function(o){return new(o||c)}),u(c,"\u0275mod",Z({type:c})),u(c,"\u0275inj",Y({imports:[ue,Ae,Ne,fe,De,qe]}));let n=c;return n})();export{fn as SettingsModule};
1
+ import{a as be}from"./chunk-PREOLVG7.js";import{a as ne}from"./chunk-6PFEOQAC.js";import{d as Pe}from"./chunk-LL4U2S7T.js";import"./chunk-4R6MSI5I.js";import"./chunk-SJTXTMYT.js";import"./chunk-6QEO3BTW.js";import"./chunk-B6C32ZRK.js";import{b as Xe}from"./chunk-EEAGROCO.js";import"./chunk-GNQUXZMN.js";import"./chunk-THFLPY67.js";import"./chunk-NJRXPLIM.js";import{d as je}from"./chunk-CMASH2I6.js";import{a as Ve}from"./chunk-W5QNZH4U.js";import"./chunk-JM7QCDMZ.js";import"./chunk-V7NUKNPP.js";import{G as R,M as V,N as G,O as Fe,Q as De,b as ee,c as he,e as te,f as xe,g as se,j as H,k as Se,l as ie,m as ke,n as ye,o as Ce,p as we,q as Ie,r as Be,s as Ee,t as $e,u as Te,v as Me,y as Ae,z as Ne}from"./chunk-WCDFKYP6.js";import{c as F,k as D,m as ve}from"./chunk-54RIF7BL.js";import{a as N,b as $,c as fe}from"./chunk-F22FMU37.js";import{$ as E,$b as ue,Ab as z,Ga as k,H as ae,Ka as v,La as m,Pb as O,Qb as j,Rb as A,Ua as t,Va as i,Wa as g,X as Y,Xb as J,Za as w,Zb as me,aa as Z,ab as b,bb as h,g as Qe,h as u,ha as y,i as B,ia as C,jb as a,kb as _,lb as f,mb as P,ob as pe,pb as ce,qb as de,sc as ge,t as T,ta as oe,tc as _e,ub as q,vb as M,vc as re,wa as e,xa as S,yb as r,zb as s}from"./chunk-IGUSDGD6.js";var le=Qe(Xe(),1);var Ye=(n,c)=>({"fa-download":n,"fa-cog fa-spin":c}),Ze=n=>({backupTime:n,dayCount:7}),et=(n,c)=>({"fa-trash":n,"fa-cog fa-spin":c}),tt=(n,c)=>({backupSize:n,maxBackupSizeText:c});function it(n,c){if(n&1&&(t(0,"li"),a(1),r(2,"date"),r(3,"translate"),i()),n&2){let p=h();e(),f(" ",z(3,4,"backup.scheduled_backup_time",q(7,Ze,z(2,1,p.backupTime,"shortTime")))," ")}}function nt(n,c){if(n&1&&(t(0,"span",30),r(1,"translate"),g(2,"i",31),a(3),i()),n&2){let p=h().$implicit;m("ngbTooltip",z(1,2,"backup.backup_exceeds_max_size",M(5,tt,p.size+"MB",p.maxBackupSizeText))),e(3),f(" ",p.size,"MB ")}}function at(n,c){if(n&1&&(t(0,"span"),a(1),i()),n&2){let p=h().$implicit;e(),f(" ",p.size,"MB ")}}function rt(n,c){if(n&1){let p=w();t(0,"li",10)(1,"span")(2,"span",25),a(3),r(4,"date"),i(),g(5,"br"),t(6,"small",11),a(7),r(8,"date"),k(9,nt,4,8,"span",26)(10,at,2,1,"span",8),i()(),t(11,"span",12)(12,"button",27),r(13,"translate"),r(14,"translate"),b("click",function(){let o=y(p).$implicit,d=h();return C(d.restore(o))}),g(15,"i",14),i(),t(16,"button",15),r(17,"translate"),r(18,"translate"),b("click",function(){let o=y(p).$implicit,d=h();return C(d.download(o))}),g(19,"i",28),i(),t(20,"button",29),r(21,"translate"),r(22,"translate"),b("click",function(){let o=y(p).$implicit,d=h();return C(d.delete(o))}),g(23,"i",16),i()()()}if(n&2){let p=c.$implicit,l=h();e(2),m("ngbTooltip",p.fileName),e(),f(" ",z(4,15,p.timestamp,"mediumDate")," "),e(4),f(" ",z(8,18,p.timestamp,"shortTime")," \xB7 "),e(2),m("ngIf",p.size>p.maxBackupSize),e(),m("ngIf",p.size<=p.maxBackupSize),e(2),m("disabled",l.clicked||l.deleting||p.size>p.maxBackupSize)("ngbTooltip",s(13,21,"form.button_restore")),v("aria-label",s(14,23,"form.button_restore")),e(4),m("disabled",l.clicked||l.deleting)("ngbTooltip",s(17,25,"form.button_download")),v("aria-label",s(18,27,"form.button_download")),e(4),m("disabled",l.clicked||l.deleting)("ngbTooltip",s(21,29,"form.button_delete")),v("aria-label",s(22,31,"form.button_delete")),e(3),m("ngClass",M(33,et,p.id!==l.deleting,p.id===l.deleting))}}function st(n,c){if(n&1&&(t(0,"div")(1,"div",32)(2,"h4",33),a(3),r(4,"translate"),i(),t(5,"p"),a(6),i()()()),n&2){let p=h();e(3),_(s(4,2,"toast.title_error")),e(3),_(p.errorMessage)}}var Oe=(()=>{let c=class c{constructor(l,o,d,x,I){u(this,"$activeModal");u(this,"$api");u(this,"$modal");u(this,"$toastr");u(this,"$translate");u(this,"clicked",!1);u(this,"scheduledBackups",[]);u(this,"backupTime");u(this,"errorMessage","");u(this,"deleting",null);u(this,"Date",Date);this.$activeModal=l,this.$api=o,this.$modal=d,this.$toastr=x,this.$translate=I}ngOnInit(){this.getScheduledBackups(),this.getNextBackup()}getScheduledBackups(){this.$api.get("/backup/scheduled-backups").subscribe({next:l=>{this.scheduledBackups=l},error:l=>{this.errorMessage=l.error.message||l.message}})}getNextBackup(){this.$api.get("/backup/scheduled-backups/next").subscribe({next:l=>{this.backupTime=l.next},error:l=>{console.error(l)}})}download(l){this.$api.get(`/backup/scheduled-backups/${l.id}`,{observe:"response",responseType:"blob"}).subscribe({next:o=>{let d=l.fileName||"homebridge-backup.tar.gz",x=o.body.size;if(x>globalThis.backup.maxBackupSize){let I=this.$translate.instant("backup.backup_exceeds_max_size",{maxBackupSizeText:globalThis.backup.maxBackupSizeText,size:`${(x/1048576).toFixed(1)}MB`});this.$toastr.warning(I,this.$translate.instant("toast.title_warning"))}(0,le.saveAs)(o.body,d)},error:o=>{console.error(o),this.$toastr.error(this.$translate.instant("backup.backup_download_failed"),this.$translate.instant("toast.title_error"))}})}restore(l){this.$activeModal.close();let o=this.$modal.open(ne,{size:"lg",backdrop:"static"});o.componentInstance.selectedBackup=l}delete(l){this.deleting=l.id,this.$api.delete(`/backup/scheduled-backups/${l.id}`).subscribe({next:()=>{this.getScheduledBackups(),this.deleting=null},error:o=>{this.deleting=null,console.error(o),this.$toastr.error(this.$translate.instant("backup.backup_delete_failed"),this.$translate.instant("toast.title_error"))}})}onDownloadBackupClick(){return B(this,null,function*(){this.clicked=!0,this.$api.get("/backup/download",{observe:"response",responseType:"blob"}).subscribe({next:l=>{let o=l.headers.get("File-Name")||"homebridge-backup.tar.gz";this.clicked=!1;let d=l.body.size;if(d>globalThis.backup.maxBackupSize){let x=this.$translate.instant("backup.backup_exceeds_max_size",{maxBackupSizeText:globalThis.backup.maxBackupSizeText,size:`${(d/1048576).toFixed(1)}MB`});this.$toastr.warning(x,this.$translate.instant("toast.title_warning"))}(0,le.saveAs)(l.body,o)},error:l=>{this.clicked=!1,console.error(l),this.$toastr.error(this.$translate.instant("backup.backup_download_failed"),this.$translate.instant("toast.title_error"))}})})}};u(c,"\u0275fac",function(o){return new(o||c)(S(V),S(F),S(G),S(D),S(N))}),u(c,"\u0275cmp",E({type:c,selectors:[["ng-component"]],decls:54,vars:51,consts:[[1,"modal-content","hb-backup-modal"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center","mt-2","mb-3"],[1,"fas","fa-fw","fa-hard-drive","primary-text",2,"font-size","75px"],[4,"ngIf"],[1,"list-group","list-group-box","mt-2"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[2,"display","flex","flex-wrap","nowrap"],["disabled","",1,"btn","btn-primary","ml-3"],[1,"fas","fa-fw","fa-history"],["placement","bottom","container","modal","openDelay","150","triggers","hover",1,"btn","btn-primary","ml-1",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw",3,"ngClass"],["disabled","",1,"btn","btn-danger","ml-1"],[1,"fas","fa-fw","fa-trash"],["class","list-group-item d-flex justify-content-between align-items-center",4,"ngFor","ngForOf"],[1,"modal-footer","justify-content-between"],[1,"text-left"],[1,"text-center"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-right"],["container","modal","openDelay","150","triggers","hover",3,"ngbTooltip"],["container","modal","openDelay","150","triggers","hover","class","red-text",3,"ngbTooltip",4,"ngIf"],["placement","bottom","container","modal","openDelay","150","triggers","hover",1,"btn","btn-primary","ml-3",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-download"],["placement","bottom","container","modal","openDelay","150","triggers","hover",1,"btn","btn-danger","ml-1",3,"click","disabled","ngbTooltip"],["container","modal","openDelay","150","triggers","hover",1,"red-text",3,"ngbTooltip"],[1,"fas","fa-fw","fa-exclamation-circle"],["role","alert",1,"alert","alert-error"],[1,"alert-heading"]],template:function(o,d){o&1&&(t(0,"div",0)(1,"div",1)(2,"h5",2),a(3),r(4,"translate"),i(),t(5,"button",3),r(6,"translate"),b("click",function(){return d.$activeModal.dismiss("Dismiss")}),t(7,"span",4),a(8,"\xD7"),i()()(),t(9,"div",5)(10,"div",6),g(11,"i",7),i(),t(12,"ul")(13,"li"),a(14),r(15,"translate"),i(),t(16,"li"),a(17),r(18,"translate"),i(),t(19,"li"),a(20),r(21,"translate"),i(),k(22,it,4,9,"li",8),i(),t(23,"ul",9)(24,"li",10)(25,"span")(26,"span"),a(27),r(28,"date"),i(),g(29,"br"),t(30,"small",11),a(31),r(32,"date"),r(33,"translate"),i()(),t(34,"span",12)(35,"button",13),r(36,"translate"),g(37,"i",14),i(),t(38,"button",15),r(39,"translate"),r(40,"translate"),b("click",function(){return d.onDownloadBackupClick()}),g(41,"i",16),i(),t(42,"button",17),r(43,"translate"),g(44,"i",18),i()()(),k(45,rt,24,36,"li",19),i(),k(46,st,7,4,"div",8),i(),t(47,"div",20),g(48,"div",21),t(49,"div",22)(50,"button",23),b("click",function(){return d.$activeModal.dismiss("Dismiss")}),a(51),r(52,"translate"),i()(),g(53,"div",24),i()()),o&2&&(e(3),_(s(4,20,"backup.title_backup")),e(2),m("disabled",d.clicked||d.deleting),v("aria-label",s(6,22,"form.button_close")),e(9),_(s(15,24,"backup.backup_help_one")),e(3),_(s(18,26,"backup.backup_help_two")),e(3),_(s(21,28,"backup.backup_warning")),e(2),m("ngIf",d.backupTime),e(5),f(" ",z(28,30,d.Date.now(),"mediumDate")," "),e(4),P("",z(32,33,d.Date.now(),"shortTime")," \xB7 ",s(33,36,"backup.now"),""),e(4),v("aria-label",s(36,38,"form.button_restore")),e(3),m("disabled",d.clicked)("ngbTooltip",s(39,40,"form.button_download")),v("aria-label",s(40,42,"form.button_download")),e(3),m("ngClass",M(48,Ye,!d.clicked,d.clicked)),e(),v("aria-label",s(43,44,"form.button_delete")),e(3),m("ngForOf",d.scheduledBackups),e(),m("ngIf",d.errorMessage),e(4),m("disabled",d.clicked||d.deleting),e(),f(" ",s(52,46,"form.button_close")," "))},dependencies:[O,j,A,Fe,me,$],encapsulation:2}));let n=c;return n})();function lt(n,c){n&1&&(t(0,"div",11),g(1,"i",15),t(2,"p",16),a(3),r(4,"translate"),i()()),n&2&&(e(3),_(s(4,1,"reset.remove_cached_accessories_single_empty")))}function ot(n,c){n&1&&(t(0,"div")(1,"div",17),g(2,"i",18),i(),t(3,"ngb-alert",19)(4,"p",20),a(5),r(6,"translate"),i(),t(7,"ul",21)(8,"li"),a(9),r(10,"translate"),i(),t(11,"li"),a(12),r(13,"translate"),i(),t(14,"li",16),a(15),r(16,"translate"),i()()()()),n&2&&(e(3),m("dismissible",!1),e(2),_(s(6,5,"reset.action_is_irreversible")),e(4),_(s(10,7,"reset.clear_cache_all.list_1")),e(3),_(s(13,9,"reset.clear_cache_all.list_2")),e(3),_(s(16,11,"reset.clear_cache_all.list_3")))}function pt(n,c){if(n&1){let p=w();t(0,"button",22),r(1,"translate"),b("click",function(){y(p);let o=h();return C(o.$activeModal.dismiss("Dismiss"))}),a(2),r(3,"translate"),i()}if(n&2){let p=h();m("disabled",p.clicked),v("aria-label",s(1,3,"form.button_close")),e(2),f(" ",s(3,5,"form.button_close")," ")}}function ct(n,c){if(n&1){let p=w();t(0,"button",23),r(1,"translate"),b("click",function(){y(p);let o=h();return C(o.$activeModal.dismiss("Dismiss"))}),a(2),r(3,"translate"),i()}n&2&&(v("aria-label",s(1,2,"form.button_close")),e(2),f(" ",s(3,4,"form.button_close")," "))}function dt(n,c){n&1&&(t(0,"span"),a(1),r(2,"translate"),i()),n&2&&(e(),_(s(2,1,"form.button_remove")))}function mt(n,c){n&1&&g(0,"i",26)}function ut(n,c){if(n&1){let p=w();t(0,"button",24),b("click",function(){y(p);let o=h();return C(o.onResetCachedAccessoriesClick())}),k(1,dt,3,3,"span",7)(2,mt,1,0,"i",25),i()}if(n&2){let p=h();m("disabled",p.clicked),e(),m("ngIf",!p.clicked),e(),m("ngIf",p.clicked)}}var Re=(()=>{let c=class c{constructor(l,o,d,x){u(this,"$activeModal");u(this,"$api");u(this,"$toastr");u(this,"$translate");u(this,"clicked");u(this,"cachedAccessories",[]);this.$activeModal=l,this.$api=o,this.$toastr=d,this.$translate=x}ngOnInit(){this.loadCachedAccessories()}loadCachedAccessories(){return B(this,null,function*(){try{this.cachedAccessories=yield T(this.$api.get("/server/cached-accessories"))}catch(l){console.error(l),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()},error:l=>{this.clicked=!1,console.error(l),this.$toastr.error(this.$translate.instant("reset.failed_to_reset"),this.$translate.instant("toast.title_error"))}})}};u(c,"\u0275fac",function(o){return new(o||c)(S(V),S(F),S(D),S(N))}),u(c,"\u0275cmp",E({type:c,selectors:[["ng-component"]],decls:19,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],["class","text-center",4,"ngIf"],[4,"ngIf"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","class","btn btn-elegant","data-dismiss","modal",3,"disabled","click",4,"ngIf"],[1,"text-center"],["type","button","class","btn btn-elegant","data-dismiss","modal",3,"click",4,"ngIf"],[1,"text-right"],["type","button","class","btn btn-danger","data-dismiss","modal",3,"disabled","click",4,"ngIf"],[1,"fas","fa-fw","fa-circle-check","mb-4","primary-text",2,"font-size","75px"],[1,"mb-0"],[1,"text-center","mb-4"],[1,"fas","fa-fw","fa-network-wired","mb-4","primary-text",2,"font-size","75px"],["type","error",2,"margin-bottom","0",3,"dismissible"],[1,"font-weight-bold"],[1,"mb-0","text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],["class","fas fa-fw fa-spinner fa-pulse",4,"ngIf"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(o,d){o&1&&(t(0,"div",0)(1,"div",1)(2,"h5",2),a(3),r(4,"translate"),i(),t(5,"button",3),r(6,"translate"),b("click",function(){return d.$activeModal.dismiss("Dismiss")}),t(7,"span",4),a(8,"\xD7"),i()()(),t(9,"div",5),k(10,lt,5,3,"div",6)(11,ot,17,13,"div",7),i(),t(12,"div",8)(13,"div",9),k(14,pt,4,7,"button",10),i(),t(15,"div",11),k(16,ct,4,6,"button",12),i(),t(17,"div",13),k(18,ut,3,3,"button",14),i()()()),o&2&&(e(3),_(s(4,8,"reset.clear_cache_all.title")),e(2),m("disabled",d.clicked),v("aria-label",s(6,10,"form.button_close")),e(5),m("ngIf",d.cachedAccessories.length===0),e(),m("ngIf",d.cachedAccessories.length>0),e(3),m("ngIf",d.cachedAccessories.length>0),e(2),m("ngIf",d.cachedAccessories.length===0),e(2),m("ngIf",d.cachedAccessories.length>0))},dependencies:[A,R,$],encapsulation:2}));let n=c;return n})();var gt=(n,c)=>({"green-text":n,"red-text":c}),_t=(n,c)=>({"fa-trash":n,"fa-cog fa-spin":c});function ft(n,c){n&1&&(t(0,"div",10),g(1,"i",13),t(2,"p",14),a(3),r(4,"translate"),i()()),n&2&&(e(3),_(s(4,1,"reset.clear_cache_bridge.empty")))}function vt(n,c){if(n&1){let p=w();t(0,"li",21)(1,"span"),a(2),r(3,"titlecase"),g(4,"br"),t(5,"small",22),g(6,"i",23),a(7),r(8,"translate"),i()(),t(9,"button",24),r(10,"translate"),b("click",function(){let o=y(p).$implicit,d=h(2);return C(d.removeAccessories(o._id))}),g(11,"i",25),i()()}if(n&2){let p=c.$implicit,l=h(2);e(2),P(" ",p.displayName," (",p._main?"Homebridge":s(3,8,p._category),") "),e(4),m("ngClass",M(14,gt,p._isPaired,!p._isPaired)),e(),P(" ",s(8,10,p._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 ",p._username," "),e(2),m("disabled",l.deleting||l.deleted.includes(p._id)),v("aria-label",s(10,12,"form.button_delete")),e(2),m("ngClass",M(17,_t,p._id!==l.deleting,p._id===l.deleting))}}function bt(n,c){if(n&1&&(t(0,"div")(1,"div",15),g(2,"i",16),i(),t(3,"ngb-alert",17)(4,"ul",18)(5,"li"),a(6),r(7,"translate"),i(),t(8,"li"),a(9),r(10,"translate"),i(),t(11,"li"),a(12),r(13,"translate"),i()()(),t(14,"ul",19),k(15,vt,12,20,"li",20),i()()),n&2){let p=h();e(3),m("dismissible",!1),e(3),_(s(7,5,"reset.clear_cache_bridge.list_1")),e(3),_(s(10,7,"reset.clear_cache_single.list_3")),e(3),_(s(13,9,"reset.clear_cache_bridge.list_2")),e(3),m("ngForOf",p.pairings)}}var Ue=(()=>{let c=class c{constructor(l,o,d,x,I){u(this,"$activeModal");u(this,"$api");u(this,"$modal");u(this,"$toastr");u(this,"$translate");u(this,"pairings",[]);u(this,"deleting",null);u(this,"deleted",[]);this.$activeModal=l,this.$api=o,this.$modal=d,this.$toastr=x,this.$translate=I}ngOnInit(){this.loadPairings()}loadPairings(){return B(this,null,function*(){try{this.pairings=(yield T(this.$api.get("/server/pairings"))).filter(l=>l._category==="bridge"&&!l._main).sort((l,o)=>o._main?1:-1)}catch(l){console.error(l),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.load_error"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}removeAccessories(l){this.deleting=l,this.$api.delete(`/server/pairings/${l}/accessories`).subscribe({next:()=>B(this,null,function*(){yield this.loadPairings(),this.deleting=null,this.deleted.push(l),this.$toastr.success("",this.$translate.instant("toast.title_success"))}),error:o=>{this.deleting=null,console.error(o),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.unpair_error"),this.$translate.instant("toast.title_error"))}})}ngOnDestroy(){if(this.deleted.length){let l=this.$modal.open(je,{size:"lg",backdrop:"static"});l.componentInstance.bridges=this.deleted.map(o=>{let{_username:d,displayName:x}=this.pairings.find(I=>I._id===o);return{displayName:x,username:d}})}}};u(c,"\u0275fac",function(o){return new(o||c)(S(V),S(F),S(G),S(D),S(N))}),u(c,"\u0275cmp",E({type:c,selectors:[["ng-component"]],decls:19,vars:13,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],["class","text-center",4,"ngIf"],[4,"ngIf"],[1,"modal-footer","justify-content-between"],[1,"text-left"],[1,"text-center"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-right"],[1,"fas","fa-fw","fa-circle-check","mb-4","primary-text",2,"font-size","75px"],[1,"mb-0"],[1,"text-center","mb-4"],[1,"fas","fa-fw","fa-network-wired","primary-text",2,"font-size","75px"],["type","warning",3,"dismissible"],[1,"mb-0","text-left"],[1,"list-group","list-group-box","mt-2"],["class","list-group-item d-flex justify-content-between align-items-center",4,"ngFor","ngForOf"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"fas","fa-fw","fa-link",3,"ngClass"],[1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw",3,"ngClass"]],template:function(o,d){o&1&&(t(0,"div",0)(1,"div",1)(2,"h5",2),a(3),r(4,"translate"),i(),t(5,"button",3),r(6,"translate"),b("click",function(){return d.$activeModal.dismiss("Dismiss")}),t(7,"span",4),a(8,"\xD7"),i()()(),t(9,"div",5),k(10,ft,5,3,"div",6)(11,bt,16,11,"div",7),i(),t(12,"div",8),g(13,"div",9),t(14,"div",10)(15,"button",11),b("click",function(){return d.$activeModal.dismiss("Dismiss")}),a(16),r(17,"translate"),i()(),g(18,"div",12),i()()),o&2&&(e(3),_(s(4,7,"reset.clear_cache_bridge.title")),e(2),m("disabled",d.deleting),v("aria-label",s(6,9,"form.button_close")),e(5),m("ngIf",d.pairings.length===0),e(),m("ngIf",d.pairings.length>0),e(4),m("disabled",d.deleting),e(),f(" ",s(17,11,"form.button_close")," "))},dependencies:[O,j,A,R,J,$],encapsulation:2}));let n=c;return n})();var ht=(n,c)=>({"fa-trash":n,"fa-cog fa-spin":c});function xt(n,c){n&1&&(t(0,"div",10),g(1,"i",13),t(2,"p",14),a(3),r(4,"translate"),i()()),n&2&&(e(3),_(s(4,1,"reset.remove_cached_accessories_single_empty")))}function St(n,c){if(n&1){let p=w();t(0,"li",21)(1,"span"),a(2),g(3,"br"),t(4,"small",22),a(5),i()(),t(6,"button",23),r(7,"translate"),b("click",function(){let o=y(p).$implicit,d=h(2);return C(d.removeAccessory(o))}),g(8,"i",24),i()()}if(n&2){let p=c.$implicit,l=h(2);e(2),P(" ",p.displayName," (",p.plugin,") "),e(3),_(p.UUID),e(),m("disabled",l.deleting),v("aria-label",s(7,6,"form.button_delete")),e(2),m("ngClass",M(8,ht,p.UUID!==l.deleting,p.UUID===l.deleting))}}function kt(n,c){if(n&1&&(t(0,"div")(1,"div",15),g(2,"i",16),i(),t(3,"ngb-alert",17)(4,"ul",18)(5,"li"),a(6),r(7,"translate"),i(),t(8,"li"),a(9),r(10,"translate"),i(),t(11,"li"),a(12),r(13,"translate"),i(),t(14,"li",14),a(15),r(16,"translate"),i()()(),t(17,"ul",19),k(18,St,9,11,"li",20),i()()),n&2){let p=h();e(3),m("dismissible",!1),e(3),_(s(7,6,"reset.clear_cache_single.list_1")),e(3),_(s(10,8,"reset.clear_cache_single.list_2")),e(3),_(s(13,10,"reset.clear_cache_single.list_3")),e(3),_(s(16,12,"reset.clear_cache_single.list_4")),e(3),m("ngForOf",p.cachedAccessories)}}var ze=(()=>{let c=class c{constructor(l,o,d,x){u(this,"$activeModal");u(this,"$api");u(this,"$toastr");u(this,"$translate");u(this,"cachedAccessories",[]);u(this,"deleting",null);this.$activeModal=l,this.$api=o,this.$toastr=d,this.$translate=x}ngOnInit(){this.loadCachedAccessories()}loadCachedAccessories(){return B(this,null,function*(){try{this.cachedAccessories=yield T(this.$api.get("/server/cached-accessories"))}catch(l){console.error(l),this.$toastr.error(this.$translate.instant("reset.error_message"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}removeAccessory(l){this.deleting=l.UUID,this.$toastr.info(this.$translate.instant("reset.removing_cached_accessory_please_wait")),this.$api.delete(`/server/cached-accessories/${l.UUID}`,{params:{cacheFile:l.$cacheFile}}).subscribe({next:()=>B(this,null,function*(){yield this.loadCachedAccessories(),this.deleting=null,this.cachedAccessories.length||this.$activeModal.close(),this.$toastr.success(this.$translate.instant("reset.cached_accessory_removed"),this.$translate.instant("toast.title_success"))}),error:o=>{this.deleting=null,console.error(o),this.$toastr.error(this.$translate.instant("reset.delete_failed"),this.$translate.instant("toast.title_error"))}})}};u(c,"\u0275fac",function(o){return new(o||c)(S(V),S(F),S(D),S(N))}),u(c,"\u0275cmp",E({type:c,selectors:[["ng-component"]],decls:19,vars:13,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],["class","text-center",4,"ngIf"],[4,"ngIf"],[1,"modal-footer","justify-content-between"],[1,"text-left"],[1,"text-center"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-right"],[1,"fas","fa-fw","fa-circle-check","mb-4","primary-text",2,"font-size","75px"],[1,"mb-0"],[1,"text-center","mb-4"],[1,"fas","fa-fw","fa-network-wired","mb-4","primary-text",2,"font-size","75px"],["type","warning",3,"dismissible"],[1,"mb-0","text-left"],[1,"list-group","list-group-box","mt-2"],["class","list-group-item d-flex justify-content-between align-items-center",4,"ngFor","ngForOf"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"btn","btn-danger","ml-3",3,"click","disabled"],[1,"fas","fa-fw",3,"ngClass"]],template:function(o,d){o&1&&(t(0,"div",0)(1,"div",1)(2,"h5",2),a(3),r(4,"translate"),i(),t(5,"button",3),r(6,"translate"),b("click",function(){return d.$activeModal.dismiss("Dismiss")}),t(7,"span",4),a(8,"\xD7"),i()()(),t(9,"div",5),k(10,xt,5,3,"div",6)(11,kt,19,14,"div",7),i(),t(12,"div",8),g(13,"div",9),t(14,"div",10)(15,"button",11),b("click",function(){return d.$activeModal.dismiss("Dismiss")}),a(16),r(17,"translate"),i()(),g(18,"div",12),i()()),o&2&&(e(3),_(s(4,7,"reset.clear_cache_single.title")),e(2),m("disabled",d.deleting),v("aria-label",s(6,9,"form.button_close")),e(5),m("ngIf",d.cachedAccessories.length===0),e(),m("ngIf",d.cachedAccessories.length>0),e(4),m("disabled",d.deleting),e(),f(" ",s(17,11,"form.button_close")," "))},dependencies:[O,j,A,R,$],encapsulation:2}));let n=c;return n})();function Ct(n,c){if(n&1){let p=w();t(0,"li",18)(1,"span")(2,"label",19)(3,"input",20),de("ngModelChange",function(o){let d=y(p).$implicit;return ce(d.selected,o)||(d.selected=o),C(o)}),i(),t(4,"span"),a(5),i(),g(6,"span",21),i()(),t(7,"span"),a(8),i()()}if(n&2){let p=c.$implicit;e(2),m("for","adapter"+p.iface),e(),m("id","adapter"+p.iface),pe("ngModel",p.selected),e(2),_(p.iface),e(3),f(" ",p.ip4||p.ip6," ")}}var He=(()=>{let c=class c{constructor(l){u(this,"$activeModal");u(this,"availableNetworkAdapters");u(this,"bridgeNetworkAdapters");this.$activeModal=l}submit(){this.$activeModal.close(this.availableNetworkAdapters.filter(l=>l.selected).map(l=>l.iface))}};u(c,"\u0275fac",function(o){return new(o||c)(S(V))}),u(c,"\u0275cmp",E({type:c,selectors:[["ng-component"]],inputs:{availableNetworkAdapters:"availableNetworkAdapters",bridgeNetworkAdapters:"bridgeNetworkAdapters"},decls:37,vars:25,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center","mb-4"],[1,"fas","fa-fw","fa-ethernet","mb-4","primary-text",2,"font-size","75px"],[1,"alert"],[1,"list-group","list-group-box"],[1,"list-group-item","d-flex","flex-row","justify-content-between"],["class","list-group-item d-flex flex-row flex-wrap justify-content-between",4,"ngFor","ngForOf"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-right"],["type","button","data-dismiss","modal",1,"btn","btn-primary",3,"click"],[1,"list-group-item","d-flex","flex-row","flex-wrap","justify-content-between"],[1,"hb-uix-switch","d-inline","pr-3",3,"for"],["type","checkbox",3,"ngModelChange","id","ngModel"],[1,"hb-uix-slider","hb-uix-round"]],template:function(o,d){o&1&&(t(0,"div",0)(1,"div",1)(2,"h5",2),a(3),r(4,"translate"),i(),t(5,"button",3),r(6,"translate"),b("click",function(){return d.$activeModal.dismiss("Dismiss")}),t(7,"span",4),a(8,"\xD7"),i()()(),t(9,"div",5)(10,"div",6),g(11,"i",7),i(),t(12,"div",8),a(13),r(14,"translate"),i(),t(15,"ul",9)(16,"li",10)(17,"span")(18,"strong"),a(19),r(20,"translate"),i()(),t(21,"span")(22,"strong"),a(23),r(24,"translate"),i()()(),k(25,Ct,9,5,"li",11),i()(),t(26,"div",12)(27,"div",13)(28,"button",14),r(29,"translate"),b("click",function(){return d.$activeModal.dismiss("Dismiss")}),a(30),r(31,"translate"),i()(),g(32,"div",15),t(33,"div",16)(34,"button",17),b("click",function(){return d.submit()}),a(35),r(36,"translate"),i()()()()),o&2&&(e(3),_(s(4,9,"settings.network.title_network_interfaces")),e(2),v("aria-label",s(6,11,"form.button_close")),e(8),_(s(14,13,"settings.network.message_network_interface")),e(6),_(s(20,15,"settings.network.label_interface_name")),e(4),_(s(24,17,"settings.network.label_ip_address")),e(2),m("ngForOf",d.availableNetworkAdapters),e(3),v("aria-label",s(29,19,"form.button_close")),e(2),f(" ",s(31,21,"form.button_close")," "),e(5),f(" ",s(36,23,"form.button_save")," "))},dependencies:[j,ee,te,ie,$],encapsulation:2}));let n=c;return n})();function It(n,c){n&1&&(t(0,"span"),a(1),r(2,"translate"),i()),n&2&&(e(),_(s(2,1,"form.button_reset")))}function Bt(n,c){n&1&&g(0,"i",20)}var Ge=(()=>{let c=class c{constructor(l,o,d,x,I){u(this,"$activeModal");u(this,"$api");u(this,"$route");u(this,"$toastr");u(this,"$translate");u(this,"clicked");this.$activeModal=l,this.$api=o,this.$route=d,this.$toastr=x,this.$translate=I}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:l=>{console.error(l),this.$toastr.error(this.$translate.instant("reset.failed_to_reset"),this.$translate.instant("toast.title_error"))}})}};u(c,"\u0275fac",function(o){return new(o||c)(S(V),S(F),S(ge),S(D),S(N))}),u(c,"\u0275cmp",E({type:c,selectors:[["ng-component"]],decls:40,vars:33,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center","mb-4"],[1,"fas","fa-fw","fa-bridge","primary-text",2,"font-size","75px"],["type","error",2,"margin-bottom","0",3,"dismissible"],[1,"font-weight-bold"],[1,"mb-0","text-left"],[1,"mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-center"],[1,"text-right"],["type","button","data-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[4,"ngIf"],["class","fas fa-fw fa-spinner fa-pulse",4,"ngIf"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(o,d){o&1&&(t(0,"div",0)(1,"div",1)(2,"h5",2),a(3),r(4,"translate"),i(),t(5,"button",3),r(6,"translate"),b("click",function(){return d.$activeModal.dismiss("Dismiss")}),t(7,"span",4),a(8,"\xD7"),i()()(),t(9,"div",5)(10,"div",6),g(11,"i",7),i(),t(12,"ngb-alert",8)(13,"p",9),a(14),r(15,"translate"),i(),t(16,"ul",10)(17,"li"),a(18),r(19,"translate"),i(),t(20,"li"),a(21),r(22,"translate"),i(),t(23,"li"),a(24),r(25,"translate"),i(),t(26,"li",11),a(27),r(28,"translate"),i()()()(),t(29,"div",12)(30,"div",13)(31,"button",14),r(32,"translate"),b("click",function(){return d.$activeModal.dismiss("Dismiss")}),a(33),r(34,"translate"),i()(),g(35,"div",15),t(36,"div",16)(37,"button",17),b("click",function(){return d.onResetHomebridgeAccessoryClick()}),k(38,It,3,3,"span",18)(39,Bt,1,0,"i",19),i()()()()),o&2&&(e(3),_(s(4,15,"reset.bridges_all.title")),e(2),m("disabled",d.clicked),v("aria-label",s(6,17,"form.button_close")),e(7),m("dismissible",!1),e(2),_(s(15,19,"reset.action_is_irreversible")),e(4),_(s(19,21,"reset.bridges_all.list_1")),e(3),_(s(22,23,"reset.bridges_all.list_2")),e(3),_(s(25,25,"reset.bridges_all.list_3")),e(3),_(s(28,27,"reset.bridges_all.list_4")),e(4),m("disabled",d.clicked),v("aria-label",s(32,29,"form.button_close")),e(2),f(" ",s(34,31,"form.button_close")," "),e(4),m("disabled",d.clicked),e(),m("ngIf",!d.clicked),e(),m("ngIf",d.clicked))},dependencies:[A,R,$],encapsulation:2}));let n=c;return n})();var Et=(n,c)=>({"green-text":n,"red-text":c}),$t=(n,c)=>({"fa-link-slash":n,"fa-cog fa-spin":c});function Tt(n,c){n&1&&(t(0,"div",10),g(1,"i",13),t(2,"p",14),a(3),r(4,"translate"),i()()),n&2&&(e(3),_(s(4,1,"reset.bridges.empty")))}function Mt(n,c){if(n&1){let p=w();t(0,"li",21)(1,"span"),a(2),r(3,"titlecase"),g(4,"br"),t(5,"small",22),g(6,"i",23),a(7),r(8,"translate"),i()(),t(9,"button",24),r(10,"translate"),b("click",function(){let o=y(p).$implicit,d=h(2);return C(d.removeAccessory(o._id))}),g(11,"i",25),i()()}if(n&2){let p=c.$implicit,l=h(2);e(2),P(" ",p.displayName," (",p._main?"Homebridge":s(3,8,p._category),") "),e(4),m("ngClass",M(14,Et,p._isPaired,!p._isPaired)),e(),P(" ",s(8,10,p._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 ",p._username," "),e(2),m("disabled",l.deleting),v("aria-label",s(10,12,"form.button_unpair")),e(2),m("ngClass",M(17,$t,p._id!==l.deleting,p._id===l.deleting))}}function At(n,c){if(n&1&&(t(0,"div")(1,"div",15),g(2,"i",16),i(),t(3,"ngb-alert",17)(4,"ul",18)(5,"li"),a(6),r(7,"translate"),i(),t(8,"li"),a(9),r(10,"translate"),i(),t(11,"li",14),a(12),r(13,"translate"),i()()(),t(14,"ul",19),k(15,Mt,12,20,"li",20),i()()),n&2){let p=h();e(3),m("dismissible",!1),e(3),_(s(7,5,"reset.bridges_single.list_1")),e(3),_(s(10,7,"reset.bridges_single.list_2")),e(3),_(s(13,9,"reset.bridges_single.list_3")),e(3),m("ngForOf",p.pairings)}}var Le=(()=>{let c=class c{constructor(l,o,d,x,I){u(this,"$activeModal");u(this,"$api");u(this,"$modal");u(this,"$toastr");u(this,"$translate");u(this,"pairings",[]);u(this,"deleting",null);u(this,"unpaired",!1);this.$activeModal=l,this.$api=o,this.$modal=d,this.$toastr=x,this.$translate=I}ngOnInit(){this.loadPairings()}loadPairings(){return B(this,null,function*(){try{this.pairings=(yield T(this.$api.get("/server/pairings"))).sort((l,o)=>o._main?1:-1)}catch(l){console.error(l),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.load_error"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}removeAccessory(l){this.deleting=l,this.$api.delete(`/server/pairings/${l}`).subscribe({next:()=>B(this,null,function*(){yield this.loadPairings(),this.pairings.length||this.$activeModal.close(),this.deleting=null,this.unpaired=!0,this.$toastr.success(this.$translate.instant("plugins.settings.restart_required"),this.$translate.instant("toast.title_success"))}),error:o=>{this.deleting=null,console.error(o),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.unpair_error"),this.$translate.instant("toast.title_error"))}})}ngOnDestroy(){this.unpaired&&this.$modal.open(Ve,{size:"lg",backdrop:"static"})}};u(c,"\u0275fac",function(o){return new(o||c)(S(V),S(F),S(G),S(D),S(N))}),u(c,"\u0275cmp",E({type:c,selectors:[["ng-component"]],decls:19,vars:13,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],["class","text-center",4,"ngIf"],[4,"ngIf"],[1,"modal-footer","justify-content-between"],[1,"text-left"],[1,"text-center"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-right"],[1,"fas","fa-fw","fa-circle-check","mb-4","primary-text",2,"font-size","75px"],[1,"mb-0"],[1,"text-center","mb-4"],[1,"fas","fa-fw","fa-bridge","primary-text",2,"font-size","75px"],["type","warning",3,"dismissible"],[1,"mb-0","text-left"],[1,"list-group","list-group-box","mt-2"],["class","list-group-item d-flex justify-content-between align-items-center",4,"ngFor","ngForOf"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"fas","fa-fw","fa-link",3,"ngClass"],[1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw",3,"ngClass"]],template:function(o,d){o&1&&(t(0,"div",0)(1,"div",1)(2,"h5",2),a(3),r(4,"translate"),i(),t(5,"button",3),r(6,"translate"),b("click",function(){return d.$activeModal.dismiss("Dismiss")}),t(7,"span",4),a(8,"\xD7"),i()()(),t(9,"div",5),k(10,Tt,5,3,"div",6)(11,At,16,11,"div",7),i(),t(12,"div",8),g(13,"div",9),t(14,"div",10)(15,"button",11),b("click",function(){return d.$activeModal.dismiss("Dismiss")}),a(16),r(17,"translate"),i()(),g(18,"div",12),i()()),o&2&&(e(3),_(s(4,7,"reset.bridges_single.title")),e(2),m("disabled",d.deleting),v("aria-label",s(6,9,"form.button_close")),e(5),m("ngIf",d.pairings.length===0),e(),m("ngIf",d.pairings.length>0),e(4),m("disabled",d.deleting),e(),f(" ",s(17,11,"form.button_close")," "))},dependencies:[O,j,A,R,J,$],encapsulation:2}));let n=c;return n})();var Nt=n=>({"fa-pulse":n}),We=n=>({"is-invalid":n}),Ft=(n,c)=>({"badge-danger":n,"badge-info":c});function Dt(n,c){if(n&1){let p=w();t(0,"ul",14)(1,"li",15)(2,"span",16),a(3),r(4,"translate"),i(),t(5,"button",17),r(6,"translate"),b("click",function(){y(p);let o=h();return C(o.openBackupModal())}),g(7,"i",18),i()(),t(8,"li",15)(9,"span",16),a(10),r(11,"translate"),i(),t(12,"button",17),r(13,"translate"),b("click",function(){y(p);let o=h();return C(o.openRestoreModal())}),g(14,"i",18),i()(),t(15,"li",15)(16,"span",16),a(17),r(18,"translate"),i(),t(19,"a",19),r(20,"translate"),g(21,"i",18),i()(),t(22,"li",15)(23,"span",16),a(24),r(25,"translate"),i(),t(26,"button",17),r(27,"translate"),b("click",function(){y(p);let o=h();return C(o.openUiSettings())}),g(28,"i",20),i()()()}n&2&&(e(3),f(" ",s(4,8,"backup.title_backup")," "),e(2),v("aria-label",s(6,10,"backup.title_backup")),e(5),f(" ",s(11,12,"form.button_restore")," "),e(2),v("aria-label",s(13,14,"form.button_restore")),e(5),f(" ",s(18,16,"menu.tooltip_user_accounts")," "),e(2),v("aria-label",s(20,18,"menu.tooltip_user_accounts")),e(5),f(" ",s(25,20,"menu.label_settings_advanced")," "),e(2),v("aria-label",s(27,22,"menu.label_settings_advanced")))}function Vt(n,c){n&1&&(t(0,"li",74)(1,"small",75),a(2),r(3,"translate"),i(),t(4,"button",76),r(5,"translate"),a(6),r(7,"translate"),i()()),n&2&&(e(2),_(s(3,3,"settings.changes.saved")),e(2),v("aria-label",s(5,5,"menu.tooltip_restart")),e(2),f(" ",s(7,7,"menu.tooltip_restart")," "))}function jt(n,c){if(n&1){let p=w();t(0,"ul",21)(1,"li",22)(2,"span"),a(3),r(4,"translate"),i(),t(5,"div",23)(6,"select",24),b("ngModelChange",function(o){y(p);let d=h();return C(d.saveUiSettingChange("lang",o))}),t(7,"option",25),a(8),r(9,"translate"),i(),t(10,"option",26),a(11,"Bulgarian (bg)"),i(),t(12,"option",27),a(13,"Catalan (ca)"),i(),t(14,"option",28),a(15,"Chinese - Simplified (zh-CN)"),i(),t(16,"option",29),a(17,"Chinese - Traditional (zh-TW)"),i(),t(18,"option",30),a(19,"Czech (cs)"),i(),t(20,"option",31),a(21,"Dutch (nl)"),i(),t(22,"option",32),a(23,"English (en)"),i(),t(24,"option",33),a(25,"Finnish (fi)"),i(),t(26,"option",34),a(27,"French (fr)"),i(),t(28,"option",35),a(29,"German (de)"),i(),t(30,"option",36),a(31,"Hebrew (he)"),i(),t(32,"option",37),a(33,"Hungarian (hu)"),i(),t(34,"option",38),a(35,"Indonesian (id)"),i(),t(36,"option",39),a(37,"Italian (it)"),i(),t(38,"option",40),a(39,"Japanese (ja)"),i(),t(40,"option",41),a(41,"Korean (ko)"),i(),t(42,"option",42),a(43,"Macedonian (mk)"),i(),t(44,"option",43),a(45,"Norwegian (no)"),i(),t(46,"option",44),a(47,"Polish (pl)"),i(),t(48,"option",45),a(49,"Portuguese (Brazil)"),i(),t(50,"option",46),a(51,"Portuguese (Portugal)"),i(),t(52,"option",47),a(53,"Russian (ru)"),i(),t(54,"option",48),a(55,"Slovenian (sl)"),i(),t(56,"option",49),a(57,"Spanish (es)"),i(),t(58,"option",50),a(59,"Swedish (sv)"),i(),t(60,"option",51),a(61,"Thai (th)"),i(),t(62,"option",52),a(63,"Turkish (tr)"),i(),t(64,"option",53),a(65,"Ukrainian (uk)"),i()()()(),t(66,"li",22)(67,"span"),a(68),r(69,"translate"),i(),t(70,"div",23)(71,"select",24),b("ngModelChange",function(o){y(p);let d=h();return C(d.saveUiSettingChange("theme",o))}),t(72,"option",54),a(73),r(74,"translate"),i(),t(75,"option",55),a(76),r(77,"translate"),i(),t(78,"option",56),a(79),r(80,"translate"),i(),t(81,"option",57),a(82),r(83,"translate"),i(),t(84,"option",58),a(85),r(86,"translate"),i(),t(87,"option",59),a(88),r(89,"translate"),i(),t(90,"option",60),a(91),r(92,"translate"),i(),t(93,"option",61),a(94),r(95,"translate"),i(),t(96,"option",62),a(97),r(98,"translate"),i(),t(99,"option",63),a(100),r(101,"translate"),i(),t(102,"option",64),a(103),r(104,"translate"),i(),t(105,"option",65),a(106),r(107,"translate"),i(),t(108,"option",66),a(109),r(110,"translate"),i()()()(),t(111,"li",22)(112,"span"),a(113),r(114,"translate"),i(),t(115,"div",23)(116,"select",24),b("ngModelChange",function(o){y(p);let d=h();return C(d.saveUiSettingChange("lightingMode",o))}),t(117,"option",25),a(118),r(119,"translate"),i(),t(120,"option",67),a(121),r(122,"translate"),i(),t(123,"option",68),a(124),r(125,"translate"),i()()()(),t(126,"li",22)(127,"span"),a(128),r(129,"translate"),g(130,"br")(131,"small",69),r(132,"translate"),i(),t(133,"div",23)(134,"input",70),b("ngModelChange",function(o){y(p);let d=h();return C(d.saveUiSettingChange("loginWallpaper",o))}),i()()(),t(135,"li",22)(136,"span"),a(137),r(138,"translate"),i(),t(139,"div",23)(140,"select",24),b("ngModelChange",function(o){y(p);let d=h();return C(d.saveUiSettingChange("tempUnits",o))}),t(141,"option",71),a(142),r(143,"translate"),i(),t(144,"option",72),a(145),r(146,"translate"),i()()()(),k(147,Vt,8,9,"li",73),i()}if(n&2){let p=h();e(3),_(s(4,31,"settings.display.lang")),e(3),m("ngModel",p.$settings.env.lang),e(2),_(s(9,33,"form.select.auto")),e(60),_(s(69,35,"settings.display.theme")),e(3),m("ngModel",p.$settings.theme),e(2),_(s(74,37,"settings.display.orange")),e(3),_(s(77,39,"settings.display.red")),e(3),_(s(80,41,"settings.display.pink")),e(3),_(s(83,43,"settings.display.purple")),e(3),_(s(86,45,"settings.display.deep_purple")),e(3),_(s(89,47,"settings.display.indigo")),e(3),_(s(92,49,"settings.display.blue")),e(3),_(s(95,51,"settings.display.bluegrey")),e(3),_(s(98,53,"settings.display.cyan")),e(3),_(s(101,55,"settings.display.green")),e(3),_(s(104,57,"settings.display.teal")),e(3),_(s(107,59,"settings.display.grey")),e(3),_(s(110,61,"settings.display.brown")),e(4),_(s(114,63,"settings.display.lighting_mode")),e(3),m("ngModel",p.$settings.lightingMode),e(2),_(s(119,65,"form.select.auto")),e(3),_(s(122,67,"settings.display.light")),e(3),_(s(125,69,"settings.display.dark")),e(4),f(" ",s(129,71,"settings.display.login_wallpaper"),""),e(3),m("innerHTML",s(132,73,"settings.display.login_wallpaper_desc"),oe),e(3),m("ngModel",p.$settings.loginWallpaper),e(3),_(s(138,75,"settings.display.temp_units")),e(3),m("ngModel",p.$settings.env.temperatureUnits),e(2),_(s(143,77,"settings.display.temp_units.c")),e(3),_(s(146,79,"settings.display.temp_units.f")),e(2),m("ngIf",p.hasChangedLoginWallpaper)}}function Pt(n,c){if(n&1&&(t(0,"li",15)(1,"span"),a(2),r(3,"translate"),t(4,"code"),a(5,"-D"),i(),g(6,"br"),t(7,"small",81),a(8),r(9,"translate"),i()(),g(10,"input",82),r(11,"translate"),g(12,"label",83),i()),n&2){let p=h(3);e(2),f(" ",s(3,3,"settings.startup.debug")," "),e(6),f(" ",s(9,5,p.isHbV2?"settings.startup.debug_desc_v2":"settings.startup.debug_desc_v1")," "),e(2),v("aria-label",s(11,7,"settings.startup.debug"))}}function Ot(n,c){n&1&&(t(0,"li",15)(1,"span"),a(2),r(3,"translate"),t(4,"code"),a(5,"-I"),i(),g(6,"br"),t(7,"small",81),a(8),r(9,"translate"),i()(),g(10,"input",84),r(11,"translate"),g(12,"label",85),i()),n&2&&(e(2),f(" ",s(3,3,"settings.startup.insecure")," "),e(6),_(s(9,5,"settings.startup.insecure_desc")),e(2),v("aria-label",s(11,7,"settings.startup.insecure")))}function Rt(n,c){n&1&&(t(0,"li",15)(1,"span"),a(2),r(3,"translate"),t(4,"code"),a(5,"-K"),i(),g(6,"br"),t(7,"small",81),a(8),r(9,"translate"),i()(),g(10,"input",86),r(11,"translate"),g(12,"label",87),i()),n&2&&(e(2),f(" ",s(3,3,"settings.startup.keep_accessories")," "),e(6),_(s(9,5,"settings.startup.keep_accessories_desc")),e(2),v("aria-label",s(11,7,"settings.startup.keep_accessories")))}function Ut(n,c){n&1&&(t(0,"li",22)(1,"span")(2,"span",88),a(3,"DEBUG"),i(),g(4,"br"),t(5,"small",81),a(6),r(7,"translate"),t(8,"a",89),a(9),r(10,"translate"),g(11,"i",90),i()()(),t(12,"div",23),g(13,"input",91),i()()),n&2&&(e(6),f(" ",s(7,2,"settings.service.debug_tooltip")," "),e(3),f(" ",s(10,4,"form.button_more_info")," "))}function zt(n,c){n&1&&(t(0,"li",22)(1,"span")(2,"span",88),a(3,"NODE_OPTIONS"),i(),g(4,"br"),t(5,"small",81),a(6),r(7,"translate"),i()(),t(8,"div",23),g(9,"input",92),i()()),n&2&&(e(6),_(s(7,1,"settings.service.node_tooltip")))}function Ht(n,c){n&1&&(t(0,"li",15)(1,"span"),a(2),r(3,"translate"),g(4,"br"),t(5,"small",81),a(6),r(7,"translate"),i()(),t(8,"a",93),r(9,"translate"),g(10,"i",18),i()()),n&2&&(e(2),f(" ",s(3,3,"menu.docker.startup_script"),""),e(4),_(s(7,5,"platform.docker.script_help")),e(2),v("aria-label",s(9,7,"menu.docker.startup_script")))}function Gt(n,c){n&1&&(t(0,"li",74)(1,"small",75),a(2),r(3,"translate"),i(),t(4,"button",76),r(5,"translate"),a(6),r(7,"translate"),i()()),n&2&&(e(2),_(s(3,3,"settings.changes.saved")),e(2),v("aria-label",s(5,5,"menu.tooltip_restart")),e(2),f(" ",s(7,7,"menu.tooltip_restart")," "))}function Lt(n,c){if(n&1&&(t(0,"ul",78),k(1,Pt,13,9,"li",79)(2,Ot,13,9,"li",79)(3,Rt,13,9,"li",79)(4,Ut,14,6,"li",80)(5,zt,10,3,"li",80)(6,Ht,11,9,"li",79)(7,Gt,8,9,"li",73),i()),n&2){let p=h(2);e(),m("ngIf",p.$settings.env.serviceMode),e(),m("ngIf",p.$settings.env.serviceMode),e(),m("ngIf",p.$settings.env.serviceMode),e(),m("ngIf",p.$settings.env.serviceMode),e(),m("ngIf",p.$settings.env.serviceMode),e(),m("ngIf",p.$settings.env.runningInDocker),e(),m("ngIf",p.hasChangedService)}}function Wt(n,c){if(n&1){let p=w();t(0,"form",8)(1,"div",2),b("click",function(){y(p);let o=h();return C(o.toggleSection("startup"))}),t(2,"h5",3),g(3,"i",4),a(4),r(5,"translate"),i()(),k(6,Lt,8,7,"ul",77),i()}if(n&2){let p=h();m("formGroup",p.serviceForm),e(),v("aria-expanded",p.showFields.startup?"true":"false")("aria-controls","fieldsStartup"),e(2),m("ngClass",p.showFields.startup?"fa-chevron-down":"fa-chevron-right"),e(),f(" ",s(5,6,"settings.title_startup_options")," "),e(2),m("ngIf",p.showFields.startup)}}function Kt(n,c){n&1&&g(0,"i",108)}function qt(n,c){if(n&1&&(t(0,"span")(1,"span",105),k(2,Kt,1,0,"i",106),a(3),t(4,"span",107),a(5),r(6,"translate"),i()()()),n&2){let p=c.$implicit;e(),m("ngClass",M(6,Ft,p.missing,!p.missing)),e(),m("ngIf",p.missing),e(),f(" ",p.iface,": "),e(2),_(p.missing?s(6,4,"settings.mdns_advertiser_not_connected"):p.ip4||p.ip6)}}function Jt(n,c){n&1&&(t(0,"option",109),a(1),r(2,"translate"),i()),n&2&&(e(),f(" Avahi (",s(2,1,"settings.mdns_advertiser_rec"),") "))}function Qt(n,c){n&1&&(t(0,"option",110),a(1),r(2,"translate"),i()),n&2&&(e(),f(" systemd-resolved (",s(2,1,"settings.mdns_advertiser_exp"),") "))}function Xt(n,c){n&1&&(t(0,"li",74)(1,"small",75),a(2),r(3,"translate"),i(),t(4,"button",76),r(5,"translate"),a(6),r(7,"translate"),i()()),n&2&&(e(2),_(s(3,3,"settings.changes.saved")),e(2),v("aria-label",s(5,5,"menu.tooltip_restart")),e(2),f(" ",s(7,7,"menu.tooltip_restart")," "))}function Yt(n,c){if(n&1){let p=w();t(0,"ul",94)(1,"li",15)(2,"span",16)(3,"div"),a(4),r(5,"translate"),g(6,"br"),t(7,"small",81),a(8),r(9,"translate"),i()(),k(10,qt,7,9,"span",95),i(),t(11,"button",96),r(12,"translate"),b("click",function(){y(p);let o=h();return C(o.selectNetworkInterfaces())}),g(13,"i",97),i()(),t(14,"li",22)(15,"span"),a(16),r(17,"translate"),g(18,"br"),t(19,"small",81),a(20),r(21,"translate"),i()(),t(22,"div",23)(23,"select",98),r(24,"translate"),k(25,Jt,3,3,"option",99),t(26,"option",100),a(27),r(28,"translate"),i(),t(29,"option",101),a(30,"Bonjour HAP"),i(),k(31,Qt,3,3,"option",102),i()()(),t(32,"li",22)(33,"span"),a(34),r(35,"translate"),g(36,"br"),t(37,"small",81),a(38),r(39,"translate"),i()(),t(40,"div",23),g(41,"input",103),r(42,"translate"),i()(),t(43,"li",22)(44,"span"),a(45),r(46,"translate"),g(47,"br"),t(48,"small",81),a(49),r(50,"translate"),i()(),t(51,"div",23),g(52,"input",104),r(53,"translate"),i()(),k(54,Xt,8,9,"li",73),i()}if(n&2){let p=h();e(4),f(" ",s(5,23,"settings.network.title_network_interfaces"),""),e(4),_(s(9,25,"settings.network.message_network_interface")),e(2),m("ngForOf",p.bridgeNetworkAdapters),e(),m("disabled",!p.availableNetworkAdapters.length),v("aria-label",s(12,27,"settings.network.title_network_interfaces")),e(2),m("ngClass",q(49,Nt,!p.availableNetworkAdapters.length)),e(3),f(" ",s(17,29,"settings.mdns_advertiser"),""),e(4),_(s(21,31,"settings.mdns_advertiser_help")),e(3),m("formControl",p.legacyMdnsFormControl),v("aria-label",s(24,33,"settings.mdns_advertiser")),e(2),m("ngIf",p.showAvahiMdnsOption),e(2),f(" Ciao ",p.showAvahiMdnsOption?"":"("+s(28,35,"settings.mdns_advertiser_rec")+")"," "),e(4),m("ngIf",p.showResolvedMdnsOption),e(3),f(" ",s(35,37,"settings.network.port_hb"),""),e(4),_(s(39,39,"settings.network.port_hb_desc")),e(3),m("formControl",p.hbPortFormControl)("ngClass",q(51,We,p.isInvalidHbPort)),v("aria-label",s(42,41,"settings.network.port_ui")),e(4),f(" ",s(46,43,"settings.network.port_ui"),""),e(4),_(s(50,45,"settings.network.port_ui_desc")),e(3),m("ngClass",q(53,We,p.isInvalidHbUiPort)),v("aria-label",s(53,47,"settings.network.port_ui")),e(2),m("ngIf",p.hasChangedHbPort||p.hasChangedUiSettings||p.hasChangedMdns||p.hasChangedBridgeNetworkAdapters)}}function Zt(n,c){n&1&&(t(0,"p",112),a(1),r(2,"translate"),i()),n&2&&(e(),_(s(2,1,"settings.cache.desc")))}function ei(n,c){if(n&1){let p=w();t(0,"ul",113)(1,"li",15)(2,"span",16),a(3),r(4,"translate"),g(5,"br"),t(6,"small",81),a(7),r(8,"translate"),i()(),t(9,"button",17),r(10,"translate"),b("click",function(){y(p);let o=h(2);return C(o.removeSingleCachedAccessories())}),g(11,"i",18),i()(),t(12,"li",15)(13,"span",16),a(14),r(15,"translate"),g(16,"br"),t(17,"small",81),a(18),r(19,"translate"),i()(),t(20,"button",17),r(21,"translate"),b("click",function(){y(p);let o=h(2);return C(o.removeBridgeAccessories())}),g(22,"i",18),i()(),t(23,"li",15)(24,"span",16),a(25),r(26,"translate"),g(27,"br"),t(28,"small",81),a(29),r(30,"translate"),i()(),t(31,"button",17),r(32,"translate"),b("click",function(){y(p);let o=h(2);return C(o.removeAllCachedAccessories())}),g(33,"i",18),i()()()}n&2&&(e(3),f(" ",s(4,9,"reset.clear_cache_single.title"),""),e(4),_(s(8,11,"reset.clear_cache_single.desc")),e(2),v("aria-label",s(10,13,"reset.clear_cache_single.title")),e(5),f(" ",s(15,15,"reset.clear_cache_bridge.title"),""),e(4),_(s(19,17,"reset.clear_cache_bridge.desc")),e(2),v("aria-label",s(21,19,"reset.clear_cache_all.title")),e(5),f(" ",s(26,21,"reset.clear_cache_all.title"),""),e(4),_(s(30,23,"reset.clear_cache_all.desc")),e(2),v("aria-label",s(32,25,"reset.clear_cache_all.title")))}function ti(n,c){if(n&1){let p=w();t(0,"div",1)(1,"div",2),b("click",function(){y(p);let o=h();return C(o.toggleSection("cache"))}),t(2,"h5",3),g(3,"i",4),a(4),r(5,"translate"),i()(),k(6,Zt,3,3,"p",11)(7,ei,34,27,"ul",111),i()}if(n&2){let p=h();e(),v("aria-expanded",p.showFields.cache?"true":"false")("aria-controls","fieldsCache"),e(2),m("ngClass",p.showFields.cache?"fa-chevron-down":"fa-chevron-right"),e(),f(" ",s(5,6,"settings.cache.title")," "),e(2),m("ngIf",p.showFields.cache),e(),m("ngIf",p.showFields.cache)}}function ii(n,c){n&1&&(t(0,"p",112),a(1),r(2,"translate"),i()),n&2&&(e(),_(s(2,1,"reset.bridges.desc")))}function ni(n,c){if(n&1){let p=w();t(0,"ul",114)(1,"li",15)(2,"span",16),a(3),r(4,"translate"),g(5,"br"),t(6,"small",81),a(7),r(8,"translate"),i()(),t(9,"button",17),r(10,"translate"),b("click",function(){y(p);let o=h();return C(o.unpairAccessory())}),g(11,"i",18),i()(),t(12,"li",15)(13,"span",16),a(14),r(15,"translate"),r(16,"titlecase"),g(17,"br"),t(18,"small",81),a(19),r(20,"translate"),i()(),t(21,"button",17),r(22,"translate"),b("click",function(){y(p);let o=h();return C(o.resetHomebridgeState())}),g(23,"i",18),i()()()}n&2&&(e(3),f(" ",s(4,6,"reset.bridges_single.title"),""),e(4),_(s(8,8,"reset.bridges_single.desc")),e(2),v("aria-label",s(10,10,"reset.bridges_single.title")),e(5),f(" ",s(16,14,s(15,12,"reset.bridges_all.title")),""),e(5),_(s(20,16,"reset.bridges_all.desc")),e(2),v("aria-label",s(22,18,"reset.bridges_all.title")))}var Ke=(()=>{let c=class c{constructor(l,o,d,x,I,Je){u(this,"$api");u(this,"$modal");u(this,"$plugin");u(this,"$settings");u(this,"$toastr");u(this,"$translate");u(this,"originalServiceForm",{HOMEBRIDGE_DEBUG:!1,HOMEBRIDGE_KEEP_ORPHANS:!1,HOMEBRIDGE_INSECURE:!0,ENV_DEBUG:"",ENV_NODE_OPTIONS:""});u(this,"originalUiSettingsForm",{port:0});u(this,"originalLoginWallpaper","");u(this,"originalMdnsSetting","");u(this,"originalBridgeNetworkAdapters",[]);u(this,"originalHbPort",0);u(this,"hasChangedService",!1);u(this,"hasChangedUiSettings",!1);u(this,"hasChangedMdns",!1);u(this,"hasChangedBridgeNetworkAdapters",!1);u(this,"hasChangedHbPort",!1);u(this,"hasChangedLoginWallpaper",!1);u(this,"isInvalidHbPort",!1);u(this,"isInvalidHbUiPort",!1);u(this,"serviceForm",new se({HOMEBRIDGE_DEBUG:new H(!1),HOMEBRIDGE_KEEP_ORPHANS:new H(!1),HOMEBRIDGE_INSECURE:new H(!0),ENV_DEBUG:new H(""),ENV_NODE_OPTIONS:new H("")}));u(this,"uiSettingsForm",new se({port:new H(0)}));u(this,"loginWallpaper","");u(this,"legacyMdnsFormControl",new Se(!1));u(this,"showAvahiMdnsOption",!1);u(this,"showResolvedMdnsOption",!1);u(this,"availableNetworkAdapters",[]);u(this,"bridgeNetworkAdapters",[]);u(this,"hbPortFormControl",new H(0));u(this,"isHbV2",!1);u(this,"showFields",{general:!0,display:!0,startup:!0,network:!0,reset:!0,cache:!0});this.$api=l,this.$modal=o,this.$plugin=d,this.$settings=x,this.$toastr=I,this.$translate=Je}ngOnInit(){this.isHbV2=this.$settings.env.homebridgeVersion.startsWith("2"),this.initUiSettingsForm(),this.initDisplaySettingsForm(),this.initNetworkingOptions(),this.$settings.env.serviceMode&&this.initServiceModeForm()}initUiSettingsForm(){this.originalUiSettingsForm={port:this.$settings.env.port},this.uiSettingsForm.patchValue({port:this.$settings.env.port}),this.uiSettingsForm.valueChanges.pipe(ae(500)).subscribe(l=>{let o=!1;Object.keys(l).forEach(d=>{this.originalUiSettingsForm[d]!==l[d]&&(this.saveUiSettingChange(d,l[d]),o=!0)}),this.hasChangedUiSettings=o})}initServiceModeForm(){this.$api.get("/platform-tools/hb-service/homebridge-startup-settings").subscribe({next:l=>{Object.keys(l).forEach(o=>{this.originalServiceForm[o]=l[o]}),this.serviceForm.patchValue(l),this.serviceForm.valueChanges.pipe(ae(500)).subscribe(this.saveServiceModeSettings.bind(this))},error:l=>{console.error(l),this.$toastr.error(l.message,this.$translate.instant("toast.title_error"))}})}initDisplaySettingsForm(){this.originalLoginWallpaper=this.$settings.loginWallpaper,this.loginWallpaper=this.$settings.loginWallpaper}saveUiSettingChange(l,o){switch(l){case"lang":this.$settings.setLang(o);break;case"lightingMode":this.$settings.setLightingMode(o,"user");break;case"theme":this.$settings.setTheme(o);break;case"tempUnits":this.$settings.setEnvItem("temperatureUnits",o);break;case"loginWallpaper":this.$settings.setEnvItem("loginWallpaper",o),this.hasChangedLoginWallpaper=o!==this.originalLoginWallpaper;break;case"port":if(!o||typeof o!="number"||o<1025||o>65533||Number.isInteger(o)===!1||o===this.hbPortFormControl.value){this.isInvalidHbUiPort=!0;return}this.$settings.setEnvItem("port",o),this.isInvalidHbUiPort=!1;break}T(this.$api.put("/config-editor/ui",{key:l,value:o})).catch(d=>{console.error(d),this.$toastr.error(d.message,this.$translate.instant("toast.title_error"))})}openUiSettings(){this.$plugin.settings({name:"homebridge-config-ui-x",displayName:"Homebridge UI",settingsSchema:!0,links:{}})}openRestoreModal(){this.$modal.open(ne,{size:"lg",backdrop:"static"})}openBackupModal(){this.$modal.open(Oe,{size:"lg",backdrop:"static"})}saveServiceModeSettings(l=this.serviceForm.value){this.$api.put("/platform-tools/hb-service/homebridge-startup-settings",l).subscribe({next:()=>{this.hasChangedService=JSON.stringify(l)!==JSON.stringify(this.originalServiceForm)},error:o=>{console.error(o),this.$toastr.error(o.message,this.$translate.instant("toast.title_error"))}})}resetHomebridgeState(){this.$modal.open(Ge,{size:"lg",backdrop:"static"})}unpairAccessory(){this.$modal.open(Le,{size:"lg",backdrop:"static"})}removeAllCachedAccessories(){this.$modal.open(Re,{size:"lg",backdrop:"static"})}removeSingleCachedAccessories(){this.$modal.open(ze,{size:"lg",backdrop:"static"})}removeBridgeAccessories(){this.$modal.open(Ue,{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([T(this.$api.get("/server/network-interfaces/system")),T(this.$api.get("/server/network-interfaces/bridge")),T(this.$api.get("/server/mdns-advertiser")),T(this.$api.get("/server/port"))]).then(([l,o,d,x])=>{this.availableNetworkAdapters=l,this.buildBridgeNetworkAdapterList(o),this.legacyMdnsFormControl.patchValue(d.advertiser),this.originalMdnsSetting=d.advertiser,this.originalBridgeNetworkAdapters=this.bridgeNetworkAdapters.map(I=>I.iface),this.legacyMdnsFormControl.valueChanges.subscribe(I=>{this.setHomebridgeMdnsSetting(I)}),this.hbPortFormControl.patchValue(x.port),this.hbPortFormControl.valueChanges.subscribe(I=>this.setHomebridgePort(I)),this.originalHbPort=x.port})})}setHomebridgeMdnsSetting(l){return B(this,null,function*(){this.$api.put("/server/mdns-advertiser",{advertiser:l}).subscribe({next:()=>{this.hasChangedMdns=l!==this.originalMdnsSetting},error:o=>{console.error(o),this.$toastr.error(o.message,this.$translate.instant("toast.title_error"))}})})}setNetworkInterfaces(l){return B(this,null,function*(){this.$api.put("/server/network-interfaces/bridge",{adapters:l}).subscribe({next:()=>{this.hasChangedBridgeNetworkAdapters=this.originalBridgeNetworkAdapters.join(",")!==l.join(",")},error:o=>{console.error(o),this.$toastr.error(o.message,this.$translate.instant("toast.title_error"))}})})}setHomebridgePort(l){return B(this,null,function*(){if(l===this.uiSettingsForm.get("port").value){this.isInvalidHbPort=!0;return}this.$api.put("/server/port",{port:l}).subscribe({next:()=>{this.hasChangedHbPort=this.originalHbPort!==l,this.isInvalidHbPort=!1},error:()=>{this.isInvalidHbPort=!0}})})}buildBridgeNetworkAdapterList(l){if(!l.length){this.bridgeNetworkAdapters=[];return}this.bridgeNetworkAdapters=l.map(o=>{let d=this.availableNetworkAdapters.find(x=>x.iface===o);return d?(d.selected=!0,d.missing=!1,d):{iface:o,missing:!0}})}selectNetworkInterfaces(){let l=this.$modal.open(He,{size:"lg",backdrop:"static"});l.componentInstance.availableNetworkAdapters=this.availableNetworkAdapters,l.componentInstance.bridgeNetworkAdapters=this.bridgeNetworkAdapters,l.result.then(o=>{this.buildBridgeNetworkAdapterList(o),this.setNetworkInterfaces(o)}).catch(()=>{})}toggleSection(l){this.showFields[l]=!this.showFields[l]}};u(c,"\u0275fac",function(o){return new(o||c)(S(F),S(G),S(Pe),S(ve),S(D),S(N))}),u(c,"\u0275cmp",E({type:c,selectors:[["ng-component"]],decls:35,vars:35,consts:[[1,"primary-text","m-0"],[1,"my-4"],["role","button","tabindex","0",1,"mt-3","hover-pointer",3,"click"],[1,"primary-text"],[1,"fa","fa-fw",3,"ngClass"],["class","list-group list-group-box mt-2 mx-0","id","fieldsGeneral",4,"ngIf"],["class","list-group list-group-box mt-2 mx-0","id","fieldsDisplay",4,"ngIf"],["class","my-4","novalidate","",3,"formGroup",4,"ngIf"],["novalidate","",1,"my-4",3,"formGroup"],["class","list-group list-group-box mt-2 mx-0","id","fieldsNetwork",4,"ngIf"],["class","my-4",4,"ngIf"],["class","small grey-text mb-2 mx-0",4,"ngIf"],["class","list-group list-group-box mt-2 mx-0","id","fieldsReset",4,"ngIf"],[1,"pb-3"],["id","fieldsGeneral",1,"list-group","list-group-box","mt-2","mx-0"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"pr-2"],[1,"btn","btn-primary","waves-effect","m-0","ml-3",2,"min-width","50px",3,"click"],[1,"fas","fa-fw","fa-chevron-right"],["routerLink","/users",1,"btn","btn-primary","waves-effect","m-0","ml-3",2,"min-width","50px"],[1,"fas","fa-fw","fa-sliders"],["id","fieldsDisplay",1,"list-group","list-group-box","mt-2","mx-0"],[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"],[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"],[1,"grey-text","pr-2",3,"innerHTML"],["name","search_wallpaper","autocomplete","off","type","text","placeholder","/path-to/image.png",1,"form-control","custom-input","form-control-sm","resp-input",3,"ngModelChange","ngModel"],["value","c"],["value","f"],["class","list-group-item d-flex flex-column align-items-center",4,"ngIf"],[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"],["class","list-group list-group-box mb-4 mx-0","id","fieldsStartup",4,"ngIf"],["id","fieldsStartup",1,"list-group","list-group-box","mb-4","mx-0"],["class","list-group-item d-flex justify-content-between align-items-center",4,"ngIf"],["class","list-group-item d-block d-md-flex justify-content-between align-items-center",4,"ngIf"],[1,"grey-text","pr-2"],["type","checkbox","id","homebridgeDebugMode","formControlName","HOMEBRIDGE_DEBUG",1,"rendux-input"],["for","homebridgeDebugMode",1,"rendux-label","ml-3",2,"min-width","50px"],["type","checkbox","id","homebridgeInsecureMode","formControlName","HOMEBRIDGE_INSECURE",1,"rendux-input"],["for","homebridgeInsecureMode",1,"rendux-label","ml-3",2,"min-width","50px"],["type","checkbox","id","homebridgeKeepOrphans","formControlName","HOMEBRIDGE_KEEP_ORPHANS",1,"rendux-input"],["for","homebridgeKeepOrphans",1,"rendux-label","ml-3",2,"min-width","50px"],[1,"text-monospace"],["href","https://github.com/homebridge/homebridge-config-ui-x/wiki/Debug-Common-Values","target","_blank"],[1,"fa","fa/fw","fas","fa-fw","fa-external-link-alt"],["formControlName","ENV_DEBUG","type","text","placeholder","HAP-NodeJS:Advertiser,HAP-NodeJS:Service",1,"form-control","custom-input","form-control-sm","resp-input"],["formControlName","ENV_NODE_OPTIONS","type","text","placeholder","--max-old-space-size=512 --max-http-header-size=8192",1,"form-control","custom-input","form-control-sm","resp-input"],["routerLink","/platform-tools/docker/startup-script",1,"btn","btn-primary","waves-effect","m-0","ml-3",2,"min-width","50px"],["id","fieldsNetwork",1,"list-group","list-group-box","mt-2","mx-0"],[4,"ngFor","ngForOf"],[1,"btn","btn-primary","waves-effect","m-0","ml-3",2,"min-width","50px",3,"click","disabled"],[1,"fas","fa-fw","fa-chevron-right",3,"ngClass"],[1,"custom-select","resp-select",3,"formControl"],["value","avahi",4,"ngIf"],["value","ciao"],["value","bonjour-hap"],["value","resolved",4,"ngIf"],["type","number","min","1025","max","65533",1,"form-control","custom-input","form-control-sm","resp-input",3,"formControl","ngClass"],["type","number","min","1025","max","65533","placeholder","8581","formControlName","port",1,"form-control","custom-input","form-control-sm","resp-input",3,"ngClass"],[1,"badge","badge-pill","mr-1",3,"ngClass"],["class","fas fa-fw fa-exclamation-triangle",4,"ngIf"],[1,"font-weight-normal"],[1,"fas","fa-fw","fa-exclamation-triangle"],["value","avahi"],["value","resolved"],["class","list-group list-group-box mb-4 mx-0","id","fieldsCache",4,"ngIf"],[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"]],template:function(o,d){o&1&&(t(0,"h3",0),a(1),r(2,"translate"),i(),t(3,"div",1)(4,"div",2),b("click",function(){return d.toggleSection("general")}),t(5,"h5",3),g(6,"i",4),a(7),r(8,"translate"),i()(),k(9,Dt,29,24,"ul",5),i(),t(10,"div",1)(11,"div",2),b("click",function(){return d.toggleSection("display")}),t(12,"h5",3),g(13,"i",4),a(14),r(15,"translate"),i()(),k(16,jt,148,81,"ul",6),i(),k(17,Wt,7,8,"form",7),t(18,"form",8)(19,"div",2),b("click",function(){return d.toggleSection("network")}),t(20,"h5",3),g(21,"i",4),a(22),r(23,"translate"),i()(),k(24,Yt,55,55,"ul",9),i(),k(25,ti,8,8,"div",10),t(26,"div",1)(27,"div",2),b("click",function(){return d.toggleSection("reset")}),t(28,"h5",3),g(29,"i",4),a(30),r(31,"translate"),i()(),k(32,ii,3,3,"p",11)(33,ni,24,20,"ul",12),i(),g(34,"div",13)),o&2&&(e(),_(s(2,25,"menu.settings.title")),e(3),v("aria-expanded",d.showFields.general?"true":"false")("aria-controls","fieldsGeneral"),e(2),m("ngClass",d.showFields.general?"fa-chevron-down":"fa-chevron-right"),e(),f(" ",s(8,27,"settings.general.title_general")," "),e(2),m("ngIf",d.showFields.general),e(2),v("aria-expanded",d.showFields.display?"true":"false")("aria-controls","fieldsDisplay"),e(2),m("ngClass",d.showFields.display?"fa-chevron-down":"fa-chevron-right"),e(),f(" ",s(15,29,"settings.general.title_display")," "),e(2),m("ngIf",d.showFields.display),e(),m("ngIf",d.$settings.env.serviceMode||d.$settings.env.runningInDocker),e(),m("formGroup",d.uiSettingsForm),e(),v("aria-expanded",d.showFields.network?"true":"false")("aria-controls","fieldsNetwork"),e(2),m("ngClass",d.showFields.network?"fa-chevron-down":"fa-chevron-right"),e(),f(" ",s(23,31,"settings.network.title_network")," "),e(2),m("ngIf",d.showFields.network),e(),m("ngIf",d.$settings.env.serviceMode),e(2),v("aria-expanded",d.showFields.reset?"true":"false")("aria-controls","fieldsReset"),e(2),m("ngClass",d.showFields.reset?"fa-chevron-down":"fa-chevron-right"),e(),f(" ",s(31,33,"reset.bridges.title")," "),e(2),m("ngIf",d.showFields.reset),e(),m("ngIf",d.showFields.reset))},dependencies:[O,j,A,ke,Ee,$e,he,ye,ee,Be,te,xe,Me,Te,ie,Ce,we,Ie,_e,J,$],encapsulation:2}));let n=c;return n})();var ai=[{path:"",component:Ke,canActivate:[be]}],qe=(()=>{let c=class c{};u(c,"\u0275fac",function(o){return new(o||c)}),u(c,"\u0275mod",Z({type:c})),u(c,"\u0275inj",Y({imports:[re.forChild(ai),re]}));let n=c;return n})();var fn=(()=>{let c=class c{};u(c,"\u0275fac",function(o){return new(o||c)}),u(c,"\u0275mod",Z({type:c})),u(c,"\u0275inj",Y({imports:[ue,Ae,Ne,fe,De,qe]}));let n=c;return n})();export{fn as SettingsModule};
@@ -1,4 +1,4 @@
1
- import{a as F}from"./chunk-GNQUXZMN.js";import{a as S,b as U}from"./chunk-THFLPY67.js";import{a as g}from"./chunk-7564WJJL.js";import{H as w,W as k,Z as L,e as O,g as h,h as a,l as E}from"./chunk-IGUSDGD6.js";var M=O((v,b)=>{(function(l,n){typeof define=="function"&&define.amd?define([],n):typeof v<"u"?n():(n(),l.FileSaver={})})(v,function(){"use strict";function l(e,i){return typeof i>"u"?i={autoBom:!1}:typeof i!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),i={autoBom:!i}),i.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\uFEFF",e],{type:e.type}):e}function n(e,i,s){var t=new XMLHttpRequest;t.open("GET",e),t.responseType="blob",t.onload=function(){d(t.response,i,s)},t.onerror=function(){console.error("could not download file")},t.send()}function y(e){var i=new XMLHttpRequest;i.open("HEAD",e,!1);try{i.send()}catch{}return 200<=i.status&&299>=i.status}function c(e){try{e.dispatchEvent(new MouseEvent("click"))}catch{var i=document.createEvent("MouseEvents");i.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(i)}}var o=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof global=="object"&&global.global===global?global:void 0,m=o.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),d=o.saveAs||(typeof window!="object"||window!==o?function(){}:"download"in HTMLAnchorElement.prototype&&!m?function(e,i,s){var t=o.URL||o.webkitURL,r=document.createElement("a");i=i||e.name||"download",r.download=i,r.rel="noopener",typeof e=="string"?(r.href=e,r.origin===location.origin?c(r):y(r.href)?n(e,i,s):c(r,r.target="_blank")):(r.href=t.createObjectURL(e),setTimeout(function(){t.revokeObjectURL(r.href)},4e4),setTimeout(function(){c(r)},0))}:"msSaveOrOpenBlob"in navigator?function(e,i,s){if(i=i||e.name||"download",typeof e!="string")navigator.msSaveOrOpenBlob(l(e,s),i);else if(y(e))n(e,i,s);else{var t=document.createElement("a");t.href=e,t.target="_blank",setTimeout(function(){c(t)})}}:function(e,i,s,t){if(t=t||open("","_blank"),t&&(t.document.title=t.document.body.innerText="downloading..."),typeof e=="string")return n(e,i,s);var r=e.type==="application/octet-stream",x=/constructor/i.test(o.HTMLElement)||o.safari,A=/CriOS\/[\d]+/.test(navigator.userAgent);if((A||r&&x||m)&&typeof FileReader<"u"){var u=new FileReader;u.onloadend=function(){var f=u.result;f=A?f:f.replace(/^data:[^;]*;/,"data:attachment/file;"),t?t.location.href=f:location=f,t=null},u.readAsDataURL(e)}else{var R=o.URL||o.webkitURL,p=R.createObjectURL(e);t?t.location=p:location.href=p,t=null,setTimeout(function(){R.revokeObjectURL(p)},4e4)}});o.saveAs=d.saveAs=d,typeof b<"u"&&(b.exports=d)})});var j=h(S(),1),T=h(U(),1),z=h(F(),1);var I=(()=>{let n=class n{constructor(c){a(this,"$ws");a(this,"term");a(this,"io");a(this,"fitAddon");a(this,"webLinksAddon");a(this,"resize");a(this,"elementResize");a(this,"pluginName");this.$ws=c}startTerminal(c,o={},m,d){this.pluginName=d,this.elementResize=m,this.io=this.$ws.connectToNamespace("log"),this.term=new j.Terminal(o),setTimeout(()=>{this.term.loadAddon(this.fitAddon),this.term.loadAddon(this.webLinksAddon)}),this.fitAddon=new T.FitAddon,this.webLinksAddon=new z.WebLinksAddon,this.resize=new E,this.term.open(c.nativeElement),setTimeout(()=>{this.fitAddon.activate(this.term),this.fitAddon.fit()}),this.io.connected.subscribe(()=>{this.term.reset(),this.io.socket.emit("tail-log",{cols:this.term.cols,rows:this.term.rows})}),this.io.socket.on("disconnect",()=>{this.term.write(`
1
+ import{a as F}from"./chunk-GNQUXZMN.js";import{a as S,b as U}from"./chunk-THFLPY67.js";import{a as g}from"./chunk-NJRXPLIM.js";import{H as w,W as k,Z as L,e as O,g as h,h as a,l as E}from"./chunk-IGUSDGD6.js";var M=O((v,b)=>{(function(l,n){typeof define=="function"&&define.amd?define([],n):typeof v<"u"?n():(n(),l.FileSaver={})})(v,function(){"use strict";function l(e,i){return typeof i>"u"?i={autoBom:!1}:typeof i!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),i={autoBom:!i}),i.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\uFEFF",e],{type:e.type}):e}function n(e,i,s){var t=new XMLHttpRequest;t.open("GET",e),t.responseType="blob",t.onload=function(){d(t.response,i,s)},t.onerror=function(){console.error("could not download file")},t.send()}function y(e){var i=new XMLHttpRequest;i.open("HEAD",e,!1);try{i.send()}catch{}return 200<=i.status&&299>=i.status}function c(e){try{e.dispatchEvent(new MouseEvent("click"))}catch{var i=document.createEvent("MouseEvents");i.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(i)}}var o=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof global=="object"&&global.global===global?global:void 0,m=o.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),d=o.saveAs||(typeof window!="object"||window!==o?function(){}:"download"in HTMLAnchorElement.prototype&&!m?function(e,i,s){var t=o.URL||o.webkitURL,r=document.createElement("a");i=i||e.name||"download",r.download=i,r.rel="noopener",typeof e=="string"?(r.href=e,r.origin===location.origin?c(r):y(r.href)?n(e,i,s):c(r,r.target="_blank")):(r.href=t.createObjectURL(e),setTimeout(function(){t.revokeObjectURL(r.href)},4e4),setTimeout(function(){c(r)},0))}:"msSaveOrOpenBlob"in navigator?function(e,i,s){if(i=i||e.name||"download",typeof e!="string")navigator.msSaveOrOpenBlob(l(e,s),i);else if(y(e))n(e,i,s);else{var t=document.createElement("a");t.href=e,t.target="_blank",setTimeout(function(){c(t)})}}:function(e,i,s,t){if(t=t||open("","_blank"),t&&(t.document.title=t.document.body.innerText="downloading..."),typeof e=="string")return n(e,i,s);var r=e.type==="application/octet-stream",x=/constructor/i.test(o.HTMLElement)||o.safari,A=/CriOS\/[\d]+/.test(navigator.userAgent);if((A||r&&x||m)&&typeof FileReader<"u"){var u=new FileReader;u.onloadend=function(){var f=u.result;f=A?f:f.replace(/^data:[^;]*;/,"data:attachment/file;"),t?t.location.href=f:location=f,t=null},u.readAsDataURL(e)}else{var R=o.URL||o.webkitURL,p=R.createObjectURL(e);t?t.location=p:location.href=p,t=null,setTimeout(function(){R.revokeObjectURL(p)},4e4)}});o.saveAs=d.saveAs=d,typeof b<"u"&&(b.exports=d)})});var j=h(S(),1),T=h(U(),1),z=h(F(),1);var I=(()=>{let n=class n{constructor(c){a(this,"$ws");a(this,"term");a(this,"io");a(this,"fitAddon");a(this,"webLinksAddon");a(this,"resize");a(this,"elementResize");a(this,"pluginName");this.$ws=c}startTerminal(c,o={},m,d){this.pluginName=d,this.elementResize=m,this.io=this.$ws.connectToNamespace("log"),this.term=new j.Terminal(o),setTimeout(()=>{this.term.loadAddon(this.fitAddon),this.term.loadAddon(this.webLinksAddon)}),this.fitAddon=new T.FitAddon,this.webLinksAddon=new z.WebLinksAddon,this.resize=new E,this.term.open(c.nativeElement),setTimeout(()=>{this.fitAddon.activate(this.term),this.fitAddon.fit()}),this.io.connected.subscribe(()=>{this.term.reset(),this.io.socket.emit("tail-log",{cols:this.term.cols,rows:this.term.rows})}),this.io.socket.on("disconnect",()=>{this.term.write(`
2
2
  \r
3
3
  \rWebsocket failed to connect. Is the server running?
4
4
  \r
@@ -1 +1 @@
1
- import{a as ae,b as se,c as ce,d as le,e as me,f as ue}from"./chunk-VROGSJLF.js";import{f as pe}from"./chunk-422JXES4.js";import"./chunk-6QEO3BTW.js";import{a as de}from"./chunk-B6C32ZRK.js";import"./chunk-7564WJJL.js";import"./chunk-TS27NWVA.js";import"./chunk-7R6JSPNH.js";import"./chunk-JM7QCDMZ.js";import{c as K}from"./chunk-RIWBPQF3.js";import{M as ie,N as oe,O as ne,Q as re,c as Q,e as U,f as X,i as Y,l as Z,m as ee,y as te}from"./chunk-WCDFKYP6.js";import{m as J}from"./chunk-S4SOWUAW.js";import{b as A,c as q}from"./chunk-F22FMU37.js";import{$ as w,$b as z,Ga as x,Ka as C,La as p,Pb as W,Qb as R,Rb as H,Sb as G,Ua as r,Va as s,Wa as _,X as $,Xa as P,Ya as F,Za as N,aa as B,ab as v,bb as g,h as c,ha as h,ia as y,jb as u,kb as f,lb as S,ob as k,pb as I,qb as T,tb as L,ub as j,vc as V,wa as n,xa as b,yb as l,zb as d}from"./chunk-IGUSDGD6.js";var Ce=()=>({standalone:!0}),_e=(()=>{let t=class t{constructor(a){c(this,"$activeModal");c(this,"roomName");this.$activeModal=a}};c(t,"\u0275fac",function(i){return new(i||t)(b(ie))}),c(t,"\u0275cmp",w({type:t,selectors:[["ng-component"]],inputs:{roomName:"roomName"},decls:30,vars:21,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body"],["role","alert",1,"alert"],[1,"md-form"],["type","text","id","form-name","autofocus","",1,"form-control","px-0",3,"ngModelChange","keyup.enter","ngModel","ngModelOptions"],["for","form-name"],[1,"fas","fa-fw","fa-home"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-right"],["type","button","data-dismiss","modal",1,"btn","btn-primary",3,"click"]],template:function(i,m){i&1&&(r(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),u(4),l(5,"translate"),s(),r(6,"button",3),l(7,"translate"),v("click",function(){return m.$activeModal.dismiss("Dismiss")}),r(8,"span",4),u(9,"\xD7"),s()()(),r(10,"div",5)(11,"div",6),u(12),l(13,"translate"),s(),r(14,"div",7)(15,"input",8),T("ngModelChange",function(E){return I(m.roomName,E)||(m.roomName=E),E}),v("keyup.enter",function(){return m.$activeModal.close(m.roomName)}),s(),r(16,"label",9),_(17,"i",10),u(18),l(19,"translate"),s()()(),r(20,"div",11)(21,"div",12)(22,"button",13),v("click",function(){return m.$activeModal.dismiss("Dismiss")}),u(23),l(24,"translate"),s()(),_(25,"div",14),r(26,"div",15)(27,"button",16),v("click",function(){return m.$activeModal.close(m.roomName)}),u(28),l(29,"translate"),s()()()()()),i&2&&(n(4),f(d(5,8,"accessories.button_add_room")),n(2),C("aria-label",d(7,10,"form.button_close")),n(6),f(d(13,12,"accessories.rooms_not_appear_in_homekit")),n(3),k("ngModel",m.roomName),p("ngModelOptions",L(20,Ce)),n(3),S(" ",d(19,14,"accessories.room_name")," "),n(5),S(" ",d(24,16,"form.button_close")," "),n(5),S(" ",d(29,18,"form.button_save")," "))},dependencies:[ee,Q,U,X,Z,Y,A],encapsulation:2}));let e=t;return e})();var fe=(()=>{let t=class t{constructor(){}};c(t,"\u0275fac",function(i){return new(i||t)}),c(t,"\u0275cmp",w({type:t,selectors:[["app-drag-here-placeholder"]],decls:5,vars:3,consts:[[1,"accessory-box"],[1,"fas","fa-fw","fa-arrow-alt-circle-down","accessory-icon"],[1,"accessory-label"]],template:function(i,m){i&1&&(r(0,"div",0),_(1,"i",1),r(2,"div",2),u(3),l(4,"translate"),s()()),i&2&&(n(3),f(d(4,1,"accessories.control.drag_here")))},dependencies:[A],styles:[".accessory-box[_ngcontent-%COMP%]{opacity:.2}"]}));let e=t;return e})();var we=e=>({"cursor-move":e});function Se(e,t){if(e&1&&(r(0,"div",19)(1,"div",20)(2,"h5",21),u(3),l(4,"translate"),s()()()),e&2){let o=g().$implicit,a=g(2);n(2),p("ngClass",j(4,we,!a.isMobile)),n(),S(" ",o.name==="Default Room"?d(4,2,"accessories.control.default_room"):o.name," ")}}function ke(e,t){if(e&1&&(P(0),_(1,"app-accessory-tile",26),F()),e&2){let o=g().$implicit;n(),p("service",o)}}function Ie(e,t){if(e&1&&(r(0,"div",25),x(1,ke,2,1,"ng-container",0),s()),e&2){let o=t.$implicit,a=g(4);p("ngSwitch",o.type),n(),p("ngIf",!a.hideHidden||!o.hidden)}}function Te(e,t){if(e&1){let o=N();r(0,"div",22),T("dragulaModelChange",function(i){h(o);let m=g().$implicit;return I(m.services,i)||(m.services=i),y(i)}),x(1,Ie,2,2,"div",23),_(2,"div",24)(3,"div",24)(4,"div",24)(5,"div",24)(6,"div",24)(7,"div",24)(8,"div",24)(9,"div",24)(10,"div",24)(11,"div",24)(12,"div",24)(13,"div",24)(14,"div",24)(15,"div",24)(16,"div",24),s()}if(e&2){let o=g().$implicit;p("dragula","services-bag"),k("dragulaModel",o.services),n(),p("ngForOf",o.services)}}function Ae(e,t){if(e&1){let o=N();r(0,"div",27),T("dragulaModelChange",function(i){h(o);let m=g().$implicit;return I(m.services,i)||(m.services=i),y(i)}),_(1,"app-drag-here-placeholder",28),s()}if(e&2){let o=g().$implicit;p("dragula","services-bag"),k("dragulaModel",o.services)}}function Ee(e,t){if(e&1&&(r(0,"div"),x(1,Se,5,6,"div",15),r(2,"div",16),x(3,Te,17,3,"div",17)(4,Ae,2,2,"div",18),s()()),e&2){let o=t.$implicit,a=g(2);n(),p("ngIf",!a.isMobile||o.services.length),n(2),p("ngIf",o.services.length),n(),p("ngIf",!o.services.length&&!a.isMobile)}}function $e(e,t){if(e&1){let o=N();r(0,"div")(1,"div",1)(2,"div",2)(3,"h3",3),u(4),l(5,"translate"),s()(),r(6,"div",4)(7,"div",5)(8,"button",6),l(9,"translate"),l(10,"translate"),v("click",function(){h(o);let i=g();return y(i.addRoom())}),_(11,"i",7),s()(),r(12,"div",5)(13,"button",6),l(14,"translate"),l(15,"translate"),l(16,"translate"),l(17,"translate"),v("click",function(){h(o);let i=g();return y(i.hideHidden=!i.hideHidden)}),_(18,"i",8),s()(),r(19,"div",5)(20,"button",9),l(21,"translate"),l(22,"translate"),v("click",function(){h(o);let i=g();return y(i.toggleLayoutLock())}),_(23,"i",10),s(),r(24,"button",11),l(25,"translate"),l(26,"translate"),v("click",function(){h(o);let i=g();return y(i.toggleLayoutLock())}),_(27,"i",12),s()()()(),r(28,"div",13),T("dragulaModelChange",function(i){h(o);let m=g();return I(m.$accessories.rooms,i)||(m.$accessories.rooms=i),y(i)}),x(29,Ee,5,3,"div",14),s()()}if(e&2){let o=g();n(4),f(d(5,17,"accessories.title_accessories")),n(4),p("hidden",o.isMobile)("ngbTooltip",d(9,19,"accessories.button_add_room")),C("aria-label",d(10,21,"accessories.button_add_room")),n(5),p("hidden",o.isMobile)("ngbTooltip",o.hideHidden?d(14,23,"accessories.button_hidden_show"):d(15,25,"accessories.button_hidden_hide")),C("aria-label",o.hideHidden?d(16,27,"accessories.button_hidden_show"):d(17,29,"accessories.button_hidden_hide")),n(5),p("ngClass",o.hideHidden?"fa-eye-slash":"fa-eye"),n(2),p("disabled",!o.isMobile)("ngbTooltip",d(21,31,"form.button_unlock")),C("aria-label",d(22,33,"form.button_unlock")),n(4),p("disabled",o.isMobile)("ngbTooltip",d(25,35,"form.button_lock")),C("aria-label",d(26,37,"form.button_lock")),n(4),p("dragula","rooms-bag"),k("dragulaModel",o.$accessories.rooms),n(),p("ngForOf",o.$accessories.rooms)}}function Be(e,t){e&1&&(r(0,"p",37),u(1),l(2,"translate"),s()),e&2&&(n(),f(d(2,1,"accessories.settings_link")))}function Ne(e,t){if(e&1&&(r(0,"div")(1,"div",19)(2,"div",29)(3,"h3",30),u(4),l(5,"translate"),s()(),r(6,"div",31)(7,"div",32)(8,"h4",33),u(9),l(10,"translate"),s(),r(11,"div")(12,"p"),u(13),l(14,"translate"),s(),r(15,"p",34)(16,"span"),u(17),l(18,"translate"),s(),r(19,"a",35),u(20," https://github.com/homebridge/homebridge-config-ui-x/wiki/Enabling-Accessory-Control "),s(),r(21,"span"),u(22),l(23,"translate"),s()(),x(24,Be,3,3,"p",36),s()()()()()),e&2){let o=g();n(4),f(d(5,6,"accessories.title_accessories")),n(5),f(d(10,8,"accessories.control_disabled")),n(4),f(d(14,10,"accessories.message_must_use_insecure_mode")),n(4),f(d(18,12,"accessories.message_please_see")),n(5),f(d(23,14,"accessories.message_for_more_information")),n(2),p("ngIf",o.$auth.user.admin)}}var ve=(()=>{let t=class t{constructor(a,i,m,M,E,he){c(this,"$auth");c(this,"dragulaService");c(this,"$modal");c(this,"$settings");c(this,"$md");c(this,"$accessories");c(this,"isMobile",!1);c(this,"hideHidden",!0);c(this,"orderSubscription");this.$auth=a,this.dragulaService=i,this.$modal=m,this.$settings=M,this.$md=E,this.$accessories=he,this.isMobile=this.$md.detect.mobile(),i.createGroup("rooms-bag",{moves:(O,Ve,ye)=>!this.isMobile&&ye.classList.contains("drag-handle")}),i.createGroup("services-bag",{moves:O=>!this.isMobile&&!O.classList.contains("no-drag")}),this.orderSubscription=i.drop().subscribe(()=>{setTimeout(()=>{this.$accessories.saveLayout()})}),window.localStorage.getItem("accessories-layout-locked")&&(this.isMobile=!0)}ngOnInit(){this.$accessories.start()}addRoom(){this.$modal.open(_e,{size:"lg",backdrop:"static"}).result.then(a=>{!a||!a.length||this.$accessories.rooms.find(i=>i.name===a)||(this.$accessories.rooms.push({name:a,services:[]}),this.isMobile&&this.toggleLayoutLock())}).catch(()=>{})}toggleLayoutLock(){this.isMobile=!this.isMobile,this.isMobile?window.localStorage.setItem("accessories-layout-locked","yes"):window.localStorage.removeItem("accessories-layout-locked")}ngOnDestroy(){this.$accessories.stop(),this.orderSubscription.unsubscribe(),this.dragulaService.destroy("rooms-bag"),this.dragulaService.destroy("services-bag")}};c(t,"\u0275fac",function(i){return new(i||t)(b(K),b(se),b(oe),b(J),b(de),b(ae))}),c(t,"\u0275cmp",w({type:t,selectors:[["app-accessories"]],decls:2,vars:2,consts:[[4,"ngIf"],[1,"row","mb-3"],[1,"col-sm-6"],[1,"primary-text","m-0"],[1,"col-sm-6","text-right","d-none","d-sm-block"],["role","group",1,"btn-group"],["type","button","container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","status-button","my-0",3,"click","hidden","ngbTooltip"],[1,"fas","fa-fw","fa-folder-plus"],[1,"fas","fa-fw",3,"ngClass"],["type","button","container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","status-button","my-0",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-unlock"],["type","button","container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","status-button","my-0","mr-0",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-lock"],[3,"dragulaModelChange","dragula","dragulaModel"],[4,"ngFor","ngForOf"],["class","row",4,"ngIf"],[1,"row","mb-4"],["class","col-md-12 d-flex flex-wrap justify-content-between noselect services-bag",3,"dragula","dragulaModel","dragulaModelChange",4,"ngIf"],["class","col-md-12 d-flex flex-wrap noselect",3,"dragula","dragulaModel","dragulaModelChange",4,"ngIf"],[1,"row"],[1,"col-md-12"],[1,"primary-text","drag-handle","room-title","m-0",3,"ngClass"],[1,"col-md-12","d-flex","flex-wrap","justify-content-between","noselect","services-bag",3,"dragulaModelChange","dragula","dragulaModel"],["class","accessory-item accessory-tab",3,"ngSwitch",4,"ngFor","ngForOf"],[1,"accessory-box","invisible","py-0","my-0",2,"height","0 !important"],[1,"accessory-item","accessory-tab",3,"ngSwitch"],[3,"service"],[1,"col-md-12","d-flex","flex-wrap","noselect",3,"dragulaModelChange","dragula","dragulaModel"],[1,"no-drag"],[1,"col-12"],[1,"primary-text","m-0","mb-3"],[1,"col-12","text-center"],["role","alert",1,"alert","alert-warning","p-4"],[1,"primary-text","mb-3","mt-0"],[1,"mb-0"],["target","_blank","rel","noopener noreferrer","href","https://github.com/homebridge/homebridge-config-ui-x/wiki/Enabling-Accessory-Control"],["class","mt-3 mb-0",4,"ngIf"],[1,"mt-3","mb-0"]],template:function(i,m){i&1&&x(0,$e,30,39,"div",0)(1,Ne,25,16,"div",0),i&2&&(p("ngIf",m.$settings.env.enableAccessories),n(),p("ngIf",!m.$settings.env.enableAccessories))},dependencies:[W,R,H,G,ne,ce,me,fe,A],styles:[".room-title[_ngcontent-%COMP%]{margin-left:10px}@media (max-width: 575px){.room-title[_ngcontent-%COMP%]{margin-left:7px}}.services-bag[_ngcontent-%COMP%]{min-height:170px}@media (max-width: 575px){.services-bag[_ngcontent-%COMP%]{min-height:initial}}.cursor-move[_ngcontent-%COMP%]{cursor:move}.gu-transit[_ngcontent-%COMP%] .manage-accessory-button[_ngcontent-%COMP%]{display:none}a[_ngcontent-%COMP%]:hover{text-decoration:none!important}"]}));let e=t;return e})();var De=[{path:"",component:ve}],be=(()=>{let t=class t{};c(t,"\u0275fac",function(i){return new(i||t)}),c(t,"\u0275mod",B({type:t})),c(t,"\u0275inj",$({imports:[V.forChild(De),V]}));let e=t;return e})();var gt=(()=>{let t=class t{};c(t,"\u0275fac",function(i){return new(i||t)}),c(t,"\u0275mod",B({type:t})),c(t,"\u0275inj",$({imports:[z,te,re,le,q.forChild(),pe,ue,be]}));let e=t;return e})();export{gt as AccessoriesModule};
1
+ import{a as ae,b as se,c as ce,d as le,e as me,f as ue}from"./chunk-H7H7YVXE.js";import{f as pe}from"./chunk-AA4ALV5Q.js";import"./chunk-6QEO3BTW.js";import{a as de}from"./chunk-B6C32ZRK.js";import"./chunk-NJRXPLIM.js";import"./chunk-CMASH2I6.js";import"./chunk-W5QNZH4U.js";import"./chunk-JM7QCDMZ.js";import{c as K}from"./chunk-V7NUKNPP.js";import{M as ie,N as oe,O as ne,Q as re,c as Q,e as U,f as X,i as Y,l as Z,m as ee,y as te}from"./chunk-WCDFKYP6.js";import{m as J}from"./chunk-54RIF7BL.js";import{b as A,c as q}from"./chunk-F22FMU37.js";import{$ as w,$b as z,Ga as x,Ka as C,La as p,Pb as W,Qb as R,Rb as H,Sb as G,Ua as r,Va as s,Wa as _,X as $,Xa as P,Ya as F,Za as N,aa as B,ab as v,bb as g,h as c,ha as h,ia as y,jb as u,kb as f,lb as S,ob as k,pb as I,qb as T,tb as L,ub as j,vc as V,wa as n,xa as b,yb as l,zb as d}from"./chunk-IGUSDGD6.js";var Ce=()=>({standalone:!0}),_e=(()=>{let t=class t{constructor(a){c(this,"$activeModal");c(this,"roomName");this.$activeModal=a}};c(t,"\u0275fac",function(i){return new(i||t)(b(ie))}),c(t,"\u0275cmp",w({type:t,selectors:[["ng-component"]],inputs:{roomName:"roomName"},decls:30,vars:21,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body"],["role","alert",1,"alert"],[1,"md-form"],["type","text","id","form-name","autofocus","",1,"form-control","px-0",3,"ngModelChange","keyup.enter","ngModel","ngModelOptions"],["for","form-name"],[1,"fas","fa-fw","fa-home"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-right"],["type","button","data-dismiss","modal",1,"btn","btn-primary",3,"click"]],template:function(i,m){i&1&&(r(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),u(4),l(5,"translate"),s(),r(6,"button",3),l(7,"translate"),v("click",function(){return m.$activeModal.dismiss("Dismiss")}),r(8,"span",4),u(9,"\xD7"),s()()(),r(10,"div",5)(11,"div",6),u(12),l(13,"translate"),s(),r(14,"div",7)(15,"input",8),T("ngModelChange",function(E){return I(m.roomName,E)||(m.roomName=E),E}),v("keyup.enter",function(){return m.$activeModal.close(m.roomName)}),s(),r(16,"label",9),_(17,"i",10),u(18),l(19,"translate"),s()()(),r(20,"div",11)(21,"div",12)(22,"button",13),v("click",function(){return m.$activeModal.dismiss("Dismiss")}),u(23),l(24,"translate"),s()(),_(25,"div",14),r(26,"div",15)(27,"button",16),v("click",function(){return m.$activeModal.close(m.roomName)}),u(28),l(29,"translate"),s()()()()()),i&2&&(n(4),f(d(5,8,"accessories.button_add_room")),n(2),C("aria-label",d(7,10,"form.button_close")),n(6),f(d(13,12,"accessories.rooms_not_appear_in_homekit")),n(3),k("ngModel",m.roomName),p("ngModelOptions",L(20,Ce)),n(3),S(" ",d(19,14,"accessories.room_name")," "),n(5),S(" ",d(24,16,"form.button_close")," "),n(5),S(" ",d(29,18,"form.button_save")," "))},dependencies:[ee,Q,U,X,Z,Y,A],encapsulation:2}));let e=t;return e})();var fe=(()=>{let t=class t{constructor(){}};c(t,"\u0275fac",function(i){return new(i||t)}),c(t,"\u0275cmp",w({type:t,selectors:[["app-drag-here-placeholder"]],decls:5,vars:3,consts:[[1,"accessory-box"],[1,"fas","fa-fw","fa-arrow-alt-circle-down","accessory-icon"],[1,"accessory-label"]],template:function(i,m){i&1&&(r(0,"div",0),_(1,"i",1),r(2,"div",2),u(3),l(4,"translate"),s()()),i&2&&(n(3),f(d(4,1,"accessories.control.drag_here")))},dependencies:[A],styles:[".accessory-box[_ngcontent-%COMP%]{opacity:.2}"]}));let e=t;return e})();var we=e=>({"cursor-move":e});function Se(e,t){if(e&1&&(r(0,"div",19)(1,"div",20)(2,"h5",21),u(3),l(4,"translate"),s()()()),e&2){let o=g().$implicit,a=g(2);n(2),p("ngClass",j(4,we,!a.isMobile)),n(),S(" ",o.name==="Default Room"?d(4,2,"accessories.control.default_room"):o.name," ")}}function ke(e,t){if(e&1&&(P(0),_(1,"app-accessory-tile",26),F()),e&2){let o=g().$implicit;n(),p("service",o)}}function Ie(e,t){if(e&1&&(r(0,"div",25),x(1,ke,2,1,"ng-container",0),s()),e&2){let o=t.$implicit,a=g(4);p("ngSwitch",o.type),n(),p("ngIf",!a.hideHidden||!o.hidden)}}function Te(e,t){if(e&1){let o=N();r(0,"div",22),T("dragulaModelChange",function(i){h(o);let m=g().$implicit;return I(m.services,i)||(m.services=i),y(i)}),x(1,Ie,2,2,"div",23),_(2,"div",24)(3,"div",24)(4,"div",24)(5,"div",24)(6,"div",24)(7,"div",24)(8,"div",24)(9,"div",24)(10,"div",24)(11,"div",24)(12,"div",24)(13,"div",24)(14,"div",24)(15,"div",24)(16,"div",24),s()}if(e&2){let o=g().$implicit;p("dragula","services-bag"),k("dragulaModel",o.services),n(),p("ngForOf",o.services)}}function Ae(e,t){if(e&1){let o=N();r(0,"div",27),T("dragulaModelChange",function(i){h(o);let m=g().$implicit;return I(m.services,i)||(m.services=i),y(i)}),_(1,"app-drag-here-placeholder",28),s()}if(e&2){let o=g().$implicit;p("dragula","services-bag"),k("dragulaModel",o.services)}}function Ee(e,t){if(e&1&&(r(0,"div"),x(1,Se,5,6,"div",15),r(2,"div",16),x(3,Te,17,3,"div",17)(4,Ae,2,2,"div",18),s()()),e&2){let o=t.$implicit,a=g(2);n(),p("ngIf",!a.isMobile||o.services.length),n(2),p("ngIf",o.services.length),n(),p("ngIf",!o.services.length&&!a.isMobile)}}function $e(e,t){if(e&1){let o=N();r(0,"div")(1,"div",1)(2,"div",2)(3,"h3",3),u(4),l(5,"translate"),s()(),r(6,"div",4)(7,"div",5)(8,"button",6),l(9,"translate"),l(10,"translate"),v("click",function(){h(o);let i=g();return y(i.addRoom())}),_(11,"i",7),s()(),r(12,"div",5)(13,"button",6),l(14,"translate"),l(15,"translate"),l(16,"translate"),l(17,"translate"),v("click",function(){h(o);let i=g();return y(i.hideHidden=!i.hideHidden)}),_(18,"i",8),s()(),r(19,"div",5)(20,"button",9),l(21,"translate"),l(22,"translate"),v("click",function(){h(o);let i=g();return y(i.toggleLayoutLock())}),_(23,"i",10),s(),r(24,"button",11),l(25,"translate"),l(26,"translate"),v("click",function(){h(o);let i=g();return y(i.toggleLayoutLock())}),_(27,"i",12),s()()()(),r(28,"div",13),T("dragulaModelChange",function(i){h(o);let m=g();return I(m.$accessories.rooms,i)||(m.$accessories.rooms=i),y(i)}),x(29,Ee,5,3,"div",14),s()()}if(e&2){let o=g();n(4),f(d(5,17,"accessories.title_accessories")),n(4),p("hidden",o.isMobile)("ngbTooltip",d(9,19,"accessories.button_add_room")),C("aria-label",d(10,21,"accessories.button_add_room")),n(5),p("hidden",o.isMobile)("ngbTooltip",o.hideHidden?d(14,23,"accessories.button_hidden_show"):d(15,25,"accessories.button_hidden_hide")),C("aria-label",o.hideHidden?d(16,27,"accessories.button_hidden_show"):d(17,29,"accessories.button_hidden_hide")),n(5),p("ngClass",o.hideHidden?"fa-eye-slash":"fa-eye"),n(2),p("disabled",!o.isMobile)("ngbTooltip",d(21,31,"form.button_unlock")),C("aria-label",d(22,33,"form.button_unlock")),n(4),p("disabled",o.isMobile)("ngbTooltip",d(25,35,"form.button_lock")),C("aria-label",d(26,37,"form.button_lock")),n(4),p("dragula","rooms-bag"),k("dragulaModel",o.$accessories.rooms),n(),p("ngForOf",o.$accessories.rooms)}}function Be(e,t){e&1&&(r(0,"p",37),u(1),l(2,"translate"),s()),e&2&&(n(),f(d(2,1,"accessories.settings_link")))}function Ne(e,t){if(e&1&&(r(0,"div")(1,"div",19)(2,"div",29)(3,"h3",30),u(4),l(5,"translate"),s()(),r(6,"div",31)(7,"div",32)(8,"h4",33),u(9),l(10,"translate"),s(),r(11,"div")(12,"p"),u(13),l(14,"translate"),s(),r(15,"p",34)(16,"span"),u(17),l(18,"translate"),s(),r(19,"a",35),u(20," https://github.com/homebridge/homebridge-config-ui-x/wiki/Enabling-Accessory-Control "),s(),r(21,"span"),u(22),l(23,"translate"),s()(),x(24,Be,3,3,"p",36),s()()()()()),e&2){let o=g();n(4),f(d(5,6,"accessories.title_accessories")),n(5),f(d(10,8,"accessories.control_disabled")),n(4),f(d(14,10,"accessories.message_must_use_insecure_mode")),n(4),f(d(18,12,"accessories.message_please_see")),n(5),f(d(23,14,"accessories.message_for_more_information")),n(2),p("ngIf",o.$auth.user.admin)}}var ve=(()=>{let t=class t{constructor(a,i,m,M,E,he){c(this,"$auth");c(this,"dragulaService");c(this,"$modal");c(this,"$settings");c(this,"$md");c(this,"$accessories");c(this,"isMobile",!1);c(this,"hideHidden",!0);c(this,"orderSubscription");this.$auth=a,this.dragulaService=i,this.$modal=m,this.$settings=M,this.$md=E,this.$accessories=he,this.isMobile=this.$md.detect.mobile(),i.createGroup("rooms-bag",{moves:(O,Ve,ye)=>!this.isMobile&&ye.classList.contains("drag-handle")}),i.createGroup("services-bag",{moves:O=>!this.isMobile&&!O.classList.contains("no-drag")}),this.orderSubscription=i.drop().subscribe(()=>{setTimeout(()=>{this.$accessories.saveLayout()})}),window.localStorage.getItem("accessories-layout-locked")&&(this.isMobile=!0)}ngOnInit(){this.$accessories.start()}addRoom(){this.$modal.open(_e,{size:"lg",backdrop:"static"}).result.then(a=>{!a||!a.length||this.$accessories.rooms.find(i=>i.name===a)||(this.$accessories.rooms.push({name:a,services:[]}),this.isMobile&&this.toggleLayoutLock())}).catch(()=>{})}toggleLayoutLock(){this.isMobile=!this.isMobile,this.isMobile?window.localStorage.setItem("accessories-layout-locked","yes"):window.localStorage.removeItem("accessories-layout-locked")}ngOnDestroy(){this.$accessories.stop(),this.orderSubscription.unsubscribe(),this.dragulaService.destroy("rooms-bag"),this.dragulaService.destroy("services-bag")}};c(t,"\u0275fac",function(i){return new(i||t)(b(K),b(se),b(oe),b(J),b(de),b(ae))}),c(t,"\u0275cmp",w({type:t,selectors:[["app-accessories"]],decls:2,vars:2,consts:[[4,"ngIf"],[1,"row","mb-3"],[1,"col-sm-6"],[1,"primary-text","m-0"],[1,"col-sm-6","text-right","d-none","d-sm-block"],["role","group",1,"btn-group"],["type","button","container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","status-button","my-0",3,"click","hidden","ngbTooltip"],[1,"fas","fa-fw","fa-folder-plus"],[1,"fas","fa-fw",3,"ngClass"],["type","button","container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","status-button","my-0",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-unlock"],["type","button","container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","status-button","my-0","mr-0",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-lock"],[3,"dragulaModelChange","dragula","dragulaModel"],[4,"ngFor","ngForOf"],["class","row",4,"ngIf"],[1,"row","mb-4"],["class","col-md-12 d-flex flex-wrap justify-content-between noselect services-bag",3,"dragula","dragulaModel","dragulaModelChange",4,"ngIf"],["class","col-md-12 d-flex flex-wrap noselect",3,"dragula","dragulaModel","dragulaModelChange",4,"ngIf"],[1,"row"],[1,"col-md-12"],[1,"primary-text","drag-handle","room-title","m-0",3,"ngClass"],[1,"col-md-12","d-flex","flex-wrap","justify-content-between","noselect","services-bag",3,"dragulaModelChange","dragula","dragulaModel"],["class","accessory-item accessory-tab",3,"ngSwitch",4,"ngFor","ngForOf"],[1,"accessory-box","invisible","py-0","my-0",2,"height","0 !important"],[1,"accessory-item","accessory-tab",3,"ngSwitch"],[3,"service"],[1,"col-md-12","d-flex","flex-wrap","noselect",3,"dragulaModelChange","dragula","dragulaModel"],[1,"no-drag"],[1,"col-12"],[1,"primary-text","m-0","mb-3"],[1,"col-12","text-center"],["role","alert",1,"alert","alert-warning","p-4"],[1,"primary-text","mb-3","mt-0"],[1,"mb-0"],["target","_blank","rel","noopener noreferrer","href","https://github.com/homebridge/homebridge-config-ui-x/wiki/Enabling-Accessory-Control"],["class","mt-3 mb-0",4,"ngIf"],[1,"mt-3","mb-0"]],template:function(i,m){i&1&&x(0,$e,30,39,"div",0)(1,Ne,25,16,"div",0),i&2&&(p("ngIf",m.$settings.env.enableAccessories),n(),p("ngIf",!m.$settings.env.enableAccessories))},dependencies:[W,R,H,G,ne,ce,me,fe,A],styles:[".room-title[_ngcontent-%COMP%]{margin-left:10px}@media (max-width: 575px){.room-title[_ngcontent-%COMP%]{margin-left:7px}}.services-bag[_ngcontent-%COMP%]{min-height:170px}@media (max-width: 575px){.services-bag[_ngcontent-%COMP%]{min-height:initial}}.cursor-move[_ngcontent-%COMP%]{cursor:move}.gu-transit[_ngcontent-%COMP%] .manage-accessory-button[_ngcontent-%COMP%]{display:none}a[_ngcontent-%COMP%]:hover{text-decoration:none!important}"]}));let e=t;return e})();var De=[{path:"",component:ve}],be=(()=>{let t=class t{};c(t,"\u0275fac",function(i){return new(i||t)}),c(t,"\u0275mod",B({type:t})),c(t,"\u0275inj",$({imports:[V.forChild(De),V]}));let e=t;return e})();var gt=(()=>{let t=class t{};c(t,"\u0275fac",function(i){return new(i||t)}),c(t,"\u0275mod",B({type:t})),c(t,"\u0275inj",$({imports:[z,te,re,le,q.forChild(),pe,ue,be]}));let e=t;return e})();export{gt as AccessoriesModule};