# task: 대시보드 보고서 뷰어 — 이미지 파일 인라인 미리보기

## 배경
대시보드 기록 탭에서 보고서를 볼 때, 이미지 파일 경로(.png/.jpg 등)가 클릭 가능한 링크로만 표시됨.
제이회장님 요청: 이미지 파일 경로의 경우 **클릭 없이 바로 미리보기**가 보이도록 개선.

## 수정 사항

### dashboard/components/utils.js — FileViewerModal 또는 보고서 렌더링 부분
현재: 이미지 경로 → 클릭 가능한 텍스트 링크
변경: 이미지 경로 → 텍스트 링크 + **바로 아래에 `<img>` 태그로 미리보기 표시**

구현 방법:
1. 보고서 마크다운 렌더링 시 파일 경로 패턴 감지 (`.png`, `.jpg`, `.jpeg`, `.gif`, `.webp`)
2. 이미지 경로 감지 시 `/api/file?path=...` 엔드포인트로 자동 fetch
3. 응답(base64)을 `<img src="data:image/png;base64,..." />` 로 인라인 렌더링
4. 이미지 크기: `max-width: 100%`, `max-height: 300px` 정도로 제한 (썸네일 수준)
5. 로딩 중에는 스켈레톤/스피너 표시
6. 로딩 실패 시 기존처럼 클릭 링크만 표시 (graceful degradation)

### 성능 고려
- 보고서에 이미지 경로가 20개 있으면 20개 동시 fetch → **Intersection Observer** 사용하여 뷰포트에 보일 때만 lazy load
- 또는 최초 5개만 로드하고 나머지는 스크롤 시 로드

### 적용 범위
- 기록 탭(ArchiveView)의 보고서 마크다운 렌더링에만 적용
- FileViewerModal(클릭 시 전체화면 뷰)는 기존 유지

## 테스트
- task-1224.1 보고서 열기 → 20개 이미지 미리보기가 인라인으로 표시되는지 확인
- 스크롤 시 lazy load 동작 확인
- 이미지 로딩 실패 시 링크만 표시되는지 확인

## 참고
- `/api/file` 엔드포인트가 이미지를 base64 JSON으로 응답 (이미 구현됨)
- `/home/jay/projects/` 경로도 접근 가능 (task-1191.1에서 수정 완료)
