forked from AkkomaGang/akkoma
1 line
No EOL
5.6 KiB
Text
1 line
No EOL
5.6 KiB
Text
{"version":3,"sources":["webpack:///./app/javascript/mastodon/features/followers/index.js"],"names":["Followers","Object","react_redux__WEBPACK_IMPORTED_MODULE_6__","state","props","accountIds","getIn","params","accountId","hasMore","handleLoadMore","lodash_debounce__WEBPACK_IMPORTED_MODULE_4___default","_this","dispatch","_actions_accounts__WEBPACK_IMPORTED_MODULE_11__","leading","componentWillMount","this","componentWillReceiveProps","nextProps","render","_props","shouldUpdateScroll","babel_runtime_helpers_jsx__WEBPACK_IMPORTED_MODULE_0___default","_ui_components_column__WEBPACK_IMPORTED_MODULE_14__","_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","prepend","_account_timeline_containers_header_container__WEBPACK_IMPORTED_MODULE_15__","hideTabs","alwaysPrepend","alwaysShowScrollbar","map","_containers_account_container__WEBPACK_IMPORTED_MODULE_13__","withNote","react_immutable_pure_component__WEBPACK_IMPORTED_MODULE_7__","propTypes","prop_types__WEBPACK_IMPORTED_MODULE_8___default","a","object","isRequired","func","react_immutable_proptypes__WEBPACK_IMPORTED_MODULE_9___default","list","bool"],"mappings":"gWAyBqBA,EADpBC,OAAAC,EAAA,QAAAD,CALuB,SAACE,EAAOC,GAAR,OACtBC,WAAYF,EAAMG,OAAO,aAAc,YAAaF,EAAMG,OAAOC,UAAW,UAC5EC,UAAWN,EAAMG,OAAO,aAAc,YAAaF,EAAMG,OAAOC,UAAW,4LA0B3EE,eAAiBC,IAAS,WACxBC,EAAKR,MAAMS,SAASZ,OAAAa,EAAA,EAAAb,CAAgBW,EAAKR,MAAMG,OAAOC,aACrD,KAAOO,SAAS,6CAdnBC,8BACEC,KAAKb,MAAMS,SAASZ,OAAAa,EAAA,EAAAb,CAAagB,KAAKb,MAAMG,OAAOC,YACnDS,KAAKb,MAAMS,SAASZ,OAAAa,EAAA,EAAAb,CAAegB,KAAKb,MAAMG,OAAOC,yBAGvDU,mCAA2BC,GACrBA,EAAUZ,OAAOC,YAAcS,KAAKb,MAAMG,OAAOC,WAAaW,EAAUZ,OAAOC,YACjFS,KAAKb,MAAMS,SAASZ,OAAAa,EAAA,EAAAb,CAAakB,EAAUZ,OAAOC,YAClDS,KAAKb,MAAMS,SAASZ,OAAAa,EAAA,EAAAb,CAAekB,EAAUZ,OAAOC,0BAQxDY,kBAAU,IAAAC,EAC4CJ,KAAKb,MAAjDkB,EADAD,EACAC,mBAAoBjB,EADpBgB,EACoBhB,WAAYI,EADhCY,EACgCZ,QAExC,IAAKJ,EACH,OAAAkB,IACGC,EAAA,UADH,EAAAD,IAEKE,EAAA,OAKP,IAAMC,EAAAH,IAAgBI,EAAA,GAAhBC,GAAoC,0BAApCC,eAA6E,kCAEnF,OAAAN,IACGC,EAAA,UADH,EAAAD,IAEKO,EAAA,MAFLP,IAIKQ,EAAA,GAJLC,UAKgB,YALhBvB,QAMeA,EANfwB,WAOkBhB,KAAKP,eAPvBY,mBAQ0BA,EAR1BY,QAAAX,IASgBY,EAAA,GAThB3B,UAS2CS,KAAKb,MAAMG,OAAOC,UAT7D4B,UAAA,IAAAC,eAAA,EAAAC,qBAAA,EAAAZ,aAYoBA,QAZpB,EAcOrB,EAAWkC,IAAI,SAAAX,GAAA,OAAAL,IACbiB,EAAA,GADaZ,GACiBA,EADjBa,UAC+B,GAAtBb,WAtDIc,EAAA,KAE9BC,WACLpC,OAAQqC,EAAAC,EAAUC,OAAOC,WACzBlC,SAAU+B,EAAAC,EAAUG,KAAKD,WACzBzB,mBAAoBsB,EAAAC,EAAUG,KAC9B3C,WAAY4C,EAAAJ,EAAmBK,KAC/BzC,QAASmC,EAAAC,EAAUM","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';\n\nconst mapStateToProps = (state, props) => ({\n accountIds: state.getIn(['user_lists', 'followers', props.params.accountId, 'items']),\n hasMore: !!state.getIn(['user_lists', 'followers', props.params.accountId, 'next']),\n});\n\n@connect(mapStateToProps)\nexport default class 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 };\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 } = this.props;\n\n if (!accountIds) {\n return (\n <Column>\n <LoadingIndicator />\n </Column>\n );\n }\n\n const emptyMessage = <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 alwaysShowScrollbar\n emptyMessage={emptyMessage}\n >\n {accountIds.map(id =>\n <AccountContainer key={id} id={id} withNote={false} />\n )}\n </ScrollableList>\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""} |