import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {FormsModule} from '@angular/forms';
import {RouterModule} from '@angular/router';

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

import {PiwikService} from '../openaireLibrary/utils/piwik/piwik.service';
import {ErrorMessagesModule} from '../openaireLibrary/utils/errorMessages.module';
import {HelperModule} from "../openaireLibrary/utils/helper/helper.module";
import {Schema2jsonldModule} from "../openaireLibrary/sharedComponents/schema2jsonld/schema2jsonld.module";
import {SEOServiceModule} from "../openaireLibrary/sharedComponents/SEO/SEOService.module";
import {MonitorRoutingModule} from "./monitor-routing.module";
import {MonitorComponent} from "./monitor.component";
import {StatisticsService} from "../utils/services/statistics.service";
import {SideBarModule} from "../library/sharedComponents/sidebar/sideBar.module";
import {ModalModule} from "../openaireLibrary/utils/modal/modal.module";
import {InputModule} from "../library/sharedComponents/input/input.module";

@NgModule({
  imports: [
    CommonModule, FormsModule, RouterModule, ErrorMessagesModule,
    HelperModule, Schema2jsonldModule, SEOServiceModule, MonitorRoutingModule, SideBarModule, ModalModule, InputModule
  ],
  declarations: [
    MonitorComponent
  ],
  providers: [
    FreeGuard, PreviousRouteRecorder,
    PiwikService,
    StatisticsService
  ],
  exports: [
    MonitorComponent
  ]
})
export class MonitorModule {
}
