# 대시보드 InsuWiki 탭 UI 개선: 업로드 + 정제 + Sync

## 작업 개요
대시보드 InsuWiki 탭에 3가지 기능 UI를 추가한다:
1. 카카오톡 txt 파일 업로드
2. LLM 정제 실행 버튼
3. Firestore Sync 버튼 (승인된 항목만)

## 산출물 위치
`/home/jay/workspace/dashboard/components/InsuWikiView.js` 수정

## 참조
- 현재 InsuWikiView.js: 이미 통계/검색/목록/상세 모달 구현됨
- 백엔드 API (3팀이 병렬 구현 중):
  - POST /api/wiki/upload — txt 업로드 (multipart/form-data)
  - POST /api/wiki/refine — 미정제 항목 일괄 정제
  - POST /api/wiki/sync-firestore — 승인 항목 Firestore sync

## 구현 요구사항

### 1. 상단 액션 영역 (통계 카드 아래)

3개 버튼을 가로로 배치:

#### 📤 "txt 업로드" 버튼
- 클릭 시 파일 선택 다이얼로그 (accept=".txt")
- 파일 선택 후 `/api/wiki/upload`로 POST
- 업로드 중 로딩 스피너 + "파싱 및 정제 중..." 표시 (시간 걸릴 수 있음)
- 완료 시: "신규 23건 추가, 중복 5건 스킵, 노이즈 12건 필터링" 알림
- 완료 후 목록 자동 새로고침

#### ✨ "미정제 항목 정제" 버튼
- 미정제 항목 수 표시 (예: "미정제 95건")
- 클릭 시 `/api/wiki/refine`으로 POST
- 진행 중 로딩 + "50건 정제 중..." 표시
- 완료 시: "50건 정제 완료, 남은 45건" 알림
- 반복 클릭으로 나머지 정제 가능
- 완료 후 목록 자동 새로고침

#### 🔄 "InsuWiki Sync" 버튼
- 승인된 항목 중 미sync 항목 수 표시 (예: "승인 미sync 15건")
- 클릭 시 `/api/wiki/sync-firestore`로 POST
- 완료 시: "15건 InsuWiki 반영 완료" 알림
- synced 상태인 항목은 목록에서 "✅ 반영됨" 뱃지 표시

### 2. 목록 테이블 개선
- 상태 컬럼에 synced 여부 추가:
  - draft: "미승인" (회색)
  - approved + not synced: "승인" (파랑)
  - approved + synced: "반영됨" (초록)
  - rejected: "반려" (빨강)
- 제목이 `#궁금증`으로 시작하면 "미정제" 뱃지 표시 (주황)

### 3. 통계 카드 개선
- 기존: 총 항목 / 승인 / 미승인 / 반려
- 추가: 미정제 수 / InsuWiki 반영 수

### 4. API 미구현 대비 폴백
- 백엔드 API가 아직 없을 수 있으므로, 404 응답 시 "API 준비 중" 알림 표시
- UI 자체는 정상 렌더링되어야 함

## 디자인 원칙
- 기존 대시보드 다크모드 스타일 유지
- 버튼: 기존 파란 버튼 스타일 통일
- 알림: 상단 toast 형태 (3초 후 자동 사라짐)
- 로딩: 버튼 내 스피너 + disabled

## 완료 기준
1. txt 업로드 버튼 동작 (파일 선택 → API 호출 → 결과 표시)
2. 정제 버튼 동작 (API 호출 → 결과 표시)
3. Sync 버튼 동작 (API 호출 → 결과 표시)
4. 목록에 synced/미정제 상태 표시
5. 기존 기능(검색/상세/승인) 영향 없음
6. pyright 에러 0건