fix(compare): anchor grade-5 & EBacc rows; restore secondary-button outline #58

Merged
tudor merged 1 commits from fix/secondary-anchors-button-affordance into main 2026-07-18 07:29:51 +00:00
Owner

The two fast-follows from the final combined review.

SF1 — anchor the grade-5 & EBacc rows (education expert should-fix)

In "How students do academically", Grade 5+ in English & maths and EBacc entry rendered as bare percentages — the only place the "every number anchored against the England average" promise broke. Both now show the official England anchor (already in the payload: 45.4% and 40.5%) plus an Above / Close to / Below England average verdict chip. Attainment 8 gains the same chip for consistency. This surfaces the decision-relevant gaps the expert flagged — e.g. Bishop Stopford's 10% EBacc entry vs the 40.5% national rate now reads "Below England average" instead of a bare 10%.

Button affordance (UX/UI finding)

The modal's "+ Compare" (and the same button in search results, plus "✓ Comparing") rendered as borderless teal text, not a button. Root cause: globals.css has a duplicate .btn block whose border: none overrides the base 1px solid transparent, so .btn-secondary / .btn-active's border-color had no width to show (computed border: 0px none). Gave the outline variants the full border shorthand so the outline renders regardless of the clobbered base — a targeted fix that leaves all button sizing untouched.

Tests: new CompareAcademics.test.tsx asserts the anchors + chips render; 101 frontend tests green.

Not included (expert minors, your call): conditionalise the P8 "banding" sentence when P8 is null; a "non-selective despite the name" note for Watford Grammar; count-chip grammar for Bishop Stopford's "sub-judgements only".

🤖 Generated with Claude Code

https://claude.ai/code/session_0146VHeLAWjDVE2B5uU67jCB

The two fast-follows from the final combined review. ## SF1 — anchor the grade-5 & EBacc rows (education expert should-fix) In "How students do academically", **Grade 5+ in English & maths** and **EBacc entry** rendered as bare percentages — the only place the "every number anchored against the England average" promise broke. Both now show the official England anchor (already in the payload: 45.4% and 40.5%) plus an **Above / Close to / Below England average** verdict chip. Attainment 8 gains the same chip for consistency. This surfaces the decision-relevant gaps the expert flagged — e.g. Bishop Stopford's 10% EBacc entry vs the 40.5% national rate now reads "Below England average" instead of a bare 10%. ## Button affordance (UX/UI finding) The modal's "+ Compare" (and the same button in search results, plus "✓ Comparing") rendered as borderless teal **text**, not a button. Root cause: globals.css has a duplicate `.btn` block whose `border: none` overrides the base `1px solid transparent`, so `.btn-secondary` / `.btn-active`'s `border-color` had no width to show (computed `border: 0px none`). Gave the outline variants the full `border` shorthand so the outline renders regardless of the clobbered base — a targeted fix that leaves all button sizing untouched. Tests: new `CompareAcademics.test.tsx` asserts the anchors + chips render; 101 frontend tests green. Not included (expert minors, your call): conditionalise the P8 "banding" sentence when P8 is null; a "non-selective despite the name" note for Watford Grammar; count-chip grammar for Bishop Stopford's "sub-judgements only". 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_0146VHeLAWjDVE2B5uU67jCB
tudor added 1 commit 2026-07-18 07:27:28 +00:00
fix(compare): anchor grade-5 & EBacc rows; restore secondary-button outline
PR Checks / Frontend Typecheck + Tests (pull_request) Successful in 1m4s
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 48s
PR Checks / Build Pipeline (no push) (pull_request) Successful in 10s
PR Checks / AI Code Review (Claude) (pull_request) Successful in 8s
b0c5b6bb57
SF1 (expert sign-off): the secondary academics 'Grade 5+ in English &
maths' and 'EBacc entry' rows rendered as bare numbers — the one place
the 'every number anchored against the England average' promise broke.
Both now show the official England anchor (already in the payload) + an
Above/Close/Below verdict chip, matching Attainment 8 (which also gains a
chip for consistency).

Button affordance: globals.css has a duplicate .btn block whose
'border: none' overrode the base '1px solid transparent', so
.btn-secondary/.btn-active's 'border-color' had no width — every outline
button (the modal's '+ Compare', search-result '+ Compare', 'Comparing')
rendered as borderless teal text. Give the outline variants the full
'border' shorthand so the outline renders regardless of the clobbered base.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0146VHeLAWjDVE2B5uU67jCB
tudor merged commit 6d3a203699 into main 2026-07-18 07:29:51 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: tudor/school_compare#58