This repository has been archived on 2020-04-04. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
Vim-Vixen/src/content/reducers/follow-controller.js
2017-11-16 13:03:38 +00:00

34 lines
818 B
JavaScript

import actions from 'content/actions';
const defaultState = {
enabled: false,
newTab: false,
background: false,
keys: '',
};
export default function reducer(state = defaultState, action = {}) {
switch (action.type) {
case actions.FOLLOW_CONTROLLER_ENABLE:
return Object.assign({}, state, {
enabled: true,
newTab: action.newTab,
background: action.background,
keys: '',
});
case actions.FOLLOW_CONTROLLER_DISABLE:
return Object.assign({}, state, {
enabled: false,
});
case actions.FOLLOW_CONTROLLER_KEY_PRESS:
return Object.assign({}, state, {
keys: state.keys + action.key,
});
case actions.FOLLOW_CONTROLLER_BACKSPACE:
return Object.assign({}, state, {
keys: state.keys.slice(0, -1),
});
default:
return state;
}
}