# InsuWiki: TOC 더블클릭 문제 재수정

## 문제 현황
이전에 TOC 관련 버그 5건을 수정했으나 (task-535.1 + Lv.0 fix), **여전히 TOC 항목을 더블클릭해야 본문으로 이동하는 문제가 남아있다.**

## 이전 수정 내역 (참고)
1. ID 생성 일관성: forEach index → text+level 기반 (TableOfContents.tsx + DocumentClient.tsx)
2. scroll-mt-4 → scroll-mt-32 (128px, 고정 헤더 100px 초과)
3. html { scroll-padding-top: 8rem; } 추가
4. IntersectionObserver root: document.getElementById('scroll-container') 추가
5. scrollIntoView({ block: 'start' }) → behavior: 'smooth' 유지

## 재점검 필요 항목

### A. 클릭 이벤트 핸들러 점검
- TOC 항목의 onClick 핸들러가 정상 작동하는지 확인
- 이벤트 버블링/캡처링 문제는 없는지
- preventDefault/stopPropagation이 잘못 사용되고 있는지
- a 태그의 href="#id" vs onClick의 scrollIntoView 충돌 가능성

### B. ID 매칭 재점검
- TOC에서 생성하는 ID와 DocumentClient에서 생성하는 ID가 **정확히** 일치하는지
- 특수문자, 한글, 공백 처리가 양쪽에서 동일한지
- 실제 DOM에서 ID 검증 (document.getElementById(targetId)가 null인 경우가 있는지)

### C. 스크롤 컨테이너 점검
- scroll-container div 내에서 scrollIntoView가 정상 작동하는지
- window.scrollTo vs element.scrollIntoView vs container.scrollTo 차이
- 페이지 구조: h-[100dvh] overflow-hidden → scroll-container가 실제 스크롤

### D. 더블클릭 원인 가설
1. **첫 클릭: activeId 변경 → 리렌더 → 스크롤 취소** 가능성
2. **IntersectionObserver가 스크롤 중 activeId를 다시 변경** → 목표 위치에서 벗어남
3. **CSS transition이 스크롤 애니메이션과 충돌**
4. **href="#"이 페이지 상단으로 이동 → onClick이 다시 목표로 이동** (두 번 필요)

## 수정 방법
1. Playwright로 실제 동작 캡처 (스크린샷 + 로그)
2. 원인 특정
3. 수정
4. 빌드 검증

## 프로젝트 경로
- `/home/jay/projects/insuwiki/nextapp/`
- 핵심 파일: `src/components/TableOfContents.tsx`, `src/app/docs/[id]/DocumentClient.tsx`
- CSS: `src/app/globals.css`
- 프레임워크: Next.js (App Router)