Estados de loading, vazio, erro e sucesso
Em desenvolvimentocriado em 07/06/2026, 00:23 · atualizado em 07/06/2026, 00:23
Estados de loading, vazio, erro e sucesso tornam a interface confiável e compreensível mesmo quando dados ainda estão carregando, não existem, falharam ou foram processados com sucesso. Em um jogo com muitas telas e consultas, esses estados são essenciais para evitar que o jogador pense que o jogo travou ou que perdeu dados.
Esse item é transversal. Ele não pertence a uma tela específica, mas deve aparecer em todo o produto: elenco, mercado, calendário, finanças, scouting, partida, editor e configurações. Hoje há estados específicos em várias telas, overlay em operações de avanço e error boundary global, mas o padrão ainda é inconsistente: faltam primitivos reutilizáveis de empty/loading/error, skeletons, retry padronizado e tratamento uniforme de falhas.
Escopo incluído
- Estados de loading
- Skeletons quando aplicável
- Spinners quando aplicável
- Estados vazios
- Mensagens de erro
- Estados de sucesso
- Estados de operação em andamento
- Retry quando aplicável
- Mensagens para listas vazias
- Mensagens para dados indisponíveis
- Fallbacks seguros
- Error boundary
- Tratamento de falha de IPC/API local
- Tratamento de dados incompletos
- Bloqueio de ações durante carregamento
- Feedback de salvamento/processamento
- Overlay de avanço/processamento quando aplicável
- Stubs claros para funcionalidades futuras quando aplicável
Fora de escopo
- Sistema completo de recuperação automática de todos os erros
- Logs técnicos detalhados para usuário comum
- Painel global de diagnóstico
- Crash reporter online completo
- Sincronização remota de erros
- UI perfeita para todos os edge cases desde o início
- Recuperação garantida de qualquer estado inconsistente
- Monitoramento externo em produção
- Skeleton customizado para todas as telas imediatamente
- Retry automático sofisticado para todas as falhas
Critérios de conclusão
- Telas principais mostram loading claro.
- Listas vazias explicam o que está acontecendo.
- Erros são compreensíveis.
- O jogador sabe quando pode tentar novamente.
- Ações ficam bloqueadas quando não podem ser executadas.
- Estados de sucesso aparecem quando necessário.
- O app evita parecer travado ou quebrado.
- O padrão é consistente entre telas.
- Falhas locais não deixam o jogador sem orientação.
- Componentes reutilizáveis de empty/loading/error existem e são adotados nas principais áreas.
- Erros deixam de ser apenas
console.errorsilencioso nos fluxos importantes.
Sem atualizações por enquanto.