feat(admissions): reference SchoolCompare tools at each stage of the journey
Build and Push Docker Images / Build Backend (FastAPI) (push) Successful in 12s
Build and Push Docker Images / Build Frontend (Next.js) (push) Successful in 47s
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 1s
Build and Push Docker Images / Build Backend (FastAPI) (push) Successful in 12s
Build and Push Docker Images / Build Frontend (Next.js) (push) Successful in 47s
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 1s
Add a per-step link on the primary and secondary admissions timelines pointing to the relevant SchoolCompare tool (search, compare shortlist, rankings) for that stage — from researching criteria through offer day and appeals. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -420,6 +420,28 @@
|
|||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.stepTool {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 0.35rem;
|
||||||
|
margin-top: 0.6rem;
|
||||||
|
font-size: 0.82rem;
|
||||||
|
font-weight: 600;
|
||||||
|
color: var(--accent-teal, #2d7d7d);
|
||||||
|
text-decoration: none;
|
||||||
|
transition: gap 0.2s ease, color 0.2s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.stepTool:hover {
|
||||||
|
color: var(--accent-coral-dark, #c45a3f);
|
||||||
|
gap: 0.6rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.stepToolArrow {
|
||||||
|
font-size: 0.9em;
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
|
||||||
/* ─── Tips ───────────────────────────────────────────── */
|
/* ─── Tips ───────────────────────────────────────────── */
|
||||||
|
|
||||||
.tips {
|
.tips {
|
||||||
|
|||||||
@@ -54,38 +54,46 @@ interface Step {
|
|||||||
title: string;
|
title: string;
|
||||||
body: string;
|
body: string;
|
||||||
highlight?: 'deadline' | 'offer';
|
highlight?: 'deadline' | 'offer';
|
||||||
|
/* How SchoolCompare helps at this stage of the journey */
|
||||||
|
tool?: { label: string; href: string };
|
||||||
}
|
}
|
||||||
|
|
||||||
const SECONDARY_STEPS: Step[] = [
|
const SECONDARY_STEPS: Step[] = [
|
||||||
{
|
{
|
||||||
title: 'Check entry criteria',
|
title: 'Check entry criteria',
|
||||||
body: 'Look at each school\'s admissions policy — catchment areas, faith criteria, sibling priority, and aptitude tests vary widely. Use school detail pages on SchoolCompare for admissions history.',
|
body: 'Look at each school\'s admissions policy — catchment areas, faith criteria, sibling priority, and aptitude tests vary widely.',
|
||||||
|
tool: { label: 'Find schools & view their admissions history', href: '/' },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
date: 'September',
|
date: 'September',
|
||||||
title: 'Portal opens',
|
title: 'Portal opens',
|
||||||
body: 'Your local council opens its online admissions portal. Register early to avoid last-minute technical issues. You apply through your home council even if you prefer schools in neighbouring boroughs.',
|
body: 'Your local council opens its online admissions portal. Register early to avoid last-minute technical issues. You apply through your home council even if you prefer schools in neighbouring boroughs.',
|
||||||
|
tool: { label: 'Build and compare your shortlist', href: '/compare' },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
date: '31 October',
|
date: '31 October',
|
||||||
title: 'Application deadline',
|
title: 'Application deadline',
|
||||||
body: 'Submit your ranked list of up to six schools. Councils treat all preferences equally — list schools in the genuine order you want them, not strategically.',
|
body: 'Submit your ranked list of up to six schools. Councils treat all preferences equally — list schools in the genuine order you want them, not strategically.',
|
||||||
highlight: 'deadline',
|
highlight: 'deadline',
|
||||||
|
tool: { label: 'Compare performance to order your preferences', href: '/rankings' },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
date: '1 March',
|
date: '1 March',
|
||||||
title: 'National Offer Day',
|
title: 'National Offer Day',
|
||||||
body: 'Results are published online, usually from 12:01 am. You\'ll receive an email or letter with your allocated school.',
|
body: 'Results are published online, usually from 12:01 am. You\'ll receive an email or letter with your allocated school.',
|
||||||
highlight: 'offer',
|
highlight: 'offer',
|
||||||
|
tool: { label: 'Look up your allocated school', href: '/' },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
date: '~15 March',
|
date: '~15 March',
|
||||||
title: 'Accept or decline',
|
title: 'Accept or decline',
|
||||||
body: 'Respond by the deadline your council gives — typically around 15 March. Accepting does not prevent you from keeping a place on a waiting list for a preferred school.',
|
body: 'Respond by the deadline your council gives — typically around 15 March. Accepting does not prevent you from keeping a place on a waiting list for a preferred school.',
|
||||||
|
tool: { label: 'Weigh your offer against your other choices', href: '/compare' },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'Appeals',
|
title: 'Appeals',
|
||||||
body: 'If unsuccessful, you can appeal within 20 school days of the refusal letter. Secondary appeals consider whether prejudice to the school outweighs your case — success rates vary.',
|
body: 'If unsuccessful, you can appeal within 20 school days of the refusal letter. Secondary appeals consider whether prejudice to the school outweighs your case — success rates vary.',
|
||||||
|
tool: { label: 'Gather performance evidence for your case', href: '/rankings' },
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -93,32 +101,38 @@ const PRIMARY_STEPS: Step[] = [
|
|||||||
{
|
{
|
||||||
title: 'Research entry criteria',
|
title: 'Research entry criteria',
|
||||||
body: 'Faith schools, language units, and distance-based catchments differ by school. Start by reading each school\'s admissions policy on their website or the council\'s website.',
|
body: 'Faith schools, language units, and distance-based catchments differ by school. Start by reading each school\'s admissions policy on their website or the council\'s website.',
|
||||||
|
tool: { label: 'Find schools & view their admissions history', href: '/' },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
date: 'September',
|
date: 'September',
|
||||||
title: 'Portal opens',
|
title: 'Portal opens',
|
||||||
body: 'Apply through your home council\'s portal, even if your preferred school is in another borough. Most councils accept applications from September.',
|
body: 'Apply through your home council\'s portal, even if your preferred school is in another borough. Most councils accept applications from September.',
|
||||||
|
tool: { label: 'Build and compare your shortlist', href: '/compare' },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
date: '15 January',
|
date: '15 January',
|
||||||
title: 'Application deadline',
|
title: 'Application deadline',
|
||||||
body: 'List up to 3–6 schools (the number varies by council) in genuine preference order. The equal preference rule means all preferences are considered before any offers are made.',
|
body: 'List up to 3–6 schools (the number varies by council) in genuine preference order. The equal preference rule means all preferences are considered before any offers are made.',
|
||||||
highlight: 'deadline',
|
highlight: 'deadline',
|
||||||
|
tool: { label: 'Compare performance to order your preferences', href: '/rankings' },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
date: '16 April',
|
date: '16 April',
|
||||||
title: 'National Offer Day',
|
title: 'National Offer Day',
|
||||||
body: 'Results are published online. Reception offers are sent on 16 April (or the next working day if that falls on a weekend or bank holiday).',
|
body: 'Results are published online. Reception offers are sent on 16 April (or the next working day if that falls on a weekend or bank holiday).',
|
||||||
highlight: 'offer',
|
highlight: 'offer',
|
||||||
|
tool: { label: 'Look up your allocated school', href: '/' },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
date: '~1 May',
|
date: '~1 May',
|
||||||
title: 'Accept or decline',
|
title: 'Accept or decline',
|
||||||
body: 'Respond by your council\'s deadline, typically around 1 May. Accepting secures the place while you wait to see if a preferred school\'s waiting list moves.',
|
body: 'Respond by your council\'s deadline, typically around 1 May. Accepting secures the place while you wait to see if a preferred school\'s waiting list moves.',
|
||||||
|
tool: { label: 'Weigh your offer against your other choices', href: '/compare' },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'Appeals',
|
title: 'Appeals',
|
||||||
body: 'Infant class-size appeals (Reception to Year 2) have a very narrow legal test and a low success rate. For Year 3+, appeals follow the same process as secondary.',
|
body: 'Infant class-size appeals (Reception to Year 2) have a very narrow legal test and a low success rate. For Year 3+, appeals follow the same process as secondary.',
|
||||||
|
tool: { label: 'Gather performance evidence for your case', href: '/rankings' },
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -293,6 +307,17 @@ export function AdmissionsView() {
|
|||||||
{step.date && <div className={styles.stepDate}>{step.date}</div>}
|
{step.date && <div className={styles.stepDate}>{step.date}</div>}
|
||||||
<div className={styles.stepTitle}>{step.title}</div>
|
<div className={styles.stepTitle}>{step.title}</div>
|
||||||
<p className={styles.stepBody}>{step.body}</p>
|
<p className={styles.stepBody}>{step.body}</p>
|
||||||
|
{step.tool && (
|
||||||
|
<a
|
||||||
|
href={step.tool.href}
|
||||||
|
className={styles.stepTool}
|
||||||
|
data-umami-event="admissions_tool_clicked"
|
||||||
|
data-umami-event-target={step.tool.href}
|
||||||
|
>
|
||||||
|
{step.tool.label}
|
||||||
|
<span className={styles.stepToolArrow} aria-hidden="true">→</span>
|
||||||
|
</a>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
))}
|
))}
|
||||||
@@ -330,6 +355,17 @@ export function AdmissionsView() {
|
|||||||
{step.date && <div className={styles.stepDate}>{step.date}</div>}
|
{step.date && <div className={styles.stepDate}>{step.date}</div>}
|
||||||
<div className={styles.stepTitle}>{step.title}</div>
|
<div className={styles.stepTitle}>{step.title}</div>
|
||||||
<p className={styles.stepBody}>{step.body}</p>
|
<p className={styles.stepBody}>{step.body}</p>
|
||||||
|
{step.tool && (
|
||||||
|
<a
|
||||||
|
href={step.tool.href}
|
||||||
|
className={styles.stepTool}
|
||||||
|
data-umami-event="admissions_tool_clicked"
|
||||||
|
data-umami-event-target={step.tool.href}
|
||||||
|
>
|
||||||
|
{step.tool.label}
|
||||||
|
<span className={styles.stepToolArrow} aria-hidden="true">→</span>
|
||||||
|
</a>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
))}
|
))}
|
||||||
|
|||||||
Reference in New Issue
Block a user