mastodon/app/javascript/flavours/glitch/containers/domain_container.jsx

34 lines
1.2 KiB
React
Raw Normal View History

import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
2018-03-04 20:46:27 +00:00
import { connect } from 'react-redux';
2018-03-04 20:46:27 +00:00
import { blockDomain, unblockDomain } from '../actions/domain_blocks';
import { openModal } from '../actions/modal';
import { Domain } from '../components/domain';
2018-03-04 20:46:27 +00:00
const messages = defineMessages({
blockDomainConfirm: { id: 'confirmations.domain_block.confirm', defaultMessage: 'Block entire domain' },
2018-03-04 20:46:27 +00:00
});
const makeMapStateToProps = () => {
const mapStateToProps = () => ({});
2018-03-04 20:46:27 +00:00
return mapStateToProps;
};
const mapDispatchToProps = (dispatch, { intl }) => ({
onBlockDomain (domain) {
dispatch(openModal('CONFIRM', {
message: <FormattedMessage id='confirmations.domain_block.message' defaultMessage='Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.' values={{ domain: <strong>{domain}</strong> }} />,
confirm: intl.formatMessage(messages.blockDomainConfirm),
onConfirm: () => dispatch(blockDomain(domain)),
}));
},
onUnblockDomain (domain) {
dispatch(unblockDomain(domain));
},
});
export default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Domain));