import React from 'react'; import PropTypes from 'prop-types'; import { NavLink, withRouter } from 'react-router-dom'; import { FormattedMessage, injectIntl } from 'react-intl'; import { connect } from 'react-redux'; import { fetchTrends } from '../../../actions/trends'; import ImmutablePureComponent from 'react-immutable-pure-component'; import ImmutablePropTypes from 'react-immutable-proptypes'; import Icon from 'gabsocial/components/icon'; import Hashtag from '../../../components/hashtag'; class TrendsPanel extends ImmutablePureComponent { static propTypes = { trends: ImmutablePropTypes.list.isRequired, fetchTrends: PropTypes.func.isRequired, intl: PropTypes.object.isRequired, }; componentDidMount () { this.props.fetchTrends(); } render() { const { trends } = this.props; if (trends.isEmpty()) { return null; } return (
{trends && trends.map(hashtag => ( ))}
) }; }; const mapStateToProps = state => ({ trends: state.getIn(['trends', 'items']), }); const mapDispatchToProps = dispatch => { return { fetchTrends: () => dispatch(fetchTrends()), } }; export default injectIntl( connect(mapStateToProps, mapDispatchToProps, null, { forwardRef: true, } )(TrendsPanel))