You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

30 lines
1.3 KiB

  1. import PureRenderMixin from 'react-addons-pure-render-mixin';
  2. import IconButton from '../../../components/icon_button';
  3. import ImmutablePropTypes from 'react-immutable-proptypes';
  4. const ActionBar = React.createClass({
  5. propTypes: {
  6. status: ImmutablePropTypes.map.isRequired,
  7. onReply: React.PropTypes.func.isRequired,
  8. onReblog: React.PropTypes.func.isRequired,
  9. onFavourite: React.PropTypes.func.isRequired
  10. },
  11. mixins: [PureRenderMixin],
  12. render () {
  13. const { status } = this.props;
  14. return (
  15. <div style={{ background: '#2f3441', display: 'flex', flexDirection: 'row', borderTop: '1px solid #363c4b', borderBottom: '1px solid #363c4b', padding: '10px 0' }}>
  16. <div style={{ flex: '1 1 auto', textAlign: 'center' }}><IconButton title='Reply' icon='reply' onClick={this.props.onReply.bind(this, status)} /></div>
  17. <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>
  18. <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>
  19. </div>
  20. );
  21. }
  22. });
  23. export default ActionBar;