# 대시보드 캠페인뷰 구조 변경

## 작업 개요
1. 배너비교를 메인 탭에서 제거하고 캠페인뷰 내부 섹션으로 이동
2. 캠페인뷰에 4개 섹션 구성
3. 모든 섹션을 독립 컴포넌트로 모듈화

## 캠페인뷰 4개 섹션

### 1. "캠페인 현황" (기존 캠페인뷰 내용)
- 현재 CampaignView.js의 기존 콘텐츠 유지
- 독립 컴포넌트로 분리: `CampaignStatusSection.js`

### 2. "배너비교" (메인 탭에서 이동)
- 현재 `BannerCompareView.js` 를 캠페인뷰 내부 섹션으로 이동
- 기존 기능 100% 유지 (3버전 비교, 셀별 선택, DQ 점수 크기별 표시)
- 메인 탭 목록에서 "배너비교" 제거
- 독립 컴포넌트 유지: `BannerCompareSection.js` (기존 BannerCompareView.js 리네임 또는 래핑)

### 3. "최종승인"
- 배너비교에서 선택된 최종 셀 조합 표시
- 승인 상태 관리 (미승인/승인/반려)
- 독립 컴포넌트: `FinalApprovalSection.js`
- 데이터: `banner-versions.json`의 selections 필드 참조
- 우선 UI 골격만 구현 (실 데이터 연동은 추후)

### 4. "메타광고현황"
- Meta Ads API 연동 후 실시간 광고 성과 표시 예정
- 독립 컴포넌트: `MetaAdsSection.js`
- **우선 UI 골격만 구현** (플레이스홀더)
  - 캠페인 목록 테이블 레이아웃
  - 지출/도달/클릭/CTR 카드 레이아웃
  - "API 연결 대기 중" 안내 메시지
- task-1488.1(Meta Ads API 모듈) 완료 후 실 데이터 연동

## 모듈화 요구사항 (★ 필수)

### 컴포넌트 분리
- 각 섹션을 독립 `.js` 파일로 분리
- `dashboard/components/campaign/` 디렉토리에 배치:
  ```
  dashboard/components/campaign/
    CampaignStatusSection.js
    BannerCompareSection.js
    FinalApprovalSection.js
    MetaAdsSection.js
  ```
- 각 섹션은 독립적으로 로드/렌더링 가능해야 함

### 설정 관리
- 섹션 구성을 config에서 관리 (하드코딩 금지)
- `dashboard/data/campaign-sections.json` 또는 기존 config 시스템에 등록:
  ```json
  {
    "sections": [
      {"id": "status", "label": "캠페인 현황", "component": "CampaignStatusSection", "enabled": true},
      {"id": "banner-compare", "label": "배너비교", "component": "BannerCompareSection", "enabled": true},
      {"id": "approval", "label": "최종승인", "component": "FinalApprovalSection", "enabled": true},
      {"id": "meta-ads", "label": "메타광고현황", "component": "MetaAdsSection", "enabled": true}
    ]
  }
  ```
- 섹션 추가/제거/순서 변경이 config 수정만으로 가능하도록

### 탭 전환 UI
- 캠페인뷰 상단에 섹션 탭 네비게이션 (4개 탭)
- 탭 전환 시 해당 섹션만 렌더링
- 활성 탭 시각적 표시

## 파일 목록
- `/home/jay/workspace/dashboard/index.html` — 메인 탭에서 배너비교 제거
- `/home/jay/workspace/dashboard/components/BannerCompareView.js` — 섹션으로 래핑
- `/home/jay/workspace/dashboard/components/CampaignView.js` — 4섹션 탭 구조로 변경
- `/home/jay/workspace/dashboard/server.py` — API 엔드포인트 확인
- `/home/jay/workspace/dashboard/data/banner-versions.json` — selections 데이터 참조
- `/home/jay/workspace/config/module-registry.json` — 새 컴포넌트 등록

## 완료 기준
- 메인 탭에서 배너비교 사라짐
- 캠페인뷰에 4개 섹션 탭 정상 동작
- 배너비교 기능 100% 유지
- 각 섹션 독립 컴포넌트로 분리
- config 기반 섹션 관리
- 메타광고현황은 플레이스홀더 UI