Fix(challenges): load stored code on challenge change
This commit is contained in:
@ -18,15 +18,18 @@ import {
|
|||||||
|
|
||||||
const mapStateToProps = createSelector(
|
const mapStateToProps = createSelector(
|
||||||
challengeSelector,
|
challengeSelector,
|
||||||
|
state => state.challengesApp.id,
|
||||||
state => state.challengesApp.tests,
|
state => state.challengesApp.tests,
|
||||||
state => state.challengesApp.files,
|
state => state.challengesApp.files,
|
||||||
state => state.challengesApp.key,
|
state => state.challengesApp.key,
|
||||||
(
|
(
|
||||||
{ showPreview, mode },
|
{ showPreview, mode },
|
||||||
|
id,
|
||||||
tests,
|
tests,
|
||||||
files = {},
|
files = {},
|
||||||
key = ''
|
key = ''
|
||||||
) => ({
|
) => ({
|
||||||
|
id,
|
||||||
content: files[key] && files[key].contents || '',
|
content: files[key] && files[key].contents || '',
|
||||||
file: files[key],
|
file: files[key],
|
||||||
showPreview,
|
showPreview,
|
||||||
@ -46,6 +49,7 @@ export class Challenge extends PureComponent {
|
|||||||
static displayName = 'Challenge';
|
static displayName = 'Challenge';
|
||||||
|
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
|
id: PropTypes.string,
|
||||||
showPreview: PropTypes.bool,
|
showPreview: PropTypes.bool,
|
||||||
content: PropTypes.string,
|
content: PropTypes.string,
|
||||||
mode: PropTypes.string,
|
mode: PropTypes.string,
|
||||||
@ -60,6 +64,12 @@ export class Challenge extends PureComponent {
|
|||||||
this.props.updateMain();
|
this.props.updateMain();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
componentWillReceiveProps(nextProps) {
|
||||||
|
if (this.props.id !== nextProps.id) {
|
||||||
|
this.props.loadCode();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
renderPreview(showPreview) {
|
renderPreview(showPreview) {
|
||||||
if (!showPreview) {
|
if (!showPreview) {
|
||||||
return null;
|
return null;
|
||||||
|
Reference in New Issue
Block a user