diff options
author | Yuto Tokunaga <yuntan.sub1@gmail.com> | 2018-03-12 11:52:05 +0900 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2018-03-12 03:52:05 +0100 |
commit | fa5c867e0ec426fc01653e9022ba29783b2a826f (patch) | |
tree | fa93c68e68496df73d76d54b016e78a8c126cda3 /app/javascript | |
parent | 641abe2db7ac482dceffc8307af411e01c540951 (diff) |
Avoid using JS to set height in MediaModal (#6750)
avoid using JS to set height of ReactSwipeableViews component reduce max-height of <img/> to 80% to avoid the screen covered by image
Diffstat (limited to 'app/javascript')
-rw-r--r-- | app/javascript/mastodon/features/ui/components/media_modal.js | 35 | ||||
-rw-r--r-- | app/javascript/styles/mastodon/components.scss | 13 |
2 files changed, 24 insertions, 24 deletions
diff --git a/app/javascript/mastodon/features/ui/components/media_modal.js b/app/javascript/mastodon/features/ui/components/media_modal.js index 72ef32256..fb76270fa 100644 --- a/app/javascript/mastodon/features/ui/components/media_modal.js +++ b/app/javascript/mastodon/features/ui/components/media_modal.js @@ -130,6 +130,15 @@ export default class MediaModal extends ImmutablePureComponent { return null; }).toArray(); + // you can't use 100vh, because the viewport height is taller + // than the visible part of the document in some mobile + // browsers when it's address bar is visible. + // https://developers.google.com/web/updates/2016/12/url-bar-resizing + const swipeableViewsStyle = { + width: '100%', + height: '100%', + }; + const containerStyle = { alignItems: 'center', // center vertically }; @@ -145,23 +154,15 @@ export default class MediaModal extends ImmutablePureComponent { role='presentation' onClick={onClose} > - <div className='media-modal__content'> - <ReactSwipeableViews - style={{ - // you can't use 100vh, because the viewport height is taller - // than the visible part of the document in some mobile - // browsers when it's address bar is visible. - // https://developers.google.com/web/updates/2016/12/url-bar-resizing - height: `${document.body.clientHeight}px`, - }} - containerStyle={containerStyle} - onChangeIndex={this.handleSwipe} - onSwitching={this.handleSwitching} - index={index} - > - {content} - </ReactSwipeableViews> - </div> + <ReactSwipeableViews + style={swipeableViewsStyle} + containerStyle={containerStyle} + onChangeIndex={this.handleSwipe} + onSwitching={this.handleSwitching} + index={index} + > + {content} + </ReactSwipeableViews> </div> <div className={navigationClassName}> <IconButton className='media-modal__close' title={intl.formatMessage(messages.close)} icon='times' onClick={onClose} size={40} /> diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index 93faff8b6..587fe62da 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -3422,8 +3422,12 @@ a.status-card { img, canvas, video { - max-width: 100vw; - max-height: 100vh; + max-width: 100%; + /* + put margins on top and bottom of image to avoid the screen coverd by + image. + */ + max-height: 80%; width: auto; height: auto; margin: auto; @@ -3435,11 +3439,6 @@ a.status-card { background: url('../images/void.png') repeat; object-fit: contain; } - - .react-swipeable-view-container { - width: 100vw; - height: 100%; - } } .media-modal__closer { |