homebridge-config-ui-x
Version:
A web based management, configuration and control platform for Homebridge.
1 lines • 4.78 kB
JavaScript
import {p}from'./chunk-b_mHvpXA.js';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,aH as X,A as An,E,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,aw as Qt,I as Rt,x as Cy,a8 as nc,aB as _i,a9 as Go,aa as Wo}from'./main-ONDCASUV.js';function j(i,x){if(i&1&&(ke(0,"div",7),At(1),Je()),i&2){let t=ye();ie(),Ny(t.error());}}function q(i,x){if(i&1&&(ke(0,"p",9),At(1),f_(2,"translate"),Je(),ke(3,"div",10)(4,"div",11)(5,"span"),Dr(6,"i",12),At(7),f_(8,"translate"),Je()(),ke(9,"div",11)(10,"span"),Dr(11,"i",12),At(12),f_(13,"translate"),Je()()()),i&2){let t=ye();ie(),Ny(h_(2,9,"restart.please_wait_while_server_restarts")),ie(5),Qt(t.uiIcon()),ie(),Rt(" ",h_(8,11,"restart.ui_online")," "),ie(3),Cy("grey-text",!t.uiOnline()),ie(),Qt(t.serviceIcon()),ie(),Rt(" ",h_(13,13,"restart.service_ready")," ");}}function L(i,x){if(i&1){let t=nc();ke(0,"p",15)(1,"button",16),_i("click",function(){Go(t);let m=ye(2);return Wo(m.viewLogs())}),At(2),f_(3,"translate"),Je()();}i&2&&(ie(2),Rt(" ",h_(3,1,"menu.tooltip_view_logs")," "));}function V(i,x){if(i&1&&(ke(0,"div",8)(1,"p"),At(2),f_(3,"translate"),Je(),ke(4,"p",13),At(5),f_(6,"translate"),ke(7,"span",14),At(8),Je()(),Re(9,L,4,3,"p",15),Je()),i&2){let t=ye();ie(2),Ny(h_(3,4,"restart.server_is_taking_long_time_to_restart")),ie(3),Rt(" ",h_(6,6,"restart.label_restart_command_executed"),": "),ie(3),Ny(t.resp().command||"End Process"),ie(),Oe(t.uiOnline()?9:-1);}}var it=(()=>{class i{$api=g(I3);$cache=g(p);$router=g(le);$settings=g(zt);$toastr=g(M0);$translate=g(bf);$ws=g(dr);destroyRef=g(ne);uiOnline=W(false);error=W(false);resp=W({});timeout=W(false);uiIcon=X(()=>this.uiOnline()?"far fa-check-circle":"fas fa-circle-notch fa-spin");serviceIcon=X(()=>this.uiOnline()?"fas fa-circle-notch fa-spin":"far fa-circle");io;statusCheckActive=W(false);ngOnInit(){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",m=>{this.statusCheckActive()&&(this.uiOnline.set(true),(m.status==="ok"||m.status==="pending")&&(this.statusCheckActive.set(false),this.$toastr.success(this.$translate.instant("restart.toast_server_restarted"),this.$translate.instant("toast.title_success")),this.$router.navigate(["/"])));}),this.$router.parseUrl(this.$router.url).queryParams.restarting==="true"?(this.uiOnline.set(true),this.checkIfServerUp()):this.performRestart();}ngOnDestroy(){this.io.end?.(),this.statusCheckActive.set(false);}viewLogs(){this.$router.navigate(["/logs"]);}performRestart(){return E(this,null,function*(){try{let t=yield this.$api.put("/server/restart",{});this.$cache.invalidateAll(),this.resp.set(t),this.checkIfServerUp(),t.restartingUI||this.uiOnline.set(!0);}catch(t){console.error(t),this.error.set(this.$translate.instant("restart.toast_server_restart_error")),this.$toastr.error(this.$translate.instant("restart.toast_server_restart_error"),this.$translate.instant("toast.title_error"));}})}checkIfServerUp(){Ln(7e3).pipe(An(this.destroyRef)).subscribe(()=>{this.statusCheckActive.set(true),this.io.socket.emit("monitor-server-status");}),Ln(4e4).pipe(An(this.destroyRef)).subscribe(()=>{this.$toastr.warning(this.$translate.instant("restart.toast_server_restart_timeout"),this.$translate.instant("toast.title_warning"),{timeOut:1e4}),this.timeout.set(true);});}static \u0275fac=function(d){return new(d||i)};static \u0275cmp=Ja({type:i,selectors:[["app-restart"]],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"],["aria-hidden","true",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"],["aria-hidden","true"],[1,"grey-text","mb-0"],[1,"font-monospace"],[1,"mt-2","mb-0"],["type","button",1,"btn","btn-primary","mb-0",3,"click"]],template:function(d,m){d&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,j,2,1,"div",7)(12,q,14,15),Re(13,V,10,8,"div",8),Je()()),d&2&&(ie(2),Ny(h_(3,4,"menu.restart.title")),ie(7),Ny(h_(10,6,"restart.title_restart")),ie(2),Oe(m.error()?11:12),ie(2),Oe(m.timeout()?13:-1));},dependencies:[K8],styles:[".restart-progress-box[_ngcontent-%COMP%]{font-size:22px;font-weight:300;margin-top:15px}"]})}return i})();export{it as RestartComponent};