File tree Expand file tree Collapse file tree 2 files changed +14
-4
lines changed
components/index-page/hero Expand file tree Collapse file tree 2 files changed +14
-4
lines changed Original file line number Diff line number Diff line change 1
1
"use client"
2
2
3
3
import type { StaticImageData } from "next/image"
4
- import { useEffect , useState } from "react"
4
+ import { useEffect , useState , useRef } from "react"
5
5
6
6
const _cache = new Map < string , HTMLImageElement > ( )
7
7
@@ -13,6 +13,7 @@ export interface ImageLoadedProps extends React.HTMLAttributes<HTMLDivElement> {
13
13
export function ImageLoaded ( {
14
14
image,
15
15
fetchPriority = "auto" ,
16
+ style,
16
17
...rest
17
18
} : ImageLoadedProps ) {
18
19
const [ loaded , setLoaded ] = useState ( false )
@@ -38,5 +39,14 @@ export function ImageLoaded({
38
39
}
39
40
} , [ src , fetchPriority ] )
40
41
41
- return < div data-loaded = { alreadyLoaded || loaded } { ...rest } />
42
+ return (
43
+ < div
44
+ data-loaded = { alreadyLoaded || loaded }
45
+ style = { {
46
+ [ "--src" as string ] : alreadyLoaded || loaded ? `url(${ src } )` : "" ,
47
+ ...style ,
48
+ } }
49
+ { ...rest }
50
+ />
51
+ )
42
52
}
Original file line number Diff line number Diff line change @@ -57,8 +57,8 @@ function HeroStripes() {
57
57
image = { logoBlurred }
58
58
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%]"
59
59
style = { {
60
- maskImage : `url( ${ logoBlurred . src } )` ,
61
- WebkitMaskImage : `url( ${ logoBlurred . src } )` ,
60
+ maskImage : `var(-- src)` ,
61
+ WebkitMaskImage : `var(-- src)` ,
62
62
maskRepeat : "no-repeat" ,
63
63
WebkitMaskRepeat : "no-repeat" ,
64
64
} }
You can’t perform that action at this time.
0 commit comments