Status: Approved · v2 · SPEC-UX-TEAM-MGMT-001
depends_on: SPEC-DOMAIN-TEAM-001, SPEC-UX-MANAGEMENT-001
used_by: IS-MVP-04.2, IS-MVP-04.3, IS-MVP-04.5, IS-MVP-04.6
Gestão do time
Conjunto completo de telas para administrar identidade, categorias, elenco, partidas, conteúdo, torcida, finanças e acessos.
Objetivo
Conjunto completo de telas para administrar identidade, categorias, elenco, partidas, conteúdo, torcida, finanças e acessos.
Pontos de entrada
- Dashboard do time.
- Pendência de jogador/resultado/torcida.
- Atalho Gerenciar na página pública.
Hierarquia da tela
- Dashboard.
- Dados e identidade.
- Categorias.
- Elenco e vínculos.
- Jogos e súmulas.
- Publicações e sugestões.
- Torcidas.
- Carteira.
- Patrocínios.
- Permissões e auditoria.
- Configurações e status.
Componentes e comportamento
Dashboard
Próximo jogo, resultado pendente, convites, saldo resumido quando permitido, posts sugeridos e status da página.
Identity Editor
Nome, slug, escudo, banner, cores, bio, contatos, distrito e neighborhood. Preview público sempre disponível.
Categories Manager
Criar, editar, ordenar e ativar tags. Não cria subtime.
Squad Manager
Filtros por categoria/status; active, invited, guest, former. Ações convidar, adicionar guest, encerrar e editar categorias.
Player Invite
Busca jogador público, mostra contexto suficiente e confirma categorias; sem expor contatos.
Guest Form
Nome de exibição e dados privados mínimos com aviso de confirmação futura.
Matches Module
Agenda, criar, editar, informar resultado, súmula, validação e contestação.
Posts Module
Drafts, published, suggestions, preview e share card.
Torcidas Module
Pending approval, approved, rejected e detalhes.
Financial Modules
Carteira, extrato, apoio, transfers, sponsors e ações pagas, apenas para roles permitidas.
Access Module
Gestores, roles, overrides, owner e audit log.
Ações do usuário
| Ação | Pré-condição | Resultado | Falha/alternativa |
|---|---|---|---|
| Salvar identidade | team.editProfile | Atualiza página | Slug/território inválido |
| Criar categoria | team.manageCategories | Categoria disponível | Duplicada |
| Convidar jogador | team.manageSquad | Invite pending | Já ativo/retired |
| Adicionar guest | team.manageSquad | Guest link | Dados inválidos |
| Encerrar vínculo | team.manageSquad ou jogador | Former | Conflito |
| Criar partida | team.manageMatches | Match draft/scheduled | Permission/participant |
| Aprovar torcida | team.manageTorcidas | Approved | Já resolvido |
| Transferir ownership | Owner | Novo owner | Auth recente/target inválido |
Estados obrigatórios
| Estado | Representação | Ação disponível |
|---|---|---|
| No squad | Empty com ações | Convidar/adicionar guest |
| No categories | Cria Principal por padrão ou CTA | Criar |
| Pending invites | Seção própria | Reenviar/cancelar |
| Insufficient permission | View com controls desabilitados | Solicitar acesso |
| Suspended/closed | Módulos read-only | Suporte/histórico |
| Unsaved changes | Guard de saída | Salvar/descartar |
Autenticação e permissões
- Cada módulo consulta permission específica.
- Financeiro não aparece com valores para Media/Sports.
- Owner actions separadas.
- Backend revalida tudo.
Responsividade
- Mobile usa listas, drawers e formulários em passos.
- Desktop permite tabelas densas, edição lado a lado e preview.
- Elenco não vira cards coloridos infantis; prioriza informação e avatar.
Acessibilidade
- Form labels e errors.
- Tabelas com alternativa mobile.
- Confirmações críticas acessíveis.
- Upload com estado textual.
Eventos de produto e observabilidade
- team_management_viewed
- team_profile_saved
- team_category_created
- player_invited
- guest_added
- team_match_created
- torcida_approved
- ownership_transfer_started
Dados e endpoints
- Team management API completa.
- Management/permissions/uploads.
- Wallet/sponsors/feed/matches.
Critérios de aceite
- Todos os módulos discutidos existem na spec.
- Estados de vínculo completos.
- Categorias não criam times.
- Permissões e audit.
- Preview público.
Pós-MVP
- Agenda de amistosos, loja e gestão avançada de comissão.
Decisões registradas
- Elenco, jogos e identidade são o núcleo da gestão.
- Financeiro separado por permission.
Machine summary
spec: SPEC-UX-TEAM-MGMT-001
screen_or_flow: Gestão do time
required_states:
- loading
- success
- empty
- error
must_use:
- contracts
- service
- hook
- design_tokens
must_not:
- direct_fetch
- direct_fixture_import
- hardcoded_brand_colors