Added GIF hover-to-play support
This commit is contained in:
		| @@ -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 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user