import { ToastModule } from 'primeng/toast'; import { OAuthModule, OAuthStorage } from 'angular-oauth2-oidc'; import { environment } from './../environments/environment'; import { HttpClientModule, HttpClient } from '@angular/common/http'; import { BrowserModule } from '@angular/platform-browser'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { NgModule } from '@angular/core'; import { AppRoutingModule } from './app-routing.module'; import { AppComponent } from './app.component'; import { CoreModule } from './core/core.module'; import { FeaturesModule } from './features/features.module'; import { SharedModule } from './shared/shared.module'; import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; import { TranslateHttpLoader } from '@ngx-translate/http-loader'; import { ConfirmationService, MessageService } from 'primeng/api'; import { SearchListStateService } from './shared/back-button/search-list-state.service'; export function HttpLoaderFactory(http: HttpClient): TranslateHttpLoader { return new TranslateHttpLoader(http); } // Settings localStorage as OAuth2 storage. // We need a factory, since localStorage is not available during AOT build time. export function storageFactory(): OAuthStorage { return localStorage; } @NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, BrowserAnimationsModule, AppRoutingModule, CoreModule, FeaturesModule, SharedModule, HttpClientModule, ToastModule, OAuthModule.forRoot({ resourceServer: { allowedUrls: [environment.baseApiUrl], sendAccessToken: true } }), TranslateModule.forRoot({ loader: { provide: TranslateLoader, useFactory: HttpLoaderFactory, deps: [HttpClient] }, defaultLanguage: environment.defaultLanguage, }), ], providers: [ConfirmationService, { provide: OAuthStorage, useFactory: storageFactory }, MessageService, SearchListStateService], bootstrap: [AppComponent] }) export class AppModule { }