diff options
author | ThibG <thib@sitedethib.com> | 2019-11-29 17:02:36 +0100 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2019-11-29 17:02:35 +0100 |
commit | a690b3e470ed85cc6f3f8fa7aec57d04b60a4705 (patch) | |
tree | a9f3245c84450de00a543dd3d13bcb4fef47c983 /app/javascript/mastodon/components/status.js | |
parent | 667708f5b00ee8b7795eacd9c20d29f77c8ae602 (diff) |
Add hotkey for opening media files (#12498)
* [WiP] Add hotkey to open media * Give focus to play/pause button when opening video modal
Diffstat (limited to 'app/javascript/mastodon/components/status.js')
-rw-r--r-- | app/javascript/mastodon/components/status.js | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/app/javascript/mastodon/components/status.js b/app/javascript/mastodon/components/status.js index 6cfa96040..3176bda89 100644 --- a/app/javascript/mastodon/components/status.js +++ b/app/javascript/mastodon/components/status.js @@ -214,6 +214,22 @@ class Status extends ImmutablePureComponent { this.props.onOpenVideo(media, startTime); } + handleHotkeyOpenMedia = e => { + const { status, onOpenMedia, onOpenVideo } = this.props; + + e.preventDefault(); + + if (status.get('media_attachments').size > 0) { + if (status.getIn(['media_attachments', 0, 'type']) === 'audio') { + // TODO: toggle play/paused? + } else if (status.getIn(['media_attachments', 0, 'type']) === 'video') { + onOpenVideo(status.getIn(['media_attachments', 0]), 0); + } else { + onOpenMedia(status.get('media_attachments'), 0); + } + } + } + handleHotkeyReply = e => { e.preventDefault(); this.props.onReply(this._properStatus(), this.context.router.history); @@ -293,6 +309,7 @@ class Status extends ImmutablePureComponent { moveDown: this.handleHotkeyMoveDown, toggleHidden: this.handleHotkeyToggleHidden, toggleSensitive: this.handleHotkeyToggleSensitive, + openMedia: this.handleHotkeyOpenMedia, }; if (hidden) { |