# InsuWiki Underline 버튼 미표시 근본 원인 디버그 + 수정

## 증상
EditorToolbar.tsx 264~268줄에 U 버튼 코드 존재, JS 번들에도 포함 확인됨. 그러나 브라우저에서 B, I, S만 보이고 U 버튼이 표시 안 됨.

## 근본 원인 추정 (우선순위 순)

### 추정 1: ToolbarButton 내부 can() 체크
ToolbarButton 컴포넌트가 `editor.can().toggleUnderline()` 같은 체크를 해서, 커맨드가 없으면 버튼 자체를 렌더링하지 않을 수 있음.
→ **확인**: `ToolbarButton` 컴포넌트 코드 읽기

### 추정 2: 확장명 불일치
- 확장 name: `underlineMarkdown`
- 커맨드: `toggleUnderline()` (TipTap extension-underline 기본 커맨드)
- StarterKit에서 `underline: false`로 비활성화하면 `toggleUnderline` 커맨드 자체가 사라질 수 있음
→ **수정**: UnderlineMarkdown 확장에서 직접 `toggleUnderline` 커맨드를 재정의하거나, 확장 name을 `underline`으로 변경

### 추정 3: StarterKit underline: false 부작용
task-1352.1에서 StarterKit.configure({ underline: false })를 추가했는데, 이게 기본 underline 확장의 커맨드/키보드 단축키까지 제거했을 수 있음
→ **수정**: StarterKit에서 underline 관련 설정 제거하고, 커스텀 UnderlineMarkdown만 사용

## 작업

### 1. ToolbarButton 컴포넌트 분석
- `nextapp/src/components/` 또는 `nextapp/src/components/ui/` 에서 ToolbarButton 찾기
- 내부에 can() 체크, 조건부 렌더링 있는지 확인

### 2. TipTap 확장 커맨드 체크
- UnderlineMarkdown.ts에서 `addCommands()`가 올바르게 정의되어 있는지 확인
- `toggleUnderline` 커맨드가 실제로 등록되는지 확인
- 필요시 확장 name을 `underline`으로 변경하여 TipTap 기본 커맨드와 일치시키기

### 3. StarterKit 설정 검토
- `ReflectEditor.tsx` (또는 에디터 설정 파일)에서 StarterKit 설정 확인
- `underline: false`가 커맨드를 제거하는지 확인
- 필요시 설정 수정

### 4. 수정 후 검증
- dev 서버 재시작
- webapp-testing 스킬로 에디터 페이지 접속 시도
  - 로그인 없이 접근 가능한 페이지가 있으면 거기서 확인
  - 불가하면 React DevTools 방식으로 컴포넌트 트리 검증
- 컴파일된 번들에서 U 버튼 관련 조건부 렌더링 코드 grep

### 5. 테스트
- `cd /home/jay/projects/insuwiki/nextapp && npm run build` 성공 확인
- grep으로 U 버튼 코드가 번들에 포함되었는지 확인

## 대상 프로젝트
- `/home/jay/projects/insuwiki/`
- 핵심 파일:
  - `nextapp/src/components/EditorToolbar.tsx` (U 버튼)
  - `nextapp/src/lib/tiptap/UnderlineMarkdown.ts` (확장)
  - `nextapp/src/components/ReflectEditor.tsx` (에디터 설정, StarterKit)
  - ToolbarButton 컴포넌트 (위치 찾아야 함)
