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