Too much traffic, not enough value. Leaving stuff having to do with tips library/tutorial card navigation as well as hardware extension connectivity, as those help us find issues with Scratch.
A few modifications were made while making this test:
- Change the "defaultMin/Max" to just be called "min/max", and pass the state through to make the inputs a controlled component. It is best to make form elements controlled since it makes it more clear how data flows.
- Force the passed in data to always be of type `number`, and transform it in the constructor to always be of type `string`, and change the onOk to transform it back to a number. With inputs, it is best to be very explicit about data types, and make it clear where you are using strings and where you are using numbers.
- Do not reset the state to `0` when the field is blank, that makes typing into it very hard (only applies after making it a controlled field)
- Use consistent booleans. Since the VM uses `isDiscrete`, change it so we do not use any opposite flags (like `decimal`) for clarity.
Writing tests for this really helped me understand the behavior. If you read through the test descriptions and see anything you did not intend, let me know.
Step Ids and step file names did not follow a consistent pattern. To make it easier to automate in the future, things were renamed in the following ways:
StepId: camel case, prefix with the short name that we usually use to refer to the tutorial, e.g. name, music, chaseGame. Followed by a name for the step, e.g. nameAddSprite, nameAddBackdrop. When there are two of a step, add ‘2’ to the end e.g. nameAddSprite2
file-naming: all step files should be in the steps directory. The name is the ‘kebab’ case of the stepId, followed by the language-code, then the file extension. For example the english version of the file for `nameAddSprite` would be `name-add-sprite.en.gif`, `chaseGameAddSprite2` would be `chase-game-add-sprite2.en.gif`
* thumbnails folder: thumbnail images for tutorials (multistep decks and videos). Images should not need translations (avoid text that would need translation in the image)
* steps folder: gif images associated with tutorial steps. Images can be translated. English (default) images have the extension `.en.gif`, other language images should replace the `.en` with the corresponding locale.
* renamed some of the steps files to be more consistent and a bit less redundant
* removed a couple of files that were no longer referenced
* revised webpack config to allow localized step files to be loaded from `/static` on www