homebridge-config-ui-x
Version:
A web based management, configuration and control platform for Homebridge.
1 lines • 219 kB
JavaScript
import {n as n$1}from'./chunk-BufZi6_L.js';import {L}from'./chunk-MWxClZxO.js';import {I,P}from'./chunk-MBL0f7eL.js';import {F as Fe}from'./chunk-A2dLPk2u.js';import {Y}from'./chunk-CG3i5q02.js';import {p as p$1}from'./chunk-b_mHvpXA.js';import {E as E$2}from'./chunk-BwPN3JEB.js';import {b as bn$1,k as kn$1,M as Mn$1}from'./chunk-CCTcrEQI.js';import {L as L$1}from'./chunk-DL7vVfE4.js';import {O as O$1}from'./chunk-BtxeAJ3m.js';import {E as E$1,p,i,A,S}from'./chunk-BWu8OGjA.js';import {d as dr}from'./chunk-KTYlT6lA.js';import {O,d,U}from'./chunk-WUyBXYN7.js';import {g,n as ne,ag as we,aN as lc,X as I3,Z as m,ah as si$1,al as M,l as le,z as zt$1,a1 as M0,a2 as bf,B as BH,W,S as Se,cv as $n$1,cw as Gr,cx as im,E,H as Hf,A as An$1,ai as ty,a5 as x,a4 as w,J as Ja$1,av as fe,c as Eo,aH as X,aj as D,cy as xn$1,cz as vo,K as Kn$1,bj as Y$1,k as K8,bp as MS,m as La$1,s as At,t as f_,R as Rd,q as rc,o as dy,u as Re,b1 as dT,bv as lT,y as ie,N as Ny,G as h_,D as ly,a6 as vr,O as Oe,b4 as fT,I as Rt$1,az as ke$1,aA as Je,aB as _i$1,aC as Dr,x as Cy,aD as bi$1,i as Jn$1,Y as Ye,ba as Mt$1,e as Hn$1,bs as mn$1,bg as AS,Q as KC,T as JC,b_ as X$1,be as ln$1,br as fn$1,M as Ey,P as ST,bk as g_,bw as a_,ar as Dt$1,d as zn$1,b7 as Xn$1,b8 as Yn$1,b9 as dn$1,bb as Vt$1,L as Ln$1,cA as qt$1,h as zt$2,bc as Ht,bd as Gt$1,cB as sn$1,aw as Qt$1,a8 as nc,U as ye,a9 as Go,aa as Wo,bt as Fy,bu as ky,a7 as s_,bx as c_,w as Kt$1,by as t_,ax as Wg,V as Ha$1}from'./main-ONDCASUV.js';function Lt(n,p){if(n&1&&dy(0,"i",26)(1,"i",27),n&2){let e=ye();Cy("opacity-muted",e._matterOnly),ie(),Cy("opacity-muted",!e._matter);}}function Ot(n,p){n&1&&dy(0,"i",19);}function zt(n,p){if(n&1){let e=nc();La$1(0,"li",9)(1,"div",17)(2,"span",18),Re(3,Lt,2,4)(4,Ot,1,0,"i",19),Rd(),La$1(5,"div"),At(6),dy(7,"br"),La$1(8,"small",20),dy(9,"i",21),f_(10,"translate"),At(11," \xB7 "),La$1(12,"span",22),At(13),Rd(),At(14," \xB7 Homebridge "),Rd()()(),La$1(15,"div",23)(16,"input",24),f_(17,"translate"),rc("click",function(){let a=Go(e),v=ye();return Wo(v.toggleList(a._username))}),Rd(),dy(18,"label",25),Rd()();}if(n&2){let e=p,i=ye();ie(3),Oe(i.isMatterSupported?3:4),ie(3),Rt$1(" ",e.name),ie(3),Cy("green-text",e._isPaired)("grey-text",!e._isPaired),ly("ngbTooltip",h_(10,12,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired"))("openDelay",150),ie(4),Ny(e._username),ie(3),ly("checked",!i.isInList(e._username))("disabled",i.clicked()),vr("aria-label",h_(17,14,"plugins.manage.hide_updates"));}}function Ut(n,p){if(n&1&&dy(0,"i",26)(1,"i",27),n&2){let e=ye().$implicit;Cy("opacity-muted",e._matterOnly),ie(),Cy("opacity-muted",!e._matter);}}function Wt(n,p){n&1&&dy(0,"i",19);}function jt(n,p){if(n&1){let e=nc();La$1(0,"li",9)(1,"div",17)(2,"span",18),Re(3,Ut,2,4)(4,Wt,1,0,"i",19),Rd(),La$1(5,"div"),At(6),dy(7,"br"),La$1(8,"small",20),dy(9,"i",21),f_(10,"translate"),At(11," \xB7 "),La$1(12,"span",22),At(13),Rd(),At(14),f_(15,"titlecase"),Rd()()(),La$1(16,"div",23)(17,"input",28),f_(18,"translate"),rc("click",function(){let a=Go(e).$implicit,v=ye();return Wo(v.toggleList(a._username))}),Rd(),dy(19,"label",29),Rd()();}if(n&2){let e=p.$implicit,i=ye();ie(3),Oe(i.isMatterSupported?3:4),ie(3),Rt$1(" ",e.name," "),ie(3),Cy("green-text",e._isPaired)("grey-text",!e._isPaired),ly("ngbTooltip",h_(10,15,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired"))("openDelay",150),ie(4),Ny(e._username),ie(),Rt$1(" \xB7 ",h_(15,17,e._category)," "),ie(3),ly("id",`hidePluginUpdates_${e._username}`)("checked",!i.isInList(e._username))("disabled",i.clicked()),vr("aria-label",`${h_(18,19,"form.button_allow")} ${e.name}`),ie(2),ly("for",`hidePluginUpdates_${e._username}`);}}function Kt(n,p){n&1&&(At(0),f_(1,"translate")),n&2&&Rt$1(" ",h_(1,1,"form.button_save")," ");}function Gt(n,p){n&1&&dy(0,"i",16);}var wt=(()=>{class n{$activeModal=g(fe);$accessoryOverview=g(Y);$api=g(I3);$errors=g(m);$settings=g(zt$1);$toastr=g(M0);$translate=g(bf);modalData=g(E$1);clicked=W(false);mainPairing=W(void 0);pairings=W([]);isMatterSupported=this.$settings.isFeatureEnabled("matterSupport");originalBlacklist=[];updatedBlacklist=[];get blacklistHasUpdated(){return this.updatedBlacklist.join(",")!==this.originalBlacklist.join(",")}ngOnInit(){this.initialize();}initialize(){return E(this,null,function*(){this.updatedBlacklist=this.modalData.existingBlacklist.map(e=>e.trim().toUpperCase()).sort((e,i)=>e.localeCompare(i)),this.originalBlacklist=[...this.updatedBlacklist];try{let{pairings:e}=yield this.$accessoryOverview.get();this.mainPairing.set(e.find(i=>i._main)),this.pairings.set(e.filter(i=>!i._main).sort((i,a)=>i.name.localeCompare(a.name)));}catch(e){console.error(e),this.$toastr.error(this.$errors.toToastMessage(e),this.$translate.instant("toast.title_error")),this.$activeModal.close();}})}toggleList(e){this.updatedBlacklist.includes(e)?this.updatedBlacklist=this.updatedBlacklist.filter(i=>i!==e):(this.updatedBlacklist.push(e),this.updatedBlacklist.sort((i,a)=>i.localeCompare(a)));}isInList(e){return this.updatedBlacklist.includes(e)}updateBlacklist(){return E(this,null,function*(){this.clicked.set(true);try{yield this.$api.put("/config-editor/ui/accessory-control/instance-blacklist",{body:this.updatedBlacklist}),this.$settings.setEnvItem("accessoryControl.instanceBlacklist",this.updatedBlacklist),this.$activeModal.close();}catch(e){this.clicked.set(false),console.error(e),this.$toastr.error(this.$errors.toToastMessage(e),this.$translate.instant("toast.title_error"));}})}dismissModal(){this.$activeModal.dismiss("Dismiss");}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=Ja$1({type:n,selectors:[["app-accessory-control-lists"]],decls:31,vars:20,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-list-check","primary-text","icon-xl"],[1,"mb-3"],[1,"list-group","list-group-box","mt-3","mb-0"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],[1,"fas","fa-circle-notch","fa-spin"],[1,"d-flex","align-items-center","text-start","flex-grow-1","me-3"],[1,"me-3","flex-shrink-0"],[1,"fas","fa-lg","fa-hap"],[1,"grey-text"],["container","body","triggers","hover","placement","left",1,"fas","fa-link",3,"ngbTooltip","openDelay"],[1,"font-monospace"],[1,"text-end","grey-text","d-flex","align-items-center"],["type","checkbox","id","controlMainBridge",1,"rendux-input",3,"click","checked","disabled"],["for","controlMainBridge",1,"rendux-label","ms-3"],[1,"fas","fa-lg","fa-hap","me-2"],[1,"fas","fa-lg","fa-matter"],["type","checkbox",1,"rendux-input",3,"click","id","checked","disabled"],[1,"rendux-label","ms-3",3,"for"]],template:function(i,a){if(i&1&&(La$1(0,"div",0)(1,"div",1)(2,"h5",2),At(3),f_(4,"translate"),Rd(),La$1(5,"button",3),f_(6,"translate"),rc("click",function(){return a.dismissModal()}),Rd()(),La$1(7,"div",4)(8,"div",5),dy(9,"i",6),Rd(),La$1(10,"ul",7)(11,"li"),At(12),f_(13,"translate"),Rd(),La$1(14,"li"),At(15),f_(16,"translate"),Rd()(),La$1(17,"ul",8),Re(18,zt,19,16,"li",9),dT(19,jt,20,21,"li",9,lT),Rd()(),La$1(21,"div",10)(22,"div",11)(23,"button",12),rc("click",function(){return a.dismissModal()}),At(24),f_(25,"translate"),Rd()(),dy(26,"div",13),La$1(27,"div",14)(28,"button",15),rc("click",function(){return a.updateBlacklist()}),Re(29,Kt,2,3)(30,Gt,1,0,"i",16),Rd()()()()),i&2){let v;ie(3),Ny(h_(4,10,"settings.security.ui_control")),ie(2),ly("disabled",a.clicked()),vr("aria-label",h_(6,12,"form.button_close")),ie(7),Ny(h_(13,14,"settings.security.ui_control_desc")),ie(3),Ny(h_(16,16,"settings.security.ui_control_desc_2")),ie(3),Oe((v=a.mainPairing())?18:-1,v),ie(),fT(a.pairings()),ie(4),ly("disabled",a.clicked()),ie(),Rt$1(" ",h_(25,18,"form.button_close")," "),ie(4),ly("disabled",!a.blacklistHasUpdated||a.clicked()),ie(),Oe(a.clicked()?30:29);}},dependencies:[Kn$1,Y$1,K8,MS],encapsulation:2})}return n})();var kt=D(L$1());var qt=n=>({maxBackupSizeText:n});function Qt(n,p){if(n&1&&Dr(0,"input",10),n&2){let e=ye(2);bi$1("value",e.selectedBackup.fileName);}}function Jt(n,p){if(n&1){let e=nc();ke$1(0,"input",12),_i$1("change",function(a){Go(e);let v=ye(2);return Wo(v.handleRestoreFileInput(a))}),Je();}}function Yt(n,p){if(n&1&&(ke$1(0,"div",4)(1,"div",7),Dr(2,"i",8),Je(),ke$1(3,"ul",9)(4,"li"),At(5),f_(6,"translate"),Je(),ke$1(7,"li"),At(8),f_(9,"translate"),Je(),ke$1(10,"li"),At(11),f_(12,"translate"),Je(),ke$1(13,"li"),At(14),f_(15,"translate"),Je()(),Re(16,Qt,1,1,"input",10)(17,Jt,1,0,"input",11),Je()),n&2){let e=ye();ie(5),Ny(h_(6,5,"backup.restore_help_one")),ie(3),Ny(h_(9,7,"backup.restore_help_two")),ie(3),Ny(g_(12,9,"backup.restore_max_size",a_(14,qt,e.maxFileSizeText))),ie(3),Ny(h_(15,12,"backup.restore_warning")),ie(2),Oe(e.selectedBackup?16:17);}}function Xt(n,p){if(n&1){let e=nc();ke$1(0,"button",18),f_(1,"translate"),_i$1("click",function(){Go(e);let a=ye(2);return Wo(a.dismissModal())}),At(2),f_(3,"translate"),Je();}if(n&2){let e=ye(2);bi$1("disabled",e.clicked()),vr("aria-label",h_(1,3,"form.button_close")),ie(2),Rt$1(" ",h_(3,5,"form.button_close")," ");}}function Zt(n,p){if(n&1){let e=nc();ke$1(0,"button",18),f_(1,"translate"),_i$1("click",function(){Go(e);let a=ye(2);return Wo(a.reopenBackupModal())}),At(2),f_(3,"translate"),Je();}if(n&2){let e=ye(2);bi$1("disabled",e.clicked()),vr("aria-label",h_(1,3,"form.button_back")),ie(2),Rt$1(" ",h_(3,5,"form.button_back")," ");}}function ei(n,p){n&1&&Dr(0,"i",19);}function ti(n,p){if(n&1&&(ke$1(0,"span"),At(1),Je()),n&2){let e=ye(3);ie(),Rt$1("",e.uploadPercent(),"% - ");}}function ii(n,p){n&1&&(ke$1(0,"span"),At(1),f_(2,"translate"),Je()),n&2&&(ie(),Ny(h_(2,1,"backup.label_extracting")));}function ni(n,p){n&1&&(ke$1(0,"span"),At(1),f_(2,"translate"),Je()),n&2&&(ie(),Ny(h_(2,1,"backup.label_uploading")));}function ai(n,p){if(n&1&&(ke$1(0,"span"),Re(1,ei,1,0,"i",19),Re(2,ti,2,1,"span"),Re(3,ii,3,3,"span")(4,ni,3,3,"span"),Je()),n&2){let e=ye(2);ie(),Oe(!e.uploadPercent()||e.uploadPercent()===100?1:-1),ie(),Oe(e.uploadPercent()&&e.uploadPercent()!==100?2:-1),ie(),Oe(e.uploadPercent()===100?3:4);}}function si(n,p){n&1&&(At(0),f_(1,"translate")),n&2&&Rt$1(" ",h_(1,1,"form.button_restore")," ");}function oi(n,p){if(n&1){let e=nc();ke$1(0,"div",6)(1,"div",13),Re(2,Xt,4,7,"button",14)(3,Zt,4,7,"button",14),Je(),Dr(4,"div",15),ke$1(5,"div",16)(6,"button",17),_i$1("click",function(){Go(e);let a=ye();return Wo(a.onRestoreBackupClick())}),Re(7,ai,5,3,"span")(8,si,2,3),Je()()();}if(n&2){let e=ye();ie(2),Oe(e.setupWizardRestore?2:3),ie(4),bi$1("disabled",!e.selectedBackup&&!e.selectedFile()||e.clicked()),ie(),Oe(e.clicked()?7:8);}}function ri(n,p){if(n&1){let e=nc();ke$1(0,"div",6),Dr(1,"div",13),ke$1(2,"div",15)(3,"button",20),_i$1("click",function(){Go(e);let a=ye();return Wo(a.postBackupRestart())}),At(4),f_(5,"translate"),Je()(),Dr(6,"div",16),Je();}n&2&&(ie(4),Rt$1(" ",h_(5,1,"menu.hbrestart.title")," "));}var Tt=(()=>{class n{$activeModal=g(fe);$api=g(I3);$modal=g(si$1);$router=g(le);$settings=g(zt$1);$toastr=g(M0);$translate=g(bf);$ws=g(dr);modalData=g(S);setupWizardRestore=this.modalData.setupWizardRestore??false;selectedBackup=this.modalData.selectedBackup??null;clicked=W(false);selectedFile=W(null);restoreInProgress=W(false);restoreStarted=W(false);restoreFailed=W(false);restoreArchiveType=W("homebridge");uploadPercent=W(0);io;term;termTarget;fitAddon=new bn$1;webLinksAddon=new kn$1;xtermA11yDisposer=null;maxFileSizeText=globalThis.backup.maxBackupSizeText;get isLightTerminalTheme(){return this.$settings.getEffectiveTerminalLightingMode()==="light"}ngOnInit(){this.initialize();}initialize(){return E(this,null,function*(){this.io=this.$ws.connectToNamespace("backup"),this.termTarget=document.getElementById("plugin-log-output"),this.term=new Mn$1(this.$settings.getTerminalOptions({disableStdin:true})),this.term.loadAddon(this.fitAddon),this.term.loadAddon(this.webLinksAddon),this.term.open(this.termTarget),this.xtermA11yDisposer=E$2(this.termTarget),setTimeout(()=>this.fitAddon.fit(),0),this.io.socket.on("stdout",e=>{this.term.write(e);}),this.setupWizardRestore&&(this.restoreStarted.set(true),this.restoreInProgress.set(true),this.startRestore());})}onRestoreBackupClick(){this.selectedBackup?this.restoreScheduledBackup():this.restoreArchiveType()==="homebridge"?this.uploadHomebridgeArchive():this.restoreArchiveType()==="hbfx"&&this.uploadHbfxArchive();}handleRestoreFileInput(e){let i=e.target.files;i?.length?(this.selectedFile.set(i[0]),this.selectedFile()?.name.endsWith(".hbfx")?this.restoreArchiveType.set("hbfx"):this.restoreArchiveType.set("homebridge")):this.selectedFile.set(null);}postBackupRestart(){return E(this,null,function*(){try{yield this.$api.put("/backup/restart",{}),this.$activeModal.close(!0),this.$router.navigate(["/"]);}catch(e){}})}reopenBackupModal(){this.$activeModal.dismiss(),this.$modal.open(ke,{size:"lg",backdrop:"static"});}ngOnDestroy(){this.io.end(),this.xtermA11yDisposer?.(),this.term?.dispose();}dismissModal(){this.$activeModal.dismiss("Dismiss");}uploadHomebridgeArchive(){return E(this,null,function*(){this.term.reset(),this.clicked.set(true);let e=new FormData;e.append("restoreArchive",this.selectedFile(),this.selectedFile()?.name);try{yield this.$api.post("/backup/restore",e),this.restoreStarted.set(!0),this.restoreInProgress.set(!0),setTimeout(()=>{this.startRestore();},500);}catch(i){console.error(i),this.$toastr.error(i.error?.message||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"));}finally{this.clicked.set(false);}})}restoreScheduledBackup(){return E(this,null,function*(){this.term.reset(),this.clicked.set(true);try{yield this.$api.post(`/backup/scheduled-backups/${this.selectedBackup.id}/restore`,{}),this.restoreStarted.set(!0),this.restoreInProgress.set(!0),setTimeout(()=>{this.startRestore();},500);}catch(e){console.error(e),this.$toastr.error(e.error?.message||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"));}finally{this.clicked.set(false);}})}startRestore(){return E(this,null,function*(){this.io.request("do-restore").subscribe({next:()=>{this.restoreInProgress.set(false),this.$toastr.success(this.$translate.instant("backup.backup_restored"),this.$translate.instant("toast.title_success")),this.setupWizardRestore&&this.postBackupRestart();},error:e=>{this.restoreFailed.set(true),console.error(e),this.$toastr.error(this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"));}});})}uploadHbfxArchive(){return E(this,null,function*(){this.term.reset(),this.clicked.set(true);let e=new FormData;e.append("restoreArchive",this.selectedFile(),this.selectedFile()?.name);try{let i=yield this.$api.post("/backup/restore/hbfx",e,{reportUploadProgress:!0,observe:"events"});i.type===xn$1.UploadProgress?this.uploadPercent.set(Math.round(100*i.loaded/i.total)):i instanceof vo&&(this.restoreStarted.set(!0),this.restoreInProgress.set(!0),setTimeout(()=>{this.startHbfxRestore();},500));}catch(i){console.error(i),this.$toastr.error(i.error?.message||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"));}finally{this.clicked.set(false);}})}startHbfxRestore(){return E(this,null,function*(){this.io.request("do-restore-hbfx").subscribe({next:()=>{this.restoreInProgress.set(false),this.$toastr.success(this.$translate.instant("backup.backup_restored"),this.$translate.instant("toast.title_success"));},error:e=>{this.restoreFailed.set(true),console.error(e),this.$toastr.error(this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"));}});})}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=Ja$1({type:n,selectors:[["app-restore"]],decls:11,vars:17,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],["id","plugin-log-output",1,"modal-body",3,"hidden"],[1,"modal-footer","justify-content-between"],[1,"text-center","mb-3"],[1,"fas","fa-hard-drive","primary-text","icon-xl"],[1,"mb-3"],["type","text","disabled","",1,"form-control","custom-input",3,"value"],["type","file","id","restoreFileUpload","accept","application/gzip, .gz, .hbfx",1,"form-control"],["type","file","id","restoreFileUpload","accept","application/gzip, .gz, .hbfx",1,"form-control",3,"change"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"fas","fa-circle-notch","fa-spin"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click"]],template:function(i,a){i&1&&(ke$1(0,"div",0)(1,"div",1)(2,"h5",2),At(3),f_(4,"translate"),Je(),ke$1(5,"button",3),f_(6,"translate"),_i$1("click",function(){return a.dismissModal()}),Je()(),Re(7,Yt,18,16,"div",4),Dr(8,"div",5),Re(9,oi,9,3,"div",6),Re(10,ri,7,3,"div",6),Je()),i&2&&(Cy("terminal-light-theme",a.isLightTerminalTheme),ie(3),Ny(h_(4,13,"backup.title_backup")),ie(2),bi$1("disabled",a.restoreInProgress()),vr("aria-label",h_(6,15,"form.button_close")),ie(2),Oe(!a.restoreStarted()&&!a.setupWizardRestore?7:-1),ie(),Cy("terminal-light-bg",a.isLightTerminalTheme)("terminal-dark-bg",!a.isLightTerminalTheme),bi$1("hidden",!a.restoreStarted()),ie(),Oe(!a.restoreStarted()||a.restoreFailed()===true?9:-1),ie(),Oe(!a.restoreInProgress()&&a.restoreStarted()?10:-1));},dependencies:[K8],encapsulation:2})}return n})();var li=n=>({backupTime:n,dayCount:7}),di=(n,p)=>({backupSize:n,maxBackupSizeText:p});function ci(n,p){if(n&1&&(At(0),f_(1,"date"),f_(2,"translate")),n&2){let e=ye(2);Rt$1(" ",g_(2,4,"backup.scheduled_backup_time",a_(7,li,g_(1,1,e.backupTime(),"shortTime")))," ");}}function pi(n,p){n&1&&(At(0),f_(1,"translate")),n&2&&Rt$1(" ",h_(1,1,"plugins.settings.restart_required")," ");}function mi(n,p){if(n&1&&Re(0,ci,3,9)(1,pi,2,3),n&2){let e=ye();Oe(e.backupTime()?0:1);}}function ui(n,p){if(n&1&&(At(0),f_(1,"translate")),n&2){let e=ye();Rt$1(" ",h_(1,1,e.backupTime()?"plugins.settings.restart_required":"backup.scheduled_backup_disabled")," ");}}function hi(n,p){if(n&1&&(La$1(0,"span",33),f_(1,"translate"),dy(2,"i",40),At(3),Rd()),n&2){let e=ye().$implicit,i=ye(2);ly("ngbTooltip",g_(1,3,"backup.backup_exceeds_max_size",c_(6,di,`${e.size}MB`,i.maxBackupSizeText)))("openDelay",150),ie(3),Rt$1(" ",e.size,"MB ");}}function gi(n,p){if(n&1&&(La$1(0,"span"),At(1),Rd()),n&2){let e=ye().$implicit;ie(),Rt$1("",e.size,"MB");}}function _i(n,p){if(n&1){let e=nc();La$1(0,"li",22)(1,"span")(2,"span",32),At(3),f_(4,"date"),Rd(),dy(5,"br"),La$1(6,"small",23),At(7),f_(8,"date"),Re(9,hi,4,9,"span",33)(10,gi,2,1,"span"),Rd()(),La$1(11,"span",34),f_(12,"translate"),La$1(13,"button",35),f_(14,"translate"),f_(15,"translate"),rc("click",function(){let a=Go(e).$implicit,v=ye(2);return Wo(v.restore(a))}),dy(16,"i",36),Rd(),La$1(17,"button",37),f_(18,"translate"),f_(19,"translate"),rc("click",function(){let a=Go(e).$implicit,v=ye(2);return Wo(v.download(a))}),dy(20,"i",38),Rd(),La$1(21,"button",39),f_(22,"translate"),f_(23,"translate"),rc("click",function(){let a=Go(e).$implicit,v=ye(2);return Wo(v.delete(a))}),dy(24,"i",25),Rd()()();}if(n&2){let e=p.$implicit,i=ye(2);ie(2),ly("ngbTooltip",e.fileName)("openDelay",150),ie(),Rt$1(" ",g_(4,24,e.timestamp,"mediumDate")," "),ie(4),Rt$1(" ",g_(8,27,e.timestamp,"shortTime")," \xB7 "),ie(2),Oe(e.size>i.maxBackupSize?9:10),ie(2),vr("aria-label",h_(12,30,"backup.aria_actions")),ie(2),ly("disabled",i.clicked()||i.deleting()||e.size>i.maxBackupSize)("ngbTooltip",h_(14,32,"form.button_restore"))("openDelay",150),vr("aria-label",h_(15,34,"form.button_restore")),ie(4),ly("disabled",i.clicked()||i.deleting())("ngbTooltip",h_(18,36,"form.button_download"))("openDelay",150),vr("aria-label",h_(19,38,"form.button_download")),ie(4),ly("disabled",i.clicked()||i.deleting())("ngbTooltip",h_(22,40,"form.button_delete"))("openDelay",150),vr("aria-label",h_(23,42,"form.button_delete")),ie(3),Cy("fa-trash",e.id!==i.deleting())("fa-circle-notch",e.id===i.deleting())("fa-spin",e.id===i.deleting());}}function vi(n,p){if(n&1&&(La$1(0,"ul",27)(1,"li",9)(2,"h6",10),At(3),f_(4,"translate"),Rd()(),dT(5,_i,25,44,"li",22,lT),Rd()),n&2){let e=ye();ie(3),Ny(h_(4,1,"backup.files_auto")),ie(2),fT(e.scheduledBackups());}}var ke=(()=>{class n{destroyRef=g(ne);$activeModal=g(fe);$api=g(I3);$backup=g(I);$errors=g(m);$modal=g(si$1);$settings=g(zt$1);$toastr=g(M0);$translate=g(bf);injector=g(we);clicked=W(false);scheduledBackups=W([]);backupTime=W("");deleting=W(null);currentSettingEnabled=W(false);currentSettingPath=W("");enabledFormControl=new Se(false);pathFormControl=new Se("");maxBackupSize=globalThis.backup.maxBackupSize;maxBackupSizeText=globalThis.backup.maxBackupSizeText;ngOnInit(){this.getScheduledBackups(),this.getNextBackup(),this.currentSettingEnabled.set(!this.$settings.env.scheduledBackupDisable),this.currentSettingPath.set(this.$settings.env.scheduledBackupPath),this.enabledFormControl.patchValue(this.currentSettingEnabled()),this.pathFormControl.patchValue(this.currentSettingPath()),this.enabledFormControl.valueChanges.pipe(Hf(500),An$1(this.destroyRef)).subscribe(e=>E(this,null,function*(){this.currentSettingEnabled.set(e??false),yield this.saveUiSettingChange("scheduledBackupDisable",!this.currentSettingEnabled());})),this.pathFormControl.valueChanges.pipe(Hf(1500),An$1(this.destroyRef)).subscribe(e=>E(this,null,function*(){this.currentSettingPath.set(e??""),yield this.saveUiSettingChange("scheduledBackupPath",this.currentSettingPath());}));}download(e){return E(this,null,function*(){try{let i=yield this.$api.get(`/backup/scheduled-backups/${e.id}`,{observe:"response",responseType:"blob"}),a=e.fileName||"homebridge-backup.tar.gz",v=i.body.size;if(v>this.maxBackupSize){let N=this.$translate.instant("backup.backup_exceeds_max_size",{maxBackupSizeText:this.maxBackupSizeText,size:`${(v/1048576).toFixed(1)}MB`});this.$toastr.warning(N,this.$translate.instant("toast.title_warning"));}(0,kt.saveAs)(i.body,a);}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("backup.backup_download_failed"),this.$translate.instant("toast.title_error"));}})}restore(e){this.$activeModal.close();let i=ty([{provide:S,useValue:{selectedBackup:e}}],this.injector);this.$modal.open(Tt,{size:"lg",backdrop:"static",injector:i});}delete(e){return E(this,null,function*(){this.deleting.set(e.id);try{yield this.$api.delete(`/backup/scheduled-backups/${e.id}`),this.getScheduledBackups();}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("backup.backup_delete_failed"),this.$translate.instant("toast.title_error"));}finally{this.deleting.set(null);}})}onDownloadBackupClick(){return E(this,null,function*(){this.clicked.set(true);try{yield this.$backup.downloadBackup(),this.clicked.set(!1);}catch(e){this.clicked.set(false),console.error(e),this.$toastr.error(this.$errors.toToastMessage(e),this.$translate.instant("toast.title_error"));}})}onCreateBackupClick(){return E(this,null,function*(){this.clicked.set(true);try{yield this.$api.post("/backup",{}),this.getScheduledBackups();}catch(e){console.error(e),this.$toastr.error(this.$errors.toToastMessage(e),this.$translate.instant("toast.title_error"));}finally{this.clicked.set(false);}})}dismissModal(){this.$activeModal.dismiss("Dismiss");}saveUiSettingChange(e,i){return E(this,null,function*(){try{yield this.$api.patch("/config-editor/ui",{[e]:i}),this.$settings.setEnvItem(e,i),this.$settings.showRestartToast();}catch(a){console.error(a),this.$toastr.error(this.$errors.toToastMessage(a),this.$translate.instant("toast.title_error"));}})}getScheduledBackups(){return E(this,null,function*(){try{let e=yield this.$api.get("/backup/scheduled-backups");this.scheduledBackups.set(e);}catch(e){console.error(e);}})}getNextBackup(){return E(this,null,function*(){try{let e=yield this.$api.get("/backup/scheduled-backups/next");this.backupTime.set(e.next);}catch(e){console.error(e);}})}Date=Date;static \u0275fac=function(i){return new(i||n)};static \u0275cmp=Ja$1({type:n,selectors:[["app-backup"]],decls:92,vars:84,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"text-center","mb-3"],["aria-hidden","true",1,"fas","fa-hard-drive","primary-text","icon-xl"],[1,"mb-3"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item"],[1,"mb-0","text-center"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"grey-text","small"],[1,"text-start","text-md-end","w-100","w-md-50"],["type","text","placeholder","/home/pi/homebridge-backups",1,"form-control","custom-input","font-monospace",3,"formControl"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-start"],[1,"small","grey-text"],[1,"text-end","grey-text","d-flex","align-items-center"],["type","checkbox","id","disableScheduledBackups",1,"rendux-input",3,"formControl"],["for","disableScheduledBackups","aria-hidden","true",1,"rendux-label"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],["type","button",1,"btn","btn-primary","m-0","ms-3","py-1",3,"click","disabled"],["aria-hidden","true",1,"fas"],["aria-hidden","true",1,"fas","fa-arrow-right"],[1,"list-group","list-group-box","mt-3","mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-end"],["container","modal","triggers","hover",3,"ngbTooltip","openDelay"],["container","modal","triggers","hover",1,"red-text",3,"ngbTooltip","openDelay"],["role","group",1,"d-flex","flex-nowrap"],["type","button","placement","bottom","container","modal","triggers","hover",1,"btn","btn-primary","m-0","ms-3","py-1",3,"click","disabled","ngbTooltip","openDelay"],["aria-hidden","true",1,"fas","fa-history"],["type","button","placement","bottom","container","modal","triggers","hover",1,"btn","btn-primary","m-0","ms-2",3,"click","disabled","ngbTooltip","openDelay"],["aria-hidden","true",1,"fas","fa-download"],["type","button","placement","bottom","container","modal","triggers","hover",1,"btn","btn-danger","m-0","ms-2",3,"click","disabled","ngbTooltip","openDelay"],["aria-hidden","true",1,"fas","fa-exclamation-circle"]],template:function(i,a){i&1&&(La$1(0,"div",0)(1,"div",1)(2,"h5",2),At(3),f_(4,"translate"),Rd(),La$1(5,"button",3),f_(6,"translate"),rc("click",function(){return a.dismissModal()}),Rd()(),La$1(7,"div",4)(8,"div",5),dy(9,"i",6),Rd(),La$1(10,"ul",7)(11,"li"),At(12),f_(13,"translate"),Rd(),La$1(14,"li"),At(15),f_(16,"translate"),Rd(),La$1(17,"li"),At(18),f_(19,"translate"),Rd()(),La$1(20,"ul",8)(21,"li",9)(22,"h6",10),At(23),f_(24,"translate"),Rd()(),La$1(25,"li",11)(26,"div",12),At(27),f_(28,"translate"),dy(29,"br"),La$1(30,"span",13),At(31),f_(32,"translate"),Rd()(),La$1(33,"div",14),dy(34,"input",15),f_(35,"translate"),KC(),Rd()(),La$1(36,"li",16)(37,"div",17),At(38),f_(39,"translate"),dy(40,"br"),La$1(41,"span",18),Re(42,mi,2,1)(43,ui,2,3),Rd()(),La$1(44,"div",19),dy(45,"input",20),f_(46,"translate"),KC(),dy(47,"label",21),Rd()(),La$1(48,"li",22)(49,"div")(50,"span"),At(51),f_(52,"translate"),Rd(),dy(53,"br"),La$1(54,"small",23),At(55),f_(56,"translate"),Rd()(),La$1(57,"button",24),f_(58,"translate"),rc("click",function(){return a.onDownloadBackupClick()}),dy(59,"i",25),Rd()(),La$1(60,"li",22)(61,"div")(62,"span"),At(63),f_(64,"translate"),Rd(),dy(65,"br"),La$1(66,"small",23),At(67),f_(68,"translate"),Rd()(),La$1(69,"button",24),f_(70,"translate"),rc("click",function(){return a.onCreateBackupClick()}),dy(71,"i",25),Rd()(),La$1(72,"li",22)(73,"div")(74,"span"),At(75),f_(76,"translate"),Rd(),dy(77,"br"),La$1(78,"small",23),At(79),f_(80,"translate"),Rd()(),La$1(81,"button",24),f_(82,"translate"),rc("click",function(){return a.restore(null)}),dy(83,"i",26),Rd()()(),Re(84,vi,7,3,"ul",27),Rd(),La$1(85,"div",28),dy(86,"div",17),La$1(87,"div",29)(88,"button",30),rc("click",function(){return a.dismissModal()}),At(89),f_(90,"translate"),Rd()(),dy(91,"div",31),Rd()()),i&2&&(ie(3),Ny(h_(4,42,"backup.title_backup")),ie(2),ly("disabled",a.clicked()||a.deleting()),vr("aria-label",h_(6,44,"form.button_close")),ie(7),Ny(h_(13,46,"backup.backup_help_one")),ie(3),Ny(h_(16,48,"backup.backup_help_two")),ie(3),Ny(h_(19,50,"backup.backup_warning")),ie(5),Ny(h_(24,52,"backup.settings_title")),ie(4),Rt$1(" ",h_(28,54,"backup.settings_path")),ie(4),Ny(h_(32,56,"backup.settings_path_desc")),ie(3),ly("formControl",a.pathFormControl),vr("aria-label",h_(35,58,"backup.settings_path")),JC(),ie(4),Rt$1(" ",h_(39,60,"backup.settings_enable")),ie(4),Oe(a.enabledFormControl.value?42:43),ie(3),ly("formControl",a.enabledFormControl),vr("aria-label",h_(46,62,"backup.settings_enable")),JC(),ie(6),Ny(h_(52,64,"backup.backup_now")),ie(4),Ny(h_(56,66,"backup.backup_now_desc")),ie(2),ly("disabled",a.clicked()),vr("aria-label",h_(58,68,"form.button_download")),ie(2),Cy("fa-arrow-right",!a.clicked())("fa-circle-notch",a.clicked())("fa-spin",a.clicked()),ie(4),Ny(h_(64,70,"backup.backup_now")),ie(4),Ny(h_(68,72,"backup.backup_now_save_desc")),ie(2),ly("disabled",a.clicked()),vr("aria-label",h_(70,74,"backup.backup_now")),ie(2),Cy("fa-arrow-right",!a.clicked())("fa-circle-notch",a.clicked())("fa-spin",a.clicked()),ie(4),Ny(h_(76,76,"backup.restore_now")),ie(4),Ny(h_(80,78,"backup.restore_now_desc")),ie(2),ly("disabled",a.clicked()),vr("aria-label",h_(82,80,"backup.restore_now")),ie(3),Oe(a.scheduledBackups().length?84:-1),ie(4),ly("disabled",a.clicked()||a.deleting()),ie(),Rt$1(" ",h_(90,82,"form.button_close")," "));},dependencies:[Y$1,Jn$1,Ye,Mt$1,Hn$1,mn$1,AS,K8],encapsulation:2})}return n})();function fi(n,p){n&1&&(ke$1(0,"div",5),Dr(1,"i",8),Je());}function bi(n,p){n&1&&(ke$1(0,"div",9),Dr(1,"i",11),At(2),f_(3,"translate"),Je()),n&2&&(ie(2),Rt$1(" ",h_(3,1,"settings.ports.conflict_warning")," "));}function Ci(n,p){n&1&&Dr(0,"i",18);}function xi(n,p){n&1&&Dr(0,"i",19);}function Si(n,p){n&1&&Dr(0,"i",18);}function yi(n,p){n&1&&Dr(0,"i",19);}function Ii(n,p){if(n&1&&Re(0,Si,1,0,"i",18)(1,yi,1,0,"i",19),n&2){let e=ye().$implicit;Oe(e.commissioned?0:1);}}function Ei(n,p){n&1&&(ke$1(0,"span",21),At(1,"\u2014"),Je());}function wi(n,p){if(n&1&&(ke$1(0,"ul",12)(1,"li",13)(2,"h6",14),At(3),Je()(),ke$1(4,"li",15)(5,"span",16),At(6),f_(7,"translate"),Je(),ke$1(8,"span",17),Re(9,Ci,1,0,"i",18)(10,xi,1,0,"i",19),Je()(),ke$1(11,"li",15)(12,"span",16),At(13),f_(14,"translate"),Je(),ke$1(15,"span",20),At(16),Je()(),ke$1(17,"li",15)(18,"span",16),At(19),f_(20,"translate"),Je(),ke$1(21,"span",20),At(22),Je()(),ke$1(23,"li",15)(24,"span",16),At(25),f_(26,"translate"),Je(),ke$1(27,"span",17),Re(28,Ii,2,1)(29,Ei,2,0,"span",21),Je()()()),n&2){let e=p.$implicit,i=p.$index,a=p.$count,v=ye(2);Cy("mb-3",i!==a-1)("mb-0",i===a-1),ie(3),Ny(v.displayName(e)),ie(3),Ny(h_(7,13,"settings.ports.status")),ie(3),Oe(e.status==="ok"?9:10),ie(4),Ny(h_(14,15,"settings.ports.hap_port")),ie(3),Ny(e.port),ie(3),Ny(h_(20,17,"settings.ports.matter_port")),ie(3),Ny(e.matterPort??"\u2014"),ie(3),Ny(h_(26,19,"settings.ports.commissioned")),ie(3),Oe(e.matterPort?28:29);}}function Ti(n,p){if(n&1&&(Re(0,bi,4,3,"div",9),dT(1,wi,30,21,"ul",10,lT)),n&2){let e=ye();Oe(e.conflicts().length?0:-1),ie(),fT(e.entries());}}var $t=(()=>{class n{$activeModal=g(fe);$api=g(I3);$errors=g(m);$toastr=g(M0);$translate=g(bf);loading=W(true);entries=W([]);conflicts=W([]);ngOnInit(){this.loadData();}loadData(){return E(this,null,function*(){try{let e=yield this.$api.get("/server/network/overview");this.entries.set(this.sortEntries(e.entries)),this.conflicts.set(e.conflicts);}catch(e){console.error(e),this.$toastr.error(this.$errors.toToastMessage(e),this.$translate.instant("toast.title_error"));}finally{this.loading.set(false);}})}displayName(e){return e.service==="Config UI"?"Homebridge UI":e.bridge}sortEntries(e){return e.sort((i,a)=>i.service==="Homebridge"?-1:a.service==="Homebridge"?1:i.service==="Config UI"?-1:a.service==="Config UI"?1:i.bridge.localeCompare(a.bridge))}dismissModal(){this.$activeModal.dismiss("Dismiss");}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=Ja$1({type:n,selectors:[["app-port-overview-modal"]],decls:14,vars:10,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","py-4"],[1,"modal-footer","justify-content-center"],["type","button",1,"btn","btn-elegant",3,"click"],[1,"fas","fa-spinner","fa-spin","fa-2x","primary-text"],[1,"alert","alert-warning","small","py-2","px-3","mb-3"],[1,"list-group","list-group-box",3,"mb-3","mb-0"],[1,"fas","fa-exclamation-triangle","me-1"],[1,"list-group","list-group-box"],[1,"list-group-item"],[1,"mb-0","text-center"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-column","flex-md-row"],[1,"text-start"],[1,"text-start","text-md-end","grey-text"],["aria-hidden","true",1,"fas","fa-xl","fa-check-circle","primary-text"],["aria-hidden","true",1,"fas","fa-xl","fa-times-circle","red-text"],[1,"text-start","text-md-end","grey-text","font-monospace"],[1,"font-monospace"]],template:function(i,a){i&1&&(ke$1(0,"div",0)(1,"div",1)(2,"h5",2),At(3),f_(4,"translate"),Je(),ke$1(5,"button",3),f_(6,"translate"),_i$1("click",function(){return a.dismissModal()}),Je()(),ke$1(7,"div",4),Re(8,fi,2,0,"div",5)(9,Ti,3,1),Je(),ke$1(10,"div",6)(11,"button",7),_i$1("click",function(){return a.dismissModal()}),At(12),f_(13,"translate"),Je()()()),i&2&&(ie(3),Ny(h_(4,4,"settings.ports.title")),ie(2),vr("aria-label",h_(6,6,"form.button_close")),ie(3),Oe(a.loading()?8:9),ie(4),Rt$1(" ",h_(13,8,"form.button_close")," "));},dependencies:[K8],encapsulation:2})}return n})();function ki(n,p){n&1&&(La$1(0,"div",12),dy(1,"i",13),Rd(),La$1(2,"p",14),At(3),f_(4,"translate"),Rd()),n&2&&(ie(3),Ny(h_(4,1,"reset.no_accessories")));}function $i(n,p){n&1&&(La$1(0,"div",12),dy(1,"i",15),Rd(),La$1(2,"ul",16)(3,"li"),At(4),f_(5,"translate"),Rd(),La$1(6,"li"),At(7),f_(8,"translate"),Rd(),La$1(9,"li"),At(10),f_(11,"translate"),Rd()(),La$1(12,"ngb-alert",17)(13,"p",18),At(14),f_(15,"translate"),Rd()()),n&2&&(ie(4),Ny(h_(5,5,"reset.accessory_all.list_1")),ie(3),Ny(h_(8,7,"reset.accessory_all.list_2")),ie(3),Ny(h_(11,9,"reset.accessory_all.list_3")),ie(2),ly("dismissible",false),ie(2),Ny(h_(15,11,"reset.action_is_irreversible")));}function Mi(n,p){if(n&1){let e=nc();La$1(0,"button",19),f_(1,"translate"),rc("click",function(){Go(e);let a=ye();return Wo(a.dismissModal())}),At(2),f_(3,"translate"),Rd();}if(n&2){let e=ye();ly("disabled",e.clicked()),vr("aria-label",h_(1,3,"form.button_close")),ie(2),Rt$1(" ",h_(3,5,"form.button_close")," ");}}function Bi(n,p){if(n&1){let e=nc();La$1(0,"button",20),f_(1,"translate"),rc("click",function(){Go(e);let a=ye();return Wo(a.dismissModal())}),At(2),f_(3,"translate"),Rd();}n&2&&(vr("aria-label",h_(1,2,"form.button_close")),ie(2),Rt$1(" ",h_(3,4,"form.button_close")," "));}function Pi(n,p){n&1&&(At(0),f_(1,"translate")),n&2&&Rt$1(" ",h_(1,1,"form.button_remove")," ");}function Fi(n,p){n&1&&dy(0,"i",22);}function Di(n,p){if(n&1){let e=nc();La$1(0,"button",21),rc("click",function(){Go(e);let a=ye();return Wo(a.onResetCachedAccessoriesClick())}),Re(1,Pi,2,3)(2,Fi,1,0,"i",22),Rd();}if(n&2){let e=ye();ly("disabled",e.clicked()),ie(),Oe(e.clicked()?2:1);}}var Mt=(()=>{class n{$activeModal=g(fe);$accessoryOverview=g(Y);$api=g(I3);$router=g(le);$settings=g(zt$1);$toastr=g(M0);$translate=g(bf);clicked=W(false);cachedAccessories=W([]);ngOnInit(){this.loadCachedAccessories();}onResetCachedAccessoriesClick(){return E(this,null,function*(){this.clicked.set(true);try{yield this.$api.put("/server/reset-cached-accessories",{}),this.$accessoryOverview.invalidate(),this.$toastr.success(this.$translate.instant("reset.delete_success"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}});}catch(e){this.clicked.set(false),console.error(e),this.$toastr.error(this.$translate.instant("reset.failed_to_reset"),this.$translate.instant("toast.title_error"));}})}dismissModal(){this.$activeModal.dismiss("Dismiss");}loadCachedAccessories(){return E(this,null,function*(){try{let{hapAccessories:e,matterAccessories:i}=yield this.$accessoryOverview.get(),a=this.$settings.isFeatureEnabled("matterSupport");this.cachedAccessories.set([...e,...a?i:[]]);}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("reset.error_message"),this.$translate.instant("toast.title_error")),this.$activeModal.close();}})}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=Ja$1({type:n,selectors:[["app-remove-all-accessories"]],decls:17,vars:11,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-circle-check","primary-text","icon-xl"],[1,"mb-0","text-center"],[1,"fas","fa-network-wired","primary-text","icon-xl"],[1,"mb-3"],["type","error",1,"mb-0",3,"dismissible"],[1,"text-center","mb-0"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-circle-notch","fa-spin"]],template:function(i,a){i&1&&(La$1(0,"div",0)(1,"div",1)(2,"h5",2),At(3),f_(4,"translate"),Rd(),La$1(5,"button",3),f_(6,"translate"),rc("click",function(){return a.dismissModal()}),Rd()(),La$1(7,"div",4),Re(8,ki,5,3)(9,$i,16,13),Rd(),La$1(10,"div",5)(11,"div",6),Re(12,Mi,4,7,"button",7),Rd(),La$1(13,"div",8),Re(14,Bi,4,6,"button",9),Rd(),La$1(15,"div",10),Re(16,Di,3,2,"button",11),Rd()()()),i&2&&(ie(3),Ny(h_(4,7,"reset.accessory_all.title")),ie(2),ly("disabled",a.clicked()),vr("aria-label",h_(6,9,"form.button_close")),ie(3),Oe(a.cachedAccessories().length===0?8:9),ie(4),Oe(a.cachedAccessories().length>0?12:-1),ie(2),Oe(a.cachedAccessories().length===0?14:-1),ie(2),Oe(a.cachedAccessories().length>0?16:-1));},dependencies:[X$1,K8],encapsulation:2})}return n})();function Ri(n,p){n&1&&(ke$1(0,"div",12),Dr(1,"i",13),Je(),ke$1(2,"p",14),At(3),f_(4,"translate"),Je()),n&2&&(ie(3),Ny(h_(4,1,"reset.bridge_accessories.empty")));}function Vi(n,p){if(n&1){let e=nc();ke$1(0,"li",18)(1,"span",19),Dr(2,"i",20),Je(),ke$1(3,"span",21),At(4),Dr(5,"br"),ke$1(6,"small",22)(7,"span",23),At(8),Je()()(),ke$1(9,"button",24),f_(10,"translate"),_i$1("click",function(){let a=Go(e).$implicit,v=ye(2);return Wo(v.toggleList(a._id,a._protocol))}),Dr(11,"i",25),Je()();}if(n&2){let e=p.$implicit,i=ye(2);ie(2),Cy("fa-matter",e._protocol==="matter")("fa-hap",e._protocol!=="matter"),ie(2),Rt$1(" ",e.name," "),ie(4),Ny(e._username),ie(),Cy("btn-danger",!i.isInList(e._id,e._protocol))("btn-elegant",i.isInList(e._id,e._protocol)),bi$1("disabled",i.clicked()),vr("aria-label",h_(10,20,"form.button_delete")),ie(2),Cy("fa-broom",!i.isInList(e._id,e._protocol))("fa-undo",i.isInList(e._id,e._protocol)&&!i.clicked())("fa-circle-notch",i.isInList(e._id,e._protocol)&&i.clicked())("fa-spin",i.isInList(e._id,e._protocol)&&i.clicked());}}function Ai(n,p){if(n&1&&(ke$1(0,"div",12),Dr(1,"i",15),Je(),ke$1(2,"ul",16)(3,"li"),At(4),f_(5,"translate"),Je(),ke$1(6,"li"),At(7),f_(8,"translate"),Je(),ke$1(9,"li"),At(10),f_(11,"translate"),Je()(),ke$1(12,"ul",17),dT(13,Vi,12,22,"li",18,lT),Je()),n&2){let e=ye();ie(4),Ny(h_(5,3,"reset.bridge_accessories.list_1")),ie(3),Ny(h_(8,5,"reset.clear_cache_single.list_3")),ie(3),Ny(h_(11,7,"reset.bridge_accessories.list_2")),ie(3),fT(e.pairings());}}function Ni(n,p){if(n&1){let e=nc();ke$1(0,"button",26),_i$1("click",function(){Go(e);let a=ye();return Wo(a.dismissModal())}),At(1),f_(2,"translate"),Je();}if(n&2){let e=ye();bi$1("disabled",e.clicked()),ie(),Rt$1(" ",h_(2,2,"form.button_close")," ");}}function Hi(n,p){if(n&1){let e=nc();ke$1(0,"button",27),_i$1("click",function(){Go(e);let a=ye();return Wo(a.dismissModal())}),At(1),f_(2,"translate"),Je();}n&2&&(ie(),Rt$1(" ",h_(2,1,"form.button_close")," "));}function Li(n,p){n&1&&Dr(0,"i",29);}function Oi(n,p){if(n&1&&At(0),n&2){let e=ye(3);Rt$1(" (",e.toDelete().length,") ");}}function zi(n,p){if(n&1&&(At(0),f_(1,"translate"),Re(2,Oi,1,1)),n&2){let e=ye(2);Rt$1(" ",h_(1,2,"form.button_remove")," "),ie(2),Oe(e.toDelete().length>0?2:-1);}}function Ui(n,p){if(n&1){let e=nc();ke$1(0,"button",28),_i$1("click",function(){Go(e);let a=ye();return Wo(a.cleanBridges())}),Re(1,Li,1,0,"i",29)(2,zi,3,4),Je();}if(n&2){let e=ye();bi$1("disabled",!e.toDelete().length||e.clicked()),ie(),Oe(e.clicked()?1:2);}}var Bt=(()=>{class n{$activeModal=g(fe);$accessoryOverview=g(Y);$api=g(I3);$router=g(le);$settings=g(zt$1);$toastr=g(M0);$translate=g(bf);clicked=W(false);pairings=W([]);toDelete=W([]);isMatterSupported=this.$settings.isFeatureEnabled("matterSupport");ngOnInit(){this.loadPairings();}cleanBridges(){return E(this,null,function*(){this.clicked.set(true);try{yield this.$api.delete("/server/pairings/accessories",{body:this.toDelete()}),this.$accessoryOverview.invalidate(),this.$toastr.success(this.$translate.instant("reset.accessory_ind.done"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}});}catch(e){this.clicked.set(false),console.error(e),this.$toastr.error(this.$translate.instant("reset.accessory_ind.fail"),this.$translate.instant("toast.title_error"));}})}toggleList(e,i){this.toDelete().some(a=>a.id===e&&a.protocol===i)?this.toDelete.set(this.toDelete().filter(a=>a.id!==e||a.protocol!==i)):this.toDelete.update(a=>[...a,{id:e,protocol:i}]);}isInList(e,i){return this.toDelete().some(a=>a.id===e&&a.protocol===i)}dismissModal(){this.$activeModal.dismiss("Dismiss");}loadPairings(){return E(this,null,function*(){try{let{pairings:e}=yield this.$accessoryOverview.get(),i=e.filter(v=>v._category==="bridge"&&!v._main).sort((v,N)=>v.name.localeCompare(N.name)),a=[];for(let v of i)a.push(x(w({},v),{_protocol:"hap",_displayName:v.name})),this.isMatterSupported&&v._matter&&a.push(x(w({},v),{_protocol:"matter",_displayName:v.name}));this.pairings.set(a);}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.load_error"),this.$translate.instant("toast.title_error")),this.$activeModal.close();}})}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=Ja$1({type:n,selectors:[["app-remove-bridge-accessories"]],decls:17,vars:11,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-circle-check","primary-text","icon-xl"],[1,"mb-0","text-center"],[1,"fas","fa-broom","primary-text","icon-xl"],[1,"mb-3"],[1,"list-group","list-group-box"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"me-3"],[1,"fas","fa-lg"],[1,"flex-grow-1"],[1,"grey-text"],[1,"font-monospace"],["type","button",1,"btn","m-0","ms-3",3,"click","disabled"],[1,"fas"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-circle-notch","fa-spin"]],template:function(i,a){i&1&&(ke$1(0,"div",0)(1,"div",1)(2,"h5",2),At(3),f_(4,"translate"),Je(),ke$1(5,"button",3),f_(6,"translate"),_i$1("click",function(){return a.dismissModal()}),Je()(),ke$1(7,"div",4),Re(8,Ri,5,3)(9,Ai,15,9),Je(),ke$1(10,"div",5)(11,"div",6),Re(12,Ni,3,4,"button",7),Je(),ke$1(13,"div",8),Re(14,Hi,3,3,"button",9),Je(),ke$1(15,"div",10),Re(16,Ui,3,2,"button",11),Je()()()),i&2&&(ie(3),Ny(h_(4,7,"reset.bridge_accessories.title")),ie(2),bi$1("disabled",a.clicked()),vr("aria-label",h_(6,9,"form.button_close")),ie(3),Oe(a.pairings().length===0?8:9),ie(4),Oe(a.pairings().length>0?12:-1),ie(2),Oe(a.pairings().length===0?14:-1),ie(2),Oe(a.pairings().length>0?16:-1));},dependencies:[K8],encapsulation:2})}return n})();function Wi(n,p){n&1&&(ke$1(0,"div",7)(1,"div",11),At(2),f_(3,"translate"),Je()()),n&2&&(ie(2),Rt$1(" ",h_(3,1,"reset.action_is_irreversible")," "));}function ji(n,p){n&1&&(At(0),f_(1,"translate")),n&2&&Rt$1(" ",h_(1,1,"form.button_reset")," ");}function Ki(n,p){n&1&&Dr(0,"i",17);}function Gi(n,p){if(n&1){let e=nc();ke$1(0,"button",14),_i$1("click",function(a){Go(e);let v=ye();return Wo(v.toggleConfirmMode(a))}),Dr(1,"i",15),Je(),ke$1(2,"button",16),_i$1("click",function(){Go(e);let a=ye();return Wo(a.onResetHomebridgeAccessoryClick())}),Re(3,ji,2,3)(4,Ki,1,0,"i",17),Je();}if(n&2){let e=ye();bi$1("disabled",e.clicked()),ie(2),bi$1("disabled",e.clicked()),ie(),Oe(e.clicked()?4:3);}}function qi(n,p){if(n&1){let e=nc();ke$1(0,"button",18),_i$1("click",function(a){Go(e);let v=ye();return Wo(v.toggleConfirmMode(a))}),At(1),f_(2,"translate"),Je();}n&2&&(ie(),Rt$1(" ",h_(2,1,"form.button_continue")," "));}var Pt=(()=>{class n{$activeModal=g(fe);$api=g(I3);$cache=g(p$1);$router=g(le);$toastr=g(M0);$translate=g(bf);clicked=W(false);confirmMode=W(false);toggleConfirmMode(e){this.confirmMode.set(!this.confirmMode()),e.target.blur();}onResetHomebridgeAccessoryClick(){return E(this,null,function*(){this.clicked.set(true);try{yield this.$api.put("/server/reset-homebridge-accessory",{}),this.$cache.invalidateAll(),this.$toastr.success(this.$translate.instant("reset.accessory_reset"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"]);}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("reset.failed_to_reset"),this.$translate.instant("toast.title_error"));}})}dismissModal(){this.$activeModal.dismiss("Dismiss");}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=Ja$1({type:n,selectors:[["app-reset-all-bridges"]],decls:34,vars:34,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"text-center","mb-4"],[1,"fas","fa-bridge","primary-text","icon-xl"],[1,"alert","alert-warning","mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-center"],[1,"text-end"],["type","button",1,"btn","btn-primary"],["type","button",1,"btn","btn-elegant","me-2",3,"click","disabled"],[1,"fas","fa-undo"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-circle-notch","fa-spin"],["type","button",1,"btn","btn-primary",3,"click"]],template:function(i,a){i&1&&(ke$1(0,"div",0)(1,"div",1)(2,"h5",2),At(3),f_(4,"translate"),Je(),ke$1(5,"button",3),f_(6,"translate"),_i$1("click",function(){return a.dismissModal()}),Je()(),ke$1(7,"div",4)(8,"div",5),Dr(9,"i",6),Je(),ke$1(10,"ul")(11,"li"),At(12),f_(13,"translate"),Je(),ke$1(14,"li"),At(15),f_(16,"translate"),Je(),ke$1(17,"li"),At(18),f_(19,"translate"),Je(),ke$1(20,"li"),At(21),f_(22,"translate"),Je()(),Re(23,Wi,4,3,"div",7),Je(),ke$1(24,"div",8)(25,"div",9)(26,"button",10),f_(27,"translate"),_i$1("click",function(){return a.dismissModal()}),At(28),f_(29,"translate"),Je()(),Dr(30,"div",11),ke$1(31,"div",12),Re(32,Gi,5,3)(33,qi,3,3,"button",13),Je()()()),i&2&&(ie(3),Ny(h_(4,18,"reset.bridge_all.title")),ie(2),bi$1("disabled",a.clicked()),vr("aria-label",h_(6,20,"form.button_close")),ie(5),Cy("opacity-muted",a.confirmMode())("mb-0",!a.confirmMode())("mb-4",a.confirmMode()),ie(2),Ny(h_(13,22,"reset.bridge_all.list_1")),ie(3),Ny(h_(16,24,"reset.bridge_all.list_2")),ie(3),Ny(h_(19,26,"reset.bridge_all.list_3")),ie(3),Ny(h_(22,28,"reset.bridge_all.list_4")),ie(2),Oe(a.confirmMode()?23:-1),ie(3),bi$1("disabled",a.clicked()),vr("aria-label",h_(27,30,"form.button_close")),ie(2),Rt$1(" ",h_(29,32,"form.button_close")," "),ie(4),Oe(a.confirmMode()?32:33));},dependencies:[K8],encapsulation:2})}return n})();function Qi(n,p){n&1&&(ke$1(0,"div",12),Dr(1,"i",13),Je(),ke$1(2,"p",14),At(3),f_(4,"translate"),Je()),n&2&&(ie(3),Ny(h_(4,1,"reset.bridges.empty")));}function Ji(n,p){if(n&1&&Dr(0,"i",28)(1,"i",29),n&2){let e=ye().$implicit;Cy("opacity-muted",e._matterOnly),ie(),Cy("opacity-muted",!e._matter);}}function Yi(n,p){n&1&&Dr(0,"i",22);}function Xi(n,p){if(n&1){let e=nc();ke$1(0,"li",20)(1,"span",21),Re(2,Ji,2,4)(3,Yi,1,0,"i",22),Je(),ke$1(4,"span",23),At(5),Dr(6,"br"),ke$1(7,"span",24),At(8),f_(9,"titlecase"),Je(),Dr(10,"br"),ke$1(11,"small",25),At(12),Je()(),ke$1(13