feat(admissions): promote verdict to headline, move above Q&A
Build and Push Docker Images / Build Backend (FastAPI) (push) Successful in 12s
Build and Push Docker Images / Build Frontend (Next.js) (push) Successful in 53s
Build and Push Docker Images / Build Pipeline (Meltano + dbt + Airflow) (push) Successful in 12s
Build and Push Docker Images / Trigger Portainer Update (push) Successful in 0s

The Oversubscribed badge + "Demand exceeds capacity" text lived at
the bottom of the tile as an afterthought. It's the headline finding —
a parent should read it first, then let the Q&A supply the detail.

Replace the footer badge with a Playfair Display sentence directly
under the section title: "This school is oversubscribed." (state word
coloured coral for oversubscribed, teal for undersubscribed). The
"Demand exceeds capacity" / "Supply meets demand" line sits below as
quiet muted text — present for context but not competing with the
headline.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Tudor Sitaru
2026-04-14 11:03:57 +01:00
parent 5abab067a1
commit 35deedcc16
2 changed files with 37 additions and 21 deletions
+15 -11
View File
@@ -788,6 +788,21 @@ export function SchoolDetailView({
<section id="admissions" className={styles.card}>
<h2 className={styles.sectionTitle}>How Hard to Get Into This School ({formatAcademicYear(admissions.year)})</h2>
{admissions.oversubscribed != null && (
<div className={styles.admissionsVerdict}>
<div className={styles.admissionsVerdictHeadline}>
This school is{' '}
<span className={admissions.oversubscribed ? styles.admissionsVerdictOver : styles.admissionsVerdictUnder}>
{admissions.oversubscribed ? 'oversubscribed' : 'not oversubscribed'}
</span>
.
</div>
<div className={styles.admissionsVerdictSub}>
{admissions.oversubscribed ? 'Demand exceeds capacity.' : 'Supply meets demand.'}
</div>
</div>
)}
<dl className={styles.admissionsQa}>
{admissions.places_offered != null && (
<div className={styles.admissionsQaRow}>
@@ -825,17 +840,6 @@ export function SchoolDetailView({
</div>
)}
</dl>
{admissions.oversubscribed != null && (
<div className={styles.admissionsVerdict}>
<span className={`${styles.admissionsBadge} ${admissions.oversubscribed ? styles.statusWarn : styles.statusGood}`}>
{admissions.oversubscribed ? 'Oversubscribed' : 'Not oversubscribed'}
</span>
<span className={styles.admissionsVerdictText}>
{admissions.oversubscribed ? 'Demand exceeds capacity.' : 'Supply meets demand.'}
</span>
</div>
)}
</section>
)}