import { useEffect, useState } from 'react' import { cn } from '@/lib/utils' import { Separator } from '@/components/ui/separator' import { SidebarTrigger } from '@/components/ui/sidebar' type HeaderProps = React.HTMLAttributes & { fixed?: boolean ref?: React.Ref } export function Header({ className, fixed, children, ...props }: HeaderProps) { const [offset, setOffset] = useState(0) useEffect(() => { const onScroll = () => { setOffset(document.body.scrollTop || document.documentElement.scrollTop) } // Add scroll listener to the body document.addEventListener('scroll', onScroll, { passive: true }) // Clean up the event listener on unmount return () => document.removeEventListener('scroll', onScroll) }, []) return (
10 && fixed ? 'shadow' : 'shadow-none', className )} {...props} >
10 && fixed && 'after:absolute after:inset-0 after:-z-10 after:bg-background/20 after:backdrop-blur-lg' )} > {children}
) }