about summary refs log tree commit diff
path: root/app/javascript/themes/glitch/reducers/height_cache.js
diff options
context:
space:
mode:
authorbeatrix <beatrix.bitrot@gmail.com>2017-11-18 20:32:17 -0500
committerGitHub <noreply@github.com>2017-11-18 20:32:17 -0500
commitbcda3f85ce1473e9285299979a471525b2cd7034 (patch)
tree80c346945531fe17bdf94b70ecd206a07edd5258 /app/javascript/themes/glitch/reducers/height_cache.js
parentdec960c828390466c8fa802ac30e68041a64bff6 (diff)
parent92cc79be7206534e8c9a9957cc89b5d0eb0bcfac (diff)
Merge pull request #226 from glitch-soc/glitch-theme
Glitch/Vanilla themes
Diffstat (limited to 'app/javascript/themes/glitch/reducers/height_cache.js')
-rw-r--r--app/javascript/themes/glitch/reducers/height_cache.js23
1 files changed, 23 insertions, 0 deletions
diff --git a/app/javascript/themes/glitch/reducers/height_cache.js b/app/javascript/themes/glitch/reducers/height_cache.js
new file mode 100644
index 000000000..93c31b42c
--- /dev/null
+++ b/app/javascript/themes/glitch/reducers/height_cache.js
@@ -0,0 +1,23 @@
+import { Map as ImmutableMap } from 'immutable';
+import { HEIGHT_CACHE_SET, HEIGHT_CACHE_CLEAR } from 'themes/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;
+  }
+};