diff --git a/package.json b/package.json index 1a245e96d..8036a319a 100644 --- a/package.json +++ b/package.json @@ -101,7 +101,7 @@ "react-responsive": "3.0.0", "react-slick": "0.16.0", "react-string-replace": "0.4.1", - "scratch-gui": "0.1.0-prerelease.20190424211632", + "scratch-gui": "0.1.0-prerelease.20190501211108", "react-telephone-input": "4.3.4", "redux": "3.5.2", "redux-thunk": "2.0.1", diff --git a/src/components/extension-landing/extension-landing.scss b/src/components/extension-landing/extension-landing.scss index 2c6805e55..41d19722c 100644 --- a/src/components/extension-landing/extension-landing.scss +++ b/src/components/extension-landing/extension-landing.scss @@ -34,6 +34,12 @@ width: 100%; } + .headline-icon { + height: 40px; + width: 40px; + margin: auto; + } + .download { display: inline-block; diff --git a/src/lib/extensions.js b/src/lib/extensions.js index 53facdaff..94e7b021b 100644 --- a/src/lib/extensions.js +++ b/src/lib/extensions.js @@ -42,6 +42,11 @@ const EXTENSION_INFO = { name: 'Force and Acceleration', icon: 'extension-gdxfor.svg', hasStatus: true + }, + boost: { + name: 'LEGO BOOST', + icon: 'extension-boost.svg', + hasStatus: true } }; diff --git a/src/routes.json b/src/routes.json index f518fb84b..cd90bd92b 100644 --- a/src/routes.json +++ b/src/routes.json @@ -321,6 +321,13 @@ "view": "gdxfor/gdxfor", "title": "Vernier Go Direct Force and Acceleration" }, + { + "name": "boost", + "pattern": "^/boost/?$", + "routeAlias": "/boost/?$", + "view": "boost/boost", + "title": "LEGO BOOST" + }, { "name":"3-faq-redirect", "pattern": "^/3faq/?$", diff --git a/src/views/boost/boost.jsx b/src/views/boost/boost.jsx new file mode 100644 index 000000000..2a01eb953 --- /dev/null +++ b/src/views/boost/boost.jsx @@ -0,0 +1,257 @@ +const injectIntl = require('react-intl').injectIntl; +const intlShape = require('react-intl').intlShape; +const FormattedMessage = require('react-intl').FormattedMessage; +const React = require('react'); + +const Page = require('../../components/page/www/page.jsx'); +const render = require('../../lib/render.jsx'); + +const FlexRow = require('../../components/flex-row/flex-row.jsx'); + +const OSChooser = require('../../components/os-chooser/os-chooser.jsx'); + +const ExtensionLanding = require('../../components/extension-landing/extension-landing.jsx'); +const ExtensionHeader = require('../../components/extension-landing/extension-header.jsx'); +const ExtensionRequirements = require('../../components/extension-landing/extension-requirements.jsx'); +const ExtensionSection = require('../../components/extension-landing/extension-section.jsx'); +const InstallScratchLink = require('../../components/extension-landing/install-scratch-link.jsx'); +const ProjectCard = require('../../components/extension-landing/project-card.jsx'); + +const Steps = require('../../components/steps/steps.jsx'); +const Step = require('../../components/steps/step.jsx'); + +require('../../components/extension-landing/extension-landing.scss'); +require('./boost.scss'); + +class Boost extends ExtensionLanding { + render () { + return ( +
+ +

LEGO BOOST

+ + LEGO BOOST + + ) + }} + /> + + } + renderImage={{this.props.intl.formatMessage({id:} + renderRequirements={ + + + + Windows 10 version 1709+ + + + + macOS 10.13+ + + + + Bluetooth 4.0 + + + + Scratch Link + + + } + /> + + + +

+ +

+ + +
+ +
+

+ + Scratch + + ) + }} + /> +

+
+ +
+ {this.props.intl.formatMessage({id: +
+

+
+
+
+
+ +

+

+ + + + + + + ) + }} + /> + +
+ +
+
+ + + + +
+ {this.props.intl.formatMessage({id: +
+
+
+
+

+ + + + + +
+ +

+

+

+ + + + ), + macOSVersionLink: ( + + + + ) + }} + /> +

+

+

+ +

+

+

+ +

