File tree Expand file tree Collapse file tree 2 files changed +12
-9
lines changed
components/index-page/hero Expand file tree Collapse file tree 2 files changed +12
-9
lines changed Original file line number Diff line number Diff line change @@ -7,14 +7,9 @@ const _cache = new Map<string, HTMLImageElement>()
77
88export interface ImageLoadedProps extends React . HTMLAttributes < HTMLDivElement > {
99 image : string | StaticImageData
10- fetchPriority ?: "high" | "low" | "auto"
1110}
1211
13- export function ImageLoaded ( {
14- image,
15- fetchPriority = "auto" ,
16- ...rest
17- } : ImageLoadedProps ) {
12+ export function ImageLoaded ( { image, ...rest } : ImageLoadedProps ) {
1813 const [ loaded , setLoaded ] = useState ( false )
1914 const src = typeof image === "string" ? image : image . src
2015
@@ -32,11 +27,10 @@ export function ImageLoaded({
3227 } else {
3328 img = new Image ( )
3429 img . src = src
35- img . fetchPriority = fetchPriority
3630 img . addEventListener ( "load" , ( ) => setLoaded ( true ) )
3731 _cache . set ( src , img )
3832 }
39- } , [ src , fetchPriority ] )
33+ } , [ src ] )
4034
4135 return < div data-loaded = { alreadyLoaded || loaded } { ...rest } />
4236}
Original file line number Diff line number Diff line change @@ -4,6 +4,7 @@ import { Button } from "@/app/conf/_design-system/button"
44import { ImageLoaded } from "@/app/conf/2025/components/image-loaded"
55
66import logoBlurred from "./logo-blurred.webp"
7+ import Head from "next/head"
78
89export function Hero ( ) {
910 return (
@@ -42,9 +43,17 @@ export function Hero() {
4243function HeroStripes ( ) {
4344 return (
4445 < div className = "pointer-events-none relative overflow-hidden max-lg:h-[210px]" >
46+ < Head >
47+ < link
48+ rel = "preload"
49+ as = "image"
50+ href = { logoBlurred . src }
51+ type = "image/webp"
52+ fetchPriority = "high"
53+ />
54+ </ Head >
4555 < ImageLoaded
4656 image = { logoBlurred }
47- fetchPriority = "high"
4857 className = "relative h-full bg-gradient-to-b from-pri-base to-pri-lighter opacity-0 transition-opacity duration-[1.5s] [mask-position:center_12%] [mask-size:110%] data-[loaded=true]:opacity-100 dark:to-pri-base sm:[mask-size:auto_300%] lg:[mask-position:7%_7%] lg:[mask-size:200%]"
4958 style = { {
5059 maskImage : `url(${ logoBlurred . src } )` ,
You can’t perform that action at this time.
0 commit comments