import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http'; import { AppComponent } from './app.component'; import { SummaryComponent } from './summary/summary.component'; import { ListOfJumpsComponent } from './list-of-jumps/list-of-jumps.component'; import { ListOfDzsComponent } from './list-of-dzs/list-of-dzs.component'; import { NewJumpComponent } from './new-jump/new-jump.component'; import { ListOfAircraftsComponent } from './list-of-aircrafts/list-of-aircrafts.component'; import { ListOfJumpTypesComponent } from './list-of-jump-types/list-of-jump-types.component'; import { ListOfGearsComponent } from './list-of-gears/list-of-gears.component'; import { NewAircraftComponent } from './new-aircraft/new-aircraft.component'; import { NewGearComponent } from './new-gear/new-gear.component'; import { NewDropZoneComponent } from './new-drop-zone/new-drop-zone.component'; import { NewJumpTypeComponent } from './new-jump-type/new-jump-type.component'; import { DefaultComponent } from './default/default.component'; import { DateService } from '../services/date.service'; import { AircraftService } from '../services/aircraft.service'; import { DropzoneService } from '../services/dropzone.service'; import { GearService } from '../services/gear.service'; import { JumpService } from '../services/jump.service'; import { JumpTypeService } from '../services/jump-type.service'; import { StatsService } from '../services/stats.service'; import { ServiceComm } from '../services/service-comm.service'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { MatAutocompleteModule } from '@angular/material/autocomplete'; import { MatButtonModule } from '@angular/material/button'; import { MatCheckboxModule } from '@angular/material/checkbox'; import { MatOptionModule, MatNativeDateModule } from '@angular/material/core'; import { MatDatepickerModule } from '@angular/material/datepicker'; import { MatFormFieldModule } from '@angular/material/form-field'; import { MatIconModule } from '@angular/material/icon'; import { MatInputModule } from '@angular/material/input'; import { MatPaginatorModule } from '@angular/material/paginator'; import { MatProgressSpinnerModule } from '@angular/material/progress-spinner'; import { MatSelectModule } from '@angular/material/select'; import { MatTableModule } from '@angular/material/table'; import { RequestCache } from '../services/request-cache.service'; import { CachingInterceptor } from '../services/caching-interceptor.service'; const appRoutes: Routes = [ { path: 'summary', component: SummaryComponent }, { path: 'jumps', component: ListOfJumpsComponent }, { path: 'dzs', component: ListOfDzsComponent }, { path: 'newjump', component: NewJumpComponent }, { path: 'aircrafts', component: ListOfAircraftsComponent }, { path: 'jumpTypes', component: ListOfJumpTypesComponent }, { path: 'gears', component: ListOfGearsComponent }, { path: '**', component: DefaultComponent } ]; @NgModule({ declarations: [ AppComponent, SummaryComponent, ListOfJumpsComponent, ListOfDzsComponent, NewJumpComponent, ListOfAircraftsComponent, ListOfJumpTypesComponent, ListOfGearsComponent, NewAircraftComponent, NewGearComponent, NewDropZoneComponent, NewJumpTypeComponent, DefaultComponent ], imports: [ RouterModule.forRoot( appRoutes, { enableTracing: true } // <-- debugging purposes only ), ReactiveFormsModule, FormsModule, BrowserModule, BrowserAnimationsModule, MatPaginatorModule, MatTableModule, MatSelectModule, MatOptionModule, MatFormFieldModule, MatCheckboxModule, MatDatepickerModule, MatNativeDateModule, MatInputModule, MatButtonModule, MatIconModule, MatAutocompleteModule, MatProgressSpinnerModule ], exports: [HttpClientModule], providers: [ AircraftService, DropzoneService, GearService, JumpService, JumpTypeService, StatsService, ServiceComm, DateService, RequestCache, // { provide: HTTP_INTERCEPTORS, useClass: CachingInterceptor, multi: true } ], bootstrap: [AppComponent] }) export class AppModule { }