import zh from "@angular/common/locales/zh";

import { BrowserModule } from '@angular/platform-browser';
import { NgModule, ErrorHandler } from '@angular/core';

import {MyErrorHandler} from './MyError';

import { AppComponent } from "./app.component";
import { NgZorroAntdModule, NZ_I18N, zh_CN } from "ng-zorro-antd";
import { FormsModule } from "@angular/forms";
import { HttpClientModule } from "@angular/common/http";
import { BrowserAnimationsModule } from "@angular/platform-browser/animations";
import { registerLocaleData } from "@angular/common";
import { FormComponent } from "./form/form.component";
import { PlayComponent } from "./play/play.component";
import { LessonTitleConfigComponent } from "./common/lesson-title-config/lesson-title-config.component";
import { BackgroundImagePipe } from "./pipes/background-image.pipe";
import { UploadImageWithPreviewComponent } from "./common/upload-image-with-preview/upload-image-with-preview.component";
import { PlayerContentWrapperComponent } from "./common/player-content-wrapper/player-content-wrapper.component";
import { CustomHotZoneComponent } from "./common/custom-hot-zone/custom-hot-zone.component";
import { UploadVideoComponent } from "./common/upload-video/upload-video.component";
import { UploadDragonBonesComponent } from "./common/upload-dragon-bones/upload-dragon-bones.component";


import {TimePipe} from './pipes/time.pipe';
import {ResourcePipe} from './pipes/resource.pipe';
import {AudioRecorderComponent} from './common/audio-recorder/audio-recorder.component';
import { FontAwesomeModule, FaIconLibrary } from '@fortawesome/angular-fontawesome';
import { fas } from '@fortawesome/free-solid-svg-icons';
import { far } from '@fortawesome/free-regular-svg-icons';

registerLocaleData(zh);

@NgModule({
  declarations: [
    AppComponent,
    FormComponent,
    PlayComponent,
    LessonTitleConfigComponent,
    AudioRecorderComponent,
    UploadImageWithPreviewComponent,
    BackgroundImagePipe,
    ResourcePipe,
    TimePipe,
    UploadVideoComponent,
    CustomHotZoneComponent,
    UploadDragonBonesComponent,
    PlayerContentWrapperComponent

  ],
  imports: [
    BrowserModule,
    NgZorroAntdModule,
    FormsModule,
    HttpClientModule,
    BrowserAnimationsModule,
    FontAwesomeModule
  ],
  providers: [
    {provide: ErrorHandler, useClass: MyErrorHandler},
    { provide: NZ_I18N, useValue: zh_CN }
  ],
  bootstrap: [AppComponent]
})
export class AppModule {
  constructor(library: FaIconLibrary) {
    library.addIconPacks(fas, far);
  }
}