62 lines
1.5 KiB
TypeScript
62 lines
1.5 KiB
TypeScript
import { InteractiveSpeakingExercise, LevelPart, ListeningPart, ReadingPart, SpeakingExercise, WritingExercise } from "@/interfaces/exam";
|
|
import { v4 } from "uuid";
|
|
|
|
export const writingTask = (task: number) => ({
|
|
id: v4(),
|
|
type: "writing",
|
|
prefix: `You should spend about ${task == 1 ? "20" : "40"} minutes on this task.`,
|
|
prompt: "",
|
|
userSolutions: [],
|
|
suffix: `You should write at least ${task == 1 ? "150" : "250"} words.`,
|
|
wordCounter: {
|
|
limit: task == 1 ? 150 : 250,
|
|
type: "min",
|
|
}
|
|
} as WritingExercise);
|
|
|
|
export const readingPart = (task: number) => {
|
|
return {
|
|
text: {
|
|
title: "",
|
|
content: ""
|
|
},
|
|
exercises: []
|
|
} as ReadingPart;
|
|
};
|
|
|
|
|
|
export const listeningSection = (task: number) => {
|
|
return {
|
|
audio: undefined,
|
|
script: undefined,
|
|
exercises: [],
|
|
} as ListeningPart;
|
|
};
|
|
|
|
export const speakingTask = (task: number) => {
|
|
if (task === 3) {
|
|
return {
|
|
id: v4(),
|
|
type: "interactiveSpeaking",
|
|
title: "",
|
|
text: "",
|
|
prompts: [],
|
|
userSolutions: []
|
|
} as InteractiveSpeakingExercise;
|
|
}
|
|
return {
|
|
id: v4(),
|
|
type: "speaking",
|
|
title: "",
|
|
text: "",
|
|
prompts: [],
|
|
video_url: "",
|
|
userSolutions: [],
|
|
} as SpeakingExercise;
|
|
}
|
|
|
|
export const levelPart = (task : number) => {
|
|
return {
|
|
exercises: []
|
|
} as LevelPart;
|
|
}
|