import { Component, ReactNode } from 'react'; import { inject, observer } from 'mobx-react'; import { IntlProvider } from 'react-intl'; import { generatedTranslations } from './i18n/translations'; import UserStore from './stores/UserStore'; import AppStore from './stores/AppStore'; const translations = generatedTranslations(); type Props = { stores: { app: typeof AppStore; user: typeof UserStore; }; children: ReactNode; }; class I18N extends Component { componentDidUpdate() { window['ferdium'].menu.rebuild(); } render() { const { stores, children } = this.props; const { locale } = stores.app; return ( { window['ferdium'].intl = intlProvider ? intlProvider.state.intl : null; }} > {children} ); } } export default inject('stores')(observer(I18N));