diff --git a/.cursor/rules/scroll-debugging-guide.mdc b/.cursor/rules/scroll-debugging-guide.mdc new file mode 100644 index 00000000..efbd110d --- /dev/null +++ b/.cursor/rules/scroll-debugging-guide.mdc @@ -0,0 +1,471 @@ +--- +description: 스크롤 문제 디버깅 및 해결 가이드 - Flexbox 레이아웃에서 스크롤이 작동하지 않을 때 체계적인 진단과 해결 방법 +--- + +# 스크롤 문제 디버깅 및 해결 가이드 + +React/Next.js 프로젝트에서 Flexbox 레이아웃의 스크롤이 작동하지 않을 때 사용하는 체계적인 디버깅 및 해결 방법입니다. + +## 1. 스크롤 문제의 일반적인 원인 + +### 근본 원인: Flexbox의 높이 계산 실패 + +Flexbox 레이아웃에서 스크롤이 작동하지 않는 이유: + +1. **부모 컨테이너의 높이가 확정되지 않음**: `h-full`은 부모가 명시적인 높이를 가져야만 작동 +2. **`minHeight: auto` 기본값**: Flex item은 콘텐츠 크기만큼 늘어나려고 함 +3. **`overflow` 속성 누락**: 부모가 `overflow: hidden`이 없으면 자식이 부모를 밀어냄 +4. **`display: flex` 누락**: Flex container가 명시적으로 선언되지 않음 + +## 2. 디버깅 프로세스 + +### 단계 1: 시각적 디버깅 (컬러 테두리) + +문제가 발생한 컴포넌트에 **컬러 테두리**를 추가하여 각 레이어의 실제 크기를 확인: + +```tsx +// 최상위 컨테이너 (빨간색) +
+ {validation.message} +
+ {validation.affectedNodes && validation.affectedNodes.length > 1 && ( ++ {summary.hasBlockingIssues + ? "⛔ 오류를 해결해야 저장할 수 있습니다" + : summary.warningCount > 0 + ? "⚠️ 경고 사항을 확인하세요" + : "ℹ️ 정보를 확인하세요"} +
+문제 없음
++ 플로우에 문제가 발견되지 않았습니다 +
++ ⛔ 오류를 해결해야 저장할 수 있습니다 +
+ )} +- 총 {stepData.length}건의 데이터 - {selectedRows.size > 0 && ( - ({selectedRows.size}건 선택됨) - )} -
-+ 총 {stepData.length}건의 데이터 + {selectedRows.size > 0 && ( + ({selectedRows.size}건 선택됨) + )} +