fix: address code review issues in interactive exercises
- ExerciseSort: replace unbounded shuffle recursion with deterministic swap - ExerciseManager: add sortQuestion field so sort exercises have custom questions - index.vue: use Promise.allSettled so exercise fetch failure doesn't break lesson content - ExerciseManager: guard mcqAnswer index after option deletion Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -22,7 +22,8 @@ function shuffle(arr: LineItem[]): LineItem[] {
|
||||
;[a[i], a[j]] = [a[j], a[i]]
|
||||
}
|
||||
const isCorrect = a.every((item, i) => item.originalIdx === i)
|
||||
return isCorrect && a.length > 1 ? shuffle(arr) : a
|
||||
if (isCorrect && a.length > 1) [a[0], a[1]] = [a[1], a[0]]
|
||||
return a
|
||||
}
|
||||
|
||||
function init() {
|
||||
|
||||
Reference in New Issue
Block a user