homebridge-config-ui-x 5.3.1-beta.30 → 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.
- package/CHANGELOG.md +6 -11
- package/package.json +3 -3
- package/public/assets/{accessory-icons → service-icons}/contact-sensor.svg +2 -2
- package/public/assets/service-icons/filter-maintenance.svg +34 -0
- package/public/assets/service-icons/speaker.svg +28 -0
- package/public/{chunk-XNREVIOR.js → chunk-47N7ZL6S.js} +1 -1
- package/public/{chunk-Y3MEXHXS.js → chunk-4HHWSIRL.js} +1 -1
- package/public/{chunk-DIOP356J.js → chunk-4T4VD2TT.js} +1 -1
- package/public/{chunk-2BVXULVH.js → chunk-5BECVPIV.js} +1 -1
- package/public/{chunk-PLQZR7FS.js → chunk-5ZFNKXEJ.js} +1 -1
- package/public/{chunk-YALWFBUZ.js → chunk-64XLTUIZ.js} +1 -1
- package/public/{chunk-DYNBUGUJ.js → chunk-6JBKBW5K.js} +1 -1
- package/public/{chunk-FKETXZ3P.js → chunk-72HOKFNO.js} +1 -1
- package/public/{chunk-CDJQZTQV.js → chunk-7PR6KBKG.js} +1 -1
- package/public/chunk-A6CEK4GO.js +12 -0
- package/public/{chunk-UYCIRPVM.js → chunk-AHSPUZZV.js} +1 -1
- package/public/{chunk-LPI6G7KG.js → chunk-AJV57QIK.js} +1 -1
- package/public/{chunk-R2TCI3S5.js → chunk-ALRTM6UG.js} +1 -1
- package/public/{chunk-RG3ESSVL.js → chunk-AOVKNECZ.js} +1 -1
- package/public/{chunk-3DBHMPZ2.js → chunk-BF34LLSJ.js} +1 -1
- package/public/{chunk-LA6DN44F.js → chunk-BSEAXYFW.js} +1 -1
- package/public/{chunk-7TY7YAMX.js → chunk-CM4JRVND.js} +1 -1
- package/public/{chunk-MCTUYZII.js → chunk-D2IA3RTX.js} +1 -1
- package/public/{chunk-ZIUSVZKS.js → chunk-E4JQJCTR.js} +1 -1
- package/public/{chunk-UN332UGX.js → chunk-EFHQHSBM.js} +1 -1
- package/public/{chunk-2J2ZOJYR.js → chunk-EQ2BREDO.js} +1 -1
- package/public/{chunk-KTU5HYDZ.js → chunk-F7DWAGAR.js} +1 -1
- package/public/{chunk-ECMYK3PC.js → chunk-FFXVHLTB.js} +1 -1
- package/public/{chunk-YFMD7ODK.js → chunk-FRNGKBZ2.js} +1 -1
- package/public/{chunk-QOQL2NUU.js → chunk-GPSCNA6I.js} +1 -1
- package/public/{chunk-MVT4AIPI.js → chunk-HS2GA4O5.js} +1 -1
- package/public/{chunk-BGZSQREO.js → chunk-JQHSHEIW.js} +1 -1
- package/public/{chunk-ORPZKTRF.js → chunk-K6RVNCHZ.js} +1 -1
- package/public/{chunk-X274QS2Y.js → chunk-KAPGJVKP.js} +1 -1
- package/public/{chunk-H5IHOQTW.js → chunk-KXM6EV4V.js} +1 -1
- package/public/{chunk-D63FO75X.js → chunk-LNMLEQ7F.js} +1 -1
- package/public/{chunk-KFMLSEKQ.js → chunk-N2MDWVRC.js} +1 -1
- package/public/{chunk-2N6VILVP.js → chunk-OAHKW7E2.js} +1 -1
- package/public/{chunk-FNHWBZRE.js → chunk-PCL7ZRAO.js} +1 -1
- package/public/{chunk-FY4VTHWN.js → chunk-PEFNJ5GU.js} +1 -1
- package/public/{chunk-ORSCWROB.js → chunk-PXOW66EH.js} +1 -1
- package/public/{chunk-K6JD5GAC.js → chunk-PYXMCKER.js} +1 -1
- package/public/{chunk-O6DXPJBX.js → chunk-R3ZXID4T.js} +1 -1
- package/public/chunk-RMVBLLKS.js +1 -0
- package/public/{chunk-FATLADTC.js → chunk-S3MZU7XR.js} +1 -1
- package/public/{chunk-SGDCO5EL.js → chunk-S3Z44SBP.js} +1 -1
- package/public/{chunk-HNRSUPWF.js → chunk-TCWEVQOH.js} +1 -1
- package/public/{chunk-PBC6K7UY.js → chunk-TM42V3J5.js} +1 -1
- package/public/chunk-UBGPGQRS.js +1 -0
- package/public/{chunk-62SMGM3H.js → chunk-UFEDU5GJ.js} +1 -1
- package/public/{chunk-KPBPANQ3.js → chunk-UG4NQPD7.js} +1 -1
- package/public/{chunk-ZOCIFBBW.js → chunk-XQNA6Z7C.js} +1 -1
- package/public/index.html +1 -1
- package/public/main-YSDQIUYN.js +1 -0
- package/public/assets/hap-icons/filter-maintenance.svg +0 -26
- package/public/assets/hap-icons/speaker.svg +0 -46
- package/public/chunk-DZDUG47D.js +0 -1
- package/public/chunk-YIASEY77.js +0 -12
- package/public/chunk-YTGDDN3C.js +0 -1
- package/public/main-EZWROWVV.js +0 -1
- /package/public/assets/{accessory-icons → service-icons}/air-purifier.svg +0 -0
- /package/public/assets/{accessory-icons → service-icons}/air-quality-sensor.svg +0 -0
- /package/public/assets/{accessory-icons → service-icons}/carbon-dioxide-sensor.svg +0 -0
- /package/public/assets/{accessory-icons → service-icons}/carbon-monoxide-sensor.svg +0 -0
- /package/public/assets/{accessory-icons → service-icons}/door.svg +0 -0
- /package/public/assets/{accessory-icons → service-icons}/doorbell.svg +0 -0
- /package/public/assets/{accessory-icons → service-icons}/fan.svg +0 -0
- /package/public/assets/{accessory-icons → service-icons}/garage-door.svg +0 -0
- /package/public/assets/{accessory-icons → service-icons}/microphone.svg +0 -0
- /package/public/assets/{accessory-icons → service-icons}/robot-vacuum.svg +0 -0
- /package/public/assets/{accessory-icons → service-icons}/smoke-sensor.svg +0 -0
- /package/public/assets/{accessory-icons → service-icons}/television.svg +0 -0
- /package/public/assets/{accessory-icons → service-icons}/washing-machine.svg +0 -0
- /package/public/assets/{accessory-icons → service-icons}/window-covering.svg +0 -0
- /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.
|
|
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
|
|
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
|
-
- fan icon: updated to the new icon format
|
|
38
34
|
- credits modal: added new section for translations
|
|
39
|
-
-
|
|
35
|
+
- custom types: expose a switch/outlet as a washing machine
|
|
36
|
+
- refreshed icons for fan, television, speaker + filter
|
|
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.
|
|
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.
|
|
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.
|
|
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",
|
|
@@ -119,7 +119,7 @@
|
|
|
119
119
|
"unzipper": "0.12.3"
|
|
120
120
|
},
|
|
121
121
|
"devDependencies": {
|
|
122
|
-
"@antfu/eslint-config": "^5.
|
|
122
|
+
"@antfu/eslint-config": "^5.1.0",
|
|
123
123
|
"@nestjs/testing": "^11.1.5",
|
|
124
124
|
"@prettier/plugin-xml": "^3.4.2",
|
|
125
125
|
"@types/fs-extra": "^11.0.4",
|
|
@@ -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="
|
|
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="
|
|
12
|
+
rx="1"
|
|
13
13
|
stroke="#7f7f7f"
|
|
14
14
|
fill="none"
|
|
15
15
|
stroke-width="1.5"
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<svg width="32px" height="32px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<!-- top outer ellipse -->
|
|
3
|
+
<ellipse cx="16" cy="7" rx="11" ry="5" stroke="#7f7f7f" stroke-width="1.75" fill="none" />
|
|
4
|
+
|
|
5
|
+
<!-- top inner ellipse -->
|
|
6
|
+
<ellipse cx="16" cy="7" rx="6" ry="2" stroke="#7f7f7f" stroke-width="1" fill="none" />
|
|
7
|
+
|
|
8
|
+
<!-- side walls -->
|
|
9
|
+
<line x1="5" y1="7" x2="5" y2="27.7" stroke="#7f7f7f" stroke-width="1.75" />
|
|
10
|
+
<line x1="27" y1="7" x2="27" y2="27.7" stroke="#7f7f7f" stroke-width="1.75" />
|
|
11
|
+
|
|
12
|
+
<!-- base arc -->
|
|
13
|
+
<path d="M4.7,27 A13,6.9 0 0,0 27.3,27" stroke="#7f7f7f" stroke-width="1.75" fill="none" />
|
|
14
|
+
|
|
15
|
+
<!-- outer front lines -->
|
|
16
|
+
<line x1="7" y1="10" x2="7" y2="29" stroke="#7f7f7f" stroke-width="1" />
|
|
17
|
+
<line x1="9" y1="11" x2="9" y2="29" stroke="#7f7f7f" stroke-width="1" />
|
|
18
|
+
<line x1="11" y1="12" x2="11" y2="30" stroke="#7f7f7f" stroke-width="1" />
|
|
19
|
+
<line x1="13" y1="12" x2="13" y2="30" stroke="#7f7f7f" stroke-width="1" />
|
|
20
|
+
<line x1="15" y1="12" x2="15" y2="30" stroke="#7f7f7f" stroke-width="1" />
|
|
21
|
+
<line x1="17" y1="12" x2="17" y2="30" stroke="#7f7f7f" stroke-width="1" />
|
|
22
|
+
<line x1="19" y1="12" x2="19" y2="30" stroke="#7f7f7f" stroke-width="1" />
|
|
23
|
+
<line x1="21" y1="12" x2="21" y2="30" stroke="#7f7f7f" stroke-width="1" />
|
|
24
|
+
<line x1="23" y1="11" x2="23" y2="29" stroke="#7f7f7f" stroke-width="1" />
|
|
25
|
+
<line x1="25" y1="10" x2="25" y2="29" stroke="#7f7f7f" stroke-width="1" />
|
|
26
|
+
|
|
27
|
+
<!-- inner back lines -->
|
|
28
|
+
<line x1="11" y1="6" x2="11" y2="8" stroke="#7f7f7f" stroke-width="1" />
|
|
29
|
+
<line x1="13" y1="5" x2="13" y2="9" stroke="#7f7f7f" stroke-width="1" />
|
|
30
|
+
<line x1="15" y1="5" x2="15" y2="9" stroke="#7f7f7f" stroke-width="1" />
|
|
31
|
+
<line x1="17" y1="5" x2="17" y2="9" stroke="#7f7f7f" stroke-width="1" />
|
|
32
|
+
<line x1="19" y1="5" x2="19" y2="9" stroke="#7f7f7f" stroke-width="1" />
|
|
33
|
+
<line x1="21" y1="6" x2="21" y2="8" stroke="#7f7f7f" stroke-width="1" />
|
|
34
|
+
</svg>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<svg width="32px" height="32px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<!-- outer casing -->
|
|
3
|
+
<rect x="6" y="1" width="20" height="30" rx="3" stroke="#7f7f7f" fill="none" stroke-width="1" />
|
|
4
|
+
|
|
5
|
+
<!-- outer top speaker circle -->
|
|
6
|
+
<circle cx="16" cy="9" r="4.5" stroke="#7f7f7f" stroke-width="0" fill="#7f7f7f" />
|
|
7
|
+
|
|
8
|
+
<!-- inner top speaker circle -->
|
|
9
|
+
<circle class="inner" cx="16" cy="9" r="1.5" stroke="#7f7f7f" stroke-width="0" fill="#e1e1e1" />
|
|
10
|
+
|
|
11
|
+
<!-- outer bottom speaker circle -->
|
|
12
|
+
<circle cx="16" cy="22" r="6" stroke="#7f7f7f" stroke-width="0" fill="#7f7f7f" />
|
|
13
|
+
|
|
14
|
+
<!-- inner bottom speaker circle -->
|
|
15
|
+
<circle class="inner" cx="16" cy="22" r="2" stroke="#7f7f7f" stroke-width="0" fill="#e1e1e1" />
|
|
16
|
+
|
|
17
|
+
<!-- inner left sound wave -->
|
|
18
|
+
<path class="wave-inner" d="M4,12 Q1,16 4,20" stroke="#1976d2" fill="none" stroke-width="1" stroke-opacity="0" />
|
|
19
|
+
|
|
20
|
+
<!-- outer left sound wave -->
|
|
21
|
+
<path class="wave-outer" d="M3,10 Q-2,16 3,22" stroke="#1976d2" fill="none" stroke-width="1" stroke-opacity="0" />
|
|
22
|
+
|
|
23
|
+
<!-- inner right sound wave -->
|
|
24
|
+
<path class="wave-inner" d="M28,12 Q31,16 28,20" stroke="#1976d2" fill="none" stroke-width="1" stroke-opacity="0" />
|
|
25
|
+
|
|
26
|
+
<!-- outer right sound wave -->
|
|
27
|
+
<path class="wave-outer" d="M29,10 Q34,16 29,22" stroke="#1976d2" fill="none" stroke-width="1" stroke-opacity="0" />
|
|
28
|
+
</svg>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as M}from"./chunk-
|
|
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-
|
|
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-
|
|
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};
|