A social knowledge tool for researchers built on ATProto
at main 36 lines 906 B view raw
1'use client'; 2 3import { Box } from '@mantine/core'; 4import { useWindowScroll } from '@mantine/hooks'; 5import MinimalProfileHeader from '../../components/profileHeader/MinimalProfileHeader'; 6 7interface Props { 8 avatarUrl?: string; 9 name: string; 10 handle: string; 11} 12 13export default function MinimalProfileHeaderContainer(props: Props) { 14 const [{ y: yScroll }] = useWindowScroll(); 15 const HEADER_REVEAL_SCROLL_THRESHOLD = 140; 16 17 return ( 18 <Box 19 style={{ 20 position: 'fixed', 21 top: 0, 22 width: '100%', 23 zIndex: 2, 24 transform: `translateY(${yScroll > HEADER_REVEAL_SCROLL_THRESHOLD ? '0' : '-100px'})`, 25 transition: 'transform 300ms ease', 26 backgroundColor: 'var(--mantine-color-body)', 27 }} 28 > 29 <MinimalProfileHeader 30 avatarUrl={props.avatarUrl} 31 name={props.name} 32 handle={props.handle} 33 /> 34 </Box> 35 ); 36}