about summary refs log tree commit diff
path: root/app/javascript/glitch/components/column/notif_cleaning_widget/container.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/javascript/glitch/components/column/notif_cleaning_widget/container.js')
-rw-r--r--app/javascript/glitch/components/column/notif_cleaning_widget/container.js56
1 files changed, 56 insertions, 0 deletions
diff --git a/app/javascript/glitch/components/column/notif_cleaning_widget/container.js b/app/javascript/glitch/components/column/notif_cleaning_widget/container.js
new file mode 100644
index 000000000..bf079e3c4
--- /dev/null
+++ b/app/javascript/glitch/components/column/notif_cleaning_widget/container.js
@@ -0,0 +1,56 @@
+/*
+
+`<NotificationPurgeButtonsContainer>`
+=========================
+
+This container connects `<NotificationPurgeButtons>`s to the Redux store.
+
+*/
+
+//  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+
+/*
+
+Imports:
+--------
+
+*/
+
+//  Package imports  //
+import { connect } from 'react-redux';
+
+//  Our imports  //
+import NotificationPurgeButtons from './notification_purge_buttons';
+import {
+  deleteMarkedNotifications,
+  enterNotificationClearingMode,
+} from '../../../../mastodon/actions/notifications';
+
+//  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+
+/*
+
+Dispatch mapping:
+-----------------
+
+The `mapDispatchToProps()` function maps dispatches to our store to the
+various props of our component. We only need to provide a dispatch for
+deleting notifications.
+
+*/
+
+const mapDispatchToProps = dispatch => ({
+  onEnterCleaningMode(yes) {
+    dispatch(enterNotificationClearingMode(yes));
+  },
+
+  onDeleteMarkedNotifications() {
+    dispatch(deleteMarkedNotifications());
+  },
+});
+
+const mapStateToProps = state => ({
+  active: state.getIn(['notifications', 'cleaningMode']),
+});
+
+export default connect(mapStateToProps, mapDispatchToProps)(NotificationPurgeButtons);