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

import {FreeGuard} from '../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard';

import {PiwikService} from '../openaireLibrary/utils/piwik/piwik.service';
import {TopicComponent} from "./topic.component";
import {TopicRoutingModule} from "./topic-routing.module";
import {ModalModule} from "../openaireLibrary/utils/modal/modal.module";
import {RouterModule} from "@angular/router";
import {FormsModule, ReactiveFormsModule} from "@angular/forms";
import {IndicatorsComponent} from "./indicators.component";
import {AlertModalModule} from "../openaireLibrary/utils/modal/alertModal.module";
import {InputModule} from "../library/sharedComponents/input/input.module";
import {DragDropModule} from "@angular/cdk/drag-drop";

@NgModule({
  imports: [
    CommonModule, TopicRoutingModule, ModalModule, RouterModule, FormsModule, AlertModalModule,
    ReactiveFormsModule, InputModule, DragDropModule
  ],
  declarations: [
    TopicComponent, IndicatorsComponent
  ],
  providers: [
    FreeGuard, PreviousRouteRecorder,
    PiwikService
  ],
  exports: [
    TopicComponent
  ]
})
export class TopicModule {
}
