* move login/registration functions and view state to session reducer, pass to gui
* navigation reducer handles login; gui passed renderLogin function
* put back in join class to make smoke tests keep working
* Create Comment component, start styling it
* Restructure PreviewPresentation to better match mockup
* Add padding, border to comment bubble
* add padding to bottom row of comment
* Tweak alignment of avatar and comment content
* Add margin to lower project page container
* Use border-box box sizing for comment bubble
* Make user avatar a link
* Add initial implementation of comment tail
* Align username row properly, fix comment bubble width
* Use ::before pseudoelement for comment tail
* Remove unused props to Comment component
* Add CommentContainer to handle comment replies
* Use CommentContainer instead of Comment in PreviewPresentation
* Remove debug data from CommentContainer
* Fetch top level comments from the API
* Force comment container to stretch to bottom of view div
* Remove unused api import in CommentContainer
* Long words in comments should not overflow page
* Remove @ before username in comment title
* Fix word wrapping on Firefox
* Refactor CommentContainer into a class
* Properly export CommentContainer component
* Make replies column take up proper width
* Pass project ID to CommentContainer
* Fetch comment replies in CommentContainer
* Initial implementation for loading more comments
* Add "Load More" button to Presentation
* Initial implementation of collapsing threads longer than 3 replies
* Remove console log from preview.js redux
* Tweak last comment gradient color
* Only show three total replies in collapsed state
* Match scratchr2 behavior for thread collapsing
* Use width calc instead of margin and width 100%
* Fix styling for load more button
* Make comment border gray to match the wireframe
* Allow clicking through comment fade gradient
* Add comment compose component
* style comment compose box
* Style post, cancel buttons on comment compose component
* Add margin to create comment container
* Tweak styling for characters remaining text
* Tweak placeholder text
* Add more margin to comment avatar
* Add icons and styling to delete, report text
* Refactor px -> rem where possible in comment styles
* Change comment time color to dark gray
* Tweak margin and border radius
* Add reply icon to preview comments
* Clean up unused imports, console.log in compose-comment component
* Remove console statement in preview.jsx
* Add some clarifying comments to unfinished parts of comments
* Remove direct passing of comment api response to CommentContainer
* CommentContainer should not pass api response directly
* Rename CommentContainer to TopLevelComment
* First pass at getReplies for comments in redux
* Move reply fetching into redux actions instead of in TopLevelComment
* Refactor getReplies logic to behave better
* Remove components not directly related to reading comments
* Hide load more button if all comments are loaded
This uses the project info returned by the API
* Use same gradient as add to studio modal on comment thread
Updates maintain WWW color variable naming conventions, but replaces values with 3.0 colors.
Colors have the commented HEX and GUI variable name.
More work to do auditing but it’s a start.
* addresses comments for https://github.com/LLK/scratch-www/pull/1900
* renames report fields to match scratchr2 expectations
* restyle modal to allow display of validation messages
* removed cruft
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)
- Moved preview state into redux
- Gets remix credit if the project is a remix
- Shows up to 5 remixes (direct children?)
- handles empty remixes result (it’s not an array)
- Added Column component - based on Grid, but doesn’t use frameless to set width.
- allows trailing ‘/‘ on the URL
- cleaned up conditional content