fix: Sometimes a course won’t have units.

If a sequence has no unitIds, bail on changing the URL.
This commit is contained in:
David Joy
2020-03-23 14:15:25 -04:00
parent 57ca2948eb
commit 781508dd03

View File

@@ -97,11 +97,13 @@ function useContentRedirect(courseStatus, sequenceStatus) {
useEffect(() => {
if (sequenceStatus === 'loaded' && sequenceId && !unitId) {
// The position may be null, in which case we'll just assume 0.
const unitIndex = sequence.position || 0;
const nextUnitId = sequence.unitIds[unitIndex];
history.replace(`/course/${courseUsageKey}/${sequence.id}/${nextUnitId}`);
if (sequence.unitIds !== undefined && sequence.unitIds.length > 0) {
const unitIndex = sequence.position || 0;
const nextUnitId = sequence.unitIds[unitIndex];
history.replace(`/course/${courseUsageKey}/${sequence.id}/${nextUnitId}`);
}
}
}, [sequenceStatus]);
}, [sequenceStatus, sequenceId, unitId]);
}
function useSavedSequencePosition(courseUsageKey, sequenceId, unitId) {