diff --git a/client/gatsby-node.js b/client/gatsby-node.js index f6f4bbfac3..ced7ee5195 100644 --- a/client/gatsby-node.js +++ b/client/gatsby-node.js @@ -101,6 +101,7 @@ exports.createPages = function createPages({ graphql, actions, reporter }) { superBlock superOrder template + usesMultifileEditor } } } diff --git a/client/src/templates/Challenges/classic/show.tsx b/client/src/templates/Challenges/classic/show.tsx index d8951b859b..806f507678 100644 --- a/client/src/templates/Challenges/classic/show.tsx +++ b/client/src/templates/Challenges/classic/show.tsx @@ -96,7 +96,7 @@ interface ShowClassicProps { output: string[]; pageContext: { challengeMeta: ChallengeMeta; - projectPreview: PreviewConfig & { isFirstChallengeInBlock: boolean }; + projectPreview: PreviewConfig & { showProjectPreview: boolean }; }; t: TFunction; tests: Test[]; @@ -255,13 +255,13 @@ class ShowClassic extends Component { }, pageContext: { challengeMeta, - projectPreview: { isFirstChallengeInBlock } + projectPreview: { showProjectPreview } } } = this.props; initConsole(''); createFiles(challengeFiles ?? []); initTests(tests); - if (isFirstChallengeInBlock) openModal('projectPreview'); + if (showProjectPreview) openModal('projectPreview'); updateChallengeMeta({ ...challengeMeta, title, diff --git a/client/src/templates/Challenges/redux/execute-challenge-saga.js b/client/src/templates/Challenges/redux/execute-challenge-saga.js index e7d0438833..98cc80ac13 100644 --- a/client/src/templates/Challenges/redux/execute-challenge-saga.js +++ b/client/src/templates/Challenges/redux/execute-challenge-saga.js @@ -240,8 +240,8 @@ function* previewChallengeSaga({ flushLogs = true } = {}) { // TODO: remove everything about proxyLogger here function* previewProjectSolutionSaga({ payload }) { if (!payload) return; - const { isFirstChallengeInBlock, challengeData } = payload; - if (!isFirstChallengeInBlock) return; + const { showProjectPreview, challengeData } = payload; + if (!showProjectPreview) return; const logProxy = yield channel(); const proxyLogger = args => logProxy.put(args); diff --git a/client/utils/gatsby/challenge-page-creator.js b/client/utils/gatsby/challenge-page-creator.js index d3d328613a..e48509f591 100644 --- a/client/utils/gatsby/challenge-page-creator.js +++ b/client/utils/gatsby/challenge-page-creator.js @@ -100,7 +100,7 @@ exports.createChallengePages = function (createPage) { }; function getProjectPreviewConfig(challenge, allChallengeEdges) { - const { block, challengeOrder } = challenge; + const { block, challengeOrder, usesMultifileEditor } = challenge; const challengesInBlock = allChallengeEdges .filter(({ node }) => node.block === block) @@ -120,7 +120,7 @@ function getProjectPreviewConfig(challenge, allChallengeEdges) { ); return { - isFirstChallengeInBlock: challengeOrder === 0, + showProjectPreview: challengeOrder === 0 && usesMultifileEditor, challengeData: { challengeType: lastChallenge.challengeType, challengeFiles: projectPreviewChallengeFiles,