/** * Shared utility functions for payment order display. * Used by AdminOrderDetail, AdminOrderTable, AdminRefundDialog, AdminOrdersView, etc. */ const STATUS_BADGE_MAP: Record = { PENDING: 'badge-warning', PAID: 'badge-info', RECHARGING: 'badge-info', COMPLETED: 'badge-success', EXPIRED: 'badge-secondary', CANCELLED: 'badge-secondary', FAILED: 'badge-danger', REFUND_REQUESTED: 'badge-warning', REFUNDING: 'badge-warning', PARTIALLY_REFUNDED: 'badge-warning', REFUNDED: 'badge-info', REFUND_FAILED: 'badge-danger', } const REFUNDABLE_STATUSES = ['COMPLETED', 'PARTIALLY_REFUNDED', 'REFUND_REQUESTED', 'REFUND_FAILED'] export function statusBadgeClass(status: string): string { return STATUS_BADGE_MAP[status] || 'badge-secondary' } export function canRefund(status: string): boolean { return REFUNDABLE_STATUSES.includes(status) } export function formatOrderDateTime(dateStr: string): string { if (!dateStr) return '-' return new Date(dateStr).toLocaleString() }