travopti/frontend/src/app/app.module.ts
2020-06-22 23:57:01 +02:00

112 lines
3.8 KiB
TypeScript

import {BrowserModule} from '@angular/platform-browser';
import {NgModule} from '@angular/core';
import {AppRoutingModule} from './app-routing.module';
import {AppComponent} from './app.component';
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
import {MatToolbarModule} from '@angular/material/toolbar';
import {MatIconModule} from '@angular/material/icon';
import {MatButtonModule} from '@angular/material/button';
import {MatSidenavModule} from '@angular/material/sidenav';
import {HomeComponent} from './containers/home/home.component';
import {MatCardModule} from '@angular/material/card';
import {MatFormFieldModule} from '@angular/material/form-field';
import {MatInputModule} from '@angular/material/input';
import {MatSelectModule} from '@angular/material/select';
import {NotfoundComponent} from './containers/notfound/notfound.component';
import {SearchComponent} from './containers/search/search.component';
import {SearchInputComponent} from './components/search-input/search-input.component';
import {MatProgressSpinnerModule} from '@angular/material/progress-spinner';
import {TranslateModule, TranslateService} from '@ngx-translate/core';
// @ts-ignore
import * as enLang from '../assets/i18n/en.json';
import {HttpClientModule} from '@angular/common/http';
import {
MatBadgeModule,
MatButtonToggleModule,
MatCheckboxModule,
MatDialogModule,
MatDividerModule,
MatRadioModule,
MatStepperModule,
MatTabsModule,
MatTooltipModule
} from '@angular/material';
import {FormsModule} from '@angular/forms';
import {RegionComponent} from './components/region/region.component';
import {ResultComponent} from './components/result/result.component';
import {RegionDetailsComponent} from './containers/region-details/region-details.component';
import {GraphComponent} from './components/graph/graph.component';
import {RegionStatsComponent} from './components/region-stats/region-stats.component';
import {BookmarkButtonComponent} from './components/bookmark-button/bookmark-button.component';
import {BookmarkListComponent} from './containers/bookmark-list/bookmark-list.component';
import {ShareButtonComponent} from './components/share-button/share-button.component';
import {ShareDialogComponent} from './dialogs/share-dialog/share-dialog.component';
import {TeamComponent} from './containers/team/team.component';
import {DeviceDetectorModule} from 'ngx-device-detector';
@NgModule({
declarations: [
AppComponent,
HomeComponent,
NotfoundComponent,
SearchComponent,
SearchInputComponent,
RegionComponent,
ResultComponent,
RegionDetailsComponent,
GraphComponent,
RegionStatsComponent,
BookmarkButtonComponent,
BookmarkListComponent,
ShareButtonComponent,
ShareDialogComponent,
TeamComponent
],
imports: [
BrowserModule,
AppRoutingModule,
BrowserAnimationsModule,
MatToolbarModule,
MatIconModule,
MatButtonModule,
MatSidenavModule,
MatCardModule,
MatFormFieldModule,
MatInputModule,
MatSelectModule,
MatProgressSpinnerModule,
TranslateModule.forRoot(),
HttpClientModule,
MatCheckboxModule,
FormsModule,
MatButtonToggleModule,
MatDividerModule,
MatTooltipModule,
MatDialogModule,
DeviceDetectorModule,
MatTabsModule,
MatBadgeModule,
MatStepperModule,
MatRadioModule
],
providers: [],
bootstrap: [AppComponent],
entryComponents: [
ShareDialogComponent
]
})
export class AppModule {
constructor(translate: TranslateService) {
// tslint:disable-next-line:no-string-literal
translate.setTranslation('en', enLang['default']);
// 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');
}
}