Detailed status view scrollable
This commit is contained in:
		| @ -4,7 +4,8 @@ import PureRenderMixin    from 'react-addons-pure-render-mixin'; | ||||
| const MediaGallery = React.createClass({ | ||||
|  | ||||
|   propTypes: { | ||||
|     media: ImmutablePropTypes.list.isRequired | ||||
|     media: ImmutablePropTypes.list.isRequired, | ||||
|     height: React.PropTypes.number.isRequired | ||||
|   }, | ||||
|  | ||||
|   mixins: [PureRenderMixin], | ||||
| @ -63,7 +64,7 @@ const MediaGallery = React.createClass({ | ||||
|     }); | ||||
|  | ||||
|     return ( | ||||
|       <div style={{ marginTop: '8px', overflow: 'hidden', width: '100%', height: '110px', boxSizing: 'border-box' }}> | ||||
|       <div style={{ marginTop: '8px', overflow: 'hidden', width: '100%', height: `${this.props.height}px`, boxSizing: 'border-box' }}> | ||||
|         {children} | ||||
|       </div> | ||||
|     ); | ||||
|  | ||||
| @ -69,7 +69,7 @@ const Status = React.createClass({ | ||||
|       if (status.getIn(['media_attachments', 0, 'type']) === 'video') { | ||||
|         media = <VideoPlayer media={status.getIn(['media_attachments', 0])} />; | ||||
|       } else { | ||||
|         media = <MediaGallery media={status.get('media_attachments')} />; | ||||
|         media = <MediaGallery media={status.get('media_attachments')} height={110} />; | ||||
|       } | ||||
|     } | ||||
|  | ||||
|  | ||||
| @ -25,8 +25,8 @@ function selectStatuses(state, ids) { | ||||
|  | ||||
| const mapStateToProps = (state, props) => ({ | ||||
|   status: selectStatus(state, Number(props.params.statusId)), | ||||
|   ancestors: selectStatuses(state, state.getIn(['timelines', 'ancestors', Number(props.params.statusId)], Immutable.List())), | ||||
|   descendants: selectStatuses(state, state.getIn(['timelines', 'descendants', Number(props.params.statusId)], Immutable.List())) | ||||
|   ancestors: selectStatuses(state, state.getIn(['timelines', 'ancestors', Number(props.params.statusId)], Immutable.OrderedSet())), | ||||
|   descendants: selectStatuses(state, state.getIn(['timelines', 'descendants', Number(props.params.statusId)], Immutable.OrderedSet())) | ||||
| }); | ||||
|  | ||||
| const Status = React.createClass({ | ||||
| @ -35,8 +35,8 @@ const Status = React.createClass({ | ||||
|     params: React.PropTypes.object.isRequired, | ||||
|     dispatch: React.PropTypes.func.isRequired, | ||||
|     status: ImmutablePropTypes.map, | ||||
|     ancestors: ImmutablePropTypes.list.isRequired, | ||||
|     descendants: ImmutablePropTypes.list.isRequired | ||||
|     ancestors: ImmutablePropTypes.orderedSet.isRequired, | ||||
|     descendants: ImmutablePropTypes.orderedSet.isRequired | ||||
|   }, | ||||
|  | ||||
|   mixins: [PureRenderMixin], | ||||
| @ -74,11 +74,15 @@ const Status = React.createClass({ | ||||
|       return <div>Loading {this.props.params.statusId}...</div>; | ||||
|     } | ||||
|  | ||||
|     const account = status.get('account'); | ||||
|  | ||||
|     return ( | ||||
|       <div> | ||||
|         {this.renderChildren(ancestors)} | ||||
|       <div style={{ overflowY: 'scroll', flex: '1 1 auto' }} className='scrollable'> | ||||
|         <div>{this.renderChildren(ancestors)}</div> | ||||
|  | ||||
|         <EmbeddedStatus status={status} onReply={this.handleReplyClick} onFavourite={this.handleFavouriteClick} onReblog={this.handleReblogClick} /> | ||||
|         {this.renderChildren(descendants)} | ||||
|  | ||||
|         <div>{this.renderChildren(descendants)}</div> | ||||
|       </div> | ||||
|     ); | ||||
|   } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user