import { NgModule } from '@angular/core'; import { BrowserModule, DomSanitizer } from '@angular/platform-browser'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { AppRoutingModule } from './app-routing.module'; import { AppComponent } from './app.component'; import { LoginComponent } from './components/loginPage/login.component'; import { DashboardComponent } from './components/dashboard/dashboard.component'; import { MeterDataListComponent } from './components/subcomponents/meter-data-list/meter-data-list.component'; import { ConsumptionLastYearComponent } from './components/subcomponents/consumption-last-year/consumption-last-year.component'; import { MeterDataWrapperComponent } from './components/subcomponents/meter-data-wrapper/meter-data-wrapper.component'; import { HeaderComponent } from './components/header/header.component'; import { LoaderComponent } from './components/loader/loader.component'; import { MeterDataAddDialogComponent } from './dialogs/meter-data-add-dialog/meter-data-add-dialog.component'; import { SnackbarComponent } from './components/snackbar/snackbar.component'; import { AuthInterceptor } from './auth/authInterceptor'; import { MatCardModule } from '@angular/material/card'; import { MatFormFieldModule } from '@angular/material/form-field'; import { MatInputModule } from '@angular/material/input'; import { MatSelectModule } from '@angular/material/select'; import { MatTableModule } from '@angular/material/table'; import { MatProgressBarModule } from '@angular/material/progress-bar'; import { MatToolbarModule } from '@angular/material/toolbar'; import { MatSidenavModule } from '@angular/material/sidenav'; import { MatIconModule, MatIconRegistry } from '@angular/material/icon'; import { MatListModule } from '@angular/material/list'; import { MatGridListModule } from '@angular/material/grid-list'; import { MatDialogModule } from '@angular/material/dialog'; import { MatButtonModule } from '@angular/material/button'; import { MatDatepickerModule } from '@angular/material/datepicker'; import { MatNativeDateModule } from '@angular/material/core'; import { MatSnackBarModule } from '@angular/material/snack-bar'; @NgModule({ declarations: [ AppComponent, LoginComponent, DashboardComponent, LoaderComponent, HeaderComponent, MeterDataListComponent, ConsumptionLastYearComponent, MeterDataWrapperComponent, MeterDataAddDialogComponent, SnackbarComponent, ], imports: [ BrowserModule, AppRoutingModule, HttpClientModule, FormsModule, BrowserAnimationsModule, MatCardModule, MatFormFieldModule, MatInputModule, MatSelectModule, MatTableModule, MatProgressBarModule, MatToolbarModule, MatSidenavModule, MatIconModule, MatListModule, MatGridListModule, MatDialogModule, MatButtonModule, ReactiveFormsModule, MatDatepickerModule, MatNativeDateModule, MatSnackBarModule, ], providers: [ MatDatepickerModule, { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true, }, ], bootstrap: [AppComponent], }) export class AppModule { constructor(matIconRegistry: MatIconRegistry, domSanitizer: DomSanitizer) { matIconRegistry.addSvgIconSet( domSanitizer.bypassSecurityTrustResourceUrl('./assets/mdi.svg') ); } }