import React from 'react'; import { cn } from '@/lib/utils'; interface HeaderProps extends React.HTMLAttributes { fixed?: boolean; ref?: React.Ref; } export const Header = ({ className, fixed, children, ...props }: HeaderProps) => { const [offset, setOffset] = React.useState(0); React.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); }, []); // Don't render if there's no children if (!children) { return null; } return (
10 && fixed ? 'shadow-sm' : 'shadow-none', className )} {...props} > {children}
); }; Header.displayName = 'Header';