import {NgModule} from "@angular/core";
import {ManageStakeholdersComponent} from "./manageStakeholders.component";
import {ManageStakeholdersRoutingModule} from "./manageStakeholders-routing.module";
import {PreviousRouteRecorder} from "../openaireLibrary/utils/piwik/previousRouteRecorder.guard";
import {CommonModule} from "@angular/common";
import {RouterModule} from "@angular/router";
import {InputModule} from "../openaireLibrary/sharedComponents/input/input.module";
import {LoadingModule} from "../openaireLibrary/utils/loading/loading.module";
import {AlertModalModule} from "../openaireLibrary/utils/modal/alertModal.module";
import {ReactiveFormsModule} from "@angular/forms";
import {EditStakeholderModule} from "../general/edit-stakeholder/edit-stakeholder.module";
import {IconsModule} from "../openaireLibrary/utils/icons/icons.module";
import {IconsService} from "../openaireLibrary/utils/icons/icons.service";
import {add, bullet, earth, group, lock, search} from "../openaireLibrary/utils/icons/icons";
import {LoginGuard} from "../openaireLibrary/login/loginGuard.guard";
import {PageContentModule} from "../openaireLibrary/dashboard/sharedComponents/page-content/page-content.module";

@NgModule({
  declarations: [ManageStakeholdersComponent],
  imports: [
    ManageStakeholdersRoutingModule,
    CommonModule,
    RouterModule,
    InputModule,
    LoadingModule,
    AlertModalModule,
    ReactiveFormsModule,
    EditStakeholderModule,
    IconsModule,
    PageContentModule
  ],
  providers: [
    LoginGuard, PreviousRouteRecorder,
  ],
  exports: [ManageStakeholdersComponent]
})
export class ManageStakeholdersModule {
  constructor(private iconsService: IconsService) {
    this.iconsService.registerIcons([bullet, search, earth, group, lock, add]);
  }
}
