/** * InclusionSection — pupil characteristics and gender split. Primary pages. * Server component. */ import type { SchoolCensus, SchoolResult } from '@/lib/types'; import { formatPercentage } from '@/lib/utils'; import { MetricTooltip } from '../MetricTooltip'; import { DeltaChip } from '../DeltaChip'; import { Section, sectionStyles as styles } from './sectionShared'; export function InclusionSection({ latestResults, census, hasGenderSplit, primaryAvg, }: { latestResults: SchoolResult | null; census: SchoolCensus | null; hasGenderSplit: boolean; primaryAvg: Record; }) { return (

Pupils & Inclusion

{latestResults?.disadvantaged_pct != null && (
Eligible for pupil premium
{formatPercentage(latestResults.disadvantaged_pct)} {primaryAvg.disadvantaged_pct != null && ( )}
Pupils from disadvantaged backgrounds{primaryAvg.disadvantaged_pct != null ? ` · England avg: ${primaryAvg.disadvantaged_pct.toFixed(0)}%` : ''}
)} {latestResults?.eal_pct != null && (
English as an additional language
{formatPercentage(latestResults.eal_pct)} {primaryAvg.eal_pct != null && ( )}
{primaryAvg.eal_pct != null && (
England avg: {primaryAvg.eal_pct.toFixed(0)}%
)}
)} {latestResults?.sen_support_pct != null && (
Pupils receiving SEN support
{formatPercentage(latestResults.sen_support_pct)} {primaryAvg.sen_support_pct != null && ( )}
{primaryAvg.sen_support_pct != null && (
England avg: {primaryAvg.sen_support_pct.toFixed(0)}%
)}
)} {hasGenderSplit && (() => { const female = census!.female_pupils!; const male = census!.male_pupils!; const girlsPct = Math.round((female / (female + male)) * 100); const boysPct = 100 - girlsPct; return (
Boys and girls
{girlsPct}% girls · {boysPct}% boys
{female.toLocaleString()} girls, {male.toLocaleString()} boys
); })()}
); }