homebridge-config-ui-x 5.0.0-beta.10 → 5.0.0-beta.100
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 +438 -31
- package/CONTRIBUTING.md +5 -4
- package/LICENSE +1 -1
- package/config.schema.json +55 -252
- package/dist/bin/hb-service.d.ts +2 -2
- package/dist/bin/hb-service.js +52 -51
- package/dist/bin/hb-service.js.map +1 -1
- package/dist/bin/platforms/darwin.js +3 -10
- package/dist/bin/platforms/darwin.js.map +1 -1
- package/dist/bin/platforms/win32.js +4 -2
- package/dist/bin/platforms/win32.js.map +1 -1
- package/dist/bin/standalone.js +1 -0
- package/dist/bin/standalone.js.map +1 -1
- package/dist/core/auth/auth.controller.d.ts +31 -3
- package/dist/core/auth/auth.controller.js.map +1 -1
- package/dist/core/auth/auth.module.js +1 -1
- package/dist/core/auth/auth.module.js.map +1 -1
- package/dist/core/auth/auth.service.js +10 -10
- package/dist/core/auth/auth.service.js.map +1 -1
- package/dist/core/auth/jwt.strategy.d.ts +3 -1
- package/dist/core/config/config.service.d.ts +46 -11
- package/dist/core/config/config.service.js +57 -20
- package/dist/core/config/config.service.js.map +1 -1
- package/dist/core/config/config.startup.js +2 -2
- package/dist/core/config/config.startup.js.map +1 -1
- package/dist/core/homebridge-ipc/homebridge-ipc.service.js +3 -3
- package/dist/core/homebridge-ipc/homebridge-ipc.service.js.map +1 -1
- package/dist/index.js +6 -77
- package/dist/index.js.map +1 -1
- package/dist/main.js +2 -1
- package/dist/main.js.map +1 -1
- package/dist/modules/accessories/accessories.controller.js +5 -5
- package/dist/modules/accessories/accessories.controller.js.map +1 -1
- package/dist/modules/accessories/accessories.service.js +8 -7
- package/dist/modules/accessories/accessories.service.js.map +1 -1
- package/dist/modules/backup/backup.controller.js +7 -7
- package/dist/modules/backup/backup.controller.js.map +1 -1
- package/dist/modules/backup/backup.service.js +19 -79
- package/dist/modules/backup/backup.service.js.map +1 -1
- package/dist/modules/child-bridges/child-bridges.service.js +0 -7
- package/dist/modules/child-bridges/child-bridges.service.js.map +1 -1
- package/dist/modules/config-editor/config-editor.controller.d.ts +7 -1
- package/dist/modules/config-editor/config-editor.controller.js +36 -8
- package/dist/modules/config-editor/config-editor.controller.js.map +1 -1
- package/dist/modules/config-editor/config-editor.service.d.ts +5 -1
- package/dist/modules/config-editor/config-editor.service.js +132 -69
- package/dist/modules/config-editor/config-editor.service.js.map +1 -1
- package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.d.ts +1 -1
- package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js +13 -11
- package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js.map +1 -1
- package/dist/modules/log/log.gateway.d.ts +2 -1
- package/dist/modules/log/log.gateway.js.map +1 -1
- package/dist/modules/log/log.service.js +3 -3
- package/dist/modules/log/log.service.js.map +1 -1
- package/dist/modules/platform-tools/docker/docker.controller.js +3 -3
- package/dist/modules/platform-tools/docker/docker.controller.js.map +1 -1
- package/dist/modules/platform-tools/docker/docker.service.js +1 -1
- package/dist/modules/platform-tools/docker/docker.service.js.map +1 -1
- package/dist/modules/platform-tools/hb-service/hb-service.controller.js +3 -3
- package/dist/modules/platform-tools/hb-service/hb-service.controller.js.map +1 -1
- package/dist/modules/platform-tools/hb-service/hb-service.service.js +6 -6
- package/dist/modules/platform-tools/hb-service/hb-service.service.js.map +1 -1
- package/dist/modules/platform-tools/linux/linux.controller.js +2 -2
- package/dist/modules/platform-tools/linux/linux.controller.js.map +1 -1
- package/dist/modules/platform-tools/linux/linux.service.js +2 -2
- package/dist/modules/platform-tools/linux/linux.service.js.map +1 -1
- package/dist/modules/platform-tools/terminal/terminal.gateway.d.ts +2 -1
- package/dist/modules/platform-tools/terminal/terminal.gateway.js.map +1 -1
- package/dist/modules/platform-tools/terminal/terminal.service.js +2 -2
- package/dist/modules/platform-tools/terminal/terminal.service.js.map +1 -1
- package/dist/modules/plugins/plugins.controller.js +4 -4
- package/dist/modules/plugins/plugins.controller.js.map +1 -1
- package/dist/modules/plugins/plugins.service.d.ts +7 -1
- package/dist/modules/plugins/plugins.service.js +215 -127
- package/dist/modules/plugins/plugins.service.js.map +1 -1
- package/dist/modules/server/server.controller.d.ts +33 -3
- package/dist/modules/server/server.controller.js +162 -20
- package/dist/modules/server/server.controller.js.map +1 -1
- package/dist/modules/server/server.service.d.ts +35 -6
- package/dist/modules/server/server.service.js +265 -66
- package/dist/modules/server/server.service.js.map +1 -1
- package/dist/modules/status/status.controller.d.ts +0 -1
- package/dist/modules/status/status.controller.js +3 -4
- package/dist/modules/status/status.controller.js.map +1 -1
- package/dist/modules/status/status.gateway.d.ts +1 -1
- package/dist/modules/status/status.service.d.ts +1 -1
- package/dist/modules/status/status.service.js +25 -41
- package/dist/modules/status/status.service.js.map +1 -1
- package/dist/modules/users/users.controller.js +7 -7
- package/dist/modules/users/users.controller.js.map +1 -1
- package/dist/self-check.js +6 -6
- package/dist/self-check.js.map +1 -1
- package/package.json +50 -43
- package/public/3rdpartylicenses.txt +218 -108
- package/public/assets/hap-icons/airpurifier.svg +49 -16
- package/public/assets/hap-icons/airquality.svg +24 -13
- package/public/assets/hap-icons/co-sensor.svg +72 -0
- package/public/assets/hap-icons/co2-sensor.svg +72 -0
- package/public/assets/hap-icons/contactsensor-closed.svg +35 -2
- package/public/assets/hap-icons/contactsensor-open.svg +80 -2
- package/public/assets/hap-icons/door-closed.svg +32 -2
- package/public/assets/hap-icons/door-open.svg +48 -2
- package/public/assets/hap-icons/fan-off.svg +24 -13
- package/public/assets/hap-icons/fan-on.svg +24 -13
- package/public/assets/hap-icons/garagedoor.svg +24 -13
- package/public/assets/hap-icons/humidity.svg +24 -13
- package/public/assets/hap-icons/irrigation-system.svg +47 -18
- package/public/assets/hap-icons/leaksensor.svg +52 -2
- package/public/assets/hap-icons/light.svg +47 -28
- package/public/assets/hap-icons/lightbulb.svg +24 -13
- package/public/assets/hap-icons/lock-locked.svg +24 -13
- package/public/assets/hap-icons/lock-unlocked.svg +24 -13
- package/public/assets/hap-icons/motionsensor.svg +100 -2
- package/public/assets/hap-icons/occupancysensor.svg +97 -2
- package/public/assets/hap-icons/outlet.svg +24 -13
- package/public/assets/hap-icons/securitysystem-active.svg +102 -2
- package/public/assets/hap-icons/securitysystem-off.svg +68 -2
- package/public/assets/hap-icons/smokesensor.svg +42 -9
- package/public/assets/hap-icons/speaker.svg +29 -13
- package/public/assets/hap-icons/statelessprogrammableswitch.svg +51 -2
- package/public/assets/hap-icons/switch.svg +24 -13
- package/public/assets/hap-icons/television.svg +15 -4
- package/public/assets/hap-icons/temperature.svg +24 -13
- package/public/assets/hap-icons/unknown.svg +24 -13
- package/public/assets/hap-icons/valve-generic.svg +27 -16
- package/public/assets/hap-icons/valve-irrigation.svg +37 -21
- package/public/assets/hap-icons/valve-showerhead.svg +52 -0
- package/public/assets/hap-icons/valve-waterfaucet.svg +21 -0
- package/public/assets/hap-icons/window-closed.svg +85 -2
- package/public/assets/hap-icons/window-open.svg +136 -2
- package/public/assets/hap-icons/windowcovering-closed.svg +45 -49
- package/public/assets/hap-icons/windowcovering-open.svg +40 -44
- package/public/assets/homebridge-color-round.svg +36 -1
- package/public/assets/homebridge-logo.svg +11 -1
- package/public/assets/mask-icon.svg +5 -1
- package/public/assets/plugin-ui-utils/ui.js +3 -0
- package/public/assets/plugin-ui-utils/ui.js.map +1 -1
- package/public/chunk-2E6EOZUJ.js +1 -0
- package/public/chunk-2EEZAGZA.js +1 -0
- package/public/chunk-2G7GNBIF.js +1 -0
- package/public/chunk-3GEFBFMQ.js +1 -0
- package/public/chunk-3VYIHHCL.js +1 -0
- package/public/chunk-45NQ4GBG.js +1 -0
- package/public/chunk-4G7RRMI2.js +1 -0
- package/public/chunk-4L2H4MMG.js +29 -0
- package/public/chunk-4LX4LX6P.js +1 -0
- package/public/chunk-4SLRCK6B.js +2 -0
- package/public/chunk-53ILAFUX.js +1 -0
- package/public/chunk-5FYL3TBQ.js +1 -0
- package/public/chunk-5PN6UJOB.js +1 -0
- package/public/chunk-6IOCCVAH.js +1 -0
- package/public/chunk-7REMZHOO.js +1 -0
- package/public/{chunk-6FLZSYP2.js → chunk-AH6LOD34.js} +1 -1
- package/public/chunk-ALG7CIS3.js +5 -0
- package/public/chunk-AQNNOWXC.js +1 -0
- package/public/chunk-B4X7IOGK.js +1 -0
- package/public/chunk-BALPGJEG.js +1 -0
- package/public/chunk-BIRWL4X3.js +1 -0
- package/public/chunk-BMCQHGMB.js +1 -0
- package/public/chunk-BNYXD34L.js +1 -0
- package/public/{chunk-EA5J2VEJ.js → chunk-BRW7C4BZ.js} +1 -1
- package/public/chunk-C6HQUAQJ.js +1 -0
- package/public/chunk-C6LXQBT3.js +1 -0
- package/public/chunk-CG7LPZUJ.js +1 -0
- package/public/chunk-CMZBGXBL.js +1 -0
- package/public/chunk-CRIZPUI6.js +8 -0
- package/public/chunk-DDFZVHUO.js +1 -0
- package/public/chunk-DQUBVCJE.js +1 -0
- package/public/{chunk-Q5NJBBHF.js → chunk-EULZTUQA.js} +1 -1
- package/public/chunk-F6PRUGSN.js +1 -0
- package/public/chunk-FD3D3FMF.js +1 -0
- package/public/chunk-FJJNRLA7.js +1 -0
- package/public/chunk-FSQ4KA4X.js +1 -0
- package/public/chunk-FXS7MG4Z.js +1 -0
- package/public/chunk-GMY5QOXR.js +7 -0
- package/public/chunk-HE2YZMXJ.js +1 -0
- package/public/chunk-HOGBMPOF.js +1 -0
- package/public/chunk-HOI6GB6V.js +1 -0
- package/public/{chunk-7EUQWCP5.js → chunk-IOWBVW62.js} +2 -2
- package/public/chunk-LCYRJQ4W.js +1 -0
- package/public/chunk-M2U64RPA.js +1 -0
- package/public/chunk-MAXJEMB2.js +1 -0
- package/public/chunk-MGEQZI52.js +1 -0
- package/public/chunk-MTSNBCD6.js +1 -0
- package/public/chunk-O752QW52.js +8 -0
- package/public/chunk-OHSRCO5R.js +1 -0
- package/public/chunk-OTJCSRHZ.js +1 -0
- package/public/chunk-PAQIQJ5I.js +1 -0
- package/public/chunk-PODF4FUD.js +1 -0
- package/public/chunk-PYWNQR2G.js +1 -0
- package/public/chunk-Q5OGHYTC.js +1 -0
- package/public/chunk-QIH36FRX.js +1 -0
- package/public/chunk-QMB5XE4Y.js +1 -0
- package/public/chunk-R3VPSO5X.js +7 -0
- package/public/chunk-RGUTUTJY.js +20 -0
- package/public/{chunk-TIVE3PVO.js → chunk-RJAFS3B2.js} +1 -1
- package/public/{chunk-QE7DO6J3.js → chunk-RNHMRKPJ.js} +2 -2
- package/public/chunk-SHP2ASKV.js +5 -0
- package/public/chunk-SMR5XBWZ.js +1 -0
- package/public/chunk-T5VLECCH.js +23 -0
- package/public/chunk-TFSUXAYX.js +1 -0
- package/public/chunk-UCO62FWN.js +1 -0
- package/public/{chunk-PIAD3JIG.js → chunk-UTAVUGTT.js} +11 -11
- package/public/{chunk-JZZQRLNW.js → chunk-UVOJ3BF7.js} +1 -1
- package/public/chunk-UVQC4EUO.js +6 -0
- package/public/chunk-VECPBVSQ.js +1 -0
- package/public/{chunk-CCUID66K.js → chunk-VHTQTL2S.js} +1 -1
- package/public/chunk-VJEUBTTK.js +1 -0
- package/public/chunk-VLX322GM.js +1 -0
- package/public/chunk-VUYAK52W.js +2 -0
- package/public/{chunk-WNWWUCCZ.js → chunk-WAA5KWIN.js} +3 -3
- package/public/chunk-WGYMALW2.js +1 -0
- package/public/chunk-WU2EPT6Y.js +1 -0
- package/public/chunk-WUMR3VEV.js +1 -0
- package/public/{chunk-BSD4FVOE.js → chunk-WZZWFCHX.js} +2 -2
- package/public/chunk-XB7KM2X2.js +1 -0
- package/public/chunk-YJ2ZKKJQ.js +1 -0
- package/public/index.html +2 -2
- package/public/main-BQGRDRA6.js +1 -0
- package/public/media/fa-brands-400-Q3XCMWHQ.woff2 +0 -0
- package/public/media/{fa-brands-400-KOKGDU7E.ttf → fa-brands-400-R2XQZCET.ttf} +0 -0
- package/public/media/fa-regular-400-QSNYFYRT.woff2 +0 -0
- package/public/media/{fa-regular-400-IPMAEX5Y.ttf → fa-regular-400-XUOPSR7E.ttf} +0 -0
- package/public/media/fa-solid-900-5ZUYHGA7.woff2 +0 -0
- package/public/media/{fa-solid-900-SRFFQLRM.ttf → fa-solid-900-PJNKLK6W.ttf} +0 -0
- package/public/polyfills-GCAZ7JAV.js +2 -0
- package/public/styles-PKR3EGHP.css +1 -0
- package/scripts/upgrade-install-plugin.sh +1 -1
- package/public/chunk-26EWO6RG.js +0 -1
- package/public/chunk-3IX3CLER.js +0 -1
- package/public/chunk-3ZJBUXFZ.js +0 -20
- package/public/chunk-4DDKOVAZ.js +0 -1
- package/public/chunk-4IGKXTSE.js +0 -6
- package/public/chunk-4PAHKWW6.js +0 -1
- package/public/chunk-4SMDEHVB.js +0 -1
- package/public/chunk-4X4WE4X3.js +0 -1
- package/public/chunk-57O4WFHV.js +0 -1
- package/public/chunk-5LGVFGMP.js +0 -1
- package/public/chunk-6HVQYFKM.js +0 -1
- package/public/chunk-6I5NOTAK.js +0 -5
- package/public/chunk-6TCHCTXZ.js +0 -1
- package/public/chunk-7RD3ANA6.js +0 -1
- package/public/chunk-AEZNVJNA.js +0 -1
- package/public/chunk-BKUGARB4.js +0 -7
- package/public/chunk-BPMSJ2VF.js +0 -1
- package/public/chunk-C3OLDXDF.js +0 -1
- package/public/chunk-CKJ7WSCY.js +0 -1
- package/public/chunk-DW3VS3AJ.js +0 -1
- package/public/chunk-FBHAKNKK.js +0 -1
- package/public/chunk-FTBDA6VV.js +0 -1
- package/public/chunk-FX2G7EKQ.js +0 -1
- package/public/chunk-GLXDWUP7.js +0 -1
- package/public/chunk-GW3B2BTG.js +0 -1
- package/public/chunk-GZS6TFES.js +0 -1
- package/public/chunk-HFUBGIQF.js +0 -8
- package/public/chunk-HJMBSNDE.js +0 -1
- package/public/chunk-HSJSWZHD.js +0 -1
- package/public/chunk-J2ACJ2SJ.js +0 -1
- package/public/chunk-J2GVB2HH.js +0 -1
- package/public/chunk-JGA3UJQJ.js +0 -1
- package/public/chunk-JLZHU54T.js +0 -23
- package/public/chunk-JTBW4DGJ.js +0 -1
- package/public/chunk-K2S5XQH3.js +0 -1
- package/public/chunk-KQJ7ONUG.js +0 -1
- package/public/chunk-L376ASVB.js +0 -1
- package/public/chunk-MR5BBXDA.js +0 -1
- package/public/chunk-NW6AFAD7.js +0 -1
- package/public/chunk-NZNNTHFQ.js +0 -1
- package/public/chunk-ORPWYWCL.js +0 -5
- package/public/chunk-P7LFHZOY.js +0 -1
- package/public/chunk-PLAUCLPN.js +0 -1
- package/public/chunk-Q3KYLUJV.js +0 -1
- package/public/chunk-Q63MEYUW.js +0 -1
- package/public/chunk-QHPDGSZ6.js +0 -1
- package/public/chunk-RVIWX6PZ.js +0 -1
- package/public/chunk-S522GW34.js +0 -1
- package/public/chunk-SCN3MDZ7.js +0 -1
- package/public/chunk-SQXGCWUT.js +0 -1
- package/public/chunk-TCSXGQNF.js +0 -1
- package/public/chunk-TGK4ZIKS.js +0 -1
- package/public/chunk-TR6DJBRN.js +0 -1
- package/public/chunk-TXOB7R5K.js +0 -7
- package/public/chunk-UEDIA63L.js +0 -1
- package/public/chunk-UG5DK2RQ.js +0 -2
- package/public/chunk-VHDU5NZU.js +0 -1
- package/public/chunk-VHO4CUXG.js +0 -1
- package/public/chunk-VWTJUCNR.js +0 -1
- package/public/chunk-WALRIIUN.js +0 -1
- package/public/chunk-WBI25HR2.js +0 -1
- package/public/chunk-WHJOLAED.js +0 -1
- package/public/chunk-WHJSVGC7.js +0 -1
- package/public/chunk-WJD5UZP6.js +0 -32
- package/public/chunk-WZ5X6FKY.js +0 -1
- package/public/chunk-Y6JL2J5G.js +0 -1
- package/public/chunk-YPX7RY6A.js +0 -1
- package/public/chunk-YZUUWSDB.js +0 -1
- package/public/chunk-YZVODNRC.js +0 -1
- package/public/chunk-ZT23DWNL.js +0 -1
- package/public/main-T37JUFDS.js +0 -1
- package/public/media/01-RQ3S2L53.png +0 -0
- package/public/media/02-VNCG2I2A.png +0 -0
- package/public/media/03-HI42L4ZG.png +0 -0
- package/public/media/04-FJLL55LZ.png +0 -0
- package/public/media/05-V3EO6SPT.png +0 -0
- package/public/media/06-EOJZCQZN.png +0 -0
- package/public/media/07-KMKB5PBD.png +0 -0
- package/public/media/08-UQJRF6B2.png +0 -0
- package/public/media/09-2DJQFRHH.png +0 -0
- package/public/media/arrow_left-CQT7FZM7.svg +0 -4
- package/public/media/arrow_right-SBUDRR2G.svg +0 -4
- package/public/media/fa-brands-400-6PJPV6JM.woff2 +0 -0
- package/public/media/fa-regular-400-OHB6J4OK.woff2 +0 -0
- package/public/media/fa-solid-900-ABTK6BNK.woff2 +0 -0
- package/public/polyfills-C6JHVXJJ.js +0 -2
- package/public/scripts-6GVLYD7F.js +0 -62
- package/public/styles-EG5MFQEM.css +0 -1
- /package/public/assets/{bootstrap-4 → bootstrap-5}/cssframework/assets.json +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as ne}from"./chunk-RNHMRKPJ.js";import{g as O,m as G,n as te}from"./chunk-ALG7CIS3.js";import{A,b as Z,c as M,d as x,e as F,f as z,g as N,j as w,m as q,o as R,p as L,q as j,x as ee,z as V}from"./chunk-VLX322GM.js";import{b as ie}from"./chunk-2G7GNBIF.js";import{b as Q}from"./chunk-RJAFS3B2.js";import{a as ce}from"./chunk-WU2EPT6Y.js";import{k as U,n as k}from"./chunk-DQUBVCJE.js";import{a as S,b as $}from"./chunk-QMB5XE4Y.js";import{$a as e,Ac as s,Bc as l,Cc as Y,Gb as u,Hb as g,Ib as h,Kb as K,Lb as W,Mb as X,Nb as f,Ob as i,Pb as n,Qb as p,Ub as D,Xb as b,Yb as v,bd as P,g as de,jc as m,kc as d,la as c,lb as E,lc as C,ra as B,sa as T,wc as I}from"./chunk-R3VPSO5X.js";function ue(r,y){r&1&&(i(0,"ngb-alert",13)(1,"p",20),m(2),s(3,"translate"),n()()),r&2&&(f("dismissible",!1),e(2),d(l(3,2,"login.invalid_password")))}var re=(()=>{class r{$activeModal=c(G);$api=c(k);$toastr=c(U);$translate=c(S);formGroup=new N({password:new w("",[x.required])});invalidCredentials=!1;constructor(){}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}})}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=E({type:r,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(o,a){o&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),m(3),s(4,"translate"),n(),i(5,"button",3),s(6,"translate"),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4)(8,"div",5),p(9,"i",6),n(),i(10,"ul",7)(11,"li"),m(12),s(13,"translate"),n()(),i(14,"ul",8)(15,"li",9)(16,"label",10),m(17),s(18,"translate"),n(),i(19,"div",11),p(20,"input",12),s(21,"translate"),n()()(),g(22,ue,4,4,"ngb-alert",13),n(),i(23,"div",14)(24,"div",15)(25,"button",16),s(26,"translate"),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),m(27),s(28,"translate"),n()(),p(29,"div",17),i(30,"div",18)(31,"button",19),b("click",function(){return a.disable2fa()}),m(32),s(33,"translate"),n()()()()),o&2&&(e(3),d(l(4,11,"users.setup_2fa_disable")),e(2),u("aria-label",l(6,13,"form.button_close")),e(7),d(l(13,15,"users.setup_2fa_disable_current_password")),e(5),d(l(18,17,"users.label_password")),e(3),f("formControl",a.formGroup.controls.password)("placeholder",l(21,19,"users.label_password")),e(2),h(a.invalidCredentials&&!a.formGroup.controls.password.value?22:-1),e(3),u("aria-label",l(26,21,"form.button_close")),e(2),C(" ",l(28,23,"form.button_close")," "),e(4),f("disabled",a.formGroup.invalid),e(),C(" ",l(33,25,"form.button_disable")," "))},dependencies:[V,M,F,A,R,$,O],encapsulation:2})}return r})();var ae=de(ce(),1);var fe=r=>({timeDiffError:r});function be(r,y){r&1&&(i(0,"li"),m(1),s(2,"translate"),n()),r&2&&(e(),d(l(2,1,"users.setup_2fa_scan_qr_code")))}function _e(r,y){if(r&1&&(i(0,"ngb-alert",8)(1,"p",16),m(2),s(3,"translate"),n(),i(4,"p",17),m(5),s(6,"translate"),n()()),r&2){let t=v();f("dismissible",!1),e(2),d(l(3,3,"users.setup_2fa_cannot_setup_2fa")),e(3),d(Y(6,5,"users.setup_2fa_server_time_out",I(8,fe,t.timeDiffError)))}}function ve(r,y){if(r&1&&(i(0,"ul",9)(1,"li",18)(2,"div",19),p(3,"app-qrcode",20),n()(),i(4,"li",21)(5,"label",22),m(6),s(7,"translate"),n(),i(8,"div",23),p(9,"input",24),n()()()),r&2){let t=v();e(3),f("data",t.otpString),e(3),d(l(7,3,"users.setup_2fa_enter_code")),e(3),f("formControl",t.formGroup.controls.code)}}function xe(r,y){if(r&1){let t=D();i(0,"button",25),s(1,"translate"),b("click",function(){B(t);let a=v();return T(a.$activeModal.dismiss("Dismiss"))}),m(2),s(3,"translate"),n()}r&2&&(u("aria-label",l(1,2,"form.button_close")),e(2),C(" ",l(3,4,"form.button_close")," "))}function we(r,y){if(r&1){let t=D();i(0,"button",25),s(1,"translate"),b("click",function(){B(t);let a=v();return T(a.$activeModal.dismiss("Dismiss"))}),m(2),s(3,"translate"),n()}r&2&&(u("aria-label",l(1,2,"form.button_close")),e(2),C(" ",l(3,4,"form.button_close")," "))}function Ce(r,y){if(r&1){let t=D();i(0,"button",26),b("click",function(){B(t);let a=v();return T(a.enable2fa())}),m(1),s(2,"translate"),n()}if(r&2){let t=v();f("disabled",t.formGroup.invalid),e(),C(" ",l(2,2,"form.button_enable")," ")}}var oe=(()=>{class r{$activeModal=c(G);$api=c(k);$toastr=c(U);$translate=c(S);user;timeDiffError=null;otpString;formGroup=new N({code:new w("",[x.required,x.minLength(6),x.maxLength(6)])});constructor(){}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"))}})}checkTimeDiff(t){let o=(0,ae.default)(t).diff(new Date,"millisecond");o<-5e3||o>5e3?this.timeDiffError=o:this.timeDiffError=null}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"))}})}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=E({type:r,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"],["formControlName","username","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(o,a){o&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),m(3),s(4,"translate"),n(),i(5,"button",3),s(6,"translate"),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4)(8,"div",5),p(9,"i",6),n(),i(10,"ul",7)(11,"li"),m(12),s(13,"translate"),n(),g(14,be,3,3,"li"),n(),g(15,_e,7,10,"ngb-alert",8),g(16,ve,10,5,"ul",9),n(),i(17,"div",10)(18,"div",11),g(19,xe,4,6,"button",12),n(),i(20,"div",13),g(21,we,4,6,"button",12),n(),i(22,"div",14),g(23,Ce,3,4,"button",15),n()()()),o&2&&(e(3),d(l(4,9,"users.setup_2fa")),e(2),u("aria-label",l(6,11,"form.button_close")),e(7),d(l(13,13,"users.setup_2fa_warning")),e(2),h(a.timeDiffError?-1:14),e(),h(a.timeDiffError?15:-1),e(),h(a.timeDiffError?-1:16),e(3),h(a.timeDiffError?-1:19),e(2),h(a.timeDiffError?21:-1),e(2),h(a.timeDiffError?-1:23))},dependencies:[O,ne,V,M,F,ee,A,R,j,$],encapsulation:2})}return r})();var se=r=>({"is-invalid":r}),le=(()=>{class r{$activeModal=c(G);$api=c(k);$toastr=c(U);$translate=c(S);form=new N({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);page={title:"users.title_add_user",save:"users.button_add_new_user",password:"users.label_password"};constructor(){}matchPassword(t){let o=t.get("password").value,a=t.get("passwordConfirm").value;if(o!==a)t.get("passwordConfirm").setErrors({matchPassword:!0});else return null}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:o=>{this.$toastr.error(o.error.message||this.$translate.instant("users.toast_failed_to_add_user"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=E({type:r,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(o,a){o&1&&(i(0,"div",0)(1,"form",1),b("ngSubmit",function(){return a.onSubmit(a.form)}),i(2,"div",2)(3,"h5",3),m(4),s(5,"translate"),n(),i(6,"button",4),s(7,"translate"),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),n()(),i(8,"div",5)(9,"div",6),p(10,"i",7),n(),i(11,"ul",8)(12,"li",9)(13,"label",10),m(14),s(15,"translate"),n(),i(16,"div",11),p(17,"input",12),s(18,"translate"),n()(),i(19,"li",9)(20,"label",13),m(21),s(22,"translate"),n(),i(23,"div",11),p(24,"input",14),s(25,"translate"),n()(),i(26,"li",9)(27,"label",15),m(28),s(29,"translate"),n(),i(30,"div",11),p(31,"input",16),s(32,"translate"),n()(),i(33,"li",9)(34,"label",17),m(35),s(36,"translate"),n(),i(37,"div",11),p(38,"input",18),s(39,"translate"),n()(),i(40,"li",19)(41,"span",20),m(42),s(43,"translate"),n(),i(44,"div",21),p(45,"input",22),s(46,"translate"),p(47,"label",23),n()()()(),i(48,"div",24)(49,"div",20)(50,"button",25),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),m(51),s(52,"translate"),n()(),p(53,"div",26),i(54,"div",27)(55,"button",28),m(56),s(57,"translate"),n()()()()()),o&2&&(e(),f("formGroup",a.form),e(3),d(l(5,18,"users.title_add_user")),e(2),u("aria-label",l(7,20,"form.button_close")),e(8),d(l(15,22,"users.label_username")),e(3),u("aria-label",l(18,24,"users.label_username")),e(4),d(l(22,26,"users.label_full_name")),e(3),u("aria-label",l(25,28,"users.label_full_name")),e(4),d(l(29,30,a.page.password)),e(3),f("ngClass",I(46,se,a.form.controls.password.dirty&&a.form.controls.password.errors)),u("aria-label",l(32,32,a.page.password)),e(4),d(l(36,34,"users.label_confirm_password")),e(3),f("ngClass",I(48,se,a.form.controls.passwordConfirm.dirty&&a.form.controls.passwordConfirm.errors)),u("aria-label",l(39,36,"users.label_confirm_password")),e(4),d(l(43,38,"users.label_admin_user")),e(3),u("aria-label",l(46,40,"users.label_admin_user")),e(6),C(" ",l(52,42,"form.button_close")," "),e(4),f("disabled",!a.form.valid),e(),C(" ",l(57,44,"form.button_save")," "))},dependencies:[V,q,M,F,z,A,L,j,P,$],encapsulation:2})}return r})();var me=r=>({"is-invalid":r});function ge(r,y){if(r&1&&(i(0,"li",9)(1,"label",27),m(2),s(3,"translate"),n(),i(4,"div",11),p(5,"input",28),s(6,"translate"),n()()),r&2){let t=v();e(2),d(l(3,3,"users.label_confirm_password")),e(3),f("ngClass",I(7,me,t.form.controls.passwordConfirm.dirty&&t.form.controls.passwordConfirm.errors)),u("aria-label",l(6,5,"users.label_confirm_password"))}}var pe=(()=>{class r{$activeModal=c(G);$api=c(k);$auth=c(Q);$toastr=c(U);$translate=c(S);user;form=new N({username:new w("",[x.required]),name:new w("",[x.required]),password:new w(""),passwordConfirm:new w(""),admin:new w(!0)},this.matchPassword);page={title:"users.title_edit_user",save:"form.button_save",password:"users.label_new_password"};isCurrentUser=!1;constructor(){}ngOnInit(){this.isCurrentUser=this.$auth.user.username===this.user.username,this.form.patchValue(this.user)}matchPassword(t){let o=t.get("password").value,a=t.get("passwordConfirm").value;if(o!==a)t.get("passwordConfirm").setErrors({matchPassword:!0});else return null}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:o=>{console.error(o),this.$toastr.error(o.error.message||this.$translate.instant("users.toast_failed_to_add_user"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=E({type:r,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(o,a){o&1&&(i(0,"div",0)(1,"form",1),b("ngSubmit",function(){return a.onSubmit(a.form)}),i(2,"div",2)(3,"h5",3),m(4),s(5,"translate"),n(),i(6,"button",4),s(7,"translate"),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),n()(),i(8,"div",5)(9,"div",6),p(10,"i",7),n(),i(11,"ul",8)(12,"li",9)(13,"label",10),m(14),s(15,"translate"),n(),i(16,"div",11),p(17,"input",12),s(18,"translate"),n()(),i(19,"li",9)(20,"label",13),m(21),s(22,"translate"),n(),i(23,"div",11),p(24,"input",14),s(25,"translate"),n()(),i(26,"li",9)(27,"label",15),m(28),s(29,"translate"),n(),i(30,"div",11),p(31,"input",16),s(32,"translate"),n()(),g(33,ge,7,9,"li",9),i(34,"li",17)(35,"span",18),m(36),s(37,"translate"),n(),i(38,"div",19),p(39,"input",20),s(40,"translate"),p(41,"label",21),n()()()(),i(42,"div",22)(43,"div",18)(44,"button",23),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),m(45),s(46,"translate"),n()(),p(47,"div",24),i(48,"div",25)(49,"button",26),m(50),s(51,"translate"),n()()()()()),o&2&&(e(),f("formGroup",a.form),e(3),d(l(5,16,"users.title_edit_user")),e(2),u("aria-label",l(7,18,"form.button_close")),e(8),d(l(15,20,"users.label_username")),e(3),u("aria-label",l(18,22,"users.label_username")),e(4),d(l(22,24,"users.label_full_name")),e(3),u("aria-label",l(25,26,"users.label_full_name")),e(4),d(l(29,28,a.page.password)),e(3),f("ngClass",I(40,me,a.form.controls.password.dirty&&a.form.controls.password.errors)),u("aria-label",l(32,30,a.page.password)),e(2),h(a.form.controls.password.value?33:-1),e(3),d(l(37,32,"users.label_admin_user")),e(3),u("aria-label",l(40,34,"users.label_admin_user")),e(6),C(" ",l(46,36,"form.button_close")," "),e(4),f("disabled",!a.form.valid),e(),C(" ",l(51,38,"form.button_save")," "))},dependencies:[V,q,M,Z,F,z,A,L,j,P,$],encapsulation:2})}return r})();function he(r,y){if(r&1){let t=D();i(0,"button",21),b("click",function(){B(t);let a=v().$implicit,_=v();return T(_.setup2fa(a))}),m(1),s(2,"translate"),n()}r&2&&(e(),d(l(2,1,"users.setup_2fa")))}function ye(r,y){if(r&1){let t=D();i(0,"button",17),b("click",function(){B(t);let a=v().$implicit,_=v();return T(_.disable2fa(a))}),m(1),s(2,"translate"),n()}r&2&&(e(),C(" ",l(2,1,"users.setup_2fa_disable")," "))}function Ee(r,y){if(r&1){let t=D();i(0,"div",7)(1,"div",8)(2,"div",9)(3,"div",10)(4,"span",11),p(5,"h4",12)(6,"h5",13),n()(),i(7,"div",14),g(8,he,3,3,"button",15),g(9,ye,3,3,"button",16),i(10,"div")(11,"button",17),s(12,"translate"),b("click",function(){let a=B(t).$implicit,_=v();return T(_.openEditUser(a))}),p(13,"i",18),n(),i(14,"button",19),s(15,"translate"),b("click",function(){let a=B(t).$implicit,_=v();return T(_.deleteUser(a.id))}),p(16,"i",20),n()()()()()()}if(r&2){let t=y.$implicit,o=v();e(5),f("innerText",t.name),e(),f("innerText",t.username),e(2),h(o.$auth.user.username===t.username&&!t.otpActive?8:-1),e(),h(o.$auth.user.username===t.username&&t.otpActive?9:-1),e(2),u("aria-label",l(12,7,"form.button_edit")),e(3),f("disabled",o.$auth.user.username===t.username),u("aria-label",l(15,9,"form.button_delete"))}}var gt=(()=>{class r{$api=c(k);$auth=c(Q);$modal=c(te);$route=c(ie);$toastr=c(U);$translate=c(S);homebridgeUsers;constructor(){}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(le,{size:"lg",backdrop:"static"}).result.finally(()=>{this.reloadUsers()})}openEditUser(t){let o=this.$modal.open(pe,{size:"lg",backdrop:"static"});o.componentInstance.user=t,o.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:o=>{console.error(o),this.$toastr.error(o.error.message||this.$translate.instant("users.toast_failed_to_delete_user"),this.$translate.instant("toast.title_error"))}})}setup2fa(t){let o=this.$modal.open(oe,{size:"lg",backdrop:"static"});o.componentInstance.user=t,o.result.finally(()=>{this.reloadUsers()})}disable2fa(t){let o=this.$modal.open(re,{size:"lg",backdrop:"static"});o.componentInstance.user=t,o.result.finally(()=>{this.reloadUsers()})}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=E({type:r,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(o,a){o&1&&(i(0,"div",0)(1,"div",1)(2,"h3",2),m(3),s(4,"translate"),n()(),i(5,"div",3)(6,"button",4),s(7,"translate"),b("click",function(){return a.openAddNewUser()}),p(8,"i",5),n()()(),i(9,"div",6),W(10,Ee,17,11,"div",7,K),n()),o&2&&(e(3),d(l(4,2,"users.title_users")),e(3),u("aria-label",l(7,4,"users.button_add_user")),e(4),X(a.homebridgeUsers))},dependencies:[$],encapsulation:2})}return r})();export{re as a,oe as b,le as c,pe as d,gt as e};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as j,c as T,d as b,e as $,f as N,g as q,j as w,m as z,p as H,q as D,w as G,x as Q,z as A}from"./chunk-VLX322GM.js";import{d as W}from"./chunk-2G7GNBIF.js";import{b as X}from"./chunk-RJAFS3B2.js";import{b as K}from"./chunk-WU2EPT6Y.js";import{m as J}from"./chunk-DQUBVCJE.js";import{b as U}from"./chunk-QMB5XE4Y.js";import{$a as n,Ac as l,Bc as d,Hb as p,Ib as u,Lc as C,M as I,Nb as m,Nc as P,Ob as r,Pb as a,Qb as s,Xa as x,Xb as F,Yb as M,bd as B,dc as v,ec as L,ed as R,fb as k,h as y,jc as c,kc as h,la as f,lb as E,lc as V,sd as O,w as S,wc as g}from"./chunk-R3VPSO5X.js";var Z=["password"],ee=["username"],te=["otp"],ie=e=>({background:e}),ne=e=>({anim:e}),Y=e=>({"is-invalid":e});function oe(e,_){if(e&1&&(r(0,"div",8)(1,"span",12),s(2,"i",13),a(),s(3,"input",14,0),l(5,"translate"),a(),r(6,"div",8)(7,"span",12),s(8,"i",15),a(),s(9,"input",16,1),l(11,"translate"),a()),e&2){let i=M();n(3),m("placeholder",d(5,4,"users.label_username"))("ngClass",g(8,Y,i.form.controls.username.dirty&&i.form.controls.username.errors)),n(6),m("placeholder",d(11,6,"users.label_password"))("ngClass",g(10,Y,i.form.controls.password.dirty&&i.form.controls.password.errors))}}function ae(e,_){e&1&&(r(0,"div",8)(1,"span",12),s(2,"i",17),a(),s(3,"input",18,2),l(5,"translate"),a()),e&2&&(n(3),m("placeholder",d(5,1,"login.label_2fa_code")))}function re(e,_){e&1&&(r(0,"div",9)(1,"div",12),s(2,"i",19),a(),r(3,"div",20)(4,"div",21),c(5),l(6,"translate"),a(),s(7,"div",22),l(8,"translate"),a()()),e&2&&(n(5),h(d(6,2,"login.invalid_credentials")),n(2),m("innerHTML",d(8,4,"login.invalid_credentials_2"),x))}function se(e,_){e&1&&(r(0,"div",9)(1,"div",12),s(2,"i",19),a(),r(3,"div",20)(4,"div",21),c(5),l(6,"translate"),a(),s(7,"div",22),l(8,"translate"),a()()),e&2&&(n(5),h(d(6,2,"login.invalid_code")),n(2),m("innerHTML",d(8,4,"login.invalid_credentials_2"),x))}var ye=(()=>{class e{cdr;$auth=f(X);$router=f(W);$settings=f(K);passwordInput=C("password");usernameInput=C("username");otpInput=C("otp");form;backgroundStyle;invalidCredentials=!1;invalid2faCode=!1;twoFactorCodeRequired=!1;inProgress=!1;targetRoute;constructor(i){this.cdr=i}ngOnInit(){this.form=new q({username:new w(""),password:new w("")}),this.form.valueChanges.pipe(I(500)).subscribe(i=>{let o=this.passwordInput()?.nativeElement.value;o&&o!==i.password&&this.form.controls.password.setValue(o)}),this.targetRoute=window.sessionStorage.getItem("target_route")||"",this.setBackground()}ngAfterViewChecked(){this.cdr.detectChanges()}setBackground(){return y(this,null,function*(){if(this.$settings.settingsLoaded||(yield S(this.$settings.onSettingsLoaded)),this.$settings.env.customWallpaperHash){let i=`${J.api.base}/auth/wallpaper/${this.$settings.env.customWallpaperHash}`;this.backgroundStyle=`url('${i}') center/cover`}})}onSubmit(){return y(this,null,function*(){this.invalidCredentials=!1,this.invalid2faCode=!1,this.inProgress=!0,document.getElementById("submit-button")?.blur();let i=this.passwordInput()?.nativeElement.value;i&&i!==this.form.get("password").value&&this.form.controls.password.setValue(i);let o=this.usernameInput()?.nativeElement.value;if(o&&o!==this.form.get("username").value&&this.form.controls.username.setValue(o),this.twoFactorCodeRequired){let t=this.otpInput()?.nativeElement.value;t&&t!==this.form.get("otp").value&&this.form.controls.username.setValue(t)}try{yield this.$auth.login(this.form.getRawValue()),this.$router.navigateByUrl(this.targetRoute),window.sessionStorage.removeItem("target_route")}catch(t){t.status===412?(this.form.controls.otp?(this.form.controls.otp.setErrors(["Invalid Code"]),this.invalid2faCode=!0):this.form.addControl("otp",new w("",[b.required,b.minLength(6),b.maxLength(6)])),this.twoFactorCodeRequired=!0,setTimeout(()=>{document.getElementById("form-ota").focus()},100)):this.invalidCredentials=!0}this.inProgress=!1})}static \u0275fac=function(o){return new(o||e)(k(P))};static \u0275cmp=E({type:e,selectors:[["ng-component"]],viewQuery:function(o,t){o&1&&(v(t.passwordInput,Z,5),v(t.usernameInput,ee,5),v(t.otpInput,te,5)),o&2&&L(3)},decls:15,vars:18,consts:[["username",""],["password",""],["otp",""],[1,"login-container","gradient","d-flex","align-items-start","justify-content-center",3,"ngStyle","ngClass"],[1,"w-100","login-card","d-flex","py-4","flex-column"],["ngSrc","/assets/homebridge-color-round.svg","alt","Homebridge Logo","height","100","width","100","priority","true",1,"homebridge-logo","mx-auto","my-3"],["novalidate","",3,"ngSubmit","formGroup"],[1,"mb-4","text-center"],[1,"input-group","mb-4"],[1,"input-group","no-border","mb-4"],[1,"text-center"],["tabindex","3","id","submit-button","type","submit",1,"btn","btn-primary","mb-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),F("ngSubmit",function(){return t.onSubmit()}),r(4,"h4",7),c(5),l(6,"translate"),a(),p(7,oe,12,12),p(8,ae,6,3,"div",8),p(9,re,9,6,"div",9),p(10,se,9,6,"div",9),r(11,"div",10)(12,"button",11),c(13),l(14,"translate"),a()()()()()),o&2&&(m("ngStyle",g(14,ie,t.backgroundStyle))("ngClass",g(16,ne,!t.backgroundStyle)),n(3),m("formGroup",t.form),n(2),h(d(6,10,"setup.welcome_to_homebridge")),n(2),u(t.twoFactorCodeRequired?-1:7),n(),u(t.twoFactorCodeRequired?8:-1),n(),u(t.invalidCredentials?9:-1),n(),u(t.invalid2faCode?10:-1),n(2),m("disabled",t.form.invalid),n(),V(" ",d(14,12,"form.label_continue")," "))},dependencies:[R,A,z,T,$,N,G,Q,j,H,D,B,U,O],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{ye as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as f,b as u}from"./chunk-4LX4LX6P.js";import{a as d}from"./chunk-6IOCCVAH.js";import{c as p}from"./chunk-O752QW52.js";import"./chunk-M2U64RPA.js";import"./chunk-WAA5KWIN.js";import"./chunk-UVOJ3BF7.js";import{q as n}from"./chunk-ALG7CIS3.js";import{z as s}from"./chunk-VLX322GM.js";import{g as i}from"./chunk-2G7GNBIF.js";import"./chunk-EULZTUQA.js";import"./chunk-RJAFS3B2.js";import"./chunk-WU2EPT6Y.js";import"./chunk-DQUBVCJE.js";import"./chunk-VUYAK52W.js";import{c}from"./chunk-QMB5XE4Y.js";import{ha as r,kd as m,mb as e}from"./chunk-R3VPSO5X.js";var C=[{path:"",loadComponent:()=>import("./chunk-FJJNRLA7.js").then(o=>o.AccessoriesComponent)}],l=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=e({type:o});static \u0275inj=r({imports:[i.forChild(C),i]})}return o})();var S=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=e({type:o});static \u0275inj=r({imports:[m,s,n,p,c.forChild(),d,l,u,f]})}return o})();export{S as AccessoriesModule};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as D}from"./chunk-
|
|
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(
|
|
1
|
+
import{a as D}from"./chunk-VLX322GM.js";import{Da as l,E as h,Qb as g,ac as y,bc as b,cc as E,fa as _,ha as M,ja as v,kd as O,la as a,lb as c,mb as w,pb as u,tb as C,ub as f,uc as N}from"./chunk-R3VPSO5X.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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as k}from"./chunk-ALG7CIS3.js";import{d as P}from"./chunk-2G7GNBIF.js";import{b as V}from"./chunk-WU2EPT6Y.js";import{k as T,n as O}from"./chunk-DQUBVCJE.js";import{a as y,b as $}from"./chunk-QMB5XE4Y.js";import{$a as i,Ac as a,Bc as s,Hb as f,Ib as v,Nb as C,Ob as o,Pb as r,Qb as h,Ub as b,Xb as m,Yb as x,jc as l,kc as S,la as c,lb as g,lc as d,ra as u,sa as _}from"./chunk-R3VPSO5X.js";function B(t,w){if(t&1){let n=b();o(0,"p",5)(1,"button",6),m("click",function(){u(n);let e=x();return _(e.restartServer())}),l(2),a(3,"translate"),r()()}t&2&&(i(2),d(" ",s(3,1,"menu.linux.label_restart_server")," "))}function I(t,w){if(t&1){let n=b();o(0,"p",5)(1,"button",6),m("click",function(){u(n);let e=x();return _(e.shutdownServer())}),l(2),a(3,"translate"),r()()}t&2&&(i(2),d(" ",s(3,1,"menu.linux.label_shutdown_server")," "))}function H(t,w){if(t&1){let n=b();o(0,"p",5)(1,"button",6),m("click",function(){u(n);let e=x();return _(e.dockerRestartContainer())}),l(2),a(3,"translate"),r()()}t&2&&(i(2),d(" ",s(3,1,"menu.docker.restart_container")," "))}var G=(()=>{class t{$api=c(O);$router=c(P);$settings=c(V);$toastr=c(T);$translate=c(y);constructor(){}restartHomebridge(){this.$router.navigate(["/restart"])}restartHomebridgeService(){this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>{this.$router.navigate(["/restart"])},error:n=>{console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error"))}})}restartServer(){this.$router.navigate(["/platform-tools/linux/restart-server"])}shutdownServer(){this.$router.navigate(["/platform-tools/linux/shutdown-server"])}dockerRestartContainer(){this.$router.navigate(["/platform-tools/docker/restart-container"])}static \u0275fac=function(p){return new(p||t)};static \u0275cmp=g({type:t,selectors:[["ng-component"]],decls:19,vars:15,consts:[[1,"d-flex","justify-content-between"],[1,"primary-text","m-0"],[1,"my-4","align-items-center",2,"max-width","1000px","margin","auto"],[1,"w-100","text-center","primary-text","mb-5"],[1,"fas","fa-fw","fa-power-off",2,"font-size","75px"],[1,"w-100","text-center","my-5"],["type","button",1,"btn","btn-primary","p-3","my-0",2,"width","85%",3,"click"],["type","button","container","body","openDelay","150","triggers","hover",1,"btn","btn-primary","p-3","my-0",2,"width","85%",3,"click","ngbTooltip"]],template:function(p,e){p&1&&(o(0,"div",0)(1,"h3",1),l(2),a(3,"translate"),r()(),o(4,"div",2)(5,"div",3),h(6,"i",4),r(),o(7,"p",5)(8,"button",6),m("click",function(){return e.restartHomebridge()}),l(9),a(10,"translate"),r()(),o(11,"p",5)(12,"button",7),a(13,"translate"),m("click",function(){return e.restartHomebridgeService()}),l(14),a(15,"translate"),r()(),f(16,B,4,3,"p",5),f(17,I,4,3,"p",5),f(18,H,4,3,"p",5),r()),p&2&&(i(2),S(s(3,7,"menu.restart.title")),i(7),d(" ",s(10,9,"menu.hbrestart.confirm_hb")," "),i(3),C("ngbTooltip",s(13,11,"reset.force_restart_hb_help_text")),i(2),d(" ",s(15,13,"menu.hbrestart.confirm_ui")," "),i(2),v(e.$settings.env.canShutdownRestartHost?16:-1),i(),v(e.$settings.env.canShutdownRestartHost?17:-1),i(),v(e.$settings.env.runningInDocker?18:-1))},dependencies:[k,$],encapsulation:2})}return t})();export{G as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{m as J}from"./chunk-ALG7CIS3.js";import{e as O,l as W,r as z,s as q,t as G,z as H}from"./chunk-VLX322GM.js";import{d as Y}from"./chunk-2G7GNBIF.js";import{k as X,n as Z}from"./chunk-DQUBVCJE.js";import{a as K,b as Q}from"./chunk-QMB5XE4Y.js";import{$a as s,Ac as m,Bc as p,Gb as A,Hb as _,Ib as u,Kb as $,Lb as k,Mb as E,Nb as C,Ob as o,Pb as a,Qb as w,Ub as B,Xb as b,Yb as d,a as T,b as D,bd as j,h as R,jc as c,kc as g,la as y,lb as M,lc as h,mc as V,qc as F,ra as v,rc as U,sa as f,sc as L,w as S,xc as N,yc as P}from"./chunk-R3VPSO5X.js";var te=(t,l)=>({"btn-danger":t,"btn-elegant":l}),ie=(t,l,e)=>({"fa-trash":t,"fa-undo":l,"fa-spinner fa-pulse":e});function ne(t,l){t&1&&(o(0,"div",12),w(1,"i",13),a(),o(2,"p",14),c(3),m(4,"translate"),a()),t&2&&(s(3),g(p(4,1,"reset.no_accessories")))}function se(t,l){if(t&1&&(o(0,"option",24),c(1),a()),t&2){let e=l.$implicit;C("value",e._id),s(),V("",e.name," (",e._username,")")}}function oe(t,l){if(t&1){let e=B();o(0,"li",20),c(1),m(2,"translate"),a(),o(3,"li",18)(4,"label",21),c(5),m(6,"translate"),a(),o(7,"div",22)(8,"select",23),L("ngModelChange",function(i){v(e);let r=d(2);return U(r.selectedBridge,i)||(r.selectedBridge=i),f(i)}),b("change",function(i){v(e);let r=d(2);return f(r.onBridgeChange(i.target.value))}),k(9,se,2,3,"option",24,$),a()()()}if(t&2){let e=d(2);s(),g(p(2,3,"form.label.changes_kept")),s(4),g(p(6,5,"reset.accessory_ind.bridge")),s(3),F("ngModel",e.selectedBridge),s(),E(e.pairings)}}function ae(t,l){if(t&1&&(o(0,"li",18)(1,"label",25),c(2),m(3,"translate"),a(),o(4,"div",26),c(5),a()()),t&2){let e=d(2);s(2),g(p(3,2,"reset.accessory_ind.bridge")),s(3),h(" ",e.getCurrentlySelectedBridge()," ")}}function re(t,l){if(t&1){let e=B();o(0,"li",19)(1,"span"),c(2),w(3,"br"),o(4,"small")(5,"span",27),c(6),a()()(),o(7,"button",28),m(8,"translate"),b("click",function(){let i=v(e).$implicit,r=d(2);return f(r.toggleList(i.UUID,i.$cacheFile))}),w(9,"i",29),a()()}if(t&2){let e=l.$implicit,n=d(2);s(2),h(" ",e.displayName),s(4),g(e.UUID),s(),C("disabled",n.clicked)("ngClass",N(8,te,!n.isInList(e.UUID,e.$cacheFile),n.isInList(e.UUID,e.$cacheFile))),A("aria-label",p(8,6,"form.button_delete")),s(2),C("ngClass",P(11,ie,!n.isInList(e.UUID,e.$cacheFile),n.isInList(e.UUID,e.$cacheFile)&&!n.clicked,n.isInList(e.UUID,e.$cacheFile)&&n.clicked))}}function le(t,l){if(t&1&&(o(0,"div",12),w(1,"i",15),a(),o(2,"ul",16)(3,"li"),c(4),m(5,"translate"),a(),o(6,"li"),c(7),m(8,"translate"),a(),o(9,"li"),c(10),m(11,"translate"),a()(),o(12,"ul",17),_(13,oe,11,7),_(14,ae,6,4,"li",18),k(15,re,10,15,"li",19,$),a()),t&2){let e=d();s(4),g(p(5,5,"reset.accessory_ind.list_1")),s(3),g(p(8,7,"reset.accessory_ind.list_2")),s(3),g(p(11,9,"reset.accessory_ind.list_3")),s(3),u(e.pairings.length>1?13:-1),s(),u(e.pairings.length===1?14:-1),s(),E(e.selectedBridgeAccessories)}}function ce(t,l){if(t&1){let e=B();o(0,"button",30),b("click",function(){v(e);let i=d();return f(i.$activeModal.dismiss("Dismiss"))}),c(1),m(2,"translate"),a()}if(t&2){let e=d();C("disabled",e.clicked),s(),h(" ",p(2,2,"form.button_close")," ")}}function de(t,l){if(t&1){let e=B();o(0,"button",31),b("click",function(){v(e);let i=d();return f(i.$activeModal.dismiss("Dismiss"))}),c(1),m(2,"translate"),a()}t&2&&(s(),h(" ",p(2,1,"form.button_close")," "))}function me(t,l){if(t&1&&c(0),t&2){let e=d(3);h(" (",e.toDelete.length,") ")}}function pe(t,l){if(t&1&&(c(0),m(1,"translate"),_(2,me,1,1)),t&2){let e=d(2);h(" ",p(1,2,"form.button_remove")," "),s(2),u(e.toDelete.length>0?2:-1)}}function _e(t,l){t&1&&w(0,"i",33)}function ue(t,l){if(t&1){let e=B();o(0,"button",32),b("click",function(){v(e);let i=d();return f(i.removeAccessories())}),_(1,pe,3,4),_(2,_e,1,0,"i",33),a()}if(t&2){let e=d();C("disabled",!e.toDelete.length||e.clicked),s(),u(e.clicked?-1:1),s(),u(e.clicked?2:-1)}}var $e=(()=>{class t{$activeModal=y(J);$api=y(Z);$router=y(Y);$toastr=y(X);$translate=y(K);pairings=[];selectedBridge="";clicked=!1;selectedBridgeAccessories=[];accessoriesExist=!1;toDelete=[];constructor(){}ngOnInit(){this.loadCachedAccessories()}loadCachedAccessories(){return R(this,null,function*(){try{let[e,n]=yield Promise.all([S(this.$api.get("/server/cached-accessories")),S(this.$api.get("/server/pairings"))]),i=new Map(n.map(r=>[r._id,D(T({},r),{accessories:[]})]));e.sort((r,x)=>r.displayName.localeCompare(x.displayName)).forEach(r=>{let x=n.find(ee=>ee._main),I=r.$cacheFile?.split(".")?.[1]||x._id;(!this.selectedBridge||this.selectedBridge===I)&&(i.has(I)||i.set(I,{_id:I,_username:I.match(/.{1,2}/g).join(":"),name:this.$translate.instant("reset.accessory_ind.unknown"),accessories:[]}),i.get(I).accessories.push(r))}),this.pairings=Array.from(i.values()).filter(r=>r.accessories.length>0).sort((r,x)=>r._main&&!x._main?-1:!r._main&&x._main?1:r.name.localeCompare(x.name)),this.selectedBridge=this.selectedBridge||this.pairings[0]?._id,this.selectedBridge&&(this.accessoriesExist=!0,this.selectedBridgeAccessories=this.pairings[0].accessories)}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("reset.error_message"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}onBridgeChange(e){this.selectedBridge=e,this.selectedBridgeAccessories=this.pairings.find(n=>n._id===this.selectedBridge)?.accessories}getCurrentlySelectedBridge(){let e=this.pairings.find(n=>n._id===this.selectedBridge);return`${e.name} - ${e._username}`}toggleList(e,n){this.toDelete.some(i=>i.uuid===e&&i.cacheFile===n)?this.toDelete=this.toDelete.filter(i=>i.uuid!==e||i.cacheFile!==n):this.toDelete.push({cacheFile:n,uuid:e})}isInList(e,n){return this.toDelete.some(i=>i.uuid===e&&i.cacheFile===n)}removeAccessories(){return this.clicked=!0,this.$api.delete("/server/cached-accessories",{body:this.toDelete}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.accessory_ind.done"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}})},error:e=>{this.clicked=!1,console.error(e),this.$toastr.error(this.$translate.instant("reset.accessory_ind.fail"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=M({type:t,selectors:[["ng-component"]],inputs:{selectedBridge:"selectedBridge"},decls:17,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-circle-check","primary-text",2,"font-size","75px"],[1,"mb-0","text-center"],[1,"fas","fa-fw","fa-network-wired","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"list-group-item","text-center","grey-text","small"],["for","bridgeSelect",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["id","bridgeSelect",1,"custom-select",3,"ngModelChange","change","ngModel"],[3,"value"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50","grey-text","font-monospace"],[1,"font-monospace","grey-text"],[1,"btn","btn-danger","m-0","ms-3",3,"click","disabled","ngClass"],[1,"fas","fa-fw",3,"ngClass"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(n,i){n&1&&(o(0,"div",0)(1,"div",1)(2,"h5",2),c(3),m(4,"translate"),a(),o(5,"button",3),m(6,"translate"),b("click",function(){return i.$activeModal.dismiss("Dismiss")}),a()(),o(7,"div",4),_(8,ne,5,3),_(9,le,17,11),a(),o(10,"div",5)(11,"div",6),_(12,ce,3,4,"button",7),a(),o(13,"div",8),_(14,de,3,3,"button",9),a(),o(15,"div",10),_(16,ue,3,3,"button",11),a()()()),n&2&&(s(3),g(p(4,8,"reset.accessory_ind.title")),s(2),C("disabled",i.clicked),A("aria-label",p(6,10,"form.button_close")),s(3),u(i.accessoriesExist?-1:8),s(),u(i.accessoriesExist?9:-1),s(3),u(i.accessoriesExist?12:-1),s(2),u(i.accessoriesExist?-1:14),s(2),u(i.accessoriesExist?16:-1))},dependencies:[j,Q,H,q,G,z,O,W],encapsulation:2})}return t})();export{$e as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./chunk-LCYRJQ4W.js";import{q as p}from"./chunk-ALG7CIS3.js";import{A as m}from"./chunk-VLX322GM.js";import{g as i}from"./chunk-2G7GNBIF.js";import"./chunk-WU2EPT6Y.js";import"./chunk-DQUBVCJE.js";import"./chunk-VUYAK52W.js";import{c as s}from"./chunk-QMB5XE4Y.js";import{ha as t,kd as n,mb as r}from"./chunk-R3VPSO5X.js";var a=[{path:"",loadComponent:()=>import("./chunk-FXS7MG4Z.js").then(o=>o.PowerOptionsComponent)}],u=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[i.forChild(a),i]})}return o})();var j=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[n,u,p,m,s]})}return o})();export{j as PowerOptionsModule};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a}from"./chunk-WGYMALW2.js";import"./chunk-2G7GNBIF.js";import"./chunk-EULZTUQA.js";import"./chunk-RJAFS3B2.js";import"./chunk-WU2EPT6Y.js";import"./chunk-DQUBVCJE.js";import"./chunk-VUYAK52W.js";import"./chunk-QMB5XE4Y.js";import"./chunk-R3VPSO5X.js";export{a as RestartLinuxComponent};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as h}from"./chunk-SHP2ASKV.js";import{b}from"./chunk-QMB5XE4Y.js";import{$a as s,Ac as w,Bc as y,Lc as T,Ob as r,Pb as o,Qb as c,Xb as u,_a as l,dc as p,ec as f,jc as v,kc as g,la as a,lb as d,n as m}from"./chunk-R3VPSO5X.js";var C=["terminaloutput"],k=(()=>{class t{$terminal=a(h);termTarget=T("terminaloutput");resizeEvent=new m;constructor(){}onWindowResize(){this.resizeEvent.next(void 0)}ngOnInit(){window.document.querySelector("body").classList.add("bg-black"),this.$terminal.startTerminal(this.termTarget(),{},this.resizeEvent),this.$terminal.term.focus()}ngOnDestroy(){window.document.querySelector("body").classList.remove("bg-black"),this.$terminal.destroyTerminal()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=d({type:t,selectors:[["ng-component"]],viewQuery:function(e,n){e&1&&p(n.termTarget,C,5),e&2&&f()},hostBindings:function(e,n){e&1&&u("resize",function(x){return n.onWindowResize(x)},l)},decls:8,vars:3,consts:[["terminaloutput",""],[1,"row","mb-3"],[1,"col-12"],[1,"primary-text","m-0"],[1,"flex-column","d-flex","align-items-stretch","adjust-for-mobile"],["id","docker-terminal",1,"align-self-end","w-100","h-100","mb-1"]],template:function(e,n){e&1&&(r(0,"div",1)(1,"div",2)(2,"h3",3),v(3),w(4,"translate"),o()()(),r(5,"div",4),c(6,"div",5,0),o()),e&2&&(s(3),g(y(4,1,"menu.linux.label_terminal")))},dependencies:[b],encapsulation:2})}return t})();export{k as a};
|