Skip to content

Commit 75e825d

Browse files
Feat(Curriculum): Implement Chapter Based Layout to A1 Spanish (freeCodeCamp#62190)
Co-authored-by: Huyen Nguyen <[email protected]>
1 parent 954117c commit 75e825d

File tree

24 files changed

+608
-39
lines changed

24 files changed

+608
-39
lines changed

client/i18n/locales/english/intro.json

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4849,10 +4849,38 @@
48494849
"title": "A1 Professional Spanish Certification (Beta)",
48504850
"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.",
48514851
"intro": ["Placeholder intro"],
4852+
"chapters": {
4853+
"es-a1-chapter-greetings-and-introductions": "Greetings and Introductions"
4854+
},
4855+
"modules": {
4856+
"es-a1-module-greetings-and-farewells": "Greetings and Farewells"
4857+
},
4858+
"module-intros": {
4859+
"es-a1-module-greetings-and-farewells": {
4860+
"note": "Coming Winter 2025",
4861+
"intro": ["PLACEHOLDER: Write the module intro here."]
4862+
}
4863+
},
48524864
"blocks": {
4853-
"a1-professional-spanish-placeholder-block": {
4854-
"title": "A1 Professional Spanish Placeholder Block",
4855-
"intro": ["Placeholder intro text."]
4865+
"es-a1-warm-up-greetings-and-farewells-basics": {
4866+
"title": "Greetings and Farewells Basics",
4867+
"intro": ["Learn the basics of greetings and farewells in Spanish."]
4868+
},
4869+
"es-a1-learn-greetings-during-the-day": {
4870+
"title": "Greetings During the Day",
4871+
"intro": ["", ""]
4872+
},
4873+
"es-a1-practice-greetings-and-farewells": {
4874+
"title": "Greetings and Farewells Practice",
4875+
"intro": ["", ""]
4876+
},
4877+
"es-a1-review-greetings-and-farewells": {
4878+
"title": "Greetings and Farewells Review",
4879+
"intro": ["", ""]
4880+
},
4881+
"es-a1-quiz-greetings-and-farewells": {
4882+
"title": "Greetings and Farewells Quiz",
4883+
"intro": ["", ""]
48564884
}
48574885
}
48584886
},

client/src/pages/learn/a1-professional-spanish/a1-professional-spanish-placeholder-block/index.md

Lines changed: 0 additions & 9 deletions
This file was deleted.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
title: Introduction to the Greetings During the Day
3+
block: es-a1-learn-greetings-during-the-day
4+
superBlock: a1-professional-spanish
5+
---
6+
7+
## Introduction to the Greetings During the Day
8+
9+
This page is for the Greetings During the Day
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
title: Introduction to the Greetings and Farewells Practice
3+
block: es-a1-practice-greetings-and-farewells
4+
superBlock: a1-professional-spanish
5+
---
6+
7+
## Introduction to the Greetings and Farewells Practice
8+
9+
This page is for the Greetings and Farewells Practice
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
title: Introduction to the Greetings and Farewells Quiz
3+
block: es-a1-quiz-greetings-and-farewells
4+
superBlock: a1-professional-spanish
5+
---
6+
7+
## Introduction to the Greetings and Farewells Quiz
8+
9+
This page is for the Greetings and Farewells Quiz
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
title: Introduction to the Greetings and Farewells Review
3+
block: es-a1-review-greetings-and-farewells
4+
superBlock: a1-professional-spanish
5+
---
6+
7+
## Introduction to the Greetings and Farewells Review
8+
9+
This page is for the Greetings and Farewells Review
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
title: Introduction to Greetings and Farewells Basics
3+
block: es-a1-warm-up-greetings-and-farewells-basics
4+
superBlock: a1-professional-spanish
5+
---
6+
7+
## Introduction to Greetings and Farewells Basics
8+
9+
Introduction to Greetings and Farewells Basics

client/src/templates/Introduction/components/super-block-accordion.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,10 @@ import DropDown from '../../../assets/icons/dropdown';
99
// from the curriculum
1010
import fullStackCert from '../../../../../curriculum/structure/superblocks/full-stack-developer.json';
1111
import fullStackOpen from '../../../../../curriculum/structure/superblocks/full-stack-open.json';
12+
import a1Spanish from '../../../../../curriculum/structure/superblocks/a1-professional-spanish.json';
1213

1314
import { ChapterIcon } from '../../../assets/chapter-icon';
15+
import { type Chapter } from '../../../../../shared/config/chapters';
1416
import { BlockLayouts, BlockTypes } from '../../../../../shared/config/blocks';
1517
import { FsdChapters } from '../../../../../shared/config/chapters';
1618
import { type Module } from '../../../../../shared/config/modules';
@@ -174,12 +176,16 @@ export const SuperBlockAccordion = ({
174176
chosenBlock,
175177
completedChallengeIds
176178
}: SuperBlockAccordionProps) => {
177-
function getSuperblockStructure(superBlock: SuperBlocks) {
179+
function getSuperblockStructure(superBlock: SuperBlocks): {
180+
chapters: Chapter[];
181+
} {
178182
switch (superBlock) {
179183
case SuperBlocks.FullStackOpen:
180184
return fullStackOpen;
181185
case SuperBlocks.FullStackDeveloper:
182186
return fullStackCert;
187+
case SuperBlocks.A1Spanish:
188+
return a1Spanish;
183189
default:
184190
throw new Error("The SuperBlock structure hasn't been imported.");
185191
}

curriculum/challenges/english/blocks/a1-professional-spanish-placeholder-block/68bb001c22f3bcbd1fdf38fa.md

Lines changed: 0 additions & 10 deletions
This file was deleted.
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
---
2+
id: 68c84d44d91406c37b3ad73f
3+
title: "Dialogue 1: I'm Tom"
4+
challengeType: 21
5+
dashedName: dialogue-1-im-tom
6+
---
7+
8+
# --description--
9+
10+
Watch the video below to understand the context of the upcoming lessons.
11+
12+
# --assignment--
13+
14+
Watch the video.
15+
16+
# --scene--
17+
18+
```json
19+
{
20+
"setup": {
21+
"background": "chaos.png",
22+
"characters": [
23+
{
24+
"character": "David",
25+
"position": {"x":50,"y":80,"z":8},
26+
"opacity": 0
27+
}
28+
],
29+
"audio": {
30+
"filename": "1.1-1.mp3",
31+
"startTime": 1,
32+
"startTimestamp": 5.7,
33+
"finishTimestamp": 6.48
34+
}
35+
},
36+
"commands": [
37+
{
38+
"character": "David",
39+
"opacity": 1,
40+
"startTime": 0
41+
},
42+
{
43+
"character": "David",
44+
"startTime": 1,
45+
"finishTime": 0.78,
46+
"dialogue": {
47+
"text": "I'm Tom.",
48+
"align": "center"
49+
}
50+
},
51+
{
52+
"character": "Tom",
53+
"opacity": 0,
54+
"startTime": 1.28
55+
}
56+
]
57+
}
58+
```

0 commit comments

Comments
 (0)