hotkey to toggle dark theme
authorRigel Kent <sendmemail@rigelk.eu>
Tue, 4 Sep 2018 21:14:31 +0000 (23:14 +0200)
committerRigel Kent <par@rigelk.eu>
Tue, 4 Sep 2018 21:24:34 +0000 (23:24 +0200)
client/src/app/menu/menu.component.ts

index 3de4a78aff67ece86da9a413fd2f81be08117fe8..22ddfad0226ab61c0ae035f806fdd6fdff7d812d 100644 (file)
@@ -3,6 +3,7 @@ import { UserRight } from '../../../../shared/models/users/user-right.enum'
 import { AuthService, AuthStatus, RedirectService, ServerService } from '../core'
 import { User } from '../shared/users/user.model'
 import { LanguageChooserComponent } from '@app/menu/language-chooser.component'
+import { Hotkey, HotkeysService } from 'angular2-hotkeys'
 
 @Component({
   selector: 'my-menu',
@@ -15,6 +16,7 @@ export class MenuComponent implements OnInit {
   user: User
   isLoggedIn: boolean
   userHasAdminAccess = false
+  hotkeys: Hotkey[]
 
   private routesPerRight = {
     [UserRight.MANAGE_USERS]: '/admin/users',
@@ -28,7 +30,8 @@ export class MenuComponent implements OnInit {
   constructor (
     private authService: AuthService,
     private serverService: ServerService,
-    private redirectService: RedirectService
+    private redirectService: RedirectService,
+    private hotkeysService: HotkeysService
   ) {}
 
   ngOnInit () {
@@ -60,6 +63,14 @@ export class MenuComponent implements OnInit {
     this.previousTheme['submenuColor'] = 'rgb(32,32,32)'
     this.previousTheme['inputColor'] = 'gray'
     this.previousTheme['inputPlaceholderColor'] = '#fff'
+
+    this.hotkeys = [
+      new Hotkey('T', (event: KeyboardEvent): boolean => {
+        this.toggleDarkTheme()
+        return false
+      }, undefined, 'Toggle Dark theme')
+    ]
+    this.hotkeysService.add(this.hotkeys)
   }
 
   isRegistrationAllowed () {