Skip to content
Snippets Groups Projects
Commit 08896f7d authored by Eugen Rochko's avatar Eugen Rochko
Browse files

Detailed status view scrollable

parent ab7291b8
No related branches found
No related tags found
No related merge requests found
......@@ -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>
);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment