mirror of
https://github.com/scratchfoundation/scratch-www.git
synced 2024-12-02 11:59:07 -05:00
d69de477a1
* 'develop' of https://github.com/LLK/scratch-www: (32 commits) Lint Bundle all locale data Don't bundle polyfills Set up Raven within init.js Prefix privacyPolicy message string Exclude minified javascript from linting One space more Changes "interfacesto" to "interfaces to" Remove tag target Filter before mapping to avoid returning undefined Fix Pass condition for "static" routes Spacing2 Mangling is the default Spacing Update for typography fixes Cherry pick PR #476 into master Add invisible spacer to anchored sections For Developers Lint JSON, expand and simplify lint step Fix banned user redirect ... # Conflicts: # src/redux/actions.js # src/redux/reducer.js
49 lines
1.4 KiB
JavaScript
49 lines
1.4 KiB
JavaScript
var redux = require('redux');
|
||
var thunk = require('redux-thunk').default;
|
||
// JSX syntax transforms to React.createElement
|
||
var React = require('react'); // eslint-disable-line
|
||
var ReactDOM = require('react-dom');
|
||
var StoreProvider = require('react-redux').Provider;
|
||
|
||
var IntlProvider = require('./intl.jsx').IntlProvider;
|
||
var authActions = require('../redux/auth.js');
|
||
var reducer = require('../redux/reducer.js');
|
||
|
||
require('../main.scss');
|
||
|
||
var store = redux.createStore(
|
||
reducer,
|
||
redux.applyMiddleware(thunk)
|
||
);
|
||
|
||
var render = function (jsx, element) {
|
||
// Get locale and messages from global namespace (see "init.js")
|
||
var locale = window._locale || 'en';
|
||
var messages = {};
|
||
if (typeof window._messages !== 'undefined') {
|
||
if (typeof window._messages[locale] === 'undefined') {
|
||
// Fall back on the split
|
||
locale = locale.split('-')[0];
|
||
}
|
||
if (typeof window._messages[locale] === 'undefined') {
|
||
// Language appears to not be supported – fall back to 'en'
|
||
locale = 'en';
|
||
}
|
||
messages = window._messages[locale];
|
||
}
|
||
|
||
// Render view component
|
||
ReactDOM.render(
|
||
<StoreProvider store={store}>
|
||
<IntlProvider locale={locale} messages={messages}>
|
||
{jsx}
|
||
</IntlProvider>
|
||
</StoreProvider>,
|
||
element
|
||
);
|
||
|
||
// Get initial session
|
||
store.dispatch(authActions.refreshSession());
|
||
};
|
||
|
||
module.exports = render;
|