22 lines
		
	
	
		
			627 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			627 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
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;
 | 
						|
  }
 | 
						|
};
 |