/* * 샘플 티켓 데이터 — 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', }, ];