function InstructorPortal({ onNavigate }) { const [riskOnly, setRiskOnly] = React.useState(false); const batch = [ { name: 'Rahul Kumar', trade: 'Fitter', roll: 'FTR-24-018', prog: 68, score: 82, streak: 12, risk: null }, { name: 'Pooja Devi', trade: 'Fitter', roll: 'FTR-24-032', prog: 91, score: 88, streak: 21, risk: null }, { name: 'Amit Verma', trade: 'Fitter', roll: 'FTR-24-041', prog: 42, score: 61, streak: 3, risk: 'medium' }, { name: 'Suresh Naik', trade: 'Fitter', roll: 'FTR-24-054', prog: 24, score: 48, streak: 0, risk: 'high' }, { name: 'Priya Behera', trade: 'Fitter', roll: 'FTR-24-071', prog: 76, score: 79, streak: 9, risk: null }, { name: 'Manoj Sahu', trade: 'Fitter', roll: 'FTR-24-089', prog: 58, score: 72, streak: 5, risk: null }, { name: 'Ritika Panda', trade: 'Fitter', roll: 'FTR-24-092', prog: 84, score: 91, streak: 18, risk: null }, { name: 'Deepak Meher', trade: 'Fitter', roll: 'FTR-24-101', prog: 34, score: 56, streak: 2, risk: 'medium' }, ]; return (
Semester 3 · 38 students · Govt ITI Cuttack
| STUDENT | PROGRESS | SCORE | STREAK | STATUS |
|---|---|---|---|---|
|
{s.name.split(' ').map(w => w[0]).slice(0, 2).join('')}
{s.name}
{s.roll}
|
= 75 ? 'var(--green-600)' : s.prog >= 50 ? 'var(--saffron-500)' : 'var(--red-600)' }}/>
{s.prog}%
|
{s.score} |
= 7 ? 'var(--saffron-600)' : 'var(--ink-600)' }}>
|
{s.risk === 'high' && ● At risk — 3 missed} {s.risk === 'medium' && ◐ Falling behind} {!s.risk && ● On track} |