simplify getNotifications once frontend filtering is not needed for FilterBar

pull/9399/head
alxd 2018-12-12 16:41:31 +01:00
parent 0a9de4a2cb
commit 9f4be78571
1 changed files with 4 additions and 10 deletions

View File

@ -21,18 +21,12 @@ const messages = defineMessages({
});
const getNotifications = createSelector([
// TODO: Remove the first two arguments and simplify
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()),
state => state.getIn(['notifications', 'items']),
], (showFilterBar, allowedType, excludedTypes, notifications) => {
if (!showFilterBar || allowedType === 'all') {
// used if user changed the notification settings after loading the notifications from the server
// otherwise a list of notifications will come pre-filtered from the backend
return notifications.filterNot(item => item !== null && excludedTypes.includes(item.get('type')));
}
return notifications.filter(item => item !== null && allowedType === item.get('type'));
], (excludedTypes, notifications) => {
// used if user changed the notification settings after loading the notifications from the server
// otherwise a list of notifications will come pre-filtered from the backend
return notifications.filterNot(item => item !== null && excludedTypes.includes(item.get('type')));
});
const mapStateToProps = state => ({