import React from 'react' import PropTypes from 'prop-types' import { connect } from 'react-redux' import ImmutablePropTypes from 'react-immutable-proptypes' import ImmutablePureComponent from 'react-immutable-pure-component' import { NavLink } from 'react-router-dom' import { FormattedMessage } from 'react-intl' import { makeGetAccount } from '../../selectors' import { shortNumberFormat } from '../../utils/numbers' import { me } from '../../initial_state' import PopoverLayout from './popover_layout' import AccountActionButton from '../account_action_button' import Avatar from '../avatar' import DisplayName from '../display_name' import UserStat from '../user_stat' class UserInfoPopover extends ImmutablePureComponent { render() { const { account, isXS } = this.props if (isXS || !me) return null const content = !account ? null : { __html: account.get('note_emojified') } const to = !account ? '' : `/${account.get('acct')}` return (
} value={shortNumberFormat(account.get('followers_count'))} to={`/${account.get('acct')}/followers`} isInline /> } value={shortNumberFormat(account.get('following_count'))} to={`/${account.get('acct')}/following`} isInline />
) } } const mapStateToProps = (state, props) => ({ account: makeGetAccount()(state, props.accountId), }) UserInfoPopover.propTypes = { account: ImmutablePropTypes.map, accountId: PropTypes.string.isRequired, isXS: PropTypes.bool, } export default connect(mapStateToProps)(UserInfoPopover)