|
|
|
@ -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 => ({
|
|
|
|
|