summaryrefslogtreecommitdiff
path: root/priv/static/packs/features/account_timeline.js.map
blob: 779a67ad6be61a14c7771f629b3f7767be44f640 (plain)
1
{"version":3,"sources":["webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/mastodon/features/account_timeline/index.js"],"names":["emptyList","ImmutableList","AccountTimeline","connect","state","accountId","params","withReplies","path","isAccount","getIn","statusIds","featuredStatusIds","isLoading","hasMore","blockedBy","maxId","props","dispatch","expandAccountTimeline","componentWillMount","this","fetchAccount","fetchAccountIdentityProofs","expandAccountFeaturedTimeline","componentWillReceiveProps","nextProps","render","shouldUpdateScroll","multiColumn","emptyMessage","id","defaultMessage","prepend","alwaysPrepend","scrollKey","onLoadMore","handleLoadMore","bindToDocument","ImmutablePureComponent","PropTypes","object","isRequired","func","ImmutablePropTypes","list","bool"],"mappings":"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","file":"features/account_timeline.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport { fetchAccount } from '../../actions/accounts';\nimport { expandAccountFeaturedTimeline, expandAccountTimeline } from '../../actions/timelines';\nimport StatusList from '../../components/status_list';\nimport LoadingIndicator from '../../components/loading_indicator';\nimport Column from '../ui/components/column';\nimport HeaderContainer from './containers/header_container';\nimport ColumnBackButton from '../../components/column_back_button';\nimport { List as ImmutableList } from 'immutable';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { FormattedMessage } from 'react-intl';\nimport { fetchAccountIdentityProofs } from '../../actions/identity_proofs';\nimport MissingIndicator from 'mastodon/components/missing_indicator';\n\nconst emptyList = ImmutableList();\n\nconst mapStateToProps = (state, { params: { accountId }, withReplies = false }) => {\n  const path = withReplies ? `${accountId}:with_replies` : accountId;\n\n  return {\n    isAccount: !!state.getIn(['accounts', accountId]),\n    statusIds: state.getIn(['timelines', `account:${path}`, 'items'], emptyList),\n    featuredStatusIds: withReplies ? ImmutableList() : state.getIn(['timelines', `account:${accountId}:pinned`, 'items'], emptyList),\n    isLoading: state.getIn(['timelines', `account:${path}`, 'isLoading']),\n    hasMore: state.getIn(['timelines', `account:${path}`, 'hasMore']),\n    blockedBy: state.getIn(['relationships', accountId, 'blocked_by'], false),\n  };\n};\n\nexport default @connect(mapStateToProps)\nclass AccountTimeline extends ImmutablePureComponent {\n\n  static propTypes = {\n    params: PropTypes.object.isRequired,\n    dispatch: PropTypes.func.isRequired,\n    shouldUpdateScroll: PropTypes.func,\n    statusIds: ImmutablePropTypes.list,\n    featuredStatusIds: ImmutablePropTypes.list,\n    isLoading: PropTypes.bool,\n    hasMore: PropTypes.bool,\n    withReplies: PropTypes.bool,\n    blockedBy: PropTypes.bool,\n    isAccount: PropTypes.bool,\n    multiColumn: PropTypes.bool,\n  };\n\n  componentWillMount () {\n    const { params: { accountId }, withReplies } = this.props;\n\n    this.props.dispatch(fetchAccount(accountId));\n    this.props.dispatch(fetchAccountIdentityProofs(accountId));\n\n    if (!withReplies) {\n      this.props.dispatch(expandAccountFeaturedTimeline(accountId));\n    }\n\n    this.props.dispatch(expandAccountTimeline(accountId, { withReplies }));\n  }\n\n  componentWillReceiveProps (nextProps) {\n    if ((nextProps.params.accountId !== this.props.params.accountId && nextProps.params.accountId) || nextProps.withReplies !== this.props.withReplies) {\n      this.props.dispatch(fetchAccount(nextProps.params.accountId));\n      this.props.dispatch(fetchAccountIdentityProofs(nextProps.params.accountId));\n\n      if (!nextProps.withReplies) {\n        this.props.dispatch(expandAccountFeaturedTimeline(nextProps.params.accountId));\n      }\n\n      this.props.dispatch(expandAccountTimeline(nextProps.params.accountId, { withReplies: nextProps.params.withReplies }));\n    }\n  }\n\n  handleLoadMore = maxId => {\n    this.props.dispatch(expandAccountTimeline(this.props.params.accountId, { maxId, withReplies: this.props.withReplies }));\n  }\n\n  render () {\n    const { shouldUpdateScroll, statusIds, featuredStatusIds, isLoading, hasMore, blockedBy, isAccount, multiColumn } = this.props;\n\n    if (!isAccount) {\n      return (\n        <Column>\n          <ColumnBackButton multiColumn={multiColumn} />\n          <MissingIndicator />\n        </Column>\n      );\n    }\n\n    if (!statusIds && isLoading) {\n      return (\n        <Column>\n          <LoadingIndicator />\n        </Column>\n      );\n    }\n\n    const emptyMessage = blockedBy ? <FormattedMessage id='empty_column.account_unavailable' defaultMessage='Profile unavailable' /> : <FormattedMessage id='empty_column.account_timeline' defaultMessage='No toots here!' />;\n\n    return (\n      <Column>\n        <ColumnBackButton multiColumn={multiColumn} />\n\n        <StatusList\n          prepend={<HeaderContainer accountId={this.props.params.accountId} />}\n          alwaysPrepend\n          scrollKey='account_timeline'\n          statusIds={blockedBy ? emptyList : statusIds}\n          featuredStatusIds={featuredStatusIds}\n          isLoading={isLoading}\n          hasMore={hasMore}\n          onLoadMore={this.handleLoadMore}\n          shouldUpdateScroll={shouldUpdateScroll}\n          emptyMessage={emptyMessage}\n          bindToDocument={!multiColumn}\n        />\n      </Column>\n    );\n  }\n\n}\n"],"sourceRoot":""}