~cytrogen/masto-fe

ref: 1a4a23b5c8a8e0beacded9bc44354e3f8778ae26 masto-fe/app/javascript/mastodon/reducers/height_cache.js -rw-r--r-- 621 bytes
1a4a23b5 — Claire Merge pull request #2439 from ClearlyClaire/glitch-soc/merge-upstream 2 years 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 '../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;
  }
}