follow as redux

This commit is contained in:
Shin'ya Ueoka 2017-10-02 21:35:52 +09:00
parent 6f857e2c81
commit 0a7ae631cd
8 changed files with 297 additions and 208 deletions

31
src/reducers/follow.js Normal file
View file

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