[#468] Merged `upstream/develop`, resolved conflicts.
[akkoma] / priv / static / packs / flavours / glitch / async / followers.js.map
1 {"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/followers/index.js"],"names":["Followers","connect","state","props","accountIds","getIn","params","accountId","hasMore","e","_e$target","target","scrollTop","scrollHeight","clientHeight","_this","dispatch","expandFollowers","preventDefault","prevRouterProps","_ref","location","mastodonModalOpen","componentWillMount","this","fetchAccount","fetchFollowers","componentWillReceiveProps","nextProps","render","_this$props","loadMore","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","flavours_glitch_components_load_more__WEBPACK_IMPORTED_MODULE_14__","onClick","handleLoadMore","flavours_glitch_features_ui_components_column__WEBPACK_IMPORTED_MODULE_12__","flavours_glitch_components_column_back_button__WEBPACK_IMPORTED_MODULE_15__","react_router_scroll_4__WEBPACK_IMPORTED_MODULE_10__","scrollKey","shouldUpdateScroll","className","onScroll","handleScroll","flavours_glitch_features_account_timeline_containers_header_container__WEBPACK_IMPORTED_MODULE_13__","hideTabs","map","id","flavours_glitch_containers_account_container__WEBPACK_IMPORTED_MODULE_11__","withNote","flavours_glitch_components_loading_indicator__WEBPACK_IMPORTED_MODULE_8__","ImmutablePureComponent","PropTypes","object","isRequired","func","ImmutablePropTypes","list","bool"],"mappings":"6SAwBqBA,EADpBC,kBALuB,SAACC,EAAOC,GAAR,MAAmB,CACzCC,WAAYF,EAAMG,MAAM,CAAC,aAAc,YAAaF,EAAMG,OAAOC,UAAW,UAC5EC,UAAWN,EAAMG,MAAM,CAAC,aAAc,YAAaF,EAAMG,OAAOC,UAAW,2NAyB5D,SAACE,GAAM,IAAAC,EAC8BD,EAAEE,OADhCD,EACZE,YADYF,EACDG,aADCH,EACaI,cAEgBC,EAAKZ,MAAMK,SAC1DO,EAAKZ,MAAMa,SAASC,YAAgBF,EAAKZ,MAAMG,OAAOC,uEAIzC,SAACE,GAChBA,EAAES,iBACFH,EAAKZ,MAAMa,SAASC,YAAgBF,EAAKZ,MAAMG,OAAOC,2EAGnC,SAACY,EAADC,GAAmC,IAAfC,EAAeD,EAAfC,SACvC,UAAOF,GAAmB,IAAIE,UAAY,IAAInB,OAAS,IAAIoB,qBAClDD,EAASnB,OAASmB,EAASnB,MAAMoB,mEA3B5CC,mBAAA,WACEC,KAAKrB,MAAMa,SAASS,YAAaD,KAAKrB,MAAMG,OAAOC,YACnDiB,KAAKrB,MAAMa,SAASU,YAAeF,KAAKrB,MAAMG,OAAOC,eAGvDoB,0BAAA,SAA2BC,GACrBA,EAAUtB,OAAOC,YAAciB,KAAKrB,MAAMG,OAAOC,WAAaqB,EAAUtB,OAAOC,YACjFiB,KAAKrB,MAAMa,SAASS,YAAaG,EAAUtB,OAAOC,YAClDiB,KAAKrB,MAAMa,SAASU,YAAeE,EAAUtB,OAAOC,gBAsBxDsB,OAAA,WAAU,IAAAC,EACwBN,KAAKrB,MAA7BC,EADA0B,EACA1B,WAAYI,EADZsB,EACYtB,QAEhBuB,EAAW,KAEf,OAAK3B,GAQDI,IACFuB,EAAWC,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,CAAUC,QAASX,KAAKY,kBAInCJ,OAAAC,EAAA,EAAAD,CAACK,EAAA,EAAD,UACEL,OAAAC,EAAA,EAAAD,CAACM,EAAA,EAAD,IAEAN,OAAAC,EAAA,EAAAD,CAACO,EAAA,EAAD,CAAiBC,UAAU,YAAYC,mBAAoBjB,KAAKiB,yBAAhE,EACET,OAAAC,EAAA,EAAAD,CAAA,OAAKU,UAAU,aAAaC,SAAUnB,KAAKoB,mBAA3C,EACEZ,OAAAC,EAAA,EAAAD,CAAA,OAAKU,UAAU,kBAAf,EACEV,OAAAC,EAAA,EAAAD,CAACa,EAAA,EAAD,CAAiBtC,UAAWiB,KAAKrB,MAAMG,OAAOC,UAAWuC,UAAQ,IAChE1C,EAAW2C,IAAI,SAAAC,GAAE,OAAIhB,OAAAC,EAAA,EAAAD,CAACiB,EAAA,EAAD,CAA2BD,GAAIA,EAAIE,UAAU,GAAtBF,KAC5CjB,OAnBPC,OAAAC,EAAA,EAAAD,CAACK,EAAA,EAAD,UACEL,OAAAC,EAAA,EAAAD,CAACmB,EAAA,EAAD,SA/C6BC,+BAElB,CACjB9C,OAAQ+C,IAAUC,OAAOC,WACzBvC,SAAUqC,IAAUG,KAAKD,WACzBnD,WAAYqD,IAAmBC,KAC/BlD,QAAS6C,IAAUM","file":"flavours/glitch/async/followers.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport LoadingIndicator from 'flavours/glitch/components/loading_indicator';\nimport {\n fetchAccount,\n fetchFollowers,\n expandFollowers,\n} from 'flavours/glitch/actions/accounts';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport AccountContainer from 'flavours/glitch/containers/account_container';\nimport Column from 'flavours/glitch/features/ui/components/column';\nimport HeaderContainer from 'flavours/glitch/features/account_timeline/containers/header_container';\nimport LoadMore from 'flavours/glitch/components/load_more';\nimport ColumnBackButton from 'flavours/glitch/components/column_back_button';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\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 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 handleScroll = (e) => {\n const { scrollTop, scrollHeight, clientHeight } = e.target;\n\n if (scrollTop === scrollHeight - clientHeight && this.props.hasMore) {\n this.props.dispatch(expandFollowers(this.props.params.accountId));\n }\n }\n\n handleLoadMore = (e) => {\n e.preventDefault();\n this.props.dispatch(expandFollowers(this.props.params.accountId));\n }\n\n shouldUpdateScroll = (prevRouterProps, { location }) => {\n if ((((prevRouterProps || {}).location || {}).state || {}).mastodonModalOpen) return false;\n return !(location.state && location.state.mastodonModalOpen);\n }\n\n render () {\n const { accountIds, hasMore } = this.props;\n\n let loadMore = null;\n\n if (!accountIds) {\n return (\n <Column>\n <LoadingIndicator />\n </Column>\n );\n }\n\n if (hasMore) {\n loadMore = <LoadMore onClick={this.handleLoadMore} />;\n }\n\n return (\n <Column>\n <ColumnBackButton />\n\n <ScrollContainer scrollKey='followers' shouldUpdateScroll={this.shouldUpdateScroll}>\n <div className='scrollable' onScroll={this.handleScroll}>\n <div className='followers'>\n <HeaderContainer accountId={this.props.params.accountId} hideTabs />\n {accountIds.map(id => <AccountContainer key={id} id={id} withNote={false} />)}\n {loadMore}\n </div>\n </div>\n </ScrollContainer>\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}