homebridge-config-ui-x 4.56.2-alpha.21 → 4.56.2-alpha.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1 -0
- package/package.json +1 -1
- package/public/0.7e872a5495e43fd4.js +1 -0
- package/public/{132.141f2b04ec4a3fce.js → 132.f1d8fcd232622201.js} +1 -1
- package/public/384.10ef60c454f9bfdd.js +1 -0
- package/public/{703.bb60fd074d60751e.js → 703.1f610f38789c49d0.js} +1 -1
- package/public/common.a629f399f85f6da5.js +1 -0
- package/public/index.html +3 -3
- package/public/{main.b811681a4ff2e4ae.js → main.1cac38853509f6d8.js} +5 -5
- package/public/{runtime.af62cb25bd61a84e.js → runtime.c94ffb7bc2880a1d.js} +1 -1
- package/public/0.db56594c1e86aa7b.js +0 -1
- package/public/384.a7b017aa0d313e5d.js +0 -1
- package/public/common.f943f607c24b9a9c.js +0 -1
package/CHANGELOG.md
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "homebridge-config-ui-x",
|
|
3
3
|
"displayName": "Homebridge UI",
|
|
4
|
-
"version": "4.56.2-alpha.
|
|
4
|
+
"version": "4.56.2-alpha.22",
|
|
5
5
|
"description": "A web based management, configuration and control platform for Homebridge.",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"author": "oznu <dev@oz.nu>",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunkui=self.webpackChunkui||[]).push([[0],{35e3:(O,f,i)=>{i.r(f),i.d(f,{SetupWizardModule:()=>G});var s=i(99842),p=i(60177),l=i(89417),h=i(6400),u=i(19664),v=i(48423),m=i(44550),c=i(10467),_=i(39290),b=i(45312),e=i(54438),F=i(45794),C=i(345),R=i(7981),$=i(35524),w=i(33578);const g=(r,a)=>({"is-valid":r,"is-invalid":a}),k=r=>({"button-loading":r});function x(r,a){if(1&r){const o=e.RV6();e.j41(0,"div",3),e.nrm(1,"img",4),e.j41(2,"h3",5),e.EFF(3),e.nI1(4,"translate"),e.k0s(),e.j41(5,"button",6),e.bIt("click",function(){e.eBV(o);const n=e.XpG();return e.Njj(n.onClickGettingStarted())}),e.EFF(6),e.nI1(7,"translate"),e.k0s(),e.j41(8,"small",7)(9,"a",8),e.bIt("click",function(){e.eBV(o);const n=e.XpG();return e.Njj(n.onClickRestoreBackup())}),e.EFF(10),e.nI1(11,"translate"),e.k0s()()()}2&r&&(e.R7$(3),e.JRh(e.bMT(4,3,"setup_wizard.message_welcome_to_homebridge")),e.R7$(3),e.SpI(" ",e.bMT(7,5,"setup_wizard.button_get_started")," "),e.R7$(4),e.JRh(e.bMT(11,7,"setup_wizard_message_restore")))}function y(r,a){if(1&r){const o=e.RV6();e.j41(0,"div",3),e.nrm(1,"img",9),e.j41(2,"h3",5),e.EFF(3),e.nI1(4,"translate"),e.k0s(),e.j41(5,"div",10)(6,"p"),e.EFF(7),e.nI1(8,"translate"),e.k0s(),e.j41(9,"form",11),e.bIt("ngSubmit",function(){e.eBV(o);const n=e.XpG();return e.Njj(n.createFirstUser())}),e.j41(10,"div",12),e.nrm(11,"i",13)(12,"input",14),e.j41(13,"label",15),e.EFF(14),e.nI1(15,"translate"),e.k0s()(),e.j41(16,"div",12),e.nrm(17,"i",16)(18,"input",17),e.j41(19,"label",18),e.EFF(20),e.nI1(21,"translate"),e.k0s()(),e.j41(22,"div",12),e.nrm(23,"i",16)(24,"input",19),e.j41(25,"label",20),e.EFF(26),e.nI1(27,"translate"),e.k0s()(),e.j41(28,"div",21)(29,"button",22),e.EFF(30),e.nI1(31,"translate"),e.nrm(32,"i",23),e.k0s()()()()()}if(2&r){const o=e.XpG();e.R7$(3),e.JRh(e.bMT(4,15,"setup_wizard.label_create_account")),e.R7$(4),e.JRh(e.bMT(8,17,"setup_wizard.message_create_account_reason")),e.R7$(2),e.Y8G("formGroup",o.createUserForm),e.R7$(3),e.Y8G("readonly",o.loading)("ngClass",e.l_i(27,g,o.createUserForm.controls.username.dirty&&o.createUserForm.controls.username.valid,o.createUserForm.controls.username.dirty&&o.createUserForm.controls.username.invalid)),e.R7$(2),e.JRh(e.bMT(15,19,"users.label_username")),e.R7$(4),e.Y8G("readonly",o.loading)("ngClass",e.l_i(30,g,o.createUserForm.controls.password.dirty&&o.createUserForm.controls.password.valid,o.createUserForm.controls.password.dirty&&o.createUserForm.controls.password.errors)),e.R7$(2),e.JRh(e.bMT(21,21,"users.label_password")),e.R7$(4),e.Y8G("readonly",o.loading)("ngClass",e.l_i(33,g,o.createUserForm.controls.passwordConfirm.dirty&&o.createUserForm.controls.passwordConfirm.valid,o.createUserForm.controls.passwordConfirm.dirty&&o.createUserForm.controls.passwordConfirm.errors)),e.R7$(2),e.JRh(e.bMT(27,23,"users.label_confirm_password")),e.R7$(3),e.Y8G("disabled",o.createUserForm.invalid||o.loading)("ngClass",e.eq3(36,k,o.loading)),e.R7$(),e.SpI(" ",e.bMT(31,25,"setup_wizard.label_create_account")," ")}}function j(r,a){1&r&&(e.j41(0,"span"),e.nrm(1,"i",31),e.EFF(2),e.nI1(3,"translate"),e.k0s()),2&r&&(e.R7$(2),e.SpI(" ",e.bMT(3,1,"backup.label_uploading")," "))}function z(r,a){1&r&&(e.j41(0,"span"),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&r&&(e.R7$(),e.JRh(e.bMT(2,1,"backup.button_restore_backup")))}function I(r,a){if(1&r){const o=e.RV6();e.j41(0,"div",3),e.nrm(1,"img",9),e.j41(2,"h3",5),e.EFF(3),e.nI1(4,"translate"),e.k0s(),e.j41(5,"p"),e.EFF(6),e.nI1(7,"translate"),e.k0s(),e.j41(8,"div",24)(9,"input",25),e.bIt("change",function(n){e.eBV(o);const d=e.XpG();return e.Njj(d.handleRestoreFileInput(n.target.files))}),e.k0s(),e.j41(10,"label",26),e.EFF(11),e.nI1(12,"translate"),e.k0s()(),e.j41(13,"div",27)(14,"button",28),e.bIt("click",function(){e.eBV(o);const n=e.XpG();return e.Njj(n.onClickCancelRestore())}),e.EFF(15),e.nI1(16,"translate"),e.k0s(),e.j41(17,"button",29),e.bIt("click",function(){e.eBV(o);const n=e.XpG();return e.Njj(n.onRestoreBackupClick())}),e.DNE(18,j,4,3,"span",30)(19,z,3,3,"span",30),e.k0s()()()}if(2&r){const o=e.XpG();e.R7$(3),e.JRh(e.bMT(4,8,"backup.title_restore")),e.R7$(3),e.JRh(e.bMT(7,10,"backup.message_restore_help_one")),e.R7$(5),e.SpI(" ",e.bMT(12,12,(null==o.selectedFile?null:o.selectedFile.name)||"backup.label_choose_backup_file_to_restore")," "),e.R7$(3),e.Y8G("disabled",o.restoreUploadStarted),e.R7$(),e.SpI(" ",e.bMT(16,14,"form.button_cancel")," "),e.R7$(2),e.Y8G("disabled",o.restoreUploading||!o.selectedFile),e.R7$(),e.Y8G("ngIf",o.restoreUploading),e.R7$(),e.Y8G("ngIf",!o.restoreUploading)}}function M(r,a){1&r&&(e.j41(0,"div",3),e.nrm(1,"img",9),e.j41(2,"h3",5),e.EFF(3),e.nI1(4,"translate"),e.k0s(),e.j41(5,"h1"),e.nrm(6,"i",31),e.k0s()()),2&r&&(e.R7$(3),e.JRh(e.bMT(4,1,"restart.title_restart")))}function T(r,a){1&r&&(e.j41(0,"div",3),e.nrm(1,"img",9),e.j41(2,"h3",32),e.EFF(3),e.nI1(4,"translate"),e.k0s(),e.j41(5,"p",33),e.EFF(6),e.nI1(7,"translate"),e.k0s(),e.j41(8,"a",34),e.EFF(9),e.nI1(10,"translate"),e.k0s()()),2&r&&(e.R7$(3),e.JRh(e.bMT(4,3,"setup_wizard_message_complete_title")),e.R7$(3),e.JRh(e.bMT(7,5,"setup_wizard_message_complete_message")),e.R7$(3),e.JRh(e.bMT(10,7,"setup_wizard.label_open_dashboard")))}const S=[{path:"",component:(()=>{var r;class a{constructor(t,n,d,A,E,P,J){(0,s.A)(this,"$modal",void 0),(0,s.A)(this,"$translate",void 0),(0,s.A)(this,"$toastr",void 0),(0,s.A)(this,"$title",void 0),(0,s.A)(this,"$api",void 0),(0,s.A)(this,"$auth",void 0),(0,s.A)(this,"$settings",void 0),(0,s.A)(this,"previousTitle",void 0),(0,s.A)(this,"step","welcome"),(0,s.A)(this,"createUserForm",new l.gE({username:new l.MJ("",[l.k0.required]),password:new l.MJ("",[l.k0.compose([l.k0.required,l.k0.minLength(4)])]),passwordConfirm:new l.MJ("",[l.k0.required])},this.matchPassword)),(0,s.A)(this,"loading",!1),(0,s.A)(this,"selectedFile",void 0),(0,s.A)(this,"restoreUploading",!1),this.$modal=t,this.$translate=n,this.$toastr=d,this.$title=A,this.$api=E,this.$auth=P,this.$settings=J}ngOnInit(){this.previousTitle=this.$title.getTitle(),this.$title.setTitle("Setup Homebridge")}matchPassword(t){if(t.get("password").value===t.get("passwordConfirm").value)return null;t.get("passwordConfirm").setErrors({matchPassword:!0})}ngOnDestroy(){this.$title.setTitle(this.previousTitle)}onClickGettingStarted(){this.step="create-account"}onClickRestoreBackup(){this.step="restore-backup"}onClickCancelRestore(){this.selectedFile=null,this.step="welcome"}createFirstUser(){var t=this;this.loading=!0;const n=this.createUserForm.getRawValue();n.name=n.username,this.$api.post("/setup-wizard/create-first-user",n).subscribe((0,c.A)(function*(){t.$settings.env.setupWizardComplete=!0,yield t.$auth.login({username:n.username,password:n.password}),t.step="setup-complete"}),d=>{this.loading=!1,this.$toastr.error(d.error.message||this.$translate.instant("users.toast_failed_to_add_user"),this.$translate.instant("toast.title_error"))})}handleRestoreFileInput(t){t.length?this.selectedFile=t[0]:delete this.selectedFile}onRestoreBackupClick(){this.restoreUploading=!0,this.uploadHomebridgeArchive()}uploadHomebridgeArchive(){var t=this;return(0,c.A)(function*(){try{const n=yield t.$api.get("/setup-wizard/get-setup-wizard-token").toPromise();window.localStorage.setItem(b.c.jwt.tokenKey,n.access_token),t.$auth.token=n.access_token;const d=new FormData;d.append("restoreArchive",t.selectedFile,t.selectedFile.name),yield t.$api.post("/backup/restore",d).toPromise(),t.openRestoreModal(),t.restoreUploading=!1}catch(n){t.restoreUploading=!1,t.$toastr.error(n.error.message||t.$translate.instant("users.toast_failed_to_add_user"),t.$translate.instant("toast.title_error"))}})()}openRestoreModal(){const t=this.$modal.open(_.y,{size:"lg",backdrop:"static"});t.componentInstance.setupWizardRestore=!0,t.result.then(n=>{!0===n&&this.waitForHomebridgeToRestart()})}waitForHomebridgeToRestart(){var t=this;return(0,c.A)(function*(){t.step="restarting",window.localStorage.removeItem(b.c.jwt.tokenKey),t.$auth.token=null,yield new Promise(d=>setTimeout(d,15e3));const n=setInterval((0,c.A)(function*(){try{yield t.$api.get("/auth/settings").toPromise(),clearInterval(n),location.reload()}catch{}}),1e3)})()}}return r=a,(0,s.A)(a,"\u0275fac",function(t){return new(t||r)(e.rXU(h.Bq),e.rXU(u.c$),e.rXU(F.tw),e.rXU(C.hE),e.rXU(R.G),e.rXU($.u),e.rXU(w.h))}),(0,s.A)(r,"\u0275cmp",e.VBU({type:r,selectors:[["app-setup-wizard"]],decls:7,vars:5,consts:[[1,"setup-container","d-flex","align-items-center","justify-content-center"],[1,"w-100","setup-card","d-flex","py-5"],["class","w-100 d-flex flex-column align-items-center",4,"ngIf"],[1,"w-100","d-flex","flex-column","align-items-center"],["src","/assets/homebridge-color-round.svg","alt","hb logo",1,"homebridge-logo","mx-auto"],[1,"pt-4","pb-3","text-center"],["type","button",1,"btn","btn-lg","btn-primary",3,"click"],[1,"mt-3"],["href","javascript:void(0)",1,"grey-text",3,"click"],["src","/assets/homebridge-color-round.svg","alt","hb logo",1,"homebridge-logo","homebridge-logo-small","mx-auto"],[1,"w-100"],["novalidate","",3,"ngSubmit","formGroup"],[1,"md-form"],[1,"fas","fa-fw","fa-user","prefix","grey-text"],["formControlName","username","type","text","id","form-username","autocomplete","username","autocapitalize","none","tabindex","1",1,"form-control","px-0",3,"readonly","ngClass"],["for","form-username"],[1,"fas","fa-fw","fa-lock","prefix","grey-text"],["formControlName","password","type","password","id","form-pass","autocomplete","new-password","tabindex","2",1,"form-control","px-0",3,"readonly","ngClass"],["for","form-pass"],["formControlName","passwordConfirm","type","password","id","form-pass-confirm","autocomplete","new-password","tabindex","2",1,"form-control","px-0",3,"readonly","ngClass"],["for","form-pass-confirm"],[1,"w-100","text-center"],["type","submit",1,"btn","btn-primary",3,"disabled","ngClass"],[1,"button-loading-overlay","fas","fa-fw","fa-spinner","fa-pulse"],[1,"custom-file"],["type","file","id","restoreFileUpload","accept","application/gzip, .gz",1,"custom-file-input",3,"change"],["for","restoreFileUpload",1,"custom-file-label"],[1,"mt-3","w-100","d-flex","justify-content-between"],["type","button",1,"btn","btn-elegant","ms-0",3,"click","disabled"],["type","button",1,"btn","btn-primary","me-0",3,"click","disabled"],[4,"ngIf"],[1,"fas","fa-fw","fa-spinner","fa-pulse"],[1,"pt-4","pb-3"],[1,"text-center"],["routerLink","/",1,"btn","btn-lg","btn-primary","mt-3"]],template:function(t,n){1&t&&(e.j41(0,"div",0)(1,"div",1),e.DNE(2,x,12,9,"div",2)(3,y,33,38,"div",2)(4,I,20,16,"div",2)(5,M,7,3,"div",2)(6,T,11,9,"div",2),e.k0s()()),2&t&&(e.R7$(2),e.Y8G("ngIf","welcome"===n.step),e.R7$(),e.Y8G("ngIf","create-account"===n.step),e.R7$(),e.Y8G("ngIf","restore-backup"===n.step),e.R7$(),e.Y8G("ngIf","restarting"===n.step),e.R7$(),e.Y8G("ngIf","setup-complete"===n.step))},dependencies:[p.YU,p.bT,l.qT,l.me,l.BC,l.cb,l.j4,l.JD,m.Wk,u.D9],styles:[".setup-container[_ngcontent-%COMP%]{background-size:cover;z-index:-1;padding-top:1em;padding-bottom:1em}@media screen and (min-height: 500px) and (min-width: 600px){.setup-container[_ngcontent-%COMP%]{padding-top:4em}}.setup-card[_ngcontent-%COMP%]{max-width:600px;border-radius:15px;background-color:#fff;padding-right:25px;padding-left:25px}.setup-card[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:focus{background-color:inherit!important}@media screen and (max-width: 600px){.setup-card[_ngcontent-%COMP%]{margin-left:1em;margin-right:1em}} body.dark-mode .setup-card{background-color:#2b2b2b;color:#fff}.homebridge-logo[_ngcontent-%COMP%]{margin-right:10px;height:200px}@media screen and (max-height: 500px){.homebridge-logo[_ngcontent-%COMP%]{height:100px}}@media screen and (max-width: 600px){.homebridge-logo[_ngcontent-%COMP%]{height:100px}}.homebridge-logo-small[_ngcontent-%COMP%]{height:50px}.button-loading[_ngcontent-%COMP%]{position:relative;color:#0000}.button-loading[_ngcontent-%COMP%] .button-loading-overlay[_ngcontent-%COMP%]{display:block;color:#fff}.button-loading-overlay[_ngcontent-%COMP%]{display:none;position:absolute;top:9px;left:0;right:0}small[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{text-decoration:underline}"]})),a})()}];let U=(()=>{var r;class a{}return r=a,(0,s.A)(a,"\u0275fac",function(t){return new(t||r)}),(0,s.A)(r,"\u0275mod",e.$C({type:r})),(0,s.A)(r,"\u0275inj",e.G2t({imports:[m.iI.forChild(S),m.iI]})),a})();var W=i(96388);let G=(()=>{var r;class a{}return r=a,(0,s.A)(a,"\u0275fac",function(t){return new(t||r)}),(0,s.A)(r,"\u0275mod",e.$C({type:r})),(0,s.A)(r,"\u0275inj",e.G2t({providers:[W.S],imports:[p.MD,l.YN,l.X1,u.h,h.UN,v.U,U]})),a})()}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkui=self.webpackChunkui||[]).push([[132],{9132:(z,v,u)=>{u.r(v),u.d(v,{UsersModule:()=>L});var n=u(99842),c=u(60177),a=u(89417),p=u(6400),d=u(19664),C=u(48423),_=u(44550),t=u(54438),f=u(45794),b=u(7981);const $=r=>({active:r}),g=r=>({"is-invalid":r});let k=(()=>{var r;class i{constructor(s,e,l,m){(0,n.A)(this,"activeModal",void 0),(0,n.A)(this,"toastr",void 0),(0,n.A)(this,"translate",void 0),(0,n.A)(this,"$api",void 0),(0,n.A)(this,"form",new a.gE({username:new a.MJ("",[a.k0.required]),name:new a.MJ("",[a.k0.required]),password:new a.MJ("",[a.k0.compose([a.k0.required,a.k0.minLength(4)])]),passwordConfirm:new a.MJ("",[a.k0.required]),admin:new a.MJ(!0)},this.matchPassword)),(0,n.A)(this,"page",{title:"users.title_add_user",save:"users.button_add_new_user",password:"users.label_password"}),this.activeModal=s,this.toastr=e,this.translate=l,this.$api=m}ngOnInit(){}matchPassword(s){if(s.get("password").value===s.get("passwordConfirm").value)return null;s.get("passwordConfirm").setErrors({matchPassword:!0})}onSubmit({value:s}){this.$api.post("/users",s).subscribe(()=>{this.activeModal.close(),this.toastr.success(this.translate.instant("users.toast_added_new_user"),this.translate.instant("toast.title_success"))},e=>{this.toastr.error(e.error.message||this.translate.instant("users.toast_failed_to_add_user"),this.translate.instant("toast.title_error"))})}}return r=i,(0,n.A)(i,"\u0275fac",function(s){return new(s||r)(t.rXU(p.Lw),t.rXU(f.tw),t.rXU(d.c$),t.rXU(b.G))}),(0,n.A)(r,"\u0275cmp",t.VBU({type:r,selectors:[["app-users-add"]],decls:57,vars:57,consts:[[1,"modal-content"],["novalidate","",3,"ngSubmit","formGroup"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"container","px-1"],[1,"md-form"],["formControlName","username","type","text","id","form-username","autocomplete","username","autocapitalize","none",1,"form-control","px-0"],["for","form-username",3,"ngClass"],[1,"fas","fa-fw","fa-user-shield"],["formControlName","name","type","text","id","form-name","autocomplete","name",1,"form-control","px-0"],["for","form-name",3,"ngClass"],[1,"fas","fa-fw","fa-user"],["formControlName","password","type","password","autocomplete","new-password","id","form-pass",1,"form-control","px-0",3,"ngClass"],["for","form-pass"],[1,"fas","fa-fw","fa-lock"],["formControlName","passwordConfirm","type","password","autocomplete","new-password","id","form-pass-confirm",1,"form-control","px-0",3,"ngClass"],["for","form-pass-confirm"],[1,"form-group","row","align-items-center"],[1,"col-6","col-form-label","grey-text"],[1,"fas","fa-fw","fa-user-secret"],[1,"col-6","text-end"],["type","checkbox","formControlName","admin","id","isAdmin",1,"rendux-input"],["for","isAdmin",1,"rendux-label","ms-3",2,"min-width","45px"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","submit",1,"btn","btn-primary",3,"disabled"]],template:function(s,e){1&s&&(t.j41(0,"div",0)(1,"form",1),t.bIt("ngSubmit",function(){return e.onSubmit(e.form)}),t.j41(2,"div",2)(3,"h5",3),t.EFF(4),t.nI1(5,"translate"),t.k0s(),t.j41(6,"button",4),t.nI1(7,"translate"),t.bIt("click",function(){return e.activeModal.dismiss("Dismiss")}),t.k0s()(),t.j41(8,"div",5)(9,"div",6)(10,"div",7),t.nrm(11,"input",8),t.nI1(12,"translate"),t.j41(13,"label",9),t.nrm(14,"i",10),t.EFF(15),t.nI1(16,"translate"),t.k0s()(),t.j41(17,"div",7),t.nrm(18,"input",11),t.nI1(19,"translate"),t.j41(20,"label",12),t.nrm(21,"i",13),t.EFF(22),t.nI1(23,"translate"),t.k0s()(),t.j41(24,"div",7),t.nrm(25,"input",14),t.nI1(26,"translate"),t.j41(27,"label",15),t.nrm(28,"i",16),t.EFF(29),t.nI1(30,"translate"),t.k0s()(),t.j41(31,"div",7),t.nrm(32,"input",17),t.nI1(33,"translate"),t.j41(34,"label",18),t.nrm(35,"i",16),t.EFF(36),t.nI1(37,"translate"),t.k0s()(),t.j41(38,"div",19)(39,"label",20),t.nrm(40,"i",21),t.EFF(41),t.nI1(42,"translate"),t.k0s(),t.j41(43,"div",22),t.nrm(44,"input",23),t.nI1(45,"translate"),t.nrm(46,"label",24),t.k0s()()()(),t.j41(47,"div",25)(48,"div",26)(49,"button",27),t.bIt("click",function(){return e.activeModal.dismiss("Dismiss")}),t.EFF(50),t.nI1(51,"translate"),t.k0s()(),t.nrm(52,"div",28),t.j41(53,"div",29)(54,"button",30),t.EFF(55),t.nI1(56,"translate"),t.k0s()()()()()),2&s&&(t.R7$(),t.Y8G("formGroup",e.form),t.R7$(3),t.JRh(t.bMT(5,21,"users.title_add_user")),t.R7$(2),t.BMQ("aria-label",t.bMT(7,23,"form.button_close")),t.R7$(5),t.BMQ("disabled","users.title_edit_user"===e.page.title||null)("aria-label",t.bMT(12,25,"users.label_username")),t.R7$(2),t.Y8G("ngClass",t.eq3(49,$,"users.title_edit_user"===e.page.title)),t.R7$(2),t.SpI(" ",t.bMT(16,27,"users.label_username")," "),t.R7$(3),t.BMQ("aria-label",t.bMT(19,29,"users.label_full_name")),t.R7$(2),t.Y8G("ngClass",t.eq3(51,$,"users.title_edit_user"===e.page.title)),t.R7$(2),t.SpI(" ",t.bMT(23,31,"users.label_full_name")," "),t.R7$(3),t.Y8G("ngClass",t.eq3(53,g,e.form.controls.password.dirty&&e.form.controls.password.errors)),t.BMQ("aria-label",t.bMT(26,33,e.page.password)),t.R7$(4),t.SpI(" ",t.bMT(30,35,e.page.password)," "),t.R7$(3),t.Y8G("ngClass",t.eq3(55,g,e.form.controls.passwordConfirm.dirty&&e.form.controls.passwordConfirm.errors)),t.BMQ("aria-label",t.bMT(33,37,"users.label_confirm_password")),t.R7$(4),t.SpI(" ",t.bMT(37,39,"users.label_confirm_password")," "),t.R7$(5),t.SpI(" ",t.bMT(42,41,"users.label_admin_user")," "),t.R7$(3),t.BMQ("aria-label",t.bMT(45,43,"users.label_admin_user")),t.R7$(6),t.SpI(" ",t.bMT(51,45,"form.button_close")," "),t.R7$(4),t.Y8G("disabled",!e.form.valid),t.R7$(),t.SpI(" ",t.bMT(56,47,"form.button_save")," "))},dependencies:[c.YU,a.qT,a.me,a.Zm,a.BC,a.cb,a.j4,a.JD,d.D9],encapsulation:2})),i})();function R(r,i){1&r&&(t.j41(0,"p",14)(1,"small"),t.EFF(2),t.nI1(3,"translate"),t.k0s()()),2&r&&(t.R7$(2),t.JRh(t.bMT(3,1,"login.message_invalid_username_or_password")))}let T=(()=>{var r;class i{constructor(s,e,l,m){(0,n.A)(this,"activeModal",void 0),(0,n.A)(this,"toastr",void 0),(0,n.A)(this,"translate",void 0),(0,n.A)(this,"$api",void 0),(0,n.A)(this,"formGroup",new a.gE({password:new a.MJ("",[a.k0.required])})),(0,n.A)(this,"invalidCredentials",!1),this.activeModal=s,this.toastr=e,this.translate=l,this.$api=m}ngOnInit(){}disable2fa(){this.invalidCredentials=!1,this.$api.post("/users/otp/deactivate",this.formGroup.value).subscribe(()=>{this.activeModal.close(),this.toastr.success(this.translate.instant("users.setup_2fa_disable_success"),this.translate.instant("toast.title_success"))},()=>{this.formGroup.setValue({password:""}),this.invalidCredentials=!0})}}return r=i,(0,n.A)(i,"\u0275fac",function(s){return new(s||r)(t.rXU(p.Lw),t.rXU(f.tw),t.rXU(d.c$),t.rXU(b.G))}),(0,n.A)(r,"\u0275cmp",t.VBU({type:r,selectors:[["app-users-disable2fa"]],decls:26,vars:24,consts:[[1,"modal-content",2,"min-height","300px"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"form-group"],["type","password","autocomplete","current-password",1,"form-control",3,"formControl","placeholder"],["class","red-text",4,"ngIf"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"red-text"]],template:function(s,e){1&s&&(t.j41(0,"div",0)(1,"div",1)(2,"h5",2),t.EFF(3),t.nI1(4,"translate"),t.k0s(),t.j41(5,"button",3),t.nI1(6,"translate"),t.bIt("click",function(){return e.activeModal.dismiss("Dismiss")}),t.k0s()(),t.j41(7,"div",4)(8,"p"),t.EFF(9),t.nI1(10,"translate"),t.k0s(),t.j41(11,"div",5),t.nrm(12,"input",6),t.nI1(13,"translate"),t.k0s(),t.DNE(14,R,4,3,"p",7),t.k0s(),t.j41(15,"div",8)(16,"div",9)(17,"button",10),t.nI1(18,"translate"),t.bIt("click",function(){return e.activeModal.dismiss("Dismiss")}),t.EFF(19),t.nI1(20,"translate"),t.k0s()(),t.nrm(21,"div",11),t.j41(22,"div",12)(23,"button",13),t.bIt("click",function(){return e.disable2fa()}),t.EFF(24),t.nI1(25,"translate"),t.k0s()()()()),2&s&&(t.R7$(3),t.JRh(t.bMT(4,10,"users.setup_2fa_disable")),t.R7$(2),t.BMQ("aria-label",t.bMT(6,12,"form.button_close")),t.R7$(4),t.JRh(t.bMT(10,14,"users.setup_2fa_disable_enter_current_password")),t.R7$(3),t.Y8G("formControl",e.formGroup.controls.password)("placeholder",t.bMT(13,16,"users.label_password")),t.R7$(2),t.Y8G("ngIf",e.invalidCredentials),t.R7$(3),t.BMQ("aria-label",t.bMT(18,18,"form.button_close")),t.R7$(2),t.SpI(" ",t.bMT(20,20,"form.button_close")," "),t.R7$(4),t.Y8G("disabled",e.formGroup.invalid),t.R7$(),t.SpI(" ",t.bMT(25,22,"form.button_disable")," "))},dependencies:[c.bT,a.me,a.BC,a.l_,d.D9]})),i})();var w=u(35524);const U=r=>({active:r}),I=r=>({"is-invalid":r});let y=(()=>{var r;class i{constructor(s,e,l,m,h){(0,n.A)(this,"activeModal",void 0),(0,n.A)(this,"toastr",void 0),(0,n.A)(this,"translate",void 0),(0,n.A)(this,"$api",void 0),(0,n.A)(this,"$auth",void 0),(0,n.A)(this,"user",void 0),(0,n.A)(this,"form",new a.gE({username:new a.MJ("",[a.k0.required]),name:new a.MJ("",[a.k0.required]),password:new a.MJ(""),passwordConfirm:new a.MJ(""),admin:new a.MJ(!0)},this.matchPassword)),(0,n.A)(this,"page",{title:"users.title_edit_user",save:"form.button_save",password:"users.label_new_password"}),(0,n.A)(this,"isCurrentUser",!1),this.activeModal=s,this.toastr=e,this.translate=l,this.$api=m,this.$auth=h}ngOnInit(){this.isCurrentUser=this.$auth.user.username===this.user.username,this.form.patchValue(this.user)}matchPassword(s){if(s.get("password").value===s.get("passwordConfirm").value)return null;s.get("passwordConfirm").setErrors({matchPassword:!0})}onSubmit({value:s}){this.$api.patch(`/users/${this.user.id}`,s).subscribe(()=>{this.activeModal.close(),this.toastr.success(this.translate.instant("users.toast_updated_user"),this.translate.instant("toast.title_success")),this.isCurrentUser&&s.username!==this.$auth.user.username&&this.$auth.logout()},e=>{this.toastr.error(e.error.message||this.translate.instant("users.toast_failed_to_add_user"),this.translate.instant("toast.title_error"))})}}return r=i,(0,n.A)(i,"\u0275fac",function(s){return new(s||r)(t.rXU(p.Lw),t.rXU(f.tw),t.rXU(d.c$),t.rXU(b.G),t.rXU(w.u))}),(0,n.A)(r,"\u0275cmp",t.VBU({type:r,selectors:[["app-users-edit"]],inputs:{user:"user"},decls:57,vars:56,consts:[[1,"modal-content"],["novalidate","",3,"ngSubmit","formGroup"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"container","px-1"],[1,"md-form"],["formControlName","username","type","text","id","form-username","autocomplete","off","autocapitalize","none",1,"form-control","px-0"],["for","form-username",3,"ngClass"],[1,"fas","fa-fw","fa-user-shield"],["formControlName","name","type","text","id","form-name","autocomplete","name",1,"form-control","px-0"],["for","form-name",3,"ngClass"],[1,"fas","fa-fw","fa-user"],["formControlName","password","type","password","autocomplete","new-password","id","form-pass",1,"form-control","px-0",3,"ngClass"],["for","form-pass"],[1,"fas","fa-fw","fa-lock"],["formControlName","passwordConfirm","type","password","autocomplete","new-password","id","form-pass-confirm",1,"form-control","px-0",3,"ngClass"],["for","form-pass-confirm"],[1,"form-group","row","align-items-center"],[1,"col-6","col-form-label","grey-text"],[1,"fas","fa-fw","fa-user-secret"],[1,"col-6","text-end"],["type","checkbox","formControlName","admin","id","isAdmin",1,"rendux-input"],["for","isAdmin",1,"rendux-label","ms-3",2,"min-width","45px"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","submit",1,"btn","btn-primary",3,"disabled"]],template:function(s,e){1&s&&(t.j41(0,"div",0)(1,"form",1),t.bIt("ngSubmit",function(){return e.onSubmit(e.form)}),t.j41(2,"div",2)(3,"h5",3),t.EFF(4),t.nI1(5,"translate"),t.k0s(),t.j41(6,"button",4),t.nI1(7,"translate"),t.bIt("click",function(){return e.activeModal.dismiss("Dismiss")}),t.k0s()(),t.j41(8,"div",5)(9,"div",6)(10,"div",7),t.nrm(11,"input",8),t.nI1(12,"translate"),t.j41(13,"label",9),t.nrm(14,"i",10),t.EFF(15),t.nI1(16,"translate"),t.k0s()(),t.j41(17,"div",7),t.nrm(18,"input",11),t.nI1(19,"translate"),t.j41(20,"label",12),t.nrm(21,"i",13),t.EFF(22),t.nI1(23,"translate"),t.k0s()(),t.j41(24,"div",7),t.nrm(25,"input",14),t.nI1(26,"translate"),t.j41(27,"label",15),t.nrm(28,"i",16),t.EFF(29),t.nI1(30,"translate"),t.k0s()(),t.j41(31,"div",7),t.nrm(32,"input",17),t.nI1(33,"translate"),t.j41(34,"label",18),t.nrm(35,"i",16),t.EFF(36),t.nI1(37,"translate"),t.k0s()(),t.j41(38,"div",19)(39,"label",20),t.nrm(40,"i",21),t.EFF(41),t.nI1(42,"translate"),t.k0s(),t.j41(43,"div",22),t.nrm(44,"input",23),t.nI1(45,"translate"),t.nrm(46,"label",24),t.k0s()()()(),t.j41(47,"div",25)(48,"div",26)(49,"button",27),t.bIt("click",function(){return e.activeModal.dismiss("Dismiss")}),t.EFF(50),t.nI1(51,"translate"),t.k0s()(),t.nrm(52,"div",28),t.j41(53,"div",29)(54,"button",30),t.EFF(55),t.nI1(56,"translate"),t.k0s()()()()()),2&s&&(t.R7$(),t.Y8G("formGroup",e.form),t.R7$(3),t.JRh(t.bMT(5,20,"users.title_edit_user")),t.R7$(2),t.BMQ("aria-label",t.bMT(7,22,"form.button_close")),t.R7$(5),t.BMQ("aria-label",t.bMT(12,24,"users.label_username")),t.R7$(2),t.Y8G("ngClass",t.eq3(48,U,"users.title_edit_user"===e.page.title)),t.R7$(2),t.SpI(" ",t.bMT(16,26,"users.label_username")," "),t.R7$(3),t.BMQ("aria-label",t.bMT(19,28,"users.label_full_name")),t.R7$(2),t.Y8G("ngClass",t.eq3(50,U,"users.title_edit_user"===e.page.title)),t.R7$(2),t.SpI(" ",t.bMT(23,30,"users.label_full_name")," "),t.R7$(3),t.Y8G("ngClass",t.eq3(52,I,e.form.controls.password.dirty&&e.form.controls.password.errors)),t.BMQ("aria-label",t.bMT(26,32,e.page.password)),t.R7$(4),t.SpI(" ",t.bMT(30,34,e.page.password)," "),t.R7$(3),t.Y8G("ngClass",t.eq3(54,I,e.form.controls.passwordConfirm.dirty&&e.form.controls.passwordConfirm.errors)),t.BMQ("aria-label",t.bMT(33,36,"users.label_confirm_password")),t.R7$(4),t.SpI(" ",t.bMT(37,38,"users.label_confirm_password")," "),t.R7$(5),t.SpI(" ",t.bMT(42,40,"users.label_admin_user")," "),t.R7$(3),t.BMQ("aria-label",t.bMT(45,42,"users.label_admin_user")),t.R7$(6),t.SpI(" ",t.bMT(51,44,"form.button_close")," "),t.R7$(4),t.Y8G("disabled",!e.form.valid),t.R7$(),t.SpI(" ",t.bMT(56,46,"form.button_save")," "))},dependencies:[c.YU,a.qT,a.me,a.Zm,a.BC,a.cb,a.j4,a.JD,d.D9],encapsulation:2})),i})();var j=u(67374),F=u(86669);const A=["qrcode"],E=r=>({timeDiffError:r});function G(r,i){if(1&r&&(t.j41(0,"div",14)(1,"h3"),t.EFF(2),t.nI1(3,"translate"),t.k0s(),t.j41(4,"p"),t.EFF(5),t.nI1(6,"translate"),t.k0s()()),2&r){const o=t.XpG();t.R7$(2),t.JRh(t.bMT(3,2,"users.setup_2fa_cannot_setup_2fa")),t.R7$(3),t.JRh(t.i5U(6,4,"users.setup_2fa_server_time_out",t.eq3(7,E,o.timeDiffError)))}}function S(r,i){1&r&&(t.j41(0,"div")(1,"p"),t.EFF(2),t.nI1(3,"translate"),t.k0s()()),2&r&&(t.R7$(2),t.JRh(t.bMT(3,1,"users.setup_2fa_scan_qr_code")))}function D(r,i){if(1&r&&(t.j41(0,"div",17)(1,"p"),t.EFF(2),t.nI1(3,"translate"),t.k0s(),t.j41(4,"div",18),t.nrm(5,"input",19),t.k0s()()),2&r){const o=t.XpG();t.R7$(2),t.JRh(t.bMT(3,2,"users.setup_2fa_enter_code")),t.R7$(3),t.Y8G("formControl",o.formGroup.controls.code)}}function x(r,i){if(1&r){const o=t.RV6();t.j41(0,"button",20),t.bIt("click",function(){t.eBV(o);const e=t.XpG();return t.Njj(e.enable2fa())}),t.EFF(1),t.nI1(2,"translate"),t.k0s()}if(2&r){const o=t.XpG();t.Y8G("disabled",o.formGroup.invalid),t.R7$(),t.SpI(" ",t.bMT(2,2,"form.button_enable")," ")}}let X=(()=>{var r;class i{constructor(s,e,l,m){(0,n.A)(this,"activeModal",void 0),(0,n.A)(this,"toastr",void 0),(0,n.A)(this,"translate",void 0),(0,n.A)(this,"$api",void 0),(0,n.A)(this,"user",void 0),(0,n.A)(this,"qrcodeElement",void 0),(0,n.A)(this,"timeDiffError",null),(0,n.A)(this,"otpString",void 0),(0,n.A)(this,"formGroup",new a.gE({code:new a.MJ("",[a.k0.required,a.k0.minLength(6),a.k0.maxLength(6)])})),this.activeModal=s,this.toastr=e,this.translate=l,this.$api=m}ngOnInit(){this.$api.post("/users/otp/setup",{}).subscribe(s=>{this.checkTimeDiff(s.timestamp),this.timeDiffError||(this.otpString=s.otpauth)},s=>{this.activeModal.dismiss(),this.toastr.error(s.error.message||"An error occurred while attempting to setup 2FA",this.translate.instant("toast.title_error"))})}checkTimeDiff(s){const e=j(s).diff(new Date,"millisecond");this.timeDiffError=e<-5e3||e>5e3?e:null}enable2fa(){this.$api.post("/users/otp/activate",this.formGroup.value).subscribe(()=>{this.toastr.success(this.translate.instant("users.setup_2fa_enabled_success"),this.translate.instant("toast.title_success")),this.activeModal.close()},s=>{this.toastr.error(s.error.message||"An error occurred",this.translate.instant("toast.title_error"))})}}return r=i,(0,n.A)(i,"\u0275fac",function(s){return new(s||r)(t.rXU(p.Lw),t.rXU(f.tw),t.rXU(d.c$),t.rXU(b.G))}),(0,n.A)(r,"\u0275cmp",t.VBU({type:r,selectors:[["app-users-setup2fa"]],viewQuery:function(s,e){if(1&s&&t.GBs(A,7),2&s){let l;t.mGM(l=t.lsd())&&(e.qrcodeElement=l.first)}},inputs:{user:"user"},decls:25,vars:21,consts:[[1,"modal-content","setup2fa"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],["class","text-center",4,"ngIf"],["type","warning",3,"dismissible"],[4,"ngIf"],[1,"text-center","w-100","d-flex","justify-content-center"],[1,"mx-auto","my-2",2,"width","180px","height","180px",3,"data"],["class","mt-4",4,"ngIf"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","class","btn btn-primary","data-bs-dismiss","modal",3,"disabled","click",4,"ngIf"],[1,"mt-4"],[1,"form-group"],["type","text","placeholder","eg. 123456","autocomplete","one-time-code","autocapitalize","none","inputmode","numeric","pattern","[0-9]*",1,"form-control",3,"formControl"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"]],template:function(s,e){1&s&&(t.j41(0,"div",0)(1,"div",1)(2,"h5",2),t.EFF(3),t.nI1(4,"translate"),t.k0s(),t.j41(5,"button",3),t.nI1(6,"translate"),t.bIt("click",function(){return e.activeModal.dismiss("Dismiss")}),t.k0s()(),t.j41(7,"div",4),t.DNE(8,G,7,9,"div",5),t.j41(9,"ngb-alert",6),t.EFF(10),t.nI1(11,"translate"),t.k0s(),t.DNE(12,S,4,3,"div",7),t.j41(13,"div",8),t.nrm(14,"app-qrcode",9),t.k0s(),t.DNE(15,D,6,4,"div",10),t.k0s(),t.j41(16,"div",11)(17,"div",12)(18,"button",13),t.nI1(19,"translate"),t.bIt("click",function(){return e.activeModal.dismiss("Dismiss")}),t.EFF(20),t.nI1(21,"translate"),t.k0s()(),t.nrm(22,"div",14),t.j41(23,"div",15),t.DNE(24,x,3,4,"button",16),t.k0s()()()),2&s&&(t.R7$(3),t.JRh(t.bMT(4,11,"users.setup_2fa")),t.R7$(2),t.BMQ("aria-label",t.bMT(6,13,"form.button_close")),t.R7$(3),t.Y8G("ngIf",e.timeDiffError),t.R7$(),t.Y8G("dismissible",!1),t.R7$(),t.SpI(" ",t.bMT(11,15,"users.setup_2fa_warning")," "),t.R7$(2),t.Y8G("ngIf",!e.timeDiffError),t.R7$(2),t.Y8G("data",e.otpString),t.R7$(),t.Y8G("ngIf",!e.timeDiffError),t.R7$(3),t.BMQ("aria-label",t.bMT(19,17,"form.button_close")),t.R7$(2),t.SpI(" ",t.bMT(21,19,"form.button_close")," "),t.R7$(4),t.Y8G("ngIf",!e.timeDiffError))},dependencies:[c.bT,a.me,a.BC,a.R_,a.l_,p.Cv,F.q,d.D9]})),i})();function B(r,i){if(1&r){const o=t.RV6();t.j41(0,"button",20),t.bIt("click",function(){t.eBV(o);const e=t.XpG().$implicit,l=t.XpG();return t.Njj(l.deleteUser(e.id))}),t.EFF(1),t.nI1(2,"translate"),t.k0s()}2&r&&(t.R7$(),t.SpI(" ",t.bMT(2,1,"form.button_delete")," "))}function Y(r,i){if(1&r){const o=t.RV6();t.j41(0,"button",21),t.bIt("click",function(){t.eBV(o);const e=t.XpG().$implicit,l=t.XpG();return t.Njj(l.setup2fa(e))}),t.EFF(1),t.nI1(2,"translate"),t.k0s()}2&r&&(t.R7$(),t.SpI(" ",t.bMT(2,1,"users.setup_2fa")," "))}function N(r,i){if(1&r){const o=t.RV6();t.j41(0,"button",19),t.bIt("click",function(){t.eBV(o);const e=t.XpG().$implicit,l=t.XpG();return t.Njj(l.disable2fa(e))}),t.EFF(1),t.nI1(2,"translate"),t.k0s()}2&r&&(t.R7$(),t.SpI(" ",t.bMT(2,1,"users.setup_2fa_disable")," "))}function J(r,i){if(1&r){const o=t.RV6();t.j41(0,"div",8)(1,"div",9)(2,"div",10)(3,"div",11)(4,"span",12),t.nrm(5,"h4",13)(6,"h5",14),t.k0s()(),t.j41(7,"div",15),t.DNE(8,B,3,3,"button",16)(9,Y,3,3,"button",17)(10,N,3,3,"button",18),t.j41(11,"button",19),t.bIt("click",function(){const e=t.eBV(o).$implicit,l=t.XpG();return t.Njj(l.openEditUser(e))}),t.EFF(12),t.nI1(13,"translate"),t.k0s()()()()()}if(2&r){const o=i.$implicit,s=t.XpG();t.R7$(5),t.Y8G("innerText",o.name),t.R7$(),t.Y8G("innerText",o.username),t.R7$(2),t.Y8G("ngIf",s.$auth.user.username!==o.username),t.R7$(),t.Y8G("ngIf",s.$auth.user.username===o.username&&!o.otpActive),t.R7$(),t.Y8G("ngIf",s.$auth.user.username===o.username&&o.otpActive),t.R7$(2),t.SpI(" ",t.bMT(13,6,"form.button_edit")," ")}}let V=(()=>{var r;class i{constructor(s,e,l,m,h,P){(0,n.A)(this,"toastr",void 0),(0,n.A)(this,"translate",void 0),(0,n.A)(this,"modalService",void 0),(0,n.A)(this,"$api",void 0),(0,n.A)(this,"$route",void 0),(0,n.A)(this,"$auth",void 0),(0,n.A)(this,"homebridgeUsers",void 0),this.toastr=s,this.translate=e,this.modalService=l,this.$api=m,this.$route=h,this.$auth=P}ngOnInit(){this.$route.data.subscribe(s=>{this.homebridgeUsers=s.homebridgeUsers})}reloadUsers(){return this.$api.get("/users").subscribe(s=>{this.homebridgeUsers=s})}openAddNewUser(){this.modalService.open(k,{size:"lg",backdrop:"static"}).result.finally(()=>{this.reloadUsers()})}openEditUser(s){const e=this.modalService.open(y,{size:"lg",backdrop:"static"});e.componentInstance.user=s,e.result.finally(()=>{this.reloadUsers()})}deleteUser(s){this.$api.delete(`/users/${s}`).subscribe(()=>{this.toastr.success(this.translate.instant("users.toast_user_deleted"),this.translate.instant("toast.title_success")),this.reloadUsers()},e=>{this.toastr.error(e.error.message||this.translate.instant("users.toast_failed_to_delete_user"),this.translate.instant("toast.title_error"))})}setup2fa(s){const e=this.modalService.open(X,{size:"lg",backdrop:"static"});e.componentInstance.user=s,e.result.finally(()=>{this.reloadUsers()})}disable2fa(s){const e=this.modalService.open(T,{size:"lg",backdrop:"static"});e.componentInstance.user=s,e.result.finally(()=>{this.reloadUsers()})}}return r=i,(0,n.A)(i,"\u0275fac",function(s){return new(s||r)(t.rXU(f.tw),t.rXU(d.c$),t.rXU(p.Bq),t.rXU(b.G),t.rXU(_.nX),t.rXU(w.u))}),(0,n.A)(r,"\u0275cmp",t.VBU({type:r,selectors:[["app-users"]],decls:11,vars:7,consts:[[1,"row","mb-3"],[1,"col-9"],[1,"primary-text","m-0"],[1,"col-3","text-end"],[1,"btn","btn-elegant","waves-effect","m-0",3,"click"],[1,"fas","fa-fw","fa-plus"],[1,"row"],["class","col-md-6 mb-4",4,"ngFor","ngForOf"],[1,"col-md-6","mb-4"],[1,"card","card-body"],[1,"d-flex","flex-column"],[1,"d-flex","flex-row","mb-3"],[1,"me-auto","my-0"],[3,"innerText"],[1,"small","text-truncate","primary-text",3,"innerText"],[1,"d-flex","flex-row","justify-content-between",2,"gap","10px"],["class","btn btn-elegant btn-sml m-0",3,"click",4,"ngIf"],["class","btn btn-primary mt-0 m-0",3,"click",4,"ngIf"],["class","btn btn-primary m-0",3,"click",4,"ngIf"],[1,"btn","btn-primary","m-0",3,"click"],[1,"btn","btn-elegant","btn-sml","m-0",3,"click"],[1,"btn","btn-primary","mt-0","m-0",3,"click"]],template:function(s,e){1&s&&(t.j41(0,"div",0)(1,"div",1)(2,"h3",2),t.EFF(3),t.nI1(4,"translate"),t.k0s()(),t.j41(5,"div",3)(6,"button",4),t.nI1(7,"translate"),t.bIt("click",function(){return e.openAddNewUser()}),t.nrm(8,"i",5),t.k0s()()(),t.j41(9,"div",6),t.DNE(10,J,14,8,"div",7),t.k0s()),2&s&&(t.R7$(3),t.JRh(t.bMT(4,3,"users.title_users")),t.R7$(3),t.BMQ("aria-label",t.bMT(7,5,"users.button_add_user")),t.R7$(4),t.Y8G("ngForOf",e.homebridgeUsers))},dependencies:[c.Sq,c.bT,d.D9],encapsulation:2})),i})();var Q=u(10467);let M=(()=>{var r;class i{constructor(s,e,l){(0,n.A)(this,"$api",void 0),(0,n.A)(this,"$toastr",void 0),(0,n.A)(this,"$router",void 0),this.$api=s,this.$toastr=e,this.$router=l}resolve(){var s=this;return(0,Q.A)(function*(){try{return yield s.$api.get("/users").toPromise()}catch(e){s.$toastr.error(e.message,"Failed to Load Users"),s.$router.navigate(["/"])}})()}}return r=i,(0,n.A)(i,"\u0275fac",function(s){return new(s||r)(t.KVO(b.G),t.KVO(f.tw),t.KVO(_.Ix))}),(0,n.A)(r,"\u0275prov",t.jDH({token:r,factory:r.\u0275fac})),i})();const q=[{path:"",component:V,resolve:{homebridgeUsers:M}}];let O=(()=>{var r;class i{}return r=i,(0,n.A)(i,"\u0275fac",function(s){return new(s||r)}),(0,n.A)(r,"\u0275mod",t.$C({type:r})),(0,n.A)(r,"\u0275inj",t.G2t({imports:[_.iI.forChild(q),_.iI]})),i})(),L=(()=>{var r;class i{}return r=i,(0,n.A)(i,"\u0275fac",function(s){return new(s||r)}),(0,n.A)(r,"\u0275mod",t.$C({type:r})),(0,n.A)(r,"\u0275inj",t.G2t({providers:[M],imports:[c.MD,a.YN,a.X1,d.h.forChild(),p.UN,C.U,O]})),i})()}}]);
|
|
1
|
+
"use strict";(self.webpackChunkui=self.webpackChunkui||[]).push([[132],{9132:(z,v,u)=>{u.r(v),u.d(v,{UsersModule:()=>L});var n=u(99842),c=u(60177),a=u(89417),p=u(6400),d=u(19664),C=u(48423),_=u(44550),t=u(54438),f=u(45794),b=u(7981);const $=r=>({active:r}),g=r=>({"is-invalid":r});let k=(()=>{var r;class i{constructor(s,e,l,m){(0,n.A)(this,"activeModal",void 0),(0,n.A)(this,"toastr",void 0),(0,n.A)(this,"translate",void 0),(0,n.A)(this,"$api",void 0),(0,n.A)(this,"form",new a.gE({username:new a.MJ("",[a.k0.required]),name:new a.MJ("",[a.k0.required]),password:new a.MJ("",[a.k0.compose([a.k0.required,a.k0.minLength(4)])]),passwordConfirm:new a.MJ("",[a.k0.required]),admin:new a.MJ(!0)},this.matchPassword)),(0,n.A)(this,"page",{title:"users.title_add_user",save:"users.button_add_new_user",password:"users.label_password"}),this.activeModal=s,this.toastr=e,this.translate=l,this.$api=m}ngOnInit(){}matchPassword(s){if(s.get("password").value===s.get("passwordConfirm").value)return null;s.get("passwordConfirm").setErrors({matchPassword:!0})}onSubmit({value:s}){this.$api.post("/users",s).subscribe(()=>{this.activeModal.close(),this.toastr.success(this.translate.instant("users.toast_added_new_user"),this.translate.instant("toast.title_success"))},e=>{this.toastr.error(e.error.message||this.translate.instant("users.toast_failed_to_add_user"),this.translate.instant("toast.title_error"))})}}return r=i,(0,n.A)(i,"\u0275fac",function(s){return new(s||r)(t.rXU(p.Lw),t.rXU(f.tw),t.rXU(d.c$),t.rXU(b.G))}),(0,n.A)(r,"\u0275cmp",t.VBU({type:r,selectors:[["app-users-add"]],decls:57,vars:57,consts:[[1,"modal-content"],["novalidate","",3,"ngSubmit","formGroup"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"container","px-1"],[1,"md-form"],["formControlName","username","type","text","id","form-username","autocomplete","username","autocapitalize","none",1,"form-control","px-0"],["for","form-username",3,"ngClass"],[1,"fas","fa-fw","fa-user-shield"],["formControlName","name","type","text","id","form-name","autocomplete","name",1,"form-control","px-0"],["for","form-name",3,"ngClass"],[1,"fas","fa-fw","fa-user"],["formControlName","password","type","password","autocomplete","new-password","id","form-pass",1,"form-control","px-0",3,"ngClass"],["for","form-pass"],[1,"fas","fa-fw","fa-lock"],["formControlName","passwordConfirm","type","password","autocomplete","new-password","id","form-pass-confirm",1,"form-control","px-0",3,"ngClass"],["for","form-pass-confirm"],[1,"form-group","row","align-items-center"],[1,"col-6","col-form-label","grey-text"],[1,"fas","fa-fw","fa-user-secret"],[1,"col-6","text-end"],["type","checkbox","formControlName","admin","id","isAdmin",1,"rendux-input"],["for","isAdmin",1,"rendux-label","ms-3",2,"min-width","50px"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","submit",1,"btn","btn-primary",3,"disabled"]],template:function(s,e){1&s&&(t.j41(0,"div",0)(1,"form",1),t.bIt("ngSubmit",function(){return e.onSubmit(e.form)}),t.j41(2,"div",2)(3,"h5",3),t.EFF(4),t.nI1(5,"translate"),t.k0s(),t.j41(6,"button",4),t.nI1(7,"translate"),t.bIt("click",function(){return e.activeModal.dismiss("Dismiss")}),t.k0s()(),t.j41(8,"div",5)(9,"div",6)(10,"div",7),t.nrm(11,"input",8),t.nI1(12,"translate"),t.j41(13,"label",9),t.nrm(14,"i",10),t.EFF(15),t.nI1(16,"translate"),t.k0s()(),t.j41(17,"div",7),t.nrm(18,"input",11),t.nI1(19,"translate"),t.j41(20,"label",12),t.nrm(21,"i",13),t.EFF(22),t.nI1(23,"translate"),t.k0s()(),t.j41(24,"div",7),t.nrm(25,"input",14),t.nI1(26,"translate"),t.j41(27,"label",15),t.nrm(28,"i",16),t.EFF(29),t.nI1(30,"translate"),t.k0s()(),t.j41(31,"div",7),t.nrm(32,"input",17),t.nI1(33,"translate"),t.j41(34,"label",18),t.nrm(35,"i",16),t.EFF(36),t.nI1(37,"translate"),t.k0s()(),t.j41(38,"div",19)(39,"label",20),t.nrm(40,"i",21),t.EFF(41),t.nI1(42,"translate"),t.k0s(),t.j41(43,"div",22),t.nrm(44,"input",23),t.nI1(45,"translate"),t.nrm(46,"label",24),t.k0s()()()(),t.j41(47,"div",25)(48,"div",26)(49,"button",27),t.bIt("click",function(){return e.activeModal.dismiss("Dismiss")}),t.EFF(50),t.nI1(51,"translate"),t.k0s()(),t.nrm(52,"div",28),t.j41(53,"div",29)(54,"button",30),t.EFF(55),t.nI1(56,"translate"),t.k0s()()()()()),2&s&&(t.R7$(),t.Y8G("formGroup",e.form),t.R7$(3),t.JRh(t.bMT(5,21,"users.title_add_user")),t.R7$(2),t.BMQ("aria-label",t.bMT(7,23,"form.button_close")),t.R7$(5),t.BMQ("disabled","users.title_edit_user"===e.page.title||null)("aria-label",t.bMT(12,25,"users.label_username")),t.R7$(2),t.Y8G("ngClass",t.eq3(49,$,"users.title_edit_user"===e.page.title)),t.R7$(2),t.SpI(" ",t.bMT(16,27,"users.label_username")," "),t.R7$(3),t.BMQ("aria-label",t.bMT(19,29,"users.label_full_name")),t.R7$(2),t.Y8G("ngClass",t.eq3(51,$,"users.title_edit_user"===e.page.title)),t.R7$(2),t.SpI(" ",t.bMT(23,31,"users.label_full_name")," "),t.R7$(3),t.Y8G("ngClass",t.eq3(53,g,e.form.controls.password.dirty&&e.form.controls.password.errors)),t.BMQ("aria-label",t.bMT(26,33,e.page.password)),t.R7$(4),t.SpI(" ",t.bMT(30,35,e.page.password)," "),t.R7$(3),t.Y8G("ngClass",t.eq3(55,g,e.form.controls.passwordConfirm.dirty&&e.form.controls.passwordConfirm.errors)),t.BMQ("aria-label",t.bMT(33,37,"users.label_confirm_password")),t.R7$(4),t.SpI(" ",t.bMT(37,39,"users.label_confirm_password")," "),t.R7$(5),t.SpI(" ",t.bMT(42,41,"users.label_admin_user")," "),t.R7$(3),t.BMQ("aria-label",t.bMT(45,43,"users.label_admin_user")),t.R7$(6),t.SpI(" ",t.bMT(51,45,"form.button_close")," "),t.R7$(4),t.Y8G("disabled",!e.form.valid),t.R7$(),t.SpI(" ",t.bMT(56,47,"form.button_save")," "))},dependencies:[c.YU,a.qT,a.me,a.Zm,a.BC,a.cb,a.j4,a.JD,d.D9],encapsulation:2})),i})();function R(r,i){1&r&&(t.j41(0,"p",14)(1,"small"),t.EFF(2),t.nI1(3,"translate"),t.k0s()()),2&r&&(t.R7$(2),t.JRh(t.bMT(3,1,"login.message_invalid_username_or_password")))}let T=(()=>{var r;class i{constructor(s,e,l,m){(0,n.A)(this,"activeModal",void 0),(0,n.A)(this,"toastr",void 0),(0,n.A)(this,"translate",void 0),(0,n.A)(this,"$api",void 0),(0,n.A)(this,"formGroup",new a.gE({password:new a.MJ("",[a.k0.required])})),(0,n.A)(this,"invalidCredentials",!1),this.activeModal=s,this.toastr=e,this.translate=l,this.$api=m}ngOnInit(){}disable2fa(){this.invalidCredentials=!1,this.$api.post("/users/otp/deactivate",this.formGroup.value).subscribe(()=>{this.activeModal.close(),this.toastr.success(this.translate.instant("users.setup_2fa_disable_success"),this.translate.instant("toast.title_success"))},()=>{this.formGroup.setValue({password:""}),this.invalidCredentials=!0})}}return r=i,(0,n.A)(i,"\u0275fac",function(s){return new(s||r)(t.rXU(p.Lw),t.rXU(f.tw),t.rXU(d.c$),t.rXU(b.G))}),(0,n.A)(r,"\u0275cmp",t.VBU({type:r,selectors:[["app-users-disable2fa"]],decls:26,vars:24,consts:[[1,"modal-content",2,"min-height","300px"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"form-group"],["type","password","autocomplete","current-password",1,"form-control",3,"formControl","placeholder"],["class","red-text",4,"ngIf"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"red-text"]],template:function(s,e){1&s&&(t.j41(0,"div",0)(1,"div",1)(2,"h5",2),t.EFF(3),t.nI1(4,"translate"),t.k0s(),t.j41(5,"button",3),t.nI1(6,"translate"),t.bIt("click",function(){return e.activeModal.dismiss("Dismiss")}),t.k0s()(),t.j41(7,"div",4)(8,"p"),t.EFF(9),t.nI1(10,"translate"),t.k0s(),t.j41(11,"div",5),t.nrm(12,"input",6),t.nI1(13,"translate"),t.k0s(),t.DNE(14,R,4,3,"p",7),t.k0s(),t.j41(15,"div",8)(16,"div",9)(17,"button",10),t.nI1(18,"translate"),t.bIt("click",function(){return e.activeModal.dismiss("Dismiss")}),t.EFF(19),t.nI1(20,"translate"),t.k0s()(),t.nrm(21,"div",11),t.j41(22,"div",12)(23,"button",13),t.bIt("click",function(){return e.disable2fa()}),t.EFF(24),t.nI1(25,"translate"),t.k0s()()()()),2&s&&(t.R7$(3),t.JRh(t.bMT(4,10,"users.setup_2fa_disable")),t.R7$(2),t.BMQ("aria-label",t.bMT(6,12,"form.button_close")),t.R7$(4),t.JRh(t.bMT(10,14,"users.setup_2fa_disable_enter_current_password")),t.R7$(3),t.Y8G("formControl",e.formGroup.controls.password)("placeholder",t.bMT(13,16,"users.label_password")),t.R7$(2),t.Y8G("ngIf",e.invalidCredentials),t.R7$(3),t.BMQ("aria-label",t.bMT(18,18,"form.button_close")),t.R7$(2),t.SpI(" ",t.bMT(20,20,"form.button_close")," "),t.R7$(4),t.Y8G("disabled",e.formGroup.invalid),t.R7$(),t.SpI(" ",t.bMT(25,22,"form.button_disable")," "))},dependencies:[c.bT,a.me,a.BC,a.l_,d.D9]})),i})();var w=u(35524);const U=r=>({active:r}),I=r=>({"is-invalid":r});let y=(()=>{var r;class i{constructor(s,e,l,m,h){(0,n.A)(this,"activeModal",void 0),(0,n.A)(this,"toastr",void 0),(0,n.A)(this,"translate",void 0),(0,n.A)(this,"$api",void 0),(0,n.A)(this,"$auth",void 0),(0,n.A)(this,"user",void 0),(0,n.A)(this,"form",new a.gE({username:new a.MJ("",[a.k0.required]),name:new a.MJ("",[a.k0.required]),password:new a.MJ(""),passwordConfirm:new a.MJ(""),admin:new a.MJ(!0)},this.matchPassword)),(0,n.A)(this,"page",{title:"users.title_edit_user",save:"form.button_save",password:"users.label_new_password"}),(0,n.A)(this,"isCurrentUser",!1),this.activeModal=s,this.toastr=e,this.translate=l,this.$api=m,this.$auth=h}ngOnInit(){this.isCurrentUser=this.$auth.user.username===this.user.username,this.form.patchValue(this.user)}matchPassword(s){if(s.get("password").value===s.get("passwordConfirm").value)return null;s.get("passwordConfirm").setErrors({matchPassword:!0})}onSubmit({value:s}){this.$api.patch(`/users/${this.user.id}`,s).subscribe(()=>{this.activeModal.close(),this.toastr.success(this.translate.instant("users.toast_updated_user"),this.translate.instant("toast.title_success")),this.isCurrentUser&&s.username!==this.$auth.user.username&&this.$auth.logout()},e=>{this.toastr.error(e.error.message||this.translate.instant("users.toast_failed_to_add_user"),this.translate.instant("toast.title_error"))})}}return r=i,(0,n.A)(i,"\u0275fac",function(s){return new(s||r)(t.rXU(p.Lw),t.rXU(f.tw),t.rXU(d.c$),t.rXU(b.G),t.rXU(w.u))}),(0,n.A)(r,"\u0275cmp",t.VBU({type:r,selectors:[["app-users-edit"]],inputs:{user:"user"},decls:57,vars:56,consts:[[1,"modal-content"],["novalidate","",3,"ngSubmit","formGroup"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"container","px-1"],[1,"md-form"],["formControlName","username","type","text","id","form-username","autocomplete","off","autocapitalize","none",1,"form-control","px-0"],["for","form-username",3,"ngClass"],[1,"fas","fa-fw","fa-user-shield"],["formControlName","name","type","text","id","form-name","autocomplete","name",1,"form-control","px-0"],["for","form-name",3,"ngClass"],[1,"fas","fa-fw","fa-user"],["formControlName","password","type","password","autocomplete","new-password","id","form-pass",1,"form-control","px-0",3,"ngClass"],["for","form-pass"],[1,"fas","fa-fw","fa-lock"],["formControlName","passwordConfirm","type","password","autocomplete","new-password","id","form-pass-confirm",1,"form-control","px-0",3,"ngClass"],["for","form-pass-confirm"],[1,"form-group","row","align-items-center"],[1,"col-6","col-form-label","grey-text"],[1,"fas","fa-fw","fa-user-secret"],[1,"col-6","text-end"],["type","checkbox","formControlName","admin","id","isAdmin",1,"rendux-input"],["for","isAdmin",1,"rendux-label","ms-3",2,"min-width","50px"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","submit",1,"btn","btn-primary",3,"disabled"]],template:function(s,e){1&s&&(t.j41(0,"div",0)(1,"form",1),t.bIt("ngSubmit",function(){return e.onSubmit(e.form)}),t.j41(2,"div",2)(3,"h5",3),t.EFF(4),t.nI1(5,"translate"),t.k0s(),t.j41(6,"button",4),t.nI1(7,"translate"),t.bIt("click",function(){return e.activeModal.dismiss("Dismiss")}),t.k0s()(),t.j41(8,"div",5)(9,"div",6)(10,"div",7),t.nrm(11,"input",8),t.nI1(12,"translate"),t.j41(13,"label",9),t.nrm(14,"i",10),t.EFF(15),t.nI1(16,"translate"),t.k0s()(),t.j41(17,"div",7),t.nrm(18,"input",11),t.nI1(19,"translate"),t.j41(20,"label",12),t.nrm(21,"i",13),t.EFF(22),t.nI1(23,"translate"),t.k0s()(),t.j41(24,"div",7),t.nrm(25,"input",14),t.nI1(26,"translate"),t.j41(27,"label",15),t.nrm(28,"i",16),t.EFF(29),t.nI1(30,"translate"),t.k0s()(),t.j41(31,"div",7),t.nrm(32,"input",17),t.nI1(33,"translate"),t.j41(34,"label",18),t.nrm(35,"i",16),t.EFF(36),t.nI1(37,"translate"),t.k0s()(),t.j41(38,"div",19)(39,"label",20),t.nrm(40,"i",21),t.EFF(41),t.nI1(42,"translate"),t.k0s(),t.j41(43,"div",22),t.nrm(44,"input",23),t.nI1(45,"translate"),t.nrm(46,"label",24),t.k0s()()()(),t.j41(47,"div",25)(48,"div",26)(49,"button",27),t.bIt("click",function(){return e.activeModal.dismiss("Dismiss")}),t.EFF(50),t.nI1(51,"translate"),t.k0s()(),t.nrm(52,"div",28),t.j41(53,"div",29)(54,"button",30),t.EFF(55),t.nI1(56,"translate"),t.k0s()()()()()),2&s&&(t.R7$(),t.Y8G("formGroup",e.form),t.R7$(3),t.JRh(t.bMT(5,20,"users.title_edit_user")),t.R7$(2),t.BMQ("aria-label",t.bMT(7,22,"form.button_close")),t.R7$(5),t.BMQ("aria-label",t.bMT(12,24,"users.label_username")),t.R7$(2),t.Y8G("ngClass",t.eq3(48,U,"users.title_edit_user"===e.page.title)),t.R7$(2),t.SpI(" ",t.bMT(16,26,"users.label_username")," "),t.R7$(3),t.BMQ("aria-label",t.bMT(19,28,"users.label_full_name")),t.R7$(2),t.Y8G("ngClass",t.eq3(50,U,"users.title_edit_user"===e.page.title)),t.R7$(2),t.SpI(" ",t.bMT(23,30,"users.label_full_name")," "),t.R7$(3),t.Y8G("ngClass",t.eq3(52,I,e.form.controls.password.dirty&&e.form.controls.password.errors)),t.BMQ("aria-label",t.bMT(26,32,e.page.password)),t.R7$(4),t.SpI(" ",t.bMT(30,34,e.page.password)," "),t.R7$(3),t.Y8G("ngClass",t.eq3(54,I,e.form.controls.passwordConfirm.dirty&&e.form.controls.passwordConfirm.errors)),t.BMQ("aria-label",t.bMT(33,36,"users.label_confirm_password")),t.R7$(4),t.SpI(" ",t.bMT(37,38,"users.label_confirm_password")," "),t.R7$(5),t.SpI(" ",t.bMT(42,40,"users.label_admin_user")," "),t.R7$(3),t.BMQ("aria-label",t.bMT(45,42,"users.label_admin_user")),t.R7$(6),t.SpI(" ",t.bMT(51,44,"form.button_close")," "),t.R7$(4),t.Y8G("disabled",!e.form.valid),t.R7$(),t.SpI(" ",t.bMT(56,46,"form.button_save")," "))},dependencies:[c.YU,a.qT,a.me,a.Zm,a.BC,a.cb,a.j4,a.JD,d.D9],encapsulation:2})),i})();var j=u(67374),F=u(86669);const A=["qrcode"],E=r=>({timeDiffError:r});function G(r,i){if(1&r&&(t.j41(0,"div",14)(1,"h3"),t.EFF(2),t.nI1(3,"translate"),t.k0s(),t.j41(4,"p"),t.EFF(5),t.nI1(6,"translate"),t.k0s()()),2&r){const o=t.XpG();t.R7$(2),t.JRh(t.bMT(3,2,"users.setup_2fa_cannot_setup_2fa")),t.R7$(3),t.JRh(t.i5U(6,4,"users.setup_2fa_server_time_out",t.eq3(7,E,o.timeDiffError)))}}function S(r,i){1&r&&(t.j41(0,"div")(1,"p"),t.EFF(2),t.nI1(3,"translate"),t.k0s()()),2&r&&(t.R7$(2),t.JRh(t.bMT(3,1,"users.setup_2fa_scan_qr_code")))}function D(r,i){if(1&r&&(t.j41(0,"div",17)(1,"p"),t.EFF(2),t.nI1(3,"translate"),t.k0s(),t.j41(4,"div",18),t.nrm(5,"input",19),t.k0s()()),2&r){const o=t.XpG();t.R7$(2),t.JRh(t.bMT(3,2,"users.setup_2fa_enter_code")),t.R7$(3),t.Y8G("formControl",o.formGroup.controls.code)}}function x(r,i){if(1&r){const o=t.RV6();t.j41(0,"button",20),t.bIt("click",function(){t.eBV(o);const e=t.XpG();return t.Njj(e.enable2fa())}),t.EFF(1),t.nI1(2,"translate"),t.k0s()}if(2&r){const o=t.XpG();t.Y8G("disabled",o.formGroup.invalid),t.R7$(),t.SpI(" ",t.bMT(2,2,"form.button_enable")," ")}}let X=(()=>{var r;class i{constructor(s,e,l,m){(0,n.A)(this,"activeModal",void 0),(0,n.A)(this,"toastr",void 0),(0,n.A)(this,"translate",void 0),(0,n.A)(this,"$api",void 0),(0,n.A)(this,"user",void 0),(0,n.A)(this,"qrcodeElement",void 0),(0,n.A)(this,"timeDiffError",null),(0,n.A)(this,"otpString",void 0),(0,n.A)(this,"formGroup",new a.gE({code:new a.MJ("",[a.k0.required,a.k0.minLength(6),a.k0.maxLength(6)])})),this.activeModal=s,this.toastr=e,this.translate=l,this.$api=m}ngOnInit(){this.$api.post("/users/otp/setup",{}).subscribe(s=>{this.checkTimeDiff(s.timestamp),this.timeDiffError||(this.otpString=s.otpauth)},s=>{this.activeModal.dismiss(),this.toastr.error(s.error.message||"An error occurred while attempting to setup 2FA",this.translate.instant("toast.title_error"))})}checkTimeDiff(s){const e=j(s).diff(new Date,"millisecond");this.timeDiffError=e<-5e3||e>5e3?e:null}enable2fa(){this.$api.post("/users/otp/activate",this.formGroup.value).subscribe(()=>{this.toastr.success(this.translate.instant("users.setup_2fa_enabled_success"),this.translate.instant("toast.title_success")),this.activeModal.close()},s=>{this.toastr.error(s.error.message||"An error occurred",this.translate.instant("toast.title_error"))})}}return r=i,(0,n.A)(i,"\u0275fac",function(s){return new(s||r)(t.rXU(p.Lw),t.rXU(f.tw),t.rXU(d.c$),t.rXU(b.G))}),(0,n.A)(r,"\u0275cmp",t.VBU({type:r,selectors:[["app-users-setup2fa"]],viewQuery:function(s,e){if(1&s&&t.GBs(A,7),2&s){let l;t.mGM(l=t.lsd())&&(e.qrcodeElement=l.first)}},inputs:{user:"user"},decls:25,vars:21,consts:[[1,"modal-content","setup2fa"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],["class","text-center",4,"ngIf"],["type","warning",3,"dismissible"],[4,"ngIf"],[1,"text-center","w-100","d-flex","justify-content-center"],[1,"mx-auto","my-2",2,"width","180px","height","180px",3,"data"],["class","mt-4",4,"ngIf"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","class","btn btn-primary","data-bs-dismiss","modal",3,"disabled","click",4,"ngIf"],[1,"mt-4"],[1,"form-group"],["type","text","placeholder","eg. 123456","autocomplete","one-time-code","autocapitalize","none","inputmode","numeric","pattern","[0-9]*",1,"form-control",3,"formControl"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"]],template:function(s,e){1&s&&(t.j41(0,"div",0)(1,"div",1)(2,"h5",2),t.EFF(3),t.nI1(4,"translate"),t.k0s(),t.j41(5,"button",3),t.nI1(6,"translate"),t.bIt("click",function(){return e.activeModal.dismiss("Dismiss")}),t.k0s()(),t.j41(7,"div",4),t.DNE(8,G,7,9,"div",5),t.j41(9,"ngb-alert",6),t.EFF(10),t.nI1(11,"translate"),t.k0s(),t.DNE(12,S,4,3,"div",7),t.j41(13,"div",8),t.nrm(14,"app-qrcode",9),t.k0s(),t.DNE(15,D,6,4,"div",10),t.k0s(),t.j41(16,"div",11)(17,"div",12)(18,"button",13),t.nI1(19,"translate"),t.bIt("click",function(){return e.activeModal.dismiss("Dismiss")}),t.EFF(20),t.nI1(21,"translate"),t.k0s()(),t.nrm(22,"div",14),t.j41(23,"div",15),t.DNE(24,x,3,4,"button",16),t.k0s()()()),2&s&&(t.R7$(3),t.JRh(t.bMT(4,11,"users.setup_2fa")),t.R7$(2),t.BMQ("aria-label",t.bMT(6,13,"form.button_close")),t.R7$(3),t.Y8G("ngIf",e.timeDiffError),t.R7$(),t.Y8G("dismissible",!1),t.R7$(),t.SpI(" ",t.bMT(11,15,"users.setup_2fa_warning")," "),t.R7$(2),t.Y8G("ngIf",!e.timeDiffError),t.R7$(2),t.Y8G("data",e.otpString),t.R7$(),t.Y8G("ngIf",!e.timeDiffError),t.R7$(3),t.BMQ("aria-label",t.bMT(19,17,"form.button_close")),t.R7$(2),t.SpI(" ",t.bMT(21,19,"form.button_close")," "),t.R7$(4),t.Y8G("ngIf",!e.timeDiffError))},dependencies:[c.bT,a.me,a.BC,a.R_,a.l_,p.Cv,F.q,d.D9]})),i})();function B(r,i){if(1&r){const o=t.RV6();t.j41(0,"button",20),t.bIt("click",function(){t.eBV(o);const e=t.XpG().$implicit,l=t.XpG();return t.Njj(l.deleteUser(e.id))}),t.EFF(1),t.nI1(2,"translate"),t.k0s()}2&r&&(t.R7$(),t.SpI(" ",t.bMT(2,1,"form.button_delete")," "))}function Y(r,i){if(1&r){const o=t.RV6();t.j41(0,"button",21),t.bIt("click",function(){t.eBV(o);const e=t.XpG().$implicit,l=t.XpG();return t.Njj(l.setup2fa(e))}),t.EFF(1),t.nI1(2,"translate"),t.k0s()}2&r&&(t.R7$(),t.SpI(" ",t.bMT(2,1,"users.setup_2fa")," "))}function N(r,i){if(1&r){const o=t.RV6();t.j41(0,"button",19),t.bIt("click",function(){t.eBV(o);const e=t.XpG().$implicit,l=t.XpG();return t.Njj(l.disable2fa(e))}),t.EFF(1),t.nI1(2,"translate"),t.k0s()}2&r&&(t.R7$(),t.SpI(" ",t.bMT(2,1,"users.setup_2fa_disable")," "))}function J(r,i){if(1&r){const o=t.RV6();t.j41(0,"div",8)(1,"div",9)(2,"div",10)(3,"div",11)(4,"span",12),t.nrm(5,"h4",13)(6,"h5",14),t.k0s()(),t.j41(7,"div",15),t.DNE(8,B,3,3,"button",16)(9,Y,3,3,"button",17)(10,N,3,3,"button",18),t.j41(11,"button",19),t.bIt("click",function(){const e=t.eBV(o).$implicit,l=t.XpG();return t.Njj(l.openEditUser(e))}),t.EFF(12),t.nI1(13,"translate"),t.k0s()()()()()}if(2&r){const o=i.$implicit,s=t.XpG();t.R7$(5),t.Y8G("innerText",o.name),t.R7$(),t.Y8G("innerText",o.username),t.R7$(2),t.Y8G("ngIf",s.$auth.user.username!==o.username),t.R7$(),t.Y8G("ngIf",s.$auth.user.username===o.username&&!o.otpActive),t.R7$(),t.Y8G("ngIf",s.$auth.user.username===o.username&&o.otpActive),t.R7$(2),t.SpI(" ",t.bMT(13,6,"form.button_edit")," ")}}let V=(()=>{var r;class i{constructor(s,e,l,m,h,P){(0,n.A)(this,"toastr",void 0),(0,n.A)(this,"translate",void 0),(0,n.A)(this,"modalService",void 0),(0,n.A)(this,"$api",void 0),(0,n.A)(this,"$route",void 0),(0,n.A)(this,"$auth",void 0),(0,n.A)(this,"homebridgeUsers",void 0),this.toastr=s,this.translate=e,this.modalService=l,this.$api=m,this.$route=h,this.$auth=P}ngOnInit(){this.$route.data.subscribe(s=>{this.homebridgeUsers=s.homebridgeUsers})}reloadUsers(){return this.$api.get("/users").subscribe(s=>{this.homebridgeUsers=s})}openAddNewUser(){this.modalService.open(k,{size:"lg",backdrop:"static"}).result.finally(()=>{this.reloadUsers()})}openEditUser(s){const e=this.modalService.open(y,{size:"lg",backdrop:"static"});e.componentInstance.user=s,e.result.finally(()=>{this.reloadUsers()})}deleteUser(s){this.$api.delete(`/users/${s}`).subscribe(()=>{this.toastr.success(this.translate.instant("users.toast_user_deleted"),this.translate.instant("toast.title_success")),this.reloadUsers()},e=>{this.toastr.error(e.error.message||this.translate.instant("users.toast_failed_to_delete_user"),this.translate.instant("toast.title_error"))})}setup2fa(s){const e=this.modalService.open(X,{size:"lg",backdrop:"static"});e.componentInstance.user=s,e.result.finally(()=>{this.reloadUsers()})}disable2fa(s){const e=this.modalService.open(T,{size:"lg",backdrop:"static"});e.componentInstance.user=s,e.result.finally(()=>{this.reloadUsers()})}}return r=i,(0,n.A)(i,"\u0275fac",function(s){return new(s||r)(t.rXU(f.tw),t.rXU(d.c$),t.rXU(p.Bq),t.rXU(b.G),t.rXU(_.nX),t.rXU(w.u))}),(0,n.A)(r,"\u0275cmp",t.VBU({type:r,selectors:[["app-users"]],decls:11,vars:7,consts:[[1,"row","mb-3"],[1,"col-9"],[1,"primary-text","m-0"],[1,"col-3","text-end"],[1,"btn","btn-elegant","waves-effect","m-0",3,"click"],[1,"fas","fa-fw","fa-plus"],[1,"row"],["class","col-md-6 mb-4",4,"ngFor","ngForOf"],[1,"col-md-6","mb-4"],[1,"card","card-body"],[1,"d-flex","flex-column"],[1,"d-flex","flex-row","mb-3"],[1,"me-auto","my-0"],[3,"innerText"],[1,"small","text-truncate","primary-text",3,"innerText"],[1,"d-flex","flex-row","justify-content-between",2,"gap","10px"],["class","btn btn-elegant btn-sml m-0",3,"click",4,"ngIf"],["class","btn btn-primary mt-0 m-0",3,"click",4,"ngIf"],["class","btn btn-primary m-0",3,"click",4,"ngIf"],[1,"btn","btn-primary","m-0",3,"click"],[1,"btn","btn-elegant","btn-sml","m-0",3,"click"],[1,"btn","btn-primary","mt-0","m-0",3,"click"]],template:function(s,e){1&s&&(t.j41(0,"div",0)(1,"div",1)(2,"h3",2),t.EFF(3),t.nI1(4,"translate"),t.k0s()(),t.j41(5,"div",3)(6,"button",4),t.nI1(7,"translate"),t.bIt("click",function(){return e.openAddNewUser()}),t.nrm(8,"i",5),t.k0s()()(),t.j41(9,"div",6),t.DNE(10,J,14,8,"div",7),t.k0s()),2&s&&(t.R7$(3),t.JRh(t.bMT(4,3,"users.title_users")),t.R7$(3),t.BMQ("aria-label",t.bMT(7,5,"users.button_add_user")),t.R7$(4),t.Y8G("ngForOf",e.homebridgeUsers))},dependencies:[c.Sq,c.bT,d.D9],encapsulation:2})),i})();var Q=u(10467);let M=(()=>{var r;class i{constructor(s,e,l){(0,n.A)(this,"$api",void 0),(0,n.A)(this,"$toastr",void 0),(0,n.A)(this,"$router",void 0),this.$api=s,this.$toastr=e,this.$router=l}resolve(){var s=this;return(0,Q.A)(function*(){try{return yield s.$api.get("/users").toPromise()}catch(e){s.$toastr.error(e.message,"Failed to Load Users"),s.$router.navigate(["/"])}})()}}return r=i,(0,n.A)(i,"\u0275fac",function(s){return new(s||r)(t.KVO(b.G),t.KVO(f.tw),t.KVO(_.Ix))}),(0,n.A)(r,"\u0275prov",t.jDH({token:r,factory:r.\u0275fac})),i})();const q=[{path:"",component:V,resolve:{homebridgeUsers:M}}];let O=(()=>{var r;class i{}return r=i,(0,n.A)(i,"\u0275fac",function(s){return new(s||r)}),(0,n.A)(r,"\u0275mod",t.$C({type:r})),(0,n.A)(r,"\u0275inj",t.G2t({imports:[_.iI.forChild(q),_.iI]})),i})(),L=(()=>{var r;class i{}return r=i,(0,n.A)(i,"\u0275fac",function(s){return new(s||r)}),(0,n.A)(r,"\u0275mod",t.$C({type:r})),(0,n.A)(r,"\u0275inj",t.G2t({providers:[M],imports:[c.MD,a.YN,a.X1,d.h.forChild(),p.UN,C.U,O]})),i})()}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunkui=self.webpackChunkui||[]).push([[384],{86384:(ke,k,c)=>{c.r(k),c.d(k,{SettingsModule:()=>fe});var o=c(99842),d=c(60177),l=c(89417),u=c(6400),p=c(19664),h=c(44550),F=c(70787),b=c(10467),M=c(70152),v=c(2578),e=c(54438),_=c(45794),g=c(7981);const R=s=>({backupTime:s,dayCount:7}),I=s=>({backupTime:s});function $(s,a){1&s&&e.nrm(0,"i",15)}function j(s,a){1&s&&(e.j41(0,"span"),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&s&&(e.R7$(),e.JRh(e.bMT(2,1,"backup.button_download_backup_archive")))}function A(s,a){if(1&s&&(e.j41(0,"p"),e.EFF(1),e.nI1(2,"date"),e.nI1(3,"translate"),e.k0s()),2&s){const i=e.XpG();e.R7$(),e.SpI(" ",e.i5U(3,4,"backup.message_scheduled_backup_time",e.eq3(7,R,e.i5U(2,1,i.backupTime,"shortTime")))," ")}}function T(s,a){if(1&s){const i=e.RV6();e.j41(0,"li",19)(1,"span")(2,"a",20),e.bIt("click",function(){const n=e.eBV(i).$implicit,r=e.XpG(2);return e.Njj(r.download(n))}),e.nrm(3,"i",21),e.EFF(4),e.k0s()(),e.j41(5,"span"),e.EFF(6),e.nI1(7,"date"),e.k0s()()}if(2&s){const i=a.$implicit;e.R7$(4),e.SpI(" ",i.fileName," "),e.R7$(2),e.SpI(" ",e.i5U(7,2,i.timestamp,"medium")," ")}}function y(s,a){if(1&s&&(e.j41(0,"ul",16)(1,"li",17)(2,"span")(3,"strong"),e.EFF(4),e.nI1(5,"translate"),e.k0s()(),e.j41(6,"span")(7,"strong"),e.EFF(8),e.nI1(9,"translate"),e.k0s()()(),e.DNE(10,T,8,5,"li",18),e.k0s()),2&s){const i=e.XpG();e.R7$(4),e.JRh(e.bMT(5,3,"backup.label_archive_name")),e.R7$(4),e.JRh(e.bMT(9,5,"backup.label_backup_time")),e.R7$(2),e.Y8G("ngForOf",i.scheduledBackups)}}function C(s,a){if(1&s&&(e.j41(0,"div")(1,"div",22),e.EFF(2),e.nI1(3,"date"),e.nI1(4,"translate"),e.k0s()()),2&s){const i=e.XpG();e.R7$(2),e.SpI(" ",e.i5U(4,4,"backup.message_scheduled_backup_none_yet",e.eq3(7,I,e.i5U(3,1,i.backupTime,"shortTime")))," ")}}function E(s,a){if(1&s&&(e.j41(0,"div")(1,"div",22)(2,"h4",23),e.EFF(3),e.nI1(4,"translate"),e.k0s(),e.j41(5,"p"),e.EFF(6),e.k0s()()()),2&s){const i=e.XpG();e.R7$(3),e.JRh(e.bMT(4,2,"toast.title_error")),e.R7$(3),e.SpI(" ",i.errorMessage," ")}}let w=(()=>{var s;class a{constructor(t,n,r,m){(0,o.A)(this,"activeModal",void 0),(0,o.A)(this,"$toastr",void 0),(0,o.A)(this,"$translate",void 0),(0,o.A)(this,"$api",void 0),(0,o.A)(this,"clicked",!1),(0,o.A)(this,"scheduledBackups",[]),(0,o.A)(this,"backupTime",void 0),(0,o.A)(this,"errorMessage",""),this.activeModal=t,this.$toastr=n,this.$translate=r,this.$api=m}ngOnInit(){this.getScheduledBackups(),this.getNextBackup()}getScheduledBackups(){this.$api.get("/backup/scheduled-backups").subscribe(t=>{this.scheduledBackups=t},t=>{this.errorMessage=t.error.message||t.message})}getNextBackup(){this.$api.get("/backup/scheduled-backups/next").subscribe(t=>{this.backupTime=t.next},t=>{console.error(t)})}download(t){this.$api.get(`/backup/scheduled-backups/${t.id}`,{observe:"response",responseType:"blob"}).subscribe(n=>{(0,v.saveAs)(n.body,t.fileName||"homebridge-backup.tar.gz")},()=>{this.$toastr.error(this.$translate.instant("backup.message_backup_download_failed"),this.$translate.instant("toast.title_error"))})}onDownloadBackupClick(){var t=this;return(0,b.A)(function*(){t.clicked=!0,t.$api.get("/backup/download",{observe:"response",responseType:"blob"}).subscribe(n=>{const r=n.headers.get("File-Name")||"homebridge-backup.tar.gz";(0,v.saveAs)(n.body,r),t.clicked=!1},()=>{t.clicked=!1,t.$toastr.error(t.$translate.instant("backup.message_backup_download_failed"),t.$translate.instant("toast.title_error"))})})()}}return s=a,(0,o.A)(a,"\u0275fac",function(t){return new(t||s)(e.rXU(u.Lw),e.rXU(_.tw),e.rXU(p.c$),e.rXU(g.G))}),(0,o.A)(s,"\u0275cmp",e.VBU({type:s,selectors:[["app-backup"]],decls:33,vars:28,consts:[[1,"modal-content","hb-backup-modal"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],["class","fa fa-fw fa-circle-notch fa-spin",4,"ngIf"],[4,"ngIf"],["class","list-group",4,"ngIf"],[1,"modal-footer","justify-content-between"],[1,"text-start"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-end"],[1,"fa","fa-fw","fa-circle-notch","fa-spin"],[1,"list-group"],[1,"mt-2","d-flex","flex-row","justify-content-between"],["class","mt-2 d-flex flex-wrap flex-row justify-content-between",4,"ngFor","ngForOf"],[1,"mt-2","d-flex","flex-wrap","flex-row","justify-content-between"],["href","javascript:void(0);",3,"click"],[1,"fas","fa-fw","fa-download"],["role","alert",1,"alert","alert-info"],[1,"alert-heading"]],template:function(t,n){1&t&&(e.j41(0,"div",0)(1,"div",1)(2,"h5",2),e.EFF(3),e.nI1(4,"translate"),e.k0s(),e.j41(5,"button",3),e.nI1(6,"translate"),e.bIt("click",function(){return n.activeModal.dismiss("Dismiss")}),e.k0s()(),e.j41(7,"div",4)(8,"p"),e.EFF(9),e.nI1(10,"translate"),e.k0s(),e.j41(11,"p"),e.EFF(12),e.nI1(13,"translate"),e.k0s(),e.j41(14,"p"),e.EFF(15),e.nI1(16,"translate"),e.k0s(),e.j41(17,"div",5)(18,"button",6),e.bIt("click",function(){return n.onDownloadBackupClick()}),e.DNE(19,$,1,0,"i",7)(20,j,3,3,"span",8),e.k0s()(),e.DNE(21,A,4,9,"p",8)(22,y,11,7,"ul",9)(23,C,5,9,"div",8)(24,E,7,4,"div",8),e.k0s(),e.j41(25,"div",10),e.nrm(26,"div",11),e.j41(27,"div",12)(28,"button",13),e.nI1(29,"translate"),e.bIt("click",function(){return n.activeModal.dismiss("Dismiss")}),e.EFF(30),e.nI1(31,"translate"),e.k0s()(),e.nrm(32,"div",14),e.k0s()()),2&t&&(e.R7$(3),e.JRh(e.bMT(4,14,"backup.title_backup")),e.R7$(2),e.BMQ("aria-label",e.bMT(6,16,"form.button_close")),e.R7$(4),e.JRh(e.bMT(10,18,"backup.message_backup_help_one")),e.R7$(3),e.JRh(e.bMT(13,20,"backup.message_backup_help_two")),e.R7$(3),e.JRh(e.bMT(16,22,"backup.message_backup_warning")),e.R7$(3),e.Y8G("disabled",n.clicked),e.R7$(),e.Y8G("ngIf",n.clicked),e.R7$(),e.Y8G("ngIf",!n.clicked),e.R7$(),e.Y8G("ngIf",n.backupTime),e.R7$(),e.Y8G("ngIf",n.scheduledBackups&&n.scheduledBackups.length),e.R7$(),e.Y8G("ngIf",!n.scheduledBackups.length&&!n.errorMessage),e.R7$(),e.Y8G("ngIf",n.errorMessage),e.R7$(4),e.BMQ("aria-label",e.bMT(29,24,"form.button_close")),e.R7$(2),e.SpI(" ",e.bMT(31,26,"form.button_close")," "))},dependencies:[d.Sq,d.bT,d.vh,p.D9]})),a})();function S(s,a){1&s&&(e.j41(0,"div",13),e.nrm(1,"i",14),e.j41(2,"p",15),e.EFF(3),e.nI1(4,"translate"),e.k0s()()),2&s&&(e.R7$(3),e.JRh(e.bMT(4,1,"reset.message_remove_cached_accessories_single_empty")))}function x(s,a){1&s&&(e.j41(0,"ngb-alert",16)(1,"div",17),e.nrm(2,"i",18),e.k0s(),e.j41(3,"p"),e.EFF(4),e.nI1(5,"translate"),e.k0s(),e.j41(6,"ul",19)(7,"li"),e.EFF(8),e.nI1(9,"translate"),e.k0s(),e.j41(10,"li",20),e.EFF(11),e.nI1(12,"translate"),e.k0s()()()),2&s&&(e.Y8G("dismissible",!1),e.R7$(4),e.SpI(" ",e.bMT(5,4,"reset.message_action_is_irreversible")," "),e.R7$(4),e.JRh(e.bMT(9,6,"reset.message_remove_cached_accessories")),e.R7$(3),e.JRh(e.bMT(12,8,"reset.accessories_will_may_need_to_be_reconfigured")))}function N(s,a){if(1&s){const i=e.RV6();e.j41(0,"button",21),e.nI1(1,"translate"),e.bIt("click",function(){e.eBV(i);const n=e.XpG();return e.Njj(n.activeModal.dismiss("Dismiss"))}),e.EFF(2),e.nI1(3,"translate"),e.k0s()}2&s&&(e.BMQ("aria-label",e.bMT(1,2,"form.button_close")),e.R7$(2),e.SpI(" ",e.bMT(3,4,"form.button_close")," "))}function B(s,a){if(1&s){const i=e.RV6();e.j41(0,"button",21),e.nI1(1,"translate"),e.bIt("click",function(){e.eBV(i);const n=e.XpG();return e.Njj(n.activeModal.dismiss("Dismiss"))}),e.EFF(2),e.nI1(3,"translate"),e.k0s()}2&s&&(e.BMQ("aria-label",e.bMT(1,2,"form.button_close")),e.R7$(2),e.SpI(" ",e.bMT(3,4,"form.button_close")," "))}function G(s,a){if(1&s){const i=e.RV6();e.j41(0,"button",22),e.bIt("click",function(){e.eBV(i);const n=e.XpG();return e.Njj(n.onResetCachedAccessoriesClick())}),e.EFF(1),e.nI1(2,"translate"),e.k0s()}if(2&s){const i=e.XpG();e.Y8G("disabled",i.clicked),e.R7$(),e.SpI(" ",e.bMT(2,2,"form.button_remove")," ")}}let D=(()=>{var s;class a{constructor(t,n,r,m){(0,o.A)(this,"activeModal",void 0),(0,o.A)(this,"toastr",void 0),(0,o.A)(this,"translate",void 0),(0,o.A)(this,"$api",void 0),(0,o.A)(this,"clicked",void 0),(0,o.A)(this,"cachedAccessories",void 0),this.activeModal=t,this.toastr=n,this.translate=r,this.$api=m}ngOnInit(){this.loadCachedAccessories()}loadCachedAccessories(){var t=this;return(0,b.A)(function*(){try{t.cachedAccessories=yield t.$api.get("/server/cached-accessories").toPromise()}catch{t.toastr.error(t.translate.instant("reset.toast_error_message"),t.translate.instant("toast.title_error")),t.activeModal.close()}})()}onResetCachedAccessoriesClick(){return this.clicked=!0,this.$api.put("/server/reset-cached-accessories",{}).subscribe(()=>{this.toastr.success(this.translate.instant("reset.toast_clear_cached_accessories_success"),this.translate.instant("toast.title_success")),this.activeModal.close()},()=>{this.toastr.error(this.translate.instant("reset.toast_failed_to_reset"),this.translate.instant("toast.title_error"))})}}return s=a,(0,o.A)(a,"\u0275fac",function(t){return new(t||s)(e.rXU(u.Lw),e.rXU(_.tw),e.rXU(p.c$),e.rXU(g.G))}),(0,o.A)(s,"\u0275cmp",e.VBU({type:s,selectors:[["app-remove-all-cached-accessories-modal"]],decls:17,vars:11,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],["class","text-center mt-3",4,"ngIf"],["type","error","style","margin-bottom: 0;",3,"dismissible",4,"ngIf"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","class","btn btn-elegant","data-bs-dismiss","modal",3,"click",4,"ngIf"],[1,"text-center"],[1,"text-end"],["type","button","class","btn btn-danger","data-bs-dismiss","modal",3,"disabled","click",4,"ngIf"],[1,"text-center","mt-3"],[1,"fas","fa-fw","fa-circle-check",2,"font-size","75px"],[1,"mt-3","mb-0"],["type","error",2,"margin-bottom","0",3,"dismissible"],[1,"text-center","mt-2","mb-3"],[1,"fas","fa-fw","fa-exclamation-circle",2,"font-size","75px"],[1,"mb-0","text-start"],[1,"mb-0"],["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"]],template:function(t,n){1&t&&(e.j41(0,"div",0)(1,"div",1)(2,"h5",2),e.EFF(3),e.nI1(4,"translate"),e.k0s(),e.j41(5,"button",3),e.nI1(6,"translate"),e.bIt("click",function(){return n.activeModal.dismiss("Dismiss")}),e.k0s()(),e.j41(7,"div",4),e.DNE(8,S,5,3,"div",5)(9,x,13,10,"ngb-alert",6),e.k0s(),e.j41(10,"div",7)(11,"div",8),e.DNE(12,N,4,6,"button",9),e.k0s(),e.j41(13,"div",10),e.DNE(14,B,4,6,"button",9),e.k0s(),e.j41(15,"div",11),e.DNE(16,G,3,4,"button",12),e.k0s()()()),2&t&&(e.R7$(3),e.JRh(e.bMT(4,7,"reset.title_clear_cached_accessories")),e.R7$(2),e.BMQ("aria-label",e.bMT(6,9,"form.button_close")),e.R7$(3),e.Y8G("ngIf",0===n.cachedAccessories.length),e.R7$(),e.Y8G("ngIf",n.cachedAccessories.length>0),e.R7$(3),e.Y8G("ngIf",n.cachedAccessories.length>0),e.R7$(2),e.Y8G("ngIf",0===n.cachedAccessories.length),e.R7$(2),e.Y8G("ngIf",n.cachedAccessories.length>0))},dependencies:[d.bT,u.Cv,p.D9]})),a})();const U=(s,a)=>({"fa-trash":s,"fa-cog fa-spin":a});function J(s,a){1&s&&(e.j41(0,"div",13),e.nrm(1,"i",14),e.j41(2,"p",15),e.EFF(3),e.nI1(4,"translate"),e.k0s()()),2&s&&(e.R7$(3),e.JRh(e.bMT(4,1,"reset.message_remove_cached_accessories_single_empty")))}function Y(s,a){1&s&&(e.j41(0,"ngb-alert",16)(1,"div",17),e.nrm(2,"i",18),e.k0s(),e.j41(3,"ul",19)(4,"li"),e.EFF(5),e.nI1(6,"translate"),e.k0s(),e.j41(7,"li",19),e.EFF(8),e.nI1(9,"translate"),e.k0s()()()),2&s&&(e.Y8G("dismissible",!1),e.R7$(5),e.JRh(e.bMT(6,3,"reset.message_remove_cached_accessories_single_warning")),e.R7$(3),e.JRh(e.bMT(9,5,"reset.accessories_will_may_need_to_be_reconfigured")))}function X(s,a){if(1&s){const i=e.RV6();e.j41(0,"li",22)(1,"span"),e.EFF(2),e.nrm(3,"br"),e.j41(4,"small",23),e.EFF(5),e.k0s()(),e.j41(6,"button",24),e.bIt("click",function(){const n=e.eBV(i).$implicit,r=e.XpG(2);return e.Njj(r.removeAccessory(n))}),e.nrm(7,"i",25),e.k0s()()}if(2&s){const i=a.$implicit,t=e.XpG(2);e.R7$(2),e.Lme(" ",i.displayName," (",i.plugin,") "),e.R7$(3),e.JRh(i.UUID),e.R7$(),e.Y8G("disabled",t.deleting),e.R7$(),e.Y8G("ngClass",e.l_i(5,U,i.UUID!==t.deleting,i.UUID===t.deleting))}}function O(s,a){if(1&s&&(e.j41(0,"ul",20),e.DNE(1,X,8,8,"li",21),e.k0s()),2&s){const i=e.XpG();e.R7$(),e.Y8G("ngForOf",i.cachedAccessories)}}let V=(()=>{var s;class a{constructor(t,n,r,m){(0,o.A)(this,"activeModal",void 0),(0,o.A)(this,"toastr",void 0),(0,o.A)(this,"translate",void 0),(0,o.A)(this,"$api",void 0),(0,o.A)(this,"cachedAccessories",void 0),(0,o.A)(this,"deleting",null),this.activeModal=t,this.toastr=n,this.translate=r,this.$api=m}ngOnInit(){this.loadCachedAccessories()}loadCachedAccessories(){var t=this;return(0,b.A)(function*(){try{t.cachedAccessories=yield t.$api.get("/server/cached-accessories").toPromise()}catch{t.toastr.error(t.translate.instant("reset.toast_error_message"),t.translate.instant("toast.title_error")),t.activeModal.close()}})()}removeAccessory(t){var n=this;this.deleting=t.UUID,this.toastr.info(this.translate.instant("reset.toast_removing_cached_accessory_please_wait")),this.$api.delete(`/server/cached-accessories/${t.UUID}`,{params:{cacheFile:t.$cacheFile}}).subscribe((0,b.A)(function*(){yield n.loadCachedAccessories(),n.deleting=null,n.cachedAccessories.length||n.activeModal.close(),n.toastr.success(n.translate.instant("reset.toast_cached_accessory_removed"),n.translate.instant("toast.title_success"))}),()=>{this.deleting=null,this.toastr.error(this.translate.instant("reset.toast_failed_to_delete_cached_accessory"),this.translate.instant("toast.title_error"))})}}return s=a,(0,o.A)(a,"\u0275fac",function(t){return new(t||s)(e.rXU(u.Lw),e.rXU(_.tw),e.rXU(p.c$),e.rXU(g.G))}),(0,o.A)(s,"\u0275cmp",e.VBU({type:s,selectors:[["app-remove-single-cached-accessory-modal"]],decls:19,vars:15,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],["class","text-center mt-3",4,"ngIf"],["type","info","style","margin-bottom: 0;",3,"dismissible",4,"ngIf"],["class","list-group mt-2",4,"ngIf"],[1,"modal-footer","justify-content-between"],[1,"text-start"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-end"],[1,"text-center","mt-3"],[1,"fas","fa-fw","fa-circle-check",2,"font-size","75px"],[1,"mt-3","mb-0"],["type","info",2,"margin-bottom","0",3,"dismissible"],[1,"text-center","mt-2","mb-3"],[1,"fas","fa-fw","fa-exclamation-circle",2,"font-size","75px"],[1,"mb-0"],[1,"list-group","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","ms-3",3,"click","disabled"],[1,"fas",3,"ngClass"]],template:function(t,n){1&t&&(e.j41(0,"div",0)(1,"div",1)(2,"h5",2),e.EFF(3),e.nI1(4,"translate"),e.k0s(),e.j41(5,"button",3),e.nI1(6,"translate"),e.bIt("click",function(){return n.activeModal.dismiss("Dismiss")}),e.k0s()(),e.j41(7,"div",4),e.DNE(8,J,5,3,"div",5)(9,Y,10,7,"ngb-alert",6)(10,O,2,1,"ul",7),e.k0s(),e.j41(11,"div",8),e.nrm(12,"div",9),e.j41(13,"div",10)(14,"button",11),e.nI1(15,"translate"),e.bIt("click",function(){return n.activeModal.dismiss("Dismiss")}),e.EFF(16),e.nI1(17,"translate"),e.k0s()(),e.nrm(18,"div",12),e.k0s()()),2&t&&(e.R7$(3),e.JRh(e.bMT(4,7,"reset.title_clear_cached_accessories_single")),e.R7$(2),e.BMQ("aria-label",e.bMT(6,9,"form.button_close")),e.R7$(3),e.Y8G("ngIf",0===n.cachedAccessories.length),e.R7$(),e.Y8G("ngIf",n.cachedAccessories.length>0),e.R7$(),e.Y8G("ngIf",n.cachedAccessories.length>0),e.R7$(4),e.BMQ("aria-label",e.bMT(15,11,"form.button_close")),e.R7$(2),e.SpI(" ",e.bMT(17,13,"form.button_close")," "))},dependencies:[d.YU,d.Sq,d.bT,u.Cv,p.D9]})),a})(),P=(()=>{var s;class a{constructor(t,n,r,m,f){(0,o.A)(this,"activeModal",void 0),(0,o.A)(this,"toastr",void 0),(0,o.A)(this,"translate",void 0),(0,o.A)(this,"$route",void 0),(0,o.A)(this,"$api",void 0),(0,o.A)(this,"clicked",void 0),this.activeModal=t,this.toastr=n,this.translate=r,this.$route=m,this.$api=f}onResetHomebridgeAccessoryClick(){var t=this;return this.clicked=!0,this.$api.put("/server/reset-homebridge-accessory",{}).subscribe(()=>{this.toastr.success(this.translate.instant("reset.toast_accessory_reset"),this.translate.instant("toast.title_success")),this.activeModal.close(),this.$route.navigate(["/restart"])},(0,b.A)(function*(){t.toastr.error(t.translate.instant("reset.toast_failed_to_reset"),t.translate.instant("toast.title_error"))}))}}return s=a,(0,o.A)(a,"\u0275fac",function(t){return new(t||s)(e.rXU(u.Lw),e.rXU(_.tw),e.rXU(p.c$),e.rXU(h.Ix),e.rXU(g.G))}),(0,o.A)(s,"\u0275cmp",e.VBU({type:s,selectors:[["ng-component"]],decls:41,vars:35,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],["type","error",2,"margin-bottom","0",3,"dismissible"],[1,"text-center","mt-2","mb-3"],[1,"fas","fa-fw","fa-exclamation-circle",2,"font-size","75px"],[1,"mb-0","text-start"],[1,"mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"]],template:function(t,n){1&t&&(e.j41(0,"div",0)(1,"div",1)(2,"h5",2),e.EFF(3),e.nI1(4,"translate"),e.k0s(),e.j41(5,"button",3),e.nI1(6,"translate"),e.bIt("click",function(){return n.activeModal.dismiss("Dismiss")}),e.k0s()(),e.j41(7,"div",4)(8,"ngb-alert",5)(9,"div",6),e.nrm(10,"i",7),e.k0s(),e.j41(11,"p"),e.EFF(12),e.nI1(13,"translate"),e.k0s(),e.j41(14,"ul",8)(15,"li"),e.EFF(16),e.nI1(17,"translate"),e.k0s(),e.j41(18,"li"),e.EFF(19),e.nI1(20,"translate"),e.k0s(),e.j41(21,"li"),e.EFF(22),e.nI1(23,"translate"),e.k0s(),e.j41(24,"li"),e.EFF(25),e.nI1(26,"translate"),e.k0s(),e.j41(27,"li",9),e.EFF(28),e.nI1(29,"translate"),e.k0s()()()(),e.j41(30,"div",10)(31,"div",11)(32,"button",12),e.nI1(33,"translate"),e.bIt("click",function(){return n.activeModal.dismiss("Dismiss")}),e.EFF(34),e.nI1(35,"translate"),e.k0s()(),e.nrm(36,"div",13),e.j41(37,"div",14)(38,"button",15),e.bIt("click",function(){return n.onResetHomebridgeAccessoryClick()}),e.EFF(39),e.nI1(40,"translate"),e.k0s()()()()),2&t&&(e.R7$(3),e.JRh(e.bMT(4,13,"reset.title_reset_homebridge_accessory")),e.R7$(2),e.BMQ("aria-label",e.bMT(6,15,"form.button_close")),e.R7$(3),e.Y8G("dismissible",!1),e.R7$(4),e.JRh(e.bMT(13,17,"reset.message_action_is_irreversible")),e.R7$(4),e.JRh(e.bMT(17,19,"reset.message_reset_will_unpair_from_homekit")),e.R7$(3),e.JRh(e.bMT(20,21,"reset.message_need_to_remove_homebridge_accessory_from_home_app")),e.R7$(3),e.JRh(e.bMT(23,23,"reset.message_all_automations_will_be_reset")),e.R7$(3),e.JRh(e.bMT(26,25,"reset.message_your_homebridge_username_will_be_changed")),e.R7$(3),e.JRh(e.bMT(29,27,"reset.message_accessory_config_will_not_be_changed")),e.R7$(4),e.BMQ("aria-label",e.bMT(33,29,"form.button_close")),e.R7$(2),e.SpI(" ",e.bMT(35,31,"form.button_close")," "),e.R7$(4),e.Y8G("disabled",n.clicked),e.R7$(),e.SpI(" ",e.bMT(40,33,"form.button_reset")," "))},dependencies:[u.Cv,p.D9],encapsulation:2})),a})();var H=c(39290);function Q(s,a){if(1&s){const i=e.RV6();e.j41(0,"li",15)(1,"span")(2,"label",16)(3,"input",17),e.mxI("ngModelChange",function(n){const r=e.eBV(i).$implicit;return e.DH7(r.selected,n)||(r.selected=n),e.Njj(n)}),e.k0s(),e.j41(4,"span"),e.EFF(5),e.k0s(),e.nrm(6,"span",18),e.k0s()(),e.j41(7,"span"),e.EFF(8),e.k0s()()}if(2&s){const i=a.$implicit;e.R7$(2),e.Y8G("for","adapter"+i.iface),e.R7$(),e.Y8G("id","adapter"+i.iface),e.R50("ngModel",i.selected),e.R7$(2),e.JRh(i.iface),e.R7$(3),e.SpI(" ",i.ip4||i.ip6," ")}}let L=(()=>{var s;class a{constructor(t){(0,o.A)(this,"activeModal",void 0),(0,o.A)(this,"availableNetworkAdapters",void 0),(0,o.A)(this,"bridgeNetworkAdapters",void 0),this.activeModal=t}ngOnInit(){}submit(){this.activeModal.close(this.availableNetworkAdapters.filter(t=>t.selected).map(t=>t.iface))}}return s=a,(0,o.A)(a,"\u0275fac",function(t){return new(t||s)(e.rXU(u.Lw))}),(0,o.A)(s,"\u0275cmp",e.VBU({type:s,selectors:[["app-select-network-interfaces"]],inputs:{availableNetworkAdapters:"availableNetworkAdapters",bridgeNetworkAdapters:"bridgeNetworkAdapters"},decls:34,vars:25,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,"alert"],[1,"list-group","mb-4"],[1,"mt-2","d-flex","flex-row","justify-content-between"],["class","mt-2 d-flex flex-row flex-wrap justify-content-between",4,"ngFor","ngForOf"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click"],[1,"mt-2","d-flex","flex-row","flex-wrap","justify-content-between"],[1,"hb-uix-switch","d-inline","pe-3",3,"for"],["type","checkbox",3,"ngModelChange","id","ngModel"],[1,"hb-uix-slider","hb-uix-round"]],template:function(t,n){1&t&&(e.j41(0,"div",0)(1,"div",1)(2,"h5",2),e.EFF(3),e.nI1(4,"translate"),e.k0s(),e.j41(5,"button",3),e.nI1(6,"translate"),e.bIt("click",function(){return n.activeModal.dismiss("Dismiss")}),e.k0s()(),e.j41(7,"div",4)(8,"div",5),e.EFF(9),e.nI1(10,"translate"),e.k0s(),e.j41(11,"div")(12,"ul",6)(13,"li",7)(14,"span")(15,"strong"),e.EFF(16),e.nI1(17,"translate"),e.k0s()(),e.j41(18,"span")(19,"strong"),e.EFF(20),e.nI1(21,"translate"),e.k0s()()(),e.DNE(22,Q,9,5,"li",8),e.k0s()()(),e.j41(23,"div",9)(24,"div",10)(25,"button",11),e.nI1(26,"translate"),e.bIt("click",function(){return n.activeModal.dismiss("Dismiss")}),e.EFF(27),e.nI1(28,"translate"),e.k0s()(),e.nrm(29,"div",12),e.j41(30,"div",13)(31,"button",14),e.bIt("click",function(){return n.submit()}),e.EFF(32),e.nI1(33,"translate"),e.k0s()()()()),2&t&&(e.R7$(3),e.JRh(e.bMT(4,9,"settings.network.title_network_interfaces")),e.R7$(2),e.BMQ("aria-label",e.bMT(6,11,"form.button_close")),e.R7$(4),e.JRh(e.bMT(10,13,"settings.network.message_network_interface")),e.R7$(7),e.JRh(e.bMT(17,15,"settings.network.label_interface_name")),e.R7$(4),e.JRh(e.bMT(21,17,"settings.network.label_ip_address")),e.R7$(2),e.Y8G("ngForOf",n.availableNetworkAdapters),e.R7$(3),e.BMQ("aria-label",e.bMT(26,19,"form.button_close")),e.R7$(2),e.SpI(" ",e.bMT(28,21,"form.button_close")," "),e.R7$(5),e.SpI(" ",e.bMT(33,23,"form.button_save")," "))},dependencies:[d.Sq,l.Zm,l.BC,l.vS,p.D9]})),a})();const z=(s,a)=>({"fa-trash":s,"fa-cog fa-spin":a});function K(s,a){1&s&&(e.j41(0,"div",13),e.nrm(1,"i",14),e.j41(2,"p",15),e.EFF(3),e.nI1(4,"translate"),e.k0s()()),2&s&&(e.R7$(3),e.JRh(e.bMT(4,1,"reset.title_unpair_bridges_cameras_tv_external_accessories_empty")))}function Z(s,a){1&s&&(e.j41(0,"div")(1,"div",16),e.nrm(2,"i",17),e.k0s(),e.j41(3,"div",18),e.EFF(4),e.nI1(5,"translate"),e.k0s()()),2&s&&(e.R7$(4),e.JRh(e.bMT(5,1,"reset.message_need_to_remove_homebridge_accessory_from_home_app")))}function W(s,a){if(1&s){const i=e.RV6();e.j41(0,"li",21)(1,"span"),e.EFF(2),e.nI1(3,"titlecase"),e.nrm(4,"br"),e.j41(5,"small",22),e.EFF(6),e.k0s()(),e.j41(7,"button",23),e.bIt("click",function(){const n=e.eBV(i).$implicit,r=e.XpG(2);return e.Njj(r.removeAccessory(n._id))}),e.nrm(8,"i",24),e.k0s()()}if(2&s){const i=a.$implicit,t=e.XpG(2);e.R7$(2),e.Lme(" ",i.displayName," (",i._main?"Homebridge":e.bMT(3,5,i._category),") "),e.R7$(4),e.JRh(i._username),e.R7$(),e.Y8G("disabled",t.deleting),e.R7$(),e.Y8G("ngClass",e.l_i(7,z,i._id!==t.deleting,i._id===t.deleting))}}function q(s,a){if(1&s&&(e.j41(0,"ul",19),e.DNE(1,W,9,10,"li",20),e.k0s()),2&s){const i=e.XpG();e.R7$(),e.Y8G("ngForOf",i.pairings)}}let ee=(()=>{var s;class a{constructor(t,n,r,m){(0,o.A)(this,"activeModal",void 0),(0,o.A)(this,"toastr",void 0),(0,o.A)(this,"translate",void 0),(0,o.A)(this,"$api",void 0),(0,o.A)(this,"pairings",void 0),(0,o.A)(this,"deleting",null),this.activeModal=t,this.toastr=n,this.translate=r,this.$api=m}ngOnInit(){this.loadPairings()}loadPairings(){var t=this;return(0,b.A)(function*(){try{t.pairings=(yield t.$api.get("/server/pairings").toPromise()).sort((n,r)=>r._main?1:-1)}catch{t.toastr.error("Paired accessories could not be loaded.",t.translate.instant("toast.title_error")),t.activeModal.close()}})()}removeAccessory(t){var n=this;this.deleting=t,this.$api.delete(`/server/pairings/${t}`).subscribe((0,b.A)(function*(){yield n.loadPairings(),n.pairings.length||n.activeModal.close(),n.deleting=null,n.toastr.success(n.translate.instant("plugins.settings.toast_restart_required"),n.translate.instant("toast.title_success"))}),()=>{this.deleting=null,this.toastr.error("Failed to un-pair accessory.",this.translate.instant("toast.title_error"))})}}return s=a,(0,o.A)(a,"\u0275fac",function(t){return new(t||s)(e.rXU(u.Lw),e.rXU(_.tw),e.rXU(p.c$),e.rXU(g.G))}),(0,o.A)(s,"\u0275cmp",e.VBU({type:s,selectors:[["app-unpair-accessory-modal"]],decls:19,vars:15,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],["class","text-center mt-3",4,"ngIf"],[4,"ngIf"],["class","list-group mt-2",4,"ngIf"],[1,"modal-footer","justify-content-between"],[1,"text-start"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-end"],[1,"text-center","mt-3"],[1,"fas","fa-fw","fa-circle-check",2,"font-size","75px"],[1,"mt-3","mb-0"],[1,"text-center","mt-2","mb-3"],[1,"fas","fa-fw","fa-link-slash",2,"font-size","75px"],[1,"alert","alert-warning"],[1,"list-group","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",3,"click","disabled"],[1,"fas",3,"ngClass"]],template:function(t,n){1&t&&(e.j41(0,"div",0)(1,"div",1)(2,"h5",2),e.EFF(3),e.nI1(4,"translate"),e.k0s(),e.j41(5,"button",3),e.nI1(6,"translate"),e.bIt("click",function(){return n.activeModal.dismiss("Dismiss")}),e.k0s()(),e.j41(7,"div",4),e.DNE(8,K,5,3,"div",5)(9,Z,6,3,"div",6)(10,q,2,1,"ul",7),e.k0s(),e.j41(11,"div",8),e.nrm(12,"div",9),e.j41(13,"div",10)(14,"button",11),e.nI1(15,"translate"),e.bIt("click",function(){return n.activeModal.dismiss("Dismiss")}),e.EFF(16),e.nI1(17,"translate"),e.k0s()(),e.nrm(18,"div",12),e.k0s()()),2&t&&(e.R7$(3),e.JRh(e.bMT(4,7,"reset.title_unpair_bridges_cameras_tv_external_accessories")),e.R7$(2),e.BMQ("aria-label",e.bMT(6,9,"form.button_close")),e.R7$(3),e.Y8G("ngIf",0===n.pairings.length),e.R7$(),e.Y8G("ngIf",n.pairings.length>0),e.R7$(),e.Y8G("ngIf",n.pairings.length>0),e.R7$(4),e.BMQ("aria-label",e.bMT(15,11,"form.button_close")),e.R7$(2),e.SpI(" ",e.bMT(17,13,"form.button_close")," "))},dependencies:[d.YU,d.Sq,d.bT,d.PV,p.D9]})),a})();var te=c(33578),se=c(58820),ne=c(34521);const ie=s=>({"fa-pulse":s}),ae=(s,a)=>({"badge-danger":s,"badge-info":a});function oe(s,a){1&s&&(e.j41(0,"button",58),e.nI1(1,"translate"),e.EFF(2),e.nI1(3,"translate"),e.k0s()),2&s&&(e.BMQ("aria-label",e.bMT(1,2,"platform.docker.settings.button_restart_required")),e.R7$(2),e.SpI(" ",e.bMT(3,4,"platform.docker.settings.button_restart_required")," "))}function re(s,a){1&s&&e.nrm(0,"i",62)}function le(s,a){if(1&s&&(e.j41(0,"span")(1,"span",59),e.DNE(2,re,1,0,"i",60),e.EFF(3),e.j41(4,"span",61),e.EFF(5),e.nI1(6,"translate"),e.k0s()()()),2&s){const i=a.$implicit;e.R7$(),e.Y8G("ngClass",e.l_i(6,ae,i.missing,!i.missing)),e.R7$(),e.Y8G("ngIf",i.missing),e.R7$(),e.SpI(" ",i.iface,": "),e.R7$(2),e.JRh(i.missing?e.bMT(6,4,"settings.mdns_advertiser_not_connected"):i.ip4||i.ip6)}}function ce(s,a){1&s&&(e.j41(0,"option",63),e.EFF(1,"Avahi"),e.k0s())}function de(s,a){1&s&&(e.j41(0,"option",64),e.EFF(1,"systemd-resolved (experimental)"),e.k0s())}function me(s,a){1&s&&(e.j41(0,"li",37)(1,"span",68),e.EFF(2),e.nI1(3,"translate"),e.j41(4,"code"),e.EFF(5,"-K"),e.k0s()(),e.nrm(6,"input",75),e.nI1(7,"translate"),e.nrm(8,"label",76),e.k0s()),2&s&&(e.R7$(2),e.SpI("",e.bMT(3,2,"settings.startup.keep_accessories")," "),e.R7$(4),e.BMQ("aria-label",e.bMT(7,4,"settings.startup.keep_accessories")))}function pe(s,a){1&s&&(e.j41(0,"div",3)(1,"h5",66),e.EFF(2),e.nI1(3,"translate"),e.k0s(),e.j41(4,"ul",5)(5,"li",6)(6,"span"),e.EFF(7," DEBUG"),e.nrm(8,"br"),e.j41(9,"small",45),e.EFF(10),e.nI1(11,"translate"),e.k0s()(),e.j41(12,"div",7),e.nrm(13,"input",77),e.k0s()(),e.j41(14,"li",6)(15,"span"),e.EFF(16," NODE_OPTIONS"),e.nrm(17,"br"),e.j41(18,"small",45),e.EFF(19),e.nI1(20,"translate"),e.k0s()(),e.j41(21,"div",7),e.nrm(22,"input",78),e.k0s()()()()),2&s&&(e.R7$(2),e.JRh(e.bMT(3,3,"settings.title_environment_variables")),e.R7$(8),e.JRh(e.bMT(11,5,"settings.service.debug_tooltip")),e.R7$(9),e.JRh(e.bMT(20,7,"settings.service.node_tooltip")))}function ue(s,a){if(1&s&&(e.j41(0,"form",65)(1,"h5",66),e.EFF(2),e.nI1(3,"translate"),e.k0s(),e.j41(4,"ul",67)(5,"li",37)(6,"span",68),e.EFF(7),e.nI1(8,"translate"),e.j41(9,"code"),e.EFF(10,"-D"),e.k0s()(),e.nrm(11,"input",69),e.nI1(12,"translate"),e.nrm(13,"label",70),e.k0s(),e.j41(14,"li",37)(15,"span",68),e.EFF(16),e.nI1(17,"translate"),e.nI1(18,"translate"),e.j41(19,"code"),e.EFF(20,"-I"),e.k0s()(),e.nrm(21,"input",71),e.nI1(22,"translate"),e.nrm(23,"label",72),e.k0s(),e.DNE(24,me,9,6,"li",73),e.k0s(),e.DNE(25,pe,23,9,"div",74),e.k0s()),2&s){const i=e.XpG();e.Y8G("formGroup",i.serviceForm),e.R7$(2),e.JRh(e.bMT(3,9,"settings.title_startup_options")),e.R7$(5),e.SpI("",e.bMT(8,11,"settings.startup.debug")," "),e.R7$(4),e.BMQ("aria-label",e.bMT(12,13,"settings.startup.debug")),e.R7$(5),e.Lme(" ",e.bMT(17,15,"settings.startup.insecure_1")," (",e.bMT(18,17,"settings.startup.insecure_2"),") "),e.R7$(5),e.BMQ("aria-label",e.bMT(22,19,"settings.startup.insecure_1")),e.R7$(3),e.Y8G("ngIf",i.$settings.env.serviceMode),e.R7$(),e.Y8G("ngIf",i.$settings.env.serviceMode)}}function be(s,a){if(1&s){const i=e.RV6();e.j41(0,"div",79)(1,"h5",4),e.EFF(2),e.nI1(3,"translate"),e.k0s(),e.j41(4,"p",55),e.EFF(5),e.nI1(6,"translate"),e.k0s(),e.j41(7,"ul",67)(8,"li",37)(9,"span",38),e.EFF(10),e.nI1(11,"translate"),e.nrm(12,"br"),e.j41(13,"small",45),e.EFF(14),e.nI1(15,"translate"),e.k0s()(),e.j41(16,"button",39),e.nI1(17,"translate"),e.bIt("click",function(){e.eBV(i);const n=e.XpG();return e.Njj(n.removeSingleCachedAccessories())}),e.nrm(18,"i",42),e.k0s()(),e.j41(19,"li",37)(20,"span",38),e.EFF(21),e.nI1(22,"translate"),e.j41(23,"small",56),e.EFF(24),e.nI1(25,"translate"),e.k0s()(),e.j41(26,"button",39),e.nI1(27,"translate"),e.bIt("click",function(){e.eBV(i);const n=e.XpG();return e.Njj(n.removeAllCachedAccessories())}),e.nrm(28,"i",42),e.k0s()()()()}2&s&&(e.R7$(2),e.JRh(e.bMT(3,8,"settings.title_manage_cached_accessories")),e.R7$(3),e.JRh(e.bMT(6,10,"settings.manage_cache.help")),e.R7$(5),e.SpI(" ",e.bMT(11,12,"reset.title_clear_cached_accessories_single"),""),e.R7$(4),e.JRh(e.bMT(15,14,"reset.message_remove_cached_accessories_single")),e.R7$(2),e.BMQ("aria-label",e.bMT(17,16,"reset.title_clear_cached_accessories_single")),e.R7$(5),e.SpI(" ",e.bMT(22,18,"reset.title_clear_cached_accessories")," "),e.R7$(3),e.JRh(e.bMT(25,20,"reset.message_remove_cached_accessories")),e.R7$(2),e.BMQ("aria-label",e.bMT(27,22,"reset.title_clear_cached_accessories")))}const _e=[{path:"",component:(()=>{var s;class a{constructor(t,n,r,m,f,he){(0,o.A)(this,"$settings",void 0),(0,o.A)(this,"$api",void 0),(0,o.A)(this,"$notification",void 0),(0,o.A)(this,"$toastr",void 0),(0,o.A)(this,"$modal",void 0),(0,o.A)(this,"$plugin",void 0),(0,o.A)(this,"serviceForm",new l.gE({HOMEBRIDGE_DEBUG:new l.MJ(!1),HOMEBRIDGE_KEEP_ORPHANS:new l.MJ(!1),HOMEBRIDGE_INSECURE:new l.MJ(!0),ENV_DEBUG:new l.MJ(null),ENV_NODE_OPTIONS:new l.MJ(null)})),(0,o.A)(this,"legacyMdnsFormControl",new l.hs(!1)),(0,o.A)(this,"saved",!1),(0,o.A)(this,"showAvahiMdnsOption",!1),(0,o.A)(this,"showResolvedMdnsOption",!1),(0,o.A)(this,"availableNetworkAdapters",[]),(0,o.A)(this,"bridgeNetworkAdapters",[]),this.$settings=t,this.$api=n,this.$notification=r,this.$toastr=m,this.$modal=f,this.$plugin=he}ngOnInit(){this.initNetworkingOptions(),this.$settings.env.serviceMode&&this.initServiceModeForm()}onThemeChange(t){this.$settings.setTheme(t),this.$api.put("/config-editor/theme",{theme:t}).toPromise().catch(n=>{this.$toastr.error(n.message,"Failed to save theme")})}openUiSettings(){this.$plugin.settings({name:"homebridge-config-ui-x",displayName:"Homebridge UI",settingsSchema:!0,links:{}})}openRestoreModal(){this.$modal.open(H.y,{size:"lg",backdrop:"static"})}openBackupModal(){this.$modal.open(w,{size:"lg",backdrop:"static"})}initServiceModeForm(){this.$api.get("/platform-tools/hb-service/homebridge-startup-settings").subscribe(t=>{this.serviceForm.patchValue(t),this.serviceForm.valueChanges.pipe((0,M.B)(500)).subscribe(this.saveServiceModeSettings.bind(this))},t=>{this.$toastr.error(t.message,"Failed to load startup settings")})}saveServiceModeSettings(t=this.serviceForm.value){this.$api.put("/platform-tools/hb-service/homebridge-startup-settings",t).subscribe(()=>{this.saved=!0,this.$notification.configUpdated.next(void 0)})}resetHomebridgeState(){this.$modal.open(P,{size:"lg",backdrop:"static"})}unpairAccessory(){this.$modal.open(ee,{size:"lg",backdrop:"static"})}removeAllCachedAccessories(){this.$modal.open(D,{size:"lg",backdrop:"static"})}removeSingleCachedAccessories(){this.$modal.open(V,{size:"lg",backdrop:"static"})}initNetworkingOptions(){var t=this;return(0,b.A)(function*(){try{t.getNetworkSettings(),(t.$settings.env.runningInLinux||t.$settings.env.runningInDocker||t.$settings.env.runningInSynologyPackage||t.$settings.env.runningInPackageMode)&&(t.showAvahiMdnsOption=!0,t.showResolvedMdnsOption=!0)}catch{}})()}getNetworkSettings(){var t=this;return(0,b.A)(function*(){return Promise.all([t.$api.get("/server/network-interfaces/system").toPromise(),t.$api.get("/server/network-interfaces/bridge").toPromise(),t.$api.get("/server/mdns-advertiser").toPromise()]).then(([n,r,m])=>{t.availableNetworkAdapters=n,t.buildBridgeNetworkAdapterList(r),t.legacyMdnsFormControl.patchValue(m.advertiser),t.legacyMdnsFormControl.valueChanges.subscribe(f=>{t.setHomebridgeMdnsSetting(f)})})})()}setHomebridgeMdnsSetting(t){var n=this;return(0,b.A)(function*(){n.$api.put("/server/mdns-advertiser",{advertiser:t}).subscribe(()=>{n.saved=!0,n.$notification.configUpdated.next(void 0)},r=>{n.$toastr.error(r.message,"Failed to set mdns advertiser.")})})()}setNetworkInterfaces(t){var n=this;return(0,b.A)(function*(){n.$api.put("/server/network-interfaces/bridge",{adapters:t}).subscribe(()=>{n.saved=!0,n.$notification.configUpdated.next(void 0)},r=>{n.$toastr.error(r.message,"Failed to set network adapters.")})})()}buildBridgeNetworkAdapterList(t){this.bridgeNetworkAdapters=t.length?t.map(n=>{const r=this.availableNetworkAdapters.find(m=>m.iface===n);return r?(r.selected=!0,r.missing=!1,r):{iface:n,missing:!0}}):[]}selectNetworkInterfaces(){const t=this.$modal.open(L,{size:"lg",backdrop:"static"});t.componentInstance.availableNetworkAdapters=this.availableNetworkAdapters,t.componentInstance.bridgeNetworkAdapters=this.bridgeNetworkAdapters,t.result.then(n=>{this.buildBridgeNetworkAdapterList(n),this.setNetworkInterfaces(n)}).catch(()=>{})}}return s=a,(0,o.A)(a,"\u0275fac",function(t){return new(t||s)(e.rXU(te.h),e.rXU(g.G),e.rXU(se.J),e.rXU(_.tw),e.rXU(u.Bq),e.rXU(ne.B))}),(0,o.A)(s,"\u0275cmp",e.VBU({type:s,selectors:[["app-settings"]],decls:168,vars:83,consts:[[1,"d-flex","justify-content-between"],[1,"primary-text","m-0"],["class","btn btn-primary waves-effect m-0","routerLink","/restart",4,"ngIf"],[1,"mb-4"],[1,"primary-text","mt-3"],[1,"list-group","mt-2"],[1,"list-group-item","d-block","d-md-flex","justify-content-between","align-items-center"],[1,"my-3","my-md-0","ps-0","ps-md-5","w-100",2,"max-width","500px!important"],[1,"custom-select",3,"ngModelChange","ngModel"],["value","auto"],["value","red"],["value","pink"],["value","purple"],["value","deep-purple"],["value","indigo"],["value","blue"],["value","navi-blue"],["value","blue-grey"],["value","cyan"],["value","green"],["value","teal"],["value","orange"],["value","amber"],["value","grey"],["value","brown"],["value","dark-mode"],["value","dark-mode-red"],["value","dark-mode-pink"],["value","dark-mode-purple"],["value","dark-mode-indigo"],["value","dark-mode-blue"],["value","dark-mode-blue-grey"],["value","dark-mode-green"],["value","dark-mode-grey"],["value","dark-mode-brown"],["value","dark-mode-teal"],["value","dark-mode-cyan"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"w-75","pe-2"],[1,"btn","btn-primary","waves-effect","m-0","ms-3",2,"min-width","50px",3,"click"],[1,"fas","fa-fw","fa-sliders"],["routerLink","/config",1,"btn","btn-primary","waves-effect","m-0","ms-3",2,"min-width","50px"],[1,"fas","fa-fw","fa-chevron-right"],[1,"pe-2"],["routerLink","/users",1,"btn","btn-primary","waves-effect","m-0","ms-3",2,"min-width","50px"],[1,"grey-text","pe-2"],[4,"ngFor","ngForOf"],[1,"btn","btn-primary","waves-effect","m-0","ms-3",2,"min-width","50px",3,"click","disabled"],[1,"fas","fa-fw","fa-chevron-right",3,"ngClass"],[1,"form-select",3,"formControl"],["value","bonjour-hap"],["value","avahi",4,"ngIf"],["value","resolved",4,"ngIf"],["value","ciao"],["class","my-3","novalidate","",3,"formGroup",4,"ngIf"],[1,"small","grey-text","mb-2"],[1,"grey-text"],["class","pb-3",4,"ngIf"],["routerLink","/restart",1,"btn","btn-primary","waves-effect","m-0"],[1,"badge","badge-pill","me-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"],["novalidate","",1,"my-3",3,"formGroup"],[1,"primary-text"],[1,"list-group","mb-4"],[1,"w-75"],["type","checkbox","id","homebridgeDebugMode","formControlName","HOMEBRIDGE_DEBUG",1,"rendux-input"],["for","homebridgeDebugMode",1,"rendux-label","ms-3",2,"min-width","50px"],["type","checkbox","id","homebridgeInsecureMode","formControlName","HOMEBRIDGE_INSECURE",1,"rendux-input"],["for","homebridgeInsecureMode",1,"rendux-label","ms-3",2,"min-width","50px"],["class","list-group-item d-flex justify-content-between align-items-center",4,"ngIf"],["class","mb-4",4,"ngIf"],["type","checkbox","id","homebridgeKeepOrphans","formControlName","HOMEBRIDGE_KEEP_ORPHANS",1,"rendux-input"],["for","homebridgeKeepOrphans",1,"rendux-label","ms-3",2,"min-width","50px"],["formControlName","ENV_DEBUG","type","text",1,"form-control","custom-input","form-control-sm"],["formControlName","ENV_NODE_OPTIONS","type","text",1,"form-control","custom-input","form-control-sm"],[1,"pb-3"]],template:function(t,n){1&t&&(e.j41(0,"div",0)(1,"h3",1),e.EFF(2),e.nI1(3,"translate"),e.k0s(),e.DNE(4,oe,4,6,"button",2),e.k0s(),e.j41(5,"div",3)(6,"h5",4),e.EFF(7),e.nI1(8,"translate"),e.k0s(),e.j41(9,"ul",5)(10,"li",6)(11,"span"),e.EFF(12),e.nI1(13,"translate"),e.k0s(),e.j41(14,"div",7)(15,"select",8),e.bIt("ngModelChange",function(m){return n.onThemeChange(m)}),e.j41(16,"option",9),e.EFF(17,"Default (Auto Dark Mode)"),e.k0s(),e.j41(18,"option",10),e.EFF(19,"Red"),e.k0s(),e.j41(20,"option",11),e.EFF(21,"Pink"),e.k0s(),e.j41(22,"option",12),e.EFF(23,"Purple"),e.k0s(),e.j41(24,"option",13),e.EFF(25,"Purple - Deep"),e.k0s(),e.j41(26,"option",14),e.EFF(27,"Indigo"),e.k0s(),e.j41(28,"option",15),e.EFF(29,"Blue"),e.k0s(),e.j41(30,"option",16),e.EFF(31,"Blue - Navi"),e.k0s(),e.j41(32,"option",17),e.EFF(33,"Blue Grey"),e.k0s(),e.j41(34,"option",18),e.EFF(35,"Cyan"),e.k0s(),e.j41(36,"option",19),e.EFF(37,"Green"),e.k0s(),e.j41(38,"option",20),e.EFF(39,"Teal"),e.k0s(),e.j41(40,"option",21),e.EFF(41,"Orange"),e.k0s(),e.j41(42,"option",22),e.EFF(43,"Amber"),e.k0s(),e.j41(44,"option",23),e.EFF(45,"Grey"),e.k0s(),e.j41(46,"option",24),e.EFF(47,"Brown"),e.k0s(),e.j41(48,"option",25),e.EFF(49,"Dark Mode - HomeKit Orange"),e.k0s(),e.j41(50,"option",26),e.EFF(51,"Dark Mode - Red"),e.k0s(),e.j41(52,"option",27),e.EFF(53,"Dark Mode - Pink"),e.k0s(),e.j41(54,"option",28),e.EFF(55,"Dark Mode - Purple"),e.k0s(),e.j41(56,"option",29),e.EFF(57,"Dark Mode - Indigo"),e.k0s(),e.j41(58,"option",30),e.EFF(59,"Dark Mode - Blue"),e.k0s(),e.j41(60,"option",31),e.EFF(61,"Dark Mode - Blue Grey"),e.k0s(),e.j41(62,"option",32),e.EFF(63,"Dark Mode - Green"),e.k0s(),e.j41(64,"option",33),e.EFF(65,"Dark Mode - Grey"),e.k0s(),e.j41(66,"option",34),e.EFF(67,"Dark Mode - Brown"),e.k0s(),e.j41(68,"option",35),e.EFF(69,"Dark Mode - Teal"),e.k0s(),e.j41(70,"option",36),e.EFF(71,"Dark Mode - Cyan"),e.k0s()()()(),e.j41(72,"li",37)(73,"span",38),e.EFF(74),e.nI1(75,"translate"),e.k0s(),e.j41(76,"button",39),e.bIt("click",function(){return n.openUiSettings()}),e.nrm(77,"i",40),e.k0s()(),e.j41(78,"li",37)(79,"span",38),e.EFF(80),e.nI1(81,"translate"),e.k0s(),e.j41(82,"a",41),e.nrm(83,"i",42),e.k0s()(),e.j41(84,"li",37)(85,"span",43),e.EFF(86),e.nI1(87,"translate"),e.k0s(),e.j41(88,"button",39),e.bIt("click",function(){return n.openBackupModal()}),e.nrm(89,"i",42),e.k0s()(),e.j41(90,"li",37)(91,"span",43),e.EFF(92),e.nI1(93,"translate"),e.k0s(),e.j41(94,"button",39),e.bIt("click",function(){return n.openRestoreModal()}),e.nrm(95,"i",42),e.k0s()(),e.j41(96,"li",37)(97,"span",38),e.EFF(98),e.nI1(99,"translate"),e.k0s(),e.j41(100,"a",44),e.nrm(101,"i",42),e.k0s()()()(),e.j41(102,"div",3)(103,"h5",4),e.EFF(104),e.nI1(105,"translate"),e.k0s(),e.j41(106,"ul",5)(107,"li",37)(108,"span",38)(109,"div"),e.EFF(110),e.nI1(111,"translate"),e.j41(112,"small",45),e.EFF(113),e.nI1(114,"translate"),e.k0s()(),e.DNE(115,le,7,9,"span",46),e.k0s(),e.j41(116,"button",47),e.nI1(117,"translate"),e.bIt("click",function(){return n.selectNetworkInterfaces()}),e.nrm(118,"i",48),e.k0s()(),e.j41(119,"li",6)(120,"span"),e.EFF(121),e.nI1(122,"translate"),e.nrm(123,"br"),e.j41(124,"small",45),e.EFF(125),e.nI1(126,"translate"),e.k0s()(),e.j41(127,"div",7)(128,"select",49),e.nI1(129,"translate"),e.j41(130,"option",50),e.EFF(131,"Bonjour HAP"),e.k0s(),e.DNE(132,ce,2,0,"option",51)(133,de,2,0,"option",52),e.j41(134,"option",53),e.EFF(135,"Ciao"),e.k0s()()()()()(),e.DNE(136,ue,26,21,"form",54),e.j41(137,"div",3)(138,"h5",4),e.EFF(139),e.nI1(140,"translate"),e.k0s(),e.j41(141,"p",55),e.EFF(142),e.nI1(143,"translate"),e.k0s(),e.j41(144,"ul",5)(145,"li",37)(146,"span",38),e.EFF(147),e.nI1(148,"translate"),e.nrm(149,"br"),e.j41(150,"small",45),e.EFF(151),e.nI1(152,"translate"),e.k0s()(),e.j41(153,"button",39),e.nI1(154,"translate"),e.bIt("click",function(){return n.unpairAccessory()}),e.nrm(155,"i",42),e.k0s()(),e.j41(156,"li",37)(157,"span",38),e.EFF(158),e.nI1(159,"translate"),e.nI1(160,"titlecase"),e.j41(161,"small",56),e.EFF(162),e.nI1(163,"translate"),e.k0s()(),e.j41(164,"button",39),e.nI1(165,"translate"),e.bIt("click",function(){return n.resetHomebridgeState()}),e.nrm(166,"i",42),e.k0s()()()(),e.DNE(167,be,29,24,"div",57)),2&t&&(e.R7$(2),e.SpI(" ",e.bMT(3,33,"menu.settings.title")," "),e.R7$(2),e.Y8G("ngIf",n.saved),e.R7$(3),e.JRh(e.bMT(8,35,"settings.general.title_general")),e.R7$(5),e.JRh(e.bMT(13,37,"settings.theme")),e.R7$(3),e.Y8G("ngModel",n.$settings.theme),e.R7$(59),e.SpI(" ",e.bMT(75,39,"menu.label_settings_ui")," "),e.R7$(6),e.SpI(" ",e.bMT(81,41,"menu.config_json_editor")," "),e.R7$(6),e.SpI(" ",e.bMT(87,43,"backup.title_backup")," "),e.R7$(6),e.SpI(" ",e.bMT(93,45,"backup.title_restore")," "),e.R7$(6),e.SpI(" ",e.bMT(99,47,"menu.tooltip_user_accounts")," "),e.R7$(6),e.JRh(e.bMT(105,49,"settings.network.title_network")),e.R7$(6),e.SpI("",e.bMT(111,51,"settings.network.title_network_interfaces")," "),e.R7$(3),e.JRh(e.bMT(114,53,"settings.network.message_network_interface")),e.R7$(2),e.Y8G("ngForOf",n.bridgeNetworkAdapters),e.R7$(),e.Y8G("disabled",!n.availableNetworkAdapters.length),e.BMQ("aria-label",e.bMT(117,55,"settings.network.title_network_interfaces")),e.R7$(2),e.Y8G("ngClass",e.eq3(81,ie,!n.availableNetworkAdapters.length)),e.R7$(3),e.SpI(" ",e.bMT(122,57,"settings.mdns_advertiser"),""),e.R7$(4),e.JRh(e.bMT(126,59,"settings.mdns_advertiser_help")),e.R7$(3),e.Y8G("formControl",n.legacyMdnsFormControl),e.BMQ("aria-label",e.bMT(129,61,"settings.mdns_advertiser")),e.R7$(4),e.Y8G("ngIf",n.showAvahiMdnsOption),e.R7$(),e.Y8G("ngIf",n.showResolvedMdnsOption),e.R7$(3),e.Y8G("ngIf",n.$settings.env.serviceMode),e.R7$(3),e.JRh(e.bMT(140,63,"reset.title_reset")),e.R7$(3),e.JRh(e.bMT(143,65,"settings.reset.help")),e.R7$(5),e.SpI(" ",e.bMT(148,67,"reset.title_unpair_bridges_cameras_tv_external_accessories"),""),e.R7$(4),e.JRh(e.bMT(152,69,"reset.message_unpair_bridges_cameras_tv_external_accessories")),e.R7$(2),e.BMQ("aria-label",e.bMT(154,71,"reset.title_unpair_bridges_cameras_tv_external_accessories")),e.R7$(5),e.SpI(" ",e.bMT(160,75,e.bMT(159,73,"reset.title_reset_homebridge_accessory"))," "),e.R7$(4),e.JRh(e.bMT(163,77,"reset.message_reset_will_unpair_from_homekit")),e.R7$(2),e.BMQ("aria-label",e.bMT(165,79,"reset.title_reset_homebridge_accessory")),e.R7$(3),e.Y8G("ngIf",n.$settings.env.serviceMode))},dependencies:[d.YU,d.Sq,d.bT,l.qT,l.xH,l.y7,l.me,l.Zm,l.wz,l.BC,l.cb,l.vS,l.l_,l.j4,l.JD,h.Wk,d.PV,p.D9]})),a})(),canActivate:[F.f]}];let ge=(()=>{var s;class a{}return s=a,(0,o.A)(a,"\u0275fac",function(t){return new(t||s)}),(0,o.A)(s,"\u0275mod",e.$C({type:s})),(0,o.A)(s,"\u0275inj",e.G2t({imports:[h.iI.forChild(_e),h.iI]})),a})(),fe=(()=>{var s;class a{}return s=a,(0,o.A)(a,"\u0275fac",function(t){return new(t||s)}),(0,o.A)(s,"\u0275mod",e.$C({type:s})),(0,o.A)(s,"\u0275inj",e.G2t({imports:[d.MD,l.YN,l.X1,p.h,u.UN,ge]})),a})()}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkui=self.webpackChunkui||[]).push([[703],{86703:(c,p,n)=>{n.r(p),n.d(p,{SupportModule:()=>g});var s=n(99842),m=n(60177),u=n(89417),d=n(6400),a=n(19664),l=n(44550),e=n(54438),h=n(33578);const b=[{path:"",component:(()=>{var t;class r{constructor(o){(0,s.A)(this,"$settings",void 0),this.$settings=o}ngOnInit(){}}return t=r,(0,s.A)(r,"\u0275fac",function(o){return new(o||t)(e.rXU(h.h))}),(0,s.A)(t,"\u0275cmp",e.VBU({type:t,selectors:[["app-support"]],decls:94,vars:33,consts:[[1,"d-flex","justify-content-between"],[1,"primary-text","m-0"],[1,"mb-4"],[1,"primary-text","mt-3"],[1,"list-group","mt-2"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"pe-2"],[1,"grey-text","pe-2"],["href","https://github.com/homebridge/homebridge/wiki","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","
|
|
1
|
+
"use strict";(self.webpackChunkui=self.webpackChunkui||[]).push([[703],{86703:(c,p,n)=>{n.r(p),n.d(p,{SupportModule:()=>g});var s=n(99842),m=n(60177),u=n(89417),d=n(6400),a=n(19664),l=n(44550),e=n(54438),h=n(33578);const b=[{path:"",component:(()=>{var t;class r{constructor(o){(0,s.A)(this,"$settings",void 0),this.$settings=o}ngOnInit(){}}return t=r,(0,s.A)(r,"\u0275fac",function(o){return new(o||t)(e.rXU(h.h))}),(0,s.A)(t,"\u0275cmp",e.VBU({type:t,selectors:[["app-support"]],decls:94,vars:33,consts:[[1,"d-flex","justify-content-between"],[1,"primary-text","m-0"],[1,"mb-4"],[1,"primary-text","mt-3"],[1,"list-group","mt-2"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"pe-2"],[1,"grey-text","pe-2"],["href","https://github.com/homebridge/homebridge/wiki","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],[1,"fas","fa-fw","fa-external-link-alt"],["href","https://github.com/homebridge/homebridge-config-ui-x/issues/new/choose","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["href","https://discord.gg/C87Pvq3","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["href","https://www.reddit.com/r/homebridge/","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],[1,"pb-3"],["href","/swagger","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["href","https://developers.homebridge.io/#/","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["href","https://developers.homebridge.io/HAP-NodeJS/","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["href","https://github.com/homebridge/homebridge-plugin-template","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"]],template:function(o,v){1&o&&(e.j41(0,"div",0)(1,"h3",1),e.EFF(2),e.nI1(3,"translate"),e.k0s()(),e.j41(4,"div",2)(5,"h5",3),e.EFF(6),e.nI1(7,"translate"),e.k0s(),e.j41(8,"ul",4)(9,"li",5)(10,"span",6),e.EFF(11),e.nI1(12,"translate"),e.nrm(13,"br"),e.j41(14,"small",7),e.EFF(15," The Homebridge documentation provides a wealth of information on how to get started with Homebridge and common issue resolutions. "),e.k0s()(),e.j41(16,"a",8),e.nrm(17,"i",9),e.k0s()(),e.j41(18,"li",5)(19,"span",6),e.EFF(20),e.nI1(21,"translate"),e.nrm(22,"br"),e.j41(23,"small",7),e.EFF(24," If you are experiencing an issue with Homebridge, please open a new issue on GitHub. This should not be used for issues with specific plugins. "),e.k0s()(),e.j41(25,"a",10),e.nrm(26,"i",9),e.k0s()(),e.j41(27,"li",5)(28,"span",6),e.EFF(29),e.nI1(30,"translate"),e.nrm(31,"br"),e.j41(32,"small",7),e.EFF(33," Join the Homebridge Discord chat server to chat with other users and developers. "),e.k0s()(),e.j41(34,"a",11),e.nrm(35,"i",9),e.k0s()(),e.j41(36,"li",5)(37,"span",6),e.EFF(38),e.nI1(39,"translate"),e.nrm(40,"br"),e.j41(41,"small",7),e.EFF(42," The Homebridge subreddit is a great place to share your Homebridge setup and ask for help. "),e.k0s()(),e.j41(43,"a",12),e.nrm(44,"i",9),e.k0s()()()(),e.j41(45,"div",13)(46,"h5",3),e.EFF(47),e.nI1(48,"translate"),e.k0s(),e.j41(49,"ul",4)(50,"li",5)(51,"span",6),e.EFF(52),e.nI1(53,"translate"),e.nrm(54,"br"),e.j41(55,"small",7),e.EFF(56," The Homebridge REST API allows you to interact with your Homebridge server using HTTP requests. "),e.k0s()(),e.j41(57,"a",14),e.nrm(58,"i",9),e.k0s()(),e.j41(59,"li",5)(60,"span",6),e.EFF(61),e.nI1(62,"translate"),e.nrm(63,"br"),e.j41(64,"small",7),e.EFF(65," Homebridge is a lightweight Node.js server you can run on your home network that emulates the iOS HomeKit API. "),e.k0s()(),e.j41(66,"a",15),e.nrm(67,"i",9),e.k0s()(),e.j41(68,"li",5)(69,"span",6),e.EFF(70),e.nI1(71,"translate"),e.nrm(72,"br"),e.j41(73,"small",7),e.EFF(74," HAP-NodeJS is an implementation of the HomeKit Accessory Server as specified in the HomeKit Accessory Protocol (HAP), which is defined by Apple as part of the HomeKit Framework. "),e.k0s()(),e.j41(75,"a",16),e.nrm(76,"i",9),e.k0s()(),e.j41(77,"li",5)(78,"span",6),e.EFF(79),e.nI1(80,"translate"),e.nrm(81,"br"),e.j41(82,"small",7),e.EFF(83," A template Homebridge plugin that can be used as a base to help you get started developing your own plugin. "),e.k0s()(),e.j41(84,"a",17),e.nrm(85,"i",9),e.k0s()(),e.j41(86,"li",5)(87,"span",6),e.EFF(88," Verified By Homebridge"),e.nrm(89,"br"),e.j41(90,"small",7),e.EFF(91," The Verified By Homebridge program allows plugin developers to get their plugins reviewed and endorsed by the Homebridge project team. "),e.k0s()(),e.j41(92,"a",17),e.nrm(93,"i",9),e.k0s()()()()),2&o&&(e.R7$(2),e.JRh(e.bMT(3,11,"support.title")),e.R7$(4),e.JRh(e.bMT(7,13,"support.useful_links.title")),e.R7$(5),e.SpI(" ",e.bMT(12,15,"support.useful_links.documentation"),""),e.R7$(9),e.SpI(" ",e.bMT(21,17,"support.useful_links.issue"),""),e.R7$(9),e.SpI(" ",e.bMT(30,19,"support.useful_links.discord"),""),e.R7$(9),e.SpI(" ",e.bMT(39,21,"support.useful_links.reddit"),""),e.R7$(9),e.JRh(e.bMT(48,23,"support.developers.title")),e.R7$(5),e.SpI(" ",e.bMT(53,25,"support.developers.item_swagger"),""),e.R7$(9),e.SpI(" ",e.bMT(62,27,"support.developers.api"),""),e.R7$(9),e.SpI(" ",e.bMT(71,29,"support.developers.api_hap"),""),e.R7$(9),e.SpI(" ",e.bMT(80,31,"support.developers.template"),""))},dependencies:[a.D9]})),r})()}];let f=(()=>{var t;class r{}return t=r,(0,s.A)(r,"\u0275fac",function(o){return new(o||t)}),(0,s.A)(t,"\u0275mod",e.$C({type:t})),(0,s.A)(t,"\u0275inj",e.G2t({imports:[l.iI.forChild(b),l.iI]})),r})(),g=(()=>{var t;class r{}return t=r,(0,s.A)(r,"\u0275fac",function(o){return new(o||t)}),(0,s.A)(t,"\u0275mod",e.$C({type:t})),(0,s.A)(t,"\u0275inj",e.G2t({imports:[m.MD,f,d.UN,u.X1,a.h]})),r})()}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunkui=self.webpackChunkui||[]).push([[76],{39290:(U,m,i)=>{i.d(m,{y:()=>O});var l=i(10467),r=i(99842),c=i(21626),d=i(53120),u=i(90868),t=i(54438),b=i(44550),f=i(6400),p=i(19664),h=i(45794),R=i(7981),v=i(67092),g=i(60177);function I(s,a){if(1&s){const n=t.RV6();t.j41(0,"button",7),t.nI1(1,"translate"),t.bIt("click",function(){t.eBV(n);const o=t.XpG();return t.Njj(o.activeModal.dismiss("Dismiss"))}),t.k0s()}2&s&&t.BMQ("aria-label",t.bMT(1,1,"form.button_close"))}function k(s,a){if(1&s){const n=t.RV6();t.j41(0,"div",8)(1,"p"),t.EFF(2),t.nI1(3,"translate"),t.k0s(),t.j41(4,"p"),t.EFF(5),t.nI1(6,"translate"),t.k0s(),t.j41(7,"p"),t.EFF(8),t.nI1(9,"translate"),t.k0s(),t.j41(10,"div",9)(11,"input",10),t.bIt("change",function(o){t.eBV(n);const _=t.XpG();return t.Njj(_.handleRestoreFileInput(o.target.files))}),t.k0s(),t.j41(12,"label",11),t.EFF(13),t.nI1(14,"translate"),t.k0s()()()}if(2&s){const n=t.XpG();t.R7$(2),t.JRh(t.bMT(3,4,"backup.message_restore_help_one")),t.R7$(3),t.JRh(t.bMT(6,6,"backup.message_restore_help_two")),t.R7$(3),t.JRh(t.bMT(9,8,"backup.message_restore_warning")),t.R7$(5),t.SpI(" ",t.bMT(14,10,(null==n.selectedFile?null:n.selectedFile.name)||"backup.label_choose_backup_file_to_restore")," ")}}function E(s,a){if(1&s){const n=t.RV6();t.j41(0,"button",18),t.nI1(1,"translate"),t.bIt("click",function(){t.eBV(n);const o=t.XpG(2);return t.Njj(o.activeModal.dismiss("Dismiss"))}),t.EFF(2),t.nI1(3,"translate"),t.k0s()}2&s&&(t.BMQ("aria-label",t.bMT(1,2,"form.button_close")),t.R7$(2),t.SpI(" ",t.bMT(3,4,"form.button_close")," "))}function T(s,a){if(1&s){const n=t.RV6();t.j41(0,"button",18),t.nI1(1,"translate"),t.bIt("click",function(){t.eBV(n);const o=t.XpG(2);return t.Njj(o.activeModal.dismiss("Dismiss"))}),t.EFF(2),t.nI1(3,"translate"),t.k0s()}2&s&&(t.BMQ("aria-label",t.bMT(1,2,"form.button_close")),t.R7$(2),t.SpI(" ",t.bMT(3,4,"form.button_close")," "))}function A(s,a){1&s&&t.nrm(0,"i",22)}function M(s,a){if(1&s&&(t.j41(0,"span"),t.EFF(1),t.k0s()),2&s){const n=t.XpG(4);t.R7$(),t.SpI("",n.uploadPercent,"% - ")}}function P(s,a){1&s&&(t.j41(0,"span"),t.EFF(1," Extracting Archive"),t.k0s())}function F(s,a){1&s&&(t.j41(0,"span"),t.EFF(1),t.nI1(2,"translate"),t.k0s()),2&s&&(t.R7$(),t.SpI(" ",t.bMT(2,1,"backup.label_uploading"),""))}function D(s,a){if(1&s&&(t.j41(0,"span"),t.DNE(1,A,1,0,"i",21)(2,M,2,1,"span",20)(3,P,2,0,"span",20)(4,F,3,3,"span",20),t.k0s()),2&s){const n=t.XpG(3);t.R7$(),t.Y8G("ngIf",!n.uploadPercent||100===n.uploadPercent),t.R7$(),t.Y8G("ngIf",n.uploadPercent&&100!==n.uploadPercent),t.R7$(),t.Y8G("ngIf",100===n.uploadPercent),t.R7$(),t.Y8G("ngIf",100!==n.uploadPercent)}}function $(s,a){1&s&&(t.j41(0,"span"),t.EFF(1),t.nI1(2,"translate"),t.k0s()),2&s&&(t.R7$(),t.JRh(t.bMT(2,1,"backup.button_restore_backup")))}function C(s,a){if(1&s){const n=t.RV6();t.j41(0,"button",19),t.bIt("click",function(){t.eBV(n);const o=t.XpG(2);return t.Njj(o.onRestoreBackupClick())}),t.DNE(1,D,5,4,"span",20)(2,$,3,3,"span",20),t.k0s()}if(2&s){const n=t.XpG(2);t.Y8G("disabled",n.clicked),t.R7$(),t.Y8G("ngIf",n.clicked),t.R7$(),t.Y8G("ngIf",!n.clicked)}}function x(s,a){if(1&s&&(t.j41(0,"div",12)(1,"div",13),t.DNE(2,E,4,6,"button",14),t.k0s(),t.j41(3,"div",15),t.DNE(4,T,4,6,"button",14),t.k0s(),t.j41(5,"div",16),t.DNE(6,C,3,3,"button",17),t.k0s()()),2&s){const n=t.XpG();t.R7$(2),t.Y8G("ngIf",n.selectedFile),t.R7$(2),t.Y8G("ngIf",!n.selectedFile),t.R7$(2),t.Y8G("ngIf",n.selectedFile)}}function j(s,a){if(1&s){const n=t.RV6();t.j41(0,"div",12),t.nrm(1,"div",13),t.j41(2,"div",15)(3,"button",23),t.bIt("click",function(){t.eBV(n);const o=t.XpG();return t.Njj(o.postBackupRestart())}),t.EFF(4),t.nI1(5,"translate"),t.k0s()(),t.nrm(6,"div",16),t.k0s()}2&s&&(t.R7$(4),t.SpI(" ",t.bMT(5,1,"menu.hbrestart.title")," "))}let O=(()=>{var s;class a{constructor(e,o,_,B,y,G){(0,r.A)(this,"$route",void 0),(0,r.A)(this,"activeModal",void 0),(0,r.A)(this,"translate",void 0),(0,r.A)(this,"$toastr",void 0),(0,r.A)(this,"$api",void 0),(0,r.A)(this,"$ws",void 0),(0,r.A)(this,"setupWizardRestore",!1),(0,r.A)(this,"clicked",!1),(0,r.A)(this,"selectedFile",void 0),(0,r.A)(this,"restoreInProgress",!1),(0,r.A)(this,"restoreStarted",!1),(0,r.A)(this,"restoreFailed",!1),(0,r.A)(this,"restoreArchiveType","homebridge"),(0,r.A)(this,"uploadPercent",0),(0,r.A)(this,"term",new d.Terminal),(0,r.A)(this,"termTarget",void 0),(0,r.A)(this,"fitAddon",new u.FitAddon),(0,r.A)(this,"io",void 0),this.$route=e,this.activeModal=o,this.translate=_,this.$toastr=B,this.$api=y,this.$ws=G}ngOnInit(){var e=this;return(0,l.A)(function*(){e.io=e.$ws.connectToNamespace("backup"),e.termTarget=document.getElementById("plugin-log-output"),e.term.open(e.termTarget),e.fitAddon.fit(),e.io.socket.on("stdout",o=>{e.term.write(o)}),e.setupWizardRestore&&(e.restoreStarted=!0,e.restoreInProgress=!0,e.startRestore())})()}onRestoreBackupClick(){"homebridge"===this.restoreArchiveType?this.uploadHomebridgeArchive():"hbfx"===this.restoreArchiveType&&this.uploadHbfxArchive()}uploadHomebridgeArchive(){this.term.reset(),this.clicked=!0;const e=new FormData;e.append("restoreArchive",this.selectedFile,this.selectedFile.name),this.$api.post("/backup/restore",e).subscribe(()=>{this.restoreStarted=!0,this.restoreInProgress=!0,setTimeout(()=>{this.startRestore()},500),this.clicked=!1},o=>{var _;this.$toastr.error((null==o||null===(_=o.error)||void 0===_?void 0:_.message)||this.translate.instant("backup.message_restore_failed"),this.translate.instant("toast.title_error")),this.clicked=!1})}startRestore(){var e=this;return(0,l.A)(function*(){yield e.io.request("do-restore").subscribe(()=>{e.restoreInProgress=!1,e.$toastr.success(e.translate.instant("backup.message_backup_restored"),e.translate.instant("toast.title_success")),e.setupWizardRestore&&e.postBackupRestart()},()=>{e.restoreFailed=!0,e.$toastr.error(e.translate.instant("backup.message_restore_failed"),e.translate.instant("toast.title_error"))})})()}uploadHbfxArchive(){this.term.reset(),this.clicked=!0;const e=new FormData;e.append("restoreArchive",this.selectedFile,this.selectedFile.name),this.$api.post("/backup/restore/hbfx",e,{reportProgress:!0,observe:"events"}).subscribe(o=>{o.type===c.hv.UploadProgress?this.uploadPercent=Math.round(100*o.loaded/o.total):o instanceof c.cS&&(this.restoreStarted=!0,this.restoreInProgress=!0,setTimeout(()=>{this.startHbfxRestore()},500),this.clicked=!1)},o=>{var _;this.$toastr.error((null==o||null===(_=o.error)||void 0===_?void 0:_.message)||this.translate.instant("backup.message_restore_failed"),this.translate.instant("toast.title_error")),this.clicked=!1})}startHbfxRestore(){var e=this;return(0,l.A)(function*(){e.io.request("do-restore-hbfx").subscribe(()=>{e.restoreInProgress=!1,e.$toastr.success(e.translate.instant("backup.message_backup_restored"),e.translate.instant("toast.title_success"))},()=>{e.restoreFailed=!0,e.$toastr.error(e.translate.instant("backup.message_restore_failed"),e.translate.instant("toast.title_error"))})})()}handleRestoreFileInput(e){e.length?(this.selectedFile=e[0],this.restoreArchiveType=this.selectedFile.name.endsWith(".hbfx")?"hbfx":"homebridge"):delete this.selectedFile}postBackupRestart(){this.$api.put("/backup/restart",{}).subscribe(()=>{this.activeModal.close(!0),this.$route.navigate(["/"])},()=>{})}ngOnDestroy(){this.io.end()}}return s=a,(0,r.A)(a,"\u0275fac",function(e){return new(e||s)(t.rXU(b.Ix),t.rXU(f.Lw),t.rXU(p.c$),t.rXU(h.tw),t.rXU(R.G),t.rXU(v.q))}),(0,r.A)(s,"\u0275cmp",t.VBU({type:s,selectors:[["app-restore"]],inputs:{setupWizardRestore:"setupWizardRestore"},decls:10,vars:8,consts:[[1,"modal-content","hb-backup-modal"],[1,"modal-header"],[1,"modal-title"],["type","button","class","btn-close","data-bs-dismiss","modal",3,"click",4,"ngIf"],["class","modal-body",4,"ngIf"],["id","plugin-log-output",1,"modal-body",3,"hidden"],["class","modal-footer justify-content-between",4,"ngIf"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"custom-file"],["type","file","id","restoreFileUpload","accept","application/gzip, .gz, .hbfx",1,"custom-file-input",3,"change"],["for","restoreFileUpload",1,"custom-file-label"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","class","btn btn-elegant","data-bs-dismiss","modal",3,"click",4,"ngIf"],[1,"text-center"],[1,"text-end"],["type","button","class","btn btn-primary","data-bs-dismiss","modal",3,"disabled","click",4,"ngIf"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],[4,"ngIf"],["class","fa fa-fw fa-circle-notch fa-spin",4,"ngIf"],[1,"fa","fa-fw","fa-circle-notch","fa-spin"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click"]],template:function(e,o){1&e&&(t.j41(0,"div",0)(1,"div",1)(2,"h5",2),t.EFF(3),t.nI1(4,"translate"),t.k0s(),t.DNE(5,I,2,3,"button",3),t.k0s(),t.DNE(6,k,15,12,"div",4),t.nrm(7,"div",5),t.DNE(8,x,7,3,"div",6)(9,j,7,3,"div",6),t.k0s()),2&e&&(t.R7$(3),t.JRh(t.bMT(4,6,"backup.title_restore")),t.R7$(2),t.Y8G("ngIf",!o.restoreInProgress),t.R7$(),t.Y8G("ngIf",!o.restoreStarted&&!o.setupWizardRestore),t.R7$(),t.Y8G("hidden",!o.restoreStarted),t.R7$(),t.Y8G("ngIf",!o.restoreStarted||!0===o.restoreFailed),t.R7$(),t.Y8G("ngIf",!o.restoreInProgress&&o.restoreStarted))},dependencies:[g.bT,p.D9]})),a})()}}]);
|
package/public/index.html
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<!doctype html>
|
|
2
|
-
<html lang="en"
|
|
2
|
+
<html lang="en">
|
|
3
3
|
|
|
4
4
|
<head>
|
|
5
5
|
<meta charset="utf-8">
|
|
@@ -18,10 +18,10 @@
|
|
|
18
18
|
<meta name="theme-color" content="#140a33" media="(prefers-color-scheme: light)">
|
|
19
19
|
<meta name="theme-color" content="#0f0f0f" media="(prefers-color-scheme: dark)">
|
|
20
20
|
|
|
21
|
-
<
|
|
21
|
+
<link rel="stylesheet" href="styles.7a8b4689b549fad4.css" crossorigin="use-credentials"></head>
|
|
22
22
|
|
|
23
23
|
<body>
|
|
24
24
|
<app-root></app-root>
|
|
25
|
-
<script src="runtime.
|
|
25
|
+
<script src="runtime.c94ffb7bc2880a1d.js" type="module" crossorigin="use-credentials"></script><script src="polyfills.4aaf0e33021878a1.js" type="module" crossorigin="use-credentials"></script><script src="main.1cac38853509f6d8.js" type="module" crossorigin="use-credentials"></script></body>
|
|
26
26
|
|
|
27
27
|
</html>
|