homebridge-config-ui-x 5.8.1-beta.1 → 5.8.1-beta.11

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 (110) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/core/auth/auth.controller.d.ts +4 -0
  3. package/dist/core/config/config.interfaces.d.ts +3 -0
  4. package/dist/core/config/config.service.d.ts +6 -0
  5. package/dist/core/config/config.service.js +14 -0
  6. package/dist/core/config/config.service.js.map +1 -1
  7. package/dist/core/config/config.startup.js +36 -17
  8. package/dist/core/config/config.startup.js.map +1 -1
  9. package/dist/core/ssl/ssl-cert-generator.service.d.ts +15 -0
  10. package/dist/core/ssl/ssl-cert-generator.service.js +127 -0
  11. package/dist/core/ssl/ssl-cert-generator.service.js.map +1 -0
  12. package/dist/modules/config-editor/config-editor.controller.d.ts +4 -0
  13. package/dist/modules/config-editor/config-editor.controller.js +24 -0
  14. package/dist/modules/config-editor/config-editor.controller.js.map +1 -1
  15. package/dist/modules/config-editor/config-editor.service.d.ts +2 -0
  16. package/dist/modules/config-editor/config-editor.service.js +17 -0
  17. package/dist/modules/config-editor/config-editor.service.js.map +1 -1
  18. package/dist/modules/server/server.controller.d.ts +6 -0
  19. package/dist/modules/server/server.controller.js +27 -0
  20. package/dist/modules/server/server.controller.js.map +1 -1
  21. package/dist/modules/server/server.service.d.ts +7 -0
  22. package/dist/modules/server/server.service.js +113 -3
  23. package/dist/modules/server/server.service.js.map +1 -1
  24. package/package.json +16 -17
  25. package/public/3rdpartylicenses.txt +20 -25
  26. package/public/assets/plugin-ui-utils/ui.js +3 -0
  27. package/public/assets/plugin-ui-utils/ui.js.map +1 -1
  28. package/public/{chunk-7EYPGTLV.js → chunk-265KMAKU.js} +1 -1
  29. package/public/{chunk-NA7QHMTP.js → chunk-32PNKEBU.js} +1 -1
  30. package/public/{chunk-YWGS7NS6.js → chunk-45JBQ27F.js} +1 -1
  31. package/public/{chunk-K5RZJZFQ.js → chunk-4E3TNUZA.js} +1 -1
  32. package/public/{chunk-M554BJKF.js → chunk-4FR5IUD6.js} +1 -1
  33. package/public/{chunk-JRG2HKZ4.js → chunk-54MO372V.js} +1 -1
  34. package/public/chunk-5RUAAFRN.js +1 -0
  35. package/public/{chunk-4ZHYSN5T.js → chunk-6M4BKXPC.js} +1 -1
  36. package/public/{chunk-CTRI2A25.js → chunk-72KUFY2I.js} +1 -1
  37. package/public/{chunk-VWWFKF63.js → chunk-7AQ3U466.js} +1 -1
  38. package/public/{chunk-DUGTWX62.js → chunk-7NT5O6NB.js} +1 -1
  39. package/public/{chunk-YT34VIT6.js → chunk-B7RSGI3Z.js} +1 -1
  40. package/public/{chunk-L3L4OWXS.js → chunk-BG4ME3P7.js} +1 -1
  41. package/public/{chunk-KANB2ARW.js → chunk-BIXWXEEW.js} +1 -1
  42. package/public/{chunk-W6X5DVD5.js → chunk-CQLJRFML.js} +1 -1
  43. package/public/{chunk-P7O2ARHQ.js → chunk-CXUIQYGD.js} +1 -1
  44. package/public/{chunk-2ABZZV4Q.js → chunk-DCHKUJZE.js} +1 -1
  45. package/public/{chunk-PTGMLVYK.js → chunk-E2Y73M2C.js} +1 -1
  46. package/public/chunk-EDB2UTOB.js +1 -0
  47. package/public/{chunk-JT5B26V7.js → chunk-FMVILKMI.js} +1 -1
  48. package/public/{chunk-VZZNU32G.js → chunk-FMZG46GC.js} +1 -1
  49. package/public/chunk-GCWIOFO2.js +50 -0
  50. package/public/{chunk-SBQ53AN2.js → chunk-GKPSTVMD.js} +1 -1
  51. package/public/chunk-GPQF5BVT.js +1 -0
  52. package/public/chunk-HCVBQMPY.js +4 -0
  53. package/public/{chunk-ZAMU656A.js → chunk-HOEWVSEV.js} +1 -1
  54. package/public/{chunk-TFGWHHOW.js → chunk-HW3MSWTY.js} +1 -1
  55. package/public/{chunk-IJPYDOZ4.js → chunk-IGNYAGV3.js} +1 -1
  56. package/public/{chunk-EKYIR5QX.js → chunk-IOQQFCCQ.js} +1 -1
  57. package/public/{chunk-JWHPBRNB.js → chunk-IQSWTLDE.js} +1 -1
  58. package/public/{chunk-NSGFRJXN.js → chunk-J6Q2DPRL.js} +1 -1
  59. package/public/{chunk-3ZBDWVWN.js → chunk-JFWMDYB2.js} +1 -1
  60. package/public/{chunk-O737MTX5.js → chunk-JK5YO5KW.js} +1 -1
  61. package/public/chunk-KNKBGJLC.js +1 -0
  62. package/public/{chunk-EAX4BNA5.js → chunk-KR6UKANA.js} +1 -1
  63. package/public/chunk-KRITOQOP.js +1 -0
  64. package/public/{chunk-55HYMJBU.js → chunk-KYFLQ7R3.js} +1 -1
  65. package/public/{chunk-N37WSUE2.js → chunk-LGE6IIB6.js} +1 -1
  66. package/public/chunk-MGEETPA4.js +4 -0
  67. package/public/{chunk-CMDONNDN.js → chunk-MTRIU6D6.js} +1 -1
  68. package/public/chunk-NKVA4YGF.js +1 -0
  69. package/public/{chunk-A3BKR6VK.js → chunk-O4BJGTI7.js} +1 -1
  70. package/public/{chunk-IRYK7NUM.js → chunk-O6NBNFQY.js} +1 -1
  71. package/public/{chunk-MUCUUFUC.js → chunk-OATJRYLX.js} +1 -1
  72. package/public/{chunk-DJPP6PAG.js → chunk-PA763GKM.js} +1 -1
  73. package/public/{chunk-AJXWRGZ7.js → chunk-PELXH4TO.js} +1 -1
  74. package/public/{chunk-R5LPVDAB.js → chunk-PX4RUPGA.js} +1 -1
  75. package/public/{chunk-3T2NXEM5.js → chunk-Q433GZ7T.js} +1 -1
  76. package/public/{chunk-TNK3EDXK.js → chunk-Q5HBBNPS.js} +1 -1
  77. package/public/{chunk-3BCBKQNB.js → chunk-RBK35FRK.js} +1 -1
  78. package/public/{chunk-NJAB6GSP.js → chunk-REQ2KDPF.js} +1 -1
  79. package/public/{chunk-ZWTEC2E5.js → chunk-RL3JMCBV.js} +1 -1
  80. package/public/{chunk-2XFSGIAO.js → chunk-RM3JSPOW.js} +1 -1
  81. package/public/{chunk-6VMWCU67.js → chunk-RNGMPCB7.js} +1 -1
  82. package/public/chunk-RSX7YTWK.js +1 -0
  83. package/public/{chunk-KQPYGIQ6.js → chunk-S7APF3RO.js} +1 -1
  84. package/public/{chunk-QKQFBIWM.js → chunk-SCAD3EW6.js} +1 -1
  85. package/public/{chunk-CRK5T5NP.js → chunk-T22TV4MJ.js} +1 -1
  86. package/public/{chunk-4ASS2K7W.js → chunk-TIRNCEGL.js} +3 -3
  87. package/public/{chunk-SWTHJ45W.js → chunk-TVXZP4H4.js} +1 -1
  88. package/public/{chunk-SJ4I2XGL.js → chunk-UTPDI7IW.js} +1 -1
  89. package/public/{chunk-NOCOXUIM.js → chunk-VFTAEW2J.js} +1 -1
  90. package/public/{chunk-VZJUIJQS.js → chunk-WDOEQLFB.js} +1 -1
  91. package/public/{chunk-OQMPX5YA.js → chunk-Y7FUFGRH.js} +1 -1
  92. package/public/{chunk-ZCLWXDAG.js → chunk-YLFJH4ZN.js} +1 -1
  93. package/public/{chunk-IXERGIAN.js → chunk-YRAXAUQH.js} +1 -1
  94. package/public/chunk-YYORCSG2.js +5 -0
  95. package/public/{chunk-QK6DKG74.js → chunk-ZIHUFL2Q.js} +1 -1
  96. package/public/index.html +2 -2
  97. package/public/main-HY23LZ3Q.js +1 -0
  98. package/public/{styles-WNHDEKE4.css → styles-CSF457UW.css} +1 -1
  99. package/public/chunk-5VHJUCOJ.js +0 -4
  100. package/public/chunk-AZ6XS7AA.js +0 -1
  101. package/public/chunk-DQ7SHEQR.js +0 -4
  102. package/public/chunk-EAX2R5Y4.js +0 -1
  103. package/public/chunk-JJGGN6MW.js +0 -1
  104. package/public/chunk-KB2F2YYC.js +0 -5
  105. package/public/chunk-KLMCKWNW.js +0 -1
  106. package/public/chunk-MTBZM7Y2.js +0 -49
  107. package/public/chunk-NFR7Q6C4.js +0 -1
  108. package/public/chunk-NVNWS3JF.js +0 -1
  109. package/public/chunk-SQBE544X.js +0 -1
  110. package/public/main-HY7QISCA.js +0 -1
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "homebridge-config-ui-x",
3
3
  "displayName": "Homebridge UI",
4
- "version": "5.8.1-beta.1",
4
+ "version": "5.8.1-beta.11",
5
5
  "description": "A web based management, configuration and control platform for Homebridge.",
6
6
  "author": "oznu <dev@oz.nu>",
7
7
  "license": "MIT",
@@ -84,30 +84,31 @@
84
84
  "@homebridge/hap-client": "3.1.2",
85
85
  "@homebridge/node-pty-prebuilt-multiarch": "0.13.1",
86
86
  "@nestjs/axios": "4.0.1",
87
- "@nestjs/common": "11.1.6",
88
- "@nestjs/core": "11.1.6",
87
+ "@nestjs/common": "11.1.7",
88
+ "@nestjs/core": "11.1.7",
89
89
  "@nestjs/jwt": "11.0.1",
90
90
  "@nestjs/passport": "11.0.5",
91
- "@nestjs/platform-fastify": "11.1.6",
92
- "@nestjs/platform-socket.io": "11.1.6",
91
+ "@nestjs/platform-fastify": "11.1.7",
92
+ "@nestjs/platform-socket.io": "11.1.7",
93
93
  "@nestjs/swagger": "11.2.1",
94
- "@nestjs/websockets": "11.1.6",
94
+ "@nestjs/websockets": "11.1.7",
95
95
  "axios": "1.12.2",
96
96
  "bash-color": "0.0.4",
97
- "bonjour-service": "^1.3.0",
97
+ "bonjour-service": "1.3.0",
98
98
  "class-transformer": "0.5.1",
99
99
  "class-validator": "0.14.2",
100
- "commander": "14.0.1",
100
+ "commander": "14.0.2",
101
101
  "dayjs": "1.11.18",
102
102
  "fastify": "5.6.1",
103
103
  "fs-extra": "11.3.2",
104
104
  "jsonwebtoken": "9.0.2",
105
105
  "lodash": "4.17.21",
106
106
  "node-cache": "5.1.2",
107
+ "node-forge": "1.3.1",
107
108
  "node-schedule": "2.1.1",
108
109
  "ora": "9.0.0",
109
110
  "otplib": "12.0.1",
110
- "p-limit": "7.1.1",
111
+ "p-limit": "7.2.0",
111
112
  "passport": "0.7.0",
112
113
  "passport-jwt": "4.0.1",
113
114
  "reflect-metadata": "0.2.2",
@@ -121,18 +122,19 @@
121
122
  },
122
123
  "devDependencies": {
123
124
  "@antfu/eslint-config": "^6.0.0",
124
- "@nestjs/testing": "^11.1.6",
125
+ "@nestjs/testing": "^11.1.7",
125
126
  "@prettier/plugin-xml": "^3.4.2",
126
127
  "@types/fs-extra": "^11.0.4",
127
128
  "@types/lodash": "^4.17.20",
128
- "@types/node": "^24.8.1",
129
+ "@types/node": "^24.9.1",
130
+ "@types/node-forge": "^1.3.11",
129
131
  "@types/node-schedule": "^2.1.8",
130
132
  "@types/passport-jwt": "^4.0.1",
131
133
  "@types/semver": "^7.7.1",
132
134
  "@types/tail": "^2.2.3",
133
135
  "@types/tcp-port-used": "^1.0.4",
134
136
  "@types/unzipper": "^0.10.11",
135
- "@vitest/coverage-v8": "^3.2.4",
137
+ "@vitest/coverage-v8": "^4.0.3",
136
138
  "concurrently": "^9.2.1",
137
139
  "eslint-plugin-format": "^1.0.2",
138
140
  "form-data": "^4.0.4",
@@ -142,15 +144,12 @@
142
144
  "ts-node": "^10.9.2",
143
145
  "tsconfig-paths": "^4.2.0",
144
146
  "typescript": "^5.9.3",
145
- "unplugin-swc": "^1.5.7",
146
- "vitest": "^3.2.4"
147
+ "unplugin-swc": "^1.5.8",
148
+ "vitest": "^4.0.3"
147
149
  },
