Commit graph

111 commits

Author SHA1 Message Date
Paul Kaplan
1f8342b987
Merge pull request #2164 from paulkaplan/comment-report-delete
Comment report action and modal flow for deleting
2018-10-11 11:08:07 -04:00
Paul Kaplan
086012f802 Add comment toggling 2018-10-10 15:14:53 -04:00
Paul Kaplan
bdde34ba26 Implement report action with modal flow 2018-10-09 11:38:24 -04:00
Paul Kaplan
24fe4fef65 Use topLevelCommentId to simplify adding and deleting comments
This fixes the nested comment deletion problem: https://github.com/LLK/scratch-www/issues/2151
2018-10-09 09:36:41 -04:00
Paul Kaplan
744c90501e Add comments to projects and replies to comments 2018-10-09 09:36:41 -04:00
Linda
14741e1cb8 if the report or add to studio modals are open, don't switch to fulls… (#2145)
* if the report or add to studio modals are open, don't switch to fullscreen on orientationchange landscape

* fix linting errors
2018-10-05 18:00:52 -04:00
Paul Kaplan
24b456873b Add comment deleting for project owners 2018-10-03 13:31:54 -04:00
Linda
f55dd02665 never mind screen.orientation 2018-10-02 15:42:29 -04:00
Linda
ef1b7d8f9f checking for landscape browser proof 2018-10-01 16:58:05 -04:00
Linda
f1738ca384 improved the code stylewise 2018-10-01 09:52:50 -04:00
Ray Schamp
1ad9a95a3d Add placeholder share handler
Having the `onShare` prop defined to a function enables the button in the GUI
2018-09-26 21:42:44 -04:00
Linda
56f1b80f24 if in landscape format on mobile, switch to fullscreen mode 2018-09-25 14:36:34 -04:00
Benjamin Wheeler
935eb0b15f
move login/registration functions and view state to session reducer, pass to gui (#2078)
* 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
2018-09-24 11:04:30 -04:00
Linda
42f0ed16e5
Merge pull request #2073 from LiFaytheGoblin/2005/animate-add-to-studio-buttons
Animate add-to-studio-buttons on preview project page
2018-09-14 12:28:44 -04:00
Linda
ab4f8a09ce the animation now works 2018-09-07 16:11:37 -04:00
Ben Wheeler
2a19bb283f no need to pass title to embedded gui 2018-09-06 16:54:12 -04:00
Ben Wheeler
478a30efcb pass project title to GUI, and disable submit when editing title 2018-09-05 18:38:19 -04:00
Ben Wheeler
733134c421 pass through logout callback to GUI 2018-08-27 18:56:27 -04:00
Ray Schamp
a3c929db3d Finish setup of backpack, assets, projects hosts 2018-08-16 17:40:09 -04:00
Ray Schamp
d538412357 WIP: configure GUI for staging 2018-08-16 17:39:04 -04:00
Ray Schamp
a19fb29f36 WIP: enable backpack in preview 2018-08-16 17:37:19 -04:00
Connor Hudson
d795d87e18 Hide intro modal in editor on new project page 2018-08-09 15:50:31 -04:00
Ben Wheeler
2c8990ae7e report project POSTs to scratchr2, displays modal reactively 2018-08-09 12:41:38 -04:00
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
c450b7e658 corrected brackets for lint error 2018-07-31 18:10:42 -04:00
Ben Wheeler
e83f29dbbc moved NaN check in preview.jsx to be guard-style 2018-07-31 16:38:49 -04:00
Ben Wheeler
097fb66955 currentStudioIds now an array; reverted a few changes 2018-07-31 15:00:56 -04:00
Ben Wheeler
a60da11f8a curated studios endpoint doesn't pass unnecessary token to api 2018-07-26 18:54:58 -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
0c6b8607da better approach to tracking which studios the project current belongs to 2018-07-24 11:50:03 -04:00
Ben Wheeler
ffe5e8cb43 adding distinct object to redux/preview.js state to track studio membership 2018-07-24 09:12:13 -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
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
da1fe6a6fc Use lib/log instead of console.log for project parsing error 2018-06-26 08:41:06 -04:00
Connor Hudson
363c0fdfb5 Update extension parsing in Preview to match updated VM PR 2018-06-22 09:02:11 -04:00
Connor Hudson
2293eebaec Try to fetch extensions in constructor of Preview 2018-06-21 09:45:53 -04:00
Connor Hudson
5dfbe422d7 Add additional check to getExtensions function 2018-06-21 09:45:32 -04:00
Connor Hudson
ccfd25d864 Use project ID from state instead of props 2018-06-20 17:08:06 -04:00
Connor Hudson
456e99f1be Catch errors in getExtensions function 2018-06-20 17:04:16 -04:00
Connor Hudson
b2ddc50529 Remove misplaced getExtensions call in handleReportClick (5!) 2018-06-20 15:58:34 -04:00
Connor Hudson
a69ad0ec86 Implement extension fetching in Preview component 2018-06-20 09:55:09 -04:00
Ben Wheeler
20242af3de preview view comment 2018-06-16 18:19:31 -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
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
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
6df58e41fd Correct preview route for fastly
- use more explicit route
- handle fastly error in the callback correctly
- more succinct parsing of the URL path
2018-05-02 17:04:14 -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
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
chrisgarrity
f86bd01609 Remove obsolete code 2018-02-28 13:58:22 -05:00
chrisgarrity
ea6de54104 [WIP]: embed GUI in a preview page 2018-02-21 14:39:21 -05:00