Components
Lesson player and completion
Media, lesson progress, and the next step stay together.
On this page
Purpose and composition
VideoHeader composes the learner’s main media area and curriculum. PrivateCourseView supplies completion state and actions.
Anatomy
- Lesson/course identity
- Validated embedded player or read-below fallback
- Mark complete control
- Next-lesson action or configured final CTA
- Curriculum and progress
Configuration and variants
| Input or variant | Contract |
|---|---|
| embedCode | Pass through the source safe-embed boundary; do not inject arbitrary HTML directly. |
| isComplete / onToggleComplete | Parent supplies confirmed progress and the mutation callback. |
| lessons / courseId | Drive curriculum, current context, and destinations. |
| isOwner | Disables learner completion while the owner previews. |
| Final CTA | Requires a configured CTA, last lesson, completed state, and a non-owner learner. |
States and feedback
Incomplete and complete are explicit states. Missing media points the learner toward lesson text. The reference media is an intercepted offline poster, not a live provider session.
Interaction and responsive behavior
A flexible player sits beside a 330px curriculum; below 1001px the curriculum becomes a disclosure below the player.
Accessibility and known limits
Completion exposes aria-pressed and progress has a programmatic value. Media accessibility still depends on the actual lesson captions and transcript; screenshots cannot verify them.
Source references
| File | Responsibility |
|---|---|
| src/components/courses-public/logged-in/VideoHeader.tsx | Media and navigation |
| src/components/courses-public/logged-in/PrivateCourseView.tsx | Progress ownership |
Interface examples
Native TeachKit interfaces with fictional course, account, and learner records. Service responses and media are isolated demonstrations; no customer data or live changes. Captured at 2× resolution or higher. Select an image to inspect it full size.
Related topics
Source audit: 2026-10-22 · Revision 903bbf05ca9d · Documentation v2.0.0