homebridge-config-ui-x 5.3.1-beta.31 → 5.3.1-beta.32

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 (71) hide show
  1. package/CHANGELOG.md +4 -9
  2. package/package.json +2 -2
  3. package/public/assets/{accessory-icons → service-icons}/contact-sensor.svg +2 -2
  4. package/public/{chunk-JWW2ZIFD.js → chunk-47N7ZL6S.js} +1 -1
  5. package/public/{chunk-PWQIPKCZ.js → chunk-4HHWSIRL.js} +1 -1
  6. package/public/{chunk-UIPEQ3TY.js → chunk-4T4VD2TT.js} +1 -1
  7. package/public/{chunk-HA2WGXM5.js → chunk-5BECVPIV.js} +1 -1
  8. package/public/{chunk-JUYQM3GD.js → chunk-5ZFNKXEJ.js} +1 -1
  9. package/public/{chunk-5J5A3AZJ.js → chunk-64XLTUIZ.js} +1 -1
  10. package/public/{chunk-ISQOROOQ.js → chunk-6JBKBW5K.js} +1 -1
  11. package/public/{chunk-OEBGFNAX.js → chunk-72HOKFNO.js} +1 -1
  12. package/public/{chunk-T44DHRZC.js → chunk-7PR6KBKG.js} +1 -1
  13. package/public/chunk-A6CEK4GO.js +12 -0
  14. package/public/{chunk-3LZXINNA.js → chunk-AHSPUZZV.js} +1 -1
  15. package/public/{chunk-3SLCBAUO.js → chunk-AJV57QIK.js} +1 -1
  16. package/public/{chunk-3D2RUP4Y.js → chunk-ALRTM6UG.js} +1 -1
  17. package/public/{chunk-NKHCUBWR.js → chunk-AOVKNECZ.js} +1 -1
  18. package/public/{chunk-YQHDKQ6Y.js → chunk-BF34LLSJ.js} +1 -1
  19. package/public/{chunk-VRY3JCNJ.js → chunk-BSEAXYFW.js} +1 -1
  20. package/public/{chunk-PCWTH4UR.js → chunk-CM4JRVND.js} +1 -1
  21. package/public/{chunk-ZMLFHLKC.js → chunk-D2IA3RTX.js} +1 -1
  22. package/public/{chunk-DXNJZWML.js → chunk-E4JQJCTR.js} +1 -1
  23. package/public/{chunk-NPDLWV63.js → chunk-EFHQHSBM.js} +1 -1
  24. package/public/{chunk-DNMQIPPR.js → chunk-EQ2BREDO.js} +1 -1
  25. package/public/{chunk-CYSWFN45.js → chunk-F7DWAGAR.js} +1 -1
  26. package/public/{chunk-LZHOM5JU.js → chunk-FFXVHLTB.js} +1 -1
  27. package/public/{chunk-FUSEM7XC.js → chunk-FRNGKBZ2.js} +1 -1
  28. package/public/{chunk-27VP2GOM.js → chunk-GPSCNA6I.js} +1 -1
  29. package/public/{chunk-OXTISD6M.js → chunk-HS2GA4O5.js} +1 -1
  30. package/public/{chunk-2DPEEJP4.js → chunk-JQHSHEIW.js} +1 -1
  31. package/public/{chunk-6IYVTR63.js → chunk-K6RVNCHZ.js} +1 -1
  32. package/public/{chunk-YXBQZ2BF.js → chunk-KAPGJVKP.js} +1 -1
  33. package/public/{chunk-4VAM7JFD.js → chunk-KXM6EV4V.js} +1 -1
  34. package/public/{chunk-RYJNNTB2.js → chunk-LNMLEQ7F.js} +1 -1
  35. package/public/{chunk-OQYRLVOL.js → chunk-N2MDWVRC.js} +1 -1
  36. package/public/{chunk-JOZGLDRY.js → chunk-OAHKW7E2.js} +1 -1
  37. package/public/{chunk-I3A53HA6.js → chunk-PCL7ZRAO.js} +1 -1
  38. package/public/{chunk-EGNEDJBY.js → chunk-PEFNJ5GU.js} +1 -1
  39. package/public/{chunk-UUGODDXA.js → chunk-PXOW66EH.js} +1 -1
  40. package/public/{chunk-5V6T7INQ.js → chunk-PYXMCKER.js} +1 -1
  41. package/public/{chunk-QJT4OOTH.js → chunk-R3ZXID4T.js} +1 -1
  42. package/public/chunk-RMVBLLKS.js +1 -0
  43. package/public/{chunk-WVXHTOK7.js → chunk-S3MZU7XR.js} +1 -1
  44. package/public/{chunk-DMDROVFS.js → chunk-S3Z44SBP.js} +1 -1
  45. package/public/{chunk-O4TWRQN6.js → chunk-TCWEVQOH.js} +1 -1
  46. package/public/{chunk-QS6B2745.js → chunk-TM42V3J5.js} +1 -1
  47. package/public/{chunk-5PLVSDMD.js → chunk-UBGPGQRS.js} +1 -1
  48. package/public/{chunk-OSDFUKPM.js → chunk-UFEDU5GJ.js} +1 -1
  49. package/public/{chunk-M5D2W55K.js → chunk-UG4NQPD7.js} +1 -1
  50. package/public/{chunk-X3SP4TWE.js → chunk-XQNA6Z7C.js} +1 -1
  51. package/public/index.html +1 -1
  52. package/public/{main-VEZ22YPS.js → main-YSDQIUYN.js} +1 -1
  53. package/public/chunk-723C63QQ.js +0 -12
  54. package/public/chunk-G7EY4LAP.js +0 -1
  55. /package/public/assets/{accessory-icons → service-icons}/air-purifier.svg +0 -0
  56. /package/public/assets/{accessory-icons → service-icons}/air-quality-sensor.svg +0 -0
  57. /package/public/assets/{accessory-icons → service-icons}/carbon-dioxide-sensor.svg +0 -0
  58. /package/public/assets/{accessory-icons → service-icons}/carbon-monoxide-sensor.svg +0 -0
  59. /package/public/assets/{accessory-icons → service-icons}/door.svg +0 -0
  60. /package/public/assets/{accessory-icons → service-icons}/doorbell.svg +0 -0
  61. /package/public/assets/{accessory-icons → service-icons}/fan.svg +0 -0
  62. /package/public/assets/{accessory-icons → service-icons}/filter-maintenance.svg +0 -0
  63. /package/public/assets/{accessory-icons → service-icons}/garage-door.svg +0 -0
  64. /package/public/assets/{accessory-icons → service-icons}/microphone.svg +0 -0
  65. /package/public/assets/{accessory-icons → service-icons}/robot-vacuum.svg +0 -0
  66. /package/public/assets/{accessory-icons → service-icons}/smoke-sensor.svg +0 -0
  67. /package/public/assets/{accessory-icons → service-icons}/speaker.svg +0 -0
  68. /package/public/assets/{accessory-icons → service-icons}/television.svg +0 -0
  69. /package/public/assets/{accessory-icons → service-icons}/washing-machine.svg +0 -0
  70. /package/public/assets/{accessory-icons → service-icons}/window-covering.svg +0 -0
  71. /package/public/assets/{accessory-icons → service-icons}/window.svg +0 -0
