diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2016-09-25 15:26:56 +0200 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2016-09-25 15:26:56 +0200 |
commit | e9bc4a4a0822235afebbefa0c4d660b1be9ae52f (patch) | |
tree | c31007e321a90a55da1ad65cfd6a1633b8d1cc9a /app/assets/javascripts/components/features | |
parent | 62b384824d39fb56cb211670126b38645fdf10cc (diff) |
Limit usernames to 30 chars, statuses to 500, open account after follow form success
Diffstat (limited to 'app/assets/javascripts/components/features')
5 files changed, 17 insertions, 10 deletions
diff --git a/app/assets/javascripts/components/features/status/components/action_bar.jsx b/app/assets/javascripts/components/features/status/components/action_bar.jsx index 51332dc95..65c107edc 100644 --- a/app/assets/javascripts/components/features/status/components/action_bar.jsx +++ b/app/assets/javascripts/components/features/status/components/action_bar.jsx @@ -18,9 +18,9 @@ const ActionBar = React.createClass({ return ( <div style={{ background: '#2f3441', display: 'flex', flexDirection: 'row', borderTop: '1px solid #363c4b', borderBottom: '1px solid #363c4b', padding: '10px 0' }}> - <div style={{ flex: '1 1 auto', textAlign: 'center' }}><IconButton title='Reply' icon='reply' onClick={this.props.onReply.bind(this, status)} /></div> - <div style={{ flex: '1 1 auto', textAlign: 'center' }}><IconButton active={status.get('reblogged')} title='Reblog' icon='retweet' onClick={this.props.onReblog.bind(this, status)} /></div> - <div style={{ flex: '1 1 auto', textAlign: 'center' }}><IconButton active={status.get('favourited')} title='Favourite' icon='star' onClick={this.props.onFavourite.bind(this, status)} /></div> + <div style={{ flex: '1 1 auto', textAlign: 'center' }}><IconButton title='Reply' icon='reply' onClick={() => this.props.onReply(status)} /></div> + <div style={{ flex: '1 1 auto', textAlign: 'center' }}><IconButton active={status.get('reblogged')} title='Reblog' icon='retweet' onClick={() => this.props.onReblog(status)} /></div> + <div style={{ flex: '1 1 auto', textAlign: 'center' }}><IconButton active={status.get('favourited')} title='Favourite' icon='star' onClick={() => this.props.onFavourite(status)} /></div> </div> ); } diff --git a/app/assets/javascripts/components/features/ui/components/character_counter.jsx b/app/assets/javascripts/components/features/ui/components/character_counter.jsx index dd9218844..f0c1b7c8d 100644 --- a/app/assets/javascripts/components/features/ui/components/character_counter.jsx +++ b/app/assets/javascripts/components/features/ui/components/character_counter.jsx @@ -3,15 +3,18 @@ import PureRenderMixin from 'react-addons-pure-render-mixin'; const CharacterCounter = React.createClass({ propTypes: { - text: React.PropTypes.string.isRequired + text: React.PropTypes.string.isRequired, + max: React.PropTypes.number.isRequired }, mixins: [PureRenderMixin], render () { + const diff = this.props.max - this.props.text.length; + return ( <span style={{ fontSize: '16px', cursor: 'default' }}> - {this.props.text.length} + {diff} </span> ); } diff --git a/app/assets/javascripts/components/features/ui/components/compose_form.jsx b/app/assets/javascripts/components/features/ui/components/compose_form.jsx index 9453f22ff..5542b4fb4 100644 --- a/app/assets/javascripts/components/features/ui/components/compose_form.jsx +++ b/app/assets/javascripts/components/features/ui/components/compose_form.jsx @@ -53,7 +53,7 @@ const ComposeForm = React.createClass({ <div style={{ marginTop: '10px', overflow: 'hidden' }}> <div style={{ float: 'right' }}><Button text='Publish' onClick={this.handleSubmit} disabled={this.props.is_submitting} /></div> - <div style={{ float: 'right', marginRight: '16px', lineHeight: '36px' }}><CharacterCounter text={this.props.text} /></div> + <div style={{ float: 'right', marginRight: '16px', lineHeight: '36px' }}><CharacterCounter max={500} text={this.props.text} /></div> </div> </div> ); diff --git a/app/assets/javascripts/components/features/ui/components/follow_form.jsx b/app/assets/javascripts/components/features/ui/components/follow_form.jsx index a9d73a9a1..ec108fdb2 100644 --- a/app/assets/javascripts/components/features/ui/components/follow_form.jsx +++ b/app/assets/javascripts/components/features/ui/components/follow_form.jsx @@ -3,6 +3,10 @@ import PureRenderMixin from 'react-addons-pure-render-mixin'; const FollowForm = React.createClass({ + contextTypes: { + router: React.PropTypes.object + }, + propTypes: { text: React.PropTypes.string.isRequired, is_submitting: React.PropTypes.bool, @@ -18,12 +22,12 @@ const FollowForm = React.createClass({ handleKeyUp (e) { if (e.keyCode === 13) { - this.props.onSubmit(); + this.handleSubmit(); } }, handleSubmit () { - this.props.onSubmit(); + this.props.onSubmit(this.context.router); }, render () { diff --git a/app/assets/javascripts/components/features/ui/containers/follow_form_container.jsx b/app/assets/javascripts/components/features/ui/containers/follow_form_container.jsx index a21c1291b..05cfb7c1d 100644 --- a/app/assets/javascripts/components/features/ui/containers/follow_form_container.jsx +++ b/app/assets/javascripts/components/features/ui/containers/follow_form_container.jsx @@ -15,8 +15,8 @@ const mapDispatchToProps = function (dispatch) { dispatch(changeFollow(text)); }, - onSubmit: function () { - dispatch(submitFollow()); + onSubmit: function (router) { + dispatch(submitFollow(router)); } } }; |