homebridge-config-ui-x
Version:
A web based management, configuration and control platform for Homebridge.
2 lines (1 loc) • 3.33 kB
JavaScript
import{a as D}from"./chunk-GXCQWWJO.js";import{e as S}from"./chunk-ODMFCOQJ.js";import{a as h}from"./chunk-XPK2EQJA.js";import"./chunk-2GN26TCR.js";import{b as k}from"./chunk-4NRNA47I.js";import{C,D as b,F as w,I as R}from"./chunk-QCMOCU6Q.js";import{Ab as u,Dc as m,Ec as l,Jb as o,Kb as e,Lb as v,Ya as r,Zb as $,aa as n,kc as s,lc as a,ma as E,mb as y,sa as d,w as c,zb as f}from"./chunk-ZMC752RO.js";import{h as _}from"./chunk-B4AJQJMI.js";function I(t,x){if(t&1&&(o(0,"div",7),s(1),e()),t&2){let i=$();r(),a(i.error())}}function T(t,x){t&1&&(o(0,"p",9),s(1),m(2,"translate"),e(),o(3,"div",10)(4,"div",11),v(5,"i",12),e()()),t&2&&(r(),a(l(2,1,"restart.please_wait_while_server_restarts")))}function L(t,x){t&1&&(o(0,"div",8),s(1),m(2,"translate"),e()),t&2&&(r(),a(l(2,1,"platform.linux.long_time")))}var G=(()=>{class t{$api=n(R);$router=n(S);$settings=n(k);$toastr=n(w);$translate=n(C);$ws=n(D);destroyRef=n(E);io;timeout=d(!1);error=d(!1);ngOnInit(){this.initialize()}initialize(){return _(this,null,function*(){this.io=this.$ws.connectToNamespace("status"),this.io.connected.subscribe(()=>{this.io.socket.emit("monitor-server-status"),this.$settings.getAppSettings().catch(()=>{})}),this.io.socket.connected&&(this.io.socket.emit("monitor-server-status"),this.$settings.getAppSettings().catch(()=>{}));try{yield this.$api.put("/platform-tools/linux/restart-host",{}),this.checkIfServerUp()}catch(i){console.error(i),this.error.set(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?.()}checkIfServerUp(){c(3e4).pipe(h(this.destroyRef)).subscribe(()=>{this.io.socket.on("homebridge-status",i=>{(i.status==="ok"||i.status==="pending")&&(this.$toastr.success(this.$translate.instant("platform.linux.server_restarted"),this.$translate.instant("toast.title_success")),this.$router.navigate(["/"]))})}),c(12e4).pipe(h(this.destroyRef)).subscribe(()=>{this.$toastr.warning(this.$translate.instant("platform.linux.server_taking_long_time"),this.$translate.instant("toast.title_warning"),{timeOut:1e4}),this.timeout.set(!0)})}static \u0275fac=function(p){return new(p||t)};static \u0275cmp=y({type:t,selectors:[["app-restart-linux"]],decls:14,vars:8,consts:[[1,"d-flex","justify-content-between"],[1,"primary-text","m-0"],[1,"my-4","align-items-center","container-narrow"],[1,"w-100","text-center","primary-text","mb-5"],[1,"fas","fa-power-off","icon-xl"],[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-circle-notch","fa-spin"]],template:function(p,g){p&1&&(o(0,"div",0)(1,"h3",1),s(2),m(3,"translate"),e()(),o(4,"div",2)(5,"div",3),v(6,"i",4),e(),o(7,"div",5)(8,"h4",6),s(9),m(10,"translate"),e(),f(11,I,2,1,"div",7)(12,T,6,3),f(13,L,3,3,"div",8),e()()),p&2&&(r(2),a(l(3,4,"menu.restart.title")),r(7),a(l(10,6,"platform.linux.restarting_server")),r(2),u(g.error()?11:12),r(2),u(g.timeout()?13:-1))},dependencies:[b],styles:[".restart-progress-box[_ngcontent-%COMP%]{font-size:22px;font-weight:300;margin-top:15px}"],changeDetection:0})}return t})();export{G as RestartLinuxComponent};