package/CHANGELOG.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  All notable changes to `homebridge-config-ui-x` will be documented in this file. This project tries to adhere to [Semantic Versioning](http://semver.org/).
4
4
 
5
- ## v5.3.1 (Unreleased)
5
+ ## v5.4.0 (2025-08-02)
6
6
 
7
7
  ### UI Changes
8
8
 
@@ -27,32 +27,27 @@ All notable changes to `homebridge-config-ui-x` will be documented in this file.
27
27
  - air quality sensor tile: update icon to match new style
28
28
  - show in sys info widget if arch is 32-bit or 64-bit
29
29
  - fix for custom ui colouring in dark mode
30
- - updated icons: co, co2, smoke + context sensors
31
- - improvements to garage door icon
30
+ - updated icons: co, co2, smoke, contact, garage
32
31
  - thermostat accessory: show target slider when available
33
32
  - updated icon for door, window and window covering services
34
- - revert back to font-awesome v6 for compatibility
35
33
  - accessory info: show props on characteristic click
36
- - custom types: expose a switch/outlet as a washing machine
37
34
  - credits modal: added new section for translations
35
+ - custom types: expose a switch/outlet as a washing machine
38
36
  - refreshed icons for fan, television, speaker + filter
39
37
  - added confirmation modal for shutting down
40
38
 
41
39
  ### Other Changes
42
40
 
43
- - update `@homebridge/node-pty-prebuilt-multiarch` to `0.14.1-beta`
44
41
  - added `arm` runners to the ui workflows for testing
45
42
  - make 'keep orphans' setting available in ui settings service
46
43
  - improve types for widgets
47
- - use new folder for updated accessory icons (fix cache issues)
48
- - font awesome `fa-fw` class no longer needed
49
44
  - upgrade `@ngx-translate/core` from `v16` to `v17`
50
45
  - fix get pairings, ignore `.json.bak` files
51
46
 
52
47
  ### Homebridge Dependencies
53
48
 
54
49
  - `@homebridge/hap-client` @ `v3.1.1`
55
- - `@homebridge/node-pty-prebuilt-multiarch` @ `v0.14.1-beta`
50
+ - `@homebridge/node-pty-prebuilt-multiarch` @ `v0.13.1`
56
51
  - `@homebridge/plugin-ui-utils` @ `v2.1.0`
57
52
 
58
53
  ## v5.3.0 (2025-07-23)
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.3.1-beta.31",
4
+ "version": "5.3.1-beta.32",
5
5
  "description": "A web based management, configuration and control platform for Homebridge.",
6
6
  "author": "oznu <dev@oz.nu>",
7
7
  "license": "MIT",
@@ -82,7 +82,7 @@
82
82
  "@fastify/multipart": "9.0.3",
83
83
  "@fastify/static": "8.2.0",
84
84
  "@homebridge/hap-client": "3.1.1",
85
- "@homebridge/node-pty-prebuilt-multiarch": "0.14.1-beta.1",
85
+ "@homebridge/node-pty-prebuilt-multiarch": "0.13.1",
86
86
  "@nestjs/axios": "4.0.1",
87
87
  "@nestjs/common": "11.1.5",
88
88
  "@nestjs/core": "11.1.5",
@@ -1,6 +1,6 @@
1
1
  <svg width="32px" height="32px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
2
2
  <!-- left object -->
3
- <rect class="left-object" x="1" y="1" width="15" height="30" rx="2" stroke="#7f7f7f" fill="none" stroke-width="1.5" />
3
+ <rect class="left-object" x="1" y="1" width="15" height="30" rx="1" stroke="#7f7f7f" fill="none" stroke-width="1.5" />
4
4
 
5
5
  <!-- right object -->
6
6
  <rect
@@ -9,7 +9,7 @@
9
9
  y="1"
10
10
  width="15"
11
11
  height="30"
12
- rx="2"
12
+ rx="1"
13
13
  stroke="#7f7f7f"
14
14
  fill="none"
15
15
  stroke-width="1.5"
@@ -1 +1 @@
1
- import{a as M}from"./chunk-ISQOROOQ.js";import"./chunk-HHGB2T2Q.js";import{a as O}from"./chunk-V35TPDVW.js";import{a as _}from"./chunk-EZQF5CUM.js";import{n as z,t as D}from"./chunk-FYI7RHOJ.js";import"./chunk-KYB236MX.js";import"./chunk-OSDFUKPM.js";import{b as H}from"./chunk-EGNEDJBY.js";import"./chunk-ZMLFHLKC.js";import{k as F,n as V}from"./chunk-G7EY4LAP.js";import{a as E,b as A}from"./chunk-FYDO54CR.js";import"./chunk-KLQ6BEKS.js";import{$a as y,Hb as u,Ib as x,Ic as a,Jb as C,Jc as s,Ob as f,Pb as c,Qb as r,Rb as m,Tc as k,_b as T,ab as l,bc as p,dc as b,g as q,h as w,kc as L,la as i,lc as S,mb as $,n as v,qc as I,ra as d,rc as B,sa as g}from"./chunk-645YHJEQ.js";var N=q(O(),1);var Q=["logoutput"];function W(o,P){if(o&1){let t=T();c(0,"div",4)(1,"button",7),a(2,"translate"),a(3,"translate"),p("click",function(){d(t);let n=b();return g(n.downloadLogFile())}),m(4,"i",8),r(),c(5,"button",9),a(6,"translate"),a(7,"translate"),p("click",function(){d(t);let n=b();return g(n.truncateLogFile())}),m(8,"i",10),r()()}o&2&&(l(),f("openDelay",150)("ngbTooltip",s(2,6,"form.button_download")),u("aria-label",s(3,8,"form.button_download")),l(4),f("openDelay",150)("ngbTooltip",s(6,10,"form.button_delete")),u("aria-label",s(7,12,"form.button_delete")))}var it=(()=>{class o{$api=i(V);$auth=i(H);$log=i(M);$modal=i(z);$toastr=i(F);$translate=i(E);termTarget=k("logoutput");resizeEvent=new v;isAdmin=this.$auth.user.admin;onWindowResize(){this.resizeEvent.next(void 0)}ngOnInit(){window.document.querySelector("body").classList.add("bg-black"),this.$log.startTerminal(this.termTarget(),{allowProposedApi:!0},this.resizeEvent)}ngOnDestroy(){window.document.querySelector("body").classList.remove("bg-black"),this.$log.destroyTerminal()}downloadLogFile(){let t=this.$modal.open(_,{size:"lg",backdrop:"static"});t.componentInstance.title=this.$translate.instant("logs.title_download_log_file"),t.componentInstance.message=this.$translate.instant("logs.download_warning"),t.componentInstance.confirmButtonLabel=this.$translate.instant("form.button_download"),t.componentInstance.faIconClass="fas fa-fw fa-user-secret primary-text",t.result.then(()=>{this.$api.get("/platform-tools/hb-service/log/download",{observe:"response",responseType:"blob"}).subscribe({next:e=>{(0,N.saveAs)(e.body,"homebridge.log.txt")},error:e=>w(this,null,function*(){let n;try{n=JSON.parse(yield e.error.text()).message}catch(h){console.error(h)}this.$toastr.error(n||this.$translate.instant("logs.download.error"),this.$translate.instant("toast.title_error"))})})}).catch(()=>{})}truncateLogFile(){let t=this.$modal.open(_,{size:"lg",backdrop:"static"});t.componentInstance.title=this.$translate.instant("logs.title_truncate_log_file"),t.componentInstance.message=this.$translate.instant("logs.truncate_log_warning"),t.componentInstance.confirmButtonLabel=this.$translate.instant("form.button_delete"),t.componentInstance.confirmButtonClass="btn-danger",t.componentInstance.faIconClass="fas fa-fw fa-circle-exclamation primary-text",t.result.then(()=>{this.$api.put("/platform-tools/hb-service/log/truncate",{}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("logs.log_file_truncated"),this.$translate.instant("toast.title_success")),this.$log.term.clear()},error:e=>{console.error(e),this.$toastr.error(e.error?.message||this.$translate.instant("logs.truncate.error"),this.$translate.instant("toast.title_error"))}})}).catch(()=>{})}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=$({type:o,selectors:[["ng-component"]],viewQuery:function(e,n){e&1&&L(n.termTarget,Q,5),e&2&&S()},hostBindings:function(e,n){e&1&&p("resize",function(j){return n.onWindowResize(j)},y)},decls:9,vars:4,consts:[["logoutput",""],[1,"row","mb-3"],[1,"col-6"],[1,"primary-text","m-0"],[1,"col-6","text-end"],[1,"flex-column","d-flex","align-items-stretch","adjust-for-mobile"],["id","log-output",1,"align-self-end","w-100","h-100","mb-1"],["container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0","me-2",3,"click","openDelay","ngbTooltip"],[1,"fas","fa-fw","fa-download"],["container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0","me-0",3,"click","openDelay","ngbTooltip"],[1,"fas","fa-fw","fa-trash-alt"]],template:function(e,n){e&1&&(c(0,"div",1)(1,"div",2)(2,"h3",3),I(3),a(4,"translate"),r()(),x(5,W,9,14,"div",4),r(),c(6,"div",5),m(7,"div",6,0),r()),e&2&&(l(3),B(s(4,2,"menu.linux.label_logs")),l(2),C(n.isAdmin?5:-1))},dependencies:[D,A],encapsulation:2})}return o})();export{it as LogsComponent};
1
+ import{a as M}from"./chunk-6JBKBW5K.js";import"./chunk-HHGB2T2Q.js";import{a as O}from"./chunk-V35TPDVW.js";import{a as _}from"./chunk-EZQF5CUM.js";import{n as z,t as D}from"./chunk-FYI7RHOJ.js";import"./chunk-KYB236MX.js";import"./chunk-UFEDU5GJ.js";import{b as H}from"./chunk-PEFNJ5GU.js";import"./chunk-D2IA3RTX.js";import{k as F,n as V}from"./chunk-RMVBLLKS.js";import{a as E,b as A}from"./chunk-FYDO54CR.js";import"./chunk-KLQ6BEKS.js";import{$a as y,Hb as u,Ib as x,Ic as a,Jb as C,Jc as s,Ob as f,Pb as c,Qb as r,Rb as m,Tc as k,_b as T,ab as l,bc as p,dc as b,g as q,h as w,kc as L,la as i,lc as S,mb as $,n as v,qc as I,ra as d,rc as B,sa as g}from"./chunk-645YHJEQ.js";var N=q(O(),1);var Q=["logoutput"];function W(o,P){if(o&1){let t=T();c(0,"div",4)(1,"button",7),a(2,"translate"),a(3,"translate"),p("click",function(){d(t);let n=b();return g(n.downloadLogFile())}),m(4,"i",8),r(),c(5,"button",9),a(6,"translate"),a(7,"translate"),p("click",function(){d(t);let n=b();return g(n.truncateLogFile())}),m(8,"i",10),r()()}o&2&&(l(),f("openDelay",150)("ngbTooltip",s(2,6,"form.button_download")),u("aria-label",s(3,8,"form.button_download")),l(4),f("openDelay",150)("ngbTooltip",s(6,10,"form.button_delete")),u("aria-label",s(7,12,"form.button_delete")))}var it=(()=>{class o{$api=i(V);$auth=i(H);$log=i(M);$modal=i(z);$toastr=i(F);$translate=i(E);termTarget=k("logoutput");resizeEvent=new v;isAdmin=this.$auth.user.admin;onWindowResize(){this.resizeEvent.next(void 0)}ngOnInit(){window.document.querySelector("body").classList.add("bg-black"),this.$log.startTerminal(this.termTarget(),{allowProposedApi:!0},this.resizeEvent)}ngOnDestroy(){window.document.querySelector("body").classList.remove("bg-black"),this.$log.destroyTerminal()}downloadLogFile(){let t=this.$modal.open(_,{size:"lg",backdrop:"static"});t.componentInstance.title=this.$translate.instant("logs.title_download_log_file"),t.componentInstance.message=this.$translate.instant("logs.download_warning"),t.componentInstance.confirmButtonLabel=this.$translate.instant("form.button_download"),t.componentInstance.faIconClass="fas fa-fw fa-user-secret primary-text",t.result.then(()=>{this.$api.get("/platform-tools/hb-service/log/download",{observe:"response",responseType:"blob"}).subscribe({next:e=>{(0,N.saveAs)(e.body,"homebridge.log.txt")},error:e=>w(this,null,function*(){let n;try{n=JSON.parse(yield e.error.text()).message}catch(h){console.error(h)}this.$toastr.error(n||this.$translate.instant("logs.download.error"),this.$translate.instant("toast.title_error"))})})}).catch(()=>{})}truncateLogFile(){let t=this.$modal.open(_,{size:"lg",backdrop:"static"});t.componentInstance.title=this.$translate.instant("logs.title_truncate_log_file"),t.componentInstance.message=this.$translate.instant("logs.truncate_log_warning"),t.componentInstance.confirmButtonLabel=this.$translate.instant("form.button_delete"),t.componentInstance.confirmButtonClass="btn-danger",t.componentInstance.faIconClass="fas fa-fw fa-circle-exclamation primary-text",t.result.then(()=>{this.$api.put("/platform-tools/hb-service/log/truncate",{}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("logs.log_file_truncated"),this.$translate.instant("toast.title_success")),this.$log.term.clear()},error:e=>{console.error(e),this.$toastr.error(e.error?.message||this.$translate.instant("logs.truncate.error"),this.$translate.instant("toast.title_error"))}})}).catch(()=>{})}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=$({type:o,selectors:[["ng-component"]],viewQuery:function(e,n){e&1&&L(n.termTarget,Q,5),e&2&&S()},hostBindings:function(e,n){e&1&&p("resize",function(j){return n.onWindowResize(j)},y)},decls:9,vars:4,consts:[["logoutput",""],[1,"row","mb-3"],[1,"col-6"],[1,"primary-text","m-0"],[1,"col-6","text-end"],[1,"flex-column","d-flex","align-items-stretch","adjust-for-mobile"],["id","log-output",1,"align-self-end","w-100","h-100","mb-1"],["container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0","me-2",3,"click","openDelay","ngbTooltip"],[1,"fas","fa-fw","fa-download"],["container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0","me-0",3,"click","openDelay","ngbTooltip"],[1,"fas","fa-fw","fa-trash-alt"]],template:function(e,n){e&1&&(c(0,"div",1)(1,"div",2)(2,"h3",3),I(3),a(4,"translate"),r()(),x(5,W,9,14,"div",4),r(),c(6,"div",5),m(7,"div",6,0),r()),e&2&&(l(3),B(s(4,2,"menu.linux.label_logs")),l(2),C(n.isAdmin?5:-1))},dependencies:[D,A],encapsulation:2})}return o})();export{it as LogsComponent};
@@ -1 +1 @@
1
- import{a as b}from"./chunk-OSDFUKPM.js";import"./chunk-EGNEDJBY.js";import{d as k}from"./chunk-6HJHVJPI.js";import{b as S}from"./chunk-ZMLFHLKC.js";import{k as T,n as w}from"./chunk-G7EY4LAP.js";import{a as C,b as $}from"./chunk-FYDO54CR.js";import"./chunk-KLQ6BEKS.js";import{$b as E,Dc as g,Ib as d,Ic as m,Jb as f,Jc as c,Kc as y,Sb as r,Tb as i,Ub as l,Xa as x,ab as n,dc as h,la as o,mb as _,qc as a,rc as s}from"./chunk-645YHJEQ.js";var I=t=>({command:t});function D(t,u){if(t&1&&(r(0,"div",7),a(1),i()),t&2){let e=h();n(),s(e.error)}}function R(t,u){t&1&&(r(0,"p",9),a(1),m(2,"translate"),i(),r(3,"div",10)(4,"div",11),l(5,"i",12),i()()),t&2&&(n(),s(c(2,1,"restart.please_wait_while_server_restarts")))}function B(t,u){if(t&1&&(r(0,"div",8)(1,"p"),a(2),m(3,"translate"),i(),l(4,"p",13),m(5,"translate"),i()),t&2){let e=h();n(2),s(c(3,2,"platform.docker.server_long_time")),n(2),E("innerHTML",y(5,4,"platform.docker.run_with_restart",g(7,I,e.command)),x)}}var U=(()=>{class t{$api=o(w);$router=o(k);$settings=o(S);$toastr=o(T);$translate=o(C);$ws=o(b);checkTimeout;checkDelay;io;resp={};timeout=!1;error=!1;command='<span class="font-monospace">--restart=always</span>';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/docker/restart-container",{}).subscribe({next:e=>{this.resp=e,this.checkIfServerUp()},error:e=>{this.error=this.$translate.instant("restart.toast_server_restart_error"),console.error(e),this.$toastr.error(this.$translate.instant("restart.toast_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==="up"||e.status==="pending")&&(this.$toastr.success(this.$translate.instant("platform.docker.container_restarted"),this.$translate.instant("toast.title_success")),this.$router.navigate(["/"]))})},1e4),this.checkTimeout=setTimeout(()=>{this.$toastr.warning(this.$translate.instant("restart.toast_server_restart_timeout"),this.$translate.instant("toast.title_warning"),{timeOut:1e4}),this.timeout=!0},6e4)}static \u0275fac=function(p){return new(p||t)};static \u0275cmp=_({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,"fab","fa-fw","fa-docker",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-fw","fa-spinner","fa-spin"],[1,"grey-text","mb-0",3,"innerHTML"]],template:function(p,v){p&1&&(r(0,"div",0)(1,"h3",1),a(2),m(3,"translate"),i()(),r(4,"div",2)(5,"div",3),l(6,"i",4),i(),r(7,"div",5)(8,"h4",6),a(9),m(10,"translate"),i(),d(11,D,2,1,"div",7)(12,R,6,3),d(13,B,6,9,"div",8),i()()),p&2&&(n(2),s(c(3,4,"menu.restart.title")),n(7),s(c(10,6,"platform.docker.title_restarting")),n(2),f(v.error?11:12),n(2),f(v.timeout?13:-1))},dependencies:[$],styles:[".restart-progress-box[_ngcontent-%COMP%]{font-size:22px;font-weight:300;margin-top:15px}"]})}return t})();export{U as ContainerRestartComponent};
1
+ import{a as b}from"./chunk-UFEDU5GJ.js";import"./chunk-PEFNJ5GU.js";import{d as k}from"./chunk-6HJHVJPI.js";import{b as S}from"./chunk-D2IA3RTX.js";import{k as T,n as w}from"./chunk-RMVBLLKS.js";import{a as C,b as $}from"./chunk-FYDO54CR.js";import"./chunk-KLQ6BEKS.js";import{$b as E,Dc as g,Ib as d,Ic as m,Jb as f,Jc as c,Kc as y,Sb as r,Tb as i,Ub as l,Xa as x,ab as n,dc as h,la as o,mb as _,qc as a,rc as s}from"./chunk-645YHJEQ.js";var I=t=>({command:t});function D(t,u){if(t&1&&(r(0,"div",7),a(1),i()),t&2){let e=h();n(),s(e.error)}}function R(t,u){t&1&&(r(0,"p",9),a(1),m(2,"translate"),i(),r(3,"div",10)(4,"div",11),l(5,"i",12),i()()),t&2&&(n(),s(c(2,1,"restart.please_wait_while_server_restarts")))}function B(t,u){if(t&1&&(r(0,"div",8)(1,"p"),a(2),m(3,"translate"),i(),l(4,"p",13),m(5,"translate"),i()),t&2){let e=h();n(2),s(c(3,2,"platform.docker.server_long_time")),n(2),E("innerHTML",y(5,4,"platform.docker.run_with_restart",g(7,I,e.command)),x)}}var U=(()=>{class t{$api=o(w);$router=o(k);$settings=o(S);$toastr=o(T);$translate=o(C);$ws=o(b);checkTimeout;checkDelay;io;resp={};timeout=!1;error=!1;command='<span class="font-monospace">--restart=always</span>';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/docker/restart-container",{}).subscribe({next:e=>{this.resp=e,this.checkIfServerUp()},error:e=>{this.error=this.$translate.instant("restart.toast_server_restart_error"),console.error(e),this.$toastr.error(this.$translate.instant("restart.toast_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==="up"||e.status==="pending")&&(this.$toastr.success(this.$translate.instant("platform.docker.container_restarted"),this.$translate.instant("toast.title_success")),this.$router.navigate(["/"]))})},1e4),this.checkTimeout=setTimeout(()=>{this.$toastr.warning(this.$translate.instant("restart.toast_server_restart_timeout"),this.$translate.instant("toast.title_warning"),{timeOut:1e4}),this.timeout=!0},6e4)}static \u0275fac=function(p){return new(p||t)};static \u0275cmp=_({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,"fab","fa-fw","fa-docker",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-fw","fa-spinner","fa-spin"],[1,"grey-text","mb-0",3,"innerHTML"]],template:function(p,v){p&1&&(r(0,"div",0)(1,"h3",1),a(2),m(3,"translate"),i()(),r(4,"div",2)(5,"div",3),l(6,"i",4),i(),r(7,"div",5)(8,"h4",6),a(9),m(10,"translate"),i(),d(11,D,2,1,"div",7)(12,R,6,3),d(13,B,6,9,"div",8),i()()),p&2&&(n(2),s(c(3,4,"menu.restart.title")),n(7),s(c(10,6,"platform.docker.title_restarting")),n(2),f(v.error?11:12),n(2),f(v.timeout?13:-1))},dependencies:[$],styles:[".restart-progress-box[_ngcontent-%COMP%]{font-size:22px;font-weight:300;margin-top:15px}"]})}return t})();export{U as ContainerRestartComponent};
@@ -1 +1 @@
1
- import{g as r}from"./chunk-6HJHVJPI.js";import"./chunk-KLQ6BEKS.js";import{ha as t,nb as e}from"./chunk-645YHJEQ.js";var m=[{path:"",loadComponent:()=>import("./chunk-5PLVSDMD.js").then(o=>o.PowerOptionsComponent)}],n=(()=>{class o{static \u0275fac=function(i){return new(i||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[r.forChild(m),r]})}return o})();var d=(()=>{class o{static \u0275fac=function(i){return new(i||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[n]})}return o})();export{d as PowerOptionsModule};
1
+ import{g as r}from"./chunk-6HJHVJPI.js";import"./chunk-KLQ6BEKS.js";import{ha as t,nb as e}from"./chunk-645YHJEQ.js";var m=[{path:"",loadComponent:()=>import("./chunk-UBGPGQRS.js").then(o=>o.PowerOptionsComponent)}],n=(()=>{class o{static \u0275fac=function(i){return new(i||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[r.forChild(m),r]})}return o})();var d=(()=>{class o{static \u0275fac=function(i){return new(i||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[n]})}return o})();export{d as PowerOptionsModule};