feat(curriculum): release A1 Spanish (#64519)

Co-authored-by: Huyen Nguyen <25715018+huyenltnguyen@users.noreply.github.com>
This commit is contained in:
Nielda Karla
2025-12-14 15:48:04 -03:00
committed by GitHub
parent 8c02cd8ed0
commit 0cd88a07f8
41 changed files with 61 additions and 60 deletions

View File

@@ -7546,39 +7546,17 @@
"es-a1-module-sharing-your-personal-details": "Sharing Your Personal Details" "es-a1-module-sharing-your-personal-details": "Sharing Your Personal Details"
}, },
"module-intros": { "module-intros": {
"es-a1-module-introduction-and-certification-overview": {
"note": "Coming Winter 2025",
"intro": ["PLACEHOLDER: Write the module intro here."]
},
"es-a1-module-letters-sounds-and-first-numbers": {
"note": "Coming Winter 2025",
"intro": ["PLACEHOLDER: Write the module intro here."]
},
"es-a1-module-greetings-and-farewells": {
"note": "Coming Winter 2025",
"intro": ["PLACEHOLDER: Write the module intro here."]
},
"es-a1-module-introducing-yourself": {
"note": "Coming Winter 2025",
"intro": ["PLACEHOLDER: Write the module intro here."]
},
"es-a1-module-first-questions": {
"note": "Coming Winter 2025",
"intro": ["PLACEHOLDER: Write the module intro here."]
},
"es-a1-module-numbers-10-to-29": {
"note": "Coming Winter 2025",
"intro": ["PLACEHOLDER: Write the module intro here."]
},
"es-a1-module-sharing-your-personal-details": { "es-a1-module-sharing-your-personal-details": {
"note": "Coming Winter 2025", "note": "Coming 2026",
"intro": ["PLACEHOLDER: Write the module intro here."] "intro": [
"In this module, you will practice understanding short conversations that ask for personal details such as name, contact information, nationality, and age."
]
} }
}, },
"blocks": { "blocks": {
"es-a1-warm-up-greetings-and-farewells-basics": { "es-a1-warm-up-greetings-and-farewells-basics": {
"title": "Greetings and Farewells Basics", "title": "Greetings and Farewells Basics",
"intro": ["Learn the basics of greetings and farewells in Spanish."] "intro": ["", ""]
}, },
"es-a1-learn-greetings-during-the-day": { "es-a1-learn-greetings-during-the-day": {
"title": "Greetings During the Day", "title": "Greetings During the Day",

View File

@@ -207,6 +207,7 @@
"certification-heading": "Earn free verified certifications in:", "certification-heading": "Earn free verified certifications in:",
"core-certs-heading": "Recommended curriculum (still in beta):", "core-certs-heading": "Recommended curriculum (still in beta):",
"learn-english-heading": "Learn English for Developers:", "learn-english-heading": "Learn English for Developers:",
"learn-spanish-heading": "Learn Professional Spanish:",
"professional-certs-heading": "Professional certifications:", "professional-certs-heading": "Professional certifications:",
"interview-prep-heading": "Prepare for the developer interview job search:", "interview-prep-heading": "Prepare for the developer interview job search:",
"legacy-curriculum-heading": "Our archived coursework:", "legacy-curriculum-heading": "Our archived coursework:",

View File

@@ -31,6 +31,7 @@ const linkSpacingStyle = {
const superBlockHeadings: { [key in SuperBlockStage]: string } = { const superBlockHeadings: { [key in SuperBlockStage]: string } = {
[SuperBlockStage.Core]: 'landing.core-certs-heading', [SuperBlockStage.Core]: 'landing.core-certs-heading',
[SuperBlockStage.English]: 'landing.learn-english-heading', [SuperBlockStage.English]: 'landing.learn-english-heading',
[SuperBlockStage.Spanish]: 'landing.learn-spanish-heading',
[SuperBlockStage.Professional]: 'landing.professional-certs-heading', [SuperBlockStage.Professional]: 'landing.professional-certs-heading',
[SuperBlockStage.Extra]: 'landing.interview-prep-heading', [SuperBlockStage.Extra]: 'landing.interview-prep-heading',
[SuperBlockStage.Legacy]: 'landing.legacy-curriculum-heading', [SuperBlockStage.Legacy]: 'landing.legacy-curriculum-heading',

View File

@@ -146,7 +146,8 @@ describe('external curriculum data build', () => {
stage !== SuperBlockStage.Next && stage !== SuperBlockStage.Next &&
stage !== SuperBlockStage.Upcoming && stage !== SuperBlockStage.Upcoming &&
stage !== SuperBlockStage.Catalog && stage !== SuperBlockStage.Catalog &&
stage !== SuperBlockStage.Core stage !== SuperBlockStage.Core &&
stage !== SuperBlockStage.Spanish
); );
}) })
.flatMap(([, superBlocks]) => superBlocks); .flatMap(([, superBlocks]) => superBlocks);

View File

@@ -269,6 +269,7 @@ describe('external curriculum data build', () => {
const superBlockStageStringMap: Record<string, SuperBlockStage> = { const superBlockStageStringMap: Record<string, SuperBlockStage> = {
core: SuperBlockStage.Core, core: SuperBlockStage.Core,
english: SuperBlockStage.English, english: SuperBlockStage.English,
spanish: SuperBlockStage.Spanish,
professional: SuperBlockStage.Professional, professional: SuperBlockStage.Professional,
extra: SuperBlockStage.Extra, extra: SuperBlockStage.Extra,
legacy: SuperBlockStage.Legacy, legacy: SuperBlockStage.Legacy,

View File

@@ -92,6 +92,7 @@ interface GeneratedBlock {
enum SuperBlockStage { enum SuperBlockStage {
Core = 'core', Core = 'core',
English = 'english', English = 'english',
Spanish = 'spanish',
Professional = 'professional', Professional = 'professional',
Extra = 'extra', Extra = 'extra',
Legacy = 'legacy' Legacy = 'legacy'
@@ -166,6 +167,14 @@ export const orderedSuperBlockInfo: OrderedSuperBlocks = {
} }
], ],
[SuperBlockStage.Spanish]: [
{
dashedName: SuperBlocks.A1Spanish,
public: false,
title: intros[SuperBlocks.A1Spanish].title
}
],
[SuperBlockStage.Extra]: [ [SuperBlockStage.Extra]: [
{ {
dashedName: SuperBlocks.TheOdinProject, dashedName: SuperBlocks.TheOdinProject,

View File

@@ -19,6 +19,8 @@ const blockSchema = Joi.object().keys({
'Backend Development', 'Backend Development',
'C-Sharp', 'C-Sharp',
'English', 'English',
'Chinese Curriculum',
'Spanish Curriculum',
'Odin', 'Odin',
'Euler', 'Euler',
'Rosetta' 'Rosetta'

View File

@@ -1,6 +1,6 @@
{ {
"name": "Certification Introduction", "name": "Certification Introduction",
"isUpcomingChange": true, "isUpcomingChange": false,
"dashedName": "es-a1-learn-certification-introduction", "dashedName": "es-a1-learn-certification-introduction",
"helpCategory": "Spanish Curriculum", "helpCategory": "Spanish Curriculum",
"blockLayout": "challenge-list", "blockLayout": "challenge-list",

View File

@@ -1,6 +1,6 @@
{ {
"name": "Consonants and Special Characters", "name": "Consonants and Special Characters",
"isUpcomingChange": true, "isUpcomingChange": false,
"dashedName": "es-a1-learn-consonants-and-special-characters", "dashedName": "es-a1-learn-consonants-and-special-characters",
"helpCategory": "Spanish Curriculum", "helpCategory": "Spanish Curriculum",
"blockLayout": "challenge-grid", "blockLayout": "challenge-grid",

View File

@@ -1,6 +1,6 @@
{ {
"name": "Greetings During the Day", "name": "Greetings During the Day",
"isUpcomingChange": true, "isUpcomingChange": false,
"dashedName": "es-a1-learn-greetings-during-the-day", "dashedName": "es-a1-learn-greetings-during-the-day",
"helpCategory": "Spanish Curriculum", "helpCategory": "Spanish Curriculum",
"blockLayout": "challenge-grid", "blockLayout": "challenge-grid",

View File

@@ -1,6 +1,6 @@
{ {
"name": "Meet Angela and Basti", "name": "Meet Angela and Basti",
"isUpcomingChange": true, "isUpcomingChange": false,
"dashedName": "es-a1-learn-meet-angela-and-basti", "dashedName": "es-a1-learn-meet-angela-and-basti",
"helpCategory": "Spanish Curriculum", "helpCategory": "Spanish Curriculum",
"blockLayout": "challenge-grid", "blockLayout": "challenge-grid",

View File

@@ -1,6 +1,6 @@
{ {
"name": "Meet Julieta", "name": "Meet Julieta",
"isUpcomingChange": true, "isUpcomingChange": false,
"dashedName": "es-a1-learn-meet-julieta", "dashedName": "es-a1-learn-meet-julieta",
"helpCategory": "Spanish Curriculum", "helpCategory": "Spanish Curriculum",
"blockLayout": "challenge-grid", "blockLayout": "challenge-grid",

View File

@@ -1,6 +1,6 @@
{ {
"name": "Meet Luna", "name": "Meet Luna",
"isUpcomingChange": true, "isUpcomingChange": false,
"dashedName": "es-a1-learn-meet-luna", "dashedName": "es-a1-learn-meet-luna",
"helpCategory": "Spanish Curriculum", "helpCategory": "Spanish Curriculum",
"blockLayout": "challenge-grid", "blockLayout": "challenge-grid",

View File

@@ -1,6 +1,6 @@
{ {
"name": "Meet Mateo", "name": "Meet Mateo",
"isUpcomingChange": true, "isUpcomingChange": false,
"dashedName": "es-a1-learn-meet-mateo", "dashedName": "es-a1-learn-meet-mateo",
"helpCategory": "Spanish Curriculum", "helpCategory": "Spanish Curriculum",
"blockLayout": "challenge-grid", "blockLayout": "challenge-grid",

View File

@@ -1,6 +1,6 @@
{ {
"name": "Numbers 10 to 29", "name": "Numbers 10 to 29",
"isUpcomingChange": true, "isUpcomingChange": false,
"dashedName": "es-a1-learn-numbers-10-to-29", "dashedName": "es-a1-learn-numbers-10-to-29",
"helpCategory": "Spanish Curriculum", "helpCategory": "Spanish Curriculum",
"blockLayout": "challenge-grid", "blockLayout": "challenge-grid",

View File

@@ -1,6 +1,6 @@
{ {
"name": "The First Ten Numbers", "name": "The First Ten Numbers",
"isUpcomingChange": true, "isUpcomingChange": false,
"dashedName": "es-a1-learn-the-first-ten-numbers", "dashedName": "es-a1-learn-the-first-ten-numbers",
"helpCategory": "Spanish Curriculum", "helpCategory": "Spanish Curriculum",
"blockLayout": "challenge-grid", "blockLayout": "challenge-grid",

View File

@@ -1,6 +1,6 @@
{ {
"name": "Vowels", "name": "Vowels",
"isUpcomingChange": true, "isUpcomingChange": false,
"dashedName": "es-a1-learn-vowels", "dashedName": "es-a1-learn-vowels",
"helpCategory": "Spanish Curriculum", "helpCategory": "Spanish Curriculum",
"blockLayout": "challenge-grid", "blockLayout": "challenge-grid",

View File

@@ -1,6 +1,6 @@
{ {
"name": "First Questions Practice", "name": "First Questions Practice",
"isUpcomingChange": true, "isUpcomingChange": false,
"dashedName": "es-a1-practice-first-questions", "dashedName": "es-a1-practice-first-questions",
"helpCategory": "Spanish Curriculum", "helpCategory": "Spanish Curriculum",
"blockLayout": "challenge-grid", "blockLayout": "challenge-grid",

View File

@@ -1,6 +1,6 @@
{ {
"name": "Greetings and Farewells Practice", "name": "Greetings and Farewells Practice",
"isUpcomingChange": true, "isUpcomingChange": false,
"dashedName": "es-a1-practice-greetings-and-farewells", "dashedName": "es-a1-practice-greetings-and-farewells",
"helpCategory": "Spanish Curriculum", "helpCategory": "Spanish Curriculum",
"blockLayout": "challenge-grid", "blockLayout": "challenge-grid",

View File

@@ -1,6 +1,6 @@
{ {
"name": "Introducing Yourself Practice", "name": "Introducing Yourself Practice",
"isUpcomingChange": true, "isUpcomingChange": false,
"dashedName": "es-a1-practice-introducing-yourself", "dashedName": "es-a1-practice-introducing-yourself",
"helpCategory": "Spanish Curriculum", "helpCategory": "Spanish Curriculum",
"blockLayout": "challenge-grid", "blockLayout": "challenge-grid",

View File

@@ -1,6 +1,6 @@
{ {
"name": "The Spanish Alphabet Practice", "name": "The Spanish Alphabet Practice",
"isUpcomingChange": true, "isUpcomingChange": false,
"dashedName": "es-a1-practice-the-alphabet", "dashedName": "es-a1-practice-the-alphabet",
"helpCategory": "Spanish Curriculum", "helpCategory": "Spanish Curriculum",
"blockLayout": "challenge-grid", "blockLayout": "challenge-grid",

View File

@@ -1,6 +1,6 @@
{ {
"name": "The First Ten Numbers Practice", "name": "The First Ten Numbers Practice",
"isUpcomingChange": true, "isUpcomingChange": false,
"dashedName": "es-a1-practice-the-first-ten-numbers", "dashedName": "es-a1-practice-the-first-ten-numbers",
"helpCategory": "Spanish Curriculum", "helpCategory": "Spanish Curriculum",
"blockLayout": "challenge-grid", "blockLayout": "challenge-grid",

View File

@@ -1,6 +1,6 @@
{ {
"name": "Using Numbers 10 to 29", "name": "Using Numbers 10 to 29",
"isUpcomingChange": true, "isUpcomingChange": false,
"dashedName": "es-a1-practice-using-numbers-10-to-29", "dashedName": "es-a1-practice-using-numbers-10-to-29",
"helpCategory": "Spanish Curriculum", "helpCategory": "Spanish Curriculum",
"blockLayout": "challenge-grid", "blockLayout": "challenge-grid",

View File

@@ -1,6 +1,6 @@
{ {
"name": "First Questions Quiz", "name": "First Questions Quiz",
"isUpcomingChange": true, "isUpcomingChange": false,
"dashedName": "es-a1-quiz-first-questions", "dashedName": "es-a1-quiz-first-questions",
"helpCategory": "Spanish Curriculum", "helpCategory": "Spanish Curriculum",
"blockLayout": "link", "blockLayout": "link",

View File

@@ -1,6 +1,6 @@
{ {
"name": "Greetings and Farewells Quiz", "name": "Greetings and Farewells Quiz",
"isUpcomingChange": true, "isUpcomingChange": false,
"dashedName": "es-a1-quiz-greetings-and-farewells", "dashedName": "es-a1-quiz-greetings-and-farewells",
"helpCategory": "Spanish Curriculum", "helpCategory": "Spanish Curriculum",
"blockLayout": "link", "blockLayout": "link",

View File

@@ -1,6 +1,6 @@
{ {
"name": "Introducing Yourself Quiz", "name": "Introducing Yourself Quiz",
"isUpcomingChange": true, "isUpcomingChange": false,
"dashedName": "es-a1-quiz-introducing-yourself", "dashedName": "es-a1-quiz-introducing-yourself",
"helpCategory": "Spanish Curriculum", "helpCategory": "Spanish Curriculum",
"blockLayout": "link", "blockLayout": "link",

View File

@@ -1,6 +1,6 @@
{ {
"name": "Numbers 10 to 29 Quiz", "name": "Numbers 10 to 29 Quiz",
"isUpcomingChange": true, "isUpcomingChange": false,
"dashedName": "es-a1-quiz-numbers-10-to-29", "dashedName": "es-a1-quiz-numbers-10-to-29",
"helpCategory": "Spanish Curriculum", "helpCategory": "Spanish Curriculum",
"blockLayout": "link", "blockLayout": "link",

View File

@@ -1,6 +1,6 @@
{ {
"name": "Spanish Fundamentals Quiz", "name": "Spanish Fundamentals Quiz",
"isUpcomingChange": true, "isUpcomingChange": false,
"dashedName": "es-a1-quiz-spanish-fundamentals", "dashedName": "es-a1-quiz-spanish-fundamentals",
"helpCategory": "Spanish Curriculum", "helpCategory": "Spanish Curriculum",
"blockLayout": "link", "blockLayout": "link",

View File

@@ -1,6 +1,6 @@
{ {
"name": "First Questions Review", "name": "First Questions Review",
"isUpcomingChange": true, "isUpcomingChange": false,
"dashedName": "es-a1-review-first-questions", "dashedName": "es-a1-review-first-questions",
"helpCategory": "Spanish Curriculum", "helpCategory": "Spanish Curriculum",
"blockLayout": "challenge-list", "blockLayout": "challenge-list",

View File

@@ -1,6 +1,6 @@
{ {
"name": "Greetings and Farewells Review", "name": "Greetings and Farewells Review",
"isUpcomingChange": true, "isUpcomingChange": false,
"dashedName": "es-a1-review-greetings-and-farewells", "dashedName": "es-a1-review-greetings-and-farewells",
"helpCategory": "Spanish Curriculum", "helpCategory": "Spanish Curriculum",
"blockLayout": "challenge-list", "blockLayout": "challenge-list",

View File

@@ -1,6 +1,6 @@
{ {
"name": "Introducing Yourself Review", "name": "Introducing Yourself Review",
"isUpcomingChange": true, "isUpcomingChange": false,
"dashedName": "es-a1-review-introducing-yourself", "dashedName": "es-a1-review-introducing-yourself",
"helpCategory": "Spanish Curriculum", "helpCategory": "Spanish Curriculum",
"blockLayout": "challenge-list", "blockLayout": "challenge-list",

View File

@@ -1,6 +1,6 @@
{ {
"name": "Numbers 10 to 29 Review", "name": "Numbers 10 to 29 Review",
"isUpcomingChange": true, "isUpcomingChange": false,
"dashedName": "es-a1-review-numbers-10-to-29", "dashedName": "es-a1-review-numbers-10-to-29",
"helpCategory": "Spanish Curriculum", "helpCategory": "Spanish Curriculum",
"blockLayout": "challenge-list", "blockLayout": "challenge-list",

View File

@@ -1,6 +1,6 @@
{ {
"name": "Spanish Fundamentals Review", "name": "Spanish Fundamentals Review",
"isUpcomingChange": true, "isUpcomingChange": false,
"dashedName": "es-a1-review-spanish-fundamentals", "dashedName": "es-a1-review-spanish-fundamentals",
"helpCategory": "Spanish Curriculum", "helpCategory": "Spanish Curriculum",
"blockLayout": "challenge-list", "blockLayout": "challenge-list",

View File

@@ -1,6 +1,6 @@
{ {
"name": "First Questions Basics", "name": "First Questions Basics",
"isUpcomingChange": true, "isUpcomingChange": false,
"dashedName": "es-a1-warm-up-first-questions-basics", "dashedName": "es-a1-warm-up-first-questions-basics",
"helpCategory": "Spanish Curriculum", "helpCategory": "Spanish Curriculum",
"blockLayout": "challenge-grid", "blockLayout": "challenge-grid",

View File

@@ -1,7 +1,7 @@
{ {
"name": "Greetings and Farewells Basics", "name": "Greetings and Farewells Basics",
"dashedName": "es-a1-warm-up-greetings-and-farewells-basics", "dashedName": "es-a1-warm-up-greetings-and-farewells-basics",
"isUpcomingChange": true, "isUpcomingChange": false,
"blockLabel": "warm-up", "blockLabel": "warm-up",
"blockLayout": "challenge-grid", "blockLayout": "challenge-grid",
"helpCategory": "Spanish Curriculum", "helpCategory": "Spanish Curriculum",

View File

@@ -1,6 +1,6 @@
{ {
"name": "Introducing Yourself Basics", "name": "Introducing Yourself Basics",
"isUpcomingChange": true, "isUpcomingChange": false,
"dashedName": "es-a1-warm-up-introducing-yourself-basics", "dashedName": "es-a1-warm-up-introducing-yourself-basics",
"helpCategory": "Spanish Curriculum", "helpCategory": "Spanish Curriculum",
"blockLayout": "challenge-grid", "blockLayout": "challenge-grid",

View File

@@ -1,6 +1,6 @@
{ {
"name": "Remember First Numbers", "name": "Remember First Numbers",
"isUpcomingChange": true, "isUpcomingChange": false,
"dashedName": "es-a1-warm-up-remember-first-numbers", "dashedName": "es-a1-warm-up-remember-first-numbers",
"helpCategory": "Spanish Curriculum", "helpCategory": "Spanish Curriculum",
"blockLayout": "challenge-grid", "blockLayout": "challenge-grid",

View File

@@ -78,6 +78,7 @@
}, },
{ {
"dashedName": "es-a1-module-sharing-your-personal-details", "dashedName": "es-a1-module-sharing-your-personal-details",
"comingSoon": true,
"blocks": [ "blocks": [
"es-a1-warm-up-getting-ready-to-share-personal-details", "es-a1-warm-up-getting-ready-to-share-personal-details",
"es-a1-learn-basic-personal-information", "es-a1-learn-basic-personal-information",

View File

@@ -27,6 +27,7 @@ const nonArchivedSuperBlocks = [
intro[SuperBlocks.FullStackDeveloperV9].title, intro[SuperBlocks.FullStackDeveloperV9].title,
intro[SuperBlocks.A2English].title, intro[SuperBlocks.A2English].title,
intro[SuperBlocks.B1English].title, intro[SuperBlocks.B1English].title,
intro[SuperBlocks.A1Spanish].title,
intro[SuperBlocks.TheOdinProject].title, intro[SuperBlocks.TheOdinProject].title,
intro[SuperBlocks.CodingInterviewPrep].title, intro[SuperBlocks.CodingInterviewPrep].title,
intro[SuperBlocks.ProjectEuler].title, intro[SuperBlocks.ProjectEuler].title,

View File

@@ -42,6 +42,10 @@ const LANDING_PAGE_LINKS = [
slug: 'b1-english-for-developers', slug: 'b1-english-for-developers',
name: 'B1 English for Developers Certification (Beta)' name: 'B1 English for Developers Certification (Beta)'
}, },
{
slug: 'a1-professional-spanish',
name: 'A1 Professional Spanish Certification (Beta)'
},
{ {
slug: 'foundational-c-sharp-with-microsoft', slug: 'foundational-c-sharp-with-microsoft',
name: 'Free Foundational C# with Microsoft Certification' name: 'Free Foundational C# with Microsoft Certification'
@@ -64,7 +68,7 @@ test.describe('Map Component', () => {
page.getByText(translations.landing['interview-prep-heading']) page.getByText(translations.landing['interview-prep-heading'])
).toBeVisible(); ).toBeVisible();
const curriculumBtns = page.getByTestId('curriculum-map-button'); const curriculumBtns = page.getByTestId('curriculum-map-button');
await expect(curriculumBtns).toHaveCount(14); await expect(curriculumBtns).toHaveCount(15);
for (const { name, slug } of LANDING_PAGE_LINKS) { for (const { name, slug } of LANDING_PAGE_LINKS) {
const superblockLink = page.getByRole('link', { const superblockLink = page.getByRole('link', {

View File

@@ -82,6 +82,7 @@ export const superBlockToSpeechLang: Partial<
export enum SuperBlockStage { export enum SuperBlockStage {
Core, Core,
English, English,
Spanish,
Professional, Professional,
Extra, Extra,
Legacy, Legacy,
@@ -93,6 +94,7 @@ export enum SuperBlockStage {
const defaultStageOrder = [ const defaultStageOrder = [
SuperBlockStage.Core, SuperBlockStage.Core,
SuperBlockStage.English, SuperBlockStage.English,
SuperBlockStage.Spanish,
SuperBlockStage.Extra, SuperBlockStage.Extra,
SuperBlockStage.Legacy, SuperBlockStage.Legacy,
SuperBlockStage.Professional, SuperBlockStage.Professional,
@@ -126,6 +128,7 @@ export const superBlockStages: StageMap = {
SuperBlocks.FullStackDeveloperV9 SuperBlocks.FullStackDeveloperV9
], ],
[SuperBlockStage.English]: [SuperBlocks.A2English, SuperBlocks.B1English], [SuperBlockStage.English]: [SuperBlocks.A2English, SuperBlocks.B1English],
[SuperBlockStage.Spanish]: [SuperBlocks.A1Spanish],
[SuperBlockStage.Professional]: [SuperBlocks.FoundationalCSharp], [SuperBlockStage.Professional]: [SuperBlocks.FoundationalCSharp],
[SuperBlockStage.Extra]: [ [SuperBlockStage.Extra]: [
SuperBlocks.TheOdinProject, SuperBlocks.TheOdinProject,
@@ -153,7 +156,6 @@ export const superBlockStages: StageMap = {
[SuperBlockStage.Next]: [], [SuperBlockStage.Next]: [],
[SuperBlockStage.Upcoming]: [ [SuperBlockStage.Upcoming]: [
SuperBlocks.FullStackOpen, SuperBlocks.FullStackOpen,
SuperBlocks.A1Spanish,
SuperBlocks.A2Spanish, SuperBlocks.A2Spanish,
SuperBlocks.A2Chinese, SuperBlocks.A2Chinese,
SuperBlocks.A1Chinese, SuperBlocks.A1Chinese,