import { ModalModule } from './../../../../../../libs/ui/src/lib/modal/modal.module';

import { ScrollingModule } from '@angular/cdk/scrolling';
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { RouterModule } from '@angular/router';
import { ButtonModule, CardModule, IconModule, InputModule, LoadingModule, SearchInputModule, DropdownModule } from '@libs/ui';

import { SharedModule } from '../../shared/shared.module';
import {
  ShelfArticleDetailsComponent,
  ShelfOrderItemComponent,
  ShelfCustomerOrderComponent,
  ShelfOrderTagComponent,
  ShelfPartialCollectionModalComponent,
} from './components';
import { ShelfRoutingModule } from './shelf-routing.module';
import { OrderStatusPipe } from '../../pipes/order-status.pipe';
import { OrderLoadingComponent } from './components/order-loading/order-loading.component';
import { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';

import { ShelfSearchResultsModule } from './pages/shelf-search-results/shelf-search-results.module';
import { ShelfSearchModule } from './pages/shelf-search';
import { ShelfHistoryModule } from './pages/shelf-history';

import { ShelfEditOrderFromCustomerModule } from './pages/shelf-edit-order-from-customer';
import { ShelfEditOrderModule } from './pages/shelf-edit-order/shelf-edit-order.module';
import { ShelfEditCompartmentModule } from './pages/shelf-edit-compartment';

@NgModule({
  declarations: [
    ShelfOrderItemComponent,
    ShelfOrderTagComponent,
    ShelfCustomerOrderComponent,
    ShelfArticleDetailsComponent,
    ShelfPartialCollectionModalComponent,
    OrderStatusPipe,
    OrderLoadingComponent,
  ],
  exports: [ShelfOrderTagComponent],
  imports: [
    CommonModule,
    ShelfRoutingModule,
    ShelfSearchModule,
    ShelfHistoryModule,
    ShelfEditOrderModule,
    ShelfEditCompartmentModule,
    ShelfEditOrderFromCustomerModule,
    FormsModule,
    ReactiveFormsModule,
    RouterModule,
    SharedModule,
    ScrollingModule,
    PerfectScrollbarModule,
    CardModule,
    DropdownModule,
    SearchInputModule,
    InputModule,
    ModalModule,
    IconModule,
    LoadingModule,
    ButtonModule,
    ShelfSearchResultsModule,
  ],
})
export class ShelfModule {}
