mirror of
https://git.pleroma.social/sjw/pleroma.git
synced 2024-11-17 18:46:14 +01:00
1 line
6.4 KiB
Plaintext
1 line
6.4 KiB
Plaintext
{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/mastodon/features/followers/index.js"],"names":["Followers","connect","state","props","isAccount","getIn","params","accountId","accountIds","hasMore","blockedBy","lodash_debounce__WEBPACK_IMPORTED_MODULE_4___default","_this","dispatch","expandFollowers","leading","componentWillMount","this","fetchAccount","fetchFollowers","componentWillReceiveProps","nextProps","render","_this$props","shouldUpdateScroll","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","_ui_components_column__WEBPACK_IMPORTED_MODULE_14__","mastodon_components_missing_indicator__WEBPACK_IMPORTED_MODULE_18__","_components_loading_indicator__WEBPACK_IMPORTED_MODULE_10__","emptyMessage","react_intl__WEBPACK_IMPORTED_MODULE_12__","id","defaultMessage","_components_column_back_button__WEBPACK_IMPORTED_MODULE_16__","_components_scrollable_list__WEBPACK_IMPORTED_MODULE_17__","scrollKey","onLoadMore","handleLoadMore","prepend","_account_timeline_containers_header_container__WEBPACK_IMPORTED_MODULE_15__","hideTabs","alwaysPrepend","map","_containers_account_container__WEBPACK_IMPORTED_MODULE_13__","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,0MA4B/DI,IAAS,WACxBC,EAAKT,MAAMU,SAASC,YAAgBF,EAAKT,MAAMG,OAAOC,aACrD,IAAK,CAAEQ,SAAS,mDAdnBC,mBAAA,WACEC,KAAKd,MAAMU,SAASK,YAAaD,KAAKd,MAAMG,OAAOC,YACnDU,KAAKd,MAAMU,SAASM,YAAeF,KAAKd,MAAMG,OAAOC,eAGvDa,0BAAA,SAA2BC,GACrBA,EAAUf,OAAOC,YAAcU,KAAKd,MAAMG,OAAOC,WAAac,EAAUf,OAAOC,YACjFU,KAAKd,MAAMU,SAASK,YAAaG,EAAUf,OAAOC,YAClDU,KAAKd,MAAMU,SAASM,YAAeE,EAAUf,OAAOC,gBAQxDe,OAAA,WAAU,IAAAC,EACkEN,KAAKd,MAAvEqB,EADAD,EACAC,mBAAoBhB,EADpBe,EACoBf,WAAYC,EADhCc,EACgCd,QAASC,EADzCa,EACyCb,UAEjD,IAHQa,EACoDnB,UAG1D,OACEqB,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,UACEF,OAAAC,EAAA,EAAAD,CAACG,EAAA,EAAD,KAKN,IAAKpB,EACH,OACEiB,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,UACEF,OAAAC,EAAA,EAAAD,CAACI,EAAA,EAAD,KAKN,IAAMC,EAAepB,EAAYe,OAAAC,EAAA,EAAAD,CAACM,EAAA,EAAD,CAAkBC,GAAG,mCAAmCC,eAAe,wBAA2BR,OAAAC,EAAA,EAAAD,CAACM,EAAA,EAAD,CAAkBC,GAAG,0BAA0BC,eAAe,kCAEjM,OACER,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,UACEF,OAAAC,EAAA,EAAAD,CAACS,EAAA,EAAD,IAEAT,OAAAC,EAAA,EAAAD,CAACU,EAAA,EAAD,CACEC,UAAU,YACV3B,QAASA,EACT4B,WAAYpB,KAAKqB,eACjBd,mBAAoBA,EACpBe,QAASd,OAAAC,EAAA,EAAAD,CAACe,EAAA,EAAD,CAAiBjC,UAAWU,KAAKd,MAAMG,OAAOC,UAAWkC,UAAQ,IAC1EC,eAAa,EACbZ,aAAcA,QAPhB,EASGpB,EAAY,GAAKF,EAAWmC,IAAI,SAAAX,GAAE,OACjCP,OAAAC,EAAA,EAAAD,CAACmB,EAAA,EAAD,CAA2BZ,GAAIA,EAAIa,UAAU,GAAtBb,WA/DXc,+BAEH,CACjBxC,OAAQyC,IAAUC,OAAOC,WACzBpC,SAAUkC,IAAUG,KAAKD,WACzBzB,mBAAoBuB,IAAUG,KAC9B1C,WAAY2C,IAAmBC,KAC/B3C,QAASsC,IAAUM,KACnB3C,UAAWqC,IAAUM,KACrBjD,UAAW2C,IAAUM","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 };\n\n componentWillMount () {\n this.props.dispatch(fetchAccount(this.props.params.accountId));\n this.props.dispatch(fetchFollowers(this.props.params.accountId));\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 } = 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 />\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 >\n {blockedBy ? [] : accountIds.map(id =>\n <AccountContainer key={id} id={id} withNote={false} />\n )}\n </ScrollableList>\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""} |