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