import PropTypes from 'prop-types'; import { PureComponent } from 'react'; import { FormattedMessage } from 'react-intl'; import ImmutablePropTypes from 'react-immutable-proptypes'; import { connect } from 'react-redux'; import { fetchSuggestions } from 'mastodon/actions/suggestions'; import { markAsPartial } from 'mastodon/actions/timelines'; import Column from 'mastodon/components/column'; import ColumnBackButton from 'mastodon/components/column_back_button'; import { EmptyAccount } from 'mastodon/components/empty_account'; import Account from 'mastodon/containers/account_container'; const mapStateToProps = state => ({ suggestions: state.getIn(['suggestions', 'items']), isLoading: state.getIn(['suggestions', 'isLoading']), }); class Follows extends PureComponent { static propTypes = { onBack: PropTypes.func, dispatch: PropTypes.func.isRequired, suggestions: ImmutablePropTypes.list, isLoading: PropTypes.bool, multiColumn: PropTypes.bool, }; componentDidMount () { const { dispatch } = this.props; dispatch(fetchSuggestions(true)); } componentWillUnmount () { const { dispatch } = this.props; dispatch(markAsPartial('home')); } render () { const { onBack, isLoading, suggestions, multiColumn } = this.props; let loadedContent; if (isLoading) { loadedContent = (new Array(8)).fill().map((_, i) => ); } else if (suggestions.isEmpty()) { loadedContent =
; } else { loadedContent = suggestions.map(suggestion => ); } return (

{loadedContent}

{chunks} }} />

); } } export default connect(mapStateToProps)(Follows);