Add conditional boss battle teams (variant teams by condition)
Wire up the existing condition_label column on boss_pokemon to support variant teams throughout the UI. Boss battles can now have multiple team configurations based on conditions (e.g., starter choice in Gen 1). - Add condition_label to BossPokemonInput schema (frontend + backend bulk import) - Rewrite BossTeamEditor with variant tabs (Default + named conditions) - Add variant pill selector to BossDefeatModal team preview - Add BossTeamPreview component to RunEncounters boss cards - Fix MissingGreenlet error in set_boss_team via session.expunge_all() - Fix PokemonSelector state bleed between tabs via composite React key - Add Alembic migration for condition_label column Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -228,11 +228,17 @@ async def set_boss_team(
|
||||
pokemon_id=item.pokemon_id,
|
||||
level=item.level,
|
||||
order=item.order,
|
||||
condition_label=item.condition_label,
|
||||
)
|
||||
session.add(bp)
|
||||
|
||||
await session.commit()
|
||||
|
||||
# Clear identity map so selectinload fetches everything fresh
|
||||
# (expired Pokemon from deleted BossPokemon would otherwise cause
|
||||
# MissingGreenlet errors during response serialization)
|
||||
session.expunge_all()
|
||||
|
||||
# Re-fetch with eager loading
|
||||
result = await session.execute(
|
||||
select(BossBattle)
|
||||
|
||||
Reference in New Issue
Block a user