summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorian Orben <florian.orben@gmail.com>2015-12-04 23:42:23 +0100
committerFlorian Orben <florian.orben@gmail.com>2015-12-04 23:42:23 +0100
commitc440f253ddd123de909356bac366648372edbee8 (patch)
treea02b165dc34befb734512364d68227a365a820ff
parent1bee1e06e4d0110db274c076860fa97f76471ddb (diff)
downloadchat-c440f253ddd123de909356bac366648372edbee8.tar.gz
chat-c440f253ddd123de909356bac366648372edbee8.tar.bz2
chat-c440f253ddd123de909356bac366648372edbee8.zip
fix font not being changed on first page visit (if preferences havent been loaded before)
-rw-r--r--web/react/components/channel_loader.jsx1
-rw-r--r--web/react/pages/channel.jsx12
2 files changed, 13 insertions, 0 deletions
diff --git a/web/react/components/channel_loader.jsx b/web/react/components/channel_loader.jsx
index 13045d732..0d1d9efd7 100644
--- a/web/react/components/channel_loader.jsx
+++ b/web/react/components/channel_loader.jsx
@@ -70,6 +70,7 @@ export default class ChannelLoader extends React.Component {
Utils.applyTheme(Constants.THEMES.default);
}
+ // if preferences have already been stored in local storage do not wait until preference store change is fired and handled in channel.jsx
const selectedFont = PreferenceStore.getPreference(Constants.Preferences.CATEGORY_DISPLAY_SETTINGS, 'selected_font', {value: Constants.DEFAULT_FONT}).value;
Utils.applyFont(selectedFont);
diff --git a/web/react/pages/channel.jsx b/web/react/pages/channel.jsx
index 49f0935a9..2122c729e 100644
--- a/web/react/pages/channel.jsx
+++ b/web/react/pages/channel.jsx
@@ -18,9 +18,20 @@ import RegisterAppModal from '../components/register_app_modal.jsx';
import ImportThemeModal from '../components/user_settings/import_theme_modal.jsx';
import InviteMemberModal from '../components/invite_member_modal.jsx';
+import PreferenceStore from '../stores/preference_store.jsx';
+
+import * as Utils from '../utils/utils.jsx';
import * as AsyncClient from '../utils/async_client.jsx';
import * as EventHelpers from '../dispatcher/event_helpers.jsx';
+import Constants from '../utils/constants.jsx';
+
+function onPreferenceChange() {
+ const selectedFont = PreferenceStore.getPreference(Constants.Preferences.CATEGORY_DISPLAY_SETTINGS, 'selected_font', {value: Constants.DEFAULT_FONT}).value;
+ Utils.applyFont(selectedFont);
+ PreferenceStore.removeChangeListener(onPreferenceChange);
+}
+
function setupChannelPage(props, team, channel) {
if (props.PostId === '') {
EventHelpers.emitChannelClickEvent(channel);
@@ -28,6 +39,7 @@ function setupChannelPage(props, team, channel) {
EventHelpers.emitPostFocusEvent(props.PostId);
}
+ PreferenceStore.addChangeListener(onPreferenceChange);
AsyncClient.getAllPreferences();
// ChannelLoader must be rendered first