| 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) |
|
|