import { BrowserAnimationsModule } from "@angular/platform-browser/animations";
import { NgModule } from "@angular/core";
import { RouterModule } from "@angular/router";
import { CommonModule } from "@angular/common";
import { FormsModule, ReactiveFormsModule } from "@angular/forms";
import { AngularMyDatePickerModule } from "angular-mydatepicker";

import { AdminLayoutRoutes } from "./admin.routing";
import { DashboardComponent } from "../../components/dashboard/dashboard.component";
import { ProfileComponent } from "../../components/profile/profile.component";

import { PluginsModule } from "../../components/plugins/plugins.module";

import { MatTableExporterModule } from "mat-table-exporter";
import {
  MatButtonModule,
  MatInputModule,
  MatRippleModule,
  MatFormFieldModule,
  MatTooltipModule,
  MatSelectModule,
  MatExpansionModule,
  MatTableModule,
  MatPaginatorModule,
  MatProgressSpinnerModule,
  MatSortModule
} from "@angular/material";
import { MatPasswordStrengthModule } from "@angular-material-extensions/password-strength";
import { BreadcrumbModule, IconsModule } from "angular-bootstrap-md";
import { TermsComponent } from "@app/components/terms/terms.component";
import { InvestmentProposalsComponent } from "@app/components/investment-proposals/investment-proposals.component";
import { InvestmentsComponent } from "@app/components/investments/investments.component";
import { ArbitrationsComponent } from "@app/components/arbitrations/arbitrations.component";
import { PerformancesComponent } from "@app/components/performances/performances.component";

import { UsersComponent } from "@app/components/users/users.component";
import { NewUserComponent } from "@app/components/users/new-user/new-user.component";

@NgModule({
  imports: [
    CommonModule,
    RouterModule.forChild(AdminLayoutRoutes),
    FormsModule,
    ReactiveFormsModule,
    MatButtonModule,
    MatRippleModule,
    MatFormFieldModule,
    MatInputModule,
    MatSelectModule,
    MatTooltipModule,
    MatExpansionModule,
    MatTableModule,
    MatPaginatorModule,
    MatProgressSpinnerModule,
    MatSortModule,
    MatTableExporterModule,
    PluginsModule,
    AngularMyDatePickerModule,
    MatPasswordStrengthModule
  ],
  declarations: [
    DashboardComponent,
    ProfileComponent,
    TermsComponent,
    InvestmentProposalsComponent,
    InvestmentsComponent,
    ArbitrationsComponent,
    PerformancesComponent,
    UsersComponent,
    NewUserComponent
  ]
})
export class AdminModule {}
