/**
 * Style Fusion Database
 * Genre fusion recipes and combinations
 */

export const styleFusions = [
  {
    id: 'bach_hop',
    name: 'Bach-hop',
    displayName: 'Baroque Hip Hop',
    ingredients: [
      { genre: 'baroque', minLevel: 5 },
      { genre: 'hip_hop', minLevel: 5 }
    ],
    result: {
      stylePrompt: 'baroque harpsichord samples, hip hop beat, classical counterpoint, 808 bass, complex patterns, intellectual rap',
      rarity: 'rare',
      bonusMultiplier: 1.5,
      genreCategory: 'experimental'
    },
    discoveryMethod: 'experiment',
    icon: '🎼🎤',
    description: 'Merge baroque complexity with modern hip hop beats'
  },

  {
    id: 'jazz_metal',
    name: 'Jazzcore',
    displayName: 'Jazz Metal',
    ingredients: [
      { genre: 'jazz', minLevel: 6 },
      { genre: 'metal', minLevel: 6 }
    ],
    result: {
      stylePrompt: 'progressive metal, jazz fusion, complex time signatures, saxophone, heavy guitars, virtuosic, chaotic',
      rarity: 'epic',
      bonusMultiplier: 1.7,
      genreCategory: 'experimental'
    },
    discoveryMethod: 'experiment',
    icon: '🎷⚡',
    description: 'Technical virtuosity meets heavy riffs'
  },

  {
    id: 'classical_electronic',
    name: 'Electro-Classical',
    displayName: 'Electronic Classical',
    ingredients: [
      { genre: 'classical', minLevel: 5 },
      { genre: 'electronic', minLevel: 5 }
    ],
    result: {
      stylePrompt: 'orchestral, synthesizers, cinematic, modern classical, epic, atmospheric, film score',
      rarity: 'rare',
      bonusMultiplier: 1.5,
      genreCategory: 'cinematic'
    },
    discoveryMethod: 'experiment',
    icon: '🎹🎧',
    description: 'Symphonic grandeur with electronic production'
  },

  {
    id: 'blues_electronic',
    name: 'Electro-Blues',
    displayName: 'Electronic Blues',
    ingredients: [
      { genre: 'blues', minLevel: 4 },
      { genre: 'electronic', minLevel: 4 }
    ],
    result: {
      stylePrompt: 'blues guitar, electronic beats, synthesizers, soulful, modern, atmospheric blues',
      rarity: 'uncommon',
      bonusMultiplier: 1.3,
      genreCategory: 'fusion'
    },
    discoveryMethod: 'experiment',
    icon: '🎸🎧',
    description: 'Traditional blues meets modern production'
  },

  {
    id: 'country_rap',
    name: 'Country Rap',
    displayName: 'Country Hip Hop',
    ingredients: [
      { genre: 'country', minLevel: 3 },
      { genre: 'hip_hop', minLevel: 3 }
    ],
    result: {
      stylePrompt: 'country rap, banjo, 808s, southern twang, hip hop beats, storytelling',
      rarity: 'uncommon',
      bonusMultiplier: 1.4,
      genreCategory: 'fusion'
    },
    discoveryMethod: 'experiment',
    icon: '🤠🎤',
    description: 'Southern storytelling with hip hop swagger'
  },

  {
    id: 'punk_reggae',
    name: 'Punk Reggae',
    displayName: 'Ska Punk',
    ingredients: [
      { genre: 'punk', minLevel: 4 },
      { genre: 'reggae', minLevel: 4 }
    ],
    result: {
      stylePrompt: 'ska punk, upbeat, horn sections, fast punk energy, reggae offbeat, energetic',
      rarity: 'rare',
      bonusMultiplier: 1.5,
      genreCategory: 'fusion'
    },
    discoveryMethod: 'experiment',
    icon: '🤘🌴',
    description: 'Punk energy with reggae rhythm'
  },

  {
    id: 'folk_electronic',
    name: 'Folktronica',
    displayName: 'Electronic Folk',
    ingredients: [
      { genre: 'folk', minLevel: 5 },
      { genre: 'electronic', minLevel: 5 }
    ],
    result: {
      stylePrompt: 'folktronica, acoustic instruments, electronic production, atmospheric, organic meets synthetic',
      rarity: 'rare',
      bonusMultiplier: 1.5,
      genreCategory: 'indie'
    },
    discoveryMethod: 'experiment',
    icon: '🪕🎧',
    description: 'Organic folk with electronic textures'
  },

  {
    id: 'soul_electronic',
    name: 'Future Soul',
    displayName: 'Electronic Soul',
    ingredients: [
      { genre: 'soul', minLevel: 5 },
      { genre: 'electronic', minLevel: 5 }
    ],
    result: {
      stylePrompt: 'future soul, electronic R&B, smooth, futuristic, soulful vocals, synth bass',
      rarity: 'rare',
      bonusMultiplier: 1.5,
      genreCategory: 'modern'
    },
    discoveryMethod: 'experiment',
    icon: '💫🎧',
    description: 'Soulful vocals with future bass'
  },

  {
    id: 'disco_house',
    name: 'Disco House',
    displayName: 'Nu-Disco',
    ingredients: [
      { genre: 'disco', minLevel: 4 },
      { genre: 'house', minLevel: 4 }
    ],
    result: {
      stylePrompt: 'nu-disco, house beats, disco samples, funky, danceable, modern disco revival',
      rarity: 'uncommon',
      bonusMultiplier: 1.3,
      genreCategory: 'dance'
    },
    discoveryMethod: 'experiment',
    icon: '🪩🏠',
    description: 'Disco grooves with house production'
  },

  {
    id: 'rock_electronic',
    name: 'Electrorock',
    displayName: 'Electronic Rock',
    ingredients: [
      { genre: 'rock', minLevel: 5 },
      { genre: 'electronic', minLevel: 5 }
    ],
    result: {
      stylePrompt: 'electronic rock, synth rock, guitars, synthesizers, energetic, modern rock',
      rarity: 'rare',
      bonusMultiplier: 1.4,
      genreCategory: 'modern'
    },
    discoveryMethod: 'experiment',
    icon: '🎸🎧',
    description: 'Rock guitars with electronic elements'
  },

  {
    id: 'ambient_classical',
    name: 'Ambient Classical',
    displayName: 'Neo-Classical',
    ingredients: [
      { genre: 'ambient', minLevel: 5 },
      { genre: 'classical', minLevel: 5 }
    ],
    result: {
      stylePrompt: 'neo-classical, ambient, minimalist, piano, strings, atmospheric, contemplative',
      rarity: 'rare',
      bonusMultiplier: 1.5,
      genreCategory: 'ambient'
    },
    discoveryMethod: 'experiment',
    icon: '🌌🎹',
    description: 'Classical beauty with ambient atmosphere'
  },

  {
    id: 'trap_metal',
    name: 'Trap Metal',
    displayName: 'Trap Metal',
    ingredients: [
      { genre: 'trap', minLevel: 6 },
      { genre: 'metal', minLevel: 6 }
    ],
    result: {
      stylePrompt: 'trap metal, 808s, distorted guitars, aggressive, screaming, heavy bass, chaotic',
      rarity: 'epic',
      bonusMultiplier: 1.6,
      genreCategory: 'extreme'
    },
    discoveryMethod: 'experiment',
    icon: '💎⚡',
    description: 'Trap beats meet metal aggression'
  },

  {
    id: 'psychedelic_electronic',
    name: 'Psytrance',
    displayName: 'Psychedelic Trance',
    ingredients: [
      { genre: 'psychedelic', minLevel: 5 },
      { genre: 'electronic', minLevel: 6 }
    ],
    result: {
      stylePrompt: 'psytrance, fast BPM, hypnotic, trippy, electronic, trance, psychedelic',
      rarity: 'rare',
      bonusMultiplier: 1.5,
      genreCategory: 'electronic'
    },
    discoveryMethod: 'experiment',
    icon: '🌈🎧',
    description: 'Psychedelic journey through electronic trance'
  },

  {
    id: 'funk_electronic',
    name: 'Electro-Funk',
    displayName: 'Electronic Funk',
    ingredients: [
      { genre: 'funk', minLevel: 4 },
      { genre: 'electronic', minLevel: 4 }
    ],
    result: {
      stylePrompt: 'electro-funk, funky basslines, synthesizers, vocoders, groovy, futuristic funk',
      rarity: 'uncommon',
      bonusMultiplier: 1.3,
      genreCategory: 'funk'
    },
    discoveryMethod: 'experiment',
    icon: '🕺🎧',
    description: 'Funky grooves with electronic flair'
  },

  {
    id: 'latin_jazz',
    name: 'Latin Jazz',
    displayName: 'Afro-Cuban Jazz',
    ingredients: [
      { genre: 'latin', minLevel: 5 },
      { genre: 'jazz', minLevel: 5 }
    ],
    result: {
      stylePrompt: 'latin jazz, afro-cuban, conga rhythms, jazz improvisation, brass, polyrhythmic',
      rarity: 'rare',
      bonusMultiplier: 1.5,
      genreCategory: 'world_fusion'
    },
    discoveryMethod: 'experiment',
    icon: '💃🎷',
    description: 'Latin rhythms with jazz sophistication'
  },

  {
    id: 'indie_electronic',
    name: 'Indietronica',
    displayName: 'Indie Electronic',
    ingredients: [
      { genre: 'indie', minLevel: 4 },
      { genre: 'electronic', minLevel: 4 }
    ],
    result: {
      stylePrompt: 'indietronica, indie pop, synths, electronic production, quirky, melodic, modern indie',
      rarity: 'uncommon',
      bonusMultiplier: 1.3,
      genreCategory: 'indie'
    },
    discoveryMethod: 'experiment',
    icon: '🎨🎧',
    description: 'Indie sensibilities with electronic polish'
  },

  {
    id: 'folk_punk',
    name: 'Folk Punk',
    displayName: 'Folk Punk',
    ingredients: [
      { genre: 'folk', minLevel: 3 },
      { genre: 'punk', minLevel: 3 }
    ],
    result: {
      stylePrompt: 'folk punk, acoustic, raw, protest songs, energetic, DIY, political',
      rarity: 'uncommon',
      bonusMultiplier: 1.3,
      genreCategory: 'alternative'
    },
    discoveryMethod: 'experiment',
    icon: '🪕🤘',
    description: 'Folk storytelling with punk energy'
  },

  {
    id: 'soul_jazz',
    name: 'Soul Jazz',
    displayName: 'Soul Jazz',
    ingredients: [
      { genre: 'soul', minLevel: 5 },
      { genre: 'jazz', minLevel: 5 }
    ],
    result: {
      stylePrompt: 'soul jazz, groovy, organ, saxophone, bluesy, funky, jazz improvisation',
      rarity: 'rare',
      bonusMultiplier: 1.4,
      genreCategory: 'jazz_fusion'
    },
    discoveryMethod: 'experiment',
    icon: '💫🎷',
    description: 'Soulful grooves with jazz sophistication'
  },

  {
    id: 'reggae_electronic',
    name: 'Reggae Electronica',
    displayName: 'Digital Reggae',
    ingredients: [
      { genre: 'reggae', minLevel: 4 },
      { genre: 'electronic', minLevel: 4 }
    ],
    result: {
      stylePrompt: 'digital reggae, dub, electronic, bass-heavy, spacey, modern reggae production',
      rarity: 'uncommon',
      bonusMultiplier: 1.3,
      genreCategory: 'fusion'
    },
    discoveryMethod: 'experiment',
    icon: '🌴🎧',
    description: 'Reggae vibes with electronic dub'
  },

  {
    id: 'country_rock',
    name: 'Country Rock',
    displayName: 'Southern Rock',
    ingredients: [
      { genre: 'country', minLevel: 4 },
      { genre: 'rock', minLevel: 4 }
    ],
    result: {
      stylePrompt: 'country rock, southern rock, electric guitars, twangy vocals, bluesy, powerful',
      rarity: 'uncommon',
      bonusMultiplier: 1.3,
      genreCategory: 'rock'
    },
    discoveryMethod: 'experiment',
    icon: '🤠🎸',
    description: 'Country storytelling with rock power'
  }
];

/**
 * Get fusion by ID
 */
export const getFusionById = (id) => {
  return styleFusions.find(f => f.id === id);
};

/**
 * Get all fusions involving a specific genre
 */
export const getFusionsForGenre = (genreId) => {
  return styleFusions.filter(f => 
    f.ingredients.some(ing => ing.genre === genreId)
  );
};

