import {BrowserModule} from '@angular/platform-browser'; import {APP_INITIALIZER, NgModule} from '@angular/core'; import {MAT_DATE_LOCALE} from '@angular/material'; import {HttpClientModule} from '@angular/common/http'; import {L10nConfig, StorageStrategy, TranslationModule} from 'angular-l10n'; import {AppComponent} from './app.component'; import {initRemoteLocalization, LOCALIZATION_PARAMS, POD_APP_PARAMS, PodRemoteLocalizationConfig} from '@monsantoit/pod-ui-commons-lib'; import {environment} from '../environments/environment'; import {BrowserAnimationsModule} from '@angular/platform-browser/animations'; import {AppRoutingModule} from './app.routing.module'; import {HomeComponent} from './home/home.component'; import {PodCreditConsumptionPageModule} from '../../projects/pod-credit-consumption-page/src/lib/pod-credit-consumption-page.module'; const l10nConfig: L10nConfig = { locale: { storage: StorageStrategy.Disabled }, translation: { caching: true, composedKeySeparator: '*' } }; const localeConfig = localStorage.getItem('_locale') || 'en-US'; @NgModule({ declarations: [ AppComponent, HomeComponent ], imports: [ BrowserModule, BrowserAnimationsModule, PodCreditConsumptionPageModule, HttpClientModule, BrowserAnimationsModule, TranslationModule.forRoot(l10nConfig), AppRoutingModule ], providers: [ PodRemoteLocalizationConfig, { provide: LOCALIZATION_PARAMS, useValue: { url: environment.endPointConfig['pod-translations-url'], apps: ['pod-commons-ui','pod-credit-consumption-ui'], locale: localeConfig }, }, { provide: APP_INITIALIZER, useFactory: initRemoteLocalization, deps: [PodRemoteLocalizationConfig, LOCALIZATION_PARAMS], multi: true }, { provide: POD_APP_PARAMS, useValue: { environment: environment } }, {provide: MAT_DATE_LOCALE, useValue: localeConfig} ], bootstrap: [AppComponent] }) export class AppModule { }