Added the speaking module to the application

This commit is contained in:
Tiago Ribeiro
2023-04-17 17:35:26 +01:00
parent 207328dade
commit c321a5cc69
8 changed files with 186 additions and 20 deletions

View File

@@ -1,6 +1,6 @@
import {Module} from ".";
export type Exam = ReadingExam | ListeningExam | WritingExam;
export type Exam = ReadingExam | ListeningExam | WritingExam | SpeakingExam;
export interface ReadingExam {
text: {
@@ -47,7 +47,20 @@ interface WordCounter {
limit: number;
}
export type Exercise = FillBlanksExercise | MatchSentencesExercise | MultipleChoiceExercise | WriteBlanksExercise | WritingExercise;
export interface SpeakingExam {
id: string;
module: "speaking";
exercises: Exercise[];
minTimer: number;
}
export type Exercise =
| FillBlanksExercise
| MatchSentencesExercise
| MultipleChoiceExercise
| WriteBlanksExercise
| WritingExercise
| SpeakingExercise;
export interface WritingExercise {
id: string;
@@ -57,6 +70,14 @@ export interface WritingExercise {
wordCounter: WordCounter; //* The minimum or maximum amount of words that should be written
}
export interface SpeakingExercise {
id: string;
type: "speaking";
title: string;
text: string;
prompts: string[];
}
export interface FillBlanksExercise {
prompt: string; // *EXAMPLE: "Complete the summary below. Click a blank to select the corresponding word for it."
type: "fillBlanks";