/* Grades — real-time grade sync by subject */ function GradesScreen({ onNav, onBack }) { const subjects = [ { subj:'Mathematics', teacher:'Mr. Allen', icon:'calculator', tint:'var(--blue-100)', ic:'var(--blue-500)', grade:'A-', pct:91, trend:'up' }, { subj:'Science', teacher:'Ms. Rivera', icon:'flask-conical',tint:'var(--gold-100)', ic:'var(--gold-600)', grade:'B+', pct:88, trend:'up' }, { subj:'English (ELA)',teacher:'Mrs. Johnson',icon:'book-open', tint:'var(--success-100)', ic:'var(--success-500)', grade:'B', pct:84, trend:'down' }, { subj:'Social Studies',teacher:'Mr. Diaz', icon:'globe', tint:'var(--info-100)', ic:'var(--info-500)', grade:'A', pct:95, trend:'flat' }, { subj:'Art', teacher:'Ms. Park', icon:'palette', tint:'var(--danger-100)', ic:'var(--danger-500)', grade:'A', pct:97, trend:'flat' }, ]; const recent = [ { title:'Fractions Quiz', subj:'Math', score:'18/20', grade:'A-', bg:'var(--success-100)', fg:'var(--success-600)', when:'Graded today' }, { title:'Reading Response', subj:'ELA', score:'C+', grade:'C+', bg:'var(--warning-100)', fg:'var(--warning-600)', when:'Graded yesterday' }, { title:'Lab Report', subj:'Science', score:'27/30', grade:'B+', bg:'var(--success-100)', fg:'var(--success-600)', when:'Graded May 28' }, ]; const gradeColor = (g) => g.startsWith('A') ? 'var(--success-500)' : g.startsWith('B') ? 'var(--blue-500)' : g.startsWith('C') ? 'var(--warning-600)' : 'var(--danger-500)'; const trendIcon = { up:'trending-up', down:'trending-down', flat:'minus' }; const trendColor = { up:'var(--success-500)', down:'var(--danger-500)', flat:'var(--gray-400)' }; return (
{/* GPA hero */}
OVERALL GPA · QUARTER 4
3.7
Up from 3.5
HONOR ROLL
Live sync · updated 2 min ago from PowerSchool
{/* by subject */} By Subject
{subjects.map((s,i) => ( ))}
{/* recently graded */} onNav('activities')} style={{ fontSize:12, fontWeight:700, color:'var(--blue-500)', cursor:'pointer' }}>Assignments}>Recently Graded
{recent.map((r,i) => ( {i>0 && }
{r.grade}
{r.title}
{r.subj} · {r.when}
{r.score}
))}
); } Object.assign(window, { GradesScreen });