- KPIDashboard / PlanCTA: 단일 다운로드 버튼 → DropdownMenu(PDF로 저장 / CSV로 저장)
- useExportPlanCSV / useExportCSV: '=== Section ===' 헤더 → 빈 행 + 섹션 제목 행 구분
(Excel/Numbers 에서 자연스럽게 보이도록)
- 캘린더 dayOfWeek 인덱스(0~6) → 한글 요일(월~일) 출력
- @media print 규칙에 Radix popper / role=menu·dialog·tooltip 숨김 추가
→ '리포트/플랜 다운로드' 드롭다운이 열린 채 window.print() 호출돼도 캡처에서 제외
- PLAN_SECTIONS 에서 workflow-tracker(제작 파이프라인) 주석 처리
- BrandingGuide: BrandAppliedPreview ('Brand in Action') 렌더링·import 주석처리
- ClinicSnapshot: '인증 및 자격' chip 을 원본 디자인(흰색 단순 chip, BadgeCheck 아이콘 제거)으로 복원
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- orval SDK 재생성:
· generated/plans → generated/plan, generated/reports → generated/report
· planOutput → planApiResponse (clinicName/clinicNameEn/screenshots 등 메타 포함)
· reportOutput → marketingReportResponse (clinicSnapshot 등 풍부한 스키마 복원)
· clinicSnapshot, screenshotEvidence, transformationProposal, websiteAudit 등 모델 신설
· clinicListResponse, fileUploadResponse 등 운영/업로드 모델 신설
- useMarketingPlan / useReport: SDK 응답을 사실상 그대로 패스스루 (메타 매핑 단순화)
- transformReport: 신 SDK 모델 시그니처 반영
- plan 페이지 통합: GuestPlanPage + UserPlanPage → 단일 PlanPage 로 합치고 routes 갱신
- dev 페이지 (ClinicsPage / routes) 갱신
- MyAssetUpload 컴포넌트 + constants 업데이트
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Guest/User × Plan/Report 4개 페이지 상단 ReportNav 의 leftSlot('클리닉으로')과
rightSlot 의 다운로드 메뉴 버튼 제거. UserReportPage 의 '다시 분석' 버튼은 유지.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
a294637 에서 개발 편의용으로 들어간 DEFAULT_URLS (뷰성형외과 URL 사전 채움)
를 EMPTY_URLS 로 복원. 운영 빌드에 특정 병원 URL 이 노출되지 않도록.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- DEMO_PLANS / DEMO_REPORTS / DEMO_HANDLES 분기 제거
- mockPlan_* / mockReport_* import 제거 (데이터 파일 자체는 유지)
- nav state 의 report / metadata 의존 경로 제거
- createdAt 의 `new Date().toISOString()` fallback 제거 (백엔드 응답 없으면 빈 문자열)
- clinicName / targetUrl 등 메타도 nav state 우회 제거
새로고침·북마크·직접 URL 진입에서도 동일하게 동작하도록 API 응답에만 의존.
백엔드 응답에 메타 필드 없으면 빈 칸으로 표시됨 (백엔드 측 수정 필요).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
useMarketingPlan 이 getReport(id) + transformReportToPlan 으로 우회하던 코드를
getPlan(id) 직접 호출로 변경. PlanOutput 에 없는 메타 필드(id/clinicName/
targetUrl/createdAt 등)는 nav state metadata 또는 빈 값으로 채움.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
GET /api/clinics 응답을 표로 보는 dev 전용 페이지 추가.
/dev/* 경로 전체를 DevOnly layout route 로 감싸 로컬호스트
(localhost/127.0.0.1/0.0.0.0/::1) 외 도메인에선 자동으로
루트로 리다이렉트.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
api.ts 가 orval mutator 로 esbuild 에 의해 cjs 번들될 때 `import.meta` 가
빈 객체로 처리되어 SDK 재생성 로그에 경고가 계속 떴음. vite `define` 으로
빌드 타임에 글로벌 상수로 치환하는 방식으로 우회.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>