homebridge-config-ui-x 5.0.0-beta.110 → 5.0.0-beta.111

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 (176) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/dist/core/auth/auth.controller.d.ts +4 -0
  3. package/dist/core/config/config.service.d.ts +4 -0
  4. package/dist/core/config/config.service.js +2 -0
  5. package/dist/core/config/config.service.js.map +1 -1
  6. package/dist/main.js +1 -0
  7. package/dist/main.js.map +1 -1
  8. package/dist/modules/backup/backup.controller.d.ts +1 -0
  9. package/dist/modules/backup/backup.controller.js +11 -0
  10. package/dist/modules/backup/backup.controller.js.map +1 -1
  11. package/dist/modules/backup/backup.service.d.ts +1 -0
  12. package/dist/modules/backup/backup.service.js +19 -5
  13. package/dist/modules/backup/backup.service.js.map +1 -1
  14. package/dist/modules/plugins/plugins.service.js +5 -3
  15. package/dist/modules/plugins/plugins.service.js.map +1 -1
  16. package/dist/modules/server/server.service.js +4 -2
  17. package/dist/modules/server/server.service.js.map +1 -1
  18. package/dist/modules/status/status.service.js +9 -0
  19. package/dist/modules/status/status.service.js.map +1 -1
  20. package/package.json +1 -1
  21. package/public/3rdpartylicenses.txt +149 -149
  22. package/public/assets/hap-icons/{airpurifier.svg → air-purifier.svg} +11 -11
  23. package/public/assets/hap-icons/{filtermaintenance.svg → filter-maintenance.svg} +1 -1
  24. package/public/assets/hap-icons/{smokesensor.svg → smoke-sensor.svg} +15 -2
  25. package/public/chunk-2B6Z42D5.js +2 -0
  26. package/public/chunk-3KEVK4CU.js +1 -0
  27. package/public/chunk-3TXUNOXT.js +1 -0
  28. package/public/chunk-4G7W6MRL.js +1 -0
  29. package/public/chunk-4N7ZDOUO.js +1 -0
  30. package/public/chunk-5CIDMZGS.js +1 -0
  31. package/public/chunk-66VSEU25.js +5 -0
  32. package/public/chunk-7DSQ7XWE.js +1 -0
  33. package/public/{chunk-J764EFYE.js → chunk-7EQ4BJZB.js} +1 -1
  34. package/public/chunk-7GGXZ7OU.js +1 -0
  35. package/public/chunk-7QRMEOTO.js +8 -0
  36. package/public/chunk-7RKBTRXY.js +1 -0
  37. package/public/{chunk-6TUL34DU.js → chunk-ABBL3RO7.js} +1 -1
  38. package/public/chunk-BCMP25TC.js +1 -0
  39. package/public/chunk-BP5LQRNS.js +4 -0
  40. package/public/{chunk-2NQ5FYSH.js → chunk-CF2ZN7LY.js} +1 -1
  41. package/public/chunk-DSKSIOUV.js +1 -0
  42. package/public/{chunk-SCRWY2OT.js → chunk-EGCUYKRH.js} +1 -1
  43. package/public/chunk-EL5XLLBH.js +1 -0
  44. package/public/chunk-EPA4YSLT.js +1 -0
  45. package/public/chunk-F3ERQJVG.js +1 -0
  46. package/public/{chunk-CI7ES5EB.js → chunk-FFFA4Z4P.js} +1 -1
  47. package/public/{chunk-4I6LLOMI.js → chunk-FNE4UWIK.js} +1 -1
  48. package/public/chunk-FXYQSGFB.js +1 -0
  49. package/public/{chunk-WTTWP6KF.js → chunk-GDFV4BMO.js} +1 -1
  50. package/public/chunk-GW2DVJRQ.js +1 -0
  51. package/public/chunk-HTQJEJW6.js +23 -0
  52. package/public/chunk-IN7NZAFJ.js +1 -0
  53. package/public/chunk-J6YDFLQQ.js +1 -0
  54. package/public/chunk-K6X6GPJI.js +1 -0
  55. package/public/chunk-KKNYWOLQ.js +20 -0
  56. package/public/chunk-L3KYADWL.js +1 -0
  57. package/public/chunk-LUNR4YXI.js +1 -0
  58. package/public/{chunk-555LSHXI.js → chunk-LXXELGX4.js} +1 -1
  59. package/public/chunk-LZTR2JMZ.js +1 -0
  60. package/public/{chunk-S6UXXPGF.js → chunk-NGNQPAAK.js} +1 -1
  61. package/public/chunk-NH3ELE5E.js +4 -0
  62. package/public/chunk-OKTBHUEL.js +1 -0
  63. package/public/chunk-ORZLF5HZ.js +1 -0
  64. package/public/chunk-Q3UFAHWJ.js +1 -0
  65. package/public/{chunk-QJQSHTGR.js → chunk-QDCKP2LU.js} +1 -1
  66. package/public/chunk-QEBH3NJ4.js +1 -0
  67. package/public/{chunk-2IJPNUW7.js → chunk-QTCNRXCY.js} +16 -16
  68. package/public/chunk-R33U7ULB.js +1 -0
  69. package/public/chunk-RMY3PS3V.js +1 -0
  70. package/public/chunk-S5TTYLQD.js +1 -0
  71. package/public/chunk-SKZUTSHE.js +7 -0
  72. package/public/{chunk-EM4PY2IW.js → chunk-SRP6QX5M.js} +1 -1
  73. package/public/chunk-SSMWAG33.js +1 -0
  74. package/public/{chunk-5NG7YGKN.js → chunk-T252YJXA.js} +1 -1
  75. package/public/chunk-TFSYGCLN.js +1 -0
  76. package/public/chunk-TKTM3Z2T.js +3 -0
  77. package/public/chunk-TQNKRJOX.js +1 -0
  78. package/public/chunk-U3DAE6KH.js +1 -0
  79. package/public/{chunk-M5VWLNY3.js → chunk-UD6SVFW2.js} +6 -6
  80. package/public/chunk-UO2HQVMO.js +1 -0
  81. package/public/{chunk-6XANA56B.js → chunk-UQYCFN3T.js} +2 -2
  82. package/public/chunk-V6SZXPWT.js +1 -0
  83. package/public/chunk-VGEV4FQW.js +1 -0
  84. package/public/{chunk-TJJCM4OW.js → chunk-X2SHRXXY.js} +1 -1
  85. package/public/{chunk-JBQX4JBH.js → chunk-X7PVYZAE.js} +1 -1
  86. package/public/{chunk-4G5TRQV5.js → chunk-XBWIDIPO.js} +1 -1
  87. package/public/chunk-ZDJGHFIU.js +12 -0
  88. package/public/chunk-ZNACRWKA.js +1 -0
  89. package/public/chunk-ZVUGVJDR.js +1 -0
  90. package/public/index.html +2 -2
  91. package/public/main-YVALKUM3.js +1 -0
  92. package/public/{styles-SK4HZ2RX.css → styles-YDIK2EDN.css} +1 -1
  93. package/public/chunk-2FVPRLQG.js +0 -1
  94. package/public/chunk-2GSALGGZ.js +0 -1
  95. package/public/chunk-3FQVTGEO.js +0 -1
  96. package/public/chunk-3Z2VETLJ.js +0 -1
  97. package/public/chunk-4N5XER24.js +0 -1
  98. package/public/chunk-5CEP4QNR.js +0 -1
  99. package/public/chunk-BOWJ3GNE.js +0 -1
  100. package/public/chunk-BY2CUGGW.js +0 -1
  101. package/public/chunk-CXAHE4UR.js +0 -1
  102. package/public/chunk-CYTL54HA.js +0 -1
  103. package/public/chunk-D35WUZO6.js +0 -1
  104. package/public/chunk-DM5SJAXR.js +0 -1
  105. package/public/chunk-DX3J7WR4.js +0 -20
  106. package/public/chunk-ELHQENNT.js +0 -1
  107. package/public/chunk-FGR2Q3QC.js +0 -1
  108. package/public/chunk-FQM6JWF4.js +0 -1
  109. package/public/chunk-GD7WE5NM.js +0 -1
  110. package/public/chunk-GMQEHLXV.js +0 -1
  111. package/public/chunk-GSH6XPH5.js +0 -1
  112. package/public/chunk-HTBBDMIM.js +0 -1
  113. package/public/chunk-IMPGSXGE.js +0 -1
  114. package/public/chunk-IZCQX62P.js +0 -1
  115. package/public/chunk-IZENZ6C7.js +0 -1
  116. package/public/chunk-JROQHF7T.js +0 -1
  117. package/public/chunk-JVERWDTV.js +0 -8
  118. package/public/chunk-KAHHKQN4.js +0 -1
  119. package/public/chunk-KFUUWA7X.js +0 -1
  120. package/public/chunk-LSWNZUER.js +0 -1
  121. package/public/chunk-MDSOQRIW.js +0 -1
  122. package/public/chunk-MFBVZAEQ.js +0 -2
  123. package/public/chunk-MGITCDRJ.js +0 -1
  124. package/public/chunk-NQ5I37UV.js +0 -1
  125. package/public/chunk-NQE2RXH6.js +0 -1
  126. package/public/chunk-O3VYSP26.js +0 -1
  127. package/public/chunk-O7GTAWDZ.js +0 -1
  128. package/public/chunk-OR2P7NW7.js +0 -6
  129. package/public/chunk-OT72EUBX.js +0 -1
  130. package/public/chunk-OUNNY3LQ.js +0 -1
  131. package/public/chunk-P5VEHFPQ.js +0 -1
  132. package/public/chunk-QHLEZFHN.js +0 -1
  133. package/public/chunk-QZ7YTQCT.js +0 -1
  134. package/public/chunk-R4C7YVNE.js +0 -1
  135. package/public/chunk-RPX42C27.js +0 -1
  136. package/public/chunk-SVBSGSWA.js +0 -1
  137. package/public/chunk-SWUH5RAT.js +0 -1
  138. package/public/chunk-SYDH2EUJ.js +0 -1
  139. package/public/chunk-TNXIENZS.js +0 -1
  140. package/public/chunk-TY327ZWV.js +0 -4
  141. package/public/chunk-U3GYVCZ5.js +0 -1
  142. package/public/chunk-UC3VLQ36.js +0 -23
  143. package/public/chunk-UTDF2KPP.js +0 -1
  144. package/public/chunk-UXMF7TL3.js +0 -1
  145. package/public/chunk-VFFTVCSV.js +0 -1
  146. package/public/chunk-VP6YRYDX.js +0 -1
  147. package/public/chunk-W6X46MTW.js +0 -7
  148. package/public/chunk-WP6HJUZ6.js +0 -1
  149. package/public/chunk-WUXDJZ6X.js +0 -1
  150. package/public/chunk-WXHERXH5.js +0 -1
  151. package/public/chunk-YLZEJ2HL.js +0 -5
  152. package/public/chunk-YRRMQRGZ.js +0 -1
  153. package/public/chunk-YSWBG5VY.js +0 -8
  154. package/public/chunk-Z7NIAJEB.js +0 -1
  155. package/public/chunk-ZI5BUHBS.js +0 -1
  156. package/public/main-EWBCXJ6H.js +0 -1
  157. /package/public/assets/hap-icons/{airquality.svg → air-quality-sensor.svg} +0 -0
  158. /package/public/assets/hap-icons/{co2-sensor.svg → carbon-dioxide-sensor.svg} +0 -0
  159. /package/public/assets/hap-icons/{co-sensor.svg → carbon-monoxide-sensor.svg} +0 -0
  160. /package/public/assets/hap-icons/{contactsensor-closed.svg → contact-sensor-closed.svg} +0 -0
  161. /package/public/assets/hap-icons/{contactsensor-open.svg → contact-sensor-open.svg} +0 -0
  162. /package/public/assets/hap-icons/{garagedoor.svg → garage-door.svg} +0 -0
  163. /package/public/assets/hap-icons/{humidity.svg → humidity-sensor.svg} +0 -0
  164. /package/public/assets/hap-icons/{leaksensor.svg → leak-sensor.svg} +0 -0
  165. /package/public/assets/hap-icons/{lightbulb.svg → light-bulb.svg} +0 -0
  166. /package/public/assets/hap-icons/{light.svg → light-sensor.svg} +0 -0
  167. /package/public/assets/hap-icons/{motionsensor.svg → motion-sensor.svg} +0 -0
  168. /package/public/assets/hap-icons/{occupancysensor.svg → occupancy-sensor.svg} +0 -0
  169. /package/public/assets/hap-icons/{securitysystem-active.svg → security-system-active.svg} +0 -0
  170. /package/public/assets/hap-icons/{securitysystem-off.svg → security-system-off.svg} +0 -0
  171. /package/public/assets/hap-icons/{securitysystem-triggered.svg → security-system-triggered.svg} +0 -0
  172. /package/public/assets/hap-icons/{statelessprogrammableswitch.svg → stateless-programmable-switch.svg} +0 -0
  173. /package/public/assets/hap-icons/{valve-waterfaucet.svg → valve-faucet.svg} +0 -0
  174. /package/public/assets/hap-icons/{valve-showerhead.svg → valve-shower-head.svg} +0 -0
  175. /package/public/assets/hap-icons/{windowcovering-closed.svg → window-covering-closed.svg} +0 -0
  176. /package/public/assets/hap-icons/{windowcovering-open.svg → window-covering-open.svg} +0 -0
