Created a simple component for the writing exam

This commit is contained in:
Tiago Ribeiro
2023-04-06 12:02:07 +01:00
parent 36e6c017b4
commit addef7c674
7 changed files with 118 additions and 7 deletions

View File

@@ -8,11 +8,14 @@ import {Module} from "@/interfaces";
import JSON_USER from "@/demo/user.json";
import JSON_READING from "@/demo/reading.json";
import JSON_LISTENING from "@/demo/listening.json";
import JSON_WRITING from "@/demo/writing.json";
import Selection from "@/exams/Selection";
import Reading from "@/exams/Reading";
import {Exam, ListeningExam, ReadingExam} from "@/interfaces/exam";
import {Exam, ListeningExam, ReadingExam, WritingExam} from "@/interfaces/exam";
import Listening from "@/exams/Listening";
import Writing from "@/exams/Writing";
import {ToastContainer} from "react-toastify";
export default function Home() {
const [selectedModules, setSelectedModules] = useState<Module[]>([]);
@@ -31,6 +34,8 @@ export default function Home() {
return JSON_READING as ReadingExam;
case "listening":
return JSON_LISTENING as ListeningExam;
case "writing":
return JSON_WRITING as WritingExam;
}
return undefined;
@@ -53,6 +58,10 @@ export default function Home() {
return <Listening exam={exam} onFinish={() => setModuleIndex((prev) => prev + 1)} />;
}
if (exam && exam.module === "writing") {
return <Writing exam={exam} />;
}
return <>Loading...</>;
};
@@ -65,6 +74,7 @@ export default function Home() {
<link rel="icon" href="/favicon.ico" />
</Head>
<main className="w-full h-screen flex flex-col items-center bg-neutral-100 text-black">
<ToastContainer />
<Navbar profilePicture={JSON_USER.profilePicture} />
{renderScreen()}
</main>