commit: a9a0c854e1df8fbc682eeb059fc68e8dbdbb5bde
parent: 0c7c188c459117770ac1f74f70a9e65ed2be606f
Author: Sorin Davidoi <sorin.davidoi@gmail.com>
Date: Thu, 13 Jul 2017 22:18:18 +0200
fix(components/media_modal): Style issues (#4187)
Diffstat:
3 files changed, 21 insertions(+), 11 deletions(-)
diff --git a/app/javascript/mastodon/components/extended_video_player.js b/app/javascript/mastodon/components/extended_video_player.js
@@ -5,6 +5,8 @@ export default class ExtendedVideoPlayer extends React.PureComponent {
static propTypes = {
src: PropTypes.string.isRequired,
+ width: PropTypes.number,
+ height: PropTypes.number,
time: PropTypes.number,
controls: PropTypes.bool.isRequired,
muted: PropTypes.bool.isRequired,
@@ -30,7 +32,7 @@ export default class ExtendedVideoPlayer extends React.PureComponent {
render () {
return (
- <div className='extended-video-player'>
+ <div className='extended-video-player' style={{ width: this.props.width, height: this.props.height }}>
<video
ref={this.setRef}
src={this.props.src}
diff --git a/app/javascript/mastodon/features/ui/components/media_modal.js b/app/javascript/mastodon/features/ui/components/media_modal.js
@@ -65,8 +65,6 @@ export default class MediaModal extends ImmutablePureComponent {
const { media, intl, onClose } = this.props;
const index = this.getIndex();
- const attachment = media.get(index);
- const url = attachment.get('url');
let leftNav, rightNav, content;
@@ -77,16 +75,18 @@ export default class MediaModal extends ImmutablePureComponent {
rightNav = <div role='button' tabIndex='0' className='modal-container__nav modal-container__nav--right' onClick={this.handleNextClick}><i className='fa fa-fw fa-chevron-right' /></div>;
}
- if (attachment.get('type') === 'image') {
- content = media.map((image) => {
- const width = image.getIn(['meta', 'original', 'width']) || null;
- const height = image.getIn(['meta', 'original', 'height']) || null;
+ content = media.map((image) => {
+ const width = image.getIn(['meta', 'original', 'width']) || null;
+ const height = image.getIn(['meta', 'original', 'height']) || null;
+ if (image.get('type') === 'image') {
return <ImageLoader previewSrc={image.get('preview_url')} src={image.get('url')} width={width} height={height} key={image.get('preview_url')} />;
- }).toArray();
- } else if (attachment.get('type') === 'gifv') {
- content = <ExtendedVideoPlayer src={url} muted controls={false} />;
- }
+ } else if (image.get('type') === 'gifv') {
+ return <ExtendedVideoPlayer src={image.get('url')} muted controls={false} width={width} height={height} key={image.get('preview_url')} />;
+ }
+
+ return null;
+ }).toArray();
return (
<div className='modal-root__modal media-modal'>
diff --git a/app/javascript/styles/components.scss b/app/javascript/styles/components.scss
@@ -2957,6 +2957,7 @@ button.icon-button.active i.fa-retweet {
max-height: 80vh;
position: relative;
+ .extended-video-player,
img,
canvas,
video {
@@ -2966,6 +2967,13 @@ button.icon-button.active i.fa-retweet {
height: auto;
}
+ .extended-video-player,
+ video {
+ display: flex;
+ width: 80vw;
+ height: 80vh;
+ }
+
img,
canvas {
display: block;