~cytrogen/masto-fe

ref: 20a89f1c8eefa0f766a4650be4d2e5f1fa92ee71 masto-fe/app/javascript/flavours/glitch/reducers/height_cache.js -rw-r--r-- 646 bytes
20a89f1c — Cytrogen [feature] Bookmark folders UI 9 days ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import { Map as ImmutableMap } from "immutable";

import { HEIGHT_CACHE_SET, HEIGHT_CACHE_CLEAR } from "flavours/glitch/actions/height_cache";

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