homebridge-config-ui-x 5.11.2-beta.9 → 5.11.3-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/CHANGELOG.md +17 -1
  2. package/dist/modules/plugins/plugins.service.js +1 -1
  3. package/package.json +6 -6
  4. package/public/chunk-46MS4ES2.js +1 -0
  5. package/public/{chunk-LO72RI4S.js → chunk-4MCJPZP7.js} +1 -1
  6. package/public/{chunk-LZTSIWKP.js → chunk-5OJY44K7.js} +1 -1
  7. package/public/{chunk-HBUIXUR3.js → chunk-5T4R2TG7.js} +1 -1
  8. package/public/{chunk-LI37IF2Z.js → chunk-5ZKKHQVJ.js} +1 -1
  9. package/public/{chunk-OS475ZQO.js → chunk-6TQHJYRY.js} +1 -1
  10. package/public/{chunk-IDVQIBZN.js → chunk-7XZWXKAH.js} +1 -1
  11. package/public/{chunk-HYHFIPBC.js → chunk-ADR4S74F.js} +1 -1
  12. package/public/{chunk-SPC2DLZR.js → chunk-AKPNXV2T.js} +1 -1
  13. package/public/chunk-ARENCESQ.js +1 -0
  14. package/public/chunk-BHFVACUP.js +2 -0
  15. package/public/{chunk-A2MXGFJ6.js → chunk-BZ2QQEKA.js} +1 -1
  16. package/public/{chunk-JWGWPSC6.js → chunk-CLZZPSYM.js} +1 -1
  17. package/public/{chunk-DFG4HJK5.js → chunk-CMILM3GM.js} +1 -1
  18. package/public/chunk-EA7AESPK.js +1 -0
  19. package/public/{chunk-GVFAT25G.js → chunk-EEKKVIA4.js} +1 -1
  20. package/public/chunk-GTENKZFZ.js +1 -0
  21. package/public/{chunk-MDHWQ5V2.js → chunk-H2Z7V5LU.js} +2 -2
  22. package/public/{chunk-CKURAGOR.js → chunk-H4W6QAC2.js} +1 -1
  23. package/public/{chunk-TCJMUYCJ.js → chunk-IB2WEG65.js} +1 -1
  24. package/public/{chunk-OVQGZ4C6.js → chunk-IHRICEJT.js} +1 -1
  25. package/public/chunk-IRKGD364.js +1 -0
  26. package/public/{chunk-F635TFLI.js → chunk-KCTJMMYS.js} +1 -1
  27. package/public/{chunk-BQRKHSGH.js → chunk-KTJDR6WA.js} +1 -1
  28. package/public/{chunk-X6RWNTC7.js → chunk-L4GVG4WS.js} +1 -1
  29. package/public/{chunk-DPITSP7F.js → chunk-LKFXBTGS.js} +1 -1
  30. package/public/chunk-LL6AFVK2.js +1 -0
  31. package/public/chunk-LUCN3LNQ.js +4 -0
  32. package/public/{chunk-PRGOUVRO.js → chunk-MIE7YXOK.js} +1 -1
  33. package/public/chunk-MIFZP2ZO.js +1 -0
  34. package/public/{chunk-NAICVRJH.js → chunk-NMDAPSGJ.js} +1 -1
  35. package/public/{chunk-5R6AJZGA.js → chunk-OG2B4MZN.js} +1 -1
  36. package/public/{chunk-RT25QBCQ.js → chunk-OQMG62H7.js} +1 -1
  37. package/public/chunk-P6DSGS6M.js +1 -0
  38. package/public/chunk-PHJW3U7W.js +1 -0
  39. package/public/{chunk-TJXF3MRO.js → chunk-PY5Y7RE5.js} +1 -1
  40. package/public/chunk-QIJUUUXH.js +1 -0
  41. package/public/chunk-R7G2HUC4.js +35 -0
  42. package/public/{chunk-HN6QQBDC.js → chunk-RGBORGOJ.js} +1 -1
  43. package/public/{chunk-6CBJSM3U.js → chunk-RJZU6B73.js} +1 -1
  44. package/public/{chunk-2OWZ4XP5.js → chunk-TJCUOGC4.js} +1 -1
  45. package/public/{chunk-6QWPGE2L.js → chunk-TLHI6ZOI.js} +1 -1
  46. package/public/chunk-TS66MDDS.js +1 -0
  47. package/public/chunk-UBRNIXM3.js +1 -0
  48. package/public/chunk-VQUWQONZ.js +1 -0
  49. package/public/chunk-VX4RXOTH.js +4 -0
  50. package/public/chunk-VXOUYKAC.js +1 -0
  51. package/public/chunk-WPYUSARH.js +1 -0
  52. package/public/chunk-WTG5NVOU.js +1 -0
  53. package/public/chunk-X7VB3AHW.js +68 -0
  54. package/public/{chunk-PYPOWROR.js → chunk-XJL5IKA2.js} +1 -1
  55. package/public/chunk-YUYO5SVM.js +1 -0
  56. package/public/chunk-Z5SOQKPW.js +19 -0
  57. package/public/{chunk-Z5PUNNUZ.js → chunk-ZGIZ2UDW.js} +1 -1
  58. package/public/index.html +1 -1
  59. package/public/{main-EZDP2TWN.js → main-KBV6ZN6L.js} +1 -1
  60. package/public/chunk-3N7C33O4.js +0 -1
  61. package/public/chunk-4XUH7NXA.js +0 -1
  62. package/public/chunk-7JIIKSDG.js +0 -1
  63. package/public/chunk-AWTSOXJ2.js +0 -2
  64. package/public/chunk-BBBDRQZR.js +0 -1
  65. package/public/chunk-DSSLC7R5.js +0 -1
  66. package/public/chunk-HUTYOGRH.js +0 -4
  67. package/public/chunk-IDJSTIFL.js +0 -1
  68. package/public/chunk-K7PJFUH4.js +0 -1
  69. package/public/chunk-KV4RQA3A.js +0 -1
  70. package/public/chunk-LAVT57X4.js +0 -1
  71. package/public/chunk-LLNAB3NM.js +0 -35
  72. package/public/chunk-N3SESV2P.js +0 -1
  73. package/public/chunk-PD3Q2PZE.js +0 -1
  74. package/public/chunk-R2CO54AK.js +0 -19
  75. package/public/chunk-UFVCK77E.js +0 -68
  76. package/public/chunk-V2TVR4X3.js +0 -1
  77. package/public/chunk-VKR3GG6K.js +0 -1
  78. package/public/chunk-W4WAFNIS.js +0 -1
  79. package/public/chunk-WU7URLRW.js +0 -1
  80. package/public/chunk-YHBVXMFX.js +0 -1
  81. package/public/chunk-ZAWMHW3P.js +0 -1
  82. package/public/chunk-ZSFO6PRU.js +0 -4
