Pular para o conteúdo principal

Status: Approved · v2 · SPEC-UX-PUBLIC-TORCIDA-001

depends_on: SPEC-DOMAIN-TORCIDA-001

used_by: IS-MVP-01.5, IS-MVP-08.2

Página pública da torcida

Entidade própria vinculada ao time, com identidade, membros, conteúdo, apoio e sponsors sem competir com a página do time.

Objetivo

Entidade própria vinculada ao time, com identidade, membros, conteúdo, apoio e sponsors sem competir com a página do time.

Pontos de entrada

  • Página do time.
  • Busca.
  • Feed.
  • Território.
  • Card compartilhável.

Hierarquia da tela

  1. Hero com identidade da torcida e time vinculado.
  2. Status de aprovação e território.
  3. Ações Seguir, Entrar/Solicitar entrada, Apoiar e Compartilhar.
  4. Resumo público de membros e atividade.
  5. Posts oficiais.
  6. Próximos jogos do time destacados pela torcida.
  7. Apoiadores e sponsors.
  8. Sobre, regras de entrada, contato e denúncia.

Componentes e comportamento

Time vinculado sempre claro e clicável.

Join CTA

Muda conforme open, approval_required, invite_only e membership atual.

Approval State

Pending/rejected não se apresenta como torcida oficial ativa; owner recebe orientação privada.

Members

Lista pública limitada ou agregado conforme configuração.

Wallet Public Surface

Nunca mostra saldo; apenas CTA Apoiar e apoiadores permitidos.

Ações do usuário

AçãoPré-condiçãoResultadoFalha/alternativa
EntrarAutenticadoActive ou pendingInvite-only/duplicado
ApoiarApprovedCheckoutNão aprovada/restrita
SeguirAutenticadoFollowIdempotente
Abrir timePúblicoPágina do timeMerged
DenunciarAutenticadoReportAuthIntent

Estados obrigatórios

EstadoRepresentaçãoAção disponível
ApprovedCompleta
Pending approvalPágina limitada para owner/avisoAguardar
RejectedMotivo privado e orientaçãoReenviar
Suspended/endedBanner e histórico
No posts/membersEmpty contextualGestão quando permitido

Autenticação e permissões

  • Leitura pública apenas quando approved ou política específica.
  • Gestão por membership.
  • Members privados não expostos.

Responsividade

  • Ações empilhadas no mobile.
  • Desktop usa hero com time vinculado ao lado.
  • Sponsors abaixo de conteúdo principal.

Acessibilidade

  • Join state textual.
  • Contadores com labels.
  • Não usar apenas escudos/cores para identificar time.

Eventos de produto e observabilidade

  • torcida_viewed
  • torcida_join_started
  • torcida_support_started
  • torcida_followed
  • team_link_opened

Dados e endpoints

  • GET /torcidas/:slug.
  • POST /torcidas/:id/join.
  • GET /torcidas/:id/members.
  • GET sponsors/supporters/posts.

Critérios de aceite

  • Time vinculado evidente.
  • JoinMode completo.
  • Pending/rejected tratados.
  • Sem saldo público.
  • Visual próprio e profissional.

Pós-MVP

  • Votação, eventos e mensalidade.

Decisões registradas

  • Várias torcidas por time.
  • Torcida é entidade gerenciável e possui wallet.

Machine summary

spec: SPEC-UX-PUBLIC-TORCIDA-001
screen_or_flow: Página pública da torcida
required_states:
- loading
- success
- empty
- error
must_use:
- contracts
- service
- hook
- design_tokens
must_not:
- direct_fetch
- direct_fixture_import
- hardcoded_brand_colors