import { Component, OnInit } from '@angular/core'
import { DomSanitizer, SafeHtml } from '@angular/platform-browser'
import { GuardsCheckStart, NavigationEnd, Router } from '@angular/router'
-import { AuthService, RedirectService, ServerService } from '@app/core'
+import { AuthService, RedirectService, ServerService, ThemeService } from '@app/core'
import { is18nPath } from '../../../shared/models/i18n'
import { ScreenService } from '@app/shared/misc/screen.service'
import { skip } from 'rxjs/operators'
private domSanitizer: DomSanitizer,
private redirectService: RedirectService,
private screenService: ScreenService,
- private hotkeysService: HotkeysService
+ private hotkeysService: HotkeysService,
+ private themeService: ThemeService
) { }
get serverVersion () {
})
this.hotkeysService.add([
- new Hotkey('/', (event: KeyboardEvent): boolean => {
+ new Hotkey(['/', 's'], (event: KeyboardEvent): boolean => {
document.getElementById('search-video').focus()
- return false // Prevent bubbling
+ return false
}, undefined, 'Focus the search bar'),
- new Hotkey('g+s', (event: KeyboardEvent): boolean => {
- this.router.navigate([ '/videos/subscriptions' ])
+ new Hotkey('b', (event: KeyboardEvent): boolean => {
+ this.toggleMenu()
return false
- }, undefined, 'Go to the subscriptions videos page'),
- new Hotkey('g+o', (event: KeyboardEvent): boolean => {
+ }, undefined, 'Toggle the left menu'),
+ new Hotkey('g o', (event: KeyboardEvent): boolean => {
this.router.navigate([ '/videos/overview' ])
return false
}, undefined, 'Go to the videos overview page'),
- new Hotkey('g+t', (event: KeyboardEvent): boolean => {
+ new Hotkey('g t', (event: KeyboardEvent): boolean => {
this.router.navigate([ '/videos/trending' ])
return false
}, undefined, 'Go to the trending videos page'),
- new Hotkey('g+r', (event: KeyboardEvent): boolean => {
+ new Hotkey('g r', (event: KeyboardEvent): boolean => {
this.router.navigate([ '/videos/recently-added' ])
return false
}, undefined, 'Go to the recently added videos page'),
- new Hotkey('g+l', (event: KeyboardEvent): boolean => {
+ new Hotkey('g l', (event: KeyboardEvent): boolean => {
this.router.navigate([ '/videos/local' ])
return false
}, undefined, 'Go to the local videos page'),
- new Hotkey('g+u', (event: KeyboardEvent): boolean => {
+ new Hotkey('g u', (event: KeyboardEvent): boolean => {
this.router.navigate([ '/videos/upload' ])
return false
- }, undefined, 'Go to the videos upload page')
+ }, undefined, 'Go to the videos upload page'),
+ new Hotkey('shift+t', (event: KeyboardEvent): boolean => {
+ this.themeService.toggleDarkTheme()
+ return false
+ }, undefined, 'Toggle Dark theme')
])
}