# InsuRo 디자인 업그레이드 Phase 2 — P0 즉시 처리 6건

## 배경
task-1364.1 디자인 감사 결과, P0 우선순위 6건 (임팩트 높고 난이도 낮음)

## ⚠️ 절대 주의: premiumOnly 미완성 디자인 보존
premiumOnly 기능들의 "미완성" 시각적 처리는 맥스플랜 가입 유도 장치.
절대 건드리지 말 것. 개선 대상에서 제외.

## P0 작업 6건

### 1. 모바일 premiumOnly → UpgradeModal 연결
- 파일: `/home/jay/projects/InsuRo/src/components/navigation/MobileBottomNav.tsx:29-37`
- 현재: 모바일에서 premiumOnly 메뉴 클릭 시 UpgradeModal 미연결 → 전환 접점 상실
- 수정: premiumOnly 항목 클릭 시 UpgradeModal 트리거
- 임팩트: 5 / 난이도: 1

### 2. Intro.tsx Hero CTA 버튼 추가
- 파일: `/home/jay/projects/InsuRo/src/pages/Intro.tsx:94-114`
- 현재: 소개 페이지에 CTA 전무 → 이탈 유발
- 수정: "무료로 시작하기" 또는 "서비스 둘러보기" CTA 버튼 추가
- 임팩트: 4 / 난이도: 1

### 3. ErrorBoundary 추가
- 파일: `/home/jay/projects/InsuRo/src/App.tsx`
- 현재: JS 에러 시 White Screen → B2B 신뢰도 치명타
- 수정: React ErrorBoundary 컴포넌트 추가, 에러 발생 시 복구 UI 표시
- 임팩트: 5 / 난이도: 2

### 4. h1 크기 표준화
- 파일: `MarketNewsletter.tsx:130`, `PremiumComparison.tsx:224`
- 현재: h1이 `text-base`로 h2보다 작음 → 계층 역전
- 수정: `text-2xl font-bold`로 통일 (사실상 표준)
- 임팩트: 3 / 난이도: 1

### 5. CrmDashboard 로딩 → Skeleton 교체
- 파일: `CrmDashboard.tsx:190`
- 현재: "불러오는 중..." 텍스트 로딩
- 수정: Skeleton 컴포넌트로 교체
- 임팩트: 3 / 난이도: 1

### 6. Pricing.tsx bg-blue-500 → bg-primary
- 파일: `Pricing.tsx:218,368,373`
- 현재: `bg-blue-500` 하드코딩 (primary가 아님)
- 수정: `bg-primary`로 변경
- 임팩트: 2 / 난이도: 1

## 프로젝트 경로
- `/home/jay/projects/InsuRo/`

## 빌드 + 서버 재시작
- 수정 후: `cd /home/jay/projects/InsuRo && npm run build`
- 서버: `nohup npm exec vite preview -- --host 0.0.0.0 --port 5173 > /tmp/insuro-preview.log 2>&1 &`

## 테스트
- TypeScript 에러 없음 확인
- Vite 빌드 성공 확인
- 각 수정 항목 동작 확인

## 산출물
1. 6건 수정 완료
2. 빌드 + 서버 재시작
3. 보고서
