angular-t9n
Version:
A translation tool for Angular i18n
48 lines (43 loc) • 1.41 kB
text/typescript
import { Component, HostBinding } from '@angular/core';
import { MatButtonModule } from '@angular/material/button';
import { MatIconModule } from '@angular/material/icon';
import {
MatSnackBar,
MatSnackBarModule,
MatSnackBarRef,
SimpleSnackBar,
} from '@angular/material/snack-bar';
import { MatToolbarModule } from '@angular/material/toolbar';
import { MatTooltipModule } from '@angular/material/tooltip';
import { RouterLink, RouterOutlet } from '@angular/router';
import { WebsocketService } from './core/websocket.service';
({
selector: 't9n-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss'],
imports: [
MatToolbarModule,
MatButtonModule,
RouterLink,
MatIconModule,
MatSnackBarModule,
MatTooltipModule,
RouterOutlet,
],
})
export class AppComponent {
('class.service-down') serviceDown = false;
constructor(websocketService: WebsocketService, snackbar: MatSnackBar) {
let snackbarRef: MatSnackBarRef<SimpleSnackBar>;
websocketService.project.subscribe((p) => {
if (!this.serviceDown && !p) {
snackbarRef = snackbar.open(
`Translation server is not available. Start it by running the command 'ng run yourProject:t9n' in your console.`,
);
} else if (this.serviceDown && p) {
snackbarRef?.dismiss();
}
this.serviceDown = !p;
});
}
}