diff options
author | Shin'ya Ueoka <ueokande@i-beam.org> | 2018-10-11 15:00:50 +0900 |
---|---|---|
committer | Shin'ya Ueoka <ueokande@i-beam.org> | 2018-10-11 15:00:50 +0900 |
commit | bf283c732ef9424d365ca1b09ce8b174f61c336c (patch) | |
tree | 3b6ffba5e3a9d2dda059a61fddd2f2b52baf0608 /src/content/reducers/mark.js | |
parent | bf8cfbcb35365f83c94851a78bb0ea797e9d9ae2 (diff) |
Add mark action and reducer
Diffstat (limited to 'src/content/reducers/mark.js')
-rw-r--r-- | src/content/reducers/mark.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/content/reducers/mark.js b/src/content/reducers/mark.js new file mode 100644 index 0000000..b6a071f --- /dev/null +++ b/src/content/reducers/mark.js @@ -0,0 +1,25 @@ +import actions from 'content/actions'; + +const defaultState = { + set: false, + jump: false, + marks: {}, +}; + +export default function reducer(state = defaultState, action = {}) { + switch (action.type) { + case actions.MARK_START_SET: + return { ...state, set: true }; + case actions.MARK_START_JUMP: + return { ...state, jump: true }; + case actions.MARK_CANCEL: + return { ...state, set: false, jump: false }; + case actions.MARK_SET_LOCAL: { + let marks = { ...state.marks }; + marks[action.key] = { y: action.y }; + return { ...state, marks }; + } + default: + return state; + } +} |