HeaderWrapper.tsx 908 B

1234567891011121314151617181920212223242526272829303132333435
  1. 'use client'
  2. import classNames from 'classnames'
  3. import { usePathname } from 'next/navigation'
  4. import s from './index.module.css'
  5. import { useAppContext } from '@/context/app-context'
  6. type HeaderWrapperProps = {
  7. children: React.ReactNode
  8. }
  9. const HeaderWrapper = ({
  10. children,
  11. }: HeaderWrapperProps) => {
  12. const pathname = usePathname()
  13. const { langeniusVersionInfo } = useAppContext()
  14. const isBordered = ['/apps', '/datasets'].includes(pathname)
  15. return (
  16. <div className={classNames(
  17. 'sticky top-0 left-0 right-0 z-20 flex bg-gray-100 grow-0 shrink-0 basis-auto h-14',
  18. s.header,
  19. isBordered ? 'border-b border-gray-200' : '',
  20. )}
  21. >
  22. <div className={classNames(
  23. s[`header-${langeniusVersionInfo.current_env}`],
  24. 'flex flex-1 items-center justify-between px-4',
  25. )}>
  26. {children}
  27. </div>
  28. </div>
  29. )
  30. }
  31. export default HeaderWrapper