Stacked Layout
FreeNew상하 2단 레이아웃 — 고정 상단(Top) + 본문(Content). 가장 단순한 페이지 셸.
Live preview
Code
"use client";
import * as React from "react";
/**
* Stacked Layout — 상하 2단 레이아웃 (바깥 레이아웃 셸).
*
* 구조:
* ┌──────────────┐
* │ Top │ ← 고정 상단 (헤더 / 액션 바)
* ├──────────────┤
* │ Content │ ← 본문 (스크롤)
* └──────────────┘
*
* 본문에 무엇이든 넣을 수 있는 셸. 여기선 placeholder 영역만 표시.
*/
function Region({
label,
className,
children,
}: {
label: string;
className?: string;
children?: React.ReactNode;
}) {
return (
<div
className={
"relative flex items-center justify-center border border-dashed border-border bg-muted/30 " +
(className ?? "")
}
>
<span className="absolute left-2 top-1.5 text-[10px] font-medium uppercase tracking-wider text-muted-foreground">
{label}
</span>
{children}
</div>
);
}
export function StackedLayoutTemplate() {
return (
<div className="flex h-[520px] w-full flex-col gap-3 p-4">
<Region label="Top" className="h-16 shrink-0" />
<Region label="Content" className="flex-1" />
</div>
);
}