Commit Graph
50 Commits
Author SHA1 Message Date
Paul Kaplan 3993d5c8f1 Put the ask blocks text input above the monitors on the stage. 2019-02-11 10:45:03 -05:00
chrisgarrity 07eb519b09 Make whole stage clickable for green flag overlay
Move the onClick handler to the overlay wrapper so that the whole stage is clickable to start the project instead of just the green flag button
2019-01-10 14:21:09 -05:00
adroitwhiz 0b228433ba whitespace tweak 2: electric boogaloo 2019-01-02 21:02:41 -05:00
adroitwhiz c6a2da76c3 Fixed blurry stage 2019-01-02 20:31:07 -05:00
Paul Kaplan d1172bfa9d Hide entire frame unless vm has not started 2018-11-27 16:44:32 -05:00
Paul Kaplan 4d74ed036c Better rendering for green flag overlay 2018-11-27 15:33:23 -05:00
Paul Kaplan 9e783d8aeb Use a big green flag overlay to start the VM if needed 2018-11-27 15:00:34 -05:00
Paul Kaplan 0f9ebd3686 Use precompute stage dimensions instead of calculating bounds 2018-11-01 09:54:31 -04:00
Paul Kaplan 523f2aa619 Add sprite target highlighter on sprite-tile click 2018-10-31 14:15:22 -04:00
Ben Wheeler 9a1f19d9c6 added micIndicator prop validation 2018-10-04 11:26:41 -04:00
Eric Rosenbaum a924340089 Add an indicator to show that the microphone is listening (#3205)
* Add mic indicator

* Fix mic indicator position and margin

* Don’t always show indicator, don’t sneaky-enable extension

* Position mic indicator in RTL

* Actually, don’t move indicator in RTL

* Update event name for MIC_LISTENING

* Move mic indicator state into redux

* Move stageSizeToTransform into screen-utils

* Position mic indicator and question at bottom of stage

* Fix pointer events

* JSDOC for stageSizeToTransform

* Pass micIndicator into StageComponent via …props
2018-09-26 17:59:30 -04:00
Ben Wheeler 7de2280bd2 padding and margin changes to make www project page layout work without hacks; hack to position monitors correctly 2018-08-12 00:40:22 -04:00
Paul Kaplan eb2658e451 Correctly apply react style object to the dom element renderer 2018-06-28 11:06:34 -04:00
Ray Schamp 0a8d9ab7df Explanatory comments and lint 2018-06-26 10:07:46 -04:00
Ray Schamp 54f1c42785 Hack to make the renderer own the stage canvas
Fixes issue with changing language, and hopefully player/editor mode (untested).

This is for demonstration purposes, if this is the way we decide, I will make official APIs on the VM and the Renderer for checking for the canvas and renderer.
2018-06-26 09:20:10 -04:00
Paul Kaplan 912557dbcb Use content-box on stage to ensure correct sizing 2018-06-22 07:20:17 -04:00
Christopher Willis-Ford 7294028274 Use Object.keys for stage size prop type checks 2018-06-12 10:40:50 -07:00
Christopher Willis-Ford f57295d08c Split STAGE_SIZE enum into two & clarify purposes
Also remove some obsolete code
2018-06-12 01:15:03 -07:00
Christopher Willis-Ford cfb55514b5 Implement all staging logic in terms of stageSize
Pass a `stageSize` property down from a centralized `MediaQuery` in the
GUI component, and control the size of the stage and all surrounding
elements based on that value. Note that this is a pure property and is
not stored in the Redux state, since we gain access to the results of
the media query during `render()` and we shouldn't change Redux state
during `render()`.

Some stage-adjacent elements don't yet react correctly to the smallest
stage size.
2018-06-12 01:15:01 -07:00
sjhuang26 582d591231 Move z-index values to separate file 2018-06-02 15:54:37 -04:00
Paul Kaplan 88d36d3f5c Make monitors not draggable in fullscreen or player mode.
Specifically in 2.0:
- Monitors cannot be dragged in fullscreen/player
- List monitors cannot be resized, have items added using the button or have their values edited.
- Slider monitors still work.
2018-05-16 13:55:13 -04:00
Paul Kaplan f62e426641 Wrap the monitor list in a CSS scale transform 2018-05-16 13:55:13 -04:00
Paul Kaplan 62fe9a9dcb Update some css to allow dragging to work in Edge 2018-04-12 14:08:55 -04:00
Paul Kaplan cb960e5a28 Add editor drag mode for popping sprites of stage.
Also integrate the "ignore draggability, always drag" behavior of editor
mode.

Right now, editor drag mode is hooked up to the "isFullscreen" flag,
since it is the closest thing we have to player mode now.
2018-04-12 11:46:25 -04:00
carljbowman 4e30c0b0c7 Unifiy colors variables
- Auditing color CSS and componet CSS to make consistent.
- Made a first pass of changes to increase contrast to elements that previously were problematic
2018-04-09 13:16:26 -04:00
Josiah Neuberger 481db33d23 center/size stage-header controls in the same way as stage in fullscreen 2018-01-07 15:03:46 -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 ba3ff9d1f3 fixed some minor code smell problems
1. Removed duplication of code in stage component to avoid future
     potential divergence. Now just selectively applying styling based
     on states of zoomed, colorPicking, and question.

  2. Fixed bottom border getting chopped in zoomed mode by adding margin
     and adjusting height/width accordingly.

  3. Removed shouldComponentUpdate from stageHeader as suggested from code
     review. Added ignore lint warning suggesting change to stateless function.
2017-12-13 22:01:09 -05:00
Josiah Neuberger d315aba5da Adjust question prompt in full screen to be same size as stage and centered. 2017-11-23 16:23:13 -05:00
Josiah Neuberger b799573644 Merge remote-tracking branch 'upstream/develop' into add-full-screen-render-view 2017-11-22 17:40:49 -05:00
Paul Kaplan 1a5d8082a8 Add question and answer components. 2017-11-08 10:20:04 -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
Paul Kaplan c5fe55de7f Fix corner radius bug 2017-10-26 09:26:04 -04:00
Josiah Neuberger e3221cecd9 Merge remote-tracking branch 'upstream/develop' into add-full-screen-render-view
** Merging in loupe color picker changes from upstream. Resolved conflicts, which
     required some minor changes. The color picker menu from scratch-blocks along
     with other workspace menus will show through stage when zoomed if opened.

     Resolved by moving stage/stage-header z-index from 999 to 5000.
2017-10-01 00:50:15 -04:00
Josiah Neuberger e4bda238b6 fixed aspect ratio when stage is zoomed fullscreen 2017-09-20 20:57:28 -04:00
Paul Kaplan 65e0139878 WIP initial prototype of eye dropper 2017-09-20 11:30:38 -04:00
Josiah Neuberger 1e2240faff fixed lint errors from stage zoom update 2017-08-27 04:05:51 -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
Josiah 91b8d066a8 Added ability to zoom stage to full screen and exit back to standard view
* Needs a real icon for opening (borrowed sprite-info icon). The open
    icon needs to be moved from current location of underneath stage to
    same row as control buttons (start/stop vm).

  * The zoomed mode loses the ability to drag sprites. Haven't had
     a change to look into this yet.
2017-08-20 01:05:45 -04:00
Paul Kaplan 8a10c04f42 Add import/export rules and fix lint errors 2017-07-21 08:58:24 -04:00
Paul Kaplan df5d8bc8a5 Convert requires to import 2017-06-30 15:14:05 -04:00
Paul Kaplan 62f6887ec4 Allow pointer events to fall through the overlay 2017-05-05 16:45:51 -04:00
Paul Kaplan 9244cb8c2f Move positioning out of monitor list 2017-05-04 09:40:38 -04:00
Paul Kaplan 8ea7e7d8b5 dd reducer, components and containers for monitors 2017-05-03 11:45:52 -04:00
Ray Schamp 58d482d102 Move to PropTypes for React 15.5
With jscodeshift thank God
2017-04-20 19:02:59 -04:00
Steven Dale 0e56f866e5 TODO: -> @todo: (#213)
Refactored towards better convention for linting.
2017-03-07 17:43:10 -05:00
Steven Dale 7f0141e7af Configurable SpriteSelectorItems per row (#90). Standardized spacer variable (#84). MenuBar Pass (#130)
* Standardized use of space units where appropriate
* Reversed box classes for easier readability in Inspector
* Sprite Area: removed unused info button
* SpriteSelectorItems: fixed spacing between rows. Isolated layout + component CSS, now reusable in other context. Items per row is now easily configurable
* MenuBar: refactored structure for clickable items
2017-02-27 13:40:49 -05: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 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
Ray Schamp 16fbb64cca Use CSS modules for styles
The inline css method gives us nothing that CSS modules can't give us. This puts the project more in line with the way www works, and makes CSS actually readable.

Using class names gives us full control of the modal styles.
2016-12-07 15:59:07 -05:00