Commit graph

167 commits

Author SHA1 Message Date
Paul Kaplan
c777ccffc8 Pass canSave to both editor and player view to allow cloud reconnecting.
The canSave prop was being passed to the editor view, but needs to also be passed to the player view because it is used to decide whether to connect the viewer to cloud variables. People cannot connect to cloud variables after entering editor mode on anothers project.
2018-11-29 10:53:03 -05:00
Paul Kaplan
1c09bdf7b0 Implement the copy link functionality
This does not implement any further design, like showing a confirmation popover, but just makes sure the button works. I used a very slim package to implement copy that does not include any fallbacks for IE, since we do not need to support that here.
2018-11-26 10:22:34 -05:00
Paul Kaplan
2ed74a2682 Show deleted banner if both deleted and censored.
This is because the user can take an action to remove the trash status, but not the censored status.
2018-11-21 10:36:27 -05:00
Paul Kaplan
122160726d Show details about why a project is not public
Follow up the project info request with a request to the visibility endpoint to find out if the project is trashed or censored. The project just not being published is handled by the existing code.

This PR generalizes the ShareBanner to a more generic "Banner" that is then filled with the relevant content.
2018-11-20 12:01:52 -05:00
Paul Kaplan
af301ba450
Merge pull request #2336 from paulkaplan/exit-single-comment-view
Allow user to exit "single comment mode" and see all comments.
2018-11-20 08:13:42 -05:00
Ben Wheeler
7ee463509c use cdn.scratch.ly in staging 2018-11-19 17:07:48 -05:00
Paul Kaplan
3fe1242aa6 Allow user to exit "single comment mode" and see all comments.
This visually appears like a "load more comments" button for now, but has the impact of unsetting the #comments-<id> hash in the url and resetting the comment state, showing all the comments (in paginated view)
2018-11-19 15:47:47 -05:00
Paul Kaplan
7cfc3ed846 Show projectNotAvailable view in editor mode also 2018-11-19 14:16:56 -05:00
Ben Wheeler
50a2072794 removed stale comment 2018-11-19 13:58:02 -05:00
Ben Wheeler
30ed29a39a enable remix button; format remix, see inside button css 2018-11-17 15:13:58 -05:00
Paul Kaplan
9ed3ecc7bb Split up the backpack options and tie visibility to isLoggedIn 2018-11-08 13:19:12 -05:00
Paul Kaplan
315c8b78fc Add "project not available" view for when project body cannot be loaded
This happens when the project id does not exist, or is not visible to the given user.
2018-11-07 16:32:12 -05:00
Ben Wheeler
7aae4219ec make share banner appear only if user has the power to share this project 2018-11-01 14:19:28 -04:00
Karishma Chadha
e771e91164 Configure cloud host and pass it as a prop to the gui. 2018-10-29 01:05:36 -04:00
Paul Kaplan
e563254c8f
Merge pull request #2231 from paulkaplan/comment-linking
Decorate comment text to add @username links and scratch-domain links
2018-10-25 15:18:56 -04:00
Paul Kaplan
f133f29353 Fix form styling for project edit fields 2018-10-25 11:38:27 -04:00
Paul Kaplan
209c8da9f7 Keep each input in its own formsy wrapper to improve performance
Having Formsy around the entire page was causing re-renders to happen when you typed into an input, when really just that component needed to re-render.
2018-10-25 10:27:54 -04:00
Paul Kaplan
dbca5a4044
Merge pull request #2226 from LLK/i10n-preview
Extract strings for localizing the preview page
2018-10-24 16:00:40 -04:00
Paul Kaplan
fa7c2d5b09
Merge pull request #2230 from paulkaplan/single-comment-mode
Showing specific comment by url hash on preview
2018-10-24 15:41:14 -04:00
Paul Kaplan
9066686c2b Decorate comment text to add @username links and scratch-domain links 2018-10-24 11:25:32 -04:00
Paul Kaplan
faf3f49c50 Fix proptypes 2018-10-24 10:43:21 -04:00
Paul Kaplan
520018ee50 View single thread of comments by URL hash 2018-10-24 10:29:33 -04:00
Paul Kaplan
4d8256e985 Update all preview... l10n strings to project... 2018-10-24 09:35:30 -04:00
Paul Kaplan
ae626d5244 Do not rely on total comment number for load more functionality
Show the load more comments button any time the last comment page was filled to the requested limit. As noted in the comment, this heuristic will be wrong at most 5% of the time but the failure mode (showing load more which, when clicked doesn't load any more, just goes away) is very mild, and for the overwhelming majority of project views that happen on projects with many, many comments, this is very unlikely to ever be noticed. It obviously isn't a perfect solution, but I cannot think of another that does not need the server to do another query to find out the total number of visible comments, or to find out if there are more comments after the requested offset+limit.
2018-10-24 09:18:45 -04:00
Paul Kaplan
f4887008a5 Extract strings for localizing the preview page 2018-10-23 11:38:34 -04:00
Paul Kaplan
8acbf05b1a
Merge pull request #2211 from paulkaplan/fix-studio-modal
Connect the consolidated studio data directly
2018-10-19 10:44:32 -04:00
Paul Kaplan
35abd285df Connect the consolidated studio data directly
To the modal to prevent constantly updating. Also only render the modals if they are visible
2018-10-18 16:45:24 -04:00
Paul Kaplan
066e5ff141 Use top level + replies count to control "Load More" comments button
This fixes an issue where a project with one top-level comment and one reply would should the "Load more" button at the bottom, even though there were no more to load
2018-10-18 11:42:10 -04:00
Paul Kaplan
312a9e2bff Restrict reporting comments to logged in users 2018-10-17 13:19:46 -04:00
Paul Kaplan
7b514344fa Allow admins access to comment delete 2018-10-17 13:16:41 -04:00
Paul Kaplan
2ac90315ea Use can prefix instead of undefined callback 2018-10-16 15:09:10 -04:00
Paul Kaplan
592c0e5703 Add restore functionality to comments for admins 2018-10-16 15:08:00 -04:00
Paul Kaplan
b7b7b079b9 Combine comment reported and deleted flags into visibility string
To prepare for server including visibility
2018-10-16 15:08:00 -04:00
Paul Kaplan
effbfbeaff
Merge pull request #2196 from paulkaplan/share-banner
Make share banner work on preview
2018-10-16 13:21:16 -04:00
Paul Kaplan
9ce79deac6 Control visibility externally and fix css 2018-10-16 13:02:22 -04:00
Paul Kaplan
21a7f1227e Make share banner actually share projects 2018-10-16 11:38:26 -04:00
Benjamin Wheeler
4124e26588
set explicit capabilities like “can____” for GUI and project page (#2187)
* set explicit capabilities like “can____” for GUI and project page

* set canShare to proper value instead of hardcoding it

* don't tell gui canReport
2018-10-16 10:49:35 -04:00
Paul Kaplan
29a6a27f46
Merge pull request #2173 from paulkaplan/comment-i10n
Localize all the comment related strings
2018-10-16 10:04:06 -04:00
Paul Kaplan
231e9c6d89 Internationalize strings in compose-comment 2018-10-12 09:16:27 -04:00
Paul Kaplan
600ba29933 Prevent replying when comments are turned off 2018-10-11 11:54:58 -04:00
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
744c90501e Add comments to projects and replies to comments 2018-10-09 09:36:41 -04:00
Linda
8db5216f17 share date is passed as a prop to subactions 2018-10-05 09:15:09 -04:00
Paul Kaplan
24e1c92b74
Merge pull request #2141 from paulkaplan/comment-delete
Add comment deleting for project owners on preview
2018-10-03 16:26:50 -04:00
Linda
27d7a3bf59
Merge pull request #2135 from LiFaytheGoblin/responsive-project-page/header
Make header of new project page look good on mobile
2018-10-03 15:41:03 -04:00
Paul Kaplan
24b456873b Add comment deleting for project owners 2018-10-03 13:31:54 -04:00
Linda
fc57218066 fix linting errors 2018-10-03 11:12:56 -04:00
Linda
a3df002b49 resolve mergin issues 2018-10-03 11:03:18 -04:00
Linda
193a4ac70a
Merge branch 'develop' into responsive-project-page/see-inside-remix-buttons 2018-10-03 10:45:10 -04:00
Linda
0895719f36 subactions getting own component 2018-10-03 10:09:44 -04:00
Linda
d85ca5d755 subactions getting their own component 2018-10-03 10:05:21 -04:00
Linda
8b10f3cba4 made project stats and action buttons responsive 2018-10-03 09:58:01 -04:00
Linda
2408568dda Merge branch 'develop' into responsive-project-page/see-inside-remix-buttons 2018-10-02 17:03:18 -04:00
Linda
a525e09cf6 Merge branch 'develop' into responsive-project-page/header 2018-10-02 16:59:01 -04:00
Linda
ef1b7d8f9f checking for landscape browser proof 2018-10-01 16:58:05 -04:00
Linda
cc57d0f206 removed stuff that doesn't belong into this pr 2018-09-26 15:01:25 -04:00
Linda
4f3d77f42a some fixes and adapted remix and studio thumbnails 2018-09-26 14:55:17 -04:00
Linda
a4e7ee35e4 adapted show and remix button to mobile 2018-09-26 14:54:33 -04:00
Linda
7465c2e85a removed sth that isn't part of the title issue 2018-09-26 12:02:00 -04:00
Linda
6445c7471e some fixes and adapted remix and studio thumbnails 2018-09-26 11:52:32 -04:00
Linda
51bb905381 extensions appear on correct place depending on media query 2018-09-25 15:04:31 -04:00
Linda
56f1b80f24 if in landscape format on mobile, switch to fullscreen mode 2018-09-25 14:36:34 -04:00
Linda
0898054e41
Merge pull request #2043 from LiFaytheGoblin/1986/project-page/fit-title-length
Keep title on preview project page from overflowing or otherwise messing up the layout
2018-09-11 10:08:38 -04:00
Ben Wheeler
2a19bb283f no need to pass title to embedded gui 2018-09-06 16:54:12 -04:00
Ben Wheeler
2f5604d23d localized Title too long error string 2018-09-05 18:38:19 -04:00
Ben Wheeler
478a30efcb pass project title to GUI, and disable submit when editing title 2018-09-05 18:38:19 -04:00
Linda
9db42fe9f4 prevented overflowing project title in a nice looking way 2018-08-23 14:24:31 -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
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
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