import PureRenderMixin from 'react-addons-pure-render-mixin'; import ImmutablePropTypes from 'react-immutable-proptypes'; import Avatar from './avatar'; import DisplayName from './display_name'; import Permalink from './permalink'; import IconButton from './icon_button'; import { defineMessages, injectIntl } from 'react-intl'; const messages = defineMessages({ follow: { id: 'account.follow', defaultMessage: 'Follow' }, unfollow: { id: 'account.unfollow', defaultMessage: 'Unfollow' } }); const outerStyle = { padding: '10px', borderBottom: '1px solid #363c4b' }; const itemStyle = { flex: '1 1 auto', display: 'block', color: '#9baec8', overflow: 'hidden', textDecoration: 'none', fontSize: '14px' }; const noteStyle = { paddingTop: '5px', fontSize: '12px', color: '#616b86' }; const buttonsStyle = { padding: '10px', height: '18px' }; const Account = React.createClass({ propTypes: { account: ImmutablePropTypes.map.isRequired, me: React.PropTypes.number.isRequired, onFollow: React.PropTypes.func.isRequired, withNote: React.PropTypes.bool }, getDefaultProps () { return { withNote: true }; }, mixins: [PureRenderMixin], handleFollow () { this.props.onFollow(this.props.account); }, render () { const { account, me, withNote, intl } = this.props; if (!account) { return
; } let note, buttons; if (account.get('note').length > 0 && withNote) { note =
{account.get('note')}
; } if (account.get('id') !== me && account.get('relationship', null) != null) { const following = account.getIn(['relationship', 'following']); buttons = ; } return (
{buttons}
{note}
); } }); export default injectIntl(Account);