diff options
Diffstat (limited to 'app/javascript/mastodon/features/list_editor/components/account.js')
-rw-r--r-- | app/javascript/mastodon/features/list_editor/components/account.js | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/app/javascript/mastodon/features/list_editor/components/account.js b/app/javascript/mastodon/features/list_editor/components/account.js deleted file mode 100644 index 48085af43..000000000 --- a/app/javascript/mastodon/features/list_editor/components/account.js +++ /dev/null @@ -1,77 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { connect } from 'react-redux'; -import { makeGetAccount } from '../../../selectors'; -import ImmutablePureComponent from 'react-immutable-pure-component'; -import ImmutablePropTypes from 'react-immutable-proptypes'; -import Avatar from '../../../components/avatar'; -import DisplayName from '../../../components/display_name'; -import IconButton from '../../../components/icon_button'; -import { defineMessages, injectIntl } from 'react-intl'; -import { removeFromListEditor, addToListEditor } from '../../../actions/lists'; - -const messages = defineMessages({ - remove: { id: 'lists.account.remove', defaultMessage: 'Remove from list' }, - add: { id: 'lists.account.add', defaultMessage: 'Add to list' }, -}); - -const makeMapStateToProps = () => { - const getAccount = makeGetAccount(); - - const mapStateToProps = (state, { accountId, added }) => ({ - account: getAccount(state, accountId), - added: typeof added === 'undefined' ? state.getIn(['listEditor', 'accounts', 'items']).includes(accountId) : added, - }); - - return mapStateToProps; -}; - -const mapDispatchToProps = (dispatch, { accountId }) => ({ - onRemove: () => dispatch(removeFromListEditor(accountId)), - onAdd: () => dispatch(addToListEditor(accountId)), -}); - -export default @connect(makeMapStateToProps, mapDispatchToProps) -@injectIntl -class Account extends ImmutablePureComponent { - - static propTypes = { - account: ImmutablePropTypes.map.isRequired, - intl: PropTypes.object.isRequired, - onRemove: PropTypes.func.isRequired, - onAdd: PropTypes.func.isRequired, - added: PropTypes.bool, - }; - - static defaultProps = { - added: false, - }; - - render () { - const { account, intl, onRemove, onAdd, added } = this.props; - - let button; - - if (added) { - button = <IconButton icon='times' title={intl.formatMessage(messages.remove)} onClick={onRemove} />; - } else { - button = <IconButton icon='plus' title={intl.formatMessage(messages.add)} onClick={onAdd} />; - } - - return ( - <div className='account'> - <div className='account__wrapper'> - <div className='account__display-name'> - <div className='account__avatar-wrapper'><Avatar account={account} size={36} /></div> - <DisplayName account={account} /> - </div> - - <div className='account__relationship'> - {button} - </div> - </div> - </div> - ); - } - -} |