Moved the tutorial id handling into gui so it works when gui is embedded in www as well as standalone.
This seemed better than adding the same query handling to www, in order to pass an id to gui.
Note, the `?tutorial=all` handling remains in app-state-hoc. Currently it’s only needed in standalone mode for Hour of Code. It’s easy to move into the gui container if we do want it in gui by default.
* updated locales reducer to include current messages and messagesByLocale (the previous all messages)
* moved locales out of gui
* include locales in the things exported by gui (index.js)
Add `?locale=<localecode>` to load in a new langage.
Add `?enable=language` to enable the language selector
Or combine the two: `?enable=language&locale=<localecode>`
Still accepts a hash, but requires that the hash be a sequence of digits.
Added new locales reducer to gui:
- initializes default react-intl/localeData
- initializes default locale messages for all locales
- default locale is ‘en’ (can be overridden by URL)
Removed dependency on react-intl-redux, added ConnectedIntlProvider (uses correct locale messages from redux based on current locale)
While doing so:
- Use ProjectLoader for loading projects
- Stop using loadEmptyProject and supply empty project data
- Move project loading to App, GUI now receives data (as a string - the vm should receive an object eventually)
- Add logging
Thanks to babel-loader and babel-eslint, we can use the same linting everywhere. This makes our imports easier since we don't need to think about the extension.
Also export things more succinctly in src/index.js