@@ -1 +0,0 @@
1
- import{a as j}from"./chunk-F635TFLI.js";import{a as B}from"./chunk-PRGOUVRO.js";import{n as V,t as H}from"./chunk-2OWZ4XP5.js";import{e as R}from"./chunk-PD3Q2PZE.js";import"./chunk-Z5PUNNUZ.js";import"./chunk-K7PJFUH4.js";import{b as E}from"./chunk-HYHFIPBC.js";import{E as I,F as O,H as D,K as P}from"./chunk-AWTSOXJ2.js";import{Ab as v,Dc as l,Ec as c,Fb as y,Gb as s,Hb as o,Ib as S,Rb as h,Xb as m,Za as i,Zb as g,aa as a,ea as C,ga as u,ha as _,kc as p,lc as k,mb as T,mc as d,nb as $,sa as w,zb as f}from"./chunk-HUTYOGRH.js";import{h as b}from"./chunk-B4AJQJMI.js";function N(e,x){if(e&1){let t=h();s(0,"p",5)(1,"button",6),m("click",function(){u(t);let n=g();return _(n.restartServer())}),p(2),l(3,"translate"),o()()}e&2&&(i(2),d(" ",c(3,1,"menu.linux.label_restart_server")," "))}function A(e,x){if(e&1){let t=h();s(0,"p",5)(1,"button",6),m("click",function(){u(t);let n=g();return _(n.shutdownServer())}),p(2),l(3,"translate"),o()()}e&2&&(i(2),d(" ",c(3,1,"menu.linux.label_shutdown_server")," "))}function z(e,x){if(e&1){let t=h();s(0,"p",5)(1,"button",6),m("click",function(){u(t);let n=g();return _(n.dockerRestartContainer())}),p(2),l(3,"translate"),o()()}e&2&&(i(2),d(" ",c(3,1,"menu.docker.restart_container")," "))}var Z=(()=>{class e{injector=a(C);$api=a(P);$modal=a(V);$router=a(R);$settings=a(E);$toastr=a(D);$translate=a(I);canShutdownRestartHost=w(this.$settings.env.canShutdownRestartHost,{});runningInDocker=w(this.$settings.env.runningInDocker,{});ngOnInit(){let t=this.$translate.instant("menu.restart.title");this.$settings.setPageTitle(t)}closeRestartToast(){this.$settings.restartToastRef&&(this.$toastr.clear(this.$settings.restartToastRef.toastId),this.$settings.restartToastRef=null)}restartHomebridge(){this.closeRestartToast(),this.$router.navigate(["/restart"])}restartHomebridgeService(){return b(this,null,function*(){this.closeRestartToast();try{yield this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}),this.$router.navigate(["/restart"])}catch(t){console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})}restartServer(){this.closeRestartToast(),this.$router.navigate(["/platform-tools/linux/restart-server"])}shutdownServer(){return b(this,null,function*(){this.closeRestartToast();let t=T([{provide:B,useValue:{title:this.$translate.instant("menu.linux.label_shutdown_server"),message:this.$translate.instant("menu.linux.label_shutdown_modal"),confirmButtonLabel:this.$translate.instant("form.button_continue"),faIconClass:"fa fa-power-off primary-text"}}],this.injector),r=this.$modal.open(j,{size:"lg",backdrop:"static",injector:t});try{yield r.result,this.$router.navigate(["/platform-tools/linux/shutdown-server"])}catch{}})}dockerRestartContainer(){this.closeRestartToast(),this.$router.navigate(["/platform-tools/docker/restart-container"])}static \u0275fac=function(r){return new(r||e)};static \u0275cmp=$({type:e,selectors:[["ng-component"]],decls:19,vars:16,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-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","triggers","hover",1,"btn","btn-primary","p-3","my-0",2,"width","85%",3,"click","openDelay","ngbTooltip"]],template:function(r,n){r&1&&(s(0,"div",0)(1,"h3",1),p(2),l(3,"translate"),o()(),s(4,"div",2)(5,"div",3),S(6,"i",4),o(),s(7,"p",5)(8,"button",6),m("click",function(){return n.restartHomebridge()}),p(9),l(10,"translate"),o()(),s(11,"p",5)(12,"button",7),l(13,"translate"),m("click",function(){return n.restartHomebridgeService()}),p(14),l(15,"translate"),o()(),f(16,N,4,3,"p",5),f(17,A,4,3,"p",5),f(18,z,4,3,"p",5),o()),r&2&&(i(2),k(c(3,8,"menu.restart.title")),i(7),d(" ",c(10,10,"menu.hbrestart.confirm_hb")," "),i(3),y("openDelay",150)("ngbTooltip",c(13,12,"reset.force_restart_hb_help_text")),i(2),d(" ",c(15,14,"menu.hbrestart.confirm_ui")," "),i(2),v(n.canShutdownRestartHost()?16:-1),i(),v(n.canShutdownRestartHost()?17:-1),i(),v(n.runningInDocker()?18:-1))},dependencies:[H,O],encapsulation:2})}return e})();export{Z as PowerOptionsComponent};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-IDJSTIFL.js";import"./chunk-B4AJQJMI.js";export default a();
@@ -1 +0,0 @@
1
- import{b as P}from"./chunk-HYHFIPBC.js";import{E as F,F as T,J as w}from"./chunk-AWTSOXJ2.js";import{Ab as g,Dc as i,Ec as n,Jb as t,Kb as a,Lb as p,Sb as y,Va as B,Yb as f,Za as e,Zb as C,aa as v,jc as h,kc as r,lc as m,mc as d,nb as I,sa as k,yb as l,yc as x,zb as b}from"./chunk-HUTYOGRH.js";import{a as S,b as _}from"./chunk-B4AJQJMI.js";var $=(o,E)=>({"fa-chevron-down":o,"fa-chevron-right":E});function M(o,E){o&1&&(t(0,"ul",6)(1,"li",9)(2,"span",10),r(3),i(4,"translate"),p(5,"br"),t(6,"small",11),r(7),i(8,"translate"),a()(),t(9,"a",12),i(10,"translate"),p(11,"i",13),a()(),t(12,"li",9)(13,"span",10),r(14),i(15,"translate"),p(16,"br"),t(17,"small",11),r(18),i(19,"translate"),a()(),t(20,"a",14),i(21,"translate"),p(22,"i",13),a()(),t(23,"li",9)(24,"span",10),r(25),i(26,"translate"),p(27,"br"),t(28,"small",11),r(29),i(30,"translate"),a()(),t(31,"a",15),i(32,"translate"),p(33,"i",13),a()(),t(34,"li",9)(35,"span",10),r(36),i(37,"translate"),p(38,"br"),t(39,"small",11),r(40),i(41,"translate"),a()(),t(42,"a",16),i(43,"translate"),p(44,"i",13),a()()()),o&2&&(e(3),d(" ",n(4,12,"support.links.documentation")),e(4),m(n(8,14,"support.links.documentation_sub")),e(2),l("aria-label",n(10,16,"support.links.documentation")),e(5),d(" ",n(15,18,"support.links.issue")),e(4),m(n(19,20,"support.links.issue_sub")),e(2),l("aria-label",n(21,22,"support.links.issue")),e(5),d(" ",n(26,24,"support.links.discord")),e(4),m(n(30,26,"support.links.discord_sub")),e(2),l("aria-label",n(32,28,"support.links.discord")),e(5),d(" ",n(37,30,"support.links.reddit")),e(4),m(n(41,32,"support.links.reddit_sub")),e(2),l("aria-label",n(43,34,"support.links.reddit")))}function j(o,E){if(o&1&&(t(0,"ul",8)(1,"li",9)(2,"span",10),r(3),i(4,"translate"),p(5,"br"),t(6,"small",11),r(7),i(8,"translate"),a()(),t(9,"a",17),i(10,"translate"),p(11,"i",13),a()(),t(12,"li",9)(13,"span",10),r(14),i(15,"translate"),p(16,"br"),t(17,"small",11),r(18),i(19,"translate"),a()(),t(20,"a",18),i(21,"translate"),p(22,"i",13),a()(),t(23,"li",9)(24,"span",10),r(25),i(26,"translate"),p(27,"br"),t(28,"small",11),r(29),i(30,"translate"),a()(),t(31,"a",19),i(32,"translate"),p(33,"i",13),a()(),t(34,"li",9)(35,"span",10),r(36),i(37,"translate"),p(38,"br"),t(39,"small",11),r(40),i(41,"translate"),a()(),t(42,"a",20),i(43,"translate"),p(44,"i",13),a()(),t(45,"li",9)(46,"span",10),r(47),i(48,"translate"),p(49,"br"),t(50,"small",11),r(51),i(52,"translate"),a()(),t(53,"a",21),i(54,"translate"),p(55,"i",13),a()()()),o&2){let u=C();e(3),d(" ",n(4,16,"support.dev.item_swagger")),e(4),m(n(8,18,"support.dev.item_swagger_sub")),e(2),y("href",u.swaggerUrl,B),l("aria-label",n(10,20,"support.dev.item_swagger")),e(5),d(" ",n(15,22,"support.dev.api")),e(4),m(n(19,24,"support.dev.api_sub")),e(2),l("aria-label",n(21,26,"support.dev.api")),e(5),d(" ",n(26,28,"support.dev.api_hap")),e(4),m(n(30,30,"support.dev.api_hap_sub")),e(2),l("aria-label",n(32,32,"support.dev.api_hap")),e(5),d(" ",n(37,34,"support.dev.template")),e(4),m(n(41,36,"support.dev.template_sub")),e(2),l("aria-label",n(43,38,"support.dev.template")),e(5),d(" ",n(48,40,"support.dev.verified")),e(4),m(n(52,42,"support.dev.verified_sub")),e(2),l("aria-label",n(54,44,"support.dev.verified"))}}var A=(()=>{class o{$settings=v(P);$translate=v(F);showFields=k({general:!0,dev:!0},{});swaggerEndpoint="/swagger";ngOnInit(){let u=this.$translate.instant("support.title");this.$settings.setPageTitle(u)}get swaggerUrl(){return w.production?this.swaggerEndpoint:`${w.api.origin}${this.swaggerEndpoint}`}toggleSection(u){this.showFields.update(c=>_(S({},c),{[u]:!c[u]}))}static \u0275fac=function(c){return new(c||o)};static \u0275cmp=I({type:o,selectors:[["ng-component"]],decls:18,vars:25,consts:[[1,"d-flex","justify-content-between"],[1,"primary-text","m-0"],[1,"mb-4"],["role","button","tabindex","0",1,"mt-3","hover-pointer",3,"click"],[1,"primary-text"],[1,"fa"],["id","fieldsGeneral",1,"list-group","list-group-box","mt-2","mx-0"],[1,"pb-3"],["id","fieldsDev",1,"list-group","list-group-box","mt-2","mx-0"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"pe-2"],[1,"grey-text","pe-2"],["href","https://github.com/homebridge/homebridge/wiki","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],[1,"fas","fa-external-link-alt"],["href","https://github.com/homebridge/homebridge-config-ui-x/issues/new/choose","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["href","https://discord.gg/C87Pvq3","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["href","https://www.reddit.com/r/homebridge/","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px",3,"href"],["href","https://developers.homebridge.io/#/","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["href","https://developers.homebridge.io/HAP-NodeJS/","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["href","https://github.com/homebridge/homebridge-plugin-template","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["href","https://github.com/homebridge/homebridge/wiki/Verified-Plugins","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"]],template:function(c,s){c&1&&(t(0,"div",0)(1,"h3",1),r(2),i(3,"translate"),a()(),t(4,"div",2)(5,"div",3),f("click",function(){return s.toggleSection("general")}),t(6,"h5",4),p(7,"i",5),r(8),i(9,"translate"),a()(),b(10,M,45,36,"ul",6),a(),t(11,"div",7)(12,"div",3),f("click",function(){return s.toggleSection("dev")}),t(13,"h5",4),p(14,"i",5),r(15),i(16,"translate"),a()(),b(17,j,56,46,"ul",8),a()),c&2&&(e(2),m(n(3,13,"support.title")),e(3),l("aria-expanded",s.showFields().general?"true":"false")("aria-controls","fieldsGeneral"),e(2),h(x(19,$,s.showFields().general,!s.showFields().general)),e(),d(" ",n(9,15,"support.links.title")," "),e(2),g(s.showFields().general?10:-1),e(2),l("aria-expanded",s.showFields().dev?"true":"false")("aria-controls","fieldsDev"),e(2),h(x(22,$,s.showFields().dev,!s.showFields().dev)),e(),d(" ",n(16,17,"support.dev.title")," "),e(2),g(s.showFields().dev?17:-1))},dependencies:[T],encapsulation:2})}return o})();export{A as SupportComponent};
@@ -1 +0,0 @@
1
- import{a as Ce}from"./chunk-MDHWQ5V2.js";import{a as we}from"./chunk-TJXF3MRO.js";import{n as R}from"./chunk-PRGOUVRO.js";import{g as ie,m as F,n as xe}from"./chunk-2OWZ4XP5.js";import{c as be}from"./chunk-PD3Q2PZE.js";import{a as fe}from"./chunk-Z5PUNNUZ.js";import{b as K}from"./chunk-CKURAGOR.js";import{B as ve,C as G,D as z,b as W,c as N,d as g,e as j,f as X,g as P,j as E,m as Y,q as Z,r as ee,s as te}from"./chunk-K7PJFUH4.js";import{a as Te,b as _e}from"./chunk-HYHFIPBC.js";import{E as D,F as U,H as I,K as V}from"./chunk-AWTSOXJ2.js";import{Ab as h,Cb as oe,Db as se,Dc as o,Eb as le,Ec as s,Fb as y,Fc as ue,Gb as a,Hb as i,Ib as c,Jb as $,Kb as k,Lb as q,Rb as A,Sb as H,Xb as _,Yb as L,Za as e,Zb as f,aa as p,ea as ae,ga as B,ha as M,ic as O,jc as me,kc as m,lc as d,ma as re,mb as Q,mc as v,nb as S,nc as de,sa as T,xc as pe,yb as u,yc as ce,zb as w}from"./chunk-HUTYOGRH.js";import{g as Ue,h as C}from"./chunk-B4AJQJMI.js";function ke(n,x){n&1&&(a(0,"ngb-alert",13)(1,"p",20),m(2),o(3,"translate"),i()()),n&2&&(y("dismissible",!1),e(2),d(s(3,2,"login.invalid_password")))}var he=(()=>{class n{$activeModal=p(F);$api=p(V);$toastr=p(I);$translate=p(D);invalidCredentials=T(!1,{});formGroup=new P({password:new E("",[g.required])});disable2fa(){return C(this,null,function*(){this.invalidCredentials.set(!1);try{yield this.$api.post("/users/otp/deactivate",this.formGroup.value),this.$activeModal.close(),this.$toastr.success(this.$translate.instant("users.setup_2fa_disable_success"),this.$translate.instant("toast.title_success"))}catch{this.formGroup.setValue({password:""}),this.invalidCredentials.set(!0)}})}dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(l){return new(l||n)};static \u0275cmp=S({type:n,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-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(l,r){l&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),m(3),o(4,"translate"),i(),a(5,"button",3),o(6,"translate"),_("click",function(){return r.dismissModal()}),i()(),a(7,"div",4)(8,"div",5),c(9,"i",6),i(),a(10,"ul",7)(11,"li"),m(12),o(13,"translate"),i()(),a(14,"ul",8)(15,"li",9)(16,"label",10),m(17),o(18,"translate"),i(),a(19,"div",11),c(20,"input",12),o(21,"translate"),i()()(),w(22,ke,4,4,"ngb-alert",13),i(),a(23,"div",14)(24,"div",15)(25,"button",16),o(26,"translate"),_("click",function(){return r.dismissModal()}),m(27),o(28,"translate"),i()(),c(29,"div",17),a(30,"div",18)(31,"button",19),_("click",function(){return r.disable2fa()}),m(32),o(33,"translate"),i()()()()),l&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),y("formControl",r.formGroup.controls.password)("placeholder",s(21,19,"users.label_password")),e(2),h(r.invalidCredentials()&&!r.formGroup.controls.password.value?22:-1),e(3),u("aria-label",s(26,21,"form.button_close")),e(2),v(" ",s(28,23,"form.button_close")," "),e(4),y("disabled",r.formGroup.invalid),e(),v(" ",s(33,25,"form.button_disable")," "))},dependencies:[G,N,j,z,Z,ie,U],encapsulation:2})}return n})();var ge=Ue(Te(),1);var Be=n=>({timeDiffError:n});function Me(n,x){n&1&&(a(0,"li"),m(1),o(2,"translate"),i()),n&2&&(e(),d(s(2,1,"users.setup_2fa_scan_qr_code")))}function De(n,x){if(n&1&&(a(0,"ngb-alert",8)(1,"p",16),m(2),o(3,"translate"),i(),a(4,"p",17),m(5),o(6,"translate"),i()()),n&2){let t=f();y("dismissible",!1),e(2),d(s(3,3,"users.setup_2fa_cannot_setup_2fa")),e(3),d(ue(6,5,"users.setup_2fa_server_time_out",pe(8,Be,t.timeDiffError())))}}function Ie(n,x){n&1&&c(0,"i",27)}function Ve(n,x){n&1&&c(0,"i",28)}function Fe(n,x){if(n&1){let t=A();a(0,"div",21),m(1),o(2,"translate"),c(3,"br"),m(4),a(5,"a",26),_("click",function(){B(t);let r=f(2);return M(r.copySecretToClipboard())}),w(6,Ie,1,0,"i",27)(7,Ve,1,0,"i",28),i()()}if(n&2){let t=f(2);e(),v(" ",s(2,3,"users.setup_2fa_scan_qr_manual")),e(3),v(" ",t.otpSecret()," "),e(2),h(t.secretCopied()?6:7)}}function Ae(n,x){if(n&1&&(a(0,"ul",9)(1,"li",18)(2,"div",19),c(3,"app-qrcode",20),i(),w(4,Fe,8,5,"div",21),i(),a(5,"li",22)(6,"label",23),m(7),o(8,"translate"),i(),a(9,"div",24),c(10,"input",25),i()()()),n&2){let t=f();e(3),y("data",t.otpString()),e(),h(t.otpSecret()?4:-1),e(3),d(s(8,4,"users.setup_2fa_enter_code")),e(3),y("formControl",t.formGroup.controls.code)}}function Ne(n,x){if(n&1){let t=A();a(0,"button",29),o(1,"translate"),_("click",function(){B(t);let r=f();return M(r.dismissModal())}),m(2),o(3,"translate"),i()}n&2&&(u("aria-label",s(1,2,"form.button_close")),e(2),v(" ",s(3,4,"form.button_close")," "))}function je(n,x){if(n&1){let t=A();a(0,"button",29),o(1,"translate"),_("click",function(){B(t);let r=f();return M(r.dismissModal())}),m(2),o(3,"translate"),i()}n&2&&(u("aria-label",s(1,2,"form.button_close")),e(2),v(" ",s(3,4,"form.button_close")," "))}function Pe(n,x){if(n&1){let t=A();a(0,"button",30),_("click",function(){B(t);let r=f();return M(r.enable2fa())}),m(1),o(2,"translate"),i()}if(n&2){let t=f();y("disabled",t.formGroup.invalid),e(),v(" ",s(2,2,"form.button_enable")," ")}}var Ee=(()=>{class n{$activeModal=p(F);$api=p(V);$toastr=p(I);$translate=p(D);modalData=p(R);user=this.modalData.user;timeDiffError=T(null,{});otpString=T(void 0,{});otpSecret=T(void 0,{});secretCopied=T(!1,{});copyTimeout=null;formGroup=new P({code:new E("",[g.required,g.minLength(6),g.maxLength(6)])});ngOnInit(){this.initialize()}initialize(){return C(this,null,function*(){try{let t=yield this.$api.post("/users/otp/setup",{});this.checkTimeDiff(t.timestamp),this.timeDiffError()||(this.otpString.set(t.otpauth),this.otpSecret.set(new URL(t.otpauth).searchParams.get("secret")||""))}catch(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(){return C(this,null,function*(){try{yield this.$api.post("/users/otp/activate",this.formGroup.value),this.$toastr.success(this.$translate.instant("users.setup_2fa_enabled_success"),this.$translate.instant("toast.title_success")),this.$activeModal.close()}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("users.setup_2fa_activate_error"),this.$translate.instant("toast.title_error"))}})}copySecretToClipboard(){return C(this,null,function*(){let t=this.otpSecret();t&&(yield navigator.clipboard.writeText(t),this.secretCopied.set(!0),this.copyTimeout&&clearTimeout(this.copyTimeout),this.copyTimeout=setTimeout(()=>{this.secretCopied.set(!1)},3e3))})}dismissModal(){this.$activeModal.dismiss("Dismiss")}checkTimeDiff(t){let l=(0,ge.default)(t).diff(new Date,"millisecond");l<-5e3||l>5e3?this.timeDiffError.set(l):this.timeDiffError.set(null)}static \u0275fac=function(l){return new(l||n)};static \u0275cmp=S({type:n,selectors:[["ng-component"]],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-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","my-2"],[1,"mx-auto",2,"width","175px","height","175px",3,"data"],[1,"grey-text","small","mt-0","mb-1"],[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"],["href","javascript:void(0)",1,"ms-1","text-primary",3,"click"],[1,"fas","fa-check","green-text"],[1,"fas","fa-copy"],["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(l,r){l&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),m(3),o(4,"translate"),i(),a(5,"button",3),o(6,"translate"),_("click",function(){return r.dismissModal()}),i()(),a(7,"div",4)(8,"div",5),c(9,"i",6),i(),a(10,"ul",7)(11,"li"),m(12),o(13,"translate"),i(),w(14,Me,3,3,"li"),i(),w(15,De,7,10,"ngb-alert",8),w(16,Ae,11,6,"ul",9),i(),a(17,"div",10)(18,"div",11),w(19,Ne,4,6,"button",12),i(),a(20,"div",13),w(21,je,4,6,"button",12),i(),a(22,"div",14),w(23,Pe,3,4,"button",15),i()()()),l&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),h(r.timeDiffError()?-1:14),e(),h(r.timeDiffError()?15:-1),e(),h(r.timeDiffError()?-1:16),e(3),h(r.timeDiffError()?-1:19),e(2),h(r.timeDiffError()?21:-1),e(2),h(r.timeDiffError()?-1:23))},dependencies:[ie,Ce,G,N,j,ve,z,Z,U],encapsulation:2})}return n})();var ye=(()=>{class n{$activeModal=p(F);$api=p(V);$toastr=p(I);$translate=p(D);form=new P({username:new E("",[g.required]),name:new E("",[g.required]),password:new E("",[g.compose([g.required,g.minLength(4)])]),passwordConfirm:new E("",[g.required]),admin:new E(!0)},this.matchPassword);onSubmit(l){return C(this,arguments,function*({value:t}){try{yield this.$api.post("/users",t),this.$activeModal.close(),this.$toastr.success(this.$translate.instant("users.toast_added_new_user"),this.$translate.instant("toast.title_success"))}catch(r){this.$toastr.error(r.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 l=t.get("password")?.value,r=t.get("passwordConfirm")?.value;return l!==r?(t.get("passwordConfirm")?.setErrors({matchPassword:!0}),{matchPassword:!0}):null}static \u0275fac=function(l){return new(l||n)};static \u0275cmp=S({type:n,selectors:[["ng-component"]],decls:58,vars:48,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-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"],["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"],[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"],["formControlName","admin","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(l,r){l&1&&(a(0,"div",0)(1,"form",1),_("ngSubmit",function(){return r.onSubmit(r.form)}),a(2,"div",2)(3,"h5",3),m(4),o(5,"translate"),i(),a(6,"button",4),o(7,"translate"),_("click",function(){return r.dismissModal()}),i()(),a(8,"div",5)(9,"div",6),c(10,"i",7),i(),a(11,"ul",8)(12,"li",9)(13,"label",10),m(14),o(15,"translate"),i(),a(16,"div",11),c(17,"input",12),o(18,"translate"),i()(),a(19,"li",9)(20,"label",13),m(21),o(22,"translate"),i(),a(23,"div",11),c(24,"input",14),o(25,"translate"),i()(),a(26,"li",9)(27,"label",15),m(28),o(29,"translate"),i(),a(30,"div",11),c(31,"input",16),o(32,"translate"),i()(),a(33,"li",9)(34,"label",17),m(35),o(36,"translate"),i(),a(37,"div",11),c(38,"input",18),o(39,"translate"),i()(),a(40,"li",19)(41,"span",20),m(42),o(43,"translate"),i(),a(44,"div",21),c(45,"input",22),o(46,"translate"),c(47,"label",23),i()()()(),a(48,"div",24)(49,"div",20)(50,"button",25),_("click",function(){return r.dismissModal()}),m(51),o(52,"translate"),i()(),c(53,"div",26),a(54,"div",27)(55,"button",28),m(56),o(57,"translate"),i()()()()()),l&2&&(e(),y("formGroup",r.form),e(3),d(s(5,20,"users.title_add_user")),e(2),u("aria-label",s(7,22,"form.button_close")),e(8),d(s(15,24,"users.label_username")),e(3),u("aria-label",s(18,26,"users.label_username")),e(4),d(s(22,28,"users.label_full_name")),e(3),u("aria-label",s(25,30,"users.label_full_name")),e(4),d(s(29,32,"users.label_password")),e(3),O("is-invalid",r.form.controls.password.dirty&&r.form.controls.password.errors),u("aria-label",s(32,34,"users.label_password")),e(4),d(s(36,36,"users.label_confirm_password")),e(3),O("is-invalid",r.form.controls.passwordConfirm.dirty&&r.form.controls.passwordConfirm.errors),u("aria-label",s(39,38,"users.label_confirm_password")),e(4),d(s(43,40,"users.label_admin_user")),e(3),u("aria-label",s(46,42,"users.label_admin_user")),e(6),v(" ",s(52,44,"form.button_close")," "),e(4),y("disabled",!r.form.valid),e(),v(" ",s(57,46,"form.button_save")," "))},dependencies:[G,Y,N,W,j,X,z,te,ee,U],encapsulation:2})}return n})();function Ge(n,x){if(n&1&&(a(0,"li",9)(1,"label",27),m(2),o(3,"translate"),i(),a(4,"div",11),c(5,"input",28),o(6,"translate"),i()()),n&2){let t=f();e(2),d(s(3,4,"users.label_confirm_password")),e(3),O("is-invalid",t.form.controls.passwordConfirm.dirty&&t.form.controls.passwordConfirm.errors),u("aria-label",s(6,6,"users.label_confirm_password"))}}var Se=(()=>{class n{$activeModal=p(F);$api=p(V);$auth=p(K);$toastr=p(I);$translate=p(D);modalData=p(R);user=this.modalData.user;isCurrentUser=T(!1,{});initialFormValue={};form=new P({username:new E("",[g.required]),name:new E("",[g.required]),password:new E(""),passwordConfirm:new E(""),admin:new E(!0)},this.matchPassword);ngOnInit(){this.user&&(this.isCurrentUser.set(this.$auth.user.username===this.user.username),this.form.patchValue(this.user),this.initialFormValue=this.form.getRawValue())}onSubmit(l){return C(this,arguments,function*({value:t}){if(this.user)try{yield this.$api.patch(`/users/${this.user.id}`,t),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()}catch(r){console.error(r),this.$toastr.error(r.error?.message||this.$translate.instant("users.toast_failed_to_add_user"),this.$translate.instant("toast.title_error"))}})}isFormUnchanged(){return this.form.controls.password.value?!1:JSON.stringify(this.form.getRawValue())===JSON.stringify(this.initialFormValue)}dismissModal(){this.$activeModal.dismiss("Dismiss")}matchPassword(t){let l=t.get("password")?.value,r=t.get("passwordConfirm")?.value;return l!==r?(t.get("passwordConfirm")?.setErrors({matchPassword:!0}),{matchPassword:!0}):null}static \u0275fac=function(l){return new(l||n)};static \u0275cmp=S({type:n,selectors:[["ng-component"]],decls:52,vars:41,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-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"],[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"]],template:function(l,r){l&1&&(a(0,"div",0)(1,"form",1),_("ngSubmit",function(){return r.onSubmit(r.form)}),a(2,"div",2)(3,"h5",3),m(4),o(5,"translate"),i(),a(6,"button",4),o(7,"translate"),_("click",function(){return r.dismissModal()}),i()(),a(8,"div",5)(9,"div",6),c(10,"i",7),i(),a(11,"ul",8)(12,"li",9)(13,"label",10),m(14),o(15,"translate"),i(),a(16,"div",11),c(17,"input",12),o(18,"translate"),i()(),a(19,"li",9)(20,"label",13),m(21),o(22,"translate"),i(),a(23,"div",11),c(24,"input",14),o(25,"translate"),i()(),a(26,"li",9)(27,"label",15),m(28),o(29,"translate"),i(),a(30,"div",11),c(31,"input",16),o(32,"translate"),i()(),w(33,Ge,7,8,"li",9),a(34,"li",17)(35,"span",18),m(36),o(37,"translate"),i(),a(38,"div",19),c(39,"input",20),o(40,"translate"),c(41,"label",21),i()()()(),a(42,"div",22)(43,"div",18)(44,"button",23),_("click",function(){return r.dismissModal()}),m(45),o(46,"translate"),i()(),c(47,"div",24),a(48,"div",25)(49,"button",26),m(50),o(51,"translate"),i()()()()()),l&2&&(e(),y("formGroup",r.form),e(3),d(s(5,17,"users.title_edit_user")),e(2),u("aria-label",s(7,19,"form.button_close")),e(8),d(s(15,21,"users.label_username")),e(3),u("aria-label",s(18,23,"users.label_username")),e(4),d(s(22,25,"users.label_full_name")),e(3),u("aria-label",s(25,27,"users.label_full_name")),e(4),d(s(29,29,"users.label_new_password")),e(3),O("is-invalid",r.form.controls.password.dirty&&r.form.controls.password.errors),u("aria-label",s(32,31,"users.label_new_password")),e(2),h(r.form.controls.password.value?33:-1),e(3),d(s(37,33,"users.label_admin_user")),e(3),u("aria-label",s(40,35,"users.label_admin_user")),e(6),v(" ",s(46,37,"form.button_close")," "),e(4),y("disabled",!r.form.valid||r.isFormUnchanged()),e(),v(" ",s(51,39,"form.button_save")," "))},dependencies:[G,Y,N,W,j,X,z,te,ee,U],encapsulation:2})}return n})();var $e=(()=>{class n{$activeModal=p(F);dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(l){return new(l||n)};static \u0275cmp=S({type:n,selectors:[["ng-component"]],decls:46,vars:36,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fa","fa-question-circle-o","primary-text",2,"font-size","75px"],[1,"ms-2"],[1,"mb-0"],[1,"mb-2","grey-text"],[1,"modal-footer","justify-content-between"],[1,"text-start"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-end"]],template:function(l,r){l&1&&(a(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),m(4),o(5,"translate"),i(),a(6,"button",3),o(7,"translate"),_("click",function(){return r.dismissModal()}),i()(),a(8,"div",4)(9,"div",5),c(10,"i",6),i(),a(11,"h5",7),m(12),o(13,"translate"),i(),a(14,"ul",8)(15,"li"),m(16),o(17,"translate"),i(),a(18,"ul",9)(19,"li"),m(20),o(21,"translate"),i(),a(22,"li"),m(23),o(24,"translate"),i(),a(25,"li"),m(26),o(27,"translate"),o(28,"translate"),i(),a(29,"li"),m(30),o(31,"translate"),i(),a(32,"li"),m(33),o(34,"translate"),i()(),a(35,"li"),m(36),o(37,"translate"),i()(),c(38,"app-support-banner"),i(),a(39,"div",10),c(40,"div",11),a(41,"div",12)(42,"button",13),_("click",function(){return r.dismissModal()}),m(43),o(44,"translate"),i()(),c(45,"div",14),i()()()),l&2&&(e(4),d(s(5,12,"support.title")),e(2),u("aria-label",s(7,14,"form.button_close")),e(6),d(s(13,16,"users.title_users")),e(4),d(s(17,18,"users.support.acc_1")),e(4),d(s(21,20,"menu.label_status")),e(3),d(s(24,22,"menu.label_plugins")),e(3),de("",s(27,24,"menu.label_accessories")," (",s(28,26,"users.support.control"),")"),e(4),d(s(31,28,"menu.linux.label_logs")),e(3),d(s(34,30,"support.title")),e(3),d(s(37,32,"users.support.acc_2")),e(7),v(" ",s(44,34,"form.button_close")," "))},dependencies:[we,U],encapsulation:2})}return n})();var ze=(n,x)=>({"fa-user-secret":n,"fa-user":x});function Re(n,x){if(n&1){let t=A();$(0,"button",23),L("click",function(){B(t);let r=f(2).$implicit,b=f();return M(b.disable2fa(r))}),m(1),o(2,"translate"),k()}if(n&2){let t=f(2).$implicit,l=f();H("disabled",t.username!==l.username),e(),v(" ",s(2,2,"users.setup_2fa_disable")," ")}}function qe(n,x){if(n&1){let t=A();$(0,"button",24),L("click",function(){B(t);let r=f(2).$implicit,b=f();return M(b.setup2fa(r))}),m(1),o(2,"translate"),k()}if(n&2){let t=f(2).$implicit,l=f();H("disabled",t.username!==l.username),e(),v(" ",s(2,2,"users.setup_2fa")," ")}}function Le(n,x){if(n&1&&w(0,Re,3,4,"button",21)(1,qe,3,4,"button",22),n&2){let t=f().$implicit;h(t.otpActive?0:1)}}function Oe(n,x){n&1&&q(0,"div")}function Je(n,x){if(n&1){let t=A();$(0,"div",9)(1,"div",10)(2,"div",11)(3,"div",12)(4,"span",13)(5,"h4"),m(6),k(),$(7,"h5",14),q(8,"i",15),m(9),k()()(),$(10,"div",16),w(11,Le,2,1)(12,Oe,1,0,"div"),$(13,"div")(14,"button",17),o(15,"translate"),L("click",function(){let r=B(t).$implicit,b=f();return M(b.openEditUser(r))}),q(16,"i",18),k(),$(17,"button",19),o(18,"translate"),L("click",function(){let r=B(t).$implicit,b=f();return M(b.deleteUser(r.id))}),q(19,"i",20),k()()()()()()}if(n&2){let t=x.$implicit,l=f();e(6),d(t.name),e(2),me(ce(12,ze,t.admin,!t.admin)),e(),v(" ",t.username," "),e(2),h(t.admin?11:12),e(3),u("aria-label",s(15,8,"form.button_edit")),e(3),H("disabled",l.username===t.username),u("aria-label",s(18,10,"form.button_delete"))}}var ti=(()=>{class n{injector=p(ae);destroyRef=p(re);$api=p(V);$auth=p(K);$modal=p(xe);$route=p(be);$settings=p(_e);$toastr=p(I);$translate=p(D);homebridgeUsers=T([],{});username=this.$auth.user.username;isAdmin=this.$auth.user.admin;ngOnInit(){let t=this.$translate.instant("users.title_users");this.$settings.setPageTitle(t),this.$route.data.pipe(fe(this.destroyRef)).subscribe(l=>{this.homebridgeUsers.set(l.homebridgeUsers)})}reloadUsers(){return C(this,null,function*(){let t=yield this.$api.get("/users");this.homebridgeUsers.set(t)})}openAddNewUser(){return C(this,null,function*(){let t=this.$modal.open(ye,{size:"lg",backdrop:"static"});try{yield t.result,this.reloadUsers()}catch{}})}openEditUser(t){return C(this,null,function*(){let l=Q([{provide:R,useValue:{user:t}}],this.injector),r=this.$modal.open(Se,{size:"lg",backdrop:"static",injector:l});try{yield r.result,this.reloadUsers()}catch{}})}deleteUser(t){return C(this,null,function*(){try{yield this.$api.delete(`/users/${t}`),this.$toastr.success(this.$translate.instant("users.toast_user_deleted"),this.$translate.instant("toast.title_success")),this.reloadUsers()}catch(l){console.error(l),this.$toastr.error(l.error?.message||this.$translate.instant("users.toast_failed_to_delete_user"),this.$translate.instant("toast.title_error"))}})}setup2fa(t){return C(this,null,function*(){let l=Q([{provide:R,useValue:{user:t}}],this.injector),r=this.$modal.open(Ee,{size:"lg",backdrop:"static",injector:l});try{yield r.result,this.reloadUsers()}catch{}})}disable2fa(t){return C(this,null,function*(){let l=Q([{provide:R,useValue:{user:t}}],this.injector),r=this.$modal.open(he,{size:"lg",backdrop:"static",injector:l});try{yield r.result,this.reloadUsers()}catch{}})}openSupport(){this.$modal.open($e,{size:"lg",backdrop:"static"})}static \u0275fac=function(l){return new(l||n)};static \u0275cmp=S({type:n,selectors:[["app-users"]],decls:15,vars:9,consts:[[1,"row","mb-3"],[1,"col-6"],[1,"primary-text","m-0"],[1,"col-6","text-end"],[1,"btn","btn-elegant","waves-effect","m-0","me-2",3,"click"],[1,"fas","fa-user-plus"],["type","button",1,"btn","btn-elegant","my-0","me-0",3,"click"],[1,"fa","fa-question-circle-o"],[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"],[1,"small","text-truncate","grey-text"],[1,"fas"],[1,"d-flex","flex-row","justify-content-between"],[1,"btn","btn-elegant","m-0",3,"click"],[1,"fas","fa-user-pen"],[1,"btn","btn-danger","m-0","ms-2",3,"click","disabled"],[1,"fas","fa-trash"],[1,"btn","btn-elegant","m-0",3,"disabled"],[1,"btn","btn-primary","m-0",3,"disabled"],[1,"btn","btn-elegant","m-0",3,"click","disabled"],[1,"btn","btn-primary","m-0",3,"click","disabled"]],template:function(l,r){l&1&&($(0,"div",0)(1,"div",1)(2,"h3",2),m(3),o(4,"translate"),k()(),$(5,"div",3)(6,"button",4),o(7,"translate"),L("click",function(){return r.openAddNewUser()}),q(8,"i",5),k(),$(9,"button",6),o(10,"translate"),L("click",function(){return r.openSupport()}),q(11,"i",7),k()()(),$(12,"div",8),se(13,Je,20,15,"div",9,oe),k()),l&2&&(e(3),d(s(4,3,"users.title_users")),e(3),u("aria-label",s(7,5,"users.button_add_user")),e(3),u("aria-label",s(10,7,"support.title")),e(4),le(r.homebridgeUsers()))},dependencies:[U],encapsulation:2})}return n})();export{ti as UsersComponent};
@@ -1 +0,0 @@
1
- import{a as qe,c as le}from"./chunk-R2CO54AK.js";import"./chunk-X6RWNTC7.js";import"./chunk-IDVQIBZN.js";import{a as R}from"./chunk-TCJMUYCJ.js";import{a as Ue}from"./chunk-5R6AJZGA.js";import{a as Fe}from"./chunk-JWGWPSC6.js";import"./chunk-HBUIXUR3.js";import"./chunk-BMOLDRJ3.js";import{a as ze}from"./chunk-F635TFLI.js";import"./chunk-H7F7H5MW.js";import"./chunk-MDHWQ5V2.js";import{a as Re}from"./chunk-TJXF3MRO.js";import{a as je,c as z,f as Le,j as ae}from"./chunk-PRGOUVRO.js";import"./chunk-GU5F3H4I.js";import"./chunk-IDJSTIFL.js";import"./chunk-4UVYLGCZ.js";import"./chunk-BXRCPOIK.js";import"./chunk-U24HWDVU.js";import"./chunk-RI4GLH22.js";import{a as te}from"./chunk-OS475ZQO.js";import"./chunk-QE7VI3JB.js";import"./chunk-77S5CL3V.js";import"./chunk-6DLZEENG.js";import"./chunk-LZ7S7WKH.js";import"./chunk-LVQWSVHA.js";import"./chunk-Y3PXWRYQ.js";import"./chunk-Y5WP66WK.js";import"./chunk-RP5JPYDI.js";import"./chunk-7WKZ7EMI.js";import"./chunk-BZ3XB6O4.js";import"./chunk-U2NM4L2D.js";import"./chunk-LKJRMUOE.js";import"./chunk-W55SP3LJ.js";import"./chunk-KFPYUDGJ.js";import"./chunk-QES44GQE.js";import"./chunk-JWUEJV6S.js";import"./chunk-LLNAB3NM.js";import"./chunk-ZCGZM7LU.js";import"./chunk-OVQGZ4C6.js";import{g as De,h as $e,i as Ae,j as Ne,k as He,l as Oe,m as j,n as ne,t as oe}from"./chunk-2OWZ4XP5.js";import{b as xe,e as Pe}from"./chunk-PD3Q2PZE.js";import{a as de}from"./chunk-Z5PUNNUZ.js";import{b as ie}from"./chunk-CKURAGOR.js";import{C as Me,D as Ve,c as ye,e as we,f as Se,g as Be,j as Ee,m as ke,r as Te,s as Ie}from"./chunk-K7PJFUH4.js";import{b as ee}from"./chunk-HYHFIPBC.js";import{E as q,F as M,H as Y,K as Z,j as ve}from"./chunk-AWTSOXJ2.js";import{Ab as g,Cb as Q,Db as W,Dc as a,Eb as J,Ec as l,Fb as S,Fc as N,Gb as r,Hb as s,Ib as c,Jb as P,Kb as y,Kc as Ce,Lb as A,Nc as se,Oc as be,Rb as w,Sb as F,Ua as $,Va as H,Wa as ge,Xb as f,Yb as O,Za as o,Zb as m,aa as h,ea as ce,ec as _e,fc as fe,ga as v,ha as x,hc as K,jc as k,kc as p,lc as C,ma as me,mb as U,mc as b,n as pe,nb as I,sa as E,uc as re,va as ue,xc as X,yb as B,yc as V,zb as u,zc as he}from"./chunk-HUTYOGRH.js";import"./chunk-PAZUAFSZ.js";import"./chunk-ETWBSGPI.js";import"./chunk-IBUR2RIO.js";import"./chunk-JUQRWAIR.js";import"./chunk-H4WASUXW.js";import"./chunk-TCUQZ3QO.js";import{h as D}from"./chunk-B4AJQJMI.js";var Ye=t=>({pluginName:t}),Ze=(t,d)=>({setting:t,value:d});function ei(t,d){t&1&&(r(0,"li"),p(1),a(2,"translate"),s(),r(3,"li"),p(4),a(5,"translate"),s()),t&2&&(o(),C(l(2,2,"plugins.manage.confirm_disable_platform_1")),o(3),C(l(5,4,"plugins.manage.confirm_disable_platform_2")))}function ii(t,d){t&1&&(r(0,"li"),p(1),a(2,"translate"),s(),r(3,"li"),p(4),a(5,"translate"),s()),t&2&&(o(),C(l(2,2,"plugins.manage.confirm_disable_accessory_1")),o(3),C(l(5,4,"plugins.manage.confirm_disable_accessory_2")))}function ti(t,d){if(t&1&&(r(0,"ul",15),c(1,"li",16),a(2,"translate"),r(3,"ul",17),u(4,ei,6,6)(5,ii,6,6),s()()),t&2){let e=m(2);o(),S("innerHtml",N(2,2,"plugins.manage.confirm_disable_setting",V(5,Ze,e.keepOrphansName,e.keepOrphansValue)),$),o(3),g(e.keepOrphans?4:5)}}function ni(t,d){t&1&&(r(0,"ul",15)(1,"li"),p(2),a(3,"translate"),s(),r(4,"li"),p(5),a(6,"translate"),s()()),t&2&&(o(2),C(l(3,2,"plugins.manage.confirm_disable_accessory_1")),o(3),C(l(6,4,"plugins.manage.confirm_disable_accessory_2")))}function oi(t,d){if(t&1&&u(0,ti,6,8,"ul",15)(1,ni,7,6,"ul",15),t&2){let e=m();g(e.isConfiguredDynamicPlatform?0:1)}}var Ge=(()=>{class t{$activeModal=h(j);$translate=h(q);modalData=h(ae);pluginName=this.modalData.pluginName;isConfigured=this.modalData.isConfigured??!1;isConfiguredDynamicPlatform=this.modalData.isConfiguredDynamicPlatform??!1;keepOrphans=this.modalData.keepOrphans??!1;keepOrphansName=`<code>${this.$translate.instant("settings.startup.keep_accessories")}</code>`;get keepOrphansValue(){return`<code>${this.keepOrphans}</code>`}dismissModal(){this.$activeModal.dismiss("Dismiss")}closeModal(){this.$activeModal.close()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=I({type:t,selectors:[["ng-component"]],decls:25,vars:21,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"mb-3","text-center"],[1,"fas","fa-circle-pause","primary-text",2,"font-size","75px"],["type","warning",1,"mb-0",3,"dismissible"],[1,"w-100","text-center","mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click"],[1,"mb-3"],[3,"innerHtml"],[1,"mb-1"]],template:function(n,i){n&1&&(r(0,"div",0)(1,"div",1)(2,"h5",2),p(3),s(),r(4,"button",3),a(5,"translate"),f("click",function(){return i.dismissModal()}),s()(),r(6,"div",4)(7,"div",5),c(8,"i",6),s(),u(9,oi,2,1),r(10,"ngb-alert",7)(11,"p",8),p(12),a(13,"translate"),s()()(),r(14,"div",9)(15,"div",10)(16,"button",11),a(17,"translate"),f("click",function(){return i.dismissModal()}),p(18),a(19,"translate"),s()(),c(20,"div",12),r(21,"div",13)(22,"button",14),f("click",function(){return i.closeModal()}),p(23),a(24,"translate"),s()()()()),n&2&&(o(3),C(i.pluginName),o(),B("aria-label",l(5,8,"form.button_close")),o(5),g(i.isConfigured?9:-1),o(),S("dismissible",!1),o(2),b(" ",N(13,10,"plugins.manage.confirm_disable",X(19,Ye,i.pluginName))," "),o(4),B("aria-label",l(17,13,"form.button_close")),o(2),b(" ",l(19,15,"form.button_close")," "),o(5),b(" ",l(24,17,"plugins.manage.disable")," "))},dependencies:[De,M],encapsulation:2})}return t})();var ai=t=>({author:t});function li(t,d){if(t&1&&(P(0,"li",9),A(1,"i",15),P(2,"a",16),p(3),y()()),t&2){let e=d.$implicit,n=m();o(),k(n.getIconClass(e.type)),o(),F("href",e.url,H),o(),C(e.url)}}var Qe=(()=>{class t{$activeModal=h(j);modalData=h(z);plugin=this.modalData.plugin;fundingOptions=E([],{});authorName=E("",{});ngOnInit(){this.initialize()}initialize(){if(!this.plugin||!this.plugin.funding){this.$activeModal.close();return}this.authorName.set(this.plugin.name==="homebridge-config-ui-x"?"oznu":this.plugin.author);let e=this.plugin.funding;if(Array.isArray(e)){let n=e.map(i=>{if(typeof i=="string")return{type:"other",url:i};if(typeof i=="object")return{type:i.type||"other",url:i.url}}).filter(Boolean);this.fundingOptions.set(n)}else typeof e=="string"?this.fundingOptions.set([{type:"other",url:e}]):typeof e=="object"&&e!==null&&this.fundingOptions.set([{type:e.type||"other",url:e.url}])}getIconClass(e){switch(e.toLowerCase()){case"paypal":return"fab fa-paypal";case"github":return"fab fa-github";case"patreon":return"fab fa-patreon";case"kofi":case"ko-fi":return"fas fa-coffee";default:return"fas fa-link"}}dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=I({type:t,selectors:[["ng-component"]],decls:28,vars:21,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","pink-text","mb-3"],[1,"fas","fa-heart",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box"],[1,"list-group-item"],[1,"modal-footer","justify-content-between"],[1,"text-start"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-end"],[1,"me-2","primary-text","fa-xl"],["target","_blank","rel","noopener noreferrer",1,"text-break-all",3,"href"]],template:function(n,i){n&1&&(P(0,"div",0)(1,"div",1)(2,"h5",2),p(3),a(4,"translate"),y(),P(5,"button",3),a(6,"translate"),O("click",function(){return i.dismissModal()}),y()(),P(7,"div",4)(8,"div",5),A(9,"i",6),y(),P(10,"ul",7)(11,"li"),p(12),a(13,"translate"),y(),P(14,"li"),p(15),a(16,"translate"),y()(),P(17,"ul",8),W(18,li,4,4,"li",9,Q),y()(),P(20,"div",10),A(21,"div",11),P(22,"div",12)(23,"button",13),a(24,"translate"),O("click",function(){return i.dismissModal()}),p(25),a(26,"translate"),y()(),A(27,"div",14),y()()),n&2&&(o(3),C(N(4,6,"plugins.donate.tile_donate_to",X(19,ai,"@"+i.authorName()))),o(2),B("aria-label",l(6,9,"form.button_close")),o(7),C(l(13,11,"plugins.donate.message_1")),o(3),C(l(16,13,"plugins.donate.message_2")),o(3),J(i.fundingOptions()),o(5),B("aria-label",l(24,15,"form.button_close")),o(2),b(" ",l(26,17,"form.button_close")," "))},dependencies:[M],styles:[".text-break-all[_ngcontent-%COMP%]{word-break:break-all}"]})}return t})();var ri=(t,d)=>({"orange-text":t,"grey-text":d}),si=(t,d)=>({"green-text":t,"grey-text":d}),di=(t,d)=>({"purple-text":t,"grey-text":d}),pi=(t,d)=>({scopedLink:t,verifiedLink:d});function ci(t,d){t&1&&(P(0,"h6",18),p(1),a(2,"translate"),y(),P(3,"p",19),p(4),a(5,"translate"),y(),P(6,"p",19),p(7),a(8,"translate"),y()),t&2&&(o(),C(l(2,3,"plugins.manage.scoped_subtitle")),o(3),C(l(5,5,"plugins.manage.scoped_message")),o(3),C(l(8,7,"plugins.manage.verified_message")))}function mi(t,d){t&1&&(P(0,"h6",18),p(1),a(2,"translate"),y(),P(3,"p",19),p(4),a(5,"translate"),y()),t&2&&(o(),C(l(2,2,"plugins.manage.verified_subtitle")),o(3),C(l(5,4,"plugins.manage.verified_message")))}function ui(t,d){t&1&&(P(0,"h6",18),p(1),a(2,"translate"),y(),P(3,"p",19),p(4),a(5,"translate"),y()),t&2&&(o(),C(l(2,2,"plugins.manage.unverified_subtitle")),o(3),C(l(5,4,"plugins.manage.unverified_message")))}function gi(t,d){if(t&1){let e=w();P(0,"button",20),O("click",function(){v(e);let i=m();return x(i.dismissModal())}),p(1),a(2,"translate"),y()}t&2&&(o(),b(" ",l(2,1,"form.button_close")," "))}function _i(t,d){if(t&1){let e=w();P(0,"button",20),O("click",function(){v(e);let i=m();return x(i.dismissModal())}),p(1),a(2,"translate"),y()}t&2&&(o(),b(" ",l(2,1,"form.button_close")," "))}function fi(t,d){if(t&1&&(P(0,"a",17),p(1),a(2,"translate"),A(3,"i",21),y()),t&2){let e=m();F("href",e.plugin.links.homepage||e.plugin.links.npm,H),o(),b(" ",l(2,2,"plugins.button_homepage")," ")}}var We=(()=>{class t{$activeModal=h(j);modalData=h(z);plugin=this.modalData.plugin;iconError=E(!1,{});pluginIcon=Ce(()=>this.plugin?.icon&&!this.iconError()?this.plugin.icon:this.defaultIcon,{});defaultIcon="assets/hb-icon.png";linkScoped='<a href="https://github.com/homebridge/plugins/wiki/Scoped-Plugins" target="_blank"><i class="fas fa-external-link-alt primary-text"></i></a>';linkVerified='<a href="https://github.com/homebridge/plugins/wiki/Verified-Plugins" target="_blank"><i class="fas fa-external-link-alt primary-text"></i></a>';handleIconError(){this.iconError.set(!0)}dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=I({type:t,selectors:[["ng-component"]],decls:32,vars:45,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center"],["alt","Plugin Icon",1,"mb-3","plugin-icon-card",3,"error","src"],[1,"mb-1"],[1,"grey-text","mb-0","font-monospace"],[1,"grey-text","mb-1","font-monospace"],[1,"mb-3"],[1,"fas","fa-shield-alt","mb-3",2,"font-size","48px"],[1,"mb-0","grey-text",3,"innerHTML"],[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"],["target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","text-decoration-none",3,"href"],[1,"mb-2"],[1,"mb-1","grey-text"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"fas","fa-external-link-alt"]],template:function(n,i){n&1&&(P(0,"div",0)(1,"div",1)(2,"h5",2),p(3),a(4,"translate"),y(),P(5,"button",3),a(6,"translate"),O("click",function(){return i.dismissModal()}),y()(),P(7,"div",4)(8,"img",5),O("error",function(){return i.handleIconError()}),y(),P(9,"h4",6),p(10),y(),P(11,"p",7),p(12),y(),P(13,"p",8),p(14),y(),P(15,"p",9),p(16),y(),A(17,"i",10)(18,"i",10)(19,"i",10),u(20,ci,9,9),u(21,mi,6,6),u(22,ui,6,6),A(23,"p",11),a(24,"translate"),y(),P(25,"div",12)(26,"div",13),u(27,gi,3,3,"button",14),y(),P(28,"div",15),u(29,_i,3,3,"button",14),y(),P(30,"div",16),u(31,fi,4,4,"a",17),y()()()),n&2&&(o(3),C(l(4,26,"plugins.manage.information")),o(2),B("aria-label",l(6,28,"form.button_close")),o(3),F("src",i.pluginIcon(),H),o(2),C(i.plugin.displayName),o(2),C(i.plugin.name),o(2),b("@",i.plugin.author),o(2),C(i.plugin.description),o(),k(V(33,ri,!i.plugin.verifiedPlugin&&!i.plugin.verifiedPlusPlugin,i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin)),K("opacity",!i.plugin.verifiedPlugin&&!i.plugin.verifiedPlusPlugin?1:.25),o(),k(V(36,si,!i.plugin.isHbScoped&&(i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin),i.plugin.isHbScoped||!i.plugin.verifiedPlugin&&!i.plugin.verifiedPlusPlugin)),K("opacity",!i.plugin.isHbScoped&&(i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin)?1:.25),o(),k(V(39,di,i.plugin.isHbScoped,!i.plugin.isHbScoped)),K("opacity",i.plugin.isHbScoped?1:.25),o(),g(i.plugin.isHbScoped?20:-1),o(),g(!i.plugin.isHbScoped&&(i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin)?21:-1),o(),g(!i.plugin.verifiedPlugin&&!i.plugin.verifiedPlusPlugin?22:-1),o(),F("innerHTML",N(24,30,"plugins.manage.more_info",V(42,pi,i.linkScoped,i.linkVerified)),$),o(4),g(i.plugin.links.homepage||i.plugin.links.npm?27:-1),o(2),g(!i.plugin.links.homepage&&!i.plugin.links.npm?29:-1),o(2),g(i.plugin.links.homepage||i.plugin.links.npm?31:-1))},dependencies:[M],styles:[".plugin-icon[_ngcontent-%COMP%]{height:75px;width:75px;border-radius:15px;border:1px solid #222222}"]})}return t})();var hi=(t,d,e)=>({"purple-text":t,"green-text":d,"orange-text":e}),Ci=(t,d)=>({"fa-bridge-circle-exclamation orange-text":t,"fa-bridge-circle-xmark red-text":d});function bi(t,d){if(t&1){let e=w();r(0,"a",21),a(1,"translate"),a(2,"translate"),f("click",function(){v(e);let i=m(2);return x(i.checkAndUpdatePlugin())}),c(3,"i",22),s()}t&2&&(S("openDelay",150)("ngbTooltip",l(1,3,"plugins.button_update")),B("aria-label",l(2,5,"plugins.button_update")))}function vi(t,d){if(t&1){let e=w();r(0,"a",21),a(1,"translate"),a(2,"translate"),f("click",function(){v(e);let i=m(2);return x(i.switchToScoped())}),c(3,"i",23),s()}t&2&&(S("openDelay",150)("ngbTooltip",l(1,3,"plugins.manage.scoped.switch")),B("aria-label",l(2,5,"plugins.manage.scoped.switch")))}function xi(t,d){if(t&1){let e=w();r(0,"a",24),a(1,"translate"),a(2,"translate"),f("click",function(){v(e);let i=m(2);return x(i.openSettings())}),c(3,"i",25),s()}t&2&&(S("ngbTooltip",l(1,3,"plugins.button_set_up"))("openDelay",150),B("aria-label",l(2,5,"plugins.button_set_up")))}function Pi(t,d){if(t&1){let e=w();r(0,"a",24),a(1,"translate"),a(2,"translate"),f("click",function(){v(e);let i=m(2);return x(i.openBridgeSettings())}),c(3,"i",26),s()}t&2&&(S("ngbTooltip",l(1,3,"child_bridge.setup"))("openDelay",150),B("aria-label",l(2,5,"child_bridge.setup")))}function yi(t,d){if(t&1){let e=w();r(0,"a",24),a(1,"translate"),a(2,"translate"),f("click",function(){v(e);let i=m(2);return x(i.openBridgeSettings())}),c(3,"i",27),s()}t&2&&(S("ngbTooltip",l(1,3,"child_bridge.bridge_connect"))("openDelay",150),B("aria-label",l(2,5,"child_bridge.bridge_connect")))}function wi(t,d){if(t&1&&c(0,"i",28),t&2){let e=m(2);k(V(2,Ci,e.childBridgeStatus()==="pending",e.childBridgeStatus()==="down"))}}function Si(t,d){if(t&1&&(r(0,"div",9),u(1,bi,4,7,"a",17),u(2,vi,4,7,"a",17),u(3,xi,4,7,"a",18),u(4,Pi,4,7,"a",18),u(5,yi,4,7,"a",18),c(6,"i",19),u(7,wi,1,5,"i",20),s()),t&2){let e,n=m();o(),g(n.plugin().installedVersion&&n.plugin().updateAvailable&&!n.childBridgeRestartInProgress()?1:-1),o(),g(n.plugin().installedVersion&&((e=n.plugin().newHbScope)==null?null:e.switch)===n.plugin().installedVersion&&!n.childBridgeRestartInProgress()?2:-1),o(),g(n.plugin().installedVersion&&(!n.plugin().newHbScope||n.plugin().newHbScope.switch!==n.plugin().installedVersion)&&!n.plugin().updateAvailable&&!n.plugin().isConfigured&&!n.childBridgeRestartInProgress()&&!n.plugin().disabled?3:-1),o(),g(n.plugin().installedVersion&&(!n.plugin().newHbScope||n.plugin().newHbScope.switch!==n.plugin().installedVersion)&&!n.plugin().updateAvailable&&n.plugin().isConfigured&&!n.plugin().hasChildBridges&&!n.plugin().disabled&&n.plugin().recommendChildBridge&&!n.childBridgeRestartInProgress()?4:-1),o(),g(n.plugin().installedVersion&&(!n.plugin().newHbScope||n.plugin().newHbScope.switch!==n.plugin().installedVersion)&&!n.plugin().updateAvailable&&n.plugin().isConfigured&&n.plugin().hasChildBridges&&!n.childBridgeRestartInProgress()&&n.plugin().hasChildBridgesUnpaired&&n.childBridgeStatus()==="ok"&&!n.plugin().disabled?5:-1),o(),S("hidden",!n.childBridgeRestartInProgress()),o(),g(n.plugin().installedVersion&&(!n.plugin().newHbScope||n.plugin().newHbScope.switch!==n.plugin().installedVersion)&&!n.plugin().updateAvailable&&n.plugin().isConfigured&&n.plugin().hasChildBridges&&!n.childBridgeRestartInProgress()&&!n.plugin().hasChildBridgesUnpaired&&n.childBridgeStatus()!=="ok"&&!n.plugin().disabled?7:-1)}}function Bi(t,d){if(t&1){let e=w();r(0,"a",11),f("click",function(){v(e);let i=m();return x(i.openFundingModal(i.plugin()))}),c(1,"i",29),r(2,"span",13),p(3),s()()}if(t&2){let e=m();o(3),b("@",e.plugin().author)}}function Ei(t,d){if(t&1&&(r(0,"span",13),c(1,"i",30),p(2),s()),t&2){let e=m();o(2),b("@",e.plugin().author," ")}}function ki(t,d){if(t&1&&(r(0,"span"),p(1),a(2,"date"),s()),t&2){let e=m(2);o(),b("(",N(2,1,e.plugin().lastUpdated,"yyyy-MM-dd"),")")}}function Ti(t,d){if(t&1&&(r(0,"span"),c(1,"i",31),r(2,"span",13),p(3),u(4,ki,3,4,"span"),s()()),t&2){let e=m();o(3),b("v",e.plugin().latestVersion," "),o(),g(e.plugin().lastUpdated?4:-1)}}function Ii(t,d){if(t&1&&(c(0,"i",32),p(1)),t&2){let e=m();o(),b("v",e.plugin().installedVersion," ")}}function Mi(t,d){if(t&1){let e=w();r(0,"a",21),a(1,"translate"),f("click",function(){v(e);let i=m(2);return x(i.doChildBridgeAction("restart"))}),c(2,"i",36),s()}if(t&2){let e=m(2);S("openDelay",150)("ngbTooltip",l(1,2,e.setChildBridges().length>1?"child_bridge.restart_plural":"child_bridge.restart"))}}function Vi(t,d){if(t&1){let e=w();r(0,"a",37),f("click",function(){v(e);let i=m(2);return x(i.enablePlugin(i.plugin()))}),c(1,"i",38),a(2,"translate"),s()}t&2&&(o(),S("ngbTooltip",l(2,2,"common.labels.disabled"))("openDelay",150))}function Di(t,d){if(t&1){let e=w();r(0,"a",39),f("click",function(){v(e);let i=m(2);return x(i.installAlternateVersion())}),c(1,"i",40),s()}}function $i(t,d){if(t&1){let e=w();r(0,"button",44),f("click",function(){v(e);let i=m(3);return x(i.viewPluginLog())}),c(1,"i",49),p(2),a(3,"translate"),s()}t&2&&(o(2),b(" ",l(3,1,"plugins.manage.plugin_logs")," "))}function Ai(t,d){if(t&1){let e=w();r(0,"button",44),f("click",function(){v(e);let i=m(3);return x(i.installAlternateVersion())}),c(1,"i",50),p(2),a(3,"translate"),s()}t&2&&(o(2),b(" ",l(3,1,"plugins.manage.manage_version")," "))}function Ni(t,d){if(t&1){let e=w();r(0,"button",44),f("click",function(){v(e);let i=m(3);return x(i.openJsonEditor())}),c(1,"i",51),p(2),a(3,"translate"),s()}t&2&&(o(2),b(" ",l(3,1,"plugins.manage.json_config")," "))}function Hi(t,d){if(t&1){let e=w();r(0,"button",44),f("click",function(){v(e);let i=m(3);return x(i.disablePlugin(i.plugin()))}),c(1,"i",52),p(2),a(3,"translate"),s()}t&2&&(o(2),b(" ",l(3,1,"plugins.manage.disable")," "))}function Oi(t,d){if(t&1){let e=w();r(0,"button",44),f("click",function(){v(e);let i=m(3);return x(i.enablePlugin(i.plugin()))}),c(1,"i",53),p(2),a(3,"translate"),s()}t&2&&(o(2),b(" ",l(3,1,"plugins.manage.enable")," "))}function ji(t,d){if(t&1){let e=w();r(0,"button",44),f("click",function(){v(e);let i=m(3);return x(i.uninstallPlugin())}),c(1,"i",54),p(2),a(3,"translate"),s()}t&2&&(o(2),b(" ",l(3,1,"plugins.button_uninstall")," "))}function Li(t,d){t&1&&c(0,"div",47)}function zi(t,d){if(t&1){let e=w();r(0,"button",44),f("click",function(){v(e);let i=m(4);return x(i.doChildBridgeAction("restart"))}),c(1,"i",57),p(2),a(3,"translate"),s()}if(t&2){let e=m(4);o(2),b(" ",l(3,1,e.setChildBridges().length>1?"child_bridge.restart_plural":"child_bridge.restart")," ")}}function Ui(t,d){if(t&1){let e=w();r(0,"button",44),f("click",function(){v(e);let i=m(4);return x(i.doChildBridgeAction("stop"))}),c(1,"i",58),p(2),a(3,"translate"),s()}if(t&2){let e=m(4);o(2),b(" ",l(3,1,e.setChildBridges().length>1?"child_bridge.stop_plural":"child_bridge.stop")," ")}}function Fi(t,d){if(t&1){let e=w();r(0,"button",44),f("click",function(){v(e);let i=m(4);return x(i.doChildBridgeAction("start"))}),c(1,"i",59),p(2),a(3,"translate"),s()}if(t&2){let e=m(4);o(2),b(" ",l(3,1,e.setChildBridges().length>1?"child_bridge.start_plural":"child_bridge.start")," ")}}function qi(t,d){if(t&1){let e=w();r(0,"button",44),f("click",function(){v(e);let i=m(3);return x(i.openBridgeSettings())}),c(1,"i",55),p(2),a(3,"translate"),s(),u(4,zi,4,3,"button",46),u(5,Ui,4,3,"button",46),u(6,Fi,4,3,"button",46),r(7,"button",44),f("click",function(){v(e);let i=m(3);return x(i.resetChildBridges())}),c(8,"i",56),p(9),a(10,"translate"),s()}if(t&2){let e=m(3);o(2),b(" ",l(3,5,"child_bridge.bridge_settings")," "),o(2),g(e.childBridgeRestartInProgress()?-1:4),o(),g(e.allChildBridgesStopped()?-1:5),o(),g(e.allChildBridgesStopped()?6:-1),o(3),b(" ",l(10,7,"child_bridge.reset_accessories")," ")}}function Ri(t,d){t&1&&c(0,"div",47)}function Gi(t,d){if(t&1){let e=w();r(0,"button",44),f("click",function(){v(e);let i=m(3);return x(i.openBridgeSettings())}),c(1,"i",60),p(2),a(3,"translate"),s()}t&2&&(o(2),b(" ",l(3,1,"child_bridge.setup")," "))}function Qi(t,d){t&1&&c(0,"div",47)}function Wi(t,d){if(t&1){let e=w();r(0,"button",44),f("click",function(){v(e);let i=m(3);return x(i.openBridgeSettings())}),c(1,"i",60),p(2),a(3,"translate"),s()}t&2&&(o(2),b(" ",l(3,1,"child_bridge.setup")," "))}function Ji(t,d){t&1&&c(0,"div",47)}function Ki(t,d){if(t&1&&(r(0,"a",48),c(1,"i",61),p(2),a(3,"translate"),s()),t&2){let e=m(3);S("href",e.plugin().links.bugs,H),o(2),b(" ",l(3,2,"support.links.issue")," ")}}function Xi(t,d){if(t&1){let e=w();r(0,"span",35)(1,"a",41),c(2,"i",42),s(),r(3,"div",43)(4,"button",44),f("click",function(){v(e);let i=m(2);return x(i.openSettings())}),c(5,"i",45),p(6),a(7,"translate"),s(),u(8,$i,4,3,"button",46),u(9,Ai,4,3,"button",46),u(10,Ni,4,3,"button",46),u(11,Hi,4,3,"button",46),u(12,Oi,4,3,"button",46),u(13,ji,4,3,"button",46),u(14,Li,1,0,"div",47),u(15,qi,11,9),u(16,Ri,1,0,"div",47),u(17,Gi,4,3,"button",46),u(18,Qi,1,0,"div",47),u(19,Wi,4,3,"button",46),u(20,Ji,1,0,"div",47),u(21,Ki,4,4,"a",48),s()()}if(t&2){let e,n,i=m(2);o(),B("aria-label","Plugin Actions Dropdown"),o(5),b(" ",l(7,16,"plugins.button_settings")," "),o(2),g(i.plugin().isConfigured&&!i.plugin().disabled?8:-1),o(),g(i.plugin().publicPackage?9:-1),o(),g(!i.isMobile()&&i.plugin().name!=="homebridge-config-ui-x"?10:-1),o(),g(i.plugin().name!=="homebridge-config-ui-x"&&!i.plugin().disabled?11:-1),o(),g(i.plugin().name!=="homebridge-config-ui-x"&&i.plugin().disabled?12:-1),o(),g(i.plugin().name!=="homebridge-config-ui-x"?13:-1),o(),g(!i.plugin().disabled&&i.plugin().isConfigured&&i.plugin().hasChildBridges&&i.plugin().installedVersion&&i.plugin().name!=="homebridge-config-ui-x"?14:-1),o(),g(i.plugin().hasChildBridges&&!i.plugin().disabled?15:-1),o(),g(i.plugin().isConfigured&&!i.plugin().hasChildBridges&&!i.plugin().disabled&&!i.plugin().recommendChildBridge?16:-1),o(),g(i.plugin().isConfigured&&!i.plugin().hasChildBridges&&!i.plugin().disabled&&!i.plugin().recommendChildBridge?17:-1),o(),g(i.plugin().isConfigured&&!i.plugin().hasChildBridges&&!i.plugin().disabled&&i.plugin().recommendChildBridge&&i.plugin().updateAvailable?18:-1),o(),g(i.plugin().isConfigured&&!i.plugin().hasChildBridges&&!i.plugin().disabled&&i.plugin().recommendChildBridge&&i.plugin().updateAvailable?19:-1),o(),g((e=i.plugin().links)!=null&&e.bugs?20:-1),o(),g((n=i.plugin().links)!=null&&n.bugs?21:-1)}}function Yi(t,d){if(t&1&&(r(0,"div",9),u(1,Mi,3,4,"a",17),u(2,Vi,3,4,"a",33),u(3,Di,2,0,"a",34),u(4,Xi,22,18,"span",35),s()),t&2){let e=m();o(),g(!e.plugin().disabled&&e.plugin().hasChildBridges&&e.childBridgeStatus()==="ok"?1:-1),o(),g(e.plugin().installedVersion&&e.plugin().disabled?2:-1),o(),g(e.plugin().publicPackage&&!e.plugin().installedVersion?3:-1),o(),g(e.plugin().installedVersion?4:-1)}}var Je=(()=>{class t{injector=h(ce);$api=h(Z);$auth=h(ie);$md=h(Fe);$modal=h(ne);$plugin=h(le);$settings=h(ee);$toastr=h(Y);$translate=h(q);$ws=h(te);plugin=se.required({});childBridges=se.required({});io;defaultIcon="assets/hb-icon.png";isAdmin=this.$auth.user.admin;hasChildBridges=E(!1,{});allChildBridgesStopped=E(!1,{});childBridgeStatus=E("pending",{});childBridgeRestartInProgress=E(!1,{});isMobile=E("",{});setChildBridges=E([],{});constructor(){ue(()=>{let e=this.childBridges();this.hasChildBridges.set(e.length>0),this.allChildBridgesStopped.set(e.every(n=>n.manuallyStopped===!0)),this.hasChildBridges()&&(e.some(n=>n.status==="down")?this.childBridgeStatus.set("down"):e.some(n=>n.status==="pending")?this.childBridgeStatus.set("pending"):e.some(n=>n.status==="ok")&&this.childBridgeStatus.set("ok")),this.setChildBridges.set(e)})}ngOnInit(){this.isMobile.set(this.$md.detect.mobile()),this.io=this.$ws.getExistingNamespace("child-bridges"),this.isMobile()&&this.plugin().displayName.toLowerCase().startsWith("homebridge ")&&(this.plugin().displayName=this.plugin().displayName.replace(/^homebridge /i,"")),this.plugin().icon||(this.plugin().icon=this.defaultIcon)}openFundingModal(e){let n=U([{provide:z,useValue:{plugin:e}}],this.injector);this.$modal.open(Qe,{size:"lg",backdrop:"static",injector:n})}pluginInfoModal(e){let n=U([{provide:z,useValue:{plugin:e}}],this.injector);this.$modal.open(We,{size:"lg",backdrop:"static",injector:n})}disablePlugin(e){return D(this,null,function*(){let n=U([{provide:ae,useValue:{pluginName:e.displayName||e.name,isConfigured:e.isConfigured,isConfiguredDynamicPlatform:e.isConfiguredDynamicPlatform,keepOrphans:this.$settings.keepOrphans}}],this.injector),i=this.$modal.open(Ge,{size:"lg",backdrop:"static",injector:n});try{yield i.result;try{yield this.$api.put(`/config-editor/plugin/${encodeURIComponent(e.name)}/disable`,{}),e.disabled=!0,this.hasChildBridges()&&this.doChildBridgeAction("stop"),this.$modal.open(R,{size:"lg",backdrop:"static"})}catch(_){console.error(_),this.$toastr.error(this.$translate.instant("plugins.disable.error"),this.$translate.instant("toast.title_error"))}}catch{}})}enablePlugin(e){return D(this,null,function*(){let n=U([{provide:je,useValue:{title:e.name,message:this.$translate.instant("plugins.manage.confirm_enable",{pluginName:e.displayName}),confirmButtonLabel:this.$translate.instant("plugins.manage.enable"),faIconClass:"fa-circle-play primary-text"}}],this.injector),i=this.$modal.open(ze,{size:"lg",backdrop:"static",injector:n});try{yield i.result;try{yield this.$api.put(`/config-editor/plugin/${encodeURIComponent(e.name)}/enable`,{}),e.disabled=!1,this.hasChildBridges()&&(yield this.doChildBridgeAction("start")),this.$modal.open(R,{size:"lg",backdrop:"static"})}catch(_){console.error(_),this.$toastr.error(this.$translate.instant("plugins.enable.error"),this.$translate.instant("toast.title_error"))}}catch{}})}viewPluginLog(){let e=U([{provide:Le,useValue:{plugin:this.plugin(),childBridges:this.setChildBridges()}}],this.injector);this.$modal.open(qe,{size:"xl",backdrop:"static",injector:e})}doChildBridgeAction(e){return D(this,null,function*(){this.childBridgeRestartInProgress.set(!0);try{for(let n of this.setChildBridges())yield pe(this.io.request(`${e}-child-bridge`,n.username))}catch(n){console.error(n),this.$toastr.error(this.$translate.instant("plugins.bridge.action_error",{action:e}),this.$translate.instant("toast.title_error")),this.childBridgeRestartInProgress.set(!1)}finally{setTimeout(()=>{this.childBridgeRestartInProgress.set(!1)},e==="restart"?12e3:e==="stop"?6e3:1e3)}})}handleIconError(){this.plugin().icon=this.defaultIcon}checkAndUpdatePlugin(){this.$plugin.checkAndUpdatePlugin(this.plugin(),this.plugin().latestVersion)}openSettings(){this.$plugin.settings(this.plugin())}openBridgeSettings(){this.$plugin.bridgeSettings(this.plugin())}switchToScoped(){this.$plugin.switchToScoped(this.plugin())}installAlternateVersion(){this.$plugin.installAlternateVersion(this.plugin())}openJsonEditor(){this.$plugin.jsonEditor(this.plugin())}uninstallPlugin(){this.$plugin.uninstallPlugin(this.plugin(),this.setChildBridges())}resetChildBridges(){this.$plugin.resetChildBridges(this.setChildBridges())}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=I({type:t,selectors:[["app-plugin-card"]],inputs:{plugin:[1,"plugin"],childBridges:[1,"childBridges"]},decls:24,vars:15,consts:[[1,"card","card-body","mb-3"],[1,"d-flex","flex-row","justify-content-between"],[1,"d-flex","flex-column","me-3","align-items-center","justify-content-between"],["alt","Plugin Icon",1,"plugin-icon-card","mb-3",3,"error","src"],[1,"d-flex","flex-column","justify-content-between",2,"min-width","calc(100% - 80px)"],[1,"d-flex","flex-row","align-items-end"],[1,"d-flex","flex-column","w-100"],[1,"d-flex","flex-row"],[1,"card-title","mb-2","text-truncate"],[1,"ms-auto"],[1,"card-text","mb-2","text-truncate"],["href","javascript:void(0)",1,"card-link",3,"click"],[1,"fas","fa-shield-alt","fa-lg","me-1"],[1,"grey-text"],[1,"card-text","mb-2"],["href","javascript:void(0)",1,"card-link"],[1,"card-text","mb-0","grey-text"],["href","javascript:void(0)","container","body","triggers","hover",1,"card-link",3,"openDelay","ngbTooltip"],["href","javascript:void(0)","container","body","triggers","hover",1,"card-link",3,"ngbTooltip","openDelay"],[1,"fas","fa-spinner","fa-pulse","fa-lg","grey-text","ms-3",3,"hidden"],[1,"fas","fa-lg","ms-3",3,"class"],["href","javascript:void(0)","container","body","triggers","hover",1,"card-link",3,"click","openDelay","ngbTooltip"],[1,"far","fa-arrow-alt-circle-up","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-arrow-right-arrow-left","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],["href","javascript:void(0)","container","body","triggers","hover",1,"card-link",3,"click","ngbTooltip","openDelay"],[1,"fas","fa-sliders","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"icon-button","fas","fa-bridge","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"icon-button","fas","fa-qrcode","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-lg","ms-3"],[1,"fas","fa-heart","fa-lg","me-1","pink-text"],[1,"fas","fa-heart","fa-lg","me-1",2,"opacity","0.5"],[1,"far","fa-circle-dot","fa-lg","me-1"],[1,"far","fa-circle-check","fa-lg","me-1"],["href","javascript:void(0)",1,"card-link","red-text"],["href","javascript:void(0)"],["ngbDropdown","","placement","left",1,"d-inline-block","ms-3","mt-auto"],[1,"fas","fa-lg","fa-power-off","ms-3"],["href","javascript:void(0)",1,"card-link","red-text",3,"click"],["container","body","triggers","hover",1,"far","fa-pause-circle","fa-lg",3,"ngbTooltip","openDelay"],["href","javascript:void(0)",3,"click"],[1,"far","fa-arrow-alt-circle-down","fa-lg"],["href","javascript:void(0)","ngbDropdownToggle","",1,"card-link","text-decoration-none","mt-auto",2,"outline","none"],[1,"fa-solid","fa-ellipsis-v","fa-lg"],["ngbDropdownMenu","","aria-labelledby","Plugin Actions Dropdown"],["ngbDropdownItem","",3,"click"],[1,"fas","fa-sliders"],["ngbDropdownItem",""],[1,"dropdown-divider"],["ngbDropdownItem","","rel","noopener noreferrer","target","_blank",3,"href"],[1,"fas","fa-wave-square"],[1,"fas","fa-code-compare"],[1,"fas","fa-code"],[1,"far","fa-circle-pause"],[1,"far","fa-circle-play"],[1,"fas","fa-trash"],[1,"fas","fa-bridge"],[1,"fas","fa-broom"],[1,"icon-button","fas","fa-power-off"],[1,"fas","fa-stop"],[1,"fas","fa-play"],[1,"icon-button","fas","fa-bridge"],[1,"icon-button","fa","fa-question-circle-o"]],template:function(n,i){n&1&&(r(0,"div",0)(1,"div",1)(2,"div",2)(3,"img",3),f("error",function(){return i.handleIconError()}),s()(),r(4,"div",4)(5,"div",5)(6,"div",6)(7,"div",7)(8,"h5",8),p(9),s(),u(10,Si,8,7,"div",9),s(),r(11,"p",10)(12,"a",11),f("click",function(){return i.pluginInfoModal(i.plugin())}),c(13,"i",12),r(14,"span",13),p(15),s()()(),r(16,"p",14),u(17,Bi,4,1,"a",15),u(18,Ei,3,1,"span",13),s(),r(19,"div",7)(20,"p",16),u(21,Ti,5,2,"span"),u(22,Ii,2,1),s(),u(23,Yi,5,4,"div",9),s()()()()()()),n&2&&(o(3),S("src",i.plugin().icon,H),o(6),C(i.plugin().displayName),o(),g(i.isAdmin?10:-1),o(3),k(he(11,hi,i.plugin().isHbScoped,!i.plugin().isHbScoped&&(i.plugin().verifiedPlugin||i.plugin().verifiedPlusPlugin),!i.plugin().isHbScoped&&!i.plugin().verifiedPlugin&&!i.plugin().verifiedPlusPlugin)),o(2),C(i.plugin().name),o(2),g((i.plugin().verifiedPlugin||i.plugin().verifiedPlusPlugin)&&i.plugin().funding?17:-1),o(),g((i.plugin().verifiedPlugin||i.plugin().verifiedPlusPlugin)&&i.plugin().funding?-1:18),o(3),g(i.plugin().publicPackage&&!i.plugin().installedVersion?21:-1),o(),g(i.plugin().installedVersion?22:-1),o(),g(i.isAdmin?23:-1))},dependencies:[oe,Oe,He,Ne,Ae,$e,ve,M],encapsulation:2})}return t})();var Ke=(()=>{class t{$activeModal=h(j);dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=I({type:t,selectors:[["ng-component"]],decls:28,vars:22,consts:[["role","dialog","aria-modal","true",1,"modal-content"],[1,"modal-header"],["id","plugin-support-modal-title",1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fa","fa-question-circle-o","primary-text",2,"font-size","75px"],[1,"mb-0"],[3,"innerHTML"],[1,"modal-footer","justify-content-between"],[1,"text-start"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-end"]],template:function(n,i){n&1&&(r(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),p(4),a(5,"translate"),s(),r(6,"button",3),a(7,"translate"),f("click",function(){return i.dismissModal()}),s()(),r(8,"div",4)(9,"div",5),c(10,"i",6),s(),r(11,"ul",7),c(12,"li",8),a(13,"translate"),c(14,"li",8),a(15,"translate"),c(16,"li",8),a(17,"translate"),c(18,"li",8),a(19,"translate"),s(),c(20,"app-support-banner"),s(),r(21,"div",9),c(22,"div",10),r(23,"div",11)(24,"button",12),f("click",function(){return i.dismissModal()}),p(25),a(26,"translate"),s()(),c(27,"div",13),s()()()),n&2&&(B("aria-labelledby","plugin-support-modal-title"),o(4),C(l(5,8,"support.title")),o(2),B("aria-label",l(7,10,"form.button_close")),o(6),S("innerHTML",l(13,12,"plugins.support.list_1"),$),o(2),S("innerHTML",l(15,14,"plugins.support.list_2"),$),o(2),S("innerHTML",l(17,16,"plugins.support.list_3"),$),o(2),S("innerHTML",l(19,18,"plugins.support.list_4"),$),o(7),b(" ",l(26,20,"form.button_close")," "))},dependencies:[Re,M],encapsulation:2})}return t})();var Zi=["searchInput"],et=(t,d)=>({"fa-magnifying-glass":t,"fa-exclamation-circle":d});function it(t,d){t&1&&c(0,"app-spinner")}function tt(t,d){if(t&1){let e=w();r(0,"button",7),a(1,"translate"),a(2,"translate"),f("click",function(){v(e);let i=m();return x(i.showSearch())}),c(3,"i"),s(),r(4,"button",8),a(5,"translate"),a(6,"translate"),f("click",function(){v(e);let i=m();return x(i.showStats())}),c(7,"i"),s()}if(t&2){let e=m();S("openDelay",150)("ngbTooltip",l(1,13,"form.search"))("hidden",!e.installedPlugins().length&&!e.showSearchBar()),B("aria-label",l(2,15,"form.search")),o(3),k(re("fas",e.showSearchBar()?" primary-text":""," fa-search")),o(),S("openDelay",150)("ngbTooltip",l(5,17,"plugins.stats")),B("aria-label",l(6,19,"plugins.stats")),o(3),k(re("fas",e.tab()==="stats"?" primary-text":""," fa-sliders"))}}function nt(t,d){if(t&1){let e=w();r(0,"button",15),a(1,"translate"),f("click",function(){v(e);let i=m(3);return x(i.onClearSearch())}),c(2,"i",16),s()}t&2&&B("aria-label",l(1,1,"form.button_clear"))}function ot(t,d){if(t&1){let e=w();r(0,"div",9)(1,"div",11)(2,"form",12),f("ngSubmit",function(){v(e);let i=m(2);return x(i.onSubmit(i.form))}),c(3,"input",13,0),a(5,"translate"),u(6,nt,3,3,"button",14),s()()()}if(t&2){let e,n=m(2);o(2),S("formGroup",n.form),o(),S("placeholder",l(5,3,"plugins.placeholder_search_plugin")),o(3),g((e=n.form.get("query"))!=null&&e.value?6:-1)}}function at(t,d){if(t&1&&(r(0,"div",17),c(1,"app-plugin-card",19),s()),t&2){let e=d.$implicit,n=m(3);o(),S("plugin",e)("childBridges",n.getPluginChildBridges(e))}}function lt(t,d){if(t&1&&(r(0,"div",18),c(1,"i",20),r(2,"p"),p(3),a(4,"translate"),s()()),t&2){let e=m(3);o(),k(V(5,et,!e.showExitButton(),e.showExitButton())),o(2),C(l(4,3,e.showExitButton()?"plugins.placeholder_search_none":"plugins.placeholder_search_first"))}}function rt(t,d){if(t&1&&(r(0,"div",10),W(1,at,2,2,"div",17,Q),u(3,lt,5,8,"div",18),s()),t&2){let e=m(2);o(),J(e.installedPlugins()),o(2),g(e.installedPlugins().length===0&&!e.loading()&&!e.mainError()?3:-1)}}function st(t,d){if(t&1&&(u(0,ot,7,5,"div",9),u(1,rt,4,1,"div",10)),t&2){let e=m();g(e.showSearchBar()?0:-1),o(),g(e.loading()?-1:1)}}function dt(t,d){t&1&&(r(0,"div",21)(1,"div",22)(2,"code"),p(3,"https://developers.homebridge.io/analytics "),r(4,"a",23),c(5,"i",24),s()()(),r(6,"div",25),p(7),a(8,"translate"),s()(),c(9,"iframe",26)),t&2&&(o(7),C(l(8,1,"plugins.stats_note")))}var xn=(()=>{class t{destroyRef=h(me);$api=h(Z);$auth=h(ie);$modal=h(ne);$plugin=h(le);$router=h(Pe);$settings=h(ee);$toastr=h(Y);$translate=h(q);$ws=h(te);searchInput=be("searchInput",{});mainError=E(!1,{});loading=E(!0,{});tab=E("main",{});installedPlugins=E([],{});childBridges=E([],{});showSearchBar=E(!1,{});showExitButton=E(!1,{});isSearchMode=E(!1,{});io;isAdmin=this.$auth.user.admin;form=new Be({query:new Ee("")});ngOnInit(){let e=this.$translate.instant("menu.label_plugins");this.$settings.setPageTitle(e),this.$plugin.onPluginListRefresh.pipe(de(this.destroyRef)).subscribe(()=>{this.loadInstalledPlugins(),this.getChildBridgeMetadata()}),this.io=this.$ws.connectToNamespace("child-bridges"),this.io.connected.subscribe(()=>{this.initialize()}),this.io.socket.connected&&this.initialize(),this.io.socket.on("child-bridge-status-update",n=>{let i=this.childBridges().find(_=>_.username===n.username);i?(Object.assign(i,n),this.childBridges.set([...this.childBridges()])):this.childBridges.update(_=>[..._,n])}),this.$router.events.pipe(de(this.destroyRef)).subscribe(n=>{n instanceof xe&&this.loadInstalledPlugins()})}search(){return D(this,null,function*(){this.installedPlugins.set([]),this.loading.set(!0),this.showExitButton.set(!0);try{let e=yield this.$api.get(`/plugins/search/${encodeURIComponent(this.form.value.query)}`),n=new Set,i=new Map(e.map(_=>[_.name,_]));this.installedPlugins.set(e.reduce((_,T)=>{if(T.name==="homebridge-config-ui-x"||n.has(T.name))return _;if(T.newHbScope){let L=T.newHbScope.to,Xe=i.has(L);(T.installedVersion||!Xe)&&(n.add(L),_.push(T))}else _.push(T);return _},[])),yield this.appendMetaInfo()}catch(e){this.isSearchMode.set(!1),console.error(e);let n=e instanceof Error?e.message:this.$translate.instant("plugins.toast_failed_to_search_plugins");this.$toastr.error(n,this.$translate.instant("toast.title_error")),this.loadInstalledPlugins()}finally{this.loading.set(!1)}})}onClearSearch(){this.form.setValue({query:""}),this.showExitButton.set(!1),this.isSearchMode()&&(this.isSearchMode.set(!1),this.loadInstalledPlugins())}onSubmit({value:e}){e.query.length?(this.isSearchMode.set(!0),this.search()):(this.isSearchMode()&&(this.isSearchMode.set(!1),this.loadInstalledPlugins()),this.showSearchBar.set(!1))}showSearch(){if(this.showSearchBar())this.showSearchBar.set(!1),this.isSearchMode()&&(this.isSearchMode.set(!1),this.form.setValue({query:""}),this.loadInstalledPlugins());else{window.document.querySelector("body")?.classList.remove("bg-black"),this.tab.set("main"),this.showSearchBar.set(!0);let e=this.searchInput();e&&setTimeout(()=>e.nativeElement.focus(),0)}}showStats(){this.tab()==="stats"?(window.document.querySelector("body")?.classList.remove("bg-black"),this.tab.set("main")):(window.document.querySelector("body")?.classList.add("bg-black"),this.tab.set("stats"),this.showSearchBar.set(!1))}openSupport(){this.$modal.open(Ke,{size:"lg",backdrop:"static"})}ngOnDestroy(){window.document.querySelector("body")?.classList.remove("bg-black"),this.io.end()}getPluginChildBridges(e){return this.childBridges().filter(n=>n.plugin===e.name)}initialize(){return D(this,null,function*(){this.getChildBridgeMetadata(),this.io.socket.emit("monitor-child-bridge-status"),yield this.loadInstalledPlugins(),this.installedPlugins().length||this.showSearch();let{action:e,plugin:n}=this.$router.parseUrl(this.$router.url).queryParams;if(e){let i=this.installedPlugins().find(_=>_.name===n);switch(e){case"just-installed":{i&&(i.isConfigured?this.$modal.open(R,{size:"lg",backdrop:"static"}):this.$plugin.settings(i));break}}this.$router.navigate([],{queryParams:{},replaceUrl:!0,queryParamsHandling:""})}})}loadInstalledPlugins(){return D(this,null,function*(){this.form.setValue({query:""}),this.showExitButton.set(!1),this.installedPlugins.set([]),this.loading.set(!0),this.mainError.set(!1);try{let e=yield this.$api.get("/plugins");this.installedPlugins.set(e.filter(i=>i.name!=="homebridge-config-ui-x")),yield this.appendMetaInfo();let n=this.installedPlugins().sort((i,_)=>{let T=(i.updateAvailable?1e3:0)+(i.newHbScope?100:0)+(i.disabled?-10:0)+(i.isConfigured?-20:0)+(i.hasChildBridgesUnpaired?5:0)+(i.hasChildBridges&&this.$settings.env.recommendChildBridges?-1:0),L=(_.updateAvailable?1e3:0)+(_.newHbScope?100:0)+(_.disabled?-10:0)+(_.isConfigured?-20:0)+(_.hasChildBridgesUnpaired?5:0)+(_.hasChildBridges&&this.$settings.env.recommendChildBridges?-1:0);return T!==L?L-T:i.name.localeCompare(_.name)});return this.installedPlugins.set(n),n}catch(e){console.error(e);let n=e instanceof Error?e.message:this.$translate.instant("plugins.toast_failed_to_load_plugins");this.$toastr.error(n,this.$translate.instant("toast.title_error")),this.mainError.set(!0)}finally{this.loading.set(!1)}})}appendMetaInfo(){return D(this,null,function*(){this.isAdmin&&(yield Promise.all(this.installedPlugins().filter(e=>e.installedVersion).map(e=>D(this,null,function*(){try{let n=yield this.$api.get(`/config-editor/plugin/${encodeURIComponent(e.name)}`);e.isConfigured=n.length>0,e.isConfiguredDynamicPlatform=e.isConfigured&&Object.prototype.hasOwnProperty.call(n[0],"platform"),e.recommendChildBridge=e.isConfigured&&this.$settings.env.recommendChildBridges&&!["homebridge","homebridge-config-ui-x"].includes(e.name),e.hasChildBridges=e.isConfigured&&n.some(_=>_._bridge&&_._bridge.username);let i=this.getPluginChildBridges(e);e.hasChildBridgesUnpaired=i.some(_=>{let T=_.paired===!1&&!this.isBridgeAlertHidden(_.username,"hap"),L=_.matterConfig&&_.matterCommissioned===!1&&!this.isBridgeAlertHidden(_.username,"matter");return T||L}),this.$settings.env.plugins?.hideUpdatesFor?.includes(e.name)&&(e.updateAvailable=!1)}catch(n){console.error(`Failed to load config for ${e.name}:`,n),e.isConfigured=!0,e.hasChildBridges=!0}}))))})}getChildBridgeMetadata(){this.io.request("get-homebridge-child-bridge-status").subscribe(e=>{this.childBridges.set(e)})}isBridgeAlertHidden(e,n){let i=this.$settings.env.bridges?.find(_=>_.username.toUpperCase()===e.toUpperCase());return i?n==="hap"?!!i.hideHapAlert:!!i.hideMatterAlert:!1}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=I({type:t,selectors:[["ng-component"]],viewQuery:function(n,i){n&1&&_e(i.searchInput,Zi,5),n&2&&fe()},decls:13,vars:9,consts:[["searchInput",""],[1,"row","mb-3"],[1,"col-6"],[1,"primary-text","m-0"],[1,"col-6","text-end"],["type","button",1,"btn","btn-elegant","my-0","me-0",3,"click"],[1,"fa","fa-question-circle-o"],["type","button","container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0","me-2",3,"click","openDelay","ngbTooltip","hidden"],["type","button","container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0","me-2","d-none","d-md-inline-block",3,"click","openDelay","ngbTooltip"],[1,"row"],[1,"d-flex","flex-wrap","justify-content-between"],[1,"col-md-12"],["novalidate","",3,"ngSubmit","formGroup"],["type","text","formControlName","query",1,"search-bar",3,"placeholder"],["type","button",1,"search-bar-clear"],["type","button",1,"search-bar-clear",3,"click"],["aria-hidden","true",1,"fas","fa-square-xmark"],[1,"hb-plugin-space-between"],[1,"alert","alert-info","mt-4","text-center","w-100"],[3,"plugin","childBridges"],[1,"fas","primary-text","my-3",2,"font-size","75px"],[1,"w-100","py-3","hb-stats-header","text-white","text-center"],[1,"mb-2"],["href","https://developers.homebridge.io/analytics","target","_blank"],[1,"fa","fa-external-link"],[1,"small","grey-text"],["src",ge`https://developers.homebridge.io/analytics/`,"sandbox","allow-scripts allow-same-origin allow-popups","referrerpolicy","no-referrer",1,"hb-stats"]],template:function(n,i){n&1&&(u(0,it,1,0,"app-spinner"),r(1,"div",1)(2,"div",2)(3,"h3",3),p(4),a(5,"translate"),s()(),r(6,"div",4),u(7,tt,8,21),r(8,"button",5),a(9,"translate"),f("click",function(){return i.openSupport()}),c(10,"i",6),s()()(),u(11,st,2,2)(12,dt,10,3)),n&2&&(g(i.loading()?0:-1),o(4),C(l(5,5,"menu.label_plugins")),o(3),g(i.isAdmin?7:-1),o(),B("aria-label",l(9,7,"support.title")),o(3),g(i.tab()==="main"?11:i.tab()==="stats"?12:-1))},dependencies:[Ue,Me,ke,ye,we,Se,Ve,Ie,Te,Je,oe,M],styles:["form[_ngcontent-%COMP%]{position:relative}.search-bar[_ngcontent-%COMP%]{outline:none;box-sizing:inherit!important;background-color:inherit;height:50px!important;width:100%;border-width:.5px;padding:10px 45px 10px 10px;margin-bottom:15px}@media(hover:hover){.search-bar[_ngcontent-%COMP%]:hover{border:1px solid #000000}}.search-bar[_ngcontent-%COMP%]:focus{border:1px solid #000000;box-shadow:0 1px #000}.search-bar-clear[_ngcontent-%COMP%]{position:absolute;right:8px;top:25px;height:50px;background:transparent;border:none;font-size:20px;color:#d0d0d0;cursor:pointer;padding:0 8px;display:flex;align-items:center}.search-bar-clear[_ngcontent-%COMP%]:hover{color:#a0a0a0}.hb-plugin-space-between[_ngcontent-%COMP%]{box-sizing:border-box;width:calc(50% - 6.6666666667px)}@media only screen and (max-width:991px){.hb-plugin-space-between[_ngcontent-%COMP%]{width:100%}}.hb-stats-header[_ngcontent-%COMP%]{background:#242424;border-top-left-radius:.5rem;border-top-right-radius:.5rem}.hb-stats-header[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{border:1px solid grey;border-radius:5px;padding:5px;font-size:.8rem;color:#d3d3d3}.hb-stats[_ngcontent-%COMP%]{height:calc(100% - 121px);width:100%;overflow:hidden;border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}@media(max-width:767px){.hb-stats[_ngcontent-%COMP%]{height:calc(100% - 60px)}}"]})}return t})();export{xn as PluginsComponent};
@@ -1 +0,0 @@
1
- import{a as ie}from"./chunk-TUN7H57E.js";import{a as re}from"./chunk-LI37IF2Z.js";import{a as ne}from"./chunk-6QWPGE2L.js";import{a as de}from"./chunk-IDVQIBZN.js";import{a as te}from"./chunk-F635TFLI.js";import{a as Z,b as ee}from"./chunk-PRGOUVRO.js";import{a as Y}from"./chunk-OS475ZQO.js";import{a as Q}from"./chunk-DFG4HJK5.js";import{n as D}from"./chunk-2OWZ4XP5.js";import{a as R,b as W,d as H,e as T,f as X,g as G}from"./chunk-PD3Q2PZE.js";import{a as $}from"./chunk-Z5PUNNUZ.js";import{b as z}from"./chunk-CKURAGOR.js";import"./chunk-K7PJFUH4.js";import{b as B}from"./chunk-HYHFIPBC.js";import{E as A,F as J,J as I,q}from"./chunk-AWTSOXJ2.js";import{Ab as S,Dc as d,Ec as l,Fb as g,Gb as i,Hb as a,Ib as p,Nc as K,Rb as k,Xb as u,Za as n,Zb as C,aa as c,ea as O,ga as b,ha as x,hb as j,ic as P,kc as _,lc as h,ma as U,mb as E,n as N,nb as V,sa as w,wc as f,yb as m,zb as y}from"./chunk-HUTYOGRH.js";import{g as se,h as L}from"./chunk-B4AJQJMI.js";var ae=se(de(),1);var F=()=>["/"],pe=()=>({exact:!0}),ce=()=>["/plugins"],me=()=>["/accessories"],ue=()=>["/logs"],_e=()=>["/support"],ge=()=>["/platform-tools/terminal"],ve=()=>["/config"],he=()=>["/settings"],fe=()=>["/power-options"];function be(s,M){if(s&1){let e=k();i(0,"div",10)(1,"div",20),d(2,"translate"),d(3,"translate"),u("click",function(){b(e);let t=C();return x(t.openUnderVoltageModal())})("keydown",function(t){b(e);let o=C();return x(o.handleKeydown(t))}),i(4,"div",12),p(5,"i",21),a(),i(6,"div",14),_(7),d(8,"translate"),a()()()}s&2&&(n(),m("aria-label",l(2,2,"rpi.throttled.undervoltage_title")+" - "+l(3,4,"rpi.throttled.undervoltage_description")),n(6),h(l(8,6,"rpi.throttled.undervoltage_title")))}function xe(s,M){if(s&1){let e=k();i(0,"div",10)(1,"div",15),d(2,"translate"),u("keydown",function(t){b(e);let o=C();return x(o.handleKeydown(t))}),i(3,"div",12),p(4,"i",22),a(),i(5,"div",14),_(6),d(7,"translate"),a()()()}s&2&&(n(),g("routerLink",f(8,ge))("routerLinkActive","active"),m("aria-label",l(2,4,"menu.linux.label_terminal")),n(5),h(l(7,6,"menu.linux.label_terminal")))}function Ce(s,M){if(s&1){let e=k();i(0,"div",10)(1,"div",15),d(2,"translate"),u("keydown",function(t){b(e);let o=C();return x(o.handleKeydown(t))}),i(3,"div",12),p(4,"i",23),a(),i(5,"div",14),_(6),d(7,"translate"),a()()()}s&2&&(n(),g("routerLink",f(8,ve))("routerLinkActive","active"),m("aria-label",l(2,4,"menu.config_json_editor")),n(5),h(l(7,6,"menu.config_json_editor")))}function we(s,M){if(s&1){let e=k();i(0,"div",10)(1,"div",15),d(2,"translate"),u("keydown",function(t){b(e);let o=C();return x(o.handleKeydown(t))}),i(3,"div",12),p(4,"i",24),a(),i(5,"div",14),_(6),d(7,"translate"),a()()()}s&2&&(n(),g("routerLink",f(8,he))("routerLinkActive","active"),m("aria-label",l(2,4,"menu.label_settings")),n(5),h(l(7,6,"menu.label_settings")))}function ye(s,M){if(s&1){let e=k();i(0,"div",10)(1,"div",15),d(2,"translate"),u("keydown",function(t){b(e);let o=C();return x(o.handleKeydown(t))}),i(3,"div",12),p(4,"i",25),a(),i(5,"div",14),_(6),d(7,"translate"),a()()()}s&2&&(n(),g("routerLink",f(8,fe))("routerLinkActive","active"),m("aria-label",l(2,4,"menu.restart.title")),n(5),h(l(7,6,"menu.restart.title")))}function Se(s,M){if(s&1){let e=k();i(0,"div",10)(1,"div",20),d(2,"translate"),u("click",function(){b(e);let t=C();return x(t.reloadPage())})("keydown",function(t){b(e);let o=C();return x(o.handleKeydown(t))}),i(3,"div",12),p(4,"i",26),a(),i(5,"div",14),_(6),d(7,"translate"),a()()()}s&2&&(n(),m("aria-label",l(2,2,"menu.reload")),n(5),h(l(7,4,"menu.reload")))}function ke(s,M){if(s&1){let e=k();i(0,"div",10)(1,"div",20),d(2,"translate"),u("click",function(){b(e);let t=C();return x(t.logout())})("keydown",function(t){b(e);let o=C();return x(o.handleKeydown(t))}),i(3,"div",12),p(4,"i",27),a(),i(5,"div",14),_(6),d(7,"translate"),a()()()}s&2&&(n(),m("aria-label",l(2,2,"menu.tooltip_logout")),n(5),h(l(7,4,"menu.tooltip_logout")))}var oe=(()=>{class s{destroyRef=c(U);injector=c(O);$auth=c(z);$authHelper=c(Q);$settings=c(B);$modal=c(D);$notification=c(ne);$renderer=c(j);$router=c(T);$translate=c(A);initialIsExpanded=K(!1,{});isExpanded=w(!1,{});formAuth=w(this.$settings.formAuth,{});isAdmin=this.$auth.user.admin;enableTerminalAccess=this.$settings.env.enableTerminalAccess;rPiCurrentlyUnderVoltage=w(!1,{});rPiWasUnderVoltage=w(!1,{});isMobile=!1;freezeMenu=w(!1,{});isPwa=ie();sidebarMouseEnterListener=()=>this.openSidebar();sidebarMouseLeaveListener=()=>this.closeSidebar();touchstartListener;clickListener;constructor(){this.isMobile=window.innerWidth<768;let e;window.addEventListener("resize",()=>{clearTimeout(e),e=setTimeout(()=>{this.updateListeners()},500)}),this.$router.events.pipe($()).subscribe(r=>L(this,null,function*(){if(r instanceof R&&this.$settings.formAuth&&r.url!=="/login"&&!(yield this.$authHelper.isAuthenticated())){window.sessionStorage.setItem("target_route",r.url),yield this.$router.navigate(["/login"]);return}r instanceof W&&queueMicrotask(()=>{this.closeSidebar(),this.freezeMenu.set(!0),setTimeout(()=>{this.freezeMenu.set(!1)},750)})}))}ngOnInit(){this.isExpanded.set(this.initialIsExpanded()),this.$notification.raspberryPiThrottled.pipe($(this.destroyRef)).subscribe(o=>{o["Under Voltage"]&&this.rPiCurrentlyUnderVoltage.set(!0),o["Under-voltage has occurred"]&&this.rPiWasUnderVoltage.set(!0)}),this.$notification.formAuthEnabled.pipe($(this.destroyRef)).subscribe(o=>{this.formAuth.set(o)});let e=document.querySelector(".sidebar"),r=document.querySelector(".m-header"),t=document.querySelector(".content");this.isMobile?(this.touchstartListener=o=>{if(t.contains(o.target)&&this.isExpanded()){o.preventDefault(),this.toggleSidebar();return}!e.contains(o.target)&&!r.contains(o.target)&&this.isExpanded()&&(o.preventDefault(),this.closeSidebar())},document.addEventListener("touchstart",this.touchstartListener,{passive:!1})):(this.updateListeners(),r.addEventListener("mouseenter",this.sidebarMouseEnterListener,{passive:!1}),r.addEventListener("mouseleave",this.sidebarMouseLeaveListener,{passive:!1}),this.clickListener=o=>{e.contains(o.target)&&o.clientX>60&&this.closeSidebar()},document.addEventListener("click",this.clickListener,{passive:!1}))}toggleSidebar(){this.freezeMenu()||(this.isExpanded.set(!this.isExpanded()),this.updateContentStyles())}openUnderVoltageModal(){let e=E([{provide:ee,useValue:{title:this.$translate.instant("rpi.throttled.undervoltage_title"),message:this.$translate.instant(this.rPiCurrentlyUnderVoltage()?"rpi.throttled.currently_message":"rpi.throttled.previously_message"),ctaButtonLabel:this.$translate.instant("form.button_more_info"),faIconClass:"fas fa-bolt yellow-text",ctaButtonLink:"https://pimylifeup.com/raspberry-pi-low-voltage-warning"}}],this.injector);this.$modal.open(re,{size:"lg",backdrop:"static",injector:e})}handleKeydown(e){if(e.key==="Enter"){let r=e.target;["menuitem","button"].includes(r.getAttribute("role"))&&r.click()}}reloadPage(){window.location.reload()}ngOnDestroy(){this.touchstartListener&&document.removeEventListener("touchstart",this.touchstartListener),this.clickListener&&document.removeEventListener("click",this.clickListener);let e=document.querySelector(".sidebar"),r=document.querySelector(".m-header");e&&(e.removeEventListener("mouseenter",this.sidebarMouseEnterListener),e.removeEventListener("mouseleave",this.sidebarMouseLeaveListener)),r&&(r.removeEventListener("mouseenter",this.sidebarMouseEnterListener),r.removeEventListener("mouseleave",this.sidebarMouseLeaveListener))}logout(){this.$auth.logout()}openSidebar(){this.freezeMenu()||(this.isExpanded.set(!0),this.updateContentStyles())}closeSidebar(){this.freezeMenu()||(this.isExpanded.set(!1),this.updateContentStyles())}updateContentStyles(){let e=document.querySelector(".content");this.isExpanded()?(this.$renderer.setStyle(e,"opacity","20%"),this.$renderer.setStyle(e,"pointer-events","none"),this.$renderer.setStyle(e,"overflow","hidden")):(this.$renderer.removeStyle(e,"opacity"),this.$renderer.removeStyle(e,"pointer-events"),this.$renderer.removeStyle(e,"overflow"))}updateListeners(){this.isMobile=window.innerWidth<768;let e=document.querySelector(".sidebar");e.removeEventListener("mouseenter",this.sidebarMouseEnterListener),e.removeEventListener("mouseleave",this.sidebarMouseLeaveListener),(this.isMobile||!this.isMobile&&this.$settings.menuMode!=="freeze")&&(e.addEventListener("mouseenter",this.sidebarMouseEnterListener,{passive:!1}),e.addEventListener("mouseleave",this.sidebarMouseLeaveListener,{passive:!1}))}static \u0275fac=function(r){return new(r||s)};static \u0275cmp=V({type:s,selectors:[["app-sidebar"]],inputs:{initialIsExpanded:[1,"initialIsExpanded"]},decls:68,vars:73,consts:[["tabindex","0","role","button",1,"m-header","text-end",3,"click","keydown"],[1,"me-2","d-block","d-lg-none",2,"font-size","0.9rem","color","#dddddd"],[3,"routerLink"],["ngSrc","assets/homebridge-logo.svg","alt","HB Logo","height","35","width","35",2,"height","35px","width","35px"],[1,"hb-logo-text-mobile"],[1,"hamburger-icon"],["role","navigation","id","sidebar",1,"sidebar"],["tabindex","0","role","button",1,"header",3,"click","keydown"],[1,"hb-logo-text"],[1,"link-wrapper"],[1,"link"],["role","menuitem","tabindex","0",1,"link-row",3,"keydown","routerLink","routerLinkActive","routerLinkActiveOptions"],[1,"icon"],[1,"fa","fa-house"],[1,"title"],["role","menuitem","tabindex","0",1,"link-row",3,"keydown","routerLink","routerLinkActive"],[1,"fa","fa-plug"],[1,"fa","fa-lightbulb"],[1,"fa","fa-wave-square"],[1,"fa","fa-question-circle-o"],["role","menuitem","tabindex","0",1,"link-row",3,"click","keydown"],[1,"fas","fa-bolt","fa-beat","yellow-text",2,"--fa-beat-scale","1.5"],[1,"fa","fa-terminal"],[1,"fa","fa-code"],[1,"fa","fa-cog"],[1,"fa","fa-power-off"],[1,"fa","fa-refresh"],[1,"fa","fa-right-from-bracket"]],template:function(r,t){r&1&&(i(0,"div",0),d(1,"translate"),u("click",function(){return t.toggleSidebar()})("keydown",function(v){return t.handleKeydown(v)}),p(2,"span",1),i(3,"a",2),d(4,"translate"),p(5,"img",3),i(6,"div",4),_(7,"Homebridge"),a()(),i(8,"div",5),p(9,"span")(10,"span")(11,"span")(12,"span"),a()(),i(13,"div",6)(14,"div",7),u("click",function(){return t.toggleSidebar()})("keydown",function(v){return t.handleKeydown(v)}),i(15,"a",2),d(16,"translate"),p(17,"img",3),i(18,"div",8),_(19,"Homebridge"),a()()(),i(20,"div",9)(21,"div",10)(22,"div",11),d(23,"translate"),u("keydown",function(v){return t.handleKeydown(v)}),i(24,"div",12),p(25,"i",13),a(),i(26,"div",14),_(27),d(28,"translate"),a()()(),y(29,be,9,8,"div",10),i(30,"div",10)(31,"div",15),d(32,"translate"),u("keydown",function(v){return t.handleKeydown(v)}),i(33,"div",12),p(34,"i",16),a(),i(35,"div",14),_(36),d(37,"translate"),a()()(),i(38,"div",10)(39,"div",15),d(40,"translate"),u("keydown",function(v){return t.handleKeydown(v)}),i(41,"div",12),p(42,"i",17),a(),i(43,"div",14),_(44),d(45,"translate"),a()()(),i(46,"div",10)(47,"div",15),d(48,"translate"),u("keydown",function(v){return t.handleKeydown(v)}),i(49,"div",12),p(50,"i",18),a(),i(51,"div",14),_(52),d(53,"translate"),a()()(),y(54,xe,8,9,"div",10),y(55,Ce,8,9,"div",10),y(56,we,8,9,"div",10),i(57,"div",10)(58,"div",15),d(59,"translate"),u("keydown",function(v){return t.handleKeydown(v)}),i(60,"div",12),p(61,"i",19),a(),i(62,"div",14),_(63),d(64,"translate"),a()()(),y(65,ye,8,9,"div",10),y(66,Se,8,6,"div",10),y(67,ke,8,6,"div",10),a()()),r&2&&(m("aria-expanded",t.isExpanded()?"true":"false")("aria-controls","sidebar")("aria-label",l(1,39,"menu.sidebar.aria_menu")),n(3),g("routerLink",f(65,F)),m("aria-label",l(4,41,"menu.label_status")),n(5),P("hamburger-icon-cross",t.isExpanded()),n(5),P("expanded",t.isExpanded()),n(2),g("routerLink",f(66,F)),m("aria-label",l(16,43,"menu.label_status")),n(7),g("routerLink",f(67,F))("routerLinkActive","active")("routerLinkActiveOptions",f(68,pe)),m("aria-label",l(23,45,"menu.label_status")),n(5),h(l(28,47,"menu.label_status")),n(2),S(t.rPiWasUnderVoltage()||t.rPiCurrentlyUnderVoltage()?29:-1),n(2),g("routerLink",f(69,ce))("routerLinkActive","active"),m("aria-label",l(32,49,"menu.label_plugins")),n(5),h(l(37,51,"menu.label_plugins")),n(3),g("routerLink",f(70,me))("routerLinkActive","active"),m("aria-label",l(40,53,"menu.label_accessories")),n(5),h(l(45,55,"menu.label_accessories")),n(3),g("routerLink",f(71,ue))("routerLinkActive","active"),m("aria-label",l(48,57,"menu.linux.label_logs")),n(5),h(l(53,59,"menu.linux.label_logs")),n(2),S(t.enableTerminalAccess&&t.isAdmin?54:-1),n(),S(t.isAdmin?55:-1),n(),S(t.isAdmin?56:-1),n(2),g("routerLink",f(72,_e))("routerLinkActive","active"),m("aria-label",l(59,61,"support.title")),n(5),h(l(64,63,"support.title")),n(2),S(t.isAdmin?65:-1),n(),S(t.isPwa?66:-1),n(),S(t.formAuth()?67:-1))},dependencies:[X,q,G,J],styles:[".m-header[_ngcontent-%COMP%]{position:fixed;top:0;left:0;width:100%;height:65px;z-index:510;display:flex;align-items:center;padding-left:3px;padding-right:3px}.m-header[_ngcontent-%COMP%]:hover{cursor:pointer}@media(min-width:768px){.m-header[_ngcontent-%COMP%]{display:none}}.sidebar[_ngcontent-%COMP%]{position:fixed;left:0;top:0;height:100vh;transition:.3s;width:60px;z-index:500}.sidebar[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;padding:15px 10px 15px 11px;font-size:.85rem}.sidebar[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]:hover{cursor:pointer}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{overflow-x:hidden;overflow-y:auto;max-height:calc(100vh - 80px)!important;scrollbar-width:thin}@media(max-width:767px){.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{padding-bottom:60px}}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%]{display:flex;align-items:center;padding:15px 10px;cursor:pointer;transition:.2s;font-size:17px}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{flex:0 0 38px;display:flex;align-items:center;justify-content:center}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{flex:1;transition:.3s;max-width:0;overflow:hidden;white-space:nowrap}@media(max-width:767px){.sidebar[_ngcontent-%COMP%]{width:0}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{display:none}}.sidebar.expanded[_ngcontent-%COMP%]{width:210px}@media(max-width:767px){.sidebar.expanded[_ngcontent-%COMP%]{width:210px}.sidebar.expanded[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{display:block}}.sidebar.expanded[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{max-width:150px;padding-left:10px}.hamburger-icon[_ngcontent-%COMP%]{margin:-7px 0 0 25px}@media(min-width:768px){.hb-logo-text[_ngcontent-%COMP%]{color:#fff;position:absolute;top:17px;font-size:22px;padding-left:3px}.sidebar.expanded[_ngcontent-%COMP%] .hb-logo-text[_ngcontent-%COMP%]{opacity:1;left:55px;transition:.3s}.sidebar[_ngcontent-%COMP%]:not(.expanded) .hb-logo-text[_ngcontent-%COMP%]{opacity:0;left:40px;transition:.3s}.hb-logo-text-mobile[_ngcontent-%COMP%], .hamburger-icon[_ngcontent-%COMP%]{display:none!important}}@media(max-width:767px){.hb-logo-text[_ngcontent-%COMP%]{display:none!important}.hb-logo-text-mobile[_ngcontent-%COMP%]{color:#fff;position:absolute;top:17px;font-size:22px;padding-left:3px;opacity:1;left:55px}.hamburger-icon[_ngcontent-%COMP%]{position:absolute;right:10px;top:28px;width:30px;transform:rotate(0);transition:.5s ease-in-out;cursor:pointer}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:block;position:absolute;height:2px;width:100%;background-color:#fff;border-radius:9px;opacity:1;left:0;transform:rotate(0);transition:.25s ease-in-out}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(1){top:0}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(2), .hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(3){top:10px}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(4){top:20px}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(1){top:10px;width:0;left:50%}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(2){transform:rotate(45deg)}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(3){transform:rotate(-45deg)}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(4){top:10px;width:0;left:50%}}"]})}return s})();var tt=(()=>{class s{injector=c(O);$auth=c(z);$modal=c(D);$router=c(T);$settings=c(B);$translate=c(A);$ws=c(Y);io;sidebarExpanded=w(!1,{});ngOnInit(){this.io=this.$ws.connectToNamespace("app"),this.io.socket.on("reconnect",()=>{this.$auth.checkToken()}),this.compareServerUiVersion()}compareServerUiVersion(){return L(this,null,function*(){if(this.$settings.settingsLoaded||(yield N(this.$settings.onSettingsLoaded)),!this.$router.url.endsWith("/restart")&&(0,ae.lt)(this.$settings.uiVersion,I.serverTarget)){console.log(`Server restart required. UI Version: ${I.serverTarget} - Server Version: ${this.$settings.uiVersion} `);let e=E([{provide:Z,useValue:{title:this.$translate.instant("platform.version.service_restart_required"),message:this.$translate.instant("platform.version.restart_required",{serverVersion:this.$settings.uiVersion,uiVersion:I.serverTarget}),confirmButtonLabel:this.$translate.instant("menu.tooltip_restart"),faIconClass:"fas fa-power-off orange-text"}}],this.injector),r=this.$modal.open(te,{size:"lg",backdrop:"static",injector:e});try{yield r.result,this.$router.navigate(["/restart"])}catch{}}})}static \u0275fac=function(r){return new(r||s)};static \u0275cmp=V({type:s,selectors:[["app-layout"]],decls:3,vars:3,consts:[[3,"initialIsExpanded"],[1,"content","px-3","p-md-4"]],template:function(r,t){r&1&&(p(0,"app-sidebar",0),i(1,"div",1),p(2,"router-outlet"),a()),r&2&&(g("initialIsExpanded",t.sidebarExpanded()),n(),P("sidebarExpanded",t.sidebarExpanded()))},dependencies:[oe,H],styles:[".content[_ngcontent-%COMP%]{margin-left:60px;transition:.3s;height:100%}@media(max-width:767px){.content[_ngcontent-%COMP%]{margin-left:0;padding-top:85px!important}}@media(min-width:768px){.content[_ngcontent-%COMP%]{height:100%}}a[_ngcontent-%COMP%]:hover{text-decoration:none!important}"]})}return s})();export{tt as LayoutComponent};