mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-05-16 00:28:17 +08:00
57 lines
1.5 KiB
TypeScript
57 lines
1.5 KiB
TypeScript
import type { FC } from 'react'
|
|
import React from 'react'
|
|
import { RiRefreshLine } from '@remixicon/react'
|
|
import { useTranslation } from 'react-i18next'
|
|
import type { Theme } from './theme/theme-context'
|
|
import { CssTransform } from './theme/utils'
|
|
import Tooltip from '@/app/components/base/tooltip'
|
|
|
|
export type IHeaderProps = {
|
|
isMobile?: boolean
|
|
customerIcon?: React.ReactNode
|
|
title: string
|
|
theme?: Theme
|
|
onCreateNewChat?: () => void
|
|
}
|
|
const Header: FC<IHeaderProps> = ({
|
|
isMobile,
|
|
customerIcon,
|
|
title,
|
|
theme,
|
|
onCreateNewChat,
|
|
}) => {
|
|
const { t } = useTranslation()
|
|
if (!isMobile)
|
|
return null
|
|
|
|
return (
|
|
<div
|
|
className={`
|
|
shrink-0 flex items-center justify-between h-14 px-4
|
|
`}
|
|
style={Object.assign({}, CssTransform(theme?.backgroundHeaderColorStyle ?? ''), CssTransform(theme?.headerBorderBottomStyle ?? '')) }
|
|
>
|
|
<div className="flex items-center space-x-2">
|
|
{customerIcon}
|
|
<div
|
|
className={'text-sm font-bold text-white'}
|
|
style={CssTransform(theme?.colorFontOnHeaderStyle ?? '')}
|
|
>
|
|
{title}
|
|
</div>
|
|
</div>
|
|
<Tooltip
|
|
popupContent={t('share.chat.resetChat')}
|
|
>
|
|
<div className='flex cursor-pointer hover:rounded-lg hover:bg-black/5 w-8 h-8 items-center justify-center' onClick={() => {
|
|
onCreateNewChat?.()
|
|
}}>
|
|
<RiRefreshLine className="h-4 w-4 text-sm font-bold text-white" color={theme?.colorPathOnHeader}/>
|
|
</div>
|
|
</Tooltip>
|
|
</div>
|
|
)
|
|
}
|
|
|
|
export default React.memo(Header)
|