chore(build): refactor codebase for production
This commit is contained in:
@ -47,9 +47,9 @@ function FormulaCard({
|
||||
/>
|
||||
</div>
|
||||
<div
|
||||
className={`transition-all duration-300 ease-in-out ${open ? "max-h-[400px] opacity-100" : "max-h-0 opacity-0"}`}
|
||||
className={`transition-all duration-300 ease-in-out ${open ? "max-h-100 opacity-100" : "max-h-0 opacity-0"}`}
|
||||
>
|
||||
<div className="border-t border-emerald-100 px-5 py-4 flex flex-col sm:flex-row items-center gap-5 bg-gradient-to-br from-emerald-50/50 to-white/80">
|
||||
<div className="border-t border-emerald-100 px-5 py-4 flex flex-col sm:flex-row items-center gap-5 bg-linear-to-br from-emerald-50/50 to-white/80">
|
||||
<div className="shrink-0">{diagram}</div>
|
||||
<div className="text-sm text-slate-600 space-y-1 font-mono">
|
||||
{example}
|
||||
|
||||
@ -469,7 +469,7 @@ const CirclePropertiesLesson: React.FC<LessonProps> = ({ onFinish }) => {
|
||||
<h2 className="text-4xl font-extrabold text-slate-900 mb-8">
|
||||
Practice Time
|
||||
</h2>
|
||||
{CIRCLE_PROP_QUIZ_DATA.map((quiz, idx) => (
|
||||
{CIRCLE_PROP_QUIZ_DATA.map((quiz) => (
|
||||
<div key={quiz.id} className="mb-12">
|
||||
<Quiz data={quiz} />
|
||||
</div>
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
import React from "react";
|
||||
import {
|
||||
Circle,
|
||||
Target,
|
||||
|
||||
@ -490,7 +490,7 @@ const CongruenceSimilarityLesson: React.FC<LessonProps> = ({ onFinish }) => {
|
||||
<h2 className="text-4xl font-extrabold text-slate-900 mb-8">
|
||||
Practice Time
|
||||
</h2>
|
||||
{SIMILARITY_QUIZ_DATA.map((quiz, idx) => (
|
||||
{SIMILARITY_QUIZ_DATA.map((quiz) => (
|
||||
<div key={quiz.id} className="mb-12">
|
||||
<Quiz data={quiz} />
|
||||
</div>
|
||||
|
||||
@ -266,7 +266,7 @@ const DataAnalysisLesson: React.FC<LessonProps> = ({ onFinish }) => {
|
||||
<h2 className="text-4xl font-extrabold text-slate-900 mb-8">
|
||||
Practice Time
|
||||
</h2>
|
||||
{DATA_ANALYSIS_QUIZ_DATA.map((quiz, idx) => (
|
||||
{DATA_ANALYSIS_QUIZ_DATA.map((quiz) => (
|
||||
<div key={quiz.id} className="mb-12">
|
||||
<Quiz data={quiz} />
|
||||
</div>
|
||||
|
||||
@ -296,7 +296,7 @@ const EBRWBoundariesLesson: React.FC<LessonProps> = ({ onFinish }) => {
|
||||
}: {
|
||||
index: number;
|
||||
title: string;
|
||||
icon: React.ElementType;
|
||||
icon: React.ComponentType<React.SVGProps<SVGSVGElement>>;
|
||||
}) => {
|
||||
const isActive = activeSection === index;
|
||||
const isPast = activeSection > index;
|
||||
|
||||
@ -142,7 +142,7 @@ const EBRWCentralIdeasLesson: React.FC<LessonProps> = ({ onFinish }) => {
|
||||
}: {
|
||||
index: number;
|
||||
title: string;
|
||||
icon: React.ElementType;
|
||||
icon: React.ComponentType<React.SVGProps<SVGSVGElement>>;
|
||||
}) => {
|
||||
const isActive = activeSection === index;
|
||||
const isPast = activeSection > index;
|
||||
|
||||
@ -158,7 +158,7 @@ const EBRWCommandEvidenceLesson: React.FC<LessonProps> = ({ onFinish }) => {
|
||||
}: {
|
||||
index: number;
|
||||
title: string;
|
||||
icon: React.ElementType;
|
||||
icon: React.ComponentType<React.SVGProps<SVGSVGElement>>;
|
||||
}) => {
|
||||
const isActive = activeSection === index;
|
||||
const isPast = activeSection > index;
|
||||
|
||||
@ -209,7 +209,7 @@ const EBRWCommasLesson: React.FC<LessonProps> = ({ onFinish }) => {
|
||||
}: {
|
||||
index: number;
|
||||
title: string;
|
||||
icon: React.ElementType;
|
||||
icon: React.ComponentType<React.SVGProps<SVGSVGElement>>;
|
||||
}) => {
|
||||
const isActive = activeSection === index;
|
||||
const isPast = activeSection > index;
|
||||
|
||||
@ -88,7 +88,7 @@ const EBRWCraftStructureLesson: React.FC<LessonProps> = ({ onFinish }) => {
|
||||
}: {
|
||||
index: number;
|
||||
title: string;
|
||||
icon: React.ElementType;
|
||||
icon: React.ComponentType<React.SVGProps<SVGSVGElement>>;
|
||||
}) => {
|
||||
const isActive = activeSection === index;
|
||||
const isPast = activeSection > index;
|
||||
|
||||
@ -125,7 +125,7 @@ const EBRWCrossTextLesson: React.FC<LessonProps> = ({ onFinish }) => {
|
||||
}: {
|
||||
index: number;
|
||||
title: string;
|
||||
icon: React.ElementType;
|
||||
icon: React.ComponentType<React.SVGProps<SVGSVGElement>>;
|
||||
}) => {
|
||||
const isActive = activeSection === index;
|
||||
const isPast = activeSection > index;
|
||||
|
||||
@ -195,7 +195,7 @@ const EBRWDashesApostrophesLesson: React.FC<LessonProps> = ({ onFinish }) => {
|
||||
}: {
|
||||
index: number;
|
||||
title: string;
|
||||
icon: React.ElementType;
|
||||
icon: React.ComponentType<React.SVGProps<SVGSVGElement>>;
|
||||
}) => {
|
||||
const isActive = activeSection === index;
|
||||
const isPast = activeSection > index;
|
||||
|
||||
@ -105,6 +105,7 @@ const EBRWExplicitMeaningLesson: React.FC<LessonProps> = ({ onFinish }) => {
|
||||
{isPast ? (
|
||||
<Check className="w-4 h-4" />
|
||||
) : (
|
||||
// @ts-ignore
|
||||
<Icon className="w-4 h-4" />
|
||||
)}
|
||||
</div>
|
||||
|
||||
@ -105,6 +105,7 @@ const EBRWExpressionIdeasLesson: React.FC<LessonProps> = ({ onFinish }) => {
|
||||
{isPast ? (
|
||||
<Check className="w-4 h-4" />
|
||||
) : (
|
||||
// @ts-ignore
|
||||
<Icon className="w-4 h-4" />
|
||||
)}
|
||||
</div>
|
||||
|
||||
@ -220,6 +220,7 @@ const EBRWFormStructureSenseLesson: React.FC<LessonProps> = ({ onFinish }) => {
|
||||
{isPast ? (
|
||||
<Check className="w-4 h-4" />
|
||||
) : (
|
||||
// @ts-ignore
|
||||
<Icon className="w-4 h-4" />
|
||||
)}
|
||||
</div>
|
||||
|
||||
@ -273,6 +273,7 @@ const EBRWGraphicDisplaysLesson: React.FC<LessonProps> = ({ onFinish }) => {
|
||||
{isPast ? (
|
||||
<Check className="w-4 h-4" />
|
||||
) : (
|
||||
// @ts-ignore
|
||||
<Icon className="w-4 h-4" />
|
||||
)}
|
||||
</div>
|
||||
|
||||
@ -155,6 +155,7 @@ const EBRWInferencesLesson: React.FC<LessonProps> = ({ onFinish }) => {
|
||||
{isPast ? (
|
||||
<Check className="w-4 h-4" />
|
||||
) : (
|
||||
// @ts-ignore
|
||||
<Icon className="w-4 h-4" />
|
||||
)}
|
||||
</div>
|
||||
|
||||
@ -102,6 +102,7 @@ const EBRWMainIdeaLesson: React.FC<LessonProps> = ({ onFinish }) => {
|
||||
{isPast ? (
|
||||
<Check className="w-4 h-4" />
|
||||
) : (
|
||||
// @ts-ignore
|
||||
<Icon className="w-4 h-4" />
|
||||
)}
|
||||
</div>
|
||||
|
||||
@ -208,7 +208,7 @@ const EBRWPronounsLesson: React.FC<LessonProps> = ({ onFinish }) => {
|
||||
}: {
|
||||
index: number;
|
||||
title: string;
|
||||
icon: React.ElementType;
|
||||
icon: React.ComponentType<React.SVGProps<SVGSVGElement>>;
|
||||
}) => {
|
||||
const isActive = activeSection === index;
|
||||
const isPast = activeSection > index;
|
||||
|
||||
@ -190,6 +190,7 @@ const EBRWRhetoricalSynthesisLesson: React.FC<LessonProps> = ({ onFinish }) => {
|
||||
{isPast ? (
|
||||
<Check className="w-4 h-4" />
|
||||
) : (
|
||||
// @ts-ignore
|
||||
<Icon className="w-4 h-4" />
|
||||
)}
|
||||
</div>
|
||||
|
||||
@ -189,7 +189,7 @@ const EBRWSemicolonsColonsLesson: React.FC<LessonProps> = ({ onFinish }) => {
|
||||
}: {
|
||||
index: number;
|
||||
title: string;
|
||||
icon: React.ElementType;
|
||||
icon: React.ComponentType<React.SVGProps<SVGSVGElement>>;
|
||||
}) => {
|
||||
const isActive = activeSection === index;
|
||||
const isPast = activeSection > index;
|
||||
|
||||
@ -214,7 +214,7 @@ const EBRWSentenceStructureLesson: React.FC<LessonProps> = ({ onFinish }) => {
|
||||
}: {
|
||||
index: number;
|
||||
title: string;
|
||||
icon: React.ElementType;
|
||||
icon: React.ComponentType<React.SVGProps<SVGSVGElement>>;
|
||||
}) => {
|
||||
const isActive = activeSection === index;
|
||||
const isPast = activeSection > index;
|
||||
|
||||
@ -203,7 +203,7 @@ const EBRWSubjectVerbLesson: React.FC<LessonProps> = ({ onFinish }) => {
|
||||
}: {
|
||||
index: number;
|
||||
title: string;
|
||||
icon: React.ElementType;
|
||||
icon: React.ComponentType<React.SVGProps<SVGSVGElement>>;
|
||||
}) => {
|
||||
const isActive = activeSection === index;
|
||||
const isPast = activeSection > index;
|
||||
|
||||
@ -270,7 +270,7 @@ const EBRWTextStructurePurposeLesson: React.FC<LessonProps> = ({
|
||||
}: {
|
||||
index: number;
|
||||
title: string;
|
||||
icon: React.ElementType;
|
||||
icon: React.ComponentType<React.SVGProps<SVGSVGElement>>;
|
||||
}) => {
|
||||
const isActive = activeSection === index;
|
||||
const isPast = activeSection > index;
|
||||
|
||||
@ -171,7 +171,7 @@ const EBRWTransitionsLesson: React.FC<LessonProps> = ({ onFinish }) => {
|
||||
}: {
|
||||
index: number;
|
||||
title: string;
|
||||
icon: React.ElementType;
|
||||
icon: React.ComponentType<React.SVGProps<SVGSVGElement>>;
|
||||
}) => {
|
||||
const isActive = activeSection === index;
|
||||
const isPast = activeSection > index;
|
||||
|
||||
@ -211,7 +211,7 @@ const EBRWVerbsLesson: React.FC<LessonProps> = ({ onFinish }) => {
|
||||
}: {
|
||||
index: number;
|
||||
title: string;
|
||||
icon: React.ElementType;
|
||||
icon: React.ComponentType<React.SVGProps<SVGSVGElement>>;
|
||||
}) => {
|
||||
const isActive = activeSection === index;
|
||||
const isPast = activeSection > index;
|
||||
|
||||
@ -45,7 +45,7 @@ const EBRWVocabMeaningLesson: React.FC<LessonProps> = ({ onFinish }) => {
|
||||
}: {
|
||||
index: number;
|
||||
title: string;
|
||||
icon: React.ElementType;
|
||||
icon: React.ComponentType<React.SVGProps<SVGSVGElement>>;
|
||||
}) => {
|
||||
const isActive = activeSection === index;
|
||||
const isPast = activeSection > index;
|
||||
|
||||
@ -45,7 +45,7 @@ const EBRWVocabPreciseLesson: React.FC<LessonProps> = ({ onFinish }) => {
|
||||
}: {
|
||||
index: number;
|
||||
title: string;
|
||||
icon: React.ElementType;
|
||||
icon: React.ComponentType<React.SVGProps<SVGSVGElement>>;
|
||||
}) => {
|
||||
const isActive = activeSection === index;
|
||||
const isPast = activeSection > index;
|
||||
|
||||
@ -275,7 +275,7 @@ const EBRWWordsInContextLesson: React.FC<LessonProps> = ({ onFinish }) => {
|
||||
}: {
|
||||
index: number;
|
||||
title: string;
|
||||
icon: React.ElementType;
|
||||
icon: React.ComponentType<React.SVGProps<SVGSVGElement>>;
|
||||
}) => {
|
||||
const isActive = activeSection === index;
|
||||
const isPast = activeSection > index;
|
||||
@ -288,11 +288,7 @@ const EBRWWordsInContextLesson: React.FC<LessonProps> = ({ onFinish }) => {
|
||||
className={`w-8 h-8 rounded-full flex items-center justify-center shrink-0
|
||||
${isActive ? "bg-fuchsia-600 text-white" : isPast ? "bg-fuchsia-400 text-white" : "bg-slate-200 text-slate-500"}`}
|
||||
>
|
||||
{isPast ? (
|
||||
<Check className="w-4 h-4" />
|
||||
) : (
|
||||
<Icon className="w-4 h-4" />
|
||||
)}
|
||||
{isPast ? <Check className="w-4 h-4" /> : <Icon />}
|
||||
</div>
|
||||
<p
|
||||
className={`text-sm font-bold ${isActive ? "text-fuchsia-900" : "text-slate-600"}`}
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
import React from "react";
|
||||
import {
|
||||
ArrowRight,
|
||||
Layers,
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
import React from "react";
|
||||
import {
|
||||
Search,
|
||||
GitBranch,
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import React, { useState } from "react";
|
||||
import { useState } from "react";
|
||||
import {
|
||||
Scale,
|
||||
ArrowRight,
|
||||
@ -64,9 +64,9 @@ const BalanceWidget = () => {
|
||||
</button>
|
||||
</div>
|
||||
<div className="relative h-32 flex justify-center items-end mb-4">
|
||||
<div className="absolute bottom-0 w-0 h-0 border-l-[16px] border-l-transparent border-r-[16px] border-r-transparent border-b-[32px] border-b-slate-800" />
|
||||
<div className="absolute bottom-0 w-0 h-0 border-l-16 border-l-transparent border-r-16 border-r-transparent border-b-32 border-b-slate-800" />
|
||||
<div
|
||||
className="w-52 h-1.5 bg-slate-600 absolute bottom-[32px] transition-transform duration-500"
|
||||
className="w-52 h-1.5 bg-slate-600 absolute bottom-8 transition-transform duration-500"
|
||||
style={{ transform: `rotate(${tilt}deg)` }}
|
||||
>
|
||||
<div className="absolute left-0 -top-12 w-16 h-12 border-b-2 border-l border-r border-slate-300 rounded-b-lg bg-white/80 flex items-center justify-center">
|
||||
|
||||
@ -1,12 +1,4 @@
|
||||
import React from "react";
|
||||
import {
|
||||
Grid,
|
||||
TrendingUp,
|
||||
Layers,
|
||||
ArrowRight,
|
||||
Hash,
|
||||
BookOpen,
|
||||
} from "lucide-react";
|
||||
import { Grid, TrendingUp, Layers, Hash, BookOpen } from "lucide-react";
|
||||
import LessonShell, {
|
||||
ConceptCard,
|
||||
FormulaBox,
|
||||
|
||||
@ -57,9 +57,9 @@ const BalanceScaleWidget = () => {
|
||||
</button>
|
||||
</div>
|
||||
<div className="relative h-40 w-full mb-8 flex justify-center items-end">
|
||||
<div className="absolute bottom-0 w-0 h-0 border-l-[20px] border-l-transparent border-r-[20px] border-r-transparent border-b-[40px] border-b-slate-800"></div>
|
||||
<div className="absolute bottom-0 w-0 h-0 border-l-20 border-l-transparent border-r-20 border-r-transparent border-b-40 border-b-slate-800"></div>
|
||||
<div
|
||||
className="w-64 h-2 bg-slate-600 absolute bottom-[40px] transition-transform duration-700"
|
||||
className="w-64 h-2 bg-slate-600 absolute bottom-10 transition-transform duration-700"
|
||||
style={{ transform: `rotate(${tilt}deg)` }}
|
||||
>
|
||||
<div
|
||||
@ -481,7 +481,7 @@ const LinearEquationsLesson: React.FC<LessonProps> = ({ onFinish }) => {
|
||||
<h2 className="text-4xl font-extrabold text-slate-900 mb-8">
|
||||
Practice Time
|
||||
</h2>
|
||||
{LINEAR_EQ_QUIZ_DATA.map((quiz, idx) => (
|
||||
{LINEAR_EQ_QUIZ_DATA.map((quiz) => (
|
||||
<div key={quiz.id} className="mb-12">
|
||||
<Quiz data={quiz} />
|
||||
</div>
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
import React from "react";
|
||||
import {
|
||||
TrendingUp,
|
||||
Hash,
|
||||
@ -186,7 +185,7 @@ export default function LinearFunctionsLesson({ onFinish }: LessonProps) {
|
||||
key={c}
|
||||
className="flex gap-3 items-center bg-white/60 rounded-lg p-3 border border-blue-100"
|
||||
>
|
||||
<code className="font-mono text-blue-700 font-bold min-w-[110px]">
|
||||
<code className="font-mono text-blue-700 font-bold min-w-27.5">
|
||||
{c}
|
||||
</code>
|
||||
<span className="text-slate-600">{d}</span>
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
import React from "react";
|
||||
import {
|
||||
Scale,
|
||||
ArrowRight,
|
||||
@ -9,7 +8,6 @@ import {
|
||||
} from "lucide-react";
|
||||
import LessonShell, {
|
||||
ConceptCard,
|
||||
FormulaBox,
|
||||
ExampleCard,
|
||||
TipCard,
|
||||
PracticeFromDataset,
|
||||
|
||||
@ -327,7 +327,7 @@ const LinearParallelPerpendicularLesson: React.FC<LessonProps> = ({
|
||||
<h2 className="text-4xl font-extrabold text-slate-900 mb-8">
|
||||
Practice Time
|
||||
</h2>
|
||||
{LINEAR_PARALLEL_PERP_QUIZ_DATA.map((quiz, idx) => (
|
||||
{LINEAR_PARALLEL_PERP_QUIZ_DATA.map((quiz) => (
|
||||
<div key={quiz.id} className="mb-12">
|
||||
<Quiz data={quiz} />
|
||||
</div>
|
||||
|
||||
@ -303,7 +303,7 @@ const LinearTransformationsLesson: React.FC<LessonProps> = ({ onFinish }) => {
|
||||
<h2 className="text-4xl font-extrabold text-slate-900 mb-8">
|
||||
Practice Time
|
||||
</h2>
|
||||
{LINEAR_TRANSFORMATIONS_QUIZ_DATA.map((quiz, idx) => (
|
||||
{LINEAR_TRANSFORMATIONS_QUIZ_DATA.map((quiz) => (
|
||||
<div key={quiz.id} className="mb-12">
|
||||
<Quiz data={quiz} />
|
||||
</div>
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
import React from "react";
|
||||
import {
|
||||
ArrowRight,
|
||||
Triangle,
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
import React from "react";
|
||||
import { Layers, Hash, Target, Zap, RotateCcw, BookOpen } from "lucide-react";
|
||||
import LessonShell, {
|
||||
ConceptCard,
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
import React from "react";
|
||||
import {
|
||||
BarChart,
|
||||
Box,
|
||||
|
||||
@ -457,7 +457,7 @@ const PolynomialFunctionsLesson: React.FC<LessonProps> = ({ onFinish }) => {
|
||||
<h2 className="text-4xl font-extrabold text-slate-900 mb-8">
|
||||
Practice Time
|
||||
</h2>
|
||||
{ADV_POLYNOMIAL_QUIZ.map((quiz, idx) => (
|
||||
{ADV_POLYNOMIAL_QUIZ.map((quiz) => (
|
||||
<div key={quiz.id} className="mb-12">
|
||||
<Quiz data={quiz} />
|
||||
</div>
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
import React from "react";
|
||||
import { Target, Hash, GitBranch, Layers, Table, BookOpen } from "lucide-react";
|
||||
import LessonShell, {
|
||||
ConceptCard,
|
||||
|
||||
@ -618,7 +618,7 @@ const QuadraticEquationsLesson: React.FC<LessonProps> = ({ onFinish }) => {
|
||||
<h2 className="text-4xl font-extrabold text-slate-900 mb-8">
|
||||
Practice Time
|
||||
</h2>
|
||||
{QUADRATIC_EQ_QUIZ_DATA.map((quiz, idx) => (
|
||||
{QUADRATIC_EQ_QUIZ_DATA.map((quiz) => (
|
||||
<div key={quiz.id} className="mb-12">
|
||||
<Quiz data={quiz} />
|
||||
</div>
|
||||
|
||||
@ -450,7 +450,7 @@ const RationalRadicalLesson: React.FC<LessonProps> = ({ onFinish }) => {
|
||||
<h2 className="text-4xl font-extrabold text-slate-900 mb-8">
|
||||
Practice Time
|
||||
</h2>
|
||||
{ADV_RATIONAL_QUIZ.map((quiz, idx) => (
|
||||
{ADV_RATIONAL_QUIZ.map((quiz) => (
|
||||
<div key={quiz.id} className="mb-12">
|
||||
<Quiz data={quiz} />
|
||||
</div>
|
||||
|
||||
@ -32,7 +32,7 @@ const RatiosLesson: React.FC<LessonProps> = ({ onFinish }) => {
|
||||
<h2 className="text-4xl font-extrabold text-slate-900 mb-8">
|
||||
Practice Time
|
||||
</h2>
|
||||
{RATIOS_QUIZ_DATA.map((quiz, idx) => (
|
||||
{RATIOS_QUIZ_DATA.map((quiz) => (
|
||||
<div key={quiz.id} className="mb-12">
|
||||
<Quiz data={quiz} />
|
||||
</div>
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
import React from "react";
|
||||
import {
|
||||
Scale,
|
||||
ArrowRight,
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
import React from "react";
|
||||
import {
|
||||
Triangle,
|
||||
Ruler,
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
import React from "react";
|
||||
import { Scale, Target, BarChart, Layers, Hash, BookOpen } from "lucide-react";
|
||||
import LessonShell, {
|
||||
ConceptCard,
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
import React from "react";
|
||||
import {
|
||||
Target,
|
||||
ArrowRight,
|
||||
|
||||
@ -384,7 +384,7 @@ const SystemsEquationsLesson: React.FC<LessonProps> = ({ onFinish }) => {
|
||||
<h2 className="text-4xl font-extrabold text-slate-900 mb-8">
|
||||
Practice Time
|
||||
</h2>
|
||||
{SYSTEMS_QUIZ_DATA.map((quiz, idx) => (
|
||||
{SYSTEMS_QUIZ_DATA.map((quiz) => (
|
||||
<div key={quiz.id} className="mb-12">
|
||||
<Quiz data={quiz} />
|
||||
</div>
|
||||
|
||||
@ -1,8 +1,6 @@
|
||||
import React from "react";
|
||||
import { Layers, ArrowRight, Hash, Lightbulb, BookOpen } from "lucide-react";
|
||||
import LessonShell, {
|
||||
ConceptCard,
|
||||
FormulaBox,
|
||||
ExampleCard,
|
||||
TipCard,
|
||||
PracticeFromDataset,
|
||||
|
||||
@ -688,7 +688,7 @@ const TrigLesson: React.FC<LessonProps> = ({ onFinish }) => {
|
||||
<h2 className="text-4xl font-extrabold text-slate-900 mb-8">
|
||||
Practice Time
|
||||
</h2>
|
||||
{TRIG_QUIZ_DATA.map((quiz, idx) => (
|
||||
{TRIG_QUIZ_DATA.map((quiz) => (
|
||||
<div key={quiz.id} className="mb-12">
|
||||
<Quiz data={quiz} />
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user