Commit Graph
28 Commits
Author SHA1 Message Date
Christopher Willis-Ford 726de9775a Standardize repository settings
Add missing file types to `.gitattributes`.
Use `node` instead of deprecated `stable` version specifier for Travis.
Set dev tool to `cheap-module-source-map`.
2017-04-11 11:31:18 -04:00
Ray Schamp 6d2d1dae4b Use postcss-simple-vars for variables (#125)
Using postcss-modules-values with imported values failed on our current basic usage; it is apparently not mature enough to be used yet.

The syntax used by postcss-simple-vars is already familiar to most people familiar with modern CSS build systems.
2017-02-21 18:43:00 -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 596b61626e Supply viewport metadata for retina displays
Resolves #73
2017-02-06 12:07:22 -05:00
Ray Schamp 860ea5d40c Build in production mode for the demo
This improves React performance by skipping prop type checks and warnings
2017-02-02 17:15:15 -05:00
Ray Schamp e8fdd3b871 Fix config for Webpack 2 2017-02-02 14:47:37 -05:00
Ray Schamp c58c3d1a4a Configure port through webpack, not npm
The previous method of configuring the port number was not cross-platform.  Resolves #20
2017-01-05 10:47:49 -05:00
Ray Schamp f9970d6c87 Lint 2016-12-15 14:23:08 -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 c59f818a4f Fix CSS autoprefixing
`importLoaders` is needed for the way postcss works with css modules.

Update browser target to match scratch-www
2016-12-12 11:28:09 -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
Ray Schamp 294e89265e im dum 2016-11-04 13:45:52 -04:00
Ray Schamp e36128ebcd Deal with Github's Jekyll update madness 2016-11-04 13:41:21 -04:00
Ray Schamp 1a23ce5c28 Add green flag and stop icons 2016-10-26 22:48:56 -04:00
Ray Schamp 0bc0f3ae39 Only lint for React/ES6 in src 2016-10-23 11:53:17 -04:00
Ray Schamp 767721be14 All the rest of the linting 2016-10-22 11:44:23 -04:00
Ray Schamp 7f9d9729c6 Lint: JS -> JSX 2016-10-22 11:07:29 -04:00
Ray Schamp 8e5fe959ff Allow configuration of GUI subcomponent props
So that you can adjust them without redefining the entire GUI.
Also allow adjusting props passed to GUIComponent.
2016-10-19 09:26:30 -04:00
Ray Schamp 54548b5c0b Update project on hash change
While doing so:
- Use ProjectLoader for loading projects
- Stop using loadEmptyProject and supply empty project data
- Move project loading to App, GUI now receives data (as a string - the vm should receive an object eventually)
- Add logging
2016-10-12 23:22:15 -04:00
Ray Schamp 4a6e59cf94 Fix lint error 2016-09-28 11:11:42 -04:00
Ray Schamp dc119d0a32 Configure base path for media directory 2016-09-28 11:08:53 -04:00
Ray Schamp ea5ebeb7ad Provide Blockly media to playground 2016-09-28 09:48:39 -04:00
Ray Schamp e43653a389 Add basic Stage component
Update webpack config and vm usage to match updates in scratch-vm
2016-09-22 10:23:44 -04:00
Ray Schamp 0911b50893 Un-shim scratch-blocks, it shims itself now 2016-09-16 18:25:44 -04:00
Ray Schamp c5b81e684a Quiet React warnings in development 2016-09-15 16:55:51 -04:00
Ray Schamp 20778d8d05 The playground is the product 2016-09-15 16:50:10 -04:00
Ray Schamp 882a6107ba Use .js for everything
Thanks to babel-loader and babel-eslint, we can use the same linting everywhere.  This makes our imports easier since we don't need to think about the extension.

Also export things more succinctly in src/index.js
2016-09-15 12:20:00 -04:00
Ray Schamp a173405cc3 Initial commit 2016-09-15 00:50:28 -04:00