Decrease count of filtered notifications when notification requests are accepted or dismissed (#31149)
This commit is contained in:
parent
c091fa7105
commit
dfd43869c9
3 changed files with 34 additions and 9 deletions
|
@ -2,17 +2,25 @@ import { createReducer, isAnyOf } from '@reduxjs/toolkit';
|
|||
|
||||
import {
|
||||
fetchNotificationPolicy,
|
||||
decreasePendingNotificationsCount,
|
||||
updateNotificationsPolicy,
|
||||
} from 'mastodon/actions/notification_policies';
|
||||
import type { NotificationPolicy } from 'mastodon/models/notification_policy';
|
||||
|
||||
export const notificationPolicyReducer =
|
||||
createReducer<NotificationPolicy | null>(null, (builder) => {
|
||||
builder.addMatcher(
|
||||
isAnyOf(
|
||||
fetchNotificationPolicy.fulfilled,
|
||||
updateNotificationsPolicy.fulfilled,
|
||||
),
|
||||
(_state, action) => action.payload,
|
||||
);
|
||||
builder
|
||||
.addCase(decreasePendingNotificationsCount, (state, action) => {
|
||||
if (state) {
|
||||
state.summary.pending_notifications_count -= action.payload;
|
||||
state.summary.pending_requests_count -= 1;
|
||||
}
|
||||
})
|
||||
.addMatcher(
|
||||
isAnyOf(
|
||||
fetchNotificationPolicy.fulfilled,
|
||||
updateNotificationsPolicy.fulfilled,
|
||||
),
|
||||
(_state, action) => action.payload,
|
||||
);
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue