Commit Graph
54 Commits
Author SHA1 Message Date
Paul Kaplan 0753d0794d Update design for editor tabs with icons, changing blocks to code.
Resolves https://github.com/LLK/scratch-gui/issues/1713
2018-04-04 09:20:30 -04:00
Paul Kaplan 56ffff20a6 Cache Renderer.isSupported because it takes 30ms every time 2018-03-05 12:20:39 -05:00
Paul Kaplan 5542becc44 Add fetching and loading states to display loading screen. 2018-02-27 17:23:20 -05:00
Moran T d2d15f68d4 Revert "Adding constraint on min height for large stage"
This reverts commit 0a741b1083.
2018-02-27 15:13:23 +02:00
Moran T 0a741b1083 Adding constraint on min height for large stage
Should help with smaller screen sizes, where the ratio is different (like some chromebooks)
2018-02-27 15:11:52 +02:00
Karishma Chadha 954e74be05 Initial SB2 Import UI (button in preview modal + import modal that can load projects via url). Preliminary validation on url, still needs error handling. 2018-02-23 09:44:50 -05:00
Paul Kaplan 64d6c379eb Change navigation => editor tab reducer, fix alphabetization 2018-02-22 15:37:09 -05:00
Paul Kaplan ca4c795bbc Move active tab state into a reducer. 2018-02-22 15:36:27 -05:00
Eric Rosenbaum fff7375b58 Remove enableExtensions prop 2018-02-16 10:41:20 -05:00
Paul Kaplan c243e8eb01 Fix numerous draggable images in the GUI.
Images are draggable by default, but when used within buttons or as
clickable elements, they should not be draggable because starting a drag
accidentally prevents the click event.
2018-02-09 09:38:00 -05:00
Paul Kaplan ce6e420f3d Reinstate localization in button titles 2018-01-31 09:27:52 -05:00
Paul Kaplan 0438794c94 Fix linting 2018-01-30 17:20:02 -05:00
Paul Kaplan 07a5afd738 Replace new sprite and new backdrop buttons with the new round button. 2018-01-30 17:10:15 -05:00
Paul Kaplan d41491c547 Use new renderer methods to check for WebGL.
Remove the WebGL checks from the error boundary. Instead, just do not
render the stage if it is not supported.
2018-01-12 09:14:20 -05:00
chrisgarrity ff3a2c9b39 WebGL unavailable modal (#1116)
Add Error Boundary (has componentDidCatch method) to handle WebGL errors and display an informative message.
2018-01-08 15:04:08 -05:00
Matthew Taylor 9c9e67e5a7 GH-829: Add feedback form to menu bar (#1120)
* add feedback form

This implements #829

* small style updates to the stage buttons

from @carljbowman

* remove `stageSize` for now

We eventually need this, but not yet, and it’s causing lint failure.
2017-12-27 16:09:56 -05:00
chrisgarrity 24e8491ee6 Preview modals (#1087)
- implements welcome to the preview modal, and unsupported browser modal.
- will need assets updated in Jan.
2017-12-21 15:30:56 -05:00
Matthew Taylor 8dc26d8d30 Partially Implement GH-830: Add coming soon tooltips (#1069)
* Implement GH-830: Add coming soon tooltips

This implements coming soon tooltips for:
* the small stage size
* save, load and language

It also creates the component that can be copied over into the paint editor for use there as well.

Lastly, this does a small refactor on the full screen implementation to include multiple small screen sizes too.
2017-12-20 14:49:27 -05:00
Josiah Neuberger d18ac0bc86 Merge remote-tracking branch 'upstream/develop' into add-full-screen-render-view 2017-11-03 16:40:10 -04:00
chrisgarrity c8b068b2f1 updating string ids to follow convention (#700)
Changed existing string ids to use the convention `<repo>.<component>.<identifier>`
2017-10-06 12:51:51 -04:00
Josiah Neuberger bbebaea423 Merge remote-tracking branch 'upstream/develop' into add-full-screen-render-view
** Resolved conflict by keeping both toolbox and zoom reducer.
2017-09-21 18:10:10 -04:00
Paul Kaplan c1a80ce893 Add basic library and reducers for extensions
Alphabetize all the things
2017-09-18 14:26:14 -04:00
Christopher Willis-Ford 47d542a1a2 Merge branch 'develop' into feature/extensions 2017-09-18 10:48:04 -07:00
Josiah Neuberger 648cd66fc4 fix StageHeader width not matching stage after pull request LLK/scratch-gui#606
Commit fceba4e8b introduced new sizing behavior for the stage in
  order to fit everything in a 1024 width. Adopted this same behavior
  for the StageHeader component.
2017-09-04 15:40:58 -04:00
Josiah Neuberger 1446abd840 Merge remote-tracking branch 'upstream/develop' into add-full-screen-render-view 2017-09-04 10:24:30 -04:00
Christopher Willis-Ford 8e2eef5d5c Adjust for scratch-gui / React conventions 2017-08-31 11:43:58 -07:00
Christopher Willis-Ford e198fd8ba1 Show/hide extension button based on URL query
To show the "Add Extension" button, you must now add `?extensions` to
the URL used to load the GUI.
2017-08-29 16:19:00 -07:00
Christopher Willis-Ford 2c4a4a47ce Add example extension to this repository 2017-08-29 15:37:56 -07:00
Christopher Willis-Ford 2bc11f8d4e Move add-extension button to gui.jsx 2017-08-29 15:14:56 -07:00
Paul Kaplan 6ce561245f Do not render invisible components 2017-08-28 17:30:42 -04:00
Josiah Neuberger 65ab58d9a6 fixed outstanding issues with stage zooming
1. Fixed issue with sprites not being dragable when stage zoomed.

  2. Fixed issue with coordinates of mouse position being wrong when
     stage is zoomed. This was caused by the renderer not being
     resized when zooming/unzooming.

  3. Refactored zoom control to separate react component/containter
     with global reducer for isZoomed, which is passed to the stage
     container. This allows for the zoom control to zoom the stage
     menu and stage as seperate containers.

  4. Added icons zoom/unzoom for stage zoom control. Moved icon
     position to be part of stage menu floating to right of start/stop
     buttons.
2017-08-27 03:11:15 -04:00
Paul Kaplan 50f168172e Add controls container for turbo mode indicator 2017-08-17 17:26:37 -04:00
Ray Schamp ecaee9877e Add green flag and stop buttons to blocks example
Add class name props to the components, and fix positioning for the green flag to be reusable.
2017-08-16 14:55:27 -04:00
Paul Kaplan 40e3a86fe6 Refactor to use only MediaQuery component 2017-08-10 13:31:48 -04:00
Paul Kaplan 39a81d744e Use media queries to resize stage and fit sprite info 2017-08-10 11:43:57 -04:00
Paul Kaplan 8a10c04f42 Add import/export rules and fix lint errors 2017-07-21 08:58:24 -04:00
Andrew Sliwinski 314b94ce48 Change 'Scripts' tab to 'Blocks'. Resolves GH-497 2017-07-10 10:47:07 -04:00
Paul Kaplan df5d8bc8a5 Convert requires to import 2017-06-30 15:14:05 -04:00
Ray Schamp 0910970800 Don't require BASE_PATH env variable for builds
It wasn't ever necessary. Still allow configuring this path in the GUI in case of different paths to static files for scratch-blocks.
2017-06-09 16:48:42 -04:00
Ray Schamp cf58d318ed Fix tab style handling, changed in 1.0 2017-05-19 12:54:26 -07:00
DD Liu 0c42c1fc8e fix squashed blocks in flyout when adding a sprite while on another tab 2017-05-17 11:50:02 -04:00
Ray Schamp 58d482d102 Move to PropTypes for React 15.5
With jscodeshift thank God
2017-04-20 19:02:59 -04:00
Chris Willis-Ford 47d6cf7441 Merge pull request #261 from cwillisf/use-storage
Use scratch-storage
2017-03-23 22:13:59 -07:00
Christopher Willis-Ford 2be8205aee Move scratch-storage init/attach to vmListenerHOC
Attaching the storage module in `vmListenerHOC` means it can propagate
down to the GUI, stage, and blocks naturally. The default VM property
value has been removed from those places so that we're not instantiating
extra VM instances any more. Instead, using one of those components
outside of the `vmListenerHOC` framework will require providing a VM
instance as a property.
2017-03-23 11:58:07 -07:00
Paul Kaplan 9f51f56217 Integrate styling feedback from @TheBrokenRail 2017-03-23 09:46:32 -04:00
Paul Kaplan 37803aa4d3 Add sound and costume tabs 2017-03-23 09:46:31 -04:00
Christopher Willis-Ford d79a25aa1e Move scratch-storage init/attach from stage to GUI 2017-03-22 21:17:14 -07:00
Steven Dale 74dde69fd0 Design pass: layout panes, sprite libraries, info area, import buttons, + menu bar (#83)
* Covers parts of these issues: GUI layout panes (#69), sprite libraries (#12), import buttons (#64), menu bar (#67), and sprite info area (#53)

~ Refactored layout pane structure by removing `display: flex` from `.box`, by default. Declaring flex instead only where specifically needed. This helped fix layout quirks, and should help us avoid hard to find issues related to nested flex boxes

~ Added descriptive classnames to boxes/containers/wrappers. Moved more padding, margins + layout into these wrappers to help with component reusability.

~ Set up a spacer unit variable inside `gui.css`, to start keeping consistent padding, margins and rounded corners between panes. Used [CSS/PostCSS Modules](https://github.com/css-modules/postcss-modules-values) to avoid SCSS dependency.

~ Refactored inline styles from JSX, into CSS files. 2 reasons: a) prepping for reuse of CSS Module variables. b) Feels easier to debug complex flex layouts when all the styles are in one place vs JS/HTML/CSS syntax mixed together

~ Added menu bar into layout via new component, and sprite info header in sprite selector pane, with stubs for the labels + forms. Sprite items are correctly scrolling, while leaving the header fixed, in Chrome. Mostly working in FFx. Not working in Safari, IE yet.

~ Style pass on library modal

~ Experimenting with a few different transition styles: Logo in menu bar, sprite library items, Add buttons.
2017-02-15 08:46:16 -05:00
Ray Schamp b85c61a60b YAGNI: Remove clutter from GUI component 2016-12-20 16:49:43 -05:00
Ray Schamp 789fd14653 Layout pass
Move layout styles from component stylesheets to the GUI, or the component that is placing the component.

Add a new `Box` component to control layouts, basically giving a convenient way to lay out with flexbox.

Use `Box` as the output component for any component that may need to be passed layout options. The props passing convention allows giving layout props to the final `Box` component, making wrapping with another `Box` unnecessary in some cases.
2016-12-15 11:14:40 -05:00