2025-05-06 06:45:49 +00:00
|
|
|
import classNames from 'classnames'
|
|
|
|
|
import { HEADER_HEIGHT_CLASS } from '@/constants/theme.constant'
|
|
|
|
|
import type { ReactNode } from 'react'
|
|
|
|
|
import type { CommonProps } from '@/@types/common'
|
|
|
|
|
|
|
|
|
|
interface HeaderProps extends CommonProps {
|
|
|
|
|
headerStart?: ReactNode
|
|
|
|
|
headerEnd?: ReactNode
|
|
|
|
|
headerMiddle?: ReactNode
|
|
|
|
|
container?: boolean
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const Header = (props: HeaderProps) => {
|
|
|
|
|
const { headerStart, headerEnd, headerMiddle, className, container } = props
|
|
|
|
|
|
|
|
|
|
return (
|
|
|
|
|
<header className={classNames('header', className)}>
|
2025-09-15 08:15:21 +00:00
|
|
|
<div className={classNames('header-wrapper', container && 'container mx-auto')}>
|
|
|
|
|
<div className="flex">{headerStart}</div>
|
2025-05-06 06:45:49 +00:00
|
|
|
{headerMiddle && <div className="header-action header-action-middle">{headerMiddle}</div>}
|
|
|
|
|
<div className="header-action header-action-end">{headerEnd}</div>
|
|
|
|
|
</div>
|
|
|
|
|
</header>
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default Header
|