# 대시보드 InsuWiki 탭 UI

## 작업 개요
대시보드에 InsuWiki 위키 관리 탭을 추가한다.
카카오톡 오픈채팅에서 추출한 보험 지식을 조회/검색/승인/편집할 수 있는 관리 UI.

## 참조
- 위키 API: `/api/wiki/entries`, `/api/wiki/search`, `/api/wiki/stats` (task-1522.1에서 구현 예정)
- 기존 대시보드: `/home/jay/workspace/dashboard/`
- 기존 탭 구조 참고: `components/ProjectView.js`, `components/CampaignView.js`

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

## 구현 요구사항

### 1. InsuWikiView.js — 메인 컴포넌트

#### 상단 영역: 통계 카드
- 총 항목 수 / 승인 / 미승인 / 카테고리별 분포
- `/api/wiki/stats` 호출

#### 검색 영역
- 검색 입력란 + 검색 버튼
- 카테고리 필터 (전체/보상/고지의무/약관/상품/기타)
- 상태 필터 (전체/draft/approved/rejected)
- `/api/wiki/search?q=...` 또는 `/api/wiki/entries?category=...&status=...` 호출

#### 목록 영역
- 테이블 형태:  ID | 제목 | 카테고리 | 전문가 | 날짜 | 상태 | 액션
- 페이지네이션 (50개씩)
- 행 클릭 시 상세 보기 열기

#### 상세/편집 모달
- 제목, 카테고리, 질문, 답변, 키워드, 전문가, 출처 정보 표시
- 편집 가능 (제목, 답변, 키워드 수정)
- 승인/반려 버튼
- 원본 대화 스레드 펼치기 (raw_thread)

### 2. index.html 수정
- InsuWikiView.js script 태그 추가
- 탭 네비게이션에 "InsuWiki" 탭 추가

### 3. server.py 수정
- wiki_api.py의 APIRouter 마운트
- 단, wiki_api.py가 아직 없을 경우 → 목업 데이터로 동작하도록 폴백 구현
  - `/home/jay/projects/insuwiki/scripts/kakao_knowledge/wiki_entries.json`을 직접 읽어서 반환

### 4. 디자인 원칙
- 기존 대시보드 스타일과 통일 (다크 모드, 기존 CSS 변수 사용)
- 반응형
- 로딩 스피너, 에러 핸들링

## 완료 기준
1. 대시보드에 InsuWiki 탭 표시
2. 통계, 목록, 검색, 상세 보기 동작
3. 승인/반려 기능 동작
4. 기존 탭(프로젝트뷰, 캠페인뷰 등) 영향 없음
5. pyright 에러 0건