Compare commits
1 Commits
master
...
feature/sc
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e8aebf2b62 |
40
src/services/scroll.reducer.ts
Normal file
40
src/services/scroll.reducer.ts
Normal file
@ -0,0 +1,40 @@
|
||||
const reducer = (state, action) => {
|
||||
switch (action.type) {
|
||||
case "UPDATE_TOTAL_TO_SCROLL": {
|
||||
const totalToScroll = action.payload;
|
||||
const result = { ...state };
|
||||
if (state.lastTotalToScroll !== totalToScroll) {
|
||||
result.lastTotalToScroll = state.totalToScroll;
|
||||
result.totalToScroll = totalToScroll;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
case "UPDATE_LAST_SCROLL_POSITION": {
|
||||
return {
|
||||
...state,
|
||||
lastScrollPosition: action.payload
|
||||
};
|
||||
}
|
||||
|
||||
case "UPDATE_TRIGGERED_FLAGS": {
|
||||
const { payload: { scroll, down } } = action;
|
||||
const triggered = {
|
||||
...state.triggered
|
||||
};
|
||||
if (down) {
|
||||
triggered.down = scroll;
|
||||
} else {
|
||||
triggered.up = scroll;
|
||||
}
|
||||
return {
|
||||
...state,
|
||||
triggered
|
||||
};
|
||||
}
|
||||
|
||||
default: {
|
||||
return state;
|
||||
}
|
||||
}
|
||||
};
|
||||
Loading…
Reference in New Issue
Block a user