import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';

import { RouterModule } from '@angular/router';

import { FlexLayoutModule } from '@angular/flex-layout';

import { MatButtonModule } from '@angular/material/button';
import { MatIconModule } from '@angular/material/icon';
import { MatSidenavModule } from '@angular/material/sidenav';
import { MatTabsModule } from '@angular/material/tabs';
import { MatToolbarModule } from '@angular/material/toolbar';

import { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';

import { UiModule } from '@ucap/ng-ui';

import { COMPONENTS } from './components';
import { DIALOGS } from './dialogs';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { I18nModule, UCAP_I18N_NAMESPACE } from '@ucap/ng-i18n';
import { MatSelectModule } from '@angular/material/select';

@NgModule({
  imports: [
    CommonModule,
    RouterModule,

    FlexLayoutModule,

    MatButtonModule,
    MatIconModule,
    MatSidenavModule,
    MatTabsModule,
    MatToolbarModule,
    MatSelectModule,

    PerfectScrollbarModule,

    I18nModule,
    UiModule
  ],
  exports: [...COMPONENTS, ...DIALOGS],
  declarations: [...COMPONENTS, ...DIALOGS],
  entryComponents: [...DIALOGS],
  providers: [
    {
      provide: UCAP_I18N_NAMESPACE,
      useValue: ['chat', 'common']
    }
  ]
})
export class AppLayoutsModule {}
