feat: add sequential progression and video watch lesson completion

Gate student content by completion order, track per-video watch progress
with seek enforcement, and auto-complete lessons at the configured
threshold. Show ring progress in the lesson header, keep watch progress
on rewatch, and sync progression locks client-side so the next item
unlocks after completion.
This commit is contained in:
Rotimi Best
2026-06-11 14:48:34 +01:00
parent c8154409f5
commit 52d9bf18c3
94 changed files with 3499 additions and 564 deletions
@@ -13,6 +13,7 @@ type CourseSettings = {
lessonDownload: boolean;
isPublished: boolean;
isContentGroupingEnabled: boolean;
progressionMode: 'free' | 'sequential';
callout: TCourseCallout | null;
};
@@ -32,5 +33,6 @@ export const settings = writable<CourseSettings>({
lessonDownload: false,
isPublished: false,
isContentGroupingEnabled: true,
progressionMode: 'free',
callout: null
});