// lessonRegistry.tsx import { lazy, type ComponentType } from "react"; // lessonTypes.ts export type LessonId = // ---- EBRW ---- | "ebrw-main-idea" | "ebrw-explicit-meaning" | "ebrw-inferences" | "ebrw-graphic-displays" | "ebrw-craft-structure" | "ebrw-vocab-precise" | "ebrw-vocab-meaning" | "ebrw-expression-ideas" | "ebrw-transitions" | "ebrw-commas" | "ebrw-semicolons-colons" | "ebrw-dashes-apostrophes" | "ebrw-subject-verb" | "ebrw-pronouns" | "ebrw-verbs" | "ebrw-sentence-structure" // ---- MATH ---- | "alg-linear-eq-1var" | "alg-linear-eq-2var" | "alg-linear-functions" | "alg-systems" | "alg-linear-inequalities" | "adv-equivalent-expr" | "adv-nonlinear-eq" | "adv-systems-2var" | "adv-nonlinear-func" | "data-ratios-rates" | "data-percentages" | "data-one-var" | "data-two-var" | "data-probability" | "data-sample-stats" | "data-eval-claims" | "geom-area-volume" | "geom-lines-angles" | "geom-right-tri-trig" | "geom-circles"; // ---- EBRW ---- const EBRWMainIdea = lazy( () => import("../pages/student/lessons/EBRWMainIdeaLesson"), ); const EBRWExplicitMeaning = lazy( () => import("../pages/student/lessons/EBRWExplicitMeaningLesson"), ); const EBRWInferences = lazy( () => import("../pages/student/lessons/EBRWInferencesLesson"), ); const EBRWGraphicDisplays = lazy( () => import("../pages/student/lessons/EBRWGraphicDisplaysLesson"), ); const EBRWCraftStructure = lazy( () => import("../pages/student/lessons/EBRWCraftStructureLesson"), ); const EBRWVocabPrecise = lazy( () => import("../pages/student/lessons/EBRWVocabPreciseLesson"), ); const EBRWVocabMeaning = lazy( () => import("../pages/student/lessons/EBRWVocabMeaningLesson"), ); const EBRWExpressionIdeas = lazy( () => import("../pages/student/lessons/EBRWExpressionIdeasLesson"), ); const EBRWTransitions = lazy( () => import("../pages/student/lessons/EBRWTransitionsLesson"), ); const EBRWCommas = lazy( () => import("../pages/student/lessons/EBRWCommasLesson"), ); const EBRWSemicolonsColons = lazy( () => import("../pages/student/lessons/EBRWSemicolonsColonsLesson"), ); const EBRWDashesApostrophes = lazy( () => import("../pages/student/lessons/EBRWDashesApostrophesLesson"), ); const EBRWSubjectVerb = lazy( () => import("../pages/student/lessons/EBRWSubjectVerbLesson"), ); const EBRWPronouns = lazy( () => import("../pages/student/lessons/EBRWPronounsLesson"), ); const EBRWVerbs = lazy( () => import("../pages/student/lessons/EBRWVerbsLesson"), ); const EBRWSentenceStructure = lazy( () => import("../pages/student/lessons/EBRWSentenceStructureLesson"), ); // ---- MATH ---- const AlgLinearEq1Var = lazy( () => import("../pages/student/lessons/LinearEq1VarLesson"), ); const AlgLinearEq2Var = lazy( () => import("../pages/student/lessons/LinearEq2VarLesson"), ); const AlgLinearFunctions = lazy( () => import("../pages/student/lessons/LinearFunctionsLesson"), ); const AlgSystems = lazy( () => import("../pages/student/lessons/SystemsEquationsLesson"), ); const AlgLinearInequalities = lazy( () => import("../pages/student/lessons/LinearInequalitiesLesson"), ); const AdvEquivalentExpr = lazy( () => import("../pages/student/lessons/EquivalentExpressionsLesson"), ); const AdvNonlinearEq = lazy( () => import("../pages/student/lessons/NonlinearEq1VarLesson"), ); const AdvSystems2Var = lazy( () => import("../pages/student/lessons/SystemsEq2VarLesson"), ); const AdvNonlinearFunc = lazy( () => import("../pages/student/lessons/NonlinearFunctionsLesson"), ); const DataRatiosRates = lazy( () => import("../pages/student/lessons/RatiosRatesLesson"), ); const DataPercentages = lazy( () => import("../pages/student/lessons/PercentagesLesson"), ); const DataOneVar = lazy( () => import("../pages/student/lessons/OneVariableDataLesson"), ); const DataTwoVar = lazy( () => import("../pages/student/lessons/TwoVariableDataLesson"), ); const DataProbability = lazy( () => import("../pages/student/lessons/ProbabilityLesson"), ); const DataSampleStats = lazy( () => import("../pages/student/lessons/SampleStatsLesson"), ); const DataEvalClaims = lazy( () => import("../pages/student/lessons/EvalStatisticalClaimsLesson"), ); const GeomAreaVolume = lazy( () => import("../pages/student/lessons/AreaVolumeLesson"), ); const GeomLinesAngles = lazy( () => import("../pages/student/lessons/LinesAnglesLesson"), ); const GeomRightTriTrig = lazy( () => import("../pages/student/lessons/RightTrianglesTrigLesson"), ); const GeomCircles = lazy( () => import("../pages/student/lessons/CirclesLesson"), ); // ---- Registry Map ---- export const LESSON_COMPONENT_MAP: Record = { // EBRW "ebrw-main-idea": EBRWMainIdea, "ebrw-explicit-meaning": EBRWExplicitMeaning, "ebrw-inferences": EBRWInferences, "ebrw-graphic-displays": EBRWGraphicDisplays, "ebrw-craft-structure": EBRWCraftStructure, "ebrw-vocab-precise": EBRWVocabPrecise, "ebrw-vocab-meaning": EBRWVocabMeaning, "ebrw-expression-ideas": EBRWExpressionIdeas, "ebrw-transitions": EBRWTransitions, "ebrw-commas": EBRWCommas, "ebrw-semicolons-colons": EBRWSemicolonsColons, "ebrw-dashes-apostrophes": EBRWDashesApostrophes, "ebrw-subject-verb": EBRWSubjectVerb, "ebrw-pronouns": EBRWPronouns, "ebrw-verbs": EBRWVerbs, "ebrw-sentence-structure": EBRWSentenceStructure, // MATH "alg-linear-eq-1var": AlgLinearEq1Var, "alg-linear-eq-2var": AlgLinearEq2Var, "alg-linear-functions": AlgLinearFunctions, "alg-systems": AlgSystems, "alg-linear-inequalities": AlgLinearInequalities, "adv-equivalent-expr": AdvEquivalentExpr, "adv-nonlinear-eq": AdvNonlinearEq, "adv-systems-2var": AdvSystems2Var, "adv-nonlinear-func": AdvNonlinearFunc, "data-ratios-rates": DataRatiosRates, "data-percentages": DataPercentages, "data-one-var": DataOneVar, "data-two-var": DataTwoVar, "data-probability": DataProbability, "data-sample-stats": DataSampleStats, "data-eval-claims": DataEvalClaims, "geom-area-volume": GeomAreaVolume, "geom-lines-angles": GeomLinesAngles, "geom-right-tri-trig": GeomRightTriTrig, "geom-circles": GeomCircles, };