index.tsx 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. 'use client'
  2. import Link from 'next/link'
  3. import AccountDropdown from './account-dropdown'
  4. import AppNav from './app-nav'
  5. import DatasetNav from './dataset-nav'
  6. import EnvNav from './env-nav'
  7. import ExploreNav from './explore-nav'
  8. import GithubStar from './github-star'
  9. import { WorkspaceProvider } from '@/context/workspace-context'
  10. import { useAppContext } from '@/context/app-context'
  11. import LogoSite from '@/app/components/base/logo/logo-site'
  12. const navClassName = `
  13. flex items-center relative mr-3 px-3 h-8 rounded-xl
  14. font-medium text-sm
  15. cursor-pointer
  16. `
  17. const Header = () => {
  18. const { isCurrentWorkspaceManager } = useAppContext()
  19. return (
  20. <>
  21. <div className='flex items-center'>
  22. <Link href="/apps" className='flex items-center mr-4'>
  23. <LogoSite />
  24. </Link>
  25. <GithubStar />
  26. </div>
  27. <div className='flex items-center'>
  28. <ExploreNav className={navClassName} />
  29. <AppNav />
  30. {isCurrentWorkspaceManager && <DatasetNav />}
  31. </div>
  32. <div className='flex items-center flex-shrink-0'>
  33. <EnvNav />
  34. <WorkspaceProvider>
  35. <AccountDropdown />
  36. </WorkspaceProvider>
  37. </div>
  38. </>
  39. )
  40. }
  41. export default Header