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

import { CheckoutReviewComponent } from './checkout-review.component';
import { PageCheckoutPipeModule } from '../pipes/page-checkout-pipe.module';
import { ProductImageModule } from '@cdn/product-image';
import { RouterModule } from '@angular/router';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { UiSpinnerModule } from '@ui/spinner';
import { UiFormControlModule } from '@ui/form-control';
import { UiInputModule } from '@ui/input';
import { UiCheckboxModule } from '@ui/checkbox';
import { SpecialCommentComponent } from './special-comment/special-comment.component';
import { UiQuantityDropdownModule } from '@ui/quantity-dropdown';
import { SharedNotificationChannelControlModule } from '@shared/components/notification-channel-control';
import { UiCommonModule } from '@ui/common';
import { ShoppingCartItemComponent } from './shopping-cart-item/shopping-cart-item.component';
import { CheckoutReviewDetailsComponent } from './details/checkout-review-details.component';
import { CheckoutReviewStore } from './checkout-review.store';
import { IconModule } from '@shared/components/icon';
import { TextFieldModule } from '@angular/cdk/text-field';
import {
  LoaderComponent,
  SkeletonLoaderComponent,
} from '@shared/components/loader';
import { RewardSelectionTriggerComponent } from '@isa/checkout/shared/reward-selection-dialog';

@NgModule({
  imports: [
    CommonModule,
    UiCommonModule,
    RouterModule,
    PageCheckoutPipeModule,
    IconModule,
    UiQuantityDropdownModule,
    ProductImageModule,
    FormsModule,
    ReactiveFormsModule,
    UiSpinnerModule,
    UiFormControlModule,
    UiInputModule,
    UiCheckboxModule,
    SharedNotificationChannelControlModule,
    TextFieldModule,
    LoaderComponent,
    SkeletonLoaderComponent,
    RewardSelectionTriggerComponent,
  ],
  exports: [CheckoutReviewComponent, CheckoutReviewDetailsComponent],
  declarations: [
    CheckoutReviewComponent,
    SpecialCommentComponent,
    ShoppingCartItemComponent,
    CheckoutReviewDetailsComponent,
  ],
  providers: [CheckoutReviewStore],
})
export class CheckoutReviewModule {}
