UNPKG

homebridge-config-ui-x

Version:

A web based management, configuration and control platform for Homebridge.

2 lines (1 loc) 3.22 kB
import{a as T}from"./chunk-2QXNFD4L.js";import{d as y}from"./chunk-QY7HUYL5.js";import{b as S}from"./chunk-3P637DAY.js";import{h as $,k as C}from"./chunk-SXUVUFAV.js";import{a as _,b as g}from"./chunk-KPKQNEWS.js";import{$a as i,Ac as p,Bc as c,Hb as l,Ib as m,Ob as r,Pb as n,Qb as x,Yb as v,jc as o,kc as s,la as a,lb as h}from"./chunk-QSPBB6EE.js";function w(t,f){t&1&&(r(0,"p",7),o(1),p(2,"translate"),n()),t&2&&(i(),s(c(2,1,"restart.please_wait_while_server_restarts")))}function k(t,f){if(t&1&&(r(0,"div",8),o(1),n()),t&2){let e=v();i(),s(e.error)}}function b(t,f){t&1&&(r(0,"div",9)(1,"div",11),x(2,"i",12),n()())}function E(t,f){t&1&&(r(0,"div",10),o(1),p(2,"translate"),n()),t&2&&(i(),s(c(2,1,"platform.linux.long_time")))}var A=(()=>{class t{$api=a(C);$router=a(y);$settings=a(S);$toastr=a($);$translate=a(_);$ws=a(T);checkTimeout;checkDelay;resp={};timeout=!1;error=!1;io;constructor(){}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"))}})}checkIfServerUp(){this.checkDelay=setTimeout(()=>{this.io.socket.on("homebridge-status",e=>{(e.status==="up"||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)}ngOnDestroy(){this.io.end(),clearTimeout(this.checkDelay),clearTimeout(this.checkTimeout)}static \u0275fac=function(d){return new(d||t)};static \u0275cmp=h({type:t,selectors:[["ng-component"]],decls:15,vars:10,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-fw","fa-power-off",2,"font-size","75px"],[1,"text-center"],[1,"primary-text","mb-4"],[1,"grey-text"],[1,"alert","alert-error","my-4"],[1,"justify-content-center","my-4"],[1,"alert","alert-warning","my-4"],[1,"restart-progress-box","primary-text"],[1,"fas","fa-fw","fa-spinner","fa-spin"]],template:function(d,u){d&1&&(r(0,"div",0)(1,"h3",1),o(2),p(3,"translate"),n()(),r(4,"div",2)(5,"div",3),x(6,"i",4),n(),r(7,"div",5)(8,"h4",6),o(9),p(10,"translate"),n(),l(11,w,3,3,"p",7),l(12,k,2,1,"div",8),l(13,b,3,0,"div",9),l(14,E,3,3,"div",10),n()()),d&2&&(i(2),s(c(3,6,"menu.restart.title")),i(7),s(c(10,8,"platform.linux.restarting_server")),i(2),m(u.error?-1:11),i(),m(u.error?12:-1),i(),m(u.error?-1:13),i(),m(u.timeout?14:-1))},dependencies:[g],styles:[".restart-progress-box[_ngcontent-%COMP%]{font-size:22px;font-weight:300;margin-top:15px}"]})}return t})();export{A as a};