From 57d5ee873547c1e1579bf7edc37fde4f40460083 Mon Sep 17 00:00:00 2001 From: Ramon Souza <contato@ramonsouza.com> Date: Mon, 2 Aug 2021 11:24:35 -0300 Subject: [PATCH] fix override default locale api parameter --- bigbluebutton-html5/imports/startup/client/intl.jsx | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/bigbluebutton-html5/imports/startup/client/intl.jsx b/bigbluebutton-html5/imports/startup/client/intl.jsx index ad4fcbfeb3..715dac73fa 100644 --- a/bigbluebutton-html5/imports/startup/client/intl.jsx +++ b/bigbluebutton-html5/imports/startup/client/intl.jsx @@ -10,6 +10,7 @@ import { Session } from 'meteor/session'; const propTypes = { locale: PropTypes.string, + overrideLocaleFromPassedParameter: PropTypes.string, children: PropTypes.element.isRequired, }; @@ -20,6 +21,7 @@ const LARGE_FONT_LANGUAGES = ['te', 'km']; const defaultProps = { locale: DEFAULT_LANGUAGE, + overrideLocaleFromPassedParameter: null, }; class IntlStartup extends Component { @@ -60,9 +62,14 @@ class IntlStartup extends Component { componentDidUpdate(prevProps) { const { fetching, messages, normalizedLocale } = this.state; - const { locale } = this.props; - const shouldFetch = (!fetching && _.isEmpty(messages)) || ((locale !== prevProps.locale) && (normalizedLocale && (locale !== normalizedLocale))); - if (shouldFetch) this.fetchLocalizedMessages(locale); + const { locale, overrideLocaleFromPassedParameter } = this.props; + + if (overrideLocaleFromPassedParameter !== prevProps.overrideLocaleFromPassedParameter) { + this.fetchLocalizedMessages(overrideLocaleFromPassedParameter); + } else { + const shouldFetch = (!fetching && _.isEmpty(messages)) || ((locale !== prevProps.locale) && (normalizedLocale && (locale !== normalizedLocale))); + if (shouldFetch) this.fetchLocalizedMessages(locale); + } } fetchLocalizedMessages(locale, init = false) { -- GitLab