import { Exercise, FillBlanksExercise, InteractiveSpeakingExercise, MatchSentencesExercise, MultipleChoiceExercise, SpeakingExercise, TrueFalseExercise, UserSolution, WriteBlanksExercise, WritingExercise, } from "@/interfaces/exam"; import dynamic from "next/dynamic"; import FillBlanks from "./FillBlanks"; import MultipleChoice from "./MultipleChoice"; import WriteBlanks from "./WriteBlanks"; import Writing from "./Writing"; import Speaking from "./Speaking"; import TrueFalse from "./TrueFalse"; import InteractiveSpeaking from "./InteractiveSpeaking"; const MatchSentences = dynamic(() => import("@/components/Exercises/MatchSentences"), { ssr: false }); export const renderExercise = ( exercise: Exercise, examID: string, registerSolution: (updateSolution: () => UserSolution) => void, preview: boolean, headerButtons?: React.ReactNode, footerButtons?: React.ReactNode, ) => { const sharedProps = { key: exercise.id, registerSolution, headerButtons, footerButtons, examID, preview } switch (exercise.type) { case "fillBlanks": return ; case "trueFalse": return ; case "matchSentences": return ; case "multipleChoice": return ; case "writeBlanks": return ; case "writing": return ; case "speaking": return ; case "interactiveSpeaking": return ; } };