PeerTube/client/src/app/core/core.module.ts

97 lines
2.7 KiB
TypeScript

import { HotkeyModule } from 'angular2-hotkeys'
import { MessageService } from 'primeng/api'
import { ToastModule } from 'primeng/toast'
import { CommonModule } from '@angular/common'
import { NgModule, Optional, SkipSelf } from '@angular/core'
import { BrowserAnimationsModule } from '@angular/platform-browser/animations'
import { UserNotificationSocket } from '@app/core/notification/user-notification-socket.service'
import { HooksService } from '@app/core/plugins/hooks.service'
import { PluginService } from '@app/core/plugins/plugin.service'
import { UnloggedGuard } from '@app/core/routing/unlogged-guard.service'
import { LoadingBarModule } from '@ngx-loading-bar/core'
import { LoadingBarHttpClientModule } from '@ngx-loading-bar/http-client'
import { LoadingBarRouterModule } from '@ngx-loading-bar/router'
import { AuthService } from './auth'
import { ConfirmService } from './confirm'
import { CheatSheetComponent } from './hotkeys'
import { MenuService } from './menu'
import { throwIfAlreadyLoaded } from './module-import-guard'
import { Notifier } from './notification'
import { HtmlRendererService, LinkifierService, MarkdownService } from './renderer'
import { RestExtractor, RestService } from './rest'
import { LoginGuard, RedirectService, UserRightGuard } from './routing'
import { CanDeactivateGuard } from './routing/can-deactivate-guard.service'
import { ServerConfigResolver } from './routing/server-config-resolver.service'
import { ServerService } from './server'
import { ThemeService } from './theme'
import { UserService } from './users'
import { LocalStorageService, ScreenService, SessionStorageService } from './wrappers'
@NgModule({
imports: [
CommonModule,
BrowserAnimationsModule,
LoadingBarHttpClientModule,
LoadingBarRouterModule,
LoadingBarModule,
ToastModule,
HotkeyModule.forRoot({
cheatSheetCloseEsc: true
})
],
declarations: [
CheatSheetComponent
],
exports: [
LoadingBarHttpClientModule,
LoadingBarModule,
ToastModule,
CheatSheetComponent
],
providers: [
AuthService,
ConfirmService,
ServerService,
ThemeService,
MenuService,
LoginGuard,
UserRightGuard,
UnloggedGuard,
PluginService,
HooksService,
HtmlRendererService,
LinkifierService,
MarkdownService,
RestExtractor,
RestService,
UserService,
ScreenService,
LocalStorageService,
SessionStorageService,
RedirectService,
Notifier,
MessageService,
UserNotificationSocket,
ServerConfigResolver,
CanDeactivateGuard
]
})
export class CoreModule {
constructor (@Optional() @SkipSelf() parentModule: CoreModule) {
throwIfAlreadyLoaded(parentModule, 'CoreModule')
}
}