use fastrand::Rng;

pub fn random_name(seed: u64) -> String {
    let mut rand = Rng::with_seed(seed);
    let part_1 = rand.choice(name_parts()).unwrap_or("diadem");
    let part_2 = rand.choice(name_parts()).unwrap_or("tau");
    format!("{}-{}", part_1, part_2).into()
}

fn name_parts() -> Vec<&'static str> {
    vec![
        "p",
        "tau",
        "sigma",
        "delta",
        "draconis",
        "cassiopeia",
        "adhara",
        "hd",
        "corvus",
        "ursa",
        "α",
        "γ",
        "pegasi",
        "crateris",
        "aa",
        "altair",
        "amadioha",
        "bellatrix",
        "betelgeuse",
        "orionis",
        "θ",
        "δ",
        "librae",
        "β",
        "tauri",
        "leonis",
        "danfeng",
        "diadem",
        "puppis",
        "WASP",
        "dìwö",
        "diya",
        "dofida",
        "electra",
        "eltanin",
        "fafnir",
        "fellis",
        "funi",
        "haftorang",
        "G",
        "cephei",
        "μ",
        "guahayona",
        "hoggar",
        "hunor",
        "horna",
        "iklil",
        "polaris",
        "tevel",
        "andromedae",
        "xihe",
        "xuange",
        "yed",
        "posterior",
        "prior",
        "zhang",
        "zaurak",
        "ζ",
        "υ",
        "HATS",
        "virginis",
        "lynx",
        "delphinus",
        "vela",
        "sansuna",
        "cassiopeiae",
        "leo",
        "sharjah",
        "shaula",
        "sheliak",
        "sheratan",
        "sirius",
        "situla",
        "solarius",
        "sterrennacht",
        "hercules",
        "scorpius",
        "andromeda",
        "sualocin",
        "lyra",
        "taika",
        "χ",
        "ι",
        "λ",
        "π",
        "HAT",
        "P",
        "ω",
        "ι",
        "pavonis",
        "cancri",
        "phact",
        "piprima",
        "australis",
        "pollux",
        "rana",
        "rapeto",
        "rigel",
        "sirius",
        "spica",
        "ribbit",
    ]
}
