You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
21 lines
627 B
21 lines
627 B
import { Map as ImmutableMap } from 'immutable'; |
|
import { NOTIFICATIONS_UPDATE } from 'mastodon/actions/notifications'; |
|
import { APP_FOCUS, APP_UNFOCUS } from 'mastodon/actions/app'; |
|
|
|
const initialState = ImmutableMap({ |
|
focused: true, |
|
unread: 0, |
|
}); |
|
|
|
export default function missed_updates(state = initialState, action) { |
|
switch(action.type) { |
|
case APP_FOCUS: |
|
return state.set('focused', true).set('unread', 0); |
|
case APP_UNFOCUS: |
|
return state.set('focused', false); |
|
case NOTIFICATIONS_UPDATE: |
|
return state.get('focused') ? state : state.update('unread', x => x + 1); |
|
default: |
|
return state; |
|
} |
|
};
|
|
|