Pass phase state to compare sub-components to prevent phase metrics override by multi-phase schools
PR Checks / Frontend Typecheck + Tests (pull_request) Successful in 1m5s
PR Checks / Backend Smoke (pull_request) Successful in 7s
PR Checks / Build Backend (no push) (pull_request) Successful in 11s
PR Checks / Build Frontend (no push) (pull_request) Successful in 47s
PR Checks / Build Pipeline (no push) (pull_request) Successful in 10s
PR Checks / AI Code Review (Claude) (pull_request) Successful in 9s

This commit is contained in:
Tudor
2026-07-15 17:38:02 +01:00
parent b4b0249a06
commit e74d3882ce
4 changed files with 12 additions and 3 deletions
+3
View File
@@ -379,6 +379,7 @@ export function ComparisonView({
data={activeComparisonData} data={activeComparisonData}
nationalAverages={nationalAverages} nationalAverages={nationalAverages}
benchmarks={benchmarks} benchmarks={benchmarks}
isSecondary={!isPrimary}
/> />
<CompareOfsted schools={activeSchools} data={activeComparisonData} /> <CompareOfsted schools={activeSchools} data={activeComparisonData} />
<CompareAcademics <CompareAcademics
@@ -386,12 +387,14 @@ export function ComparisonView({
data={activeComparisonData} data={activeComparisonData}
nationalAverages={nationalAverages} nationalAverages={nationalAverages}
benchmarks={benchmarks} benchmarks={benchmarks}
isSecondary={!isPrimary}
/> />
<CompareAdmissions schools={activeSchools} data={activeComparisonData} /> <CompareAdmissions schools={activeSchools} data={activeComparisonData} />
<CompareCommunity <CompareCommunity
schools={activeSchools} schools={activeSchools}
data={activeComparisonData} data={activeComparisonData}
benchmarks={benchmarks} benchmarks={benchmarks}
isSecondary={!isPrimary}
/> />
<TrendsExplorer <TrendsExplorer
schools={activeSchools} schools={activeSchools}
@@ -125,15 +125,17 @@ export function CompareAcademics({
data, data,
nationalAverages, nationalAverages,
benchmarks, benchmarks,
isSecondary: propIsSecondary,
}: { }: {
schools: School[]; schools: School[];
data: Record<string, ComparisonData>; data: Record<string, ComparisonData>;
nationalAverages?: NationalAverages; nationalAverages?: NationalAverages;
benchmarks?: Benchmarks; benchmarks?: Benchmarks;
isSecondary?: boolean;
}) { }) {
const urns = schools.map((school) => school.urn); const urns = schools.map((school) => school.urn);
const schoolNames = schools.map((school) => school.school_name); const schoolNames = schools.map((school) => school.school_name);
const isSecondary = schools.some( const isSecondary = propIsSecondary !== undefined ? propIsSecondary : schools.some(
(school) => data[String(school.urn)]?.school_info?.attainment_8_score != null, (school) => data[String(school.urn)]?.school_info?.attainment_8_score != null,
); );
@@ -47,14 +47,16 @@ export function CompareAtAGlance({
data, data,
nationalAverages, nationalAverages,
benchmarks, benchmarks,
isSecondary: propIsSecondary,
}: { }: {
schools: School[]; schools: School[];
data: Record<string, ComparisonData>; data: Record<string, ComparisonData>;
nationalAverages?: NationalAverages; nationalAverages?: NationalAverages;
benchmarks?: Benchmarks; benchmarks?: Benchmarks;
isSecondary?: boolean;
}) { }) {
const urns = schools.map((school) => school.urn); const urns = schools.map((school) => school.urn);
const isSecondary = schools.some( const isSecondary = propIsSecondary !== undefined ? propIsSecondary : schools.some(
(school) => data[String(school.urn)]?.school_info?.attainment_8_score != null, (school) => data[String(school.urn)]?.school_info?.attainment_8_score != null,
); );
const headlineKey = isSecondary ? 'attainment_8_score' : 'rwm_expected_pct'; const headlineKey = isSecondary ? 'attainment_8_score' : 'rwm_expected_pct';
@@ -20,12 +20,14 @@ export function CompareCommunity({
schools, schools,
data, data,
benchmarks, benchmarks,
isSecondary: propIsSecondary,
}: { }: {
schools: School[]; schools: School[];
data: Record<string, ComparisonData>; data: Record<string, ComparisonData>;
benchmarks?: Benchmarks; benchmarks?: Benchmarks;
isSecondary?: boolean;
}) { }) {
const isSecondary = schools.some( const isSecondary = propIsSecondary !== undefined ? propIsSecondary : schools.some(
(school) => data[String(school.urn)]?.school_info?.attainment_8_score != null, (school) => data[String(school.urn)]?.school_info?.attainment_8_score != null,
); );
const bench = isSecondary ? benchmarks?.secondary : benchmarks?.primary; const bench = isSecondary ? benchmarks?.secondary : benchmarks?.primary;