import { NgModule, Component } from '@angular/core';
import { CommonModule } from '@angular/common';
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';

import { ToastrModule } from 'ngx-toastr';
import { AppRoutingModule } from './app-routing.module';
// import { RouterModule } from '@angular/router';
import { AppComponent } from './app.component';

// import { LayoutComponent } from './content/content/layout/layout.component';
import { SidebarContentComponent } from './content/sidebar-content/sidebar-content.component';
import { SidebarComponent } from './component/sidebar/sidebar.component';
// import { ReactiveFormsModule } from '@angular/forms';
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
import { LicensePrivacyTermsComponent } from './component/license-privacy-terms/license-privacy-terms.component';
import { TokenTimerComponent } from './component/token-timer/token-timer.component';
// import { MainDashboardContentComponent } from './content/main-dashboard-content/main-dashboard-content.component';
// import { MainDashboardComponent } from './component/main-dashboard/main-dashboard.component';
// import { LoginForgotComponent } from './component/login-forgot/login-forgot.component';
// import { LoginPageComponent } from './component/login-page/login-page.component';
// import { LoginContentComponent } from './content/login-content/login-content.component';


import { provideCharts, withDefaultRegisterables } from 'ng2-charts';
import { CachingInterceptor } from './services/caching.interceptor';
import { MainProject } from './component/main-project/main-project';
import { MainProjectContent } from './content/main-project-content/main-project-content';
import { MainProjectAdd } from './component/main-project-add/main-project-add';
import { BudgetAprovalContent } from './content/budget-aproval-content/budget-aproval-content';
// import { BudgetAproval } from './component/budget-aproval/budget-aproval';
// import { AccDateFormatPipe } from './pipe/dtmtodatetime.pipe';
// import { DtmtodatetimePipe } from './dtmtodatetime.pipe';

@NgModule({
  declarations: [
    AppComponent,
    // LayoutComponent,
    SidebarContentComponent,
    SidebarComponent,
    LicensePrivacyTermsComponent,
    TokenTimerComponent,
    // BudgetAprovalContent
    // MainProjectAdd,
    // MainProject,
    // MainProjectContent,
    // BudgetAproval,
    // AccDateFormatPipe
    // DtmtodatetimePipe,
    // MainDashboardContentComponent,
    // MainDashboardComponent,
    // LoginForgotComponent,
    // LoginPageComponent,
    // LoginPageComponentComponent,
  ],
  imports: [
    BrowserModule,
    CommonModule,
    ToastrModule.forRoot({
      positionClass:'toast-top-right',
      preventDuplicates: true,
      maxOpened: 3,
      autoDismiss: true
    }),
    // ReactiveFormsModule,
    BrowserAnimationsModule,
    AppRoutingModule,
    HttpClientModule,
    FontAwesomeModule
  ],
  exports: [
    // AccDateFormatPipe
  ],
  providers: [
    provideCharts(withDefaultRegisterables()),
    { provide: HTTP_INTERCEPTORS, useClass: CachingInterceptor, multi: true }
  ],
  bootstrap: [AppComponent]
})
export class AppModule { }
