import {NgModule} from '@angular/core';
import {BrowserModule} from '@angular/platform-browser';
import {AppRoutingModule} from './app-routing.module';
import {AppComponent} from './app.component';
import {AdminDashboardComponent} from './module/pages/admin-dashboard/admin-dashboard.component';
import {FormsModule, ReactiveFormsModule} from "@angular/forms";
import {MatFormFieldModule} from '@angular/material/form-field';
import {HTTP_INTERCEPTORS, HttpClientModule} from "@angular/common/http";
import { LoginComponent } from './module/pages/login/login.component';
import { SignupComponent } from './module/pages/signup/signup.component';
import {StationComponent} from "./module/pages/station/station.component";
import {ClientComponent} from "./module/pages/station/client/client.component";
import {SensorComponent} from "./module/pages/station/sensor/sensor.component";
import {HostComponent} from "./module/pages/station/host/host.component";
import {EventEmitterService} from "./shared/event.emitter.service";
import { DashboardComponent } from './module/pages/dashboard/dashboard.component';

import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import {MatIconModule} from "@angular/material/icon";
import {HomeComponent} from "./module/pages/home/home.component";
import {MatSelectModule} from "@angular/material/select";
import {MatDatepickerModule} from '@angular/material/datepicker';
import {MatInputModule} from "@angular/material/input";
import { MatNativeDateModule} from "@angular/material/core";
import { SummaryComponent } from './module/components/summary/summary.component';
import { ZoomComponent } from './module/components/zoom/zoom.component';
import { CompareComponent } from './module/components/compare/compare.component';
import { DataHeaderComponent } from './module/components/header/data-header/data-header.component';
import { ConfigHeaderComponent } from './module/components/header/config-header/config-header.component';
import { ComingSoonComponent } from './module/components/coming-soon/coming-soon.component';
import { CoomingSoonHeaderComponent } from './module/components/cooming-soon-header/cooming-soon-header.component';
import { Lev0Component } from './module/components/lev0/lev0.component';
import { LightChartComponent } from './module/components/charts/light-chart/light-chart.component';
import {Lev0Ver2Component} from "./module/components/lev0Ver2/lev0.component";
import {CjsTimline} from "./module/components/charts/Cjs-timeline/light-chart.component";
import { ProViewComponent } from './module/components/pro-view/pro-view.component';
import {MatAutocompleteModule} from "@angular/material/autocomplete";
import {MatCheckboxModule} from "@angular/material/checkbox";
import {ApiModule} from "../../projects/swagger-client/src";
import { InterceptorService } from './shared/auth/interceptor.service';
import {CjsTimelineMultiple} from "./module/components/charts/Cjs-timeline-multiple/light-chart.component";
import {MatButtonModule} from "@angular/material/button";
import { ThermometerComponent } from './module/components/thermometer/thermometer.component';
import { HomeTailwindcssComponent } from './module/pages/home-tailwindcss/home-tailwindcss.component';
import {isNamespaceImportNode} from "@angular/cdk/schematics";
import {ServerControllerService} from "../../projects/generated-api/src";
import { LoginTailwindcssComponent } from './module/pages/login-tailwindcss/login-tailwindcss.component';
import { Lev0Ver3Component } from './module/components/lev0-ver3/lev0-ver3.component';
import { MobileHomeComponent } from './module/pages/mobile-home/mobile-home.component';
import {FontAwesomeModule} from "@fortawesome/angular-fontawesome";
import { SliderComponent } from './module/components/slider/slider.component';
import {MatSliderModule} from "@angular/material/slider";

@NgModule({
  declarations: [
    AppComponent,
    AdminDashboardComponent,
    LoginComponent,
    SignupComponent,
    StationComponent,
    HostComponent,
    ClientComponent,
    SensorComponent,
    DashboardComponent,
    HomeComponent,
    SummaryComponent,
    ZoomComponent,
    CompareComponent,
    DataHeaderComponent,
    ConfigHeaderComponent,
    ComingSoonComponent,
    CoomingSoonHeaderComponent,
    Lev0Component,
    Lev0Ver2Component,
    CjsTimline,
    LightChartComponent,
    ProViewComponent,
    CjsTimelineMultiple,
    ThermometerComponent,
    HomeTailwindcssComponent,
    LoginTailwindcssComponent,
    Lev0Ver3Component,
    MobileHomeComponent,
    SliderComponent

  ],
    imports: [
        BrowserModule,
        AppRoutingModule,
        ReactiveFormsModule,
        HttpClientModule,
        FormsModule,
        BrowserAnimationsModule,
        MatIconModule,
        MatFormFieldModule,
        MatSelectModule,
        MatDatepickerModule,
        MatInputModule,
        MatNativeDateModule,
        MatAutocompleteModule,
        MatCheckboxModule,
        ApiModule,
        MatButtonModule,
        FontAwesomeModule,
        MatSliderModule,
    ],
  providers: [EventEmitterService,{provide:HTTP_INTERCEPTORS,useClass:InterceptorService,multi:true},ServerControllerService],
  bootstrap: [AppComponent],
})
export class AppModule {
}