homebridge-config-ui-x 5.2.1-beta.1 → 5.2.1-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -1
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/modules/plugins/plugins.controller.js +0 -1
- package/dist/modules/plugins/plugins.controller.js.map +1 -1
- package/package.json +8 -8
- package/public/assets/monaco/min/vs/base/worker/workerMain.js +153 -142
- package/public/assets/monaco/min/vs/basic-languages/shell/shell.js +2 -2
- package/public/assets/monaco/min/vs/editor/editor.main.css +2 -2
- package/public/assets/monaco/min/vs/editor/editor.main.js +2309 -2158
- package/public/assets/monaco/min/vs/editor/editor.main.nls.js +32 -25
- package/public/assets/monaco/min/vs/language/json/jsonMode.js +2 -2
- package/public/assets/monaco/min/vs/language/json/jsonWorker.js +2 -2
- package/public/assets/monaco/min/vs/loader.js +32 -32
- package/public/{chunk-2C3RWXKQ.js → chunk-257Z3FEX.js} +1 -1
- package/public/chunk-2DZLV6J3.js +1 -0
- package/public/{chunk-HJ4ICK2R.js → chunk-2YY7HCF4.js} +1 -1
- package/public/{chunk-CDCRD6XO.js → chunk-35OEX2R2.js} +1 -1
- package/public/{chunk-476RQ3NX.js → chunk-3HR7D3CJ.js} +1 -1
- package/public/{chunk-SVAR3FIQ.js → chunk-4ZYGJMXW.js} +1 -1
- package/public/{chunk-NP3V73ET.js → chunk-53FPP2IJ.js} +1 -1
- package/public/{chunk-WNF5D33J.js → chunk-5ZKOITQZ.js} +1 -1
- package/public/{chunk-2J6ZQMG6.js → chunk-6P5CBUSK.js} +1 -1
- package/public/chunk-6RB567N4.js +4 -0
- package/public/{chunk-BTJTPB64.js → chunk-7622KGTL.js} +1 -1
- package/public/{chunk-2HIOHBJY.js → chunk-7HCGM76M.js} +1 -1
- package/public/{chunk-UYM3XX25.js → chunk-7ILRTIPC.js} +1 -1
- package/public/{chunk-VC34WV7F.js → chunk-A3SWYDYK.js} +1 -1
- package/public/{chunk-JHLOMHBB.js → chunk-AUWR5H2A.js} +1 -1
- package/public/chunk-BCK7KVRQ.js +1 -0
- package/public/{chunk-QKWUY26L.js → chunk-E74SDSOB.js} +1 -1
- package/public/{chunk-MHTDGCRA.js → chunk-FAELDM7K.js} +1 -1
- package/public/chunk-FM3OFRLV.js +1 -0
- package/public/{chunk-2DDZC7QA.js → chunk-GK4OAY7M.js} +1 -1
- package/public/{chunk-YEYPP7U2.js → chunk-IOZZWAPL.js} +1 -1
- package/public/{chunk-T4LX3SC4.js → chunk-JQTSHXFE.js} +1 -1
- package/public/{chunk-HAW5WR2X.js → chunk-L2KN725U.js} +1 -1
- package/public/{chunk-5PTHEKSX.js → chunk-LHPZ4GZG.js} +1 -1
- package/public/{chunk-COFFIBVI.js → chunk-LMME7DF7.js} +1 -1
- package/public/{chunk-7CJ7A4LZ.js → chunk-LWX72DT2.js} +1 -1
- package/public/{chunk-4MWWDRFR.js → chunk-MSF5I4U2.js} +1 -1
- package/public/{chunk-PEL5FBN3.js → chunk-N5JWFVOK.js} +1 -1
- package/public/{chunk-N4CMSHPE.js → chunk-N5XBHM63.js} +1 -1
- package/public/{chunk-5DOV2IV3.js → chunk-NGIL2WPB.js} +1 -1
- package/public/{chunk-24IPJ4EL.js → chunk-NM63HVCD.js} +1 -1
- package/public/{chunk-XRMWGD7S.js → chunk-NO3KHC6W.js} +1 -1
- package/public/{chunk-ZWBBHOEC.js → chunk-NXVXHA2V.js} +1 -1
- package/public/{chunk-ZRCAXQK4.js → chunk-P7J6OX3V.js} +1 -1
- package/public/{chunk-R2YDG3AB.js → chunk-Q4VLAFNC.js} +1 -1
- package/public/{chunk-C4VRNIVO.js → chunk-Q5REQXYQ.js} +1 -1
- package/public/chunk-QXJKMGDB.js +1 -0
- package/public/{chunk-233JOSVL.js → chunk-R6XXAITV.js} +1 -1
- package/public/{chunk-E6ZNKUPT.js → chunk-RQRINXWC.js} +1 -1
- package/public/chunk-VH7ATYMN.js +1 -0
- package/public/{chunk-5HBKNIA2.js → chunk-WK6HLUOP.js} +1 -1
- package/public/{chunk-Z2Z26TH3.js → chunk-X2DFA2MY.js} +1 -1
- package/public/{chunk-JIF7Z4GX.js → chunk-XP3CHSCB.js} +1 -1
- package/public/chunk-XPNLZZEF.js +1 -0
- package/public/{chunk-L6VE5AKY.js → chunk-YEHVECR5.js} +1 -1
- package/public/{chunk-ICRMBJHC.js → chunk-YGYN2VIN.js} +1 -1
- package/public/chunk-ZT56WXIZ.js +2 -0
- package/public/index.html +1 -1
- package/public/main-AMBVFZVI.js +1 -0
- package/public/chunk-2OLK2DSX.js +0 -1
- package/public/chunk-DDAEYXAV.js +0 -2
- package/public/chunk-KY5Z2K4N.js +0 -1
- package/public/chunk-MUVWHC6J.js +0 -1
- package/public/chunk-P6IBW5WT.js +0 -4
- package/public/chunk-QDYHRXMR.js +0 -1
- package/public/chunk-VI75BLF4.js +0 -1
- package/public/chunk-YIHGVVVZ.js +0 -1
- package/public/main-NCEIFIQX.js +0 -1
package/public/chunk-2OLK2DSX.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as le}from"./chunk-ADNBR4EK.js";import{g as W,m as j,n as oe}from"./chunk-PSSVCFFV.js";import{A as P,b as re,c as V,d as x,e as N,f as O,g as A,j as w,m as Q,o as H,p as J,q as K,x as ae,z as G}from"./chunk-K2NEWUWG.js";import{b as X}from"./chunk-2HIOHBJY.js";import{b as se}from"./chunk-QRQBCPWO.js";import{a as ve}from"./chunk-MHTDGCRA.js";import{k,n as B}from"./chunk-SVAR3FIQ.js";import{a as $,b as U}from"./chunk-ZG3HINDJ.js";import"./chunk-K7QEGT3E.js";import{$b as L,Dc as F,Hb as u,Hc as o,Ib as h,Ic as s,Jb as g,Jc as ne,Lb as ee,Mb as te,Nb as ie,Ob as f,Pb as r,Qb as n,Rb as c,Sb as S,Tb as D,Ub as q,_b as I,ab as e,bc as _,cc as z,dc as v,g as _e,id as R,la as p,mb as y,qc as m,ra as T,rc as d,sa as M,sc as C}from"./chunk-V7SOQAC5.js";function xe(i,E){i&1&&(r(0,"ngb-alert",13)(1,"p",20),m(2),o(3,"translate"),n()()),i&2&&(f("dismissible",!1),e(2),d(s(3,2,"login.invalid_password")))}var me=(()=>{class i{$activeModal=p(j);$api=p(B);$toastr=p(k);$translate=p($);invalidCredentials=!1;formGroup=new A({password:new w("",[x.required])});disable2fa(){this.invalidCredentials=!1,this.$api.post("/users/otp/deactivate",this.formGroup.value).subscribe({next:()=>{this.$activeModal.close(),this.$toastr.success(this.$translate.instant("users.setup_2fa_disable_success"),this.$translate.instant("toast.title_success"))},error:()=>{this.formGroup.setValue({password:""}),this.invalidCredentials=!0}})}dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(a){return new(a||i)};static \u0275cmp=y({type:i,selectors:[["ng-component"]],decls:34,vars:27,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,"text-center","mb-3"],[1,"fas","fa-fw","fa-key","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["type","password","autocomplete","current-password",1,"form-control","custom-input",3,"formControl","placeholder"],["type","error",1,"mt-3","mb-0",3,"dismissible"],[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,"mb-0"]],template:function(a,l){a&1&&(r(0,"div",0)(1,"div",1)(2,"h5",2),m(3),o(4,"translate"),n(),r(5,"button",3),o(6,"translate"),_("click",function(){return l.dismissModal()}),n()(),r(7,"div",4)(8,"div",5),c(9,"i",6),n(),r(10,"ul",7)(11,"li"),m(12),o(13,"translate"),n()(),r(14,"ul",8)(15,"li",9)(16,"label",10),m(17),o(18,"translate"),n(),r(19,"div",11),c(20,"input",12),o(21,"translate"),n()()(),h(22,xe,4,4,"ngb-alert",13),n(),r(23,"div",14)(24,"div",15)(25,"button",16),o(26,"translate"),_("click",function(){return l.dismissModal()}),m(27),o(28,"translate"),n()(),c(29,"div",17),r(30,"div",18)(31,"button",19),_("click",function(){return l.disable2fa()}),m(32),o(33,"translate"),n()()()()),a&2&&(e(3),d(s(4,11,"users.setup_2fa_disable")),e(2),u("aria-label",s(6,13,"form.button_close")),e(7),d(s(13,15,"users.setup_2fa_disable_current_password")),e(5),d(s(18,17,"users.label_password")),e(3),f("formControl",l.formGroup.controls.password)("placeholder",s(21,19,"users.label_password")),e(2),g(l.invalidCredentials&&!l.formGroup.controls.password.value?22:-1),e(3),u("aria-label",s(26,21,"form.button_close")),e(2),C(" ",s(28,23,"form.button_close")," "),e(4),f("disabled",l.formGroup.invalid),e(),C(" ",s(33,25,"form.button_disable")," "))},dependencies:[G,V,N,P,H,W,U],encapsulation:2})}return i})();var de=_e(ve(),1);var we=i=>({timeDiffError:i});function Ce(i,E){i&1&&(r(0,"li"),m(1),o(2,"translate"),n()),i&2&&(e(),d(s(2,1,"users.setup_2fa_scan_qr_code")))}function he(i,E){if(i&1&&(r(0,"ngb-alert",8)(1,"p",16),m(2),o(3,"translate"),n(),r(4,"p",17),m(5),o(6,"translate"),n()()),i&2){let t=v();f("dismissible",!1),e(2),d(s(3,3,"users.setup_2fa_cannot_setup_2fa")),e(3),d(ne(6,5,"users.setup_2fa_server_time_out",F(8,we,t.timeDiffError)))}}function ge(i,E){if(i&1&&(r(0,"ul",9)(1,"li",18)(2,"div",19),c(3,"app-qrcode",20),n()(),r(4,"li",21)(5,"label",22),m(6),o(7,"translate"),n(),r(8,"div",23),c(9,"input",24),n()()()),i&2){let t=v();e(3),f("data",t.otpString),e(3),d(s(7,3,"users.setup_2fa_enter_code")),e(3),f("formControl",t.formGroup.controls.code)}}function Ee(i,E){if(i&1){let t=I();r(0,"button",25),o(1,"translate"),_("click",function(){T(t);let l=v();return M(l.dismissModal())}),m(2),o(3,"translate"),n()}i&2&&(u("aria-label",s(1,2,"form.button_close")),e(2),C(" ",s(3,4,"form.button_close")," "))}function ye(i,E){if(i&1){let t=I();r(0,"button",25),o(1,"translate"),_("click",function(){T(t);let l=v();return M(l.dismissModal())}),m(2),o(3,"translate"),n()}i&2&&(u("aria-label",s(1,2,"form.button_close")),e(2),C(" ",s(3,4,"form.button_close")," "))}function Se(i,E){if(i&1){let t=I();r(0,"button",26),_("click",function(){T(t);let l=v();return M(l.enable2fa())}),m(1),o(2,"translate"),n()}if(i&2){let t=v();f("disabled",t.formGroup.invalid),e(),C(" ",s(2,2,"form.button_enable")," ")}}var pe=(()=>{class i{$activeModal=p(j);$api=p(B);$toastr=p(k);$translate=p($);user;timeDiffError=null;otpString;formGroup=new A({code:new w("",[x.required,x.minLength(6),x.maxLength(6)])});ngOnInit(){this.$api.post("/users/otp/setup",{}).subscribe({next:t=>{this.checkTimeDiff(t.timestamp),this.timeDiffError||(this.otpString=t.otpauth)},error:t=>{this.$activeModal.dismiss(),console.error(t),this.$toastr.error(this.$translate.instant("users.setup_2fa_enable_error"),this.$translate.instant("toast.title_error"))}})}enable2fa(){this.$api.post("/users/otp/activate",this.formGroup.value).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("users.setup_2fa_enabled_success"),this.$translate.instant("toast.title_success")),this.$activeModal.close()},error:t=>{console.error(t),this.$toastr.error(this.$translate.instant("users.setup_2fa_activate_error"),this.$translate.instant("toast.title_error"))}})}dismissModal(){this.$activeModal.dismiss("Dismiss")}checkTimeDiff(t){let a=(0,de.default)(t).diff(new Date,"millisecond");a<-5e3||a>5e3?this.timeDiffError=a:this.timeDiffError=null}static \u0275fac=function(a){return new(a||i)};static \u0275cmp=y({type:i,selectors:[["ng-component"]],inputs:{user:"user"},decls:24,vars:15,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"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-key","primary-text",2,"font-size","75px"],[1,"mb-3"],["type","error",1,"mb-0",3,"dismissible"],[1,"list-group","list-group-box","mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"disabled"],[1,"fw-bold","mb-1"],[1,"mb-0"],[1,"list-group-item","text-center"],[1,"text-center","w-100","d-flex","justify-content-center"],[1,"mx-auto",2,"width","175px","height","175px",3,"data"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["type","text","placeholder","eg. 123456","autocomplete","one-time-code","autocapitalize","none","inputmode","numeric","pattern","[0-9]*",1,"form-control","custom-input",3,"formControl"],["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"]],template:function(a,l){a&1&&(r(0,"div",0)(1,"div",1)(2,"h5",2),m(3),o(4,"translate"),n(),r(5,"button",3),o(6,"translate"),_("click",function(){return l.dismissModal()}),n()(),r(7,"div",4)(8,"div",5),c(9,"i",6),n(),r(10,"ul",7)(11,"li"),m(12),o(13,"translate"),n(),h(14,Ce,3,3,"li"),n(),h(15,he,7,10,"ngb-alert",8),h(16,ge,10,5,"ul",9),n(),r(17,"div",10)(18,"div",11),h(19,Ee,4,6,"button",12),n(),r(20,"div",13),h(21,ye,4,6,"button",12),n(),r(22,"div",14),h(23,Se,3,4,"button",15),n()()()),a&2&&(e(3),d(s(4,9,"users.setup_2fa")),e(2),u("aria-label",s(6,11,"form.button_close")),e(7),d(s(13,13,"users.setup_2fa_warning")),e(2),g(l.timeDiffError?-1:14),e(),g(l.timeDiffError?15:-1),e(),g(l.timeDiffError?-1:16),e(3),g(l.timeDiffError?-1:19),e(2),g(l.timeDiffError?21:-1),e(2),g(l.timeDiffError?-1:23))},dependencies:[W,le,G,V,N,ae,P,H,U],encapsulation:2})}return i})();var ce=i=>({"is-invalid":i}),ue=(()=>{class i{$activeModal=p(j);$api=p(B);$toastr=p(k);$translate=p($);form=new A({username:new w("",[x.required]),name:new w("",[x.required]),password:new w("",[x.compose([x.required,x.minLength(4)])]),passwordConfirm:new w("",[x.required]),admin:new w(!0)},this.matchPassword);onSubmit({value:t}){this.$api.post("/users",t).subscribe({next:()=>{this.$activeModal.close(),this.$toastr.success(this.$translate.instant("users.toast_added_new_user"),this.$translate.instant("toast.title_success"))},error:a=>{this.$toastr.error(a.error.message||this.$translate.instant("users.toast_failed_to_add_user"),this.$translate.instant("toast.title_error"))}})}dismissModal(){this.$activeModal.dismiss("Dismiss")}matchPassword(t){let a=t.get("password").value,l=t.get("passwordConfirm").value;if(a!==l)t.get("passwordConfirm").setErrors({matchPassword:!0});else return null}static \u0275fac=function(a){return new(a||i)};static \u0275cmp=y({type:i,selectors:[["ng-component"]],decls:58,vars:50,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,"text-center","mb-3"],[1,"fas","fa-fw","fa-user-plus","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["for","form-username",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["formControlName","username","type","text","id","form-username","autocomplete","username","autocapitalize","none",1,"form-control","custom-input"],["for","form-name",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","name","type","text","id","form-name","autocomplete","name",1,"form-control","custom-input"],["for","form-pass",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","password","type","password","autocomplete","new-password","id","form-pass",1,"form-control","custom-input",3,"ngClass"],["for","form-pass-confirm",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","passwordConfirm","type","password","autocomplete","new-password","id","form-pass-confirm",1,"form-control","custom-input",3,"ngClass"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-start"],[1,"text-end","grey-text","d-flex","align-items-center"],["type","checkbox","id","isAdmin",1,"rendux-input"],["for","isAdmin",1,"rendux-label","ms-3"],[1,"modal-footer","justify-content-between"],["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(a,l){a&1&&(r(0,"div",0)(1,"form",1),_("ngSubmit",function(){return l.onSubmit(l.form)}),r(2,"div",2)(3,"h5",3),m(4),o(5,"translate"),n(),r(6,"button",4),o(7,"translate"),_("click",function(){return l.dismissModal()}),n()(),r(8,"div",5)(9,"div",6),c(10,"i",7),n(),r(11,"ul",8)(12,"li",9)(13,"label",10),m(14),o(15,"translate"),n(),r(16,"div",11),c(17,"input",12),o(18,"translate"),n()(),r(19,"li",9)(20,"label",13),m(21),o(22,"translate"),n(),r(23,"div",11),c(24,"input",14),o(25,"translate"),n()(),r(26,"li",9)(27,"label",15),m(28),o(29,"translate"),n(),r(30,"div",11),c(31,"input",16),o(32,"translate"),n()(),r(33,"li",9)(34,"label",17),m(35),o(36,"translate"),n(),r(37,"div",11),c(38,"input",18),o(39,"translate"),n()(),r(40,"li",19)(41,"span",20),m(42),o(43,"translate"),n(),r(44,"div",21),c(45,"input",22),o(46,"translate"),c(47,"label",23),n()()()(),r(48,"div",24)(49,"div",20)(50,"button",25),_("click",function(){return l.dismissModal()}),m(51),o(52,"translate"),n()(),c(53,"div",26),r(54,"div",27)(55,"button",28),m(56),o(57,"translate"),n()()()()()),a&2&&(e(),f("formGroup",l.form),e(3),d(s(5,18,"users.title_add_user")),e(2),u("aria-label",s(7,20,"form.button_close")),e(8),d(s(15,22,"users.label_username")),e(3),u("aria-label",s(18,24,"users.label_username")),e(4),d(s(22,26,"users.label_full_name")),e(3),u("aria-label",s(25,28,"users.label_full_name")),e(4),d(s(29,30,"users.label_password")),e(3),f("ngClass",F(46,ce,l.form.controls.password.dirty&&l.form.controls.password.errors)),u("aria-label",s(32,32,"users.label_password")),e(4),d(s(36,34,"users.label_confirm_password")),e(3),f("ngClass",F(48,ce,l.form.controls.passwordConfirm.dirty&&l.form.controls.passwordConfirm.errors)),u("aria-label",s(39,36,"users.label_confirm_password")),e(4),d(s(43,38,"users.label_admin_user")),e(3),u("aria-label",s(46,40,"users.label_admin_user")),e(6),C(" ",s(52,42,"form.button_close")," "),e(4),f("disabled",!l.form.valid),e(),C(" ",s(57,44,"form.button_save")," "))},dependencies:[G,Q,V,N,O,P,J,K,R,U],encapsulation:2})}return i})();var fe=i=>({"is-invalid":i});function $e(i,E){if(i&1&&(r(0,"li",9)(1,"label",27),m(2),o(3,"translate"),n(),r(4,"div",11),c(5,"input",28),o(6,"translate"),n()()),i&2){let t=v();e(2),d(s(3,3,"users.label_confirm_password")),e(3),f("ngClass",F(7,fe,t.form.controls.passwordConfirm.dirty&&t.form.controls.passwordConfirm.errors)),u("aria-label",s(6,5,"users.label_confirm_password"))}}var be=(()=>{class i{$activeModal=p(j);$api=p(B);$auth=p(X);$toastr=p(k);$translate=p($);user;isCurrentUser=!1;form=new A({username:new w("",[x.required]),name:new w("",[x.required]),password:new w(""),passwordConfirm:new w(""),admin:new w(!0)},this.matchPassword);ngOnInit(){this.isCurrentUser=this.$auth.user.username===this.user.username,this.form.patchValue(this.user)}onSubmit({value:t}){this.$api.patch(`/users/${this.user.id}`,t).subscribe({next:()=>{this.$activeModal.close(),this.$toastr.success(this.$translate.instant("users.toast_updated_user"),this.$translate.instant("toast.title_success")),this.isCurrentUser&&t.username!==this.$auth.user.username&&this.$auth.logout()},error:a=>{console.error(a),this.$toastr.error(a.error.message||this.$translate.instant("users.toast_failed_to_add_user"),this.$translate.instant("toast.title_error"))}})}dismissModal(){this.$activeModal.dismiss("Dismiss")}matchPassword(t){let a=t.get("password").value,l=t.get("passwordConfirm").value;if(a!==l)t.get("passwordConfirm").setErrors({matchPassword:!0});else return null}static \u0275fac=function(a){return new(a||i)};static \u0275cmp=y({type:i,selectors:[["ng-component"]],inputs:{user:"user"},decls:52,vars:42,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,"text-center","mb-3"],[1,"fas","fa-fw","fa-user-pen","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["for","form-username",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["formControlName","username","type","text","id","form-username","autocomplete","off","autocapitalize","none",1,"form-control","custom-input"],["for","form-name",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","name","type","text","id","form-name","autocomplete","name",1,"form-control","custom-input"],["for","form-pass",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","password","type","password","autocomplete","new-password","id","form-pass",1,"form-control","custom-input",3,"ngClass"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-start"],[1,"text-end","grey-text","d-flex","align-items-center"],["type","checkbox","formControlName","admin","id","isAdmin",1,"rendux-input"],["for","isAdmin",1,"rendux-label","ms-3"],[1,"modal-footer","justify-content-between"],["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"],["for","form-pass-confirm",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","passwordConfirm","type","password","autocomplete","new-password","id","form-pass-confirm",1,"form-control","custom-input",3,"ngClass"]],template:function(a,l){a&1&&(r(0,"div",0)(1,"form",1),_("ngSubmit",function(){return l.onSubmit(l.form)}),r(2,"div",2)(3,"h5",3),m(4),o(5,"translate"),n(),r(6,"button",4),o(7,"translate"),_("click",function(){return l.dismissModal()}),n()(),r(8,"div",5)(9,"div",6),c(10,"i",7),n(),r(11,"ul",8)(12,"li",9)(13,"label",10),m(14),o(15,"translate"),n(),r(16,"div",11),c(17,"input",12),o(18,"translate"),n()(),r(19,"li",9)(20,"label",13),m(21),o(22,"translate"),n(),r(23,"div",11),c(24,"input",14),o(25,"translate"),n()(),r(26,"li",9)(27,"label",15),m(28),o(29,"translate"),n(),r(30,"div",11),c(31,"input",16),o(32,"translate"),n()(),h(33,$e,7,9,"li",9),r(34,"li",17)(35,"span",18),m(36),o(37,"translate"),n(),r(38,"div",19),c(39,"input",20),o(40,"translate"),c(41,"label",21),n()()()(),r(42,"div",22)(43,"div",18)(44,"button",23),_("click",function(){return l.dismissModal()}),m(45),o(46,"translate"),n()(),c(47,"div",24),r(48,"div",25)(49,"button",26),m(50),o(51,"translate"),n()()()()()),a&2&&(e(),f("formGroup",l.form),e(3),d(s(5,16,"users.title_edit_user")),e(2),u("aria-label",s(7,18,"form.button_close")),e(8),d(s(15,20,"users.label_username")),e(3),u("aria-label",s(18,22,"users.label_username")),e(4),d(s(22,24,"users.label_full_name")),e(3),u("aria-label",s(25,26,"users.label_full_name")),e(4),d(s(29,28,"users.label_new_password")),e(3),f("ngClass",F(40,fe,l.form.controls.password.dirty&&l.form.controls.password.errors)),u("aria-label",s(32,30,"users.label_new_password")),e(2),g(l.form.controls.password.value?33:-1),e(3),d(s(37,32,"users.label_admin_user")),e(3),u("aria-label",s(40,34,"users.label_admin_user")),e(6),C(" ",s(46,36,"form.button_close")," "),e(4),f("disabled",!l.form.valid),e(),C(" ",s(51,38,"form.button_save")," "))},dependencies:[G,Q,V,re,N,O,P,J,K,R,U],encapsulation:2})}return i})();function Ue(i,E){if(i&1){let t=I();S(0,"button",21),z("click",function(){T(t);let l=v().$implicit,b=v();return M(b.setup2fa(l))}),m(1),o(2,"translate"),D()}i&2&&(e(),d(s(2,1,"users.setup_2fa")))}function ke(i,E){if(i&1){let t=I();S(0,"button",17),z("click",function(){T(t);let l=v().$implicit,b=v();return M(b.disable2fa(l))}),m(1),o(2,"translate"),D()}i&2&&(e(),C(" ",s(2,1,"users.setup_2fa_disable")," "))}function Be(i,E){if(i&1){let t=I();S(0,"div",7)(1,"div",8)(2,"div",9)(3,"div",10)(4,"span",11),q(5,"h4",12)(6,"h5",13),D()(),S(7,"div",14),h(8,Ue,3,3,"button",15),h(9,ke,3,3,"button",16),S(10,"div")(11,"button",17),o(12,"translate"),z("click",function(){let l=T(t).$implicit,b=v();return M(b.openEditUser(l))}),q(13,"i",18),D(),S(14,"button",19),o(15,"translate"),z("click",function(){let l=T(t).$implicit,b=v();return M(b.deleteUser(l.id))}),q(16,"i",20),D()()()()()()}if(i&2){let t=E.$implicit,a=v();e(5),L("innerText",t.name),e(),L("innerText",t.username),e(2),g(a.username===t.username&&!t.otpActive?8:-1),e(),g(a.username===t.username&&t.otpActive?9:-1),e(2),u("aria-label",s(12,7,"form.button_edit")),e(3),L("disabled",a.username===t.username),u("aria-label",s(15,9,"form.button_delete"))}}var $t=(()=>{class i{$api=p(B);$auth=p(X);$modal=p(oe);$route=p(se);$toastr=p(k);$translate=p($);homebridgeUsers;username=this.$auth.user.username;ngOnInit(){this.$route.data.subscribe(t=>{this.homebridgeUsers=t.homebridgeUsers})}reloadUsers(){return this.$api.get("/users").subscribe(t=>{this.homebridgeUsers=t})}openAddNewUser(){this.$modal.open(ue,{size:"lg",backdrop:"static"}).result.finally(()=>{this.reloadUsers()})}openEditUser(t){let a=this.$modal.open(be,{size:"lg",backdrop:"static"});a.componentInstance.user=t,a.result.finally(()=>{this.reloadUsers()})}deleteUser(t){this.$api.delete(`/users/${t}`).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("users.toast_user_deleted"),this.$translate.instant("toast.title_success")),this.reloadUsers()},error:a=>{console.error(a),this.$toastr.error(a.error.message||this.$translate.instant("users.toast_failed_to_delete_user"),this.$translate.instant("toast.title_error"))}})}setup2fa(t){let a=this.$modal.open(pe,{size:"lg",backdrop:"static"});a.componentInstance.user=t,a.result.finally(()=>{this.reloadUsers()})}disable2fa(t){let a=this.$modal.open(me,{size:"lg",backdrop:"static"});a.componentInstance.user=t,a.result.finally(()=>{this.reloadUsers()})}static \u0275fac=function(a){return new(a||i)};static \u0275cmp=y({type:i,selectors:[["app-users"]],decls:12,vars:6,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-user-plus"],[1,"row"],[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"],[1,"btn","btn-primary","m-0"],[1,"btn","btn-elegant","m-0"],[1,"btn","btn-elegant","m-0",3,"click"],[1,"fas","fa-fw","fa-user-pen"],[1,"btn","btn-danger","m-0","ms-2",3,"click","disabled"],[1,"fas","fa-fw","fa-trash"],[1,"btn","btn-primary","m-0",3,"click"]],template:function(a,l){a&1&&(S(0,"div",0)(1,"div",1)(2,"h3",2),m(3),o(4,"translate"),D()(),S(5,"div",3)(6,"button",4),o(7,"translate"),z("click",function(){return l.openAddNewUser()}),q(8,"i",5),D()()(),S(9,"div",6),te(10,Be,17,11,"div",7,ee),D()),a&2&&(e(3),d(s(4,2,"users.title_users")),e(3),u("aria-label",s(7,4,"users.button_add_user")),e(4),ie(l.homebridgeUsers))},dependencies:[U],encapsulation:2})}return i})();export{$t as UsersComponent};
|
package/public/chunk-DDAEYXAV.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as D}from"./chunk-K2NEWUWG.js";import{Bc as N,Da as l,E as h,Ub as g,fa as _,ha as M,hc as y,ic as b,ja as v,jc as E,la as a,mb as c,nb as w,qb as u,rd as O,ub as C,vb as f}from"./chunk-V7SOQAC5.js";var z=["editorContainer"],T="[_nghost-%COMP%]{display:block;height:200px}.editor-container[_ngcontent-%COMP%]{width:100%;height:98%}",I=new v("NGX_MONACO_EDITOR_CONFIG"),R=!1,q,x=(()=>{let i=class i{constructor(){this.config=a(I),this.onInit=new C,this._insideNg=!1}set insideNg(e){this._insideNg=e,this._editor&&(this._editor.dispose(),this.initMonaco(this._options,this.insideNg))}get insideNg(){return this._insideNg}ngAfterViewInit(){R?q.then(()=>{this.initMonaco(this._options,this.insideNg)}):(R=!0,q=new Promise(e=>{let t=this.config.baseUrl;if((t==="assets"||!t)&&(t="./assets/monaco/min/vs"),typeof window.monaco=="object"){this.initMonaco(this._options,this.insideNg),e();return}let o=r=>{let m=r||window.require,p={paths:{vs:`${t}`}};Object.assign(p,this.config.requireConfig||{}),m.config(p),m(["vs/editor/editor.main"],()=>{typeof this.config.onMonacoLoad=="function"&&this.config.onMonacoLoad(),this.initMonaco(this._options,this.insideNg),e()})};if(this.config.monacoRequire)o(this.config.monacoRequire);else if(window.require)if(window.require.config)o();else{var s=`${t}/loader.js`,d=new XMLHttpRequest;d.addEventListener("load",()=>{let r=document.createElement("script");r.type="text/javascript",r.text=["var nodeRequire = require;",d.responseText.replace('"use strict";',""),"var monacoAmdRequire = require;","require = nodeRequire;","require.nodeRequire = require;"].join(`
|
|
2
|
-
`),document.body.appendChild(r),o(window.monacoAmdRequire)}),d.open("GET",s),d.send()}else{let r=document.createElement("script");r.type="text/javascript",r.src=`${t}/loader.js`,r.addEventListener("load",()=>{o()}),document.body.appendChild(r)}}))}ngOnDestroy(){this._windowResizeSubscription&&this._windowResizeSubscription.unsubscribe(),this._editor&&(this._editor.dispose(),this._editor=void 0)}};i.\u0275fac=function(t){return new(t||i)},i.\u0275cmp=c({type:i,selectors:[["ng-component"]],viewQuery:function(t,o){if(t&1&&y(z,7),t&2){let s;b(s=E())&&(o._editorContainer=s.first)}},inputs:{insideNg:"insideNg"},outputs:{onInit:"onInit"},standalone:!1,decls:0,vars:0,template:function(t,o){},encapsulation:2});let n=i;return n})(),X=(()=>{let i=class i extends x{constructor(){super(...arguments),this.zone=a(f),this._value="",this.propagateChange=e=>{},this.onTouched=()=>{}}set options(e){this._options=Object.assign({},this.config.defaultOptions,e),this._editor&&(this._editor.dispose(),this.initMonaco(e,this.insideNg))}get options(){return this._options}set model(e){this.options.model=e,this._editor&&(this._editor.dispose(),this.initMonaco(this.options,this.insideNg))}writeValue(e){this._value=e||"",setTimeout(()=>{this._editor&&!this.options.model&&this._editor.setValue(this._value)})}registerOnChange(e){this.propagateChange=e}registerOnTouched(e){this.onTouched=e}initMonaco(e,t){let o=!!e.model;if(o){let s=monaco.editor.getModel(e.model.uri||"");s?(e.model=s,e.model.setValue(this._value)):e.model=monaco.editor.createModel(e.model.value,e.model.language,e.model.uri)}t?this._editor=monaco.editor.create(this._editorContainer.nativeElement,e):this.zone.runOutsideAngular(()=>{this._editor=monaco.editor.create(this._editorContainer.nativeElement,e)}),o||this._editor.setValue(this._value),this._editor.onDidChangeModelContent(s=>{let d=this._editor.getValue();this.zone.run(()=>{this.propagateChange(d),this._value=d})}),this._editor.onDidBlurEditorWidget(()=>{this.onTouched()}),this._windowResizeSubscription&&this._windowResizeSubscription.unsubscribe(),this._windowResizeSubscription=h(window,"resize").subscribe(()=>this._editor.layout()),this.onInit.emit(this._editor)}};i.\u0275fac=(()=>{let e;return function(o){return(e||(e=l(i)))(o||i)}})(),i.\u0275cmp=c({type:i,selectors:[["ngx-monaco-editor"]],inputs:{options:"options",model:"model"},features:[N([{provide:D,useExisting:_(()=>i),multi:!0}]),u],decls:2,vars:0,consts:[["editorContainer",""],[1,"editor-container"]],template:function(t,o){t&1&&g(0,"div",1,0)},styles:["[_nghost-%COMP%]{display:block;height:200px}.editor-container[_ngcontent-%COMP%]{width:100%;height:98%}"],changeDetection:0});let n=i;return n})(),$=(()=>{let i=class i extends x{constructor(){super(...arguments),this.zone=a(f)}set options(e){this._options=Object.assign({},this.config.defaultOptions,e),this._editor&&(this._editor.dispose(),this.initMonaco(e,this.insideNg))}get options(){return this._options}set originalModel(e){this._originalModel=e,this._editor&&(this._editor.dispose(),this.initMonaco(this.options,this.insideNg))}set modifiedModel(e){this._modifiedModel=e,this._editor&&(this._editor.dispose(),this.initMonaco(this.options,this.insideNg))}initMonaco(e,t){if(!this._originalModel||!this._modifiedModel)throw new Error("originalModel or modifiedModel not found for ngx-monaco-diff-editor");this._originalModel.language=this._originalModel.language||e.language,this._modifiedModel.language=this._modifiedModel.language||e.language;let o=monaco.editor.createModel(this._originalModel.code,this._originalModel.language),s=monaco.editor.createModel(this._modifiedModel.code,this._modifiedModel.language);this._editorContainer.nativeElement.innerHTML="";let d=e.theme;t?this._editor=monaco.editor.createDiffEditor(this._editorContainer.nativeElement,e):this.zone.runOutsideAngular(()=>{this._editor=monaco.editor.createDiffEditor(this._editorContainer.nativeElement,e)}),e.theme=d,this._editor.setModel({original:o,modified:s}),this._windowResizeSubscription&&this._windowResizeSubscription.unsubscribe(),this._windowResizeSubscription=h(window,"resize").subscribe(()=>this._editor.layout()),this.onInit.emit(this._editor)}};i.\u0275fac=(()=>{let e;return function(o){return(e||(e=l(i)))(o||i)}})(),i.\u0275cmp=c({type:i,selectors:[["ngx-monaco-diff-editor"]],inputs:{options:"options",originalModel:"originalModel",modifiedModel:"modifiedModel"},features:[u],decls:2,vars:0,consts:[["editorContainer",""],[1,"editor-container"]],template:function(t,o){t&1&&g(0,"div",1,0)},styles:[T],changeDetection:0});let n=i;return n})(),H=(()=>{let i=class i{static forRoot(e={}){return{ngModule:i,providers:[{provide:I,useValue:e}]}}};i.\u0275fac=function(t){return new(t||i)},i.\u0275mod=w({type:i}),i.\u0275inj=M({imports:[O]});let n=i;return n})();export{X as a,$ as b,H as c};
|
package/public/chunk-KY5Z2K4N.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as V}from"./chunk-QKWUY26L.js";import{a as N}from"./chunk-YFQVSUDS.js";import"./chunk-BSZ6MHFZ.js";import{a as _}from"./chunk-K46AA6SH.js";import{n as B,t as k}from"./chunk-PSSVCFFV.js";import"./chunk-K2NEWUWG.js";import"./chunk-NP3V73ET.js";import"./chunk-2HIOHBJY.js";import"./chunk-MHTDGCRA.js";import{k as D,n as F}from"./chunk-SVAR3FIQ.js";import{a as z,b as E}from"./chunk-ZG3HINDJ.js";import"./chunk-K7QEGT3E.js";import{$a as y,Hb as b,Hc as i,Ic as r,Ob as h,Pb as s,Qb as l,Rb as p,Sc as S,_b as T,ab as m,bc as d,g as M,h as w,kc as L,la as o,lc as C,mb as $,n as v,qc as x,ra as u,rc as I,sa as f}from"./chunk-V7SOQAC5.js";var H=M(N(),1);var j=["logoutput"],X=(()=>{class c{$api=o(F);$log=o(V);$modal=o(B);$toastr=o(D);$translate=o(z);termTarget=S("logoutput");resizeEvent=new v;onWindowResize(){this.resizeEvent.next(void 0)}ngOnInit(){window.document.querySelector("body").classList.add("bg-black"),this.$log.startTerminal(this.termTarget(),{},this.resizeEvent)}ngOnDestroy(){window.document.querySelector("body").classList.remove("bg-black"),this.$log.destroyTerminal()}downloadLogFile(){let t=this.$modal.open(_,{size:"lg",backdrop:"static"});t.componentInstance.title=this.$translate.instant("logs.title_download_log_file"),t.componentInstance.message=this.$translate.instant("logs.download_warning"),t.componentInstance.confirmButtonLabel=this.$translate.instant("form.button_download"),t.componentInstance.faIconClass="fas fa-fw fa-user-secret primary-text",t.result.then(()=>{this.$api.get("/platform-tools/hb-service/log/download",{observe:"response",responseType:"blob"}).subscribe({next:e=>{(0,H.saveAs)(e.body,"homebridge.log.txt")},error:e=>w(this,null,function*(){let n;try{n=JSON.parse(yield e.error.text()).message}catch(a){console.error(a)}this.$toastr.error(n||this.$translate.instant("logs.download.error"),this.$translate.instant("toast.title_error"))})})}).catch(()=>{})}truncateLogFile(){let t=this.$modal.open(_,{size:"lg",backdrop:"static"});t.componentInstance.title=this.$translate.instant("logs.title_truncate_log_file"),t.componentInstance.message=this.$translate.instant("logs.truncate_log_warning"),t.componentInstance.confirmButtonLabel=this.$translate.instant("form.button_delete"),t.componentInstance.confirmButtonClass="btn-danger",t.componentInstance.faIconClass="fas fa-fw fa-circle-exclamation primary-text",t.result.then(()=>{this.$api.put("/platform-tools/hb-service/log/truncate",{}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("logs.log_file_truncated"),this.$translate.instant("toast.title_success")),this.$log.term.clear()},error:e=>{console.error(e),this.$toastr.error(e.error.message||this.$translate.instant("logs.truncate.error"),this.$translate.instant("toast.title_error"))}})}).catch(()=>{})}static \u0275fac=function(e){return new(e||c)};static \u0275cmp=$({type:c,selectors:[["ng-component"]],viewQuery:function(e,n){e&1&&L(n.termTarget,j,5),e&2&&C()},hostBindings:function(e,n){e&1&&d("resize",function(g){return n.onWindowResize(g)},y)},decls:17,vars:15,consts:[["logoutput",""],[1,"row","mb-3"],[1,"col-6"],[1,"primary-text","m-0"],[1,"col-6","text-end"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","my-0","me-2",3,"click","ngbTooltip"],[1,"fas","fa-fw","fa-download"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","my-0","me-0",3,"click","ngbTooltip"],[1,"fas","fa-fw","fa-trash-alt"],[1,"flex-column","d-flex","align-items-stretch","adjust-for-mobile"],["id","log-output",1,"align-self-end","w-100","h-100","mb-1"]],template:function(e,n){if(e&1){let a=T();s(0,"div",1)(1,"div",2)(2,"h3",3),x(3),i(4,"translate"),l()(),s(5,"div",4)(6,"button",5),i(7,"translate"),i(8,"translate"),d("click",function(){return u(a),f(n.downloadLogFile())}),p(9,"i",6),l(),s(10,"button",7),i(11,"translate"),i(12,"translate"),d("click",function(){return u(a),f(n.truncateLogFile())}),p(13,"i",8),l()()(),s(14,"div",9),p(15,"div",10,0),l()}e&2&&(m(3),I(r(4,5,"menu.linux.label_logs")),m(3),h("ngbTooltip",r(7,7,"form.button_download")),b("aria-label",r(8,9,"form.button_download")),m(4),h("ngbTooltip",r(11,11,"form.button_delete")),b("aria-label",r(12,13,"form.button_delete")))},dependencies:[k,E],encapsulation:2})}return c})();export{X as LogsComponent};
|
package/public/chunk-MUVWHC6J.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{A,c as $,d as C,e as R,f as O,g as T,j as w,m as q,p as z,q as D,w as H,x as G,z as Q}from"./chunk-K2NEWUWG.js";import{b as K}from"./chunk-2HIOHBJY.js";import{d as U}from"./chunk-QRQBCPWO.js";import{b as J}from"./chunk-MHTDGCRA.js";import{m as W}from"./chunk-SVAR3FIQ.js";import{b as j}from"./chunk-ZG3HINDJ.js";import"./chunk-K7QEGT3E.js";import{Dc as f,Hc as l,Ib as u,Ic as d,Jb as c,M as I,Ob as m,Pb as r,Qb as a,Rb as s,Sc as b,Uc as V,Xa as x,ab as i,bc as E,dc as M,h as y,id as P,kc as v,la as p,lc as F,ld as B,mb as k,qc as g,rc as h,sc as L,w as S,zd as N}from"./chunk-V7SOQAC5.js";var Y=["password"],Z=["username"],ee=["otp"],te=e=>({background:e}),ie=e=>({anim:e}),X=e=>({"is-invalid":e});function ne(e,_){if(e&1&&(r(0,"div",8)(1,"span",12),s(2,"i",13),a(),s(3,"input",14,0),l(5,"translate"),a(),r(6,"div",8)(7,"span",12),s(8,"i",15),a(),s(9,"input",16,1),l(11,"translate"),a()),e&2){let n=M();i(3),m("placeholder",d(5,4,"users.label_username"))("ngClass",f(8,X,n.form.controls.username.dirty&&n.form.controls.username.errors)),i(6),m("placeholder",d(11,6,"users.label_password"))("ngClass",f(10,X,n.form.controls.password.dirty&&n.form.controls.password.errors))}}function oe(e,_){e&1&&(r(0,"div",8)(1,"span",12),s(2,"i",17),a(),s(3,"input",18,2),l(5,"translate"),a()),e&2&&(i(3),m("placeholder",d(5,1,"login.label_2fa_code")))}function ae(e,_){e&1&&(r(0,"div",9)(1,"div",12),s(2,"i",19),a(),r(3,"div",20)(4,"div",21),g(5),l(6,"translate"),a(),s(7,"div",22),l(8,"translate"),a()()),e&2&&(i(5),h(d(6,2,"login.invalid_credentials")),i(2),m("innerHTML",d(8,4,"login.invalid_credentials_2"),x))}function re(e,_){e&1&&(r(0,"div",9)(1,"div",12),s(2,"i",19),a(),r(3,"div",20)(4,"div",21),g(5),l(6,"translate"),a(),s(7,"div",22),l(8,"translate"),a()()),e&2&&(i(5),h(d(6,2,"login.invalid_code")),i(2),m("innerHTML",d(8,4,"login.invalid_credentials_2"),x))}var _e=(()=>{class e{$auth=p(K);$cdr=p(V);$router=p(U);$settings=p(J);targetRoute;passwordInput=b("password");usernameInput=b("username");otpInput=b("otp");backgroundStyle;invalidCredentials=!1;invalid2faCode=!1;twoFactorCodeRequired=!1;inProgress=!1;form;ngOnInit(){this.form=new T({username:new w(""),password:new w("")}),this.form.valueChanges.pipe(I(500)).subscribe(n=>{let o=this.passwordInput()?.nativeElement.value;o&&o!==n.password&&this.form.controls.password.setValue(o)}),this.targetRoute=window.sessionStorage.getItem("target_route")||"",this.setBackground()}ngAfterViewChecked(){this.$cdr.detectChanges()}onSubmit(){return y(this,null,function*(){this.invalidCredentials=!1,this.invalid2faCode=!1,this.inProgress=!0,document.getElementById("submit-button")?.blur();let n=this.passwordInput()?.nativeElement.value;n&&n!==this.form.get("password").value&&this.form.controls.password.setValue(n);let o=this.usernameInput()?.nativeElement.value;if(o&&o!==this.form.get("username").value&&this.form.controls.username.setValue(o),this.twoFactorCodeRequired){let t=this.otpInput()?.nativeElement.value;t&&t!==this.form.get("otp").value&&this.form.controls.username.setValue(t)}try{yield this.$auth.login(this.form.getRawValue()),this.$router.navigateByUrl(this.targetRoute),window.sessionStorage.removeItem("target_route")}catch(t){t.status===412?(this.form.controls.otp?(this.form.controls.otp.setErrors(["Invalid Code"]),this.invalid2faCode=!0):this.form.addControl("otp",new w("",[C.required,C.minLength(6),C.maxLength(6)])),this.twoFactorCodeRequired=!0,setTimeout(()=>{document.getElementById("form-ota").focus()},100)):this.invalidCredentials=!0}this.inProgress=!1})}setBackground(){return y(this,null,function*(){if(this.$settings.settingsLoaded||(yield S(this.$settings.onSettingsLoaded)),this.$settings.env.customWallpaperHash){let n=`${W.api.base}/auth/wallpaper/${this.$settings.env.customWallpaperHash}`;this.backgroundStyle=`url('${n}') center/cover`}})}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["ng-component"]],viewQuery:function(o,t){o&1&&(v(t.passwordInput,Y,5),v(t.usernameInput,Z,5),v(t.otpInput,ee,5)),o&2&&F(3)},decls:15,vars:18,consts:[["username",""],["password",""],["otp",""],[1,"login-container","gradient","d-flex","align-items-start","justify-content-center",3,"ngStyle","ngClass"],[1,"w-100","login-card","d-flex","py-4","flex-column"],["ngSrc","/assets/homebridge-color-round.svg","alt","Homebridge Logo","height","100","width","100","priority","true",1,"homebridge-logo","mx-auto","my-3"],["novalidate","",3,"ngSubmit","formGroup"],[1,"mb-4","text-center"],[1,"input-group","mb-4"],[1,"input-group","no-border","mb-4"],[1,"text-center"],["tabindex","3","id","submit-button","type","submit",1,"btn","btn-primary","mb-2",3,"disabled"],[1,"input-group-text","custom-input"],[1,"fas","fa-fw","fa-user","primary-text","fa-lg"],["formControlName","username","type","text","id","form-username","autofocus","","autocomplete","username","autocapitalize","none","tabindex","1","required","",1,"form-control","custom-input",3,"placeholder","ngClass"],[1,"fas","fa-fw","fa-lock","primary-text","fa-lg"],["formControlName","password","type","password","id","form-pass","autocomplete","current-password","tabindex","2","required","",1,"form-control","custom-input",3,"placeholder","ngClass"],[1,"fas","fa-fw","fa-key","primary-text","fa-lg"],["formControlName","otp","type","text","id","form-ota","autofocus","","autocomplete","one-time-code","autocapitalize","none","inputmode","numeric","pattern","[0-9]*","tabindex","1",1,"form-control","custom-input",3,"placeholder"],[1,"fas","fa-fw","fa-exclamation-triangle","pink-text","fa-lg"],[1,"form-control","custom-input"],[1,"small","grey-text","fw-semibold"],[1,"small","grey-text",3,"innerHTML"]],template:function(o,t){o&1&&(r(0,"div",3)(1,"div",4),s(2,"img",5),r(3,"form",6),E("ngSubmit",function(){return t.onSubmit()}),r(4,"h4",7),g(5),l(6,"translate"),a(),u(7,ne,12,12),u(8,oe,6,3,"div",8),u(9,ae,9,6,"div",9),u(10,re,9,6,"div",9),r(11,"div",10)(12,"button",11),g(13),l(14,"translate"),a()()()()()),o&2&&(m("ngStyle",f(14,te,t.backgroundStyle))("ngClass",f(16,ie,!t.backgroundStyle)),i(3),m("formGroup",t.form),i(2),h(d(6,10,"setup.welcome_to_homebridge")),i(2),c(t.twoFactorCodeRequired?-1:7),i(),c(t.twoFactorCodeRequired?8:-1),i(),c(t.invalidCredentials?9:-1),i(),c(t.invalid2faCode?10:-1),i(2),m("disabled",t.form.invalid),i(),L(" ",d(14,12,"form.label_continue")," "))},dependencies:[B,Q,q,$,R,O,H,G,A,z,D,P,N,j],styles:["body{overflow:scroll!important} body.dark-mode .login-card{background-color:#2b2b2b;color:#fff}.login-container[_ngcontent-%COMP%]{z-index:-1;padding-top:2em;padding-bottom:2em;min-height:100%;background-size:300% 300%}.anim[_ngcontent-%COMP%]{-webkit-animation:_ngcontent-%COMP%_gradient 20s ease infinite;-moz-animation:gradient 20s ease infinite;-o-animation:gradient 20s ease infinite;animation:_ngcontent-%COMP%_gradient 20s ease infinite}@keyframes _ngcontent-%COMP%_gradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.login-card[_ngcontent-%COMP%]{max-width:550px;border-radius:1rem;padding-right:25px;padding-left:25px;background-color:#ffffffe6}.login-card[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:focus{background-color:inherit!important}@media screen and (max-width: 575px){.login-card[_ngcontent-%COMP%]{margin-left:1em;margin-right:1em}}.homebridge-logo[_ngcontent-%COMP%]{margin-bottom:10px}"]})}return e})();export{_e as LoginComponent};
|