add new type of self-learning
Some checks failed
Deploy / deploy (build, debian, 22, /root/OJDeploy/data/clientnext) (push) Has been cancelled
Deploy / deploy (build:staging, school, 8822, /root/OJ/data/dist) (push) Has been cancelled

This commit is contained in:
2026-06-29 19:38:00 -06:00
parent 71fc5e3246
commit 5867bbceed
10 changed files with 1113 additions and 31 deletions

View File

@@ -627,10 +627,53 @@ export interface ExerciseFillData {
code: string
}
export interface ExerciseMatchData {
question: string
left: string[]
right: string[]
answer: number[]
}
export interface ExercisePredictData {
question: string
code: string
answer: string[]
}
export interface ExerciseDebugData {
question: string
lines: string[]
answer: number[]
explanation?: string
}
export interface ExerciseGroupData {
question: string
buckets: string[]
items: string[]
answer: number[]
}
export type ExerciseType =
| "mcq"
| "sort"
| "fill"
| "match"
| "predict"
| "debug"
| "group"
export interface Exercise {
id: number
type: "mcq" | "sort" | "fill"
data: ExerciseMcqData | ExerciseSortData | ExerciseFillData
type: ExerciseType
data:
| ExerciseMcqData
| ExerciseSortData
| ExerciseFillData
| ExerciseMatchData
| ExercisePredictData
| ExerciseDebugData
| ExerciseGroupData
order: number
}