diff --git a/src/components/lessons/Quiz.tsx b/src/components/lessons/Quiz.tsx index 1617e7d..2894650 100644 --- a/src/components/lessons/Quiz.tsx +++ b/src/components/lessons/Quiz.tsx @@ -22,11 +22,13 @@ const Quiz: React.FC = ({ data, onComplete }) => { 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; @@ -39,6 +41,12 @@ const Quiz: React.FC = ({ data, onComplete }) => {

{data.question}

+

+ Concept Check +

+

+ {data.question} +

{data.options.map((option) => { @@ -58,9 +66,12 @@ const Quiz: React.FC = ({ data, onComplete }) => { } 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 ( @@ -71,6 +82,17 @@ 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}`} >
+ = ({ data, onComplete }) => { {option.text} + + {option.text} +
{icon} @@ -97,6 +122,9 @@ const Quiz: React.FC = ({ data, onComplete }) => { {/* Feedback Section */} {isSubmitted && ( +
@@ -124,6 +152,29 @@ const Quiz: React.FC = ({ data, onComplete }) => { {data.explanation}
+
+ {isCorrect ? ( + + ) : ( +
+ i +
+ )} +
+
+

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

+

{selectedOption?.feedback}

+
+ Explanation: + {data.explanation} +
+
)} @@ -137,6 +188,9 @@ const Quiz: React.FC = ({ data, onComplete }) => { 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 diff --git a/src/pages/student/Lessons.tsx b/src/pages/student/Lessons.tsx index 33f5606..83d721e 100644 --- a/src/pages/student/Lessons.tsx +++ b/src/pages/student/Lessons.tsx @@ -35,6 +35,8 @@ const STYLES = ` :root { --content-max: 1100px; } + :root { --content-max: 1100px; } + .ls-screen { min-height: 100vh; background: #fffbf4; diff --git a/src/pages/student/StudentLayout.tsx b/src/pages/student/StudentLayout.tsx index 9bdb947..950623a 100644 --- a/src/pages/student/StudentLayout.tsx +++ b/src/pages/student/StudentLayout.tsx @@ -174,6 +174,11 @@ const STYLES = ` opacity: 1; } + /* Ensure the dock is hidden on desktop (md and up) */ + @media (min-width: 768px) { + .sl-dock-wrap { display: none !important; } + } + /* Quest mode: active label uses Cinzel for the pirate feel */ .quest-mode .sl-dock-item.active .sl-dock-label { font-family: 'Sorts Mill Goudy', serif;