import { useState } from 'react' import type { EncounterDetail } from '../types' interface HofTeamModalProps { alive: EncounterDetail[] onSubmit: (encounterIds: number[]) => void onSkip: () => void isPending: boolean } export function HofTeamModal({ alive, onSubmit, onSkip, isPending }: HofTeamModalProps) { const [selected, setSelected] = useState>(() => { // Pre-select all if 6 or fewer if (alive.length <= 6) return new Set(alive.map((e) => e.id)) return new Set() }) const toggle = (id: number) => { setSelected((prev) => { const next = new Set(prev) if (next.has(id)) { next.delete(id) } else if (next.size < 6) { next.add(id) } return next }) } return (

Hall of Fame Team

Select the Pokemon that entered the Hall of Fame (max 6)

{alive.map((enc) => { const displayPokemon = enc.currentPokemon ?? enc.pokemon const isSelected = selected.has(enc.id) const atMax = selected.size >= 6 && !isSelected return ( ) })}
{selected.size}/6 selected
) }