"""Catálogo de tipos de servicio musical y géneros.

Estático a propósito (mismo patrón que los datasets del usuario): se agregan opciones agregando datos
acá, no tablas nuevas.

- SERVICE_TYPES: QUÉ se contrata (instrumentos, solistas, grupos, conjuntos). `slug` viaja en la API y
  se guarda en el array `service_types` del músico. `group` agrupa en la UI.
- GENRES: géneros/estilos musicales. Son SUGERENCIAS: el músico y el usuario pueden elegir de la lista
  o escribir cualquier género libre (el array `genres` del músico no se valida contra esta lista).
"""

SERVICE_TYPES: list[dict] = [
    # --- Solistas e instrumentistas ---
    {"slug": "solista",      "name": "Solista / Cantante",     "emoji": "🎤", "group": "Solistas"},
    {"slug": "guitarrista",  "name": "Guitarrista",            "emoji": "🎸", "group": "Solistas"},
    {"slug": "guitarra_electrica", "name": "Guitarra eléctrica","emoji": "🎸", "group": "Solistas"},
    {"slug": "bajista",      "name": "Bajista",                "emoji": "🎸", "group": "Solistas"},
    {"slug": "pianista",     "name": "Pianista",               "emoji": "🎹", "group": "Solistas"},
    {"slug": "tecladista",   "name": "Tecladista",             "emoji": "🎹", "group": "Solistas"},
    {"slug": "violinista",   "name": "Violinista",             "emoji": "🎻", "group": "Solistas"},
    {"slug": "cellista",     "name": "Cellista",               "emoji": "🎻", "group": "Solistas"},
    {"slug": "contrabajista","name": "Contrabajista",          "emoji": "🎻", "group": "Solistas"},
    {"slug": "saxofon",      "name": "Saxofonista",            "emoji": "🎷", "group": "Solistas"},
    {"slug": "trompetista",  "name": "Trompetista",            "emoji": "🎺", "group": "Solistas"},
    {"slug": "trombon",      "name": "Trombonista",            "emoji": "🎺", "group": "Solistas"},
    {"slug": "clarinetista", "name": "Clarinetista",           "emoji": "🎶", "group": "Solistas"},
    {"slug": "flautista",    "name": "Flautista",              "emoji": "🪈", "group": "Solistas"},
    {"slug": "acordeonista", "name": "Acordeonista",           "emoji": "🪗", "group": "Solistas"},
    {"slug": "arpista",      "name": "Arpista",                "emoji": "🎼", "group": "Solistas"},
    {"slug": "cuatrista",    "name": "Cuatrista (cuatro)",     "emoji": "🪕", "group": "Solistas"},
    {"slug": "baterista",    "name": "Baterista",              "emoji": "🥁", "group": "Solistas"},
    {"slug": "percusionista","name": "Percusionista",          "emoji": "🥁", "group": "Solistas"},

    # --- Percusión / tambores ---
    {"slug": "tambores",     "name": "Tambores",               "emoji": "🥁", "group": "Percusión"},
    {"slug": "congas",       "name": "Congas / Tumbadoras",    "emoji": "🥁", "group": "Percusión"},
    {"slug": "timbales",     "name": "Timbales",               "emoji": "🥁", "group": "Percusión"},
    {"slug": "batucada",     "name": "Batucada / Samba",       "emoji": "🥁", "group": "Percusión"},

    # --- Grupos y conjuntos ---
    {"slug": "dueto",        "name": "Dúo / Dueto",            "emoji": "👯", "group": "Grupos"},
    {"slug": "trio",         "name": "Trío",                   "emoji": "🎶", "group": "Grupos"},
    {"slug": "cuarteto",     "name": "Cuarteto",               "emoji": "🎻", "group": "Grupos"},
    {"slug": "quinteto",     "name": "Quinteto",               "emoji": "🎶", "group": "Grupos"},
    {"slug": "sexteto",      "name": "Sexteto",                "emoji": "🎶", "group": "Grupos"},
    {"slug": "banda",        "name": "Banda / Grupo musical",  "emoji": "🎼", "group": "Grupos"},
    {"slug": "orquesta",     "name": "Orquesta",               "emoji": "🎼", "group": "Grupos"},
    {"slug": "big_band",     "name": "Big band",               "emoji": "🎺", "group": "Grupos"},
    {"slug": "coro",         "name": "Coro",                   "emoji": "🎶", "group": "Grupos"},
    {"slug": "estudiantina", "name": "Estudiantina / Tuna",    "emoji": "🎸", "group": "Grupos"},

    # --- Regionales / folklóricos ---
    {"slug": "mariachi",     "name": "Mariachis",              "emoji": "🎺", "group": "Regionales"},
    {"slug": "gaita",        "name": "Gaita venezolana",       "emoji": "🪗", "group": "Regionales"},
    {"slug": "joropo",       "name": "Joropo / Llanera",       "emoji": "🪕", "group": "Regionales"},
    {"slug": "folklorico",   "name": "Grupo folklórico",       "emoji": "💃", "group": "Regionales"},
    {"slug": "grupo_celta",  "name": "Grupo celta / irlandés", "emoji": "🎻", "group": "Regionales"},
    {"slug": "serenata",     "name": "Serenata",               "emoji": "🌹", "group": "Regionales"},

    # --- Bandas por estilo ---
    {"slug": "rock",         "name": "Banda de rock",          "emoji": "🎸", "group": "Bandas por estilo"},
    {"slug": "pop",          "name": "Banda de pop",           "emoji": "🎤", "group": "Bandas por estilo"},
    {"slug": "jazz",         "name": "Grupo de jazz",          "emoji": "🎷", "group": "Bandas por estilo"},
    {"slug": "salsa",        "name": "Orquesta de salsa",      "emoji": "🥁", "group": "Bandas por estilo"},
    {"slug": "tropical",     "name": "Grupo tropical",         "emoji": "🌴", "group": "Bandas por estilo"},
    {"slug": "cumbia",       "name": "Grupo de cumbia",        "emoji": "🪗", "group": "Bandas por estilo"},
    {"slug": "cover",        "name": "Banda de covers",        "emoji": "🎸", "group": "Bandas por estilo"},
    {"slug": "tributo",      "name": "Show tributo",           "emoji": "⭐", "group": "Bandas por estilo"},

    # --- Otros ---
    {"slug": "dj",           "name": "DJ",                     "emoji": "🎧", "group": "Otros"},
]

