feat(instructor): expand curriculum teaching visibility

CurriculumView.jsx's per-module activity table gains a Required column
(required/optional) so an instructor can see at a glance which of
Phase 6B's new CORE vs. GUIDED/INDEPENDENT/ADVANCED activities a
student needs to complete a module. Reuses the existing Classroom/
Prepare Labs tooling unchanged — no second classroom system.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
This commit is contained in:
2026-08-26 09:08:54 -05:00
co-authored by Claude Sonnet 5
parent 54b35e8ad7
commit e0f954e714
+2 -1
View File
@@ -73,7 +73,7 @@ export default function CurriculumView() {
{mod.estimated_duration_minutes && <p className={styles.muted}>Estimated teaching time: ~{mod.estimated_duration_minutes} min</p>}
{mod.objectives?.length > 0 && <ul>{mod.objectives.map((o, i) => <li key={i}>{o}</li>)}</ul>}
<table>
<thead><tr><th>#</th><th>Type</th><th>Title</th><th>Mapped</th><th>Status</th>{studentCourses && <th>Student</th>}</tr></thead>
<thead><tr><th>#</th><th>Type</th><th>Title</th><th>Mapped</th><th>Required</th><th>Status</th>{studentCourses && <th>Student</th>}</tr></thead>
<tbody>
{mod.activities.map((a) => (
<tr key={a.activity_id}>
@@ -81,6 +81,7 @@ export default function CurriculumView() {
<td>{ACTIVITY_LABELS[a.activity_type] || a.activity_type}</td>
<td>{a.title}</td>
<td className={styles.muted}>{a.scenario_id || a.assessment_definition_id || '—'}</td>
<td className={styles.muted}>{a.is_required === false ? 'optional' : 'required'}</td>
<td>{statusPill(a.status)}</td>
{studentCourses && (
<td>{progressFor(a.activity_id)?.complete ? <span className={`${styles.pill} ${styles.pillOk}`}>done</span> : <span className={styles.muted}>—</span>}</td>