+ style={ style }
+ >
{ title || 'Happy Coding!' }
@@ -91,12 +107,18 @@ export class SidePanel extends PureComponent {
+ xs={ 12 }
+ >
{ this.renderDescription(description, this.descriptionRegex) }
-
+
@@ -105,4 +127,7 @@ export class SidePanel extends PureComponent {
}
}
-export default connect(mapStateToProps)(SidePanel);
+export default connect(
+ mapStateToProps,
+ bindableActions
+)(SidePanel);
diff --git a/common/app/routes/challenges/components/classic/Test-Suite.jsx b/common/app/routes/challenges/components/classic/Test-Suite.jsx
index ad002013e7..9691db5746 100644
--- a/common/app/routes/challenges/components/classic/Test-Suite.jsx
+++ b/common/app/routes/challenges/components/classic/Test-Suite.jsx
@@ -25,13 +25,15 @@ export default class extends PureComponent {
+ xs={ 2 }
+ >
+ xs={ 10 }
+ />
);
});
@@ -42,7 +44,8 @@ export default class extends PureComponent {
return (
+ style={{ marginTop: '10px' }}
+ >
{ this.renderTests(tests) }
);
diff --git a/common/app/routes/challenges/components/classic/Tool-Panel.jsx b/common/app/routes/challenges/components/classic/Tool-Panel.jsx
index 16f9e95f22..3dbbe05b54 100644
--- a/common/app/routes/challenges/components/classic/Tool-Panel.jsx
+++ b/common/app/routes/challenges/components/classic/Tool-Panel.jsx
@@ -1,23 +1,48 @@
import React, { PropTypes } from 'react';
-import { connect } from 'react-redux';
import { Button, ButtonGroup } from 'react-bootstrap';
import PureComponent from 'react-pure-render/component';
-import { executeChallenge } from '../../redux/actions';
-
-const bindableActions = { executeChallenge };
-
-export class ToolPanel extends PureComponent {
+export default class ToolPanel extends PureComponent {
+ constructor(...props) {
+ super(...props);
+ this.makeHint = this.makeHint.bind(this);
+ }
static displayName = 'ToolPanel';
static propTypes = {
- executeChallenge: PropTypes.func
+ executeChallenge: PropTypes.func,
+ updateHint: PropTypes.func,
+ hint: PropTypes.string
};
+ makeHint() {
+ this.props.makeToast({
+ message: this.props.hint
+ });
+ this.props.updateHint();
+ }
+
+ renderHint(hint, makeHint) {
+ if (!hint) {
+ return null;
+ }
+ return (
+
+ );
+ }
+
render() {
- const { executeChallenge } = this.props;
+ const { hint, executeChallenge } = this.props;
return (
+ { this.renderHint(hint, this.makeHint) }