200 lines
6.0 KiB
TypeScript
200 lines
6.0 KiB
TypeScript
// 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<LessonId, ComponentType> = {
|
|
// 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,
|
|
};
|