@@ -1 +0,0 @@
1
- import{a as Le}from"./chunk-LSWNZUER.js";import{a as Ne}from"./chunk-GMQEHLXV.js";import{a as tt}from"./chunk-SWUH5RAT.js";import{a as Ze,b as et}from"./chunk-M5VWLNY3.js";import{g as re,m as P,n as G,t as se}from"./chunk-2NQ5FYSH.js";import{A as te,b as Y,c as ne,e as Z,j as E,k as we,l as Ee,n as Be,o as ae,r as Te,s as $e,t as Fe,u as Pe,v as Re,x as Ae,z as ee}from"./chunk-5NG7YGKN.js";import{d as O,e as De}from"./chunk-JBQX4JBH.js";import{a as Ve}from"./chunk-4G5TRQV5.js";import{b as j}from"./chunk-4I6LLOMI.js";import{c as ke,d as de,f as ie,g as ce,k as A,m as Me,n as D}from"./chunk-6TUL34DU.js";import{c as ye,d as Ie}from"./chunk-EM4PY2IW.js";import{a as R,b as F}from"./chunk-555LSHXI.js";import{$a as t,Ac as s,Bc as o,Cc as z,Gb as v,Hb as h,Ib as _,Kb as V,Lb as N,M as w,Mb as L,Nb as c,Ob as n,Pb as a,Qb as d,Ub as k,Xa as pe,Xb as f,Ya as _e,Yb as b,ac as ge,bc as be,bd as U,cc as ve,g as le,gd as X,h as S,id as Se,jc as l,kc as u,la as x,lb as $,lc as g,qc as fe,ra as y,rc as Ce,sa as I,sc as xe,w as B,wc as M,xc as T,yc as J}from"./chunk-W6X46MTW.js";var Oe=(i,m)=>({"green-text":i,"grey-text":m});function it(i,m){if(i&1){let e=k();n(0,"li",9)(1,"div",10),l(2),d(3,"br"),n(4,"small",11),d(5,"i",12),s(6,"translate"),l(7," \xB7 "),n(8,"span",13),l(9),a(),l(10),s(11,"titlecase"),a()(),n(12,"div",14)(13,"input",23),s(14,"translate"),f("click",function(){let p=y(e).$implicit,C=b();return I(C.toggleList(p._username))}),a(),d(15,"label",24),a()()}if(i&2){let e=m.$implicit,r=b();t(2),g(" ",e.name," "),t(3),c("ngbTooltip",o(6,10,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired"))("ngClass",T(16,Oe,e._isPaired,!e._isPaired)),t(4),u(e._username),t(),g(" \xB7 ",o(11,12,e._category)," "),t(3),c("id","hidePluginUpdates_"+e._username)("checked",!r.isInList(e._username))("disabled",r.clicked),v("aria-label",o(14,14,"form.button_allow")+" "+e.name),t(2),c("for","hidePluginUpdates_"+e._username)}}function nt(i,m){i&1&&(l(0),s(1,"translate")),i&2&&g(" ",o(1,1,"form.button_save")," ")}function at(i,m){i&1&&d(0,"i",22)}var ze=(()=>{class i{$activeModal=x(P);$api=x(D);$settings=x(j);$toastr=x(A);$translate=x(R);originalBlacklist=[];updatedBlacklist=[];existingBlacklist=[];clicked=!1;mainPairing={};pairings=[];constructor(){}get blacklistHasUpdated(){return this.updatedBlacklist.join(",")!==this.originalBlacklist.join(",")}ngOnInit(){return S(this,null,function*(){this.updatedBlacklist=this.existingBlacklist.map(e=>e.trim().toUpperCase()).sort((e,r)=>e.localeCompare(r)),this.originalBlacklist=[...this.updatedBlacklist];try{let e=yield B(this.$api.get("/server/pairings"));this.mainPairing=e.find(r=>r._main),this.pairings=e.filter(r=>!r._main).sort((r,p)=>r.name.localeCompare(p.name))}catch(e){console.error(e),this.$toastr.error(e.message,this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}toggleList(e){this.updatedBlacklist.includes(e)?this.updatedBlacklist=this.updatedBlacklist.filter(r=>r!==e):(this.updatedBlacklist.push(e),this.updatedBlacklist.sort((r,p)=>r.localeCompare(p)))}isInList(e){return this.updatedBlacklist.includes(e)}updateBlacklist(){return S(this,null,function*(){this.clicked=!0;try{yield B(this.$api.put("/config-editor/ui/accessory-control/instance-blacklist",{body:this.updatedBlacklist})),this.$settings.setEnvItem("accessoryControl.instanceBlacklist",this.updatedBlacklist),this.$activeModal.close()}catch(e){this.clicked=!1,console.error(e),this.$toastr.error(e.message,this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(r){return new(r||i)};static \u0275cmp=$({type:i,selectors:[["ng-component"]],inputs:{existingBlacklist:"existingBlacklist"},decls:45,vars:34,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-list-check","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box","mt-3","mb-0"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-start"],[1,"grey-text"],["container","body","openDelay","150","triggers","hover","placement","left",1,"fas","fa-fw","fa-link",3,"ngbTooltip","ngClass"],[1,"font-monospace"],[1,"text-end","grey-text","d-flex","align-items-center"],["type","checkbox","id","controlMainBridge",1,"rendux-input",3,"click","checked","disabled"],["for","controlMainBridge",1,"rendux-label","ms-3"],[1,"modal-footer","justify-content-between"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"],["type","checkbox",1,"rendux-input",3,"click","id","checked","disabled"],[1,"rendux-label","ms-3",3,"for"]],template:function(r,p){r&1&&(n(0,"div",0)(1,"div",1)(2,"h5",2),l(3),s(4,"translate"),a(),n(5,"button",3),s(6,"translate"),f("click",function(){return p.$activeModal.dismiss("Dismiss")}),a()(),n(7,"div",4)(8,"div",5),d(9,"i",6),a(),n(10,"ul",7)(11,"li"),l(12),s(13,"translate"),a(),n(14,"li"),l(15),s(16,"translate"),a()(),n(17,"ul",8)(18,"li",9)(19,"div",10),l(20),d(21,"br"),n(22,"small",11),d(23,"i",12),s(24,"translate"),l(25," \xB7 "),n(26,"span",13),l(27),a(),l(28," \xB7 Homebridge "),a()(),n(29,"div",14)(30,"input",15),s(31,"translate"),f("click",function(){return p.toggleList(p.mainPairing._username)}),a(),d(32,"label",16),a()(),N(33,it,16,19,"li",9,V),a()(),n(35,"div",17)(36,"div",10)(37,"button",18),f("click",function(){return p.$activeModal.dismiss("Dismiss")}),l(38),s(39,"translate"),a()(),d(40,"div",19),n(41,"div",20)(42,"button",21),f("click",function(){return p.updateBlacklist()}),h(43,nt,2,3),h(44,at,1,0,"i",22),a()()()()),r&2&&(t(3),u(o(4,17,"settings.security.ui_control")),t(2),c("disabled",p.clicked),v("aria-label",o(6,19,"form.button_close")),t(7),u(o(13,21,"settings.security.ui_control_desc")),t(3),u(o(16,23,"settings.security.ui_control_desc_2")),t(5),g(" ",p.mainPairing.name),t(3),c("ngbTooltip",o(24,25,p.mainPairing._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired"))("ngClass",T(31,Oe,p.mainPairing._isPaired,!p.mainPairing._isPaired)),t(4),u(p.mainPairing._username),t(3),c("checked",!p.isInList(p.mainPairing._username))("disabled",p.clicked),v("aria-label",o(31,27,"plugins.manage.hide_updates")),t(3),L(p.pairings),t(4),c("disabled",p.clicked),t(),g(" ",o(39,29,"form.button_close")," "),t(4),c("disabled",!p.blacklistHasUpdated||p.clicked),t(),_(p.clicked?-1:43),t(),_(p.clicked?44:-1))},dependencies:[U,F,ee,X,se],encapsulation:2})}return i})();var me=le(tt(),1);var Ue=le(Ze(),1),He=le(et(),1);var rt=i=>({maxBackupSizeText:i});function st(i,m){if(i&1&&d(0,"input",10),i&2){let e=b(2);c("value",e.selectedBackup.fileName)}}function ot(i,m){if(i&1){let e=k();n(0,"input",12),f("change",function(p){y(e);let C=b(2);return I(C.handleRestoreFileInput(p.target.files))}),a()}}function lt(i,m){if(i&1&&(n(0,"div",4)(1,"div",7),d(2,"i",8),a(),n(3,"ul",9)(4,"li"),l(5),s(6,"translate"),a(),n(7,"li"),l(8),s(9,"translate"),a(),n(10,"li"),l(11),s(12,"translate"),a(),n(13,"li"),l(14),s(15,"translate"),a()(),h(16,st,1,1,"input",10),h(17,ot,1,0,"input",11),a()),i&2){let e=b();t(5),u(o(6,6,"backup.restore_help_one")),t(3),u(o(9,8,"backup.restore_help_two")),t(3),u(z(12,10,"backup.restore_max_size",M(15,rt,e.maxFileSizeText))),t(3),u(o(15,13,"backup.restore_warning")),t(2),_(e.selectedBackup?16:-1),t(),_(e.selectedBackup?-1:17)}}function pt(i,m){if(i&1){let e=k();n(0,"button",18),s(1,"translate"),f("click",function(){y(e);let p=b(2);return I(p.$activeModal.dismiss("Dismiss"))}),l(2),s(3,"translate"),a()}if(i&2){let e=b(2);c("disabled",e.clicked),v("aria-label",o(1,3,"form.button_close")),t(2),g(" ",o(3,5,"form.button_close")," ")}}function dt(i,m){if(i&1){let e=k();n(0,"button",18),s(1,"translate"),f("click",function(){y(e);let p=b(2);return I(p.reopenBackupModal())}),l(2),s(3,"translate"),a()}if(i&2){let e=b(2);c("disabled",e.clicked),v("aria-label",o(1,3,"form.button_back")),t(2),g(" ",o(3,5,"form.button_back")," ")}}function ct(i,m){i&1&&d(0,"i",19)}function mt(i,m){if(i&1&&(n(0,"span"),l(1),a()),i&2){let e=b(3);t(),g("",e.uploadPercent,"% - ")}}function ut(i,m){i&1&&(n(0,"span"),l(1," Extracting Archive"),a())}function ht(i,m){i&1&&(n(0,"span"),l(1),s(2,"translate"),a()),i&2&&(t(),g(" ",o(2,1,"backup.label_uploading")))}function _t(i,m){if(i&1&&(n(0,"span"),h(1,ct,1,0,"i",19),h(2,mt,2,1,"span"),h(3,ut,2,0,"span"),h(4,ht,3,3,"span"),a()),i&2){let e=b(2);t(),_(!e.uploadPercent||e.uploadPercent===100?1:-1),t(),_(e.uploadPercent&&e.uploadPercent!==100?2:-1),t(),_(e.uploadPercent===100?3:-1),t(),_(e.uploadPercent!==100?4:-1)}}function gt(i,m){i&1&&(l(0),s(1,"translate")),i&2&&g(" ",o(1,1,"form.button_restore")," ")}function bt(i,m){if(i&1){let e=k();n(0,"div",6)(1,"div",13),h(2,pt,4,7,"button",14),h(3,dt,4,7,"button",14),a(),d(4,"div",15),n(5,"div",16)(6,"button",17),f("click",function(){y(e);let p=b();return I(p.onRestoreBackupClick())}),h(7,_t,5,4,"span"),h(8,gt,2,3),a()()()}if(i&2){let e=b();t(2),_(e.setupWizardRestore?2:-1),t(),_(e.setupWizardRestore?-1:3),t(3),c("disabled",!e.selectedBackup&&!e.selectedFile||e.clicked),t(),_(e.clicked?7:-1),t(),_(e.clicked?-1:8)}}function vt(i,m){if(i&1){let e=k();n(0,"div",6),d(1,"div",13),n(2,"div",15)(3,"button",20),f("click",function(){y(e);let p=b();return I(p.postBackupRestart())}),l(4),s(5,"translate"),a()(),d(6,"div",16),a()}i&2&&(t(4),g(" ",o(5,1,"menu.hbrestart.title")," "))}var We=(()=>{class i{$activeModal=x(P);$api=x(D);$modal=x(G);$route=x(O);$toastr=x(A);$translate=x(R);$ws=x(Ve);setupWizardRestore=!1;selectedBackup=null;clicked=!1;maxFileSizeText=globalThis.backup.maxBackupSizeText;selectedFile;restoreInProgress=!1;restoreStarted=!1;restoreFailed=!1;restoreArchiveType="homebridge";uploadPercent=0;term=new Ue.Terminal;termTarget;fitAddon=new He.FitAddon;io;constructor(){}ngOnInit(){return S(this,null,function*(){this.io=this.$ws.connectToNamespace("backup"),this.termTarget=document.getElementById("plugin-log-output"),this.term.open(this.termTarget),this.fitAddon.fit(),this.io.socket.on("stdout",e=>{this.term.write(e)}),this.setupWizardRestore&&(this.restoreStarted=!0,this.restoreInProgress=!0,this.startRestore())})}onRestoreBackupClick(){this.selectedBackup?this.restoreScheduledBackup():this.restoreArchiveType==="homebridge"?this.uploadHomebridgeArchive():this.restoreArchiveType==="hbfx"&&this.uploadHbfxArchive()}uploadHomebridgeArchive(){this.term.reset(),this.clicked=!0;let e=new FormData;e.append("restoreArchive",this.selectedFile,this.selectedFile.name),this.$api.post("/backup/restore",e).subscribe({next:()=>{this.restoreStarted=!0,this.restoreInProgress=!0,setTimeout(()=>{this.startRestore()},500),this.clicked=!1},error:r=>{console.error(r),this.$toastr.error(r.error?.message||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error")),this.clicked=!1}})}restoreScheduledBackup(){return S(this,null,function*(){this.term.reset(),this.clicked=!0,this.$api.post(`/backup/scheduled-backups/${this.selectedBackup.id}/restore`,{}).subscribe({next:()=>{this.restoreStarted=!0,this.restoreInProgress=!0,setTimeout(()=>{this.startRestore()},500),this.clicked=!1},error:e=>{console.error(e),this.$toastr.error(e.error?.message||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error")),this.clicked=!1}})})}startRestore(){return S(this,null,function*(){this.io.request("do-restore").subscribe({next:()=>{this.restoreInProgress=!1,this.$toastr.success(this.$translate.instant("backup.backup_restored"),this.$translate.instant("toast.title_success")),this.setupWizardRestore&&this.postBackupRestart()},error:e=>{this.restoreFailed=!0,console.error(e),this.$toastr.error(this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"))}})})}uploadHbfxArchive(){this.term.reset(),this.clicked=!0;let e=new FormData;e.append("restoreArchive",this.selectedFile,this.selectedFile.name),this.$api.post("/backup/restore/hbfx",e,{reportProgress:!0,observe:"events"}).subscribe({next:r=>{r.type===ye.UploadProgress?this.uploadPercent=Math.round(100*r.loaded/r.total):r instanceof Ie&&(this.restoreStarted=!0,this.restoreInProgress=!0,setTimeout(()=>{this.startHbfxRestore()},500),this.clicked=!1)},error:r=>{this.clicked=!1,console.error(r),this.$toastr.error(r.error?.message||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"))}})}startHbfxRestore(){return S(this,null,function*(){this.io.request("do-restore-hbfx").subscribe({next:()=>{this.restoreInProgress=!1,this.$toastr.success(this.$translate.instant("backup.backup_restored"),this.$translate.instant("toast.title_success"))},error:e=>{this.restoreFailed=!0,console.error(e),this.$toastr.error(this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"))}})})}handleRestoreFileInput(e){e.length?(this.selectedFile=e[0],this.selectedFile.name.endsWith(".hbfx")?this.restoreArchiveType="hbfx":this.restoreArchiveType="homebridge"):delete this.selectedFile}postBackupRestart(){this.$api.put("/backup/restart",{}).subscribe({next:()=>{this.$activeModal.close(!0),this.$route.navigate(["/"])},error:()=>{}})}reopenBackupModal(){this.$activeModal.dismiss(),this.$modal.open(oe,{size:"lg",backdrop:"static"})}ngOnDestroy(){this.io.end()}static \u0275fac=function(r){return new(r||i)};static \u0275cmp=$({type:i,selectors:[["ng-component"]],inputs:{setupWizardRestore:"setupWizardRestore",selectedBackup:"selectedBackup"},decls:11,vars:11,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],["id","plugin-log-output",1,"modal-body",3,"hidden"],[1,"modal-footer","justify-content-between"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-hard-drive","primary-text",2,"font-size","75px"],[1,"mb-3"],["type","text","disabled","",1,"form-control","custom-input",3,"value"],["type","file","id","restoreFileUpload","accept","application/gzip, .gz, .hbfx",1,"form-control"],["type","file","id","restoreFileUpload","accept","application/gzip, .gz, .hbfx",1,"form-control",3,"change"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"fa","fa-fw","fa-circle-notch","fa-spin"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click"]],template:function(r,p){r&1&&(n(0,"div",0)(1,"div",1)(2,"h5",2),l(3),s(4,"translate"),a(),n(5,"button",3),s(6,"translate"),f("click",function(){return p.$activeModal.dismiss("Dismiss")}),a()(),h(7,lt,18,17,"div",4),d(8,"div",5),h(9,bt,9,5,"div",6),h(10,vt,7,3,"div",6),a()),r&2&&(t(3),u(o(4,7,"backup.title_backup")),t(2),c("disabled",p.restoreInProgress),v("aria-label",o(6,9,"form.button_close")),t(2),_(!p.restoreStarted&&!p.setupWizardRestore?7:-1),t(),c("hidden",!p.restoreStarted),t(),_(!p.restoreStarted||p.restoreFailed===!0?9:-1),t(),_(!p.restoreInProgress&&p.restoreStarted?10:-1))},dependencies:[F],encapsulation:2})}return i})();var ft=(i,m)=>({"fa-arrow-right":i,"fa-cog fa-spin":m}),Ct=i=>({backupTime:i,dayCount:7}),xt=(i,m)=>({"fa-trash":i,"fa-cog fa-spin":m}),St=(i,m)=>({backupSize:i,maxBackupSizeText:m});function yt(i,m){if(i&1&&(n(0,"li",23)(1,"label",28),l(2),s(3,"translate"),a(),n(4,"div",29),d(5,"input",30),s(6,"translate"),a()()),i&2){let e=b();t(2),u(o(3,3,"backup.settings_path")),t(3),c("formControl",e.pathFormControl),v("aria-label",o(6,5,"backup.settings_path"))}}function It(i,m){if(i&1&&(l(0),s(1,"date"),s(2,"translate")),i&2){let e=b(2);g(" ",z(2,4,"backup.scheduled_backup_time",M(7,Ct,z(1,1,e.backupTime,"shortTime")))," ")}}function kt(i,m){i&1&&(l(0),s(1,"translate")),i&2&&g(" ",o(1,1,"backup.scheduled_backup_disabled")," ")}function wt(i,m){if(i&1&&(n(0,"span",33),s(1,"translate"),d(2,"i",40),l(3),a()),i&2){let e=b().$implicit;c("ngbTooltip",z(1,2,"backup.backup_exceeds_max_size",T(5,St,e.size+"MB",e.maxBackupSizeText))),t(3),g(" ",e.size,"MB ")}}function Et(i,m){if(i&1&&(n(0,"span"),l(1),a()),i&2){let e=b().$implicit;t(),g(" ",e.size,"MB ")}}function Bt(i,m){if(i&1){let e=k();n(0,"li",9)(1,"span")(2,"span",32),l(3),s(4,"date"),a(),d(5,"br"),n(6,"small",10),l(7),s(8,"date"),h(9,wt,4,8,"span",33),h(10,Et,2,1,"span"),a()(),n(11,"span",34)(12,"button",35),s(13,"translate"),s(14,"translate"),f("click",function(){let p=y(e).$implicit,C=b(2);return I(C.restore(p))}),d(15,"i",36),a(),n(16,"button",37),s(17,"translate"),s(18,"translate"),f("click",function(){let p=y(e).$implicit,C=b(2);return I(C.download(p))}),d(19,"i",38),a(),n(20,"button",39),s(21,"translate"),s(22,"translate"),f("click",function(){let p=y(e).$implicit,C=b(2);return I(C.delete(p))}),d(23,"i",12),a()()()}if(i&2){let e=m.$implicit,r=b(2);t(2),c("ngbTooltip",e.fileName),t(),g(" ",z(4,15,e.timestamp,"mediumDate")," "),t(4),g(" ",z(8,18,e.timestamp,"shortTime")," \xB7 "),t(2),_(e.size>e.maxBackupSize?9:-1),t(),_(e.size<=e.maxBackupSize?10:-1),t(2),c("disabled",r.clicked||r.deleting||e.size>e.maxBackupSize)("ngbTooltip",o(13,21,"form.button_restore")),v("aria-label",o(14,23,"form.button_restore")),t(4),c("disabled",r.clicked||r.deleting)("ngbTooltip",o(17,25,"form.button_download")),v("aria-label",o(18,27,"form.button_download")),t(4),c("disabled",r.clicked||r.deleting)("ngbTooltip",o(21,29,"form.button_delete")),v("aria-label",o(22,31,"form.button_delete")),t(3),c("ngClass",T(33,xt,e.id!==r.deleting,e.id===r.deleting))}}function Tt(i,m){if(i&1&&(n(0,"ul",14)(1,"li",15)(2,"h6",16),l(3),s(4,"translate"),a(),n(5,"p",31),h(6,It,3,9),h(7,kt,2,3),a()(),N(8,Bt,24,36,"li",9,V),a()),i&2){let e=b();t(3),u(o(4,3,"backup.files_auto")),t(3),_(e.currentSettingEnabled&&e.backupTime?6:-1),t(),_(!e.currentSettingEnabled||!e.backupTime?7:-1),t(),L(e.scheduledBackups)}}var oe=(()=>{class i{$activeModal=x(P);$api=x(D);$modal=x(G);$router=x(O);$settings=x(j);$toastr=x(A);$translate=x(R);restartToastIsShown=!1;clicked=!1;scheduledBackups=[];backupTime;deleting=null;currentSettingEnabled=!1;currentSettingPath="";enabledFormControl=new E(!1);pathFormControl=new E("");constructor(){}ngOnInit(){this.getScheduledBackups(),this.getNextBackup(),this.currentSettingEnabled=!this.$settings.env.scheduledBackupDisable,this.currentSettingPath=this.$settings.env.scheduledBackupPath,this.enabledFormControl.patchValue(this.currentSettingEnabled),this.pathFormControl.patchValue(this.currentSettingPath),this.enabledFormControl.valueChanges.pipe(w(750)).subscribe(e=>S(this,null,function*(){this.currentSettingEnabled=e,yield this.saveUiSettingChange("scheduledBackupDisable",!this.currentSettingEnabled)})),this.pathFormControl.valueChanges.pipe(w(1500)).subscribe(e=>S(this,null,function*(){this.currentSettingPath=e,yield this.saveUiSettingChange("scheduledBackupPath",this.currentSettingPath)}))}saveUiSettingChange(e,r){return S(this,null,function*(){try{yield B(this.$api.put("/config-editor/ui",{key:e,value:r})),this.showRestartToast()}catch(p){console.error(p),this.$toastr.error(p.message,this.$translate.instant("toast.title_error"))}})}getScheduledBackups(){this.$api.get("/backup/scheduled-backups").subscribe({next:e=>{this.scheduledBackups=e},error:e=>console.error(e)})}getNextBackup(){this.$api.get("/backup/scheduled-backups/next").subscribe({next:e=>{this.backupTime=e.next},error:e=>{console.error(e)}})}download(e){this.$api.get(`/backup/scheduled-backups/${e.id}`,{observe:"response",responseType:"blob"}).subscribe({next:r=>{let p=e.fileName||"homebridge-backup.tar.gz",C=r.body.size;if(C>globalThis.backup.maxBackupSize){let K=this.$translate.instant("backup.backup_exceeds_max_size",{maxBackupSizeText:globalThis.backup.maxBackupSizeText,size:`${(C/1048576).toFixed(1)}MB`});this.$toastr.warning(K,this.$translate.instant("toast.title_warning"))}(0,me.saveAs)(r.body,p)},error:r=>{console.error(r),this.$toastr.error(this.$translate.instant("backup.backup_download_failed"),this.$translate.instant("toast.title_error"))}})}restore(e){this.$activeModal.close();let r=this.$modal.open(We,{size:"lg",backdrop:"static"});r.componentInstance.selectedBackup=e}delete(e){this.deleting=e.id,this.$api.delete(`/backup/scheduled-backups/${e.id}`).subscribe({next:()=>{this.getScheduledBackups(),this.deleting=null},error:r=>{this.deleting=null,console.error(r),this.$toastr.error(this.$translate.instant("backup.backup_delete_failed"),this.$translate.instant("toast.title_error"))}})}onDownloadBackupClick(){return S(this,null,function*(){this.clicked=!0,this.$api.get("/backup/download",{observe:"response",responseType:"blob"}).subscribe({next:e=>{let r=e.headers.get("File-Name")||"homebridge-backup.tar.gz";this.clicked=!1;let p=e.body.size;if(p>globalThis.backup.maxBackupSize){let C=this.$translate.instant("backup.backup_exceeds_max_size",{maxBackupSizeText:globalThis.backup.maxBackupSizeText,size:`${(p/1048576).toFixed(1)}MB`});this.$toastr.warning(C,this.$translate.instant("toast.title_warning"))}(0,me.saveAs)(e.body,r)},error:e=>{this.clicked=!1,console.error(e),this.$toastr.error(this.$translate.instant("backup.backup_download_failed"),this.$translate.instant("toast.title_error"))}})})}showRestartToast(){if(!this.restartToastIsShown){this.restartToastIsShown=!0;let e=this.$toastr.info(this.$translate.instant("settings.changes.saved"),this.$translate.instant("menu.hbrestart.title"),{timeOut:0,tapToDismiss:!0,disableTimeOut:!0,positionClass:"toast-bottom-right",enableHtml:!0});e&&e.onTap&&e.onTap.subscribe(()=>{this.$router.navigate(["/restart"])})}}Date=Date;static \u0275fac=function(r){return new(r||i)};static \u0275cmp=$({type:i,selectors:[["ng-component"]],decls:70,vars:59,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-hard-drive","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"btn","btn-primary","m-0","ms-3",3,"click","disabled"],[1,"fas","fa-fw",3,"ngClass"],[1,"fas","fa-fw","fa-arrow-right"],[1,"list-group","list-group-box","mt-3","mb-0"],[1,"list-group-item"],[1,"mb-1","text-center"],[1,"mb-0","small","grey-text","text-center"],[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","disableScheduledBackups",1,"rendux-input",3,"formControl"],["for","disableScheduledBackups",1,"rendux-label"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],[1,"modal-footer","justify-content-between"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-end"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["type","text","placeholder","/home/pi/homebridge-backups",1,"form-control","custom-input",3,"formControl"],[1,"small","grey-text","mb-0","text-center"],["container","modal","openDelay","150","triggers","hover",3,"ngbTooltip"],["container","modal","openDelay","150","triggers","hover",1,"red-text",3,"ngbTooltip"],[2,"display","flex","flex-wrap","nowrap"],["placement","bottom","container","modal","openDelay","150","triggers","hover",1,"btn","btn-primary","m-0","ms-3",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-history"],["placement","bottom","container","modal","openDelay","150","triggers","hover",1,"btn","btn-primary","m-0","ms-2",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-download"],["placement","bottom","container","modal","openDelay","150","triggers","hover",1,"btn","btn-danger","m-0","ms-2",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-exclamation-circle"]],template:function(r,p){r&1&&(n(0,"div",0)(1,"div",1)(2,"h5",2),l(3),s(4,"translate"),a(),n(5,"button",3),s(6,"translate"),f("click",function(){return p.$activeModal.dismiss("Dismiss")}),a()(),n(7,"div",4)(8,"div",5),d(9,"i",6),a(),n(10,"ul",7)(11,"li"),l(12),s(13,"translate"),a(),n(14,"li"),l(15),s(16,"translate"),a(),n(17,"li"),l(18),s(19,"translate"),a()(),n(20,"ul",8)(21,"li",9)(22,"div")(23,"span"),l(24),s(25,"translate"),a(),d(26,"br"),n(27,"small",10),l(28),s(29,"translate"),a()(),n(30,"button",11),s(31,"translate"),f("click",function(){return p.onDownloadBackupClick()}),d(32,"i",12),a()(),n(33,"li",9)(34,"div")(35,"span"),l(36),s(37,"translate"),a(),d(38,"br"),n(39,"small",10),l(40),s(41,"translate"),a()(),n(42,"button",11),s(43,"translate"),f("click",function(){return p.restore(null)}),d(44,"i",13),a()()(),n(45,"ul",14)(46,"li",15)(47,"h6",16),l(48),s(49,"translate"),a(),n(50,"p",17),l(51),s(52,"translate"),a()(),n(53,"li",18)(54,"span",19),l(55),s(56,"translate"),a(),n(57,"div",20),d(58,"input",21),s(59,"translate"),d(60,"label",22),a()(),h(61,yt,7,7,"li",23),a(),h(62,Tt,10,5,"ul",14),a(),n(63,"div",24),d(64,"div",19),n(65,"div",25)(66,"button",26),f("click",function(){return p.$activeModal.dismiss("Dismiss")}),l(67),s(68,"translate"),a()(),d(69,"div",27),a()()),r&2&&(t(3),u(o(4,24,"backup.title_backup")),t(2),c("disabled",p.clicked||p.deleting),v("aria-label",o(6,26,"form.button_close")),t(7),u(o(13,28,"backup.backup_help_one")),t(3),u(o(16,30,"backup.backup_help_two")),t(3),u(o(19,32,"backup.backup_warning")),t(6),u(o(25,34,"backup.backup_now")),t(4),u(o(29,36,"backup.backup_now_desc")),t(2),c("disabled",p.clicked),v("aria-label",o(31,38,"backup.backup_now")),t(2),c("ngClass",T(56,ft,!p.clicked,p.clicked)),t(4),u(o(37,40,"backup.restore_now")),t(4),u(o(41,42,"backup.restore_now_desc")),t(2),c("disabled",p.clicked),v("aria-label",o(43,44,"backup.restore_now")),t(6),u(o(49,46,"backup.settings_title")),t(3),u(o(52,48,"form.auto_save")),t(4),u(o(56,50,"backup.settings_enable")),t(3),c("formControl",p.enabledFormControl),v("aria-label",o(59,52,"backup.settings_enable")),t(3),_(p.currentSettingEnabled?61:-1),t(),_(p.scheduledBackups.length?62:-1),t(4),c("disabled",p.clicked||p.deleting),t(),g(" ",o(68,54,"form.button_close")," "))},dependencies:[se,U,Se,F,te,ne,Y,Z,ae],encapsulation:2})}return i})();function $t(i,m){i&1&&(n(0,"div",12),d(1,"i",13),a(),n(2,"p",14),l(3),s(4,"translate"),a()),i&2&&(t(3),u(o(4,1,"reset.no_accessories")))}function Ft(i,m){i&1&&(n(0,"div",12),d(1,"i",15),a(),n(2,"ul",16)(3,"li"),l(4),s(5,"translate"),a(),n(6,"li"),l(7),s(8,"translate"),a(),n(9,"li"),l(10),s(11,"translate"),a()(),n(12,"ngb-alert",17)(13,"p",18),l(14),s(15,"translate"),a()()),i&2&&(t(4),u(o(5,5,"reset.accessory_all.list_1")),t(3),u(o(8,7,"reset.accessory_all.list_2")),t(3),u(o(11,9,"reset.accessory_all.list_3")),t(2),c("dismissible",!1),t(2),u(o(15,11,"reset.action_is_irreversible")))}function Pt(i,m){if(i&1){let e=k();n(0,"button",19),s(1,"translate"),f("click",function(){y(e);let p=b();return I(p.$activeModal.dismiss("Dismiss"))}),l(2),s(3,"translate"),a()}if(i&2){let e=b();c("disabled",e.clicked),v("aria-label",o(1,3,"form.button_close")),t(2),g(" ",o(3,5,"form.button_close")," ")}}function Rt(i,m){if(i&1){let e=k();n(0,"button",20),s(1,"translate"),f("click",function(){y(e);let p=b();return I(p.$activeModal.dismiss("Dismiss"))}),l(2),s(3,"translate"),a()}i&2&&(v("aria-label",o(1,2,"form.button_close")),t(2),g(" ",o(3,4,"form.button_close")," "))}function At(i,m){i&1&&(l(0),s(1,"translate")),i&2&&g(" ",o(1,1,"form.button_remove")," ")}function Dt(i,m){i&1&&d(0,"i",22)}function Mt(i,m){if(i&1){let e=k();n(0,"button",21),f("click",function(){y(e);let p=b();return I(p.onResetCachedAccessoriesClick())}),h(1,At,2,3),h(2,Dt,1,0,"i",22),a()}if(i&2){let e=b();c("disabled",e.clicked),t(),_(e.clicked?-1:1),t(),_(e.clicked?2:-1)}}var Ge=(()=>{class i{$activeModal=x(P);$api=x(D);$router=x(O);$toastr=x(A);$translate=x(R);clicked=!1;cachedAccessories=[];constructor(){}ngOnInit(){this.loadCachedAccessories()}loadCachedAccessories(){return S(this,null,function*(){try{this.cachedAccessories=yield B(this.$api.get("/server/cached-accessories"))}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("reset.error_message"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}onResetCachedAccessoriesClick(){return this.clicked=!0,this.$api.put("/server/reset-cached-accessories",{}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.delete_success"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}})},error:e=>{this.clicked=!1,console.error(e),this.$toastr.error(this.$translate.instant("reset.failed_to_reset"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(r){return new(r||i)};static \u0275cmp=$({type:i,selectors:[["ng-component"]],decls:17,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-circle-check","primary-text",2,"font-size","75px"],[1,"mb-0","text-center"],[1,"fas","fa-fw","fa-network-wired","primary-text",2,"font-size","75px"],[1,"mb-3"],["type","error",1,"mb-0",3,"dismissible"],[1,"text-center","mb-0"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(r,p){r&1&&(n(0,"div",0)(1,"div",1)(2,"h5",2),l(3),s(4,"translate"),a(),n(5,"button",3),s(6,"translate"),f("click",function(){return p.$activeModal.dismiss("Dismiss")}),a()(),n(7,"div",4),h(8,$t,5,3),h(9,Ft,16,13),a(),n(10,"div",5)(11,"div",6),h(12,Pt,4,7,"button",7),a(),n(13,"div",8),h(14,Rt,4,6,"button",9),a(),n(15,"div",10),h(16,Mt,3,3,"button",11),a()()()),r&2&&(t(3),u(o(4,8,"reset.accessory_all.title")),t(2),c("disabled",p.clicked),v("aria-label",o(6,10,"form.button_close")),t(3),_(p.cachedAccessories.length===0?8:-1),t(),_(p.cachedAccessories.length>0?9:-1),t(3),_(p.cachedAccessories.length>0?12:-1),t(2),_(p.cachedAccessories.length===0?14:-1),t(2),_(p.cachedAccessories.length>0?16:-1))},dependencies:[re,F],encapsulation:2})}return i})();var Vt=(i,m)=>({"green-text":i,"grey-text":m}),Nt=(i,m)=>({"btn-danger":i,"btn-elegant":m}),Lt=(i,m,e)=>({"fa-broom":i,"fa-undo":m,"fa-spinner fa-pulse":e});function Ot(i,m){i&1&&(n(0,"div",12),d(1,"i",13),a(),n(2,"p",14),l(3),s(4,"translate"),a()),i&2&&(t(3),u(o(4,1,"reset.bridge_accessories.empty")))}function zt(i,m){if(i&1){let e=k();n(0,"li",18)(1,"span"),l(2),d(3,"br"),n(4,"small",19),d(5,"i",20),l(6),s(7,"translate"),n(8,"span",21),l(9),a()()(),n(10,"button",22),s(11,"translate"),f("click",function(){let p=y(e).$implicit,C=b(2);return I(C.toggleList(p._id))}),d(12,"i",23),a()()}if(i&2){let e=m.$implicit,r=b(2);t(2),g(" ",e.name," "),t(3),c("ngClass",T(12,Vt,e._isPaired,!e._isPaired)),t(),g(" ",o(7,8,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),u(e._username),t(),c("disabled",r.clicked)("ngClass",T(15,Nt,!r.toDelete.includes(e._id),r.toDelete.includes(e._id))),v("aria-label",o(11,10,"form.button_delete")),t(2),c("ngClass",J(18,Lt,!r.toDelete.includes(e._id),r.toDelete.includes(e._id)&&!r.clicked,r.toDelete.includes(e._id)&&r.clicked))}}function Ut(i,m){if(i&1&&(n(0,"div",12),d(1,"i",15),a(),n(2,"ul",16)(3,"li"),l(4),s(5,"translate"),a(),n(6,"li"),l(7),s(8,"translate"),a(),n(9,"li"),l(10),s(11,"translate"),a()(),n(12,"ul",17),N(13,zt,13,22,"li",18,V),a()),i&2){let e=b();t(4),u(o(5,3,"reset.bridge_accessories.list_1")),t(3),u(o(8,5,"reset.clear_cache_single.list_3")),t(3),u(o(11,7,"reset.bridge_accessories.list_2")),t(3),L(e.pairings)}}function Ht(i,m){if(i&1){let e=k();n(0,"button",24),f("click",function(){y(e);let p=b();return I(p.$activeModal.dismiss("Dismiss"))}),l(1),s(2,"translate"),a()}if(i&2){let e=b();c("disabled",e.clicked),t(),g(" ",o(2,2,"form.button_close")," ")}}function Wt(i,m){if(i&1){let e=k();n(0,"button",25),f("click",function(){y(e);let p=b();return I(p.$activeModal.dismiss("Dismiss"))}),l(1),s(2,"translate"),a()}i&2&&(t(),g(" ",o(2,1,"form.button_close")," "))}function Kt(i,m){if(i&1&&l(0),i&2){let e=b(3);g(" (",e.toDelete.length,") ")}}function Gt(i,m){if(i&1&&(l(0),s(1,"translate"),h(2,Kt,1,1)),i&2){let e=b(2);g(" ",o(1,2,"form.button_remove")," "),t(2),_(e.toDelete.length>0?2:-1)}}function jt(i,m){i&1&&d(0,"i",27)}function qt(i,m){if(i&1){let e=k();n(0,"button",26),f("click",function(){y(e);let p=b();return I(p.cleanBridges())}),h(1,Gt,3,4),h(2,jt,1,0,"i",27),a()}if(i&2){let e=b();c("disabled",!e.toDelete.length||e.clicked),t(),_(e.clicked?-1:1),t(),_(e.clicked?2:-1)}}var je=(()=>{class i{$activeModal=x(P);$api=x(D);$router=x(O);$toastr=x(A);$translate=x(R);clicked=!1;pairings=[];toDelete=[];constructor(){}ngOnInit(){this.loadPairings()}loadPairings(){return S(this,null,function*(){try{this.pairings=(yield B(this.$api.get("/server/pairings"))).filter(e=>e._category==="bridge"&&!e._main).sort((e,r)=>e.name.localeCompare(r.name))}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.load_error"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}toggleList(e){this.toDelete.includes(e)?this.toDelete=this.toDelete.filter(r=>r!==e):this.toDelete.push(e)}cleanBridges(){return this.clicked=!0,this.$api.delete("/server/pairings/accessories",{body:this.toDelete.map(e=>({id:e}))}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.accessory_ind.done"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}})},error:e=>{this.clicked=!1,console.error(e),this.$toastr.error(this.$translate.instant("reset.accessory_ind.fail"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(r){return new(r||i)};static \u0275cmp=$({type:i,selectors:[["ng-component"]],decls:17,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-circle-check","primary-text",2,"font-size","75px"],[1,"mb-0","text-center"],[1,"fas","fa-fw","fa-broom","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"fas","fa-fw","fa-link",3,"ngClass"],[1,"font-monospace"],[1,"btn","btn-danger","m-0","ms-3",3,"click","disabled","ngClass"],[1,"fas","fa-fw",3,"ngClass"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(r,p){r&1&&(n(0,"div",0)(1,"div",1)(2,"h5",2),l(3),s(4,"translate"),a(),n(5,"button",3),s(6,"translate"),f("click",function(){return p.$activeModal.dismiss("Dismiss")}),a()(),n(7,"div",4),h(8,Ot,5,3),h(9,Ut,15,9),a(),n(10,"div",5)(11,"div",6),h(12,Ht,3,4,"button",7),a(),n(13,"div",8),h(14,Wt,3,3,"button",9),a(),n(15,"div",10),h(16,qt,3,3,"button",11),a()()()),r&2&&(t(3),u(o(4,8,"reset.bridge_accessories.title")),t(2),c("disabled",p.clicked),v("aria-label",o(6,10,"form.button_close")),t(3),_(p.pairings.length===0?8:-1),t(),_(p.pairings.length>0?9:-1),t(3),_(p.pairings.length>0?12:-1),t(2),_(p.pairings.length===0?14:-1),t(2),_(p.pairings.length>0?16:-1))},dependencies:[U,F],encapsulation:2})}return i})();function Qt(i,m){i&1&&(l(0),s(1,"translate")),i&2&&g(" ",o(1,1,"form.button_reset")," ")}function Jt(i,m){i&1&&d(0,"i",16)}var qe=(()=>{class i{$activeModal=x(P);$api=x(D);$route=x(O);$toastr=x(A);$translate=x(R);clicked;constructor(){}onResetHomebridgeAccessoryClick(){return this.clicked=!0,this.$api.put("/server/reset-homebridge-accessory",{}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.accessory_reset"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$route.navigate(["/restart"])},error:e=>{console.error(e),this.$toastr.error(this.$translate.instant("reset.failed_to_reset"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(r){return new(r||i)};static \u0275cmp=$({type:i,selectors:[["ng-component"]],decls:38,vars:33,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-bridge","primary-text",2,"font-size","75px"],[1,"mb-3"],["type","error",1,"mb-0",3,"dismissible"],[1,"text-center","mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(r,p){r&1&&(n(0,"div",0)(1,"div",1)(2,"h5",2),l(3),s(4,"translate"),a(),n(5,"button",3),s(6,"translate"),f("click",function(){return p.$activeModal.dismiss("Dismiss")}),a()(),n(7,"div",4)(8,"div",5),d(9,"i",6),a(),n(10,"ul",7)(11,"li"),l(12),s(13,"translate"),a(),n(14,"li"),l(15),s(16,"translate"),a(),n(17,"li"),l(18),s(19,"translate"),a(),n(20,"li"),l(21),s(22,"translate"),a()(),n(23,"ngb-alert",8)(24,"p",9),l(25),s(26,"translate"),a()()(),n(27,"div",10)(28,"div",11)(29,"button",12),s(30,"translate"),f("click",function(){return p.$activeModal.dismiss("Dismiss")}),l(31),s(32,"translate"),a()(),d(33,"div",13),n(34,"div",14)(35,"button",15),f("click",function(){return p.onResetHomebridgeAccessoryClick()}),h(36,Qt,2,3),h(37,Jt,1,0,"i",16),a()()()()),r&2&&(t(3),u(o(4,15,"reset.bridge_all.title")),t(2),c("disabled",p.clicked),v("aria-label",o(6,17,"form.button_close")),t(7),u(o(13,19,"reset.bridge_all.list_1")),t(3),u(o(16,21,"reset.bridge_all.list_2")),t(3),u(o(19,23,"reset.bridge_all.list_3")),t(3),u(o(22,25,"reset.bridge_all.list_4")),t(2),c("dismissible",!1),t(2),u(o(26,27,"reset.action_is_irreversible")),t(4),c("disabled",p.clicked),v("aria-label",o(30,29,"form.button_close")),t(2),g(" ",o(32,31,"form.button_close")," "),t(4),c("disabled",p.clicked),t(),_(p.clicked?-1:36),t(),_(p.clicked?37:-1))},dependencies:[re,F],encapsulation:2})}return i})();var ue=(i,m)=>({"green-text":i,"grey-text":m}),he=(i,m)=>({"btn-danger":i,"btn-elegant":m}),Qe=(i,m,e)=>({"fa-refresh":i,"fa-undo":m,"fa-spinner fa-pulse":e}),Xt=(i,m,e)=>({"fa-trash":i,"fa-undo":m,"fa-spinner fa-pulse":e});function Yt(i,m){i&1&&(n(0,"div",12),d(1,"i",13),a(),n(2,"p",14),l(3),s(4,"translate"),a()),i&2&&(t(3),u(o(4,1,"reset.bridges.empty")))}function Zt(i,m){if(i&1){let e=k();n(0,"li",20)(1,"span"),l(2),d(3,"br"),n(4,"small",21),d(5,"i",22),l(6),s(7,"translate"),n(8,"span",23),l(9),a(),l(10),s(11,"titlecase"),a()(),n(12,"button",24),s(13,"translate"),f("click",function(){let p=y(e).$implicit,C=b(3);return I(C.toggleList(p._id,!1))}),d(14,"i",25),a()()}if(i&2){let e=m.$implicit,r=b(3);t(2),g(" ",e.name," "),t(3),c("ngClass",T(15,ue,e._isPaired,!e._isPaired)),t(),g(" ",o(7,9,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),u(e._username),t(),g(" \xB7 ",e._main?"Homebridge":o(11,11,e._category)," "),t(2),c("disabled",r.clicked)("ngClass",T(18,he,!r.isInList(e._id),r.isInList(e._id))),v("aria-label",o(13,13,"form.button_unpair")),t(2),c("ngClass",J(21,Qe,!r.isInList(e._id),r.isInList(e._id)&&!r.clicked,r.isInList(e._id)&&r.clicked))}}function ei(i,m){if(i&1&&(n(0,"ul",16)(1,"li",17)(2,"h6",18),l(3),s(4,"translate"),a(),n(5,"p",19),l(6),s(7,"translate"),a()(),N(8,Zt,15,25,"li",20,V),a()),i&2){let e=b(2);t(3),u(o(4,2,"reset.bridge_ind.head_non_child")),t(3),u(o(7,4,"reset.bridge_ind.desc_non_child")),t(2),L(e.pairingsNonChild)}}function ti(i,m){if(i&1){let e=k();n(0,"li",20)(1,"span"),l(2),d(3,"br"),n(4,"small",21),d(5,"i",22),l(6),s(7,"translate"),n(8,"span",23),l(9),a()()(),n(10,"button",24),s(11,"translate"),f("click",function(){let p=y(e).$implicit,C=b(3);return I(C.toggleList(p._id,!0))}),d(12,"i",25),a()()}if(i&2){let e=m.$implicit,r=b(3);t(2),g(" ",e.name," "),t(3),c("ngClass",T(12,ue,e._isPaired,!e._isPaired)),t(),g(" ",o(7,8,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),u(e._username),t(),c("disabled",r.clicked)("ngClass",T(15,he,!r.isInList(e._id),r.isInList(e._id))),v("aria-label",o(11,10,"form.button_unpair")),t(2),c("ngClass",J(18,Qe,!r.isInList(e._id),r.isInList(e._id)&&!r.clicked,r.isInList(e._id)&&r.clicked))}}function ii(i,m){if(i&1&&(n(0,"ul",16)(1,"li",17)(2,"h6",18),l(3),s(4,"translate"),a(),n(5,"p",19),l(6),s(7,"translate"),a()(),N(8,ti,13,22,"li",20,V),a()),i&2){let e=b(2);t(3),u(o(4,2,"reset.bridge_ind.head_child_active")),t(3),u(o(7,4,"reset.bridge_ind.desc_child_active")),t(2),L(e.pairingsChildActive)}}function ni(i,m){if(i&1){let e=k();n(0,"li",20)(1,"span"),l(2),d(3,"br"),n(4,"small",21),d(5,"i",22),l(6),s(7,"translate"),n(8,"span",23),l(9),a()()(),n(10,"button",24),s(11,"translate"),f("click",function(){let p=y(e).$implicit,C=b(3);return I(C.toggleList(p._id,!1))}),d(12,"i",25),a()()}if(i&2){let e=m.$implicit,r=b(3);t(2),g(" ",e.name," "),t(3),c("ngClass",T(12,ue,e._isPaired,!e._isPaired)),t(),g(" ",o(7,8,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),u(e._username),t(),c("disabled",r.clicked)("ngClass",T(15,he,!r.isInList(e._id),r.isInList(e._id))),v("aria-label",o(11,10,"form.button_unpair")),t(2),c("ngClass",J(18,Xt,!r.isInList(e._id),r.isInList(e._id)&&!r.clicked,r.isInList(e._id)&&r.clicked))}}function ai(i,m){if(i&1&&(n(0,"ul",16)(1,"li",17)(2,"h6",18),l(3),s(4,"translate"),a(),n(5,"p",19),l(6),s(7,"translate"),a()(),N(8,ni,13,22,"li",20,V),a()),i&2){let e=b(2);t(3),u(o(4,2,"reset.bridge_ind.head_child_stale")),t(3),u(o(7,4,"reset.bridge_ind.desc_child_stale")),t(2),L(e.pairingsChildStale)}}function ri(i,m){if(i&1&&(n(0,"div",12),d(1,"i",15),a(),h(2,ei,10,6,"ul",16),h(3,ii,10,6,"ul",16),h(4,ai,10,6,"ul",16)),i&2){let e=b();t(2),_(e.pairingsNonChild.length>0?2:-1),t(),_(e.pairingsChildActive.length>0?3:-1),t(),_(e.pairingsChildStale.length>0?4:-1)}}function si(i,m){if(i&1){let e=k();n(0,"button",26),f("click",function(){y(e);let p=b();return I(p.$activeModal.dismiss("Dismiss"))}),l(1),s(2,"translate"),a()}if(i&2){let e=b();c("disabled",e.clicked),t(),g(" ",o(2,2,"form.button_close")," ")}}function oi(i,m){if(i&1){let e=k();n(0,"button",27),f("click",function(){y(e);let p=b();return I(p.$activeModal.dismiss("Dismiss"))}),l(1),s(2,"translate"),a()}i&2&&(t(),g(" ",o(2,1,"form.button_close")," "))}function li(i,m){if(i&1&&l(0),i&2){let e=b(3);g(" (",e.toDelete.length,") ")}}function pi(i,m){if(i&1&&(l(0),s(1,"translate"),h(2,li,1,1)),i&2){let e=b(2);g(" ",o(1,2,"form.button_reset")," "),t(2),_(e.toDelete.length>0?2:-1)}}function di(i,m){i&1&&d(0,"i",29)}function ci(i,m){if(i&1){let e=k();n(0,"button",28),f("click",function(){y(e);let p=b();return I(p.removeBridges())}),h(1,pi,3,4),h(2,di,1,0,"i",29),a()}if(i&2){let e=b();c("disabled",!e.toDelete.length||e.clicked),t(),_(e.clicked?-1:1),t(),_(e.clicked?2:-1)}}var Je=(()=>{class i{$activeModal=x(P);$api=x(D);$router=x(O);$toastr=x(A);$translate=x(R);clicked=!1;pairingsNonChild=[];pairingsChildActive=[];pairingsChildStale=[];toDelete=[];constructor(){}ngOnInit(){this.loadPairings()}loadPairings(){return S(this,null,function*(){try{let e=(yield B(this.$api.get("/server/pairings"))).filter(r=>!r._main).sort((r,p)=>r.name.localeCompare(p.name));this.pairingsChildActive=e.filter(r=>r._category==="bridge"&&!r._couldBeStale),this.pairingsNonChild=e.filter(r=>r._category!=="bridge"),this.pairingsChildStale=e.filter(r=>r._category==="bridge"&&r._couldBeStale)}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.load_error"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}toggleList(e,r=!1){this.toDelete.some(p=>p.id===e)?this.toDelete=this.toDelete.filter(p=>p.id!==e):this.toDelete.push({id:e,resetPairingInfo:r})}isInList(e){return this.toDelete.some(r=>r.id===e)}removeBridges(){return this.clicked=!0,this.$api.delete("/server/pairings",{body:this.toDelete}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.bridge_ind.done"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}})},error:e=>{this.clicked=!1,console.error(e),this.$toastr.error(this.$translate.instant("reset.bridge_ind.fail"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(r){return new(r||i)};static \u0275cmp=$({type:i,selectors:[["ng-component"]],decls:17,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-circle-check","primary-text",2,"font-size","75px"],[1,"text-center","mb-0"],[1,"fas","fa-fw","fa-bridge","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mt-3","mb-0"],[1,"list-group-item"],[1,"mb-1","text-center"],[1,"mb-0","small","grey-text","text-center"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"fas","fa-fw","fa-link",3,"ngClass"],[1,"font-monospace"],[1,"btn","btn-danger","m-0","ms-3",3,"click","disabled","ngClass"],[1,"fas","fa-fw",3,"ngClass"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(r,p){r&1&&(n(0,"div",0)(1,"div",1)(2,"h5",2),l(3),s(4,"translate"),a(),n(5,"button",3),s(6,"translate"),f("click",function(){return p.$activeModal.dismiss("Dismiss")}),a()(),n(7,"div",4),h(8,Yt,5,3),h(9,ri,5,3),a(),n(10,"div",5)(11,"div",6),h(12,si,3,4,"button",7),a(),n(13,"div",8),h(14,oi,3,3,"button",9),a(),n(15,"div",10),h(16,ci,3,3,"button",11),a()()()),r&2&&(t(3),u(o(4,8,"reset.bridge_ind.title")),t(2),c("disabled",p.clicked),v("aria-label",o(6,10,"form.button_close")),t(3),_(p.pairingsChildActive.length===0&&p.pairingsChildStale.length===0&&p.pairingsNonChild.length===0?8:-1),t(),_(p.pairingsChildActive.length>0||p.pairingsChildStale.length>0||p.pairingsNonChild.length>0?9:-1),t(3),_(p.pairingsChildActive.length>0||p.pairingsChildStale.length>0||p.pairingsNonChild.length>0?12:-1),t(2),_(p.pairingsChildActive.length===0&&p.pairingsChildStale.length===0&&p.pairingsNonChild.length===0?14:-1),t(2),_(p.pairingsChildActive.length>0||p.pairingsChildStale.length>0||p.pairingsNonChild.length>0?16:-1))},dependencies:[U,X,F],encapsulation:2})}return i})();function mi(i,m){if(i&1){let e=k();n(0,"li",9)(1,"div")(2,"span",16),l(3),a(),d(4,"br"),n(5,"span",17),l(6),a()(),n(7,"span")(8,"input",18),xe("ngModelChange",function(p){let C=y(e).$implicit;return Ce(C.selected,p)||(C.selected=p),I(p)}),f("ngModelChange",function(){y(e);let p=b();return I(p.onAdapterSelectionChange())}),a(),d(9,"label",19),a()()}if(i&2){let e=m.$implicit;t(3),u(e.ip4||e.ip6),t(3),u(e.iface),t(2),c("id","adapter"+e.iface),fe("ngModel",e.selected),t(),c("for","adapter"+e.iface)}}var Xe=(()=>{class i{$activeModal=x(P);adaptersAvailable=[];adaptersOriginal=[];isUnchanged=!0;constructor(){}ngOnInit(){this.adaptersOriginal=this.adaptersAvailable.filter(e=>e.selected).map(e=>e.iface)}onAdapterSelectionChange(){this.isUnchanged=this.adaptersOriginal.length===this.adaptersAvailable.filter(e=>e.selected).length&&this.adaptersOriginal.every(e=>this.adaptersAvailable.some(r=>r.iface===e&&r.selected))}submit(){this.$activeModal.close(this.adaptersAvailable.filter(e=>e.selected).map(e=>e.iface))}static \u0275fac=function(r){return new(r||i)};static \u0275cmp=$({type:i,selectors:[["ng-component"]],inputs:{adaptersAvailable:"adaptersAvailable"},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-ethernet","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[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"],[1,"font-monospace"],[1,"font-monospace","grey-text"],["type","checkbox",1,"rendux-input",3,"ngModelChange","id","ngModel"],[1,"rendux-label","ms-3",3,"for"]],template:function(r,p){r&1&&(n(0,"div",0)(1,"div",1)(2,"h5",2),l(3),s(4,"translate"),a(),n(5,"button",3),s(6,"translate"),f("click",function(){return p.$activeModal.dismiss("Dismiss")}),a()(),n(7,"div",4)(8,"div",5),d(9,"i",6),a(),n(10,"ul",7)(11,"li"),l(12),s(13,"translate"),a()(),n(14,"ul",8),N(15,mi,10,5,"li",9,V),a()(),n(17,"div",10)(18,"div",11)(19,"button",12),s(20,"translate"),f("click",function(){return p.$activeModal.dismiss("Dismiss")}),l(21),s(22,"translate"),a()(),d(23,"div",13),n(24,"div",14)(25,"button",15),f("click",function(){return p.submit()}),l(26),s(27,"translate"),a()()()()),r&2&&(t(3),u(o(4,7,"settings.network.title_network_interfaces")),t(2),v("aria-label",o(6,9,"form.button_close")),t(7),u(o(13,11,"settings.network.message_network_interface")),t(3),L(p.adaptersAvailable),t(4),v("aria-label",o(20,13,"form.button_close")),t(2),g(" ",o(22,15,"form.button_close")," "),t(4),c("disabled",p.isUnchanged),t(),g(" ",o(27,17,"form.button_save")," "))},dependencies:[ee,Y,Z,Ee,F],encapsulation:2})}return i})();var ui=["wallpaperInput"],hi=i=>({maxFileSizeText:i});function _i(i,m){if(i&1){let e=k();n(0,"div",10),d(1,"img",20),n(2,"button",21),s(3,"translate"),f("click",function(){y(e);let p=b();return I(p.clearWallpaper())}),d(4,"i",22),a()()}if(i&2){let e=b();t(),c("src",e.wallpaperUrl,_e),t(),v("aria-label",o(3,2,"form.button_delete"))}}function gi(i,m){i&1&&d(0,"div",11)}var Ye=(()=>{class i{$activeModal=x(P);$api=x(D);$modal=x(G);$settings=x(j);$toastr=x(A);$translate=x(R);clicked=!1;maxFileSizeText=globalThis.backup.maxBackupSizeText;selectedFile;wallpaperUrl=null;originalWallpaperUrl=null;wallpaperInput;constructor(){}ngOnInit(){this.$settings.env.customWallpaperHash&&(this.wallpaperUrl=`${Me.api.base}/auth/wallpaper/${this.$settings.env.customWallpaperHash}`,this.originalWallpaperUrl=this.wallpaperUrl)}onFileChange(e){if(e.length){this.selectedFile=e[0];let r=new FileReader;r.onload=p=>{this.wallpaperUrl=p.target.result},r.readAsDataURL(this.selectedFile)}else delete this.selectedFile,this.wallpaperUrl=this.originalWallpaperUrl}saveWallpaper(){if(this.clicked=!0,this.selectedFile){let e=new FormData;e.append("wallpaper",this.selectedFile,this.selectedFile.name),this.$api.post("/server/wallpaper",e).subscribe({next:()=>{this.$settings.setItem("wallpaper",`ui-wallpaper.${this.selectedFile.name.split(".").pop()}`),this.$activeModal.close(),this.$toastr.success(this.$translate.instant("settings.display.wallpaper_success"),this.$translate.instant("toast.title_success"))},error:r=>{console.error(r),this.$toastr.error(r.error?.message,this.$translate.instant("toast.title_error")),this.clicked=!1}})}else this.$api.delete("/server/wallpaper").subscribe({next:()=>{this.$activeModal.close()},error:e=>{console.error(e),this.$toastr.error(e.error?.message,this.$translate.instant("toast.title_error")),this.clicked=!1}})}clearWallpaper(){this.selectedFile=null,this.wallpaperUrl=this.wallpaperUrl===this.originalWallpaperUrl?null:this.originalWallpaperUrl,this.wallpaperInput.nativeElement.value=""}cancel(){this.$activeModal.dismiss()}static \u0275fac=function(r){return new(r||i)};static \u0275cmp=$({type:i,selectors:[["ng-component"]],viewQuery:function(r,p){if(r&1&&ge(ui,5),r&2){let C;be(C=ve())&&(p.wallpaperInput=C.first)}},decls:36,vars:28,consts:[["wallpaperInput",""],[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-image","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"mb-3","text-center"],[1,"position-relative","d-inline-block"],[1,"gradient","anim","rounded",2,"height","200px","width","350px","margin","0 auto"],[1,"mb-0"],["type","file","id","wallpaper","accept","image/*",1,"form-control",3,"change"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],["alt","Current Wallpaper",1,"img-fluid","rounded","mx-auto","d-block",2,"height","200px",3,"src"],[1,"btn","btn-danger","position-absolute",2,"top","10px","right","10px",3,"click"],[1,"fas","fa-fw","fa-trash"]],template:function(r,p){if(r&1){let C=k();n(0,"div",1)(1,"div",2)(2,"h5",3),l(3),s(4,"translate"),a(),n(5,"button",4),s(6,"translate"),f("click",function(){return y(C),I(p.$activeModal.dismiss("Dismiss"))}),a()(),n(7,"div",5)(8,"div",6),d(9,"i",7),a(),n(10,"ul",8)(11,"li"),l(12),s(13,"translate"),a(),n(14,"li"),l(15),s(16,"translate"),a(),n(17,"li"),l(18),s(19,"translate"),a()(),n(20,"div",9),h(21,_i,5,4,"div",10)(22,gi,1,0,"div",11),a(),n(23,"div",12)(24,"input",13,0),f("change",function(H){return y(C),I(p.onFileChange(H.target.files))}),a()()(),n(26,"div",14)(27,"div",15)(28,"button",16),f("click",function(){return y(C),I(p.cancel())}),l(29),s(30,"translate"),a()(),d(31,"div",17),n(32,"div",18)(33,"button",19),f("click",function(){return y(C),I(p.saveWallpaper())}),l(34),s(35,"translate"),a()()()()}r&2&&(t(3),u(o(4,11,"settings.display.wallpaper")),t(2),c("disabled",p.clicked),v("aria-label",o(6,13,"form.button_close")),t(7),u(o(13,15,"settings.display.wallpaper_intro")),t(3),u(z(16,17,"settings.display.wallpaper_rule",M(26,hi,p.maxFileSizeText))),t(3),u(o(19,20,"settings.display.wallpaper_rule2")),t(3),_(p.wallpaperUrl?21:22),t(7),c("disabled",p.clicked),t(),g(" ",o(30,22,"form.button_close")," "),t(4),c("disabled",p.wallpaperUrl===p.originalWallpaperUrl||p.clicked),t(),g(" ",o(35,24,"form.button_save")," "))},dependencies:[te,F],styles:[".anim[_ngcontent-%COMP%]{-webkit-animation:_ngcontent-%COMP%_gradient 20s ease infinite;-moz-animation:gradient 20s ease infinite;-o-animation:gradient 20s ease infinite;animation:_ngcontent-%COMP%_gradient 20s ease infinite}@keyframes _ngcontent-%COMP%_gradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}"]})}return i})();var Q=(i,m)=>({"fa-chevron-down":i,"fa-chevron-right":m}),q=i=>({"is-invalid":i}),bi=i=>({link:i}),vi=(i,m)=>({"badge-danger":i,"badge-info":m});function fi(i,m){i&1&&d(0,"app-spinner")}function Ci(i,m){i&1&&d(0,"i",17),i&2&&c("@fadeInOut",void 0)}function xi(i,m){if(i&1){let e=k();n(0,"ul",5)(1,"li",14)(2,"span"),l(3),s(4,"translate"),a(),n(5,"div",15),d(6,"input",16),s(7,"translate"),h(8,Ci,1,1,"i",17),a()(),n(9,"li",18)(10,"span",19),l(11),s(12,"translate"),a(),n(13,"button",20),s(14,"translate"),f("click",function(){y(e);let p=b();return I(p.openBackupModal())}),d(15,"i",21),a()(),n(16,"li",18)(17,"span",19),l(18),s(19,"translate"),a(),n(20,"a",22),s(21,"translate"),d(22,"i",21),a()()()}if(i&2){let e=b();t(3),u(o(4,9,"settings.name")),t(3),c("formControl",e.hbNameFormControl)("ngClass",M(21,q,e.hbNameIsInvalid)),v("aria-label",o(7,11,"settings.name")),t(2),_(e.hbNameIsSaving?8:-1),t(3),g(" ",o(12,13,"backup.title_backup")," "),t(2),v("aria-label",o(14,15,"backup.title_backup")),t(5),g(" ",o(19,17,"menu.tooltip_user_accounts")," "),t(2),v("aria-label",o(21,19,"menu.tooltip_user_accounts"))}}function Si(i,m){i&1&&d(0,"i",17),i&2&&c("@fadeInOut",void 0)}function yi(i,m){i&1&&d(0,"i",17),i&2&&c("@fadeInOut",void 0)}function Ii(i,m){i&1&&d(0,"i",17),i&2&&c("@fadeInOut",void 0)}function ki(i,m){i&1&&d(0,"i",17),i&2&&c("@fadeInOut",void 0)}function wi(i,m){i&1&&d(0,"i",17),i&2&&c("@fadeInOut",void 0)}function Ei(i,m){if(i&1){let e=k();n(0,"ul",6)(1,"li",14),l(2),s(3,"translate"),n(4,"div",23)(5,"select",24)(6,"option",25),l(7),s(8,"translate"),a(),n(9,"option",26),l(10,"Bulgarian (bg)"),a(),n(11,"option",27),l(12,"Catalan (ca)"),a(),n(13,"option",28),l(14,"Chinese - Simplified (zh-CN)"),a(),n(15,"option",29),l(16,"Chinese - Traditional (zh-TW)"),a(),n(17,"option",30),l(18,"Czech (cs)"),a(),n(19,"option",31),l(20,"Dutch (nl)"),a(),n(21,"option",32),l(22,"English (en)"),a(),n(23,"option",33),l(24,"Finnish (fi)"),a(),n(25,"option",34),l(26,"French (fr)"),a(),n(27,"option",35),l(28,"German (de)"),a(),n(29,"option",36),l(30,"Hebrew (he)"),a(),n(31,"option",37),l(32,"Hungarian (hu)"),a(),n(33,"option",38),l(34,"Indonesian (id)"),a(),n(35,"option",39),l(36,"Italian (it)"),a(),n(37,"option",40),l(38,"Japanese (ja)"),a(),n(39,"option",41),l(40,"Korean (ko)"),a(),n(41,"option",42),l(42,"Macedonian (mk)"),a(),n(43,"option",43),l(44,"Norwegian (no)"),a(),n(45,"option",44),l(46,"Polish (pl)"),a(),n(47,"option",45),l(48,"Portuguese (Brazil)"),a(),n(49,"option",46),l(50,"Portuguese (Portugal)"),a(),n(51,"option",47),l(52,"Russian (ru)"),a(),n(53,"option",48),l(54,"Slovenian (sl)"),a(),n(55,"option",49),l(56,"Spanish (es)"),a(),n(57,"option",50),l(58,"Swedish (sv)"),a(),n(59,"option",51),l(60,"Thai (th)"),a(),n(61,"option",52),l(62,"Turkish (tr)"),a(),n(63,"option",53),l(64,"Ukrainian (uk)"),a()(),h(65,Si,1,1,"i",17),a()(),n(66,"li",14),l(67),s(68,"translate"),n(69,"div",23)(70,"select",24)(71,"option",54),l(72),s(73,"translate"),a(),n(74,"option",55),l(75),s(76,"translate"),a(),n(77,"option",56),l(78),s(79,"translate"),a(),n(80,"option",57),l(81),s(82,"translate"),a(),n(83,"option",58),l(84),s(85,"translate"),a(),n(86,"option",59),l(87),s(88,"translate"),a(),n(89,"option",60),l(90),s(91,"translate"),a(),n(92,"option",61),l(93),s(94,"translate"),a(),n(95,"option",62),l(96),s(97,"translate"),a(),n(98,"option",63),l(99),s(100,"translate"),a(),n(101,"option",64),l(102),s(103,"translate"),a(),n(104,"option",65),l(105),s(106,"translate"),a(),n(107,"option",66),l(108),s(109,"translate"),a()(),h(110,yi,1,1,"i",17),a()(),n(111,"li",14),l(112),s(113,"translate"),n(114,"div",23)(115,"select",24)(116,"option",25),l(117),s(118,"translate"),a(),n(119,"option",67),l(120),s(121,"translate"),a(),n(122,"option",68),l(123),s(124,"translate"),a()(),h(125,Ii,1,1,"i",17),a()(),n(126,"li",14),l(127),s(128,"translate"),n(129,"div",23)(130,"select",24)(131,"option",69),l(132),s(133,"translate"),a(),n(134,"option",70),l(135),s(136,"translate"),a()(),h(137,ki,1,1,"i",17),a()(),n(138,"li",14),l(139),s(140,"translate"),n(141,"div",23)(142,"select",24)(143,"option",71),l(144),s(145,"translate"),a(),n(146,"option",72),l(147),s(148,"translate"),a()(),h(149,wi,1,1,"i",17),a()(),n(150,"li",18)(151,"span",19),l(152),s(153,"translate"),a(),n(154,"button",20),s(155,"translate"),f("click",function(){y(e);let p=b();return I(p.openWallpaperModal())}),d(156,"i",21),a()()()}if(i&2){let e=b();t(2),g(" ",o(3,38,"settings.display.lang")," "),t(3),c("formControl",e.uiLangFormControl),t(2),u(o(8,40,"form.select.auto")),t(58),_(e.uiLangIsSaving?65:-1),t(2),g(" ",o(68,42,"settings.display.theme")," "),t(3),c("formControl",e.uiThemeFormControl),t(2),u(o(73,44,"settings.display.orange")),t(3),u(o(76,46,"settings.display.red")),t(3),u(o(79,48,"settings.display.pink")),t(3),u(o(82,50,"settings.display.purple")),t(3),u(o(85,52,"settings.display.deep_purple")),t(3),u(o(88,54,"settings.display.indigo")),t(3),u(o(91,56,"settings.display.blue")),t(3),u(o(94,58,"settings.display.bluegrey")),t(3),u(o(97,60,"settings.display.cyan")),t(3),u(o(100,62,"settings.display.green")),t(3),u(o(103,64,"settings.display.teal")),t(3),u(o(106,66,"settings.display.grey")),t(3),u(o(109,68,"settings.display.brown")),t(2),_(e.uiThemeIsSaving?110:-1),t(2),g(" ",o(113,70,"settings.display.lighting_mode")," "),t(3),c("formControl",e.uiLightFormControl),t(2),u(o(118,72,"form.select.auto")),t(3),u(o(121,74,"settings.display.light")),t(3),u(o(124,76,"settings.display.dark")),t(2),_(e.uiLightIsSaving?125:-1),t(2),g(" ",o(128,78,"settings.display.menu_mode")," "),t(3),c("formControl",e.uiMenuFormControl),t(2),u(o(133,80,"settings.display.menu_default")),t(3),u(o(136,82,"settings.display.menu_freeze")),t(2),_(e.uiMenuIsSaving?137:-1),t(2),g(" ",o(140,84,"settings.display.temp_units")," "),t(3),c("formControl",e.uiTempFormControl),t(2),u(o(145,86,"settings.display.temp_units.c")),t(3),u(o(148,88,"settings.display.temp_units.f")),t(2),_(e.uiTempIsSaving?149:-1),t(3),u(o(153,90,"settings.display.wallpaper")),t(2),v("aria-label",o(155,92,"settings.display.wallpaper"))}}function Bi(i,m){i&1&&d(0,"i",17),i&2&&c("@fadeInOut",void 0)}function Ti(i,m){i&1&&d(0,"i",17),i&2&&c("@fadeInOut",void 0)}function $i(i,m){i&1&&d(0,"i",17),i&2&&c("@fadeInOut",void 0)}function Fi(i,m){i&1&&d(0,"i",17),i&2&&c("@fadeInOut",void 0)}function Pi(i,m){i&1&&d(0,"i",17),i&2&&c("@fadeInOut",void 0)}function Ri(i,m){i&1&&d(0,"i",17),i&2&&c("@fadeInOut",void 0)}function Ai(i,m){i&1&&d(0,"i",17),i&2&&c("@fadeInOut",void 0)}function Di(i,m){i&1&&d(0,"i",17),i&2&&c("@fadeInOut",void 0)}function Mi(i,m){if(i&1&&(n(0,"li",14)(1,"span"),l(2),s(3,"translate"),d(4,"br"),n(5,"small",73),l(6),s(7,"translate"),a()(),n(8,"div",23),d(9,"input",92),s(10,"translate"),h(11,Di,1,1,"i",17),a()()),i&2){let e=b(3);t(2),g(" ",o(3,5,"settings.linux.temp")),t(4),u(o(7,7,"settings.linux.temp_desc")),t(3),c("formControl",e.uiTempFileFormControl),v("aria-label",o(10,9,"settings.linux.temp")),t(2),_(e.uiTempFileIsSaving?11:-1)}}function Vi(i,m){if(i&1&&(n(0,"li",14)(1,"span"),l(2),s(3,"translate"),d(4,"br"),n(5,"small",73),l(6),s(7,"translate"),a()(),n(8,"div",23),d(9,"input",90),s(10,"translate"),h(11,Ri,1,1,"i",17),a()(),n(12,"li",14)(13,"span"),l(14),s(15,"translate"),d(16,"br"),n(17,"small",73),l(18),s(19,"translate"),a()(),n(20,"div",23),d(21,"input",91),s(22,"translate"),h(23,Ai,1,1,"i",17),a()(),h(24,Mi,12,11,"li",14)),i&2){let e=b(2);t(2),g(" ",o(3,11,"settings.linux.shutdown")),t(4),u(o(7,13,"settings.linux.shutdown_desc")),t(3),c("formControl",e.hbLinuxShutdownFormControl),v("aria-label",o(10,15,"settings.linux.shutdown")),t(2),_(e.hbLinuxShutdownIsSaving?11:-1),t(3),g(" ",o(15,17,"settings.linux.restart")),t(4),u(o(19,19,"settings.linux.restart_desc")),t(3),c("formControl",e.hbLinuxRestartFormControl),v("aria-label",o(22,21,"settings.linux.restart")),t(2),_(e.hbLinuxRestartIsSaving?23:-1),t(),_(e.$settings.env.runningOnRaspberryPi?24:-1)}}function Ni(i,m){i&1&&d(0,"i",17),i&2&&c("@fadeInOut",void 0)}function Li(i,m){i&1&&d(0,"i",17),i&2&&c("@fadeInOut",void 0)}function Oi(i,m){i&1&&(n(0,"li",18)(1,"span"),l(2),s(3,"translate"),d(4,"br"),n(5,"small",73),l(6),s(7,"translate"),a()(),n(8,"a",93),s(9,"translate"),d(10,"i",21),a()()),i&2&&(t(2),g(" ",o(3,3,"menu.docker.startup_script")),t(4),u(o(7,5,"platform.docker.script_help")),t(2),v("aria-label",o(9,7,"menu.docker.startup_script")))}function zi(i,m){i&1&&d(0,"i",17),i&2&&c("@fadeInOut",void 0)}function Ui(i,m){i&1&&d(0,"i",17),i&2&&c("@fadeInOut",void 0)}function Hi(i,m){if(i&1&&(n(0,"li",14)(1,"span"),l(2),s(3,"translate"),d(4,"br"),n(5,"small",73),l(6),s(7,"translate"),a()(),n(8,"div",23),d(9,"input",94),s(10,"translate"),h(11,Ui,1,1,"i",17),a()()),i&2){let e=b(2);t(2),g(" ",o(3,6,"settings.startup.log_truncate")),t(4),u(o(7,8,"settings.startup.log_truncate_desc")),t(3),c("formControl",e.hbLogTruncateFormControl)("ngClass",M(12,q,e.hbLogTruncateIsInvalid)),v("aria-label",o(10,10,"settings.startup.log_truncate")),t(2),_(e.hbLogTruncateIsSaving?11:-1)}}function Wi(i,m){if(i&1&&(n(0,"ul",7)(1,"li",18)(2,"span"),l(3),s(4,"translate"),n(5,"code"),l(6,"-D"),a(),d(7,"br"),n(8,"small",73),l(9),s(10,"translate"),a()(),n(11,"div",74)(12,"div",75),d(13,"input",76),s(14,"translate"),d(15,"label",77),a(),h(16,Bi,1,1,"i",17),a()(),n(17,"li",18)(18,"span"),l(19),s(20,"translate"),n(21,"code"),l(22,"-I"),a(),d(23,"br"),n(24,"small",73),l(25),s(26,"translate"),a()(),n(27,"div",74)(28,"div",75),d(29,"input",78),s(30,"translate"),d(31,"label",79),a(),h(32,Ti,1,1,"i",17),a()(),n(33,"li",18)(34,"span"),l(35),s(36,"translate"),n(37,"code"),l(38,"-K"),a(),d(39,"br"),n(40,"small",73),l(41),s(42,"translate"),a()(),n(43,"div",74)(44,"div",75),d(45,"input",80),s(46,"translate"),d(47,"label",81),a(),h(48,$i,1,1,"i",17),a()(),n(49,"li",18)(50,"span"),l(51),s(52,"translate"),d(53,"br"),n(54,"small",73),l(55),s(56,"translate"),a()(),n(57,"div",74)(58,"div",75),d(59,"input",82),s(60,"translate"),d(61,"label",83),a(),h(62,Fi,1,1,"i",17),a()(),n(63,"li",14)(64,"span"),l(65),s(66,"translate"),d(67,"br"),n(68,"small",73),l(69),s(70,"translate"),a()(),n(71,"div",23),d(72,"input",84),s(73,"translate"),h(74,Pi,1,1,"i",17),a()(),h(75,Vi,25,23),n(76,"li",14)(77,"span")(78,"span",85),l(79,"DEBUG"),a(),d(80,"br")(81,"small",86),s(82,"translate"),a(),n(83,"div",23),d(84,"input",87),h(85,Ni,1,1,"i",17),a()(),n(86,"li",14)(87,"span")(88,"span",85),l(89,"NODE_OPTIONS"),a(),d(90,"br"),n(91,"small",73),l(92),s(93,"translate"),a()(),n(94,"div",23),d(95,"input",88),h(96,Li,1,1,"i",17),a()(),h(97,Oi,11,9,"li",18),n(98,"li",14)(99,"span"),l(100),s(101,"translate"),d(102,"br"),n(103,"small",73),l(104),s(105,"translate"),a()(),n(106,"div",23),d(107,"input",89),s(108,"translate"),h(109,zi,1,1,"i",17),a()(),h(110,Hi,12,14,"li",14),a()),i&2){let e=b();t(3),g(" ",o(4,40,"settings.startup.debug")," "),t(6),g(" ",o(10,42,e.isHbV2?"settings.startup.debug_desc_v2":"settings.startup.debug_desc_v1")," "),t(4),c("formControl",e.hbDebugFormControl),v("aria-label",o(14,44,"settings.startup.debug")),t(3),_(e.hbDebugIsSaving?16:-1),t(3),g(" ",o(20,46,"settings.startup.insecure")," "),t(6),u(o(26,48,"settings.startup.insecure_desc")),t(4),c("formControl",e.hbInsecureFormControl),v("aria-label",o(30,50,"settings.startup.insecure")),t(3),_(e.hbInsecureIsSaving?32:-1),t(3),g(" ",o(36,52,"settings.startup.keep_accessories")," "),t(6),u(o(42,54,"settings.startup.keep_accessories_desc")),t(4),c("formControl",e.hbKeepFormControl),v("aria-label",o(46,56,"settings.startup.keep_accessories")),t(3),_(e.hbKeepIsSaving?48:-1),t(3),g(" ",o(52,58,"settings.startup.metrics")),t(4),u(o(56,60,"settings.startup.metrics_desc")),t(4),c("formControl",e.uiMetricsFormControl),v("aria-label",o(60,62,"settings.startup.metrics")),t(3),_(e.uiMetricsIsSaving?62:-1),t(3),g(" ",o(66,64,"settings.network.hb_package")),t(4),u(o(70,66,"settings.network.hb_package_desc")),t(3),c("formControl",e.hbPackageFormControl),v("aria-label",o(73,68,"settings.network.hb_package")),t(2),_(e.hbPackageIsSaving?74:-1),t(),_(e.$settings.env.platform==="linux"?75:-1),t(6),c("innerHTML",z(82,70,"settings.service.debug_tooltip",M(81,bi,e.linkDebug)),pe),t(3),c("formControl",e.hbEnvDebugFormControl),t(),_(e.hbEnvDebugIsSaving?85:-1),t(7),u(o(93,73,"settings.service.node_tooltip")),t(3),c("formControl",e.hbEnvNodeFormControl),t(),_(e.hbEnvNodeIsSaving?96:-1),t(),_(e.$settings.env.runningInDocker?97:-1),t(3),g(" ",o(101,75,"settings.startup.log_max")),t(4),u(o(105,77,"settings.startup.log_max_desc")),t(3),c("formControl",e.hbLogSizeFormControl)("ngClass",M(83,q,e.hbLogSizeIsInvalid)),v("aria-label",o(108,79,"settings.startup.log_max")),t(2),_(e.hbLogSizeIsSaving?109:-1),t(),_(e.hbLogSizeFormControl.value>0?110:-1)}}function Ki(i,m){i&1&&d(0,"i",107)}function Gi(i,m){if(i&1&&(n(0,"span",96),h(1,Ki,1,0,"i",107),l(2),n(3,"span",108),l(4),s(5,"translate"),a()()),i&2){let e=m.$implicit;c("ngClass",T(6,vi,e.missing,!e.missing)),t(),_(e.missing?1:-1),t(),g(" ",e.iface,": "),t(2),u(e.missing?o(5,4,"settings.mdns_advertiser_not_connected"):e.ip4||e.ip6)}}function ji(i,m){i&1&&(n(0,"option",98),l(1),s(2,"translate"),a()),i&2&&(t(),g("Avahi (",o(2,1,"settings.mdns_advertiser_rec"),")"))}function qi(i,m){i&1&&(n(0,"option",101),l(1),s(2,"translate"),a()),i&2&&(t(),g("systemd-resolved (",o(2,1,"settings.mdns_advertiser_exp"),")"))}function Qi(i,m){i&1&&d(0,"i",17),i&2&&c("@fadeInOut",void 0)}function Ji(i,m){i&1&&d(0,"i",17),i&2&&c("@fadeInOut",void 0)}function Xi(i,m){i&1&&d(0,"i",17),i&2&&c("@fadeInOut",void 0)}function Yi(i,m){i&1&&d(0,"i",17),i&2&&c("@fadeInOut",void 0)}function Zi(i,m){i&1&&d(0,"i",17),i&2&&c("@fadeInOut",void 0)}function en(i,m){i&1&&d(0,"i",17),i&2&&c("@fadeInOut",void 0)}function tn(i,m){i&1&&d(0,"i",17),i&2&&c("@fadeInOut",void 0)}function nn(i,m){if(i&1){let e=k();n(0,"ul",8)(1,"li",18)(2,"span",19),l(3),s(4,"translate"),d(5,"br"),n(6,"div",95),l(7),s(8,"translate"),a(),N(9,Gi,6,9,"span",96,V),a(),n(11,"button",97),s(12,"translate"),f("click",function(){y(e);let p=b();return I(p.selectNetworkInterfaces())}),d(13,"i",21),a()(),n(14,"li",14)(15,"span"),l(16),s(17,"translate"),d(18,"br"),n(19,"small",73),l(20),s(21,"translate"),a()(),n(22,"div",23)(23,"select",24),s(24,"translate"),h(25,ji,3,3,"option",98),n(26,"option",99),l(27),s(28,"translate"),a(),n(29,"option",100),l(30,"Bonjour HAP"),a(),h(31,qi,3,3,"option",101),a(),h(32,Qi,1,1,"i",17),a()(),n(33,"li",14)(34,"span"),l(35),s(36,"translate"),d(37,"br"),n(38,"small",73),l(39),s(40,"translate"),a()(),n(41,"div",23),d(42,"input",102),s(43,"translate"),h(44,Ji,1,1,"i",17),a()(),n(45,"li",14)(46,"span"),l(47),s(48,"translate"),d(49,"br"),n(50,"small",73),l(51),s(52,"translate"),a()(),n(53,"div",23),d(54,"input",103),s(55,"translate"),h(56,Xi,1,1,"i",17),a()(),n(57,"li",14)(58,"span"),l(59),s(60,"translate"),d(61,"br"),n(62,"small",73),l(63),s(64,"translate"),a()(),n(65,"div",23),d(66,"input",102),s(67,"translate"),h(68,Yi,1,1,"i",17),a()(),n(69,"li",14)(70,"span"),l(71),s(72,"translate"),d(73,"br"),n(74,"small",73),l(75),s(76,"translate"),a()(),n(77,"div",23),d(78,"input",102),s(79,"translate"),h(80,Zi,1,1,"i",17),a()(),n(81,"li",14)(82,"span"),l(83),s(84,"translate"),d(85,"br")(86,"small",104),s(87,"translate"),a(),n(88,"div",23),d(89,"input",105),s(90,"translate"),h(91,en,1,1,"i",17),a()(),n(92,"li",14)(93,"span"),l(94),s(95,"translate"),d(96,"br"),n(97,"small",73),l(98),s(99,"translate"),a()(),n(100,"div",23),d(101,"input",106),s(102,"translate"),h(103,tn,1,1,"i",17),a()()()}if(i&2){let e=b();t(3),g(" ",o(4,46,"settings.network.title_network_interfaces")),t(4),u(o(8,48,"settings.network.message_network_interface")),t(2),L(e.adaptersSelected),t(2),c("disabled",!e.adaptersAvailable.length),v("aria-label",o(12,50,"settings.network.title_network_interfaces")),t(5),g(" ",o(17,52,"settings.mdns_advertiser")),t(4),u(o(21,54,"settings.mdns_advertiser_help")),t(3),c("formControl",e.hbMDnsFormControl),v("aria-label",o(24,56,"settings.mdns_advertiser")),t(2),_(e.showAvahiMdnsOption?25:-1),t(2),g(" Ciao ",e.showAvahiMdnsOption?"":"("+o(28,58,"settings.mdns_advertiser_rec")+")"," "),t(4),_(e.showResolvedMdnsOption?31:-1),t(),_(e.hbMDnsIsSaving?32:-1),t(3),g(" ",o(36,60,"settings.network.port_hb")),t(4),u(o(40,62,"settings.network.port_hb_desc")),t(3),c("formControl",e.hbPortFormControl)("ngClass",M(96,q,e.hbPortIsInvalid)),v("aria-label",o(43,64,"settings.network.port_hb")),t(2),_(e.hbPortIsSaving?44:-1),t(3),g(" ",o(48,66,"settings.network.port_ui")),t(4),u(o(52,68,"settings.network.port_ui_desc")),t(3),c("formControl",e.uiPortFormControl)("ngClass",M(98,q,e.uiPortIsInvalid)),v("aria-label",o(55,70,"settings.network.port_ui")),t(2),_(e.uiPortIsSaving?56:-1),t(3),g(" ",o(60,72,"settings.network.port_start")),t(4),u(o(64,74,"settings.network.port_start_desc")),t(3),c("formControl",e.hbStartPortFormControl)("ngClass",M(100,q,e.hbStartPortIsInvalid)),v("aria-label",o(67,76,"settings.network.port_start")),t(2),_(e.hbStartPortIsSaving?68:-1),t(3),g(" ",o(72,78,"settings.network.port_end")),t(4),u(o(76,80,"settings.network.port_end_desc")),t(3),c("formControl",e.hbEndPortFormControl)("ngClass",M(102,q,e.hbEndPortIsInvalid)),v("aria-label",o(79,82,"settings.network.port_end")),t(2),_(e.hbEndPortIsSaving?80:-1),t(3),g(" ",o(84,84,"settings.network.host")),t(3),c("innerHtml",o(87,86,"settings.network.host_desc"),pe),t(3),c("formControl",e.uiHostFormControl),v("aria-label",o(90,88,"settings.network.host")),t(2),_(e.uiHostIsSaving?91:-1),t(3),g(" ",o(95,90,"settings.network.proxy")),t(4),u(o(99,92,"settings.network.proxy_desc")),t(3),c("formControl",e.uiProxyHostFormControl),v("aria-label",o(102,94,"settings.network.proxy")),t(2),_(e.uiProxyHostIsSaving?103:-1)}}function an(i,m){i&1&&d(0,"i",17),i&2&&c("@fadeInOut",void 0)}function rn(i,m){i&1&&d(0,"i",17),i&2&&c("@fadeInOut",void 0)}function sn(i,m){if(i&1&&(n(0,"li",14)(1,"span"),l(2),s(3,"translate"),d(4,"br"),n(5,"small",73),l(6),s(7,"translate"),a()(),n(8,"div",23),d(9,"input",114),s(10,"translate"),h(11,rn,1,1,"i",17),a()()),i&2){let e=b(2);t(2),g(" ",o(3,6,"settings.startup.session")),t(4),u(o(7,8,"settings.startup.session_desc")),t(3),c("formControl",e.uiSessionTimeoutFormControl)("ngClass",M(12,q,e.uiSessionTimeoutIsInvalid)),v("aria-label",o(10,10,"settings.startup.session")),t(2),_(e.uiSessionTimeoutIsSaving?11:-1)}}function on(i,m){i&1&&d(0,"i",17),i&2&&c("@fadeInOut",void 0)}function ln(i,m){i&1&&d(0,"i",17),i&2&&c("@fadeInOut",void 0)}function pn(i,m){if(i&1&&(n(0,"li",14)(1,"span"),l(2),s(3,"translate"),a(),n(4,"div",23),d(5,"input",115),s(6,"translate"),h(7,on,1,1,"i",17),a()(),n(8,"li",14)(9,"span"),l(10),s(11,"translate"),a(),n(12,"div",23),d(13,"input",116),s(14,"translate"),h(15,ln,1,1,"i",17),a()()),i&2){let e=b(2);t(2),u(o(3,8,"settings.security.key")),t(3),c("formControl",e.uiSslKeyFormControl),v("aria-label",o(6,10,"settings.security.key")),t(2),_(e.uiSslKeyIsSaving?7:-1),t(3),u(o(11,12,"settings.security.cert")),t(3),c("formControl",e.uiSslCertFormControl),v("aria-label",o(14,14,"settings.security.cert")),t(2),_(e.uiSslCertIsSaving?15:-1)}}function dn(i,m){i&1&&d(0,"i",17),i&2&&c("@fadeInOut",void 0)}function cn(i,m){i&1&&d(0,"i",17),i&2&&c("@fadeInOut",void 0)}function mn(i,m){if(i&1){let e=k();n(0,"li",14)(1,"span"),l(2),s(3,"translate"),a(),n(4,"div",23),d(5,"input",117),s(6,"translate"),h(7,dn,1,1,"i",17),a()(),n(8,"li",14)(9,"span"),l(10),s(11,"translate"),a(),n(12,"div",23)(13,"input",118),s(14,"translate"),f("focus",function(){y(e);let p=b(2);return I(p.showPfxPassphrase=!0)})("blur",function(){y(e);let p=b(2);return I(p.showPfxPassphrase=!1)}),a(),h(15,cn,1,1,"i",17),a()()}if(i&2){let e=b(2);t(2),u(o(3,9,"settings.security.pfx")),t(3),c("formControl",e.uiSslPfxFormControl),v("aria-label",o(6,11,"settings.security.pfx")),t(2),_(e.uiSslPfxIsSaving?7:-1),t(3),u(o(11,13,"settings.security.pass")),t(3),c("type",e.showPfxPassphrase?"text":"password")("formControl",e.uiSslPassphraseFormControl),v("aria-label",o(14,15,"settings.security.pass")),t(2),_(e.uiSslPassphraseIsSaving?15:-1)}}function un(i,m){if(i&1){let e=k();n(0,"ul",9)(1,"li",18)(2,"span"),l(3),s(4,"translate"),d(5,"br"),n(6,"small",73),l(7),s(8,"translate"),a()(),n(9,"div",74)(10,"div",75),d(11,"input",109),s(12,"translate"),d(13,"label",110),a(),h(14,an,1,1,"i",17),a()(),h(15,sn,12,14,"li",14),n(16,"li",14)(17,"span"),l(18),s(19,"translate"),d(20,"br"),n(21,"small",73),l(22),s(23,"translate"),a()(),n(24,"div",23)(25,"select",24),s(26,"translate"),n(27,"option",111),l(28),s(29,"translate"),a(),n(30,"option",112),l(31),s(32,"translate"),a(),n(33,"option",113),l(34),s(35,"translate"),a()()()(),h(36,pn,16,16),h(37,mn,16,17),n(38,"li",18)(39,"span",19),l(40),s(41,"translate"),d(42,"br"),n(43,"small",73),l(44),s(45,"translate"),a()(),n(46,"button",20),s(47,"translate"),f("click",function(){y(e);let p=b();return I(p.accessoryUiControl())}),d(48,"i",21),a()()()}if(i&2){let e=b();t(3),g(" ",o(4,18,"settings.security.auth")),t(4),g(" ",o(8,20,"settings.security.auth_desc")," "),t(4),c("formControl",e.uiAuthFormControl),v("aria-label",o(12,22,"settings.security.auth")),t(3),_(e.uiAuthIsSaving?14:-1),t(),_(e.uiAuthFormControl.value?15:-1),t(3),g(" ",o(19,24,"settings.security.https")),t(4),u(o(23,26,"settings.security.https_desc")),t(3),c("formControl",e.uiSslTypeFormControl),v("aria-label",o(26,28,"settings.security.https")),t(3),u(o(29,30,"accessories.control.off")),t(3),u(o(32,32,"settings.security.https_keycert")),t(3),u(o(35,34,"settings.security.https_pfx")),t(2),_(e.uiSslTypeFormControl.value==="keycert"?36:-1),t(),_(e.uiSslTypeFormControl.value==="pfx"?37:-1),t(3),g(" ",o(41,36,"settings.security.ui_control")),t(4),u(o(45,38,"settings.security.ui_control_desc")),t(2),v("aria-label",o(47,40,"settings.security.ui_control"))}}function hn(i,m){i&1&&(n(0,"p",10),l(1),s(2,"translate"),a()),i&2&&(t(),u(o(2,1,"settings.cache.desc")))}function _n(i,m){i&1&&d(0,"i",17),i&2&&c("@fadeInOut",void 0)}function gn(i,m){if(i&1){let e=k();n(0,"ul",11)(1,"li",18)(2,"span"),l(3),s(4,"translate"),d(5,"br"),n(6,"small",73),l(7),s(8,"translate"),a()(),n(9,"div",74)(10,"div",75),d(11,"input",119),s(12,"translate"),d(13,"label",120),a(),h(14,_n,1,1,"i",17),a()(),n(15,"li",18)(16,"span",19),l(17),s(18,"translate"),d(19,"br"),n(20,"small",73),l(21),s(22,"translate"),a()(),n(23,"button",20),s(24,"translate"),f("click",function(){y(e);let p=b();return I(p.removeSingleCachedAccessories())}),d(25,"i",21),a()(),n(26,"li",18)(27,"span",19),l(28),s(29,"translate"),d(30,"br"),n(31,"small",73),l(32),s(33,"translate"),a()(),n(34,"button",20),s(35,"translate"),f("click",function(){y(e);let p=b();return I(p.removeBridgeAccessories())}),d(36,"i",21),a()(),n(37,"li",18)(38,"span",19),l(39),s(40,"translate"),d(41,"br"),n(42,"small",73),l(43),s(44,"translate"),a()(),n(45,"button",20),s(46,"translate"),f("click",function(){y(e);let p=b();return I(p.removeAllCachedAccessories())}),d(47,"i",21),a()()()}if(i&2){let e=b();t(3),g(" ",o(4,14,"settings.accessory.debug")),t(4),u(o(8,16,"settings.accessory.debug_desc")),t(4),c("formControl",e.uiAccDebugFormControl),v("aria-label",o(12,18,"settings.accessory.debug")),t(3),_(e.uiAccDebugIsSaving?14:-1),t(3),g(" ",o(18,20,"reset.accessory_ind.title")),t(4),u(o(22,22,"reset.accessory_ind.desc")),t(2),v("aria-label",o(24,24,"reset.accessory_ind.title")),t(5),g(" ",o(29,26,"reset.bridge_accessories.title")),t(4),u(o(33,28,"reset.bridge_accessories.desc")),t(2),v("aria-label",o(35,30,"reset.accessory_all.title")),t(5),g(" ",o(40,32,"reset.accessory_all.title")),t(4),u(o(44,34,"reset.accessory_all.desc")),t(2),v("aria-label",o(46,36,"reset.accessory_all.title"))}}function bn(i,m){i&1&&(n(0,"p",10),l(1),s(2,"translate"),a()),i&2&&(t(),u(o(2,1,"reset.bridges.desc")))}function vn(i,m){if(i&1){let e=k();n(0,"ul",12)(1,"li",18)(2,"span",19),l(3),s(4,"translate"),d(5,"br"),n(6,"small",73),l(7),s(8,"translate"),a()(),n(9,"button",20),s(10,"translate"),f("click",function(){y(e);let p=b();return I(p.unpairAccessory())}),d(11,"i",21),a()(),n(12,"li",18)(13,"span",19),l(14),s(15,"translate"),s(16,"titlecase"),d(17,"br"),n(18,"small",73),l(19),s(20,"translate"),a()(),n(21,"button",20),s(22,"translate"),f("click",function(){y(e);let p=b();return I(p.resetHomebridgeState())}),d(23,"i",21),a()()()}i&2&&(t(3),g(" ",o(4,6,"reset.bridge_ind.title")),t(4),u(o(8,8,"reset.bridge_ind.desc")),t(2),v("aria-label",o(10,10,"reset.bridge_ind.title")),t(5),g(" ",o(16,14,o(15,12,"reset.bridge_all.title"))),t(5),u(o(20,16,"reset.bridge_all.desc")),t(2),v("aria-label",o(22,18,"reset.bridge_all.title")))}var Rr=(()=>{class i{$api=x(D);$modal=x(G);$router=x(O);$settings=x(j);$toastr=x(A);$translate=x(R);restartToastIsShown=!1;showFields={general:!0,display:!0,startup:!0,network:!0,security:!0,reset:!0,cache:!0};loading=!0;isHbV2=!1;showAvahiMdnsOption=!1;showResolvedMdnsOption=!1;adaptersAvailable=[];adaptersSelected=[];showPfxPassphrase=!1;hbNameIsInvalid=!1;hbNameIsSaving=!1;hbNameFormControl=new E("");uiLangIsSaving=!1;uiLangFormControl=new E("");uiThemeIsSaving=!1;uiThemeFormControl=new E("");uiLightIsSaving=!1;uiLightFormControl=new E("");uiMenuIsSaving=!1;uiMenuFormControl=new E("");uiTempIsSaving=!1;uiTempFormControl=new E("");hbDebugIsSaving=!1;hbDebugFormControl=new E(!1);hbInsecureIsSaving=!1;hbInsecureFormControl=new E(!1);hbKeepIsSaving=!1;hbKeepFormControl=new E(!1);hbEnvDebugIsSaving=!1;hbEnvDebugFormControl=new E("");hbEnvNodeIsSaving=!1;hbEnvNodeFormControl=new E("");hbLogSizeIsInvalid=!1;hbLogSizeIsSaving=!1;hbLogSizeFormControl=new E(-1);hbLogTruncateIsInvalid=!1;hbLogTruncateIsSaving=!1;hbLogTruncateFormControl=new E(0);hbMDnsIsSaving=!1;hbMDnsFormControl=new E("");hbPortIsInvalid=!1;hbPortIsSaving=!1;hbPortFormControl=new E(0);hbStartPortIsInvalid=!1;hbStartPortIsSaving=!1;hbStartPortFormControl=new E(0);hbEndPortIsInvalid=!1;hbEndPortIsSaving=!1;hbEndPortFormControl=new E(0);uiPortIsInvalid=!1;uiPortIsSaving=!1;uiPortFormControl=new E(0);uiAuthIsSaving=!1;uiAuthFormControl=new we(!0);uiSessionTimeoutIsInvalid=!1;uiSessionTimeoutIsSaving=!1;uiSessionTimeoutFormControl=new E(0);uiSslTypeFormControl=new E("off");uiSslKeyIsSaving=!1;uiSslKeyFormControl=new E("");uiSslCertIsSaving=!1;uiSslCertFormControl=new E("");uiSslPfxIsSaving=!1;uiSslPfxFormControl=new E("");uiSslPassphraseIsSaving=!1;uiSslPassphraseFormControl=new E("");uiHostIsSaving=!1;uiHostFormControl=new E("");uiProxyHostIsSaving=!1;uiProxyHostFormControl=new E("");hbPackageIsSaving=!1;hbPackageFormControl=new E("");uiMetricsIsSaving=!1;uiMetricsFormControl=new E(!0);uiAccDebugIsSaving=!1;uiAccDebugFormControl=new E(!1);uiTempFileIsSaving=!1;uiTempFileFormControl=new E("");hbLinuxShutdownIsSaving=!1;hbLinuxShutdownFormControl=new E("");hbLinuxRestartIsSaving=!1;hbLinuxRestartFormControl=new E("");linkDebug='<a href="https://github.com/homebridge/homebridge-config-ui-x/wiki/Debug-Common-Values" target="_blank"><i class="fa fa-fw fa-external-link-alt primary-text"></i></a>';constructor(){}ngOnInit(){return S(this,null,function*(){this.isHbV2=this.$settings.env.homebridgeVersion.startsWith("2"),yield this.initNetworkingOptions(),yield this.initStartupSettings(),this.hbNameFormControl.patchValue(this.$settings.env.homebridgeInstanceName),this.hbNameFormControl.valueChanges.pipe(w(1500)).subscribe(e=>this.hbNameSave(e)),this.uiLangFormControl.patchValue(this.$settings.env.lang),this.uiLangFormControl.valueChanges.pipe(w(750)).subscribe(e=>this.uiLangSave(e)),this.uiThemeFormControl.patchValue(this.$settings.theme),this.uiThemeFormControl.valueChanges.pipe(w(750)).subscribe(e=>this.uiThemeSave(e)),this.uiLightFormControl.patchValue(this.$settings.lightingMode),this.uiLightFormControl.valueChanges.pipe(w(750)).subscribe(e=>this.uiLightSave(e)),this.uiMenuFormControl.patchValue(this.$settings.menuMode),this.uiMenuFormControl.valueChanges.pipe(w(750)).subscribe(e=>this.uiMenuSave(e)),this.uiTempFormControl.patchValue(this.$settings.env.temperatureUnits),this.uiTempFormControl.valueChanges.pipe(w(750)).subscribe(e=>this.uiTempSave(e)),this.hbLogSizeFormControl.patchValue(this.$settings.env.log?.maxSize),this.hbLogSizeFormControl.valueChanges.pipe(w(1500)).subscribe(e=>this.hbLogSizeSave(e)),this.hbLogTruncateFormControl.patchValue(this.$settings.env.log?.truncateSize),this.hbLogTruncateFormControl.valueChanges.pipe(w(1500)).subscribe(e=>this.hbLogTruncateSave(e)),this.uiPortFormControl.patchValue(this.$settings.env.port),this.uiPortFormControl.valueChanges.pipe(w(1500)).subscribe(e=>this.uiPortSave(e)),this.uiAuthFormControl.patchValue(this.$settings.formAuth),this.uiAuthFormControl.valueChanges.pipe(w(750)).subscribe(e=>this.uiAuthSave(e)),this.uiSessionTimeoutFormControl.patchValue(this.$settings.sessionTimeout),this.uiSessionTimeoutFormControl.valueChanges.pipe(w(750)).subscribe(e=>this.uiSessionTimeoutSave(e)),this.uiSslKeyFormControl.patchValue(this.$settings.env.ssl?.key||""),this.uiSslKeyFormControl.valueChanges.pipe(w(1500)).subscribe(e=>this.uiSslKeySave(e)),this.uiSslCertFormControl.patchValue(this.$settings.env.ssl?.cert||""),this.uiSslCertFormControl.valueChanges.pipe(w(1500)).subscribe(e=>this.uiSslCertSave(e)),this.uiSslPfxFormControl.patchValue(this.$settings.env.ssl?.pfx||""),this.uiSslPfxFormControl.valueChanges.pipe(w(1500)).subscribe(e=>this.uiSslPfxSave(e)),this.uiSslPassphraseFormControl.patchValue(this.$settings.env.ssl?.passphrase||""),this.uiSslPassphraseFormControl.valueChanges.pipe(w(1500)).subscribe(e=>this.uiSslPassphraseSave(e)),this.uiSslTypeFormControl.patchValue(this.uiSslKeyFormControl.value||this.uiSslCertFormControl.value?"keycert":this.uiSslPfxFormControl.value||this.uiSslPassphraseFormControl.value?"pfx":"off"),this.uiSslTypeFormControl.valueChanges.pipe(w(750)).subscribe(e=>this.uiSslTypeSave(e)),this.uiHostFormControl.patchValue(this.$settings.env.host||""),this.uiHostFormControl.valueChanges.pipe(w(1500)).subscribe(e=>this.uiHostSave(e)),this.uiProxyHostFormControl.patchValue(this.$settings.env.proxyHost||""),this.uiProxyHostFormControl.valueChanges.pipe(w(1500)).subscribe(e=>this.uiProxyHostSave(e)),this.hbPackageFormControl.patchValue(this.$settings.env.homebridgePackagePath||""),this.hbPackageFormControl.valueChanges.pipe(w(1500)).subscribe(e=>this.hbPackageSave(e)),this.uiMetricsFormControl.patchValue(!this.$settings.env.disableServerMetricsMonitoring),this.uiMetricsFormControl.valueChanges.pipe(w(750)).subscribe(e=>this.uiMetricsSave(e)),this.uiAccDebugFormControl.patchValue(this.$settings.env.accessoryControl?.debug),this.uiAccDebugFormControl.valueChanges.pipe(w(750)).subscribe(e=>this.uiAccDebugSave(e)),this.uiTempFileFormControl.patchValue(this.$settings.env.temp),this.uiTempFileFormControl.valueChanges.pipe(w(1500)).subscribe(e=>this.uiTempFileSave(e)),this.hbLinuxShutdownFormControl.patchValue(this.$settings.env.linux?.shutdown),this.hbLinuxShutdownFormControl.valueChanges.pipe(w(1500)).subscribe(e=>this.hbLinuxShutdownSave(e)),this.hbLinuxRestartFormControl.patchValue(this.$settings.env.linux?.restart),this.hbLinuxRestartFormControl.valueChanges.pipe(w(1500)).subscribe(e=>this.hbLinuxRestartSave(e)),this.loading=!1})}initStartupSettings(){return S(this,null,function*(){try{let e=yield B(this.$api.get("/platform-tools/hb-service/homebridge-startup-settings"));this.hbDebugFormControl.patchValue(e.HOMEBRIDGE_DEBUG),this.hbDebugFormControl.valueChanges.pipe(w(750)).subscribe(r=>this.hbDebugSave(r)),this.hbInsecureFormControl.patchValue(e.HOMEBRIDGE_INSECURE),this.hbInsecureFormControl.valueChanges.pipe(w(750)).subscribe(r=>this.hbInsecureSave(r)),this.hbKeepFormControl.patchValue(e.HOMEBRIDGE_KEEP_ORPHANS),this.hbKeepFormControl.valueChanges.pipe(w(750)).subscribe(r=>this.hbKeepSave(r)),this.hbEnvDebugFormControl.patchValue(e.ENV_DEBUG),this.hbEnvDebugFormControl.valueChanges.pipe(w(1500)).subscribe(r=>this.hbEnvDebugSave(r)),this.hbEnvNodeFormControl.patchValue(e.ENV_NODE_OPTIONS),this.hbEnvNodeFormControl.valueChanges.pipe(w(1500)).subscribe(r=>this.hbEnvNodeSave(r))}catch(e){console.error(e),this.$toastr.error(e.message,this.$translate.instant("toast.title_error"))}})}initNetworkingOptions(){return S(this,null,function*(){try{yield this.getNetworkSettings(),(this.$settings.env.runningInLinux||this.$settings.env.runningInDocker||this.$settings.env.runningInSynologyPackage||this.$settings.env.runningInPackageMode)&&(this.showAvahiMdnsOption=!0,this.showResolvedMdnsOption=!0)}catch(e){console.error(e),this.$toastr.error(e.message,this.$translate.instant("toast.title_error"))}})}getNetworkSettings(){return S(this,null,function*(){return Promise.all([B(this.$api.get("/server/network-interfaces/system")),B(this.$api.get("/server/network-interfaces/bridge")),B(this.$api.get("/server/mdns-advertiser")),B(this.$api.get("/server/port")),B(this.$api.get("/server/ports"))]).then(([e,r,p,C,K])=>{this.adaptersAvailable=e,this.buildBridgeNetworkAdapterList(r),this.hbMDnsFormControl.patchValue(p.advertiser),this.hbMDnsFormControl.valueChanges.pipe(w(750)).subscribe(H=>this.hbMDnsSave(H)),this.hbPortFormControl.patchValue(C.port),this.hbPortFormControl.valueChanges.pipe(w(1500)).subscribe(H=>this.hbPortSave(H)),this.hbStartPortFormControl.patchValue(K.start),this.hbStartPortFormControl.valueChanges.pipe(w(1500)).subscribe(H=>this.hbStartPortSave(H)),this.hbEndPortFormControl.patchValue(K.end),this.hbEndPortFormControl.valueChanges.pipe(w(1500)).subscribe(H=>this.hbEndPortSave(H))})})}saveUiSettingChange(e,r){return S(this,null,function*(){try{yield B(this.$api.put("/config-editor/ui",{key:e,value:r}))}catch(p){console.error(p),this.$toastr.error(p.message,this.$translate.instant("toast.title_error"))}})}hbNameSave(e){return S(this,null,function*(){if(!e||!/^[\p{L}\p{N}][\p{L}\p{N} ']*[\p{L}\p{N}]$/u.test(e)){this.hbNameIsInvalid=!0;return}try{this.hbNameIsSaving=!0,yield B(this.$api.put("/server/name",{name:e})),this.$settings.setEnvItem("homebridgeInstanceName",e),this.hbNameIsInvalid=!1,setTimeout(()=>{this.hbNameIsSaving=!1},1e3)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.hbNameIsSaving=!1}})}uiLangSave(e){return S(this,null,function*(){try{this.uiLangIsSaving=!0,this.$settings.setLang(e),yield this.saveUiSettingChange("lang",e),setTimeout(()=>{this.uiLangIsSaving=!1},1e3)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.uiLangIsSaving=!1}})}uiThemeSave(e){return S(this,null,function*(){try{this.uiThemeIsSaving=!0,this.$settings.setTheme(e),yield this.saveUiSettingChange("theme",e),setTimeout(()=>{this.uiThemeIsSaving=!1},1e3)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.uiThemeIsSaving=!1}})}uiLightSave(e){return S(this,null,function*(){try{this.uiLightIsSaving=!0,this.$settings.setLightingMode(e,"user"),yield this.saveUiSettingChange("lightingMode",e),setTimeout(()=>{this.uiLightIsSaving=!1},1e3)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.uiLightIsSaving=!1}})}uiMenuSave(e){return S(this,null,function*(){try{this.uiMenuIsSaving=!0,this.$settings.setMenuMode(e),yield this.saveUiSettingChange("menuMode",e),window.location.reload()}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.uiMenuIsSaving=!1}})}uiTempSave(e){return S(this,null,function*(){try{this.uiTempIsSaving=!0,this.$settings.setEnvItem("temperatureUnits",e),yield this.saveUiSettingChange("tempUnits",e),setTimeout(()=>{this.uiTempIsSaving=!1},1e3)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.uiTempIsSaving=!1}})}hbDebugSave(e){return S(this,null,function*(){try{this.hbDebugIsSaving=!0,yield B(this.$api.put("/platform-tools/hb-service/homebridge-startup-settings",{HOMEBRIDGE_DEBUG:e,HOMEBRIDGE_KEEP_ORPHANS:this.hbKeepFormControl.value,HOMEBRIDGE_INSECURE:this.hbInsecureFormControl.value,ENV_DEBUG:this.hbEnvDebugFormControl.value,ENV_NODE_OPTIONS:this.hbEnvNodeFormControl.value})),setTimeout(()=>{this.hbDebugIsSaving=!1,this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>this.showRestartToast(),error:r=>{console.error(r),this.showRestartToast()}})},1e3)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.hbDebugIsSaving=!1}})}hbInsecureSave(e){return S(this,null,function*(){try{this.hbInsecureIsSaving=!0,yield B(this.$api.put("/platform-tools/hb-service/homebridge-startup-settings",{HOMEBRIDGE_DEBUG:this.hbDebugFormControl.value,HOMEBRIDGE_KEEP_ORPHANS:this.hbKeepFormControl.value,HOMEBRIDGE_INSECURE:e,ENV_DEBUG:this.hbEnvDebugFormControl.value,ENV_NODE_OPTIONS:this.hbEnvNodeFormControl.value})),setTimeout(()=>{this.hbInsecureIsSaving=!1,this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>this.showRestartToast(),error:r=>{console.error(r),this.showRestartToast()}})},1e3)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.hbInsecureIsSaving=!1}})}hbKeepSave(e){return S(this,null,function*(){try{this.hbKeepIsSaving=!0,yield B(this.$api.put("/platform-tools/hb-service/homebridge-startup-settings",{HOMEBRIDGE_DEBUG:this.hbDebugFormControl.value,HOMEBRIDGE_KEEP_ORPHANS:e,HOMEBRIDGE_INSECURE:this.hbInsecureFormControl.value,ENV_DEBUG:this.hbEnvDebugFormControl.value,ENV_NODE_OPTIONS:this.hbEnvNodeFormControl.value})),setTimeout(()=>{this.hbKeepIsSaving=!1,this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>this.showRestartToast(),error:r=>{console.error(r),this.showRestartToast()}})},1e3)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.hbKeepIsSaving=!1}})}hbEnvDebugSave(e){return S(this,null,function*(){try{this.hbEnvDebugIsSaving=!0,yield B(this.$api.put("/platform-tools/hb-service/homebridge-startup-settings",{HOMEBRIDGE_DEBUG:this.hbDebugFormControl.value,HOMEBRIDGE_KEEP_ORPHANS:this.hbKeepFormControl.value,HOMEBRIDGE_INSECURE:this.hbInsecureFormControl.value,ENV_DEBUG:e,ENV_NODE_OPTIONS:this.hbEnvNodeFormControl.value})),setTimeout(()=>{this.hbEnvDebugIsSaving=!1,this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>this.showRestartToast(),error:r=>{console.error(r),this.showRestartToast()}})},1e3)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.hbEnvDebugIsSaving=!1}})}hbEnvNodeSave(e){return S(this,null,function*(){try{this.hbEnvNodeIsSaving=!0,yield B(this.$api.put("/platform-tools/hb-service/homebridge-startup-settings",{HOMEBRIDGE_DEBUG:this.hbDebugFormControl.value,HOMEBRIDGE_KEEP_ORPHANS:this.hbKeepFormControl.value,HOMEBRIDGE_INSECURE:this.hbInsecureFormControl.value,ENV_DEBUG:this.hbEnvDebugFormControl.value,ENV_NODE_OPTIONS:e})),setTimeout(()=>{this.hbEnvNodeIsSaving=!1,this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>this.showRestartToast(),error:r=>{console.error(r),this.showRestartToast()}})},1e3)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.hbEnvNodeIsSaving=!1}})}hbLogSizeSave(e){return S(this,null,function*(){if(e&&(typeof e!="number"||e<-1||Number.isInteger(e)===!1)){this.hbLogSizeIsInvalid=!0;return}try{this.hbLogSizeIsSaving=!0,this.$settings.setEnvItem("log.maxSize",e),(!e||e===-1)&&(yield this.saveUiSettingChange("log.truncateSize",null),this.hbLogTruncateIsInvalid=!1),yield this.saveUiSettingChange("log.maxSize",e),this.hbLogSizeIsInvalid=!1,setTimeout(()=>{this.hbLogSizeIsSaving=!1,this.showRestartToast()},1e3)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.hbLogSizeIsSaving=!1}})}hbLogTruncateSave(e){return S(this,null,function*(){if(e&&(typeof e!="number"||e<0||Number.isInteger(e)===!1)){this.hbLogTruncateIsInvalid=!0;return}try{this.hbLogTruncateIsSaving=!0,this.$settings.setEnvItem("log.truncateSize",e),yield this.saveUiSettingChange("log.truncateSize",e),this.hbLogTruncateIsInvalid=!1,setTimeout(()=>{this.hbLogTruncateIsSaving=!1,this.showRestartToast()},1e3)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.hbLogTruncateIsSaving=!1}})}hbMDnsSave(e){return S(this,null,function*(){try{this.hbMDnsIsSaving=!0,yield B(this.$api.put("/server/mdns-advertiser",{advertiser:e})),setTimeout(()=>{this.hbMDnsIsSaving=!1,this.showRestartToast()},1e3)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.hbMDnsIsSaving=!1}})}hbPortSave(e){return S(this,null,function*(){if(e===this.uiPortFormControl.value){this.hbPortIsInvalid=!0;return}try{this.hbPortIsSaving=!0,yield B(this.$api.put("/server/port",{port:e})),this.hbPortIsInvalid=!1,setTimeout(()=>{this.hbPortIsSaving=!1,this.showRestartToast()},1e3)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.hbPortIsSaving=!1}})}hbStartPortSave(e){return S(this,null,function*(){try{this.hbStartPortIsSaving=!0,yield B(this.$api.put("/server/ports",{start:e,end:this.hbEndPortFormControl.value})),this.hbStartPortIsInvalid=!1,setTimeout(()=>{this.hbStartPortIsSaving=!1,this.showRestartToast()},1e3)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.hbStartPortIsSaving=!1}})}hbEndPortSave(e){return S(this,null,function*(){try{this.hbEndPortIsSaving=!0,yield B(this.$api.put("/server/ports",{start:this.hbStartPortFormControl.value,end:e})),this.hbEndPortIsInvalid=!1,setTimeout(()=>{this.hbEndPortIsSaving=!1,this.showRestartToast()},1e3)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.hbEndPortIsSaving=!1}})}uiPortSave(e){return S(this,null,function*(){if(!e||typeof e!="number"||e<1025||e>65533||Number.isInteger(e)===!1||e===this.hbPortFormControl.value){this.uiPortIsInvalid=!0;return}try{this.uiPortIsSaving=!0,this.$settings.setEnvItem("port",e),yield this.saveUiSettingChange("port",e),this.uiPortIsInvalid=!1,setTimeout(()=>{this.uiPortIsSaving=!1,this.showRestartToast()},1e3)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.uiPortIsSaving=!1}})}uiAuthSave(e){return S(this,null,function*(){try{this.uiAuthIsSaving=!0,this.$settings.setItem("formAuth",e),yield this.saveUiSettingChange("auth",e?"form":"none"),setTimeout(()=>{this.uiAuthIsSaving=!1,this.showRestartToast()},1e3)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.uiAuthIsSaving=!1}})}uiSessionTimeoutSave(e){return S(this,null,function*(){if(e&&(typeof e!="number"||e<600||e>864e5||Number.isInteger(e)===!1)){this.uiSessionTimeoutIsInvalid=!0;return}try{this.uiSessionTimeoutIsSaving=!0,this.$settings.setItem("sessionTimeout",e),yield this.saveUiSettingChange("sessionTimeout",e),this.uiSessionTimeoutIsInvalid=!1,setTimeout(()=>{this.uiSessionTimeoutIsSaving=!1,this.showRestartToast()},1e3)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.uiSessionTimeoutIsSaving=!1}})}uiSslKeySave(e){return S(this,null,function*(){try{this.uiSslKeyIsSaving=!0,this.$settings.setEnvItem("ssl.key",e),yield this.saveUiSettingChange("ssl.key",e),setTimeout(()=>{this.uiSslKeyIsSaving=!1,this.showRestartToast()},1e3)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.uiSslKeyIsSaving=!1}})}uiSslCertSave(e){return S(this,null,function*(){try{this.uiSslCertIsSaving=!0,this.$settings.setEnvItem("ssl.cert",e),yield this.saveUiSettingChange("ssl.cert",e),setTimeout(()=>{this.uiSslCertIsSaving=!1,this.showRestartToast()},1e3)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.uiSslCertIsSaving=!1}})}uiSslPfxSave(e){return S(this,null,function*(){try{this.uiSslPfxIsSaving=!0,this.$settings.setEnvItem("ssl.pfx",e),yield this.saveUiSettingChange("ssl.pfx",e),setTimeout(()=>{this.uiSslPfxIsSaving=!1,this.showRestartToast()},1e3)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.uiSslPfxIsSaving=!1}})}uiSslPassphraseSave(e){return S(this,null,function*(){try{this.uiSslPassphraseIsSaving=!0,this.$settings.setEnvItem("ssl.passphrase",e),yield this.saveUiSettingChange("ssl.passphrase",e),setTimeout(()=>{this.uiSslPassphraseIsSaving=!1,this.showRestartToast()},1e3)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.uiSslPassphraseIsSaving=!1}})}uiSslTypeSave(e){return S(this,null,function*(){switch(e){case"keycert":this.uiSslPfxFormControl.patchValue("",{emitEvent:!1}),this.uiSslPassphraseFormControl.patchValue("",{emitEvent:!1}),this.$settings.setEnvItem("ssl.pfx",""),this.$settings.setEnvItem("ssl.passphrase","");break;case"pfx":this.uiSslKeyFormControl.patchValue("",{emitEvent:!1}),this.uiSslCertFormControl.patchValue("",{emitEvent:!1}),this.$settings.setEnvItem("ssl.key",""),this.$settings.setEnvItem("ssl.cert","");break;default:this.uiSslKeyFormControl.patchValue("",{emitEvent:!1}),this.uiSslCertFormControl.patchValue("",{emitEvent:!1}),this.uiSslPfxFormControl.patchValue("",{emitEvent:!1}),this.uiSslPassphraseFormControl.patchValue("",{emitEvent:!1}),this.$settings.setEnvItem("ssl.key",""),this.$settings.setEnvItem("ssl.cert",""),this.$settings.setEnvItem("ssl.pfx",""),this.$settings.setEnvItem("ssl.passphrase",""),yield this.saveUiSettingChange("ssl",""),this.showRestartToast()}})}uiHostSave(e){return S(this,null,function*(){try{this.uiHostIsSaving=!0,this.$settings.setEnvItem("host",e),yield this.saveUiSettingChange("host",e),setTimeout(()=>{this.uiHostIsSaving=!1,this.showRestartToast()},1e3)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.uiHostIsSaving=!1}})}uiProxyHostSave(e){return S(this,null,function*(){try{this.uiProxyHostIsSaving=!0,this.$settings.setEnvItem("proxyHost",e),yield this.saveUiSettingChange("proxyHost",e),setTimeout(()=>{this.uiProxyHostIsSaving=!1,this.showRestartToast()},1e3)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.uiProxyHostIsSaving=!1}})}hbPackageSave(e){return S(this,null,function*(){try{this.hbPackageIsSaving=!0,this.$settings.setEnvItem("homebridgePackagePath",e),yield this.saveUiSettingChange("homebridgePackagePath",e),setTimeout(()=>{this.hbPackageIsSaving=!1,this.showRestartToast()},1e3)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.hbPackageIsSaving=!1}})}uiMetricsSave(e){return S(this,null,function*(){try{this.uiMetricsIsSaving=!0,this.$settings.setEnvItem("disableServerMetricsMonitoring",!e),yield this.saveUiSettingChange("disableServerMetricsMonitoring",!e),setTimeout(()=>{this.uiMetricsIsSaving=!1,this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>this.showRestartToast(),error:r=>{console.error(r),this.showRestartToast()}})},1e3)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.uiMetricsIsSaving=!1}})}uiAccDebugSave(e){return S(this,null,function*(){try{this.uiAccDebugIsSaving=!0,this.$settings.setEnvItem("accessoryControl.debug",e),yield this.saveUiSettingChange("accessoryControl.debug",e),setTimeout(()=>{this.uiAccDebugIsSaving=!1,this.showRestartToast()},1e3)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.uiAccDebugIsSaving=!1}})}uiTempFileSave(e){return S(this,null,function*(){try{this.uiTempFileIsSaving=!0,this.$settings.setEnvItem("temp",e),yield this.saveUiSettingChange("temp",e),setTimeout(()=>{this.uiTempFileIsSaving=!1,this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>this.showRestartToast(),error:r=>{console.error(r),this.showRestartToast()}})},1e3)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.uiTempFileIsSaving=!1}})}hbLinuxShutdownSave(e){return S(this,null,function*(){try{this.hbLinuxShutdownIsSaving=!0,this.$settings.setEnvItem("linux.shutdown",e),yield this.saveUiSettingChange("linux.shutdown",e),setTimeout(()=>{this.hbLinuxShutdownIsSaving=!1,this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>this.showRestartToast(),error:r=>{console.error(r),this.showRestartToast()}})},1e3)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.hbLinuxShutdownIsSaving=!1}})}hbLinuxRestartSave(e){return S(this,null,function*(){try{this.hbLinuxRestartIsSaving=!0,this.$settings.setEnvItem("linux.restart",e),yield this.saveUiSettingChange("linux.restart",e),setTimeout(()=>{this.hbLinuxRestartIsSaving=!1,this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>this.showRestartToast(),error:r=>{console.error(r),this.showRestartToast()}})},1e3)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.hbLinuxRestartIsSaving=!1}})}openBackupModal(){this.$modal.open(oe,{size:"lg",backdrop:"static"})}openWallpaperModal(){this.$modal.open(Ye,{size:"lg",backdrop:"static"})}resetHomebridgeState(){this.$modal.open(qe,{size:"lg",backdrop:"static"})}unpairAccessory(){this.$modal.open(Je,{size:"lg",backdrop:"static"})}removeAllCachedAccessories(){this.$modal.open(Ge,{size:"lg",backdrop:"static"})}accessoryUiControl(){return S(this,null,function*(){try{let e=this.$modal.open(ze,{size:"lg",backdrop:"static"});e.componentInstance.existingBlacklist=this.$settings.env.accessoryControl?.instanceBlacklist||[],yield e.result,this.showRestartToast()}catch(e){e!=="Dismiss"&&(console.error(e),this.$toastr.error(e.message,this.$translate.instant("toast.title_error")))}})}removeSingleCachedAccessories(){this.$modal.open(Le,{size:"lg",backdrop:"static"})}removeBridgeAccessories(){this.$modal.open(je,{size:"lg",backdrop:"static"})}selectNetworkInterfaces(){return S(this,null,function*(){let e=this.$modal.open(Xe,{size:"lg",backdrop:"static"});e.componentInstance.adaptersAvailable=this.adaptersAvailable;try{let r=yield e.result;this.buildBridgeNetworkAdapterList(r),yield B(this.$api.put("/server/network-interfaces/bridge",{adapters:r})),this.showRestartToast()}catch(r){r!=="Dismiss"&&(console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")))}})}buildBridgeNetworkAdapterList(e){if(!e.length){this.adaptersSelected=[];return}this.adaptersSelected=e.map(r=>{let p=this.adaptersAvailable.find(C=>C.iface===r);return p?{iface:p.iface,selected:!0,missing:!1,ip4:p.ip4,ip6:p.ip6}:{iface:r,selected:!0,missing:!0}})}toggleSection(e){this.showFields[e]=!this.showFields[e]}showRestartToast(){if(!this.restartToastIsShown){this.restartToastIsShown=!0;let e=this.$toastr.info(this.$translate.instant("settings.changes.saved"),this.$translate.instant("menu.hbrestart.title"),{timeOut:0,tapToDismiss:!0,disableTimeOut:!0,positionClass:"toast-bottom-right",enableHtml:!0});e&&e.onTap&&e.onTap.subscribe(()=>{this.$router.navigate(["/restart"])})}}static \u0275fac=function(r){return new(r||i)};static \u0275cmp=$({type:i,selectors:[["ng-component"]],decls:56,vars:76,consts:[[1,"primary-text","m-0"],[1,"my-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"],["id","fieldsDisplay",1,"list-group","list-group-box","mt-2","mx-0"],["id","fieldsStartup",1,"list-group","list-group-box","mb-4","mx-0"],["id","fieldsNetwork",1,"list-group","list-group-box","mt-2","mx-0"],["id","fieldsSecurity",1,"list-group","list-group-box","mt-2","mx-0"],[1,"small","grey-text","mb-2","mx-0"],["id","fieldsCache",1,"list-group","list-group-box","mb-4","mx-0"],["id","fieldsReset",1,"list-group","list-group-box","mt-2","mx-0"],[1,"pb-3"],[1,"list-group-item","d-block","d-md-flex","justify-content-between","align-items-center"],[1,"my-3","my-md-0","pl-0","pl-md-5","w-auto","d-flex","align-items-center"],["type","text",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl","ngClass"],[1,"fas","fa-fw","fa-floppy-disk","primary-text","fa-xl","me-0","me-md-2","ms-2","ms-md-0","order-2","order-md-1"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"pe-2"],[1,"btn","btn-primary","waves-effect","m-0","ms-3",2,"min-width","50px",3,"click"],[1,"fas","fa-fw","fa-arrow-right"],["routerLink","/users",1,"btn","btn-primary","waves-effect","m-0","ms-3",2,"min-width","50px"],[1,"my-3","my-md-0","ps-0","ps-md-5","w-auto","d-flex","align-items-center"],[1,"custom-select","resp-select","order-1","order-md-2",3,"formControl"],["value","auto"],["value","bg"],["value","ca"],["value","zh-CN"],["value","zh-TW"],["value","cs"],["value","nl"],["value","en"],["value","fi"],["value","fr"],["value","de"],["value","he"],["value","hu"],["value","id"],["value","it"],["value","ja"],["value","ko"],["value","mk"],["value","no"],["value","pl"],["value","pt-BR"],["value","pt"],["value","ru"],["value","sl"],["value","es"],["value","sv"],["value","th"],["value","tr"],["value","uk"],["value","orange"],["value","red"],["value","pink"],["value","purple"],["value","deep-purple"],["value","indigo"],["value","blue"],["value","blue-grey"],["value","cyan"],["value","green"],["value","teal"],["value","grey"],["value","brown"],["value","light"],["value","dark"],["value","default"],["value","freeze"],["value","c"],["value","f"],[1,"grey-text","pe-2"],[1,"d-flex","align-items-center"],[1,"order-1","order-md-2"],["type","checkbox","id","homebridgeDebugMode",1,"rendux-input",3,"formControl"],["for","homebridgeDebugMode",1,"rendux-label","ms-3",2,"min-width","50px"],["type","checkbox","id","homebridgeInsecureMode",1,"rendux-input",3,"formControl"],["for","homebridgeInsecureMode",1,"rendux-label","ms-3",2,"min-width","50px"],["type","checkbox","id","homebridgeKeepOrphans",1,"rendux-input",3,"formControl"],["for","homebridgeKeepOrphans",1,"rendux-label","ms-3",2,"min-width","50px"],["type","checkbox","id","homebridgeMetrics",1,"rendux-input",3,"formControl"],["for","homebridgeMetrics",1,"rendux-label","ms-3",2,"min-width","50px"],["type","text","placeholder","/usr/local/lib/node_modules/homebridge",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl"],[1,"font-monospace"],[1,"grey-text","pe-2",3,"innerHTML"],["type","text","placeholder","HAP-NodeJS:Advertiser,HAP-NodeJS:Service",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl"],["type","text","placeholder","--max-old-space-size=512 --max-http-header-size=8192",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl"],["type","number","min","-1","placeholder","1000000",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl","ngClass"],["type","text","placeholder","shutdown",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl"],["type","text","placeholder","reboot",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl"],["type","text","placeholder","/sys/class/thermal/thermal_zone0/temp",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl"],["routerLink","/platform-tools/docker/startup-script",1,"btn","btn-primary","waves-effect","m-0","ms-3",2,"min-width","50px"],["type","number","min","0","placeholder","200000",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl","ngClass"],[1,"small","grey-text","pe-2"],[1,"badge","badge-primary","me-1",3,"ngClass"],[1,"btn","btn-primary","waves-effect","m-0","ms-3",2,"min-width","50px",3,"click","disabled"],["value","avahi"],["value","ciao"],["value","bonjour-hap"],["value","resolved"],["type","number","min","1025","max","65533",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl","ngClass"],["type","number","min","1025","max","65533","placeholder","8581",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl","ngClass"],[1,"grey-text","pe-2",3,"innerHtml"],["type","text","pattern","^[^{}/ :\\\\]+(?::\\d+)?$","placeholder","0.0.0.0",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl"],["type","text","pattern","^[^{}/ :\\\\]+(?::\\d+)?$","placeholder","example.com:8443",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl"],[1,"fas","fa-fw","fa-exclamation-triangle"],[1,"fw-normal"],["type","checkbox","id","uiAuthForm",1,"rendux-input",3,"formControl"],["for","uiAuthForm",1,"rendux-label","ms-3",2,"min-width","50px"],["value","off"],["value","keycert"],["value","pfx"],["type","number","min","600","max","86400000","placeholder","28800",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl","ngClass"],["type","text","placeholder","/Users/.../certs/server.key",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl"],["type","text","placeholder","/Users/.../certs/server.crt",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl"],["type","text","placeholder","/Users/.../certs/server.pfx",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl"],["placeholder","mypassphrase",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"focus","blur","type","formControl"],["type","checkbox","id","accessoryDebug",1,"rendux-input",3,"formControl"],["for","accessoryDebug",1,"rendux-label","ms-3",2,"min-width","50px"]],template:function(r,p){r&1&&(h(0,fi,1,0,"app-spinner"),n(1,"h3",0),l(2),s(3,"translate"),a(),n(4,"div",1)(5,"div",2),f("click",function(){return p.toggleSection("general")}),n(6,"h5",3),d(7,"i",4),l(8),s(9,"translate"),a()(),h(10,xi,23,23,"ul",5),a(),n(11,"div",1)(12,"div",2),f("click",function(){return p.toggleSection("display")}),n(13,"h5",3),d(14,"i",4),l(15),s(16,"translate"),a()(),h(17,Ei,157,94,"ul",6),a(),n(18,"div",1)(19,"div",2),f("click",function(){return p.toggleSection("startup")}),n(20,"h5",3),d(21,"i",4),l(22),s(23,"translate"),a()(),h(24,Wi,111,85,"ul",7),a(),n(25,"div",1)(26,"div",2),f("click",function(){return p.toggleSection("network")}),n(27,"h5",3),d(28,"i",4),l(29),s(30,"translate"),a()(),h(31,nn,104,104,"ul",8),a(),n(32,"div",1)(33,"div",2),f("click",function(){return p.toggleSection("security")}),n(34,"h5",3),d(35,"i",4),l(36),s(37,"translate"),a()(),h(38,un,49,42,"ul",9),a(),n(39,"div",1)(40,"div",2),f("click",function(){return p.toggleSection("cache")}),n(41,"h5",3),d(42,"i",4),l(43),s(44,"translate"),a()(),h(45,hn,3,3,"p",10),h(46,gn,48,38,"ul",11),a(),n(47,"div",1)(48,"div",2),f("click",function(){return p.toggleSection("reset")}),n(49,"h5",3),d(50,"i",4),l(51),s(52,"translate"),a()(),h(53,bn,3,3,"p",10),h(54,vn,24,20,"ul",12),a(),d(55,"div",13)),r&2&&(_(p.loading?0:-1),t(2),u(o(3,39,"menu.settings.title")),t(3),v("aria-expanded",p.showFields.general?"true":"false")("aria-controls","fieldsGeneral"),t(2),c("ngClass",T(55,Q,p.showFields.general,!p.showFields.general)),t(),g(" ",o(9,41,"settings.general.title_general")," "),t(2),_(p.showFields.general?10:-1),t(2),v("aria-expanded",p.showFields.display?"true":"false")("aria-controls","fieldsDisplay"),t(2),c("ngClass",T(58,Q,p.showFields.display,!p.showFields.display)),t(),g(" ",o(16,43,"settings.general.title_display")," "),t(2),_(p.showFields.display?17:-1),t(2),v("aria-expanded",p.showFields.startup?"true":"false")("aria-controls","fieldsStartup"),t(2),c("ngClass",T(61,Q,p.showFields.startup,!p.showFields.startup)),t(),g(" ",o(23,45,"settings.title_startup_options")," "),t(2),_(p.showFields.startup?24:-1),t(2),v("aria-expanded",p.showFields.network?"true":"false")("aria-controls","fieldsNetwork"),t(2),c("ngClass",T(64,Q,p.showFields.network,!p.showFields.network)),t(),g(" ",o(30,47,"settings.network.title_network")," "),t(2),_(p.showFields.network?31:-1),t(2),v("aria-expanded",p.showFields.security?"true":"false")("aria-controls","fieldsSecurity"),t(2),c("ngClass",T(67,Q,p.showFields.security,!p.showFields.security)),t(),g(" ",o(37,49,"settings.network.title_security")," "),t(2),_(p.showFields.security?38:-1),t(2),v("aria-expanded",p.showFields.cache?"true":"false")("aria-controls","fieldsCache"),t(2),c("ngClass",T(70,Q,p.showFields.cache,!p.showFields.cache)),t(),g(" ",o(44,51,"settings.cache.title")," "),t(2),_(p.showFields.cache?45:-1),t(),_(p.showFields.cache?46:-1),t(2),v("aria-expanded",p.showFields.reset?"true":"false")("aria-controls","fieldsReset"),t(2),c("ngClass",T(73,Q,p.showFields.reset,!p.showFields.reset)),t(),g(" ",o(52,53,"reset.bridges.title")," "),t(2),_(p.showFields.reset?53:-1),t(),_(p.showFields.reset?54:-1))},dependencies:[U,De,ee,$e,Fe,ne,Be,Y,Te,Z,Ae,Re,Pe,te,ae,X,F,Ne],encapsulation:2,data:{animation:[ke("fadeInOut",[ce(":enter",[ie({opacity:0}),de("750ms",ie({opacity:1}))]),ce(":leave",[de("750ms",ie({opacity:0}))])])]}})}return i})();export{ze as a,oe as b,Ge as c,qe as d,Xe as e,Ye as f,Rr as g};
@@ -1 +0,0 @@
1
- import{g as i}from"./chunk-JBQX4JBH.js";import"./chunk-EM4PY2IW.js";import{ha as t,kd as l,mb as e}from"./chunk-W6X46MTW.js";var d=[{path:"",redirectTo:"/",pathMatch:"full"},{path:"docker",loadChildren:()=>import("./chunk-FGR2Q3QC.js").then(o=>o.DockerModule)},{path:"linux",loadChildren:()=>import("./chunk-ZI5BUHBS.js").then(o=>o.LinuxModule)},{path:"terminal",loadChildren:()=>import("./chunk-BOWJ3GNE.js").then(o=>o.TerminalModule)}],n=(()=>{class o{static \u0275fac=function(r){return new(r||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[i.forChild(d),i]})}return o})();var s=(()=>{class o{static \u0275fac=function(r){return new(r||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[l,n]})}return o})();export{s as PlatformToolsModule};
@@ -1 +0,0 @@
1
- import{k as w,n as S}from"./chunk-6TUL34DU.js";import{a as _,b as h}from"./chunk-555LSHXI.js";import{$a as e,Ac as s,Bc as m,Hb as d,Ib as c,Ob as n,Pb as i,Qb as u,Yb as v,jc as o,kc as a,la as p,lb as f}from"./chunk-W6X46MTW.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 as H,b as X}from"./chunk-Z7NIAJEB.js";import{a as Z}from"./chunk-SCRWY2OT.js";import{a as R}from"./chunk-IMPGSXGE.js";import{n as L}from"./chunk-2NQ5FYSH.js";import"./chunk-5NG7YGKN.js";import{a as W,c as q,d as V,e as N,f as D}from"./chunk-JBQX4JBH.js";import{a as j}from"./chunk-4G5TRQV5.js";import{b as B}from"./chunk-CI7ES5EB.js";import{b as $}from"./chunk-4I6LLOMI.js";import{m as T}from"./chunk-6TUL34DU.js";import"./chunk-EM4PY2IW.js";import{a as P,b as U}from"./chunk-555LSHXI.js";import{$a as o,Ac as d,Bc as l,Gb as u,Hb as x,Ib as y,Nb as c,Ob as n,Pb as a,Qb as p,Ub as S,Xb as _,Yb as w,bd as E,eb as F,g as Y,h as z,jc as f,kc as g,la as m,lb as O,ra as h,sa as b,sd as K,vc as v,w as A,wc as M}from"./chunk-W6X46MTW.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-VP6YRYDX.js";import"./chunk-JBQX4JBH.js";import"./chunk-4G5TRQV5.js";import"./chunk-CI7ES5EB.js";import"./chunk-4I6LLOMI.js";import"./chunk-6TUL34DU.js";import"./chunk-EM4PY2IW.js";import"./chunk-555LSHXI.js";import"./chunk-W6X46MTW.js";export{a as ContainerRestartComponent};
@@ -1 +0,0 @@
1
- import{e as I}from"./chunk-W6X46MTW.js";var j=I((k,m)=>{(function(g,l){typeof k=="object"&&typeof m=="object"?m.exports=l():typeof define=="function"&&define.amd?define([],l):typeof k=="object"?k.WebLinksAddon=l():g.WebLinksAddon=l()})(self,function(){return(()=>{"use strict";var g={6:(a,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.LinkComputer=r.WebLinkProvider=void 0;var s=function(){function o(n,i,e,t){t===void 0&&(t={}),this._terminal=n,this._regex=i,this._handler=e,this._options=t}return o.prototype.provideLinks=function(n,i){var e=p.computeLink(n,this._regex,this._terminal,this._handler);i(this._addCallbacks(e))},o.prototype._addCallbacks=function(n){var i=this;return n.map(function(e){return e.leave=i._options.leave,e.hover=function(t,u){if(i._options.hover){var c=e.range;i._options.hover(t,u,c)}},e})},o}();r.WebLinkProvider=s;var p=function(){function o(){}return o.computeLink=function(n,i,e,t){for(var u,c=new RegExp(i.source,(i.flags||"")+"g"),_=o._translateBufferLineToStringWithWrap(n-1,!1,e),d=_[0],f=_[1],v=-1,w=[];(u=c.exec(d))!==null;){var h=u[1];if(!h){console.log("match found without corresponding matchIndex");break}if(v=d.indexOf(h,v+1),c.lastIndex=v+h.length,v<0)break;for(var b=v+h.length,y=f+1;b>e.cols;)b-=e.cols,y++;for(var L=v+1,P=f+1;L>e.cols;)L-=e.cols,P++;var M={start:{x:L,y:P},end:{x:b,y}};w.push({range:M,text:h,activate:t})}return w},o._translateBufferLineToStringWithWrap=function(n,i,e){var t,u,c="";do{if(!(d=e.buffer.active.getLine(n)))break;d.isWrapped&&n--,u=d.isWrapped}while(u);var _=n;do{var d,f=e.buffer.active.getLine(n+1);if(t=!!f&&f.isWrapped,!(d=e.buffer.active.getLine(n)))break;c+=d.translateToString(!t&&i).substring(0,e.cols),n++}while(t);return[c,_]},o}();r.LinkComputer=p}},l={};function x(a){var r=l[a];if(r!==void 0)return r.exports;var s=l[a]={exports:{}};return g[a](s,s.exports,x),s.exports}var W={};return(()=>{var a=W;Object.defineProperty(a,"__esModule",{value:!0}),a.WebLinksAddon=void 0;var r=x(6),s=new RegExp(`(?:^|[^\\da-z\\.-]+)((https?:\\/\\/)((([\\da-z\\.-]+)\\.([a-z\\.]{2,18}))|((\\d{1,3}\\.){3}\\d{1,3})|(localhost))(:\\d{1,5})?((\\/[\\/\\w\\.\\-%~:+@]*)*([^:"'\\s]))?(\\?[0-9\\w\\[\\]\\(\\)\\/\\?\\!#@$%&'*+,:;~\\=\\.\\-]*)?(#[0-9\\w\\[\\]\\(\\)\\/\\?\\!#@$%&'*+,:;~\\=\\.\\-]*)?)($|[^\\/\\w\\.\\-%]+)`);function p(n,i){var e=window.open();if(e){try{e.opener=null}catch{}e.location.href=i}else console.warn("Opening link blocked as opener could not be cleared")}var o=function(){function n(i,e,t){i===void 0&&(i=p),e===void 0&&(e={}),t===void 0&&(t=!1),this._handler=i,this._options=e,this._useLinkProvider=t}return n.prototype.activate=function(i){if(this._terminal=i,this._useLinkProvider&&"registerLinkProvider"in this._terminal){var e=(t=this._options).urlRegex||s;this._linkProvider=this._terminal.registerLinkProvider(new r.WebLinkProvider(this._terminal,e,this._handler,t))}else{var t;(t=this._options).matchIndex=1,this._linkMatcherId=this._terminal.registerLinkMatcher(s,this._handler,t)}},n.prototype.dispose=function(){var i;this._linkMatcherId!==void 0&&this._terminal!==void 0&&this._terminal.deregisterLinkMatcher(this._linkMatcherId),(i=this._linkProvider)===null||i===void 0||i.dispose()},n}();a.WebLinksAddon=o})(),W})()})});export{j as a};
@@ -1 +0,0 @@
1
- import"./chunk-NQE2RXH6.js";import"./chunk-YLZEJ2HL.js";import"./chunk-5CEP4QNR.js";import"./chunk-M5VWLNY3.js";import{g as i}from"./chunk-JBQX4JBH.js";import"./chunk-4G5TRQV5.js";import"./chunk-CI7ES5EB.js";import"./chunk-4I6LLOMI.js";import"./chunk-6TUL34DU.js";import"./chunk-EM4PY2IW.js";import{c as m}from"./chunk-555LSHXI.js";import{ha as t,kd as n,mb as r}from"./chunk-W6X46MTW.js";var u=[{path:"",loadComponent:()=>import("./chunk-FQM6JWF4.js").then(o=>o.TerminalComponent)}],a=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[i.forChild(u),i]})}return o})();var T=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[n,a,m.forChild()]})}return o})();export{T as TerminalModule};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-D35WUZO6.js";import"./chunk-555LSHXI.js";import"./chunk-W6X46MTW.js";export{a as SupportComponent};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-3FQVTGEO.js";import"./chunk-6TUL34DU.js";import"./chunk-EM4PY2IW.js";import"./chunk-555LSHXI.js";import"./chunk-W6X46MTW.js";export{a as ShutdownLinuxComponent};
@@ -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-YSWBG5VY.js";import{b as Z}from"./chunk-QJQSHTGR.js";import{v as i}from"./chunk-2NQ5FYSH.js";import{A as t,z as e}from"./chunk-5NG7YGKN.js";import{c as p}from"./chunk-555LSHXI.js";import{ha as m,kd as n,mb as r}from"./chunk-W6X46MTW.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{b as _}from"./chunk-555LSHXI.js";import{$a as e,Ac as i,Bc as n,Gb as s,Hb as b,Ib as f,Nb as h,Ob as t,Pb as a,Qb as p,Xb as g,bd as S,jc as r,kc as m,lb as w,lc as l,xc as x}from"./chunk-W6X46MTW.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{g as a}from"./chunk-OR2P7NW7.js";import"./chunk-YLZEJ2HL.js";import"./chunk-YSWBG5VY.js";import"./chunk-LSWNZUER.js";import"./chunk-Z7NIAJEB.js";import"./chunk-2IJPNUW7.js";import"./chunk-GMQEHLXV.js";import"./chunk-6XANA56B.js";import"./chunk-WTTWP6KF.js";import"./chunk-QJQSHTGR.js";import"./chunk-S6UXXPGF.js";import"./chunk-JVERWDTV.js";import"./chunk-5CEP4QNR.js";import"./chunk-SWUH5RAT.js";import"./chunk-M5VWLNY3.js";import"./chunk-J764EFYE.js";import"./chunk-SCRWY2OT.js";import"./chunk-IMPGSXGE.js";import"./chunk-2NQ5FYSH.js";import"./chunk-5NG7YGKN.js";import"./chunk-JBQX4JBH.js";import"./chunk-4G5TRQV5.js";import"./chunk-CI7ES5EB.js";import"./chunk-4I6LLOMI.js";import"./chunk-6TUL34DU.js";import"./chunk-EM4PY2IW.js";import"./chunk-555LSHXI.js";import"./chunk-W6X46MTW.js";export{a as StatusComponent};
@@ -1,20 +0,0 @@
1
- import{a as ee}from"./chunk-TJJCM4OW.js";import{a as Z,b as ne}from"./chunk-6XANA56B.js";import{a as W,b as Y}from"./chunk-WTTWP6KF.js";import{a as X}from"./chunk-S6UXXPGF.js";import{m as J,n as K,t as U}from"./chunk-2NQ5FYSH.js";import{c as N,e as F,l as q,z}from"./chunk-5NG7YGKN.js";import{b as G}from"./chunk-JBQX4JBH.js";import{b as Q}from"./chunk-4I6LLOMI.js";import{k as M,n as V}from"./chunk-6TUL34DU.js";import{a as k,b as T}from"./chunk-555LSHXI.js";import{$a as n,Ac as s,Bc as d,Cc as O,Gb as C,Hb as m,Ib as p,Kb as I,Lb as j,Mb as H,Nb as v,Ob as r,Pb as a,Qb as w,Ub as b,Xb as _,Yb as l,eb as D,g as oe,h as S,id as L,jc as y,kc as x,la as h,lb as $,lc as E,qc as R,ra as g,rc as P,sa as u,sc as B,w as A}from"./chunk-W6X46MTW.js";var ie=oe(ne(),1);function ae(o,f){o&1&&(r(0,"div",5),w(1,"i",12),a())}function se(o,f){if(o&1){let e=b();r(0,"li",17),y(1),s(2,"date"),r(3,"button",18),s(4,"translate"),_("click",function(){let t=g(e).$implicit,c=l(3);return u(c.restore(t.id))}),w(5,"i",19),a()()}if(o&2){let e=f.$implicit;n(),E(" ",O(2,2,e.timestamp,"medium")," "),n(2),C("aria-label",d(4,5,"config.restore.copy_to_editor"))}}function le(o,f){if(o&1&&(r(0,"ul",15),j(1,se,6,7,"li",17,I),a()),o&2){let e=l(2);n(),H(e.backupList)}}function de(o,f){o&1&&(r(0,"p",16),y(1),s(2,"translate"),a()),o&2&&(n(),x(d(2,1,"config.restore.no_backups")))}function ce(o,f){if(o&1&&(r(0,"div",13),w(1,"i",14),a(),r(2,"p",13),y(3),s(4,"translate"),a(),m(5,le,3,0,"ul",15),m(6,de,3,3,"p",16)),o&2){let e=l();n(3),x(d(4,3,"config.restore.title_restore_homebridge_backup")),n(2),p(e.backupList&&e.backupList.length?5:-1),n(),p(!e.backupList||!e.backupList.length?6:-1)}}function me(o,f){if(o&1){let e=b();r(0,"button",20),s(1,"translate"),_("click",function(){g(e);let t=l();return u(t.$activeModal.dismiss("Dismiss"))}),y(2),s(3,"translate"),a()}o&2&&(C("aria-label",d(1,2,"form.button_close")),n(2),E(" ",d(3,4,"form.button_close")," "))}function pe(o,f){if(o&1){let e=b();r(0,"button",20),s(1,"translate"),_("click",function(){g(e);let t=l();return u(t.$activeModal.dismiss("Dismiss"))}),y(2),s(3,"translate"),a()}o&2&&(C("aria-label",d(1,2,"form.button_close")),n(2),E(" ",d(3,4,"form.button_close")," "))}function fe(o,f){if(o&1){let e=b();r(0,"button",21),s(1,"translate"),_("click",function(){g(e);let t=l();return u(t.deleteAllBackups())}),y(2),s(3,"translate"),a()}o&2&&(C("aria-label",d(1,2,"form.button_remove")),n(2),E(" ",d(3,4,"form.button_remove")," "))}var te=(()=>{class o{$activeModal=h(J);$api=h(V);$toastr=h(M);$translate=h(k);loading=!0;backupList=[];constructor(){}ngOnInit(){this.$api.get("/config-editor/backups").subscribe({next:e=>{this.loading=!1,this.backupList=e},error:e=>{this.loading=!1,console.error(e),this.$toastr.error(e.error.message||e.message,this.$translate.instant("toast.title_error"))}})}restore(e){return this.$activeModal.close(e)}deleteAllBackups(){return this.$api.delete("/config-editor/backups").subscribe({next:()=>{this.$activeModal.dismiss(),this.$toastr.success(this.$translate.instant("config.restore.toast_backups_deleted"),this.$translate.instant("toast.title_success"))},error:e=>{console.error(e),this.$toastr.error(e.error.message||e.message,this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(i){return new(i||o)};static \u0275cmp=$({type:o,selectors:[["ng-component"]],decls:17,vars:11,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","primary-text"],[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",1,"btn","btn-danger","me-auto"],[1,"fa","fa-fw","fa-cog","fa-spin",2,"font-size","75px"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-history","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box"],[1,"text-center","mb-0"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"btn","btn-primary","m-0","ms-3",3,"click"],[1,"fas","fa-fw","fa-arrow-right"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button",1,"btn","btn-danger","me-auto",3,"click"]],template:function(i,t){i&1&&(r(0,"div",0)(1,"div",1)(2,"h5",2),y(3),s(4,"translate"),a(),r(5,"button",3),s(6,"translate"),_("click",function(){return t.$activeModal.dismiss("Dismiss")}),a()(),r(7,"div",4),m(8,ae,2,0,"div",5),m(9,ce,7,5),a(),r(10,"div",6)(11,"div",7),m(12,me,4,6,"button",8),a(),r(13,"div",9),m(14,pe,4,6,"button",8),a(),r(15,"div",10),m(16,fe,4,6,"button",11),a()()()),i&2&&(n(3),x(d(4,7,"form.button_restore")),n(2),C("aria-label",d(6,9,"form.button_close")),n(3),p(t.loading?8:-1),n(),p(t.loading?-1:9),n(3),p(!t.loading&&t.backupList.length?12:-1),n(2),p(t.loading||!t.loading&&!t.backupList.length?14:-1),n(2),p(!t.loading&&t.backupList.length?16:-1))},dependencies:[L,T],encapsulation:2})}return o})();function ge(o,f){if(o&1){let e=b();r(0,"button",13),s(1,"translate"),s(2,"translate"),_("click",function(){g(e);let t=l();return u(t.onExportConfig())}),w(3,"i",14),a()}o&2&&(v("ngbTooltip",d(1,2,"form.button_download")),C("aria-label",d(2,4,"form.button_download")))}function ue(o,f){if(o&1){let e=b();r(0,"button",15),s(1,"translate"),s(2,"translate"),_("click",function(){g(e);let t=l();return u(t.onCancelRestore())}),w(3,"i",16),a()}if(o&2){let e=l();v("disabled",e.saveInProgress)("ngbTooltip",d(1,3,"form.button_cancel")),C("aria-label",d(2,5,"form.button_cancel"))}}function he(o,f){if(o&1){let e=b();r(0,"button",13),s(1,"translate"),s(2,"translate"),_("click",function(){g(e);let t=l();return u(t.onRestore())}),w(3,"i",17),a()}o&2&&(v("ngbTooltip",d(1,2,"form.button_restore")),C("aria-label",d(2,4,"form.button_restore")))}function _e(o,f){o&1&&w(0,"i",8)}function be(o,f){o&1&&w(0,"i",9)}function Ce(o,f){if(o&1){let e=b();r(0,"ngx-monaco-editor",18),_("onInit",function(t){g(e);let c=l();return u(c.onEditorInit(t))})("keydown.control.s",function(t){g(e);let c=l();return t.preventDefault(),u(c.onSave())})("keydown.meta.s",function(t){g(e);let c=l();return t.preventDefault(),u(c.onSave())}),a()}if(o&2){let e=l();v("options",e.editorOptions)("model",e.monacoEditorModel)}}function ye(o,f){if(o&1){let e=b();r(0,"ngx-monaco-diff-editor",19),_("onInit",function(t){g(e);let c=l();return u(c.onInitDiffEditor(t))})("keydown.control.s",function(t){g(e);let c=l();return t.preventDefault(),u(c.onSave())})("keydown.meta.s",function(t){g(e);let c=l();return t.preventDefault(),u(c.onSave())}),a()}if(o&2){let e=l();v("options",e.editorOptions)("originalModel",e.monacoEditorModel)("modifiedModel",e.monacoEditorModel)}}function we(o,f){if(o&1){let e=b();r(0,"textarea",20),B("ngModelChange",function(t){g(e);let c=l();return P(c.homebridgeConfig,t)||(c.homebridgeConfig=t),u(t)}),y(1," "),a()}if(o&2){let e=l();R("ngModel",e.homebridgeConfig)}}var Ke=(()=>{class o{$api=h(V);$md=h(X);$modal=h(K);$monacoEditor=h(ee);$route=h(G);$renderer=h(D);$settings=h(Q);$toastr=h(M);$translate=h(k);homebridgeConfig;originalConfig;saveInProgress;isMobile=!1;monacoEditor;editorOptions;monacoEditorModel;editorDecorations=[];lastHeight;visualViewPortEventCallback;constructor(){this.isMobile=this.$md.detect.mobile()}ngOnInit(){this.editorOptions={language:"json",theme:this.$settings.actualLightingMode==="dark"?"vs-dark":"vs-light",automaticLayout:!0};let e=document.querySelector(".content");this.$renderer.setStyle(e,"height","100%"),this.visualViewPortEventCallback=()=>this.visualViewPortChanged(),this.lastHeight=window.innerHeight,window.visualViewport&&!this.isMobile&&(window.visualViewport.addEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.disableTouchMove()),this.visualViewPortEventCallback=()=>this.visualViewPortChanged(),this.lastHeight=window.innerHeight,window.visualViewport&&!this.isMobile&&(window.visualViewport.addEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.disableTouchMove()),this.$route.data.subscribe(i=>{this.homebridgeConfig=i.config}),this.monacoEditorModel={value:"{}",language:"json",uri:window.monaco?window.monaco.Uri.parse("a://homebridge/config.json"):void 0},window.monaco?this.setMonacoEditorModel():this.$monacoEditor.readyEvent.subscribe({next:()=>{this.setMonacoEditorModel()}})}onEditorInit(e){window.editor=e,this.monacoEditor=e,this.monacoEditor.getModel().setValue(this.homebridgeConfig)}onInitDiffEditor(e){this.monacoEditor=e.modifiedEditor,e.getModel().original.setValue(this.originalConfig),e.getModel().modified.setValue(this.homebridgeConfig),window.editor=e}onSave(){return S(this,null,function*(){if(!this.saveInProgress){this.monacoEditor&&(this.editorDecorations=this.monacoEditor.deltaDecorations(this.editorDecorations,[])),this.saveInProgress=!0;try{if(!this.isMobile){yield this.monacoEditor.getAction("editor.action.formatDocument").run();let i=window.monaco.editor.getModelMarkers({owner:"json"});for(let t of i)if(t.message==="Duplicate object key"){this.saveInProgress=!1,this.$toastr.error(this.$translate.instant("config.config_invalid_json"),this.$translate.instant("toast.title_error"));return}this.homebridgeConfig=this.monacoEditor.getModel().getValue()}let e=this.parseConfigFromEditor();this.homebridgeConfig=JSON.stringify(e,null,4),typeof e.bridge!="object"?this.$toastr.error(this.$translate.instant("config.config_bridge_missing"),this.$translate.instant("toast.title_error")):/^(?:[0-9A-F]{2}:){5}[0-9A-F]{2}$/i.test(e.bridge.username)?e.accessories&&!Array.isArray(e.accessories)?this.$toastr.error(this.$translate.instant("config.config_accessory_must_be_array"),this.$translate.instant("toast.title_error")):e.platforms&&!Array.isArray(e.platforms)?this.$toastr.error(this.$translate.instant("config.config_platform_must_be_array"),this.$translate.instant("toast.title_error")):e.platforms&&Array.isArray(e.platforms)&&!this.validateSection(e.platforms,"platform")||e.accessories&&Array.isArray(e.accessories)&&!this.validateSection(e.accessories,"accessory")||e.plugins&&Array.isArray(e.plugins)&&!this.validatePlugins(e.plugins,"plugins")||e.disabledPlugins&&Array.isArray(e.disabledPlugins)&&!this.validatePlugins(e.disabledPlugins,"disabledPlugins")||(yield this.saveConfig(e),this.originalConfig=""):this.$toastr.error(this.$translate.instant("config.config_username_error"),this.$translate.instant("toast.title_error"))}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("config.config_invalid_json"),this.$translate.instant("toast.title_error"))}this.saveInProgress=!1}})}parseConfigFromEditor(){try{return JSON.parse(this.homebridgeConfig)}catch{let i=ie.default.parse(this.homebridgeConfig);return this.homebridgeConfig=JSON.stringify(i,null,4),this.monacoEditor&&this.monacoEditor.getModel().setValue(this.homebridgeConfig),i}}saveConfig(e){return S(this,null,function*(){try{let i=yield A(this.$api.post("/config-editor",e));this.homebridgeConfig=JSON.stringify(i,null,4),this.$modal.open(Z,{size:"lg",backdrop:"static"})}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("config.failed_to_save_config"),this.$translate.instant("toast.title_error"))}})}onRestore(){this.$modal.open(te,{size:"lg",backdrop:"static"}).result.then(e=>{this.originalConfig||(this.originalConfig=this.homebridgeConfig),this.$api.get(`/config-editor/backups/${e}`).subscribe({next:i=>{this.$toastr.info(this.$translate.instant("config.restore.confirm"),this.$translate.instant("config.title_backup_loaded")),this.homebridgeConfig=JSON.stringify(i,null,4),this.monacoEditor&&window.editor.modifiedEditor&&(this.editorDecorations=this.monacoEditor.deltaDecorations(this.editorDecorations,[]),this.monacoEditor.executeEdits("beautifier",[{identifier:"delete",range:new monaco.Range(1,1,this.monacoEditor.getModel().getLineCount()+10,1),text:"",forceMoveMarkers:!0}]),this.monacoEditor.executeEdits("beautifier",[{identifier:"insert",range:new monaco.Range(1,1,1,1),text:this.homebridgeConfig,forceMoveMarkers:!0}]))},error:i=>{console.error(i),this.$toastr.error(i.error.message||this.$translate.instant("backup.load_error"),this.$translate.instant("toast.title_error"))}})}).catch(()=>{})}onExportConfig(){let e=`data:text/json;charset=utf-8,${encodeURIComponent(this.homebridgeConfig)}`,i=document.createElement("a");i.setAttribute("href",e),i.setAttribute("download","config.json"),document.body.appendChild(i),i.click(),i.remove()}onCancelRestore(){this.homebridgeConfig=this.originalConfig,this.originalConfig=""}validateSection(e,i){for(let t of e){if(typeof t!="object"||Array.isArray(t))return this.$toastr.error(this.$translate.instant("config.error_blocks_objects",{type:i}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(t),!1;if(!t[i])return this.$toastr.error(this.$translate.instant("config.error_blocks_type",{type:i}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(t),!1;if(typeof t[i]!="string")return this.$toastr.error(this.$translate.instant("config.error_string_type",{type:i}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(t),!1}return!0}validatePlugins(e,i){for(let t of e)if(typeof t!="string")return this.$toastr.error(this.$translate.instant("config.error_string_array",{key:i}),this.$translate.instant("toast.title_error")),!1;return!0}highlightOffendingArrayItem(e){this.monacoEditor&&(e=JSON.stringify(e,null,4).split(`
2
- `).map(i=>` ${i}`).join(`
3
- `),setTimeout(()=>{let i=this.monacoEditor.getModel().findMatches(e);if(i.length){let t=i[0].range,c=new monaco.Range(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn);this.editorDecorations=this.monacoEditor.deltaDecorations(this.editorDecorations,[{range:c,options:{isWholeLine:!0,linesDecorationsClassName:"hb-monaco-editor-line-error"}}])}},200))}setMonacoEditorModel(){if(window.monaco.languages.json.jsonDefaults.diagnosticsOptions.schemas.some(i=>i.uri==="http://homebridge/config.json"))return;let e=monaco.Uri.parse("a://homebridge/config.json");window.monaco.languages.json.jsonDefaults.setDiagnosticsOptions({allowComments:!1,validate:!0,schemas:[{uri:"http://homebridge/config.json",fileMatch:[e.toString()],schema:{type:"object",required:["bridge"],properties:{bridge:{type:"object",required:["name","username","port","pin"],properties:{name:{type:"string",description:`The Homebridge instance name.
4
- This should be unique if you are running multiple instances of Homebridge.`,default:"Homebridge"},username:{type:"string",description:`Homebridge username must be 6 pairs of colon-separated hexadecimal characters (A-F 0-9).
5
- You should change this pin if you need to re-pair your instance with HomeKit.
6
- Example: 0E:89:49:64:91:86`,default:"0E:89:49:64:91:86",pattern:"^([A-Fa-f0-9]{2}:){5}[A-Fa-f0-9]{2}$"},port:{type:"number",description:`The port Homebridge listens on.
7
- If running more than one instance of Homebridge on the same server make sure each instance is given a unique port.`,default:51173,minimum:1025,maximum:65534},pin:{type:"string",description:`The Homebridge instance pin.
8
- This is used when pairing Homebridge to HomeKit.
9
- Example: 630-27-655`,default:"630-27-655",pattern:"^([0-9]{3}-[0-9]{2}-[0-9]{3})$"},manufacturer:{type:"string",description:"The bridge manufacturer to be displayed in HomeKit"},firmwareRevision:{type:"string",description:"The bridge firmware version to be displayed in HomeKit"},model:{type:"string",description:"The bridge model to be displayed in HomeKit"},bind:{description:`A string or an array of strings with the name(s) of the network interface(s) Homebridge should bind to.
10
-
11
- Requires Homebridge v1.3 or later.`,type:["string","array"],items:{type:"string",description:"Network Interface name that Homebridge should bind to."}}},default:{name:"Homebridge",username:"0E:89:49:64:91:86",port:51173,pin:"6302-7655"}},mdns:{type:"object",properties:{interface:{type:"string",description:`The interface or IP address of the interface you want Homebridge to listen on. This is useful if your server has multiple interfaces.
12
-
13
- Deprecated as of Homebridge v1.3.0 - use bridge.bind instead.`},legacyAdvertiser:{type:"boolean",description:"Set to `false` to use the new mdns library, ciao."}},default:{legacyAdvertiser:!1}},plugins:{type:"array",description:"An array of plugins that should be selectively enabled. Remove this array to enable all plugins.",items:{type:"string",description:`The full plugin npm package name.
14
- Example: homebridge-dummy`},default:["homebridge-config-ui-x"]},disabledPlugins:{type:"array",description:`An array of plugins that should be disabled.
15
-
16
- Requires Homebridge v1.3 or later.`,items:{type:"string",description:`The full plugin npm package name.
17
- Example: homebridge-dummy`},default:[]},ports:{type:"object",description:"The range of ports that should be used for certain accessories like cameras and TVs",required:["start","end"],properties:{start:{type:"number",default:52100,minimum:1025,maximum:65534},end:{type:"number",default:52150,minimum:1025,maximum:65534}},default:{start:52100,end:52150}},platforms:{type:"array",description:`Any plugin that exposes a platform should have its config entered in this array.
18
- Separate each plugin config block using a comma.`,items:{type:"object",required:["platform"],anyOf:[{type:"object",required:["platform"],properties:{platform:{type:"string",description:"This is used by Homebridge to identify which plugin this platform belongs to.",not:{enum:["config"]}},name:{type:"string",description:"The name of the platform."}}},{type:"object",properties:{platform:{type:"string",description:`Homebridge UI platform name must be set to "config".
19
- Do Not Change!`,oneOf:[{enum:"config"}]},name:{type:"string",description:"The name used in the Homebridge log."}}}]}},accessories:{type:"array",description:`Any plugin that exposes an accessory should have its config entered in this array.
20
- Separate each plugin config block using a comma.`,items:{type:"object",required:["accessory","name"],properties:{accessory:{type:"string",description:"This is used by Homebridge to identify which plugin this accessory belongs to."},name:{type:"string",description:"The name of the accessory."}}}}}}}]}),this.monacoEditorModel.uri=monaco.Uri.parse("a://homebridge/config.json")}visualViewPortChanged(){this.lastHeight<window.visualViewport.height&&document.activeElement.blur(),window.visualViewport.height<window.innerHeight?(this.$md.enableTouchMove(),this.lastHeight=window.visualViewport.height):window.visualViewport.height===window.innerHeight&&(this.$md.disableTouchMove(),this.lastHeight=window.visualViewport.height)}ngOnDestroy(){let e=document.querySelector(".content");this.$renderer.removeStyle(e,"height"),window.visualViewport&&(window.visualViewport.removeEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.enableTouchMove()),this.monacoEditor&&this.monacoEditor.dispose()}static \u0275fac=function(i){return new(i||o)};static \u0275cmp=$({type:o,selectors:[["ng-component"]],decls:18,vars:18,consts:[[1,"flex-column","d-flex","align-items-stretch","h-100"],[1,"row"],[1,"col-6"],[1,"primary-text","m-0"],[1,"col-6","text-end"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","waves-effect","my-0","me-2",3,"ngbTooltip"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-danger","waves-effect","my-0","me-2",3,"disabled","ngbTooltip"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","waves-effect","my-0","me-0",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-floppy-disk"],[1,"fas","fa-fw","fa-spinner","fa-pulse"],[1,"flex-grow-1","h-100","w-100","mt-3","mb-0",3,"options","model"],[1,"flex-grow-1","h-100","w-100","mt-3","mb-0",3,"options","originalModel","modifiedModel"],["wrap","off","autocomplete","off","autocorrect","off","autocapitalize","off","spellcheck","false",1,"hb-plain-text-editor","align-self-end","h-100","w-100","my-3",3,"ngModel"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","waves-effect","my-0","me-2",3,"click","ngbTooltip"],[1,"fas","fa-fw","fa-download"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-danger","waves-effect","my-0","me-2",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-times"],[1,"fas","fa-fw","fa-history"],[1,"flex-grow-1","h-100","w-100","mt-3","mb-0",3,"onInit","keydown.control.s","keydown.meta.s","options","model"],[1,"flex-grow-1","h-100","w-100","mt-3","mb-0",3,"onInit","keydown.control.s","keydown.meta.s","options","originalModel","modifiedModel"],["wrap","off","autocomplete","off","autocorrect","off","autocapitalize","off","spellcheck","false",1,"hb-plain-text-editor","align-self-end","h-100","w-100","my-3",3,"ngModelChange","ngModel"]],template:function(i,t){i&1&&(r(0,"div",0)(1,"div",1)(2,"div",2)(3,"h3",3),y(4),s(5,"translate"),a()(),r(6,"div",4),m(7,ge,4,6,"button",5),m(8,ue,4,7,"button",6),m(9,he,4,6,"button",5),r(10,"button",7),s(11,"translate"),s(12,"translate"),_("click",function(){return t.onSave()}),m(13,_e,1,0,"i",8),m(14,be,1,0,"i",9),a()()(),m(15,Ce,1,2,"ngx-monaco-editor",10),m(16,ye,1,3,"ngx-monaco-diff-editor",11),m(17,we,2,1,"textarea",12),a()),i&2&&(n(4),x(d(5,12,"menu.config_json_editor")),n(3),p(t.originalConfig?-1:7),n(),p(t.originalConfig?8:-1),n(),p(t.originalConfig?-1:9),n(),v("disabled",t.saveInProgress)("ngbTooltip",d(11,14,"form.button_save")),C("aria-label",d(12,16,"form.button_save")),n(3),p(t.saveInProgress?-1:13),n(),p(t.saveInProgress?14:-1),n(),p(!t.isMobile&&!t.originalConfig?15:-1),n(),p(!t.isMobile&&t.originalConfig?16:-1),n(),p(t.isMobile?17:-1))},dependencies:[U,W,Y,z,N,F,q,T],encapsulation:2})}return o})();export{Ke as a};