diff options
Diffstat (limited to 'src/reducers/follow.js')
| -rw-r--r-- | src/reducers/follow.js | 31 | 
1 files changed, 31 insertions, 0 deletions
| diff --git a/src/reducers/follow.js b/src/reducers/follow.js new file mode 100644 index 0000000..136b367 --- /dev/null +++ b/src/reducers/follow.js @@ -0,0 +1,31 @@ +import actions from '../actions'; + +const defaultState = { +  enabled: false, +  newTab: false, +  keys: [], +}; + +export default function reducer(state = defaultState, action = {}) { +  switch (action.type) { +  case actions.FOLLOW_ENABLE: +    return Object.assign({}, state, { +      enabled: true, +      newTab: action.newTab, +    }); +  case actions.FOLLOW_DISABLE: +    return Object.assign({}, state, { +      enabled: false, +    }); +  case actions.FOLLOW_KEY_PRESS: +    return Object.assign({}, state, { +      keys: state.keys.concat([action.key]), +    }); +  case actions.FOLLOW_BACKSPACE: +    return Object.assign({}, state, { +      keys: state.keys.slice(0, -1), +    }); +  default: +    return state; +  } +} | 
