Detailed status view scrollable
This commit is contained in:
		
							parent
							
								
									ab7291b8fe
								
							
						
					
					
						commit
						08896f7dcf
					
				
					 3 changed files with 15 additions and 10 deletions
				
			
		| 
						 | 
					@ -4,7 +4,8 @@ import PureRenderMixin    from 'react-addons-pure-render-mixin';
 | 
				
			||||||
const MediaGallery = React.createClass({
 | 
					const MediaGallery = React.createClass({
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  propTypes: {
 | 
					  propTypes: {
 | 
				
			||||||
    media: ImmutablePropTypes.list.isRequired
 | 
					    media: ImmutablePropTypes.list.isRequired,
 | 
				
			||||||
 | 
					    height: React.PropTypes.number.isRequired
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  mixins: [PureRenderMixin],
 | 
					  mixins: [PureRenderMixin],
 | 
				
			||||||
| 
						 | 
					@ -63,7 +64,7 @@ const MediaGallery = React.createClass({
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return (
 | 
					    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}
 | 
					        {children}
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -69,7 +69,7 @@ const Status = React.createClass({
 | 
				
			||||||
      if (status.getIn(['media_attachments', 0, 'type']) === 'video') {
 | 
					      if (status.getIn(['media_attachments', 0, 'type']) === 'video') {
 | 
				
			||||||
        media = <VideoPlayer media={status.getIn(['media_attachments', 0])} />;
 | 
					        media = <VideoPlayer media={status.getIn(['media_attachments', 0])} />;
 | 
				
			||||||
      } else {
 | 
					      } 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) => ({
 | 
					const mapStateToProps = (state, props) => ({
 | 
				
			||||||
  status: selectStatus(state, Number(props.params.statusId)),
 | 
					  status: selectStatus(state, Number(props.params.statusId)),
 | 
				
			||||||
  ancestors: selectStatuses(state, state.getIn(['timelines', 'ancestors', 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.List()))
 | 
					  descendants: selectStatuses(state, state.getIn(['timelines', 'descendants', Number(props.params.statusId)], Immutable.OrderedSet()))
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const Status = React.createClass({
 | 
					const Status = React.createClass({
 | 
				
			||||||
| 
						 | 
					@ -35,8 +35,8 @@ const Status = React.createClass({
 | 
				
			||||||
    params: React.PropTypes.object.isRequired,
 | 
					    params: React.PropTypes.object.isRequired,
 | 
				
			||||||
    dispatch: React.PropTypes.func.isRequired,
 | 
					    dispatch: React.PropTypes.func.isRequired,
 | 
				
			||||||
    status: ImmutablePropTypes.map,
 | 
					    status: ImmutablePropTypes.map,
 | 
				
			||||||
    ancestors: ImmutablePropTypes.list.isRequired,
 | 
					    ancestors: ImmutablePropTypes.orderedSet.isRequired,
 | 
				
			||||||
    descendants: ImmutablePropTypes.list.isRequired
 | 
					    descendants: ImmutablePropTypes.orderedSet.isRequired
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  mixins: [PureRenderMixin],
 | 
					  mixins: [PureRenderMixin],
 | 
				
			||||||
| 
						 | 
					@ -74,11 +74,15 @@ const Status = React.createClass({
 | 
				
			||||||
      return <div>Loading {this.props.params.statusId}...</div>;
 | 
					      return <div>Loading {this.props.params.statusId}...</div>;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    const account = status.get('account');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return (
 | 
					    return (
 | 
				
			||||||
      <div>
 | 
					      <div style={{ overflowY: 'scroll', flex: '1 1 auto' }} className='scrollable'>
 | 
				
			||||||
        {this.renderChildren(ancestors)}
 | 
					        <div>{this.renderChildren(ancestors)}</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <EmbeddedStatus status={status} onReply={this.handleReplyClick} onFavourite={this.handleFavouriteClick} onReblog={this.handleReblogClick} />
 | 
					        <EmbeddedStatus status={status} onReply={this.handleReplyClick} onFavourite={this.handleFavouriteClick} onReblog={this.handleReblogClick} />
 | 
				
			||||||
        {this.renderChildren(descendants)}
 | 
					
 | 
				
			||||||
 | 
					        <div>{this.renderChildren(descendants)}</div>
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue