|
|
|
@ -17,6 +17,24 @@ export default class StatusGalleryItem extends React.PureComponent { |
|
|
|
|
autoPlayGif: PropTypes.bool.isRequired, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
handleMouseEnter = (e) => { |
|
|
|
|
if (this.hoverToPlay()) { |
|
|
|
|
e.target.play(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
handleMouseLeave = (e) => { |
|
|
|
|
if (this.hoverToPlay()) { |
|
|
|
|
e.target.pause(); |
|
|
|
|
e.target.currentTime = 0; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
hoverToPlay () { |
|
|
|
|
const { attachment, autoPlayGif } = this.props; |
|
|
|
|
return !autoPlayGif && attachment.get('type') === 'gifv'; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
handleClick = (e) => { |
|
|
|
|
const { index, onClick } = this.props; |
|
|
|
|
|
|
|
|
@ -112,6 +130,8 @@ export default class StatusGalleryItem extends React.PureComponent { |
|
|
|
|
role='application' |
|
|
|
|
src={attachment.get('url')} |
|
|
|
|
onClick={this.handleClick} |
|
|
|
|
onMouseEnter={this.handleMouseEnter} |
|
|
|
|
onMouseLeave={this.handleMouseLeave} |
|
|
|
|
autoPlay={autoPlay} |
|
|
|
|
loop |
|
|
|
|
muted |
|
|
|
|