@@ -22,6 +22,7 @@ const SliderMonitor = ({categoryColor, label, min, max, value, onSliderUpdate})
className={classNames(styles.slider, 'no-drag')} // Class used on parent Draggable to prevent drags
max={max}
min={min}
+ step={isDiscrete ? 1 : 0.01}
type="range"
value={value}
onChange={onSliderUpdate}
@@ -33,6 +34,7 @@ const SliderMonitor = ({categoryColor, label, min, max, value, onSliderUpdate})
SliderMonitor.propTypes = {
categoryColor: PropTypes.string.isRequired,
+ isDiscrete: PropTypes.bool,
label: PropTypes.string.isRequired,
max: PropTypes.number,
min: PropTypes.number,
@@ -44,6 +46,7 @@ SliderMonitor.propTypes = {
};
SliderMonitor.defaultProps = {
+ isDiscrete: true,
min: 0,
max: 100
};
diff --git a/src/components/preview-modal/happy-cat.png b/src/components/preview-modal/happy-cat.png
deleted file mode 100644
index 764761eea..000000000
Binary files a/src/components/preview-modal/happy-cat.png and /dev/null differ
diff --git a/src/components/preview-modal/preview-modal.css b/src/components/preview-modal/preview-modal.css
deleted file mode 100644
index 6e17cb6ea..000000000
--- a/src/components/preview-modal/preview-modal.css
+++ /dev/null
@@ -1,108 +0,0 @@
-@import "../../css/colors.css";
-@import "../../css/units.css";
-@import "../../css/typography.css";
-@import "../../css/z-index.css";
-
-.modal-overlay {
- position: fixed;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- z-index: $z-index-modal;
- background-color: $ui-modal-overlay;
-}
-
-.modal-content {
- margin: 100px auto;
- outline: none;
- border: .25rem solid $ui-white-transparent;
- padding: 0;
- border-radius: $space;
- user-select: none;
- width: 500px;
-
- color: $text-primary;
- overflow: hidden;
-}
-
-.illustration {
- width: 100%;
- height: 208px;
- background-color: $motion-primary;
- background-image: url('./welcome.png');
- background-size: cover;
-}
-
-.body {
- background: $ui-white;
- padding: 1.5rem 2.25rem;
- text-align: center;
-}
-
-/* Confirmation buttons at the bottom of the modal */
-.button-row {
- margin: 1.5rem 0;
- font-weight: bolder;
- text-align: right;
- display: flex;
- justify-content: center;
-}
-
-.button-row button {
- border: 1px solid $motion-primary;
- border-radius: 0.25rem;
- padding: 0.5rem 1.5rem;
- background: white;
- font-weight: bold;
- font-size: .875rem;
- cursor: pointer;
-}
-
-.button-row button.ok-button {
- background: $motion-primary;
- color: white;
-}
-
-.button-row button.no-button {
- color: $motion-primary;
-}
-
-.button-row button.view-project-button {
- background: $extensions-primary;
- border-color: $extensions-primary;
- color: white;
-}
-
-[dir="ltr"] .button-row button + button {
- margin-left: 0.5rem;
-}
-
-[dir="rtl"] .button-row button + button {
- margin-right: 0.5rem;
-}
-
-.cat-icon {
- width: 1.5rem;
- height: 1.5rem;
- vertical-align: middle;
-}
-
-[dir="ltr"] .cat-icon {
- margin-left: .125rem;
-}
-
-[dir="rtl"] .cat-icon {
- margin-right: .125rem;
-}
-
-.faq-link-text {
- margin: 2rem 0 .5rem 0;
- font-size: .875rem;
- color: $text-primary;
-}
-
-.faq-link {
- color: $motion-primary;
- text-decoration: none;
-}
diff --git a/src/components/preview-modal/preview-modal.jsx b/src/components/preview-modal/preview-modal.jsx
deleted file mode 100644
index babfc0a27..000000000
--- a/src/components/preview-modal/preview-modal.jsx
+++ /dev/null
@@ -1,144 +0,0 @@
-import PropTypes from 'prop-types';
-import React from 'react';
-import ReactModal from 'react-modal';
-import Box from '../box/box.jsx';
-import {defineMessages, injectIntl, intlShape, FormattedMessage} from 'react-intl';
-
-import styles from './preview-modal.css';
-import catIcon from './happy-cat.png';
-
-const messages = defineMessages({
- label: {
- id: 'gui.previewInfo.label',
- defaultMessage: 'Try Scratch 3.0',
- description: 'Scratch 3.0 modal label - for accessibility'
- },
- previewWelcome: {
- defaultMessage: 'Welcome to the Scratch 3.0 Beta',
- description: 'Header for Preview Info Modal',
- id: 'gui.previewInfo.welcome'
- },
- notNowTooltip: {
- defaultMessage: 'Not Now',
- description: 'Tooltip for Not Now button',
- id: 'gui.previewModal.notnowtooltip'
- },
- tryItTooltip: {
- defaultMessage: 'Try It',
- description: 'Tooltip for Try It button',
- id: 'gui.previewModal.tryittooltip'
- },
- viewProjectTooltip: {
- defaultMessage: 'View 2.0 Project',
- description: 'Tooltip for View 2.0 Project button',
- id: 'gui.previewModal.viewprojecttooltip'
- }
-});
-
-const PreviewModal = ({intl, ...props}) => (
-
-
-
-
-
-
-
-
-
- { /* eslint-disable max-len */ }
-
- { /* eslint-enable max-len */ }
-
-
-
-
-
-
-
-
-
-
-
- )
- }}
- />
-
-
-
-
-);
-
-PreviewModal.propTypes = {
- intl: intlShape.isRequired,
- isRtl: PropTypes.bool,
- onCancel: PropTypes.func.isRequired,
- onTryIt: PropTypes.func.isRequired,
- onViewProject: PropTypes.func.isRequired
-};
-
-export default injectIntl(PreviewModal);
diff --git a/src/components/preview-modal/welcome.png b/src/components/preview-modal/welcome.png
deleted file mode 100644
index 1172df932..000000000
Binary files a/src/components/preview-modal/welcome.png and /dev/null differ
diff --git a/src/components/sprite-info/sprite-info.jsx b/src/components/sprite-info/sprite-info.jsx
index e9090bfe3..09c94d016 100644
--- a/src/components/sprite-info/sprite-info.jsx
+++ b/src/components/sprite-info/sprite-info.jsx
@@ -34,14 +34,15 @@ class SpriteInfo extends React.Component {
shouldComponentUpdate (nextProps) {
return (
this.props.rotationStyle !== nextProps.rotationStyle ||
- this.props.direction !== nextProps.direction ||
this.props.disabled !== nextProps.disabled ||
this.props.name !== nextProps.name ||
- this.props.size !== nextProps.size ||
this.props.stageSize !== nextProps.stageSize ||
this.props.visible !== nextProps.visible ||
- this.props.x !== nextProps.x ||
- this.props.y !== nextProps.y
+ // Only update these if rounded value has changed
+ Math.round(this.props.direction) !== Math.round(nextProps.direction) ||
+ Math.round(this.props.size) !== Math.round(nextProps.size) ||
+ Math.round(this.props.x) !== Math.round(nextProps.x) ||
+ Math.round(this.props.y) !== Math.round(nextProps.y)
);
}
render () {
@@ -110,7 +111,7 @@ class SpriteInfo extends React.Component {
placeholder="x"
tabIndex="0"
type="text"
- value={this.props.disabled ? '' : this.props.x}
+ value={this.props.disabled ? '' : Math.round(this.props.x)}
onSubmit={this.props.onChangeX}
/>
@@ -137,7 +138,7 @@ class SpriteInfo extends React.Component {
placeholder="y"
tabIndex="0"
type="text"
- value={this.props.disabled ? '' : this.props.y}
+ value={this.props.disabled ? '' : Math.round(this.props.y)}
onSubmit={this.props.onChangeY}
/>
@@ -237,14 +238,14 @@ class SpriteInfo extends React.Component {
label={sizeLabel}
tabIndex="0"
type="text"
- value={this.props.disabled ? '' : this.props.size}
+ value={this.props.disabled ? '' : Math.round(this.props.size)}
onSubmit={this.props.onChangeSize}
/>