|
|
|
@ -13,6 +13,7 @@ import { List as ImmutableList } from 'immutable';
|
|
|
|
|
import ImmutablePureComponent from 'react-immutable-pure-component';
|
|
|
|
|
import { FormattedMessage } from 'react-intl';
|
|
|
|
|
import { fetchAccountIdentityProofs } from '../../actions/identity_proofs';
|
|
|
|
|
import MissingIndicator from 'mastodon/components/missing_indicator';
|
|
|
|
|
|
|
|
|
|
const emptyList = ImmutableList();
|
|
|
|
|
|
|
|
|
@ -20,6 +21,7 @@ const mapStateToProps = (state, { params: { accountId }, withReplies = false })
|
|
|
|
|
const path = withReplies ? `${accountId}:with_replies` : accountId;
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
isAccount: !!state.getIn(['accounts', accountId]),
|
|
|
|
|
statusIds: state.getIn(['timelines', `account:${path}`, 'items'], emptyList),
|
|
|
|
|
featuredStatusIds: withReplies ? ImmutableList() : state.getIn(['timelines', `account:${accountId}:pinned`, 'items'], emptyList),
|
|
|
|
|
isLoading: state.getIn(['timelines', `account:${path}`, 'isLoading']),
|
|
|
|
@ -41,6 +43,7 @@ class AccountTimeline extends ImmutablePureComponent {
|
|
|
|
|
hasMore: PropTypes.bool,
|
|
|
|
|
withReplies: PropTypes.bool,
|
|
|
|
|
blockedBy: PropTypes.bool,
|
|
|
|
|
isAccount: PropTypes.bool,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
componentWillMount () {
|
|
|
|
@ -74,7 +77,15 @@ class AccountTimeline extends ImmutablePureComponent {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
render () {
|
|
|
|
|
const { shouldUpdateScroll, statusIds, featuredStatusIds, isLoading, hasMore, blockedBy } = this.props;
|
|
|
|
|
const { shouldUpdateScroll, statusIds, featuredStatusIds, isLoading, hasMore, blockedBy, isAccount } = this.props;
|
|
|
|
|
|
|
|
|
|
if (!isAccount) {
|
|
|
|
|
return (
|
|
|
|
|
<Column>
|
|
|
|
|
<MissingIndicator />
|
|
|
|
|
</Column>
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!statusIds && isLoading) {
|
|
|
|
|
return (
|
|
|
|
|