about summary refs log tree commit diff
path: root/app/javascript/flavours/glitch/util/initial_state.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/javascript/flavours/glitch/util/initial_state.js')
-rw-r--r--app/javascript/flavours/glitch/util/initial_state.js23
1 files changed, 23 insertions, 0 deletions
diff --git a/app/javascript/flavours/glitch/util/initial_state.js b/app/javascript/flavours/glitch/util/initial_state.js
new file mode 100644
index 000000000..a22b68f6f
--- /dev/null
+++ b/app/javascript/flavours/glitch/util/initial_state.js
@@ -0,0 +1,23 @@
+const element = document.getElementById('initial-state');
+const initialState = element && function () {
+  const result = JSON.parse(element.textContent);
+  try {
+    result.local_settings = JSON.parse(localStorage.getItem('mastodon-settings'));
+  } catch (e) {
+    result.local_settings = {};
+  }
+  return result;
+}();
+
+const getMeta = (prop) => initialState && initialState.meta && initialState.meta[prop];
+
+export const reduceMotion = getMeta('reduce_motion');
+export const autoPlayGif = getMeta('auto_play_gif');
+export const unfollowModal = getMeta('unfollow_modal');
+export const boostModal = getMeta('boost_modal');
+export const favouriteModal = getMeta('favourite_modal');
+export const deleteModal = getMeta('delete_modal');
+export const me = getMeta('me');
+export const maxChars = initialState.max_toot_chars || 500;
+
+export default initialState;