addresses most comments except modal refactor, and error response from sumitting report.
* restore gui as a dev dependency
* better separation of view container/presentation
* replace absolute heights for textareas with making all sub components `display: flex`
* start to make presentation more modular added subcomponents to the view folder:
* share-banner (moved from components)
* remix-credit
* remix-list
* studio-list
* Update for newer version of API - remix count in stats
* create projectShape to remove duplication
* add approximate-number to limit the size of the stats row.
* move all the report modal presentation into the component
* add strings to general l10n file because we don’t handle l10n files in components
* Add current project id and username to the data before submitting
Report button opens a modal with the report project form. All the content is currently in `preview/presentation` because components cannot have their own l10n files.
First pass at project page design using actual assets from Carl, and matching styles with current design.
Includes a (negative margin) hack to line up the stage. see https://github.com/LLK/scratch-gui/issues/2132
* Handle See inside button
Import GUI reducers, initial state and middleware (throttle).
Update render to handle state and middleware.
Remove preview mode state and use scratchGui.mode from redux instead.
URL is getting updated, and mode will be updated based on URL. However, the history needs work - it doesn’t work with the modal back.
* Update to latest GUI
This is the minimum version of GUI that is needed for see-inside
* Really remove cruft.
- `/preview/editor` will load GUI with an empty project
- `/preview/:id/editor` will load GUI with a project from the projects server (not local data)
- passes intl object to GUI
- `/preview/:id` with show the project page with an embedded player
- `/preview/:id/fullscreen` will load the project page with the player in fullscreen mode.
* Note that we needed to Increase memory for the build to avoid running out of heap space, and build time increases by about 2 minutes
* Add user-session awareness
- only show remix button if user is logged in (TBD: probably will want to hide if project creator == user)
* decorate text with @mentions and #hashtags
* Add studios, loves, favs
* In-place editing of title and description if current user is author and project shared (with validation)
This omits `for...of` which requires Symbol. The Symbol polyfill required by Babel for `for...of` apparently doesn't work for the react-tooltip library. So just don't use `for...of`.