import { useState } from 'react' import type { SurvivorEncounter } from '../types' interface TransferModalProps { survivors: SurvivorEncounter[] onSubmit: (encounterIds: number[]) => void onSkip: () => void isPending: boolean } export function TransferModal({ survivors, onSubmit, onSkip, isPending }: TransferModalProps) { const [selected, setSelected] = useState>( () => new Set(survivors.map((s) => s.id)), ) const toggle = (id: number) => { setSelected((prev) => { const next = new Set(prev) if (next.has(id)) { next.delete(id) } else { next.add(id) } return next }) } return (

Transfer Pokemon to Next Leg

Selected Pokemon will be bred down to their base form and appear as level 1 encounters in the next leg.

{survivors.length === 0 ? (

No surviving Pokemon to transfer.

) : (
{survivors.map((survivor) => { const displayPokemon = survivor.currentPokemon ?? survivor.pokemon const isSelected = selected.has(survivor.id) return ( ) })}
)}
{selected.size}/{survivors.length} selected
) }