homebridge-config-ui-x 4.78.2-beta.5 → 4.78.2-beta.7

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 (140) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/dist/main.js +1 -0
  3. package/dist/main.js.map +1 -1
  4. package/package.json +1 -1
  5. package/public/3rdpartylicenses.txt +132 -132
  6. package/public/assets/hap-icons/{airpurifier.svg → air-purifier.svg} +11 -11
  7. package/public/assets/hap-icons/{filtermaintenance.svg → filter-maintenance.svg} +1 -1
  8. package/public/{chunk-DW53RC2J.js → chunk-24HGAFIA.js} +1 -1
  9. package/public/chunk-335BVUT7.js +1 -0
  10. package/public/chunk-3FIZ5SHA.js +1 -0
  11. package/public/chunk-3K6K2EED.js +2 -0
  12. package/public/{chunk-HAZ2TOVS.js → chunk-4SCDQJ67.js} +1 -1
  13. package/public/chunk-5MYMUS7R.js +3 -0
  14. package/public/chunk-5QYOJ5G7.js +1 -0
  15. package/public/chunk-5SOTFW4L.js +1 -0
  16. package/public/{chunk-MA7HSK5I.js → chunk-5XE7ACAJ.js} +16 -16
  17. package/public/chunk-7UNMO36V.js +1 -0
  18. package/public/chunk-CHQMUTDZ.js +4 -0
  19. package/public/chunk-CIJ7JUI4.js +1 -0
  20. package/public/chunk-DFK6HAB2.js +1 -0
  21. package/public/chunk-F3ERQJVG.js +1 -0
  22. package/public/chunk-FSQU6S5U.js +1 -0
  23. package/public/chunk-G7MJKB2I.js +1 -0
  24. package/public/chunk-GMZYTKA7.js +1 -0
  25. package/public/chunk-GW2DVJRQ.js +1 -0
  26. package/public/chunk-HDDSK4T6.js +1 -0
  27. package/public/chunk-HDIZOXS3.js +1 -0
  28. package/public/chunk-HVYATWTL.js +1 -0
  29. package/public/chunk-IN7NZAFJ.js +1 -0
  30. package/public/chunk-J4CE5VUG.js +1 -0
  31. package/public/chunk-J6YDFLQQ.js +1 -0
  32. package/public/chunk-JKFIZ5HO.js +1 -0
  33. package/public/chunk-JL52RNPX.js +1 -0
  34. package/public/chunk-KX4HFAMS.js +1 -0
  35. package/public/chunk-KZXWMOV5.js +1 -0
  36. package/public/chunk-M7Q25OA7.js +12 -0
  37. package/public/chunk-N2BRDQMV.js +1 -0
  38. package/public/chunk-NFOOVJXR.js +23 -0
  39. package/public/chunk-NHCHG3Z6.js +1 -0
  40. package/public/chunk-NJPGGFP6.js +1 -0
  41. package/public/{chunk-PZ4EJUWJ.js → chunk-OCUYP77B.js} +1 -1
  42. package/public/{chunk-HYRHD4VJ.js → chunk-OFS35DEJ.js} +1 -1
  43. package/public/chunk-OQR4JGQQ.js +1 -0
  44. package/public/{chunk-MOMFYMZX.js → chunk-PBJK6VW5.js} +1 -1
  45. package/public/chunk-RCXJKKFJ.js +1 -0
  46. package/public/chunk-RDHSN5YP.js +1 -0
  47. package/public/chunk-RPGBJBQM.js +1 -0
  48. package/public/chunk-RTYG6XT7.js +1 -0
  49. package/public/chunk-SRAPPW2T.js +4 -0
  50. package/public/chunk-TQNKRJOX.js +1 -0
  51. package/public/chunk-TTFPDSBH.js +20 -0
  52. package/public/chunk-UJKWN6WW.js +1 -0
  53. package/public/{chunk-YTSL4WKW.js → chunk-UQYCFN3T.js} +1 -1
  54. package/public/chunk-V5SJINUD.js +1 -0
  55. package/public/chunk-WBSGPRW6.js +1 -0
  56. package/public/chunk-WIKVE33G.js +1 -0
  57. package/public/chunk-YO4OJGZL.js +1 -0
  58. package/public/chunk-ZYZKPRJW.js +5 -0
  59. package/public/index.html +1 -1
  60. package/public/main-HK64V7MI.js +1 -0
  61. package/public/chunk-2BG2CSJ2.js +0 -1
  62. package/public/chunk-3BLUUVJH.js +0 -1
  63. package/public/chunk-3JILA3K4.js +0 -5
  64. package/public/chunk-4SA4GMB2.js +0 -1
  65. package/public/chunk-4SWQFHHP.js +0 -1
  66. package/public/chunk-56PY5QTA.js +0 -1
  67. package/public/chunk-5ZWZPDTW.js +0 -1
  68. package/public/chunk-7FD3EC7J.js +0 -1
  69. package/public/chunk-7LNTGSCN.js +0 -1
  70. package/public/chunk-7X55NKR3.js +0 -20
  71. package/public/chunk-AC3XUOVQ.js +0 -1
  72. package/public/chunk-AY7YHLF5.js +0 -1
  73. package/public/chunk-B3U7UOR3.js +0 -1
  74. package/public/chunk-BM6T3M62.js +0 -6
  75. package/public/chunk-C5CQZHR2.js +0 -1
  76. package/public/chunk-D5A7AKWO.js +0 -1
  77. package/public/chunk-DBKYJGLQ.js +0 -1
  78. package/public/chunk-DDARHLW6.js +0 -1
  79. package/public/chunk-DEVBRHQE.js +0 -1
  80. package/public/chunk-ECZQTQYF.js +0 -4
  81. package/public/chunk-EIRMDXFU.js +0 -1
  82. package/public/chunk-EOTSCZHB.js +0 -1
  83. package/public/chunk-F35OKPJJ.js +0 -1
  84. package/public/chunk-FBAFQRNU.js +0 -2
  85. package/public/chunk-FGF4IVHI.js +0 -1
  86. package/public/chunk-FLUPYWZS.js +0 -1
  87. package/public/chunk-FPYIY6YX.js +0 -1
  88. package/public/chunk-G7WIBZOG.js +0 -1
  89. package/public/chunk-H6HTVCWS.js +0 -1
  90. package/public/chunk-HKCMS5E6.js +0 -1
  91. package/public/chunk-IF3KFND5.js +0 -1
  92. package/public/chunk-IIPUK2BI.js +0 -23
  93. package/public/chunk-J74LBPGO.js +0 -1
  94. package/public/chunk-JODV6RHA.js +0 -1
  95. package/public/chunk-LDLY2W2L.js +0 -12
  96. package/public/chunk-LIR7QVML.js +0 -1
  97. package/public/chunk-M2S3C4EG.js +0 -1
  98. package/public/chunk-MXARL4DO.js +0 -1
  99. package/public/chunk-N53PZ7G7.js +0 -1
  100. package/public/chunk-NPI2SMFS.js +0 -1
  101. package/public/chunk-OAFL5KUH.js +0 -1
  102. package/public/chunk-OTZLBFXM.js +0 -1
  103. package/public/chunk-OVZ7RBX7.js +0 -1
  104. package/public/chunk-P2K2XE6W.js +0 -1
  105. package/public/chunk-PEVVFCXI.js +0 -1
  106. package/public/chunk-QAMMYHW2.js +0 -1
  107. package/public/chunk-QY46HWDD.js +0 -1
  108. package/public/chunk-R53BOK3Z.js +0 -1
  109. package/public/chunk-RKB6QR63.js +0 -1
  110. package/public/chunk-SOHPXRDW.js +0 -1
  111. package/public/chunk-SOOC2JQJ.js +0 -1
  112. package/public/chunk-SWAUKWH7.js +0 -1
  113. package/public/chunk-V53MRZ5F.js +0 -1
  114. package/public/chunk-VYOUOZE7.js +0 -1
  115. package/public/chunk-WVNHIT6J.js +0 -1
  116. package/public/chunk-XHKH2R5G.js +0 -1
  117. package/public/chunk-YPA2CDCH.js +0 -1
  118. package/public/chunk-ZVHPQCQY.js +0 -1
  119. package/public/main-OTQSSOQS.js +0 -1
  120. /package/public/assets/hap-icons/{airquality.svg → air-quality-sensor.svg} +0 -0
  121. /package/public/assets/hap-icons/{co2-sensor.svg → carbon-dioxide-sensor.svg} +0 -0
  122. /package/public/assets/hap-icons/{co-sensor.svg → carbon-monoxide-sensor.svg} +0 -0
  123. /package/public/assets/hap-icons/{contactsensor-closed.svg → contact-sensor-closed.svg} +0 -0
  124. /package/public/assets/hap-icons/{contactsensor-open.svg → contact-sensor-open.svg} +0 -0
  125. /package/public/assets/hap-icons/{garagedoor.svg → garage-door.svg} +0 -0
  126. /package/public/assets/hap-icons/{humidity.svg → humidity-sensor.svg} +0 -0
  127. /package/public/assets/hap-icons/{leaksensor.svg → leak-sensor.svg} +0 -0
  128. /package/public/assets/hap-icons/{lightbulb.svg → light-bulb.svg} +0 -0
  129. /package/public/assets/hap-icons/{light.svg → light-sensor.svg} +0 -0
  130. /package/public/assets/hap-icons/{motionsensor.svg → motion-sensor.svg} +0 -0
  131. /package/public/assets/hap-icons/{occupancysensor.svg → occupancy-sensor.svg} +0 -0
  132. /package/public/assets/hap-icons/{securitysystem-active.svg → security-system-active.svg} +0 -0
  133. /package/public/assets/hap-icons/{securitysystem-off.svg → security-system-off.svg} +0 -0
  134. /package/public/assets/hap-icons/{securitysystem-triggered.svg → security-system-triggered.svg} +0 -0
  135. /package/public/assets/hap-icons/{smokesensor.svg → smoke-sensor.svg} +0 -0
  136. /package/public/assets/hap-icons/{statelessprogrammableswitch.svg → stateless-programmable-switch.svg} +0 -0
  137. /package/public/assets/hap-icons/{valve-waterfaucet.svg → valve-faucet.svg} +0 -0
  138. /package/public/assets/hap-icons/{valve-showerhead.svg → valve-shower-head.svg} +0 -0
  139. /package/public/assets/hap-icons/{windowcovering-closed.svg → window-covering-closed.svg} +0 -0
  140. /package/public/assets/hap-icons/{windowcovering-open.svg → window-covering-open.svg} +0 -0