+
+
+ ); + } +} + +Boost.propTypes = { + intl: intlShape.isRequired +}; + +const WrappedBoost = injectIntl(Boost); + +render(, document.getElementById('app')); diff --git a/src/views/boost/boost.scss b/src/views/boost/boost.scss new file mode 100644 index 000000000..f919d6531 --- /dev/null +++ b/src/views/boost/boost.scss @@ -0,0 +1,9 @@ +@import "../../colors"; +@import "../../frameless"; + +.boost { + .extension-header { + background-color: $ui-orange; + background-image: url("/images/boost/boost-pattern.svg"); + } +} diff --git a/src/views/boost/l10n.json b/src/views/boost/l10n.json new file mode 100644 index 000000000..3dee46091 --- /dev/null +++ b/src/views/boost/l10n.json @@ -0,0 +1,34 @@ +{ + "boost.headerText": "The {boostLink} kit brings your LEGO creations to life with powerful motors, a color sensor and more. By combining it with Scratch, you can build your own robotic creatures, tell physical-digital stories, invent new game controllers, or whatever else you can imagine.", + "boost.gettingStarted": "Getting Started", + "boost.connectingBoost": "Connecting BOOST to Scratch", + "boost.powerBoost": "Turn on your sensor by pressing the power button.", + "boost.useScratch3": "Use the {scratch3Link} editor.", + "boost.addExtension": "Add the BOOST extension.", + "boost.thingsToTry": "Things to Try", + "boost.makeAMotorMove": "Make a motor move", + "boost.findTurnMotorOnForSeconds": "Find the {turnMotorOnForSeconds} block and click on it.", + "boost.turnMotorOnForSeconds": "“turn motor A on for 1 seconds”", + "boost.connectALegoBeam": "Connect a LEGO beam with an axle to motor A and click the block again to make it spin.", + "boost.starterProjects": "Starter Projects", + "boost.troubleshootingTitle": "Troubleshooting", + "boost.checkOSVersionTitle": "Make sure your operating system is compatible with Scratch Link", + "boost.checkOSVersionText": "The minimum operating system versions are listed at the top of this page. See instructions for checking your version of {winOSVersionLink} or {macOSVersionLink}.", + "boost.winOSVersionLinkText": "Windows", + "boost.macOSVersionLinkText": "Mac OS", + "boost.closeScratchCopiesTitle": "Close other copies of Scratch", + "boost.closeScratchCopiesText": "Only one copy of Scratch can connect with a BOOST at a time. If you have Scratch open in other browser tabs, close it and try again.", + "boost.otherComputerConnectedTitle": "Make sure no other computer is connected to your sensor", + "boost.otherComputerConnectedText": "Only one computer can be connected to a BOOST at a time. If you have another computer connected to your sensor, disconnect the sensor or close Scratch on that computer and try again.", + "boost.imgAltBoostIllustration": "Illustration of the LEGO BOOST.", + "boost.imgAltConnectALegoBeam": "A LEGO BOOST hub with an axle and a short beam connected to motor A.", + "boost.feedTheCat": "Feed the Cat", + "boost.feedTheCatDescription": "Feed a robot cat with colored LEGO bricks.", + "boost.imgAltFeedTheCat": "A Scratch project with a white cat", + "boost.driving": "Driving", + "boost.drivingDescription": "Drive around a wheeled robot and make music.", + "boost.imgAltDriving": "A Scratch project with a wheeled robot with eyes", + "boost.walkAround": "Walk Around", + "boost.walkAroundDescription": "Make your own controller to move a character on the screen.", + "boost.imgAltwalkAround": "A Scratch project with character on a green background" +} diff --git a/static/images/boost/boost-connect-1.png b/static/images/boost/boost-connect-1.png new file mode 100755 index 000000000..ea0d317e4 Binary files /dev/null and b/static/images/boost/boost-connect-1.png differ diff --git a/static/images/boost/boost-connect-2.png b/static/images/boost/boost-connect-2.png new file mode 100755 index 000000000..f15c26bd3 Binary files /dev/null and b/static/images/boost/boost-connect-2.png differ diff --git a/static/images/boost/boost-connect-lego-beam.svg b/static/images/boost/boost-connect-lego-beam.svg new file mode 100644 index 000000000..bef2f696e --- /dev/null +++ b/static/images/boost/boost-connect-lego-beam.svg @@ -0,0 +1 @@ +A \ No newline at end of file diff --git a/static/images/boost/boost-header.svg b/static/images/boost/boost-header.svg new file mode 100644 index 000000000..ca96ef2e0 --- /dev/null +++ b/static/images/boost/boost-header.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/boost/boost-pattern.svg b/static/images/boost/boost-pattern.svg new file mode 100644 index 000000000..9001f1893 --- /dev/null +++ b/static/images/boost/boost-pattern.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/boost/boost-starter1.png b/static/images/boost/boost-starter1.png new file mode 100755 index 000000000..5e8a9438e Binary files /dev/null and b/static/images/boost/boost-starter1.png differ diff --git a/static/images/boost/boost-starter2.png b/static/images/boost/boost-starter2.png new file mode 100755 index 000000000..a8c6de6f2 Binary files /dev/null and b/static/images/boost/boost-starter2.png differ diff --git a/static/images/boost/boost-starter3.png b/static/images/boost/boost-starter3.png new file mode 100755 index 000000000..1aa3a2f56 Binary files /dev/null and b/static/images/boost/boost-starter3.png differ diff --git a/static/images/boost/boost-turn-motor-on-block.png b/static/images/boost/boost-turn-motor-on-block.png new file mode 100755 index 000000000..ec2664de9 Binary files /dev/null and b/static/images/boost/boost-turn-motor-on-block.png differ diff --git a/static/images/boost/boost.svg b/static/images/boost/boost.svg new file mode 100644 index 000000000..0c5d39e43 --- /dev/null +++ b/static/images/boost/boost.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/project/extension-boost.svg b/static/svgs/project/extension-boost.svg new file mode 100644 index 000000000..df39e8e0b --- /dev/null +++ b/static/svgs/project/extension-boost.svg @@ -0,0 +1 @@ + \ No newline at end of file