/**
 * Fish rarity levels
 */
export enum FishRarity {
  NORMAL = 1, // Phổ biến
  VULNERABLE = 2, // Dễ bị tổn thương
  NEAR_THREATENED = 3, // Gần bị đe dọa
  ENDANGERED = 4, // Nguy cấp
  CRITICALLY_ENDANGERED = 5, // Cực kỳ nguy cấp
  EXTINCT_IN_WILD = 6, // Tuyệt chủng trong tự nhiên
  EXTINCT = 7, // Tuyệt chủng
  DATA_DEFICIENT = 8, // Thiếu dữ liệu
}

/**
 * Get rarity label by ID
 * @param id Rarity level ID
 * @returns Rarity label in Vietnamese
 */
export function getRarityById(id: number): string {
  switch (id) {
    case FishRarity.NORMAL:
      return 'Phổ biến';
    case FishRarity.VULNERABLE:
      return 'Dễ bị tổn thương';
    case FishRarity.NEAR_THREATENED:
      return 'Gần bị đe dọa';
    case FishRarity.ENDANGERED:
      return 'Nguy cấp';
    case FishRarity.CRITICALLY_ENDANGERED:
      return 'Cực kỳ nguy cấp';
    case FishRarity.EXTINCT_IN_WILD:
      return 'Tuyệt chủng trong tự nhiên';
    case FishRarity.EXTINCT:
      return 'Tuyệt chủng';
    case FishRarity.DATA_DEFICIENT:
      return 'Thiếu dữ liệu';
    default:
      return 'Không xác định';
  }
}

/**
 * Get rarity label in English
 * @param id Rarity level ID
 * @returns Rarity label in English
 */
export function getRarityByIdEn(id: number): string {
  switch (id) {
    case FishRarity.NORMAL:
      return 'Common';
    case FishRarity.VULNERABLE:
      return 'Vulnerable';
    case FishRarity.NEAR_THREATENED:
      return 'Near Threatened';
    case FishRarity.ENDANGERED:
      return 'Endangered';
    case FishRarity.CRITICALLY_ENDANGERED:
      return 'Critically Endangered';
    case FishRarity.EXTINCT_IN_WILD:
      return 'Extinct in Wild';
    case FishRarity.EXTINCT:
      return 'Extinct';
    case FishRarity.DATA_DEFICIENT:
      return 'Data Deficient';
    default:
      return 'Unknown';
  }
}
