@@ -305,12 +305,14 @@ export function Header() {
305305 `translate3d(${ x } rem, 0, 0) scale(${ scale } )` ,
306306 )
307307
308- let borderScale = 1 / ( toScale / scale )
309- let borderX = ( - toX + x ) * borderScale
310- let borderTransform = `translate3d(${ borderX } rem, 0, 0) scale(${ borderScale } )`
308+ // Calculate scroll progress: 0 = top (not scrolled), 1 = fully scrolled past avatar
309+ let scrollProgress = clamp ( 1 - scrollY / downDelay , 0 , 1 )
311310
312- setProperty ( '--avatar-border-transform' , borderTransform )
313- setProperty ( '--avatar-border-opacity' , scale === toScale ? '2' : '0' )
311+ // Main large avatar: fade out as user scrolls down
312+ setProperty ( '--avatar-main-opacity' , `${ 1 - scrollProgress } ` )
313+
314+ // Nav bar avatar: fade in as user scrolls down
315+ setProperty ( '--avatar-border-opacity' , `${ scrollProgress } ` )
314316 }
315317
316318 function updateStyles ( ) {
@@ -357,17 +359,13 @@ export function Header() {
357359 } }
358360 >
359361 < div className = "relative" >
360- < AvatarContainer
361- className = "absolute left-0 top-3 origin-left transition-opacity"
362- style = { {
363- opacity : 'var(--avatar-border-opacity, 0)' ,
364- transform : 'var(--avatar-border-transform)' ,
365- } }
366- />
367362 < Avatar
368363 large
369364 className = "block h-16 w-16 origin-left"
370- style = { { transform : 'var(--avatar-image-transform)' } }
365+ style = { {
366+ transform : 'var(--avatar-image-transform)' ,
367+ opacity : 'var(--avatar-main-opacity, 1)' ,
368+ } }
371369 />
372370 </ div >
373371 </ div >
@@ -387,6 +385,16 @@ export function Header() {
387385 < Avatar />
388386 </ AvatarContainer >
389387 ) }
388+ { isHomePage && (
389+ < AvatarContainer
390+ style = { {
391+ opacity : 'var(--avatar-border-opacity, 0)' ,
392+ transition : 'opacity 0.15s ease-in-out' ,
393+ } }
394+ >
395+ < Avatar />
396+ </ AvatarContainer >
397+ ) }
390398 </ div >
391399 < div className = "flex flex-1 justify-end md:justify-center" >
392400 < MobileNavigation className = "pointer-events-auto md:hidden" />
0 commit comments