// Server component: pure markup, no client state. // Rendered into HomeView via a slot prop so its JSX doesn't bloat the // HomeView client bundle. import styles from './HomeView.module.css'; export function HowItWorksSection() { const miniCascade = [ { subj: 'Reading', exp: 96, exc: 73, nat: 75 }, { subj: 'Writing', exp: 81, exc: 15, nat: 72 }, { subj: 'Maths', exp: 85, exc: 47, nat: 74 }, ]; const compareRows = [ { label: 'Reading, Writing & Maths', a: '70%', b: '64%', aHi: true }, { label: 'Ofsted', a: 'Outstanding', b: 'Good', aHi: true }, { label: 'Reading progress', a: '+2.1', b: '+0.4', aHi: true }, ]; return (

What you'll see on every school

Primary or secondary — the page adapts to the phase
{/* Card 1 — Performance */}
Primary · Year 6 · Key Stage 2 SATs
{miniCascade.map(({ subj, exp, exc, nat }) => (
{subj}
Expected{exp}%
{nat}%
Exceeding{exc}%
))}
Secondary · Year 11 · GCSE Attainment 8
This schoolNational avg 50.2
62.4
+12.2 vs national
Performance
Results against the national average

For primary schools, each subject's Expected and Exceeding percentages side by side. For secondary schools, GCSE Attainment 8 with the national benchmark overlaid.

{/* Card 2 — Ofsted */}
Latest Ofsted inspection
OUTSTANDING
Rated Outstanding at last inspection.
Full inspection · March 2024
Judgement
Ofsted at a glance

Current grade, inspection date, and a plain-English headline — without opening a 40-page report.

{/* Card 3 — Compare */}
Metric
Our Lady
Queen of Heaven
St Mary's
Catholic Primary
{compareRows.map(({ label, a, b, aHi }) => (
{label} {a} {b}
))}
+ pin up to 5 schools
Compare
Side-by-side shortlists

Pin up to five schools and every metric aligns in the same columns — works for primary and secondary alike.

); }