import { AuthService, RedirectService, ServerService, ThemeService } from '@app/core'
import { is18nPath } from '../../../shared/models/i18n'
import { ScreenService } from '@app/shared/misc/screen.service'
-import { debounceTime, filter, map, pairwise, skip, switchMap } from 'rxjs/operators'
+import { debounceTime, filter, first, map, pairwise, skip, switchMap } from 'rxjs/operators'
import { Hotkey, HotkeysService } from 'angular2-hotkeys'
import { I18n } from '@ngx-translate/i18n-polyfill'
import { fromEvent } from 'rxjs'
private modalService: NgbModal
) { }
- get serverVersion () {
- return this.serverService.getConfig().serverVersion
- }
-
- get serverCommit () {
- const commit = this.serverService.getConfig().serverCommit || ''
- return (commit !== '') ? '...' + commit : commit
- }
-
get instanceName () {
return this.serverService.getConfig().instance.name
}
ngOnInit () {
document.getElementById('incompatible-browser').className += ' browser-ok'
+ this.loadPlugins()
+ this.themeService.initialize()
+
this.authService.loadClientCredentials()
if (this.isUserLoggedIn()) {
this.serverService.loadVideoPrivacies()
this.serverService.loadVideoPlaylistPrivacies()
- this.loadPlugins()
- this.themeService.initialize()
-
// Do not display menu on small screens
if (this.screenService.isInSmallView()) {
this.isMenuDisplayed = false
this.isMenuDisplayed = window.innerWidth >= 800 && !this.isMenuChangedByUser
}
+ getServerVersionAndCommit () {
+ return this.serverService.getServerVersionAndCommit()
+ }
+
private initRouteEvents () {
let resetScroll = true
const eventsObs = this.router.events
private async openModalsIfNeeded () {
this.serverService.configLoaded
.pipe(
+ first(),
switchMap(() => this.authService.userInformationLoaded),
map(() => this.authService.getUser()),
filter(user => user.role === UserRole.ADMINISTRATOR)