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 interface CommonProps { examID?: string; onNext: (userSolutions: UserSolution) => void; onBack: (userSolutions: UserSolution) => void; enableNavigation?: boolean; disableProgressButtons?: boolean preview?: boolean; } export const renderExercise = ( exercise: Exercise, examID: string, onNext: (userSolutions: UserSolution) => void, onBack: (userSolutions: UserSolution) => void, enableNavigation?: boolean, disableProgressButtons?: boolean, preview?: boolean, ) => { 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 ( ); } };