Commit graph

145 commits

Author SHA1 Message Date
Connor Hudson
1875870a86
Initial implementation for displaying comments on project page (#1997)
* 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
2018-08-06 11:52:18 -04:00
Ben Wheeler
1a4922a262 addtostudio buttons in own component; currentStudioIds redux object; lint fixes 2018-07-25 15:08:12 -04:00
Ben Wheeler
fc5912526e addtostudio modal interfaces with api add/remove endpoints; waits to close; handles open studios that user does not curate.
addtostudio modal interfaces with api add/remove endpoints; waits to close; handles open studios that user does not curate.
2018-07-20 20:37:36 -04:00
Ben Wheeler
a59d533a1c merged changes in report modal and add to studio handling 2018-07-16 13:39:29 -04:00
Ben Wheeler
bc7b31e924 finished draft of intermediary refactor of addtostudio modal redux code, container-presentation code simplified 2018-07-13 09:50:17 -04:00
Ben Wheeler
6a32edb2fe addtostudiomodal: incomplete progress on 1. container-presentation refactor, 2. redux handling of add and leave studio requests 2018-07-11 15:08:01 -04:00
Ben Wheeler
9cac70ab18 small steps towards addtostudio modal's container-presentation refactor 2018-07-07 14:09:43 -04:00
Ben Wheeler
af25e44fc6 refactoring add to studio modal into container and presentation; added getCuratedStudios functionality to preview 2018-07-04 18:01:11 -04:00
Connor Hudson
80dfaa6a1e Use l10n ids in extension chip 2018-06-22 10:01:12 -04:00
Ben Wheeler
0a6ec304d3 starting to change addtostudios modal to make changes on the fly 2018-06-20 20:25:46 -04:00
Connor Hudson
9f2304b8c9 Add check for extensions prop existence in PreviewPresentation 2018-06-20 09:48:40 -04:00
Connor Hudson
7fb7e9146b Merge upstream/develop, move logic to preview instead of presentation 2018-06-20 09:28:41 -04:00
Ben Wheeler
c25bfab7bb improved addtostudio modal variable names 2018-06-20 08:38:16 -04:00
Connor Hudson
bd22d573b6 extension-info.js -> extensions.js 2018-06-19 16:18:08 -04:00
Connor Hudson
168e155ac5 Use EXTENSION_INFO file in presentation.jsx 2018-06-19 16:13:47 -04:00
Connor Hudson
ea1c0ce4a2 Add initial implementation of loading extension info from sb3 project 2018-06-19 12:26:22 -04:00
Ben Wheeler
16190f1147 got addtostudio modal state changes to work, though not updating to server yet 2018-06-19 10:13:40 -04:00
Ben Wheeler
e05079a28c mocked my permissioned studios 2018-06-19 00:00:37 -04:00
Ben Wheeler
4c657a1e80 showing actual studio membership, though not unadded studios yet 2018-06-18 23:36:20 -04:00
Ray Schamp
9e02798f7b Lint 2018-06-18 17:19:12 -04:00
Ben Wheeler
f8df3c0146 added royal blue color, button styles, small jsx fixes to Add to Studio modal 2018-06-18 15:17:19 -04:00
Ben Wheeler
9d9226f4a4 got rid of bug keeping page from displaying 2018-06-16 19:28:28 -04:00
Ben Wheeler
f0fbc0a57f add to studio modal appears from project page, looks horrendous 2018-06-16 19:13:50 -04:00
Connor Hudson
b826a1ad2f Add onExtensionAdded function to bindAll call 2018-06-15 09:52:12 -04:00
Connor Hudson
1f5075f9d8 Initial (hacky) solution for loading EIABCW content 2018-06-14 16:54:55 -04:00
Connor Hudson
3eb0e12bf6 Only use extensions with preexisting data URIs for demo chips 2018-06-14 15:11:03 -04:00
Ray Schamp
1840b9df31 Convert presentation function component
Fixing a typo let the linter catch that this no longer needs to be a class component
2018-06-14 09:26:44 -04:00
Connor Hudson
b317c12e79 Add some mockup extensions 2018-06-13 16:45:48 -04:00
chrisgarrity
74c76fb1cf Refactor report-modal
* 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
2018-06-01 15:25:28 -04:00
chrisgarrity
6872cfc51f FIxing PR #1900 comments
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
2018-05-31 21:04:11 -04:00
chrisgarrity
285b2dbcff Updated styles 2018-05-31 15:02:45 -04:00
chrisgarrity
c6f197f576 Adjust share-date to give action buttons more room 2018-05-31 15:02:45 -04:00
chrisgarrity
0bc5bf745d Fix up stats line
* 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.
2018-05-31 15:02:45 -04:00
chrisgarrity
71dfe690be First pass at correcting project input styles
* Add placeholders to description input text-areas
* fix styling to show box shadow highlight on focus
* adjust height for non-remix project
* fix lint errors
2018-05-31 15:02:45 -04:00
chrisgarrity
08cf4f4f3d Refactor report modal
* 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
2018-05-31 15:02:44 -04:00
chrisgarrity
34042c9e8e Report first pass
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.
2018-05-31 15:02:44 -04:00
chrisgarrity
bd391b422a presentation first pass
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
2018-05-31 14:58:23 -04:00
chrisgarrity
99ed30e2c8 Fix up favorites
Found a couple of typos now that API can process favorites.
2018-05-30 14:39:25 -04:00
chrisgarrity
80de164d02
Handle See inside button (#1890)
* 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.
2018-05-24 16:23:07 -04:00
chrisgarrity
d1420862ea
Initial GUI embed (#1869)
- `/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
2018-05-02 15:27:49 -04:00
chrisgarrity
b8326a3d57
Feature/preview project2 (#1856)
* 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)
2018-04-24 11:00:47 -04:00
chrisgarrity
1b2050c58a cleanup 2018-03-20 20:19:48 -04:00
chrisgarrity
1c6b0dd64c Cleanup
Fixing lint problems and removing (most) unused code. I left user and session as they will get used soon even though they aren’t currently.
2018-03-15 17:40:16 -04:00
chrisgarrity
f836c6e3a8 Adding in remix metadata
- 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
2018-03-14 15:50:27 -04:00
chrisgarrity
79199d6d32 Placeholders for everything ‘above the fold’ 2018-03-08 15:57:19 -05:00