# Géneros/estilos sugeridos — el usuario y el músico pueden elegir de acá o escribir cualquiera.
GENRES: list[dict] = [
    {"slug": g[0], "name": g[1]}
    for g in [
        ("salsa", "Salsa"), ("merengue", "Merengue"), ("bachata", "Bachata"), ("cumbia", "Cumbia"),
        ("vallenato", "Vallenato"), ("reggaeton", "Reggaetón"), ("pop", "Pop"), ("rock", "Rock"),
        ("balada", "Balada"), ("bolero", "Bolero"), ("ranchera", "Ranchera"), ("mariachi", "Mariachi"),
        ("gaita", "Gaita"), ("joropo", "Joropo"), ("tango", "Tango"), ("jazz", "Jazz"),
        ("blues", "Blues"), ("folklore", "Folklore"), ("electronica", "Electrónica"), ("house", "House"),
        ("reggae", "Reggae"), ("ska", "Ska"), ("punk", "Punk"), ("metal", "Metal"),
        ("clasica", "Clásica"), ("opera", "Ópera"), ("gospel", "Gospel"), ("cristiana", "Cristiana / Worship"),
        ("rnb", "R&B"), ("hiphop", "Hip hop"), ("trap", "Trap"), ("country", "Country"),
        ("celta", "Celta / Irlandés"), ("flamenco", "Flamenco"), ("bossa", "Bossa nova"), ("samba", "Samba"),
        ("indie", "Indie"), ("funk", "Funk"), ("soul", "Soul"), ("disco", "Disco"),
        ("cuarteto", "Cuarteto"), ("chamame", "Chamamé"), ("kpop", "K-pop"), ("infantil", "Infantil"),
    ]
]

VALID_SLUGS = {s["slug"] for s in SERVICE_TYPES}
