import { DigiNgFormSelectModule } from '@af/digi-ng/_form/form-select';
import { DigiNgLayoutExpansionPanelModule } from '@af/digi-ng/_layout/layout-expansion-panel';
import { DigiNgLinkButtonModule } from '@af/digi-ng/_link/link-button';
import { DigiNgPopoverModule } from '@af/digi-ng/_popover/popover';
import { CommonModule } from '@angular/common';
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
import { ReactiveFormsModule } from '@angular/forms';
import { RouterModule } from '@angular/router';
import { BackLinkModule } from '@msfa-shared/components/back-link/back-link.module';
import { HandledarePickerFormModule } from '@msfa-shared/components/handledare-picker-form/handledare-picker-form.module';
import { HideTextModule } from '@msfa-shared/components/hide-text/hide-text.module';
import { IconModule } from '@msfa-shared/components/icon/icon.module';
import { LayoutModule } from '@msfa-shared/components/layout/layout.module';
import { UiLoaderModule } from '@ui/loader/loader.module';
import { UiSkeletonModule } from '@ui/skeleton/skeleton.module';
import { DeltagareTabExperiencesComponent } from './components/deltagare-tab-experiences/deltagare-tab-experiences.component';
import { DeltagareTabPersonalInformationComponent } from './components/deltagare-tab-personal-information/deltagare-tab-personal-information.component';
import { ReportsListModule } from './components/deltagare-tab-reports/components/reports-list/reports-list.module';
import { DeltagareTabReportsComponent } from './components/deltagare-tab-reports/deltagare-tab-reports.component';
import { DeltagareTabSensitiveInformationComponent } from './components/deltagare-tab-sensitive-information/deltagare-tab-sensitive-information.component';
import { DeltagareCardComponent } from './deltagare-card.component';
import { DeltagareCardService } from './deltagare-card.service';

@NgModule({
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
  declarations: [
    DeltagareCardComponent,
    DeltagareTabExperiencesComponent,
    DeltagareTabReportsComponent,
    DeltagareTabPersonalInformationComponent,
    DeltagareTabSensitiveInformationComponent,
  ],
  imports: [
    CommonModule,
    RouterModule.forChild([{ path: '', component: DeltagareCardComponent }]),
    ReactiveFormsModule,
    ReportsListModule,
    LayoutModule,
    BackLinkModule,
    HideTextModule,
    UiLoaderModule,
    HandledarePickerFormModule,
    DigiNgLayoutExpansionPanelModule,
    DigiNgPopoverModule,
    DigiNgLinkButtonModule,
    DigiNgFormSelectModule,
    UiSkeletonModule,
    IconModule,
  ],
  providers: [DeltagareCardService],
  exports: [DeltagareCardComponent],
})
export class DeltagareCardModule {}
