1 line
7 KiB
Plaintext
1 line
7 KiB
Plaintext
{"version":3,"sources":["webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/flavours/glitch/features/account_timeline/index.js"],"names":["AccountTimeline","connect","state","accountId","params","withReplies","path","isAccount","getIn","statusIds","ImmutableList","featuredStatusIds","isLoading","hasMore","column","scrollTop","maxId","props","dispatch","expandAccountTimeline","c","componentWillMount","this","fetchAccount","fetchAccountIdentityProofs","expandAccountFeaturedTimeline","componentWillReceiveProps","nextProps","render","ref","setRef","name","onClick","handleHeaderClick","prepend","alwaysPrepend","scrollKey","onLoadMore","handleLoadMore","emptyMessage","id","defaultMessage","ImmutablePureComponent","PropTypes","object","isRequired","func","ImmutablePropTypes","list","bool"],"mappings":"4UA8BMA,EADUC,kBAZQ,SAACC,EAAD,GAA4D,IAAxCC,EAAuC,EAAjDC,OAAUD,UAAuC,IAA1BE,mBAA0B,SAC3EC,EAAOD,EAAiBF,EAAN,gBAAiCA,EAEzD,MAAO,CACLI,YAAaL,EAAMM,MAAM,CAAC,WAAYL,IACtCM,UAAWP,EAAMM,MAAM,CAAC,YAAD,WAAyBF,EAAQ,SAAUI,kBAClEC,kBAAmBN,EAAcK,iBAAkBR,EAAMM,MAAM,CAAC,YAAD,WAAyBL,EAAzB,UAA6C,SAAUO,kBACtHE,UAAWV,EAAMM,MAAM,CAAC,YAAD,WAAyBF,EAAQ,cACxDO,QAAWX,EAAMM,MAAM,CAAC,YAAD,WAAyBF,EAAQ,c,wMAwCtC,WAClB,EAAKQ,OAAOC,c,4CAGG,SAAAC,GACf,EAAKC,MAAMC,SAASC,YAAsB,EAAKF,MAAMb,OAAOD,UAAW,CAAEa,QAAOX,YAAa,EAAKY,MAAMZ,iB,oCAGjG,SAAAe,GACP,EAAKN,OAASM,I,8CA/BhBC,mBAAA,WAAuB,IAAD,EAC2BC,KAAKL,MAAlCd,EADE,EACZC,OAAUD,UAAaE,EADX,EACWA,YAE/BiB,KAAKL,MAAMC,SAASK,YAAapB,IACjCmB,KAAKL,MAAMC,SAASM,YAA2BrB,IAC1CE,GACHiB,KAAKL,MAAMC,SAASO,YAA8BtB,IAEpDmB,KAAKL,MAAMC,SAASC,YAAsBhB,EAAW,CAAEE,kB,EAGzDqB,0BAAA,SAA2BC,IACpBA,EAAUvB,OAAOD,YAAcmB,KAAKL,MAAMb,OAAOD,WAAawB,EAAUvB,OAAOD,WAAcwB,EAAUtB,cAAgBiB,KAAKL,MAAMZ,eACrIiB,KAAKL,MAAMC,SAASK,YAAaI,EAAUvB,OAAOD,YAClDmB,KAAKL,MAAMC,SAASM,YAA2BG,EAAUvB,OAAOD,YAC3DwB,EAAUtB,aACbiB,KAAKL,MAAMC,SAASO,YAA8BE,EAAUvB,OAAOD,YAErEmB,KAAKL,MAAMC,SAASC,YAAsBQ,EAAUvB,OAAOD,UAAW,CAAEE,YAAasB,EAAUvB,OAAOC,iB,EAgB1GuB,OAAA,WAAW,IAAD,EACgEN,KAAKL,MAArER,EADA,EACAA,UAAWE,EADX,EACWA,kBAAmBC,EAD9B,EAC8BA,UAAWC,EADzC,EACyCA,QAEjD,OAHQ,EACkDN,WAUrDE,GAAaG,EAEd,YAAC,IAAD,UACE,YAAC,IAAD,KAMJ,kBAAC,IAAD,CAAQiB,IAAKP,KAAKQ,OAAQC,KAAK,WAC7B,YAAC,IAAD,CAAqBC,QAASV,KAAKW,oBAEnC,YAAC,IAAD,CACEC,QAAS,YAAC,IAAD,CAAiB/B,UAAWmB,KAAKL,MAAMb,OAAOD,YACvDgC,eAAa,EACbC,UAAU,mBACV3B,UAAWA,EACXE,kBAAmBA,EACnBC,UAAWA,EACXC,QAASA,EACTwB,WAAYf,KAAKgB,eACjBC,aAAc,YAAC,IAAD,CAAkBC,GAAG,gCAAgCC,eAAe,sBA3BpF,YAAC,IAAD,UACE,YAAC,IAAD,M,GArDoBC,K,0BAET,CACjBtC,OAAQuC,IAAUC,OAAOC,WACzB3B,SAAUyB,IAAUG,KAAKD,WACzBpC,UAAWsC,IAAmBC,KAC9BrC,kBAAmBoC,IAAmBC,KACtCpC,UAAW+B,IAAUM,KACrBpC,QAAS8B,IAAUM,KACnB5C,YAAasC,IAAUM,KACvB1C,UAAWoC,IAAUM,O","file":"flavours/glitch/async/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 'flavours/glitch/actions/accounts';\nimport { expandAccountFeaturedTimeline, expandAccountTimeline } from 'flavours/glitch/actions/timelines';\nimport StatusList from '../../components/status_list';\nimport LoadingIndicator from '../../components/loading_indicator';\nimport Column from '../ui/components/column';\nimport ProfileColumnHeader from 'flavours/glitch/features/account/components/profile_column_header';\nimport HeaderContainer from './containers/header_container';\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 'flavours/glitch/components/missing_indicator';\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'], ImmutableList()),\n featuredStatusIds: withReplies ? ImmutableList() : state.getIn(['timelines', `account:${accountId}:pinned`, 'items'], ImmutableList()),\n isLoading: state.getIn(['timelines', `account:${path}`, 'isLoading']),\n hasMore: state.getIn(['timelines', `account:${path}`, 'hasMore']),\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 statusIds: ImmutablePropTypes.list,\n featuredStatusIds: ImmutablePropTypes.list,\n isLoading: PropTypes.bool,\n hasMore: PropTypes.bool,\n withReplies: PropTypes.bool,\n isAccount: 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 if (!withReplies) {\n this.props.dispatch(expandAccountFeaturedTimeline(accountId));\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 if (!nextProps.withReplies) {\n this.props.dispatch(expandAccountFeaturedTimeline(nextProps.params.accountId));\n }\n this.props.dispatch(expandAccountTimeline(nextProps.params.accountId, { withReplies: nextProps.params.withReplies }));\n }\n }\n\n handleHeaderClick = () => {\n this.column.scrollTop();\n }\n\n handleLoadMore = maxId => {\n this.props.dispatch(expandAccountTimeline(this.props.params.accountId, { maxId, withReplies: this.props.withReplies }));\n }\n\n setRef = c => {\n this.column = c;\n }\n\n render () {\n const { statusIds, featuredStatusIds, isLoading, hasMore, isAccount } = this.props;\n\n if (!isAccount) {\n return (\n <Column>\n <MissingIndicator />\n </Column>\n );\n }\n\n if (!statusIds && isLoading) {\n return (\n <Column>\n <LoadingIndicator />\n </Column>\n );\n }\n\n return (\n <Column ref={this.setRef} name='account'>\n <ProfileColumnHeader onClick={this.handleHeaderClick} />\n\n <StatusList\n prepend={<HeaderContainer accountId={this.props.params.accountId} />}\n alwaysPrepend\n scrollKey='account_timeline'\n statusIds={statusIds}\n featuredStatusIds={featuredStatusIds}\n isLoading={isLoading}\n hasMore={hasMore}\n onLoadMore={this.handleLoadMore}\n emptyMessage={<FormattedMessage id='empty_column.account_timeline' defaultMessage='No toots here!' />}\n />\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""} |