import { ChartModule } from 'primeng/chart'
import { TableModule } from 'primeng/table'
import { NgModule } from '@angular/core'
import { SharedAbuseListModule } from '@app/shared/shared-abuse-list'
import { SharedActorImageEditModule } from '@app/shared/shared-actor-image-edit'
import { SharedActorImageModule } from '@app/shared/shared-actor-image/shared-actor-image.module'
import { SharedCustomMarkupModule } from '@app/shared/shared-custom-markup'
import { SharedFormModule } from '@app/shared/shared-forms'
import { SharedGlobalIconModule } from '@app/shared/shared-icons'
import { SharedMainModule } from '@app/shared/shared-main'
import { SharedModerationModule } from '@app/shared/shared-moderation'
import { SharedTablesModule } from '@app/shared/shared-tables'
import { SharedUsersModule } from '@app/shared/shared-users'
import { SharedVideoCommentModule } from '@app/shared/shared-video-comment'
import { SharedVideoMiniatureModule } from '@app/shared/shared-video-miniature'
import { AdminRoutingModule } from './admin-routing.module'
import { AdminComponent } from './admin.component'
import {
EditAdvancedConfigurationComponent,
EditBasicConfigurationComponent,
EditConfigurationService,
EditCustomConfigComponent,
EditHomepageComponent,
EditInstanceInformationComponent,
EditLiveConfigurationComponent,
EditVODTranscodingComponent
} from './config'
import { ConfigService } from './config/shared/config.service'
import { FollowersListComponent, FollowModalComponent, VideoRedundanciesListComponent } from './follows'
import { FollowingListComponent } from './follows/following-list/following-list.component'
import { RedundancyCheckboxComponent } from './follows/shared/redundancy-checkbox.component'
import { VideoRedundancyInformationComponent } from './follows/video-redundancies-list/video-redundancy-information.component'
import {
AbuseListComponent,
AdminRegistrationService,
ProcessRegistrationModalComponent,
RegistrationListComponent,
VideoBlockListComponent
} from './moderation'
import { InstanceAccountBlocklistComponent, InstanceServerBlocklistComponent } from './moderation/instance-blocklist'
import {
UserCreateComponent,
UserListComponent,
UserPasswordComponent,
UserUpdateComponent,
VideoAdminService,
VideoCommentListComponent,
VideoListComponent
} from './overview'
import {
PluginApiService,
PluginCardComponent,
PluginListInstalledComponent,
PluginNavigationComponent,
PluginSearchComponent,
PluginShowInstalledComponent
} from './plugins'
import { SharedAdminModule } from './shared'
import {
JobService,
LogsComponent,
LogsService,
RunnerJobListComponent,
RunnerListComponent,
RunnerRegistrationTokenListComponent,
RunnerService
} from './system'
import { DebugComponent, DebugService } from './system/debug'
import { JobsComponent } from './system/jobs'
@NgModule({
imports: [
AdminRoutingModule,
SharedMainModule,
SharedFormModule,
SharedModerationModule,
SharedGlobalIconModule,
SharedAbuseListModule,
SharedVideoCommentModule,
SharedActorImageModule,
SharedActorImageEditModule,
SharedCustomMarkupModule,
SharedVideoMiniatureModule,
SharedTablesModule,
SharedUsersModule,
SharedAdminModule,
TableModule,
ChartModule
],
declarations: [
AdminComponent,
VideoListComponent,
FollowersListComponent,
FollowingListComponent,
FollowModalComponent,
RedundancyCheckboxComponent,
VideoRedundanciesListComponent,
VideoRedundancyInformationComponent,
UserCreateComponent,
UserUpdateComponent,
UserPasswordComponent,
UserListComponent,
VideoBlockListComponent,
AbuseListComponent,
VideoCommentListComponent,
InstanceServerBlocklistComponent,
InstanceAccountBlocklistComponent,
PluginListInstalledComponent,
PluginSearchComponent,
PluginShowInstalledComponent,
PluginCardComponent,
PluginNavigationComponent,
JobsComponent,
LogsComponent,
DebugComponent,
EditCustomConfigComponent,
EditBasicConfigurationComponent,
EditVODTranscodingComponent,
EditLiveConfigurationComponent,
EditAdvancedConfigurationComponent,
EditInstanceInformationComponent,
EditHomepageComponent,
RegistrationListComponent,
ProcessRegistrationModalComponent,
RunnerRegistrationTokenListComponent,
RunnerListComponent,
RunnerJobListComponent
],
exports: [
AdminComponent
],
providers: [
JobService,
LogsService,
DebugService,
ConfigService,
PluginApiService,
EditConfigurationService,
VideoAdminService,
AdminRegistrationService,
RunnerService
]
})
export class AdminModule { }