@@ -1 +0,0 @@
1
- import{a}from"./chunk-NPI2SMFS.js";import"./chunk-FLUPYWZS.js";import"./chunk-MA7HSK5I.js";import"./chunk-YTSL4WKW.js";import"./chunk-GDFV4BMO.js";import"./chunk-QDCKP2LU.js";import"./chunk-NGNQPAAK.js";import"./chunk-HAZ2TOVS.js";import"./chunk-UD6SVFW2.js";import"./chunk-7EQ4BJZB.js";import"./chunk-EGCUYKRH.js";import"./chunk-7FD3EC7J.js";import"./chunk-CF2ZN7LY.js";import"./chunk-T252YJXA.js";import"./chunk-X7PVYZAE.js";import"./chunk-HYRHD4VJ.js";import"./chunk-DW53RC2J.js";import"./chunk-MOMFYMZX.js";import"./chunk-PZ4EJUWJ.js";import"./chunk-SRP6QX5M.js";import"./chunk-LXXELGX4.js";import"./chunk-SKZUTSHE.js";export{a as PluginsComponent};
@@ -1 +0,0 @@
1
- import{a as f}from"./chunk-IIPUK2BI.js";import{a as s}from"./chunk-NPI2SMFS.js";import"./chunk-FLUPYWZS.js";import"./chunk-MA7HSK5I.js";import"./chunk-YTSL4WKW.js";import"./chunk-GDFV4BMO.js";import"./chunk-QDCKP2LU.js";import"./chunk-NGNQPAAK.js";import"./chunk-HAZ2TOVS.js";import"./chunk-UD6SVFW2.js";import"./chunk-7EQ4BJZB.js";import"./chunk-EGCUYKRH.js";import"./chunk-7FD3EC7J.js";import{v as l}from"./chunk-CF2ZN7LY.js";import{A as u,z as m}from"./chunk-T252YJXA.js";import{g as e}from"./chunk-X7PVYZAE.js";import"./chunk-HYRHD4VJ.js";import"./chunk-DW53RC2J.js";import"./chunk-MOMFYMZX.js";import"./chunk-PZ4EJUWJ.js";import"./chunk-SRP6QX5M.js";import{c as p}from"./chunk-LXXELGX4.js";import{ha as t,ld as n,nb as r}from"./chunk-SKZUTSHE.js";var g=[{path:"",loadComponent:()=>import("./chunk-LIR7QVML.js").then(o=>o.PluginsComponent)}],d=(()=>{class o{static \u0275fac=function(i){return new(i||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[e.forChild(g),e]})}return o})();var v=(()=>{class o{static \u0275fac=function(i){return new(i||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[n,m,u,p.forChild(),l,f,d,s]})}return o})();export{v as PluginsModule};
@@ -1 +0,0 @@
1
- import"./chunk-WVNHIT6J.js";import{v as p}from"./chunk-CF2ZN7LY.js";import{A as m}from"./chunk-T252YJXA.js";import{g as i}from"./chunk-X7PVYZAE.js";import"./chunk-MOMFYMZX.js";import"./chunk-PZ4EJUWJ.js";import"./chunk-SRP6QX5M.js";import{c as s}from"./chunk-LXXELGX4.js";import{ha as t,ld as n,nb as r}from"./chunk-SKZUTSHE.js";var a=[{path:"",loadComponent:()=>import("./chunk-J74LBPGO.js").then(o=>o.PowerOptionsComponent)}],u=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[i.forChild(a),i]})}return o})();var j=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[n,u,p,m,s]})}return o})();export{j as PowerOptionsModule};
@@ -1 +0,0 @@
1
- import{a as C,b as y,c as $,d as j}from"./chunk-OAFL5KUH.js";import"./chunk-7EQ4BJZB.js";import{v as d}from"./chunk-CF2ZN7LY.js";import{A as u,z as l}from"./chunk-T252YJXA.js";import{d as v,g as n}from"./chunk-X7PVYZAE.js";import"./chunk-DW53RC2J.js";import"./chunk-MOMFYMZX.js";import{k as g,n as h}from"./chunk-PZ4EJUWJ.js";import"./chunk-SRP6QX5M.js";import{a as M,c as U}from"./chunk-LXXELGX4.js";import{ga as f,h as a,ha as i,la as e,ld as c,nb as s,w as p}from"./chunk-SKZUTSHE.js";var m=(()=>{class r{$api=e(h);$router=e(v);$toastr=e(g);$translate=e(M);constructor(){}resolve(){return a(this,null,function*(){try{return yield p(this.$api.get("/users"))}catch(o){console.error(o),this.$toastr.error(o.message,this.$translate.instant("toast.title_error")),this.$router.navigate(["/"])}})}static \u0275fac=function(t){return new(t||r)};static \u0275prov=f({token:r,factory:r.\u0275fac})}return r})();var F=[{path:"",loadComponent:()=>import("./chunk-4SWQFHHP.js").then(r=>r.UsersComponent),resolve:{homebridgeUsers:m}}],b=(()=>{class r{static \u0275fac=function(t){return new(t||r)};static \u0275mod=s({type:r});static \u0275inj=i({imports:[n.forChild(F),n]})}return r})();var Y=(()=>{class r{static \u0275fac=function(t){return new(t||r)};static \u0275mod=s({type:r});static \u0275inj=i({providers:[m],imports:[c,l,u,U.forChild(),d,b,$,j,y,C]})}return r})();export{Y as UsersModule};
@@ -1 +0,0 @@
1
- import{a as ki,b as Ii}from"./chunk-FLUPYWZS.js";import{a as Si,n as Bi,w as R}from"./chunk-MA7HSK5I.js";import{a as M}from"./chunk-YTSL4WKW.js";import{a as yi}from"./chunk-NGNQPAAK.js";import{a as Pi}from"./chunk-7FD3EC7J.js";import{h as fi,i as _i,j as Ci,k as hi,l as bi,m as N,n as A,t as vi}from"./chunk-CF2ZN7LY.js";import{A as mi,c as ai,e as li,f as ri,g as si,j as di,m as pi,p as ci,q as ui,z as gi}from"./chunk-T252YJXA.js";import{a as xi,d as wi}from"./chunk-X7PVYZAE.js";import{a as U}from"./chunk-HYRHD4VJ.js";import{b as q}from"./chunk-MOMFYMZX.js";import{k as F,n as z}from"./chunk-PZ4EJUWJ.js";import{a as j,b as I}from"./chunk-LXXELGX4.js";import{Bc as d,Cc as p,Dc as H,Hb as S,Ib as g,Jb as m,Lb as K,Mb as X,Nb as Y,Ob as b,Pb as a,Qb as l,Rb as s,Vb as v,Xa as V,Ya as E,Yb as _,Za as J,Zb as u,ab as n,bc as Z,cc as ii,cd as $,dc as ei,fd as ni,h as y,jc as L,jd as oi,kc as f,la as w,lc as P,mb as k,mc as x,ra as C,sa as h,uc as O,w as T,xc as D,yc as B,zc as ti}from"./chunk-SKZUTSHE.js";var Di=(t,r)=>({"orange-text":t,"grey-text":r}),G=t=>({opacity:t}),Hi=(t,r)=>({"green-text":t,"grey-text":r}),Ni=(t,r)=>({"purple-text":t,"grey-text":r}),Ai=(t,r)=>({scopedLink:t,verifiedLink:r});function ji(t,r){t&1&&(a(0,"h6",18),f(1),d(2,"translate"),l(),a(3,"p",19),f(4),d(5,"translate"),l(),a(6,"p",19),f(7),d(8,"translate"),l()),t&2&&(n(),P(p(2,3,"plugins.manage.scoped_subtitle")),n(3),P(p(5,5,"plugins.manage.scoped_message")),n(3),P(p(8,7,"plugins.manage.verified_message")))}function Fi(t,r){t&1&&(a(0,"h6",18),f(1),d(2,"translate"),l(),a(3,"p",19),f(4),d(5,"translate"),l()),t&2&&(n(),P(p(2,2,"plugins.manage.verified_subtitle")),n(3),P(p(5,4,"plugins.manage.verified_message")))}function zi(t,r){t&1&&(a(0,"h6",18),f(1),d(2,"translate"),l(),a(3,"p",19),f(4),d(5,"translate"),l()),t&2&&(n(),P(p(2,2,"plugins.manage.unverified_subtitle")),n(3),P(p(5,4,"plugins.manage.unverified_message")))}function qi(t,r){if(t&1){let e=v();a(0,"button",20),_("click",function(){C(e);let i=u();return h(i.$activeModal.dismiss("Dismiss"))}),f(1),d(2,"translate"),l()}t&2&&(n(),x(" ",p(2,1,"form.button_close")," "))}function Ui(t,r){if(t&1){let e=v();a(0,"button",20),_("click",function(){C(e);let i=u();return h(i.$activeModal.dismiss("Dismiss"))}),f(1),d(2,"translate"),l()}t&2&&(n(),x(" ",p(2,1,"form.button_close")," "))}function Ri(t,r){if(t&1&&(a(0,"a",17),f(1),d(2,"translate"),s(3,"i",21),l()),t&2){let e=u();b("href",e.plugin.links.homepage||e.plugin.links.npm,E),n(),x(" ",p(2,2,"plugins.button_homepage")," ")}}var Ti=(()=>{class t{$activeModal=w(N);plugin;defaultIcon="assets/hb-icon.png";linkScoped='<a href="https://github.com/homebridge/plugins/wiki/Scoped-Plugins" target="_blank"><i class="fas fa-fw 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-fw fa-external-link-alt primary-text"></i></a>';constructor(){}ngOnInit(){this.plugin.icon||(this.plugin.icon=this.defaultIcon)}handleIconError(){this.plugin.icon=this.defaultIcon}static \u0275fac=function(o){return new(o||t)};static \u0275cmp=k({type:t,selectors:[["ng-component"]],inputs:{plugin:"plugin"},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-fw","fa-shield-alt","mb-3",2,"font-size","48px",3,"ngClass","ngStyle"],[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-fw","fa-external-link-alt"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),f(3),d(4,"translate"),l(),a(5,"button",3),d(6,"translate"),_("click",function(){return i.$activeModal.dismiss("Dismiss")}),l()(),a(7,"div",4)(8,"img",5),_("error",function(){return i.handleIconError()}),l(),a(9,"h4",6),f(10),l(),a(11,"p",7),f(12),l(),a(13,"p",8),f(14),l(),a(15,"p",9),f(16),l(),s(17,"i",10)(18,"i",10)(19,"i",10),g(20,ji,9,9),g(21,Fi,6,6),g(22,zi,6,6),s(23,"p",11),d(24,"translate"),l(),a(25,"div",12)(26,"div",13),g(27,qi,3,3,"button",14),l(),a(28,"div",15),g(29,Ui,3,3,"button",14),l(),a(30,"div",16),g(31,Ri,4,4,"a",17),l()()()),o&2&&(n(3),P(p(4,20,"plugins.manage.information")),n(2),S("aria-label",p(6,22,"form.button_close")),n(3),b("src",i.plugin.icon,E),n(2),P(i.plugin.displayName),n(2),P(i.plugin.name),n(2),x("@",i.plugin.author),n(2),P(i.plugin.description),n(),b("ngClass",B(27,Di,!i.plugin.verifiedPlugin&&!i.plugin.verifiedPlusPlugin,i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin))("ngStyle",D(30,G,!i.plugin.verifiedPlugin&&!i.plugin.verifiedPlusPlugin?1:.25)),n(),b("ngClass",B(32,Hi,!i.plugin.isHbScoped&&(i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin),i.plugin.isHbScoped||!i.plugin.verifiedPlugin&&!i.plugin.verifiedPlusPlugin))("ngStyle",D(35,G,!i.plugin.isHbScoped&&(i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin)?1:.25)),n(),b("ngClass",B(37,Ni,i.plugin.isHbScoped,!i.plugin.isHbScoped))("ngStyle",D(40,G,i.plugin.isHbScoped?1:.25)),n(),m(i.plugin.isHbScoped?20:-1),n(),m(!i.plugin.isHbScoped&&(i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin)?21:-1),n(),m(!i.plugin.verifiedPlugin&&!i.plugin.verifiedPlusPlugin?22:-1),n(),b("innerHTML",H(24,24,"plugins.manage.more_info",B(42,Ai,i.linkScoped,i.linkVerified)),V),n(4),m(i.plugin.links.homepage||i.plugin.links.npm?27:-1),n(2),m(!i.plugin.links.homepage&&!i.plugin.links.npm?29:-1),n(2),m(i.plugin.links.homepage||i.plugin.links.npm?31:-1))},dependencies:[I,$,ni],styles:[".plugin-icon[_ngcontent-%COMP%]{height:75px;width:75px;border-radius:15px;border:1px solid #222222}"]})}return t})();var Li=(t,r,e)=>({"purple-text":t,"green-text":r,"orange-text":e}),Oi=(t,r)=>({"fa-bridge-circle-exclamation orange-text":t,"fa-bridge-circle-xmark red-text":r});function Gi(t,r){if(t&1){let e=v();a(0,"a",23),d(1,"translate"),d(2,"translate"),_("click",function(){C(e);let i=u();return h(i.$plugin.checkAndUpdatePlugin(i.plugin,i.plugin.latestVersion))}),s(3,"i",24),l()}t&2&&(b("ngbTooltip",p(1,2,"plugins.button_update")),S("aria-label",p(2,4,"plugins.button_update")))}function Wi(t,r){if(t&1){let e=v();a(0,"a",23),d(1,"translate"),d(2,"translate"),_("click",function(){C(e);let i=u();return h(i.$plugin.switchToScoped(i.plugin))}),s(3,"i",25),l()}t&2&&(b("ngbTooltip",p(1,2,"plugins.manage.scoped.switch")),S("aria-label",p(2,4,"plugins.manage.scoped.switch")))}function Qi(t,r){if(t&1){let e=v();a(0,"a",23),d(1,"translate"),d(2,"translate"),_("click",function(){C(e);let i=u();return h(i.$plugin.settings(i.plugin))}),s(3,"i",26),l()}t&2&&(b("ngbTooltip",p(1,2,"plugins.button_set_up")),S("aria-label",p(2,4,"plugins.button_set_up")))}function Ji(t,r){if(t&1){let e=v();a(0,"a",23),d(1,"translate"),d(2,"translate"),_("click",function(){C(e);let i=u();return h(i.$plugin.bridgeSettings(i.plugin))}),s(3,"i",27),l()}t&2&&(b("ngbTooltip",p(1,2,"child_bridge.setup")),S("aria-label",p(2,4,"child_bridge.setup")))}function Ki(t,r){if(t&1){let e=v();a(0,"a",23),d(1,"translate"),d(2,"translate"),_("click",function(){C(e);let i=u();return h(i.$plugin.bridgeSettings(i.plugin))}),s(3,"i",28),l()}t&2&&(b("ngbTooltip",p(1,2,"child_bridge.bridge_connect")),S("aria-label",p(2,4,"child_bridge.bridge_connect")))}function Xi(t,r){if(t&1&&s(0,"i",12),t&2){let e=u();b("ngClass",B(1,Oi,e.childBridgeStatus==="pending",e.childBridgeStatus==="down"))}}function Yi(t,r){if(t&1){let e=v();a(0,"a",14),_("click",function(){C(e);let i=u();return h(i.openFundingModal(i.plugin))}),s(1,"i",29),a(2,"span",16),f(3),l()()}if(t&2){let e=u();n(3),x("@",e.plugin.author)}}function Zi(t,r){if(t&1&&(a(0,"span",16),s(1,"i",30),f(2),l()),t&2){let e=u();n(2),x("@",e.plugin.author," ")}}function ie(t,r){if(t&1&&(a(0,"span"),f(1),d(2,"date"),l()),t&2){let e=u(2);n(),x("(",H(2,1,e.plugin.lastUpdated,"yyyy-MM-dd"),")")}}function ee(t,r){if(t&1&&(a(0,"span"),s(1,"i",31),a(2,"span",16),f(3),g(4,ie,3,4,"span"),l()()),t&2){let e=u();n(3),x("v",e.plugin.latestVersion," "),n(),m(e.plugin.lastUpdated?4:-1)}}function te(t,r){if(t&1&&(s(0,"i",32),f(1)),t&2){let e=u();n(),x("v",e.plugin.installedVersion," ")}}function ne(t,r){if(t&1){let e=v();a(0,"a",23),d(1,"translate"),_("click",function(){C(e);let i=u();return h(i.doChildBridgeAction("restart"))}),s(2,"i",33),l()}if(t&2){let e=u();b("ngbTooltip",p(1,1,e.setChildBridges.length>1?"child_bridge.restart_plural":"child_bridge.restart"))}}function oe(t,r){if(t&1){let e=v();a(0,"a",34),_("click",function(){C(e);let i=u();return h(i.enablePlugin(i.plugin))}),s(1,"i",35),d(2,"translate"),l()}t&2&&(n(),b("ngbTooltip",p(2,1,"plugins.status_disabled")))}function ae(t,r){if(t&1){let e=v();a(0,"a",36),_("click",function(){C(e);let i=u();return h(i.$plugin.installAlternateVersion(i.plugin))}),s(1,"i",37),l()}}function le(t,r){if(t&1){let e=v();a(0,"button",41),_("click",function(){C(e);let i=u(2);return h(i.viewPluginLog(i.plugin))}),s(1,"i",46),f(2),d(3,"translate"),l()}t&2&&(n(2),x(" ",p(3,1,"plugins.manage.plugin_logs")," "))}function re(t,r){if(t&1){let e=v();a(0,"button",41),_("click",function(){C(e);let i=u(2);return h(i.$plugin.installAlternateVersion(i.plugin))}),s(1,"i",47),f(2),d(3,"translate"),l()}t&2&&(n(2),x(" ",p(3,1,"plugins.manage.manage_version")," "))}function se(t,r){if(t&1){let e=v();a(0,"button",41),_("click",function(){C(e);let i=u(2);return h(i.$plugin.jsonEditor(i.plugin))}),s(1,"i",48),f(2),d(3,"translate"),l()}t&2&&(n(2),x(" ",p(3,1,"plugins.manage.json_config")," "))}function de(t,r){if(t&1){let e=v();a(0,"button",41),_("click",function(){C(e);let i=u(2);return h(i.disablePlugin(i.plugin))}),s(1,"i",49),f(2),d(3,"translate"),l()}t&2&&(n(2),x(" ",p(3,1,"plugins.manage.disable")," "))}function pe(t,r){if(t&1){let e=v();a(0,"button",41),_("click",function(){C(e);let i=u(2);return h(i.enablePlugin(i.plugin))}),s(1,"i",50),f(2),d(3,"translate"),l()}t&2&&(n(2),x(" ",p(3,1,"plugins.manage.enable")," "))}function ce(t,r){if(t&1){let e=v();a(0,"button",41),_("click",function(){C(e);let i=u(2);return h(i.$plugin.uninstallPlugin(i.plugin,i.setChildBridges))}),s(1,"i",51),f(2),d(3,"translate"),l()}t&2&&(n(2),x(" ",p(3,1,"plugins.button_uninstall")," "))}function ue(t,r){t&1&&s(0,"div",44)}function ge(t,r){if(t&1){let e=v();a(0,"button",41),_("click",function(){C(e);let i=u(3);return h(i.doChildBridgeAction("restart"))}),s(1,"i",53),f(2),d(3,"translate"),l()}if(t&2){let e=u(3);n(2),x(" ",p(3,1,e.setChildBridges.length>1?"child_bridge.restart_plural":"child_bridge.restart")," ")}}function me(t,r){if(t&1){let e=v();a(0,"button",41),_("click",function(){C(e);let i=u(3);return h(i.doChildBridgeAction("stop"))}),s(1,"i",54),f(2),d(3,"translate"),l()}if(t&2){let e=u(3);n(2),x(" ",p(3,1,e.setChildBridges.length>1?"child_bridge.stop_plural":"child_bridge.stop")," ")}}function fe(t,r){if(t&1){let e=v();a(0,"button",41),_("click",function(){C(e);let i=u(3);return h(i.doChildBridgeAction("start"))}),s(1,"i",55),f(2),d(3,"translate"),l()}if(t&2){let e=u(3);n(2),x(" ",p(3,1,e.setChildBridges.length>1?"child_bridge.start_plural":"child_bridge.start")," ")}}function _e(t,r){if(t&1){let e=v();a(0,"button",41),_("click",function(){C(e);let i=u(3);return h(i.$plugin.resetChildBridges(i.setChildBridges))}),s(1,"i",56),f(2),d(3,"translate"),l()}t&2&&(n(2),x(" ",p(3,1,"child_bridge.reset_accessories")," "))}function Ce(t,r){if(t&1){let e=v();a(0,"button",41),_("click",function(){C(e);let i=u(2);return h(i.$plugin.bridgeSettings(i.plugin))}),s(1,"i",52),f(2),d(3,"translate"),l(),g(4,ge,4,3,"button",43),g(5,me,4,3,"button",43),g(6,fe,4,3,"button",43),g(7,_e,4,3,"button",43)}if(t&2){let e=u(2);n(2),x(" ",p(3,5,"child_bridge.bridge_settings")," "),n(2),m(e.childBridgeRestartInProgress?-1:4),n(),m(e.allChildBridgesStopped?-1:5),n(),m(e.allChildBridgesStopped?6:-1),n(),m(e.$settings.env.serviceMode?7:-1)}}function he(t,r){t&1&&s(0,"div",44)}function be(t,r){if(t&1){let e=v();a(0,"button",41),_("click",function(){C(e);let i=u(2);return h(i.$plugin.bridgeSettings(i.plugin))}),s(1,"i",57),f(2),d(3,"translate"),l()}t&2&&(n(2),x(" ",p(3,1,"child_bridge.setup")," "))}function ve(t,r){t&1&&s(0,"div",44)}function xe(t,r){if(t&1){let e=v();a(0,"button",41),_("click",function(){C(e);let i=u(2);return h(i.$plugin.bridgeSettings(i.plugin))}),s(1,"i",57),f(2),d(3,"translate"),l()}t&2&&(n(2),x(" ",p(3,1,"child_bridge.setup")," "))}function we(t,r){t&1&&s(0,"div",44)}function Pe(t,r){if(t&1&&(a(0,"a",45),s(1,"i",58),f(2),d(3,"translate"),l()),t&2){let e=u(2);b("href",e.plugin.links.bugs,E),n(2),x(" ",p(3,2,"support.links.issue")," ")}}function Se(t,r){if(t&1){let e=v();a(0,"span",22)(1,"a",38),s(2,"i",39),l(),a(3,"div",40)(4,"button",41),_("click",function(){C(e);let i=u();return h(i.$plugin.settings(i.plugin))}),s(5,"i",42),f(6),d(7,"translate"),l(),g(8,le,4,3,"button",43),g(9,re,4,3,"button",43),g(10,se,4,3,"button",43),g(11,de,4,3,"button",43),g(12,pe,4,3,"button",43),g(13,ce,4,3,"button",43),g(14,ue,1,0,"div",44),g(15,Ce,8,7),g(16,he,1,0,"div",44),g(17,be,4,3,"button",43),g(18,ve,1,0,"div",44),g(19,xe,4,3,"button",43),g(20,we,1,0,"div",44),g(21,Pe,4,4,"a",45),l()()}if(t&2){let e=u();n(),S("aria-label","Plugin Actions Dropdown"),n(5),x(" ",p(7,16,"plugins.button_settings")," "),n(2),m(e.plugin.isConfigured&&!e.plugin.disabled?8:-1),n(),m(e.plugin.publicPackage?9:-1),n(),m(!e.isMobile&&e.plugin.name!=="homebridge-config-ui-x"?10:-1),n(),m(e.plugin.name!=="homebridge-config-ui-x"&&!e.plugin.disabled?11:-1),n(),m(e.plugin.name!=="homebridge-config-ui-x"&&e.plugin.disabled?12:-1),n(),m(e.plugin.name!=="homebridge-config-ui-x"?13:-1),n(),m(!e.plugin.disabled&&e.plugin.isConfigured&&e.plugin.hasChildBridges&&e.plugin.installedVersion&&e.plugin.name!=="homebridge-config-ui-x"?14:-1),n(),m(e.plugin.hasChildBridges&&!e.plugin.disabled?15:-1),n(),m(e.plugin.isConfigured&&!e.plugin.hasChildBridges&&!e.plugin.disabled&&!e.plugin.recommendChildBridge?16:-1),n(),m(e.plugin.isConfigured&&!e.plugin.hasChildBridges&&!e.plugin.disabled&&!e.plugin.recommendChildBridge?17:-1),n(),m(e.plugin.isConfigured&&!e.plugin.hasChildBridges&&!e.plugin.disabled&&e.plugin.recommendChildBridge&&e.plugin.updateAvailable?18:-1),n(),m(e.plugin.isConfigured&&!e.plugin.hasChildBridges&&!e.plugin.disabled&&e.plugin.recommendChildBridge&&e.plugin.updateAvailable?19:-1),n(),m(e.plugin.links!=null&&e.plugin.links.bugs?20:-1),n(),m(e.plugin.links!=null&&e.plugin.links.bugs?21:-1)}}var Vi=(()=>{class t{$api=w(z);$md=w(yi);$modal=w(A);$plugin=w(R);$settings=w(q);$toastr=w(F);$translate=w(j);$ws=w(U);plugin;hasChildBridges=!1;hasUnpairedChildBridges=!1;allChildBridgesStopped=!1;childBridgeStatus="pending";childBridgeRestartInProgress=!1;defaultIcon="assets/hb-icon.png";isMobile;setChildBridges=[];hb2Status="unknown";io;constructor(){}set childBridges(e){this.hasChildBridges=e.length>0,this.hasUnpairedChildBridges=e.filter(c=>c.paired===!1).length>0,this.allChildBridgesStopped=e.filter(c=>c.manuallyStopped===!0).length===e.length,this.hasChildBridges&&(e.some(c=>c.status==="down")?this.childBridgeStatus="down":e.some(c=>c.status==="pending")?this.childBridgeStatus="pending":e.some(c=>c.status==="ok")&&(this.childBridgeStatus="ok")),this.setChildBridges=e;let o=this.$settings.env.homebridgeVersion.split(".")[0],i=this.plugin.engines?.homebridge?.split("||").map(c=>c.trim())||[];this.hb2Status=o==="2"?"hide":i.some(c=>c.startsWith("^2")||c.startsWith(">=2"))?"supported":this.hb2Status}ngOnInit(){this.isMobile=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 o=this.$modal.open(Ii,{size:"lg",backdrop:"static"});o.componentInstance.plugin=e}pluginInfoModal(e){let o=this.$modal.open(Ti,{size:"lg",backdrop:"static"});o.componentInstance.plugin=e}disablePlugin(e){let o=this.$modal.open(ki,{size:"lg",backdrop:"static"});o.componentInstance.pluginName=e.displayName,o.componentInstance.isConfigured=e.isConfigured,o.componentInstance.isConfiguredDynamicPlatform=e.isConfiguredDynamicPlatform,o.result.then(()=>y(this,null,function*(){try{yield T(this.$api.put(`/config-editor/plugin/${encodeURIComponent(e.name)}/disable`,{})),e.disabled=!0,this.hasChildBridges&&this.doChildBridgeAction("stop"),this.$modal.open(M,{size:"lg",backdrop:"static"})}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("plugins.disable.error"),this.$translate.instant("toast.title_error"))}}))}enablePlugin(e){let o=this.$modal.open(Pi,{size:"lg",backdrop:"static"});o.componentInstance.title=e.name,o.componentInstance.message=this.$translate.instant("plugins.manage.confirm_enable",{pluginName:e.displayName}),o.componentInstance.confirmButtonLabel=this.$translate.instant("plugins.manage.enable"),o.componentInstance.faIconClass="fa-circle-play primary-text",o.result.then(()=>y(this,null,function*(){try{yield T(this.$api.put(`/config-editor/plugin/${encodeURIComponent(e.name)}/enable`,{})),e.disabled=!1,this.hasChildBridges&&(yield this.doChildBridgeAction("start")),this.$modal.open(M,{size:"lg",backdrop:"static"})}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("plugins.enable.error"),this.$translate.instant("toast.title_error"))}}))}viewPluginLog(e){let o=this.$modal.open(Bi,{size:"xl",backdrop:"static"});o.componentInstance.plugin=e}doChildBridgeAction(e){return y(this,null,function*(){this.childBridgeRestartInProgress=!0;try{for(let o of this.setChildBridges)yield T(this.io.request(`${e}-child-bridge`,o.username))}catch(o){console.error(o),this.$toastr.error(this.$translate.instant("plugins.bridge.action_error",{action:e}),this.$translate.instant("toast.title_error")),this.childBridgeRestartInProgress=!1}finally{setTimeout(()=>{this.childBridgeRestartInProgress=!1},e==="restart"?12e3:e==="stop"?6e3:1e3)}})}handleIconError(){this.plugin.icon=this.defaultIcon}static \u0275fac=function(o){return new(o||t)};static \u0275cmp=k({type:t,selectors:[["app-plugin-card"]],inputs:{plugin:"plugin",childBridges:"childBridges"},decls:35,vars:23,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"],["href","javascript:void(0)","container","body","openDelay","150","triggers","hover",1,"card-link",3,"ngbTooltip"],[1,"fas","fa-fw","fa-spinner","fa-pulse","fa-lg","grey-text","ms-3",3,"hidden"],[1,"fas","fa-fw","fa-lg","ms-3",3,"ngClass"],[1,"card-text","mb-2","text-truncate"],["href","javascript:void(0)",1,"card-link",3,"click"],[1,"fas","fa-fw","fa-shield-alt","fa-lg","me-1",3,"ngClass"],[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)",1,"card-link","red-text"],["href","javascript:void(0)"],["ngbDropdown","","placement","left",1,"d-inline-block","ms-3","mt-auto"],["href","javascript:void(0)","container","body","openDelay","150","triggers","hover",1,"card-link",3,"click","ngbTooltip"],[1,"far","fa-fw","fa-arrow-alt-circle-up","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-fw","fa-arrow-right-arrow-left","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-fw","fa-sliders","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"icon-button","fas","fa-fw","fa-bridge","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"icon-button","fas","fa-fw","fa-qrcode","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-fw","fa-heart","fa-lg","me-1","pink-text"],[1,"fas","fa-fw","fa-heart","fa-lg","me-1",2,"opacity","0.5"],[1,"far","fa-fw","fa-circle-dot","fa-lg","me-1"],[1,"far","fa-fw","fa-circle-check","fa-lg","me-1"],[1,"fas","fa-fw","fa-lg","fa-power-off","ms-3"],["href","javascript:void(0)",1,"card-link","red-text",3,"click"],["container","body","openDelay","150","triggers","hover",1,"far","fa-fw","fa-pause-circle","fa-lg",3,"ngbTooltip"],["href","javascript:void(0)",3,"click"],[1,"far","fa-fw","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-fw","fa-ellipsis-v","fa-lg"],["ngbDropdownMenu","","aria-labelledby","Plugin Actions Dropdown"],["ngbDropdownItem","",3,"click"],[1,"fas","fa-fw","fa-sliders"],["ngbDropdownItem",""],[1,"dropdown-divider"],["ngbDropdownItem","","rel","noopener noreferrer","target","_blank",3,"href"],[1,"fas","fa-fw","fa-wave-square"],[1,"fas","fa-fw","fa-code-compare"],[1,"fas","fa-fw","fa-code"],[1,"far","fa-fw","fa-circle-pause"],[1,"far","fa-fw","fa-circle-play"],[1,"fas","fa-fw","fa-trash"],[1,"fas","fa-fw","fa-bridge"],[1,"fa-fw","icon-button","fas","fa-fw","fa-power-off"],[1,"fas","fa-fw","fa-stop"],[1,"fas","fa-fw","fa-play"],[1,"fas","fa-fw","fa-broom"],[1,"icon-button","fas","fa-fw","fa-bridge"],[1,"icon-button","fa","fa-fw","fa-question-circle-o"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1)(2,"div",2)(3,"img",3),_("error",function(){return i.handleIconError()}),l()(),a(4,"div",4)(5,"div",5)(6,"div",6)(7,"div",7)(8,"h5",8),f(9),l(),a(10,"div",9),g(11,Gi,4,6,"a",10),g(12,Wi,4,6,"a",10),g(13,Qi,4,6,"a",10),g(14,Ji,4,6,"a",10),g(15,Ki,4,6,"a",10),s(16,"i",11),g(17,Xi,1,4,"i",12),l()(),a(18,"p",13)(19,"a",14),_("click",function(){return i.pluginInfoModal(i.plugin)}),s(20,"i",15),a(21,"span",16),f(22),l()()(),a(23,"p",17),g(24,Yi,4,1,"a",18),g(25,Zi,3,1,"span",16),l(),a(26,"div",7)(27,"p",19),g(28,ee,5,2,"span"),g(29,te,2,1),l(),a(30,"div",9),g(31,ne,3,3,"a",10),g(32,oe,3,3,"a",20),g(33,ae,2,0,"a",21),g(34,Se,22,18,"span",22),l()()()()()()()),o&2&&(n(3),b("src",i.plugin.icon,E),n(6),P(i.plugin.displayName),n(2),m(i.plugin.installedVersion&&i.plugin.updateAvailable&&!i.childBridgeRestartInProgress?11:-1),n(),m(i.plugin.installedVersion&&(i.plugin.newHbScope==null?null:i.plugin.newHbScope.switch)===i.plugin.installedVersion&&!i.childBridgeRestartInProgress?12:-1),n(),m(i.plugin.installedVersion&&(!i.plugin.newHbScope||i.plugin.newHbScope.switch!==i.plugin.installedVersion)&&!i.plugin.updateAvailable&&!i.plugin.isConfigured&&!i.childBridgeRestartInProgress&&!i.plugin.disabled?13:-1),n(),m(i.plugin.installedVersion&&(!i.plugin.newHbScope||i.plugin.newHbScope.switch!==i.plugin.installedVersion)&&!i.plugin.updateAvailable&&i.plugin.isConfigured&&!i.plugin.hasChildBridges&&!i.plugin.disabled&&i.plugin.recommendChildBridge&&!i.childBridgeRestartInProgress?14:-1),n(),m(i.plugin.installedVersion&&(!i.plugin.newHbScope||i.plugin.newHbScope.switch!==i.plugin.installedVersion)&&!i.plugin.updateAvailable&&i.plugin.isConfigured&&i.plugin.hasChildBridges&&!i.childBridgeRestartInProgress&&i.hasUnpairedChildBridges&&i.childBridgeStatus==="ok"&&!i.plugin.disabled?15:-1),n(),b("hidden",!i.childBridgeRestartInProgress),n(),m(i.plugin.installedVersion&&(!i.plugin.newHbScope||i.plugin.newHbScope.switch!==i.plugin.installedVersion)&&!i.plugin.updateAvailable&&i.plugin.isConfigured&&i.plugin.hasChildBridges&&!i.childBridgeRestartInProgress&&!i.hasUnpairedChildBridges&&i.childBridgeStatus!=="ok"&&!i.plugin.disabled?17:-1),n(3),b("ngClass",ti(19,Li,i.plugin.isHbScoped,!i.plugin.isHbScoped&&(i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin),!i.plugin.isHbScoped&&!i.plugin.verifiedPlugin&&!i.plugin.verifiedPlusPlugin)),n(2),P(i.plugin.name),n(2),m((i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin)&&i.plugin.funding?24:-1),n(),m((i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin)&&i.plugin.funding?-1:25),n(3),m(i.plugin.publicPackage&&!i.plugin.installedVersion?28:-1),n(),m(i.plugin.installedVersion?29:-1),n(2),m(!i.plugin.disabled&&i.plugin.hasChildBridges&&i.childBridgeStatus==="ok"?31:-1),n(),m(i.plugin.installedVersion&&i.plugin.disabled?32:-1),n(),m(i.plugin.publicPackage&&!i.plugin.installedVersion?33:-1),n(),m(i.plugin.installedVersion?34:-1))},dependencies:[vi,$,bi,hi,Ci,_i,fi,oi,I],encapsulation:2})}return t})();var Ei=(()=>{class t{$activeModal=w(N);constructor(){}static \u0275fac=function(o){return new(o||t)};static \u0275cmp=k({type:t,selectors:[["ng-component"]],decls:27,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","mb-3"],[1,"fa","fa-fw","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(o,i){o&1&&(a(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),f(4),d(5,"translate"),l(),a(6,"button",3),d(7,"translate"),_("click",function(){return i.$activeModal.dismiss("Dismiss")}),l()(),a(8,"div",4)(9,"div",5),s(10,"i",6),l(),a(11,"ul",7),s(12,"li",8),d(13,"translate"),s(14,"li",8),d(15,"translate"),s(16,"li",8),d(17,"translate"),s(18,"li",8),d(19,"translate"),l()(),a(20,"div",9),s(21,"div",10),a(22,"div",11)(23,"button",12),_("click",function(){return i.$activeModal.dismiss("Dismiss")}),f(24),d(25,"translate"),l()(),s(26,"div",13),l()()()),o&2&&(n(4),P(p(5,7,"support.title")),n(2),S("aria-label",p(7,9,"form.button_close")),n(6),b("innerHTML",p(13,11,"plugins.support.list_1"),V),n(2),b("innerHTML",p(15,13,"plugins.support.list_2"),V),n(2),b("innerHTML",p(17,15,"plugins.support.list_3"),V),n(2),b("innerHTML",p(19,17,"plugins.support.list_4"),V),n(6),x(" ",p(25,19,"form.button_close")," "))},dependencies:[I],encapsulation:2})}return t})();var ye=["searchInput"],Be=(t,r)=>({"fa-magnifying-glass":t,"fa-exclamation-circle":r});function ke(t,r){t&1&&s(0,"app-spinner")}function Ie(t,r){if(t&1){let e=v();a(0,"a",15),_("click",function(){C(e);let i=u(3);return h(i.onClearSearch())}),s(1,"i",16),l()}}function Te(t,r){if(t&1){let e=v();a(0,"div",9)(1,"div",11)(2,"form",12),_("ngSubmit",function(){C(e);let i=u(2);return h(i.onSubmit(i.form))}),s(3,"input",13,0),d(5,"translate"),g(6,Ie,2,0,"a",14),l()()()}if(t&2){let e=u(2);n(2),b("formGroup",e.form),n(),b("placeholder",p(5,3,"plugins.placeholder_search_plugin")),n(3),m(e.showExitButton?6:-1)}}function Ve(t,r){if(t&1&&(a(0,"div",17),s(1,"app-plugin-card",19),l()),t&2){let e=r.$implicit,o=u(3);n(),b("plugin",e)("childBridges",o.getPluginChildBridges(e))}}function Ee(t,r){if(t&1&&(a(0,"div",18),s(1,"i",20),a(2,"p"),f(3),d(4,"translate"),l()()),t&2){let e=u(3);n(),b("ngClass",B(4,Be,!e.showExitButton,e.showExitButton)),n(2),P(p(4,2,e.showExitButton?"plugins.placeholder_search_none":"plugins.placeholder_search_first"))}}function $e(t,r){if(t&1&&(a(0,"div",10),X(1,Ve,2,2,"div",17,K),g(3,Ee,5,7,"div",18),l()),t&2){let e=u(2);n(),Y(e.installedPlugins),n(2),m(e.installedPlugins.length===0&&!e.loading&&!e.mainError?3:-1)}}function Me(t,r){if(t&1&&(g(0,Te,7,5,"div",9),g(1,$e,4,1,"div",10)),t&2){let e=u();m(e.showSearchBar?0:-1),n(),m(e.loading?-1:1)}}function De(t,r){t&1&&(a(0,"div",21)(1,"code"),f(2,"https://developers.homebridge.io/analytics "),a(3,"a",22),s(4,"i",23),l()()(),s(5,"iframe",24))}var Mt=(()=>{class t{searchInput;$api=w(z);$modal=w(A);$plugin=w(R);$router=w(wi);$settings=w(q);$toastr=w(F);$translate=w(j);$ws=w(U);isSearchMode=!1;mainError=!1;loading=!0;tab="main";installedPlugins=[];childBridges=[];showSearchBar=!1;showExitButton=!1;form=new si({query:new di("")});io;navigationSubscription;constructor(){}ngOnInit(){return y(this,null,function*(){this.io=this.$ws.connectToNamespace("child-bridges"),this.io.connected.subscribe(()=>y(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:o}=this.$router.parseUrl(this.$router.url).queryParams;if(e){let i=this.installedPlugins.find(c=>c.name===o);switch(e){case"just-installed":{i&&(i.isConfigured?this.$modal.open(M,{size:"lg",backdrop:"static"}):this.$plugin.settings(i));break}case"open-manage-version":{i&&this.$plugin.installAlternateVersion(i);break}}this.$router.navigate([],{queryParams:{},replaceUrl:!0,queryParamsHandling:""})}})),this.io.socket.on("child-bridge-status-update",e=>{let o=this.childBridges.find(i=>i.username===e.username);o?Object.assign(o,e):this.childBridges.push(e)}),this.navigationSubscription=this.$router.events.subscribe(e=>{e instanceof xi&&this.loadInstalledPlugins()})})}loadInstalledPlugins(){return y(this,null,function*(){this.form.setValue({query:""}),this.showExitButton=!1,this.installedPlugins=[],this.loading=!0,this.mainError=!1;try{let e=yield T(this.$api.get("/plugins"));this.installedPlugins=e.filter(i=>i.name!=="homebridge-config-ui-x"),yield this.appendMetaInfo();let o=this.installedPlugins.sort((i,c)=>i.updateAvailable!==c.updateAvailable?i.updateAvailable?-1:1:i.newHbScope&&!c.newHbScope?-1:i.disabled!==c.disabled?i.disabled?1:-1:i.isConfigured!==c.isConfigured?i.isConfigured?1:-1:i.hasChildBridgesUnpaired!==c.hasChildBridgesUnpaired?i.hasChildBridgesUnpaired?-1:1:i.hasChildBridges!==c.hasChildBridges&&this.$settings.env.recommendChildBridges?i.hasChildBridges?1:-1:i.name.localeCompare(c.name));return this.loading=!1,o}catch(e){console.error(e),this.loading=!1,this.mainError=!0,this.$toastr.error(this.$translate.instant("plugins.toast_failed_to_load_plugins"),this.$translate.instant("toast.title_error"))}})}appendMetaInfo(){return y(this,null,function*(){yield Promise.all(this.installedPlugins.filter(e=>e.installedVersion).map(e=>y(this,null,function*(){try{let o=yield T(this.$api.get(`/config-editor/plugin/${encodeURIComponent(e.name)}`));e.isConfigured=o.length>0,e.isConfiguredDynamicPlatform=e.isConfigured&&Object.prototype.hasOwnProperty.call(o[0],"platform"),e.recommendChildBridge=e.isConfiguredDynamicPlatform&&this.$settings.env.recommendChildBridges&&this.$settings.env.serviceMode&&!["homebridge","homebridge-config-ui-x"].includes(e.name),e.hasChildBridges=e.isConfigured&&o.some(c=>c._bridge&&c._bridge.username);let i=this.getPluginChildBridges(e);e.hasChildBridgesUnpaired=i.some(c=>!c.paired),this.$settings.env.plugins?.hideUpdatesFor?.includes(e.name)&&(e.updateAvailable=!1)}catch{e.isConfigured=!0,e.hasChildBridges=!0}})))})}search(){this.installedPlugins=[],this.loading=!0,this.showExitButton=!0,this.$api.get(`/plugins/search/${encodeURIComponent(this.form.value.query)}`).subscribe({next:e=>{let o=new Set;this.installedPlugins=e.reduce((i,c)=>{if(c.name==="homebridge-config-ui-x"||o.has(c.name))return i;if(c.newHbScope){let Q=c.newHbScope.to,$i=e.some(Mi=>Mi.name===Q);(c.installedVersion||!$i)&&(o.add(Q),i.push(c))}else i.push(c);return i},[]),this.appendMetaInfo(),this.loading=!1},error:e=>{this.loading=!1,this.isSearchMode=!1,console.error(e),this.$toastr.error(e.error.message||e.message,this.$translate.instant("toast.title_error")),this.loadInstalledPlugins()}})}onClearSearch(){this.loadInstalledPlugins()}onSubmit({value:e}){e.query.length?(this.isSearchMode=!0,this.search()):this.isSearchMode&&(this.isSearchMode=!1,this.loadInstalledPlugins())}getChildBridgeMetadata(){this.io.request("get-homebridge-child-bridge-status").subscribe(e=>{this.childBridges=e})}getPluginChildBridges(e){return this.childBridges.filter(o=>o.plugin===e.name)}showSearch(){this.showSearchBar?(this.showSearchBar=!1,this.isSearchMode&&(this.isSearchMode=!1,this.form.setValue({query:""}),this.loadInstalledPlugins())):(window.document.querySelector("body").classList.remove("bg-black"),this.tab="main",this.showSearchBar=!0,setTimeout(()=>this.searchInput.nativeElement.focus(),0))}showStats(){this.tab==="stats"?(window.document.querySelector("body").classList.remove("bg-black"),this.tab="main"):(window.document.querySelector("body").classList.add("bg-black"),this.tab="stats",this.showSearchBar=!1)}openSupport(){this.$modal.open(Ei,{size:"lg",backdrop:"static"})}ngOnDestroy(){window.document.querySelector("body").classList.remove("bg-black"),this.navigationSubscription&&this.navigationSubscription.unsubscribe(),this.io.end()}static \u0275fac=function(o){return new(o||t)};static \u0275cmp=k({type:t,selectors:[["ng-component"]],viewQuery:function(o,i){if(o&1&&Z(ye,5),o&2){let c;ii(c=ei())&&(i.searchInput=c.first)}},decls:18,vars:20,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-2",3,"click"],["type","button",1,"btn","btn-elegant","my-0","me-2","d-none","d-md-inline-block",3,"click"],["type","button",1,"btn","btn-elegant","my-0","me-0",3,"click"],[1,"fa","fa-fw","fa-question-circle-o"],[1,"row"],[1,"d-flex","flex-wrap","justify-content-between"],[1,"col-md-12"],["novalidate","",3,"ngSubmit","formGroup"],["type","text","formControlName","query",1,"hb-npm-search",3,"placeholder"],["href","javascript:void(0)",1,"hb-npm-search-clear"],["href","javascript:void(0)",1,"hb-npm-search-clear",3,"click"],[1,"far","fa-fw","fa-times-circle"],[1,"hb-plugin-space-between"],[1,"alert","alert-info","mt-4","text-center","w-100"],[3,"plugin","childBridges"],[1,"fas","fa-fw","primary-text","my-3",2,"font-size","75px",3,"ngClass"],[1,"w-100","py-3","hb-stats-header","text-white","text-center"],["href","https://developers.homebridge.io/analytics","target","_blank"],[1,"fa","fa-fw","fa-external-link"],["src",J`https://developers.homebridge.io/analytics/`,"sandbox","allow-scripts allow-same-origin allow-popups","referrerpolicy","no-referrer",1,"hb-stats"]],template:function(o,i){o&1&&(g(0,ke,1,0,"app-spinner"),a(1,"div",1)(2,"div",2)(3,"h3",3),f(4),d(5,"translate"),l()(),a(6,"div",4)(7,"button",5),d(8,"translate"),_("click",function(){return i.showSearch()}),s(9,"i"),l(),a(10,"button",6),d(11,"translate"),_("click",function(){return i.showStats()}),s(12,"i"),l(),a(13,"button",7),d(14,"translate"),_("click",function(){return i.openSupport()}),s(15,"i",8),l()()(),g(16,Me,2,2)(17,De,6,0)),o&2&&(m(i.loading?0:-1),n(4),P(p(5,12,"menu.label_plugins")),n(3),S("aria-label",p(8,14,"plugins.search")),n(2),L(O("fas fa-fw",i.showSearchBar?" primary-text":""," fa-search")),n(),S("aria-label",p(11,16,"plugins.browse")),n(2),L(O("fas fa-fw",i.tab==="stats"?" primary-text":""," fa-sliders")),n(),S("aria-label",p(14,18,"support.title")),n(3),m(i.tab==="main"?16:i.tab==="stats"?17:-1))},dependencies:[Si,gi,pi,ai,li,ri,mi,ci,ui,Vi,I,$],styles:[".hb-npm-search[_ngcontent-%COMP%]{outline:none;box-sizing:inherit!important;background-color:inherit;height:50px!important;width:100%;border-width:.5px;padding:10px;margin-bottom:15px}@media (hover: hover){.hb-npm-search[_ngcontent-%COMP%]:hover{border:1px solid #000000}}.hb-npm-search[_ngcontent-%COMP%]:focus{border:1px solid #000000;box-shadow:0 1px #000}.hb-npm-search-clear[_ngcontent-%COMP%]{position:absolute;right:25px;font-size:35px;color:#d0d0d0;line-height:50px;cursor:pointer}.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% - 92px);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{Mt as a};
@@ -1 +0,0 @@
1
- import{a as ne}from"./chunk-7EQ4BJZB.js";import{g as O,m as G,n as te}from"./chunk-CF2ZN7LY.js";import{A,b as Z,c as M,d as x,e as F,f as z,g as N,j as w,m as q,o as R,p as L,q as j,x as ee,z as V}from"./chunk-T252YJXA.js";import{b as ie}from"./chunk-X7PVYZAE.js";import{b as Q}from"./chunk-DW53RC2J.js";import{a as ce}from"./chunk-MOMFYMZX.js";import{k as U,n as k}from"./chunk-PZ4EJUWJ.js";import{a as S,b as $}from"./chunk-LXXELGX4.js";import{Bc as s,Cc as l,Dc as Y,Hb as u,Ib as g,Jb as h,Lb as K,Mb as W,Nb as X,Ob as f,Pb as i,Qb as n,Rb as p,Vb as D,Yb as b,Zb as v,ab as e,cd as P,g as de,kc as m,la as c,lc as d,mb as E,mc as C,ra as B,sa as T,xc as I}from"./chunk-SKZUTSHE.js";function ue(r,y){r&1&&(i(0,"ngb-alert",13)(1,"p",20),m(2),s(3,"translate"),n()()),r&2&&(f("dismissible",!1),e(2),d(l(3,2,"login.invalid_password")))}var re=(()=>{class r{$activeModal=c(G);$api=c(k);$toastr=c(U);$translate=c(S);formGroup=new N({password:new w("",[x.required])});invalidCredentials=!1;constructor(){}disable2fa(){this.invalidCredentials=!1,this.$api.post("/users/otp/deactivate",this.formGroup.value).subscribe({next:()=>{this.$activeModal.close(),this.$toastr.success(this.$translate.instant("users.setup_2fa_disable_success"),this.$translate.instant("toast.title_success"))},error:()=>{this.formGroup.setValue({password:""}),this.invalidCredentials=!0}})}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=E({type:r,selectors:[["ng-component"]],decls:34,vars:27,consts:[[1,"modal-content",2,"min-height","300px"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-key","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["type","password","autocomplete","current-password",1,"form-control","custom-input",3,"formControl","placeholder"],["type","error",1,"mt-3","mb-0",3,"dismissible"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"mb-0"]],template:function(o,a){o&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),m(3),s(4,"translate"),n(),i(5,"button",3),s(6,"translate"),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4)(8,"div",5),p(9,"i",6),n(),i(10,"ul",7)(11,"li"),m(12),s(13,"translate"),n()(),i(14,"ul",8)(15,"li",9)(16,"label",10),m(17),s(18,"translate"),n(),i(19,"div",11),p(20,"input",12),s(21,"translate"),n()()(),g(22,ue,4,4,"ngb-alert",13),n(),i(23,"div",14)(24,"div",15)(25,"button",16),s(26,"translate"),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),m(27),s(28,"translate"),n()(),p(29,"div",17),i(30,"div",18)(31,"button",19),b("click",function(){return a.disable2fa()}),m(32),s(33,"translate"),n()()()()),o&2&&(e(3),d(l(4,11,"users.setup_2fa_disable")),e(2),u("aria-label",l(6,13,"form.button_close")),e(7),d(l(13,15,"users.setup_2fa_disable_current_password")),e(5),d(l(18,17,"users.label_password")),e(3),f("formControl",a.formGroup.controls.password)("placeholder",l(21,19,"users.label_password")),e(2),h(a.invalidCredentials&&!a.formGroup.controls.password.value?22:-1),e(3),u("aria-label",l(26,21,"form.button_close")),e(2),C(" ",l(28,23,"form.button_close")," "),e(4),f("disabled",a.formGroup.invalid),e(),C(" ",l(33,25,"form.button_disable")," "))},dependencies:[V,M,F,A,R,$,O],encapsulation:2})}return r})();var ae=de(ce(),1);var fe=r=>({timeDiffError:r});function be(r,y){r&1&&(i(0,"li"),m(1),s(2,"translate"),n()),r&2&&(e(),d(l(2,1,"users.setup_2fa_scan_qr_code")))}function _e(r,y){if(r&1&&(i(0,"ngb-alert",8)(1,"p",16),m(2),s(3,"translate"),n(),i(4,"p",17),m(5),s(6,"translate"),n()()),r&2){let t=v();f("dismissible",!1),e(2),d(l(3,3,"users.setup_2fa_cannot_setup_2fa")),e(3),d(Y(6,5,"users.setup_2fa_server_time_out",I(8,fe,t.timeDiffError)))}}function ve(r,y){if(r&1&&(i(0,"ul",9)(1,"li",18)(2,"div",19),p(3,"app-qrcode",20),n()(),i(4,"li",21)(5,"label",22),m(6),s(7,"translate"),n(),i(8,"div",23),p(9,"input",24),n()()()),r&2){let t=v();e(3),f("data",t.otpString),e(3),d(l(7,3,"users.setup_2fa_enter_code")),e(3),f("formControl",t.formGroup.controls.code)}}function xe(r,y){if(r&1){let t=D();i(0,"button",25),s(1,"translate"),b("click",function(){B(t);let a=v();return T(a.$activeModal.dismiss("Dismiss"))}),m(2),s(3,"translate"),n()}r&2&&(u("aria-label",l(1,2,"form.button_close")),e(2),C(" ",l(3,4,"form.button_close")," "))}function we(r,y){if(r&1){let t=D();i(0,"button",25),s(1,"translate"),b("click",function(){B(t);let a=v();return T(a.$activeModal.dismiss("Dismiss"))}),m(2),s(3,"translate"),n()}r&2&&(u("aria-label",l(1,2,"form.button_close")),e(2),C(" ",l(3,4,"form.button_close")," "))}function Ce(r,y){if(r&1){let t=D();i(0,"button",26),b("click",function(){B(t);let a=v();return T(a.enable2fa())}),m(1),s(2,"translate"),n()}if(r&2){let t=v();f("disabled",t.formGroup.invalid),e(),C(" ",l(2,2,"form.button_enable")," ")}}var oe=(()=>{class r{$activeModal=c(G);$api=c(k);$toastr=c(U);$translate=c(S);user;timeDiffError=null;otpString;formGroup=new N({code:new w("",[x.required,x.minLength(6),x.maxLength(6)])});constructor(){}ngOnInit(){this.$api.post("/users/otp/setup",{}).subscribe({next:t=>{this.checkTimeDiff(t.timestamp),this.timeDiffError||(this.otpString=t.otpauth)},error:t=>{this.$activeModal.dismiss(),console.error(t),this.$toastr.error(this.$translate.instant("users.setup_2fa_enable_error"),this.$translate.instant("toast.title_error"))}})}checkTimeDiff(t){let o=(0,ae.default)(t).diff(new Date,"millisecond");o<-5e3||o>5e3?this.timeDiffError=o:this.timeDiffError=null}enable2fa(){this.$api.post("/users/otp/activate",this.formGroup.value).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("users.setup_2fa_enabled_success"),this.$translate.instant("toast.title_success")),this.$activeModal.close()},error:t=>{console.error(t),this.$toastr.error(this.$translate.instant("users.setup_2fa_activate_error"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=E({type:r,selectors:[["ng-component"]],inputs:{user:"user"},decls:24,vars:15,consts:[[1,"modal-content","setup2fa"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-key","primary-text",2,"font-size","75px"],[1,"mb-3"],["type","error",1,"mb-0",3,"dismissible"],[1,"list-group","list-group-box","mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"disabled"],[1,"fw-bold","mb-1"],[1,"mb-0"],[1,"list-group-item","text-center"],[1,"text-center","w-100","d-flex","justify-content-center"],[1,"mx-auto",2,"width","175px","height","175px",3,"data"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["formControlName","username","type","text","placeholder","eg. 123456","autocomplete","one-time-code","autocapitalize","none","inputmode","numeric","pattern","[0-9]*",1,"form-control","custom-input",3,"formControl"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"]],template:function(o,a){o&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),m(3),s(4,"translate"),n(),i(5,"button",3),s(6,"translate"),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4)(8,"div",5),p(9,"i",6),n(),i(10,"ul",7)(11,"li"),m(12),s(13,"translate"),n(),g(14,be,3,3,"li"),n(),g(15,_e,7,10,"ngb-alert",8),g(16,ve,10,5,"ul",9),n(),i(17,"div",10)(18,"div",11),g(19,xe,4,6,"button",12),n(),i(20,"div",13),g(21,we,4,6,"button",12),n(),i(22,"div",14),g(23,Ce,3,4,"button",15),n()()()),o&2&&(e(3),d(l(4,9,"users.setup_2fa")),e(2),u("aria-label",l(6,11,"form.button_close")),e(7),d(l(13,13,"users.setup_2fa_warning")),e(2),h(a.timeDiffError?-1:14),e(),h(a.timeDiffError?15:-1),e(),h(a.timeDiffError?-1:16),e(3),h(a.timeDiffError?-1:19),e(2),h(a.timeDiffError?21:-1),e(2),h(a.timeDiffError?-1:23))},dependencies:[O,ne,V,M,F,ee,A,R,j,$],encapsulation:2})}return r})();var se=r=>({"is-invalid":r}),le=(()=>{class r{$activeModal=c(G);$api=c(k);$toastr=c(U);$translate=c(S);form=new N({username:new w("",[x.required]),name:new w("",[x.required]),password:new w("",[x.compose([x.required,x.minLength(4)])]),passwordConfirm:new w("",[x.required]),admin:new w(!0)},this.matchPassword);page={title:"users.title_add_user",save:"users.button_add_new_user",password:"users.label_password"};constructor(){}matchPassword(t){let o=t.get("password").value,a=t.get("passwordConfirm").value;if(o!==a)t.get("passwordConfirm").setErrors({matchPassword:!0});else return null}onSubmit({value:t}){this.$api.post("/users",t).subscribe({next:()=>{this.$activeModal.close(),this.$toastr.success(this.$translate.instant("users.toast_added_new_user"),this.$translate.instant("toast.title_success"))},error:o=>{this.$toastr.error(o.error.message||this.$translate.instant("users.toast_failed_to_add_user"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=E({type:r,selectors:[["ng-component"]],decls:58,vars:50,consts:[[1,"modal-content"],["novalidate","",3,"ngSubmit","formGroup"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-user-plus","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["for","form-username",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["formControlName","username","type","text","id","form-username","autocomplete","username","autocapitalize","none",1,"form-control","custom-input"],["for","form-name",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","name","type","text","id","form-name","autocomplete","name",1,"form-control","custom-input"],["for","form-pass",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","password","type","password","autocomplete","new-password","id","form-pass",1,"form-control","custom-input",3,"ngClass"],["for","form-pass-confirm",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","passwordConfirm","type","password","autocomplete","new-password","id","form-pass-confirm",1,"form-control","custom-input",3,"ngClass"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-start"],[1,"text-end","grey-text","d-flex","align-items-center"],["type","checkbox","id","isAdmin",1,"rendux-input"],["for","isAdmin",1,"rendux-label","ms-3"],[1,"modal-footer","justify-content-between"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","submit",1,"btn","btn-primary",3,"disabled"]],template:function(o,a){o&1&&(i(0,"div",0)(1,"form",1),b("ngSubmit",function(){return a.onSubmit(a.form)}),i(2,"div",2)(3,"h5",3),m(4),s(5,"translate"),n(),i(6,"button",4),s(7,"translate"),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),n()(),i(8,"div",5)(9,"div",6),p(10,"i",7),n(),i(11,"ul",8)(12,"li",9)(13,"label",10),m(14),s(15,"translate"),n(),i(16,"div",11),p(17,"input",12),s(18,"translate"),n()(),i(19,"li",9)(20,"label",13),m(21),s(22,"translate"),n(),i(23,"div",11),p(24,"input",14),s(25,"translate"),n()(),i(26,"li",9)(27,"label",15),m(28),s(29,"translate"),n(),i(30,"div",11),p(31,"input",16),s(32,"translate"),n()(),i(33,"li",9)(34,"label",17),m(35),s(36,"translate"),n(),i(37,"div",11),p(38,"input",18),s(39,"translate"),n()(),i(40,"li",19)(41,"span",20),m(42),s(43,"translate"),n(),i(44,"div",21),p(45,"input",22),s(46,"translate"),p(47,"label",23),n()()()(),i(48,"div",24)(49,"div",20)(50,"button",25),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),m(51),s(52,"translate"),n()(),p(53,"div",26),i(54,"div",27)(55,"button",28),m(56),s(57,"translate"),n()()()()()),o&2&&(e(),f("formGroup",a.form),e(3),d(l(5,18,"users.title_add_user")),e(2),u("aria-label",l(7,20,"form.button_close")),e(8),d(l(15,22,"users.label_username")),e(3),u("aria-label",l(18,24,"users.label_username")),e(4),d(l(22,26,"users.label_full_name")),e(3),u("aria-label",l(25,28,"users.label_full_name")),e(4),d(l(29,30,a.page.password)),e(3),f("ngClass",I(46,se,a.form.controls.password.dirty&&a.form.controls.password.errors)),u("aria-label",l(32,32,a.page.password)),e(4),d(l(36,34,"users.label_confirm_password")),e(3),f("ngClass",I(48,se,a.form.controls.passwordConfirm.dirty&&a.form.controls.passwordConfirm.errors)),u("aria-label",l(39,36,"users.label_confirm_password")),e(4),d(l(43,38,"users.label_admin_user")),e(3),u("aria-label",l(46,40,"users.label_admin_user")),e(6),C(" ",l(52,42,"form.button_close")," "),e(4),f("disabled",!a.form.valid),e(),C(" ",l(57,44,"form.button_save")," "))},dependencies:[V,q,M,F,z,A,L,j,P,$],encapsulation:2})}return r})();var me=r=>({"is-invalid":r});function ge(r,y){if(r&1&&(i(0,"li",9)(1,"label",27),m(2),s(3,"translate"),n(),i(4,"div",11),p(5,"input",28),s(6,"translate"),n()()),r&2){let t=v();e(2),d(l(3,3,"users.label_confirm_password")),e(3),f("ngClass",I(7,me,t.form.controls.passwordConfirm.dirty&&t.form.controls.passwordConfirm.errors)),u("aria-label",l(6,5,"users.label_confirm_password"))}}var pe=(()=>{class r{$activeModal=c(G);$api=c(k);$auth=c(Q);$toastr=c(U);$translate=c(S);user;form=new N({username:new w("",[x.required]),name:new w("",[x.required]),password:new w(""),passwordConfirm:new w(""),admin:new w(!0)},this.matchPassword);page={title:"users.title_edit_user",save:"form.button_save",password:"users.label_new_password"};isCurrentUser=!1;constructor(){}ngOnInit(){this.isCurrentUser=this.$auth.user.username===this.user.username,this.form.patchValue(this.user)}matchPassword(t){let o=t.get("password").value,a=t.get("passwordConfirm").value;if(o!==a)t.get("passwordConfirm").setErrors({matchPassword:!0});else return null}onSubmit({value:t}){this.$api.patch(`/users/${this.user.id}`,t).subscribe({next:()=>{this.$activeModal.close(),this.$toastr.success(this.$translate.instant("users.toast_updated_user"),this.$translate.instant("toast.title_success")),this.isCurrentUser&&t.username!==this.$auth.user.username&&this.$auth.logout()},error:o=>{console.error(o),this.$toastr.error(o.error.message||this.$translate.instant("users.toast_failed_to_add_user"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=E({type:r,selectors:[["ng-component"]],inputs:{user:"user"},decls:52,vars:42,consts:[[1,"modal-content"],["novalidate","",3,"ngSubmit","formGroup"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-user-pen","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["for","form-username",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["formControlName","username","type","text","id","form-username","autocomplete","off","autocapitalize","none",1,"form-control","custom-input"],["for","form-name",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","name","type","text","id","form-name","autocomplete","name",1,"form-control","custom-input"],["for","form-pass",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","password","type","password","autocomplete","new-password","id","form-pass",1,"form-control","custom-input",3,"ngClass"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-start"],[1,"text-end","grey-text","d-flex","align-items-center"],["type","checkbox","formControlName","admin","id","isAdmin",1,"rendux-input"],["for","isAdmin",1,"rendux-label","ms-3"],[1,"modal-footer","justify-content-between"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","submit",1,"btn","btn-primary",3,"disabled"],["for","form-pass-confirm",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","passwordConfirm","type","password","autocomplete","new-password","id","form-pass-confirm",1,"form-control","custom-input",3,"ngClass"]],template:function(o,a){o&1&&(i(0,"div",0)(1,"form",1),b("ngSubmit",function(){return a.onSubmit(a.form)}),i(2,"div",2)(3,"h5",3),m(4),s(5,"translate"),n(),i(6,"button",4),s(7,"translate"),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),n()(),i(8,"div",5)(9,"div",6),p(10,"i",7),n(),i(11,"ul",8)(12,"li",9)(13,"label",10),m(14),s(15,"translate"),n(),i(16,"div",11),p(17,"input",12),s(18,"translate"),n()(),i(19,"li",9)(20,"label",13),m(21),s(22,"translate"),n(),i(23,"div",11),p(24,"input",14),s(25,"translate"),n()(),i(26,"li",9)(27,"label",15),m(28),s(29,"translate"),n(),i(30,"div",11),p(31,"input",16),s(32,"translate"),n()(),g(33,ge,7,9,"li",9),i(34,"li",17)(35,"span",18),m(36),s(37,"translate"),n(),i(38,"div",19),p(39,"input",20),s(40,"translate"),p(41,"label",21),n()()()(),i(42,"div",22)(43,"div",18)(44,"button",23),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),m(45),s(46,"translate"),n()(),p(47,"div",24),i(48,"div",25)(49,"button",26),m(50),s(51,"translate"),n()()()()()),o&2&&(e(),f("formGroup",a.form),e(3),d(l(5,16,"users.title_edit_user")),e(2),u("aria-label",l(7,18,"form.button_close")),e(8),d(l(15,20,"users.label_username")),e(3),u("aria-label",l(18,22,"users.label_username")),e(4),d(l(22,24,"users.label_full_name")),e(3),u("aria-label",l(25,26,"users.label_full_name")),e(4),d(l(29,28,a.page.password)),e(3),f("ngClass",I(40,me,a.form.controls.password.dirty&&a.form.controls.password.errors)),u("aria-label",l(32,30,a.page.password)),e(2),h(a.form.controls.password.value?33:-1),e(3),d(l(37,32,"users.label_admin_user")),e(3),u("aria-label",l(40,34,"users.label_admin_user")),e(6),C(" ",l(46,36,"form.button_close")," "),e(4),f("disabled",!a.form.valid),e(),C(" ",l(51,38,"form.button_save")," "))},dependencies:[V,q,M,Z,F,z,A,L,j,P,$],encapsulation:2})}return r})();function he(r,y){if(r&1){let t=D();i(0,"button",21),b("click",function(){B(t);let a=v().$implicit,_=v();return T(_.setup2fa(a))}),m(1),s(2,"translate"),n()}r&2&&(e(),d(l(2,1,"users.setup_2fa")))}function ye(r,y){if(r&1){let t=D();i(0,"button",17),b("click",function(){B(t);let a=v().$implicit,_=v();return T(_.disable2fa(a))}),m(1),s(2,"translate"),n()}r&2&&(e(),C(" ",l(2,1,"users.setup_2fa_disable")," "))}function Ee(r,y){if(r&1){let t=D();i(0,"div",7)(1,"div",8)(2,"div",9)(3,"div",10)(4,"span",11),p(5,"h4",12)(6,"h5",13),n()(),i(7,"div",14),g(8,he,3,3,"button",15),g(9,ye,3,3,"button",16),i(10,"div")(11,"button",17),s(12,"translate"),b("click",function(){let a=B(t).$implicit,_=v();return T(_.openEditUser(a))}),p(13,"i",18),n(),i(14,"button",19),s(15,"translate"),b("click",function(){let a=B(t).$implicit,_=v();return T(_.deleteUser(a.id))}),p(16,"i",20),n()()()()()()}if(r&2){let t=y.$implicit,o=v();e(5),f("innerText",t.name),e(),f("innerText",t.username),e(2),h(o.$auth.user.username===t.username&&!t.otpActive?8:-1),e(),h(o.$auth.user.username===t.username&&t.otpActive?9:-1),e(2),u("aria-label",l(12,7,"form.button_edit")),e(3),f("disabled",o.$auth.user.username===t.username),u("aria-label",l(15,9,"form.button_delete"))}}var gt=(()=>{class r{$api=c(k);$auth=c(Q);$modal=c(te);$route=c(ie);$toastr=c(U);$translate=c(S);homebridgeUsers;constructor(){}ngOnInit(){this.$route.data.subscribe(t=>{this.homebridgeUsers=t.homebridgeUsers})}reloadUsers(){return this.$api.get("/users").subscribe(t=>{this.homebridgeUsers=t})}openAddNewUser(){this.$modal.open(le,{size:"lg",backdrop:"static"}).result.finally(()=>{this.reloadUsers()})}openEditUser(t){let o=this.$modal.open(pe,{size:"lg",backdrop:"static"});o.componentInstance.user=t,o.result.finally(()=>{this.reloadUsers()})}deleteUser(t){this.$api.delete(`/users/${t}`).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("users.toast_user_deleted"),this.$translate.instant("toast.title_success")),this.reloadUsers()},error:o=>{console.error(o),this.$toastr.error(o.error.message||this.$translate.instant("users.toast_failed_to_delete_user"),this.$translate.instant("toast.title_error"))}})}setup2fa(t){let o=this.$modal.open(oe,{size:"lg",backdrop:"static"});o.componentInstance.user=t,o.result.finally(()=>{this.reloadUsers()})}disable2fa(t){let o=this.$modal.open(re,{size:"lg",backdrop:"static"});o.componentInstance.user=t,o.result.finally(()=>{this.reloadUsers()})}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=E({type:r,selectors:[["app-users"]],decls:12,vars:6,consts:[[1,"row","mb-3"],[1,"col-9"],[1,"primary-text","m-0"],[1,"col-3","text-end"],[1,"btn","btn-elegant","waves-effect","m-0",3,"click"],[1,"fas","fa-fw","fa-user-plus"],[1,"row"],[1,"col-md-6","mb-4"],[1,"card","card-body"],[1,"d-flex","flex-column"],[1,"d-flex","flex-row","mb-3"],[1,"me-auto","my-0"],[3,"innerText"],[1,"small","text-truncate","primary-text",3,"innerText"],[1,"d-flex","flex-row","justify-content-between"],[1,"btn","btn-primary","m-0"],[1,"btn","btn-elegant","m-0"],[1,"btn","btn-elegant","m-0",3,"click"],[1,"fas","fa-fw","fa-user-pen"],[1,"btn","btn-danger","m-0","ms-2",3,"click","disabled"],[1,"fas","fa-fw","fa-trash"],[1,"btn","btn-primary","m-0",3,"click"]],template:function(o,a){o&1&&(i(0,"div",0)(1,"div",1)(2,"h3",2),m(3),s(4,"translate"),n()(),i(5,"div",3)(6,"button",4),s(7,"translate"),b("click",function(){return a.openAddNewUser()}),p(8,"i",5),n()()(),i(9,"div",6),W(10,Ee,17,11,"div",7,K),n()),o&2&&(e(3),d(l(4,2,"users.title_users")),e(3),u("aria-label",l(7,4,"users.button_add_user")),e(4),X(a.homebridgeUsers))},dependencies:[$],encapsulation:2})}return r})();export{re as a,oe as b,le as c,pe as d,gt as e};
@@ -1 +0,0 @@
1
- import{m as H}from"./chunk-CF2ZN7LY.js";import{b as h}from"./chunk-LXXELGX4.js";import{Bc as d,Cc as p,Hb as C,Ib as r,Jb as s,Ob as u,Pb as o,Qb as a,Rb as m,Vb as k,Xa as _,Ya as B,Yb as x,Zb as c,ab as i,ga as L,jc as w,kc as b,la as y,lc as S,mb as M,mc as v,n as T,ra as I,sa as g,uc as E}from"./chunk-SKZUTSHE.js";var U=(()=>{class t{raspberryPiThrottled=new T;static \u0275fac=function(l){return new(l||t)};static \u0275prov=L({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function V(t,f){if(t&1&&m(0,"i",15),t&2){let e=c();w(E("fas fa-fw ",e.faIconClass," mb-3"))}}function j(t,f){if(t&1&&m(0,"h5",6),t&2){let e=c();u("innerHTML",e.subtitle,_)}}function D(t,f){if(t&1&&m(0,"p",8),t&2){let e=c();u("innerHTML",e.message2,_)}}function $(t,f){if(t&1){let e=k();o(0,"button",16),d(1,"translate"),x("click",function(){I(e);let n=c();return g(n.$activeModal.dismiss("Dismiss"))}),b(2),d(3,"translate"),a()}t&2&&(C("aria-label",p(1,2,"form.button_close")),i(2),v(" ",p(3,4,"form.button_close")," "))}function F(t,f){if(t&1){let e=k();o(0,"button",16),d(1,"translate"),x("click",function(){I(e);let n=c();return g(n.$activeModal.dismiss("Dismiss"))}),b(2),d(3,"translate"),a()}t&2&&(C("aria-label",p(1,2,"form.button_close")),i(2),v(" ",p(3,4,"form.button_close")," "))}function P(t,f){if(t&1&&(o(0,"a",14),b(1),m(2,"i",17),a()),t&2){let e=c();u("href",e.ctaButtonLink,B),i(),v(" ",e.ctaButtonLabel," ")}}var R=(()=>{class t{$activeModal=y(H);title;subtitle;message;message2;ctaButtonLabel;ctaButtonLink;faIconClass;constructor(){}static \u0275fac=function(l){return new(l||t)};static \u0275cmp=M({type:t,selectors:[["ng-component"]],inputs:{title:"title",subtitle:"subtitle",message:"message",message2:"message2",ctaButtonLabel:"ctaButtonLabel",ctaButtonLink:"ctaButtonLink",faIconClass:"faIconClass"},decls:18,vars:11,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center"],[2,"font-size","75px",3,"class"],[1,"mb-3",3,"innerHTML"],[1,"mb-0",3,"innerHTML"],[1,"mb-0","mt-3",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"],[2,"font-size","75px"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"fas","fa-fw","fa-external-link-alt"]],template:function(l,n){l&1&&(o(0,"div",0)(1,"div",1)(2,"h5",2),b(3),a(),o(4,"button",3),d(5,"translate"),x("click",function(){return n.$activeModal.dismiss("Dismiss")}),a()(),o(6,"div",4),r(7,V,1,3,"i",5),r(8,j,1,1,"h5",6),m(9,"p",7),r(10,D,1,1,"p",8),a(),o(11,"div",9)(12,"div",10),r(13,$,4,6,"button",11),a(),o(14,"div",12),r(15,F,4,6,"button",11),a(),o(16,"div",13),r(17,P,3,2,"a",14),a()()()),l&2&&(i(3),S(n.title),i(),C("aria-label",p(5,9,"form.button_close")),i(3),s(n.faIconClass?7:-1),i(),s(n.subtitle?8:-1),i(),u("innerHTML",n.message,_),i(),s(n.message2?10:-1),i(3),s(n.ctaButtonLink?13:-1),i(2),s(n.ctaButtonLink?-1:15),i(2),s(n.ctaButtonLink?17:-1))},dependencies:[h],encapsulation:2})}return t})();export{R as a,U as b};
@@ -1 +0,0 @@
1
- import{b as _}from"./chunk-LXXELGX4.js";import{Bc as i,Cc as n,Hb as s,Ib as b,Jb as f,Ob as h,Pb as t,Qb as a,Rb as p,Yb as g,ab as e,cd as S,kc as r,lc as m,mb as w,mc as l,yc as x}from"./chunk-SKZUTSHE.js";var k=(o,v)=>({"fa-chevron-down":o,"fa-chevron-right":v});function E(o,v){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),l(" ",n(4,12,"support.links.documentation")),e(4),m(n(8,14,"support.links.documentation_sub")),e(2),s("aria-label",n(10,16,"support.links.documentation")),e(5),l(" ",n(15,18,"support.links.issue")),e(4),m(n(19,20,"support.links.issue_sub")),e(2),s("aria-label",n(21,22,"support.links.issue")),e(5),l(" ",n(26,24,"support.links.discord")),e(4),m(n(30,26,"support.links.discord_sub")),e(2),s("aria-label",n(32,28,"support.links.discord")),e(5),l(" ",n(37,30,"support.links.reddit")),e(4),m(n(41,32,"support.links.reddit_sub")),e(2),s("aria-label",n(43,34,"support.links.reddit")))}function I(o,v){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&&(e(3),l(" ",n(4,15,"support.dev.item_swagger")),e(4),l(" ",n(8,17,"support.dev.item_swagger_sub")," "),e(2),s("aria-label",n(10,19,"support.dev.item_swagger")),e(5),l(" ",n(15,21,"support.dev.api")),e(4),m(n(19,23,"support.dev.api_sub")),e(2),s("aria-label",n(21,25,"support.dev.api")),e(5),l(" ",n(26,27,"support.dev.api_hap")),e(4),m(n(30,29,"support.dev.api_hap_sub")),e(2),s("aria-label",n(32,31,"support.dev.api_hap")),e(5),l(" ",n(37,33,"support.dev.template")),e(4),l(" ",n(41,35,"support.dev.template_sub")," "),e(2),s("aria-label",n(43,37,"support.dev.template")),e(5),l(" ",n(48,39,"support.dev.verified")),e(4),m(n(52,41,"support.dev.verified_sub")),e(2),s("aria-label",n(54,43,"support.dev.verified")))}var T=(()=>{class o{showFields={general:!0,dev:!0};constructor(){}toggleSection(u){this.showFields[u]=!this.showFields[u]}static \u0275fac=function(c){return new(c||o)};static \u0275cmp=w({type:o,selectors:[["ng-component"]],decls:18,vars:23,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","fa-fw",3,"ngClass"],["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-fw","fa-external-link-alt"],["href","https://github.com/homebridge/homebridge-config-ui-x/issues/new/choose","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["href","https://discord.gg/C87Pvq3","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["href","https://www.reddit.com/r/homebridge/","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["href","/swagger","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["href","https://developers.homebridge.io/#/","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["href","https://developers.homebridge.io/HAP-NodeJS/","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["href","https://github.com/homebridge/homebridge-plugin-template","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["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,d){c&1&&(t(0,"div",0)(1,"h3",1),r(2),i(3,"translate"),a()(),t(4,"div",2)(5,"div",3),g("click",function(){return d.toggleSection("general")}),t(6,"h5",4),p(7,"i",5),r(8),i(9,"translate"),a()(),b(10,E,45,36,"ul",6),a(),t(11,"div",7)(12,"div",3),g("click",function(){return d.toggleSection("dev")}),t(13,"h5",4),p(14,"i",5),r(15),i(16,"translate"),a()(),b(17,I,56,45,"ul",8),a()),c&2&&(e(2),m(n(3,11,"support.title")),e(3),s("aria-expanded",d.showFields.general?"true":"false")("aria-controls","fieldsGeneral"),e(2),h("ngClass",x(17,k,d.showFields.general,!d.showFields.general)),e(),l(" ",n(9,13,"support.links.title")," "),e(2),f(d.showFields.general?10:-1),e(2),s("aria-expanded",d.showFields.dev?"true":"false")("aria-controls","fieldsDev"),e(2),h("ngClass",x(20,k,d.showFields.dev,!d.showFields.dev)),e(),l(" ",n(16,15,"support.dev.title")," "),e(2),f(d.showFields.dev?17:-1))},dependencies:[S,_],encapsulation:2})}return o})();export{T as a};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-HKCMS5E6.js";import"./chunk-T252YJXA.js";import"./chunk-X7PVYZAE.js";import"./chunk-DW53RC2J.js";import"./chunk-MOMFYMZX.js";import"./chunk-PZ4EJUWJ.js";import"./chunk-SRP6QX5M.js";import"./chunk-LXXELGX4.js";import"./chunk-SKZUTSHE.js";export{a as LoginComponent};
@@ -1 +0,0 @@
1
- import{A as N,B as x,C as D,D as W,E as I,F as j,G as O,H as V,I as q,J as B,K as G,L as R,M as U,N as z,O as E,P as J,Q as K,R as P,S as Q,T as X,U as Y,e as f,f as a,g as C,h as s,i as c,j as d,k as u,l,m as g,n as M,o as y,p as h,q as v,r as S,s as b,t as w,u as k,v as A,w as F,x as L,y as T,z as H}from"./chunk-LDLY2W2L.js";import{b as Z}from"./chunk-QDCKP2LU.js";import{v as i}from"./chunk-CF2ZN7LY.js";import{A as t,z as e}from"./chunk-T252YJXA.js";import{c as p}from"./chunk-LXXELGX4.js";import{ha as m,ld as n,nb as r}from"./chunk-SKZUTSHE.js";var cm=(()=>{class o{static \u0275fac=function($){return new($||o)};static \u0275mod=r({type:o});static \u0275inj=m({providers:[a],imports:[n,e,t,p.forChild(),C,i,Z,Y,f,G,B,U,W,h,v,z,L,F,T,N,H,S,x,D,d,X,Q,P,K,y,M,R,g,q,V,j,I,A,O,J,E,k,c,s,b,w,l,u]})}return o})();export{cm as a};
@@ -1 +0,0 @@
1
- import{g as a}from"./chunk-BM6T3M62.js";import"./chunk-3JILA3K4.js";import"./chunk-LDLY2W2L.js";import"./chunk-2BG2CSJ2.js";import"./chunk-OTZLBFXM.js";import"./chunk-MA7HSK5I.js";import"./chunk-YTSL4WKW.js";import"./chunk-GDFV4BMO.js";import"./chunk-QDCKP2LU.js";import"./chunk-NGNQPAAK.js";import"./chunk-HAZ2TOVS.js";import"./chunk-UD6SVFW2.js";import"./chunk-7EQ4BJZB.js";import"./chunk-EGCUYKRH.js";import"./chunk-7FD3EC7J.js";import"./chunk-CF2ZN7LY.js";import"./chunk-T252YJXA.js";import"./chunk-X7PVYZAE.js";import"./chunk-HYRHD4VJ.js";import"./chunk-DW53RC2J.js";import"./chunk-MOMFYMZX.js";import"./chunk-PZ4EJUWJ.js";import"./chunk-SRP6QX5M.js";import"./chunk-LXXELGX4.js";import"./chunk-SKZUTSHE.js";export{a as StatusComponent};
@@ -1 +0,0 @@
1
- import{d as y}from"./chunk-X7PVYZAE.js";import{a as T}from"./chunk-HYRHD4VJ.js";import{b as S}from"./chunk-MOMFYMZX.js";import{k as $,n as C}from"./chunk-PZ4EJUWJ.js";import{a as _,b as g}from"./chunk-LXXELGX4.js";import{Bc as p,Cc as c,Ib as l,Jb as m,Pb as r,Qb as n,Rb as x,Zb as v,ab as i,kc as o,la as a,lc as s,mb as h}from"./chunk-SKZUTSHE.js";function w(t,f){t&1&&(r(0,"p",7),o(1),p(2,"translate"),n()),t&2&&(i(),s(c(2,1,"restart.please_wait_while_server_restarts")))}function k(t,f){if(t&1&&(r(0,"div",8),o(1),n()),t&2){let e=v();i(),s(e.error)}}function b(t,f){t&1&&(r(0,"div",9)(1,"div",11),x(2,"i",12),n()())}function E(t,f){t&1&&(r(0,"div",10),o(1),p(2,"translate"),n()),t&2&&(i(),s(c(2,1,"platform.linux.long_time")))}var A=(()=>{class t{$api=a(C);$router=a(y);$settings=a(S);$toastr=a($);$translate=a(_);$ws=a(T);checkTimeout;checkDelay;resp={};timeout=!1;error=!1;io;constructor(){}ngOnInit(){this.io=this.$ws.connectToNamespace("status"),this.io.connected.subscribe(()=>{this.io.socket.emit("monitor-server-status"),this.$settings.getAppSettings().catch(()=>{})}),this.$api.put("/platform-tools/linux/restart-host",{}).subscribe({next:e=>{this.resp=e,this.checkIfServerUp()},error:e=>{console.error(e),this.error=this.$translate.instant("platform.linux.server_restart_error"),this.$toastr.error(this.$translate.instant("platform.linux.server_restart_error"),this.$translate.instant("toast.title_error"))}})}checkIfServerUp(){this.checkDelay=setTimeout(()=>{this.io.socket.on("homebridge-status",e=>{(e.status==="up"||e.status==="pending")&&(this.$toastr.success(this.$translate.instant("platform.linux.server_restarted"),this.$translate.instant("toast.title_success")),this.$router.navigate(["/"]))})},3e4),this.checkTimeout=setTimeout(()=>{this.$toastr.warning(this.$translate.instant("platform.linux.server_taking_long_time"),this.$translate.instant("toast.title_warning"),{timeOut:1e4}),this.timeout=!0},12e4)}ngOnDestroy(){this.io.end(),clearTimeout(this.checkDelay),clearTimeout(this.checkTimeout)}static \u0275fac=function(d){return new(d||t)};static \u0275cmp=h({type:t,selectors:[["ng-component"]],decls:15,vars:10,consts:[[1,"d-flex","justify-content-between"],[1,"primary-text","m-0"],[1,"my-4","align-items-center",2,"max-width","1000px","margin","auto"],[1,"w-100","text-center","primary-text","mb-5"],[1,"fas","fa-fw","fa-power-off",2,"font-size","75px"],[1,"text-center"],[1,"primary-text","mb-4"],[1,"grey-text"],[1,"alert","alert-error","my-4"],[1,"justify-content-center","my-4"],[1,"alert","alert-warning","my-4"],[1,"restart-progress-box","primary-text"],[1,"fas","fa-fw","fa-spinner","fa-spin"]],template:function(d,u){d&1&&(r(0,"div",0)(1,"h3",1),o(2),p(3,"translate"),n()(),r(4,"div",2)(5,"div",3),x(6,"i",4),n(),r(7,"div",5)(8,"h4",6),o(9),p(10,"translate"),n(),l(11,w,3,3,"p",7),l(12,k,2,1,"div",8),l(13,b,3,0,"div",9),l(14,E,3,3,"div",10),n()()),d&2&&(i(2),s(c(3,6,"menu.restart.title")),i(7),s(c(10,8,"platform.linux.restarting_server")),i(2),m(u.error?-1:11),i(),m(u.error?12:-1),i(),m(u.error?-1:13),i(),m(u.timeout?14:-1))},dependencies:[g],styles:[".restart-progress-box[_ngcontent-%COMP%]{font-size:22px;font-weight:300;margin-top:15px}"]})}return t})();export{A as a};
@@ -1 +0,0 @@
1
- import{k as w,n as S}from"./chunk-PZ4EJUWJ.js";import{a as _,b as h}from"./chunk-LXXELGX4.js";import{Bc as s,Cc as m,Ib as d,Jb as c,Pb as n,Qb as i,Rb as u,Zb as v,ab as e,kc as o,la as p,lc as a,mb as f}from"./chunk-SKZUTSHE.js";function y(t,C){t&1&&(n(0,"p",7),o(1),s(2,"translate"),i()),t&2&&(e(),a(m(2,1,"platform.linux.server_will_power_down")))}function g(t,C){if(t&1&&(n(0,"div",8),o(1),i()),t&2){let r=v();e(),a(r.error)}}var B=(()=>{class t{$api=p(S);$toastr=p(w);$translate=p(_);error=!1;constructor(){}ngOnInit(){this.$api.put("/platform-tools/linux/shutdown-host",{}).subscribe({error:r=>{console.error(r),this.error=this.$translate.instant("platform.linux.server_restart_error"),this.$toastr.error(this.$translate.instant("platform.linux.server_restart_error"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(l){return new(l||t)};static \u0275cmp=f({type:t,selectors:[["ng-component"]],decls:13,vars:8,consts:[[1,"d-flex","justify-content-between"],[1,"primary-text","m-0"],[1,"my-4","align-items-center",2,"max-width","1000px","margin","auto"],[1,"w-100","text-center","primary-text","mb-5"],[1,"fas","fa-fw","fa-power-off",2,"font-size","75px"],[1,"text-center"],[1,"primary-text","mb-4"],[1,"grey-text"],[1,"alert","alert-error","my-4"]],template:function(l,x){l&1&&(n(0,"div",0)(1,"h3",1),o(2),s(3,"translate"),i()(),n(4,"div",2)(5,"div",3),u(6,"i",4),i(),n(7,"div",5)(8,"h4",6),o(9),s(10,"translate"),i(),d(11,y,3,3,"p",7),d(12,g,2,1,"div",8),i()()),l&2&&(e(2),a(m(3,4,"menu.restart.title")),e(7),a(m(10,6,"platform.linux.shutting_down_server")),e(2),c(x.error?-1:11),e(),c(x.error?12:-1))},dependencies:[h],encapsulation:2})}return t})();export{B as a};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-QY46HWDD.js";import"./chunk-X7PVYZAE.js";import"./chunk-HYRHD4VJ.js";import"./chunk-DW53RC2J.js";import"./chunk-MOMFYMZX.js";import"./chunk-PZ4EJUWJ.js";import"./chunk-SRP6QX5M.js";import"./chunk-LXXELGX4.js";import"./chunk-SKZUTSHE.js";export{a as RestartLinuxComponent};
@@ -1 +0,0 @@
1
- import{d as n}from"./chunk-X7PVYZAE.js";import{b as s}from"./chunk-MOMFYMZX.js";import{ga as o,h as r,la as e,w as i}from"./chunk-SKZUTSHE.js";var l=(()=>{class t{$router=e(n);$settings=e(s);constructor(){}canActivate(){return r(this,null,function*(){return this.$settings.settingsLoaded||(yield i(this.$settings.onSettingsLoaded)),this.$settings.env.setupWizardComplete===!1||this.$router.navigate(["/"]),!0})}static \u0275fac=function(a){return new(a||t)};static \u0275prov=o({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();export{l as a};
@@ -1 +0,0 @@
1
- import{a as f,b as u}from"./chunk-SWAUKWH7.js";import{a as d}from"./chunk-PEVVFCXI.js";import{c as p}from"./chunk-LDLY2W2L.js";import"./chunk-2BG2CSJ2.js";import"./chunk-QDCKP2LU.js";import"./chunk-NGNQPAAK.js";import{v as n}from"./chunk-CF2ZN7LY.js";import{z as s}from"./chunk-T252YJXA.js";import{g as i}from"./chunk-X7PVYZAE.js";import"./chunk-HYRHD4VJ.js";import"./chunk-DW53RC2J.js";import"./chunk-MOMFYMZX.js";import"./chunk-PZ4EJUWJ.js";import"./chunk-SRP6QX5M.js";import{c}from"./chunk-LXXELGX4.js";import{ha as r,ld as m,nb as e}from"./chunk-SKZUTSHE.js";var C=[{path:"",loadComponent:()=>import("./chunk-G7WIBZOG.js").then(o=>o.AccessoriesComponent)}],l=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=e({type:o});static \u0275inj=r({imports:[i.forChild(C),i]})}return o})();var S=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=e({type:o});static \u0275inj=r({imports:[m,s,n,p,c.forChild(),d,l,u,f]})}return o})();export{S as AccessoriesModule};
@@ -1 +0,0 @@
1
- import{U as ie,a as U,b as X,c as Y,f as te}from"./chunk-LDLY2W2L.js";import{a as ne}from"./chunk-NGNQPAAK.js";import{m as $,n as K,t as Q}from"./chunk-CF2ZN7LY.js";import{c as W,e as R,f as j,i as z,l as q,m as G,z as J}from"./chunk-T252YJXA.js";import{b as ee}from"./chunk-DW53RC2J.js";import{b as Z}from"./chunk-MOMFYMZX.js";import{b as w}from"./chunk-LXXELGX4.js";import{Bc as s,Cc as l,Dc as H,Hb as v,Ib as h,Jb as M,Lb as I,Mb as V,Nb as F,Ob as _,Pb as a,Qb as r,Rb as p,Vb as B,Xa as N,Yb as b,Zb as m,ab as o,cd as O,kc as d,la as f,lc as u,mb as y,mc as S,ra as C,rc as k,sa as x,sc as T,tc as A,wc as L,xc as E}from"./chunk-SKZUTSHE.js";var oe=(()=>{class t{$activeModal=f($);constructor(){}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({type:t,selectors:[["ng-component"]],decls:31,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","mb-3"],[1,"fa","fa-fw","fa-question-circle-o","primary-text",2,"font-size","75px"],[1,"mb-0"],[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(i,n){i&1&&(a(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),d(4),s(5,"translate"),r(),a(6,"button",3),s(7,"translate"),b("click",function(){return n.$activeModal.dismiss("Dismiss")}),r()(),a(8,"div",4)(9,"div",5),p(10,"i",6),r(),a(11,"ul",7)(12,"li"),d(13),s(14,"translate"),r(),a(15,"li"),d(16),s(17,"translate"),r(),a(18,"li"),d(19),s(20,"translate"),r(),a(21,"li"),d(22),s(23,"translate"),r()()(),a(24,"div",8),p(25,"div",9),a(26,"div",10)(27,"button",11),b("click",function(){return n.$activeModal.dismiss("Dismiss")}),d(28),s(29,"translate"),r()(),p(30,"div",12),r()()()),i&2&&(o(4),u(l(5,7,"support.title")),o(2),v("aria-label",l(7,9,"form.button_close")),o(7),u(l(14,11,"accessories.support.list_1")),o(3),u(l(17,13,"accessories.support.list_2")),o(3),u(l(20,15,"accessories.support.list_3")),o(3),u(l(23,17,"accessories.support.list_4")),o(6),S(" ",l(29,19,"form.button_close")," "))},dependencies:[w],encapsulation:2})}return t})();var se=()=>({standalone:!0}),ae=(()=>{class t{$activeModal=f($);roomName;constructor(){}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({type:t,selectors:[["ng-component"]],inputs:{roomName:"roomName"},decls:28,vars:19,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,"fas","fa-fw","fa-folder-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-name",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["autocomplete","off","type","text","id","form-name","autofocus","",1,"form-control","custom-input",3,"ngModelChange","keyup.enter","ngModel","ngModelOptions"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"]],template:function(i,n){i&1&&(a(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),d(4),s(5,"translate"),r(),a(6,"button",3),s(7,"translate"),b("click",function(){return n.$activeModal.dismiss("Dismiss")}),r()(),a(8,"div",4)(9,"div",5),p(10,"i",6),r(),a(11,"ul",7)(12,"li",8)(13,"label",9),d(14),s(15,"translate"),r(),a(16,"div",10)(17,"input",11),A("ngModelChange",function(D){return T(n.roomName,D)||(n.roomName=D),D}),b("keyup.enter",function(){return n.$activeModal.close(n.roomName)}),r()()()()(),a(18,"div",12)(19,"div",13)(20,"button",14),b("click",function(){return n.$activeModal.dismiss("Dismiss")}),d(21),s(22,"translate"),r()(),p(23,"div",15),a(24,"div",16)(25,"button",17),b("click",function(){return n.$activeModal.close(n.roomName)}),d(26),s(27,"translate"),r()()()()()),i&2&&(o(4),u(l(5,8,"accessories.button_add_room")),o(2),v("aria-label",l(7,10,"form.button_close")),o(8),u(l(15,12,"accessories.room_name")),o(3),k("ngModel",n.roomName),_("ngModelOptions",L(18,se)),o(4),S(" ",l(22,14,"form.button_close")," "),o(4),_("disabled",!n.roomName),o(),S(" ",l(27,16,"form.button_save")," "))},dependencies:[J,G,W,R,j,q,z,w],encapsulation:2})}return t})();var re=(()=>{class t{constructor(){}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({type:t,selectors:[["app-drag-here-placeholder"]],decls:5,vars:3,consts:[[1,"accessory-box"],[1,"fas","fa-fw","fa-arrow-alt-circle-down","accessory-icon"],[1,"accessory-label"]],template:function(i,n){i&1&&(a(0,"div",0),p(1,"i",1),a(2,"div",2),d(3),s(4,"translate"),r()()),i&2&&(o(3),u(l(4,1,"accessories.control.drag_here")))},dependencies:[w],styles:[".accessory-box[_ngcontent-%COMP%]{opacity:.2}"]})}return t})();var le=t=>({"cursor-move":t}),ce=t=>({"justify-content-between":t}),de=t=>({link:t});function pe(t,g){if(t&1&&(a(0,"div",0)(1,"div",18)(2,"h5",19),d(3),s(4,"translate"),r()()()),t&2){let e=m().$implicit,i=m(2);o(2),_("ngClass",E(4,le,!i.isMobile)),o(),S(" ",e.name==="Default Room"?l(4,2,"accessories.control.default_room"):e.name," ")}}function me(t,g){if(t&1&&(a(0,"div",22),p(1,"app-accessory-tile",23),r()),t&2){let e=m().$implicit;o(),_("service",e)}}function ue(t,g){if(t&1&&h(0,me,2,1,"div",22),t&2){let e=g.$implicit,i=m(4);M(!i.hideHidden||!e.hidden?0:-1)}}function _e(t,g){if(t&1){let e=B();a(0,"div",20),A("dragulaModelChange",function(n){C(e);let c=m().$implicit;return T(c.services,n)||(c.services=n),x(n)}),V(1,ue,1,1,null,null,I),p(3,"div",21)(4,"div",21)(5,"div",21)(6,"div",21)(7,"div",21)(8,"div",21)(9,"div",21)(10,"div",21)(11,"div",21)(12,"div",21),r()}if(t&2){let e=m().$implicit,i=m(2);_("ngClass",E(3,ce,i.isMobile))("dragula","services-bag"),k("dragulaModel",e.services),o(),F(e.services)}}function be(t,g){if(t&1){let e=B();a(0,"div",24),A("dragulaModelChange",function(n){C(e);let c=m().$implicit;return T(c.services,n)||(c.services=n),x(n)}),p(1,"app-drag-here-placeholder",25),r()}if(t&2){let e=m().$implicit;_("dragula","services-bag"),k("dragulaModel",e.services)}}function fe(t,g){if(t&1&&(a(0,"div"),h(1,pe,5,6,"div",0),a(2,"div",15),h(3,_e,13,5,"div",16),h(4,be,2,2,"div",17),r()()),t&2){let e=g.$implicit,i=m(2);o(),M(!i.isMobile||e.services.length?1:-1),o(2),M(e.services.length?3:-1),o(),M(!e.services.length&&!i.isMobile?4:-1)}}function ge(t,g){if(t&1){let e=B();a(0,"div",1)(1,"div",2)(2,"h3",3),d(3),s(4,"translate"),r()(),a(5,"div",4)(6,"button",5),s(7,"translate"),s(8,"translate"),b("click",function(){C(e);let n=m();return x(n.addRoom())}),p(9,"i",6),r(),a(10,"button",5),s(11,"translate"),s(12,"translate"),s(13,"translate"),s(14,"translate"),b("click",function(){C(e);let n=m();return x(n.hideHidden=!n.hideHidden)}),p(15,"i",7),r(),a(16,"div",8)(17,"button",9),s(18,"translate"),s(19,"translate"),b("click",function(){C(e);let n=m();return x(n.toggleLayoutLock())}),p(20,"i",10),r(),a(21,"button",9),s(22,"translate"),s(23,"translate"),b("click",function(){C(e);let n=m();return x(n.toggleLayoutLock())}),p(24,"i",11),r()(),a(25,"button",12),s(26,"translate"),b("click",function(){C(e);let n=m();return x(n.openSupport())}),p(27,"i",13),r()()(),a(28,"div",14),A("dragulaModelChange",function(n){C(e);let c=m();return T(c.$accessories.rooms,n)||(c.$accessories.rooms=n),x(n)}),V(29,fe,5,3,"div",null,I),r()}if(t&2){let e=m();o(3),u(l(4,17,"accessories.title_accessories")),o(3),_("hidden",e.isMobile)("ngbTooltip",l(7,19,"accessories.button_add_room")),v("aria-label",l(8,21,"accessories.button_add_room")),o(4),_("hidden",e.isMobile)("ngbTooltip",e.hideHidden?l(11,23,"accessories.button_hidden_show"):l(12,25,"accessories.button_hidden_hide")),v("aria-label",e.hideHidden?l(13,27,"accessories.button_hidden_show"):l(14,29,"accessories.button_hidden_hide")),o(5),_("ngClass",e.hideHidden?"fa-eye-slash":"fa-eye"),o(2),_("disabled",!e.isMobile)("ngbTooltip",l(18,31,"form.button_unlock")),v("aria-label",l(19,33,"form.button_unlock")),o(4),_("disabled",e.isMobile)("ngbTooltip",l(22,35,"form.button_lock")),v("aria-label",l(23,37,"form.button_lock")),o(4),v("aria-label",l(26,39,"support.title")),o(3),_("dragula","rooms-bag"),k("dragulaModel",e.$accessories.rooms),o(),F(e.$accessories.rooms)}}function ve(t,g){t&1&&(a(0,"p",32),d(1),s(2,"translate"),r()),t&2&&(o(),u(l(2,1,"accessories.settings_link")))}function Ce(t,g){if(t&1&&(a(0,"div",0)(1,"div",26)(2,"h3",27),d(3),s(4,"translate"),r()(),a(5,"div",28)(6,"div",29)(7,"h5",30),d(8),s(9,"translate"),r(),p(10,"p",31),s(11,"translate"),h(12,ve,3,3,"p",32),r()()()),t&2){let e=m();o(3),u(l(4,4,"accessories.title_accessories")),o(5),u(l(9,6,"accessories.control_disabled")),o(2),_("innerHTML",H(11,8,"accessories.message_must_use_insecure_mode",E(11,de,e.linkInsecure)),N),o(2),M(e.$auth.user.admin?12:-1)}}var Ue=(()=>{class t{$auth=f(ee);dragulaService=f(U);$modal=f(K);$settings=f(Z);$md=f(ne);$accessories=f(te);isMobile=!1;hideHidden=!0;orderSubscription;linkInsecure='<a href="https://github.com/homebridge/homebridge-config-ui-x/wiki/Enabling-Accessory-Control" target="_blank"><i class="fa fa-fw fa-external-link-alt primary-text"></i></a>';constructor(){let e=this.dragulaService;this.isMobile=this.$md.detect.mobile(),e.createGroup("rooms-bag",{moves:(i,n,c)=>!this.isMobile&&c.classList.contains("drag-handle")}),e.createGroup("services-bag",{moves:i=>!this.isMobile&&!i.classList.contains("no-drag")}),this.orderSubscription=e.drop().subscribe(()=>{setTimeout(()=>{this.$accessories.saveLayout()})}),this.isMobile=!0}ngOnInit(){this.$accessories.start()}addRoom(){this.$modal.open(ae,{size:"lg",backdrop:"static"}).result.then(e=>{!e||!e.length||this.$accessories.rooms.find(i=>i.name===e)||(this.$accessories.rooms.push({name:e,services:[]}),this.isMobile&&this.toggleLayoutLock())}).catch(()=>{})}toggleLayoutLock(){this.isMobile=!this.isMobile,this.isMobile?document.querySelectorAll(".services-bag").forEach(i=>{for(let n=0;n<10;n++){let c=document.createElement("div");c.className="accessory-box invisible py-0 my-0",c.style.height="0",i.appendChild(c)}}):document.querySelectorAll(".invisible").forEach(i=>i.remove())}openSupport(){this.$modal.open(oe,{size:"lg",backdrop:"static"})}ngOnDestroy(){this.$accessories.stop(),this.orderSubscription.unsubscribe(),this.dragulaService.destroy("rooms-bag"),this.dragulaService.destroy("services-bag")}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({type:t,selectors:[["app-accessories"]],decls:2,vars:2,consts:[[1,"row"],[1,"row","mb-3"],[1,"col-6"],[1,"primary-text","m-0"],[1,"col-6","text-end","d-none","d-sm-inline-block"],["type","button","container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","my-0","me-2",3,"click","hidden","ngbTooltip"],[1,"fas","fa-fw","fa-folder-plus"],[1,"fas","fa-fw",3,"ngClass"],["role","group",1,"btn-group","me-2"],["type","button","container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","my-0",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-unlock"],[1,"fas","fa-fw","fa-lock"],["type","button",1,"btn","btn-elegant","my-0","me-0",3,"click"],[1,"fa","fa-fw","fa-question-circle-o"],[3,"dragulaModelChange","dragula","dragulaModel"],[1,"row","mb-4"],[1,"col-md-12","d-flex","flex-wrap","noselect","services-bag",3,"ngClass","dragula","dragulaModel"],[1,"col-md-12","d-flex","flex-wrap","noselect",3,"dragula","dragulaModel"],[1,"col-md-12"],[1,"primary-text","drag-handle","room-title","m-0","mb-1","mb-sm-0",3,"ngClass"],[1,"col-md-12","d-flex","flex-wrap","noselect","services-bag",3,"dragulaModelChange","ngClass","dragula","dragulaModel"],[1,"accessory-box","invisible","py-0","my-0",2,"height","0"],[1,"accessory-item","accessory-tab"],[3,"service"],[1,"col-md-12","d-flex","flex-wrap","noselect",3,"dragulaModelChange","dragula","dragulaModel"],[1,"no-drag"],[1,"col-12"],[1,"primary-text","m-0","mb-3"],[1,"col-12","text-center"],["role","alert",1,"alert","alert-warning","p-4"],[1,"mb-3","mt-0"],[1,"mb-0",3,"innerHTML"],[1,"mt-3","mb-0"]],template:function(i,n){i&1&&(h(0,ge,31,41),h(1,Ce,13,13,"div",0)),i&2&&(M(n.$settings.env.enableAccessories?0:-1),o(),M(n.$settings.env.enableAccessories?-1:1))},dependencies:[Q,O,Y,X,ie,re,w],styles:[".room-title[_ngcontent-%COMP%]{margin-left:10px}@media (max-width: 575px){.room-title[_ngcontent-%COMP%]{margin-left:7px}}.services-bag[_ngcontent-%COMP%]{min-height:170px}@media (max-width: 575px){.services-bag[_ngcontent-%COMP%]{min-height:initial}}.cursor-move[_ngcontent-%COMP%]{cursor:move}.gu-transit[_ngcontent-%COMP%] .manage-accessory-button[_ngcontent-%COMP%]{display:none}a[_ngcontent-%COMP%]:hover{text-decoration:none!important}"]})}return t})();export{ae as a,Ue as b};
@@ -1 +0,0 @@
1
- import{a as l,b as a,c as u,d as C,e as g,f as M,g as R}from"./chunk-JODV6RHA.js";import{a as c}from"./chunk-FPYIY6YX.js";import{a as d}from"./chunk-2BG2CSJ2.js";import"./chunk-MA7HSK5I.js";import"./chunk-YTSL4WKW.js";import"./chunk-GDFV4BMO.js";import"./chunk-QDCKP2LU.js";import"./chunk-NGNQPAAK.js";import"./chunk-HAZ2TOVS.js";import"./chunk-UD6SVFW2.js";import"./chunk-7EQ4BJZB.js";import"./chunk-EGCUYKRH.js";import"./chunk-7FD3EC7J.js";import{v as s}from"./chunk-CF2ZN7LY.js";import{A as p,z as n}from"./chunk-T252YJXA.js";import{g as m}from"./chunk-X7PVYZAE.js";import"./chunk-HYRHD4VJ.js";import"./chunk-DW53RC2J.js";import"./chunk-MOMFYMZX.js";import"./chunk-PZ4EJUWJ.js";import"./chunk-SRP6QX5M.js";import{c as f}from"./chunk-LXXELGX4.js";import{ha as t,ld as i,nb as e}from"./chunk-SKZUTSHE.js";var S=[{path:"",loadComponent:()=>import("./chunk-4SA4GMB2.js").then(o=>o.SettingsComponent),canActivate:[c]}],A=(()=>{class o{static \u0275fac=function(r){return new(r||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[m.forChild(S),m]})}return o})();var P=(()=>{class o{static \u0275fac=function(r){return new(r||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[i,n,p,f,s,A,R,l,C,u,d,g,a,M]})}return o})();export{P as SettingsModule};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-D5A7AKWO.js";import"./chunk-X7PVYZAE.js";import"./chunk-HYRHD4VJ.js";import"./chunk-DW53RC2J.js";import"./chunk-MOMFYMZX.js";import"./chunk-PZ4EJUWJ.js";import"./chunk-SRP6QX5M.js";import"./chunk-LXXELGX4.js";import"./chunk-SKZUTSHE.js";export{a as ContainerRestartComponent};
@@ -1 +0,0 @@
1
- import{t as k}from"./chunk-CF2ZN7LY.js";import{d as P}from"./chunk-X7PVYZAE.js";import{b as V}from"./chunk-MOMFYMZX.js";import{k as T,n as O}from"./chunk-PZ4EJUWJ.js";import{a as y,b as $}from"./chunk-LXXELGX4.js";import{Bc as a,Cc as s,Ib as f,Jb as v,Ob as C,Pb as o,Qb as r,Rb as h,Vb as b,Yb as m,Zb as x,ab as i,kc as l,la as c,lc as S,mb as g,mc as d,ra as u,sa as _}from"./chunk-SKZUTSHE.js";function B(t,w){if(t&1){let n=b();o(0,"p",5)(1,"button",6),m("click",function(){u(n);let e=x();return _(e.restartServer())}),l(2),a(3,"translate"),r()()}t&2&&(i(2),d(" ",s(3,1,"menu.linux.label_restart_server")," "))}function I(t,w){if(t&1){let n=b();o(0,"p",5)(1,"button",6),m("click",function(){u(n);let e=x();return _(e.shutdownServer())}),l(2),a(3,"translate"),r()()}t&2&&(i(2),d(" ",s(3,1,"menu.linux.label_shutdown_server")," "))}function H(t,w){if(t&1){let n=b();o(0,"p",5)(1,"button",6),m("click",function(){u(n);let e=x();return _(e.dockerRestartContainer())}),l(2),a(3,"translate"),r()()}t&2&&(i(2),d(" ",s(3,1,"menu.docker.restart_container")," "))}var G=(()=>{class t{$api=c(O);$router=c(P);$settings=c(V);$toastr=c(T);$translate=c(y);constructor(){}restartHomebridge(){this.$router.navigate(["/restart"])}restartHomebridgeService(){this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>{this.$router.navigate(["/restart"])},error:n=>{console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error"))}})}restartServer(){this.$router.navigate(["/platform-tools/linux/restart-server"])}shutdownServer(){this.$router.navigate(["/platform-tools/linux/shutdown-server"])}dockerRestartContainer(){this.$router.navigate(["/platform-tools/docker/restart-container"])}static \u0275fac=function(p){return new(p||t)};static \u0275cmp=g({type:t,selectors:[["ng-component"]],decls:19,vars:15,consts:[[1,"d-flex","justify-content-between"],[1,"primary-text","m-0"],[1,"my-4","align-items-center",2,"max-width","1000px","margin","auto"],[1,"w-100","text-center","primary-text","mb-5"],[1,"fas","fa-fw","fa-power-off",2,"font-size","75px"],[1,"w-100","text-center","my-5"],["type","button",1,"btn","btn-primary","p-3","my-0",2,"width","85%",3,"click"],["type","button","container","body","openDelay","150","triggers","hover",1,"btn","btn-primary","p-3","my-0",2,"width","85%",3,"click","ngbTooltip"]],template:function(p,e){p&1&&(o(0,"div",0)(1,"h3",1),l(2),a(3,"translate"),r()(),o(4,"div",2)(5,"div",3),h(6,"i",4),r(),o(7,"p",5)(8,"button",6),m("click",function(){return e.restartHomebridge()}),l(9),a(10,"translate"),r()(),o(11,"p",5)(12,"button",7),a(13,"translate"),m("click",function(){return e.restartHomebridgeService()}),l(14),a(15,"translate"),r()(),f(16,B,4,3,"p",5),f(17,I,4,3,"p",5),f(18,H,4,3,"p",5),r()),p&2&&(i(2),S(s(3,7,"menu.restart.title")),i(7),d(" ",s(10,9,"menu.hbrestart.confirm_hb")," "),i(3),C("ngbTooltip",s(13,11,"reset.force_restart_hb_help_text")),i(2),d(" ",s(15,13,"menu.hbrestart.confirm_ui")," "),i(2),v(e.$settings.env.canShutdownRestartHost?16:-1),i(),v(e.$settings.env.canShutdownRestartHost?17:-1),i(),v(e.$settings.env.runningInDocker?18:-1))},dependencies:[k,$],encapsulation:2})}return t})();export{G as a};
@@ -1 +0,0 @@
1
- import{a as H,b as X}from"./chunk-OTZLBFXM.js";import{a as Z}from"./chunk-EGCUYKRH.js";import{a as R}from"./chunk-7FD3EC7J.js";import{n as L}from"./chunk-CF2ZN7LY.js";import"./chunk-T252YJXA.js";import{a as W,c as q,d as V,e as N,f as D}from"./chunk-X7PVYZAE.js";import{a as j}from"./chunk-HYRHD4VJ.js";import{b as B}from"./chunk-DW53RC2J.js";import{b as $}from"./chunk-MOMFYMZX.js";import{m as T}from"./chunk-PZ4EJUWJ.js";import"./chunk-SRP6QX5M.js";import{a as P,b as U}from"./chunk-LXXELGX4.js";import{Bc as d,Cc as l,Hb as u,Ib as x,Jb as y,Ob as c,Pb as n,Qb as a,Rb as p,Vb as S,Yb as _,Zb as w,ab as o,cd as E,fb as F,g as Y,h as z,kc as f,la as m,lc as g,mb as O,ra as h,sa as b,td as K,w as A,wc as v,xc as M}from"./chunk-SKZUTSHE.js";var Q=Y(Z(),1);function G(){var i;return typeof window<"u"&&(window?.matchMedia("(display-mode: standalone)").matches||((i=window.navigator)===null||i===void 0?void 0:i.standalone)||document.referrer.startsWith("android-app://")||window?.Windows||/trident.+(msapphost|webview)\//i.test(navigator.userAgent)||document.referrer.startsWith("app-info://platform/microsoft-store"))}var I=()=>["/"],te=i=>({"hamburger-icon-cross":i}),ne=i=>({expanded:i}),ie=()=>({exact:!0}),oe=()=>["/accessories"],re=()=>["/support"],ae=()=>["/power-options"],se=()=>["/plugins"],de=()=>["/logs"],le=()=>["/platform-tools/terminal"],pe=()=>["/config"],ce=()=>["/settings"];function me(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",19),d(2,"translate"),d(3,"translate"),_("click",function(){h(e);let t=w();return b(t.openUnderVoltageModal())})("keydown",function(t){h(e);let r=w();return b(r.handleKeydown(t))}),n(4,"div",12),p(5,"i",20),a(),n(6,"div",14),f(7),d(8,"translate"),a()()()}i&2&&(o(),u("aria-label",l(2,2,"rpi.throttled.undervoltage_title")+" - "+l(3,4,"rpi.throttled.undervoltage_description")),o(6),g(l(8,6,"rpi.throttled.undervoltage_title")))}function ue(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){h(e);let r=w();return b(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",21),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),c("routerLink",v(8,se))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.label_plugins")),o(5),g(l(7,6,"menu.label_plugins")))}function _e(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){h(e);let r=w();return b(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",22),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),c("routerLink",v(8,de))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.linux.label_logs")),o(5),g(l(7,6,"menu.linux.label_logs")))}function fe(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){h(e);let r=w();return b(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",23),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),c("routerLink",v(8,le))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.linux.label_terminal")),o(5),g(l(7,6,"menu.linux.label_terminal")))}function ge(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){h(e);let r=w();return b(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",24),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),c("routerLink",v(8,pe))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.config_json_editor")),o(5),g(l(7,6,"menu.config_json_editor")))}function ve(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){h(e);let r=w();return b(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",25),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),c("routerLink",v(8,ce))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.label_settings")),o(5),g(l(7,6,"menu.label_settings")))}function he(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",19),d(2,"translate"),_("click",function(){h(e);let t=w();return b(t.reloadPage())})("keydown",function(t){h(e);let r=w();return b(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",26),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),u("aria-label",l(2,2,"menu.reload")),o(5),g(l(7,4,"menu.reload")))}function be(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",19),d(2,"translate"),_("click",function(){h(e);let t=w();return b(t.$auth.logout())})("keydown",function(t){h(e);let r=w();return b(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",27),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),u("aria-label",l(2,2,"menu.tooltip_logout")),o(5),g(l(7,4,"menu.tooltip_logout")))}var J=(()=>{class i{router=m(V);translate=m(P);$auth=m(B);$settings=m($);$modal=m(L);$notification=m(X);$translate=m(P);renderer=m(F);isExpanded=!1;rPiCurrentlyUnderVoltage=!1;rPiWasUnderVoltage=!1;isMobile=!1;freezeMenu=!1;isPwa=G();constructor(){let e=this.router;this.isMobile=window.innerWidth<768;let s;window.addEventListener("resize",()=>{clearTimeout(s),s=setTimeout(()=>{this.updateListeners()},500)}),e.events.subscribe(t=>{t instanceof W&&(this.closeSidebar(),this.freezeMenu=!0,setTimeout(()=>{this.freezeMenu=!1},750))})}ngOnInit(){this.$notification.raspberryPiThrottled.subscribe(r=>{r["Under Voltage"]&&(this.rPiCurrentlyUnderVoltage=!0),r["Under-voltage has occurred"]&&(this.rPiWasUnderVoltage=!0)});let e=document.querySelector(".sidebar"),s=document.querySelector(".m-header"),t=document.querySelector(".content");this.isMobile?document.addEventListener("touchstart",r=>{if(t.contains(r.target)&&this.isExpanded){r.preventDefault(),this.toggleSidebar();return}!e.contains(r.target)&&!s.contains(r.target)&&this.isExpanded&&(r.preventDefault(),this.closeSidebar())},{passive:!1}):(this.updateListeners(),s.addEventListener("mouseenter",()=>this.openSidebar(),{passive:!1}),s.addEventListener("mouseleave",()=>this.closeSidebar(),{passive:!1}),document.addEventListener("click",r=>{e.contains(r.target)&&r.clientX>60&&this.closeSidebar()},{passive:!1})),this.updateContentStyles()}openSidebar(){this.freezeMenu||(this.isExpanded=!0,this.updateContentStyles())}closeSidebar(){this.freezeMenu||(this.isExpanded=!1,this.updateContentStyles())}toggleSidebar(){this.freezeMenu||(this.isExpanded=!this.isExpanded,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"))}openUnderVoltageModal(){let e=this.$modal.open(H,{size:"lg",backdrop:"static"});e.componentInstance.title=this.$translate.instant("rpi.throttled.undervoltage_title"),e.componentInstance.message=this.$translate.instant(this.rPiCurrentlyUnderVoltage?"rpi.throttled.currently_message":"rpi.throttled.previously_message"),e.componentInstance.ctaButtonLabel=this.$translate.instant("form.button_more_info"),e.componentInstance.faIconClass="fas fa-fw fa-bolt yellow-text",e.componentInstance.ctaButtonLink="https://pimylifeup.com/raspberry-pi-low-voltage-warning"}handleKeydown(e){if(e.key==="Enter"){let s=e.target;["menuitem","button"].includes(s.getAttribute("role"))&&s.click()}}reloadPage(){window.location.reload()}updateListeners(){this.isMobile=window.innerWidth<768;let e=document.querySelector(".sidebar");e.removeAllListeners(),(this.isMobile||!this.isMobile&&this.$settings.menuMode!=="freeze")&&(e.addEventListener("mouseenter",()=>this.openSidebar(),{passive:!1}),e.addEventListener("mouseleave",()=>this.closeSidebar(),{passive:!1}))}ngOnDestroy(){document.removeEventListener("touchstart",()=>{}),document.removeEventListener("click",()=>{})}static \u0275fac=function(s){return new(s||i)};static \u0275cmp=O({type:i,selectors:[["app-sidebar"]],inputs:{isExpanded:"isExpanded"},decls:61,vars:67,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",3,"ngClass"],["role","navigation","id","sidebar",1,"sidebar",3,"ngClass"],["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-fw","fa-house"],[1,"title"],["role","menuitem","tabindex","0",1,"link-row",3,"keydown","routerLink","routerLinkActive"],[1,"fa","fa-fw","fa-lightbulb"],[1,"fa","fa-fw","fa-question-circle-o"],[1,"fa","fa-fw","fa-power-off"],["role","menuitem","tabindex","0",1,"link-row",3,"click","keydown"],[1,"fas","fa-fw","fa-bolt","fa-beat","yellow-text",2,"--fa-beat-scale","1.5"],[1,"fa","fa-fw","fa-plug"],[1,"fa","fa-fw","fa-wave-square"],[1,"fa","fa-fw","fa-terminal"],[1,"fa","fa-fw","fa-code"],[1,"fa","fa-fw","fa-cog"],[1,"fa","fa-fw","fa-refresh"],[1,"fa","fa-fw","fa-right-from-bracket"]],template:function(s,t){s&1&&(n(0,"div",0),d(1,"translate"),_("click",function(){return t.toggleSidebar()})("keydown",function(C){return t.handleKeydown(C)}),p(2,"span",1),n(3,"a",2),d(4,"translate"),p(5,"img",3),n(6,"div",4),f(7,"Homebridge"),a()(),n(8,"div",5),p(9,"span")(10,"span")(11,"span")(12,"span"),a()(),n(13,"div",6)(14,"div",7),_("click",function(){return t.toggleSidebar()})("keydown",function(C){return t.handleKeydown(C)}),n(15,"a",2),d(16,"translate"),p(17,"img",3),n(18,"div",8),f(19,"Homebridge"),a()()(),n(20,"div",9)(21,"div",10)(22,"div",11),d(23,"translate"),_("keydown",function(C){return t.handleKeydown(C)}),n(24,"div",12),p(25,"i",13),a(),n(26,"div",14),f(27),d(28,"translate"),a()()(),x(29,me,9,8,"div",10),x(30,ue,8,9,"div",10),n(31,"div",10)(32,"div",15),d(33,"translate"),_("keydown",function(C){return t.handleKeydown(C)}),n(34,"div",12),p(35,"i",16),a(),n(36,"div",14),f(37),d(38,"translate"),a()()(),x(39,_e,8,9,"div",10),x(40,fe,8,9,"div",10),x(41,ge,8,9,"div",10),x(42,ve,8,9,"div",10),n(43,"div",10)(44,"div",15),d(45,"translate"),_("keydown",function(C){return t.handleKeydown(C)}),n(46,"div",12),p(47,"i",17),a(),n(48,"div",14),f(49),d(50,"translate"),a()()(),n(51,"div",10)(52,"div",15),d(53,"translate"),_("keydown",function(C){return t.handleKeydown(C)}),n(54,"div",12),p(55,"i",18),a(),n(56,"div",14),f(57),d(58,"translate"),a()()(),x(59,he,8,6,"div",10),x(60,be,8,6,"div",10),a()()),s&2&&(u("aria-expanded",t.isExpanded?"true":"false")("aria-controls","sidebar")("aria-label",l(1,34,"menu.sidebar.aria_menu")),o(3),c("routerLink",v(56,I)),u("aria-label",l(4,36,"menu.label_status")),o(5),c("ngClass",M(57,te,t.isExpanded)),o(5),c("ngClass",M(59,ne,t.isExpanded)),o(2),c("routerLink",v(61,I)),u("aria-label",l(16,38,"menu.label_status")),o(7),c("routerLink",v(62,I))("routerLinkActive","active")("routerLinkActiveOptions",v(63,ie)),u("aria-label",l(23,40,"menu.label_status")),o(5),g(l(28,42,"menu.label_status")),o(2),y(t.rPiWasUnderVoltage||t.rPiCurrentlyUnderVoltage?29:-1),o(),y(t.$auth.user.admin?30:-1),o(2),c("routerLink",v(64,oe))("routerLinkActive","active"),u("aria-label",l(33,44,"menu.label_accessories")),o(5),g(l(38,46,"menu.label_accessories")),o(2),y(t.$auth.user.admin?39:-1),o(),y(t.$settings.env.enableTerminalAccess&&t.$auth.user.admin?40:-1),o(),y(t.$auth.user.admin?41:-1),o(),y(t.$auth.user.admin?42:-1),o(2),c("routerLink",v(65,re))("routerLinkActive","active"),u("aria-label",l(45,48,"support.title")),o(5),g(l(50,50,"support.title")),o(3),c("routerLink",v(66,ae))("routerLinkActive","active"),u("aria-label",l(53,52,"menu.restart.title")),o(5),g(l(58,54,"menu.restart.title")),o(2),y(t.isPwa?59:-1),o(),y(t.$settings.formAuth?60:-1))},dependencies:[N,K,E,D,U],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-y:auto;max-height:calc(100vh - 80px)!important}.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;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0);-webkit-transition:.5s ease-in-out;-moz-transition:.5s ease-in-out;-o-transition:.5s ease-in-out;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;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0);-webkit-transition:.25s ease-in-out;-moz-transition:.25s ease-in-out;-o-transition:.25s ease-in-out;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){-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(3){-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(4){top:10px;width:0;left:50%}}"]})}return i})();var we=i=>({sidebarExpanded:i}),Xe=(()=>{class i{$auth=m(B);$modal=m(L);$router=m(V);$settings=m($);$translate=m(P);$ws=m(j);sidebarExpanded=!1;io;constructor(){}ngOnInit(){this.io=this.$ws.connectToNamespace("app"),this.io.socket.on("reconnect",()=>{this.$auth.checkToken()}),this.compareServerUiVersion()}compareServerUiVersion(){return z(this,null,function*(){if(this.$settings.settingsLoaded||(yield A(this.$settings.onSettingsLoaded)),this.$router.url!=="/restart"&&(0,Q.lt)(this.$settings.uiVersion,T.serverTarget)){console.log(`Server restart required. UI Version: ${T.serverTarget} - Server Version: ${this.$settings.uiVersion} `);let e=this.$modal.open(R,{size:"lg",backdrop:"static"});e.componentInstance.title=this.$translate.instant("platform.version.service_restart_required"),e.componentInstance.message=this.$translate.instant("platform.version.restart_required",{serverVersion:this.$settings.uiVersion,uiVersion:T.serverTarget}),e.componentInstance.confirmButtonLabel=this.$translate.instant("menu.tooltip_restart"),e.componentInstance.faIconClass="fas fa-power-off orange-text",e.result.then(()=>this.$router.navigate(["/restart"])).catch(()=>{})}})}static \u0275fac=function(s){return new(s||i)};static \u0275cmp=O({type:i,selectors:[["app-layout"]],decls:3,vars:4,consts:[[3,"isExpanded"],[1,"content","px-3","p-md-4",3,"ngClass"]],template:function(s,t){s&1&&(p(0,"app-sidebar",0),n(1,"div",1),p(2,"router-outlet"),a()),s&2&&(c("isExpanded",t.sidebarExpanded),o(),c("ngClass",M(2,we,t.sidebarExpanded)))},dependencies:[J,E,q],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 i})();export{Xe as LayoutComponent};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-SOHPXRDW.js";import{a as f}from"./chunk-FBAFQRNU.js";import{v as u}from"./chunk-CF2ZN7LY.js";import{A as p,z as n}from"./chunk-T252YJXA.js";import{g as i}from"./chunk-X7PVYZAE.js";import"./chunk-HYRHD4VJ.js";import"./chunk-DW53RC2J.js";import"./chunk-MOMFYMZX.js";import"./chunk-PZ4EJUWJ.js";import"./chunk-SRP6QX5M.js";import{c as d}from"./chunk-LXXELGX4.js";import{ha as t,ld as m,nb as r}from"./chunk-SKZUTSHE.js";var M=[{path:"",loadComponent:()=>import("./chunk-DEVBRHQE.js").then(o=>o.SetupWizardComponent)}],l=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[i.forChild(M),i]})}return o})();var R=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({providers:[a],imports:[m,n,p,d,u,l,f]})}return o})();export{R as SetupWizardModule};
@@ -1 +0,0 @@
1
- import"./chunk-QY46HWDD.js";import"./chunk-R53BOK3Z.js";import{g as n}from"./chunk-X7PVYZAE.js";import"./chunk-HYRHD4VJ.js";import"./chunk-DW53RC2J.js";import"./chunk-MOMFYMZX.js";import"./chunk-PZ4EJUWJ.js";import"./chunk-SRP6QX5M.js";import{c as m}from"./chunk-LXXELGX4.js";import{ha as t,ld as i,nb as r}from"./chunk-SKZUTSHE.js";var d=[{path:"",redirectTo:"/",pathMatch:"full"},{path:"restart-server",loadComponent:()=>import("./chunk-RKB6QR63.js").then(o=>o.RestartLinuxComponent)},{path:"shutdown-server",loadComponent:()=>import("./chunk-AC3XUOVQ.js").then(o=>o.ShutdownLinuxComponent)}],u=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[n.forChild(d),n]})}return o})();var g=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[i,m.forChild(),u]})}return o})();export{g as LinuxModule};