From acbd61e25aaa700efa1e25cbae36d2174c2fb746 Mon Sep 17 00:00:00 2001 From: johngreen Date: Wed, 13 May 2026 09:41:42 +0900 Subject: [PATCH] =?UTF-8?q?fix(=EB=B0=98=EC=9D=91=ED=98=95):=20=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=80=EB=84=A4=EC=9D=B4=EC=85=98=20=EC=9E=98?= =?UTF-8?q?=EB=A6=BC=20=E2=80=94=20viewport=20=ED=95=98=EB=93=9C=EC=BD=94?= =?UTF-8?q?=EB=94=A9=20=E2=86=92=20flex-1=20min-h-0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 기존: scrollContainer 모드의 max-h-[calc(100vh-280px)] 가 viewport 기준 하드코딩이라 페이지 헤더+툴바 합산이 280px 보다 클 때 카드 영역이 viewport 끝까지 차지 → 페이지네이션이 부모 overflow-hidden 에 잘림. 신: outer wrapper 에 flex flex-col min-h-0 flex-1, 내부 테이블/카드에 min-h-0 flex-1 overflow-y-auto. 부모 flex-col 의 남는 공간만 차지 → 페이지네이션 등 형제는 자기 자연 height 유지. 로딩 스켈레톤 동일 패턴 적용. --- .../components/common/ResponsiveDataView.tsx | 29 ++++++++++++------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/frontend/components/common/ResponsiveDataView.tsx b/frontend/components/common/ResponsiveDataView.tsx index 72f88092..3cd8f723 100644 --- a/frontend/components/common/ResponsiveDataView.tsx +++ b/frontend/components/common/ResponsiveDataView.tsx @@ -110,11 +110,17 @@ export function ResponsiveDataView({ // --- 로딩 스켈레톤 --- if (isLoading) { return ( -
+
{/* 데스크톱 테이블 스켈레톤 */}
@@ -167,7 +173,7 @@ export function ResponsiveDataView({
@@ -217,15 +223,19 @@ export function ResponsiveDataView({ // 부모 wrapper 가 @container — 자식들은 viewport 가 아닌 자기 컨테이너 width 기준으로 분기. // 사이드바 펼친 상태에서도 콘텐츠 영역 실제 width 에 맞게 자연스럽게 테이블↔카드 전환. return ( -
+
{/* 데스크톱 테이블 (컨테이너 ≥ 48rem / 768px) */}
@@ -290,9 +300,8 @@ export function ResponsiveDataView({