fix(build): single-brace JSX for schoolUrl, migrate images.domains to remotePatterns
All checks were successful
Build and Push Docker Images / Build Backend (FastAPI) (push) Successful in 32s
Build and Push Docker Images / Build Frontend (Next.js) (push) Successful in 1m10s
Build and Push Docker Images / Build Pipeline (Meltano + dbt + Airflow) (push) Successful in 32s
Build and Push Docker Images / Trigger Portainer Update (push) Successful in 1s
All checks were successful
Build and Push Docker Images / Build Backend (FastAPI) (push) Successful in 32s
Build and Push Docker Images / Build Frontend (Next.js) (push) Successful in 1m10s
Build and Push Docker Images / Build Pipeline (Meltano + dbt + Airflow) (push) Successful in 32s
Build and Push Docker Images / Trigger Portainer Update (push) Successful in 1s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -317,7 +317,7 @@ function CompactSchoolItem({ school, onAddToCompare, isInCompare }: CompactSchoo
|
|||||||
<div className={styles.compactItem}>
|
<div className={styles.compactItem}>
|
||||||
<div className={styles.compactItemContent}>
|
<div className={styles.compactItemContent}>
|
||||||
<div className={styles.compactItemHeader}>
|
<div className={styles.compactItemHeader}>
|
||||||
<a href={{schoolUrl(school.urn, school.school_name)}} className={styles.compactItemName}>
|
<a href={schoolUrl(school.urn, school.school_name)} className={styles.compactItemName}>
|
||||||
{school.school_name}
|
{school.school_name}
|
||||||
</a>
|
</a>
|
||||||
{school.distance !== undefined && school.distance !== null && (
|
{school.distance !== undefined && school.distance !== null && (
|
||||||
@@ -353,7 +353,7 @@ function CompactSchoolItem({ school, onAddToCompare, isInCompare }: CompactSchoo
|
|||||||
>
|
>
|
||||||
{isInCompare ? '✓ Comparing' : '+ Compare'}
|
{isInCompare ? '✓ Comparing' : '+ Compare'}
|
||||||
</button>
|
</button>
|
||||||
<a href={{schoolUrl(school.urn, school.school_name)}} className="btn btn-tertiary btn-sm">
|
<a href={schoolUrl(school.urn, school.school_name)} className="btn btn-tertiary btn-sm">
|
||||||
View
|
View
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -267,7 +267,7 @@ export function RankingsView({
|
|||||||
)}
|
)}
|
||||||
</td>
|
</td>
|
||||||
<td className={styles.schoolCell}>
|
<td className={styles.schoolCell}>
|
||||||
<a href={{schoolUrl(ranking.urn, ranking.school_name)}} className={styles.schoolLink}>
|
<a href={schoolUrl(ranking.urn, ranking.school_name)} className={styles.schoolLink}>
|
||||||
{ranking.school_name}
|
{ranking.school_name}
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
@@ -277,7 +277,7 @@ export function RankingsView({
|
|||||||
<strong>{displayValue}</strong>
|
<strong>{displayValue}</strong>
|
||||||
</td>
|
</td>
|
||||||
<td className={styles.actionCell}>
|
<td className={styles.actionCell}>
|
||||||
<a href={{schoolUrl(ranking.urn, ranking.school_name)}} className="btn btn-tertiary btn-sm">View</a>
|
<a href={schoolUrl(ranking.urn, ranking.school_name)} className="btn btn-tertiary btn-sm">View</a>
|
||||||
<button
|
<button
|
||||||
onClick={() => handleAddToCompare(ranking)}
|
onClick={() => handleAddToCompare(ranking)}
|
||||||
disabled={alreadyInComparison}
|
disabled={alreadyInComparison}
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ export function SchoolCard({ school, onAddToCompare, onRemoveFromCompare, showDi
|
|||||||
<div className={`${styles.card} ${isInCompare ? styles.cardInCompare : ''}`}>
|
<div className={`${styles.card} ${isInCompare ? styles.cardInCompare : ''}`}>
|
||||||
<div className={styles.header}>
|
<div className={styles.header}>
|
||||||
<h3 className={styles.title}>
|
<h3 className={styles.title}>
|
||||||
<Link href={{schoolUrl(school.urn, school.school_name)}}>
|
<Link href={schoolUrl(school.urn, school.school_name)}>
|
||||||
{school.school_name}
|
{school.school_name}
|
||||||
</Link>
|
</Link>
|
||||||
</h3>
|
</h3>
|
||||||
@@ -146,7 +146,7 @@ export function SchoolCard({ school, onAddToCompare, onRemoveFromCompare, showDi
|
|||||||
)}
|
)}
|
||||||
|
|
||||||
<div className={styles.actions}>
|
<div className={styles.actions}>
|
||||||
<Link href={{schoolUrl(school.urn, school.school_name)}} className="btn btn-primary">
|
<Link href={schoolUrl(school.urn, school.school_name)} className="btn btn-primary">
|
||||||
View Details
|
View Details
|
||||||
</Link>
|
</Link>
|
||||||
{onAddToCompare && (
|
{onAddToCompare && (
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ export function SchoolRow({
|
|||||||
|
|
||||||
{/* Line 1: School name + Ofsted badge */}
|
{/* Line 1: School name + Ofsted badge */}
|
||||||
<div className={styles.line1}>
|
<div className={styles.line1}>
|
||||||
<a href={{schoolUrl(school.urn, school.school_name)}} className={styles.schoolName}>
|
<a href={schoolUrl(school.urn, school.school_name)} className={styles.schoolName}>
|
||||||
{school.school_name}
|
{school.school_name}
|
||||||
</a>
|
</a>
|
||||||
{school.ofsted_grade && (
|
{school.ofsted_grade && (
|
||||||
@@ -155,7 +155,7 @@ export function SchoolRow({
|
|||||||
|
|
||||||
{/* Right: actions, vertically centred */}
|
{/* Right: actions, vertically centred */}
|
||||||
<div className={styles.rowActions}>
|
<div className={styles.rowActions}>
|
||||||
<a href={{schoolUrl(school.urn, school.school_name)}} className="btn btn-tertiary btn-sm">
|
<a href={schoolUrl(school.urn, school.school_name)} className="btn btn-tertiary btn-sm">
|
||||||
View
|
View
|
||||||
</a>
|
</a>
|
||||||
{(onAddToCompare || onRemoveFromCompare) && (
|
{(onAddToCompare || onRemoveFromCompare) && (
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ export function SecondarySchoolRow({
|
|||||||
|
|
||||||
{/* Line 1: School name + Ofsted badge */}
|
{/* Line 1: School name + Ofsted badge */}
|
||||||
<div className={styles.line1}>
|
<div className={styles.line1}>
|
||||||
<a href={{schoolUrl(school.urn, school.school_name)}} className={styles.schoolName}>
|
<a href={schoolUrl(school.urn, school.school_name)} className={styles.schoolName}>
|
||||||
{school.school_name}
|
{school.school_name}
|
||||||
</a>
|
</a>
|
||||||
{school.ofsted_grade && (
|
{school.ofsted_grade && (
|
||||||
@@ -155,7 +155,7 @@ export function SecondarySchoolRow({
|
|||||||
|
|
||||||
{/* Right: actions */}
|
{/* Right: actions */}
|
||||||
<div className={styles.rowActions}>
|
<div className={styles.rowActions}>
|
||||||
<a href={{schoolUrl(school.urn, school.school_name)}} className="btn btn-tertiary btn-sm">
|
<a href={schoolUrl(school.urn, school.school_name)} className="btn btn-tertiary btn-sm">
|
||||||
View
|
View
|
||||||
</a>
|
</a>
|
||||||
{(onAddToCompare || onRemoveFromCompare) && (
|
{(onAddToCompare || onRemoveFromCompare) && (
|
||||||
|
|||||||
@@ -16,12 +16,10 @@ const nextConfig = {
|
|||||||
|
|
||||||
// Image optimization
|
// Image optimization
|
||||||
images: {
|
images: {
|
||||||
domains: [
|
remotePatterns: [
|
||||||
'tile.openstreetmap.org',
|
{ protocol: 'https', hostname: '*.tile.openstreetmap.org' },
|
||||||
'a.tile.openstreetmap.org',
|
{ protocol: 'https', hostname: 'tile.openstreetmap.org' },
|
||||||
'b.tile.openstreetmap.org',
|
{ protocol: 'https', hostname: 'cdnjs.cloudflare.com' },
|
||||||
'c.tile.openstreetmap.org',
|
|
||||||
'cdnjs.cloudflare.com',
|
|
||||||
],
|
],
|
||||||
formats: ['image/avif', 'image/webp'],
|
formats: ['image/avif', 'image/webp'],
|
||||||
minimumCacheTTL: 60,
|
minimumCacheTTL: 60,
|
||||||
|
|||||||
Reference in New Issue
Block a user