|
import type { FC } from 'react' |
|
import React from 'react' |
|
import { |
|
Bars3Icon, |
|
PencilSquareIcon, |
|
} from '@heroicons/react/24/solid' |
|
import AppIcon from '@/app/components/base/app-icon' |
|
export type IHeaderProps = { |
|
title: string |
|
isMobile?: boolean |
|
onShowSideBar?: () => void |
|
onCreateNewChat?: () => void |
|
} |
|
const Header: FC<IHeaderProps> = ({ |
|
title, |
|
isMobile, |
|
onShowSideBar, |
|
onCreateNewChat, |
|
}) => { |
|
return ( |
|
<div className="shrink-0 flex items-center justify-between h-12 px-3 bg-gray-100"> |
|
{isMobile |
|
? ( |
|
<div |
|
className='flex items-center justify-center h-8 w-8 cursor-pointer' |
|
onClick={() => onShowSideBar?.()} |
|
> |
|
<Bars3Icon className="h-4 w-4 text-gray-500" /> |
|
</div> |
|
) |
|
: <div></div>} |
|
<div className='flex items-center space-x-2'> |
|
<AppIcon size="small" /> |
|
<div className=" text-sm text-gray-800 font-bold">{title}</div> |
|
</div> |
|
{isMobile |
|
? ( |
|
<div className='flex items-center justify-center h-8 w-8 cursor-pointer' |
|
onClick={() => onCreateNewChat?.()} |
|
> |
|
<PencilSquareIcon className="h-4 w-4 text-gray-500" /> |
|
</div>) |
|
: <div></div>} |
|
</div> |
|
) |
|
} |
|
|
|
export default React.memo(Header) |
|
|