+ private openAdminModalsIfNeeded (user: User) {
+ if (this.adminWelcomeModal.shouldOpen(user)) {
+ return this.adminWelcomeModal.show()
+ }
+
+ if (!this.instanceConfigWarningModal.shouldOpenByUser(user)) return
+
+ forkJoin([
+ this.serverService.getConfig().pipe(first()),
+ this.instanceService.getAbout().pipe(first())
+ ]).subscribe(([ config, about ]) => {
+ if (this.instanceConfigWarningModal.shouldOpen(config, about)) {
+ this.instanceConfigWarningModal.show(about)
+ }
+ })
+ }
+
+ private openAccountModalsIfNeeded (user: User) {
+ if (this.accountSetupWarningModal.shouldOpen(user)) {
+ this.accountSetupWarningModal.show(user)
+ }
+ }
+
+ private initHotkeys () {
+ this.hotkeysService.add([
+ new Hotkey([ '/', 's' ], (event: KeyboardEvent): boolean => {
+ document.getElementById('search-video').focus()
+ return false
+ }, undefined, $localize`Focus the search bar`),
+
+ new Hotkey('b', (event: KeyboardEvent): boolean => {
+ this.menu.toggleMenu()
+ return false
+ }, undefined, $localize`Toggle the left menu`),
+
+ new Hotkey('g o', (event: KeyboardEvent): boolean => {
+ this.router.navigate([ '/videos/overview' ])
+ return false
+ }, undefined, $localize`Go to the discover videos page`),
+
+ new Hotkey('g t', (event: KeyboardEvent): boolean => {
+ this.router.navigate([ '/videos/trending' ])
+ return false
+ }, undefined, $localize`Go to the trending videos page`),
+
+ new Hotkey('g r', (event: KeyboardEvent): boolean => {
+ this.router.navigate([ '/videos/recently-added' ])
+ return false
+ }, undefined, $localize`Go to the recently added videos page`),
+
+ new Hotkey('g l', (event: KeyboardEvent): boolean => {
+ this.router.navigate([ '/videos/local' ])
+ return false
+ }, undefined, $localize`Go to the local videos page`),
+
+ new Hotkey('g u', (event: KeyboardEvent): boolean => {
+ this.router.navigate([ '/videos/upload' ])
+ return false
+ }, undefined, $localize`Go to the videos upload page`)
+ ])
+ }
+
+ private loadUser () {
+ const tokens = this.userLocalStorage.getTokens()
+ if (!tokens) return
+
+ const user = this.userLocalStorage.getLoggedInUser()
+ if (!user) return