catstodon/app/javascript/flavours/glitch/reducers/height_cache.js

25 lines
634 B
JavaScript
Raw Normal View History

2017-09-13 10:24:33 +02:00
import { Map as ImmutableMap } from 'immutable';
2017-12-04 08:26:40 +01:00
import { HEIGHT_CACHE_SET, HEIGHT_CACHE_CLEAR } from 'flavours/glitch/actions/height_cache';
2017-09-13 10:24:33 +02:00
const initialState = ImmutableMap();
const setHeight = (state, key, id, height) => {
return state.update(key, ImmutableMap(), map => map.set(id, height));
};
const clearHeights = () => {
return ImmutableMap();
};
export default function statuses(state = initialState, action) {
switch(action.type) {
case HEIGHT_CACHE_SET:
return setHeight(state, action.key, action.id, action.height);
case HEIGHT_CACHE_CLEAR:
return clearHeights();
default:
return state;
}
}