import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { LoginComponent } from './login/login.component';
import { OverzichtWervenComponent } from './authenticated/overzicht-werven/overzicht-werven.component';
import { GrondwaterstandComponent } from './authenticated/grondwaterstand/grondwaterstand.component';
import { MenuComponent } from './authenticated/menu/menu.component';
import { LogComponent } from './authenticated/admin/log/log.component';
import { DebietComponent } from './authenticated/debiet/debiet.component';
import { StatusComponent } from './authenticated/status/status.component';
import { WerfFormComponent } from './authenticated/admin/werf-form/werf-form.component';
import { GoogleChartsModule } from 'angular-google-charts';
import { NgChartsModule } from 'ng2-charts';
import { WerfFormTwoComponent } from './authenticated/admin/werf-form-two/werf-form-two.component';
import { WerfFormThreeComponent } from './authenticated/admin/werf-form-three/werf-form-three.component';
import { AutoAansturingComponent } from './authenticated/auto-aansturing/auto-aansturing.component';
import { FooterComponent } from './authenticated/footer/footer.component';
import { SidebarComponent } from './authenticated/sidebar/sidebar.component';
import { NotfoundComponent } from './notfound/notfound.component';
import { AuthModule } from '@auth0/auth0-angular';
import { AuthButtonComponent } from './auth-button/auth-button.component';
import { WerfFormFourComponent } from './authenticated/admin/werf-form-four/werf-form-four.component';
import { AuthorizationService } from './authorization.service';
import { AuthHttpInterceptor } from '@auth0/auth0-angular';
import { ProfileComponent } from './authenticated/profile/profile.component';




@NgModule({
  declarations: [
    FooterComponent,
    AppComponent,
    LoginComponent,
    OverzichtWervenComponent,
    GrondwaterstandComponent,
    AutoAansturingComponent,
    MenuComponent,
    LogComponent,
    DebietComponent,
    StatusComponent,
    WerfFormComponent,
    WerfFormTwoComponent,
    WerfFormThreeComponent,
    SidebarComponent,
    NotfoundComponent,
    AuthButtonComponent,
    WerfFormFourComponent,
    ProfileComponent,
  ],
  imports: [
    NgChartsModule,
    GoogleChartsModule,
    BrowserModule,
    AppRoutingModule,
    FormsModule,
    ReactiveFormsModule,
    HttpClientModule,
    AuthModule.forRoot({
      domain: 'dev-cgzmuhwazwckmq2g.us.auth0.com',
      clientId: 'KdHDd85UBRrV5ucaDxagUPadUfVPlZZJ',
      authorizationParams: {
        redirect_uri: "http://localhost:4200/overzicht_werven"
      }
    })
  ],
  providers: [AuthorizationService, {
    provide: HTTP_INTERCEPTORS,
    useClass: AuthHttpInterceptor,
    multi: true,
  },],
  bootstrap: [AppComponent],
})
export class AppModule {}
