mirror of https://github.com/Chocobozzz/PeerTube
Fix dropdown on video miniature for unlogged users
parent
941c5eac17
commit
3d216ea0f7
|
@ -18,6 +18,11 @@
|
|||
</p>
|
||||
</div>
|
||||
|
||||
<div class="documentation">
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="privacy-contributors">
|
||||
<my-about-peertube-contributors></my-about-peertube-contributors>
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<div class="dropdown-root" ngbDropdown [placement]="placement">
|
||||
<div class="dropdown-root" ngbDropdown [placement]="placement" *ngIf="areActionsDisplayed(actions, entry)">
|
||||
<div
|
||||
class="action-button" [ngClass]="{ small: buttonSize === 'small', grey: theme === 'grey', orange: theme === 'orange', 'button-styled': buttonStyled }"
|
||||
ngbDropdownToggle role="button"
|
||||
|
|
|
@ -38,7 +38,11 @@ export class ActionDropdownComponent<T> {
|
|||
return [ this.actions ]
|
||||
}
|
||||
|
||||
areActionsDisplayed (actions: DropdownAction<T>[], entry: T) {
|
||||
return actions.some(a => a.isDisplayed === undefined || a.isDisplayed(entry))
|
||||
areActionsDisplayed (actions: Array<DropdownAction<T> | DropdownAction<T>[]>, entry: T): boolean {
|
||||
return actions.some(a => {
|
||||
if (Array.isArray(a)) return this.areActionsDisplayed(a, entry)
|
||||
|
||||
return a.isDisplayed === undefined || a.isDisplayed(entry)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
@ -69,7 +69,7 @@ export class VideoWatchComponent implements OnInit, OnDestroy {
|
|||
likesBarTooltipText = ''
|
||||
hasAlreadyAcceptedPrivacyConcern = false
|
||||
remoteServerDown = false
|
||||
hotkeys: Hotkey[]
|
||||
hotkeys: Hotkey[] = []
|
||||
|
||||
private nextVideoUuid = ''
|
||||
private currentTime: number
|
||||
|
@ -147,7 +147,7 @@ export class VideoWatchComponent implements OnInit, OnDestroy {
|
|||
if (this.queryParamsSub) this.queryParamsSub.unsubscribe()
|
||||
|
||||
// Unbind hotkeys
|
||||
if (this.isUserLoggedIn()) this.hotkeysService.remove(this.hotkeys)
|
||||
this.hotkeysService.remove(this.hotkeys)
|
||||
}
|
||||
|
||||
setLike () {
|
||||
|
@ -650,21 +650,6 @@ export class VideoWatchComponent implements OnInit, OnDestroy {
|
|||
|
||||
private initHotkeys () {
|
||||
this.hotkeys = [
|
||||
new Hotkey('shift+l', () => {
|
||||
this.setLike()
|
||||
return false
|
||||
}, undefined, this.i18n('Like the video')),
|
||||
|
||||
new Hotkey('shift+d', () => {
|
||||
this.setDislike()
|
||||
return false
|
||||
}, undefined, this.i18n('Dislike the video')),
|
||||
|
||||
new Hotkey('shift+s', () => {
|
||||
this.subscribeButton.subscribed ? this.subscribeButton.unsubscribe() : this.subscribeButton.subscribe()
|
||||
return false
|
||||
}, undefined, this.i18n('Subscribe to the account')),
|
||||
|
||||
// These hotkeys are managed by the player
|
||||
new Hotkey('f', e => e, undefined, this.i18n('Enter/exit fullscreen (requires player focus)')),
|
||||
new Hotkey('space', e => e, undefined, this.i18n('Play/Pause the video (requires player focus)')),
|
||||
|
@ -683,6 +668,26 @@ export class VideoWatchComponent implements OnInit, OnDestroy {
|
|||
|
||||
new Hotkey('.', e => e, undefined, this.i18n('Navigate in the video frame by frame (requires player focus)'))
|
||||
]
|
||||
if (this.isUserLoggedIn()) this.hotkeysService.add(this.hotkeys)
|
||||
|
||||
if (this.isUserLoggedIn()) {
|
||||
this.hotkeys = this.hotkeys.concat([
|
||||
new Hotkey('shift+l', () => {
|
||||
this.setLike()
|
||||
return false
|
||||
}, undefined, this.i18n('Like the video')),
|
||||
|
||||
new Hotkey('shift+d', () => {
|
||||
this.setDislike()
|
||||
return false
|
||||
}, undefined, this.i18n('Dislike the video')),
|
||||
|
||||
new Hotkey('shift+s', () => {
|
||||
this.subscribeButton.subscribed ? this.subscribeButton.unsubscribe() : this.subscribeButton.subscribe()
|
||||
return false
|
||||
}, undefined, this.i18n('Subscribe to the account'))
|
||||
])
|
||||
}
|
||||
|
||||
this.hotkeysService.add(this.hotkeys)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue