mirror of
https://git.pleroma.social/pleroma/pleroma.git
synced 2024-11-09 18:49:36 +00:00
1 line
No EOL
5.8 KiB
Text
1 line
No EOL
5.8 KiB
Text
{"version":3,"sources":["webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/mastodon/features/followers/index.js"],"names":["Followers","connect","state","props","isAccount","getIn","params","accountId","accountIds","hasMore","blockedBy","dispatch","expandFollowers","leading","componentWillMount","this","fetchAccount","fetchFollowers","componentWillReceiveProps","nextProps","render","shouldUpdateScroll","multiColumn","emptyMessage","id","defaultMessage","scrollKey","onLoadMore","handleLoadMore","prepend","hideTabs","alwaysPrepend","bindToDocument","map","withNote","ImmutablePureComponent","PropTypes","object","isRequired","func","ImmutablePropTypes","list","bool"],"mappings":"qUA4BMA,EADUC,kBAPQ,SAACC,EAAOC,GAAR,MAAmB,CACzCC,YAAaF,EAAMG,MAAM,CAAC,WAAYF,EAAMG,OAAOC,YACnDC,WAAYN,EAAMG,MAAM,CAAC,aAAc,YAAaF,EAAMG,OAAOC,UAAW,UAC5EE,UAAWP,EAAMG,MAAM,CAAC,aAAc,YAAaF,EAAMG,OAAOC,UAAW,SAC3EG,UAAWR,EAAMG,MAAM,CAAC,gBAAiBF,EAAMG,OAAOC,UAAW,eAAe,K,qMA+B/D,IAAS,WACxB,EAAKJ,MAAMQ,SAASC,YAAgB,EAAKT,MAAMG,OAAOC,aACrD,IAAK,CAAEM,SAAS,K,8CAhBnBC,mBAAA,WACOC,KAAKZ,MAAMK,aACdO,KAAKZ,MAAMQ,SAASK,YAAaD,KAAKZ,MAAMG,OAAOC,YACnDQ,KAAKZ,MAAMQ,SAASM,YAAeF,KAAKZ,MAAMG,OAAOC,c,EAIzDW,0BAAA,SAA2BC,GACrBA,EAAUb,OAAOC,YAAcQ,KAAKZ,MAAMG,OAAOC,WAAaY,EAAUb,OAAOC,YACjFQ,KAAKZ,MAAMQ,SAASK,YAAaG,EAAUb,OAAOC,YAClDQ,KAAKZ,MAAMQ,SAASM,YAAeE,EAAUb,OAAOC,c,EAQxDa,OAAA,WAAW,IAAD,EAC+EL,KAAKZ,MAApFkB,EADA,EACAA,mBAAoBb,EADpB,EACoBA,WAAYC,EADhC,EACgCA,QAASC,EADzC,EACyCA,UAAWN,EADpD,EACoDA,UAAWkB,EAD/D,EAC+DA,YAEvE,IAAKlB,EACH,OACE,YAAC,IAAD,UACE,YAAC,IAAD,KAKN,IAAKI,EACH,OACE,YAAC,IAAD,UACE,YAAC,IAAD,KAKN,IAAMe,EAAeb,EAAY,YAAC,IAAD,CAAkBc,GAAG,mCAAmCC,eAAe,wBAA2B,YAAC,IAAD,CAAkBD,GAAG,0BAA0BC,eAAe,kCAEjM,OACE,YAAC,IAAD,UACE,YAAC,IAAD,CAAkBH,YAAaA,IAE/B,YAAC,IAAD,CACEI,UAAU,YACVjB,QAASA,EACTkB,WAAYZ,KAAKa,eACjBP,mBAAoBA,EACpBQ,QAAS,YAAC,IAAD,CAAiBtB,UAAWQ,KAAKZ,MAAMG,OAAOC,UAAWuB,UAAQ,IAC1EC,eAAa,EACbR,aAAcA,EACdS,gBAAiBV,QARnB,EAUGZ,EAAY,GAAKF,EAAWyB,IAAI,SAAAT,GAAE,OACjC,YAAC,IAAD,CAA2BA,GAAIA,EAAIU,UAAU,GAAtBV,Q,GAnEXW,K,0BAEH,CACjB7B,OAAQ8B,IAAUC,OAAOC,WACzB3B,SAAUyB,IAAUG,KAAKD,WACzBjB,mBAAoBe,IAAUG,KAC9B/B,WAAYgC,IAAmBC,KAC/BhC,QAAS2B,IAAUM,KACnBhC,UAAW0B,IAAUM,KACrBtC,UAAWgC,IAAUM,KACrBpB,YAAac,IAAUM,O","file":"features/followers.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { debounce } from 'lodash';\nimport LoadingIndicator from '../../components/loading_indicator';\nimport {\n fetchAccount,\n fetchFollowers,\n expandFollowers,\n} from '../../actions/accounts';\nimport { FormattedMessage } from 'react-intl';\nimport AccountContainer from '../../containers/account_container';\nimport Column from '../ui/components/column';\nimport HeaderContainer from '../account_timeline/containers/header_container';\nimport ColumnBackButton from '../../components/column_back_button';\nimport ScrollableList from '../../components/scrollable_list';\nimport MissingIndicator from 'mastodon/components/missing_indicator';\n\nconst mapStateToProps = (state, props) => ({\n isAccount: !!state.getIn(['accounts', props.params.accountId]),\n accountIds: state.getIn(['user_lists', 'followers', props.params.accountId, 'items']),\n hasMore: !!state.getIn(['user_lists', 'followers', props.params.accountId, 'next']),\n blockedBy: state.getIn(['relationships', props.params.accountId, 'blocked_by'], false),\n});\n\nexport default @connect(mapStateToProps)\nclass Followers extends ImmutablePureComponent {\n\n static propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n shouldUpdateScroll: PropTypes.func,\n accountIds: ImmutablePropTypes.list,\n hasMore: PropTypes.bool,\n blockedBy: PropTypes.bool,\n isAccount: PropTypes.bool,\n multiColumn: PropTypes.bool,\n };\n\n componentWillMount () {\n if (!this.props.accountIds) {\n this.props.dispatch(fetchAccount(this.props.params.accountId));\n this.props.dispatch(fetchFollowers(this.props.params.accountId));\n }\n }\n\n componentWillReceiveProps (nextProps) {\n if (nextProps.params.accountId !== this.props.params.accountId && nextProps.params.accountId) {\n this.props.dispatch(fetchAccount(nextProps.params.accountId));\n this.props.dispatch(fetchFollowers(nextProps.params.accountId));\n }\n }\n\n handleLoadMore = debounce(() => {\n this.props.dispatch(expandFollowers(this.props.params.accountId));\n }, 300, { leading: true });\n\n render () {\n const { shouldUpdateScroll, accountIds, hasMore, blockedBy, isAccount, multiColumn } = this.props;\n\n if (!isAccount) {\n return (\n <Column>\n <MissingIndicator />\n </Column>\n );\n }\n\n if (!accountIds) {\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='account.followers.empty' defaultMessage='No one follows this user yet.' />;\n\n return (\n <Column>\n <ColumnBackButton multiColumn={multiColumn} />\n\n <ScrollableList\n scrollKey='followers'\n hasMore={hasMore}\n onLoadMore={this.handleLoadMore}\n shouldUpdateScroll={shouldUpdateScroll}\n prepend={<HeaderContainer accountId={this.props.params.accountId} hideTabs />}\n alwaysPrepend\n emptyMessage={emptyMessage}\n bindToDocument={!multiColumn}\n >\n {blockedBy ? [] : accountIds.map(id =>\n <AccountContainer key={id} id={id} withNote={false} />\n )}\n </ScrollableList>\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""} |