2026-04-09 — Academy: pesquisa de atletas (debounce) + inscrição por ID
Documentação KOLOS

2026-04-09 — Academy: pesquisa de atletas (debounce) + inscrição por ID

O quê

  • Nova EnrollPlayerInAcademyClassAction (turma + player_user_id): valida player, duplicados e manageStudents; delega em AddAcademyClassMemberAction.
  • EnrollPlayerByEmailInAcademyClassAction passa a resolver email e delegar na action por ID (menos duplicação de regras).
  • ClassRoster: player_search com wire:model.live.debounce.300ms, sugestões via #[Computed] playerSuggestions() (nome/email, LIKE com escape de %/_, exclui já inscritos, limite 8), seleção e «Confirmar inscrição».
  • #[Computed] selectedPlayerPreview() para pré-visualização.
  • Testes: EnrollPlayerInAcademyClassActionTest; Livewire atualizado para fluxo pesquisa + selecionar + inscrever.

Por quê

Melhor UX que email livre, alinhado a padrões Livewire 4 (computed + debounce) e a políticas existentes.

Validação

  • vendor/bin/sail artisan test
  • Browser: roster → escrever ≥2 caracteres → selecionar → confirmar.