Patterns
Apply a lesson’s actions
Let learners mark concrete actions while preserving the distinction between local feedback and stored progress.
On this page
Workflow
| Step | Responsibility |
|---|---|
| 1 | Load actual actionItems for the selected lesson. |
| 2 | Pass completed indices to ActionChecklist. |
| 3 | Toggle local presentation and invoke the parent callback. |
| 4 | Persist the update through the authorized progress boundary. |
| 5 | Reconcile refreshed data and retain a recoverable failure state. |
Decisions and composition
- Index-based completion requires stable action order.
- Action items must describe actual course work, not generic placeholder tasks.
- Do not infer completed lessons from an arbitrary count of checked actions.
Errors, recovery and limits
- Available Thomas-owned courses contain no stored action items. Populated checklist captures are deferred instead of inventing course content.
- Current buttons need accessible names and pressed/checked semantics.
- If persistence fails, keep the user’s intended change visible and explain recovery.
Source references
| File | Responsibility |
|---|---|
| src/components/courses-public/logged-in/ActionChecklist.tsx | Control and state |
| src/components/courses-public/logged-in/PrivateCourseView.tsx | Parent ownership |
Related topics
Source audit: 2026-10-07 · Revision d8cf23d0a329 · Documentation v0.1