import {BrowserModule, HAMMER_GESTURE_CONFIG} from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { environment } from '../environments/environment'; import {BrowserAnimationsModule} from '@angular/platform-browser/animations'; import {HttpClient, HttpClientModule} from '@angular/common/http'; import {TranslateLoader, TranslateModule} from '@ngx-translate/core'; import {TranslateHttpLoader} from '@ngx-translate/http-loader'; import {MobxAngularModule} from 'mobx-angular'; import { ServiceWorkerModule } from '@angular/service-worker'; // modules import { AppRoutingModule } from './app-routing.module'; import {IntegrationsModule} from './integrations/integrations.module'; // components import {HeaderComponent} from './components/header/header.component'; import { AppComponent } from './app.component'; import {LoginComponent} from './pages/login/login.component'; import {SharedModule} from './shared/shared.module'; import {FormComponent} from './pages/form/form.component'; // directives import {NumberOnlyDirective} from './shared/directives/number-only/number-only.directive'; import {AngularWeb3RecentTransactionsService} from 'angular-web3-components'; import {GestureConfig} from '@angular/material/core'; export function createTranslateLoader(http: HttpClient) { return new TranslateHttpLoader(http, './assets/i18n/', '.json'); } @NgModule({ declarations: [ AppComponent, FormComponent, HeaderComponent, NumberOnlyDirective, LoginComponent ], imports: [ BrowserModule, AppRoutingModule, BrowserAnimationsModule, HttpClientModule, IntegrationsModule, SharedModule, TranslateModule.forRoot({ loader: { provide: TranslateLoader, useFactory: (createTranslateLoader), deps: [HttpClient] } }), ServiceWorkerModule.register('ngsw-worker.js', {enabled: environment.production}), ], exports: [ SharedModule ], providers: [{ provide: HAMMER_GESTURE_CONFIG, useClass: GestureConfig }, AngularWeb3RecentTransactionsService], bootstrap: [AppComponent] }) export class AppModule { }