]> cat aescling's git repositories - mastodon.git/blob - app/javascript/flavours/glitch/containers/notification_purge_buttons_container.js
Merge branch 'master' into glitch-soc/merge-upstream
[mastodon.git] / app / javascript / flavours / glitch / containers / notification_purge_buttons_container.js
1 // Package imports.
2 import { connect } from 'react-redux';
3 import { defineMessages, injectIntl } from 'react-intl';
4
5 // Our imports.
6 import NotificationPurgeButtons from 'flavours/glitch/components/notification_purge_buttons';
7 import {
8 deleteMarkedNotifications,
9 enterNotificationClearingMode,
10 markAllNotifications,
11 } from 'flavours/glitch/actions/notifications';
12 import { openModal } from 'flavours/glitch/actions/modal';
13
14 const messages = defineMessages({
15 clearMessage: { id: 'notifications.marked_clear_confirmation', defaultMessage: 'Are you sure you want to permanently clear all selected notifications?' },
16 clearConfirm: { id: 'notifications.marked_clear', defaultMessage: 'Clear selected notifications' },
17 });
18
19 const mapDispatchToProps = (dispatch, { intl }) => ({
20 onEnterCleaningMode(yes) {
21 dispatch(enterNotificationClearingMode(yes));
22 },
23
24 onDeleteMarked() {
25 dispatch(openModal('CONFIRM', {
26 message: intl.formatMessage(messages.clearMessage),
27 confirm: intl.formatMessage(messages.clearConfirm),
28 onConfirm: () => dispatch(deleteMarkedNotifications()),
29 }));
30 },
31
32 onMarkAll() {
33 dispatch(markAllNotifications(true));
34 },
35
36 onMarkNone() {
37 dispatch(markAllNotifications(false));
38 },
39
40 onInvert() {
41 dispatch(markAllNotifications(null));
42 },
43 });
44
45 const mapStateToProps = state => ({
46 markNewForDelete: state.getIn(['notifications', 'markNewForDelete']),
47 });
48
49 export default injectIntl(connect(mapStateToProps, mapDispatchToProps)(NotificationPurgeButtons));
This page took 0.080676 seconds and 4 git commands to generate.