diff --git a/src/components/lessons/Quiz.tsx b/src/components/lessons/Quiz.tsx index 3ea5604..1617e7d 100644 --- a/src/components/lessons/Quiz.tsx +++ b/src/components/lessons/Quiz.tsx @@ -1,6 +1,6 @@ -import React, { useState } from 'react'; -import { QuizData } from '../types'; -import { CheckCircle2, XCircle, ChevronRight } from 'lucide-react'; +import React, { useState } from "react"; +import { type QuizData } from "../../types/lesson"; +import { CheckCircle2, XCircle, ChevronRight } from "lucide-react"; interface QuizProps { data: QuizData; @@ -21,20 +21,24 @@ const Quiz: React.FC = ({ data, onComplete }) => { const handleSubmit = () => { if (!selectedId) return; setIsSubmitted(true); - const selectedOption = data.options.find(opt => opt.id === selectedId); + const selectedOption = data.options.find((opt) => opt.id === selectedId); if (selectedOption?.isCorrect && onComplete) { onComplete(); } }; - const selectedOption = data.options.find(opt => opt.id === selectedId); + const selectedOption = data.options.find((opt) => opt.id === selectedId); const isCorrect = selectedOption?.isCorrect; return (
-

Concept Check

-

{data.question}

+

+ Concept Check +

+

+ {data.question} +

{data.options.map((option) => { @@ -52,11 +56,11 @@ const Quiz: React.FC = ({ data, onComplete }) => { icon = ; } } else if (option.isCorrect) { - // Highlight correct answer if wrong one was picked - borderClass = "border-green-200 bg-green-50/50"; + // Highlight correct answer if wrong one was picked + borderClass = "border-green-200 bg-green-50/50"; } } else if (selectedId === option.id) { - borderClass = "border-indigo-600 bg-indigo-50"; + borderClass = "border-indigo-600 bg-indigo-50"; } return ( @@ -67,14 +71,22 @@ const Quiz: React.FC = ({ data, onComplete }) => { className={`w-full text-left p-4 rounded-lg border-2 transition-all duration-200 flex items-center justify-between group ${borderClass} ${bgClass}`} >
- + {option.id} - {option.text} + + {option.text} +
{icon} @@ -85,21 +97,33 @@ const Quiz: React.FC = ({ data, onComplete }) => { {/* Feedback Section */} {isSubmitted && ( -
+
-
- {isCorrect ? :
i
} -
-
-

- {isCorrect ? "That's right!" : "Not quite."} -

-

{selectedOption?.feedback}

-
- Explanation: - {data.explanation} -
-
+
+ {isCorrect ? ( + + ) : ( +
+ i +
+ )} +
+
+

+ {isCorrect ? "That's right!" : "Not quite."} +

+

{selectedOption?.feedback}

+
+ Explanation: + {data.explanation} +
+
)} @@ -110,9 +134,9 @@ const Quiz: React.FC = ({ data, onComplete }) => { onClick={handleSubmit} disabled={!selectedId} className={`px-6 py-2 rounded-full font-semibold transition-all flex items-center ${ - selectedId - ? 'bg-slate-900 text-white hover:bg-slate-800 shadow-md transform hover:-translate-y-0.5' - : 'bg-slate-200 text-slate-400 cursor-not-allowed' + selectedId + ? "bg-slate-900 text-white hover:bg-slate-800 shadow-md transform hover:-translate-y-0.5" + : "bg-slate-200 text-slate-400 cursor-not-allowed" }`} > Check Answer