export type ArtistTag =
  | "rock"
  | "pop"
  | "chinese"
  | "hiphop"
  | "folk"
  | "jazz";

export interface Artist {
  /** 唯一 ID（如 001 ~ 036） */
  id: string;
  /** 编号字符串（如 "001"） */
  no: string;
  /** 中文名（来自小传） */
  name: string;
  /** 英文名 / 艺名（来自小传） */
  enName: string;
  /** 年龄（来自小传） */
  age?: number;
  /** 性别（来自小传） */
  gender?: "M" | "F";
  /** 长简介 / 人物小传（来自小传） */
  bio: string;
  /** 立绘主图 URL */
  portrait: string;
  /** 圆形头像 URL（暂未使用） */
  avatar: string;
  /** 表演视频 URL（来自 solo.mp4，缺失则 undefined） */
  videoUrl?: string;
  /** 视频封面图 */
  videoPoster?: string;
  /** 表演图片轮播（三视图 + 氛围图 2/3） */
  gallery: string[];
  /** 实力标签（用于筛选） */
  tags: ArtistTag[];
  /** 身高 cm（来自小传） */
  height: number;
  /** 当前票数 */
  votes: number;
  /** 当前排名 (1-36) */
  rank: number;
  /** 座右铭（来自小传） */
  motto?: string;
  /** 性格描述（来自小传） */
  personality?: string;
  /** 口头禅（来自小传） */
  catchphrase?: string;
  /** 核心技能（来自小传） */
  skills?: string;
  /** 核心赛道（来自小传） */
  track?: string;
}

export const TAG_LABEL: Record<ArtistTag, string> = {
  rock: "摇滚",
  pop: "流行",
  chinese: "国风",
  hiphop: "嘻哈说唱",
  folk: "民谣治愈",
  jazz: "爵士",
};

export type RankCategory = "gold" | "silver" | "bronze" | "top12" | "candidate";

export function getRankCategory(rank: number): RankCategory {
  if (rank === 1) return "gold";
  if (rank === 2) return "silver";
  if (rank === 3) return "bronze";
  if (rank <= 12) return "top12";
  return "candidate";
}
