Skip to content

Commit f54e180

Browse files
authored
fix(templates): adds priority to hero images (#10003)
Hero images should use the `priority` property so that browsers will preload them. This is because hero images, by definition, are rendered "above the fold" and should be treated as such, optimizing LCP. This also means these images should _not_ define a `loading` strategy, as this disregards the priority flag.
1 parent c50f423 commit f54e180

File tree

6 files changed

+6
-32
lines changed

6 files changed

+6
-32
lines changed

templates/website/src/heros/HighImpact/index.tsx

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,7 @@ export const HighImpactHero: React.FC<Page['hero']> = ({ links, media, richText
3838
</div>
3939
<div className="min-h-[80vh] select-none">
4040
{media && typeof media === 'object' && (
41-
<Media
42-
fill
43-
imgClassName="-z-10 object-cover"
44-
priority={false}
45-
loading="lazy"
46-
resource={media}
47-
/>
41+
<Media fill imgClassName="-z-10 object-cover" priority resource={media} />
4842
)}
4943
</div>
5044
</div>

templates/website/src/heros/MediumImpact/index.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,7 @@ export const MediumImpactHero: React.FC<Page['hero']> = ({ links, media, richTex
3030
<Media
3131
className="-mx-4 md:-mx-8 2xl:-mx-16"
3232
imgClassName=""
33-
priority={false}
34-
loading="lazy"
33+
priority
3534
resource={media}
3635
/>
3736
{media?.caption && (

templates/website/src/heros/PostHero/index.tsx

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,7 @@ export const PostHero: React.FC<{
6464
</div>
6565
<div className="min-h-[80vh] select-none">
6666
{heroImage && typeof heroImage !== 'string' && (
67-
<Media
68-
fill
69-
priority={false}
70-
loading="lazy"
71-
imgClassName="-z-10 object-cover"
72-
resource={heroImage}
73-
/>
67+
<Media fill priority imgClassName="-z-10 object-cover" resource={heroImage} />
7468
)}
7569
<div className="absolute pointer-events-none left-0 bottom-0 w-full h-1/2 bg-gradient-to-t from-black to-transparent" />
7670
</div>

templates/with-vercel-website/src/heros/HighImpact/index.tsx

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,7 @@ export const HighImpactHero: React.FC<Page['hero']> = ({ links, media, richText
3838
</div>
3939
<div className="min-h-[80vh] select-none">
4040
{media && typeof media === 'object' && (
41-
<Media
42-
fill
43-
imgClassName="-z-10 object-cover"
44-
priority={false}
45-
loading="lazy"
46-
resource={media}
47-
/>
41+
<Media fill imgClassName="-z-10 object-cover" priority resource={media} />
4842
)}
4943
</div>
5044
</div>

templates/with-vercel-website/src/heros/MediumImpact/index.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,7 @@ export const MediumImpactHero: React.FC<Page['hero']> = ({ links, media, richTex
3030
<Media
3131
className="-mx-4 md:-mx-8 2xl:-mx-16"
3232
imgClassName=""
33-
priority={false}
34-
loading="lazy"
33+
priority
3534
resource={media}
3635
/>
3736
{media?.caption && (

templates/with-vercel-website/src/heros/PostHero/index.tsx

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,7 @@ export const PostHero: React.FC<{
6464
</div>
6565
<div className="min-h-[80vh] select-none">
6666
{heroImage && typeof heroImage !== 'string' && (
67-
<Media
68-
fill
69-
priority={false}
70-
loading="lazy"
71-
imgClassName="-z-10 object-cover"
72-
resource={heroImage}
73-
/>
67+
<Media fill priority imgClassName="-z-10 object-cover" resource={heroImage} />
7468
)}
7569
<div className="absolute pointer-events-none left-0 bottom-0 w-full h-1/2 bg-gradient-to-t from-black to-transparent" />
7670
</div>

0 commit comments

Comments
 (0)