mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2026-02-19 04:00:51 -05:00
Feat(Curriculum): Implement Chapter Based Layout to A1 Spanish (#62190)
Co-authored-by: Huyen Nguyen <25715018+huyenltnguyen@users.noreply.github.com>
This commit is contained in:
@@ -4849,10 +4849,38 @@
|
||||
"title": "A1 Professional Spanish Certification (Beta)",
|
||||
"note": "This certification is currently in active development. While there isn't a claimable certification available for this section at the moment, one will be available soon. In the meantime, you're welcome to explore the courses we have created below.",
|
||||
"intro": ["Placeholder intro"],
|
||||
"chapters": {
|
||||
"es-a1-chapter-greetings-and-introductions": "Greetings and Introductions"
|
||||
},
|
||||
"modules": {
|
||||
"es-a1-module-greetings-and-farewells": "Greetings and Farewells"
|
||||
},
|
||||
"module-intros": {
|
||||
"es-a1-module-greetings-and-farewells": {
|
||||
"note": "Coming Winter 2025",
|
||||
"intro": ["PLACEHOLDER: Write the module intro here."]
|
||||
}
|
||||
},
|
||||
"blocks": {
|
||||
"a1-professional-spanish-placeholder-block": {
|
||||
"title": "A1 Professional Spanish Placeholder Block",
|
||||
"intro": ["Placeholder intro text."]
|
||||
"es-a1-warm-up-greetings-and-farewells-basics": {
|
||||
"title": "Greetings and Farewells Basics",
|
||||
"intro": ["Learn the basics of greetings and farewells in Spanish."]
|
||||
},
|
||||
"es-a1-learn-greetings-during-the-day": {
|
||||
"title": "Greetings During the Day",
|
||||
"intro": ["", ""]
|
||||
},
|
||||
"es-a1-practice-greetings-and-farewells": {
|
||||
"title": "Greetings and Farewells Practice",
|
||||
"intro": ["", ""]
|
||||
},
|
||||
"es-a1-review-greetings-and-farewells": {
|
||||
"title": "Greetings and Farewells Review",
|
||||
"intro": ["", ""]
|
||||
},
|
||||
"es-a1-quiz-greetings-and-farewells": {
|
||||
"title": "Greetings and Farewells Quiz",
|
||||
"intro": ["", ""]
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
---
|
||||
title: Introduction to the A1 Professional Spanish Placeholder Block
|
||||
block: a1-professional-spanish-placeholder-block
|
||||
superBlock: a1-professional-spanish
|
||||
---
|
||||
|
||||
## Introduction to the A1 Professional Spanish Placeholder Block
|
||||
|
||||
Introduction to the A1 Professional Spanish Placeholder Block
|
||||
@@ -0,0 +1,9 @@
|
||||
---
|
||||
title: Introduction to the Greetings During the Day
|
||||
block: es-a1-learn-greetings-during-the-day
|
||||
superBlock: a1-professional-spanish
|
||||
---
|
||||
|
||||
## Introduction to the Greetings During the Day
|
||||
|
||||
This page is for the Greetings During the Day
|
||||
@@ -0,0 +1,9 @@
|
||||
---
|
||||
title: Introduction to the Greetings and Farewells Practice
|
||||
block: es-a1-practice-greetings-and-farewells
|
||||
superBlock: a1-professional-spanish
|
||||
---
|
||||
|
||||
## Introduction to the Greetings and Farewells Practice
|
||||
|
||||
This page is for the Greetings and Farewells Practice
|
||||
@@ -0,0 +1,9 @@
|
||||
---
|
||||
title: Introduction to the Greetings and Farewells Quiz
|
||||
block: es-a1-quiz-greetings-and-farewells
|
||||
superBlock: a1-professional-spanish
|
||||
---
|
||||
|
||||
## Introduction to the Greetings and Farewells Quiz
|
||||
|
||||
This page is for the Greetings and Farewells Quiz
|
||||
@@ -0,0 +1,9 @@
|
||||
---
|
||||
title: Introduction to the Greetings and Farewells Review
|
||||
block: es-a1-review-greetings-and-farewells
|
||||
superBlock: a1-professional-spanish
|
||||
---
|
||||
|
||||
## Introduction to the Greetings and Farewells Review
|
||||
|
||||
This page is for the Greetings and Farewells Review
|
||||
@@ -0,0 +1,9 @@
|
||||
---
|
||||
title: Introduction to Greetings and Farewells Basics
|
||||
block: es-a1-warm-up-greetings-and-farewells-basics
|
||||
superBlock: a1-professional-spanish
|
||||
---
|
||||
|
||||
## Introduction to Greetings and Farewells Basics
|
||||
|
||||
Introduction to Greetings and Farewells Basics
|
||||
@@ -9,8 +9,10 @@ import DropDown from '../../../assets/icons/dropdown';
|
||||
// from the curriculum
|
||||
import fullStackCert from '../../../../../curriculum/structure/superblocks/full-stack-developer.json';
|
||||
import fullStackOpen from '../../../../../curriculum/structure/superblocks/full-stack-open.json';
|
||||
import a1Spanish from '../../../../../curriculum/structure/superblocks/a1-professional-spanish.json';
|
||||
|
||||
import { ChapterIcon } from '../../../assets/chapter-icon';
|
||||
import { type Chapter } from '../../../../../shared/config/chapters';
|
||||
import { BlockLayouts, BlockTypes } from '../../../../../shared/config/blocks';
|
||||
import { FsdChapters } from '../../../../../shared/config/chapters';
|
||||
import { type Module } from '../../../../../shared/config/modules';
|
||||
@@ -174,12 +176,16 @@ export const SuperBlockAccordion = ({
|
||||
chosenBlock,
|
||||
completedChallengeIds
|
||||
}: SuperBlockAccordionProps) => {
|
||||
function getSuperblockStructure(superBlock: SuperBlocks) {
|
||||
function getSuperblockStructure(superBlock: SuperBlocks): {
|
||||
chapters: Chapter[];
|
||||
} {
|
||||
switch (superBlock) {
|
||||
case SuperBlocks.FullStackOpen:
|
||||
return fullStackOpen;
|
||||
case SuperBlocks.FullStackDeveloper:
|
||||
return fullStackCert;
|
||||
case SuperBlocks.A1Spanish:
|
||||
return a1Spanish;
|
||||
default:
|
||||
throw new Error("The SuperBlock structure hasn't been imported.");
|
||||
}
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
---
|
||||
id: 68bb001c22f3bcbd1fdf38fa
|
||||
title: "Dialogue 1: Placeholder Challenge"
|
||||
challengeType: 21
|
||||
dashedName: dialogue-1-placeholder-challenge
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
Placeholder challenge.
|
||||
@@ -0,0 +1,58 @@
|
||||
---
|
||||
id: 68c84d44d91406c37b3ad73f
|
||||
title: "Dialogue 1: I'm Tom"
|
||||
challengeType: 21
|
||||
dashedName: dialogue-1-im-tom
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
Watch the video below to understand the context of the upcoming lessons.
|
||||
|
||||
# --assignment--
|
||||
|
||||
Watch the video.
|
||||
|
||||
# --scene--
|
||||
|
||||
```json
|
||||
{
|
||||
"setup": {
|
||||
"background": "chaos.png",
|
||||
"characters": [
|
||||
{
|
||||
"character": "David",
|
||||
"position": {"x":50,"y":80,"z":8},
|
||||
"opacity": 0
|
||||
}
|
||||
],
|
||||
"audio": {
|
||||
"filename": "1.1-1.mp3",
|
||||
"startTime": 1,
|
||||
"startTimestamp": 5.7,
|
||||
"finishTimestamp": 6.48
|
||||
}
|
||||
},
|
||||
"commands": [
|
||||
{
|
||||
"character": "David",
|
||||
"opacity": 1,
|
||||
"startTime": 0
|
||||
},
|
||||
{
|
||||
"character": "David",
|
||||
"startTime": 1,
|
||||
"finishTime": 0.78,
|
||||
"dialogue": {
|
||||
"text": "I'm Tom.",
|
||||
"align": "center"
|
||||
}
|
||||
},
|
||||
{
|
||||
"character": "Tom",
|
||||
"opacity": 0,
|
||||
"startTime": 1.28
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
@@ -0,0 +1,58 @@
|
||||
---
|
||||
id: 68c850c5eb642cc96ed86544
|
||||
title: "Dialogue 1: I'm Tom"
|
||||
challengeType: 21
|
||||
dashedName: dialogue-1-im-tom
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
Watch the video below to understand the context of the upcoming lessons.
|
||||
|
||||
# --assignment--
|
||||
|
||||
Watch the video.
|
||||
|
||||
# --scene--
|
||||
|
||||
```json
|
||||
{
|
||||
"setup": {
|
||||
"background": "chaos.png",
|
||||
"characters": [
|
||||
{
|
||||
"character": "David",
|
||||
"position": {"x":50,"y":80,"z":8},
|
||||
"opacity": 0
|
||||
}
|
||||
],
|
||||
"audio": {
|
||||
"filename": "1.1-1.mp3",
|
||||
"startTime": 1,
|
||||
"startTimestamp": 5.7,
|
||||
"finishTimestamp": 6.48
|
||||
}
|
||||
},
|
||||
"commands": [
|
||||
{
|
||||
"character": "David",
|
||||
"opacity": 1,
|
||||
"startTime": 0
|
||||
},
|
||||
{
|
||||
"character": "David",
|
||||
"startTime": 1,
|
||||
"finishTime": 0.78,
|
||||
"dialogue": {
|
||||
"text": "I'm Tom.",
|
||||
"align": "center"
|
||||
}
|
||||
},
|
||||
{
|
||||
"character": "Tom",
|
||||
"opacity": 0,
|
||||
"startTime": 1.28
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
@@ -0,0 +1,58 @@
|
||||
---
|
||||
id: 68c8510f4a9c00ca2a67160c
|
||||
title: "Dialogue 1: I'm Tom"
|
||||
challengeType: 21
|
||||
dashedName: dialogue-1-im-tom
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
Watch the video below to understand the context of the upcoming lessons.
|
||||
|
||||
# --assignment--
|
||||
|
||||
Watch the video.
|
||||
|
||||
# --scene--
|
||||
|
||||
```json
|
||||
{
|
||||
"setup": {
|
||||
"background": "chaos.png",
|
||||
"characters": [
|
||||
{
|
||||
"character": "David",
|
||||
"position": {"x":50,"y":80,"z":8},
|
||||
"opacity": 0
|
||||
}
|
||||
],
|
||||
"audio": {
|
||||
"filename": "1.1-1.mp3",
|
||||
"startTime": 1,
|
||||
"startTimestamp": 5.7,
|
||||
"finishTimestamp": 6.48
|
||||
}
|
||||
},
|
||||
"commands": [
|
||||
{
|
||||
"character": "David",
|
||||
"opacity": 1,
|
||||
"startTime": 0
|
||||
},
|
||||
{
|
||||
"character": "David",
|
||||
"startTime": 1,
|
||||
"finishTime": 0.78,
|
||||
"dialogue": {
|
||||
"text": "I'm Tom.",
|
||||
"align": "center"
|
||||
}
|
||||
},
|
||||
{
|
||||
"character": "Tom",
|
||||
"opacity": 0,
|
||||
"startTime": 1.28
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
@@ -0,0 +1,58 @@
|
||||
---
|
||||
id: 68c850ed23d494c9be5cb22a
|
||||
title: "Dialogue 1: I'm Tom"
|
||||
challengeType: 21
|
||||
dashedName: dialogue-1-im-tom
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
Watch the video below to understand the context of the upcoming lessons.
|
||||
|
||||
# --assignment--
|
||||
|
||||
Watch the video.
|
||||
|
||||
# --scene--
|
||||
|
||||
```json
|
||||
{
|
||||
"setup": {
|
||||
"background": "chaos.png",
|
||||
"characters": [
|
||||
{
|
||||
"character": "David",
|
||||
"position": {"x":50,"y":80,"z":8},
|
||||
"opacity": 0
|
||||
}
|
||||
],
|
||||
"audio": {
|
||||
"filename": "1.1-1.mp3",
|
||||
"startTime": 1,
|
||||
"startTimestamp": 5.7,
|
||||
"finishTimestamp": 6.48
|
||||
}
|
||||
},
|
||||
"commands": [
|
||||
{
|
||||
"character": "David",
|
||||
"opacity": 1,
|
||||
"startTime": 0
|
||||
},
|
||||
{
|
||||
"character": "David",
|
||||
"startTime": 1,
|
||||
"finishTime": 0.78,
|
||||
"dialogue": {
|
||||
"text": "I'm Tom.",
|
||||
"align": "center"
|
||||
}
|
||||
},
|
||||
{
|
||||
"character": "Tom",
|
||||
"opacity": 0,
|
||||
"startTime": 1.28
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
@@ -0,0 +1,116 @@
|
||||
---
|
||||
id: 68bb001c22f3bcbd1fdf38fa
|
||||
title: "Task 1"
|
||||
challengeType: 19
|
||||
dashedName: task-1
|
||||
---
|
||||
|
||||
<!-- (Audio) Elena: Hola -->
|
||||
|
||||
# --description--
|
||||
|
||||
`¡Bienvenidos!`
|
||||
Welcome to the A1 Professional Spanish course!
|
||||
|
||||
This is an **elementary course** focused on teaching you the very basics of the Spanish language.
|
||||
|
||||
The section you're in now is called `warm-up`. This is where you'll be introduced to new words before they appear in longer sentences or conversations.
|
||||
|
||||
Let's start by practicing your first word in Spanish.
|
||||
|
||||
# --instructions--
|
||||
|
||||
Listen to the audio and answer the question below.
|
||||
There's just **one** correct answer. If you need help, click on the `explanation` at the bottom of the lesson.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
What does the speaker say?
|
||||
|
||||
## --answers--
|
||||
|
||||
`Hola`
|
||||
|
||||
---
|
||||
|
||||
`Adiós`
|
||||
|
||||
### --feedback--
|
||||
|
||||
This means the opposite of what the speaker says. Open the explanation section if you need further help.
|
||||
|
||||
---
|
||||
|
||||
`Chao`
|
||||
|
||||
### --feedback--
|
||||
|
||||
This means the opposite of what the speaker says. Open the explanation section if you need further help.
|
||||
|
||||
---
|
||||
|
||||
`Gracias`
|
||||
|
||||
### --feedback--
|
||||
|
||||
This is a polite word, but it's not what you hear in the audio.
|
||||
|
||||
## --video-solution--
|
||||
|
||||
1
|
||||
|
||||
# --explanation--
|
||||
|
||||
The word `Hola` is a greeting. It is used when you meet someone, similar to "Hello" or "Hi" in English. For example:
|
||||
|
||||
`Hola, Buenos Días` – Hi, Good morning!
|
||||
|
||||
# --scene--
|
||||
|
||||
```json
|
||||
{
|
||||
"setup": {
|
||||
"background": "interview-room3.png",
|
||||
"characters": [
|
||||
{
|
||||
"character": "Elena",
|
||||
"position": {
|
||||
"x": 50,
|
||||
"y": 15,
|
||||
"z": 1.2
|
||||
},
|
||||
"opacity": 0
|
||||
}
|
||||
],
|
||||
"audio": {
|
||||
"filename": "ES_A1_1.1.mp3",
|
||||
"startTime": 1,
|
||||
"startTimestamp": 0.35,
|
||||
"finishTimestamp": 1.0
|
||||
}
|
||||
},
|
||||
"commands": [
|
||||
{
|
||||
"character": "Elena",
|
||||
"opacity": 1,
|
||||
"startTime": 0
|
||||
},
|
||||
{
|
||||
"character": "Elena",
|
||||
"startTime": 1,
|
||||
"finishTime": 1.65,
|
||||
"dialogue": {
|
||||
"text": "Hola",
|
||||
"align": "center"
|
||||
}
|
||||
},
|
||||
{
|
||||
"character": "Elena",
|
||||
"opacity": 0,
|
||||
"startTime": 2.15
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
@@ -0,0 +1,88 @@
|
||||
---
|
||||
id: 68c488abd71a3e27190965e0
|
||||
title: Task 2
|
||||
challengeType: 22
|
||||
dashedName: task-2
|
||||
---
|
||||
<!-- (Audio) Elena: Hola -->
|
||||
|
||||
# --description--
|
||||
|
||||
`¡Hola!`
|
||||
|
||||
In this type of task, you need to listen to the audio and fill in the missing word.
|
||||
This is great practice for your listening skills!
|
||||
|
||||
If you're having trouble hearing the audio, click on the `transcript` to read it, or use the `CC` button inside the animation to follow along with subtitles as the characters speak.
|
||||
|
||||
# --instructions--
|
||||
|
||||
Listen to the audio and complete the sentence below.
|
||||
|
||||
# --fillInTheBlank--
|
||||
|
||||
## --sentence--
|
||||
|
||||
`BLANK .`
|
||||
|
||||
## --blanks--
|
||||
|
||||
`Hola`
|
||||
|
||||
### --feedback--
|
||||
|
||||
This is the greeting you just learned.
|
||||
|
||||
# --explanation--
|
||||
|
||||
`Hola` is a greeting. It's used to say "Hello" at the beginning of a conversation. For example:
|
||||
|
||||
`Hola, buenos días` – Hello, good morning!
|
||||
|
||||
# --scene--
|
||||
|
||||
```json
|
||||
{
|
||||
"setup": {
|
||||
"background": "interview-room3.png",
|
||||
"characters": [
|
||||
{
|
||||
"character": "Elena",
|
||||
"position": {
|
||||
"x": 50,
|
||||
"y": 15,
|
||||
"z": 1.2
|
||||
},
|
||||
"opacity": 0
|
||||
}
|
||||
],
|
||||
"audio": {
|
||||
"filename": "ES_A1_1.1.mp3",
|
||||
"startTime": 1,
|
||||
"startTimestamp": 0.35,
|
||||
"finishTimestamp": 1.0
|
||||
}
|
||||
},
|
||||
"commands": [
|
||||
{
|
||||
"character": "Elena",
|
||||
"opacity": 1,
|
||||
"startTime": 0
|
||||
},
|
||||
{
|
||||
"character": "Elena",
|
||||
"startTime": 1,
|
||||
"finishTime": 1.65,
|
||||
"dialogue": {
|
||||
"text": "Hola",
|
||||
"align": "center"
|
||||
}
|
||||
},
|
||||
{
|
||||
"character": "Elena",
|
||||
"opacity": 0,
|
||||
"startTime": 2.15
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
@@ -259,7 +259,17 @@ const availableAudios = [
|
||||
'B1_23-3.mp3',
|
||||
'B1_24-1.mp3',
|
||||
'B1_24-2.mp3',
|
||||
'B1_24-3.mp3'
|
||||
'B1_24-3.mp3',
|
||||
'ES_A1_1.1.mp3',
|
||||
'ES_A1_1.2.mp3',
|
||||
'ES_A1_1.3.mp3',
|
||||
'ES_A1_1.4.mp3',
|
||||
'ES_A1_2.1.mp3',
|
||||
'ES_A1_2.2.mp3',
|
||||
'ES_A1_2.3.mp3',
|
||||
'ES_A1_2.4.mp3',
|
||||
'ES_A1_3.1.mp3',
|
||||
'ES_A1_3.2.mp3'
|
||||
];
|
||||
|
||||
const availableAlignments = ['left', 'center', 'right'];
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
{
|
||||
"name": "A1 Professional Spanish Placeholder Block",
|
||||
"isUpcomingChange": true,
|
||||
"dashedName": "a1-professional-spanish-placeholder-block",
|
||||
"helpCategory": "English",
|
||||
"challengeOrder": [
|
||||
{
|
||||
"id": "68bb001c22f3bcbd1fdf38fa",
|
||||
"title": "Dialogue 1: Placeholder Challenge"
|
||||
}
|
||||
],
|
||||
"blockLayout": "project-list"
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "Greetings During the Day",
|
||||
"isUpcomingChange": true,
|
||||
"dashedName": "es-a1-learn-greetings-during-the-day",
|
||||
"helpCategory": "English",
|
||||
"blockLayout": "dialogue-grid",
|
||||
"blockType": "learn",
|
||||
"challengeOrder": [
|
||||
{ "id": "68c84d44d91406c37b3ad73f", "title": "Dialogue 1: I'm Tom" }
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "Greetings and Farewells Practice",
|
||||
"isUpcomingChange": true,
|
||||
"dashedName": "es-a1-practice-greetings-and-farewells",
|
||||
"helpCategory": "English",
|
||||
"blockLayout": "dialogue-grid",
|
||||
"blockType": "practice",
|
||||
"challengeOrder": [
|
||||
{ "id": "68c850c5eb642cc96ed86544", "title": "Dialogue 1: I'm Tom" }
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "Greetings and Farewells Quiz",
|
||||
"isUpcomingChange": true,
|
||||
"dashedName": "es-a1-quiz-greetings-and-farewells",
|
||||
"helpCategory": "English",
|
||||
"blockLayout": "dialogue-grid",
|
||||
"blockType": "quiz",
|
||||
"challengeOrder": [
|
||||
{ "id": "68c8510f4a9c00ca2a67160c", "title": "Dialogue 1: I'm Tom" }
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "Greetings and Farewells Review",
|
||||
"isUpcomingChange": true,
|
||||
"dashedName": "es-a1-review-greetings-and-farewells",
|
||||
"helpCategory": "English",
|
||||
"blockLayout": "dialogue-grid",
|
||||
"blockType": "review",
|
||||
"challengeOrder": [
|
||||
{ "id": "68c850ed23d494c9be5cb22a", "title": "Dialogue 1: I'm Tom" }
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"name": "Greetings and Farewells Basics",
|
||||
"dashedName": "es-a1-warm-up-greetings-and-farewells-basics",
|
||||
"isUpcomingChange": true,
|
||||
"blockType": "warm-up",
|
||||
"blockLayout": "dialogue-grid",
|
||||
"helpCategory": "English",
|
||||
"challengeOrder": [
|
||||
{
|
||||
"id": "68bb001c22f3bcbd1fdf38fa",
|
||||
"title": "Task 1"
|
||||
},
|
||||
{ "id": "68c488abd71a3e27190965e0", "title": "Task 2" }
|
||||
]
|
||||
}
|
||||
@@ -1,3 +1,19 @@
|
||||
{
|
||||
"blocks": ["a1-professional-spanish-placeholder-block"]
|
||||
"chapters": [
|
||||
{
|
||||
"dashedName": "es-a1-chapter-greetings-and-introductions",
|
||||
"modules": [
|
||||
{
|
||||
"dashedName": "es-a1-module-greetings-and-farewells",
|
||||
"blocks": [
|
||||
"es-a1-warm-up-greetings-and-farewells-basics",
|
||||
"es-a1-learn-greetings-during-the-day",
|
||||
"es-a1-practice-greetings-and-farewells",
|
||||
"es-a1-review-greetings-and-farewells",
|
||||
"es-a1-quiz-greetings-and-farewells"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -343,7 +343,8 @@ Object.freeze(notAuditedSuperBlocks);
|
||||
|
||||
export const chapterBasedSuperBlocks = [
|
||||
SuperBlocks.FullStackDeveloper,
|
||||
SuperBlocks.FullStackOpen
|
||||
SuperBlocks.FullStackOpen,
|
||||
SuperBlocks.A1Spanish
|
||||
];
|
||||
Object.freeze(chapterBasedSuperBlocks);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user