import { PluginClientScope } from '@shared/models/plugins/plugin-client-scope.type'
import { RegisterClientHookOptions } from '@shared/models/plugins/register-client-hook.model'
import { HttpClient } from '@angular/common/http'
+import { AuthService, Notifier } from '@app/core'
import { RestExtractor } from '@app/shared/rest'
import { PluginType } from '@shared/models/plugins/plugin.type'
import { PublicServerSetting } from '@shared/models/plugins/public-server.setting'
pluginsLoaded: { [ scope in PluginClientScope ]: ReplaySubject<boolean> } = {
common: new ReplaySubject<boolean>(1),
search: new ReplaySubject<boolean>(1),
- 'video-watch': new ReplaySubject<boolean>(1)
+ 'video-watch': new ReplaySubject<boolean>(1),
+ signup: new ReplaySubject<boolean>(1)
}
translationsObservable: Observable<PluginTranslation>
constructor (
private router: Router,
+ private authService: AuthService,
+ private notifier: Notifier,
private server: ServerService,
private zone: NgZone,
private authHttp: HttpClient,
}
initializePlugins () {
- this.server.configLoaded
- .subscribe(() => {
- this.plugins = this.server.getConfig().plugin.registered
+ this.server.getConfig()
+ .subscribe(config => {
+ this.plugins = config.plugin.registered
this.buildScopeStruct()
.toPromise()
},
+ isLoggedIn: () => {
+ return this.authService.isLoggedIn()
+ },
+
+ notifier: this.notifier,
+
translate: (value: string) => {
return this.translationsObservable
.pipe(map(allTranslations => allTranslations[npmName]))