aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/landing/sections
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2024-08-15 22:10:06 +0200
committerLibravatar Kristóf Marussy <kristof@marussy.com>2024-08-15 22:10:06 +0200
commitd997936c70da88c3283cdc1547fbdde1d44a7ee7 (patch)
treee0c96a0c03c25a3ba00adb85486e4d7219a5dc17 /src/components/landing/sections
parentMore descriptive link text (diff)
downloadblog-d997936c70da88c3283cdc1547fbdde1d44a7ee7.tar.gz
blog-d997936c70da88c3283cdc1547fbdde1d44a7ee7.tar.zst
blog-d997936c70da88c3283cdc1547fbdde1d44a7ee7.zip
Reduce FOUC on Refinery screenshot
Diffstat (limited to 'src/components/landing/sections')
-rw-r--r--src/components/landing/sections/Software.module.css15
-rw-r--r--src/components/landing/sections/Software.tsx17
2 files changed, 27 insertions, 5 deletions
diff --git a/src/components/landing/sections/Software.module.css b/src/components/landing/sections/Software.module.css
index a68b5a6..758a848 100644
--- a/src/components/landing/sections/Software.module.css
+++ b/src/components/landing/sections/Software.module.css
@@ -192,8 +192,6 @@
192 overflow: hidden; 192 overflow: hidden;
193 transition-property: box-shadow, transform; 193 transition-property: box-shadow, transform;
194 z-index: 0; 194 z-index: 0;
195 background-size: cover;
196 background-position: center center;
197} 195}
198 196
199.software--screenshot:hover, 197.software--screenshot:hover,
@@ -201,7 +199,18 @@
201 transform: scale(120%); 199 transform: scale(120%);
202} 200}
203 201
204.screenshot { 202.screenshot__backdrop {
203 display: none;
204 background-size: cover;
205 background-position: center center;
206}
207
208[data-theme='dark'] .screenshot__backdrop--dark,
209:root:not([data-theme='dark']) .screenshot__backdrop--light {
210 display: block;
211}
212
213.screenshot, .screenshot__backdrop {
205 position: absolute; 214 position: absolute;
206 top: 0; 215 top: 0;
207 left: 0; 216 left: 0;
diff --git a/src/components/landing/sections/Software.tsx b/src/components/landing/sections/Software.tsx
index e905e07..577939c 100644
--- a/src/components/landing/sections/Software.tsx
+++ b/src/components/landing/sections/Software.tsx
@@ -58,12 +58,25 @@ function Screenshot() {
58 )} 58 )}
59 style={{ 59 style={{
60 aspectRatio: refineryScreenshot.width / refineryScreenshot.height, 60 aspectRatio: refineryScreenshot.width / refineryScreenshot.height,
61 backgroundImage: `url(${refineryScreenshot.placeholder})`,
62 }} 61 }}
63 > 62 >
64 {isBrowser ? screenshot : <noscript>{screenshot}</noscript>}
65 <div className={clsx(styles.content, styles['content--screenshot'])}> 63 <div className={clsx(styles.content, styles['content--screenshot'])}>
66 <div 64 <div
65 className={clsx(styles.screenshot__backdrop, styles['screenshot__backdrop--light'])}
66 style={{
67 aspectRatio: refineryScreenshotDark.width / refineryScreenshotDark.height,
68 backgroundImage: `url(${refineryScreenshotDark.placeholder})`,
69 }}
70 />
71 <div
72 className={clsx(styles.screenshot__backdrop, styles['screenshot__backdrop--dark'])}
73 style={{
74 aspectRatio: refineryScreenshotLight.width / refineryScreenshotLight.height,
75 backgroundImage: `url(${refineryScreenshotLight.placeholder})`,
76 }}
77 />
78 {isBrowser ? screenshot : <noscript>{screenshot}</noscript>}
79 <div
67 className={clsx( 80 className={clsx(
68 styles.overlay, 81 styles.overlay,
69 styles['overlay--screenshot'], 82 styles['overlay--screenshot'],