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; + } +} |