ExercisesHooks
useSortListExercise
Sort a list into correct order
Tracks order by index. Validates against [0, 1, ..., n-1]. Used by SortList.
Key returns
| Property | Description |
|---|---|
order | Current item order (indices) |
reorder | Reorder items (e.g. drag-and-drop) |
setOrder | Set order directly |
isCorrect | Whether order matches solution |
check | Validate order |
reset | Reset to initial state |
Example
import { useSortListExercise } from '@bside-tech/tbx-ui/hooks';
// Correct order is [0, 1, 2, 3] (indices of items)
// order[i] = which original item is at position i
const { order, reorder, setOrder, isCorrect, check, reset } = useSortListExercise({
itemCount: 4,
checkOn: 'manual',
});
// Move item from position 2 to position 0 (drag-and-drop)
reorder(2, 0);
// Or set full order (e.g. after shuffle)
setOrder([3, 1, 0, 2]);
// order might be [3, 1, 0, 2] → map to items: items[order[i]]