mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2026-05-28 18:26:54 +00:00
chore(curriculum): add blockLayout when missing from meta (#57138)
Co-authored-by: Huyen Nguyen <25715018+huyenltnguyen@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
67a9657cf0
commit
56817b657f
@@ -13,7 +13,7 @@ import {
|
||||
BilibiliIds
|
||||
} from '../../../redux/prop-types';
|
||||
import { isAuditedSuperBlock } from '../../../../../shared/utils/is-audited';
|
||||
import { BlockTypes } from '../../../../../shared/config/blocks';
|
||||
import { BlockLayouts, BlockTypes } from '../../../../../shared/config/blocks';
|
||||
import Block from './block';
|
||||
|
||||
jest.mock('../../../../../shared/utils/is-audited', () => ({
|
||||
@@ -22,10 +22,12 @@ jest.mock('../../../../../shared/utils/is-audited', () => ({
|
||||
|
||||
const defaultProps = {
|
||||
block: 'test-block',
|
||||
blockType: null,
|
||||
challenges: [
|
||||
{
|
||||
block: 'testblock',
|
||||
blockType: BlockTypes.lab,
|
||||
blockLayout: BlockLayouts.ChallengeGrid,
|
||||
certification: 'mockCertification',
|
||||
challengeOrder: 1,
|
||||
challengeType: 0,
|
||||
|
||||
@@ -444,34 +444,20 @@ class Block extends Component<BlockProps> {
|
||||
</ScrollableAnchor>
|
||||
);
|
||||
|
||||
const blockRenderer = () => {
|
||||
const blockLayout = challenges[0].blockLayout;
|
||||
|
||||
// `blockLayout` property isn't available in all challenges
|
||||
if (!blockLayout) {
|
||||
if (isProjectBlock)
|
||||
return isGridBlock ? LegacyLinkBlock : ProjectListBlock;
|
||||
return isGridBlock
|
||||
? LegacyChallengeGridBlock
|
||||
: LegacyChallengeListBlock;
|
||||
}
|
||||
|
||||
// blockLayout is only being used in new certs at the moment, so I made some new components for them for now to not interfere with the existing ones
|
||||
if (blockLayout === BlockLayouts.ChallengeGrid) return ChallengeGridBlock;
|
||||
if (blockLayout === BlockLayouts.ChallengeList) return ChallengeListBlock;
|
||||
if (blockLayout === BlockLayouts.Link) return LinkBlock;
|
||||
if (blockLayout === BlockLayouts.ProjectList) return ProjectListBlock;
|
||||
if (blockLayout === BlockLayouts.LegacyLink) return LegacyLinkBlock;
|
||||
if (blockLayout === BlockLayouts.LegacyChallengeList)
|
||||
return LegacyChallengeListBlock;
|
||||
if (blockLayout === BlockLayouts.LegacyChallengeGrid)
|
||||
return LegacyChallengeGridBlock;
|
||||
const layoutToComponent = {
|
||||
[BlockLayouts.ChallengeGrid]: ChallengeGridBlock,
|
||||
[BlockLayouts.ChallengeList]: ChallengeListBlock,
|
||||
[BlockLayouts.Link]: LinkBlock,
|
||||
[BlockLayouts.ProjectList]: ProjectListBlock,
|
||||
[BlockLayouts.LegacyLink]: LegacyLinkBlock,
|
||||
[BlockLayouts.LegacyChallengeList]: LegacyChallengeListBlock,
|
||||
[BlockLayouts.LegacyChallengeGrid]: LegacyChallengeGridBlock
|
||||
};
|
||||
|
||||
return (
|
||||
<>
|
||||
{blockRenderer()}
|
||||
{isGridBlock && !isProjectBlock ? null : <Spacer size='m' />}
|
||||
{layoutToComponent[challenges[0].blockLayout]}
|
||||
{(!isGridBlock || isProjectBlock) && <Spacer size='m' />}
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -10,5 +10,6 @@
|
||||
"id": "6721db5d9f0c116e6a0fe25a",
|
||||
"title": "A2 English for Developers Certification Exam"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"blockLayout": "project-list"
|
||||
}
|
||||
@@ -38,5 +38,6 @@
|
||||
"id": "647f882207d29547b3bee1c0",
|
||||
"title": "Trophy - Add Logic to C# Console Applications"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
@@ -94,5 +94,6 @@
|
||||
"id": "589fc832f9fc0f352b528e79",
|
||||
"title": "Send and Display Chat Messages"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
@@ -46,5 +46,6 @@
|
||||
"id": "61abc7ebf3029b56226de5b6",
|
||||
"title": "Implement Binary Search"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
@@ -94,5 +94,6 @@
|
||||
"id": "587d7790367417b2b2512ab1",
|
||||
"title": "Use tabindex to Specify the Order of Keyboard Focus for Several Elements"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
@@ -214,5 +214,6 @@
|
||||
"id": "587d78a9367417b2b2512aea",
|
||||
"title": "Make Motion More Natural Using a Bezier Curve"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
@@ -26,5 +26,6 @@
|
||||
"id": "bd7158d8c443edefaeb5bd0f",
|
||||
"title": "File Metadata Microservice"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "project-list"
|
||||
}
|
||||
@@ -70,5 +70,6 @@
|
||||
"id": "a9bd25c716030ec90084d8a1",
|
||||
"title": "Chunky Monkey"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
@@ -182,5 +182,6 @@
|
||||
"id": "5a9d72ad424fe3d0e10cad16",
|
||||
"title": "Use a media query to change a variable"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
@@ -86,5 +86,6 @@
|
||||
"id": "587d7b7d367417b2b2512b1f",
|
||||
"title": "Modify an Array Stored in an Object"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
@@ -118,5 +118,6 @@
|
||||
"id": "587d78aa367417b2b2512aec",
|
||||
"title": "Define the Head and Body of an HTML Document"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
@@ -458,5 +458,6 @@
|
||||
"id": "5cc0bd7a49b71cb96132e54c",
|
||||
"title": "Use Recursion to Create a Range of Numbers"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
@@ -54,5 +54,6 @@
|
||||
"id": "587d7fb2367417b2b2512bf8",
|
||||
"title": "Get Data from POST Requests"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
@@ -135,5 +135,6 @@
|
||||
"id": "bad87fee1348bd9aec908857",
|
||||
"title": "Use Comments to Clarify Code"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "Build a Budget App Project",
|
||||
"isUpcomingChange": false,
|
||||
"usesMultifileEditor": true,
|
||||
"usesMultifileEditor": true,
|
||||
"dashedName": "build-a-budget-app-project",
|
||||
"order": 13,
|
||||
"superBlock": "scientific-computing-with-python",
|
||||
@@ -11,5 +11,6 @@
|
||||
"title": "Build a Budget App Project"
|
||||
}
|
||||
],
|
||||
"helpCategory": "Python"
|
||||
"helpCategory": "Python",
|
||||
"blockLayout": "legacy-link"
|
||||
}
|
||||
@@ -11,5 +11,6 @@
|
||||
"id": "657bdcc3a322aae1eac38392",
|
||||
"title": "Build a Cash Register"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"blockLayout": "legacy-link"
|
||||
}
|
||||
@@ -10,5 +10,6 @@
|
||||
"id": "5f1a4ef5d5d6b5ab580fc6ae",
|
||||
"title": "Build a Celestial Bodies Database"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "project-list"
|
||||
}
|
||||
@@ -10,5 +10,6 @@
|
||||
"id": "63d8402e39c73468b059cd43",
|
||||
"title": "Build a Data Graph Explorer"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "project-list"
|
||||
}
|
||||
@@ -10,5 +10,6 @@
|
||||
"id": "63d8401e39c73468b059cd42",
|
||||
"title": "Build a Financial Calculator"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "project-list"
|
||||
}
|
||||
@@ -10,5 +10,6 @@
|
||||
"id": "63d83ffd39c73468b059cd40",
|
||||
"title": "Build a Graphing Calculator"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "project-list"
|
||||
}
|
||||
@@ -10,5 +10,6 @@
|
||||
"id": "63d83ff239c73468b059cd3f",
|
||||
"title": "Build a Multi-Function Calculator"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "project-list"
|
||||
}
|
||||
@@ -10,5 +10,6 @@
|
||||
"id": "602da04c22201c65d2a019f4",
|
||||
"title": "Build a Number Guessing Game"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "project-list"
|
||||
}
|
||||
@@ -11,5 +11,6 @@
|
||||
"id": "657bdc55a322aae1eac3838f",
|
||||
"title": "Build a Palindrome Checker"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"blockLayout": "legacy-link"
|
||||
}
|
||||
@@ -10,5 +10,6 @@
|
||||
"id": "602d9ff222201c65d2a019f2",
|
||||
"title": "Build a Periodic Table Database"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "project-list"
|
||||
}
|
||||
@@ -11,5 +11,6 @@
|
||||
"id": "bd7158d8c242eddfaeb5bd13",
|
||||
"title": "Build a Personal Portfolio Webpage"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-link"
|
||||
}
|
||||
@@ -11,5 +11,6 @@
|
||||
"id": "6555c1d3e11a1574434cf8b5",
|
||||
"title": "Build a Pokémon Search App Project"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"blockLayout": "legacy-link"
|
||||
}
|
||||
@@ -11,5 +11,6 @@
|
||||
"title": "Build a Polygon Area Calculator Project"
|
||||
}
|
||||
],
|
||||
"helpCategory": "Python"
|
||||
"helpCategory": "Python",
|
||||
"blockLayout": "legacy-link"
|
||||
}
|
||||
@@ -11,5 +11,6 @@
|
||||
"title": "Build a Probability Calculator Project"
|
||||
}
|
||||
],
|
||||
"helpCategory": "Python"
|
||||
"helpCategory": "Python",
|
||||
"blockLayout": "legacy-link"
|
||||
}
|
||||
@@ -11,5 +11,6 @@
|
||||
"id": "587d78af367417b2b2512b04",
|
||||
"title": "Build a Product Landing Page"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-link"
|
||||
}
|
||||
@@ -11,5 +11,6 @@
|
||||
"id": "657bdc8ba322aae1eac38390",
|
||||
"title": "Build a Roman Numeral Converter"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"blockLayout": "legacy-link"
|
||||
}
|
||||
@@ -10,5 +10,6 @@
|
||||
"id": "5f87ac112ae598023a42df1a",
|
||||
"title": "Build a Salon Appointment Scheduler"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "project-list"
|
||||
}
|
||||
@@ -11,5 +11,6 @@
|
||||
"id": "587d78af367417b2b2512b03",
|
||||
"title": "Build a Survey Form"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-link"
|
||||
}
|
||||
@@ -11,5 +11,6 @@
|
||||
"id": "587d78b0367417b2b2512b05",
|
||||
"title": "Build a Technical Documentation Page"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-link"
|
||||
}
|
||||
@@ -11,5 +11,6 @@
|
||||
"id": "657bdcb9a322aae1eac38391",
|
||||
"title": "Build a Telephone Number Validator"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"blockLayout": "legacy-link"
|
||||
}
|
||||
@@ -11,5 +11,6 @@
|
||||
"title": "Build a Time Calculator Project"
|
||||
}
|
||||
],
|
||||
"helpCategory": "Python"
|
||||
"helpCategory": "Python",
|
||||
"blockLayout": "legacy-link"
|
||||
}
|
||||
@@ -11,5 +11,6 @@
|
||||
"id": "bd7158d8c442eddfaeb5bd18",
|
||||
"title": "Build a Tribute Page"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-link"
|
||||
}
|
||||
@@ -10,5 +10,6 @@
|
||||
"id": "5f9771307d4d22b9d2b75a94",
|
||||
"title": "Build a World Cup Database"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "project-list"
|
||||
}
|
||||
@@ -11,5 +11,6 @@
|
||||
"title": "Build an Arithmetic Formatter Project"
|
||||
}
|
||||
],
|
||||
"helpCategory": "Python"
|
||||
"helpCategory": "Python",
|
||||
"blockLayout": "legacy-link"
|
||||
}
|
||||
@@ -10,5 +10,6 @@
|
||||
"id": "63d8401039c73468b059cd41",
|
||||
"title": "Build Three Math Games"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "project-list"
|
||||
}
|
||||
@@ -14,5 +14,6 @@
|
||||
"id": "6363d2959078df117ce4c408",
|
||||
"title": "More Resources in Colab"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
+2
-1
@@ -38,5 +38,6 @@
|
||||
"id": "647f87dc07d29547b3bee1bf",
|
||||
"title": "Trophy - Create and Run Simple C# Console Applications"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
+2
-1
@@ -30,5 +30,6 @@
|
||||
"id": "647f877f07d29547b3bee1be",
|
||||
"title": "Trophy - Create Methods in C# Console Applications"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
@@ -74,5 +74,6 @@
|
||||
"id": "587d78af367417b2b2512b00",
|
||||
"title": "Use the align-self Property"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
@@ -94,5 +94,6 @@
|
||||
"id": "5a94fe8569fb03452672e464",
|
||||
"title": "Create Grids within Grids"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
@@ -596,5 +596,6 @@
|
||||
"id": "5d8a4cfbe6b6180ed9a1ca72",
|
||||
"title": "Step 146"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-grid"
|
||||
}
|
||||
@@ -118,5 +118,6 @@
|
||||
"id": "5e9a093a74c4063ca6f7c167",
|
||||
"title": "Python Iteration and Modules"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
@@ -26,5 +26,6 @@
|
||||
"id": "5e4f5c4b570f7e3a4949899f",
|
||||
"title": "Sea Level Predictor"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "project-list"
|
||||
}
|
||||
@@ -190,5 +190,6 @@
|
||||
"id": "587d825d367417b2b2512c96",
|
||||
"title": "Depth-First Search"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
@@ -26,5 +26,6 @@
|
||||
"id": "587d7fa6367417b2b2512bc0",
|
||||
"title": "Visualize Data with a Treemap Diagram"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "project-list"
|
||||
}
|
||||
@@ -127,5 +127,6 @@
|
||||
"id": "587d7fad367417b2b2512bdf",
|
||||
"title": "Add Axes to a Visualization"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
@@ -34,5 +34,6 @@
|
||||
"id": "647f86ff07d29547b3bee1bd",
|
||||
"title": "Trophy - Debug C# Console Applications"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
@@ -54,5 +54,6 @@
|
||||
"id": "587d7b86367417b2b2512b3d",
|
||||
"title": "Prevent Infinite Loops with a Valid Terminal Condition"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
@@ -122,5 +122,6 @@
|
||||
"id": "5cdafbe72913098997531682",
|
||||
"title": "Handle a Rejected Promise with catch"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
+2
-1
@@ -10,5 +10,6 @@
|
||||
"id": "647e22d18acb466c97ccbef8",
|
||||
"title": "Foundational C# with Microsoft Certification Exam"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "project-list"
|
||||
}
|
||||
@@ -26,5 +26,6 @@
|
||||
"id": "bd7158d8c442eddfaeb5bd0f",
|
||||
"title": "Build a 25 + 5 Clock"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "project-list"
|
||||
}
|
||||
@@ -102,5 +102,6 @@
|
||||
"id": "587d7dab367417b2b2512b70",
|
||||
"title": "Introduction to Currying and Partial Application"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
@@ -22,5 +22,6 @@
|
||||
"id": "5e9a0e9ef99a403d019610cd",
|
||||
"title": "How Convolutional Neural Networks work"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
@@ -26,5 +26,6 @@
|
||||
"id": "5e601c775ac9d0ecd8b94aff",
|
||||
"title": "Secure Real Time Multiplayer Game"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "project-list"
|
||||
}
|
||||
@@ -62,5 +62,6 @@
|
||||
"id": "58a25bcff9fc0f352b528e7e",
|
||||
"title": "Hash and Compare Passwords Synchronously"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
@@ -90,5 +90,6 @@
|
||||
"id": "af4afb223120f7348cdfc9fd",
|
||||
"title": "Map the Debris"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
+2
-1
@@ -26,5 +26,6 @@
|
||||
"id": "aa2e6f85cab2ab736c9a9b24",
|
||||
"title": "Cash Register"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "project-list"
|
||||
}
|
||||
@@ -86,5 +86,6 @@
|
||||
"id": "bad87fee1348bd9aecb08826",
|
||||
"title": "Use jQuery to Modify the Entire Page"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
@@ -51,5 +51,6 @@
|
||||
"id": "587d7faf367417b2b2512be9",
|
||||
"title": "Post Data with the JavaScript XMLHttpRequest Method"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
@@ -10,5 +10,6 @@
|
||||
"title": "Dialogue 1: I'm Tom"
|
||||
}
|
||||
],
|
||||
"helpCategory": "English"
|
||||
"helpCategory": "English",
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
@@ -10,5 +10,6 @@
|
||||
"title": "Dialogue 1: I'm Tom"
|
||||
}
|
||||
],
|
||||
"helpCategory": "English"
|
||||
"helpCategory": "English",
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
@@ -276,5 +276,6 @@
|
||||
"id": "6148e41c728f65138addf9cc",
|
||||
"title": "Step 67"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-grid"
|
||||
}
|
||||
+2
-1
@@ -244,5 +244,6 @@
|
||||
"id": "635302be760d6031d11a06cd",
|
||||
"title": "Step 59"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-grid"
|
||||
}
|
||||
+2
-1
@@ -10,5 +10,6 @@
|
||||
"id": "602da0de22201c65d2a019f6",
|
||||
"title": "Build a Kitty Ipsum Translator"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "project-list"
|
||||
}
|
||||
+2
-1
@@ -244,5 +244,6 @@
|
||||
"title": "Step 59"
|
||||
}
|
||||
],
|
||||
"helpCategory": "Python"
|
||||
"helpCategory": "Python",
|
||||
"blockLayout": "legacy-challenge-grid"
|
||||
}
|
||||
@@ -14,5 +14,6 @@
|
||||
"id": "6363d23a9078df117ce4c3ff",
|
||||
"title": "Applications of Linear Systems: Extra"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
+2
-1
@@ -228,5 +228,6 @@
|
||||
"id": "64649b108df035051cb2ba2d",
|
||||
"title": "Step 55"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-grid"
|
||||
}
|
||||
+2
-1
@@ -10,5 +10,6 @@
|
||||
"id": "5f5b969a05380d2179fe6e18",
|
||||
"title": "Build a Bike Rental Shop"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "project-list"
|
||||
}
|
||||
@@ -10,5 +10,6 @@
|
||||
"id": "5ea8adfab628f68d805bfc5e",
|
||||
"title": "Build a Boilerplate"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "project-list"
|
||||
}
|
||||
+2
-1
@@ -10,5 +10,6 @@
|
||||
"id": "5f5904ac738bc2fa9efecf5a",
|
||||
"title": "Build Five Programs"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "project-list"
|
||||
}
|
||||
+2
-1
@@ -188,5 +188,6 @@
|
||||
"id": "64113249bab9952fb2ce4469",
|
||||
"title": "Step 45"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-grid"
|
||||
}
|
||||
@@ -372,5 +372,6 @@
|
||||
"id": "5f47fe7e31980053a8d4403b",
|
||||
"title": "Step 91"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-grid"
|
||||
}
|
||||
+2
-1
@@ -40,5 +40,6 @@
|
||||
"title": "Step 8"
|
||||
}
|
||||
],
|
||||
"helpCategory": "JavaScript"
|
||||
"helpCategory": "JavaScript",
|
||||
"blockLayout": "legacy-challenge-grid"
|
||||
}
|
||||
+2
-1
@@ -700,5 +700,6 @@
|
||||
"id": "62aa2ba9cd881355a6f0a5a8",
|
||||
"title": "Step 173"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-grid"
|
||||
}
|
||||
@@ -248,5 +248,6 @@
|
||||
"id": "63f03b1ed5ab15420c057463",
|
||||
"title": "Step 60"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"blockLayout": "legacy-challenge-grid"
|
||||
}
|
||||
+3
-2
@@ -404,5 +404,6 @@
|
||||
"title": "Step 99"
|
||||
}
|
||||
],
|
||||
"helpCategory": "JavaScript"
|
||||
}
|
||||
"helpCategory": "JavaScript",
|
||||
"blockLayout": "legacy-challenge-grid"
|
||||
}
|
||||
+2
-1
@@ -14,5 +14,6 @@
|
||||
"id": "63dbd0375d93712ff177d969",
|
||||
"title": "Business Applications of College Algebra: Extra"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
+2
-1
@@ -320,5 +320,6 @@
|
||||
"title": "Step 78"
|
||||
}
|
||||
],
|
||||
"helpCategory": "Python"
|
||||
"helpCategory": "Python",
|
||||
"blockLayout": "legacy-challenge-grid"
|
||||
}
|
||||
@@ -10,5 +10,6 @@
|
||||
"id": "6331d251b51aeedd1a2bd648",
|
||||
"title": "Factoring"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
@@ -10,5 +10,6 @@
|
||||
"title": "Dialogue 1: I'm Tom"
|
||||
}
|
||||
],
|
||||
"helpCategory": "English"
|
||||
"helpCategory": "English",
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
@@ -534,5 +534,6 @@
|
||||
"title": "Task 127"
|
||||
}
|
||||
],
|
||||
"helpCategory": "English"
|
||||
}
|
||||
"helpCategory": "English",
|
||||
"blockLayout": "legacy-challenge-grid"
|
||||
}
|
||||
+2
-1
@@ -124,5 +124,6 @@
|
||||
"id": "6169b284950e171d8d0bb16a",
|
||||
"title": "Step 29"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-grid"
|
||||
}
|
||||
+2
-1
@@ -384,5 +384,6 @@
|
||||
"id": "61b31cd7b0c76bfc076b4719",
|
||||
"title": "Step 94"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-grid"
|
||||
}
|
||||
@@ -104,5 +104,6 @@
|
||||
"id": "6153a3ebb4f7f05b8401b716",
|
||||
"title": "Step 24"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-grid"
|
||||
}
|
||||
@@ -328,5 +328,6 @@
|
||||
"id": "6148f6f7d8914c78e93136ca",
|
||||
"title": "Step 80"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-grid"
|
||||
}
|
||||
@@ -424,5 +424,6 @@
|
||||
"id": "619d3711d04d623000013e9e",
|
||||
"title": "Step 104"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-grid"
|
||||
}
|
||||
+2
-1
@@ -480,5 +480,6 @@
|
||||
"id": "5d822fd413a79914d39e993e",
|
||||
"title": "Step 118"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-grid"
|
||||
}
|
||||
+2
-1
@@ -140,5 +140,6 @@
|
||||
"title": "Step 33"
|
||||
}
|
||||
],
|
||||
"helpCategory": "Python"
|
||||
"helpCategory": "Python",
|
||||
"blockLayout": "legacy-challenge-grid"
|
||||
}
|
||||
+2
-1
@@ -10,5 +10,6 @@
|
||||
"title": "Dialogue 1: I'm Tom"
|
||||
}
|
||||
],
|
||||
"helpCategory": "English"
|
||||
"helpCategory": "English",
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
+2
-1
@@ -104,5 +104,6 @@
|
||||
"title": "Step 24"
|
||||
}
|
||||
],
|
||||
"helpCategory": "Python"
|
||||
"helpCategory": "Python",
|
||||
"blockLayout": "legacy-challenge-grid"
|
||||
}
|
||||
@@ -10,5 +10,6 @@
|
||||
"id": "6363d2769078df117ce4c406",
|
||||
"title": "Exponents and Logarithms"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
+3
-2
@@ -124,5 +124,6 @@
|
||||
"id": "641dab13c1b6f14b9828e6b1",
|
||||
"title": "Step 29"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"blockLayout": "legacy-challenge-grid"
|
||||
}
|
||||
+3
-2
@@ -396,5 +396,6 @@
|
||||
"id": "63c9f2bff625af342023512c",
|
||||
"title": "Step 97"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"blockLayout": "legacy-challenge-grid"
|
||||
}
|
||||
@@ -14,5 +14,6 @@
|
||||
"id": "6331d260b51aeedd1a2bd64a",
|
||||
"title": "Fractions and Decimals: Extra"
|
||||
}
|
||||
]
|
||||
],
|
||||
"blockLayout": "legacy-challenge-list"
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user