import { ReactNode } from "react"; import { ChevronDown, ChevronUp } from "lucide-react"; import { Button } from "@/components/ui/button"; import { cn } from "@/lib/utils"; interface DashboardLayoutProps { header: ReactNode; chart: ReactNode; orderBook: ReactNode; orderForm: ReactNode; isChartVisible: boolean; onToggleChart: () => void; className?: string; } /** * @description 트레이드 본문 레이아웃을 구성합니다. 상단 차트 영역은 보임/숨김 토글을 지원합니다. * @see features/trade/components/layout/TradeDashboardContent.tsx 상위 컴포넌트에서 차트 토글 상태를 관리하고 본 레이아웃에 전달합니다. */ export function DashboardLayout({ header, chart, orderBook, orderForm, isChartVisible, onToggleChart, className, }: DashboardLayoutProps) { return (
{/* 1. Header Area */}
{header}
{/* 2. Main Content Area */}
{/* ========== CHART SECTION ========== */}

실시간 차트

거래 화면 집중을 위해 기본은 접힌 상태입니다.

{/* UI 흐름: 차트 토글 버튼 -> onToggleChart 호출 -> TradeDashboardContent의 상태 변경 -> 차트 wrapper 높이 반영 */}
{chart}
{/* ========== ORDERBOOK + ORDER SECTION ========== */}
{orderBook}
{orderForm}
); }