You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

header.tsx 1.8KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. 'use client'
  2. import { useTranslation } from 'react-i18next'
  3. import { RiArrowRightUpLine, RiRobot2Line } from '@remixicon/react'
  4. import { useRouter } from 'next/navigation'
  5. import Button from '../components/base/button'
  6. import Avatar from './avatar'
  7. import DifyLogo from '@/app/components/base/logo/dify-logo'
  8. import { useCallback } from 'react'
  9. import { useGlobalPublicStore } from '@/context/global-public-context'
  10. const Header = () => {
  11. const { t } = useTranslation()
  12. const router = useRouter()
  13. const systemFeatures = useGlobalPublicStore(s => s.systemFeatures)
  14. const back = useCallback(() => {
  15. router.back()
  16. }, [router])
  17. return (
  18. <div className='flex flex-1 items-center justify-between px-4'>
  19. <div className='flex items-center gap-3'>
  20. <div className='flex cursor-pointer items-center' onClick={back}>
  21. {systemFeatures.branding.enabled && systemFeatures.branding.login_page_logo
  22. ? <img
  23. src={systemFeatures.branding.login_page_logo}
  24. className='block h-[22px] w-auto object-contain'
  25. alt='Dify logo'
  26. />
  27. : <DifyLogo />}
  28. </div>
  29. <div className='h-4 w-[1px] origin-center rotate-[11.31deg] bg-divider-regular' />
  30. <p className='title-3xl-semi-bold relative mt-[-2px] text-text-primary'>{t('common.account.account')}</p>
  31. </div>
  32. <div className='flex shrink-0 items-center gap-3'>
  33. <Button className='system-sm-medium gap-2 px-3 py-2' onClick={back}>
  34. <RiRobot2Line className='h-4 w-4' />
  35. <p>{t('common.account.studio')}</p>
  36. <RiArrowRightUpLine className='h-4 w-4' />
  37. </Button>
  38. <div className='h-4 w-[1px] bg-divider-regular' />
  39. <Avatar />
  40. </div>
  41. </div>
  42. )
  43. }
  44. export default Header