1
0
Fork 0

update hotkeys to include user-specific routes

also fix left-menu width
This commit is contained in:
Rigel Kent 2018-09-08 17:54:38 +02:00
parent 7aba23d13f
commit c13e2bf340
No known key found for this signature in database
GPG Key ID: EA12971B0E438F36
4 changed files with 32 additions and 7 deletions

View File

@ -133,10 +133,6 @@ export class AppComponent implements OnInit {
this.toggleMenu()
return false
}, undefined, 'Toggle the left menu'),
new Hotkey('g s', (event: KeyboardEvent): boolean => {
this.router.navigate([ '/videos/subscriptions' ])
return false
}, undefined, 'Go to the subscriptions videos page'),
new Hotkey('g o', (event: KeyboardEvent): boolean => {
this.router.navigate([ '/videos/overview' ])
return false

View File

@ -14,6 +14,7 @@ import { AuthUser } from './auth-user.model'
import { objectToUrlEncoded } from '@app/shared/misc/utils'
import { peertubeLocalStorage } from '@app/shared/misc/peertube-local-storage'
import { I18n } from '@ngx-translate/i18n-polyfill'
import { HotkeysService, Hotkey } from 'angular2-hotkeys'
interface UserLoginWithUsername extends UserLogin {
access_token: string
@ -36,6 +37,7 @@ export class AuthService {
loginChangedSource: Observable<AuthStatus>
userInformationLoaded = new ReplaySubject<boolean>(1)
hotkeys: Hotkey[]
private clientId: string = peertubeLocalStorage.getItem(AuthService.LOCAL_STORAGE_OAUTH_CLIENT_KEYS.CLIENT_ID)
private clientSecret: string = peertubeLocalStorage.getItem(AuthService.LOCAL_STORAGE_OAUTH_CLIENT_KEYS.CLIENT_SECRET)
@ -46,6 +48,7 @@ export class AuthService {
constructor (
private http: HttpClient,
private notificationsService: NotificationsService,
private hotkeysService: HotkeysService,
private restExtractor: RestExtractor,
private router: Router,
private i18n: I18n
@ -55,6 +58,26 @@ export class AuthService {
// Return null if there is nothing to load
this.user = AuthUser.load()
// Set HotKeys
this.hotkeys = [
new Hotkey('m s', (event: KeyboardEvent): boolean => {
this.router.navigate([ '/videos/subscriptions' ])
return false
}, undefined, 'Go to my subscriptions'),
new Hotkey('m v', (event: KeyboardEvent): boolean => {
this.router.navigate([ '/my-account/videos' ])
return false
}, undefined, 'Go to my videos'),
new Hotkey('m i', (event: KeyboardEvent): boolean => {
this.router.navigate([ '/my-account/video-imports' ])
return false
}, undefined, 'Go to my imports'),
new Hotkey('m c', (event: KeyboardEvent): boolean => {
this.router.navigate([ '/my-account/video-channels' ])
return false
}, undefined, 'Go to my channels')
]
}
loadClientCredentials () {
@ -152,6 +175,8 @@ export class AuthService {
AuthUser.flush()
this.setStatus(AuthStatus.LoggedOut)
this.hotkeysService.remove(this.hotkeys)
}
refreshAccessToken () {
@ -231,6 +256,8 @@ export class AuthService {
this.setStatus(AuthStatus.LoggedIn)
this.userInformationLoaded.next(true)
this.hotkeysService.add(this.hotkeys)
}
private handleRefreshToken (obj: UserRefreshToken) {

View File

@ -28,6 +28,7 @@ menu {
.top-menu {
flex-grow: 1;
width: $menu-width;
}
.logged-in-block {
@ -193,6 +194,7 @@ menu {
padding-bottom: 15px;
padding-left: $menu-lateral-padding;
padding-right: $menu-lateral-padding;
width: $menu-width;
.language, .color-palette {
display: inline-block;
@ -238,7 +240,7 @@ menu {
width: 100% !important;
}
.top-menu {
width: 100%;
.top-menu, .footer {
width: 100% !important;
}
}

View File

@ -26,7 +26,7 @@ p-table {
}
tr {
background-color: #fff !important;
background-color: var(--mainBackgroundColor) !important;
height: 46px;
}