/** 订单状态 i18n 键（与 spot.orderStatus.* 对应） */
export type SpotOrderStatusKey =
  | 'pending'
  | 'partial'
  | 'filled'
  | 'cancelled'
  | 'pending_cancel'
  | 'expired'
  | 'init'

/**
 * 根据后端 status 码与原始 status 字符串解析稳定键，供前端 i18n 使用（不改后端）。
 */
export function resolveSpotOrderStatusKey(code: number, raw?: string): SpotOrderStatusKey {
  const u = String(raw ?? '').toUpperCase()
  if (u.includes('CANCEL') || u.includes('OVERTIME')) {
    return 'cancelled'
  }
  if (u === 'PART_FILLED' || u === 'PARTFILLED') {
    return 'partial'
  }
  if (u === 'FILLED' || u === 'COMPLETED') {
    return 'filled'
  }
  if (u === 'PENDING_CANCEL') {
    return 'pending_cancel'
  }
  if (u === 'EXPIRED') {
    return 'expired'
  }
  if (u === 'INIT') {
    return 'init'
  }
  if (code === 2) {
    return 'filled'
  }
  if (code === 3) {
    return 'partial'
  }
  if (code === 4 || code === 6) {
    return 'cancelled'
  }
  if (code === 5) {
    return 'pending_cancel'
  }
  if (code === 0 || code === 1) {
    return 'pending'
  }
  return 'pending'
}
