/*
 * SCR-33 EDM·캠페인 · SCR-34 스폰서십 샘플 데이터 (M12).
 * ★ M12 백엔드 실구현 완료(marketingApi 실배선 — 캠페인 상태 전이까지). 화면은 정상 경로에서 실 API 를 소비하며, 본 데이터는 강등 시 폴백이다. (실 이메일 발송은 SMTP 연동 후속 — G-04.)
 * ★ 세그먼트 규모는 M10 관람객 데이터 파생 가정치이며 실제 개인정보는 포함하지 않는다(N2).
 */

// ── 공통 KPI ──
export interface MktKpi {
  label: string;
  value: string;
  unit?: string;
  hint?: string;
  tone?: 'primary' | 'ai' | 'success' | 'warning';
}

// ── SCR-33 EDM·캠페인 ──

export const CAMPAIGN_KPIS: MktKpi[] = [
  { label: '전체 발송', value: '24,000', unit: '건', hint: '지난달 대비 +12%', tone: 'primary' },
  { label: '오픈율', value: '38', unit: '%', hint: '산업군 평균 상회', tone: 'ai' },
  { label: '클릭율', value: '9', unit: '%', hint: '유지 중', tone: 'success' },
  { label: '등록 전환', value: '1,240', unit: '명', hint: '목표 달성 82%', tone: 'warning' },
];

export type CampaignStatus = 'draft' | 'scheduled' | 'sending' | 'done';

export interface Campaign {
  id: string;
  name: string;
  status: CampaignStatus;
  audience: number;
  meta: string;
  openRate: string;
  clickRate: string;
}

export const CAMPAIGNS: Campaign[] = [
  {
    id: 'c1',
    name: '2026 스마트팩토리 사전등록 안내',
    status: 'draft',
    audience: 5200,
    meta: '최종 수정: 2시간 전',
    openRate: '-',
    clickRate: '-',
  },
  {
    id: 'c2',
    name: 'VIP 바이어 네트워킹 데이 초대권',
    status: 'scheduled',
    audience: 850,
    meta: '발송 예정: 2026.11.20 10:00',
    openRate: '24% (예상)',
    clickRate: '5% (예상)',
  },
  {
    id: 'c3',
    name: '글로벌 테크 트렌드 리포트 (Vol. 12)',
    status: 'sending',
    audience: 12000,
    meta: '진행률: 68% (8,160건 완료)',
    openRate: '42.5%',
    clickRate: '11.2%',
  },
  {
    id: 'c4',
    name: 'KINTEX 추석 연휴 휴관 및 일정 안내',
    status: 'done',
    audience: 45000,
    meta: '완료일: 2026.09.12',
    openRate: '31.8%',
    clickRate: '2.4%',
  },
];

export const CAMPAIGN_STATUS_LABEL: Record<CampaignStatus, string> = {
  draft: '초안',
  scheduled: '예약',
  sending: '발송중',
  done: '완료',
};

export interface Segment {
  id: string;
  label: string;
  count: number;
  defaultOn: boolean;
}

export const SEGMENTS: Segment[] = [
  { id: 'prereg', label: '사전등록자', count: 3240, defaultOn: true },
  { id: 'past', label: '과거 관람객', count: 12500, defaultOn: false },
  { id: 'buyer', label: '바이어 리스트', count: 1820, defaultOn: false },
];

// ── SCR-34 스폰서십 ──

export const SPONSOR_KPIS: MktKpi[] = [
  { label: '스폰서', value: '18', unit: '사', tone: 'primary' },
  { label: '판매액', value: '₩420.0M', tone: 'primary' },
  { label: '잔여 패키지', value: '6', unit: '개', tone: 'ai' },
  { label: '이행물 진행', value: '72', unit: '%', tone: 'success' },
];

export type TierStatus = 'available' | 'soldout';

export interface SponsorTier {
  id: string;
  name: string;
  nameKo: string;
  price: string;
  accent: string;
  benefits: string[];
  remaining: number;
  status: TierStatus;
  dday?: number;
}

export const SPONSOR_TIERS: SponsorTier[] = [
  {
    id: 'diamond',
    name: 'DIAMOND',
    nameKo: '다이아몬드',
    price: '₩50,000,000',
    accent: '#B8860B',
    benefits: ['메인 로고 노출 (온·오프라인)', '전시 부스 100㎡ (최우선 배정)', '연사 세션 2회 부여'],
    remaining: 1,
    status: 'available',
    dday: 12,
  },
  {
    id: 'gold',
    name: 'GOLD',
    nameKo: '골드',
    price: '₩30,000,000',
    accent: '#667085',
    benefits: ['서브 로고 노출', '전시 부스 50㎡', '연사 세션 1회'],
    remaining: 0,
    status: 'soldout',
  },
  {
    id: 'silver',
    name: 'SILVER',
    nameKo: '실버',
    price: '₩15,000,000',
    accent: '#8B4513',
    benefits: ['일반 로고 노출', '전시 부스 20㎡'],
    remaining: 3,
    status: 'available',
  },
];

export type SponsorContractStatus = 'signed' | 'pending';

export interface Sponsor {
  id: string;
  name: string;
  initial: string;
  tier: string;
  status: SponsorContractStatus;
}

export const SPONSORS: Sponsor[] = [
  { id: 's1', name: '(주)테크솔루션', initial: 'T', tier: '다이아몬드 패키지', status: 'signed' },
  { id: 's2', name: '글로벌바이오', initial: 'G', tier: '골드 패키지', status: 'pending' },
  { id: 's3', name: '넥스트인더스트리', initial: 'N', tier: '실버 패키지', status: 'signed' },
];

export const SPONSOR_STATUS_LABEL: Record<SponsorContractStatus, string> = {
  signed: '계약완료',
  pending: '결제대기',
};

export interface FulfillmentItem {
  id: string;
  label: string;
  done: boolean;
}

export const FULFILLMENT: FulfillmentItem[] = [
  { id: 'f1', label: '공식 홈페이지 로고 노출', done: true },
  { id: 'f2', label: '전시 홀 부스 배정 (A-101)', done: true },
  { id: 'f3', label: '연사 세션 주제 선정', done: false },
  { id: 'f4', label: '브로슈어 광고 인쇄', done: false },
];
