36 lines
1.1 KiB
TypeScript
36 lines
1.1 KiB
TypeScript
import { Logo } from "./Logo";
|
|
import { SideMenu } from "./SideMenu";
|
|
import { UserDropdown } from "./UserDropdown";
|
|
|
|
interface MainHeaderProps {
|
|
user: any;
|
|
onSidebarToggle: () => void;
|
|
onProfileClick: () => void;
|
|
onLogout: () => void;
|
|
}
|
|
|
|
/**
|
|
* 메인 헤더 컴포넌트
|
|
*/
|
|
export function MainHeader({ user, onSidebarToggle, onProfileClick, onLogout }: MainHeaderProps) {
|
|
return (
|
|
<header className="bg-background/95 fixed top-0 z-50 h-14 min-h-14 w-full flex-shrink-0 border-b backdrop-blur">
|
|
<div className="flex h-full w-full items-center justify-between px-6">
|
|
{/* Left side - Side Menu + Logo */}
|
|
<div className="flex h-8 items-center gap-2">
|
|
{/* 햄버거 메뉴 버튼 - 1024px 미만에서 표시 */}
|
|
<div className="lg:hidden">
|
|
<SideMenu onSidebarToggle={onSidebarToggle} />
|
|
</div>
|
|
<Logo />
|
|
</div>
|
|
|
|
{/* Right side - Admin Button + User Menu */}
|
|
<div className="flex h-8 items-center gap-2">
|
|
<UserDropdown user={user} onProfileClick={onProfileClick} onLogout={onLogout} />
|
|
</div>
|
|
</div>
|
|
</header>
|
|
);
|
|
}
|