import { NgModule } from '@angular/core'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { BrowserModule } from '@angular/platform-browser'; import { OAuthModule } from 'angular-oauth2-oidc'; import { HttpClientModule } from '@angular/common/http'; import { AppComponent } from './app.component'; import { APP_ROUTES } from './app.routes'; import { USER_API_URL, TRAVEL_API_URL } from './app.config'; import { HomeComponent } from './home/home.component'; import { SharedModule } from './shared/shared.module'; import { RouterModule, ExtraOptions } from '@angular/router'; import { useHash } from '../flags'; import { HeaderComponent } from './header/header.component'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { MatTableModule } from '@angular/material/table'; import { MatPaginatorModule } from '@angular/material/paginator'; import { MatSortModule } from '@angular/material/sort'; import { MatInputModule } from '@angular/material/input'; import { MatProgressSpinnerModule } from '@angular/material/progress-spinner'; import { ListComponent } from './list/list.component'; const ROUTING_OPTIONS: ExtraOptions = { // preloadingStrategy: CustomPreloadingStrategy, useHash, initialNavigation: !useHash, }; @NgModule({ imports: [ BrowserModule, RouterModule.forRoot(APP_ROUTES, ROUTING_OPTIONS), FormsModule, ReactiveFormsModule, HttpClientModule, SharedModule.forRoot(), OAuthModule.forRoot({ resourceServer: { allowedUrls: [USER_API_URL, TRAVEL_API_URL], sendAccessToken: true, }, }), BrowserAnimationsModule, MatInputModule, MatTableModule, MatPaginatorModule, MatSortModule, MatProgressSpinnerModule, ], declarations: [ AppComponent, HomeComponent, HeaderComponent, ListComponent, ], providers: [ // (useHash) ? { provide: LocationStrategy, useClass: HashLocationStrategy } : [], // {provide: AuthConfig, useValue: authConfig }, // { provide: OAuthStorage, useValue: localStorage }, // { provide: ValidationHandler, useClass: JwksValidationHandler }, ], bootstrap: [AppComponent], }) export class AppModule {}