# IR Deck 평가 페이지별 내용 표시 안됨 **날짜**: 2025-12-01 **작성자**: Auto **관련 파일**: - `frontend-ir-valuation/src/pages/ir-valuation.tsx` - `rb8001/app/services/ir_deck_analyzer.py` --- ## 문제 상황 평가 결과에서 종합 점수와 등급은 표시되지만, 페이지별 평가 내용(강점/약점)이 표시되지 않음. **증상**: - "1. 페이지별 잘된 점 / 아쉬운 점" 섹션 제목만 표시 - "아래는 핵심 페이지 중심으로 평가했습니다." 설명만 표시 - 실제 페이지별 평가 내용(페이지 번호, 강점, 약점, 점수) 없음 ## 원인 분석 ### 가능한 원인 1. **백엔드 데이터 문제**: `page_evaluations` 배열이 비어 있거나 누락 2. **프론트엔드 렌더링 문제**: `formatEvaluationResult()` 함수가 빈 배열 처리 미흡 3. **데이터 구조 불일치**: 백엔드 응답과 프론트엔드 기대 형식 불일치 4. **프론트엔드 런타임 에러**: `result.page_evaluations`가 `undefined`/null/비배열인 상태에서 `.map()` 호출로 `TypeError` 발생 ### 확인 필요 - 백엔드 응답에 `page_evaluations` 배열 포함 여부 및 타입 (`Array` 여부) - `ir-valuation.tsx:335-381`의 `formatEvaluationResult()` 함수 로직 - `ir-valuation.tsx:220-247`의 `page_evaluations` 매핑 코드에서 방어적 처리 여부 - 참고: `DOCS/journey/troubleshooting/251202_ir_valuation_gateway_timeout_and_frontend_fallback.md` ## 해결 방안 ### 1. 백엔드 응답 확인 - `/rb8001/api/ir-deck/evaluation/{evaluation_id}` 응답 구조 확인 - `page_evaluations` 배열이 실제로 포함되어 있는지 검증 ### 2. 프론트엔드 처리 개선 - `ir-valuation.tsx:220-247`: `Array.isArray(result.page_evaluations)`로 타입 검증 후 map 수행, 누락/잘못된 타입인 경우 경고 로그만 남기고 빈 배열로 처리 - `ir-valuation.tsx:335-381`: 빈 배열일 때 안내 메시지 또는 최소한의 기본 문구 표시 ## 교훈 - 평가 결과 표시 전 백엔드 응답 구조 검증 필수 - 빈 배열/누락 데이터에 대한 폴백 처리 필요 - 사용자에게 명확한 안내 메시지 제공