diff options
Diffstat (limited to 'app/assets/javascripts/components')
3 files changed, 21 insertions, 4 deletions
diff --git a/app/assets/javascripts/components/components/status.jsx b/app/assets/javascripts/components/components/status.jsx index 3882fc97f..8cdbd5625 100644 --- a/app/assets/javascripts/components/components/status.jsx +++ b/app/assets/javascripts/components/components/status.jsx @@ -40,8 +40,9 @@ const Status = React.createClass({ if (e.button === 0) { e.preventDefault(); hashHistory.push(`/accounts/${id}`); - e.stopPropagation(); } + + e.stopPropagation(); }, render () { diff --git a/app/assets/javascripts/components/components/upload_form.jsx b/app/assets/javascripts/components/components/upload_form.jsx index 429e672c0..f0b6f7992 100644 --- a/app/assets/javascripts/components/components/upload_form.jsx +++ b/app/assets/javascripts/components/components/upload_form.jsx @@ -25,9 +25,11 @@ const UploadForm = React.createClass({ ); }.bind(this)); + const noMoreAllowed = (this.props.media.some(m => m.get('type') === 'video')) || (this.props.media.size > 3); + return ( <div style={{ marginBottom: '20px', padding: '10px', paddingTop: '0' }}> - <UploadButton onSelectFile={this.props.onSelectFile} disabled={this.props.is_uploading || this.props.media.size > 3} /> + <UploadButton onSelectFile={this.props.onSelectFile} disabled={this.props.is_uploading || noMoreAllowed } /> <div style={{ marginTop: '10px', overflow: 'hidden' }}> {uploads} diff --git a/app/assets/javascripts/components/features/status/index.jsx b/app/assets/javascripts/components/features/status/index.jsx index 122db8906..39bc2bec5 100644 --- a/app/assets/javascripts/components/features/status/index.jsx +++ b/app/assets/javascripts/components/features/status/index.jsx @@ -4,6 +4,8 @@ import ImmutablePropTypes from 'react-immutable-proptypes'; import { fetchStatus } from '../../actions/statuses'; import Immutable from 'immutable'; import EmbeddedStatus from '../../components/status'; +import { favourite, reblog } from '../../actions/interactions'; +import { replyCompose } from '../../actions/compose'; function selectStatus(state, id) { let status = state.getIn(['timelines', 'statuses', id]); @@ -49,8 +51,20 @@ const Status = React.createClass({ } }, + handleFavouriteClick (status) { + this.props.dispatch(favourite(status)); + }, + + handleReplyClick (status) { + this.props.dispatch(replyCompose(status)); + }, + + handleReblogClick (status) { + this.props.dispatch(reblog(status)); + }, + renderChildren (list) { - return list.map(s => <EmbeddedStatus status={s} key={s.get('id')} />); + return list.map(s => <EmbeddedStatus status={s} key={s.get('id')} onReply={this.handleReplyClick} onFavourite={this.handleFavouriteClick} onReblog={this.handleReblogClick} />); }, render () { @@ -63,7 +77,7 @@ const Status = React.createClass({ return ( <div> {this.renderChildren(ancestors)} - <EmbeddedStatus status={status} /> + <EmbeddedStatus status={status} onReply={this.handleReplyClick} onFavourite={this.handleFavouriteClick} onReblog={this.handleReblogClick} /> {this.renderChildren(descendants)} </div> ); |