export interface GenreEntry {
  zh: string | null;
  en: string;
}

export const BEATOS_GENRES: readonly GenreEntry[] = [
  { zh: "流行", en: "Pop" },
  { zh: "R&B", en: "Rhythm and Blues" },
  { zh: "陷阱说唱", en: "Trap Rap" },
  { zh: "钻头说唱", en: "Drill" },
  { zh: "流行说唱", en: "Pop Rap" },
  { zh: null, en: "Boom Bap" },
  { zh: "爵士嘻哈", en: "Jazz Hip Hop" },
  { zh: "国风", en: "Chinese Style" },
  { zh: null, en: "Sexy Drill" },
  { zh: null, en: "Regalia" },
  { zh: null, en: "Rage" },
  { zh: null, en: "Plugg" },
  { zh: null, en: "Jersey Club" },
  { zh: null, en: "Jerk" },
  { zh: "中西部说唱", en: "Midwest Hip Hop" },
  { zh: "中文说唱", en: "Chinese Hip Hop" },
  { zh: "云雾说唱", en: "Cloud Rap" },
  { zh: "硬核说唱", en: "Hardcore Hip Hop" },
  { zh: "英国说唱", en: "British Rap" },
  { zh: "意识说唱", en: "Conscious Hip Hop" },
  { zh: "亚特兰大说唱", en: "Atlanta Hip Hop" },
  { zh: "旋律说唱", en: "Melodic Rap" },
  { zh: "新派嘻哈", en: "New School Hip Hop" },
  { zh: "乡村说唱", en: "Country Rap" },
  { zh: "喜剧说唱", en: "Comedy Rap" },
  { zh: "西岸说唱", en: "West Coast Hip Hop" },
  { zh: "说唱伴奏", en: "Hip Hop Beat" },
  { zh: "实验说唱", en: "Experimental Hip Hop" },
  { zh: "日本说唱", en: "J-Rap" },
  { zh: "情绪说唱", en: "Emo Rap" },
  { zh: "器乐说唱", en: "Instrumental Hip Hop" },
  { zh: "南方说唱", en: "Southern Hip Hop" },
  { zh: "模糊说唱", en: "Mumble Rap" },
  { zh: "孟菲斯说唱", en: "Memphis Rap" },
  { zh: "另类嘻哈", en: "Alternative Hip Hop" },
  { zh: "雷击顿", en: "Reggaeton" },
  { zh: "狂克说唱", en: "Crunk" },
  { zh: "快嘴说唱", en: "Chopper" },
  { zh: "旧学派说唱", en: "Old School Hip Hop" },
  { zh: "黄金时代嘻哈", en: "Golden Age Hip Hop" },
  { zh: "韩语说唱", en: "K-Rap" },
  { zh: "工业说唱", en: "Industrial Hip Hop" },
  { zh: "匪帮说唱", en: "Gangsta Rap" },
  { zh: "匪帮放克", en: "G-Funk" },
  { zh: "东岸说唱", en: "East Coast Hip Hop" },
  { zh: "底特律说唱", en: "Detroit Trap" },
  { zh: "低保真嘻哈", en: "Lofi Hip Hop" },
  { zh: "地下说唱", en: "Underground Hip Hop" },
  { zh: "弛放嘻哈", en: "ChillHop" },
  { zh: "车库嘻哈", en: "Grime" },
  { zh: null, en: "Hyperpop" },
  { zh: "摇滚", en: "Rock" },
  { zh: "新灵魂乐", en: "Neo Soul" },
  { zh: "乡村", en: "Country" },
  { zh: "舞场雷鬼", en: "Dancehall" },
  { zh: "碎拍", en: "Breakbeat" },
  { zh: "民谣", en: "Folk" },
  { zh: "灵魂乐", en: "Soul" },
  { zh: "雷鬼", en: "Reggae" },
  { zh: "拉丁音乐", en: "Latin" },
  { zh: "科技舞曲", en: "Techno" },
  { zh: "爵士", en: "Jazz" },
  { zh: "回响贝斯", en: "Dubstep" },
  { zh: "缓拍", en: "Downtempo" },
  { zh: "合成器浪潮", en: "Synthwave" },
  { zh: "浩室舞曲", en: "House" },
  { zh: "鼓打贝斯", en: "Drum & Bass" },
  { zh: "氛围电子", en: "Ambient" },
  { zh: "电子舞曲", en: "EDM" },
  { zh: "电子", en: "Electronic" },
  { zh: null, en: "2-Step Garage" },
  { zh: null, en: "Afrobeats" },
  { zh: "世界音乐", en: "World Music" },
  { zh: "福音音乐", en: "Gospel Music" },
];

export function genreLabel(g: GenreEntry): string {
  if (g.zh !== null) return `${g.zh} (${g.en})`;
  return g.en;
}

export function genreKey(g: GenreEntry): string {
  return g.en;
}
