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
@@ -517,8 +517,13 @@ export class MediaApi extends BaseApiWithErrors {
ok = true;
snackbar.success('snackbar.media_manager.transcription_started');
},
onError: () => {
snackbar.error('snackbar.media_manager.transcription_start_failed');
onError: (error) => {
const isConflict = typeof error === 'object' && error !== null && 'code' in error && error.code === 'CONFLICT';
snackbar.error(
isConflict
? 'snackbar.media_manager.transcription_already_running'
: 'snackbar.media_manager.transcription_start_failed'
);
}
});