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.js
2017-10-08 15:04:55 +09:00

32 lines
716 B
JavaScript

import actions from 'content/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,
keys: '',
});
case actions.FOLLOW_DISABLE:
return Object.assign({}, state, {
enabled: false,
});
case actions.FOLLOW_KEY_PRESS:
return Object.assign({}, state, {
keys: state.keys + action.key,
});
case actions.FOLLOW_BACKSPACE:
return Object.assign({}, state, {
keys: state.keys.slice(0, -1),
});
default:
return state;
}
}