/*
 * 샘플 티켓 데이터 — M10(티켓)·M9(환불) 백엔드 미구현 상태의 폴백.
 * 실제 API 없음 → 존재하지 않는 엔드포인트 호출 금지(design.md SCR-M15 "신규·샘플").
 * 서버 배선 시 lib/api.ts unwrap 봉투로 교체.
 */
export type TicketStatus = 'usable' | 'used' | 'canceled';
export type TicketFilter = 'active' | 'upcoming' | 'past';

export interface SampleTicket {
  id: string;
  eventName: string;
  hallLabel: string;
  period: string; // 표시용 기간 문자열
  ticketType: string; // 권종
  holderName: string; // 예매자(표시명)
  quantity: number; // 매수
  status: TicketStatus;
  bookingNoMasked: string; // 마스킹된 예매번호
  qrSeed: string; // QR placeholder 시드(실제 QR 아님)
  filter: TicketFilter;
}

export const STATUS_META: Record<
  TicketStatus,
  { label: string; tone: 'success' | 'muted' | 'error' }
> = {
  usable: { label: '사용가능', tone: 'success' },
  used: { label: '사용됨', tone: 'muted' },
  canceled: { label: '취소', tone: 'error' },
};

export const FILTER_TABS: { key: TicketFilter; label: string }[] = [
  { key: 'active', label: '진행중' },
  { key: 'upcoming', label: '예정' },
  { key: 'past', label: '지난' },
];

export const SAMPLE_TICKETS: SampleTicket[] = [
  {
    id: 'TKT-2026-0314-88',
    eventName: '스마트팩토리 코리아 2026',
    hallLabel: 'KINTEX 제1전시장 3-4홀',
    period: '2026. 03.14(금) - 03.16(일)',
    ticketType: '바이어권',
    holderName: '정관람',
    quantity: 1,
    status: 'usable',
    bookingNoMasked: 'KTX-****-8245',
    qrSeed: 'KTX-SFK2026-BUYER-8245',
    filter: 'active',
  },
  {
    id: 'TKT-2026-0210-12',
    eventName: '2026 서울 국제 인공지능 컨퍼런스',
    hallLabel: 'KINTEX 제2전시장',
    period: '2026. 02.10 - 02.12',
    ticketType: '일반권',
    holderName: '정관람',
    quantity: 2,
    status: 'used',
    bookingNoMasked: 'KTX-****-1120',
    qrSeed: 'KTX-AI2026-STD-1120',
    filter: 'past',
  },
  {
    id: 'TKT-2026-0505-31',
    eventName: '그린에너지 엑스포 2026',
    hallLabel: 'KINTEX 제1전시장 5홀',
    period: '2026. 05.05 - 05.07',
    ticketType: '단체권',
    holderName: '정관람',
    quantity: 1,
    status: 'usable',
    bookingNoMasked: 'KTX-****-0505',
    qrSeed: 'KTX-GREEN2026-GRP-0505',
    filter: 'upcoming',
  },
];
