diff options
Diffstat (limited to 'app/javascript/mastodon/features/notifications/containers/column_settings_container.js')
-rw-r--r-- | app/javascript/mastodon/features/notifications/containers/column_settings_container.js | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/app/javascript/mastodon/features/notifications/containers/column_settings_container.js b/app/javascript/mastodon/features/notifications/containers/column_settings_container.js index 76991d541..b139d4615 100644 --- a/app/javascript/mastodon/features/notifications/containers/column_settings_container.js +++ b/app/javascript/mastodon/features/notifications/containers/column_settings_container.js @@ -1,12 +1,20 @@ import { connect } from 'react-redux'; +import { defineMessages, injectIntl } from 'react-intl'; import ColumnSettings from '../components/column_settings'; import { changeSetting, saveSettings } from '../../../actions/settings'; +import { clearNotifications } from '../../../actions/notifications'; +import { openModal } from '../../../actions/modal'; + +const messages = defineMessages({ + clearMessage: { id: 'notifications.clear_confirmation', defaultMessage: 'Are you sure you want to permanently clear all your notifications?' }, + clearConfirm: { id: 'notifications.clear', defaultMessage: 'Clear notifications' }, +}); const mapStateToProps = state => ({ settings: state.getIn(['settings', 'notifications']), }); -const mapDispatchToProps = dispatch => ({ +const mapDispatchToProps = (dispatch, { intl }) => ({ onChange (key, checked) { dispatch(changeSetting(['notifications', ...key], checked)); @@ -16,6 +24,14 @@ const mapDispatchToProps = dispatch => ({ dispatch(saveSettings()); }, + onClear () { + dispatch(openModal('CONFIRM', { + message: intl.formatMessage(messages.clearMessage), + confirm: intl.formatMessage(messages.clearConfirm), + onConfirm: () => dispatch(clearNotifications()), + })); + }, + }); -export default connect(mapStateToProps, mapDispatchToProps)(ColumnSettings); +export default injectIntl(connect(mapStateToProps, mapDispatchToProps)(ColumnSettings)); |