import type { RenderJobDto } from '../../api/types';

/*
 * Degraded 샘플 갤러리 — render-jobs 목록 501(NOT_IMPLEMENTED) 시 시연용.
 * ★ Stitch visualization_gallery 번들 이미지(public/mock)를 DONE 샷에 배선.
 *   워터마크·고지 상시 유지. 실 render-jobs API 연결 시 대체.
 */
const WATERMARK = 'AI 생성 예상 이미지 — 실제 시공 결과와 다를 수 있습니다';
const NOTICE = 'AI 생성 이미지는 계약·심사 서류에 사용할 수 없습니다 — 시공 기준은 도면입니다';
const G = `${import.meta.env.BASE_URL}mock/visualization_gallery`;

const SHOTS: { preset: string; status: RenderJobDto['status']; img?: string }[] = [
  { preset: 'S1', status: 'DONE', img: `${G}/img1.jpg` },
  { preset: 'S2', status: 'DONE', img: `${G}/img2.jpg` },
  { preset: 'S3', status: 'RUNNING' },
  { preset: 'S4', status: 'DONE', img: `${G}/img3.jpg` },
  { preset: 'S5', status: 'DONE', img: `${G}/img4.jpg` },
  { preset: 'S6', status: 'DONE', img: `${G}/img5.jpg` },
  { preset: 'S7', status: 'FAILED' },
];

export function sampleGallery(boothId: string): RenderJobDto[] {
  return SHOTS.map((s, i) => ({
    jobId: `sample-job-${i}`,
    boothId: boothId || 'b-102',
    shotPreset: s.preset,
    status: s.status,
    imageUrl: s.img ?? null,
    schemaHash: s.status === 'DONE' ? `sha256:sample${i}` : null,
    modelVersion: s.status === 'DONE' ? 'gemini-3.1-flash-image-preview' : null,
    watermarkRequired: true,
    watermarkText: WATERMARK,
    notice: NOTICE,
    errorMessage: s.status === 'FAILED' ? '생성 실패 — 다시 시도해 주세요.' : null,
    createdAt: new Date(Date.now() - i * 3600_000).toISOString(),
  }));
}
