};
export const fetchMarkers = () => (dispatch, getState) => {
- const params = { timeline: ['notifications'] };
+ const params = { timeline: ['notifications'] };
- dispatch(fetchMarkersRequest());
+ dispatch(fetchMarkersRequest());
- api(getState).get('/api/v1/markers', { params }).then(response => {
- dispatch(fetchMarkersSuccess(response.data));
- }).catch(error => {
- dispatch(fetchMarkersFail(error));
- });
+ api(getState).get('/api/v1/markers', { params }).then(response => {
+ dispatch(fetchMarkersSuccess(response.data));
+ }).catch(error => {
+ dispatch(fetchMarkersFail(error));
+ });
};
export function fetchMarkersRequest() {
} else {
const mostRecent = items.find(item => item !== null);
if (mostRecent && compareId(lastReadId, mostRecent.get('id')) < 0) {
- mutable.set('lastReadId', mostRecentId);
+ mutable.set('lastReadId', mostRecent.get('id'));
}
}
state = state.set('unread', state.get('pendingItems').size);
const lastNotification = state.get('items').find(item => item !== null);
return state.set('lastReadId', lastNotification ? lastNotification.get('id') : '0');
-}
+};
const updateTop = (state, top) => {
state = state.set('top', top);
};
const deleteByStatus = (state, statusId) => {
+ const lastReadId = state.get('lastReadId');
+
if (shouldCountUnreadNotifications(state)) {
- const lastReadId = state.get('lastReadId');
const deletedUnread = state.get('items').filter(item => item !== null && item.get('status') === statusId && compareId(item.get('id'), lastReadId) > 0);
state = state.update('unread', unread => unread - deletedUnread.size);
}
mutable.set('unread', mutable.get('pendingItems').count(item => item !== null) + mutable.get('items').count(item => item && compareId(item.get('id'), last_read_id) > 0));
}
});
-}
+};
export default function notifications(state = initialState, action) {
let st;