148
150
  "overrides": {
149
151
  "@homebridge/hap-client": {
150
152
  "axios": "1.12.2"
151
- },
152
- "@nestjs/platform-fastify": {
153
- "fastify": "5.6.1"
154
153
  }
155
154
  },
156
155
  "maintainers": [
@@ -656,35 +656,30 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
656
656
  SOFTWARE.
657
657
 
658
658
  --------------------------------------------------------------------------------
659
- Package: sortablejs
659
+ Package: @angular/cdk
660
660
  License: "MIT"
661
661
 
662
- MIT License
663
-
664
- Copyright (c) 2019 All contributors to Sortable
665
-
666
- Permission is hereby granted, free of charge, to any person obtaining a copy
667
- of this software and associated documentation files (the "Software"), to deal
668
- in the Software without restriction, including without limitation the rights
669
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
670
- copies of the Software, and to permit persons to whom the Software is
671
- furnished to do so, subject to the following conditions:
672
-
673
- The above copyright notice and this permission notice shall be included in all
674
- copies or substantial portions of the Software.
675
-
676
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
677
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
678
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
679
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
680
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
681
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
682
- SOFTWARE.
662
+ The MIT License
683
663
 
684
- --------------------------------------------------------------------------------
685
- Package: nxt-sortablejs
686
- License: "MIT"
664
+ Copyright (c) 2025 Google LLC.
665
+
666
+ Permission is hereby granted, free of charge, to any person obtaining a copy
667
+ of this software and associated documentation files (the "Software"), to deal
668
+ in the Software without restriction, including without limitation the rights
669
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
670
+ copies of the Software, and to permit persons to whom the Software is
671
+ furnished to do so, subject to the following conditions:
687
672
 
673
+ The above copyright notice and this permission notice shall be included in
674
+ all copies or substantial portions of the Software.
675
+
676
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
677
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
678
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
679
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
680
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
681
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
682
+ THE SOFTWARE.
688
683
 
689
684
  --------------------------------------------------------------------------------
690
685
  Package: uuid
@@ -210,6 +210,9 @@ class HomebridgePluginUi extends EventTargetConstructor {
210
210
  async getCachedAccessories() {
211
211
  return await this._requestResponse({ action: 'cachedAccessories.get' });
212
212
  }
213
+ async getCachedMatterAccessories() {
214
+ return await this._requestResponse({ action: 'cachedMatterAccessories.get' });
215
+ }
213
216
  async request(path, body) {
214
217
  return await this._requestResponse({ action: 'request', path, body });
215
218
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- import{a as pe}from"./chunk-2ABZZV4Q.js";import{a as ne,b as oe,c as ae}from"./chunk-TFGWHHOW.js";import{c as de}from"./chunk-VWWFKF63.js";import"./chunk-YT34VIT6.js";import{a as _e}from"./chunk-M554BJKF.js";import{a as ce}from"./chunk-SWTHJ45W.js";import{a as me}from"./chunk-55HYMJBU.js";import{m as I,n as ee,t as te}from"./chunk-AJXWRGZ7.js";import{B as Z,c as J,e as K,f as Q,i as U,l as X,m as Y}from"./chunk-ZCLWXDAG.js";import"./chunk-3ZBDWVWN.js";import{b as le}from"./chunk-JT5B26V7.js";import"./chunk-NVNWS3JF.js";import{b as se}from"./chunk-L3L4OWXS.js";import{k as ie,l as S,q as re}from"./chunk-SQBE544X.js";import{Db as k,Ga as W,Gb as b,Ib as d,Kc as G,La as i,Vb as c,Wb as m,Xb as w,_a as M,ac as A,bc as T,cc as E,fc as z,gc as B,h as L,hc as j,ja as f,kb as C,lb as h,mb as y,mc as s,nc as l,oa as v,ob as D,oc as q,pa as x,pb as P,qb as V,rb as g,sb as a,tb as r,ub as p,vb as F,w as H,wb as O,xb as R}from"./chunk-KB2F2YYC.js";var ue=(()=>{class t{$activeModal=f(I);dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=M({type:t,selectors:[["ng-component"]],decls:42,vars:30,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fa","fa-question-circle-o","primary-text",2,"font-size","75px"],[1,"ms-2"],[1,"mb-0"],[1,"ms-2","mt-2"],[1,"modal-footer","justify-content-between"],[1,"text-start"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-end"]],template:function(n,o){n&1&&(a(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),c(4),s(5,"translate"),r(),a(6,"button",3),s(7,"translate"),b("click",function(){return o.dismissModal()}),r()(),a(8,"div",4)(9,"div",5),p(10,"i",6),r(),a(11,"h5",7),c(12),s(13,"translate"),r(),a(14,"ul",8)(15,"li"),c(16),s(17,"translate"),r(),a(18,"li"),c(19),s(20,"translate"),r()(),a(21,"h5",9),c(22),s(23,"translate"),r(),a(24,"ul",8)(25,"li"),c(26),s(27,"translate"),r(),a(28,"li"),c(29),s(30,"translate"),r(),a(31,"li"),c(32),s(33,"translate"),r()(),p(34,"app-support-banner"),r(),a(35,"div",10),p(36,"div",11),a(37,"div",12)(38,"button",13),b("click",function(){return o.dismissModal()}),c(39),s(40,"translate"),r()(),p(41,"div",14),r()()()),n&2&&(i(4),m(l(5,10,"support.title")),i(2),C("aria-label",l(7,12,"form.button_close")),i(6),m(l(13,14,"menu.label_accessories")),i(4),m(l(17,16,"accessories.support.acc_1")),i(3),m(l(20,18,"accessories.support.acc_2")),i(3),m(l(23,20,"accessories.title_rooms")),i(4),m(l(27,22,"accessories.support.rooms_1")),i(3),m(l(30,24,"accessories.support.rooms_2")),i(3),m(l(33,26,"accessories.support.rooms_3")),i(7),w(" ",l(40,28,"form.button_close")," "))},dependencies:[_e,S],encapsulation:2})}return t})();var fe=()=>({standalone:!0}),ge=(()=>{class t{$activeModal=f(I);roomName;dismissModal(){this.$activeModal.dismiss("Dismiss")}closeModal(e){this.$activeModal.close(e)}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=M({type:t,selectors:[["ng-component"]],inputs:{roomName:"roomName"},decls:28,vars:19,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-folder-plus","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["for","form-name",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["autocomplete","off","type","text","id","form-name","autofocus","",1,"form-control","custom-input",3,"ngModelChange","keyup.enter","ngModel","ngModelOptions"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"]],template:function(n,o){n&1&&(a(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),c(4),s(5,"translate"),r(),a(6,"button",3),s(7,"translate"),b("click",function(){return o.dismissModal()}),r()(),a(8,"div",4)(9,"div",5),p(10,"i",6),r(),a(11,"ul",7)(12,"li",8)(13,"label",9),c(14),s(15,"translate"),r(),a(16,"div",10)(17,"input",11),E("ngModelChange",function($){return T(o.roomName,$)||(o.roomName=$),$}),b("keyup.enter",function(){return o.closeModal(o.roomName)}),r()()()()(),a(18,"div",12)(19,"div",13)(20,"button",14),b("click",function(){return o.dismissModal()}),c(21),s(22,"translate"),r()(),p(23,"div",15),a(24,"div",16)(25,"button",17),b("click",function(){return o.closeModal(o.roomName)}),c(26),s(27,"translate"),r()()()()()),n&2&&(i(4),m(l(5,8,"accessories.button_add_room")),i(2),C("aria-label",l(7,10,"form.button_close")),i(8),m(l(15,12,"accessories.room_name")),i(3),A("ngModel",o.roomName),g("ngModelOptions",z(18,fe)),i(4),w(" ",l(22,14,"form.button_close")," "),i(4),g("disabled",!o.roomName),i(),w(" ",l(27,16,"form.button_save")," "))},dependencies:[Z,Y,J,K,Q,X,U,S],encapsulation:2})}return t})();var be=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275cmp=M({type:t,selectors:[["app-drag-here-placeholder"]],decls:5,vars:3,consts:[[1,"accessory-box"],[1,"fas","fa-arrow-alt-circle-down","accessory-icon"],[1,"accessory-label"]],template:function(n,o){n&1&&(F(0,"div",0),R(1,"i",1),F(2,"div",2),c(3),s(4,"translate"),O()()),n&2&&(i(3),m(l(4,1,"accessories.control.drag_here")))},dependencies:[S],styles:[".accessory-box[_ngcontent-%COMP%]{opacity:.2}"]})}return t})();var Ce=(t,u)=>({"fa-eye":t,"fa-eye-slash":u}),ve=t=>({"cursor-move":t}),xe=t=>({"justify-content-between":t}),he=t=>({link:t});function ye(t,u){if(t&1){let e=k();a(0,"button",8),s(1,"translate"),s(2,"translate"),b("click",function(){v(e);let o=d(2);return x(o.addRoom())}),p(3,"i",9),r(),a(4,"button",8),s(5,"translate"),s(6,"translate"),s(7,"translate"),s(8,"translate"),b("click",function(){v(e);let o=d(2);return x(o.hideHidden=!o.hideHidden)}),p(9,"i",10),r(),a(10,"div",11)(11,"button",12),s(12,"translate"),s(13,"translate"),b("click",function(){v(e);let o=d(2);return x(o.toggleLayoutLock())}),p(14,"i",13),r(),a(15,"button",12),s(16,"translate"),s(17,"translate"),b("click",function(){v(e);let o=d(2);return x(o.toggleLayoutLock())}),p(18,"i",14),r()()}if(t&2){let e=d(2);g("hidden",e.isMobile)("openDelay",150)("ngbTooltip",l(1,17,"accessories.button_add_room")),C("aria-label",l(2,19,"accessories.button_add_room")),i(4),g("hidden",e.isMobile)("openDelay",150)("ngbTooltip",e.hideHidden?l(5,21,"accessories.button_hidden_show"):l(6,23,"accessories.button_hidden_hide")),C("aria-label",e.hideHidden?l(7,25,"accessories.button_hidden_show"):l(8,27,"accessories.button_hidden_hide")),i(5),g("ngClass",j(37,Ce,!e.hideHidden,e.hideHidden)),i(2),g("disabled",!e.isMobile)("openDelay",150)("ngbTooltip",l(12,29,"form.button_unlock")),C("aria-label",l(13,31,"form.button_unlock")),i(4),g("disabled",e.isMobile)("openDelay",150)("ngbTooltip",l(16,33,"form.button_lock")),C("aria-label",l(17,35,"form.button_lock"))}}function Me(t,u){t&1&&p(0,"app-spinner")}function Se(t,u){if(t&1&&(a(0,"div",0)(1,"div",21)(2,"h5",22),c(3),s(4,"translate"),r()()()),t&2){let e=d().$implicit,n=d(4);i(2),g("ngClass",B(4,ve,!n.isMobile)),i(),w(" ",e.name==="Default Room"?l(4,2,"accessories.control.default_room"):e.name," ")}}function we(t,u){if(t&1&&(a(0,"div",25),p(1,"app-accessory-tile",26),r()),t&2){let e=d().$implicit;i(),g("service",e)}}function ke(t,u){if(t&1&&h(0,we,2,1,"div",25),t&2){let e=u.$implicit,n=d(6);y(!n.hideHidden||!e.hidden?0:-1)}}function Ae(t,u){if(t&1){let e=k();a(0,"div",23),E("dragulaModelChange",function(o){v(e);let _=d().$implicit;return T(_.services,o)||(_.services=o),x(o)}),P(1,ke,1,1,null,null,D),p(3,"div",24)(4,"div",24)(5,"div",24)(6,"div",24)(7,"div",24)(8,"div",24)(9,"div",24)(10,"div",24)(11,"div",24)(12,"div",24),r()}if(t&2){let e=d().$implicit,n=d(4);g("ngClass",B(3,xe,n.isMobile))("dragula","services-bag"),A("dragulaModel",e.services),i(),V(e.services)}}function Te(t,u){if(t&1){let e=k();a(0,"div",27),E("dragulaModelChange",function(o){v(e);let _=d().$implicit;return T(_.services,o)||(_.services=o),x(o)}),p(1,"app-drag-here-placeholder",28),r()}if(t&2){let e=d().$implicit;g("dragula","services-bag"),A("dragulaModel",e.services)}}function Ee(t,u){if(t&1&&(a(0,"div"),h(1,Se,5,6,"div",0),a(2,"div",18),h(3,Ae,13,5,"div",19),h(4,Te,2,2,"div",20),r()()),t&2){let e=u.$implicit,n=d(4);i(),y(!n.isMobile||e.services.length?1:-1),i(2),y(e.services.length?3:-1),i(),y(!e.services.length&&!n.isMobile?4:-1)}}function Be(t,u){if(t&1){let e=k();a(0,"div",17),E("dragulaModelChange",function(o){v(e);let _=d(3);return T(_.$accessories.rooms,o)||(_.$accessories.rooms=o),x(o)}),P(1,Ee,5,3,"div",null,D),r()}if(t&2){let e=d(3);g("dragula","rooms-bag"),A("dragulaModel",e.$accessories.rooms),i(),V(e.$accessories.rooms)}}function Ie(t,u){t&1&&(a(0,"div",16)(1,"div",29)(2,"div",30),p(3,"i",31),r(),a(4,"h5",32),c(5),s(6,"translate"),r(),a(7,"p",33),c(8),s(9,"translate"),r(),a(10,"p",34),c(11),s(12,"translate"),r()()()),t&2&&(i(5),m(l(6,3,"accessories.no_plugins.title")),i(3),m(l(9,5,"accessories.no_plugins.message_1")),i(3),m(l(12,7,"accessories.no_plugins.message_2")))}function $e(t,u){if(t&1&&h(0,Be,3,2,"div",15)(1,Ie,13,9,"div",16),t&2){let e=d(2);y(e.hasPlugins?0:1)}}function De(t,u){if(t&1){let e=k();a(0,"div",1)(1,"div",2)(2,"h3",3),c(3),s(4,"translate"),r()(),a(5,"div",4)(6,"button",5),s(7,"translate"),b("click",function(){v(e);let o=d();return x(o.openSupport())}),p(8,"i",6),r()(),a(9,"div",7),h(10,ye,19,40),a(11,"button",5),s(12,"translate"),b("click",function(){v(e);let o=d();return x(o.openSupport())}),p(13,"i",6),r()()(),h(14,Me,1,0,"app-spinner")(15,$e,2,1)}if(t&2){let e=d();i(3),m(l(4,5,"menu.label_accessories")),i(3),C("aria-label",l(7,7,"support.title")),i(4),y(e.hasPlugins?10:-1),i(),C("aria-label",l(12,9,"support.title")),i(3),y(e.loading?14:15)}}function Pe(t,u){t&1&&(a(0,"p",39),c(1),s(2,"translate"),r()),t&2&&(i(),m(l(2,1,"accessories.settings_link")))}function Ve(t,u){if(t&1&&(a(0,"div",0)(1,"div",35)(2,"h3",36),c(3),s(4,"translate"),r()(),a(5,"div",16)(6,"div",29)(7,"div",30),p(8,"i",37),r(),a(9,"h5",32),c(10),s(11,"translate"),r(),p(12,"p",38),s(13,"translate"),h(14,Pe,3,3,"p",39),r()()()),t&2){let e=d();i(3),m(l(4,4,"menu.label_accessories")),i(7),m(l(11,6,"accessories.control_disabled")),i(2),g("innerHTML",q(13,8,"accessories.message_must_use_insecure_mode",B(11,he,e.linkInsecure)),W),i(2),y(e.isAdmin?14:-1)}}var bt=(()=>{class t{$accessories=f(de);$api=f(re);$auth=f(le);dragulaService=f(ne);$modal=f(ee);$settings=f(se);$md=f(me);$translate=f(ie);orderSubscription;isAdmin=this.$auth.user.admin;enableAccessories=this.$settings.env.enableAccessories;isMobile=!1;hideHidden=!0;linkInsecure='<a href="https://github.com/homebridge/homebridge-config-ui-x/wiki/Enabling-Accessory-Control" target="_blank"><i class="fa fa-external-link-alt primary-text"></i></a>';hasPlugins=!1;loading=!0;constructor(){let e=this.dragulaService;this.isMobile=this.$md.detect.mobile(),e.createGroup("rooms-bag",{moves:(n,o,_)=>!this.isMobile&&_.classList.contains("drag-handle")}),e.createGroup("services-bag",{moves:n=>!this.isMobile&&!n.classList.contains("no-drag")}),this.orderSubscription=e.drop().subscribe(()=>{setTimeout(()=>{this.$accessories.saveLayout()})}),this.isMobile=!0}ngOnInit(){let e=this.$translate.instant("menu.label_accessories");this.$settings.setPageTitle(e),this.$accessories.start(),this.checkForPlugins()}addRoom(){this.$modal.open(ge,{size:"lg",backdrop:"static"}).result.then(e=>{!e||!e.length||this.$accessories.rooms.find(n=>n.name===e)||(this.$accessories.rooms.push({name:e,services:[]}),this.isMobile&&this.toggleLayoutLock())}).catch(()=>{})}toggleLayoutLock(){this.isMobile=!this.isMobile,this.isMobile?document.querySelectorAll(".services-bag").forEach(n=>{for(let o=0;o<10;o+=1){let _=document.createElement("div");_.className="accessory-box invisible py-0 my-0",_.style.height="0",n.appendChild(_)}}):document.querySelectorAll(".invisible").forEach(n=>n.remove())}openSupport(){this.$modal.open(ue,{size:"lg",backdrop:"static"})}ngOnDestroy(){this.$accessories.stop(),this.orderSubscription.unsubscribe(),this.dragulaService.destroy("rooms-bag"),this.dragulaService.destroy("services-bag")}checkForPlugins(){return L(this,null,function*(){try{let e=yield H(this.$api.get("/plugins"));this.hasPlugins=e.length>1}catch(e){console.error(e),this.hasPlugins=!0}finally{this.loading=!1}})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=M({type:t,selectors:[["app-accessories"]],decls:2,vars:1,consts:[[1,"row"],[1,"row","mb-3"],[1,"col-9","col-sm-6"],[1,"primary-text","m-0"],[1,"col-3","col-sm-6","text-end","d-inline-block","d-sm-none"],["type","button",1,"btn","btn-elegant","my-0","me-0",3,"click"],[1,"fa","fa-question-circle-o"],[1,"col-3","col-sm-6","text-end","d-none","d-sm-inline-block"],["type","button","container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0","me-2",3,"click","hidden","openDelay","ngbTooltip"],[1,"fas","fa-folder-plus"],[1,"fas",3,"ngClass"],["role","group",1,"btn-group","me-2"],["type","button","container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0",3,"click","disabled","openDelay","ngbTooltip"],[1,"fas","fa-unlock"],[1,"fas","fa-lock"],[3,"dragula","dragulaModel"],[1,"col-12","text-center"],[3,"dragulaModelChange","dragula","dragulaModel"],[1,"row","mb-4"],[1,"col-md-12","d-flex","flex-wrap","noselect","services-bag",3,"ngClass","dragula","dragulaModel"],[1,"col-md-12","d-flex","flex-wrap","noselect",3,"dragula","dragulaModel"],[1,"col-md-12"],[1,"primary-text","drag-handle","room-title","m-0","mb-1","mb-sm-0",3,"ngClass"],[1,"col-md-12","d-flex","flex-wrap","noselect","services-bag",3,"dragulaModelChange","ngClass","dragula","dragulaModel"],[1,"accessory-box","invisible","py-0","my-0",2,"height","0"],[1,"accessory-item","accessory-tab"],[3,"service"],[1,"col-md-12","d-flex","flex-wrap","noselect",3,"dragulaModelChange","dragula","dragulaModel"],[1,"no-drag"],["role","alert",1,"alert","alert-warning","p-4"],[1,"text-center","mb-3"],[1,"fas","fa-plug","primary-text",2,"font-size","75px"],[1,"mb-3","mt-0"],[1,"mb-0","small"],[1,"mb-0","small","mt-2"],[1,"col-12"],[1,"primary-text","m-0","mb-3"],[1,"fas","fa-lightbulb","primary-text",2,"font-size","75px"],[1,"mb-0","small",3,"innerHTML"],[1,"mt-2","mb-0","small"]],template:function(n,o){n&1&&h(0,De,16,11)(1,Ve,15,13,"div",0),n&2&&y(o.enableAccessories?0:1)},dependencies:[te,G,ae,oe,pe,be,ce,S],styles:[".room-title[_ngcontent-%COMP%]{margin-left:10px}@media (max-width: 575px){.room-title[_ngcontent-%COMP%]{margin-left:7px}}.services-bag[_ngcontent-%COMP%]{min-height:170px}@media (max-width: 575px){.services-bag[_ngcontent-%COMP%]{min-height:initial}}.cursor-move[_ngcontent-%COMP%]{cursor:move}a[_ngcontent-%COMP%]:hover{text-decoration:none!important}"]})}return t})();export{bt as AccessoriesComponent};
1
+ import{a as pe}from"./chunk-DCHKUJZE.js";import{a as ne,b as oe,c as ae}from"./chunk-HW3MSWTY.js";import{c as de}from"./chunk-7AQ3U466.js";import"./chunk-B7RSGI3Z.js";import{a as _e}from"./chunk-4FR5IUD6.js";import{a as ce}from"./chunk-TVXZP4H4.js";import{a as me}from"./chunk-KYFLQ7R3.js";import{m as I,n as ee,t as te}from"./chunk-PELXH4TO.js";import{B as Z,c as J,e as K,f as Q,i as U,l as X,m as Y}from"./chunk-YLFJH4ZN.js";import"./chunk-JFWMDYB2.js";import{b as le}from"./chunk-FMVILKMI.js";import"./chunk-NKVA4YGF.js";import{b as se}from"./chunk-BG4ME3P7.js";import{k as ie,l as S,q as re}from"./chunk-GPQF5BVT.js";import{$b as m,Ab as F,Bb as O,Cb as R,Ib as k,La as W,Lb as b,Nb as d,Qa as i,Qc as G,_b as c,ac as w,db as M,fc as A,gc as T,h as L,hc as E,kc as z,lc as B,mc as j,na as f,pb as C,qb as h,rb as y,rc as s,sa as v,sc as l,ta as x,tb as D,tc as q,ub as P,vb as V,wb as g,x as H,xb as a,yb as r,zb as p}from"./chunk-YYORCSG2.js";var ue=(()=>{class t{$activeModal=f(I);dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=M({type:t,selectors:[["ng-component"]],decls:42,vars:30,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fa","fa-question-circle-o","primary-text",2,"font-size","75px"],[1,"ms-2"],[1,"mb-0"],[1,"ms-2","mt-2"],[1,"modal-footer","justify-content-between"],[1,"text-start"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-end"]],template:function(n,o){n&1&&(a(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),c(4),s(5,"translate"),r(),a(6,"button",3),s(7,"translate"),b("click",function(){return o.dismissModal()}),r()(),a(8,"div",4)(9,"div",5),p(10,"i",6),r(),a(11,"h5",7),c(12),s(13,"translate"),r(),a(14,"ul",8)(15,"li"),c(16),s(17,"translate"),r(),a(18,"li"),c(19),s(20,"translate"),r()(),a(21,"h5",9),c(22),s(23,"translate"),r(),a(24,"ul",8)(25,"li"),c(26),s(27,"translate"),r(),a(28,"li"),c(29),s(30,"translate"),r(),a(31,"li"),c(32),s(33,"translate"),r()(),p(34,"app-support-banner"),r(),a(35,"div",10),p(36,"div",11),a(37,"div",12)(38,"button",13),b("click",function(){return o.dismissModal()}),c(39),s(40,"translate"),r()(),p(41,"div",14),r()()()),n&2&&(i(4),m(l(5,10,"support.title")),i(2),C("aria-label",l(7,12,"form.button_close")),i(6),m(l(13,14,"menu.label_accessories")),i(4),m(l(17,16,"accessories.support.acc_1")),i(3),m(l(20,18,"accessories.support.acc_2")),i(3),m(l(23,20,"accessories.title_rooms")),i(4),m(l(27,22,"accessories.support.rooms_1")),i(3),m(l(30,24,"accessories.support.rooms_2")),i(3),m(l(33,26,"accessories.support.rooms_3")),i(7),w(" ",l(40,28,"form.button_close")," "))},dependencies:[_e,S],encapsulation:2})}return t})();var fe=()=>({standalone:!0}),ge=(()=>{class t{$activeModal=f(I);roomName;dismissModal(){this.$activeModal.dismiss("Dismiss")}closeModal(e){this.$activeModal.close(e)}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=M({type:t,selectors:[["ng-component"]],inputs:{roomName:"roomName"},decls:28,vars:19,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-folder-plus","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["for","form-name",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["autocomplete","off","type","text","id","form-name","autofocus","",1,"form-control","custom-input",3,"ngModelChange","keyup.enter","ngModel","ngModelOptions"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"]],template:function(n,o){n&1&&(a(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),c(4),s(5,"translate"),r(),a(6,"button",3),s(7,"translate"),b("click",function(){return o.dismissModal()}),r()(),a(8,"div",4)(9,"div",5),p(10,"i",6),r(),a(11,"ul",7)(12,"li",8)(13,"label",9),c(14),s(15,"translate"),r(),a(16,"div",10)(17,"input",11),E("ngModelChange",function($){return T(o.roomName,$)||(o.roomName=$),$}),b("keyup.enter",function(){return o.closeModal(o.roomName)}),r()()()()(),a(18,"div",12)(19,"div",13)(20,"button",14),b("click",function(){return o.dismissModal()}),c(21),s(22,"translate"),r()(),p(23,"div",15),a(24,"div",16)(25,"button",17),b("click",function(){return o.closeModal(o.roomName)}),c(26),s(27,"translate"),r()()()()()),n&2&&(i(4),m(l(5,8,"accessories.button_add_room")),i(2),C("aria-label",l(7,10,"form.button_close")),i(8),m(l(15,12,"accessories.room_name")),i(3),A("ngModel",o.roomName),g("ngModelOptions",z(18,fe)),i(4),w(" ",l(22,14,"form.button_close")," "),i(4),g("disabled",!o.roomName),i(),w(" ",l(27,16,"form.button_save")," "))},dependencies:[Z,Y,J,K,Q,X,U,S],encapsulation:2})}return t})();var be=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275cmp=M({type:t,selectors:[["app-drag-here-placeholder"]],decls:5,vars:3,consts:[[1,"accessory-box"],[1,"fas","fa-arrow-alt-circle-down","accessory-icon"],[1,"accessory-label"]],template:function(n,o){n&1&&(F(0,"div",0),R(1,"i",1),F(2,"div",2),c(3),s(4,"translate"),O()()),n&2&&(i(3),m(l(4,1,"accessories.control.drag_here")))},dependencies:[S],styles:[".accessory-box[_ngcontent-%COMP%]{opacity:.2}"]})}return t})();var Ce=(t,u)=>({"fa-eye":t,"fa-eye-slash":u}),ve=t=>({"cursor-move":t}),xe=t=>({"justify-content-between":t}),he=t=>({link:t});function ye(t,u){if(t&1){let e=k();a(0,"button",8),s(1,"translate"),s(2,"translate"),b("click",function(){v(e);let o=d(2);return x(o.addRoom())}),p(3,"i",9),r(),a(4,"button",8),s(5,"translate"),s(6,"translate"),s(7,"translate"),s(8,"translate"),b("click",function(){v(e);let o=d(2);return x(o.hideHidden=!o.hideHidden)}),p(9,"i",10),r(),a(10,"div",11)(11,"button",12),s(12,"translate"),s(13,"translate"),b("click",function(){v(e);let o=d(2);return x(o.toggleLayoutLock())}),p(14,"i",13),r(),a(15,"button",12),s(16,"translate"),s(17,"translate"),b("click",function(){v(e);let o=d(2);return x(o.toggleLayoutLock())}),p(18,"i",14),r()()}if(t&2){let e=d(2);g("hidden",e.isMobile)("openDelay",150)("ngbTooltip",l(1,17,"accessories.button_add_room")),C("aria-label",l(2,19,"accessories.button_add_room")),i(4),g("hidden",e.isMobile)("openDelay",150)("ngbTooltip",e.hideHidden?l(5,21,"accessories.button_hidden_show"):l(6,23,"accessories.button_hidden_hide")),C("aria-label",e.hideHidden?l(7,25,"accessories.button_hidden_show"):l(8,27,"accessories.button_hidden_hide")),i(5),g("ngClass",j(37,Ce,!e.hideHidden,e.hideHidden)),i(2),g("disabled",!e.isMobile)("openDelay",150)("ngbTooltip",l(12,29,"form.button_unlock")),C("aria-label",l(13,31,"form.button_unlock")),i(4),g("disabled",e.isMobile)("openDelay",150)("ngbTooltip",l(16,33,"form.button_lock")),C("aria-label",l(17,35,"form.button_lock"))}}function Me(t,u){t&1&&p(0,"app-spinner")}function Se(t,u){if(t&1&&(a(0,"div",0)(1,"div",21)(2,"h5",22),c(3),s(4,"translate"),r()()()),t&2){let e=d().$implicit,n=d(4);i(2),g("ngClass",B(4,ve,!n.isMobile)),i(),w(" ",e.name==="Default Room"?l(4,2,"accessories.control.default_room"):e.name," ")}}function we(t,u){if(t&1&&(a(0,"div",25),p(1,"app-accessory-tile",26),r()),t&2){let e=d().$implicit;i(),g("service",e)}}function ke(t,u){if(t&1&&h(0,we,2,1,"div",25),t&2){let e=u.$implicit,n=d(6);y(!n.hideHidden||!e.hidden?0:-1)}}function Ae(t,u){if(t&1){let e=k();a(0,"div",23),E("dragulaModelChange",function(o){v(e);let _=d().$implicit;return T(_.services,o)||(_.services=o),x(o)}),P(1,ke,1,1,null,null,D),p(3,"div",24)(4,"div",24)(5,"div",24)(6,"div",24)(7,"div",24)(8,"div",24)(9,"div",24)(10,"div",24)(11,"div",24)(12,"div",24),r()}if(t&2){let e=d().$implicit,n=d(4);g("ngClass",B(3,xe,n.isMobile))("dragula","services-bag"),A("dragulaModel",e.services),i(),V(e.services)}}function Te(t,u){if(t&1){let e=k();a(0,"div",27),E("dragulaModelChange",function(o){v(e);let _=d().$implicit;return T(_.services,o)||(_.services=o),x(o)}),p(1,"app-drag-here-placeholder",28),r()}if(t&2){let e=d().$implicit;g("dragula","services-bag"),A("dragulaModel",e.services)}}function Ee(t,u){if(t&1&&(a(0,"div"),h(1,Se,5,6,"div",0),a(2,"div",18),h(3,Ae,13,5,"div",19),h(4,Te,2,2,"div",20),r()()),t&2){let e=u.$implicit,n=d(4);i(),y(!n.isMobile||e.services.length?1:-1),i(2),y(e.services.length?3:-1),i(),y(!e.services.length&&!n.isMobile?4:-1)}}function Be(t,u){if(t&1){let e=k();a(0,"div",17),E("dragulaModelChange",function(o){v(e);let _=d(3);return T(_.$accessories.rooms,o)||(_.$accessories.rooms=o),x(o)}),P(1,Ee,5,3,"div",null,D),r()}if(t&2){let e=d(3);g("dragula","rooms-bag"),A("dragulaModel",e.$accessories.rooms),i(),V(e.$accessories.rooms)}}function Ie(t,u){t&1&&(a(0,"div",16)(1,"div",29)(2,"div",30),p(3,"i",31),r(),a(4,"h5",32),c(5),s(6,"translate"),r(),a(7,"p",33),c(8),s(9,"translate"),r(),a(10,"p",34),c(11),s(12,"translate"),r()()()),t&2&&(i(5),m(l(6,3,"accessories.no_plugins.title")),i(3),m(l(9,5,"accessories.no_plugins.message_1")),i(3),m(l(12,7,"accessories.no_plugins.message_2")))}function $e(t,u){if(t&1&&h(0,Be,3,2,"div",15)(1,Ie,13,9,"div",16),t&2){let e=d(2);y(e.hasPlugins?0:1)}}function De(t,u){if(t&1){let e=k();a(0,"div",1)(1,"div",2)(2,"h3",3),c(3),s(4,"translate"),r()(),a(5,"div",4)(6,"button",5),s(7,"translate"),b("click",function(){v(e);let o=d();return x(o.openSupport())}),p(8,"i",6),r()(),a(9,"div",7),h(10,ye,19,40),a(11,"button",5),s(12,"translate"),b("click",function(){v(e);let o=d();return x(o.openSupport())}),p(13,"i",6),r()()(),h(14,Me,1,0,"app-spinner")(15,$e,2,1)}if(t&2){let e=d();i(3),m(l(4,5,"menu.label_accessories")),i(3),C("aria-label",l(7,7,"support.title")),i(4),y(e.hasPlugins?10:-1),i(),C("aria-label",l(12,9,"support.title")),i(3),y(e.loading?14:15)}}function Pe(t,u){t&1&&(a(0,"p",39),c(1),s(2,"translate"),r()),t&2&&(i(),m(l(2,1,"accessories.settings_link")))}function Ve(t,u){if(t&1&&(a(0,"div",0)(1,"div",35)(2,"h3",36),c(3),s(4,"translate"),r()(),a(5,"div",16)(6,"div",29)(7,"div",30),p(8,"i",37),r(),a(9,"h5",32),c(10),s(11,"translate"),r(),p(12,"p",38),s(13,"translate"),h(14,Pe,3,3,"p",39),r()()()),t&2){let e=d();i(3),m(l(4,4,"menu.label_accessories")),i(7),m(l(11,6,"accessories.control_disabled")),i(2),g("innerHTML",q(13,8,"accessories.message_must_use_insecure_mode",B(11,he,e.linkInsecure)),W),i(2),y(e.isAdmin?14:-1)}}var bt=(()=>{class t{$accessories=f(de);$api=f(re);$auth=f(le);dragulaService=f(ne);$modal=f(ee);$settings=f(se);$md=f(me);$translate=f(ie);orderSubscription;isAdmin=this.$auth.user.admin;enableAccessories=this.$settings.env.enableAccessories;isMobile=!1;hideHidden=!0;linkInsecure='<a href="https://github.com/homebridge/homebridge-config-ui-x/wiki/Enabling-Accessory-Control" target="_blank"><i class="fa fa-external-link-alt primary-text"></i></a>';hasPlugins=!1;loading=!0;constructor(){let e=this.dragulaService;this.isMobile=this.$md.detect.mobile(),e.createGroup("rooms-bag",{moves:(n,o,_)=>!this.isMobile&&_.classList.contains("drag-handle")}),e.createGroup("services-bag",{moves:n=>!this.isMobile&&!n.classList.contains("no-drag")}),this.orderSubscription=e.drop().subscribe(()=>{setTimeout(()=>{this.$accessories.saveLayout()})}),this.isMobile=!0}ngOnInit(){let e=this.$translate.instant("menu.label_accessories");this.$settings.setPageTitle(e),this.$accessories.start(),this.checkForPlugins()}addRoom(){this.$modal.open(ge,{size:"lg",backdrop:"static"}).result.then(e=>{!e||!e.length||this.$accessories.rooms.find(n=>n.name===e)||(this.$accessories.rooms.push({name:e,services:[]}),this.isMobile&&this.toggleLayoutLock())}).catch(()=>{})}toggleLayoutLock(){this.isMobile=!this.isMobile,this.isMobile?document.querySelectorAll(".services-bag").forEach(n=>{for(let o=0;o<10;o+=1){let _=document.createElement("div");_.className="accessory-box invisible py-0 my-0",_.style.height="0",n.appendChild(_)}}):document.querySelectorAll(".invisible").forEach(n=>n.remove())}openSupport(){this.$modal.open(ue,{size:"lg",backdrop:"static"})}ngOnDestroy(){this.$accessories.stop(),this.orderSubscription.unsubscribe(),this.dragulaService.destroy("rooms-bag"),this.dragulaService.destroy("services-bag")}checkForPlugins(){return L(this,null,function*(){try{let e=yield H(this.$api.get("/plugins"));this.hasPlugins=e.length>1}catch(e){console.error(e),this.hasPlugins=!0}finally{this.loading=!1}})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=M({type:t,selectors:[["app-accessories"]],decls:2,vars:1,consts:[[1,"row"],[1,"row","mb-3"],[1,"col-9","col-sm-6"],[1,"primary-text","m-0"],[1,"col-3","col-sm-6","text-end","d-inline-block","d-sm-none"],["type","button",1,"btn","btn-elegant","my-0","me-0",3,"click"],[1,"fa","fa-question-circle-o"],[1,"col-3","col-sm-6","text-end","d-none","d-sm-inline-block"],["type","button","container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0","me-2",3,"click","hidden","openDelay","ngbTooltip"],[1,"fas","fa-folder-plus"],[1,"fas",3,"ngClass"],["role","group",1,"btn-group","me-2"],["type","button","container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0",3,"click","disabled","openDelay","ngbTooltip"],[1,"fas","fa-unlock"],[1,"fas","fa-lock"],[3,"dragula","dragulaModel"],[1,"col-12","text-center"],[3,"dragulaModelChange","dragula","dragulaModel"],[1,"row","mb-4"],[1,"col-md-12","d-flex","flex-wrap","noselect","services-bag",3,"ngClass","dragula","dragulaModel"],[1,"col-md-12","d-flex","flex-wrap","noselect",3,"dragula","dragulaModel"],[1,"col-md-12"],[1,"primary-text","drag-handle","room-title","m-0","mb-1","mb-sm-0",3,"ngClass"],[1,"col-md-12","d-flex","flex-wrap","noselect","services-bag",3,"dragulaModelChange","ngClass","dragula","dragulaModel"],[1,"accessory-box","invisible","py-0","my-0",2,"height","0"],[1,"accessory-item","accessory-tab"],[3,"service"],[1,"col-md-12","d-flex","flex-wrap","noselect",3,"dragulaModelChange","dragula","dragulaModel"],[1,"no-drag"],["role","alert",1,"alert","alert-warning","p-4"],[1,"text-center","mb-3"],[1,"fas","fa-plug","primary-text",2,"font-size","75px"],[1,"mb-3","mt-0"],[1,"mb-0","small"],[1,"mb-0","small","mt-2"],[1,"col-12"],[1,"primary-text","m-0","mb-3"],[1,"fas","fa-lightbulb","primary-text",2,"font-size","75px"],[1,"mb-0","small",3,"innerHTML"],[1,"mt-2","mb-0","small"]],template:function(n,o){n&1&&h(0,De,16,11)(1,Ve,15,13,"div",0),n&2&&y(o.enableAccessories?0:1)},dependencies:[te,G,ae,oe,pe,be,ce,S],styles:[".room-title[_ngcontent-%COMP%]{margin-left:10px}@media (max-width: 575px){.room-title[_ngcontent-%COMP%]{margin-left:7px}}.services-bag[_ngcontent-%COMP%]{min-height:170px}@media (max-width: 575px){.services-bag[_ngcontent-%COMP%]{min-height:initial}}.cursor-move[_ngcontent-%COMP%]{cursor:move}a[_ngcontent-%COMP%]:hover{text-decoration:none!important}"]})}return t})();export{bt as AccessoriesComponent};
@@ -1 +1 @@
1
- import{k as v,l as E,n as _,q as h}from"./chunk-SQBE544X.js";import{Ib as u,La as n,Vb as o,Wb as a,_a as d,ja as l,lb as c,mb as x,mc as p,nc as s,vb as i,wb as e,xb as f}from"./chunk-KB2F2YYC.js";function y(t,w){if(t&1&&(i(0,"div",7),o(1),e()),t&2){let r=u();n(),a(r.error)}}function C(t,w){t&1&&(i(0,"p",8),o(1),p(2,"translate"),e()),t&2&&(n(),a(s(2,1,"platform.linux.server_will_power_down")))}var B=(()=>{class t{$api=l(h);$toastr=l(_);$translate=l(v);error=!1;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(m){return new(m||t)};static \u0275cmp=d({type:t,selectors:[["ng-component"]],decls:13,vars:7,consts:[[1,"d-flex","justify-content-between"],[1,"primary-text","m-0"],[1,"my-4","align-items-center",2,"max-width","1000px","margin","auto"],[1,"w-100","text-center","primary-text","mb-5"],[1,"fas","fa-power-off",2,"font-size","75px"],[1,"text-center"],[1,"primary-text","mb-4"],[1,"alert","alert-error","my-4"],[1,"grey-text"]],template:function(m,S){m&1&&(i(0,"div",0)(1,"h3",1),o(2),p(3,"translate"),e()(),i(4,"div",2)(5,"div",3),f(6,"i",4),e(),i(7,"div",5)(8,"h4",6),o(9),p(10,"translate"),e(),c(11,y,2,1,"div",7)(12,C,3,3,"p",8),e()()),m&2&&(n(2),a(s(3,3,"menu.restart.title")),n(7),a(s(10,5,"platform.linux.shutting_down_server")),n(2),x(S.error?11:12))},dependencies:[E],encapsulation:2})}return t})();export{B as ShutdownLinuxComponent};
1
+ import{k as v,l as E,n as _,q as h}from"./chunk-GPQF5BVT.js";import{$b as a,Ab as i,Bb as e,Cb as f,Nb as u,Qa as n,_b as o,db as d,na as l,qb as c,rb as x,rc as p,sc as s}from"./chunk-YYORCSG2.js";function y(t,w){if(t&1&&(i(0,"div",7),o(1),e()),t&2){let r=u();n(),a(r.error)}}function C(t,w){t&1&&(i(0,"p",8),o(1),p(2,"translate"),e()),t&2&&(n(),a(s(2,1,"platform.linux.server_will_power_down")))}var B=(()=>{class t{$api=l(h);$toastr=l(_);$translate=l(v);error=!1;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(m){return new(m||t)};static \u0275cmp=d({type:t,selectors:[["ng-component"]],decls:13,vars:7,consts:[[1,"d-flex","justify-content-between"],[1,"primary-text","m-0"],[1,"my-4","align-items-center",2,"max-width","1000px","margin","auto"],[1,"w-100","text-center","primary-text","mb-5"],[1,"fas","fa-power-off",2,"font-size","75px"],[1,"text-center"],[1,"primary-text","mb-4"],[1,"alert","alert-error","my-4"],[1,"grey-text"]],template:function(m,S){m&1&&(i(0,"div",0)(1,"h3",1),o(2),p(3,"translate"),e()(),i(4,"div",2)(5,"div",3),f(6,"i",4),e(),i(7,"div",5)(8,"h4",6),o(9),p(10,"translate"),e(),c(11,y,2,1,"div",7)(12,C,3,3,"p",8),e()()),m&2&&(n(2),a(s(3,3,"menu.restart.title")),n(7),a(s(10,5,"platform.linux.shutting_down_server")),n(2),x(S.error?11:12))},dependencies:[E],encapsulation:2})}return t})();export{B as ShutdownLinuxComponent};
@@ -1,4 +1,4 @@
1
- import{a as z,b,c as k}from"./chunk-IRYK7NUM.js";import{a as u}from"./chunk-3ZBDWVWN.js";import{q as f}from"./chunk-SQBE544X.js";import{M as t,ea as p,g as n,h as c,ja as a,n as h}from"./chunk-KB2F2YYC.js";var d=n(z(),1),l=n(b(),1),m=n(k(),1);var v=(()=>{class o{$ws=a(u);$api=a(f);io;fitAddon;webLinksAddon;resize;elementResize;dataDisposable=null;isInitializing=!1;hasUserTyped=!1;term;destroyTerminal(){this.dataDisposable&&(this.dataDisposable.dispose(),this.dataDisposable=null),this.io&&this.io.end(),this.term&&(this.term.dispose(),this.term=null),this.resize&&this.resize.complete(),this.elementResize&&this.elementResize.complete(),this.isInitializing=!1,this.hasUserTyped=!1}destroyPersistentSession(){this.destroyTerminal(),this.$api.post("/platform-tools/terminal/destroy-persistent-session",{}).subscribe({error:s=>console.error("Failed to destroy persistent session:",s)})}detachTerminal(){this.dataDisposable&&(this.dataDisposable.dispose(),this.dataDisposable=null),this.term&&this.term.dispose(),this.resize&&this.resize.complete(),this.elementResize&&this.elementResize.complete(),this.isInitializing=!1}hasActiveSession(){return this.io&&this.io.socket&&this.io.socket.connected}checkBackendPersistentSession(){return c(this,null,function*(){try{return(yield this.$api.get("/platform-tools/terminal/has-persistent-session").toPromise()).hasPersistentSession}catch(s){return console.error("Failed to check backend persistent session:",s),!1}})}hasUserTypedInSession(){return this.hasUserTyped}isTerminalReady(){return this.term&&!this.isInitializing}reconnectTerminal(s,e={},r){if(this.isInitializing)return!1;this.isInitializing=!0,this.elementResize=r,this.io&&this.io.socket&&this.io.socket.connected?(this.term=new m.Terminal(e),this.fitAddon=new d.FitAddon,this.webLinksAddon=new l.WebLinksAddon,setTimeout(()=>{this.term.loadAddon(this.fitAddon),this.term.loadAddon(this.webLinksAddon)}),this.resize=new h,this.term.open(s.nativeElement),setTimeout(()=>{this.fitAddon.activate(this.term),this.fitAddon.fit()}),this.io.socket.removeAllListeners("stdout"),this.io.socket.removeAllListeners("process-exit"),this.io.socket.on("stdout",i=>{this.term.write(i)}),this.io.socket.on("process-exit",()=>{this.startSession()}),this.dataDisposable&&this.dataDisposable.dispose(),this.dataDisposable=this.term.onData(i=>{this.hasUserTyped=!0,this.io.socket.emit("stdin",i)}),this.term.onResize(i=>{this.resize.next(i)}),this.resize.pipe(t(500)).subscribe(i=>{this.io.socket.emit("resize",i)}),this.elementResize&&this.elementResize.pipe(t(100)).subscribe({next:()=>{this.fitAddon.fit()}}),this.io.socket.emit("start-session",{cols:this.term.cols,rows:this.term.rows}),this.isInitializing=!1):this.startTerminal(s,e,r)}startTerminal(s,e={},r){return this.isInitializing?!1:(this.isInitializing=!0,this.elementResize=r,this.io=this.$ws.connectToNamespace("platform-tools/terminal"),this.term=new m.Terminal(e),setTimeout(()=>{this.term.loadAddon(this.fitAddon),this.term.loadAddon(this.webLinksAddon)}),this.fitAddon=new d.FitAddon,this.webLinksAddon=new l.WebLinksAddon,this.resize=new h,this.term.open(s.nativeElement),setTimeout(()=>{this.fitAddon.activate(this.term),this.fitAddon.fit()}),this.io.connected.pipe(t(200)).subscribe(()=>{this.startSession()}),this.io.socket.on("disconnect",()=>{this.term.write(`
1
+ import{a as z,b,c as k}from"./chunk-O6NBNFQY.js";import{a as u}from"./chunk-JFWMDYB2.js";import{q as f}from"./chunk-GPQF5BVT.js";import{P as t,g as n,h as c,ia as p,n as h,na as a}from"./chunk-YYORCSG2.js";var d=n(z(),1),l=n(b(),1),m=n(k(),1);var v=(()=>{class o{$ws=a(u);$api=a(f);io;fitAddon;webLinksAddon;resize;elementResize;dataDisposable=null;isInitializing=!1;hasUserTyped=!1;term;destroyTerminal(){this.dataDisposable&&(this.dataDisposable.dispose(),this.dataDisposable=null),this.io&&this.io.end(),this.term&&(this.term.dispose(),this.term=null),this.resize&&this.resize.complete(),this.elementResize&&this.elementResize.complete(),this.isInitializing=!1,this.hasUserTyped=!1}destroyPersistentSession(){this.destroyTerminal(),this.$api.post("/platform-tools/terminal/destroy-persistent-session",{}).subscribe({error:s=>console.error("Failed to destroy persistent session:",s)})}detachTerminal(){this.dataDisposable&&(this.dataDisposable.dispose(),this.dataDisposable=null),this.term&&this.term.dispose(),this.resize&&this.resize.complete(),this.elementResize&&this.elementResize.complete(),this.isInitializing=!1}hasActiveSession(){return this.io&&this.io.socket&&this.io.socket.connected}checkBackendPersistentSession(){return c(this,null,function*(){try{return(yield this.$api.get("/platform-tools/terminal/has-persistent-session").toPromise()).hasPersistentSession}catch(s){return console.error("Failed to check backend persistent session:",s),!1}})}hasUserTypedInSession(){return this.hasUserTyped}isTerminalReady(){return this.term&&!this.isInitializing}reconnectTerminal(s,e={},r){if(this.isInitializing)return!1;this.isInitializing=!0,this.elementResize=r,this.io&&this.io.socket&&this.io.socket.connected?(this.term=new m.Terminal(e),this.fitAddon=new d.FitAddon,this.webLinksAddon=new l.WebLinksAddon,setTimeout(()=>{this.term.loadAddon(this.fitAddon),this.term.loadAddon(this.webLinksAddon)}),this.resize=new h,this.term.open(s.nativeElement),setTimeout(()=>{this.fitAddon.activate(this.term),this.fitAddon.fit()}),this.io.socket.removeAllListeners("stdout"),this.io.socket.removeAllListeners("process-exit"),this.io.socket.on("stdout",i=>{this.term.write(i)}),this.io.socket.on("process-exit",()=>{this.startSession()}),this.dataDisposable&&this.dataDisposable.dispose(),this.dataDisposable=this.term.onData(i=>{this.hasUserTyped=!0,this.io.socket.emit("stdin",i)}),this.term.onResize(i=>{this.resize.next(i)}),this.resize.pipe(t(500)).subscribe(i=>{this.io.socket.emit("resize",i)}),this.elementResize&&this.elementResize.pipe(t(100)).subscribe({next:()=>{this.fitAddon.fit()}}),this.io.socket.emit("start-session",{cols:this.term.cols,rows:this.term.rows}),this.isInitializing=!1):this.startTerminal(s,e,r)}startTerminal(s,e={},r){return this.isInitializing?!1:(this.isInitializing=!0,this.elementResize=r,this.io=this.$ws.connectToNamespace("platform-tools/terminal"),this.term=new m.Terminal(e),setTimeout(()=>{this.term.loadAddon(this.fitAddon),this.term.loadAddon(this.webLinksAddon)}),this.fitAddon=new d.FitAddon,this.webLinksAddon=new l.WebLinksAddon,this.resize=new h,this.term.open(s.nativeElement),setTimeout(()=>{this.fitAddon.activate(this.term),this.fitAddon.fit()}),this.io.connected.pipe(t(200)).subscribe(()=>{this.startSession()}),this.io.socket.on("disconnect",()=>{this.term.write(`
2
2
  \r
3
3
  \rTerminal disconnected. Is the server running?
4
4
  \r
@@ -1 +1 @@
1
- import{a as u}from"./chunk-KANB2ARW.js";import{k as c,n as p,q as m}from"./chunk-SQBE544X.js";import{ea as n,g as f,h as r,ja as a,w as s}from"./chunk-KB2F2YYC.js";var l=f(u(),1);var $=(()=>{class e{$api=a(m);$toastr=a(p);$translate=a(c);downloadBackup(){return r(this,null,function*(){let t=yield s(this.$api.get("/backup/download",{observe:"response",responseType:"blob"})),i=t.headers.get("File-Name")||"homebridge-backup.tar.gz",o=t.body.size;if(o>globalThis.backup.maxBackupSize){let b=this.$translate.instant("backup.backup_exceeds_max_size",{maxBackupSizeText:globalThis.backup.maxBackupSizeText,size:`${(o/1048576).toFixed(1)}MB`});this.$toastr.warning(b,this.$translate.instant("toast.title_warning"))}(0,l.saveAs)(t.body,i)})}static \u0275fac=function(i){return new(i||e)};static \u0275prov=n({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();export{$ as a};
1
+ import{a as u}from"./chunk-BIXWXEEW.js";import{k as c,n as p,q as m}from"./chunk-GPQF5BVT.js";import{g as f,h as r,ia as n,na as a,x as s}from"./chunk-YYORCSG2.js";var l=f(u(),1);var $=(()=>{class e{$api=a(m);$toastr=a(p);$translate=a(c);downloadBackup(){return r(this,null,function*(){let t=yield s(this.$api.get("/backup/download",{observe:"response",responseType:"blob"})),i=t.headers.get("File-Name")||"homebridge-backup.tar.gz",o=t.body.size;if(o>globalThis.backup.maxBackupSize){let b=this.$translate.instant("backup.backup_exceeds_max_size",{maxBackupSizeText:globalThis.backup.maxBackupSizeText,size:`${(o/1048576).toFixed(1)}MB`});this.$toastr.warning(b,this.$translate.instant("toast.title_warning"))}(0,l.saveAs)(t.body,i)})}static \u0275fac=function(i){return new(i||e)};static \u0275prov=n({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();export{$ as a};
@@ -1 +1 @@
1
- import{g as l}from"./chunk-AJXWRGZ7.js";import{l as c}from"./chunk-SQBE544X.js";import{Ga as i,_a as r,hc as s,mc as a,oc as m,rb as o,ub as p}from"./chunk-KB2F2YYC.js";var f=(e,d)=>({github:e,discord:d}),k=(()=>{class e{linkGithub='<a href="https://github.com/homebridge/homebridge-config-ui-x/issues/new?template=feature-request.yml" target="_blank" rel="noopener noreferrer">GitHub</a>';linkDiscord='<a href="https://discord.gg/kqNCe2D" target="_blank" rel="noopener noreferrer">Discord</a>';static \u0275fac=function(t){return new(t||e)};static \u0275cmp=r({type:e,selectors:[["app-support-banner"]],decls:2,vars:8,consts:[["type","info",1,"mt-3","mb-0","grey-text","small",3,"dismissible","innerHtml"]],template:function(t,n){t&1&&(p(0,"ngb-alert",0),a(1,"translate")),t&2&&o("dismissible",!1)("innerHtml",m(1,2,"common.phrases.support",s(5,f,n.linkGithub,n.linkDiscord)),i)},dependencies:[l,c],encapsulation:2})}return e})();export{k as a};
1
+ import{g as l}from"./chunk-PELXH4TO.js";import{l as c}from"./chunk-GPQF5BVT.js";import{La as i,db as r,mc as s,rc as a,tc as m,wb as o,zb as p}from"./chunk-YYORCSG2.js";var f=(e,d)=>({github:e,discord:d}),k=(()=>{class e{linkGithub='<a href="https://github.com/homebridge/homebridge-config-ui-x/issues/new?template=feature-request.yml" target="_blank" rel="noopener noreferrer">GitHub</a>';linkDiscord='<a href="https://discord.gg/kqNCe2D" target="_blank" rel="noopener noreferrer">Discord</a>';static \u0275fac=function(t){return new(t||e)};static \u0275cmp=r({type:e,selectors:[["app-support-banner"]],decls:2,vars:8,consts:[["type","info",1,"mt-3","mb-0","grey-text","small",3,"dismissible","innerHtml"]],template:function(t,n){t&1&&(p(0,"ngb-alert",0),a(1,"translate")),t&2&&o("dismissible",!1)("innerHtml",m(1,2,"common.phrases.support",s(5,f,n.linkGithub,n.linkDiscord)),i)},dependencies:[l,c],encapsulation:2})}return e})();export{k as a};
@@ -1 +1 @@
1
- import{a as T}from"./chunk-3ZBDWVWN.js";import"./chunk-JT5B26V7.js";import{e as $}from"./chunk-NVNWS3JF.js";import{b as S}from"./chunk-L3L4OWXS.js";import{k as g,l as _,n as E,q as y}from"./chunk-SQBE544X.js";import{Ib as v,La as n,Vb as a,Wb as s,_a as h,ja as o,lb as c,mb as d,mc as m,nc as l,vb as r,wb as i,xb as u}from"./chunk-KB2F2YYC.js";function C(t,f){if(t&1&&(r(0,"div",7),a(1),i()),t&2){let e=v();n(),s(e.error)}}function w(t,f){t&1&&(r(0,"p",9),a(1),m(2,"translate"),i(),r(3,"div",10)(4,"div",11),u(5,"i",12),i()()),t&2&&(n(),s(l(2,1,"restart.please_wait_while_server_restarts")))}function k(t,f){t&1&&(r(0,"div",8),a(1),m(2,"translate"),i()),t&2&&(n(),s(l(2,1,"platform.linux.long_time")))}var z=(()=>{class t{$api=o(y);$router=o($);$settings=o(S);$toastr=o(E);$translate=o(g);$ws=o(T);checkTimeout;checkDelay;io;resp={};timeout=!1;error=!1;ngOnInit(){this.io=this.$ws.connectToNamespace("status"),this.io.connected.subscribe(()=>{this.io.socket.emit("monitor-server-status"),this.$settings.getAppSettings().catch(()=>{})}),this.$api.put("/platform-tools/linux/restart-host",{}).subscribe({next:e=>{this.resp=e,this.checkIfServerUp()},error:e=>{console.error(e),this.error=this.$translate.instant("platform.linux.server_restart_error"),this.$toastr.error(this.$translate.instant("platform.linux.server_restart_error"),this.$translate.instant("toast.title_error"))}})}ngOnDestroy(){this.io.end(),clearTimeout(this.checkDelay),clearTimeout(this.checkTimeout)}checkIfServerUp(){this.checkDelay=setTimeout(()=>{this.io.socket.on("homebridge-status",e=>{(e.status==="ok"||e.status==="pending")&&(this.$toastr.success(this.$translate.instant("platform.linux.server_restarted"),this.$translate.instant("toast.title_success")),this.$router.navigate(["/"]))})},3e4),this.checkTimeout=setTimeout(()=>{this.$toastr.warning(this.$translate.instant("platform.linux.server_taking_long_time"),this.$translate.instant("toast.title_warning"),{timeOut:1e4}),this.timeout=!0},12e4)}static \u0275fac=function(p){return new(p||t)};static \u0275cmp=h({type:t,selectors:[["ng-component"]],decls:14,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-power-off",2,"font-size","75px"],[1,"text-center"],[1,"primary-text","mb-4"],[1,"alert","alert-error","my-4"],[1,"alert","alert-warning","my-4"],[1,"grey-text"],[1,"justify-content-center","my-4"],[1,"restart-progress-box","primary-text"],[1,"fas","fa-spinner","fa-spin"]],template:function(p,x){p&1&&(r(0,"div",0)(1,"h3",1),a(2),m(3,"translate"),i()(),r(4,"div",2)(5,"div",3),u(6,"i",4),i(),r(7,"div",5)(8,"h4",6),a(9),m(10,"translate"),i(),c(11,C,2,1,"div",7)(12,w,6,3),c(13,k,3,3,"div",8),i()()),p&2&&(n(2),s(l(3,4,"menu.restart.title")),n(7),s(l(10,6,"platform.linux.restarting_server")),n(2),d(x.error?11:12),n(2),d(x.timeout?13:-1))},dependencies:[_],styles:[".restart-progress-box[_ngcontent-%COMP%]{font-size:22px;font-weight:300;margin-top:15px}"]})}return t})();export{z as RestartLinuxComponent};
1
+ import{a as T}from"./chunk-JFWMDYB2.js";import"./chunk-FMVILKMI.js";import{e as $}from"./chunk-NKVA4YGF.js";import{b as S}from"./chunk-BG4ME3P7.js";import{k as g,l as _,n as E,q as y}from"./chunk-GPQF5BVT.js";import{$b as s,Ab as r,Bb as i,Cb as u,Nb as v,Qa as n,_b as a,db as h,na as o,qb as c,rb as d,rc as m,sc as l}from"./chunk-YYORCSG2.js";function C(t,f){if(t&1&&(r(0,"div",7),a(1),i()),t&2){let e=v();n(),s(e.error)}}function w(t,f){t&1&&(r(0,"p",9),a(1),m(2,"translate"),i(),r(3,"div",10)(4,"div",11),u(5,"i",12),i()()),t&2&&(n(),s(l(2,1,"restart.please_wait_while_server_restarts")))}function k(t,f){t&1&&(r(0,"div",8),a(1),m(2,"translate"),i()),t&2&&(n(),s(l(2,1,"platform.linux.long_time")))}var z=(()=>{class t{$api=o(y);$router=o($);$settings=o(S);$toastr=o(E);$translate=o(g);$ws=o(T);checkTimeout;checkDelay;io;resp={};timeout=!1;error=!1;ngOnInit(){this.io=this.$ws.connectToNamespace("status"),this.io.connected.subscribe(()=>{this.io.socket.emit("monitor-server-status"),this.$settings.getAppSettings().catch(()=>{})}),this.$api.put("/platform-tools/linux/restart-host",{}).subscribe({next:e=>{this.resp=e,this.checkIfServerUp()},error:e=>{console.error(e),this.error=this.$translate.instant("platform.linux.server_restart_error"),this.$toastr.error(this.$translate.instant("platform.linux.server_restart_error"),this.$translate.instant("toast.title_error"))}})}ngOnDestroy(){this.io.end(),clearTimeout(this.checkDelay),clearTimeout(this.checkTimeout)}checkIfServerUp(){this.checkDelay=setTimeout(()=>{this.io.socket.on("homebridge-status",e=>{(e.status==="ok"||e.status==="pending")&&(this.$toastr.success(this.$translate.instant("platform.linux.server_restarted"),this.$translate.instant("toast.title_success")),this.$router.navigate(["/"]))})},3e4),this.checkTimeout=setTimeout(()=>{this.$toastr.warning(this.$translate.instant("platform.linux.server_taking_long_time"),this.$translate.instant("toast.title_warning"),{timeOut:1e4}),this.timeout=!0},12e4)}static \u0275fac=function(p){return new(p||t)};static \u0275cmp=h({type:t,selectors:[["ng-component"]],decls:14,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-power-off",2,"font-size","75px"],[1,"text-center"],[1,"primary-text","mb-4"],[1,"alert","alert-error","my-4"],[1,"alert","alert-warning","my-4"],[1,"grey-text"],[1,"justify-content-center","my-4"],[1,"restart-progress-box","primary-text"],[1,"fas","fa-spinner","fa-spin"]],template:function(p,x){p&1&&(r(0,"div",0)(1,"h3",1),a(2),m(3,"translate"),i()(),r(4,"div",2)(5,"div",3),u(6,"i",4),i(),r(7,"div",5)(8,"h4",6),a(9),m(10,"translate"),i(),c(11,C,2,1,"div",7)(12,w,6,3),c(13,k,3,3,"div",8),i()()),p&2&&(n(2),s(l(3,4,"menu.restart.title")),n(7),s(l(10,6,"platform.linux.restarting_server")),n(2),d(x.error?11:12),n(2),d(x.timeout?13:-1))},dependencies:[_],styles:[".restart-progress-box[_ngcontent-%COMP%]{font-size:22px;font-weight:300;margin-top:15px}"]})}return t})();export{z as RestartLinuxComponent};
@@ -0,0 +1 @@
1
+ import{a as s}from"./chunk-UTPDI7IW.js";import"./chunk-7AQ3U466.js";import"./chunk-B7RSGI3Z.js";import"./chunk-J6Q2DPRL.js";import"./chunk-PELXH4TO.js";import"./chunk-YLFJH4ZN.js";import"./chunk-JFWMDYB2.js";import"./chunk-FMVILKMI.js";import{h as i}from"./chunk-NKVA4YGF.js";import"./chunk-BG4ME3P7.js";import"./chunk-GPQF5BVT.js";import{eb as t,ja as e}from"./chunk-YYORCSG2.js";var u=[{path:"",loadComponent:()=>import("./chunk-265KMAKU.js").then(o=>o.AccessoriesComponent)}],c=(()=>{class o{static \u0275fac=function(r){return new(r||o)};static \u0275mod=t({type:o});static \u0275inj=e({imports:[i.forChild(u),i]})}return o})();var l=(()=>{class o{static \u0275fac=function(r){return new(r||o)};static \u0275mod=t({type:o});static \u0275inj=e({imports:[s,c]})}return o})();export{l as AccessoriesModule};
@@ -1,2 +1,2 @@
1
- import{B as Y,C as Z,c as G,d as k,e as j,f as D,g as K,j as $,m as A,q as J,r as Q,y as X}from"./chunk-ZCLWXDAG.js";import{a as ae}from"./chunk-3ZBDWVWN.js";import{b as oe}from"./chunk-JT5B26V7.js";import{b as re}from"./chunk-L3L4OWXS.js";import{k as ee,l as te,n as ie,p as U,q as ne}from"./chunk-SQBE544X.js";import{Db as I,Ga as W,Gb as x,Ib as _,Kc as H,La as n,Nc as N,Sb as O,Vb as l,Wb as f,Xb as g,Xc as R,_a as V,fc as L,gc as B,h as S,hc as E,hd as q,ja as w,kb as M,lb as z,mb as T,mc as a,nc as s,oa as C,pa as b,rb as m,sb as o,tb as r,ub as u,w as h}from"./chunk-KB2F2YYC.js";var pe=t=>({background:t}),de=t=>({anim:t}),ce=t=>({"progress-bar-animated":t}),me=()=>["restoring","restarting","restore-complete"],P=(t,d)=>({"is-valid":t,"is-invalid":d});function ue(t,d){if(t&1){let e=I();o(0,"div",5)(1,"h4",6),l(2),a(3,"translate"),r(),u(4,"div",7),a(5,"translate"),o(6,"button",8),x("click",function(){C(e);let i=_();return b(i.onClickGettingStarted())}),l(7),a(8,"translate"),r(),o(9,"a",9),x("click",function(){C(e);let i=_();return b(i.onClickRestoreBackup())}),l(10),a(11,"translate"),r()()}t&2&&(n(2),f(s(3,4,"setup.welcome_to_homebridge")),n(2),m("innerHTML",s(5,6,"setup.intro"),W),n(3),g(" ",s(8,8,"setup.button_get_started")," "),n(3),f(s(11,10,"setup_wizard_restore")))}function ge(t,d){if(t&1){let e=I();o(0,"div",5)(1,"h4",6),l(2),a(3,"translate"),r(),o(4,"div",10),l(5),a(6,"translate"),r(),o(7,"div",11)(8,"form",12),x("ngSubmit",function(){C(e);let i=_();return b(i.createFirstUser())}),o(9,"div",13)(10,"span",14),u(11,"i",15),r(),u(12,"input",16),a(13,"translate"),r(),o(14,"div",13)(15,"span",14),u(16,"i",17),r(),u(17,"input",18),a(18,"translate"),r(),o(19,"div",13)(20,"span",14),u(21,"i",17),r(),u(22,"input",19),a(23,"translate"),r(),o(24,"div",20)(25,"button",21),x("click",function(){C(e);let i=_();return b(i.onClickCancelRestore())}),l(26),a(27,"translate"),r(),o(28,"button",22),l(29),a(30,"translate"),r()()()()()}if(t&2){let e=_();n(2),f(s(3,16,"setup.create_account")),n(3),f(s(6,18,"setup_wizard_create_info")),n(3),m("formGroup",e.createUserForm),n(4),m("readonly",e.loading)("ngClass",E(30,P,e.createUserForm.controls.username.dirty&&e.createUserForm.controls.username.valid,e.createUserForm.controls.username.dirty&&e.createUserForm.controls.username.invalid))("placeholder",s(13,20,"users.label_username")),n(5),m("readonly",e.loading)("ngClass",E(33,P,e.createUserForm.controls.password.dirty&&e.createUserForm.controls.password.valid,e.createUserForm.controls.password.dirty&&e.createUserForm.controls.password.errors))("placeholder",s(18,22,"users.label_password")),n(5),m("readonly",e.loading)("ngClass",E(36,P,e.createUserForm.controls.passwordConfirm.dirty&&e.createUserForm.controls.passwordConfirm.valid,e.createUserForm.controls.passwordConfirm.dirty&&e.createUserForm.controls.passwordConfirm.errors))("placeholder",s(23,24,"users.label_confirm_password")),n(3),m("disabled",e.restoreUploading),n(),g(" ",s(27,26,"form.button_back")," "),n(2),m("disabled",e.createUserForm.invalid||e.loading),n(),g(" ",s(30,28,"form.button_continue")," ")}}function _e(t,d){t&1&&(u(0,"i",25),l(1),a(2,"translate")),t&2&&(n(),g(" ",s(2,1,"backup.label_uploading")," "))}function fe(t,d){t&1&&(l(0),a(1,"translate")),t&2&&g(" ",s(1,1,"form.button_continue")," ")}function he(t,d){if(t&1){let e=I();o(0,"div",5)(1,"h4",6),l(2),a(3,"translate"),r(),o(4,"div",10),l(5),a(6,"translate"),r(),o(7,"input",23),x("change",function(i){C(e);let F=_();return b(F.handleRestoreFileInput(i.target.files))}),r(),o(8,"div",20)(9,"button",21),x("click",function(){C(e);let i=_();return b(i.onClickCancelRestore())}),l(10),a(11,"translate"),r(),o(12,"button",24),x("click",function(){C(e);let i=_();return b(i.onRestoreBackupClick())}),z(13,_e,3,3)(14,fe,2,3),r()()()}if(t&2){let e=_();n(2),f(s(3,6,"setup_wizard_restore")),n(3),f(s(6,8,"backup.restore_help_one")),n(4),m("disabled",e.restoreUploading),n(),g(" ",s(11,10,"form.button_back")," "),n(2),m("disabled",e.restoreUploading||!e.selectedFile),n(),T(e.restoreUploading?13:14)}}function we(t,d){t&1&&(l(0),a(1,"translate")),t&2&&g(" ",s(1,1,"setup_wizard_restoring")," ")}function Ce(t,d){t&1&&(l(0),a(1,"translate")),t&2&&g(" ",s(1,1,"setup_wizard_starting")," ")}function be(t,d){t&1&&(l(0),a(1,"translate")),t&2&&g(" ",s(1,1,"setup_wizard_complete")," ")}function xe(t,d){t&1&&(o(0,"a",27),l(1),a(2,"translate"),r()),t&2&&(n(),g(" ",s(2,1,"form.button_continue")," "))}function ve(t,d){if(t&1&&(o(0,"div",5)(1,"h4",6),z(2,we,2,3)(3,Ce,2,3)(4,be,2,3),r(),u(5,"div",26),z(6,xe,3,3,"a",27),r()),t&2){let e=_();n(2),T(e.step==="restoring"?2:e.step==="restarting"?3:e.step==="restore-complete"?4:-1),n(4),T(e.step==="restore-complete"?6:-1)}}function ye(t,d){t&1&&(o(0,"div",5)(1,"h4",28),l(2),a(3,"translate"),r(),o(4,"div",10),l(5),a(6,"translate"),r(),o(7,"a",29),l(8),a(9,"translate"),r()()),t&2&&(n(2),f(s(3,3,"setup_wizard_complete_title")),n(3),f(s(6,5,"setup_wizard_completed")),n(3),g(" ",s(9,7,"form.button_continue")," "))}var He=(()=>{class t{$api=w(ne);$auth=w(oe);$settings=w(re);$title=w(q);$toastr=w(ie);$translate=w(ee);$ws=w(ae);io;step="welcome";backgroundStyle;progress=1;restoreInProgress=!1;restoreStarted=!1;restoreFailed=!1;loading=!1;selectedFile;restoreUploading=!1;createUserForm=new K({username:new $("",[k.required]),password:new $("",[k.compose([k.required,k.minLength(4)])]),passwordConfirm:new $("",[k.required])},this.matchPassword);ngOnInit(){return S(this,null,function*(){this.$title.setTitle(this.$translate.instant("setup_wizard_page_title")),yield this.setBackground()})}onClickGettingStarted(){this.step="create-account",this.progress=50}onClickRestoreBackup(){this.step="restore-backup",this.progress=20}onClickCancelRestore(){this.selectedFile=null,this.step="welcome",this.progress=1}createFirstUser(){return S(this,null,function*(){this.loading=!0,this.progress=75;let e=this.createUserForm.getRawValue();e.name=e.username;try{yield h(this.$api.post("/setup-wizard/create-first-user",e)),this.$settings.env.setupWizardComplete=!0,this.progress=100,this.loading=!1,yield this.$auth.login({username:e.username,password:e.password}),this.step="setup-complete"}catch(p){this.loading=!1,this.progress=50,console.error(p),this.$toastr.error(p.message,this.$translate.instant("toast.title_error"))}})}handleRestoreFileInput(e){e.length?(this.selectedFile=e[0],this.progress=40):(delete this.selectedFile,this.progress=20)}onRestoreBackupClick(){return S(this,null,function*(){this.restoreUploading=!0,this.step="restoring",this.progress=60;try{let e=yield h(this.$api.get("/setup-wizard/get-setup-wizard-token"));window.localStorage.setItem(U.jwt.tokenKey,e.access_token),this.$auth.token=e.access_token,this.progress=65;let p=new FormData;p.append("restoreArchive",this.selectedFile,this.selectedFile.name),yield h(this.$api.post("/backup/restore",p)),this.progress=70,this.io=this.$ws.connectToNamespace("backup");let i=document.getElementById("output");this.io.socket.on("stdout",c=>{c.split(`
1
+ import{B as Y,C as Z,c as G,d as k,e as j,f as D,g as K,j as $,m as A,q as J,r as Q,y as X}from"./chunk-YLFJH4ZN.js";import{a as ae}from"./chunk-JFWMDYB2.js";import{b as oe}from"./chunk-FMVILKMI.js";import{b as re}from"./chunk-BG4ME3P7.js";import{k as ee,l as te,n as ie,p as U,q as ne}from"./chunk-GPQF5BVT.js";import{$b as f,Ib as I,La as W,Lb as x,Nb as _,Qa as n,Qc as H,Tc as N,Xb as O,_b as l,ac as g,bd as R,db as V,h as S,kc as L,lc as B,mc as E,na as w,nd as q,pb as M,qb as z,rb as T,rc as a,sa as C,sc as s,ta as b,wb as m,x as h,xb as o,yb as r,zb as u}from"./chunk-YYORCSG2.js";var pe=t=>({background:t}),de=t=>({anim:t}),ce=t=>({"progress-bar-animated":t}),me=()=>["restoring","restarting","restore-complete"],P=(t,d)=>({"is-valid":t,"is-invalid":d});function ue(t,d){if(t&1){let e=I();o(0,"div",5)(1,"h4",6),l(2),a(3,"translate"),r(),u(4,"div",7),a(5,"translate"),o(6,"button",8),x("click",function(){C(e);let i=_();return b(i.onClickGettingStarted())}),l(7),a(8,"translate"),r(),o(9,"a",9),x("click",function(){C(e);let i=_();return b(i.onClickRestoreBackup())}),l(10),a(11,"translate"),r()()}t&2&&(n(2),f(s(3,4,"setup.welcome_to_homebridge")),n(2),m("innerHTML",s(5,6,"setup.intro"),W),n(3),g(" ",s(8,8,"setup.button_get_started")," "),n(3),f(s(11,10,"setup_wizard_restore")))}function ge(t,d){if(t&1){let e=I();o(0,"div",5)(1,"h4",6),l(2),a(3,"translate"),r(),o(4,"div",10),l(5),a(6,"translate"),r(),o(7,"div",11)(8,"form",12),x("ngSubmit",function(){C(e);let i=_();return b(i.createFirstUser())}),o(9,"div",13)(10,"span",14),u(11,"i",15),r(),u(12,"input",16),a(13,"translate"),r(),o(14,"div",13)(15,"span",14),u(16,"i",17),r(),u(17,"input",18),a(18,"translate"),r(),o(19,"div",13)(20,"span",14),u(21,"i",17),r(),u(22,"input",19),a(23,"translate"),r(),o(24,"div",20)(25,"button",21),x("click",function(){C(e);let i=_();return b(i.onClickCancelRestore())}),l(26),a(27,"translate"),r(),o(28,"button",22),l(29),a(30,"translate"),r()()()()()}if(t&2){let e=_();n(2),f(s(3,16,"setup.create_account")),n(3),f(s(6,18,"setup_wizard_create_info")),n(3),m("formGroup",e.createUserForm),n(4),m("readonly",e.loading)("ngClass",E(30,P,e.createUserForm.controls.username.dirty&&e.createUserForm.controls.username.valid,e.createUserForm.controls.username.dirty&&e.createUserForm.controls.username.invalid))("placeholder",s(13,20,"users.label_username")),n(5),m("readonly",e.loading)("ngClass",E(33,P,e.createUserForm.controls.password.dirty&&e.createUserForm.controls.password.valid,e.createUserForm.controls.password.dirty&&e.createUserForm.controls.password.errors))("placeholder",s(18,22,"users.label_password")),n(5),m("readonly",e.loading)("ngClass",E(36,P,e.createUserForm.controls.passwordConfirm.dirty&&e.createUserForm.controls.passwordConfirm.valid,e.createUserForm.controls.passwordConfirm.dirty&&e.createUserForm.controls.passwordConfirm.errors))("placeholder",s(23,24,"users.label_confirm_password")),n(3),m("disabled",e.restoreUploading),n(),g(" ",s(27,26,"form.button_back")," "),n(2),m("disabled",e.createUserForm.invalid||e.loading),n(),g(" ",s(30,28,"form.button_continue")," ")}}function _e(t,d){t&1&&(u(0,"i",25),l(1),a(2,"translate")),t&2&&(n(),g(" ",s(2,1,"backup.label_uploading")," "))}function fe(t,d){t&1&&(l(0),a(1,"translate")),t&2&&g(" ",s(1,1,"form.button_continue")," ")}function he(t,d){if(t&1){let e=I();o(0,"div",5)(1,"h4",6),l(2),a(3,"translate"),r(),o(4,"div",10),l(5),a(6,"translate"),r(),o(7,"input",23),x("change",function(i){C(e);let F=_();return b(F.handleRestoreFileInput(i.target.files))}),r(),o(8,"div",20)(9,"button",21),x("click",function(){C(e);let i=_();return b(i.onClickCancelRestore())}),l(10),a(11,"translate"),r(),o(12,"button",24),x("click",function(){C(e);let i=_();return b(i.onRestoreBackupClick())}),z(13,_e,3,3)(14,fe,2,3),r()()()}if(t&2){let e=_();n(2),f(s(3,6,"setup_wizard_restore")),n(3),f(s(6,8,"backup.restore_help_one")),n(4),m("disabled",e.restoreUploading),n(),g(" ",s(11,10,"form.button_back")," "),n(2),m("disabled",e.restoreUploading||!e.selectedFile),n(),T(e.restoreUploading?13:14)}}function we(t,d){t&1&&(l(0),a(1,"translate")),t&2&&g(" ",s(1,1,"setup_wizard_restoring")," ")}function Ce(t,d){t&1&&(l(0),a(1,"translate")),t&2&&g(" ",s(1,1,"setup_wizard_starting")," ")}function be(t,d){t&1&&(l(0),a(1,"translate")),t&2&&g(" ",s(1,1,"setup_wizard_complete")," ")}function xe(t,d){t&1&&(o(0,"a",27),l(1),a(2,"translate"),r()),t&2&&(n(),g(" ",s(2,1,"form.button_continue")," "))}function ve(t,d){if(t&1&&(o(0,"div",5)(1,"h4",6),z(2,we,2,3)(3,Ce,2,3)(4,be,2,3),r(),u(5,"div",26),z(6,xe,3,3,"a",27),r()),t&2){let e=_();n(2),T(e.step==="restoring"?2:e.step==="restarting"?3:e.step==="restore-complete"?4:-1),n(4),T(e.step==="restore-complete"?6:-1)}}function ye(t,d){t&1&&(o(0,"div",5)(1,"h4",28),l(2),a(3,"translate"),r(),o(4,"div",10),l(5),a(6,"translate"),r(),o(7,"a",29),l(8),a(9,"translate"),r()()),t&2&&(n(2),f(s(3,3,"setup_wizard_complete_title")),n(3),f(s(6,5,"setup_wizard_completed")),n(3),g(" ",s(9,7,"form.button_continue")," "))}var He=(()=>{class t{$api=w(ne);$auth=w(oe);$settings=w(re);$title=w(q);$toastr=w(ie);$translate=w(ee);$ws=w(ae);io;step="welcome";backgroundStyle;progress=1;restoreInProgress=!1;restoreStarted=!1;restoreFailed=!1;loading=!1;selectedFile;restoreUploading=!1;createUserForm=new K({username:new $("",[k.required]),password:new $("",[k.compose([k.required,k.minLength(4)])]),passwordConfirm:new $("",[k.required])},this.matchPassword);ngOnInit(){return S(this,null,function*(){this.$title.setTitle(this.$translate.instant("setup_wizard_page_title")),yield this.setBackground()})}onClickGettingStarted(){this.step="create-account",this.progress=50}onClickRestoreBackup(){this.step="restore-backup",this.progress=20}onClickCancelRestore(){this.selectedFile=null,this.step="welcome",this.progress=1}createFirstUser(){return S(this,null,function*(){this.loading=!0,this.progress=75;let e=this.createUserForm.getRawValue();e.name=e.username;try{yield h(this.$api.post("/setup-wizard/create-first-user",e)),this.$settings.env.setupWizardComplete=!0,this.progress=100,this.loading=!1,yield this.$auth.login({username:e.username,password:e.password}),this.step="setup-complete"}catch(p){this.loading=!1,this.progress=50,console.error(p),this.$toastr.error(p.message,this.$translate.instant("toast.title_error"))}})}handleRestoreFileInput(e){e.length?(this.selectedFile=e[0],this.progress=40):(delete this.selectedFile,this.progress=20)}onRestoreBackupClick(){return S(this,null,function*(){this.restoreUploading=!0,this.step="restoring",this.progress=60;try{let e=yield h(this.$api.get("/setup-wizard/get-setup-wizard-token"));window.localStorage.setItem(U.jwt.tokenKey,e.access_token),this.$auth.token=e.access_token,this.progress=65;let p=new FormData;p.append("restoreArchive",this.selectedFile,this.selectedFile.name),yield h(this.$api.post("/backup/restore",p)),this.progress=70,this.io=this.$ws.connectToNamespace("backup");let i=document.getElementById("output");this.io.socket.on("stdout",c=>{c.split(`
2
2
  \r`).forEach(v=>{if(v&&!/^[⠇⠏⠋⠙⠹⠸]+$/.test(v)){let y=document.createElement("div"),le=/\x1B\[(\d{1,2}(;\d{1,2})?)?[mGK]/g;y.innerHTML=v.replace(le,""),v.includes("[0;31m")?y.classList.add("red-text"):v.includes("[0;32m")?y.classList.add("green-text"):v.includes("[0;33m")?y.classList.add("orange-text"):v.includes("[0;36m")&&y.classList.add("cyan-text"),i.appendChild(y),i.scrollTop=i.scrollHeight}})}),this.restoreStarted=!0,this.restoreInProgress=!0,this.progress=75,yield h(this.io.request("do-restore")),this.progress=80,this.restoreInProgress=!1,yield h(this.$api.put("/backup/restart",{})),this.step="restarting",this.progress=85,window.localStorage.removeItem(U.jwt.tokenKey),this.$auth.token=null;let F=document.createElement("div");F.classList.add("orange-text"),F.innerHTML="Starting Homebridge, please wait...",i.appendChild(F),i.scrollTop=i.scrollHeight,yield new Promise(c=>setTimeout(c,3e3)),this.progress=88,yield new Promise(c=>setTimeout(c,3e3)),this.progress=91,yield new Promise(c=>setTimeout(c,3e3)),this.progress=94,yield new Promise(c=>setTimeout(c,3e3)),this.progress=97,yield new Promise(c=>setTimeout(c,3e3)),this.progress=99;let se=setInterval(()=>S(this,null,function*(){try{yield h(this.$api.get("/auth/settings")),clearInterval(se),this.progress=100,this.restoreUploading=!1,this.step="restore-complete"}catch{}}),1e3)}catch(e){console.error(e),this.restoreUploading=!1,this.restoreFailed=!0,this.progress=20,this.step="restore-backup",this.$toastr.error(e.message,this.$translate.instant("toast.title_error"))}finally{this.io&&this.io.end()}})}setBackground(){return S(this,null,function*(){if(this.$settings.settingsLoaded||(yield h(this.$settings.onSettingsLoaded)),this.$settings.env.customWallpaperHash){let e=`${U.api.base}/auth/wallpaper/${this.$settings.env.customWallpaperHash}`;this.backgroundStyle=`url('${e}') center/cover`}})}matchPassword(e){let p=e.get("password").value,i=e.get("passwordConfirm").value;if(p!==i)e.get("passwordConfirm").setErrors({matchPassword:!0});else return null}static \u0275fac=function(p){return new(p||t)};static \u0275cmp=V({type:t,selectors:[["ng-component"]],decls:10,vars:14,consts:[[1,"setup-container","gradient","d-flex","align-items-start","justify-content-center",3,"ngStyle","ngClass"],[1,"w-100","setup-card","d-flex","py-4","flex-column"],["ngSrc","assets/homebridge-color-round.svg","alt","Homebridge Logo","height","100","width","100","priority","true",1,"homebridge-logo","mx-auto","my-3"],[1,"progress","w-100","my-4"],["role","progressbar","aria-valuemin","0","aria-valuemax","100",1,"progress-bar","progress-bar-striped","bg-success",3,"ngClass"],[1,"w-100","d-flex","flex-column","align-items-center","mb-2"],[1,"mb-3","text-center"],[1,"mb-4","small","grey-text","text-center",3,"innerHTML"],["type","button",1,"btn","btn-lg","btn-primary","mb-4",3,"click"],["href","javascript:void(0)",1,"grey-text",3,"click"],[1,"mb-4","small","grey-text","text-center"],[1,"w-100"],["novalidate","",3,"ngSubmit","formGroup"],[1,"input-group","mb-4"],[1,"input-group-text","custom-input"],[1,"fas","fa-user","primary-text","fa-lg"],["formControlName","username","type","text","id","form-username","autocomplete","username","autocapitalize","none","tabindex","1","required","",1,"form-control","custom-input",3,"readonly","ngClass","placeholder"],[1,"fas","fa-lock","primary-text","fa-lg"],["formControlName","password","type","password","id","form-pass","autocomplete","new-password","tabindex","2","required","",1,"form-control","custom-input",3,"readonly","ngClass","placeholder"],["formControlName","passwordConfirm","type","password","id","form-pass-confirm","autocomplete","new-password","tabindex","2","required","",1,"form-control","custom-input",3,"readonly","ngClass","placeholder"],[1,"mt-3","w-100","d-flex","justify-content-between"],["type","button",1,"btn","btn-elegant","ms-0",3,"click","disabled"],["type","submit",1,"btn","btn-primary",3,"disabled"],["type","file","id","restoreFileUpload","accept","application/gzip, .gz",1,"form-control","custom-input","mb-3",3,"change"],["type","button",1,"btn","btn-primary","me-0",3,"click","disabled"],[1,"fas","fa-spinner","fa-pulse"],["id","output",1,"font-monospace","small","alert","alert-info","w-100","text-start","mt-1","mb-0"],["href","/login",1,"btn","btn-lg","btn-primary","mt-4"],[1,"mb-3"],["href","/",1,"btn","btn-lg","btn-primary"]],template:function(p,i){p&1&&(o(0,"div",0)(1,"div",1),u(2,"img",2),o(3,"div",3),u(4,"div",4),r(),z(5,ue,12,12,"div",5)(6,ge,31,39,"div",5)(7,he,15,12,"div",5)(8,ve,7,2,"div",5)(9,ye,10,9,"div",5),r()()),p&2&&(m("ngStyle",B(7,pe,i.backgroundStyle))("ngClass",B(9,de,!i.backgroundStyle)),n(4),O("width",i.progress+"%"),m("ngClass",B(11,ce,i.loading||i.restoreUploading)),M("aria-valuenow",i.progress),n(),T(i.step==="welcome"?5:i.step==="create-account"?6:i.step==="restore-backup"?7:L(13,me).includes(i.step)?8:i.step==="setup-complete"?9:-1))},dependencies:[H,R,Y,A,G,j,D,X,Z,J,Q,N,te],styles:["body{overflow:scroll!important} body.dark-mode .setup-card{background-color:#2b2b2b;color:#fff}.setup-container[_ngcontent-%COMP%]{z-index:-1;padding-top:2em;padding-bottom:2em;min-height:100%;background-size:300% 300%}.anim[_ngcontent-%COMP%]{-webkit-animation:_ngcontent-%COMP%_gradient 20s ease infinite;-moz-animation:gradient 20s ease infinite;-o-animation:gradient 20s ease infinite;animation:_ngcontent-%COMP%_gradient 20s ease infinite}@keyframes _ngcontent-%COMP%_gradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.setup-card[_ngcontent-%COMP%]{max-width:550px;border-radius:1rem;padding-right:25px;padding-left:25px;background-color:#ffffffe6}.setup-card[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:focus{background-color:inherit!important}@media screen and (max-width: 575px){.setup-card[_ngcontent-%COMP%]{margin-left:1em;margin-right:1em}}.homebridge-logo[_ngcontent-%COMP%]{margin-bottom:10px}.progress[_ngcontent-%COMP%]{background-color:#ddd}#output[_ngcontent-%COMP%]{height:200px;overflow-y:scroll;white-space:pre-wrap}"]})}return t})();export{He as SetupWizardComponent};
@@ -1 +1 @@
1
- import{e as u,h as s}from"./chunk-NVNWS3JF.js";import{k as p,n as l,q as d}from"./chunk-SQBE544X.js";import{$a as n,ea as c,fa as i,h as f,ja as e,w as m}from"./chunk-KB2F2YYC.js";var a=(()=>{class t{$api=e(d);$router=e(u);$toastr=e(l);$translate=e(p);resolve(){return f(this,null,function*(){try{let o=yield m(this.$api.get("/config-editor"));return JSON.stringify(o,null,4)}catch(o){console.error(o),this.$toastr.error(o.message,this.$translate.instant("toast.title_error")),this.$router.navigate(["/"])}})}static \u0275fac=function(r){return new(r||t)};static \u0275prov=c({token:t,factory:t.\u0275fac})}return t})();var y=[{path:"",loadComponent:()=>import("./chunk-4ASS2K7W.js").then(t=>t.ConfigEditorComponent),resolve:{config:a}}],v=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275mod=n({type:t});static \u0275inj=i({imports:[s.forChild(y),s]})}return t})();var T=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275mod=n({type:t});static \u0275inj=i({providers:[a],imports:[v]})}return t})();export{T as ConfigEditorModule};
1
+ import{e as u,h as s}from"./chunk-NKVA4YGF.js";import{k as p,n as l,q as d}from"./chunk-GPQF5BVT.js";import{eb as n,h as f,ia as c,ja as i,na as e,x as m}from"./chunk-YYORCSG2.js";var a=(()=>{class t{$api=e(d);$router=e(u);$toastr=e(l);$translate=e(p);resolve(){return f(this,null,function*(){try{let o=yield m(this.$api.get("/config-editor"));return JSON.stringify(o,null,4)}catch(o){console.error(o),this.$toastr.error(o.message,this.$translate.instant("toast.title_error")),this.$router.navigate(["/"])}})}static \u0275fac=function(r){return new(r||t)};static \u0275prov=c({token:t,factory:t.\u0275fac})}return t})();var y=[{path:"",loadComponent:()=>import("./chunk-TIRNCEGL.js").then(t=>t.ConfigEditorComponent),resolve:{config:a}}],v=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275mod=n({type:t});static \u0275inj=i({imports:[s.forChild(y),s]})}return t})();var T=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275mod=n({type:t});static \u0275inj=i({providers:[a],imports:[v]})}return t})();export{T as ConfigEditorModule};