From 71b93cb207f563397c102f335d057364f376dfed Mon Sep 17 00:00:00 2001 From: Matthew Taylor Date: Fri, 1 Sep 2017 11:07:21 -0400 Subject: [PATCH] reduce unread count on successful admin message dismiss --- src/redux/messages.js | 5 ++++- src/views/messages/container.jsx | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/redux/messages.js b/src/redux/messages.js index 7e32b94c0..ee64fd8f7 100644 --- a/src/redux/messages.js +++ b/src/redux/messages.js @@ -3,6 +3,7 @@ var keyMirror = require('keymirror'); var api = require('../lib/api'); var log = require('../lib/log'); +var messageCountActions = require('./message-count.js'); module.exports.Status = keyMirror({ FETCHED: null, @@ -135,7 +136,7 @@ module.exports.clearMessageCount = function () { }; }; -module.exports.clearAdminMessage = function (messageType, messageId, adminMessages) { +module.exports.clearAdminMessage = function (messageType, messageId, messageCount, adminMessages) { return function (dispatch) { dispatch(module.exports.setStatus('CLEAR_STATUS', module.exports.Status.FETCHING)); api({ @@ -156,6 +157,7 @@ module.exports.clearAdminMessage = function (messageType, messageId, adminMessag if (!body.success) { dispatch(module.exports.setStatus('DELETE_STATUS', module.exports.Status.DELETE_ERROR)); dispatch(module.exports.setMessagesError('messages not cleared')); + return; } if (messageType === 'invite') { @@ -173,6 +175,7 @@ module.exports.clearAdminMessage = function (messageType, messageId, adminMessag adminMessages.splice(toRemove, 1); dispatch(module.exports.setAdminMessages(adminMessages)); } + dispatch(messageCountActions.setCount(messageCount - 1)); dispatch(module.exports.setStatus('DELETE_STATUS', module.exports.Status.FETCHED)); }); }; diff --git a/src/views/messages/container.jsx b/src/views/messages/container.jsx index ac1098f84..a14123854 100644 --- a/src/views/messages/container.jsx +++ b/src/views/messages/container.jsx @@ -95,7 +95,9 @@ var Messages = React.createClass({ adminMessages = this.props.adminMessages; } this.props.dispatch( - messageActions.clearAdminMessage(messageType, messageId, adminMessages) + messageActions.clearAdminMessage( + messageType, messageId, this.props.numNewMessages, adminMessages + ) ); }, handleLoadMoreMessages: function () {