/** * @file features/layout/components/header.tsx * @description 애플리케이션 상단 헤더 컴포넌트 */ import Link from "next/link"; import { User } from "@supabase/supabase-js"; import { AUTH_ROUTES } from "@/features/auth/constants"; import { UserMenu } from "@/features/layout/components/user-menu"; import { ThemeToggle } from "@/components/theme-toggle"; import { Button } from "@/components/ui/button"; import { SessionTimer } from "@/features/auth/components/session-timer"; import { cn } from "@/lib/utils"; import { Logo } from "@/features/layout/components/Logo"; import { MarketIndices } from "@/features/layout/components/market-indices"; interface HeaderProps { /** 현재 로그인 사용자 정보(null 가능) */ user: User | null; /** 대시보드 링크 버튼 노출 여부 */ showDashboardLink?: boolean; /** 홈 랜딩에서 배경과 자연스럽게 섞이는 헤더 모드 */ blendWithBackground?: boolean; } /** * 글로벌 헤더 컴포넌트 * @param user Supabase User 객체 * @param showDashboardLink 대시보드 버튼 노출 여부 * @param blendWithBackground 홈 랜딩 전용 반투명 모드 * @returns Header JSX * @see app/(home)/page.tsx 홈 랜딩에서 blendWithBackground=true로 호출 */ export function Header({ user, showDashboardLink = false, blendWithBackground = false, }: HeaderProps) { return (
{blendWithBackground && (
); }