import Immutable from 'immutable' import { TIMELINE_INJECTION_SHOW, TIMELINE_INJECTION_HIDE, } from '../actions/timeline_injections' const initialState = Immutable.Map({ visibleIds: Immutable.List(), hiddenIds: Immutable.List(), }) export default function timeline_injection(state = initialState, action) { switch(action.type) { case TIMELINE_INJECTION_SHOW: return state.withMutations((map) => { map.update('hiddenIds', (list) => list.filterNot((id) => id === action.injectionId)) map.update('visibleIds', (list) => list.push(action.injectionId)) }) case TIMELINE_INJECTION_HIDE: return state.withMutations((map) => { map.update('visibleIds', (list) => list.filterNot((id) => id === action.injectionId)) map.update('hiddenIds', (list) => list.push(action.injectionId)) }) default: return state } }