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 { debounce } from "lodash"; import { fetchTrendingStatuses, expandTrendingStatuses } from "mastodon/actions/trends"; import { DismissableBanner } from "mastodon/components/dismissable_banner"; import StatusList from "mastodon/components/status_list"; import { getStatusList } from "mastodon/selectors"; const mapStateToProps = state => ({ statusIds: getStatusList(state, "trending"), isLoading: state.getIn(["status_lists", "trending", "isLoading"], true), hasMore: !!state.getIn(["status_lists", "trending", "next"]), }); class Statuses extends PureComponent { static propTypes = { statusIds: ImmutablePropTypes.list, isLoading: PropTypes.bool, hasMore: PropTypes.bool, multiColumn: PropTypes.bool, dispatch: PropTypes.func.isRequired, }; componentDidMount () { const { dispatch } = this.props; dispatch(fetchTrendingStatuses()); } handleLoadMore = debounce(() => { const { dispatch } = this.props; dispatch(expandTrendingStatuses()); }, 300, { leading: true }); render () { const { isLoading, hasMore, statusIds, multiColumn } = this.props; const emptyMessage = ; return ( <> ); } } export default connect(mapStateToProps)(Statuses);