From: ThibG Date: Wed, 9 Dec 2020 18:16:30 +0000 (+0100) Subject: [Glitch] Fix notifications being unnecessarily redrawn on state change X-Git-Url: https://git.xn--scling-oua.cat.family/?a=commitdiff_plain;h=237025b5efdd8294efb0e5e63bf6cabd84344553;p=mastodon.git [Glitch] Fix notifications being unnecessarily redrawn on state change Port 9669167aaeaa834dcc99fa7df961c4f9b8118850 to glitch-soc Co-authored-by: Claire Signed-off-by: Claire --- diff --git a/app/javascript/flavours/glitch/features/notifications/index.js b/app/javascript/flavours/glitch/features/notifications/index.js index 97434b586..73d969517 100644 --- a/app/javascript/flavours/glitch/features/notifications/index.js +++ b/app/javascript/flavours/glitch/features/notifications/index.js @@ -37,10 +37,16 @@ const messages = defineMessages({ markAsRead : { id: 'notifications.mark_as_read', defaultMessage: 'Mark every notification as read' }, }); +const getExcludedTypes = createSelector([ + state => state.getIn(['settings', 'notifications', 'shows']), +], (shows) => { + return ImmutableList(shows.filter(item => !item).keys()); +}); + const getNotifications = createSelector([ state => state.getIn(['settings', 'notifications', 'quickFilter', 'show']), state => state.getIn(['settings', 'notifications', 'quickFilter', 'active']), - state => ImmutableList(state.getIn(['settings', 'notifications', 'shows']).filter(item => !item).keys()), + getExcludedTypes, state => state.getIn(['notifications', 'items']), ], (showFilterBar, allowedType, excludedTypes, notifications) => { if (!showFilterBar || allowedType === 'all') {