diff options
Diffstat (limited to 'app/javascript/mastodon/features/blocks/index.js')
-rw-r--r-- | app/javascript/mastodon/features/blocks/index.js | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/app/javascript/mastodon/features/blocks/index.js b/app/javascript/mastodon/features/blocks/index.js deleted file mode 100644 index e00f2b60e..000000000 --- a/app/javascript/mastodon/features/blocks/index.js +++ /dev/null @@ -1,79 +0,0 @@ -import React from 'react'; -import { connect } from 'react-redux'; -import { defineMessages, injectIntl, FormattedMessage } from 'react-intl'; -import ImmutablePureComponent from 'react-immutable-pure-component'; -import ImmutablePropTypes from 'react-immutable-proptypes'; -import { debounce } from 'lodash'; -import PropTypes from 'prop-types'; -import LoadingIndicator from '../../components/loading_indicator'; -import Column from '../ui/components/column'; -import ColumnBackButtonSlim from '../../components/column_back_button_slim'; -import AccountContainer from '../../containers/account_container'; -import { fetchBlocks, expandBlocks } from '../../actions/blocks'; -import ScrollableList from '../../components/scrollable_list'; - -const messages = defineMessages({ - heading: { id: 'column.blocks', defaultMessage: 'Blocked users' }, -}); - -const mapStateToProps = state => ({ - accountIds: state.getIn(['user_lists', 'blocks', 'items']), - hasMore: !!state.getIn(['user_lists', 'blocks', 'next']), - isLoading: state.getIn(['user_lists', 'blocks', 'isLoading'], true), -}); - -export default @connect(mapStateToProps) -@injectIntl -class Blocks extends ImmutablePureComponent { - - static propTypes = { - params: PropTypes.object.isRequired, - dispatch: PropTypes.func.isRequired, - accountIds: ImmutablePropTypes.list, - hasMore: PropTypes.bool, - isLoading: PropTypes.bool, - intl: PropTypes.object.isRequired, - multiColumn: PropTypes.bool, - }; - - componentWillMount () { - this.props.dispatch(fetchBlocks()); - } - - handleLoadMore = debounce(() => { - this.props.dispatch(expandBlocks()); - }, 300, { leading: true }); - - render () { - const { intl, accountIds, hasMore, multiColumn, isLoading } = this.props; - - if (!accountIds) { - return ( - <Column> - <LoadingIndicator /> - </Column> - ); - } - - const emptyMessage = <FormattedMessage id='empty_column.blocks' defaultMessage="You haven't blocked any users yet." />; - - return ( - <Column bindToDocument={!multiColumn} icon='ban' heading={intl.formatMessage(messages.heading)}> - <ColumnBackButtonSlim /> - <ScrollableList - scrollKey='blocks' - onLoadMore={this.handleLoadMore} - hasMore={hasMore} - isLoading={isLoading} - emptyMessage={emptyMessage} - bindToDocument={!multiColumn} - > - {accountIds.map(id => - <AccountContainer key={id} id={id} defaultAction='block' />, - )} - </ScrollableList> - </Column> - ); - } - -} |