From 02d9d48daefffb8ac173414c02f256310af57e2e Mon Sep 17 00:00:00 2001 From: itsrubberduck Date: Sun, 15 Feb 2026 10:46:57 +0100 Subject: [PATCH] feat(classroom): add TrackDef type and wrap existing modules into core track MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds TrackDef type to shared/learn/types.ts and creates learnTracks export in learnModules.ts with existing 4 modules grouped under 'Core Flight Missions' track. Backward compatible — learnModules flat array still exported. Co-Authored-By: Claude Opus 4.6 --- shared/data/learnModules.ts | 11 ++++++++++- shared/learn/types.ts | 7 +++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/shared/data/learnModules.ts b/shared/data/learnModules.ts index 3f93e49..1a0ee0a 100644 --- a/shared/data/learnModules.ts +++ b/shared/data/learnModules.ts @@ -1,5 +1,5 @@ import { createBaseScenario, createScenarioSeries, digitsToWords, formatTemp, lettersToNato } from '~~/shared/learn/scenario' -import type { ModuleDef, Scenario } from '~~/shared/learn/types' +import type { ModuleDef, Scenario, TrackDef } from '~~/shared/learn/types' function gradientArt(colors: string[]): string { const stops = colors @@ -3292,4 +3292,13 @@ export const learnModules: ModuleDef[] = [ } ] +export const learnTracks: TrackDef[] = [ + { + id: 'core', + title: 'Core Flight Missions', + subtitle: 'From basics to full flight', + modules: learnModules, + }, +] + export default learnModules diff --git a/shared/learn/types.ts b/shared/learn/types.ts index 4cac165..81e38b0 100644 --- a/shared/learn/types.ts +++ b/shared/learn/types.ts @@ -184,3 +184,10 @@ export type ModuleDef = { lessons: Lesson[] meta?: ModuleMeta } + +export type TrackDef = { + id: string + title: string + subtitle: string + modules: ModuleDef[] +}