import {BrowserModule, Title} from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { AppComponent } from './app.component'; import {AppRoutingModule} from './app-routing.module'; import {HttpClient, HttpClientModule} from '@angular/common/http'; import {VpnStatusComponent} from './views/vpn-status-component/vpn-status.component'; import {BrowserAnimationsModule} from '@angular/platform-browser/animations'; import { MatButtonModule, MatCheckboxModule, MatIconModule, MatListModule, MatSidenavModule, MatToolbarModule } from '@angular/material'; import {MatProgressBarModule} from '@angular/material/progress-bar'; import {MatExpansionModule} from '@angular/material/expansion'; import {MatTableModule} from '@angular/material/table'; import {MatSelectModule} from '@angular/material/select'; import {TranslateLoader, TranslateModule, TranslateService} from '@ngx-translate/core'; import {TranslateHttpLoader} from '@ngx-translate/http-loader'; import {FlexLayoutModule} from '@angular/flex-layout'; import {CgBusyModule} from 'angular-busy2'; import {StatusLedDirective} from './directives/status-led.directive'; import {VpnStatusUpdated, UiStateUpdated, DnsStatusUpdated} from './services/app-state.service'; import {StoreModule} from '@ngrx/store'; import {DnsStatusComponent} from './views/dns-status-component/dns-status.component'; export function HttpLoaderFactory(http: HttpClient) { return new TranslateHttpLoader(http, './assets/languages/'); } @NgModule({ declarations: [ AppComponent, VpnStatusComponent, DnsStatusComponent, StatusLedDirective ], imports: [ BrowserModule, AppRoutingModule, HttpClientModule, BrowserAnimationsModule, MatButtonModule, MatCheckboxModule, MatToolbarModule, MatSidenavModule, MatIconModule, MatListModule, MatProgressBarModule, MatExpansionModule, MatTableModule, MatSelectModule, TranslateModule.forRoot({ loader: { provide: TranslateLoader, useFactory: HttpLoaderFactory, deps: [HttpClient] } }), FlexLayoutModule, CgBusyModule, StoreModule.forRoot({ uiState: UiStateUpdated.uiStateVMReducer, vpnStatus: VpnStatusUpdated.vpnStatusReducer, vpnStatusVM: VpnStatusUpdated.vpnStatusVMReducer, dnsStatus: DnsStatusUpdated.dnsStatusReducer, dnsStatusVM: DnsStatusUpdated.dnsStatusVMReducer, dnsStatusPerServerVM: DnsStatusUpdated.dnsStatusPerServerVMReducer }) ], providers: [Title], bootstrap: [AppComponent] }) export class AppModule { constructor(translate: TranslateService) { // this language will be used as a fallback when a translation isn't found in the current language translate.setDefaultLang('en'); // the lang to use, if the lang isn't available, it will use the current loader to get them translate.use('en'); } }