about summary refs log tree commit diff
path: root/app/javascript/flavours/glitch/initial_state.js
diff options
context:
space:
mode:
authorClaire <claire.github-309c@sitedethib.com>2022-10-11 19:22:48 +0200
committerGitHub <noreply@github.com>2022-10-11 19:22:48 +0200
commitb01faa7375493ee91f7e9dfa32b0af3058c8d16f (patch)
tree42ef2359b2f85e5210172240b73ce735f1e92293 /app/javascript/flavours/glitch/initial_state.js
parent94713940c7f28e9aff50071cf63d897c8e355ee6 (diff)
parente1db6cf320d5a1b3f7c87f4bd9e6f2f1a0c0585f (diff)
Merge pull request #1862 from ClearlyClaire/glitch-soc/refactor/upstream-discrepancies
Refactor glitch-soc front-end to limit discrepancies with upstream
Diffstat (limited to 'app/javascript/flavours/glitch/initial_state.js')
-rw-r--r--app/javascript/flavours/glitch/initial_state.js45
1 files changed, 45 insertions, 0 deletions
diff --git a/app/javascript/flavours/glitch/initial_state.js b/app/javascript/flavours/glitch/initial_state.js
new file mode 100644
index 000000000..0f2484ba3
--- /dev/null
+++ b/app/javascript/flavours/glitch/initial_state.js
@@ -0,0 +1,45 @@
+const element = document.getElementById('initial-state');
+const initialState = element && JSON.parse(element.textContent);
+
+// Glitch-soc-specific “local settings”
+try {
+  initialState.local_settings = JSON.parse(localStorage.getItem('mastodon-settings'));
+} catch (e) {
+  initialState.local_settings = {};
+}
+
+const getMeta = (prop) => initialState && initialState.meta && initialState.meta[prop];
+
+export const domain = getMeta('domain');
+export const reduceMotion = getMeta('reduce_motion');
+export const autoPlayGif = getMeta('auto_play_gif');
+export const displayMedia = getMeta('display_media');
+export const expandSpoilers = getMeta('expand_spoilers');
+export const unfollowModal = getMeta('unfollow_modal');
+export const boostModal = getMeta('boost_modal');
+export const deleteModal = getMeta('delete_modal');
+export const me = getMeta('me');
+export const searchEnabled = getMeta('search_enabled');
+export const maxChars = (initialState && initialState.max_toot_chars) || 500;
+export const limitedFederationMode = getMeta('limited_federation_mode');
+export const registrationsOpen = getMeta('registrations_open');
+export const repository = getMeta('repository');
+export const source_url = getMeta('source_url');
+export const version = getMeta('version');
+export const mascot = getMeta('mascot');
+export const profile_directory = getMeta('profile_directory');
+export const forceSingleColumn = !getMeta('advanced_layout');
+export const useBlurhash = getMeta('use_blurhash');
+export const usePendingItems = getMeta('use_pending_items');
+export const showTrends = getMeta('trends');
+export const title = getMeta('title');
+export const disableSwiping = getMeta('disable_swiping');
+export const languages = initialState && initialState.languages;
+
+// Glitch-soc-specific settings
+export const favouriteModal = getMeta('favourite_modal');
+export const pollLimits = (initialState && initialState.poll_limits);
+export const defaultContentType = getMeta('default_content_type');
+export const useSystemEmojiFont = getMeta('system_emoji_font');
+
+export default initialState;