2dc4fbbd1a
flavours/glitch/util/initial_state is used in places where we want to exhibit different behavior based on user preferences. This means that it's used in places where no preference is defined, i.e. on an unauthenticated access. All values exported from that module must therefore expect that case; previously, the max chars value didn't. Addresses #306.
23 lines
873 B
JavaScript
23 lines
873 B
JavaScript
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 && initialState.max_toot_chars) || 500;
|
|
|
|
export default initialState;
|