homebridge-config-ui-x
Version:
A web based management, configuration and control platform for Homebridge.
1 lines • 3.4 kB
JavaScript
import {d as dr}from'./chunk-KTYlT6lA.js';import {g,X as I3,l as le,z as zt,a1 as M0,a2 as bf,n as ne,W,E,A as An,a_ as Ln,J as Ja,k as K8,az as ke,s as At,t as f_,aA as Je,aC as Dr,u as Re,y as ie,N as Ny,G as h_,O as Oe,U as ye}from'./main-ONDCASUV.js';function A(t,x){if(t&1&&(ke(0,"div",7),At(1),Je()),t&2){let i=ye();ie(),Ny(i.error());}}function I(t,x){t&1&&(ke(0,"p",9),At(1),f_(2,"translate"),Je(),ke(3,"div",10)(4,"div",11),Dr(5,"i",12),Je()()),t&2&&(ie(),Ny(h_(2,1,"restart.please_wait_while_server_restarts")));}function T(t,x){t&1&&(ke(0,"div",8),At(1),f_(2,"translate"),Je()),t&2&&(ie(),Ny(h_(2,1,"platform.linux.long_time")));}var q=(()=>{class t{$api=g(I3);$router=g(le);$settings=g(zt);$toastr=g(M0);$translate=g(bf);$ws=g(dr);destroyRef=g(ne);io;statusCheckActive=W(false);statusHandler=i=>{this.statusCheckActive()&&(i.status==="ok"||i.status==="pending")&&(this.statusCheckActive.set(false),this.$toastr.success(this.$translate.instant("platform.linux.server_restarted"),this.$translate.instant("toast.title_success")),this.$router.navigate(["/"]));};timeout=W(false);error=W(false);ngOnInit(){this.initialize();}initialize(){return E(this,null,function*(){this.io=this.$ws.connectToNamespace("status"),this.io.connected.pipe(An(this.destroyRef)).subscribe(()=>{this.io.socket.emit("monitor-server-status"),this.$settings.getAppSettings().catch(()=>{});}),this.io.socket.on("homebridge-status",this.statusHandler);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.socket.off("homebridge-status",this.statusHandler),this.statusCheckActive.set(false),this.io.end?.();}checkIfServerUp(){Ln(3e4).pipe(An(this.destroyRef)).subscribe(()=>{this.statusCheckActive.set(true),this.io.socket.emit("monitor-server-status");}),Ln(12e4).pipe(An(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(true);});}static \u0275fac=function(c){return new(c||t)};static \u0275cmp=Ja({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(c,g){c&1&&(ke(0,"div",0)(1,"h3",1),At(2),f_(3,"translate"),Je()(),ke(4,"div",2)(5,"div",3),Dr(6,"i",4),Je(),ke(7,"div",5)(8,"h4",6),At(9),f_(10,"translate"),Je(),Re(11,A,2,1,"div",7)(12,I,6,3),Re(13,T,3,3,"div",8),Je()()),c&2&&(ie(2),Ny(h_(3,4,"menu.restart.title")),ie(7),Ny(h_(10,6,"platform.linux.restarting_server")),ie(2),Oe(g.error()?11:12),ie(2),Oe(g.timeout()?13:-1));},dependencies:[K8],styles:[".restart-progress-box[_ngcontent-%COMP%]{font-size:22px;font-weight:300;margin-top:15px}"]})}return t})();export{q as RestartLinuxComponent};