parent
					
						
							
								5bbc9a4f78
							
						
					
				
			
			
				commit
				
					
						d88a79b456
					
				
			
		
					 20 changed files with 648 additions and 58 deletions
				
			
		|  | @ -17,6 +17,7 @@ import { HotKeys } from 'react-hotkeys'; | |||
| import classNames from 'classnames'; | ||||
| import Icon from 'mastodon/components/icon'; | ||||
| import { displayMedia } from '../initial_state'; | ||||
| import PictureInPicturePlaceholder from 'mastodon/components/picture_in_picture_placeholder'; | ||||
| 
 | ||||
| // We use the component (and not the container) since we do not want
 | ||||
| // to use the progress bar to show download progress
 | ||||
|  | @ -95,6 +96,8 @@ class Status extends ImmutablePureComponent { | |||
|     cacheMediaWidth: PropTypes.func, | ||||
|     cachedMediaWidth: PropTypes.number, | ||||
|     scrollKey: PropTypes.string, | ||||
|     deployPictureInPicture: PropTypes.func, | ||||
|     usingPiP: PropTypes.bool, | ||||
|   }; | ||||
| 
 | ||||
|   // Avoid checking props that are functions (and whose equality will always
 | ||||
|  | @ -105,6 +108,7 @@ class Status extends ImmutablePureComponent { | |||
|     'muted', | ||||
|     'hidden', | ||||
|     'unread', | ||||
|     'usingPiP', | ||||
|   ]; | ||||
| 
 | ||||
|   state = { | ||||
|  | @ -206,6 +210,13 @@ class Status extends ImmutablePureComponent { | |||
|     } | ||||
|   } | ||||
| 
 | ||||
|   handleDeployPictureInPicture = (type, mediaProps) => { | ||||
|     const { deployPictureInPicture } = this.props; | ||||
|     const status = this._properStatus(); | ||||
| 
 | ||||
|     deployPictureInPicture(status, type, mediaProps); | ||||
|   } | ||||
| 
 | ||||
|   handleHotkeyReply = e => { | ||||
|     e.preventDefault(); | ||||
|     this.props.onReply(this._properStatus(), this.context.router.history); | ||||
|  | @ -266,7 +277,7 @@ class Status extends ImmutablePureComponent { | |||
|     let media = null; | ||||
|     let statusAvatar, prepend, rebloggedByText; | ||||
| 
 | ||||
|     const { intl, hidden, featured, otherAccounts, unread, showThread, scrollKey } = this.props; | ||||
|     const { intl, hidden, featured, otherAccounts, unread, showThread, scrollKey, usingPiP } = this.props; | ||||
| 
 | ||||
|     let { status, account, ...other } = this.props; | ||||
| 
 | ||||
|  | @ -337,7 +348,9 @@ class Status extends ImmutablePureComponent { | |||
|       status  = status.get('reblog'); | ||||
|     } | ||||
| 
 | ||||
|     if (status.get('media_attachments').size > 0) { | ||||
|     if (usingPiP) { | ||||
|       media = <PictureInPicturePlaceholder width={this.props.cachedMediaWidth} />; | ||||
|     } else if (status.get('media_attachments').size > 0) { | ||||
|       if (this.props.muted) { | ||||
|         media = ( | ||||
|           <AttachmentList | ||||
|  | @ -362,6 +375,7 @@ class Status extends ImmutablePureComponent { | |||
|                 width={this.props.cachedMediaWidth} | ||||
|                 height={110} | ||||
|                 cacheWidth={this.props.cacheMediaWidth} | ||||
|                 deployPictureInPicture={this.handleDeployPictureInPicture} | ||||
|               /> | ||||
|             )} | ||||
|           </Bundle> | ||||
|  | @ -383,6 +397,7 @@ class Status extends ImmutablePureComponent { | |||
|                 sensitive={status.get('sensitive')} | ||||
|                 onOpenVideo={this.handleOpenVideo} | ||||
|                 cacheWidth={this.props.cacheMediaWidth} | ||||
|                 deployPictureInPicture={this.handleDeployPictureInPicture} | ||||
|                 visible={this.state.showMedia} | ||||
|                 onToggleVisibility={this.handleToggleMediaVisibility} | ||||
|               /> | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue