1 | import { UPDATE_SCROLL_TOP, START_CONSECUTIVE_TOGGLE } from './actions';
|
2 |
|
3 | function initialScrollTop(props, state = 0, action) {
|
4 | if (!props.preserveScrollTop) {
|
5 | return 0;
|
6 | }
|
7 |
|
8 | return action.type === UPDATE_SCROLL_TOP ? action.scrollTop : state;
|
9 | }
|
10 |
|
11 | function startConsecutiveToggle(props, state, action) {
|
12 | return action.type === START_CONSECUTIVE_TOGGLE ? action.id : state;
|
13 | }
|
14 |
|
15 | export default function reducer(props, state = {}, action) {
|
16 | return {
|
17 | initialScrollTop: initialScrollTop(props, state.initialScrollTop, action),
|
18 | consecutiveToggleStartId: startConsecutiveToggle(
|
19 | props,
|
20 | state.consecutiveToggleStartId,
|
21 | action
|
22 | )
|
23 | };
|
24 | }
|